// Generated by dart2js (fast startup emitter, strong, trust primitives, omit checks, lax runtime type), the Dart to JavaScript compiler version: 2.14.0-171.0.dev.
// The code supports the following hooks:
// dartPrint(message):
//    if this function is defined it is called instead of the Dart [print]
//    method.
//
// dartMainRunner(main, args):
//    if this function is defined, the Dart [main] method will not be invoked
//    directly. Instead, a closure that will invoke [main], and its arguments
//    [args] is passed to [dartMainRunner].
//
// dartDeferredLibraryLoader(uri, successCallback, errorCallback, 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 mixinProperties(from, to) {
    var keys = Object.keys(from);
    for (var i = 0; i < keys.length; i++) {
      var key = keys[i];
      if (!to.hasOwnProperty(key))
        to[key] = from[key];
    }
  }
  var supportsDirectProtoAccess = function() {
    var cls = function() {
    };
    cls.prototype = {p: {}};
    var object = new cls();
    if (!(object.__proto__ && object.__proto__.p === cls.prototype.p))
      return false;
    try {
      if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0)
        return true;
      if (typeof version == "function" && version.length == 0) {
        var v = version();
        if (/^\d+\.\d+\.\d+\.\d+$/.test(v))
          return true;
      }
    } catch (_) {
    }
    return false;
  }();
  function setFunctionNamesIfNecessary(holders) {
    function t() {
    }
    ;
    if (typeof t.name == "string")
      return;
    for (var i = 0; i < holders.length; i++) {
      var holder = holders[i];
      var keys = Object.keys(holder);
      for (var j = 0; j < keys.length; j++) {
        var key = keys[j];
        var f = holder[key];
        if (typeof f == "function")
          f.name = key;
      }
    }
  }
  function inherit(cls, sup) {
    cls.prototype.constructor = cls;
    cls.prototype["$is" + cls.name] = cls;
    if (sup != null) {
      if (supportsDirectProtoAccess) {
        cls.prototype.__proto__ = sup.prototype;
        return;
      }
      var clsPrototype = Object.create(sup.prototype);
      copyProperties(cls.prototype, clsPrototype);
      cls.prototype = clsPrototype;
    }
  }
  function inheritMany(sup, classes) {
    for (var i = 0; i < classes.length; i++)
      inherit(classes[i], sup);
  }
  function mixin(cls, mixin) {
    mixinProperties(mixin.prototype, cls.prototype);
    cls.prototype.constructor = cls;
  }
  function lazyOld(holder, name, getterName, initializer) {
    var uninitializedSentinel = holder;
    holder[name] = uninitializedSentinel;
    holder[getterName] = function() {
      holder[getterName] = function() {
        H.throwCyclicInit(name);
      };
      var result;
      var sentinelInProgress = initializer;
      try {
        if (holder[name] === uninitializedSentinel) {
          result = holder[name] = sentinelInProgress;
          result = holder[name] = initializer();
        } else
          result = holder[name];
      } finally {
        if (result === sentinelInProgress)
          holder[name] = null;
        holder[getterName] = function() {
          return this[name];
        };
      }
      return result;
    };
  }
  function lazy(holder, name, getterName, initializer) {
    var uninitializedSentinel = holder;
    holder[name] = uninitializedSentinel;
    holder[getterName] = function() {
      if (holder[name] === uninitializedSentinel)
        holder[name] = initializer();
      holder[getterName] = function() {
        return this[name];
      };
      return holder[name];
    };
  }
  function lazyFinal(holder, name, getterName, initializer) {
    var uninitializedSentinel = holder;
    holder[name] = uninitializedSentinel;
    holder[getterName] = function() {
      if (holder[name] === uninitializedSentinel) {
        var value = initializer();
        if (holder[name] !== uninitializedSentinel)
          H.throwLateFieldADI(name);
        holder[name] = value;
      }
      holder[getterName] = function() {
        return this[name];
      };
      return holder[name];
    };
  }
  function makeConstList(list) {
    list.immutable$list = Array;
    list.fixed$length = Array;
    return list;
  }
  function convertToFastObject(properties) {
    function t() {
    }
    t.prototype = properties;
    new t();
    return properties;
  }
  function convertAllToFastObject(arrayOfObjects) {
    for (var i = 0; i < arrayOfObjects.length; ++i)
      convertToFastObject(arrayOfObjects[i]);
  }
  var functionCounter = 0;
  function tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) {
    return isIntercepted ? new Function("funcs, applyTrampolineIndex, reflectionInfo, name, createTearOffClass, cache", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (cache === null) cache = createTearOffClass(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);" + "return new cache(this, funcs[0], receiver, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H.closureFromTearOff, null) : new Function("funcs, applyTrampolineIndex, reflectionInfo, name, createTearOffClass, cache", "return function tearOff_" + name + functionCounter++ + "() {" + "if (cache === null) cache = createTearOffClass(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);" + "return new cache(this, funcs[0], null, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H.closureFromTearOff, null);
  }
  function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) {
    var cache = null;
    return isStatic ? function() {
      if (cache === null)
        cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype;
      return cache;
    } : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted);
  }
  var typesOffset = 0;
  function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
    var funs = [];
    for (var i = 0; i < funsOrNames.length; i++) {
      var fun = funsOrNames[i];
      if (typeof fun == "string")
        fun = container[fun];
      fun.$callName = callNames[i];
      funs.push(fun);
    }
    var fun = funs[0];
    fun.$requiredArgCount = requiredParameterCount;
    fun.$defaultValues = optionalParameterDefaultValues;
    var reflectionInfo = funType;
    if (typeof reflectionInfo == "number")
      reflectionInfo += typesOffset;
    var name = funsOrNames[0];
    fun.$stubName = name;
    var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted);
    container[getterName] = getterFunction;
    if (isStatic)
      fun.$tearOff = getterFunction;
  }
  function installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
    return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
  }
  function installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
    return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
  }
  function setOrUpdateInterceptorsByTag(newTags) {
    var tags = init.interceptorsByTag;
    if (!tags) {
      init.interceptorsByTag = newTags;
      return;
    }
    copyProperties(newTags, tags);
  }
  function setOrUpdateLeafTags(newTags) {
    var tags = init.leafTags;
    if (!tags) {
      init.leafTags = newTags;
      return;
    }
    copyProperties(newTags, tags);
  }
  function updateTypes(newTypes) {
    var types = init.types;
    var length = types.length;
    types.push.apply(types, newTypes);
    return length;
  }
  function updateHolder(holder, newHolder) {
    copyProperties(newHolder, holder);
    return holder;
  }
  var hunkHelpers = function() {
    var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
        return function(container, getterName, name, funType) {
          return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
        };
      },
      mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
        return function(container, getterName, name, funType) {
          return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
        };
      };
    return {inherit: inherit, inheritMany: inheritMany, mixin: mixin, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, lazyOld: lazyOld, updateHolder: updateHolder, convertToFastObject: convertToFastObject, setFunctionNamesIfNecessary: setFunctionNamesIfNecessary, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
  }();
  function initializeDeferredHunk(hunk) {
    typesOffset = init.types.length;
    hunk(hunkHelpers, init, holders, $);
  }
  var A = {
    lookAhead: function(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 H.wrapException(P.StateError$("Unexpected state: " + C.JSInt_methods.toRadixString$1(state, 16)));
    },
    lookAheadRegional: function(base, start, cursor) {
      var t1, index, count, index0, tail, lead;
      for (t1 = J.getInterceptor$s(base), index = cursor, count = 0; index0 = index - 2, index0 >= start; index = index0) {
        tail = t1.codeUnitAt$1(base, index - 1);
        if ((tail & 64512) !== 56320)
          break;
        lead = C.JSString_methods.codeUnitAt$1(base, index0);
        if ((lead & 64512) !== 55296)
          break;
        if (S.high(lead, tail) !== 6)
          break;
        count ^= 1;
      }
      if (count === 0)
        return 193;
      else
        return 144;
    },
    lookAheadPictorgraphicExtend: function(base, start, cursor) {
      var t1, index, char, category, prevChar, t2;
      for (t1 = J.getInterceptor$s(base), index = cursor; index > start;) {
        --index;
        char = t1.codeUnitAt$1(base, index);
        if ((char & 64512) !== 56320)
          category = S.low(char);
        else {
          if (index > start) {
            --index;
            prevChar = C.JSString_methods.codeUnitAt$1(base, index);
            t2 = (prevChar & 64512) === 55296;
          } else {
            prevChar = 0;
            t2 = false;
          }
          if (t2)
            category = S.high(prevChar, char);
          else
            break;
        }
        if (category === 7)
          return index;
        if (category !== 4)
          break;
      }
      return -1;
    },
    isGraphemeClusterBoundary: function(text, start, end, index) {
      var char, index0, prevChar, catAfter, t1, nextChar, catBefore, prevPrevChar, state,
        _s208_ = string$.x10__0__;
      if (start < index && index < end) {
        char = C.JSString_methods.codeUnitAt$1(text, index);
        index0 = index - 1;
        prevChar = C.JSString_methods.codeUnitAt$1(text, index0);
        if ((char & 63488) !== 55296)
          catAfter = S.low(char);
        else if ((char & 64512) === 55296) {
          t1 = index + 1;
          if (t1 >= end)
            return true;
          nextChar = C.JSString_methods.codeUnitAt$1(text, t1);
          if ((nextChar & 64512) !== 56320)
            return true;
          catAfter = S.high(char, nextChar);
        } else
          return (prevChar & 64512) !== 55296;
        if ((prevChar & 64512) !== 56320) {
          catBefore = S.low(prevChar);
          index = index0;
        } else {
          index -= 2;
          if (start <= index) {
            prevPrevChar = C.JSString_methods.codeUnitAt$1(text, index);
            if ((prevPrevChar & 64512) !== 55296)
              return true;
            catBefore = S.high(prevPrevChar, prevChar);
          } else
            return true;
        }
        state = C.JSString_methods._codeUnitAt$1(_s208_, C.JSString_methods._codeUnitAt$1(_s208_, catAfter | 176) & 240 | catBefore);
        return ((state >= 208 ? A.lookAhead(text, start, index, state) : state) & 1) === 0;
      }
      return start !== end;
    },
    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;
    },
    XFile$: function(path, lastModified, $length, $name) {
      var t1 = lastModified == null ? P.DateTime$fromMillisecondsSinceEpoch(0, false) : lastModified;
      return new A.XFile($name == null ? "" : $name, path, $length, t1);
    },
    XFile: function XFile(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.__XFile_path = t1;
      _._html1$_length = t2;
      _._lastModified = t3;
    },
    BusEvent: function BusEvent(t0, t1) {
      this.type = t0;
      this.data = t1;
    },
    MessageBus: function MessageBus() {
      this._message_bus$_controller = null;
    },
    MessageBus_onEvent_closure: function MessageBus_onEvent_closure(t0) {
      this.type = t0;
    },
    DebuggerScreen: function DebuggerScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.screenId = t0;
      _.title = t1;
      _.icon = t2;
      _.tabKey = t3;
      _.requiresLibrary = t4;
      _.requiresDartVm = t5;
      _.requiresDebugBuild = t6;
      _.requiresVmDeveloperMode = t7;
      _.worksOffline = t8;
      _.shouldShowForFlutterVersion = t9;
    },
    DebuggerScreenBody: function DebuggerScreenBody(t0) {
      this.key = t0;
    },
    DebuggerScreenBodyState: function DebuggerScreenBodyState(t0, t1) {
      var _ = this;
      _._libraryFilterFocusNode = _.controller = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    DebuggerScreenBodyState__toggleBreakpoint_closure: function DebuggerScreenBodyState__toggleBreakpoint_closure(t0, t1) {
      this.script = t0;
      this.line = t1;
    },
    DebuggerScreenBodyState__toggleBreakpoint_closure0: function DebuggerScreenBodyState__toggleBreakpoint_closure0() {
    },
    DebuggerScreenBodyState_build_closure0: function DebuggerScreenBodyState_build_closure0(t0) {
      this.$this = t0;
    },
    DebuggerScreenBodyState_build__closure0: function DebuggerScreenBodyState_build__closure0(t0, t1) {
      this.$this = t0;
      this.scriptRef = t1;
    },
    DebuggerScreenBodyState_build_closure: function DebuggerScreenBodyState_build_closure(t0, t1) {
      this.$this = t0;
      this.codeView = t1;
    },
    DebuggerScreenBodyState_build__closure: function DebuggerScreenBodyState_build__closure(t0) {
      this.$this = t0;
    },
    DebuggerScreenBodyState_debuggerPanes_closure: function DebuggerScreenBodyState_debuggerPanes_closure(t0) {
      this.$this = t0;
    },
    DebuggerScreenBodyState__breakpointsRightChild_closure: function DebuggerScreenBodyState__breakpointsRightChild_closure(t0) {
      this.$this = t0;
    },
    FocusLibraryFilterIntent: function FocusLibraryFilterIntent(t0) {
      this.debuggerController = t0;
    },
    FocusLibraryFilterAction: function FocusLibraryFilterAction(t0) {
      this._actions$_listeners = t0;
    },
    GoToLineNumberIntent: function GoToLineNumberIntent(t0, t1) {
      this._debugger_screen$_context = t0;
      this._debugger_screen$_controller = t1;
    },
    GoToLineNumberAction: function GoToLineNumberAction(t0) {
      this._actions$_listeners = t0;
    },
    SearchInFileIntent: function SearchInFileIntent(t0) {
      this._debugger_screen$_controller = t0;
    },
    SearchInFileAction: function SearchInFileAction(t0) {
      this._actions$_listeners = t0;
    },
    EscapeIntent: function EscapeIntent(t0, t1) {
      this._debugger_screen$_context = t0;
      this._debugger_screen$_controller = t1;
    },
    EscapeAction: function EscapeAction(t0) {
      this._actions$_listeners = t0;
    },
    DebuggerStatus: function DebuggerStatus(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _DebuggerStatusState: function _DebuggerStatusState(t0, t1) {
      var _ = this;
      _._debugger_screen$_status = null;
      _.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) {
      var _ = this;
      _.controlHeight = _.paused = _.controller = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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() {
    },
    __DebuggerStatusState_State_AutoDisposeMixin: function __DebuggerStatusState_State_AutoDisposeMixin() {
    },
    __FloatingDebuggerControlsState_State_AutoDisposeMixin: function __FloatingDebuggerControlsState_State_AutoDisposeMixin() {
    },
    ExternalDevToolsExtensionPoints: function ExternalDevToolsExtensionPoints() {
    },
    ExtentDelegateListView$: function(childrenDelegate, controller, customPointerSignalHandler, extentDelegate, physics, scrollDirection) {
      var t2, _null = null,
        t1 = controller == null && scrollDirection === C.Axis_1;
      if (physics == null) {
        t2 = controller == null && scrollDirection === C.Axis_1;
        t2 = t2 ? C.AlwaysScrollableScrollPhysics_null : _null;
      } else
        t2 = physics;
      return new A.ExtentDelegateListView(childrenDelegate, extentDelegate, customPointerSignalHandler, _null, scrollDirection, false, controller, t1, t2, false, _null, _null, C.DragStartBehavior_1, C.ScrollViewKeyboardDismissBehavior_0, _null, C.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;
      _._extent_delegate_list$_offsets = null;
      _._layoutDirty = t2;
    },
    ExtentDelegateListView: function ExtentDelegateListView(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.childrenDelegate = t0;
      _.extentDelegate = t1;
      _.customPointerSignalHandler = t2;
      _.padding = t3;
      _.scrollDirection = t4;
      _.reverse = t5;
      _.controller = t6;
      _.primary = t7;
      _.physics = t8;
      _.shrinkWrap = t9;
      _.cacheExtent = t10;
      _.semanticChildCount = t11;
      _.dragStartBehavior = t12;
      _.keyboardDismissBehavior = t13;
      _.restorationId = t14;
      _.clipBehavior = t15;
      _.key = t16;
    },
    SliverExtentDelegateList: function SliverExtentDelegateList(t0, t1, t2) {
      this.extentDelegate = t0;
      this.delegate = t1;
      this.key = t2;
    },
    RenderSliverExtentDelegateBoxAdaptor: function RenderSliverExtentDelegateBoxAdaptor(t0, t1, t2, t3, t4) {
      var _ = this;
      _._markNeedsLayout = _._extentDelegate = null;
      _._childManager = t0;
      _._keepAliveBucket = t1;
      _.__RenderSliverMultiBoxAdaptor__debugDanglingKeepAlives = $;
      _._debugChildIntegrityEnabled = true;
      _.ContainerRenderObjectMixin__childCount = t2;
      _.ContainerRenderObjectMixin__firstChild = t3;
      _.ContainerRenderObjectMixin__lastChild = t4;
      _.debugCreator = _.parentData = _._sliver$_geometry = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    FixedValueListenable: function FixedValueListenable(t0, t1) {
      this._listenable$_value = t0;
      this.$ti = t1;
    },
    PreferencesController: function PreferencesController(t0, t1, t2) {
      this._darkModeTheme = t0;
      this._vmDeveloperMode = t1;
      this._denseMode = t2;
    },
    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;
    },
    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;
    },
    rawSortedProviderNodesProvider_closure: function rawSortedProviderNodesProvider_closure() {
    },
    rawSortedProviderNodesProvider__closure: function rawSortedProviderNodesProvider__closure(t0) {
      this.ref = t0;
    },
    rawSortedProviderNodesProvider__closure0: function rawSortedProviderNodesProvider__closure0() {
    },
    CupertinoThumbPainter: function CupertinoThumbPainter() {
    },
    ButtonStyle$: function(alignment, animationDuration, backgroundColor, elevation, enableFeedback, fixedSize, foregroundColor, maximumSize, minimumSize, mouseCursor, overlayColor, padding, shadowColor, shape, side, splashFactory, tapTargetSize, textStyle, visualDensity) {
      return new A.ButtonStyle(textStyle, backgroundColor, foregroundColor, overlayColor, shadowColor, elevation, padding, minimumSize, fixedSize, maximumSize, side, shape, mouseCursor, visualDensity, tapTargetSize, animationDuration, enableFeedback, alignment, splashFactory);
    },
    ButtonStyle_lerp: function(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, _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, P.ui_Color_lerp$closure(), t6);
      t2 = t1 ? _null : a.foregroundColor;
      t2 = A.ButtonStyle__lerpProperties(t2, t3 ? _null : b.foregroundColor, t, P.ui_Color_lerp$closure(), t6);
      t7 = t1 ? _null : a.overlayColor;
      t7 = A.ButtonStyle__lerpProperties(t7, t3 ? _null : b.overlayColor, t, P.ui_Color_lerp$closure(), t6);
      t8 = t1 ? _null : a.shadowColor;
      t6 = A.ButtonStyle__lerpProperties(t8, t3 ? _null : b.shadowColor, t, P.ui_Color_lerp$closure(), t6);
      t8 = t1 ? _null : a.elevation;
      t9 = t3 ? _null : b.elevation;
      t9 = A.ButtonStyle__lerpProperties(t8, t9, t, P.ui__lerpDouble$closure(), type$.nullable_double);
      t8 = t1 ? _null : a.padding;
      t10 = t3 ? _null : b.padding;
      t10 = A.ButtonStyle__lerpProperties(t8, t10, t, V.edge_insets_EdgeInsetsGeometry_lerp$closure(), type$.nullable_EdgeInsetsGeometry);
      t8 = t1 ? _null : a.minimumSize;
      t11 = t3 ? _null : b.minimumSize;
      t12 = type$.nullable_Size;
      t11 = A.ButtonStyle__lerpProperties(t8, t11, t, P.ui_Size_lerp$closure(), t12);
      t8 = t1 ? _null : a.fixedSize;
      t8 = A.ButtonStyle__lerpProperties(t8, t3 ? _null : b.fixedSize, t, P.ui_Size_lerp$closure(), t12);
      t13 = t1 ? _null : a.maximumSize;
      t12 = A.ButtonStyle__lerpProperties(t13, t3 ? _null : b.maximumSize, t, P.ui_Size_lerp$closure(), t12);
      t13 = t1 ? _null : a.side;
      t13 = A.ButtonStyle__lerpSides(t13, t3 ? _null : b.side, t);
      t14 = t1 ? _null : a.shape;
      t14 = A.ButtonStyle__lerpShapes(t14, t3 ? _null : b.shape, t);
      t15 = t < 0.5;
      if (t15)
        t16 = t1 ? _null : a.mouseCursor;
      else
        t16 = t3 ? _null : b.mouseCursor;
      if (t15)
        t17 = t1 ? _null : a.visualDensity;
      else
        t17 = t3 ? _null : b.visualDensity;
      if (t15)
        t18 = t1 ? _null : a.tapTargetSize;
      else
        t18 = t3 ? _null : b.tapTargetSize;
      if (t15)
        t19 = t1 ? _null : a.animationDuration;
      else
        t19 = t3 ? _null : b.animationDuration;
      if (t15)
        t20 = t1 ? _null : a.enableFeedback;
      else
        t20 = t3 ? _null : b.enableFeedback;
      t21 = t1 ? _null : a.alignment;
      t21 = K.AlignmentGeometry_lerp(t21, t3 ? _null : b.alignment, t);
      if (t15)
        t1 = t1 ? _null : a.splashFactory;
      else
        t1 = t3 ? _null : b.splashFactory;
      return A.ButtonStyle$(t21, t19, t5, t9, t20, t8, t2, t12, t11, t16, t7, t10, t6, t14, t13, t1, t18, t4, t17);
    },
    ButtonStyle__lerpProperties: function(a, b, t, lerpFunction, $T) {
      if (a == null && b == null)
        return null;
      return new A._LerpProperties3(a, b, t, lerpFunction, $T._eval$1("_LerpProperties3<0>"));
    },
    ButtonStyle__lerpSides: function(a, b, t) {
      if (a == null && b == null)
        return null;
      return new A._LerpSides(a, b, t);
    },
    ButtonStyle__lerpShapes: function(a, b, t) {
      if (a == null && b == null)
        return null;
      return new A._LerpShapes(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) {
      var _ = this;
      _.textStyle = t0;
      _.backgroundColor = t1;
      _.foregroundColor = t2;
      _.overlayColor = t3;
      _.shadowColor = t4;
      _.elevation = t5;
      _.padding = t6;
      _.minimumSize = t7;
      _.fixedSize = t8;
      _.maximumSize = t9;
      _.side = t10;
      _.shape = t11;
      _.mouseCursor = t12;
      _.visualDensity = t13;
      _.tapTargetSize = t14;
      _.animationDuration = t15;
      _.enableFeedback = t16;
      _.alignment = t17;
      _.splashFactory = t18;
    },
    _LerpProperties3: function _LerpProperties3(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;
    },
    _LerpShapes: function _LerpShapes(t0, t1, t2) {
      this.a = t0;
      this.b = t1;
      this.t = t2;
    },
    _ButtonStyle_Object_Diagnosticable: function _ButtonStyle_Object_Diagnosticable() {
    },
    CardTheme: function CardTheme(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.clipBehavior = t0;
      _.color = t1;
      _.shadowColor = t2;
      _.elevation = t3;
      _.margin = t4;
      _.shape = t5;
    },
    _CardTheme_Object_Diagnosticable: function _CardTheme_Object_Diagnosticable() {
    },
    ColorScheme: function ColorScheme(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.primary = t0;
      _.primaryVariant = t1;
      _.secondary = t2;
      _.secondaryVariant = t3;
      _.surface = t4;
      _.background = t5;
      _.error = t6;
      _.onPrimary = t7;
      _.onSecondary = t8;
      _.onSurface = t9;
      _.onBackground = t10;
      _.onError = t11;
      _.brightness = t12;
    },
    _ColorScheme_Object_Diagnosticable: function _ColorScheme_Object_Diagnosticable() {
    },
    _AnimationSwap$: function(first, next, $parent, swapThreshold, $T) {
      return new A._AnimationSwap($parent, swapThreshold, first, next, new R.ObserverList(H._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new R.ObserverList(H._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() {
    },
    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() {
    },
    TextStyle$: function(background, backgroundColor, color, debugLabel, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, 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, overflow);
    },
    TextStyle_lerp: function(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 = P.Color_lerp(_null, b.color, t);
        t3 = P.Color_lerp(_null, b.backgroundColor, t);
        t4 = t < 0.5;
        t5 = t4 ? _null : b.fontFamily;
        t6 = t4 ? _null : b.get$fontFamilyFallback();
        t7 = t4 ? _null : b.fontSize;
        t8 = P.FontWeight_lerp(_null, b.fontWeight, t);
        t9 = t4 ? _null : b.fontStyle;
        t10 = t4 ? _null : b.letterSpacing;
        t11 = t4 ? _null : b.wordSpacing;
        t12 = t4 ? _null : b.textBaseline;
        t13 = t4 ? _null : b.height;
        t14 = t4 ? _null : b.leadingDistribution;
        t15 = t4 ? _null : b.locale;
        t16 = t4 ? _null : b.foreground;
        t17 = t4 ? _null : b.background;
        t18 = t4 ? _null : b.decoration;
        t19 = t4 ? _null : b.shadows;
        t20 = t4 ? _null : b.fontFeatures;
        t21 = P.Color_lerp(_null, b.decorationColor, t);
        t22 = t4 ? _null : b.decorationStyle;
        t23 = t4 ? _null : b.decorationThickness;
        return A.TextStyle$(t17, t3, t2, _null, t18, t21, t22, t23, t5, t6, t20, t7, t9, t8, t16, t13, t1, t14, t10, t15, t4 ? _null : b.overflow, _null, t19, t12, t11);
      }
      if (b == null) {
        t1 = a.inherit;
        t2 = P.Color_lerp(a.color, _null, t);
        t3 = P.Color_lerp(_null, a.backgroundColor, t);
        t4 = t < 0.5;
        t5 = t4 ? a.fontFamily : _null;
        t6 = t4 ? a.get$fontFamilyFallback() : _null;
        t7 = t4 ? a.fontSize : _null;
        t8 = P.FontWeight_lerp(a.fontWeight, _null, t);
        t9 = t4 ? a.fontStyle : _null;
        t10 = t4 ? a.letterSpacing : _null;
        t11 = t4 ? a.wordSpacing : _null;
        t12 = t4 ? a.textBaseline : _null;
        t13 = t4 ? a.height : _null;
        t14 = t4 ? a.leadingDistribution : _null;
        t15 = t4 ? a.locale : _null;
        t16 = t4 ? a.foreground : _null;
        t17 = t4 ? a.background : _null;
        t18 = t4 ? a.shadows : _null;
        t19 = t4 ? a.fontFeatures : _null;
        t20 = t4 ? a.decoration : _null;
        t21 = P.Color_lerp(a.decorationColor, _null, t);
        t22 = t4 ? a.decorationStyle : _null;
        t23 = t4 ? a.decorationThickness : _null;
        return A.TextStyle$(t17, t3, t2, _null, t20, t21, t22, t23, t5, t6, t19, t7, t9, t8, t16, t13, t1, t14, t10, t15, t4 ? a.overflow : _null, _null, t18, t12, t11);
      }
      t1 = b.inherit;
      t2 = a.foreground;
      t3 = t2 == null;
      t4 = t3 && b.foreground == null ? P.Color_lerp(a.color, b.color, t) : _null;
      t5 = a.background;
      t6 = t5 == null;
      t7 = t6 && b.background == null ? P.Color_lerp(a.backgroundColor, b.backgroundColor, t) : _null;
      t8 = t < 0.5;
      t9 = t8 ? a.fontFamily : b.fontFamily;
      t10 = t8 ? a.get$fontFamilyFallback() : b.get$fontFamilyFallback();
      t11 = a.fontSize;
      t12 = t11 == null ? b.fontSize : t11;
      t13 = b.fontSize;
      t11 = P.lerpDouble(t12, t13 == null ? t11 : t13, t);
      t12 = P.FontWeight_lerp(a.fontWeight, b.fontWeight, t);
      t13 = t8 ? a.fontStyle : b.fontStyle;
      t14 = a.letterSpacing;
      t15 = t14 == null ? b.letterSpacing : t14;
      t16 = b.letterSpacing;
      t14 = P.lerpDouble(t15, t16 == null ? t14 : t16, t);
      t15 = a.wordSpacing;
      t16 = t15 == null ? b.wordSpacing : t15;
      t17 = b.wordSpacing;
      t15 = P.lerpDouble(t16, t17 == null ? t15 : t17, t);
      t16 = t8 ? a.textBaseline : b.textBaseline;
      t17 = a.height;
      t18 = t17 == null ? b.height : t17;
      t19 = b.height;
      t17 = P.lerpDouble(t18, t19 == null ? t17 : t19, t);
      t18 = t8 ? a.leadingDistribution : b.leadingDistribution;
      t19 = t8 ? a.locale : b.locale;
      if (!t3 || b.foreground != null)
        if (t8) {
          if (t3) {
            t2 = H._detectRenderer();
            t2 = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
            t3 = a.color;
            t3.toString;
            t2.set$color(0, t3);
          }
        } else {
          t2 = b.foreground;
          if (t2 == null) {
            t2 = H._detectRenderer();
            t2 = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
            t3 = b.color;
            t3.toString;
            t2.set$color(0, t3);
          }
        }
      else
        t2 = _null;
      if (!t6 || b.background != null)
        if (t8)
          if (t6) {
            t3 = H._detectRenderer();
            t3 = t3 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
            t5 = a.backgroundColor;
            t5.toString;
            t3.set$color(0, t5);
          } else
            t3 = t5;
        else {
          t3 = b.background;
          if (t3 == null) {
            t3 = H._detectRenderer();
            t3 = t3 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
            t5 = b.backgroundColor;
            t5.toString;
            t3.set$color(0, t5);
          }
        }
      else
        t3 = _null;
      t5 = t8 ? a.shadows : b.shadows;
      t6 = t8 ? a.fontFeatures : b.fontFeatures;
      t20 = t8 ? a.decoration : b.decoration;
      t21 = P.Color_lerp(a.decorationColor, b.decorationColor, t);
      t22 = t8 ? a.decorationStyle : b.decorationStyle;
      t23 = a.decorationThickness;
      t24 = t23 == null ? b.decorationThickness : t23;
      t25 = b.decorationThickness;
      t23 = P.lerpDouble(t24, t25 == null ? t23 : t25, t);
      return A.TextStyle$(t3, t7, t4, _null, t20, t21, t22, t23, t9, t10, t6, t11, t13, t12, t2, t17, t1, t18, t14, t19, t8 ? a.overflow : b.overflow, _null, t5, t16, t15);
    },
    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) {
      var _ = this;
      _.inherit = t0;
      _.color = t1;
      _.backgroundColor = t2;
      _.fontFamily = t3;
      _._text_style$_fontFamilyFallback = t4;
      _._text_style$_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;
      _.overflow = t24;
    },
    _TextStyle_Object_Diagnosticable: function _TextStyle_Object_Diagnosticable() {
    },
    MouseTracker__shouldMarkStateDirty: function(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: function(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, F.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 = nextAnnotations.get$keys(nextAnnotations);
      t18 = H._instanceType(t1)._eval$1("WhereIterable<Iterable.E>");
      enteringAnnotations = P.List_List$of(new H.WhereIterable(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 = F.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 = H._arrayInstanceType(enteringAnnotations)._eval$1("ReversedListIterable<1>"), t2 = new H.ReversedListIterable(enteringAnnotations, t1), t1 = new H.ListIterator(t2, t2.get$length(t2), t1._eval$1("ListIterator<ListIterable.E>")); t1.moveNext$0();) {
        t2 = t1.__internal$_current;
        if (t2.get$validForMouseTracker() && t2.get$onEnter(t2) != null) {
          t3 = t2.get$onEnter(t2);
          t3.toString;
          t3.call$1(baseEnterEvent.transformed$1(nextAnnotations.$index(0, t2)));
        }
      }
    },
    _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() {
    },
    RenderSliverFillViewport: function RenderSliverFillViewport(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._sliver_fill0$_viewportFraction = t0;
      _._childManager = t1;
      _._keepAliveBucket = t2;
      _.__RenderSliverMultiBoxAdaptor__debugDanglingKeepAlives = $;
      _._debugChildIntegrityEnabled = true;
      _.ContainerRenderObjectMixin__childCount = t3;
      _.ContainerRenderObjectMixin__firstChild = t4;
      _.ContainerRenderObjectMixin__lastChild = t5;
      _.debugCreator = _.parentData = _._sliver$_geometry = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    ViewConfiguration0: function ViewConfiguration0(t0, t1) {
      this.size = t0;
      this.devicePixelRatio = t1;
    },
    RenderView: function RenderView(t0, t1, t2, t3) {
      var _ = this;
      _._size = t0;
      _._view$_configuration = t1;
      _._window = t2;
      _.automaticSystemUiAdjustment = true;
      _._rootTransform = null;
      _.RenderObjectWithChildMixin__child = t3;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderView_RenderObject_RenderObjectWithChildMixin: function _RenderView_RenderObject_RenderObjectWithChildMixin() {
    },
    CustomSemanticsAction_getIdentifier: function(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: function(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$: function(childOrder, $name, style, value) {
      return new A._SemanticsDiagnosticableNode(childOrder, value, $name, true, true, null, style);
    },
    SemanticsNode$: function(key, showOnScreen) {
      var t14,
        t1 = $.$get$SemanticsNode__kEmptyConfig(),
        t2 = t1._isMergingSemanticsOfDescendants,
        t3 = t1._actions,
        t4 = t1._customSemanticsActions,
        t5 = t1._actionsAsBits,
        t6 = t1._flags,
        t7 = t1._label,
        t8 = t1._semantics$_value,
        t9 = t1._decreasedValue,
        t10 = t1._increasedValue,
        t11 = t1._hint,
        t12 = t1._elevation,
        t13 = t1._thickness;
      t1 = t1._textDirection;
      t14 = ($.SemanticsNode__lastIdentifier + 1) % 65535;
      $.SemanticsNode__lastIdentifier = t14;
      return new A.SemanticsNode(key, t14, showOnScreen, C.Rect_0_0_0_0, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t1);
    },
    _pointInParentCoordinates: function(node, point) {
      var t1, vector;
      if (node._semantics$_transform == null)
        return point;
      t1 = new Float64Array(3);
      vector = new E.Vector3(t1);
      vector.setValues$3(point._dx, point._dy, 0);
      node._semantics$_transform.transform3$1(vector);
      return new P.Offset(t1[0], t1[1]);
    },
    _childrenInDefaultOrder: function(children, textDirection) {
      var t1, _i, child, t2, t3, t4, t5, verticalGroups, group, depth, edge,
        edges = H._setArrayType([], type$.JSArray__BoxEdge);
      for (t1 = children.length, _i = 0; _i < children.length; children.length === t1 || (0, H.throwConcurrentModificationError)(children), ++_i) {
        child = children[_i];
        t2 = child._semantics$_rect;
        t3 = t2.left;
        t4 = t2.top;
        t5 = t2.right;
        t2 = t2.bottom;
        edges.push(new A._BoxEdge(true, A._pointInParentCoordinates(child, new P.Offset(t3 - -0.1, t4 - -0.1))._dy, child));
        edges.push(new A._BoxEdge(false, A._pointInParentCoordinates(child, new P.Offset(t5 + -0.1, t2 + -0.1))._dy, child));
      }
      C.JSArray_methods.sort$0(edges);
      verticalGroups = H._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, H.throwConcurrentModificationError)(edges), ++_i) {
        edge = edges[_i];
        if (edge.isLeadingEdge) {
          ++depth;
          if (group == null)
            group = new A._SemanticsSortGroup(edge.offset, textDirection, H._setArrayType([], t2));
          group.nodes.push(edge.node);
        } else
          --depth;
        if (depth === 0) {
          group.toString;
          verticalGroups.push(group);
          group = null;
        }
      }
      C.JSArray_methods.sort$0(verticalGroups);
      t1 = type$.ExpandIterable__SemanticsSortGroup_SemanticsNode;
      return P.List_List$of(new H.ExpandIterable(verticalGroups, new A._childrenInDefaultOrder_closure(), t1), true, t1._eval$1("Iterable.E"));
    },
    SemanticsConfiguration$: function() {
      return new A.SemanticsConfiguration(P.LinkedHashMap_LinkedHashMap$_empty(type$.SemanticsAction, type$.void_Function_nullable_Object), P.LinkedHashMap_LinkedHashMap$_empty(type$.CustomSemanticsAction, type$.void_Function));
    },
    _concatStrings: function(otherString, otherTextDirection, thisString, thisTextDirection) {
      var nestedLabel;
      if (otherString.length === 0)
        return thisString;
      if (thisTextDirection != otherTextDirection && otherTextDirection != null)
        switch (otherTextDirection) {
          case C.TextDirection_0:
            nestedLabel = "\u202b" + otherString + "\u202c";
            break;
          case C.TextDirection_1:
            nestedLabel = "\u202a" + otherString + "\u202c";
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      else
        nestedLabel = otherString;
      if (thisString.length === 0)
        return nestedLabel;
      return thisString + "\n" + nestedLabel;
    },
    SemanticsTag: function SemanticsTag(t0) {
      this.name = t0;
    },
    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) {
      var _ = this;
      _.flags = t0;
      _.actions = t1;
      _.label = t2;
      _.value = t3;
      _.increasedValue = t4;
      _.decreasedValue = t5;
      _.hint = t6;
      _.textDirection = t7;
      _.textSelection = t8;
      _.scrollChildCount = t9;
      _.scrollIndex = t10;
      _.scrollPosition = t11;
      _.scrollExtentMax = t12;
      _.scrollExtentMin = t13;
      _.platformViewId = t14;
      _.maxValueLength = t15;
      _.currentValueLength = t16;
      _.rect = t17;
      _.tags = t18;
      _.transform = t19;
      _.elevation = t20;
      _.thickness = t21;
      _.customSemanticsActionIds = t22;
    },
    _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) {
      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;
      _.value = t24;
      _.increasedValue = t25;
      _.decreasedValue = t26;
      _.hint = t27;
      _.hintOverrides = t28;
      _.textDirection = t29;
      _.sortKey = t30;
      _.tagForChildren = t31;
      _.onTap = t32;
      _.onLongPress = t33;
      _.onScrollLeft = t34;
      _.onScrollRight = t35;
      _.onScrollUp = t36;
      _.onScrollDown = t37;
      _.onIncrease = t38;
      _.onDecrease = t39;
      _.onCopy = t40;
      _.onCut = t41;
      _.onPaste = t42;
      _.onMoveCursorForwardByCharacter = t43;
      _.onMoveCursorBackwardByCharacter = t44;
      _.onSetSelection = t45;
      _.onSetText = t46;
      _.onDidGainAccessibilityFocus = t47;
      _.onDidLoseAccessibilityFocus = t48;
      _.onDismiss = t49;
      _.customSemanticsActions = t50;
    },
    SemanticsNode: function SemanticsNode(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.key = t0;
      _._id = t1;
      _._showOnScreen = t2;
      _._semantics$_transform = null;
      _._semantics$_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;
      _._label = t9;
      _._semantics$_value = t10;
      _._decreasedValue = t11;
      _._increasedValue = t12;
      _._hint = t13;
      _._elevation = t14;
      _._thickness = t15;
      _._hintOverrides = null;
      _._textDirection = t16;
      _._currentValueLength = _._maxValueLength = _._platformViewId = _._scrollExtentMin = _._scrollExtentMax = _._scrollPosition = _._scrollIndex = _._scrollChildCount = _._textSelection = _._sortKey = null;
      _._depth = 0;
      _._node$_parent = _._node$_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) {
      var _ = this;
      _._hasBeenAnnotated = _.isBlockingSemanticsOfPreviouslyPaintedNodes = _.explicitChildNodes = _._isSemanticBoundary = false;
      _._actions = t0;
      _._actionsAsBits = 0;
      _._currentValueLength = _._maxValueLength = _._platformViewId = _._scrollIndex = _._scrollChildCount = _._indexInParent = _._sortKey = _._semantics$_onTap = null;
      _._isMergingSemanticsOfDescendants = false;
      _._customSemanticsActions = t1;
      _._hint = _._increasedValue = _._decreasedValue = _._semantics$_value = _._label = "";
      _._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._semantics$_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() {
    },
    _DeferringMouseCursor_firstNonDeferred: function(cursors) {
      var t1, t2;
      for (t1 = H._instanceType(cursors), t1 = new H.MappedIterator(J.get$iterator$ax(cursors.__internal$_iterable), cursors._f, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MappedIterator<1,2>")); t1.moveNext$0();) {
        t2 = t1.__internal$_current;
        if (!J.$eq$(t2, C.C__DeferringMouseCursor))
          return t2;
      }
      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;
    },
    RawKeyEventDataWeb: function RawKeyEventDataWeb(t0, t1, t2) {
      this.code = t0;
      this.key = t1;
      this.metaState = t2;
    },
    _debugReportException0: function(context, exception, stack, informationCollector) {
      var details = new U.FlutterErrorDetails(exception, stack, "widgets library", context, informationCollector, false);
      U.FlutterError_reportError(details);
      return details;
    },
    ConstrainedLayoutBuilder: function ConstrainedLayoutBuilder() {
    },
    _LayoutBuilderElement: function _LayoutBuilderElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = _._layout_builder$_child = null;
      _._cachedHash = t0;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._owner = null;
      _._lifecycleState = t2;
      _._debugForgottenChildrenWithGlobalKey = t3;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t4;
    },
    _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) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    __RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin: function __RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin() {
    },
    __RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder: function __RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder() {
    },
    ScrollPositionAlignmentPolicy: function ScrollPositionAlignmentPolicy(t0, t1) {
      this.index = t0;
      this._scroll_position$_name = t1;
    },
    ScrollPosition: function ScrollPosition() {
    },
    ScrollPosition_forcePixels_closure: function ScrollPosition_forcePixels_closure(t0) {
      this.$this = t0;
    },
    _ScrollPosition_ViewportOffset_ScrollMetrics: function _ScrollPosition_ViewportOffset_ScrollMetrics() {
    },
    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) {
      var _ = this;
      _._lastResolvedConstraints = null;
      _._viewportFraction = t0;
      _._sliver_fill$_resolvedPadding = null;
      _.RenderObjectWithChildMixin__child = t1;
      _.debugCreator = _.parentData = _._sliver$_geometry = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    DecodeInfo: function DecodeInfo() {
    },
    GifImageDesc: function GifImageDesc() {
    },
    InternalGifImageDesc: function InternalGifImageDesc() {
      var _ = this;
      _.__GifImageDesc_interlaced = _.__GifImageDesc_height = _.__GifImageDesc_width = _.__GifImageDesc_y = _.__GifImageDesc_x = $;
      _.colorMap = null;
      _.duration = 80;
      _.__GifImageDesc__inputPosition = $;
    },
    TiffBitReader: function TiffBitReader(t0) {
      this.input = t0;
      this._bitPos = this._tiff_bit_reader$_bitBuffer = 0;
    },
    TiffFaxDecoder$: function(fillOrder, width, height) {
      var t1 = new A.TiffFaxDecoder(width, height, fillOrder),
        t2 = type$.nullable_int;
      t1.prevChangingElems = P.List_List$filled(width, null, false, t2);
      t1.currChangingElems = P.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;
    },
    TiffInfo: function TiffInfo(t0) {
      var _ = this;
      _.signature = null;
      _.images = t0;
      _.height = _.width = 0;
    },
    VP8$: function(input, _webp) {
      var t1 = new Int32Array(4),
        t2 = new Int32Array(4),
        t3 = new Int8Array(4),
        t4 = new Int8Array(4),
        t5 = P.List_List$filled(8, null, false, type$.nullable_VP8BitReader),
        t6 = P.List_List$filled(4, null, false, type$.nullable_VP8QuantMatrix);
      return new A.VP8(input, _webp, new L.VP8FrameHeader(), new L.VP8PictureHeader(), new L.VP8FilterHeader(t1, t2), new L.VP8SegmentHeader(t3, t4), t5, t6, new Uint8Array(4));
    },
    VP8__checkMode: function(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() {
    },
    VP8LBitReader: function VP8LBitReader(t0, t1) {
      var _ = this;
      _.bitPos = 0;
      _._vp8l_bit_reader$_input = t0;
      _._vp8l_bit_reader$_buffer = t1;
      _.__VP8LBitReader__buffer8 = $;
    },
    hdrToImage: function(hdr, exposure) {
      var m, t1, t2, y, di, t3, x, r, t4, g, b, ri, gi, bi, mi, di0, a,
        _gamma = new A.hdrToImage__gamma(new A.hdrToImage__knee()),
        image = U.Image$0(hdr.get$width(hdr), hdr.get$height(hdr), C.Channels_1),
        pixels = image.getBytes$0();
      if (!(hdr.red != null || hdr.green != null || hdr.blue != null))
        throw H.wrapException(K.ImageException$("Only RGB[A] images are currently supported."));
      m = Math.pow(2, C.JSNumber_methods.clamp$2(exposure + 2.47393, -20, 20));
      t1 = J.getInterceptor$ax(pixels);
      t2 = hdr.slices;
      y = 0;
      di = 0;
      while (true) {
        if (t2.get$isEmpty(t2))
          t3 = 0;
        else {
          t3 = t2.get$values(t2);
          t3 = t3.get$first(t3).height;
        }
        if (!(y < t3))
          break;
        x = 0;
        while (true) {
          if (t2.get$isEmpty(t2))
            t3 = 0;
          else {
            t3 = t2.get$values(t2);
            t3 = t3.get$first(t3).width;
          }
          if (!(x < t3))
            break;
          t3 = hdr.red;
          if (t3 != null)
            if (t3.type === 3) {
              t3 = t3.getFloat$2(x, y);
              r = t3;
            } else {
              t4 = t3.width;
              t4 = H._asIntS(t3.data[y * t4 + x]);
              r = t4;
            }
          else
            r = 0;
          if (t2.get$length(t2) === 1)
            g = r;
          else {
            t3 = hdr.green;
            if (t3 != null) {
              if (t3.type === 3)
                t3 = t3.getFloat$2(x, y);
              else {
                t4 = t3.width;
                t4 = H._asIntS(t3.data[y * t4 + x]);
                t3 = t4;
              }
              g = t3;
            } else
              g = 0;
          }
          if (t2.get$length(t2) === 1)
            b = r;
          else {
            t3 = hdr.blue;
            if (t3 != null) {
              if (t3.type === 3)
                t3 = t3.getFloat$2(x, y);
              else {
                t4 = t3.width;
                t4 = H._asIntS(t3.data[y * t4 + x]);
                t3 = t4;
              }
              b = t3;
            } 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);
          t3 = Math.max(H.checkNum(gi), H.checkNum(bi));
          mi = Math.max(H.checkNum(ri), t3);
          if (mi > 255) {
            ri = 255 * (ri / mi);
            gi = 255 * (gi / mi);
            bi = 255 * (bi / mi);
          }
          di0 = di + 1;
          t1.$indexSet(pixels, di, C.JSNumber_methods.toInt$0(J.clamp$2$n(ri, 0, 255)));
          di = di0 + 1;
          t1.$indexSet(pixels, di0, C.JSNumber_methods.toInt$0(J.clamp$2$n(gi, 0, 255)));
          di0 = di + 1;
          t1.$indexSet(pixels, di, C.JSNumber_methods.toInt$0(J.clamp$2$n(bi, 0, 255)));
          t3 = hdr.alpha;
          if (t3 != null) {
            a = t3.getFloat$2(x, y);
            if (a == 1 / 0 || a == -1 / 0 || isNaN(a))
              a = 1;
            di = di0 + 1;
            t1.$indexSet(pixels, di0, C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2(a * 255, 0, 255)));
          } else {
            di = di0 + 1;
            t1.$indexSet(pixels, di0, 255);
          }
          ++x;
        }
        ++y;
      }
      return image;
    },
    hdrToImage__knee: function hdrToImage__knee() {
    },
    hdrToImage__gamma: function hdrToImage__gamma(t0) {
      this._knee = t0;
    },
    DateFormat$: function(newPattern, locale) {
      var t1 = X.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: function() {
      var t1 = X.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: function() {
      var t1 = X.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: function() {
      var t1 = X.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: function(localeName) {
      var t1;
      if (localeName == null)
        return false;
      t1 = $.$get$_dateTimeSymbols();
      t1.toString;
      if (X.canonicalizedLocale(localeName) !== "en_US")
        t1._throwException$0();
      return true;
    },
    DateFormat__fieldConstructors: function() {
      return H._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: function(pattern) {
      var t1, t2;
      if (pattern === "''")
        return "'";
      else {
        t1 = J.substring$2$s(pattern, 1, pattern.length - 1);
        t2 = $.$get$_DateFormatQuotedField__twoEscapedQuotes();
        return H.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;
    },
    Frame_Frame$parseVM: function(frame) {
      return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseVM_closure(frame));
    },
    Frame_Frame$parseV8: function(frame) {
      return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseV8_closure(frame));
    },
    Frame_Frame$_parseFirefoxEval: function(frame) {
      return A.Frame__catchFormatException(frame, new A.Frame_Frame$_parseFirefoxEval_closure(frame));
    },
    Frame_Frame$parseFirefox: function(frame) {
      return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFirefox_closure(frame));
    },
    Frame_Frame$parseFriendly: function(frame) {
      return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFriendly_closure(frame));
    },
    Frame__uriOrPathToUri: function(uriOrPath) {
      if (J.contains$1$asx(uriOrPath, $.$get$Frame__uriRegExp()))
        return P.Uri_parse(uriOrPath, 0, null);
      else if (C.JSString_methods.contains$1(uriOrPath, $.$get$Frame__windowsRegExp()))
        return P._Uri__Uri$file(uriOrPath, true);
      else if (C.JSString_methods.startsWith$1(uriOrPath, "/"))
        return P._Uri__Uri$file(uriOrPath, false);
      if (C.JSString_methods.contains$1(uriOrPath, "\\"))
        return $.$get$windows().toUri$1(uriOrPath);
      return P.Uri_parse(uriOrPath, 0, null);
    },
    Frame__catchFormatException: function(text, body) {
      var t1, exception, _null = null;
      try {
        t1 = body.call$0();
        return t1;
      } catch (exception) {
        if (type$.FormatException._is(H.unwrapException(exception)))
          return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _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;
    },
    hashObjects: function(objects) {
      var t1 = C.NativeFloat64List_methods.fold$2(objects, 0, new A.hashObjects_closure()),
        hash = t1 + ((t1 & 67108863) << 3) & 536870911;
      hash ^= hash >>> 11;
      return hash + ((hash & 16383) << 15) & 536870911;
    },
    hashObjects_closure: function hashObjects_closure() {
    },
    CallGraphNode$: function(id, data) {
      var t1 = type$.JSArray_legacy_CallGraphNode;
      return new A.CallGraphNode(id, H._setArrayType([], t1), H._setArrayType([], t1), data, C.List_empty12);
    },
    generateCallGraphWithDominators: function(precompilerTrace, nodeType) {
      var t1 = D.ProgramInfo_ProgramInfo(),
        t2 = type$.legacy_ProgramInfoNode,
        t3 = P.List_List$filled(1024, null, true, t2),
        t4 = P.LinkedHashSet_LinkedHashSet(t2),
        t5 = J.getInterceptor$asx(precompilerTrace),
        t6 = t5.$index(precompilerTrace, "strings"),
        t7 = t5.$index(precompilerTrace, "entities"),
        callGraph = new A._TraceReader(t5.$index(precompilerTrace, "trace"), t6, t7, t1, t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, type$.legacy_int), t4).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) {
      this.nodeByEntityId = t0;
      this.makeNode = t1;
    },
    _TraceReader_readTrace_recordDynamicCall: function _TraceReader_readTrace_recordDynamicCall(t0, t1) {
      this._box_0 = t0;
      this.makeCallNode = t1;
    },
    _TraceReader_readTrace_recordInterfaceCall: function _TraceReader_readTrace_recordInterfaceCall(t0, t1) {
      this._box_0 = t0;
      this.makeCallNode = t1;
    },
    _TraceReader_readTrace_recordStaticCall: function _TraceReader_readTrace_recordStaticCall(t0, t1) {
      this._box_0 = t0;
      this.nodeFor = t1;
    },
    _TraceReader_readTrace_recordFieldRef: function _TraceReader_readTrace_recordFieldRef(t0, t1) {
      this._box_0 = t0;
      this.nodeFor = t1;
    },
    _TraceReader_readTrace_recordAllocation: function _TraceReader_readTrace_recordAllocation(t0, t1, t2) {
      this._box_0 = 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) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.next = t2;
      _.nodeFor = t3;
      _.readRefs = t4;
    },
    Snapshot_Snapshot$fromJson: function(m) {
      var t5, t6, i, t7, t8, t9, t10, nodes, edgesStartIndexForNode, t11, 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$.legacy_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 = t1.$index(m, "nodes");
      edgesStartIndexForNode = H._setArrayType([0], type$.JSArray_legacy_int);
      for (t11 = J.getInterceptor$asx(nodes), i0 = i, nextStartIndex = 0; i0 < t11.get$length(nodes); i0 += t4) {
        nextStartIndex += t11.$index(nodes, i0);
        edgesStartIndexForNode.push(nextStartIndex);
      }
      t11 = J.$index$asx(t1.$index(m, _s8_), "node_count");
      J.$index$asx(t1.$index(m, _s8_), _s10_);
      return new A.Snapshot(new A.Meta(t2, t3, t5, t6, i, t4, t8, t9, t10, t7, nodeTypes, edgeTypes), t11, t1.$index(m, "nodes"), t1.$index(m, "edges"), edgesStartIndexForNode, t1.$index(m, "strings"));
    },
    _ProgramInfoBuilder$: function(collapseAnonymousClosures) {
      var t1 = type$.legacy_int,
        t2 = type$.legacy_ProgramInfoNode;
      return new A._ProgramInfoBuilder(false, D.ProgramInfo_ProgramInfo(), H._setArrayType([], type$.JSArray_legacy_ProgramInfoNode), P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, t2), P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, t1));
    },
    _ProgramInfoBuilder_ancestorCacheKey: function(a, b) {
      if (a > b)
        return (C.JSInt_methods._shlPositive$1(b, 32) | a) >>> 0;
      else
        return (C.JSInt_methods._shlPositive$1(a, 32) | b) >>> 0;
    },
    _ProgramInfoBuilder_pathToRoot: function(node) {
      var path = H._setArrayType([], type$.JSArray_legacy_ProgramInfoNode);
      for (; node != null;) {
        path.push(node);
        node = node.parent;
      }
      return path;
    },
    _ProgramInfoBuilder_findCommonAncestorImpl: function(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];
    },
    Snapshot: function Snapshot(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.meta = t0;
      _.nodeCount = t1;
      _._v8_profile$_nodes = t2;
      _._edges = t3;
      _._edgesStartIndexForNode = t4;
      _.strings = t5;
    },
    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;
    },
    Node_operator$index_closure0: function Node_operator$index_closure0() {
    },
    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: function(url, protocols) {
      var t2, t3, localToForeignController, foreignToLocalController, t4, t5, _null = null,
        t1 = W.WebSocket_WebSocket(url.get$_text(), protocols);
      t1.binaryType = "arraybuffer";
      t2 = new B.StreamChannelController(type$.StreamChannelController_dynamic);
      t3 = type$.dynamic;
      localToForeignController = P.StreamController_StreamController(_null, _null, _null, true, t3);
      foreignToLocalController = P.StreamController_StreamController(_null, _null, _null, true, t3);
      t4 = H._instanceType(foreignToLocalController);
      t5 = H._instanceType(localToForeignController);
      t2.__StreamChannelController__local = K.GuaranteeChannel$(new P._ControllerStream(foreignToLocalController, t4._eval$1("_ControllerStream<1>")), new P._StreamSinkWrapper(localToForeignController, t5._eval$1("_StreamSinkWrapper<1>")), true, t3);
      t2.__StreamChannelController__foreign = K.GuaranteeChannel$(new P._ControllerStream(localToForeignController, t5._eval$1("_ControllerStream<1>")), new P._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;
      _._html0$_webSocket = 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;
    },
    IterableExtension_firstWhereOrNull: function(_this, test) {
      var t1, _i, element;
      for (t1 = _this.length, _i = 0; _i < _this.length; _this.length === t1 || (0, H.throwConcurrentModificationError)(_this), ++_i) {
        element = _this[_i];
        if (test.call$1(element))
          return element;
      }
      return null;
    }
  },
  B = {
    EvalOnDartLibrary$: function(candidateLibraryNames, service, oneRequestAtATime) {
      var highByte, result,
        t1 = P.LinkedHashSet_LinkedHashSet$from(candidateLibraryNames, type$.legacy_String),
        t2 = $.Random__secureRandom;
      if (t2 == null) {
        t2 = new P._JSSecureRandom(new DataView(new ArrayBuffer(8)));
        t2._JSSecureRandom$0();
        $.Random__secureRandom = t2;
      }
      t2 = t2._math$_buffer;
      crypto.getRandomValues(H.NativeUint8List_NativeUint8List$view(t2.buffer, 1, 7));
      t2.setUint8(0, 63);
      highByte = t2.getUint8(1);
      t2.setUint8(1, (highByte | 240) >>> 0);
      result = t2.getFloat64(0, false) - 1;
      C.JSNumber_methods.toInt$0(((highByte & 16) !== 0 ? result + 11102230246251565e-32 : result) * 10000);
      t1 = new B.EvalOnDartLibrary(oneRequestAtATime, t1, service);
      t1._libraryRef = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_legacy_LibraryRef), type$._AsyncCompleter_legacy_LibraryRef);
      t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
      t1.selectedIsolateStreamSubscription = t2._isolateManager.getSelectedIsolate$1(t1.get$_init());
      return t1;
    },
    Disposable: function Disposable() {
      this.disposed = false;
    },
    EvalOnDartLibrary: function EvalOnDartLibrary(t0, t1, t2) {
      var _ = this;
      _.oneRequestAtATime = t0;
      _._eval_on_dart_library$_disposed = false;
      _._candidateLibraryNames = t1;
      _.service = t2;
      _._isolateRef = _.selectedIsolateStreamSubscription = null;
      _._currentRequestId = 0;
      _._isolate = _.allPendingRequestsDone = _._libraryRef = null;
    },
    EvalOnDartLibrary_eval_closure: function EvalOnDartLibrary_eval_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.expression = t1;
      _.scope = t2;
      _.shouldLogError = t3;
    },
    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.candidateNames = t0;
    },
    CancelledException: function CancelledException(t0) {
      this.operationName = t0;
    },
    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;
    },
    Initializer: function Initializer(t0, t1, t2, t3) {
      var _ = this;
      _.builder = t0;
      _.url = t1;
      _.allowConnectionScreenOnDisconnect = t2;
      _.key = t3;
    },
    _InitializerState: function _InitializerState(t0, t1, t2) {
      var _ = this;
      _.currentDisconnectedOverlay = null;
      _.AutoDisposeMixin__delegate = t0;
      _.SingleTickerProviderStateMixin__ticker = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._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() {
    },
    InspectorScreen: function InspectorScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.screenId = t0;
      _.title = t1;
      _.icon = t2;
      _.tabKey = t3;
      _.requiresLibrary = t4;
      _.requiresDartVm = t5;
      _.requiresDebugBuild = t6;
      _.requiresVmDeveloperMode = t7;
      _.worksOffline = t8;
      _.shouldShowForFlutterVersion = t9;
    },
    InspectorScreenBody: function InspectorScreenBody(t0) {
      this.key = t0;
    },
    InspectorScreenBodyState: function InspectorScreenBodyState(t0, t1, t2, t3) {
      var _ = this;
      _.connectionInProgress = _._layoutExplorerSupported = _._expandCollapseSupported = false;
      _.detailsTreeController = _.summaryTreeController = _.inspectorController = _.inspectorService = null;
      _.displayedWidgetTrackingNotice = false;
      _.AutoDisposeMixin__delegate = t0;
      _.BlockingActionMixin__actionInProgress = t1;
      _.BlockingActionMixin__disposed = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    InspectorScreenBodyState_build_closure: function InspectorScreenBodyState_build_closure() {
    },
    InspectorScreenBodyState__buildSummaryTreeColumn_closure: function InspectorScreenBodyState__buildSummaryTreeColumn_closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState__buildSummaryTreeColumn__closure: function InspectorScreenBodyState__buildSummaryTreeColumn__closure() {
    },
    InspectorScreenBodyState__buildSummaryTreeColumn__closure0: function InspectorScreenBodyState__buildSummaryTreeColumn__closure0(t0, t1) {
      this.$this = t0;
      this.inspectableErrors = t1;
    },
    InspectorScreenBodyState__onExpandCollapseSupported_closure: function InspectorScreenBodyState__onExpandCollapseSupported_closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState__onLayoutExplorerSupported_closure: function InspectorScreenBodyState__onLayoutExplorerSupported_closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState__handleConnectionStart_closure: function InspectorScreenBodyState__handleConnectionStart_closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState__handleConnectionStart_closure0: function InspectorScreenBodyState__handleConnectionStart_closure0() {
    },
    InspectorScreenBodyState__handleConnectionStart_closure1: function InspectorScreenBodyState__handleConnectionStart_closure1(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState__handleConnectionStart_closure2: function InspectorScreenBodyState__handleConnectionStart_closure2(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState__handleConnectionStart__closure: function InspectorScreenBodyState__handleConnectionStart__closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState__handleConnectionStop_closure: function InspectorScreenBodyState__handleConnectionStop_closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState__refreshInspector_closure: function InspectorScreenBodyState__refreshInspector_closure(t0) {
      this.$this = t0;
    },
    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() {
    },
    AnimatedFlexLayoutProperties$: function(begin, end, animation) {
      var t2, i,
        t1 = H._setArrayType([], type$.JSArray_legacy_LayoutProperties);
      for (t2 = type$.legacy_LayoutProperties, i = 0; i < begin.get$children(begin).length; ++i)
        t1.push(B.AnimatedLayoutProperties$(begin.get$children(begin)[i], end.get$children(end)[i], animation, t2));
      return new B.AnimatedFlexLayoutProperties(begin, end, animation, t1);
    },
    AxisExtension_get_flexType: function(_this) {
      switch (_this) {
        case C.Axis_0:
          return "Row";
        case C.Axis_1:
        default:
          return "Column";
      }
    },
    AnimatedFlexLayoutProperties: function AnimatedFlexLayoutProperties(t0, t1, t2, t3) {
      var _ = this;
      _.begin = t0;
      _.end = t1;
      _.animation = t2;
      _._utils2$_children = t3;
    },
    AnimatedFlexLayoutProperties_childrenRenderProperties_closure: function AnimatedFlexLayoutProperties_childrenRenderProperties_closure() {
    },
    WidgetVisualizer$: function(child, hint, isSelected, largeTitle, layoutProperties, overflowSide, title) {
      return new B.WidgetVisualizer(layoutProperties, title, child, hint, isSelected, largeTitle, overflowSide, null);
    },
    AnimatedLayoutProperties$: function(begin, end, animation, $T) {
      var t2, i,
        t1 = H._setArrayType([], type$.JSArray_legacy_LayoutProperties);
      for (t2 = type$.legacy_LayoutProperties, i = 0; i < begin.get$children(begin).length; ++i)
        t1.push(B.AnimatedLayoutProperties$(begin.get$children(begin)[i], end.get$children(end)[i], animation, t2));
      return new B.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;
    },
    AnimatedLayoutProperties: function AnimatedLayoutProperties(t0, t1, t2, t3, t4) {
      var _ = this;
      _.begin = t0;
      _.end = t1;
      _.animation = t2;
      _._utils2$_children = t3;
      _.$ti = t4;
    },
    LayoutExplorerBackground: function LayoutExplorerBackground(t0, t1) {
      this.colorScheme = t0;
      this.key = t1;
    },
    LegacyPerformanceController: function LegacyPerformanceController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18) {
      var _ = this;
      _._performance_controller0$_exportController = t0;
      _._performance_controller0$_selectedTimelineEventNotifier = t1;
      _._performance_controller0$_selectedFrameNotifier = t2;
      _._performance_controller0$_flutterFrames = t3;
      _._performance_controller0$_emptyTimeline = t4;
      _._performance_controller0$_refreshing = t5;
      _._performance_controller0$_processing = t6;
      _._performance_controller0$_httpTimelineLoggingEnabled = t7;
      _._performance_controller0$_badgeTabForJankyFrames = t8;
      _.recordedStreams = t9;
      _.threadNamesById = t10;
      _.processor = _.offlinePerformanceData = _.data = null;
      _.allTraceEvents = t11;
      _._performance_controller0$_displayRefreshRate = t12;
      _.SearchControllerMixin__searchNotifier = t13;
      _.SearchControllerMixin_xPosition = t14;
      _.SearchControllerMixin__searchMatches = t15;
      _.SearchControllerMixin__activeSearchMatch = t16;
      _.SearchControllerMixin_matchIndex = t17;
      _.CpuProfilerControllerProviderMixin_cpuProfilerController = t18;
    },
    LegacyPerformanceController_primeThreadIds_closure: function LegacyPerformanceController_primeThreadIds_closure() {
    },
    LegacyPerformanceController_primeThreadIds_closure0: function LegacyPerformanceController_primeThreadIds_closure0() {
    },
    LegacyPerformanceController__threadIdForEvents_closure: function LegacyPerformanceController__threadIdForEvents_closure(t0) {
      this.targetEventNames = t0;
    },
    LegacyPerformanceController__threadIdForEvents_closure0: function LegacyPerformanceController__threadIdForEvents_closure0() {
    },
    LegacyPerformanceController_setOfflineData_closure: function LegacyPerformanceController_setOfflineData_closure(t0) {
      this.$this = t0;
    },
    LegacyPerformanceController_setOfflineData_closure0: function LegacyPerformanceController_setOfflineData_closure0() {
    },
    LegacyPerformanceController_setOfflineData_closure1: function LegacyPerformanceController_setOfflineData_closure1(t0) {
      this.$this = t0;
    },
    LegacyPerformanceController_matchesForSearch_closure: function LegacyPerformanceController_matchesForSearch_closure(t0, t1) {
      this.search = t0;
      this.matches = t1;
    },
    LegacyPerformanceController_setTimelineStreams_closure: function LegacyPerformanceController_setTimelineStreams_closure() {
    },
    _LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin: function _LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin() {
    },
    _LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin: function _LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin() {
    },
    PerformanceController: function PerformanceController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18) {
      var _ = this;
      _._performance_controller$_exportController = t0;
      _._selectedTimelineEventNotifier = t1;
      _._selectedFrameNotifier = t2;
      _._flutterFrames = t3;
      _._emptyTimeline = t4;
      _._refreshing = t5;
      _._processing = t6;
      _._httpTimelineLoggingEnabled = t7;
      _._badgeTabForJankyFrames = t8;
      _.recordedStreams = t9;
      _.threadNamesById = t10;
      _.processor = _.offlinePerformanceData = _.data = null;
      _.allTraceEvents = t11;
      _._displayRefreshRate = t12;
      _.SearchControllerMixin__searchNotifier = t13;
      _.SearchControllerMixin_xPosition = t14;
      _.SearchControllerMixin__searchMatches = t15;
      _.SearchControllerMixin__activeSearchMatch = t16;
      _.SearchControllerMixin_matchIndex = t17;
      _.CpuProfilerControllerProviderMixin_cpuProfilerController = t18;
    },
    PerformanceController_primeThreadIds_closure: function PerformanceController_primeThreadIds_closure() {
    },
    PerformanceController_primeThreadIds_closure0: function PerformanceController_primeThreadIds_closure0() {
    },
    PerformanceController__threadIdForEvents_closure: function PerformanceController__threadIdForEvents_closure(t0) {
      this.targetEventNames = t0;
    },
    PerformanceController__threadIdForEvents_closure0: function PerformanceController__threadIdForEvents_closure0() {
    },
    PerformanceController_setOfflineData_closure: function PerformanceController_setOfflineData_closure(t0) {
      this.$this = t0;
    },
    PerformanceController_setOfflineData_closure0: function PerformanceController_setOfflineData_closure0() {
    },
    PerformanceController_setOfflineData_closure1: function PerformanceController_setOfflineData_closure1(t0) {
      this.$this = t0;
    },
    PerformanceController_matchesForSearch_closure: function PerformanceController_matchesForSearch_closure(t0, t1) {
      this.search = t0;
      this.matches = t1;
    },
    PerformanceController_setTimelineStreams_closure: function PerformanceController_setTimelineStreams_closure() {
    },
    _PerformanceController_Object_CpuProfilerControllerProviderMixin: function _PerformanceController_Object_CpuProfilerControllerProviderMixin() {
    },
    _PerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin: function _PerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin() {
    },
    StatusLine: function StatusLine(t0, t1) {
      this.currentScreen = t0;
      this.key = t1;
    },
    StatusLine_build_closure: function StatusLine_build_closure(t0, t1) {
      this.$this = t0;
      this.textTheme = t1;
    },
    StatusLine_buildHelpUrlStatus_closure: function StatusLine_buildHelpUrlStatus_closure(t0, t1) {
      this.docPageId = t0;
      this.context = t1;
    },
    StatusLine_buildIsolateSelector_closure0: function StatusLine_buildIsolateSelector_closure0(t0) {
      this.isolateManager = t0;
    },
    StatusLine_buildIsolateSelector_closure: function StatusLine_buildIsolateSelector_closure(t0, t1) {
      this.isolateManager = t0;
      this.textTheme = t1;
    },
    StatusLine_buildIsolateSelector_closure_isolateName: function StatusLine_buildIsolateSelector_closure_isolateName(t0) {
      this.isolateManager = t0;
    },
    StatusLine_buildIsolateSelector__closure0: function StatusLine_buildIsolateSelector__closure0(t0) {
      this.isolateManager = t0;
    },
    StatusLine_buildIsolateSelector__closure: function StatusLine_buildIsolateSelector__closure(t0, t1) {
      this.isolateName = t0;
      this.textTheme = t1;
    },
    StatusLine_buildConnectionStatus_closure: function StatusLine_buildConnectionStatus_closure(t0) {
      this.textTheme = t0;
    },
    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, t1) {
      this.app = t0;
      this.flutterVersion = t1;
    },
    _wrapReloadCall: function($name, reloadCall) {
      return B._wrapReloadCall$body($name, reloadCall);
    },
    _wrapReloadCall$body: function($name, reloadCall) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], timer, message, message0, timer0, t1, t2, exception, $async$exception;
      var $async$_wrapReloadCall = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 3;
              timer0 = new P.Stopwatch();
              $.$get$Stopwatch__frequency();
              timer0.start$0(0);
              timer = timer0;
              t1 = $.globals.$index(0, C.Type_MessageBus_MAi);
              t2 = $name + ".start";
              t1._message_bus$_controller.add$1(0, new A.BusEvent(t2, null));
              $async$goto = 6;
              return P._asyncAwait(reloadCall.call$0(), $async$_wrapReloadCall);
            case 6:
              // returning from await.
              t2 = timer;
              if (t2._stop == null)
                t2._stop = $.Primitives_timerTicks.call$0();
              message = $name + "ed in " + B.renderDuration(P.Duration$(timer.get$elapsedMicroseconds(), 0));
              t1 = $.globals.$index(0, C.Type_MessageBus_MAi);
              t2 = $name + ".end";
              t1._message_bus$_controller.add$1(0, new A.BusEvent(t2, message));
              $async$handler = 1;
              // goto after finally
              $async$goto = 5;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              H.unwrapException($async$exception);
              message0 = "error performing " + $name;
              t1 = $.globals.$index(0, C.Type_MessageBus_MAi);
              t2 = $name + ".end";
              t1._message_bus$_controller.add$1(0, new A.BusEvent(t2, 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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_wrapReloadCall, $async$completer);
    },
    _RegisteredServiceExtensionButton$_: function(action, completedText, describeError, serviceDescription) {
      return new B._RegisteredServiceExtensionButton(serviceDescription, action, completedText, describeError, null);
    },
    ServiceExtensionButtonGroup: function ServiceExtensionButtonGroup(t0, t1, t2) {
      this.minIncludeTextWidth = 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;
      _._extensionStates = null;
      _.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;
    },
    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;
    },
    _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;
    },
    __RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin: function __RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin() {
    },
    __RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin: function __RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin() {
    },
    __ServiceExtensionButtonGroupState_State_AutoDisposeMixin: function __ServiceExtensionButtonGroupState_State_AutoDisposeMixin() {
    },
    __ServiceExtensionToggleState_State__ServiceExtensionMixin: function __ServiceExtensionToggleState_State__ServiceExtensionMixin() {
    },
    __ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin: function __ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin() {
    },
    truncateTextSpan: function(span, $length) {
      var t1 = {};
      t1.available = $length;
      return new B.truncateTextSpan_truncateHelper(t1).call$1(span);
    },
    NotifierCheckbox: function NotifierCheckbox(t0, t1) {
      this.notifier = t0;
      this.key = t1;
    },
    _NotifierCheckboxState: function _NotifierCheckboxState(t0, t1) {
      var _ = this;
      _.currentValue = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _NotifierCheckboxState__updateValue_closure: function _NotifierCheckboxState__updateValue_closure(t0) {
      this.$this = t0;
    },
    _NotifierCheckboxState_build_closure: function _NotifierCheckboxState_build_closure(t0) {
      this.$this = t0;
    },
    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;
    },
    __NotifierCheckboxState_State_AutoDisposeMixin: function __NotifierCheckboxState_State_AutoDisposeMixin() {
    },
    sortFieldsByName: function(a, b) {
      var isAPrivate = J.startsWith$1$s(a, "_"),
        isBPrivate = J.startsWith$1$s(b, "_");
      if (isAPrivate && !isBPrivate)
        return 1;
      if (!isAPrivate && isBPrivate)
        return -1;
      return C.JSString_methods.compareTo$1(a, b);
    },
    prettyPrintBytes: function(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 = C.JSNumber_methods.toString$0(bytes) + " B";
        return output;
      }
      sizeInMB = t1 / 1024 / 1024;
      if (sizeInMB / 1024 >= roundingPoint) {
        output = C.JSNumber_methods.toStringAsFixed$1(bytes / 1073741824, 1) + " GB";
        return output;
      } else if (sizeInMB >= roundingPoint)
        return B.printMB(bytes, mbFractionDigits, true);
      else {
        _kbPattern = S.NumberFormat_NumberFormat$decimalPattern();
        _kbPattern.maximumFractionDigits = kbFractionDigits;
        output = _kbPattern.format$1((kbFractionDigits === 0 ? bytes + 511 : bytes) / 1024) + " KB";
        return output;
      }
    },
    printMB: function(bytes, fractionDigits, includeUnit) {
      var output = C.JSNumber_methods.toStringAsFixed$1(bytes / 1048576, fractionDigits) + " MB";
      return output;
    },
    msText: function(dur, fractionDigits) {
      var t1 = C.JSNumber_methods.toStringAsFixed$1(dur._duration / 1000, fractionDigits);
      return t1 + " ms";
    },
    renderDuration: function(duration) {
      var t1 = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
      if (t1 < 1000)
        return $.$get$nf().format$1(t1) + "ms";
      else
        return C.JSNumber_methods.toStringAsFixed$1(t1 / 1000, 1) + "s";
    },
    nullSafeMin: function(a, b) {
      var t1 = a == null;
      if (t1 || b == null)
        return t1 ? b : a;
      return Math.min(H.checkNum(a), b);
    },
    nullSafeMax: function(a, b) {
      var t1 = a == null;
      if (t1 || b == null)
        return t1 ? b : a;
      return Math.max(H.checkNum(a), b);
    },
    delayForBatchProcessing: function(micros) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$delayForBatchProcessing = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(P.Future_Future$delayed(P.Duration$(micros, 0), null, type$.dynamic), $async$delayForBatchProcessing);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$delayForBatchProcessing, $async$completer);
    },
    timeout: function(operation, timeoutMillis, $T) {
      var t1 = $T._eval$1("0*");
      return P.Future_any(H._setArrayType([operation, P.Future_Future$delayed(P.Duration$(0, timeoutMillis), new B.timeout_closure(), t1)], $T._eval$1("JSArray<Future<0*>*>")), t1);
    },
    pluralize: function(word, count) {
      var t1;
      if (count === 1)
        t1 = word;
      else
        t1 = word + "s";
      return t1;
    },
    getSimpleStackFrameName: function($name) {
      var newName;
      $name.toString;
      newName = H.stringReplaceAllUnchecked($name, "<anonymous closure>", "<closure>");
      if (C.JSString_methods.contains$1(newName, " "))
        return newName;
      return C.JSArray_methods.get$last(newName.split("&"));
    },
    combineStreams: function(a, b, c) {
      var controller, t1 = {};
      t1.csub = t1.bsub = t1.asub = t1.controller = null;
      controller = t1.controller = P.StreamController_StreamController(new B.combineStreams_closure(t1), new B.combineStreams_closure0(t1, a, b, c), null, false, type$.dynamic);
      return new P._ControllerStream(controller, H._instanceType(controller)._eval$1("_ControllerStream<1>"));
    },
    parseCssHexColor: function(input) {
      var t1 = H.stringReplaceAllUnchecked(input, "#", "");
      input = H.stringReplaceAllUnchecked(t1, "%23", "");
      t1 = input.length;
      if (t1 === 3 || t1 === 4)
        input = new H.MappedListIterable(H._setArrayType(input.split(""), type$.JSArray_String), new B.parseCssHexColor_closure(), type$.MappedListIterable_of_String_and_legacy_String).join$0(0);
      if (input.length === 6)
        input += "ff";
      return new P.Color(P.int_parse(input.length === 8 ? C.JSString_methods.substring$1(input, 6) + C.JSString_methods.substring$2(input, 0, 6) : input, 16) >>> 0);
    },
    toCssHexColor: function(color) {
      var t1 = new B.toCssHexColor_hex(),
        t2 = color.value;
      return "#" + H.S(t1.call$1(t2 >>> 16 & 255)) + H.S(t1.call$1(t2 >>> 8 & 255)) + H.S(t1.call$1(t2 & 255)) + H.S(t1.call$1(t2 >>> 24 & 255));
    },
    JsonUtils_getIntMember: function(json, memberName) {
      var t1 = H._asIntS(J.$index$asx(json, memberName));
      return t1 == null ? -1 : t1;
    },
    safeDivide: function(numerator, denominator) {
      var quotient;
      if (numerator != null && true) {
        quotient = numerator / denominator;
        if (isFinite(quotient))
          return quotient;
      }
      return 0;
    },
    launchUrl: function(url, context) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$launchUrl = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 5;
              return P._asyncAwait(T.canLaunch(url), $async$launchUrl);
            case 5:
              // returning from await.
              $async$goto = $async$result ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 6;
              return P._asyncAwait(T.launch(url), $async$launchUrl);
            case 6:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              Y.Notifications_of(context).push$1("Unable to open " + H.S(url) + ".");
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$launchUrl, $async$completer);
    },
    copyToClipboard: function(data, successMessage, context) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        t1;
      var $async$copyToClipboard = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(T.Clipboard_setData(new T.ClipboardData(data)), $async$copyToClipboard);
            case 2:
              // returning from await.
              t1 = Y.Notifications_of(context);
              if (t1 != null)
                t1.push$1(successMessage);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$copyToClipboard, $async$completer);
    },
    processAnsiTerminalCodes: function(input, defaultStyle) {
      var t1;
      if (input == null)
        return H._setArrayType([], type$.JSArray_legacy_TextSpan);
      t1 = new O.AnsiUp();
      t1._setupPalettes$0();
      t1.bold = false;
      t1 = O.decodeAnsiColorEscapeCodes(input, t1);
      t1 = H.MappedIterable_MappedIterable(t1, new B.processAnsiTerminalCodes_closure(defaultStyle), t1.$ti._eval$1("Iterable.E"), type$.legacy_TextSpan);
      return P.List_List$of(t1, true, H._instanceType(t1)._eval$1("Iterable.E"));
    },
    colorFromAnsi: function(ansiInput) {
      return P.Color$fromRGBO(ansiInput[0], ansiInput[1], ansiInput[2], 1);
    },
    LogicalKeySetExtension_describeKeys: function(_this, isMacOS) {
      var t1 = _this._shortcuts$_keys.toSet$0(0),
        sortedKeys = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("SetMixin.E"));
      C.JSArray_methods.sort$1(sortedKeys, new B.LogicalKeySetExtension_describeKeys_closure());
      return new H.MappedListIterable(sortedKeys, new B.LogicalKeySetExtension_describeKeys_closure0(isMacOS), H._arrayInstanceType(sortedKeys)._eval$1("MappedListIterable<1,String*>")).join$0(0);
    },
    StringExtension_caseInsensitiveContains: function(_this, pattern) {
      if (type$.legacy_RegExp._is(pattern))
        return J.contains$1$asx(_this, pattern);
      else if (typeof pattern == "string")
        return J.contains$1$asx($._lowercaseLookup.putIfAbsent$2(0, _this, new B.StringExtension_caseInsensitiveContains_closure(_this)), $._lowercaseLookup.putIfAbsent$2(0, pattern, new B.StringExtension_caseInsensitiveContains_closure0(pattern)));
      throw H.wrapException(P.Exception_Exception("Unhandled pattern type " + J.get$runtimeType$(pattern).toString$0(0) + " from `caseInsensitiveContains`"));
    },
    StringExtension_caseInsensitiveFuzzyMatch: function(_this, query) {
      var lowercase, it, t1, strIndex, char, foundChar, i;
      query = query.toLowerCase();
      lowercase = _this.toLowerCase();
      it = new T.StringCharacterRange(query, 0, 0);
      for (t1 = lowercase.length, strIndex = 0; it._advanceEnd$2(1, it._characters_impl$_end);) {
        char = it._currentCache;
        if (char == null)
          char = it._currentCache = C.JSString_methods.substring$2(query, it._characters_impl$_start, it._characters_impl$_end);
        i = strIndex;
        while (true) {
          if (!(i < t1)) {
            foundChar = false;
            break;
          }
          if (lowercase[i] === char) {
            strIndex = i + 1;
            foundChar = true;
            break;
          }
          ++i;
        }
        if (!foundChar)
          return false;
      }
      return true;
    },
    ListExtension_joinWith: function(_this, separator, $T) {
      var i, t3,
        t1 = $T._eval$1("JSArray<0*>"),
        t2 = H._setArrayType([], t1);
      for (i = 0; i < _this.length; ++i) {
        t3 = H._setArrayType([_this[i]], t1);
        if (i !== _this.length - 1)
          t3.push(separator);
        C.JSArray_methods.addAll$1(t2, t3);
      }
      return t2;
    },
    devToolsQueryParams: function(url) {
      return P.Uri_parse(J.replaceFirst$2$s(url, P.RegExp_RegExp("#\\/(\\w*)[?]", true, false), "?"), 0, null).get$queryParameters();
    },
    safePositiveDouble: function(value) {
      value.toString;
      if (isNaN(value))
        return 0;
      return Math.max(value, 0);
    },
    prettyTimestamp: function(timestamp) {
      var timestampDT = P.DateTime$fromMillisecondsSinceEpoch(timestamp, false);
      return A.DateFormat$Hms().format$1(timestampDT);
    },
    scaleByFontFactor: function(original) {
      var t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
      if (t1 == null)
        t1 = null;
      else {
        t1 = t1.fontSize;
        t1 = t1 != null ? t1 / 14 : 1;
      }
      return C.JSNumber_methods.roundToDouble$0(original * (t1 == null ? 1 : t1));
    },
    isEmbedded: function() {
      var t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
      return (t1 == null ? null : t1.embed) != null;
    },
    BoolExtension_boolCompare: function(_this, other) {
      var t1;
      if (!(_this && other))
        t1 = !_this && !other;
      else
        t1 = true;
      if (t1)
        return 0;
      if (other)
        return 1;
      return -1;
    },
    timeout_closure: function timeout_closure() {
    },
    combineStreams_closure0: function combineStreams_closure0(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.a = t1;
      _.b = t2;
      _.c = t3;
    },
    combineStreams_closure: function combineStreams_closure(t0) {
      this._box_0 = 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;
    },
    TimeUnit: function TimeUnit(t0, t1) {
      this.index = t0;
      this._utils$_name = t1;
    },
    TimeRange: function TimeRange(t0) {
      this.singleAssignment = t0;
      this._utils$_end = this._utils$_start = null;
    },
    ImmediateValueNotifier: function ImmediateValueNotifier(t0, t1, t2) {
      var _ = this;
      _._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._utils$_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;
      _._currentList = null;
      _.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;
    },
    CompareMixin: function CompareMixin() {
    },
    _ImmutableList_Object_ListMixin: function _ImmutableList_Object_ListMixin() {
    },
    ValueNotifier$: function(_value, $T) {
      return new B.ValueNotifier(_value, P.List_List$filled(0, null, false, type$.nullable_void_Function), $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;
      _._value = t0;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
      _.$ti = t2;
    },
    AbstractNode: function AbstractNode() {
    },
    _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;
    },
    IconButton$: function(color, constraints, enableFeedback, icon, iconSize, onPressed, padding, splashRadius, tooltip) {
      return new B.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;
    },
    OutlinedButton$: function(autofocus, child, key, onPressed, style) {
      return new B.OutlinedButton(onPressed, null, style, C.Clip_0, null, autofocus, child, key);
    },
    OutlinedButton_styleFrom: function(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 B._OutlinedButtonDefaultForeground(primary, onSurface),
        overlayColor = primary == null ? _null : new B._OutlinedButtonDefaultOverlay(primary);
      if (enabledMouseCursor == null && disabledMouseCursor == null)
        mouseCursor = _null;
      else {
        enabledMouseCursor.toString;
        disabledMouseCursor.toString;
        mouseCursor = new B._OutlinedButtonDefaultMouseCursor(enabledMouseCursor, disabledMouseCursor);
      }
      t1 = textStyle == null ? _null : new V._MaterialStatePropertyAll(textStyle, type$._MaterialStatePropertyAll_TextStyle);
      t2 = backgroundColor == null ? _null : new V._MaterialStatePropertyAll(backgroundColor, type$._MaterialStatePropertyAll_Color);
      t3 = shadowColor == null ? _null : new V._MaterialStatePropertyAll(shadowColor, type$._MaterialStatePropertyAll_Color);
      t4 = elevation == null ? _null : new V._MaterialStatePropertyAll(elevation, type$._MaterialStatePropertyAll_double);
      t5 = padding == null ? _null : new V._MaterialStatePropertyAll(padding, type$._MaterialStatePropertyAll_EdgeInsetsGeometry);
      t6 = minimumSize == null ? _null : new V._MaterialStatePropertyAll(minimumSize, type$._MaterialStatePropertyAll_Size);
      t7 = fixedSize == null ? _null : new V._MaterialStatePropertyAll(fixedSize, type$._MaterialStatePropertyAll_Size);
      t8 = maximumSize == null ? _null : new V._MaterialStatePropertyAll(maximumSize, type$._MaterialStatePropertyAll_Size);
      t9 = side == null ? _null : new V._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 V._MaterialStatePropertyAll(shape, type$._MaterialStatePropertyAll_OutlinedBorder), t9, splashFactory, tapTargetSize, t1, visualDensity);
    },
    OutlinedButton: function OutlinedButton(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.onPressed = t0;
      _.onLongPress = t1;
      _.style = t2;
      _.clipBehavior = t3;
      _.focusNode = t4;
      _.autofocus = t5;
      _.child = t6;
      _.key = t7;
    },
    _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() {
    },
    ProgressIndicatorThemeData_lerp: function(a, b, t) {
      var t2, t3, t4, t5, t6, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t1 ? _null : a.color;
      t3 = b == null;
      t2 = P.Color_lerp(t2, t3 ? _null : b.color, t);
      t4 = t1 ? _null : a.linearTrackColor;
      t4 = P.Color_lerp(t4, t3 ? _null : b.linearTrackColor, t);
      t5 = t1 ? _null : a.linearMinHeight;
      t5 = P.lerpDouble(t5, t3 ? _null : b.linearMinHeight, t);
      t6 = t1 ? _null : a.circularTrackColor;
      t6 = P.Color_lerp(t6, t3 ? _null : b.circularTrackColor, t);
      t1 = t1 ? _null : a.refreshBackgroundColor;
      return new B.ProgressIndicatorThemeData(t2, t4, t5, t6, P.Color_lerp(t1, t3 ? _null : b.refreshBackgroundColor, t));
    },
    ProgressIndicatorTheme_of: function(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.ProgressIndicatorTheme);
      t1 = K.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() {
    },
    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) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin: function _RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin() {
    },
    _RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin: function _RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin() {
    },
    RawKeyEvent_RawKeyEvent$fromMessage: function(message) {
      var t3, t4, t5, data, type,
        t1 = J.getInterceptor$asx(message),
        key = H._asStringQ(t1.$index(message, "key")),
        t2 = H._asStringQ(t1.$index(message, "code"));
      if (t2 == null)
        t2 = "";
      t3 = key == null;
      t4 = t3 ? "" : key;
      t5 = H._asIntQ(t1.$index(message, "metaState"));
      data = new A.RawKeyEventDataWeb(t2, t4, t5 == null ? 0 : t5);
      !t3;
      type = H._asStringS(t1.$index(message, "type"));
      switch (type) {
        case "keydown":
          return new B.RawKeyDownEvent(data);
        case "keyup":
          return new B.RawKeyUpEvent(data);
        default:
          throw H.wrapException(U.FlutterError_FlutterError("Unknown key event type: " + H.S(type)));
      }
    },
    KeyboardSide: function KeyboardSide(t0, t1) {
      this.index = t0;
      this._raw_keyboard$_name = t1;
    },
    ModifierKey: function ModifierKey(t0, t1) {
      this.index = t0;
      this._raw_keyboard$_name = t1;
    },
    RawKeyEventData: function RawKeyEventData() {
    },
    RawKeyEvent: function RawKeyEvent() {
    },
    RawKeyDownEvent: function RawKeyDownEvent(t0) {
      this.data = t0;
    },
    RawKeyUpEvent: function RawKeyUpEvent(t0) {
      this.data = t0;
    },
    RawKeyboard: function RawKeyboard(t0, t1, t2) {
      var _ = this;
      _._raw_keyboard$_listeners = t0;
      _.keyEventHandler = null;
      _._keysPressed = t1;
      _._hiddenKeysPressed = t2;
    },
    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() {
    },
    RawKeyEventDataMacOs: function RawKeyEventDataMacOs() {
    },
    LengthLimitingTextInputFormatter_getDefaultMaxLengthEnforcement: function(platform) {
      return C.MaxLengthEnforcement_2;
    },
    MaxLengthEnforcement: function MaxLengthEnforcement(t0, t1) {
      this.index = t0;
      this._text_formatter$_name = t1;
    },
    TextInputFormatter: function TextInputFormatter() {
    },
    FilteringTextInputFormatter: function FilteringTextInputFormatter(t0, t1) {
      this.filterPattern = t0;
      this.allow = t1;
    },
    FilteringTextInputFormatter_formatEditUpdate_closure: function FilteringTextInputFormatter_formatEditUpdate_closure(t0) {
      this.$this = t0;
    },
    FilteringTextInputFormatter_formatEditUpdate__closure: function FilteringTextInputFormatter_formatEditUpdate__closure(t0) {
      this.$this = t0;
    },
    FilteringTextInputFormatter_formatEditUpdate__closure0: function FilteringTextInputFormatter_formatEditUpdate__closure0(t0) {
      this.$this = t0;
    },
    StreamBuilder$: function(builder, initialData, stream, $T) {
      return new B.StreamBuilder(builder, initialData, stream, null, $T._eval$1("StreamBuilder<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._async0$_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;
    },
    ListView$: function(children, controller, itemExtent, padding, physics, primary, shrinkWrap) {
      var t4, _null = null,
        t1 = G.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 ? C.AlwaysScrollableScrollPhysics_null : _null;
      } else
        t3 = physics;
      return new B.ListView(itemExtent, t1, padding, C.Axis_1, false, controller, t4, t3, shrinkWrap, _null, t2, C.DragStartBehavior_1, C.ScrollViewKeyboardDismissBehavior_0, _null, C.Clip_1, _null);
    },
    ListView$builder: function(controller, itemBuilder, itemCount, itemExtent, padding, physics, primary, scrollDirection, shrinkWrap) {
      var t2, _null = null,
        t1 = primary == null;
      if (t1)
        t2 = controller == null && scrollDirection === C.Axis_1;
      else
        t2 = primary;
      if (physics == null) {
        if (primary !== true)
          t1 = t1 && controller == null && scrollDirection === C.Axis_1;
        else
          t1 = true;
        t1 = t1 ? C.AlwaysScrollableScrollPhysics_null : _null;
      } else
        t1 = physics;
      return new B.ListView(itemExtent, new G.SliverChildBuilderDelegate(itemBuilder, itemCount, true, true, true, G.sliver0___kDefaultSemanticIndexCallback$closure()), padding, scrollDirection, false, controller, t2, t1, shrinkWrap, _null, itemCount, C.DragStartBehavior_1, C.ScrollViewKeyboardDismissBehavior_0, _null, C.Clip_1, _null);
    },
    ListView$separated: function(controller, itemBuilder, itemCount, padding, separatorBuilder, shrinkWrap) {
      var _null = null,
        t1 = Math.max(0, itemCount * 2 - 1);
      return new B.ListView(_null, new G.SliverChildBuilderDelegate(new B.ListView$separated_closure(itemBuilder, separatorBuilder), t1, true, true, true, new B.ListView$separated_closure0()), padding, C.Axis_1, false, controller, false, _null, true, _null, itemCount, C.DragStartBehavior_1, C.ScrollViewKeyboardDismissBehavior_0, _null, C.Clip_1, _null);
    },
    ListView$custom: function(childrenDelegate, controller, itemExtent, padding) {
      var _null = null,
        t1 = controller == null && true,
        t2 = controller == null && true;
      t2 = t2 ? C.AlwaysScrollableScrollPhysics_null : _null;
      return new B.ListView(itemExtent, childrenDelegate, padding, C.Axis_1, false, controller, t1, t2, false, _null, _null, C.DragStartBehavior_1, C.ScrollViewKeyboardDismissBehavior_0, _null, C.Clip_1, _null);
    },
    ScrollViewKeyboardDismissBehavior: function ScrollViewKeyboardDismissBehavior(t0, t1) {
      this.index = t0;
      this._scroll_view$_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() {
    },
    mapToQuery: function(map, encoding) {
      var pairs = H._setArrayType([], type$.JSArray_List_String);
      map.forEach$1(0, new B.mapToQuery_closure(pairs, encoding));
      return new H.MappedListIterable(pairs, new B.mapToQuery_closure0(), type$.MappedListIterable_of_List_String_and_String).join$1(0, "&");
    },
    encodingForCharset: function(charset) {
      var t1;
      if (charset == null)
        return C.C_Latin1Codec;
      t1 = P.Encoding_getByName(charset);
      return t1 == null ? C.C_Latin1Codec : t1;
    },
    toUint8List: function(input) {
      if (type$.Uint8List._is(input))
        return input;
      if (type$.TypedData._is(input))
        return J.asUint8List$2$x(J.get$buffer$x(input), 0, null);
      return new Uint8Array(H._ensureNativeList(input));
    },
    toByteStream: function(stream) {
      return stream;
    },
    mapToQuery_closure: function mapToQuery_closure(t0, t1) {
      this.pairs = t0;
      this.encoding = t1;
    },
    mapToQuery_closure0: function mapToQuery_closure0() {
    },
    Decoder: function Decoder() {
    },
    ExrCompressor_ExrCompressor: function(type, hdr, maxScanLineSize, numScanLines) {
      var t1, t2;
      switch (type) {
        case 1:
          return new Y.InternalExrRleCompressor(hdr);
        case 2:
          t1 = numScanLines == null ? 1 : numScanLines;
          return new R.InternalExrZipCompressor(new Z.ZLibDecoder(), t1, hdr);
        case 3:
          t1 = numScanLines == null ? 16 : numScanLines;
          return new R.InternalExrZipCompressor(new Z.ZLibDecoder(), t1, hdr);
        case 4:
          t1 = numScanLines == null ? 32 : numScanLines;
          t2 = new G.InternalExrPizCompressor(maxScanLineSize, t1, hdr);
          t2.InternalExrPizCompressor$3(hdr, maxScanLineSize, t1);
          return t2;
        case 5:
          t1 = numScanLines == null ? 16 : numScanLines;
          return new O.InternalExrPxr24Compressor(new Z.ZLibDecoder(), maxScanLineSize, t1, hdr);
        case 6:
          return new D.InternalExrB44Compressor(numScanLines == null ? 32 : numScanLines, hdr);
        case 7:
          return new D.InternalExrB44Compressor(numScanLines == null ? 32 : numScanLines, hdr);
        default:
          throw H.wrapException(K.ImageException$("Invalid compression type: " + H.S(type)));
      }
    },
    ExrCompressor: function ExrCompressor() {
    },
    InternalExrCompressor: function InternalExrCompressor() {
    },
    TgaDecoder: function TgaDecoder() {
      this.info = null;
      this.__TgaDecoder_input = $;
    },
    VP8BitReader$: function(input) {
      var t1 = new B.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;
    },
    HuffmanTree$: function() {
      var t1 = new Uint8Array(128),
        t2 = new Int16Array(128);
      t1 = new B.HuffmanTree(t1, t2, new Int16Array(128));
      t1._webp_huffman$_init$1(0);
      return t1;
    },
    HTreeGroup$: function() {
      var _i,
        _list = J.JSArray_JSArray$allocateFixed(5, type$.HuffmanTree);
      for (_i = 0; _i < 5; ++_i)
        _list[_i] = B.HuffmanTree$();
      return new B.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;
    },
    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$: function(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 B.NumberSymbols(NAME, DECIMAL_SEP, GROUP_SEP, PERCENT, ZERO_DIGIT, PLUS_SIGN, MINUS_SIGN, EXP_SYMBOL, PERMILL, INFINITY, NAN, DECIMAL_PATTERN, DEF_CURRENCY_CODE);
    },
    CompactNumberSymbols$: function(COMPACT_DECIMAL_LONG_PATTERN, COMPACT_DECIMAL_SHORT_CURRENCY_PATTERN, COMPACT_DECIMAL_SHORT_PATTERN) {
      return new B.CompactNumberSymbols(COMPACT_DECIMAL_SHORT_PATTERN, COMPACT_DECIMAL_LONG_PATTERN, COMPACT_DECIMAL_SHORT_CURRENCY_PATTERN);
    },
    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;
    },
    CompactNumberSymbols: function CompactNumberSymbols(t0, t1, t2) {
      this.COMPACT_DECIMAL_SHORT_PATTERN = t0;
      this.COMPACT_DECIMAL_LONG_PATTERN = t1;
      this.COMPACT_DECIMAL_SHORT_CURRENCY_PATTERN = t2;
    },
    InternalStyle: function InternalStyle() {
    },
    StreamChannelController: function StreamChannelController(t0) {
      this.__StreamChannelController__foreign = this.__StreamChannelController__local = $;
      this.$ti = t0;
    },
    defaultCompare: function(value1, value2) {
      return J.compareTo$1$ns(type$.Comparable_nullable_Object._as(value1), value2);
    },
    identity: function(value) {
      return value;
    },
    log: function(message, level) {
      switch (level) {
        case C.LogLevel_0:
          window;
          if (typeof console != "undefined")
            window.console.log(message);
          break;
        case C.LogLevel_1:
          window;
          if (typeof console != "undefined")
            window.console.warn(message);
          break;
        case C.LogLevel_2:
          window;
          if (typeof console != "undefined")
            window.console.error(message);
          break;
      }
    },
    acceptedTypesToString: function(acceptedTypes) {
      var _i, t1,
        allTypes = H._setArrayType([], type$.JSArray_String);
      for (_i = 0; _i < 1; ++_i) {
        t1 = acceptedTypes[_i].extensions;
        if (t1 != null)
          C.JSArray_methods.addAll$1(allTypes, new H.MappedListIterable(t1, B.utils0___normalizeExtension$closure(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")));
      }
      return C.JSArray_methods.join$1(allTypes, ",");
    },
    _normalizeExtension: function(ext) {
      return ext.length !== 0 && ext[0] !== "." ? "." + ext : ext;
    },
    nearEqual: function(a, b, epsilon) {
      if (a == null || b == null)
        return a == b;
      return a > b - epsilon && a < b + epsilon || a === b;
    },
    wrapFormatException: function($name, value, body) {
      var error, error0, t1, exception;
      try {
        t1 = body.call$0();
        return t1;
      } catch (exception) {
        t1 = H.unwrapException(exception);
        if (t1 instanceof G.SourceSpanFormatException) {
          error = t1;
          throw H.wrapException(G.SourceSpanFormatException$("Invalid " + $name + ": " + error._span_exception$_message, error._span, J.get$source$z(error)));
        } else if (type$.FormatException._is(t1)) {
          error0 = t1;
          throw H.wrapException(P.FormatException$("Invalid " + $name + ' "' + value + '": ' + H.S(J.get$message$x(error0)), J.get$source$z(error0), J.get$offset$x(error0)));
        } else
          throw exception;
      }
    },
    defaultLocale: function() {
      var zoneLocale = H._asStringQ($.Zone__current.$index(0, C.Symbol_89P));
      return zoneLocale == null ? $._defaultLocale : zoneLocale;
    },
    isAlphabetic: function(char) {
      var t1;
      if (!(char >= 65 && char <= 90))
        t1 = char >= 97 && char <= 122;
      else
        t1 = true;
      return t1;
    },
    isDriveLetter: function(path, index) {
      var t1 = path.length,
        t2 = index + 2;
      if (t1 < t2)
        return false;
      if (!B.isAlphabetic(C.JSString_methods.codeUnitAt$1(path, index)))
        return false;
      if (C.JSString_methods.codeUnitAt$1(path, index + 1) !== 58)
        return false;
      if (t1 === t2)
        return true;
      return C.JSString_methods.codeUnitAt$1(path, t2) === 47;
    },
    isAllTheSame: function(iter) {
      var firstValue, t1;
      if (iter.get$length(iter) === 0)
        return true;
      firstValue = iter.get$first(iter);
      for (t1 = H.SubListIterable$(iter, 1, null, iter.$ti._eval$1("ListIterable.E")), t1 = new H.ListIterator(t1, t1.get$length(t1), t1.$ti._eval$1("ListIterator<ListIterable.E>")); t1.moveNext$0();)
        if (!J.$eq$(t1.__internal$_current, firstValue))
          return false;
      return true;
    },
    replaceFirstNull: function(list, element) {
      var index = C.JSArray_methods.indexOf$1(list, null);
      if (index < 0)
        throw H.wrapException(P.ArgumentError$(H.S(list) + " contains no null elements."));
      list[index] = element;
    },
    replaceWithNull: function(list, element) {
      var index = C.JSArray_methods.indexOf$1(list, element);
      if (index < 0)
        throw H.wrapException(P.ArgumentError$(H.S(list) + " contains no elements matching " + element.toString$0(0) + "."));
      list[index] = null;
    },
    countCodeUnits: function(string, codeUnit) {
      var t1, count;
      for (t1 = new H.CodeUnits(string), t1 = new H.ListIterator(t1, t1.get$length(t1), type$.CodeUnits._eval$1("ListIterator<ListMixin.E>")), count = 0; t1.moveNext$0();)
        if (t1.__internal$_current === codeUnit)
          ++count;
      return count;
    },
    findLineStart: function(context, text, column) {
      var beginningOfLine, index, lineStart;
      if (text.length === 0)
        for (beginningOfLine = 0; true;) {
          index = C.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 = C.JSString_methods.indexOf$1(context, text);
      for (; index !== -1;) {
        lineStart = index === 0 ? 0 : C.JSString_methods.lastIndexOf$2(context, "\n", index - 1) + 1;
        if (column === index - lineStart)
          return lineStart;
        index = C.JSString_methods.indexOf$2(context, text, index + 1);
      }
      return null;
    }
  },
  C = {},
  D = {ChartController: function ChartController() {
    }, ChartController_zoomDuration_closure: function ChartController_zoomDuration_closure(t0, t1) {
      this.lastDT = t0;
      this.duration = t1;
    }, ChartController_zoomDuration_closure0: function ChartController_zoomDuration_closure0() {
    }, TapLocation: function TapLocation(t0, t1, t2) {
      this.tapDownDetails = t0;
      this.timestamp = t1;
      this.index = t2;
    }, _ChartController_DisposableController_AutoDisposeControllerMixin: function _ChartController_DisposableController_AutoDisposeControllerMixin() {
    }, CollapsibleAnimationMixin: function CollapsibleAnimationMixin() {
    }, CollapsibleAnimationMixin_setExpanded_closure: function CollapsibleAnimationMixin_setExpanded_closure(t0, t1) {
      this.$this = t0;
      this.expanded = t1;
    }, ImportController: function ImportController(t0, t1) {
      this._import_export$_pushSnapshotScreenForImport = t0;
      this._notifications = t1;
      this.previousImportTime = null;
    }, ExportController: function ExportController() {
    },
    DebuggerController$: function() {
      var _null = null,
        t1 = type$.legacy_LibraryRef,
        t2 = type$.legacy_Future_legacy_Set_legacy_String,
        t3 = type$.legacy_String,
        t4 = type$.legacy_ScriptRef,
        t5 = type$.nullable_void_Function,
        t6 = type$.ValueNotifier_legacy_ScriptRef,
        t7 = type$.JSArray_legacy_ScriptRef,
        t8 = type$.ValueNotifier_legacy_bool,
        t9 = type$.ValueNotifier_legacy_String;
      t5 = new D.DebuggerController(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), new D.ScriptCache(P.LinkedHashMap_LinkedHashMap$_empty(t3, type$.legacy_Script), P.LinkedHashMap_LinkedHashMap$_empty(t3, type$.legacy_Future_legacy_Script)), new D.ScriptsHistory(P.LinkedHashSet_LinkedHashSet$_empty(t4), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t5), t6), H._setArrayType([], t7)), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t5), t8), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t5), t8), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t5), t6), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_ParsedScript), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t5), t8), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_ScriptLocation), P.LinkedHashMap_LinkedHashMap$_empty(t3, t4), new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_StackFrameAndSourcePosition), P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_List_legacy_StackFrameAndSourcePosition), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_StackFrameAndSourcePosition), new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_Variable), P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_List_legacy_Variable), new B.ValueNotifier(H._setArrayType([], t7), P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_List_legacy_ScriptRef), new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_Breakpoint), P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_List_legacy_Breakpoint), new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_BreakpointAndSourcePosition), P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_List_legacy_BreakpointAndSourcePosition), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_BreakpointAndSourcePosition), new B.ValueNotifier("Unhandled", P.List_List$filled(0, _null, false, t5), t9), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t5), t8), new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_ConsoleLine), P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_List_legacy_ConsoleLine), new D.EvalHistory(H._setArrayType([], type$.JSArray_legacy_String)), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t5), t8), P.LinkedHashMap_LinkedHashMap$_empty(t3, type$.legacy_List_legacy_SourcePosition), new B.ValueNotifier("", P.List_List$filled(0, _null, false, t5), t9), 0, new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_SourceToken), P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_List_legacy_SourceToken), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_SourceToken), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_int), K.Disposer$());
      t5.DebuggerController$1$initialSwitchToIsolate(true);
      return t5;
    },
    ConsoleLine: function ConsoleLine() {
    },
    TextConsoleLine: function TextConsoleLine(t0) {
      this.text = t0;
    },
    VariableConsoleLine: function VariableConsoleLine(t0) {
      this.variable = t0;
    },
    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) {
      var _ = this;
      _.libraryMemberAutocompleteCache = t0;
      _.libraryMemberAndImportsAutocompleteCache = t1;
      _._scriptCache = t2;
      _.scriptsHistory = t3;
      _._scriptHistoryListener = null;
      _._isPaused = t4;
      _._resuming = t5;
      _._lastEvent = null;
      _._currentScriptRef = t6;
      _.parsedScript = t7;
      _._showSearchInFileField = t8;
      _._scriptLocation = t9;
      _._uriToScriptMap = t10;
      _._stackFramesWithLocation = t11;
      _._selectedStackFrame = t12;
      _._variables = t13;
      _._sortedScripts = t14;
      _._breakpoints = t15;
      _._breakpointsWithLocation = t16;
      _._selectedBreakpoint = t17;
      _._exceptionPauseMode = t18;
      _._librariesVisible = t19;
      _._stdio = t20;
      _._stdioTrailingNewline = false;
      _.isolateRef = null;
      _.evalHistory = t21;
      _._hasTruncatedFrames = t22;
      _._getStackOperation = null;
      _._breakPositionsMap = t23;
      _.SearchControllerMixin__searchNotifier = t24;
      _.SearchControllerMixin_xPosition = t25;
      _.SearchControllerMixin__searchMatches = t26;
      _.SearchControllerMixin__activeSearchMatch = t27;
      _.SearchControllerMixin_matchIndex = t28;
      _.AutoDisposeControllerMixin__delegate = t29;
    },
    DebuggerController_closure: function DebuggerController_closure(t0) {
      this.$this = t0;
    },
    DebuggerController__parseCurrentScript_closure: function DebuggerController__parseCurrentScript_closure() {
    },
    DebuggerController_appendStdio_closure: function DebuggerController_appendStdio_closure() {
    },
    DebuggerController_appendStdio_closure0: function DebuggerController_appendStdio_closure0() {
    },
    DebuggerController_switchToIsolate_closure: function DebuggerController_switchToIsolate_closure(t0) {
      this.$this = t0;
    },
    DebuggerController_stepOver_closure: function DebuggerController_stepOver_closure() {
    },
    DebuggerController_clearBreakpoints_closure: function DebuggerController_clearBreakpoints_closure(t0) {
      this.$this = t0;
    },
    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__retrieveAndSortScripts_closure: function DebuggerController__retrieveAndSortScripts_closure() {
    },
    DebuggerController__updateAfterIsolateReload_closure: function DebuggerController__updateAfterIsolateReload_closure(t0) {
      this.uri = t0;
    },
    DebuggerController__updateAfterIsolateReload_closure0: function DebuggerController__updateAfterIsolateReload_closure0() {
    },
    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__populateScripts_closure0: function DebuggerController__populateScripts_closure0() {
    },
    DebuggerController__createBreakpointWithLocation_closure: function DebuggerController__createBreakpointWithLocation_closure(t0, t1, t2) {
      this.$this = t0;
      this.bp = t1;
      this.breakpoint = t2;
    },
    DebuggerController__createVariablesForFrame_closure: function DebuggerController__createVariablesForFrame_closure() {
    },
    DebuggerController__createVariablesForFrame_closure0: function DebuggerController__createVariablesForFrame_closure0() {
    },
    DebuggerController__createVariablesForBytes_closure: function DebuggerController__createVariablesForBytes_closure() {
    },
    DebuggerController__createVariablesForElements_closure: function DebuggerController__createVariablesForElements_closure() {
    },
    DebuggerController__createVariablesForFields_closure: function DebuggerController__createVariablesForFields_closure() {
    },
    DebuggerController__createVariablesForFields_closure0: function DebuggerController__createVariablesForFields_closure0() {
    },
    DebuggerController_matchesForSearch_closure: function DebuggerController_matchesForSearch_closure(t0) {
      this.i = t0;
    },
    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.scriptRef = t1;
    },
    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() {
    },
    FileImportContainer$: function(actionText, instructions, onAction, onFileCleared, onFileSelected, title) {
      return new D.FileImportContainer(title, instructions, actionText, onAction, onFileSelected, onFileCleared, null);
    },
    importFileFromPicker: function(acceptedTypes) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_DevToolsJsonFile),
        $async$returnValue, acceptedTypeGroups, file, data, lastModifiedTime, $async$temp1;
      var $async$importFileFromPicker = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              acceptedTypeGroups = H._setArrayType([new L.XTypeGroup(L.XTypeGroup__removeLeadingDots(acceptedTypes))], type$.JSArray_legacy_XTypeGroup);
              $async$goto = 3;
              return P._asyncAwait($.$get$FileSelectorPlatform__instance().openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory(acceptedTypeGroups, null, null), $async$importFileFromPicker);
            case 3:
              // returning from await.
              file = $async$result;
              $async$temp1 = C.C_JsonCodec;
              $async$goto = 4;
              return P._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 P._asyncAwait(file.lastModified$0(0), $async$importFileFromPicker);
            case 5:
              // returning from await.
              lastModifiedTime = $async$result;
              $async$returnValue = new B.DevToolsJsonFile(file.name, lastModifiedTime, data);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._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;
    },
    InspectorDetailsTabController: function InspectorDetailsTabController(t0, t1, t2, t3, t4) {
      var _ = this;
      _.detailsTree = t0;
      _.actionButtons = t1;
      _.controller = t2;
      _.layoutExplorerSupported = t3;
      _.key = t4;
    },
    _InspectorDetailsTabControllerState: function _InspectorDetailsTabControllerState(t0, t1, t2) {
      var _ = this;
      _._tabControllerWithoutLayoutExplorer = _._tabControllerWithLayoutExplorer = null;
      _.AutoDisposeMixin__delegate = t0;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    __InspectorDetailsTabControllerState_State_TickerProviderStateMixin: function __InspectorDetailsTabControllerState_State_TickerProviderStateMixin() {
    },
    __InspectorDetailsTabControllerState_State_TickerProviderStateMixin_AutoDisposeMixin: function __InspectorDetailsTabControllerState_State_TickerProviderStateMixin_AutoDisposeMixin() {
    },
    buildRegExs: function(matchingCriteria) {
      var t1,
        resultRegEx = new P.StringBuffer("");
      matchingCriteria.forEach$1(0, new D.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._memory_heap_tree_view$_name = t1;
    },
    WildcardMatch: function WildcardMatch(t0, t1) {
      this.index = t0;
      this._memory_heap_tree_view$_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, t11, t12, t13, t14, t15) {
      var _ = this;
      _.snapshotDisplay = _.tabController = _.controller = null;
      _.heapMovingAverage = t0;
      _.spikeSnapshotTime = null;
      _.lastSnapshotMemoryTotal = _.rssSnapshotTime = 0;
      _._memory_heap_tree_view$_animation = _.treeMapVisible = null;
      _.snapshotState = t1;
      _.removeUpdateBubble = null;
      _.TickerProviderStateMixin__tickers = t2;
      _.SearchFieldMixin_searchTextFieldController = t3;
      _.SearchFieldMixin__searchFieldFocusNode = t4;
      _.SearchFieldMixin__onSelection = t5;
      _.SearchFieldMixin__closeHandler = t6;
      _.SearchFieldMixin_arrowDown = t7;
      _.SearchFieldMixin_arrowUp = t8;
      _.SearchFieldMixin_enter = t9;
      _.SearchFieldMixin_escape = t10;
      _.SearchFieldMixin_tab = t11;
      _.SearchFieldMixin_enterMac = t12;
      _.SearchFieldMixin_tabMac = t13;
      _.AutoDisposeMixin__delegate = t14;
      _._widget = null;
      _._debugLifecycleState = t15;
      _._framework$_element = null;
    },
    HeapTreeViewState_didChangeDependencies_closure: function HeapTreeViewState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies__closure5: function HeapTreeViewState_didChangeDependencies__closure5(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure0: function HeapTreeViewState_didChangeDependencies_closure0(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__closure3: function HeapTreeViewState_didChangeDependencies__closure3(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure2: function HeapTreeViewState_didChangeDependencies_closure2(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__closure1: function HeapTreeViewState_didChangeDependencies__closure1(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure4: function HeapTreeViewState_didChangeDependencies_closure4(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__closure0: function HeapTreeViewState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure7: function HeapTreeViewState_didChangeDependencies_closure7(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure8: function HeapTreeViewState_didChangeDependencies_closure8(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__allocationStart_closure0: function HeapTreeViewState__allocationStart_closure0() {
    },
    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) {
      var _ = this;
      _.controller = null;
      _.treeColumn = t0;
      _.columns = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._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_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_SearchFieldMixin: function _HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin() {
    },
    _HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin: function _HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin() {
    },
    _MemoryHeapTableState_State_AutoDisposeMixin: function _MemoryHeapTableState_State_AutoDisposeMixin() {
    },
    HttpRequestHeadersView: function HttpRequestHeadersView(t0, t1) {
      this.data = t0;
      this.key = t1;
    },
    HttpRequestHeadersView_build_closure: function HttpRequestHeadersView_build_closure(t0) {
      this.$this = t0;
    },
    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;
    },
    NetworkService: function NetworkService(t0) {
      this.networkController = t0;
    },
    NetworkService__refreshHttpProfile_closure: function NetworkService__refreshHttpProfile_closure(t0, t1) {
      this.$this = t0;
      this.requests = t1;
    },
    NetworkService__refreshSockets_closure: function NetworkService__refreshSockets_closure(t0) {
      this.sockets = t0;
    },
    NetworkService__clearSocketProfile_closure: function NetworkService__clearSocketProfile_closure() {
    },
    NetworkService_toggleSocketProfiling_closure: function NetworkService_toggleSocketProfiling_closure(t0) {
      this.state = t0;
    },
    ProfileGranularityExtension_get_display: function(_this) {
      switch (_this) {
        case C.ProfileGranularity_0:
          return "Profile granularity: low";
        case C.ProfileGranularity_1:
          return "Profile granularity: medium";
        case C.ProfileGranularity_2:
        default:
          return "Profile granularity: high";
      }
    },
    ProfileGranularityExtension_get_value: function(_this) {
      switch (_this) {
        case C.ProfileGranularity_0:
          return "1000";
        case C.ProfileGranularity_1:
          return "250";
        case C.ProfileGranularity_2:
        default:
          return "50";
      }
    },
    ProfileGranularityExtension_fromValue: function(value) {
      switch (value) {
        case "1000":
          return C.ProfileGranularity_0;
        case "50":
          return C.ProfileGranularity_2;
        case "250":
        default:
          return C.ProfileGranularity_1;
      }
    },
    ProfileGranularity: function ProfileGranularity(t0, t1) {
      this.index = t0;
      this._profile_granularity$_name = t1;
    },
    Key: function Key() {
    },
    LocalKey: function LocalKey() {
    },
    ValueKey: function ValueKey(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    _TypeLiteral: function _TypeLiteral(t0) {
      this.$ti = t0;
    },
    GestureDisposition: function GestureDisposition(t0, t1) {
      this.index = t0;
      this._arena$_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;
    },
    _maxBy: function(input, keyFunc) {
      var maxKey, _i, value, key,
        maxValue = H._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 = _._arc$_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._arc$_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;
    },
    BottomAppBarTheme: function BottomAppBarTheme(t0, t1, t2) {
      this.color = t0;
      this.elevation = t1;
      this.shape = t2;
    },
    _BottomAppBarTheme_Object_Diagnosticable: function _BottomAppBarTheme_Object_Diagnosticable() {
    },
    CheckboxListTile: function CheckboxListTile(t0, t1, t2, t3, t4) {
      var _ = this;
      _.value = t0;
      _.onChanged = t1;
      _.title = t2;
      _.dense = t3;
      _.key = t4;
    },
    ElevatedButton$: function(child, onPressed, style) {
      return new D.ElevatedButton(onPressed, null, style, C.Clip_0, null, false, child, null);
    },
    ElevatedButton_styleFrom: function(alignment, animationDuration, disabledMouseCursor, elevation, enableFeedback, enabledMouseCursor, fixedSize, maximumSize, minimumSize, onPrimary, onSurface, padding, primary, shadowColor, shape, side, splashFactory, tapTargetSize, textStyle, visualDensity) {
      var t2, t3, t4, t5, t6, _null = null,
        t1 = onSurface == null,
        backgroundColor = t1 && primary == null ? _null : new D._ElevatedButtonDefaultBackground(primary, onSurface),
        foregroundColor = t1 && onPrimary == null ? _null : new D._ElevatedButtonDefaultForeground(onPrimary, onSurface),
        overlayColor = onPrimary == null ? _null : new D._ElevatedButtonDefaultOverlay(onPrimary),
        elevationValue = elevation == null ? _null : new D._ElevatedButtonDefaultElevation(elevation),
        mouseCursor = enabledMouseCursor == null && disabledMouseCursor == null ? _null : new D._ElevatedButtonDefaultMouseCursor(enabledMouseCursor, disabledMouseCursor);
      t1 = shadowColor == null ? _null : new V._MaterialStatePropertyAll(shadowColor, type$._MaterialStatePropertyAll_Color);
      t2 = padding == null ? _null : new V._MaterialStatePropertyAll(padding, type$._MaterialStatePropertyAll_EdgeInsetsGeometry);
      t3 = minimumSize == null ? _null : new V._MaterialStatePropertyAll(minimumSize, type$._MaterialStatePropertyAll_Size);
      t4 = fixedSize == null ? _null : new V._MaterialStatePropertyAll(fixedSize, type$._MaterialStatePropertyAll_Size);
      t5 = maximumSize == null ? _null : new V._MaterialStatePropertyAll(maximumSize, type$._MaterialStatePropertyAll_Size);
      t6 = shape == null ? _null : new V._MaterialStatePropertyAll(shape, type$._MaterialStatePropertyAll_OutlinedBorder);
      return A.ButtonStyle$(alignment, animationDuration, backgroundColor, elevationValue, enableFeedback, t4, foregroundColor, t5, t3, mouseCursor, overlayColor, t2, t1, t6, _null, splashFactory, tapTargetSize, new V._MaterialStatePropertyAll(textStyle, type$._MaterialStatePropertyAll_nullable_TextStyle), visualDensity);
    },
    ElevatedButton: function ElevatedButton(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.onPressed = t0;
      _.onLongPress = t1;
      _.style = t2;
      _.clipBehavior = t3;
      _.focusNode = t4;
      _.autofocus = t5;
      _.child = t6;
      _.key = t7;
    },
    _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() {
    },
    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;
    },
    ShaderWarmUp: function ShaderWarmUp() {
    },
    DefaultShaderWarmUp: function DefaultShaderWarmUp() {
    },
    FrictionSimulation: function FrictionSimulation(t0, t1, t2, t3, t4) {
      var _ = this;
      _._drag = t0;
      _._dragLog = t1;
      _._friction_simulation$_x = t2;
      _._v = t3;
      _.tolerance = t4;
    },
    _isWhitespace: function(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;
    },
    RenderEditable_nextCharacter: function(index, string, includeWhitespace) {
      var t1 = {},
        t2 = string.length;
      if (index === t2)
        return t2;
      t1.count = 0;
      return t2 - new T.StringCharacters(string).skipWhile$1(0, new D.RenderEditable_nextCharacter_closure(t1, index, includeWhitespace)).string.length;
    },
    RenderEditable_previousCharacter: function(index, string, includeWhitespace) {
      var t1, t2, t3, count, lastNonWhitespace, currentString, t4, count0;
      if (index === 0)
        return 0;
      for (t1 = new T.StringCharacterRange(string, 0, 0), t2 = !includeWhitespace, t3 = J.getInterceptor$s(string), count = 0, lastNonWhitespace = null; t1._advanceEnd$2(1, t1._characters_impl$_end); count = count0) {
        currentString = t1._currentCache;
        if (currentString == null)
          currentString = t1._currentCache = t3.substring$2(string, t1._characters_impl$_start, t1._characters_impl$_end);
        if (t2) {
          t4 = currentString.length;
          t4 = !D._isWhitespace(C.JSString_methods._codeUnitAt$1(t4 === 0 ? H.throwExpression(P.StateError$("No element")) : C.JSString_methods.substring$2(currentString, 0, new A.Breaks(currentString, t4, 0, 176).nextBreak$0()), 0));
        } else
          t4 = false;
        if (t4)
          lastNonWhitespace = count;
        count0 = count + currentString.length;
        if (count0 >= index) {
          if (includeWhitespace)
            t1 = count;
          else
            t1 = lastNonWhitespace == null ? 0 : lastNonWhitespace;
          return t1;
        }
      }
      return 0;
    },
    RenderEditable__moveGivenSelectionLeft: function(selection, text) {
      var previousExtent = selection.start,
        t1 = previousExtent == selection.end;
      if (t1 && selection.extentOffset <= 0)
        return selection;
      return X.TextSelection$fromPosition(new P.TextPosition(selection.copyWith$1$extentOffset(!t1 ? previousExtent : D.RenderEditable_previousCharacter(selection.extentOffset, text, true)).extentOffset, C.TextAffinity_1));
    },
    RenderEditable__moveGivenSelectionRight: function(selection, text) {
      var nextSelection, newOffset, newOffset0,
        nextExtent = selection.end,
        t1 = selection.start == nextExtent;
      if (t1 && selection.extentOffset >= text.length)
        return selection;
      nextSelection = selection.copyWith$1$extentOffset(!t1 ? nextExtent : D.RenderEditable_nextCharacter(selection.extentOffset, text, true));
      newOffset = nextSelection.baseOffset;
      newOffset0 = nextSelection.extentOffset;
      return X.TextSelection$fromPosition(new P.TextPosition(newOffset > newOffset0 ? newOffset : newOffset0, C.TextAffinity_1));
    },
    RenderEditable__getLeftByWord: function(textPainter, offset, includeWhitespace) {
      var startPoint;
      if (offset <= 0)
        return offset;
      if (offset === 1)
        return 0;
      startPoint = D.RenderEditable_previousCharacter(offset, textPainter._text_painter$_text.toPlainText$0(), false);
      return textPainter._text_painter$_paragraph.getWordBoundary$1(0, new P.TextPosition(startPoint, C.TextAffinity_1)).start;
    },
    RenderEditable__getRightByWord: function(textPainter, offset, includeWhitespace) {
      var startPoint,
        text = textPainter._text_painter$_text.toPlainText$0(),
        t1 = text.length;
      if (offset === t1)
        return offset;
      if (offset === t1 - 1 || false)
        return t1;
      t1 = D._isWhitespace(C.JSString_methods.codeUnitAt$1(text, offset));
      startPoint = !t1 ? offset : D.RenderEditable_nextCharacter(offset, text, false);
      return textPainter._text_painter$_paragraph.getWordBoundary$1(0, new P.TextPosition(startPoint, C.TextAffinity_1)).end;
    },
    RenderEditable__extendGivenSelectionLeftByWord: function(textPainter, selection, includeWhitespace, stopAtReversal) {
      var t1, leftOffset, t2;
      if (selection.start == selection.end && selection.extentOffset <= 0)
        return selection;
      t1 = selection.extentOffset;
      leftOffset = D.RenderEditable__getLeftByWord(textPainter, t1, false);
      if (stopAtReversal) {
        t2 = selection.baseOffset;
        t1 = t1 > t2 && leftOffset < t2;
      } else
        t1 = false;
      if (t1)
        return selection.copyWith$1$extentOffset(selection.baseOffset);
      return selection.copyWith$1$extentOffset(leftOffset);
    },
    RenderEditable__extendGivenSelectionRightByWord: function(textPainter, selection, includeWhitespace, stopAtReversal) {
      var t1, rightOffset, t2,
        text = textPainter._text_painter$_text.toPlainText$0();
      if (selection.start == selection.end && selection.extentOffset === text.length)
        return selection;
      t1 = selection.extentOffset;
      rightOffset = D.RenderEditable__getRightByWord(textPainter, t1, false);
      if (stopAtReversal) {
        t2 = selection.baseOffset;
        t1 = t2 > t1 && rightOffset > t2;
      } else
        t1 = false;
      if (t1)
        return selection.copyWith$1$extentOffset(selection.baseOffset);
      return selection.copyWith$1$extentOffset(rightOffset);
    },
    RenderEditable__moveGivenSelectionLeftByWord: function(textPainter, selection, includeWhitespace) {
      var leftOffset;
      if (selection.start == selection.end && selection.extentOffset <= 0)
        return selection;
      leftOffset = D.RenderEditable__getLeftByWord(textPainter, selection.extentOffset, false);
      return selection.copyWith$2$baseOffset$extentOffset(leftOffset, leftOffset);
    },
    RenderEditable__moveGivenSelectionRightByWord: function(textPainter, selection, includeWhitespace) {
      var rightOffset,
        text = textPainter._text_painter$_text.toPlainText$0();
      if (selection.start == selection.end && selection.extentOffset === text.length)
        return selection;
      rightOffset = D.RenderEditable__getRightByWord(textPainter, selection.extentOffset, false);
      return selection.copyWith$2$baseOffset$extentOffset(rightOffset, rightOffset);
    },
    RenderEditable__extendGivenSelectionLeft: function(selection, text) {
      var t1 = selection.extentOffset;
      if (t1 <= 0)
        return selection;
      return selection.copyWith$1$extentOffset(D.RenderEditable_previousCharacter(t1, text, true));
    },
    RenderEditable__extendGivenSelectionRight: function(selection, text) {
      var t1 = selection.extentOffset;
      if (t1 >= text.length)
        return selection;
      return selection.copyWith$1$extentOffset(D.RenderEditable_nextCharacter(t1, text, true));
    },
    _RenderEditableCustomPaint$: function(painter) {
      var t1 = new D._RenderEditableCustomPaint(painter);
      t1.get$isRepaintBoundary();
      t1.__RenderObject__needsCompositing = true;
      return t1;
    },
    _TextHighlightPainter$: function() {
      var t1 = H._detectRenderer();
      t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      return new D._TextHighlightPainter(t1, C.BoxHeightStyle_0, C.BoxWidthStyle_0, P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    TextSelectionPoint: function TextSelectionPoint(t0, t1) {
      this.point = t0;
      this.direction = t1;
    },
    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) {
      var _ = this;
      _._editable$_painter = _._editable$_foregroundPainter = _._backgroundRenderObject = _._foregroundRenderObject = null;
      _.__RenderEditable__caretPainter = $;
      _._selectionPainter = t0;
      _._autocorrectHighlightPainter = t1;
      _._lastCaretRect = _._textLayoutLastMinWidth = _._textLayoutLastMaxWidth = _._cachedBuiltInPainters = _._cachedBuiltInForegroundPainters = null;
      _.onCaretChanged = t2;
      _.ignorePointer = t3;
      _._editable$_devicePixelRatio = t4;
      _._obscuringCharacter = t5;
      _._obscureText = t6;
      _.textSelectionDelegate = t7;
      _._selectionStartInViewport = t8;
      _._selectionEndInViewport = t9;
      _._cursorResetLocation = -1;
      _._wasSelectingVerticallyWithKeyboard = false;
      _._cachedPlainText = null;
      _._textPainter = t10;
      _._showCursor = t11;
      _._hasFocus = t12;
      _._listenerAttached = false;
      _._forceLine = t13;
      _._readOnly = t14;
      _._editable$_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 = $;
      _._lastSecondaryTapDownPosition = _._lastTapDownPosition = null;
      _.__RenderEditable__caretPrototype = $;
      _._relativeOrigin = t27;
      _._previousOffset = null;
      _._resetOriginOnBottom = _._resetOriginOnTop = _._resetOriginOnRight = _._resetOriginOnLeft = false;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = _._editable$_clipRectLayer = _._resetFloatingCursorAnimationValue = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderEditable_nextCharacter_closure: function RenderEditable_nextCharacter_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.index = t1;
      this.includeWhitespace = t2;
    },
    RenderEditable_describeSemanticsConfiguration_closure: function RenderEditable_describeSemanticsConfiguration_closure() {
    },
    RenderEditable_getRectForComposingRange_closure: function RenderEditable_getRectForComposingRange_closure() {
    },
    _RenderEditableCustomPaint: function _RenderEditableCustomPaint(t0) {
      var _ = this;
      _._editable$_painter = t0;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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() {
    },
    TextEditingController$: function(text) {
      var t1 = text == null ? C.TextEditingValue_8Zw : new N.TextEditingValue(text, C.TextSelection_5Zq, C.TextRange_m1_m1);
      return new D.TextEditingController(t1, P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    EditableText$: function(autocorrect, autocorrectionTextRectColor, autofillHints, autofocus, backgroundCursorColor, controller, cursorColor, cursorHeight, cursorOffset, cursorOpacityAnimates, cursorRadius, cursorWidth, dragStartBehavior, enableInteractiveSelection, enableSuggestions, expands, focusNode, forceLine, inputFormatters, key, keyboardAppearance, keyboardType, maxLines, minLines, mouseCursor, obscureText, obscuringCharacter, onAppPrivateCommand, onChanged, onEditingComplete, onSelectionChanged, onSelectionHandleTapped, onSubmitted, paintCursorAboveText, readOnly, rendererIgnoresPointer, restorationId, 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 = C.SmartDashesType_1;
      else
        t1 = smartDashesType;
      if (smartQuotesType == null)
        t2 = C.SmartQuotesType_1;
      else
        t2 = smartQuotesType;
      t3 = keyboardType == null ? D.EditableText__inferKeyboardType(autofillHints, maxLines) : keyboardType;
      if (maxLines === 1) {
        t4 = H._setArrayType([$.$get$FilteringTextInputFormatter_singleLineFormatter()], type$.JSArray_TextInputFormatter);
        C.JSArray_methods.addAll$1(t4, inputFormatters == null ? C.C_EmptyIterable : inputFormatters);
      } else
        t4 = inputFormatters;
      return new D.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, true, dragStartBehavior, scrollController, scrollPhysics, autofillHints, restorationId, key);
    },
    EditableText__inferKeyboardType: function(autofillHints, maxLines) {
      return maxLines === 1 ? C.TextInputType_0_null_null : C.TextInputType_1_null_null;
    },
    TextEditingController: function TextEditingController(t0, t1) {
      var _ = this;
      _._value = t0;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    ToolbarOptions: function ToolbarOptions(t0, t1, t2) {
      this.copy = t0;
      this.cut = t1;
      this.paste = t2;
    },
    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) {
      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;
      _.autofillHints = t55;
      _.restorationId = t56;
      _.key = t57;
    },
    EditableTextState: function EditableTextState(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._cursorTimer = null;
      _._targetCursorVisibility = false;
      _._cursorVisibilityNotifier = t0;
      _._editableKey = t1;
      _._scrollController = _._selectionOverlay = _._textInputConnection = null;
      _.__EditableTextState__cursorBlinkOpacityController = $;
      _._toolbarLayerLink = t2;
      _._startHandleLayerLink = t3;
      _._endHandleLayerLink = t4;
      _._didAutoFocus = false;
      _._currentAutofillScope = _._editable_text$_focusAttachment = null;
      _._isInAutofillContext = false;
      _.__EditableTextState__floatingCursorResetController = $;
      _._lastBoundedOffset = _._pointOffsetOrigin = _._lastTextPosition = _._startCaretRect = _._lastKnownRemoteTextEditingValue = null;
      _._batchEditDepth = 0;
      _._currentCaretRect = null;
      _._showCaretOnScreenScheduled = false;
      _.__EditableTextState__lastBottomViewInset = $;
      _._obscureShowCharTicksPending = 0;
      _._currentPromptRectRange = _._obscureLatestCharIndex = null;
      _.TickerProviderStateMixin__tickers = t5;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t6;
      _._widget = null;
      _._debugLifecycleState = t7;
      _._framework$_element = null;
    },
    EditableTextState_initState_closure: function EditableTextState_initState_closure(t0) {
      this.$this = t0;
    },
    EditableTextState_didChangeDependencies_closure: function EditableTextState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    EditableTextState__scheduleShowCaretOnScreen_closure: function EditableTextState__scheduleShowCaretOnScreen_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__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_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_build_closure: function EditableTextState_build_closure(t0, t1) {
      this.$this = t0;
      this.controls = t1;
    },
    _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) {
      var _ = this;
      _.textSpan = 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;
      _.key = t39;
    },
    _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() {
    },
    GestureDetector$: function(behavior, child, dragStartBehavior, excludeFromSemantics, key, onDoubleTap, onHorizontalDragCancel, onHorizontalDragDown, onHorizontalDragEnd, onHorizontalDragStart, onHorizontalDragUpdate, onLongPress, onPanDown, onPanEnd, onPanStart, onPanUpdate, onTap, onTapCancel, onTapDown, onTapUp, onVerticalDragEnd, onVerticalDragStart, onVerticalDragUpdate) {
      return new D.GestureDetector(child, onTapDown, onTapUp, onTap, onTapCancel, onDoubleTap, onLongPress, onVerticalDragStart, onVerticalDragUpdate, onVerticalDragEnd, onHorizontalDragDown, onHorizontalDragStart, onHorizontalDragUpdate, onHorizontalDragEnd, onHorizontalDragCancel, onPanDown, onPanStart, 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, t22) {
      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;
      _.onPanStart = t16;
      _.onPanUpdate = t17;
      _.onPanEnd = t18;
      _.behavior = t19;
      _.excludeFromSemantics = t20;
      _.dragStartBehavior = t21;
      _.key = t22;
    },
    GestureDetector_build_closure: function GestureDetector_build_closure(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure0: function GestureDetector_build_closure0(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure1: function GestureDetector_build_closure1(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure2: function GestureDetector_build_closure2(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure3: function GestureDetector_build_closure3(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure4: function GestureDetector_build_closure4(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure5: function GestureDetector_build_closure5(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure6: function GestureDetector_build_closure6(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure7: function GestureDetector_build_closure7(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure8: function GestureDetector_build_closure8(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure9: function GestureDetector_build_closure9(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure10: function GestureDetector_build_closure10(t0) {
      this.$this = t0;
    },
    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;
    },
    PageController$: function(initialPage) {
      return new D.PageController(initialPage, 0, H._setArrayType([], type$.JSArray_ScrollPosition), P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    PageController: function PageController(t0, t1, t2, t3) {
      var _ = this;
      _.initialPage = t0;
      _._initialScrollOffset = t1;
      _._positions = t2;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t3;
      _.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;
      _._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;
      _._semanticActions = _._lastAxis = _._scroll_position$_lastMetrics = 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) {
      var _ = this;
      _.controller = t0;
      _.physics = t1;
      _.childrenDelegate = t2;
      _.dragStartBehavior = t3;
      _.key = t4;
    },
    _PageViewState: function _PageViewState(t0) {
      var _ = this;
      _._lastReportedPage = 0;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _PageViewState_build_closure0: function _PageViewState_build_closure0(t0) {
      this.$this = t0;
    },
    _PageViewState_build_closure: function _PageViewState_build_closure(t0, t1) {
      this.$this = t0;
      this.axisDirection = t1;
    },
    Registrar: function Registrar() {
    },
    Registrar_send_closure: function Registrar_send_closure(t0) {
      this.completer = t0;
    },
    PluginRegistry: function PluginRegistry(t0) {
      this._handlers = t0;
    },
    InternalExrB44Compressor: function InternalExrB44Compressor(t0, t1) {
      var _ = this;
      _._numScanLines = t0;
      _.decodedHeight = _.decodedWidth = 0;
      _._exr_compressor$_header = t1;
    },
    ExrChannel: function ExrChannel() {
      var _ = this;
      _.name = null;
      _.__ExrChannel_ySampling = _.__ExrChannel_xSampling = _.__ExrChannel_size = _.__ExrChannel_type = $;
    },
    JpegAdobe: function JpegAdobe() {
      this.transformCode = this.version = null;
    },
    PngFrame: function PngFrame() {
    },
    InternalPngFrame: function InternalPngFrame(t0) {
      var _ = this;
      _.dispose = _.height = _.width = null;
      _._fdat = t0;
    },
    PsdInnerGlowEffect: function PsdInnerGlowEffect() {
      this.enabled = this.version = null;
    },
    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;
    },
    SingleChildStatelessElement$: function(widget) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new D.SingleChildStatelessElement(null, t1, widget, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
    },
    Nested: function Nested() {
    },
    _NestedElement: function _NestedElement(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.nodes = t0;
      _.SingleChildWidgetElementMixin__parent = t1;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t2;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t3;
      _._owner = null;
      _._lifecycleState = t4;
      _._debugForgottenChildrenWithGlobalKey = t5;
      _._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, t2, t3) {
      var _ = this;
      _._framework$_parent = _._framework$_child = _._wrappedChild = _._injectedChild = null;
      _._cachedHash = t0;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._owner = null;
      _._lifecycleState = t2;
      _._debugForgottenChildrenWithGlobalKey = t3;
      _._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, t3, t4) {
      var _ = this;
      _.SingleChildWidgetElementMixin__parent = t0;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._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() {
    },
    SourceLocationMixin: function SourceLocationMixin() {
    },
    UrlLauncherPlatform: function UrlLauncherPlatform() {
    },
    ProgramInfo_ProgramInfo: function() {
      var unknown,
        _s8_ = "@unknown",
        t1 = type$.legacy_String,
        t2 = type$.legacy_ProgramInfoNode,
        t3 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        root = new D.ProgramInfoNode(0, "@shared", null, t3, 1),
        stubs = new D.ProgramInfoNode(1, "@stubs", root, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), 1);
      t3.$indexSet(0, "@stubs", stubs);
      unknown = new D.ProgramInfoNode(2, _s8_, root, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), 1);
      t3.$indexSet(0, _s8_, unknown);
      return new D.ProgramInfo(root, stubs, unknown);
    },
    computeDiff: function(oldInfo, newInfo) {
      var programDiff = D.ProgramInfo_ProgramInfo();
      new D.computeDiff_recurse(programDiff, H._setArrayType([], type$.JSArray_legacy_Object)).call$2(oldInfo.root, newInfo.root);
      return programDiff;
    },
    packageOf: function(lib) {
      if (J.startsWith$1$s(lib, "package:"))
        return C.JSString_methods.substring$2(lib, 0, C.JSString_methods.indexOf$1(lib, "/"));
      else
        return lib;
    },
    ProgramInfo: function ProgramInfo(t0, t1, t2) {
      var _ = this;
      _.root = t0;
      _.stubs = t1;
      _.unknown = t2;
      _._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._program_info$_name = t1;
    },
    ProgramInfoNode: function ProgramInfoNode(t0, t1, t2, t3, t4) {
      var _ = this;
      _.id = t0;
      _.name = t1;
      _.parent = t2;
      _.children = t3;
      _._program_info$_type = t4;
      _.size = null;
    },
    computeDiff_recurse: function computeDiff_recurse(t0, t1) {
      this.programDiff = t0;
      this.path = t1;
    },
    LinkViewController__viewFactory: function(viewId) {
      $.LinkViewController__instances.$index(0, viewId);
      return null;
    },
    debugPrintThrottled: function(message, wrapWidth) {
      var messageLines = H._setArrayType(message.split("\n"), type$.JSArray_String);
      $.$get$_debugPrintBuffer().addAll$1(0, messageLines);
      if (!$._debugPrintScheduled)
        D._debugPrintTask();
    },
    _debugPrintTask: function() {
      var line, toZone,
        t1 = $._debugPrintScheduled = false,
        t2 = $.$get$_debugPrintStopwatch();
      if (P.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;
        line = J.toString$0$(line);
        toZone = $.printToZone;
        if (toZone == null)
          H.printString(line);
        else
          toZone.call$1(line);
      }
      t1 = $.$get$_debugPrintBuffer();
      if (!t1.get$isEmpty(t1)) {
        $._debugPrintScheduled = true;
        $._debugPrintedCharacters = 0;
        P.Timer_Timer(C.Duration_1000000, D.print___debugPrintTask$closure());
        if ($._debugPrintCompleter == null)
          $._debugPrintCompleter = new P._AsyncCompleter(new P._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;
      }
    },
    current: function() {
      var exception, t1, path, lastIndex, uri = null;
      try {
        uri = P.Uri_base();
      } catch (exception) {
        if (type$.Exception._is(H.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 : C.JSString_methods.substring$2(path, 0, lastIndex);
      }
      t1.toString;
      return t1;
    }
  },
  E = {
    CancelableOperation_CancelableOperation$fromFuture: function(inner, $T) {
      var completer = E.CancelableCompleter$(null, $T);
      completer.complete$1(0, inner);
      return completer.get$operation();
    },
    CancelableCompleter$: function(onCancel, $T) {
      var t1 = $.Zone__current;
      return new E.CancelableCompleter(new P._AsyncCompleter(new P._Future(t1, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncCompleter<0>")), onCancel, new S.AsyncMemoizer(new P._AsyncCompleter(new P._Future(t1, type$._Future_dynamic), type$._AsyncCompleter_dynamic), type$.AsyncMemoizer_dynamic), $T._eval$1("CancelableCompleter<0>"));
    },
    CancelableOperation: function CancelableOperation(t0, t1) {
      this._cancelable_operation$_completer = t0;
      this.$ti = t1;
    },
    CancelableOperation_valueOrCancellation_closure: function CancelableOperation_valueOrCancellation_closure(t0, t1) {
      this.$this = t0;
      this.completer = t1;
    },
    CancelableOperation_valueOrCancellation_closure0: function CancelableOperation_valueOrCancellation_closure0(t0, t1) {
      this.completer = t0;
      this.cancellationValue = t1;
    },
    CancelableOperation_then_closure: function CancelableOperation_then_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.completer = t1;
      _.onValue = t2;
      _.onCancel = t3;
      _.R = t4;
    },
    CancelableOperation_then__closure: function CancelableOperation_then__closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.onValue = t1;
      _.result = t2;
      _.R = t3;
    },
    CancelableOperation_then_closure0: function CancelableOperation_then_closure0(t0, t1, t2) {
      this.completer = t0;
      this.onError = t1;
      this.R = t2;
    },
    CancelableCompleter: function CancelableCompleter(t0, t1, t2, t3) {
      var _ = this;
      _._cancelable_operation$_inner = t0;
      _._cancelable_operation$_onCancel = t1;
      _.__CancelableCompleter_operation = $;
      _._isCanceled = _._isCompleted = false;
      _._cancelMemo = t2;
      _.$ti = t3;
    },
    CancelableCompleter_complete_closure: function CancelableCompleter_complete_closure() {
    },
    CancelableCompleter_complete_closure0: function CancelableCompleter_complete_closure0(t0) {
      this.$this = t0;
    },
    CancelableCompleter_complete_closure1: function CancelableCompleter_complete_closure1(t0) {
      this.$this = t0;
    },
    CancelableCompleter__cancel_closure: function CancelableCompleter__cancel_closure(t0) {
      this.$this = t0;
    },
    Treemap$fromRoot: function(height, isOutermostLevel, levelsVisible, onRootChangedCallback, rootNode, width) {
      return new E.Treemap(rootNode, null, levelsVisible, isOutermostLevel, width, height, onRootChangedCallback, null);
    },
    PositionedCell$: function(child, node, rect) {
      var t1 = rect.top,
        t2 = rect.left;
      return new E.PositionedCell(rect, node, t2, t1, null, null, rect.right - t2, rect.bottom - t1, child, null);
    },
    PivotType: function PivotType(t0, t1) {
      this.index = t0;
      this._treemap0$_name = t1;
    },
    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__closure: function _TreemapState_buildSubTreemaps__closure(t0, t1) {
      this.$this = t0;
      this.positionedChildren = t1;
    },
    _TreemapState_buildSubTreemaps__closure0: function _TreemapState_buildSubTreemaps__closure0(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;
      _._trees$_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;
    },
    Notification: function Notification() {
      this._impl = null;
    },
    BreakpointAndSourcePosition_BreakpointAndSourcePosition$create: function(breakpoint, sourcePosition) {
      var t1 = breakpoint.location;
      if (t1 instanceof Q.SourceLocation0)
        return new E._BreakpointAndSourcePositionResolved(t1, breakpoint, sourcePosition);
      else if (t1 instanceof Q.UnresolvedSourceLocation)
        return new E._BreakpointAndSourcePositionUnresolved(t1, breakpoint, sourcePosition);
      else
        throw H.wrapException("invalid value for breakpoint.location");
    },
    Variable_Variable$fromRef: function(value) {
      return new E.Variable(null, new Q.BoundVariable("", value, -1, -1, -1, null), H._setArrayType([], type$.JSArray_legacy_Variable));
    },
    FileNode_createRootsFrom: function(scripts) {
      var t1, _i, script, directoryParts, t2, node, _i0,
        root = new E.FileNode("<root>", P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_FileNode), H._setArrayType([], type$.JSArray_legacy_FileNode));
      for (t1 = scripts.length, _i = 0; _i < scripts.length; scripts.length === t1 || (0, H.throwConcurrentModificationError)(scripts), ++_i) {
        script = scripts[_i];
        directoryParts = E.ScriptRefUtils_splitDirectoryParts(script);
        for (t2 = directoryParts.length, node = root, _i0 = 0; _i0 < directoryParts.length; directoryParts.length === t2 || (0, H.throwConcurrentModificationError)(directoryParts), ++_i0)
          node = node._getCreateChild$1(directoryParts[_i0]);
        node.scriptRef = script;
        t2 = P.Uri_parse(script.get$uri(), 0, null);
        node._fileName = C.JSArray_methods.get$last(t2.get$path(t2).split("/"));
      }
      root._trimChildrenAsMapEntries$0();
      return root.children;
    },
    ScriptRefUtils_splitDirectoryParts: function(scriptRef) {
      var dottedParts,
        uri = P.Uri_parse(scriptRef.get$uri(), 0, null),
        scheme = uri.get$scheme(),
        parts = H._setArrayType(uri.get$path(uri).split("/"), type$.JSArray_String),
        t1 = C.JSArray_methods.get$first(parts);
      t1.toString;
      if (J.get$length$asx(t1) === 0) {
        t1 = type$.WhereIterable_String;
        parts = P.List_List$of(new H.WhereIterable(parts, new E.ScriptRefUtils_splitDirectoryParts_closure(), t1), true, t1._eval$1("Iterable.E"));
        t1 = H._setArrayType([scheme + ":" + H.S(C.JSArray_methods.get$first(parts))], type$.JSArray_legacy_String);
        C.JSArray_methods.addAll$1(t1, C.JSArray_methods.sublist$1(parts, 1));
        parts = t1;
      } else {
        t1 = type$.JSArray_legacy_String;
        if (J.contains$1$asx(C.JSArray_methods.get$first(parts), ".")) {
          dottedParts = J.split$1$s(C.JSArray_methods.get$first(parts), ".");
          t1 = H._setArrayType([scheme + ":" + H.S(C.JSArray_methods.get$first(dottedParts))], t1);
          C.JSArray_methods.addAll$1(t1, C.JSArray_methods.sublist$1(dottedParts, 1));
          C.JSArray_methods.addAll$1(t1, C.JSArray_methods.sublist$1(parts, 1));
          parts = t1;
        } else {
          t1 = H._setArrayType([scheme + ":" + H.S(C.JSArray_methods.get$first(parts))], t1);
          C.JSArray_methods.addAll$1(t1, C.JSArray_methods.sublist$1(parts, 1));
          parts = t1;
        }
      }
      if (parts.length > 1)
        return H._setArrayType([C.JSArray_methods.get$first(parts), C.JSArray_methods.join$1(C.JSArray_methods.sublist$1(parts, 1), "/")], type$.JSArray_legacy_String);
      else
        return parts;
    },
    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;
    },
    Variable: function Variable(t0, t1, t2) {
      var _ = this;
      _.text = t0;
      _.boundVar = t1;
      _.treeInitialized = false;
      _.parent = null;
      _.children = t2;
      _.index = -1;
      _._trees$_depth = 0;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    FileNode: function FileNode(t0, t1, t2) {
      var _ = this;
      _.name = t0;
      _.scriptRef = null;
      _._childrenAsMap = t1;
      _._fileName = "";
      _.parent = null;
      _.children = t2;
      _.index = -1;
      _._trees$_depth = 0;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    FileNode__getCreateChild_closure: function FileNode__getCreateChild_closure(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    ScriptRefUtils_splitDirectoryParts_closure: function ScriptRefUtils_splitDirectoryParts_closure() {
    },
    _SourceToken_Object_DataSearchStateMixin: function _SourceToken_Object_DataSearchStateMixin() {
    },
    HttpRequestData__parseCookies: function(cookies) {
      if (cookies == null)
        return H._setArrayType([], type$.JSArray_legacy_Cookie);
      return J.map$1$1$ax(cookies, new E.HttpRequestData__parseCookies_closure(), type$.legacy_Cookie).toList$0(0);
    },
    TimelineHttpRequestData_TimelineHttpRequestData$fromTimeline: function(requestEvents, responseEvents, timelineMicrosBase) {
      var encodedData, t1, requestStartEvent, requestEndEvent, traceEvent, t2, t3, _i, exception, data, responseBody = null,
        requestInstantEvents = H._setArrayType([], type$.JSArray_legacy_TraceEvent);
      for (t1 = J.get$iterator$ax(requestEvents), requestStartEvent = null, requestEndEvent = null; t1.moveNext$0();) {
        traceEvent = L.TraceEvent$(t1.get$current(t1));
        t2 = traceEvent.phase;
        if (t2 === "b")
          requestStartEvent = traceEvent;
        else if (t2 === "e")
          requestEndEvent = traceEvent;
        else if (t2 === "n")
          requestInstantEvents.push(traceEvent);
      }
      encodedData = H._setArrayType([], type$.JSArray_legacy_int);
      for (t1 = responseEvents.length, t2 = type$.legacy_List_dynamic, t3 = type$.legacy_int, _i = 0; _i < responseEvents.length; responseEvents.length === t1 || (0, H.throwConcurrentModificationError)(responseEvents), ++_i) {
        traceEvent = L.TraceEvent$(responseEvents[_i]);
        if (traceEvent.phase === "n" && traceEvent.name === "Response body")
          J.addAll$1$ax(encodedData, J.cast$1$0$ax(t2._as(J.$index$asx(traceEvent.args, "data")), t3));
      }
      try {
        if (J.get$length$asx(encodedData) !== 0)
          responseBody = C.Utf8Codec_false.decode$1(0, encodedData);
      } catch (exception) {
        if (!type$.legacy_FormatException._is(H.unwrapException(exception)))
          throw exception;
      }
      data = new E.TimelineHttpRequestData(requestStartEvent, requestEndEvent, responseBody, H._setArrayType([], type$.JSArray_legacy_HttpInstantEvent), timelineMicrosBase, false, false);
      data._addInstantEvents$1(new H.MappedListIterable(requestInstantEvents, new E.TimelineHttpRequestData_TimelineHttpRequestData$fromTimeline_closure(), type$.MappedListIterable_of_legacy_TraceEvent_and_legacy_HttpInstantEvent));
      return data;
    },
    TimelineHttpInstantEvent: function TimelineHttpInstantEvent(t0) {
      this._http_request_data$_event = t0;
      this._timeRange = null;
    },
    DartIOHttpInstantEvent: function DartIOHttpInstantEvent(t0) {
      this._http_request_data$_event = t0;
      this._timeRange = null;
    },
    HttpInstantEvent: function HttpInstantEvent() {
    },
    HttpRequestData: function HttpRequestData() {
    },
    HttpRequestData__parseCookies_closure: function HttpRequestData__parseCookies_closure() {
    },
    TimelineHttpRequestData: function TimelineHttpRequestData(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._startEvent = t0;
      _._endEvent = t1;
      _.responseBody = t2;
      _._instantEvents = t3;
      _._general = null;
      _._timelineMicrosBase = t4;
      _.DataSearchStateMixin_isSearchMatch = t5;
      _.DataSearchStateMixin_isActiveSearchMatch = t6;
    },
    TimelineHttpRequestData_TimelineHttpRequestData$fromTimeline_closure: function TimelineHttpRequestData_TimelineHttpRequestData$fromTimeline_closure() {
    },
    DartIOHttpRequestData: function DartIOHttpRequestData(t0, t1, t2, t3) {
      var _ = this;
      _._request = t0;
      _._responseBody = _._instantEvents = null;
      _._timelineMicrosBase = t1;
      _.DataSearchStateMixin_isSearchMatch = t2;
      _.DataSearchStateMixin_isActiveSearchMatch = t3;
    },
    DartIOHttpRequestData_getFullRequestData_closure: function DartIOHttpRequestData_getFullRequestData_closure(t0) {
      this.$this = t0;
    },
    HttpService_toggleHttpRequestLogging: function(state) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$HttpService_toggleHttpRequestLogging = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.forEachIsolate$1(new E.HttpService_toggleHttpRequestLogging_closure(state)), $async$HttpService_toggleHttpRequestLogging);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$HttpService_toggleHttpRequestLogging, $async$completer);
    },
    HttpService_toggleHttpRequestLogging_closure: function HttpService_toggleHttpRequestLogging_closure(t0) {
      this.state = t0;
    },
    InspectorService$: function(vmService, inspectorLibrary, supportedServiceMethods) {
      var t1 = new E.InspectorService(vmService, P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_InspectorServiceClient), inspectorLibrary, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_InspectorInstanceRef, type$.legacy_List_legacy_int), new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_String), P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_List_legacy_String), P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_ClassRef), K.Disposer$());
      t1.InspectorService$3(vmService, inspectorLibrary, supportedServiceMethods);
      return t1;
    },
    InspectorService_create: function(vmService) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InspectorService),
        $async$returnValue, inspectorLibrary, supportedServiceMethods, $async$temp1, $async$temp2;
      var $async$InspectorService_create = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              inspectorLibrary = B.EvalOnDartLibrary$(C.List_BmV, vmService, true);
              $async$temp1 = E;
              $async$temp2 = inspectorLibrary;
              $async$goto = 5;
              return P._asyncAwait(inspectorLibrary._libraryRef.future.catchError$2$test(new E.InspectorService_create_closure(), new E.InspectorService_create_closure0()), $async$InspectorService_create);
            case 5:
              // returning from await.
              $async$goto = 4;
              return P._asyncAwait($async$temp2.getObjHelper$1$2($async$result, null, type$.legacy_Library), $async$InspectorService_create);
            case 4:
              // returning from await.
              $async$goto = 3;
              return P._asyncAwait(new $async$temp1.InspectorService_create_lookupFunctionNames($async$result, inspectorLibrary).call$0(), $async$InspectorService_create);
            case 3:
              // returning from await.
              supportedServiceMethods = $async$result;
              if (supportedServiceMethods == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = E.InspectorService$(vmService, inspectorLibrary, supportedServiceMethods);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$InspectorService_create, $async$completer);
    },
    ObjectGroup$: function(debugName, inspectorService) {
      var t1 = debugName + "_" + $.InspectorService_nextGroupId;
      $.InspectorService_nextGroupId = $.InspectorService_nextGroupId + 1;
      return new E.ObjectGroup(t1, inspectorService);
    },
    RegistrableServiceExtension: function RegistrableServiceExtension(t0) {
      this.name = t0;
    },
    InspectorService: function InspectorService(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.vmService = t0;
      _.clients = t1;
      _.inspectorLibrary = t2;
      _._expectedSelectionChanges = t3;
      _._rootDirectories = t4;
      _._rootPackagePrefixes = _._rootPackages = null;
      _.localClasses = t5;
      _._cachedSelectionGroups = _._currentSelection = null;
      _.AutoDisposeControllerMixin__delegate = t6;
    },
    InspectorService_closure: function InspectorService_closure(t0) {
      this.$this = t0;
    },
    InspectorService_create_closure: function InspectorService_create_closure() {
    },
    InspectorService_create_closure0: function InspectorService_create_closure0() {
    },
    InspectorService_create_lookupFunctionNames: function InspectorService_create_lookupFunctionNames(t0, t1) {
      this.library = t0;
      this.inspectorLibrary = t1;
    },
    InspectorService__trackClientSelfTriggeredSelection_closure: function InspectorService__trackClientSelfTriggeredSelection_closure() {
    },
    InspectorService__onRootDirectoriesChanged_closure: function InspectorService__onRootDirectoriesChanged_closure() {
    },
    InspectorService_isLocalUri_closure: function InspectorService_isLocalUri_closure(t0) {
      this.packageName = t0;
    },
    ObjectGroup: function ObjectGroup(t0, t1) {
      this.groupName = t0;
      this.inspectorService = t1;
      this.disposed = false;
    },
    ObjectGroup__callServiceExtension_closure: function ObjectGroup__callServiceExtension_closure(t0, t1, t2) {
      this.$this = t0;
      this.extension = t1;
      this.args = t2;
    },
    FlutterTreeType: function FlutterTreeType(t0, t1) {
      this.index = t0;
      this._inspector_service$_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;
    },
    FlutterInspectorLibraryNotFound: function FlutterInspectorLibraryNotFound(t0) {
      this.candidateNames = t0;
    },
    _InspectorService_DisposableController_AutoDisposeControllerMixin: function _InspectorService_DisposableController_AutoDisposeControllerMixin() {
    },
    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() {
    },
    _retrieveFullStringValue: function(service, isolateRef, stringRef) {
      var fallback = H.S(stringRef.get$valueAsString(stringRef)) + "...",
        t1 = service == null ? null : service.retrieveFullStringValue$3$onUnavailable(isolateRef.get$id(isolateRef), stringRef, new E._retrieveFullStringValue_closure(fallback));
      return t1 == null ? fallback : t1;
    },
    LoggingController__findFirstSummary: function(node) {
      var t1, t2, _i, summary;
      if (node.getLevelMember$2("level", C.DiagnosticLevel_3) === C.DiagnosticLevel_6)
        return node;
      if (node.get$inlineProperties() != null)
        for (t1 = node.get$inlineProperties(), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          summary = E.LoggingController__findFirstSummary(t1[_i]);
          if (summary != null)
            return summary;
        }
      node._maybePopulateChildren$0();
      if (node._diagnostics_node$_children != null)
        for (node._maybePopulateChildren$0(), t1 = J.get$iterator$ax(node._diagnostics_node$_children); t1.moveNext$0();) {
          summary = E.LoggingController__findFirstSummary(t1.get$current(t1));
          if (summary != null)
            return summary;
        }
      return null;
    },
    _valueAsString: function(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: function(data) {
      return J.map$1$1$ax(J.get$values$x(data), new E.ImageSizesForFrame_from_closure(), type$.legacy_ImageSizesForFrame).toList$0(0);
    },
    _retrieveFullStringValue_closure: function _retrieveFullStringValue_closure(t0) {
      this.fallback = t0;
    },
    LoggingController: function LoggingController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _._filterArgs = t0;
      _._logStatusController = t1;
      _.inspectorService = null;
      _.data = t2;
      _._selectedLog = t3;
      _.objectGroup = null;
      _.AutoDisposeControllerMixin__delegate = t4;
      _.FilterControllerMixin_filteredData = t5;
      _.FilterControllerMixin_activeFilter = t6;
      _.SearchControllerMixin__searchNotifier = t7;
      _.SearchControllerMixin_xPosition = t8;
      _.SearchControllerMixin__searchMatches = t9;
      _.SearchControllerMixin__activeSearchMatch = t10;
      _.SearchControllerMixin_matchIndex = t11;
    },
    LoggingController__handleConnectionStart_closure: function LoggingController__handleConnectionStart_closure() {
    },
    LoggingController__handleConnectionStart_closure0: function LoggingController__handleConnectionStart_closure0() {
    },
    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() {
    },
    CpuProfileData$_: function(profileMetaData, stackFramesJson, stackTraceEvents) {
      var t1 = new E.CpuProfileData(stackFramesJson, stackTraceEvents, profileMetaData, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_CpuStackFrame));
      t1._cpuProfileRoot = E.CpuStackFrame$("Dart", "cpuProfile", "all", profileMetaData, "");
      return t1;
    },
    CpuProfileData_CpuProfileData$parse: function(json) {
      var t3, t4, t5, t6, t7, t8,
        _s16_ = "timeOriginMicros",
        _s16_0 = "timeExtentMicros",
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "stackFrames");
      if (t2 == null) {
        t2 = type$.dynamic;
        t2 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      }
      t2 = C.C_JsonCodec.decode$2$reviver(0, C.C_JsonCodec.encode$2$toEncodable(t2, null), null);
      t3 = t1.$index(json, "traceEvents");
      if (t3 == null)
        t3 = [];
      t3 = J.cast$1$0$ax(t3, type$.legacy_Map_of_legacy_String_and_dynamic);
      t4 = t1.$index(json, "sampleCount");
      if (t4 == null)
        t4 = 0;
      t5 = t1.$index(json, "samplePeriod");
      t6 = t1.$index(json, "stackDepth");
      if (t1.$index(json, _s16_) != null && t1.$index(json, _s16_0) != null) {
        t7 = new B.TimeRange(true);
        t8 = P.Duration$(t1.$index(json, _s16_), 0);
        t7._utils$_start = t8;
        t1 = P.Duration$(J.$add$ansx(t1.$index(json, _s16_), t1.$index(json, _s16_0)), 0);
        t7._utils$_end = t1;
        t1 = t7;
      } else
        t1 = null;
      return E.CpuProfileData$_(new E.CpuProfileMetaData(t4, t5, t6, t1), t2, t3);
    },
    CpuProfileData_CpuProfileData$subProfile: function(superProfile, subTimeRange) {
      var t2, t3, _i, t4, leafId, leafFrameJson, parentId, parentFrameJson,
        t1 = J.where$1$ax(superProfile.stackTraceEvents, new E.CpuProfileData_CpuProfileData$subProfile_closure(subTimeRange)),
        subTraceEvents = P.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E")),
        subStackFramesJson = P.SplayTreeMap$(E.cpu_profile_model__stackFrameIdCompare$closure(), type$.legacy_String, type$.legacy_Map_of_legacy_String_and_dynamic);
      for (t1 = subTraceEvents.length, t2 = superProfile.stackFramesJson, t3 = J.getInterceptor$asx(t2), _i = 0; t4 = subTraceEvents.length, _i < t4; subTraceEvents.length === t1 || (0, H.throwConcurrentModificationError)(subTraceEvents), ++_i) {
        leafId = J.$index$asx(subTraceEvents[_i], "sf");
        leafFrameJson = t3.$index(t2, leafId);
        subStackFramesJson.$indexSet(0, leafId, leafFrameJson);
        parentId = J.$index$asx(leafFrameJson, "parent");
        for (; parentId != null;) {
          parentFrameJson = t3.$index(t2, parentId);
          subStackFramesJson.$indexSet(0, parentId, parentFrameJson);
          parentId = J.$index$asx(parentFrameJson, "parent");
        }
      }
      t1 = superProfile.profileMetaData;
      return E.CpuProfileData$_(new E.CpuProfileMetaData(t4, t1.samplePeriod, t1.stackDepth, subTimeRange), subStackFramesJson, subTraceEvents);
    },
    CpuProfileData_CpuProfileData$empty: function() {
      return E.CpuProfileData_CpuProfileData$parse(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic));
    },
    CpuStackFrame$: function(category, id, $name, profileMetaData, url) {
      return new E.CpuStackFrame(id, $name, category, url, profileMetaData, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_int), false, false, H._setArrayType([], type$.JSArray_legacy_CpuStackFrame));
    },
    stackFrameIdCompare: function(a, b) {
      var aId, bId, error, t1, exception,
        aDashIndex = J.lastIndexOf$1$asx(a, "-"),
        bDashIndex = J.lastIndexOf$1$asx(b, "-");
      try {
        aId = P.int_parse(C.JSString_methods.substring$1(a, aDashIndex + 1), null);
        bId = P.int_parse(C.JSString_methods.substring$1(b, bDashIndex + 1), null);
        t1 = J.compareTo$1$ns(aId, bId);
        return t1;
      } catch (exception) {
        H.unwrapException(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 H.wrapException(error);
      }
    },
    CpuProfileData: function CpuProfileData(t0, t1, t2, t3) {
      var _ = this;
      _.processed = false;
      _._bottomUpRoots = _._callTreeRoots = null;
      _.stackFramesJson = t0;
      _.stackTraceEvents = t1;
      _.profileMetaData = t2;
      _._cpuProfileRoot = null;
      _.stackFrames = t3;
      _.selectedStackFrame = null;
    },
    CpuProfileData_CpuProfileData$subProfile_closure: function CpuProfileData_CpuProfileData$subProfile_closure(t0) {
      this.subTimeRange = t0;
    },
    CpuProfileData_dataForUserTag_closure: function CpuProfileData_dataForUserTag_closure(t0) {
      this.tag = t0;
    },
    CpuProfileMetaData: function CpuProfileMetaData(t0, t1, t2, t3) {
      var _ = this;
      _.sampleCount = t0;
      _.samplePeriod = t1;
      _.stackDepth = t2;
      _.time = t3;
    },
    CpuStackFrame: function CpuStackFrame(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.id = t0;
      _.name = t1;
      _.category = t2;
      _.url = t3;
      _.profileMetaData = t4;
      _._userTagSampleCount = t5;
      _.exclusiveSampleCount = 0;
      _._selfTime = _._selfTimeRatio = _._totalTime = _._totalTimeRatio = _._inclusiveSampleCount = null;
      _.DataSearchStateMixin_isSearchMatch = t6;
      _.DataSearchStateMixin_isActiveSearchMatch = t7;
      _.parent = null;
      _.children = t8;
      _.index = -1;
      _._trees$_depth = 0;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    CpuStackFrame_incrementTagSampleCount_closure: function CpuStackFrame_incrementTagSampleCount_closure() {
    },
    CpuProfileStore: function CpuProfileStore(t0) {
      this._profiles = t0;
    },
    _CpuStackFrame_TreeNode_DataSearchStateMixin: function _CpuStackFrame_TreeNode_DataSearchStateMixin() {
    },
    _CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin: function _CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin() {
    },
    _CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin: function _CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin() {
    },
    parseSentinel: function(value, $T) {
      if (value == null)
        return new E._$_ResultData(null, $T._eval$1("_$_ResultData<0*>"));
      if ($T._eval$1("0*")._is(value))
        return new E._$_ResultData(value, $T._eval$1("_$_ResultData<0*>"));
      if (value instanceof Q.Sentinel)
        return new E._$_ResultError(new B.SentinelException0(value), P.StackTrace_current(), $T._eval$1("_$_ResultError<0*>"));
      return new E._$_ResultError(value, P.StackTrace_current(), $T._eval$1("_$_ResultError<0*>"));
    },
    Result: function Result() {
    },
    Result_dataOrThrow_closure: function Result_dataOrThrow_closure(t0) {
      this.$this = t0;
    },
    Result_dataOrThrow_closure0: function Result_dataOrThrow_closure0() {
    },
    _$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() {
    },
    ToggleableServiceExtensionDescription$_: function(description, disabledTooltip, disabledValue, enabledTooltip, enabledValue, extension, gaItem, gaScreenName, icon, shouldCallOnAllIsolates, $T) {
      var t1 = H._setArrayType([enabledTooltip, disabledTooltip], type$.JSArray_legacy_String),
        t2 = [enabledValue, disabledValue],
        t3 = H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,String*>");
      P.List_List$of(new H.MappedListIterable(t2, new E.ServiceExtensionDescription_closure(type$.dynamic), t3), true, t3._eval$1("ListIterable.E"));
      return new E.ToggleableServiceExtensionDescription(extension, description, icon, t2, t1, shouldCallOnAllIsolates, $T._eval$1("ToggleableServiceExtensionDescription<0>"));
    },
    ServiceExtensionDescription$: function(description, displayValues, extension, gaItem, gaScreenName, icon, shouldCallOnAllIsolates, tooltips, values, $T) {
      var t1;
      if (displayValues == null) {
        t1 = H._arrayInstanceType(values)._eval$1("MappedListIterable<1,String*>");
        P.List_List$of(new H.MappedListIterable(values, new E.ServiceExtensionDescription_closure($T), t1), true, t1._eval$1("ListIterable.E"));
      }
      return new E.ServiceExtensionDescription(extension, description, icon, values, tooltips, shouldCallOnAllIsolates, $T._eval$1("ServiceExtensionDescription<0>"));
    },
    ToggleableServiceExtensionDescription: function ToggleableServiceExtensionDescription(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.extension = t0;
      _.description = t1;
      _.icon = t2;
      _.values = t3;
      _.tooltips = t4;
      _.shouldCallOnAllIsolates = t5;
      _.$ti = t6;
    },
    ServiceExtensionDescription: function ServiceExtensionDescription(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.extension = t0;
      _.description = t1;
      _.icon = t2;
      _.values = t3;
      _.tooltips = t4;
      _.shouldCallOnAllIsolates = t5;
      _.$ti = t6;
    },
    ServiceExtensionDescription_closure: function ServiceExtensionDescription_closure(t0) {
      this.T = t0;
    },
    serviceExtensionsAllowlist_closure: function serviceExtensionsAllowlist_closure() {
    },
    serviceExtensionsAllowlist_closure0: function serviceExtensionsAllowlist_closure0() {
    },
    _unsafeBeforeFirstFrameFlutterExtensions_closure: function _unsafeBeforeFirstFrameFlutterExtensions_closure() {
    },
    VMDeveloperView: function VMDeveloperView() {
    },
    VMDeveloperToolsScreen: function VMDeveloperToolsScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.controller = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    VMDeveloperToolsScreenBody: function VMDeveloperToolsScreenBody(t0) {
      this.key = t0;
    },
    _VMDeveloperToolsScreenState: function _VMDeveloperToolsScreenState(t0, t1) {
      var _ = this;
      _.controller = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _VMDeveloperToolsScreenState_build_closure: function _VMDeveloperToolsScreenState_build_closure(t0) {
      this.$this = t0;
    },
    __VMDeveloperToolsScreenState_State_AutoDisposeMixin: function __VMDeveloperToolsScreenState_State_AutoDisposeMixin() {
    },
    HeapSample$: function(timestamp, rss, capacity, used, $external, isGC, adbMemoryInfo, memoryEventInfo, rasterCache) {
      var t1 = adbMemoryInfo == null ? new M.AdbMemoryInfo(0, 0, 0, 0, 0, 0, 0, 0, 0) : adbMemoryInfo,
        t2 = memoryEventInfo == null ? new K.EventSample(-1, false, false, false, new K.AllocationAccumulator(false, false, false), null) : memoryEventInfo;
      return new E.HeapSample(timestamp, rss, capacity, used, $external, isGC, t2, t1, rasterCache == null ? new K.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;
    },
    CupertinoDynamicColor_maybeResolve: function(resolvable, context) {
      if (resolvable == null)
        return null;
      return resolvable instanceof E.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;
      _._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() {
    },
    CupertinoScrollbar: function CupertinoScrollbar(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.thicknessWhileDragging = t0;
      _.radiusWhileDragging = t1;
      _.child = t2;
      _.controller = t3;
      _.isAlwaysShown = t4;
      _.radius = t5;
      _.thickness = t6;
      _.fadeDuration = t7;
      _.timeToFade = t8;
      _.pressDuration = t9;
      _.notificationPredicate = t10;
      _.interactive = t11;
      _.key = t12;
    },
    _CupertinoScrollbarState: function _CupertinoScrollbarState(t0, t1, t2) {
      var _ = this;
      _.___CupertinoScrollbarState__thicknessAnimationController = $;
      _._pressStartAxisPosition = 0;
      _._fadeoutTimer = _._currentController = _._dragScrollbarAxisPosition = null;
      _.__RawScrollbarState__fadeoutOpacityAnimation = _.__RawScrollbarState__fadeoutAnimationController = $;
      _._scrollbarPainterKey = t0;
      _._hoverIsActive = false;
      _.__RawScrollbarState_scrollbarPainter = $;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _CupertinoScrollbarState_initState_closure: function _CupertinoScrollbarState_initState_closure(t0) {
      this.$this = t0;
    },
    _CupertinoScrollbarState_handleThumbPress_closure: function _CupertinoScrollbarState_handleThumbPress_closure() {
    },
    AppBar_preferredHeightFor: function(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) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    MaterialColor: function MaterialColor(t0, t1) {
      this._swatch = t0;
      this.value = t1;
    },
    MaterialAccentColor: function MaterialAccentColor(t0, t1) {
      this._swatch = t0;
      this.value = t1;
    },
    _buildMaterialDialogTransitions: function(context, animation, secondaryAnimation, child) {
      return K.FadeTransition$(false, child, S.CurvedAnimation$(C.Cubic_xDo0, animation, null));
    },
    showDialog: function(barrierDismissible, builder, context, $T) {
      var themes,
        t1 = K.Navigator_of(context, true)._framework$_element;
      t1.toString;
      themes = M.InheritedTheme_capture(context, t1);
      return K.Navigator_of(context, true).push$1(E.DialogRoute$(C.Color_2315255808, barrierDismissible, null, builder, context, null, themes, true, $T));
    },
    DialogRoute$: function(barrierColor, barrierDismissible, barrierLabel, builder, context, settings, themes, useSafeArea, $T) {
      var t2, t3, t4, t5, t6, _null = null,
        t1 = L.Localizations_of(context, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations);
      t1.toString;
      t1 = H._setArrayType([], type$.JSArray_of_Future_bool_Function);
      t2 = $.Zone__current;
      t3 = S.ProxyAnimation$(C.C__AlwaysDismissedAnimation);
      t4 = H._setArrayType([], type$.JSArray_OverlayEntry);
      t5 = P.List_List$filled(0, _null, false, type$.nullable_void_Function);
      t6 = $.Zone__current;
      return new E.DialogRoute(new E.DialogRoute_closure(builder, themes, true), barrierDismissible, "Dismiss", barrierColor, C.Duration_150000, E.dialog___buildMaterialDialogTransitions$closure(), _null, t1, new N.LabeledGlobalKey(_null, $T._eval$1("LabeledGlobalKey<_ModalScopeState<0>>")), new N.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), new S.PageStorageBucket(), _null, new P._AsyncCompleter(new P._Future(t2, $T._eval$1("_Future<0?>")), $T._eval$1("_AsyncCompleter<0?>")), t3, t4, C.RouteSettings_null_null, new B.ValueNotifier(_null, t5, type$.ValueNotifier_nullable_String), new P._AsyncCompleter(new P._Future(t6, $T._eval$1("_Future<0?>")), $T._eval$1("_AsyncCompleter<0?>")), $T._eval$1("DialogRoute<0>"));
    },
    Dialog: function Dialog(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.backgroundColor = t0;
      _.elevation = t1;
      _.insetPadding = t2;
      _.clipBehavior = t3;
      _.shape = t4;
      _.child = t5;
      _.key = t6;
    },
    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) {
      var _ = this;
      _._pageBuilder = t0;
      _._barrierDismissible = t1;
      _._barrierLabel = t2;
      _._barrierColor = t3;
      _._transitionDuration = t4;
      _._transitionBuilder = t5;
      _.filter = t6;
      _._offstage = false;
      _._secondaryAnimationProxy = _._animationProxy = null;
      _._willPopCallbacks = t7;
      _._scopeKey = t8;
      _._subtreeKey = t9;
      _._storageBucket = t10;
      _.__ModalRoute__modalBarrier = $;
      _._modalScopeCache = null;
      _.__ModalRoute__modalScope = $;
      _.LocalHistoryRoute__localHistory = t11;
      _._transitionCompleter = t12;
      _._routes$_controller = _._animation = null;
      _._secondaryAnimation = t13;
      _._trainHoppingListenerRemover = _._result = null;
      _._overlayEntries = t14;
      _._navigator$_navigator = null;
      _._settings = t15;
      _._restorationScopeId = t16;
      _._popCompleter = t17;
      _.$ti = t18;
    },
    DialogRoute_closure: function DialogRoute_closure(t0, t1, t2) {
      this.builder = t0;
      this.themes = t1;
      this.useSafeArea = t2;
    },
    _DefaultHeroTag: function _DefaultHeroTag() {
    },
    FloatingActionButton: function FloatingActionButton(t0, t1, t2, t3) {
      var _ = this;
      _.child = t0;
      _.onPressed = t1;
      _._sizeConstraints = t2;
      _.key = t3;
    },
    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) {
      var _ = this;
      _.___NavigationRailState__extendedAnimation = _.___NavigationRailState__extendedController = _.___NavigationRailState__destinationAnimations = _.___NavigationRailState__destinationControllers = $;
      _.TickerProviderStateMixin__tickers = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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) {
      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;
      _._positionAnimation = t13;
      _.key = t14;
    },
    _RailDestination_build_closure: function _RailDestination_build_closure() {
    },
    NavigationRailLabelType: function NavigationRailLabelType(t0, t1) {
      this.index = t0;
      this._navigation_rail$_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;
    },
    __NavigationRailState_State_TickerProviderStateMixin: function __NavigationRailState_State_TickerProviderStateMixin() {
    },
    NavigationRailThemeData_lerp: function(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t1 ? _null : a.backgroundColor;
      t3 = b == null;
      t2 = P.Color_lerp(t2, t3 ? _null : b.backgroundColor, t);
      t4 = t1 ? _null : a.elevation;
      t4 = P.lerpDouble(t4, t3 ? _null : b.elevation, t);
      t5 = t1 ? _null : a.unselectedLabelTextStyle;
      t5 = A.TextStyle_lerp(t5, t3 ? _null : b.unselectedLabelTextStyle, t);
      t6 = t1 ? _null : a.selectedLabelTextStyle;
      t6 = A.TextStyle_lerp(t6, t3 ? _null : b.selectedLabelTextStyle, t);
      t7 = t1 ? _null : a.unselectedIconTheme;
      t7 = T.IconThemeData_lerp(t7, t3 ? _null : b.unselectedIconTheme, t);
      t8 = t1 ? _null : a.selectedIconTheme;
      t8 = T.IconThemeData_lerp(t8, t3 ? _null : b.selectedIconTheme, t);
      t9 = t1 ? _null : a.groupAlignment;
      t9 = P.lerpDouble(t9, t3 ? _null : b.groupAlignment, t);
      if (t < 0.5)
        t1 = t1 ? _null : a.labelType;
      else
        t1 = t3 ? _null : b.labelType;
      return new E.NavigationRailThemeData(t2, t4, t5, t6, t7, t8, t9, t1);
    },
    NavigationRailThemeData: function NavigationRailThemeData(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.backgroundColor = t0;
      _.elevation = t1;
      _.unselectedLabelTextStyle = t2;
      _.selectedLabelTextStyle = t3;
      _.unselectedIconTheme = t4;
      _.selectedIconTheme = t5;
      _.groupAlignment = t6;
      _.labelType = t7;
    },
    _NavigationRailThemeData_Object_Diagnosticable: function _NavigationRailThemeData_Object_Diagnosticable() {
    },
    Scrollbar$: function(child, controller, isAlwaysShown) {
      return new E.Scrollbar(child, controller, isAlwaysShown, null);
    },
    Scrollbar: function Scrollbar(t0, t1, t2, t3) {
      var _ = this;
      _.child = t0;
      _.controller = t1;
      _.isAlwaysShown = t2;
      _.key = t3;
    },
    _ScrollbarState: function _ScrollbarState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    _MaterialScrollbar: function _MaterialScrollbar(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.showTrackOnHover = t0;
      _.hoverThickness = t1;
      _.child = t2;
      _.controller = t3;
      _.isAlwaysShown = t4;
      _.radius = t5;
      _.thickness = t6;
      _.fadeDuration = t7;
      _.timeToFade = t8;
      _.pressDuration = t9;
      _.notificationPredicate = t10;
      _.interactive = t11;
      _.key = t12;
    },
    _MaterialScrollbarState: function _MaterialScrollbarState(t0, t1, t2) {
      var _ = this;
      _.___MaterialScrollbarState__hoverAnimationController = $;
      _._scrollbar0$_hoverIsActive = _._dragIsActive = false;
      _.___MaterialScrollbarState__useAndroidScrollbar = _.___MaterialScrollbarState__scrollbarTheme = _.___MaterialScrollbarState__colorScheme = $;
      _._fadeoutTimer = _._currentController = _._dragScrollbarAxisPosition = null;
      _.__RawScrollbarState__fadeoutOpacityAnimation = _.__RawScrollbarState__fadeoutAnimationController = $;
      _._scrollbarPainterKey = t0;
      _._hoverIsActive = false;
      _.__RawScrollbarState_scrollbarPainter = $;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _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;
    },
    Tab$: function(child, key) {
      return new E.Tab(null, child, key);
    },
    _TabStyle$: function(animation, child, labelColor, labelStyle, selected, unselectedLabelColor, unselectedLabelStyle) {
      return new E._TabStyle(labelStyle, unselectedLabelStyle, selected, labelColor, unselectedLabelColor, child, animation, null);
    },
    _indexChangeProgress: function(controller) {
      var t2,
        controllerValue = controller.get$animation(controller).get$_animation_controller$_value(),
        t1 = controller._previousIndex;
      t1.toString;
      t2 = controller._tab_controller$_index;
      t2.toString;
      if (controller._indexIsChangingCount === 0)
        return C.JSNumber_methods.clamp$2(Math.abs(t2 - controllerValue), 0, 1);
      return Math.abs(controllerValue - t2) / Math.abs(t2 - t1);
    },
    TabBar$: function(controller, isScrollable, labelColor, tabs) {
      return new E.TabBar(tabs, controller, isScrollable, labelColor, null);
    },
    TabBarView$: function(children, controller, physics) {
      return new E.TabBarView(controller, children, physics, null);
    },
    Tab: function Tab(t0, t1, t2) {
      this.text = t0;
      this.child = t1;
      this.key = t2;
    },
    _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) {
      var _ = this;
      _.onPerformLayout = t0;
      _._flex$_direction = t1;
      _._mainAxisAlignment = t2;
      _._mainAxisSize = t3;
      _._crossAxisAlignment = t4;
      _._flex$_textDirection = t5;
      _._verticalDirection = t6;
      _._flex$_textBaseline = t7;
      _._flex$_overflow = 0;
      _._flex$_clipBehavior = t8;
      _._flex$_clipRectLayer = null;
      _.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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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;
      _._semanticActions = _._lastAxis = _._scroll_position$_lastMetrics = 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() {
    },
    ToggleButtons: function ToggleButtons(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.children = t0;
      _.isSelected = t1;
      _.onPressed = t2;
      _.textStyle = t3;
      _.constraints = t4;
      _.color = t5;
      _.borderRadius = t6;
      _.key = t7;
    },
    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;
    },
    _ToggleButton: function _ToggleButton(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;
      _.selected = t0;
      _.textStyle = t1;
      _.constraints = t2;
      _.color = t3;
      _.selectedColor = t4;
      _.disabledColor = t5;
      _.fillColor = t6;
      _.focusColor = t7;
      _.hoverColor = t8;
      _.highlightColor = t9;
      _.splashColor = t10;
      _.focusNode = t11;
      _.onPressed = t12;
      _.mouseCursor = t13;
      _.leadingBorderSide = t14;
      _.borderSide = t15;
      _.trailingBorderSide = t16;
      _.borderRadius = t17;
      _.clipRadius = t18;
      _.isFirstButton = t19;
      _.isLastButton = t20;
      _.direction = t21;
      _.verticalDirection = t22;
      _.child = t23;
      _.key = t24;
    },
    _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) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    ColorSwatch: function ColorSwatch() {
    },
    ImageSizeInfo: function ImageSizeInfo(t0, t1, t2) {
      this.source = t0;
      this.displaySize = t1;
      this.imageSize = t2;
    },
    _LiveImage$: function(completer, handleRemove) {
      var t1;
      if (completer._image_stream$_disposed)
        H.throwExpression(P.StateError$(string$.Stream));
      t1 = new L.ImageStreamCompleterHandle(completer);
      t1.ImageStreamCompleterHandle$_$1(completer);
      t1 = new E._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) {
      this._box_0 = t0;
      this.$this = t1;
      this.key = t2;
    },
    _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;
    },
    RenderConstrainedBox$: function(additionalConstraints) {
      var t1 = new E.RenderConstrainedBox(additionalConstraints, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    RenderIntrinsicWidth__applyStep: function(input, step) {
      if (step == null)
        return input;
      return C.JSNumber_methods.ceil$0(input / step) * step;
    },
    RenderProxyBox: function RenderProxyBox() {
    },
    RenderProxyBoxMixin: function RenderProxyBoxMixin() {
    },
    HitTestBehavior: function HitTestBehavior(t0, t1) {
      this.index = t0;
      this._proxy_box$_name = t1;
    },
    RenderProxyBoxWithHitTestBehavior: function RenderProxyBoxWithHitTestBehavior() {
    },
    RenderConstrainedBox: function RenderConstrainedBox(t0, t1) {
      var _ = this;
      _._additionalConstraints = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderLimitedBox: function RenderLimitedBox(t0, t1, t2) {
      var _ = this;
      _._proxy_box$_maxWidth = t0;
      _._maxHeight = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderIntrinsicWidth: function RenderIntrinsicWidth(t0, t1, t2) {
      var _ = this;
      _._stepWidth = t0;
      _._stepHeight = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderIntrinsicHeight: function RenderIntrinsicHeight(t0) {
      var _ = this;
      _.RenderObjectWithChildMixin__child = t0;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderOpacity: function RenderOpacity(t0, t1, t2, t3) {
      var _ = this;
      _._alpha = t0;
      _._proxy_box$_opacity = t1;
      _._alwaysIncludeSemantics = t2;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderAnimatedOpacityMixin: function RenderAnimatedOpacityMixin() {
    },
    RenderAnimatedOpacity: function RenderAnimatedOpacity(t0, t1, t2, t3, t4) {
      var _ = this;
      _.RenderAnimatedOpacityMixin__alpha = t0;
      _.RenderAnimatedOpacityMixin__currentlyNeedsCompositing = t1;
      _.RenderAnimatedOpacityMixin__opacity = t2;
      _.RenderAnimatedOpacityMixin__alwaysIncludeSemantics = t3;
      _.RenderObjectWithChildMixin__child = t4;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderClipRRect: function RenderClipRRect(t0, t1, t2, t3) {
      var _ = this;
      _._proxy_box$_borderRadius = t0;
      _._clipper = t1;
      _._clip = null;
      _._proxy_box$_clipBehavior = t2;
      _._debugText = _._debugPaint = null;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderClipPath: function RenderClipPath(t0, t1, t2) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderPhysicalModelBase: function _RenderPhysicalModelBase() {
    },
    RenderPhysicalModel: function RenderPhysicalModel(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderPhysicalShape: function RenderPhysicalShape(t0, t1, t2, t3, t4, t5) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    DecorationPosition: function DecorationPosition(t0, t1) {
      this.index = t0;
      this._proxy_box$_name = t1;
    },
    RenderDecoratedBox: function RenderDecoratedBox(t0, t1, t2, t3) {
      var _ = this;
      _._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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderTransform: function RenderTransform(t0, t1) {
      var _ = this;
      _._proxy_box$_textDirection = _._proxy_box$_alignment = _._proxy_box$_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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderTransform_hitTestChildren_closure: function RenderTransform_hitTestChildren_closure(t0) {
      this.$this = t0;
    },
    RenderFractionalTranslation: function RenderFractionalTranslation(t0, t1, t2) {
      var _ = this;
      _._translation = t0;
      _.transformHitTests = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderFractionalTranslation_hitTestChildren_closure: function RenderFractionalTranslation_hitTestChildren_closure(t0) {
      this.$this = t0;
    },
    RenderPointerListener: function RenderPointerListener(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.onPointerDown = t0;
      _.onPointerMove = t1;
      _.onPointerUp = t2;
      _.onPointerHover = t3;
      _.onPointerCancel = t4;
      _.onPointerSignal = t5;
      _.behavior = t6;
      _.RenderObjectWithChildMixin__child = t7;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderMouseRegion: function RenderMouseRegion(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._proxy_box$_opaque = t0;
      _.onEnter = t1;
      _.onHover = t2;
      _.onExit = t3;
      _._cursor = t4;
      _._validForMouseTracker = true;
      _.RenderObjectWithChildMixin__child = t5;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderRepaintBoundary: function RenderRepaintBoundary(t0) {
      var _ = this;
      _._debugAsymmetricPaintCount = _._debugSymmetricPaintCount = 0;
      _.RenderObjectWithChildMixin__child = t0;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderIgnorePointer: function RenderIgnorePointer(t0, t1, t2) {
      var _ = this;
      _._ignoring = t0;
      _._ignoringSemantics = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderOffstage: function RenderOffstage(t0, t1) {
      var _ = this;
      _._proxy_box$_offstage = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderAbsorbPointer: function RenderAbsorbPointer(t0, t1, t2) {
      var _ = this;
      _._absorbing = t0;
      _._ignoringSemantics = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderMetaData: function RenderMetaData(t0, t1, t2) {
      var _ = this;
      _.metaData = t0;
      _.behavior = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderSemanticsGestureHandler: function RenderSemanticsGestureHandler(t0, t1) {
      var _ = this;
      _._onVerticalDragUpdate = _._onHorizontalDragUpdate = _._onLongPress = _._onTap = _._validActions = null;
      _.behavior = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderSemanticsAnnotations: function RenderSemanticsAnnotations(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;
      _._proxy_box$_container = t0;
      _._explicitChildNodes = t1;
      _._excludeSemantics = t2;
      _._checked = t3;
      _._enabled = t4;
      _._selected = t5;
      _._button = t6;
      _._slider = t7;
      _._keyboardKey = t8;
      _._proxy_box$_link = t9;
      _._header = t10;
      _._textField = t11;
      _._proxy_box$_readOnly = t12;
      _._focusable = t13;
      _._focused = t14;
      _._inMutuallyExclusiveGroup = t15;
      _._obscured = t16;
      _._multiline = t17;
      _._scopesRoute = t18;
      _._namesRoute = t19;
      _._proxy_box$_hidden = t20;
      _._image = t21;
      _._liveRegion = t22;
      _._proxy_box$_maxValueLength = t23;
      _._proxy_box$_currentValueLength = t24;
      _._toggled = t25;
      _._proxy_box$_label = t26;
      _._proxy_box$_value = t27;
      _._proxy_box$_increasedValue = t28;
      _._proxy_box$_decreasedValue = t29;
      _._proxy_box$_hint = t30;
      _._proxy_box$_hintOverrides = t31;
      _._proxy_box$_textDirection = t32;
      _._proxy_box$_sortKey = t33;
      _._tagForChildren = t34;
      _._onTap = t35;
      _._onDismiss = t36;
      _._onLongPress = t37;
      _._onScrollLeft = t38;
      _._onScrollRight = t39;
      _._onScrollUp = t40;
      _._onScrollDown = t41;
      _._onIncrease = t42;
      _._onDecrease = t43;
      _._onCopy = t44;
      _._onCut = t45;
      _._onPaste = t46;
      _._onMoveCursorForwardByCharacter = t47;
      _._onMoveCursorBackwardByCharacter = t48;
      _._onMoveCursorForwardByWord = t49;
      _._onMoveCursorBackwardByWord = t50;
      _._onSetSelection = t51;
      _._onSetText = t52;
      _._onDidGainAccessibilityFocus = t53;
      _._onDidLoseAccessibilityFocus = t54;
      _._proxy_box$_customSemanticsActions = t55;
      _.RenderObjectWithChildMixin__child = t56;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderBlockSemantics: function RenderBlockSemantics(t0, t1) {
      var _ = this;
      _._blocking = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderMergeSemantics: function RenderMergeSemantics(t0) {
      var _ = this;
      _.RenderObjectWithChildMixin__child = t0;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderExcludeSemantics: function RenderExcludeSemantics(t0, t1) {
      var _ = this;
      _._excluding = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderIndexedSemantics: function RenderIndexedSemantics(t0, t1) {
      var _ = this;
      _._proxy_box$_index = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderLeaderLayer: function RenderLeaderLayer(t0, t1) {
      var _ = this;
      _._proxy_box$_link = t0;
      _._previousLayoutSize = null;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderFollowerLayer: function RenderFollowerLayer(t0, t1, t2, t3, t4, t5) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderFollowerLayer_hitTestChildren_closure: function RenderFollowerLayer_hitTestChildren_closure(t0) {
      this.$this = t0;
    },
    RenderAnnotatedRegion: function RenderAnnotatedRegion(t0, t1, t2, t3) {
      var _ = this;
      _._proxy_box$_value = t0;
      _._sized = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
      _.$ti = t3;
    },
    _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() {
    },
    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;
    },
    DefaultTextEditingActions: function DefaultTextEditingActions(t0, t1, t2) {
      this.actions = t0;
      this.child = t1;
      this.key = t2;
    },
    _DoNothingAndStopPropagationTextAction: function _DoNothingAndStopPropagationTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _DeleteTextAction: function _DeleteTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _DeleteByWordTextAction: function _DeleteByWordTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _DeleteByLineTextAction: function _DeleteByLineTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _DeleteForwardTextAction: function _DeleteForwardTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _DeleteForwardByWordTextAction: function _DeleteForwardByWordTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _DeleteForwardByLineTextAction: function _DeleteForwardByLineTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExpandSelectionLeftByLineTextAction: function _ExpandSelectionLeftByLineTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExpandSelectionRightByLineTextAction: function _ExpandSelectionRightByLineTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExpandSelectionToEndTextAction: function _ExpandSelectionToEndTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExpandSelectionToStartTextAction: function _ExpandSelectionToStartTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExtendSelectionDownTextAction: function _ExtendSelectionDownTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExtendSelectionLeftByLineTextAction: function _ExtendSelectionLeftByLineTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExtendSelectionLeftByWordAndStopAtReversalTextAction: function _ExtendSelectionLeftByWordAndStopAtReversalTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExtendSelectionLeftByWordTextAction: function _ExtendSelectionLeftByWordTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExtendSelectionLeftTextAction: function _ExtendSelectionLeftTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExtendSelectionRightByLineTextAction: function _ExtendSelectionRightByLineTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExtendSelectionRightByWordAndStopAtReversalTextAction: function _ExtendSelectionRightByWordAndStopAtReversalTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExtendSelectionRightByWordTextAction: function _ExtendSelectionRightByWordTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExtendSelectionRightTextAction: function _ExtendSelectionRightTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _ExtendSelectionUpTextAction: function _ExtendSelectionUpTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _MoveSelectionDownTextAction: function _MoveSelectionDownTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _MoveSelectionLeftTextAction: function _MoveSelectionLeftTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _MoveSelectionRightTextAction: function _MoveSelectionRightTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _MoveSelectionUpTextAction: function _MoveSelectionUpTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _MoveSelectionLeftByLineTextAction: function _MoveSelectionLeftByLineTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _MoveSelectionLeftByWordTextAction: function _MoveSelectionLeftByWordTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _MoveSelectionRightByLineTextAction: function _MoveSelectionRightByLineTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _MoveSelectionRightByWordTextAction: function _MoveSelectionRightByWordTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _MoveSelectionToEndTextAction: function _MoveSelectionToEndTextAction(t0) {
      this._actions$_listeners = t0;
    },
    _MoveSelectionToStartTextAction: function _MoveSelectionToStartTextAction(t0) {
      this._actions$_listeners = t0;
    },
    DefaultTextEditingShortcuts__shortcuts: function() {
      return C.Map_4CSrx;
    },
    DefaultTextEditingShortcuts: function DefaultTextEditingShortcuts(t0, t1, t2, t3) {
      var _ = this;
      _.shortcuts = t0;
      _.child = t1;
      _.debugLabel = t2;
      _.key = t3;
    },
    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._navigation_toolbar$_name = t1;
    },
    _ToolbarLayout: function _ToolbarLayout(t0, t1, t2) {
      var _ = this;
      _.centerMiddle = t0;
      _.middleSpacing = t1;
      _.textDirection = t2;
      _._debugChildrenNeedingLayout = _._idToChild = null;
    },
    OverflowBar$: function(children, overflowAlignment, overflowDirection, overflowSpacing, spacing) {
      return new E.OverflowBar(spacing, overflowSpacing, overflowAlignment, overflowDirection, children, null);
    },
    OverflowBarAlignment: function OverflowBarAlignment(t0, t1) {
      this.index = t0;
      this._overflow_bar$_name = t1;
    },
    OverflowBar: function OverflowBar(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.spacing = t0;
      _.overflowSpacing = t1;
      _.overflowAlignment = t2;
      _.overflowDirection = t3;
      _.children = t4;
      _.key = t5;
    },
    _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) {
      var _ = this;
      _._spacing = t0;
      _._overflowSpacing = t1;
      _._overflowAlignment = t2;
      _._overflowDirection = t3;
      _._overflow_bar$_textDirection = t4;
      _._overflow_bar$_clipBehavior = t5;
      _.ContainerRenderObjectMixin__childCount = t6;
      _.ContainerRenderObjectMixin__firstChild = t7;
      _.ContainerRenderObjectMixin__lastChild = t8;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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() {
    },
    PrimaryScrollController$: function(child, controller) {
      return new E.PrimaryScrollController(controller, child, null);
    },
    PrimaryScrollController$none: function(child) {
      return new E.PrimaryScrollController(null, child, null);
    },
    PrimaryScrollController_of: function(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;
    },
    RawScrollbar$: function(child, controller, fadeDuration, interactive, isAlwaysShown, key, notificationPredicate, pressDuration, radius, thickness, timeToFade) {
      return new E.RawScrollbar(child, controller, isAlwaysShown, radius, thickness, fadeDuration, timeToFade, pressDuration, notificationPredicate, interactive, key);
    },
    RawScrollbarState$: function($T) {
      return new E.RawScrollbarState(new N.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), null, C._StateLifecycle_0, $T._eval$1("RawScrollbarState<0>"));
    },
    _getLocalOffset: function(scrollbarPainterKey, position) {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, scrollbarPainterKey).get$renderObject();
      t1.toString;
      return type$.RenderBox._as(t1).globalToLocal$1(position);
    },
    ScrollbarPainter: function ScrollbarPainter(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._scrollbar$_color = t0;
      _._trackColor = t1;
      _._trackBorderColor = t2;
      _._scrollbar$_textDirection = null;
      _._scrollbar$_thickness = t3;
      _.fadeoutOpacityAnimation = t4;
      _._crossAxisMargin = _._mainAxisMargin = 0;
      _._scrollbar$_radius = null;
      _._scrollbar$_padding = t5;
      _._minLength = 18;
      _._minOverscrollLength = t6;
      _._trackRect = _._thumbRect = _._lastAxisDirection = _._lastMetrics = null;
      _.__ScrollbarPainter__thumbOffset = $;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t7;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    RawScrollbar: function RawScrollbar(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.child = t0;
      _.controller = t1;
      _.isAlwaysShown = t2;
      _.radius = t3;
      _.thickness = t4;
      _.fadeDuration = t5;
      _.timeToFade = t6;
      _.pressDuration = t7;
      _.notificationPredicate = t8;
      _.interactive = t9;
      _.key = t10;
    },
    RawScrollbarState: function RawScrollbarState(t0, t1, t2, t3) {
      var _ = this;
      _._fadeoutTimer = _._currentController = _._dragScrollbarAxisPosition = null;
      _.__RawScrollbarState__fadeoutOpacityAnimation = _.__RawScrollbarState__fadeoutAnimationController = $;
      _._scrollbarPainterKey = t0;
      _._hoverIsActive = false;
      _.__RawScrollbarState_scrollbarPainter = $;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
      _.$ti = t3;
    },
    RawScrollbarState__maybeTriggerScrollbar_closure: function RawScrollbarState__maybeTriggerScrollbar_closure(t0) {
      this.$this = t0;
    },
    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_closure0: function RawScrollbarState_build_closure0(t0) {
      this.$this = t0;
    },
    RawScrollbarState_build_closure: function RawScrollbarState_build_closure(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;
      _._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;
      _._supportedDevices = t7;
      _._pointerToKind = t8;
    },
    _RawScrollbarState_State_TickerProviderStateMixin: function _RawScrollbarState_State_TickerProviderStateMixin() {
    },
    SingleChildScrollView$: function(child, controller, dragStartBehavior, padding, physics, reverse, scrollDirection) {
      var t1 = controller == null && scrollDirection === C.Axis_1;
      return new E.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;
    },
    _RenderSingleChildViewport: function _RenderSingleChildViewport(t0, t1, t2, t3) {
      var _ = this;
      _._axisDirection = t0;
      _._single_child_scroll_view$_offset = t1;
      _._single_child_scroll_view$_clipBehavior = t2;
      _._single_child_scroll_view$_clipRectLayer = null;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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() {
    },
    BaseClient: function BaseClient() {
    },
    ClientException: function ClientException(t0, t1) {
      this.message = t0;
      this.uri = t1;
    },
    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;
    },
    WebPDecoder: function WebPDecoder() {
      this._webp_decoder$_input = this._info = null;
    },
    PosixStyle: function PosixStyle(t0, t1, t2) {
      this.separatorPattern = t0;
      this.needsSeparatorPattern = t1;
      this.rootPattern = t2;
    },
    PlatformInterface_verifyToken: function(instance, token) {
      if (token != instance._instanceToken)
        throw H.wrapException(P.AssertionError$("Platform interfaces must not be implemented with `implements`"));
    },
    PlatformInterface: function PlatformInterface() {
    },
    StringScannerException: function StringScannerException(t0, t1, t2) {
      this.source = t0;
      this._span_exception$_message = t1;
      this._span = t2;
    },
    Uint8Buffer$: function() {
      return new E.Uint8Buffer(new Uint8Array(0), 0);
    },
    TypedDataBuffer: function TypedDataBuffer() {
    },
    _IntBuffer0: function _IntBuffer0() {
    },
    Uint8Buffer: function Uint8Buffer(t0, t1) {
      this._typed_buffer$_buffer = t0;
      this._typed_buffer$_length = t1;
    },
    Matrix4_tryInvert: function(other) {
      var r = new E.Matrix4(new Float64Array(16));
      if (r.copyInverse$1(other) === 0)
        return null;
      return r;
    },
    Matrix4$zero: function() {
      return new E.Matrix4(new Float64Array(16));
    },
    Matrix4_Matrix4$identity: function() {
      var t1 = new E.Matrix4(new Float64Array(16));
      t1.setIdentity$0();
      return t1;
    },
    Matrix4_Matrix4$rotationZ: function(radians) {
      var c, s,
        t1 = new Float64Array(16);
      t1[15] = 1;
      c = Math.cos(H.checkNum(radians));
      s = Math.sin(H.checkNum(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 E.Matrix4(t1);
    },
    Matrix4_Matrix4$translationValues: function(x, y, z) {
      var t1 = new E.Matrix4(new Float64Array(16));
      t1.setIdentity$0();
      t1.setTranslationRaw$3(x, y, z);
      return t1;
    },
    Matrix4_Matrix4$diagonal3Values: function(x, y, z) {
      var t1 = new Float64Array(16);
      t1[15] = 1;
      t1[10] = z;
      t1[5] = y;
      t1[0] = x;
      return new E.Matrix4(t1);
    },
    Quaternion_Quaternion$identity: function() {
      var t1 = new Float64Array(4);
      t1[3] = 1;
      return new E.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;
    },
    WebSocketChannelException: function WebSocketChannelException(t0) {
      this.message = t0;
    },
    FrameworkCore_initVmService: function(url, errorReporter, explicitUri) {
      return E.FrameworkCore_initVmService$body(url, errorReporter, explicitUri);
    },
    FrameworkCore_initVmService$body: function(url, errorReporter, explicitUri) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], uri, finishedCompleter, service, e, st, exception, t1, $async$exception;
      var $async$FrameworkCore_initVmService = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
              if (t1.service != null && t1.connectedApp != null) {
                $async$returnValue = true;
                // goto return
                $async$goto = 1;
                break;
              }
              uri = explicitUri == null ? E.FrameworkCore__getUriFromQuerystring(url) : explicitUri;
              $async$goto = uri != null ? 3 : 5;
              break;
            case 3:
              // then
              finishedCompleter = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
              $async$handler = 7;
              $async$goto = 10;
              return P._asyncAwait(R.connect(uri, finishedCompleter), $async$FrameworkCore_initVmService);
            case 10:
              // returning from await.
              service = $async$result;
              $async$goto = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG) != null ? 11 : 13;
              break;
            case 11:
              // then
              $async$goto = 14;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vmServiceOpened$2$onClosed(service, finishedCompleter.future), $async$FrameworkCore_initVmService);
            case 14:
              // returning from await.
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 12;
              break;
            case 13:
              // else
              errorReporter.call$2("Unable to connect to VM service at " + H.S(uri), null);
              $async$returnValue = false;
              // goto return
              $async$goto = 1;
              break;
            case 12:
              // join
              $async$handler = 2;
              // goto after finally
              $async$goto = 9;
              break;
            case 7:
              // catch
              $async$handler = 6;
              $async$exception = $async$currentError;
              e = H.unwrapException($async$exception);
              st = H.getTraceFromException($async$exception);
              B.log(H.S(e) + "\n" + H.S(st), C.LogLevel_2);
              errorReporter.call$2("Unable to connect to VM service at " + H.S(uri) + ": " + H.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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$FrameworkCore_initVmService, $async$completer);
    },
    FrameworkCore__getUriFromQuerystring: function($location) {
      var uri, t2, port, _null = null,
        queryParams = P.Uri_parse($location, 0, _null).get$queryParameters(),
        t1 = J.getInterceptor$asx(queryParams);
      if (t1.$index(queryParams, "uri") != null) {
        uri = P.Uri_tryParse(t1.$index(queryParams, "uri"));
        if (uri != null)
          if (uri.get$isAbsolute())
            t2 = 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
            t2 = false;
        else
          t2 = false;
        if (t2)
          return uri;
      }
      t1 = t1.$index(queryParams, "port");
      port = H.Primitives_parseInt(t1 == null ? "" : t1, _null);
      if (port != null)
        return P.Uri_parse("ws://localhost:" + H.S(port) + "/ws", 0, _null);
      return _null;
    },
    debugInstrumentAction: function(description, action, $T) {
      return E.debugInstrumentAction$body(description, action, $T, $T);
    },
    debugInstrumentAction$body: function(description, action, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, t1;
      var $async$debugInstrumentAction = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = action.call$0();
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$debugInstrumentAction, $async$completer);
    },
    debugFormatDouble: function(value) {
      if (value == null)
        return "null";
      return C.JSNumber_methods.toStringAsFixed$1(value, 1);
    },
    dayOfYear: function(month, day, leapYear) {
      var t1, t2;
      if (month === 1)
        return day;
      if (month === 2)
        return day + 31;
      t1 = C.JSNumber_methods.floor$0(30.6 * month - 91.4);
      t2 = leapYear ? 1 : 0;
      return t1 + day + 59 + t2;
    },
    extensionFromMime: function(mime) {
      var t1, t2;
      mime = mime.toLowerCase();
      for (t1 = C.Map_CGcwE.get$entries(C.Map_CGcwE), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (C.Map_CGcwE.$index(0, t2.get$key(t2)) === mime)
          return t2.get$key(t2);
      }
      return mime;
    }
  },
  F = {ValueResult: function ValueResult(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    main: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        t1, t2, queryParams, t3, t4, t5;
      var $async$main = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(N.initializeFramework(), $async$main);
            case 2:
              // returning from await.
              t1 = type$.nullable_void_Function;
              t2 = type$.ValueNotifier_legacy_bool;
              $async$goto = 3;
              return P._asyncAwait(new A.PreferencesController(new B.ValueNotifier(true, P.List_List$filled(0, null, false, t1), t2), new B.ValueNotifier(false, P.List_List$filled(0, null, false, t1), t2), new B.ValueNotifier(false, P.List_List$filled(0, null, false, t1), t2)).init$0(), $async$main);
            case 3:
              // returning from await.
              $async$goto = 4;
              return P._asyncAwait(U.SyntaxHighlighter_initialize(), $async$main);
            case 4:
              // returning from await.
              $.globals.$indexSet(0, C.Type_DevToolsExtensionPoints_RWS, new A.ExternalDevToolsExtensionPoints());
              queryParams = B.devToolsQueryParams(J.toString$0$(window.location));
              t2 = J.getInterceptor$asx(queryParams);
              t1 = X._tryParseColor(t2.$index(queryParams, "backgroundColor"));
              X._tryParseColor(t2.$index(queryParams, "foregroundColor"));
              t3 = X._tryParseDouble(t2.$index(queryParams, "fontSize"));
              t2 = J.$eq$(t2.$index(queryParams, "embed"), "true");
              if (t1 != null) {
                t4 = document.body.style;
                t5 = B.toCssHexColor(t1);
                t4.backgroundColor = t5;
              }
              $.globals.$indexSet(0, C.Type_IdeTheme_NnV, new L.IdeTheme(t1, t3, t2));
              X.setupErrorHandling(new F.main_closure());
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$main, $async$completer);
    },
    main_closure: function main_closure() {
    },
    isGtagsEnabled: function() {
      var t1 = self.gtagsEnabled;
      t1 = t1 == null ? null : t1.call$0();
      return t1 == null ? false : t1;
    },
    gaEnabled: function() {
      return $.$get$_gaEnabledNotifier()._value;
    },
    isAnalyticsEnabled: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$temp1;
      var $async$isAnalyticsEnabled = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = $.$get$_gaEnabledNotifier();
              $async$goto = 3;
              return P._asyncAwait(Q.isAnalyticsEnabled0(), $async$isAnalyticsEnabled);
            case 3:
              // returning from await.
              $async$temp1.set$value(0, $async$result);
              $async$returnValue = $.$get$_gaEnabledNotifier()._value;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$isAnalyticsEnabled, $async$completer);
    },
    setAnalyticsEnabled: function(value) {
      return F.setAnalyticsEnabled$body(value);
    },
    setAnalyticsEnabled$body: function(value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$setAnalyticsEnabled = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(Q.setAnalyticsEnabled0(value), $async$setAnalyticsEnabled);
            case 2:
              // returning from await.
              if ($async$result)
                $.$get$_gaEnabledNotifier().set$value(0, value);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setAnalyticsEnabled, $async$completer);
    },
    screen: function(screenName) {
      F.GTag_event(screenName, {event_category: "screen", value: 0, user_app: $._userAppType, user_build: $._userBuildType, user_platform: $._userPlatformType, devtools_platform: $._devtoolsPlatformType, devtools_chrome: $._devtoolsChrome, devtools_version: "2.3.3-dev.1", ide_launched: $._ideLaunched, flutter_client_id: $._flutterClientId});
    },
    select: function(screenName, selectedItem) {
      F.GTag_event(screenName, {event_category: "select", event_label: selectedItem, value: 0, user_app: $._userAppType, user_build: $._userBuildType, user_platform: $._userPlatformType, devtools_platform: $._devtoolsPlatformType, devtools_chrome: $._devtoolsChrome, devtools_version: "2.3.3-dev.1", ide_launched: $._ideLaunched, flutter_client_id: $._flutterClientId});
    },
    reportError: function(errorMessage) {
      if ($._lastGaError === errorMessage)
        return;
      $._lastGaError = errorMessage;
      F.GTag_exception({description: errorMessage, fatal: false, user_app: $._userAppType, user_build: $._userBuildType, user_platform: $._userPlatformType, devtools_platform: $._devtoolsPlatformType, devtools_chrome: $._devtoolsChrome, devtools_version: "2.3.3-dev.1", ide_launched: $._ideLaunched, flutter_client_id: $._flutterClientId});
    },
    computeUserApplicationCustomGTagData: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$temp1;
      var $async$computeUserApplicationCustomGTagData = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($._userApplicationDimensionsComputed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp ? 3 : 4;
              break;
            case 3:
              // then
              $async$temp1 = $;
              $async$goto = 5;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 24, 0, null, null)), $async$computeUserApplicationCustomGTagData);
            case 5:
              // returning from await.
              $async$temp1._userPlatformType = $async$result ? $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vm.operatingSystem : "unknown";
            case 4:
              // join
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp)
                $._userAppType = "flutter";
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isDartWebApp)
                $._userAppType = "web";
              $._userBuildType = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isProfileBuild ? "profile" : "debug";
              $._analyticsComputed = true;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$computeUserApplicationCustomGTagData, $async$completer);
    },
    computeDevToolsCustomGTagsData: function() {
      var splits, len, index, value,
        platform = window.navigator.platform;
      platform.toString;
      H.stringReplaceAllUnchecked(platform, " ", "_");
      $._devtoolsPlatformType = platform;
      splits = window.navigator.appVersion.split(" ");
      len = splits.length;
      for (index = 0; index < len; ++index) {
        value = splits[index];
        if (J.startsWith$1$s(value, "Chrome/") || C.JSString_methods.startsWith$1(value, "Crios/"))
          $._devtoolsChrome = value;
        else if (C.JSString_methods.startsWith$1(value, "Android"))
          $._devtoolsPlatformType = "Android_" + H.S(splits[index + 1]);
        else if (value === "CrOS")
          $._devtoolsPlatformType = "CrOS_" + platform;
      }
    },
    computeFlutterClientId: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$temp1;
      var $async$computeFlutterClientId = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = $;
              $async$goto = 2;
              return P._asyncAwait(Q.flutterGAClientID(), $async$computeFlutterClientId);
            case 2:
              // returning from await.
              $async$temp1._flutterClientId = $async$result;
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$computeFlutterClientId, $async$completer);
    },
    setupUserApplicationDimensions: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$setupUserApplicationDimensions = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp != null && !$._userApplicationDimensionsComputed && !$._computingUserApplicationDimensions ? 2 : 3;
              break;
            case 2:
              // then
              $._computingUserApplicationDimensions = true;
              $async$goto = 4;
              return P._asyncAwait(F.computeUserApplicationCustomGTagData(), $async$setupUserApplicationDimensions);
            case 4:
              // returning from await.
              $._userApplicationDimensionsComputed = true;
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setupUserApplicationDimensions, $async$completer);
    },
    GtagEventDevTools: function GtagEventDevTools() {
    },
    GtagExceptionDevTools: function GtagExceptionDevTools() {
    },
    PaintCharacteristics$: function(color, colorAggregate, diameter, fixedMaxY, fixedMinY, height, strokeWidth, symbol, width) {
      return new F.PaintCharacteristics(fixedMinY, fixedMaxY, color, C.Color_4278190080, 1, colorAggregate, symbol, strokeWidth, diameter, height, width);
    },
    AxisScale$: function(minPoint, maxPoint, maxTicks) {
      var exponentFraction,
        t1 = new F.AxisScale(minPoint, maxPoint, maxTicks),
        t2 = t1._chart_trace$_range = t1._niceNum$2(maxPoint, false);
      if (t2 !== 0) {
        t2 /= maxTicks - 1;
        t1._tickSpacing = t2;
        C.JSNumber_methods.floor$0(minPoint / t2);
        C.JSNumber_methods.ceil$0(maxPoint / t1._tickSpacing);
        t1._tickSpacing;
        exponentFraction = t1._exponentFraction$1(t1._chart_trace$_range);
        t1.labelUnitExponent = exponentFraction.$index(0, "exponent");
        t1.labelTicks = J.roundToDouble$0$n(exponentFraction.$index(0, "fraction"));
      } else {
        t1._tickSpacing = 1;
        t1.labelTicks = t1.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;
      _.name = _.stacked = null;
      _.dataYMax = 0;
      _._chart_trace$_data = t3;
      _._symbolPath = null;
    },
    TraceNotifier: function TraceNotifier() {
    },
    ChartType: function ChartType(t0, t1) {
      this.index = t0;
      this._chart_trace$_name = t1;
    },
    ChartSymbol: function ChartSymbol(t0, t1) {
      this.index = t0;
      this._chart_trace$_name = t1;
    },
    AxisScale: function AxisScale(t0, t1, t2) {
      var _ = this;
      _.minPoint = t0;
      _.maxPoint = t1;
      _.maxTicks = t2;
      _.labelTicks = _.labelUnitExponent = _._chart_trace$_range = _._tickSpacing = null;
    },
    LogLevel: function LogLevel(t0, t1) {
      this.index = t0;
      this._logger$_name = t1;
    },
    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) {
      var _ = this;
      _._custom_pointer_scroll_view$_physics = _._custom_pointer_scroll_view$_configuration = _._custom_pointer_scroll_view$_position = 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;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._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) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    __CustomPointerScrollableState_State_TickerProviderStateMixin: function __CustomPointerScrollableState_State_TickerProviderStateMixin() {
    },
    Breakpoints: function Breakpoints(t0) {
      this.key = t0;
    },
    _BreakpointsState: function _BreakpointsState(t0) {
      var _ = this;
      _._widget = _.controller = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _BreakpointsState_build_closure: function _BreakpointsState_build_closure(t0) {
      this.$this = t0;
    },
    _BreakpointsState_build__closure: function _BreakpointsState_build__closure(t0, t1) {
      this.$this = t0;
      this.breakpoints = t1;
    },
    _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;
    },
    DeviceDialog: function DeviceDialog(t0, t1, t2) {
      this.connectedApp = t0;
      this.flutterVersion = t1;
      this.key = t2;
    },
    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;
      _.filterController = _.infoController = null;
      _.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() {
    },
    FlexLayoutExplorerWidget_shouldDisplay: function(node) {
      var _s17_ = "widgetRuntimeType",
        t1 = node == null,
        t2 = t1 ? null : C.JSArray_methods.contains$1(H._setArrayType(["Row", "Column", "Flex"], type$.JSArray_legacy_String), H._asStringS(J.$index$asx(node.json, _s17_)));
      if (t2 !== true) {
        t1 = t1 ? null : node.parent;
        t1 = t1 == null ? null : C.JSArray_methods.contains$1(H._setArrayType(["Row", "Column", "Flex"], type$.JSArray_legacy_String), H._asStringS(J.$index$asx(t1.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) {
      var _ = this;
      _.scrollController = t0;
      _.highlighted = _._onSelectionChangedCallback = _.rateLimiter = _._animatedProperties = _.objectGroupManager = _._layout_explorer_widget$_properties = _._previousProperties = _.changeAnimation = _.changeController = _.entranceCurve = _.entranceController = null;
      _._layout_explorer_widget$_dirty = false;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._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) {
      this.$this = t0;
      this.axis = t1;
    },
    _FlexLayoutExplorerWidgetState_build_closure: function _FlexLayoutExplorerWidgetState_build_closure(t0) {
      this.$this = t0;
    },
    _FlexLayoutExplorerWidgetState__buildLayout_closure: function _FlexLayoutExplorerWidgetState__buildLayout_closure(t0) {
      this.$this = t0;
    },
    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.$this = 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) {
      this.$this = t0;
      this.renderSize = t1;
    },
    FlexChildVisualizer_build_closure1: function FlexChildVisualizer_build_closure1(t0) {
      this.$this = t0;
    },
    FlexChildVisualizer_build_closure: function FlexChildVisualizer_build_closure(t0) {
      this.$this = t0;
    },
    FlexChildVisualizer_build_closure0: function FlexChildVisualizer_build_closure0(t0) {
      this.$this = t0;
    },
    EventSummary$: function($event) {
      var t2, t3, t4, t5, _i, t6, t7,
        t1 = H._setArrayType([], type$.JSArray_legacy_AsyncTimelineEvent);
      if ($event.type === C.TimelineEventType_2)
        for (t2 = $event.children, t3 = C.JSArray_methods.get$iterator(t2), t2 = new H.WhereIterator(t3, new F.EventSummary_closure(), H._arrayInstanceType(t2)._eval$1("WhereIterator<1>")); t2.moveNext$0();)
          t1.push(t3.get$current(t3));
      t2 = $event.traceEvents;
      t3 = type$.legacy_String;
      t4 = type$.dynamic;
      t5 = P.LinkedHashMap_LinkedHashMap$from(C.JSArray_methods.get$first(t2).event.args, t3, t4);
      t4 = P.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
      for (t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
        for (t6 = J.get$entries$x(t2[_i].event.args), t6 = t6.get$iterator(t6); t6.moveNext$0();) {
          t7 = t6.get$current(t6);
          t4.$indexSet(0, t7.get$key(t7), t7.get$value(t7));
        }
      t5.addAll$1(0, t4);
      return new F.EventSummary($event, t1, t5, null);
    },
    EventDetails: function EventDetails(t0, t1) {
      this.selectedEvent = t0;
      this.key = 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;
    },
    EventSummary$0: function($event) {
      var t2, t3, t4, t5, _i, t6, t7,
        t1 = H._setArrayType([], type$.JSArray_legacy_LegacyAsyncTimelineEvent);
      if ($event.type === C.TimelineEventType_2)
        for (t2 = $event.children, t3 = C.JSArray_methods.get$iterator(t2), t2 = new H.WhereIterator(t3, new F.EventSummary_closure0(), H._arrayInstanceType(t2)._eval$1("WhereIterator<1>")); t2.moveNext$0();)
          t1.push(t3.get$current(t3));
      t2 = $event.traceEvents;
      t3 = type$.legacy_String;
      t4 = type$.dynamic;
      t5 = P.LinkedHashMap_LinkedHashMap$from(C.JSArray_methods.get$first(t2).event.args, t3, t4);
      t4 = P.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
      for (t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
        for (t6 = J.get$entries$x(t2[_i].event.args), t6 = t6.get$iterator(t6); t6.moveNext$0();) {
          t7 = t6.get$current(t6);
          t4.$indexSet(0, t7.get$key(t7), t7.get$value(t7));
        }
      t5.addAll$1(0, t4);
      return new F.EventSummary0($event, t1, t5, null);
    },
    EventDetails0: function EventDetails0(t0, t1) {
      this.selectedEvent = t0;
      this.key = t1;
    },
    EventDetails__buildDetails_closure0: function EventDetails__buildDetails_closure0(t0, t1) {
      this.$this = t0;
      this.controller = t1;
    },
    EventDetails__buildCpuProfiler_closure0: function EventDetails__buildCpuProfiler_closure0(t0, t1) {
      this.$this = t0;
      this.cpuProfilerController = t1;
    },
    EventDetails__buildProcessingInfo_closure0: function EventDetails__buildProcessingInfo_closure0() {
    },
    EventSummary0: function EventSummary0(t0, t1, t2, t3) {
      var _ = this;
      _.event = t0;
      _._event_details$_connectedEvents = t1;
      _._event_details$_eventArgs = t2;
      _.key = t3;
    },
    EventSummary_closure0: function EventSummary_closure0() {
    },
    EventMetaData0: function EventMetaData0(t0, t1, t2, t3) {
      var _ = this;
      _.title = t0;
      _.inlineValue = t1;
      _.child = t2;
      _.key = t3;
    },
    ExpandingEventMetaData0: function ExpandingEventMetaData0(t0, t1, t2) {
      this.title = t0;
      this.children = t1;
      this.key = t2;
    },
    familyAsyncDebounce: function(family, Listened, Id) {
      var t2, t3,
        t1 = family.name;
      t1 = t1 == null ? "familyDebounced(" + C.Duration_1000000.toString$0(0) + ")" : t1 + ".debounced(" + C.Duration_1000000.toString$0(0) + ")";
      t2 = Id._eval$1("0*");
      t3 = Listened._eval$1("@<StateController<0*>*>")._bind$1(Listened._eval$1("0*"));
      return new O.AutoDisposeStateNotifierProviderFamily(new F.familyAsyncDebounce_closure(family, Id, Listened), t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, t3._eval$1("AutoDisposeStateNotifierProvider<1,2>")), t3._bind$1(t2)._eval$1("AutoDisposeStateNotifierProviderFamily<1,2,3>"));
    },
    asyncDebounce: function(provider, Listened) {
      var t1 = provider.name;
      t1 = t1 == null ? "debounced(" + C.Duration_1000000.toString$0(0) + ")" : t1 + ".debounced(" + C.Duration_1000000.toString$0(0) + ")";
      return O.AutoDisposeStateNotifierProvider$(new F.asyncDebounce_closure(provider, Listened), t1, Listened._eval$1("StateController<0*>*"), Listened._eval$1("0*"));
    },
    familyAsyncDebounce_closure: function familyAsyncDebounce_closure(t0, t1, t2) {
      this.family = t0;
      this.Id = t1;
      this.Listened = t2;
    },
    familyAsyncDebounce__closure: function familyAsyncDebounce__closure(t0) {
      this._box_0 = t0;
    },
    familyAsyncDebounce__closure2: function familyAsyncDebounce__closure2(t0, t1, t2) {
      this._box_0 = t0;
      this.ref = t1;
      this.Listened = t2;
    },
    familyAsyncDebounce___closure: function familyAsyncDebounce___closure(t0, t1, t2) {
      this._box_0 = t0;
      this.ref = t1;
      this.sub = t2;
    },
    familyAsyncDebounce__closure1: function familyAsyncDebounce__closure1(t0, t1, t2) {
      this._box_0 = t0;
      this.controller = t1;
      this.Listened = t2;
    },
    familyAsyncDebounce___closure0: function familyAsyncDebounce___closure0(t0, t1, t2) {
      this.controller = t0;
      this.value = t1;
      this.Listened = t2;
    },
    familyAsyncDebounce___closure1: function familyAsyncDebounce___closure1(t0, t1, t2) {
      this.controller = t0;
      this.value = t1;
      this.Listened = t2;
    },
    familyAsyncDebounce___closure2: function familyAsyncDebounce___closure2(t0, t1, t2) {
      this._box_0 = t0;
      this.controller = t1;
      this.value = t2;
    },
    familyAsyncDebounce____closure: function familyAsyncDebounce____closure(t0, t1) {
      this.controller = t0;
      this.value = t1;
    },
    familyAsyncDebounce__closure0: function familyAsyncDebounce__closure0(t0, t1) {
      this._box_0 = t0;
      this.sub = t1;
    },
    asyncDebounce_closure: function asyncDebounce_closure(t0, t1) {
      this.provider = t0;
      this.Listened = t1;
    },
    asyncDebounce__closure: function asyncDebounce__closure(t0) {
      this._box_0 = t0;
    },
    asyncDebounce__closure2: function asyncDebounce__closure2(t0, t1, t2) {
      this._box_0 = t0;
      this.ref = t1;
      this.Listened = t2;
    },
    asyncDebounce___closure: function asyncDebounce___closure(t0, t1, t2) {
      this._box_0 = t0;
      this.ref = t1;
      this.sub = t2;
    },
    asyncDebounce__closure1: function asyncDebounce__closure1(t0, t1, t2) {
      this._box_0 = t0;
      this.controller = t1;
      this.Listened = t2;
    },
    asyncDebounce___closure0: function asyncDebounce___closure0(t0, t1) {
      this.controller = t0;
      this.value = t1;
    },
    asyncDebounce___closure1: function asyncDebounce___closure1(t0, t1) {
      this.controller = t0;
      this.value = t1;
    },
    asyncDebounce___closure2: function asyncDebounce___closure2(t0, t1, t2) {
      this._box_0 = t0;
      this.controller = t1;
      this.value = t2;
    },
    asyncDebounce____closure: function asyncDebounce____closure(t0, t1) {
      this.controller = t0;
      this.value = t1;
    },
    asyncDebounce__closure0: function asyncDebounce__closure0(t0, t1) {
      this._box_0 = t0;
      this.sub = t1;
    },
    RegisteredServiceDescription: function RegisteredServiceDescription(t0, t1) {
      this.service = t0;
      this.icon = t1;
    },
    GTag_event: function(eventName, gaEvent) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$GTag_event = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(F.isAnalyticsEnabled(), $async$GTag_event);
            case 2:
              // returning from await.
              if ($async$result)
                self.gtag("event", eventName, gaEvent);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$GTag_event, $async$completer);
    },
    GTag_exception: function(gaException) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$GTag_exception = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(F.isAnalyticsEnabled(), $async$GTag_exception);
            case 2:
              // returning from await.
              if ($async$result)
                self.gtag("event", "exception", gaException);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$GTag_exception, $async$completer);
    },
    GtagEvent: function GtagEvent() {
    },
    GtagException: function GtagException() {
    },
    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;
    },
    CupertinoActivityIndicator: function CupertinoActivityIndicator(t0) {
      this.key = t0;
    },
    _CupertinoActivityIndicatorState: function _CupertinoActivityIndicatorState(t0, t1) {
      var _ = this;
      _.___CupertinoActivityIndicatorState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _CupertinoActivityIndicatorPainter: function _CupertinoActivityIndicatorPainter(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.position = t0;
      _.activeColor = t1;
      _.radius = t2;
      _.progress = t3;
      _.tickFundamentalRRect = t4;
      _._repaint = t5;
    },
    __CupertinoActivityIndicatorState_State_SingleTickerProviderStateMixin: function __CupertinoActivityIndicatorState_State_SingleTickerProviderStateMixin() {
    },
    _TextSelectionHandlePainter0: function _TextSelectionHandlePainter0(t0, t1) {
      this.color = t0;
      this._repaint = t1;
    },
    CupertinoTextSelectionControls: function CupertinoTextSelectionControls() {
    },
    LicenseEntry: function LicenseEntry() {
    },
    LicenseEntryWithLineBreaks: function LicenseEntryWithLineBreaks(t0) {
      this.text = t0;
    },
    PointerEvent_transformPosition: function(transform, position) {
      var t1, t2, position3;
      if (transform == null)
        return position;
      t1 = position._dx;
      t2 = position._dy;
      position3 = new E.Vector3(new Float64Array(3));
      position3.setValues$3(t1, t2, 0);
      t1 = transform.perspectiveTransform$1(position3)._v3storage;
      return new P.Offset(t1[0], t1[1]);
    },
    PointerEvent_transformDeltaViaPositions: function(transform, transformedEndPosition, untransformedDelta, untransformedEndPosition) {
      if (transform == null)
        return untransformedDelta;
      if (transformedEndPosition == null)
        transformedEndPosition = F.PointerEvent_transformPosition(transform, untransformedEndPosition);
      return transformedEndPosition.$sub(0, F.PointerEvent_transformPosition(transform, untransformedEndPosition.$sub(0, untransformedDelta)));
    },
    PointerEvent_removePerspectiveTransform: function(transform) {
      var t2, t3,
        t1 = new Float64Array(4),
        vector = new E.Vector4(t1);
      vector.setValues$4(0, 0, 1, 0);
      transform.toString;
      t2 = new Float64Array(16);
      t3 = new E.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$: function(device, distance, distanceMax, embedderId, kind, obscured, orientation, position, pressureMax, pressureMin, radiusMax, radiusMin, tilt, timeStamp) {
      return new F.PointerAddedEvent(embedderId, timeStamp, 0, kind, device, position, C.Offset_0_0, 0, false, false, 0, pressureMin, pressureMax, distance, distanceMax, 0, 0, 0, radiusMin, radiusMax, orientation, tilt, 0, false, null, null);
    },
    PointerRemovedEvent$: function(device, distanceMax, embedderId, kind, obscured, position, pressureMax, pressureMin, radiusMax, radiusMin, timeStamp) {
      return new F.PointerRemovedEvent(embedderId, timeStamp, 0, kind, device, position, C.Offset_0_0, 0, false, false, 0, pressureMin, pressureMax, 0, distanceMax, 0, 0, 0, radiusMin, radiusMax, 0, 0, 0, false, null, null);
    },
    PointerHoverEvent$: function(buttons, delta, device, distance, distanceMax, embedderId, kind, obscured, orientation, position, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, synthesized, tilt, timeStamp) {
      return new F.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$: function(buttons, delta, device, distance, distanceMax, down, embedderId, kind, obscured, orientation, pointer, position, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, synthesized, tilt, timeStamp) {
      return new F.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$: function(buttons, delta, device, distance, distanceMax, down, embedderId, kind, obscured, orientation, pointer, position, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, synthesized, tilt, timeStamp) {
      return new F.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$: function(buttons, device, distanceMax, embedderId, kind, obscured, orientation, pointer, position, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, tilt, timeStamp) {
      return new F.PointerDownEvent(embedderId, timeStamp, pointer, kind, device, position, C.Offset_0_0, buttons, true, false, pressure, pressureMin, pressureMax, 0, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, 0, false, null, null);
    },
    PointerMoveEvent$: function(buttons, delta, device, distanceMax, embedderId, kind, obscured, orientation, platformData, pointer, position, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, synthesized, tilt, timeStamp) {
      return new F.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$: function(buttons, device, distance, distanceMax, embedderId, kind, obscured, orientation, pointer, position, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, tilt, timeStamp) {
      return new F.PointerUpEvent(embedderId, timeStamp, pointer, kind, device, position, C.Offset_0_0, buttons, false, false, pressure, pressureMin, pressureMax, distance, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, 0, false, null, null);
    },
    PointerScrollEvent$: function(device, embedderId, kind, position, scrollDelta, timeStamp) {
      return new F.PointerScrollEvent(scrollDelta, embedderId, timeStamp, 0, kind, device, position, C.Offset_0_0, 0, false, false, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false, null, null);
    },
    PointerCancelEvent$: function(buttons, device, distance, distanceMax, embedderId, kind, obscured, orientation, pointer, position, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, tilt, timeStamp) {
      return new F.PointerCancelEvent(embedderId, timeStamp, pointer, kind, device, position, C.Offset_0_0, buttons, false, false, 0, pressureMin, pressureMax, distance, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, 0, false, null, null);
    },
    computeHitSlop: function(kind) {
      switch (kind) {
        case C.PointerDeviceKind_1:
          return 1;
        case C.PointerDeviceKind_2:
        case C.PointerDeviceKind_3:
        case C.PointerDeviceKind_4:
        case C.PointerDeviceKind_0:
          return 18;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computePanSlop: function(kind) {
      switch (kind) {
        case C.PointerDeviceKind_1:
          return 2;
        case C.PointerDeviceKind_2:
        case C.PointerDeviceKind_3:
        case C.PointerDeviceKind_4:
        case C.PointerDeviceKind_0:
          return 36;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    PointerEvent0: function PointerEvent0() {
    },
    _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 = $;
    },
    _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() {
    },
    _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() {
    },
    __TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent: function __TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent() {
    },
    __TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent: function __TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent() {
    },
    __TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent: function __TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent() {
    },
    _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;
      _._supportedDevices = t2;
      _._pointerToKind = t3;
    },
    CheckboxThemeData__lerpProperties: function(a, b, t, lerpFunction, $T) {
      if (a == null && b == null)
        return null;
      return new F._LerpProperties1(a, b, t, lerpFunction, $T._eval$1("_LerpProperties1<0>"));
    },
    CheckboxThemeData__lerpSides: function(a, b, t) {
      if (a == null && b == null)
        return null;
      a.toString;
      b.toString;
      return Y.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;
    },
    _LerpProperties1: function _LerpProperties1(t0, t1, t2, t3, t4) {
      var _ = this;
      _.a = t0;
      _.b = t1;
      _.t = t2;
      _.lerpFunction = t3;
      _.$ti = t4;
    },
    _CheckboxThemeData_Object_Diagnosticable: function _CheckboxThemeData_Object_Diagnosticable() {
    },
    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;
    },
    MaterialTextSelectionControls: function MaterialTextSelectionControls() {
    },
    _TextSelectionHandlePainter: function _TextSelectionHandlePainter(t0, t1) {
      this.color = t0;
      this._repaint = t1;
    },
    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() {
    },
    BoxBorder_lerp: function(a, b, t) {
      var t0, t2,
        t1 = type$.nullable_Border;
      if (t1._is(a) && t1._is(b))
        return F.Border_lerp(a, b, t);
      t1 = type$.nullable_BorderDirectional;
      if (t1._is(a) && t1._is(b))
        return F.BorderDirectional_lerp(a, b, t);
      if (b instanceof F.Border && a instanceof F.BorderDirectional) {
        t = 1 - t;
        t0 = b;
        b = a;
        a = t0;
      }
      if (a instanceof F.Border && b instanceof F.BorderDirectional) {
        t1 = b.start;
        if (J.$eq$(t1, C.BorderSide_06g) && J.$eq$(b.end, C.BorderSide_06g))
          return new F.Border(Y.BorderSide_lerp(a.top, b.top, t), Y.BorderSide_lerp(a.right, C.BorderSide_06g, t), Y.BorderSide_lerp(a.bottom, b.bottom, t), Y.BorderSide_lerp(a.left, C.BorderSide_06g, t));
        t2 = a.left;
        if (J.$eq$(t2, C.BorderSide_06g) && J.$eq$(a.right, C.BorderSide_06g))
          return new F.BorderDirectional(Y.BorderSide_lerp(a.top, b.top, t), Y.BorderSide_lerp(C.BorderSide_06g, t1, t), Y.BorderSide_lerp(C.BorderSide_06g, b.end, t), Y.BorderSide_lerp(a.bottom, b.bottom, t));
        if (t < 0.5) {
          t1 = t * 2;
          return new F.Border(Y.BorderSide_lerp(a.top, b.top, t), Y.BorderSide_lerp(a.right, C.BorderSide_06g, t1), Y.BorderSide_lerp(a.bottom, b.bottom, t), Y.BorderSide_lerp(t2, C.BorderSide_06g, t1));
        }
        t2 = (t - 0.5) * 2;
        return new F.BorderDirectional(Y.BorderSide_lerp(a.top, b.top, t), Y.BorderSide_lerp(C.BorderSide_06g, t1, t2), Y.BorderSide_lerp(C.BorderSide_06g, b.end, t2), Y.BorderSide_lerp(a.bottom, b.bottom, t));
      }
      throw H.wrapException(U.FlutterError$fromParts(H._setArrayType([U.ErrorSummary$("BoxBorder.lerp can only interpolate Border and BorderDirectional classes."), U.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  " + H.S(a) + "\n  " + H.S(b) + "\nHowever, only Border and BorderDirectional classes are supported by this method."), U.ErrorHint$("For a more general interpolation method, consider using ShapeBorder.lerp instead.")], type$.JSArray_DiagnosticsNode)));
    },
    BoxBorder__paintUniformBorderWithRadius: function(canvas, rect, side, borderRadius) {
      var outer, width,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, side.color);
      outer = borderRadius.toRRect$1(rect);
      width = side.width;
      if (width === 0) {
        paint.set$style(0, C.PaintingStyle_1);
        paint.set$strokeWidth(0);
        canvas.drawRRect$2(0, outer, paint);
      } else
        canvas.drawDRRect$3(0, outer, outer.inflate$1(-width), paint);
    },
    BoxBorder__paintUniformBorderWithCircle: function(canvas, rect, side) {
      var width = side.width,
        paint = side.toPaint$0(),
        t1 = rect.get$shortestSide();
      canvas.drawCircle$3(0, rect.get$center(), (t1 - width) / 2, paint);
    },
    BoxBorder__paintUniformBorderWithRectangle: function(canvas, rect, side) {
      var width = side.width,
        paint = side.toPaint$0();
      canvas.drawRect$2(0, rect.inflate$1(-(width / 2)), paint);
    },
    Border_Border$all: function(color, width) {
      var side = new Y.BorderSide(color, width, C.BorderStyle_1);
      return new F.Border(side, side, side, side);
    },
    Border_lerp: function(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 F.Border(Y.BorderSide_lerp(a.top, b.top, t), Y.BorderSide_lerp(a.right, b.right, t), Y.BorderSide_lerp(a.bottom, b.bottom, t), Y.BorderSide_lerp(a.left, b.left, t));
    },
    BorderDirectional_lerp: function(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 = Y.BorderSide_lerp(a.top, b.top, t);
      t2 = Y.BorderSide_lerp(a.end, b.end, t);
      t3 = Y.BorderSide_lerp(a.bottom, b.bottom, t);
      return new F.BorderDirectional(t1, Y.BorderSide_lerp(a.start, b.start, t), t2, t3);
    },
    BoxShape: function BoxShape(t0, t1) {
      this.index = t0;
      this._box_border$_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;
    },
    RenderAnimatedSize$: function(alignment, clipBehavior, curve, duration, reverseDuration, textDirection, vsync) {
      var _null = null,
        t1 = new F.RenderAnimatedSize(new R.SizeTween(_null, _null), C.RenderAnimatedSizeState_0, clipBehavior, vsync, alignment, textDirection, _null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      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._animated_size$_name = t1;
    },
    RenderAnimatedSize: function RenderAnimatedSize(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.__RenderAnimatedSize__animation = _.__RenderAnimatedSize__controller = $;
      _._sizeTween = t0;
      _.__RenderAnimatedSize__hasVisualOverflow = $;
      _._animated_size$_lastValue = null;
      _._animated_size$_state = t1;
      _._animated_size$_clipBehavior = t2;
      _._vsync = t3;
      _._shifted_box$_resolvedAlignment = _._animated_size$_clipRectLayer = null;
      _._shifted_box$_alignment = t4;
      _._shifted_box$_textDirection = t5;
      _.RenderObjectWithChildMixin__child = t6;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderAnimatedSize_closure: function RenderAnimatedSize_closure(t0) {
      this.$this = t0;
    },
    _startIsTopLeft: function(direction, textDirection, verticalDirection) {
      var _s80_ = string$.x60null_c;
      switch (direction) {
        case C.Axis_0:
          switch (textDirection) {
            case C.TextDirection_1:
              return true;
            case C.TextDirection_0:
              return false;
            case null:
              return null;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        case C.Axis_1:
          switch (verticalDirection) {
            case C.VerticalDirection_1:
              return true;
            case C.VerticalDirection_0:
              return false;
            case null:
              return null;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
    },
    RenderFlex$: function(children, clipBehavior, crossAxisAlignment, direction, mainAxisAlignment, mainAxisSize, textBaseline, textDirection, verticalDirection) {
      var _null = null,
        t1 = new F.RenderFlex(direction, mainAxisAlignment, mainAxisSize, crossAxisAlignment, textDirection, verticalDirection, textBaseline, clipBehavior, P.List_List$filled(4, U.TextPainter$(_null, _null, _null, _null, _null, C.TextAlign_4, C.TextDirection_1, _null, 1, C.TextWidthBasis_0), false, type$.TextPainter), true, 0, _null, _null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.addAll$1(0, children);
      return t1;
    },
    FlexFit: function FlexFit(t0, t1) {
      this.index = t0;
      this._flex$_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._flex$_name = t1;
    },
    MainAxisAlignment: function MainAxisAlignment(t0, t1) {
      this.index = t0;
      this._flex$_name = t1;
    },
    CrossAxisAlignment: function CrossAxisAlignment(t0, t1) {
      this.index = t0;
      this._flex$_name = t1;
    },
    RenderFlex: function RenderFlex(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _._flex$_direction = t0;
      _._mainAxisAlignment = t1;
      _._mainAxisSize = t2;
      _._crossAxisAlignment = t3;
      _._flex$_textDirection = t4;
      _._verticalDirection = t5;
      _._flex$_textBaseline = t6;
      _._flex$_overflow = 0;
      _._flex$_clipBehavior = t7;
      _._flex$_clipRectLayer = null;
      _.DebugOverflowIndicatorMixin__indicatorLabel = t8;
      _.DebugOverflowIndicatorMixin__overflowReportNeeded = t9;
      _.ContainerRenderObjectMixin__childCount = t10;
      _.ContainerRenderObjectMixin__firstChild = t11;
      _.ContainerRenderObjectMixin__lastChild = t12;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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() {
    },
    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() {
    },
    AutofillConfiguration: function AutofillConfiguration(t0, t1, t2) {
      this.uniqueIdentifier = t0;
      this.autofillHints = t1;
      this.currentEditingValue = t2;
    },
    PlatformException$: function(code, details, message, stacktrace) {
      return new F.PlatformException(code, message, details, stacktrace);
    },
    MissingPluginException$: function(message) {
      return new F.MissingPluginException(message);
    },
    MethodCall: function MethodCall(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;
    },
    AnimatedSize$: function(alignment, child, curve, duration, reverseDuration) {
      return new F.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) {
      var _ = this;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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() {
    },
    MediaQuery_MediaQuery$removePadding: function(child, context, removeBottom, removeLeft, removeRight, removeTop) {
      return new F.MediaQuery(context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.removePadding$4$removeBottom$removeLeft$removeRight$removeTop(removeBottom, true, true, removeTop), child, null);
    },
    MediaQuery_maybeOf: function(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery);
      return t1 == null ? null : t1.data;
    },
    MediaQuery_textScaleFactorOf: function(context) {
      var t1 = F.MediaQuery_maybeOf(context);
      t1 = t1 == null ? null : t1.textScaleFactor;
      return t1 == null ? 1 : t1;
    },
    MediaQuery_boldTextOverride: function(context) {
      var t1 = F.MediaQuery_maybeOf(context);
      t1 = t1 == null ? null : t1.boldText;
      return t1 === true;
    },
    Orientation: function Orientation(t0, t1) {
      this.index = t0;
      this._media_query$_name = t1;
    },
    MediaQueryData: function MediaQueryData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      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;
    },
    MediaQuery: function MediaQuery(t0, t1, t2) {
      this.data = t0;
      this.child = t1;
      this.key = t2;
    },
    NavigationMode: function NavigationMode(t0, t1) {
      this.index = t0;
      this._media_query$_name = t1;
    },
    ScrollController$: function(initialScrollOffset) {
      return new F.ScrollController(initialScrollOffset, H._setArrayType([], type$.JSArray_ScrollPosition), P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    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;
    },
    Scrollable$: function(axisDirection, controller, dragStartBehavior, excludeFromSemantics, physics, restorationId, scrollBehavior, semanticChildCount, viewportBuilder) {
      return new F.Scrollable0(axisDirection, controller, physics, viewportBuilder, excludeFromSemantics, semanticChildCount, dragStartBehavior, restorationId, scrollBehavior, null);
    },
    Scrollable_of: function(context) {
      var widget = context.dependOnInheritedWidgetOfExactType$1$0(type$._ScrollableScope);
      return widget == null ? null : widget.scrollable;
    },
    Scrollable_recommendDeferredLoadingForContext: function(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: function(context, alignment, alignmentPolicy) {
      var t1, targetRenderObject, t2, t3, widget,
        futures = H._setArrayType([], type$.JSArray_Future_void),
        scrollable = F.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, C.Cubic_JUR, C.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;
      }
      futures.length !== 0;
      t1 = P.Future_Future$value(null, type$.void);
      return t1;
    },
    _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;
    },
    _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) {
      var _ = this;
      _._scrollable$_position = null;
      _._persistedScrollOffset = t0;
      _.__ScrollableState__configuration = $;
      _._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;
      _._widget = null;
      _._debugLifecycleState = t11;
      _._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;
    },
    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) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    ScrollIncrementType: function ScrollIncrementType(t0, t1) {
      this.index = t0;
      this._scrollable$_name = t1;
    },
    ScrollIntent: function ScrollIntent(t0, t1) {
      this.direction = t0;
      this.type = t1;
    },
    ScrollAction: function ScrollAction(t0) {
      this._actions$_listeners = t0;
    },
    _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() {
    },
    TextSelectionHandleType: function TextSelectionHandleType(t0, t1) {
      this.index = t0;
      this._text_selection$_name = t1;
    },
    _TextSelectionHandlePosition: function _TextSelectionHandlePosition(t0, t1) {
      this.index = t0;
      this._text_selection$_name = t1;
    },
    TextSelectionControls: function TextSelectionControls() {
    },
    TextSelectionOverlay: function TextSelectionOverlay(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.context = t0;
      _.debugRequiredFor = t1;
      _.toolbarLayerLink = t2;
      _.startHandleLayerLink = t3;
      _.endHandleLayerLink = t4;
      _.renderObject = t5;
      _.selectionControls = t6;
      _.selectionDelegate = t7;
      _.dragStartBehavior = t8;
      _.onSelectionHandleTapped = t9;
      _.clipboardStatus = t10;
      _.__TextSelectionOverlay__toolbarController = $;
      _._text_selection$_value = t11;
      _._toolbar = _._handles = null;
      _._handlesVisible = false;
    },
    TextSelectionOverlay_showHandles_closure: function TextSelectionOverlay_showHandles_closure(t0) {
      this.$this = t0;
    },
    TextSelectionOverlay_showHandles_closure0: function TextSelectionOverlay_showHandles_closure0(t0) {
      this.$this = t0;
    },
    TextSelectionOverlay__buildHandle_closure: function TextSelectionOverlay__buildHandle_closure(t0, t1) {
      this.$this = t0;
      this.position = t1;
    },
    _TextSelectionHandleOverlay: function _TextSelectionHandleOverlay(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.selection = t0;
      _.position = t1;
      _.startHandleLayerLink = t2;
      _.endHandleLayerLink = t3;
      _.renderObject = t4;
      _.onSelectionHandleChanged = t5;
      _.onSelectionHandleTapped = t6;
      _.selectionControls = t7;
      _.dragStartBehavior = t8;
      _.key = t9;
    },
    _TextSelectionHandleOverlayState: function _TextSelectionHandleOverlayState(t0, t1) {
      var _ = this;
      _.___TextSelectionHandleOverlayState__controller = _.___TextSelectionHandleOverlayState__dragPosition = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    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;
    },
    _TransparentTapGestureRecognizer: function _TransparentTapGestureRecognizer(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;
      _._supportedDevices = t6;
      _._pointerToKind = t7;
    },
    __TextSelectionHandleOverlayState_State_SingleTickerProviderStateMixin: function __TextSelectionHandleOverlayState_State_SingleTickerProviderStateMixin() {
    },
    GifDecoder: function GifDecoder() {
      var _ = this;
      _._gif_decoder$_buffer = _._gif_decoder$_input = _.info = null;
      _.__GifDecoder__suffix = _.__GifDecoder__stack = $;
      _._gif_decoder$_prefix = null;
      _._bitsPerPixel = 0;
      _._pixelCount = null;
      _._stackPtr = _._currentShiftState = _._currentShiftDWord = 0;
      _._currentCode = null;
      _._clearCode = _._eofCode = _._runningCode = _._runningBits = _._maxCode1 = _._lastCode = 0;
    },
    PsdSolidFillEffect: function PsdSolidFillEffect() {
      this.enabled = this.version = null;
    },
    HdrImage: function HdrImage(t0) {
      var _ = this;
      _.slices = t0;
      _.depth = _.alpha = _.blue = _.green = _.red = null;
    },
    Logger_Logger: function($name) {
      return $.Logger__loggers.putIfAbsent$2(0, $name, new F.Logger_Logger_closure($name));
    },
    Logger: function Logger(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.parent = t1;
      _._level = null;
      _._logger0$_children = t2;
      _.children = t3;
    },
    Logger_Logger_closure: function Logger_Logger_closure(t0) {
      this.name = t0;
    },
    UrlStyle: function UrlStyle(t0, t1, t2, t3) {
      var _ = this;
      _.separatorPattern = t0;
      _.needsSeparatorPattern = t1;
      _.rootPattern = t2;
      _.relativeRootPattern = t3;
    },
    AutoDisposeFutureProvider$: function(_create, $name, $T) {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new F.AutoDisposeFutureProvider(_create, $name, t1, $T._eval$1("AutoDisposeFutureProvider<0>"));
    },
    AutoDisposeFutureProviderFamily$: function(create, $name, $T, $A) {
      return new F.AutoDisposeFutureProviderFamily(create, $name, P.LinkedHashMap_LinkedHashMap$_empty($A, $T._eval$1("AutoDisposeFutureProvider<0>")), $T._eval$1("@<0>")._bind$1($A)._eval$1("AutoDisposeFutureProviderFamily<1,2>"));
    },
    _FutureProviderMixin: function _FutureProviderMixin() {
    },
    _FutureProviderStateMixin: function _FutureProviderStateMixin() {
    },
    _FutureProviderStateMixin_valueChanged_closure: function _FutureProviderStateMixin_valueChanged_closure(t0, t1) {
      this.$this = t0;
      this.listenedFuture = t1;
    },
    _FutureProviderStateMixin_valueChanged_closure0: function _FutureProviderStateMixin_valueChanged_closure0(t0, t1) {
      this.$this = t0;
      this.listenedFuture = t1;
    },
    AutoDisposeFutureProvider: function AutoDisposeFutureProvider(t0, t1, t2, t3) {
      var _ = this;
      _._future_provider$_create = t0;
      _._future_provider$_future = null;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    _AutoDisposeFutureProviderState: function _AutoDisposeFutureProviderState(t0, t1) {
      var _ = this;
      _._FutureProviderStateMixin_listenedFuture = t0;
      _.__ProviderStateBase__element = $;
      _._exposedValue = _._createdValue = null;
      _.$ti = t1;
    },
    AutoDisposeFutureProviderFamily: function AutoDisposeFutureProviderFamily(t0, t1, t2, t3) {
      var _ = this;
      _.builder = t0;
      _.name = t1;
      _._framework0$_cache = t2;
      _.$ti = t3;
    },
    AutoDisposeFutureProviderFamily_create_closure: function AutoDisposeFutureProviderFamily_create_closure(t0, t1, t2) {
      this.$this = t0;
      this.builder = t1;
      this.value = t2;
    },
    FutureProvider: function FutureProvider(t0, t1, t2, t3) {
      var _ = this;
      _._future_provider$_create = t0;
      _._future_provider$_future = null;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    _FutureProviderState: function _FutureProviderState(t0, t1) {
      var _ = this;
      _._FutureProviderStateMixin_listenedFuture = t0;
      _.__ProviderStateBase__element = $;
      _._exposedValue = _._createdValue = null;
      _.$ti = t1;
    },
    FutureProviderFamily: function FutureProviderFamily(t0, t1, t2, t3) {
      var _ = this;
      _.builder = t0;
      _.name = t1;
      _._framework0$_cache = t2;
      _.$ti = t3;
    },
    FutureProviderFamily_create_closure: function FutureProviderFamily_create_closure(t0, t1, t2) {
      this.$this = t0;
      this.builder = t1;
      this.value = t2;
    },
    _AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin: function _AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin() {
    },
    _AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__FutureProviderMixin: function _AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__FutureProviderMixin() {
    },
    _FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin: function _FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin() {
    },
    _FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__FutureProviderMixin: function _FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__FutureProviderMixin() {
    },
    StateProvider$: function(_create, $name, $T) {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new F.StateProvider(_create, $name, t1, $T._eval$1("StateProvider<0>"));
    },
    StateProviderFamily$: function(create, $T, $A) {
      return new F.StateProviderFamily(new F.StateProviderFamily_closure(create, $A, $T), null, P.LinkedHashMap_LinkedHashMap$_empty($A, $T._eval$1("StateProvider<0>")), $T._eval$1("@<0>")._bind$1($A)._eval$1("StateProviderFamily<1,2>"));
    },
    StateController: function StateController(t0, t1, t2) {
      var _ = this;
      _._state_notifier$_listeners = t0;
      _._debugCanAddListeners = _._state_notifier$_mounted = true;
      _._state_notifier$_state = t1;
      _.$ti = t2;
    },
    _StateProviderStateMixin: function _StateProviderStateMixin() {
    },
    _StateProviderStateMixin_valueChanged_closure: function _StateProviderStateMixin_valueChanged_closure(t0) {
      this.$this = t0;
    },
    StateProvider: function StateProvider(t0, t1, t2, t3) {
      var _ = this;
      _._state_provider$_create = t0;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    _StateProviderState: function _StateProviderState(t0, t1) {
      var _ = this;
      _._StateProviderStateMixin_removeListener = t0;
      _.__ProviderStateBase__element = $;
      _._exposedValue = _._createdValue = null;
      _.$ti = t1;
    },
    StateProviderFamily: function StateProviderFamily(t0, t1, t2, t3) {
      var _ = this;
      _.builder = t0;
      _.name = t1;
      _._framework0$_cache = t2;
      _.$ti = t3;
    },
    StateProviderFamily_closure: function StateProviderFamily_closure(t0, t1, t2) {
      this.create = t0;
      this.A = t1;
      this.T = t2;
    },
    StateProviderFamily_create_closure: function StateProviderFamily_create_closure(t0, t1, t2) {
      this.$this = t0;
      this.builder = t1;
      this.value = t2;
    },
    _StateProvider_AlwaysAliveProviderBase_ProviderOverridesMixin: function _StateProvider_AlwaysAliveProviderBase_ProviderOverridesMixin() {
    },
    MethodChannelUrlLauncher: function MethodChannelUrlLauncher(t0) {
      this._instanceToken = t0;
    },
    getSimplePackageUrl: function(url) {
      var flutterPrefixIndex = C.JSString_methods.indexOf$1(url, "packages/flutter/"),
        flutterWebPrefixIndex = C.JSString_methods.indexOf$1(url, "packages/flutter_web/");
      if (flutterPrefixIndex !== -1)
        return "package:" + C.JSString_methods.substring$1(url, flutterPrefixIndex + 9);
      else if (flutterWebPrefixIndex !== -1)
        return "package:" + C.JSString_methods.substring$1(url, flutterWebPrefixIndex + 9);
      return url;
    },
    normalizeVmServiceUri: function(value) {
      var uri;
      value = J.trim$0$s(value);
      if (C.JSString_methods.contains$1(value, "?uri="))
        value = C.JSString_methods.substring$1(value, C.JSString_methods.indexOf$1(value, "?uri=") + 5);
      uri = P.Uri_parse(C.JSString_methods.trim$0(C.JSString_methods.contains$1(value, "%3A%2F%2F") ? P._Uri__uriDecode(value, 0, value.length, C.Utf8Codec_false, false) : value), 0, null).removeFragment$0();
      if (!uri.get$isAbsolute())
        return null;
      if (C.JSString_methods.endsWith$1(uri.get$path(uri), "/"))
        return uri;
      return uri.replace$1$path(0, uri.get$path(uri));
    },
    IsolatePrivateViewExtension_get_newSpaceUsage: function(_this) {
      return J.$index$asx(J.$index$asx(J.$index$asx(_this.json, "_heaps"), "new"), "used");
    },
    IsolatePrivateViewExtension_get_oldSpaceUsage: function(_this) {
      return J.$index$asx(J.$index$asx(J.$index$asx(_this.json, "_heaps"), "old"), "used");
    },
    IsolatePrivateViewExtension_get_newSpaceCapacity: function(_this) {
      return J.$index$asx(J.$index$asx(J.$index$asx(_this.json, "_heaps"), "new"), "capacity");
    },
    IsolatePrivateViewExtension_get_oldSpaceCapacity: function(_this) {
      return J.$index$asx(J.$index$asx(J.$index$asx(_this.json, "_heaps"), "old"), "capacity");
    },
    main0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        vendor, appVersion, t1, t2, t3, t4;
      var $async$main0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.$get$webPluginRegistrar();
              t2 = W._ElementFactoryProvider_createElement_tag("file-selector", null);
              t3 = new G.DomHelper(t2);
              t4 = document.querySelector("body");
              t4.toString;
              J.get$children$x(t4).add$1(0, t2);
              t2 = t3;
              t3 = $.$get$FileSelectorPlatform__token();
              t2 = new M.FileSelectorWeb(t2, t3);
              E.PlatformInterface_verifyToken(t2, t3);
              $.FileSelectorPlatform__instance = t2;
              t2 = window;
              t3 = $.$get$UrlLauncherPlatform__token();
              t4 = new Y.UrlLauncherPlugin(t2, t3);
              t2 = t2.navigator;
              vendor = t2.vendor;
              appVersion = t2.appVersion;
              t4._isSafari = vendor != null && C.JSString_methods.contains$1(vendor, "Apple") && appVersion != null && C.JSString_methods.contains$1(appVersion, "Version");
              E.PlatformInterface_verifyToken(t4, t3);
              $.UrlLauncherPlatform__instance = t4;
              $.$get$platformViewRegistry().toString;
              $.$get$platformViewManager().registerFactory$2("__url_launcher::link", D.link_LinkViewController__viewFactory$closure());
              $.pluginMessageCallHandler = t1.get$handleFrameworkMessage();
              $async$goto = 2;
              return P._asyncAwait(P.webOnlyInitializePlatform(), $async$main0);
            case 2:
              // returning from await.
              F.main();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$main0, $async$completer);
    }
  },
  G = {_ZLibDecoder: function _ZLibDecoder() {
    }, 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;
    }, AnalyticsPrompt: function AnalyticsPrompt(t0, t1, t2) {
      this.child = t0;
      this.provider = t1;
      this.key = t2;
    }, _AnalyticsPromptState: function _AnalyticsPromptState(t0, t1, t2) {
      var _ = this;
      _._prompt$_child = t0;
      _._prompt$_provider = t1;
      _._isVisible = false;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    }, _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__actionButtons_closure0: function _AnalyticsPromptState__actionButtons_closure0(t0) {
      this.$this = t0;
    }, _AnalyticsPromptState__actionButtons__closure: function _AnalyticsPromptState__actionButtons__closure(t0) {
      this.$this = t0;
    },
    CopyToClipboardControl$: function(buttonKey, dataProvider, successMessage) {
      return new G.CopyToClipboardControl(dataProvider, successMessage, buttonKey, null);
    },
    Console: function Console(t0, t1, t2) {
      this.title = 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) {
      this.lines = t0;
      this.key = t1;
    },
    _ConsoleOutputState: function _ConsoleOutputState(t0, t1) {
      var _ = this;
      _._scroll = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _ConsoleOutputState_build_closure: function _ConsoleOutputState_build_closure(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;
    },
    CopyToClipboardControl: function CopyToClipboardControl(t0, t1, t2, t3) {
      var _ = this;
      _.dataProvider = t0;
      _.successMessage = t1;
      _.buttonKey = t2;
      _.key = t3;
    },
    CopyToClipboardControl_build_closure: function CopyToClipboardControl_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    DebuggerConsole: function DebuggerConsole(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _DebuggerConsoleState: function _DebuggerConsoleState(t0, t1) {
      var _ = this;
      _._console$_lines = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _DebuggerConsoleState__onStdioChanged_closure: function _DebuggerConsoleState__onStdioChanged_closure(t0) {
      this.$this = t0;
    },
    _DebuggerConsoleState_build_closure: function _DebuggerConsoleState_build_closure(t0) {
      this.$this = t0;
    },
    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__extractInspectableError_closure1: function ErrorBadgeManager__extractInspectableError_closure1() {
    },
    ErrorBadgeManager__extractInspectableError_closure2: function ErrorBadgeManager__extractInspectableError_closure2() {
    },
    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() {
    },
    HistoryViewport: function HistoryViewport(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.history = t0;
      _.generateTitle = t1;
      _.controls = t2;
      _.contentBuilder = t3;
      _.key = t4;
      _.$ti = t5;
    },
    HistoryViewport_build_closure: function HistoryViewport_build_closure(t0, t1) {
      this.$this = t0;
      this.theme = t1;
    },
    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;
      _.visibleTicks = null;
      _._xAxisLabeledTimestamps = t2;
      _.displayTopLine = t3;
      _.displayXAxis = t4;
      _.displayXLabels = t5;
      _.displayYLabels = t6;
      _.xPaddingRight = _.canvasChartWidth = _.xCanvasChart = null;
      _.canvasChartHeight = _.yCanvasChart = 0;
      _.dirty = false;
      _._chart_controller$_timestamps = t7;
      _.traces = t8;
      _._traceNotifier = t9;
      _._yMaxValue = 0;
      _.yScale = t10;
      _._chart_controller$_title = _._fixedMaxY = _._fixedMinY = null;
      _.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) {
      var _ = this;
      _.colorScheme = _._memoryController = null;
      _.graphicColor = t0;
      _.totalColor = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    MemoryAndroidChartState_didChangeDependencies_closure: function MemoryAndroidChartState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _MemoryAndroidChartState_State_AutoDisposeMixin: function _MemoryAndroidChartState_State_AutoDisposeMixin() {
    },
    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() {
    },
    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;
    },
    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;
    },
    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;
    },
    AnimationController$: function(debugLabel, duration, lowerBound, reverseDuration, upperBound, value, vsync) {
      var t1 = new G.AnimationController(lowerBound, upperBound, debugLabel, C.AnimationBehavior_0, duration, reverseDuration, C._AnimationDirection_0, C.AnimationStatus_0, new R.ObserverList(H._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new R.ObserverList(H._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: function(debugLabel, value, vsync) {
      var t1 = new G.AnimationController(-1 / 0, 1 / 0, debugLabel, C.AnimationBehavior_1, null, null, C._AnimationDirection_0, C.AnimationStatus_0, new R.ObserverList(H._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new R.ObserverList(H._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._animation_controller$_name = t1;
    },
    AnimationBehavior: function AnimationBehavior(t0, t1) {
      this.index = t0;
      this._animation_controller$_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() {
    },
    WriteBuffer$: function() {
      var t1 = E.Uint8Buffer$(),
        t2 = new DataView(new ArrayBuffer(8));
      t1 = new G.WriteBuffer(t1, t2);
      t1.__WriteBuffer__eightBytesAsList = H.NativeUint8List_NativeUint8List$view(t2.buffer, 0, null);
      return t1;
    },
    WriteBuffer: function WriteBuffer(t0, t1) {
      var _ = this;
      _._serialization$_buffer = t0;
      _._isDone = false;
      _._eightBytes = t1;
      _.__WriteBuffer__eightBytesAsList = $;
    },
    ReadBuffer: function ReadBuffer(t0) {
      this.data = t0;
      this._serialization$_position = 0;
    },
    PointerSignalResolver: function PointerSignalResolver() {
      this._currentEvent = this._firstRegisteredCallback = null;
    },
    DividerTheme_of: function(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.DividerTheme);
      t1 = K.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() {
    },
    flipAxis: function(direction) {
      switch (direction) {
        case C.Axis_0:
          return C.Axis_1;
        case C.Axis_1:
          return C.Axis_0;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    axisDirectionToAxis: function(axisDirection) {
      switch (axisDirection) {
        case C.AxisDirection_0:
        case C.AxisDirection_2:
          return C.Axis_1;
        case C.AxisDirection_3:
        case C.AxisDirection_1:
          return C.Axis_0;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    textDirectionToAxisDirection: function(textDirection) {
      switch (textDirection) {
        case C.TextDirection_0:
          return C.AxisDirection_3;
        case C.TextDirection_1:
          return C.AxisDirection_1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    flipAxisDirection: function(axisDirection) {
      switch (axisDirection) {
        case C.AxisDirection_0:
          return C.AxisDirection_2;
        case C.AxisDirection_1:
          return C.AxisDirection_3;
        case C.AxisDirection_2:
          return C.AxisDirection_0;
        case C.AxisDirection_3:
          return C.AxisDirection_1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    axisDirectionIsReversed: function(axisDirection) {
      switch (axisDirection) {
        case C.AxisDirection_0:
        case C.AxisDirection_3:
          return true;
        case C.AxisDirection_2:
        case C.AxisDirection_1:
          return false;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    RenderComparison: function RenderComparison(t0, t1) {
      this.index = t0;
      this._basic_types$_name = t1;
    },
    Axis: function Axis(t0, t1) {
      this.index = t0;
      this._basic_types$_name = t1;
    },
    VerticalDirection: function VerticalDirection(t0, t1) {
      this.index = t0;
      this._basic_types$_name = t1;
    },
    AxisDirection: function AxisDirection(t0, t1) {
      this.index = t0;
      this._basic_types$_name = t1;
    },
    combineSemanticsInfo: function(infoList) {
      var t1, workingLabel, workingText, _i, info, t2, t3, _null = null,
        combined = H._setArrayType([], type$.JSArray_InlineSpanSemanticsInformation);
      for (t1 = infoList.length, workingLabel = _null, workingText = "", _i = 0; _i < infoList.length; infoList.length === t1 || (0, H.throwConcurrentModificationError)(infoList), ++_i) {
        info = infoList[_i];
        if (info.requiresOwnNode) {
          t2 = workingLabel == null ? workingText : workingLabel;
          combined.push(new G.InlineSpanSemanticsInformation(workingText, t2, _null, false));
          combined.push(info);
          workingLabel = _null;
          workingText = "";
        } else {
          t2 = info.text;
          workingText = C.JSString_methods.$add(workingText, t2);
          if (workingLabel == null)
            workingLabel = "";
          t3 = info.semanticsLabel;
          workingLabel = t3 != null ? workingLabel + t3 : C.JSString_methods.$add(workingLabel, t2);
        }
      }
      combined.push(new G.InlineSpanSemanticsInformation(workingText, workingLabel, _null, false));
      return combined;
    },
    Accumulator: function Accumulator() {
      this._inline_span$_value = 0;
    },
    InlineSpanSemanticsInformation: function InlineSpanSemanticsInformation(t0, t1, t2, t3) {
      var _ = this;
      _.text = t0;
      _.semanticsLabel = t1;
      _.recognizer = t2;
      _.requiresOwnNode = t3;
    },
    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;
    },
    applyGrowthDirectionToAxisDirection: function(axisDirection, growthDirection) {
      switch (growthDirection) {
        case C.GrowthDirection_0:
          return axisDirection;
        case C.GrowthDirection_1:
          return G.flipAxisDirection(axisDirection);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    applyGrowthDirectionToScrollDirection: function(scrollDirection, growthDirection) {
      switch (growthDirection) {
        case C.GrowthDirection_0:
          return scrollDirection;
        case C.GrowthDirection_1:
          return N.flipScrollDirection(scrollDirection);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    SliverGeometry$: function(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 G.SliverGeometry(scrollExtent, paintOrigin, paintExtent, t1, maxPaintExtent, t2, paintExtent > 0, hasVisualOverflow, scrollOffsetCorrection, t3);
    },
    GrowthDirection: function GrowthDirection(t0, t1) {
      this.index = t0;
      this._sliver$_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() {
    },
    LogicalKeyboardKey__nonValueBits: function(n) {
      var t1 = C.JSNumber_methods.floor$0(n / 4294967296);
      return t1 & 1048575;
    },
    LogicalKeyboardKey__unicodeKeyLabel: function(keyId) {
      if (G.LogicalKeyboardKey__nonValueBits(keyId) === 0)
        return H.Primitives_stringFromCharCode(keyId).toUpperCase();
      return null;
    },
    LogicalKeyboardKey_collapseSynonyms: function(input) {
      var t1, t2, synonym,
        result = P.LinkedHashSet_LinkedHashSet$_empty(type$.LogicalKeyboardKey);
      for (t1 = input.get$iterator(input); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        synonym = $.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() {
    },
    AnimatedOpacity$: function(alwaysIncludeSemantics, child, curve, duration, onEnd, opacity) {
      return new G.AnimatedOpacity(child, opacity, alwaysIncludeSemantics, curve, duration, onEnd, null);
    },
    AnimatedDefaultTextStyle$: function(child, curve, duration, softWrap, style) {
      return new G.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) {
      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;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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) {
      var _ = this;
      _._implicit_animations$_padding = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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) {
      var _ = this;
      _._implicit_animations$_opacity = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = _.___AnimatedOpacityState__opacityAnimation = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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) {
      var _ = this;
      _._implicit_animations$_style = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _AnimatedDefaultTextStyleState_forEachTween_closure: function _AnimatedDefaultTextStyleState_forEachTween_closure() {
    },
    AnimatedPhysicalModel: function AnimatedPhysicalModel(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.child = t0;
      _.shape = t1;
      _.clipBehavior = t2;
      _.borderRadius = t3;
      _.elevation = t4;
      _.color = t5;
      _.animateColor = t6;
      _.shadowColor = t7;
      _.curve = t8;
      _.duration = t9;
      _.onEnd = t10;
      _.key = t11;
    },
    _AnimatedPhysicalModelState: function _AnimatedPhysicalModelState(t0, t1) {
      var _ = this;
      _._implicit_animations$_shadowColor = _._implicit_animations$_color = _._implicit_animations$_elevation = _._borderRadius = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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() {
    },
    defaultScrollNotificationPredicate: function(notification) {
      return notification.ViewportNotificationMixin__depth === 0;
    },
    ViewportNotificationMixin: function ViewportNotificationMixin() {
    },
    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() {
    },
    _kDefaultSemanticIndexCallback: function(_, localIndex) {
      return localIndex;
    },
    SliverChildListDelegate$: function(children, addAutomaticKeepAlives, addRepaintBoundaries, addSemanticIndexes) {
      return new G.SliverChildListDelegate(true, true, true, children, P.LinkedHashMap_LinkedHashMap$_literal([null, 0], type$.nullable_Key, type$.int));
    },
    SliverMultiBoxAdaptorElement$: function(widget, replaceMovedChildren) {
      var t1 = P.SplayTreeMap$(null, type$.int, type$.nullable_Element),
        t2 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t2;
      return new G.SliverMultiBoxAdaptorElement(replaceMovedChildren, t1, t2, widget, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
    },
    SliverMultiBoxAdaptorElement__extrapolateMaxScrollOffset: function(firstIndex, lastIndex, leadingScrollOffset, trailingScrollOffset, childCount) {
      if (lastIndex === childCount - 1)
        return trailingScrollOffset;
      return trailingScrollOffset + (trailingScrollOffset - leadingScrollOffset) / (lastIndex - firstIndex + 1) * (childCount - lastIndex - 1);
    },
    KeepAlive$: function(child, keepAlive) {
      return new G.KeepAlive(keepAlive, child, null);
    },
    SliverChildDelegate: function SliverChildDelegate() {
    },
    _SaltedValueKey: function _SaltedValueKey(t0) {
      this.value = t0;
    },
    SliverChildBuilderDelegate: function SliverChildBuilderDelegate(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.builder = t0;
      _.childCount = t1;
      _.addAutomaticKeepAlives = t2;
      _.addRepaintBoundaries = t3;
      _.addSemanticIndexes = t4;
      _.semanticIndexCallback = t5;
    },
    SliverChildListDelegate: function SliverChildListDelegate(t0, t1, t2, t3, t4) {
      var _ = this;
      _.addAutomaticKeepAlives = t0;
      _.addRepaintBoundaries = t1;
      _.addSemanticIndexes = t2;
      _.children = t3;
      _._keyToIndex = t4;
    },
    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, t4, t5) {
      var _ = this;
      _._replaceMovedChildren = t0;
      _._sliver0$_childElements = t1;
      _._currentlyUpdatingChildIndex = _._currentBeforeChild = null;
      _._didUnderflow = false;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _._cachedHash = t2;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t3;
      _._owner = null;
      _._lifecycleState = t4;
      _._debugForgottenChildrenWithGlobalKey = t5;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    SliverMultiBoxAdaptorElement_performRebuild_processElement: function SliverMultiBoxAdaptorElement_performRebuild_processElement(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.newChildren = t2;
      _.indexToLayoutOffset = t3;
    },
    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;
    },
    get: function(url) {
      return G._withClient(new G.get_closure(url, null), type$.Response_2);
    },
    _withClient: function(fn, $T) {
      return G._withClient$body(fn, $T, $T);
    },
    _withClient$body: function(fn, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], t1, client;
      var $async$_withClient = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              client = new O.BrowserClient(P.LinkedHashSet_LinkedHashSet$_empty(type$.HttpRequest));
              $async$handler = 3;
              $async$goto = 6;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_withClient, $async$completer);
    },
    get_closure: function get_closure(t0, t1) {
      this.url = t0;
      this.headers = t1;
    },
    BaseRequest: function BaseRequest() {
    },
    BaseRequest_closure: function BaseRequest_closure() {
    },
    BaseRequest_closure0: function BaseRequest_closure0() {
    },
    ExifData$from: function(other) {
      var t1 = type$.int,
        t2 = type$.dynamic;
      t1 = new G.ExifData(other == null ? P.LinkedHashMap_LinkedHashMap$_empty(t1, t2) : P.LinkedHashMap_LinkedHashMap$from(other.data, t1, t2));
      t1.ExifData$from$1(other);
      return t1;
    },
    ExifData: function ExifData(t0) {
      this.rawData = null;
      this.data = t0;
    },
    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;
      _._exr_compressor$_header = t2;
    },
    _PizChannelData: function _PizChannelData() {
      var _ = this;
      _.___PizChannelData_size = _.___PizChannelData_ys = _.___PizChannelData_ny = _.___PizChannelData_nx = _.___PizChannelData_end = _.___PizChannelData_start = $;
    },
    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() {
    },
    TiffEntry: function TiffEntry(t0, t1, t2, t3) {
      var _ = this;
      _.tag = t0;
      _.type = t1;
      _.numValues = t2;
      _.valueOffset = null;
      _.p = t3;
    },
    LzwDecoder$: function() {
      return new G.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 = $;
    },
    OutputBuffer$: function(size) {
      return new G.OutputBuffer(new Uint8Array(size));
    },
    OutputBuffer: function OutputBuffer(t0) {
      this.length = 0;
      this._output_buffer$_buffer = t0;
    },
    SourceSpanFormatException$: function(message, span, source) {
      return new G.SourceSpanFormatException(source, message, span);
    },
    SourceSpanException: function SourceSpanException() {
    },
    SourceSpanFormatException: function SourceSpanFormatException(t0, t1, t2) {
      this.source = t0;
      this._span_exception$_message = t1;
      this._span = t2;
    },
    _synthesiseDownButtons: function(buttons, kind) {
      switch (kind) {
        case C.PointerDeviceKind_1:
          return buttons;
        case C.PointerDeviceKind_0:
        case C.PointerDeviceKind_2:
        case C.PointerDeviceKind_3:
          return (buttons | 1) >>> 0;
        case C.PointerDeviceKind_4:
          return buttons === 0 ? 1 : buttons;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    PointerEventConverter_expand: function($async$data, $async$devicePixelRatio) {
      return P._makeSyncStarIterable(function() {
        var data = $async$data,
          devicePixelRatio = $async$devicePixelRatio;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, _i, datum, position, delta, radiusMinor, radiusMajor, radiusMin, radiusMax, timeStamp, kind, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11;
        return function $async$PointerEventConverter_expand($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 = data.length, _i = 0;
              case 2:
                // for condition
                if (!(_i < data.length)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                datum = data[_i];
                position = new P.Offset(datum.physicalX / devicePixelRatio, datum.physicalY / devicePixelRatio);
                delta = new P.Offset(datum.physicalDeltaX / devicePixelRatio, datum.physicalDeltaY / devicePixelRatio);
                radiusMinor = datum.radiusMinor / devicePixelRatio;
                radiusMajor = datum.radiusMajor / devicePixelRatio;
                radiusMin = datum.radiusMin / devicePixelRatio;
                radiusMax = datum.radiusMax / devicePixelRatio;
                timeStamp = datum.timeStamp;
                kind = datum.kind;
                t2 = datum.signalKind;
                $async$goto = t2 == null || t2 === C.PointerSignalKind_0 ? 5 : 7;
                break;
              case 5:
                // then
              case 8:
                // switch
                switch (datum.change) {
                  case C.PointerChange_1:
                    // goto case
                    $async$goto = 10;
                    break;
                  case C.PointerChange_3:
                    // goto case
                    $async$goto = 11;
                    break;
                  case C.PointerChange_4:
                    // goto case
                    $async$goto = 12;
                    break;
                  case C.PointerChange_5:
                    // goto case
                    $async$goto = 13;
                    break;
                  case C.PointerChange_6:
                    // goto case
                    $async$goto = 14;
                    break;
                  case C.PointerChange_0:
                    // goto case
                    $async$goto = 15;
                    break;
                  case C.PointerChange_2:
                    // goto case
                    $async$goto = 16;
                    break;
                  default:
                    // goto default
                    $async$goto = 17;
                    break;
                }
                break;
              case 10:
                // case
                t2 = datum.device;
                t3 = datum.pressureMin;
                t4 = datum.pressureMax;
                $async$goto = 18;
                return F.PointerAddedEvent$(t2, datum.distance, datum.distanceMax, 0, kind, false, datum.orientation, position, t4, t3, radiusMax, radiusMin, datum.tilt, timeStamp);
              case 18:
                // after yield
                // goto after switch
                $async$goto = 9;
                break;
              case 11:
                // case
                t2 = datum.device;
                t3 = datum.buttons;
                t4 = datum.pressureMin;
                t5 = datum.pressureMax;
                t6 = datum.distance;
                t7 = datum.distanceMax;
                t8 = datum.size;
                t9 = datum.orientation;
                t10 = datum.tilt;
                $async$goto = 19;
                return F.PointerHoverEvent$(t3, delta, t2, t6, t7, 0, kind, false, t9, position, t5, t4, radiusMajor, radiusMax, radiusMin, radiusMinor, t8, datum.synthesized, t10, timeStamp);
              case 19:
                // after yield
                // goto after switch
                $async$goto = 9;
                break;
              case 12:
                // case
                t2 = datum.pointerIdentifier;
                t3 = datum.device;
                t4 = G._synthesiseDownButtons(datum.buttons, kind);
                t5 = datum.pressure;
                t6 = datum.pressureMin;
                t7 = datum.pressureMax;
                t8 = datum.distanceMax;
                t9 = datum.size;
                $async$goto = 20;
                return F.PointerDownEvent$(t4, t3, t8, 0, kind, false, datum.orientation, t2, position, t5, t7, t6, radiusMajor, radiusMax, radiusMin, radiusMinor, t9, datum.tilt, timeStamp);
              case 20:
                // after yield
                // goto after switch
                $async$goto = 9;
                break;
              case 13:
                // case
                t2 = datum.pointerIdentifier;
                t3 = datum.device;
                t4 = G._synthesiseDownButtons(datum.buttons, kind);
                t5 = datum.pressure;
                t6 = datum.pressureMin;
                t7 = datum.pressureMax;
                t8 = datum.distanceMax;
                t9 = datum.size;
                t10 = datum.orientation;
                t11 = datum.tilt;
                $async$goto = 21;
                return F.PointerMoveEvent$(t4, delta, t3, t8, 0, kind, false, t10, datum.platformData, t2, position, t5, t7, t6, radiusMajor, radiusMax, radiusMin, radiusMinor, t9, datum.synthesized, t11, timeStamp);
              case 21:
                // after yield
                // goto after switch
                $async$goto = 9;
                break;
              case 14:
                // case
                t2 = datum.pointerIdentifier;
                t3 = datum.device;
                t4 = datum.buttons;
                t5 = datum.pressure;
                t6 = datum.pressureMin;
                t7 = datum.pressureMax;
                t8 = datum.distance;
                t9 = datum.distanceMax;
                t10 = datum.size;
                $async$goto = 22;
                return F.PointerUpEvent$(t4, t3, t8, t9, 0, kind, false, datum.orientation, t2, position, t5, t7, t6, radiusMajor, radiusMax, radiusMin, radiusMinor, t10, datum.tilt, timeStamp);
              case 22:
                // after yield
                // goto after switch
                $async$goto = 9;
                break;
              case 15:
                // case
                t2 = datum.pointerIdentifier;
                t3 = datum.device;
                t4 = datum.buttons;
                t5 = datum.pressureMin;
                t6 = datum.pressureMax;
                t7 = datum.distance;
                t8 = datum.distanceMax;
                t9 = datum.size;
                $async$goto = 23;
                return F.PointerCancelEvent$(t4, t3, t7, t8, 0, kind, false, datum.orientation, t2, position, t6, t5, radiusMajor, radiusMax, radiusMin, radiusMinor, t9, datum.tilt, timeStamp);
              case 23:
                // after yield
                // goto after switch
                $async$goto = 9;
                break;
              case 16:
                // case
                t2 = datum.device;
                t3 = datum.pressureMin;
                t4 = datum.pressureMax;
                $async$goto = 24;
                return F.PointerRemovedEvent$(t2, datum.distanceMax, 0, kind, false, position, t4, t3, radiusMax, radiusMin, timeStamp);
              case 24:
                // after yield
                // goto after switch
                $async$goto = 9;
                break;
              case 17:
                // default
                throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
              case 9:
                // after switch
                // goto join
                $async$goto = 6;
                break;
              case 7:
                // else
                t2.toString;
              case 25:
                // switch
                switch (t2) {
                  case C.PointerSignalKind_1:
                    // goto case
                    $async$goto = 27;
                    break;
                  case C.PointerSignalKind_0:
                    // goto case
                    $async$goto = 28;
                    break;
                  case C.PointerSignalKind_2:
                    // goto case
                    $async$goto = 29;
                    break;
                  default:
                    // goto default
                    $async$goto = 30;
                    break;
                }
                break;
              case 27:
                // case
                t2 = datum.scrollDeltaX;
                t3 = datum.scrollDeltaY;
                $async$goto = 31;
                return F.PointerScrollEvent$(datum.device, 0, kind, position, new P.Offset(t2 / devicePixelRatio, t3 / devicePixelRatio), timeStamp);
              case 31:
                // after yield
                // goto after switch
                $async$goto = 26;
                break;
              case 28:
                // case
                // goto after switch
                $async$goto = 26;
                break;
              case 29:
                // case
                // goto after switch
                $async$goto = 26;
                break;
              case 30:
                // default
                throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
              case 26:
                // after switch
              case 6:
                // join
              case 3:
                // for update
                data.length === t1 || (0, H.throwConcurrentModificationError)(data), ++_i;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.PointerEvent_2);
    }
  },
  H = {
    initializeEngine: function() {
      var t1 = {};
      if ($._engineInitialized)
        return;
      H._addUrlStrategyListener();
      P.registerExtension("ext.flutter.disassemble", new H.initializeEngine_closure());
      $._engineInitialized = true;
      $.$get$domRenderer();
      if ($.WebExperiments_instance == null)
        $.WebExperiments_instance = H.WebExperiments$_();
      t1.waitingForAnimation = false;
      $.scheduleFrameCallback = new H.initializeEngine_closure0(t1);
      if ($.Keyboard__instance == null)
        $.Keyboard__instance = H.Keyboard$_();
      if ($.MouseCursor__instance == null)
        $.MouseCursor__instance = new H.MouseCursor();
    },
    _addUrlStrategyListener: function() {
      self._flutter_web_set_location_strategy = P.allowInterop(new H._addUrlStrategyListener_closure());
      $._hotRestartListeners.push(new H._addUrlStrategyListener_closure0());
    },
    toMatrix32: function(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;
    },
    detectBrowserEngineByVendorAgent: function(vendor, agent) {
      var exp;
      if (vendor === "Google Inc.") {
        exp = P.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 C.BrowserEngine_5;
        return C.BrowserEngine_0;
      } else if (vendor === "Apple Computer, Inc.")
        return C.BrowserEngine_1;
      else if (C.JSString_methods.contains$1(agent, "edge/"))
        return C.BrowserEngine_3;
      else if (C.JSString_methods.contains$1(agent, "Edg/"))
        return C.BrowserEngine_0;
      else if (C.JSString_methods.contains$1(agent, "trident/7.0"))
        return C.BrowserEngine_4;
      else if (vendor === "" && C.JSString_methods.contains$1(agent, "firefox"))
        return C.BrowserEngine_2;
      P.print("WARNING: failed to detect current browser engine.");
      return C.BrowserEngine_6;
    },
    detectOperatingSystem: function() {
      var platform, userAgent, maxTouchPoints,
        t1 = window.navigator;
      t1 = t1.platform;
      t1.toString;
      platform = t1;
      t1 = window.navigator;
      userAgent = t1.userAgent;
      if (C.JSString_methods.startsWith$1(platform, "Mac")) {
        t1 = window.navigator;
        maxTouchPoints = t1.maxTouchPoints;
        if ((maxTouchPoints == null ? 0 : maxTouchPoints) > 2)
          return C.OperatingSystem_0;
        return C.OperatingSystem_4;
      } else if (C.JSString_methods.contains$1(platform.toLowerCase(), "iphone") || C.JSString_methods.contains$1(platform.toLowerCase(), "ipad") || C.JSString_methods.contains$1(platform.toLowerCase(), "ipod"))
        return C.OperatingSystem_0;
      else if (J.contains$1$asx(userAgent, "Android"))
        return C.OperatingSystem_1;
      else if (C.JSString_methods.startsWith$1(platform, "Linux"))
        return C.OperatingSystem_2;
      else if (C.JSString_methods.startsWith$1(platform, "Win"))
        return C.OperatingSystem_3;
      else
        return C.OperatingSystem_5;
    },
    _detectWebGLVersion: function() {
      var canvas = W.CanvasElement_CanvasElement(1, 1);
      if (C.CanvasElement_methods.getContext$1(canvas, "webgl2") != null)
        return 2;
      if (C.CanvasElement_methods.getContext$1(canvas, "webgl") != null)
        return 1;
      return -1;
    },
    toSkFilterMode: function(filterQuality) {
      return filterQuality === C.FilterQuality_0 ? J.get$Nearest$x(J.get$FilterMode$x($.canvasKit._readField$0())) : J.get$Linear$x(J.get$FilterMode$x($.canvasKit._readField$0()));
    },
    toSkMipmapMode: function(filterQuality) {
      return filterQuality === C.FilterQuality_2 ? J.get$Linear$x(J.get$MipmapMode$x($.canvasKit._readField$0())) : J.get$None$x(J.get$MipmapMode$x($.canvasKit._readField$0()));
    },
    toSkMatrixFromFloat32: function(matrix4) {
      var i, matrix4Index,
        skMatrix = new Float32Array(9);
      for (i = 0; i < 9; ++i) {
        matrix4Index = C.List_yXZ[i];
        if (matrix4Index < 16)
          skMatrix[i] = matrix4[matrix4Index];
        else
          skMatrix[i] = 0;
      }
      return skMatrix;
    },
    toSkPoint: function(offset) {
      var point = new Float32Array(2);
      point[0] = offset._dx;
      point[1] = offset._dy;
      return point;
    },
    toSkColorStops: function(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: function(size) {
      return self.window.flutterCanvasKit.Malloc(self.Float32Array, size);
    },
    toSkRect: function(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: function(skRect) {
      var t1 = J.getInterceptor$asx(skRect);
      return new P.Rect(t1.$index(skRect, 0), t1.$index(skRect, 1), t1.$index(skRect, 2), t1.$index(skRect, 3));
    },
    toSkRRect: function(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;
    },
    toFlatColors: function(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$: function(receiver) {
      return new H.SkParagraphStyleProperties();
    },
    SkTextStyleProperties$: function(receiver) {
      return new H.SkTextStyleProperties();
    },
    SkStrutStyleProperties$: function(receiver) {
      return new H.SkStrutStyleProperties();
    },
    SkFontStyle$: function(receiver) {
      return new H.SkFontStyle();
    },
    SkTextShadow$: function(receiver) {
      return new H.SkTextShadow();
    },
    ProductionCollector$: function() {
      var t1 = new H.ProductionCollector(H._setArrayType([], type$.JSArray_SkDeletable));
      t1.ProductionCollector$0();
      return t1;
    },
    Mutator$transform: function(matrix) {
      var _null = null;
      return new H.Mutator(C.MutatorType_3, _null, _null, _null, matrix, _null);
    },
    FontFallbackData_createNotoFontTree: function() {
      var t2, _i, font, t3, t4, _i0, range,
        t1 = type$.NotoFont,
        ranges = P.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, H.throwConcurrentModificationError)(t3), ++_i0) {
          range = t3[_i0];
          J.add$1$ax(ranges.putIfAbsent$2(0, font, new H.FontFallbackData_createNotoFontTree_closure()), range);
        }
      }
      return H.IntervalTree_IntervalTree$createFromRanges(ranges, t1);
    },
    findFontsForMissingCodeunits: function(codeUnits) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, fonts, t1, coveredCodeUnits, missingCodeUnits, t2, _i, codeUnit, t3, results, unmatchedCodeUnits, resolvedFonts, t4, t5, data;
      var $async$findFontsForMissingCodeunits = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              data = $.$get$FontFallbackData__instance();
              if (C.JSArray_methods.every$1(codeUnits, new H.findFontsForMissingCodeunits_closure(data))) {
                // goto return
                $async$goto = 1;
                break;
              }
              fonts = P.LinkedHashSet_LinkedHashSet$_empty(type$.NotoFont);
              t1 = type$.int;
              coveredCodeUnits = P.LinkedHashSet_LinkedHashSet$_empty(t1);
              missingCodeUnits = P.LinkedHashSet_LinkedHashSet$_empty(t1);
              for (t2 = codeUnits.length, _i = 0; _i < codeUnits.length; codeUnits.length === t2 || (0, H.throwConcurrentModificationError)(codeUnits), ++_i) {
                codeUnit = codeUnits[_i];
                t3 = data.notoTree;
                results = H._setArrayType([], t3.$ti._eval$1("JSArray<1>"));
                t3.root.searchForPoint$2(codeUnit, results);
                fonts.addAll$1(0, results);
                if (results.length !== 0)
                  coveredCodeUnits.add$1(0, codeUnit);
                else
                  missingCodeUnits.add$1(0, codeUnit);
              }
              t2 = P._LinkedHashSetIterator$(fonts, fonts._collection$_modifications, fonts.$ti._precomputed1);
            case 3:
              // for condition
              if (!t2.moveNext$0()) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return P._asyncAwait(t2._collection$_current.ensureResolved$0(), $async$findFontsForMissingCodeunits);
            case 5:
              // returning from await.
              // goto for condition
              $async$goto = 3;
              break;
            case 4:
              // after for
              unmatchedCodeUnits = P.LinkedHashSet_LinkedHashSet$from(coveredCodeUnits, t1);
              fonts = H.findMinimumFontsForCodeUnits(unmatchedCodeUnits, fonts);
              resolvedFonts = P.LinkedHashSet_LinkedHashSet$_empty(type$._ResolvedNotoSubset);
              for (t1 = P._LinkedHashSetIterator$(coveredCodeUnits, coveredCodeUnits._collection$_modifications, coveredCodeUnits.$ti._precomputed1), t2 = H._instanceType(fonts)._eval$1("_LinkedHashSetIterator<1>"); t1.moveNext$0();) {
                t3 = t1._collection$_current;
                for (t4 = new P._LinkedHashSetIterator(fonts, fonts._collection$_modifications, t2), t4._collection$_cell = fonts._collection$_first; t4.moveNext$0();) {
                  t5 = t4._collection$_current.resolvedFont;
                  if (t5 == null)
                    continue;
                  t5 = t5.tree;
                  results = H._setArrayType([], t5.$ti._eval$1("JSArray<1>"));
                  t5.root.searchForPoint$2(t3, results);
                  resolvedFonts.addAll$1(0, results);
                }
              }
              for (t1 = P._LinkedHashSetIterator$(resolvedFonts, resolvedFonts._collection$_modifications, resolvedFonts.$ti._precomputed1); t1.moveNext$0();) {
                t2 = t1._collection$_current;
                $.$get$notoDownloadQueue().add$1(0, t2);
              }
              if (missingCodeUnits._collection$_length !== 0 || unmatchedCodeUnits._collection$_length !== 0)
                if (!data.registeredSymbolsAndEmoji)
                  H._registerSymbolsAndEmoji();
                else {
                  t1 = $.$get$notoDownloadQueue();
                  t2 = t1.pendingSubsets;
                  if (!(t2.get$isNotEmpty(t2) || t1._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");
                    data.codeUnitsWithNoKnownFont.addAll$1(0, missingCodeUnits);
                  }
                }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$findFontsForMissingCodeunits, $async$completer);
    },
    _makeResolvedNotoFontFromCss: function(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 = H._setArrayType([], type$.JSArray__ResolvedNotoSubset);
      for (t1 = P.LineSplitter_split(css), t1 = new P._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 (J.startsWith$1$s(t3, "  src:")) {
          urlStart = C.JSString_methods.indexOf$1(t3, "url(");
          if (urlStart === -1) {
            $.$get$printWarning().call$1("Unable to resolve Noto font URL: " + t3);
            return _null;
          }
          fontFaceUrl = C.JSString_methods.substring$2(t3, urlStart + 4, C.JSString_methods.indexOf$1(t3, ")"));
          resolvingFontFace = true;
        } else if (C.JSString_methods.startsWith$1(t3, "  unicode-range:")) {
          fontFaceUnicodeRanges = H._setArrayType([], t2);
          rawRanges = C.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 = P.int_parse(J.substring$1$s(C.JSArray_methods.get$single(startEnd), 2), 16);
              fontFaceUnicodeRanges.push(new H.CodeunitRange(rangeValue, rangeValue));
            } else {
              startRange = startEnd[0];
              endRange = startEnd[1];
              fontFaceUnicodeRanges.push(new H.CodeunitRange(P.int_parse(J.substring$1$s(startRange, 2), 16), P.int_parse(endRange, 16)));
            }
          }
          resolvingFontFace = true;
        } else {
          if (t3 === "}") {
            if (fontFaceUrl == null || fontFaceUnicodeRanges == null) {
              $.$get$printWarning().call$1(_s34_ + H.S(css));
              return _null;
            }
            subsets.push(new H._ResolvedNotoSubset(fontFaceUrl, $name, fontFaceUnicodeRanges));
          } else
            continue;
          resolvingFontFace = false;
        }
      }
      if (resolvingFontFace) {
        $.$get$printWarning().call$1(_s34_ + H.S(css));
        return _null;
      }
      t1 = type$._ResolvedNotoSubset;
      rangesMap = P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.List_CodeunitRange);
      for (t2 = subsets.length, _i = 0; _i < subsets.length; subsets.length === t2 || (0, H.throwConcurrentModificationError)(subsets), ++_i) {
        subset = subsets[_i];
        for (t3 = subset.ranges, t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i0) {
          range = t3[_i0];
          J.add$1$ax(rangesMap.putIfAbsent$2(0, subset, new H._makeResolvedNotoFontFromCss_closure()), range);
        }
      }
      if (rangesMap.get$isEmpty(rangesMap)) {
        $.$get$printWarning().call$1("Parsed Google Fonts CSS was empty: " + H.S(css));
        return _null;
      }
      return new H._ResolvedNotoFont($name, H.IntervalTree_IntervalTree$createFromRanges(rangesMap, t1));
    },
    _registerSymbolsAndEmoji: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, symbolsCss, emojiCss, t1, symbolsFontUrl, emojiFontUrl, data;
      var $async$_registerSymbolsAndEmoji = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              data = $.$get$FontFallbackData__instance();
              if (data.registeredSymbolsAndEmoji) {
                // goto return
                $async$goto = 1;
                break;
              }
              data.registeredSymbolsAndEmoji = true;
              $async$goto = 3;
              return P._asyncAwait($.$get$notoDownloadQueue().downloader.downloadAsString$1("https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols"), $async$_registerSymbolsAndEmoji);
            case 3:
              // returning from await.
              symbolsCss = $async$result;
              $async$goto = 4;
              return P._asyncAwait($.$get$notoDownloadQueue().downloader.downloadAsString$1("https://fonts.googleapis.com/css2?family=Noto+Color+Emoji+Compat"), $async$_registerSymbolsAndEmoji);
            case 4:
              // returning from await.
              emojiCss = $async$result;
              t1 = new H._registerSymbolsAndEmoji_extractUrlFromCss();
              symbolsFontUrl = t1.call$1(symbolsCss);
              emojiFontUrl = t1.call$1(emojiCss);
              if (symbolsFontUrl != null)
                $.$get$notoDownloadQueue().add$1(0, new H._ResolvedNotoSubset(symbolsFontUrl, "Noto Sans Symbols", C.List_empty4));
              else
                $.$get$printWarning().call$1("Error parsing CSS for Noto Symbols font.");
              if (emojiFontUrl != null)
                $.$get$notoDownloadQueue().add$1(0, new H._ResolvedNotoSubset(emojiFontUrl, "Noto Color Emoji Compat", C.List_empty4));
              else
                $.$get$printWarning().call$1("Error parsing CSS for Noto Emoji font.");
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_registerSymbolsAndEmoji, $async$completer);
    },
    findMinimumFontsForCodeUnits: function(codeUnits, fonts) {
      var language, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _box_0, t12, maxCodeUnitsCovered, t13, t14, codeUnitsCovered, t15, t16,
        minimumFonts = P.LinkedHashSet_LinkedHashSet$_empty(type$.NotoFont),
        bestFonts = H._setArrayType([], type$.JSArray_NotoFont),
        t1 = window.navigator;
      t1.toString;
      language = t1.language || t1.userLanguage;
      for (t1 = H._instanceType(fonts)._eval$1("_LinkedHashSetIterator<1>"), t2 = H._instanceType(codeUnits)._eval$1("_LinkedHashSetIterator<1>"), t3 = language === "ja", t4 = language === "zh-HK", t5 = language !== "zh-Hant", t6 = language !== "zh-Hans", t7 = language !== "zh-CN", t8 = language !== "zh-SG", t9 = language === "zh-MY", t10 = language !== "zh-TW", t11 = language === "zh-MO"; codeUnits._collection$_length !== 0;) {
        _box_0 = {};
        C.JSArray_methods.set$length(bestFonts, 0);
        for (t12 = new P._LinkedHashSetIterator(fonts, fonts._collection$_modifications, t1), t12._collection$_cell = fonts._collection$_first, maxCodeUnitsCovered = 0; t12.moveNext$0();) {
          t13 = t12._collection$_current;
          for (t14 = new P._LinkedHashSetIterator(codeUnits, codeUnits._collection$_modifications, t2), t14._collection$_cell = codeUnits._collection$_first, codeUnitsCovered = 0; t14.moveNext$0();) {
            t15 = t14._collection$_current;
            t16 = t13.resolvedFont;
            if ((t16 == null ? null : t16.tree.root.containsDeep$1(t15)) === true)
              ++codeUnitsCovered;
          }
          if (codeUnitsCovered > maxCodeUnitsCovered) {
            C.JSArray_methods.set$length(bestFonts, 0);
            bestFonts.push(t13);
            maxCodeUnitsCovered = codeUnitsCovered;
          } else if (codeUnitsCovered === maxCodeUnitsCovered)
            bestFonts.push(t13);
        }
        if (maxCodeUnitsCovered === 0)
          break;
        _box_0.bestFont = C.JSArray_methods.get$first(bestFonts);
        if (bestFonts.length > 1)
          if (C.JSArray_methods.every$1(bestFonts, new H.findMinimumFontsForCodeUnits_closure()))
            if (!t6 || !t7 || !t8 || t9) {
              if (C.JSArray_methods.contains$1(bestFonts, $.$get$_notoSansSC()))
                _box_0.bestFont = $.$get$_notoSansSC();
            } else if (!t5 || !t10 || t11) {
              if (C.JSArray_methods.contains$1(bestFonts, $.$get$_notoSansTC()))
                _box_0.bestFont = $.$get$_notoSansTC();
            } else if (t4) {
              if (C.JSArray_methods.contains$1(bestFonts, $.$get$_notoSansHK()))
                _box_0.bestFont = $.$get$_notoSansHK();
            } else if (t3)
              if (C.JSArray_methods.contains$1(bestFonts, $.$get$_notoSansJP()))
                _box_0.bestFont = $.$get$_notoSansJP();
        codeUnits._filterWhere$2(new H.findMinimumFontsForCodeUnits_closure0(_box_0), true);
        minimumFonts.addAll$1(0, bestFonts);
      }
      return minimumFonts;
    },
    NotoFont$: function($name, approximateUnicodeRanges) {
      return new H.NotoFont($name, approximateUnicodeRanges);
    },
    CodeunitRange$: function(start, end) {
      return new H.CodeunitRange(start, end);
    },
    RegisteredFont$: function(bytes, family, typeface) {
      J.getGlyphBounds$3$x(new self.window.flutterCanvasKit.Font(typeface), H._setArrayType([0], type$.JSArray_int), null, null);
      return new H.RegisteredFont(family, bytes, typeface);
    },
    CkImage$: function(skImage) {
      var t1 = new H.CkImage($);
      t1.CkImage$1(skImage);
      return t1;
    },
    CkImage__encodeImage: function(alphaType, colorSpace, colorType, format, skImage) {
      var t1 = J.getInterceptor$x(skImage),
        bytes = format === C.ImageByteFormat_0 ? t1.readPixels$3(skImage, 0, 0, {width: t1.width$0(skImage), height: t1.height$0(skImage), alphaType: alphaType, colorSpace: colorSpace, colorType: colorType}) : t1.encodeToBytes$0(skImage);
      if (bytes == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$x(bytes);
        t1 = J.asByteData$2$x(t1.get$buffer(bytes), 0, t1.get$length(bytes));
      }
      return t1;
    },
    _detectRenderer: function() {
      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(C.Set_et9F4._collection$_map, t1);
    },
    initializeCanvasKit: function() {
      var t2,
        t1 = new P._Future($.Zone__current, type$._Future_void),
        canvasKitCompleter = new P._AsyncCompleter(t1, type$._AsyncCompleter_void);
      if (self.window.flutterCanvasKit != null) {
        t2 = self.window.flutterCanvasKit;
        t2.toString;
        $.canvasKit.__late_helper$_value = t2;
        canvasKitCompleter.complete$0(0);
      } else
        $.$get$domRenderer()._canvasKitLoaded.then$1$1(0, new H.initializeCanvasKit_closure(canvasKitCompleter), type$.Null);
      t2 = W._ElementFactoryProvider_createElement_tag("flt-scene", null);
      $.skiaSceneHost = t2;
      $.$get$domRenderer().renderScene$1(t2);
      return t1;
    },
    IntervalTree_IntervalTree$createFromRanges: function(rangesMap, $T) {
      var t1,
        intervals = H._setArrayType([], $T._eval$1("JSArray<IntervalTreeNode<0>>"));
      rangesMap.forEach$1(0, new H.IntervalTree_IntervalTree$createFromRanges_closure(intervals, $T));
      C.JSArray_methods.sort$1(intervals, new H.IntervalTree_IntervalTree$createFromRanges_closure0($T));
      t1 = new H.IntervalTree_IntervalTree$createFromRanges__makeBalancedTree($T).call$1(intervals);
      t1.toString;
      new H.IntervalTree_IntervalTree$createFromRanges__computeHigh($T).call$1(t1);
      return new H.IntervalTree(t1, $T._eval$1("IntervalTree<0>"));
    },
    CkPaint$: function() {
      var t1 = new H.CkPaint(C.BlendMode_3, C.PaintingStyle_0, C.StrokeCap_0, C.Color_4278190080, C.FilterQuality_0);
      t1.ManagedSkiaObject$1(null);
      return t1;
    },
    CkPath$fromSkPath: function(skPath, _fillType) {
      var t2, t3,
        t1 = new H.CkPath(_fillType);
      t1.ManagedSkiaObject$1(skPath);
      t2 = t1.get$skiaObject();
      t3 = t1._fillType;
      J.setFillType$1$x(t2, $.$get$_skFillTypes()[t3.index]);
      return t1;
    },
    SkiaObjects_registerCleanupCallback: function() {
      if ($.SkiaObjects__addedCleanupCallback)
        return;
      $.$get$EnginePlatformDispatcher__instance().get$rasterizer()._postFrameCallbacks.push(H._engine_SkiaObjects_postFrameCleanUp$closure());
      $.SkiaObjects__addedCleanupCallback = true;
    },
    SkiaObjects_markCacheForResize: function(cache) {
      H.SkiaObjects_registerCleanupCallback();
      if (C.JSArray_methods.contains$1($.SkiaObjects_cachesToResize, cache))
        return;
      $.SkiaObjects_cachesToResize.push(cache);
    },
    SkiaObjects_postFrameCleanUp: function() {
      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.rawSkiaObject = null;
      }
      C.JSArray_methods.set$length($.SkiaObjects_resurrectableObjects, 0);
      for (i = 0; i < $.SkiaObjects_cachesToResize.length; ++i)
        $.SkiaObjects_cachesToResize[i].resize$0(0);
      C.JSArray_methods.set$length($.SkiaObjects_cachesToResize, 0);
    },
    CkTextStyle_CkTextStyle: function(background, color, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontWeight, foreground, height, leadingDistribution, letterSpacing, locale, shadows, textBaseline, wordSpacing) {
      return new H.CkTextStyle(color, decoration, decorationColor, decorationStyle, decorationThickness, fontWeight, fontStyle, textBaseline, fontFamily, fontFamilyFallback, fontSize, letterSpacing, wordSpacing, height, leadingDistribution, locale, background, foreground, shadows, fontFeatures);
    },
    toSkFontStyle: function(fontWeight, fontStyle) {
      var style = H.SkFontStyle$(null);
      if (fontWeight != null)
        style.weight = $.$get$_skFontWeights()[fontWeight.index];
      if (fontStyle != null)
        style.slant = $.$get$_skFontSlants()[fontStyle.index];
      return style;
    },
    CkParagraphBuilder$: function(style) {
      var t2, t3, t4, t5, t6, t7, t8, t9, _null = null,
        t1 = H._setArrayType([], type$.JSArray__ParagraphCommand);
      type$.CkParagraphStyle._as(style);
      t2 = H._setArrayType([], type$.JSArray_double);
      t3 = H._setArrayType([], type$.JSArray_CkTextStyle);
      t4 = J.MakeFromFontProvider$2$x(J.get$ParagraphBuilder$x($.canvasKit._readField$0()), style.skParagraphStyle, $._skiaFontCollection.fontProvider);
      t5 = style._fontFamily;
      t6 = style._fontSize;
      t7 = style.__engine$_height;
      t8 = style._leadingDistribution;
      t9 = style._fontWeight;
      t3.push(H.CkTextStyle_CkTextStyle(_null, _null, _null, _null, _null, _null, t5, _null, _null, t6, style._fontStyle, t9, _null, t7, t8, _null, _null, _null, _null, _null));
      return new H.CkParagraphBuilder(t4, style, t1, t2, t3);
    },
    _getEffectiveFontFamilies: function(fontFamily, fontFamilyFallback) {
      var fontFamilies = H._setArrayType([], type$.JSArray_String);
      if (fontFamily != null)
        fontFamilies.push(fontFamily);
      if (fontFamilyFallback != null && !C.JSArray_methods.every$1(fontFamilyFallback, new H._getEffectiveFontFamilies_closure(fontFamily)))
        C.JSArray_methods.addAll$1(fontFamilies, fontFamilyFallback);
      C.JSArray_methods.addAll$1(fontFamilies, $.$get$FontFallbackData__instance().globalFontFallbacks);
      return fontFamilies;
    },
    CanvasKitError$: function(message) {
      return new H.CanvasKitError(message);
    },
    makeFreshSkColor: function(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;
    },
    computeSkShadowBounds: function(path, elevation, devicePixelRatio, matrix) {
      var isComplex, ambientBlur, spotBlur, t1, spotOffsetX, spotOffsetY, shadowBounds, inverse,
        pathBounds = H.fromSkRect(J.getBounds$0$x(path.get$skiaObject()));
      if (elevation === 0)
        return pathBounds;
      isComplex = !matrix.isIdentityOrTranslation$0();
      if (isComplex)
        pathBounds = H.transformRect(matrix, pathBounds);
      ambientBlur = Math.min(elevation * 0.0078125 * 64, 150);
      spotBlur = 1.1 * elevation;
      t1 = -elevation;
      spotOffsetX = t1 * 0;
      spotOffsetY = t1 * -0.75;
      shadowBounds = new P.Rect(pathBounds.left - 1 + (spotOffsetX - ambientBlur - spotBlur) * devicePixelRatio, pathBounds.top - 1 + (spotOffsetY - ambientBlur - spotBlur) * devicePixelRatio, pathBounds.right + 1 + (spotOffsetX + ambientBlur + spotBlur) * devicePixelRatio, pathBounds.bottom + 1 + (spotOffsetY + ambientBlur + spotBlur) * devicePixelRatio);
      if (isComplex) {
        inverse = new H.Matrix40(new Float32Array(16));
        if (inverse.copyInverse$1(matrix) !== 0)
          return H.transformRect(inverse, shadowBounds);
        else
          return shadowBounds;
      } else
        return shadowBounds;
    },
    drawSkShadow: function(skCanvas, path, color, elevation, transparentOccluder, devicePixelRatio) {
      var t3, t4,
        flags = transparentOccluder ? 5 : 4,
        inAmbient = P.Color$fromARGB(C.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 = P.Color$fromARGB(C.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 = {ambient: H.makeFreshSkColor(inAmbient), spot: H.makeFreshSkColor(inSpot)},
        tonalColors = J.computeTonalColors$1$x($.canvasKit._readField$0(), inTonalColors),
        t1 = path.get$skiaObject(),
        t2 = new Float32Array(3);
      t2[2] = devicePixelRatio * elevation;
      t3 = new Float32Array(3);
      t3[0] = 0;
      t3[1] = -450;
      t3[2] = devicePixelRatio * 600;
      t4 = J.getInterceptor$x(tonalColors);
      J.drawShadow$7$x(skCanvas, t1, t2, t3, devicePixelRatio * 1.1, t4.get$ambient(tonalColors), t4.get$spot(tonalColors), flags);
    },
    PasteFromClipboardStrategy_PasteFromClipboardStrategy: function() {
      var t1 = $.$get$_browserEngine();
      return t1 === C.BrowserEngine_2 || window.navigator.clipboard == null ? new H.ExecCommandPasteStrategy() : new H.ClipboardAPIPasteStrategy();
    },
    DomRenderer$: function() {
      var t2, t3,
        t1 = document.body;
      t1.toString;
      t1 = new H.DomRenderer(t1);
      t1.reset$0(0);
      t2 = t1._glassPaneShadow;
      t2.toString;
      t3 = $.TextMeasurementService_rulerManager;
      if (t3 != null)
        J.remove$0$ax(t3._rulerHost);
      $.TextMeasurementService_rulerManager = null;
      t3 = new H.RulerManager(10, P.LinkedHashMap_LinkedHashMap$_empty(type$.ParagraphGeometricStyle, type$.ParagraphRuler), W._ElementFactoryProvider_createElement_tag("flt-ruler-host", null));
      t3.RulerHost$1$root(t2);
      $.TextMeasurementService_rulerManager = t3;
      return t1;
    },
    DomRenderer_setElementStyle: function(element, $name, value) {
      var t1;
      if (value == null)
        element.style.removeProperty($name);
      else {
        t1 = element.style;
        t1.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, $name), value, null);
      }
    },
    DomRenderer_setClipPath: function(element, value) {
      var t1 = $.$get$_browserEngine();
      if (t1 === C.BrowserEngine_1) {
        t1 = element.style;
        t1.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "-webkit-clip-path"), value, null);
      }
      t1 = element.style;
      t1.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "clip-path"), value, null);
    },
    DomRenderer_ellipse: function(context, centerX, centerY, radiusX, radiusY, rotation, startAngle, endAngle, antiClockwise) {
      var t1 = $.DomRenderer__ellipseFeatureDetected;
      if (t1 == null ? $.DomRenderer__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();
      }
    },
    DomRenderer__deviceOrientationToLockType: function(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;
      }
    },
    transformWithOffset: function(transform, offset) {
      var effectiveTransform;
      if (offset.$eq(0, C.Offset_0_0))
        return transform;
      effectiveTransform = new H.Matrix40(new Float32Array(16));
      effectiveTransform.setFrom$1(transform);
      effectiveTransform.translate$3(0, offset._dx, offset._dy, 0);
      return effectiveTransform;
    },
    _drawParagraphElement: function(paragraph, offset, transform) {
      var paragraphElement = paragraph.toDomElement$0();
      if (transform != null)
        H.setElementTransform(paragraphElement, H.transformWithOffset(transform, offset).__engine$_m4storage);
      return paragraphElement;
    },
    sendFontChangeMessage: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$sendFontChangeMessage = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (!$._fontChangeScheduled) {
                $._fontChangeScheduled = true;
                C.Window_methods.requestAnimationFrame$1(window, new H.sendFontChangeMessage_closure());
              }
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$sendFontChangeMessage, $async$completer);
    },
    BitmapCanvas$: function(_bounds, renderStrategy, density) {
      var t1 = W._ElementFactoryProvider_createElement_tag("flt-canvas", null),
        t2 = H._setArrayType([], type$.JSArray_Element),
        t3 = H.EnginePlatformDispatcher_browserDevicePixelRatio(),
        t4 = _bounds.left,
        t5 = _bounds.right - t4,
        t6 = H.BitmapCanvas__widthToPhysical(t5),
        t7 = _bounds.top,
        t8 = _bounds.bottom - t7,
        t9 = H.BitmapCanvas__heightToPhysical(t8);
      t8 = new H._CanvasPool(H.BitmapCanvas__widthToPhysical(t5), H.BitmapCanvas__heightToPhysical(t8), density, H._setArrayType([], type$.JSArray__SaveStackEntry), H.Matrix4$identity());
      t3 = new H.BitmapCanvas(_bounds, t1, t8, t2, t6, t9, t3, density, renderStrategy);
      t9 = t1.style;
      t9.position = "absolute";
      t3._canvasPositionX = C.JSNumber_methods.floor$0(t4) - 1;
      t3._canvasPositionY = C.JSNumber_methods.floor$0(t7) - 1;
      t3._updateRootElementTransform$0();
      t8._rootElement = type$.HtmlElement._as(t1);
      t3._setupInitialTransform$0();
      return t3;
    },
    BitmapCanvas__widthToPhysical: function(width) {
      return C.JSNumber_methods.ceil$0((width + 1) * H.EnginePlatformDispatcher_browserDevicePixelRatio()) + 2;
    },
    BitmapCanvas__heightToPhysical: function(height) {
      return C.JSNumber_methods.ceil$0((height + 1) * H.EnginePlatformDispatcher_browserDevicePixelRatio()) + 2;
    },
    BitmapCanvas__onEvictElement: function(element) {
      (element && C.ImageElement_methods).remove$0(element);
    },
    _stringForBlendMode: function(blendMode) {
      if (blendMode == null)
        return null;
      switch (blendMode) {
        case C.BlendMode_3:
          return "source-over";
        case C.BlendMode_5:
          return "source-in";
        case C.BlendMode_7:
          return "source-out";
        case C.BlendMode_9:
          return "source-atop";
        case C.BlendMode_4:
          return "destination-over";
        case C.BlendMode_6:
          return "destination-in";
        case C.BlendMode_8:
          return "destination-out";
        case C.BlendMode_10:
          return "destination-atop";
        case C.BlendMode_12:
          return "lighten";
        case C.BlendMode_1:
          return "copy";
        case C.BlendMode_11:
          return "xor";
        case C.BlendMode_24:
        case C.BlendMode_13:
          return "multiply";
        case C.BlendMode_14:
          return "screen";
        case C.BlendMode_15:
          return "overlay";
        case C.BlendMode_16:
          return "darken";
        case C.BlendMode_17:
          return "lighten";
        case C.BlendMode_18:
          return "color-dodge";
        case C.BlendMode_19:
          return "color-burn";
        case C.BlendMode_20:
          return "hard-light";
        case C.BlendMode_21:
          return "soft-light";
        case C.BlendMode_22:
          return "difference";
        case C.BlendMode_23:
          return "exclusion";
        case C.BlendMode_25:
          return "hue";
        case C.BlendMode_26:
          return "saturation";
        case C.BlendMode_27:
          return "color";
        case C.BlendMode_28:
          return "luminosity";
        default:
          throw H.wrapException(P.UnimplementedError$("Flutter Web does not support the blend mode: " + blendMode.toString$0(0)));
      }
    },
    _stringForStrokeCap: function(strokeCap) {
      switch (strokeCap) {
        case C.StrokeCap_0:
          return "butt";
        case C.StrokeCap_1:
          return "round";
        case C.StrokeCap_2:
        default:
          return "square";
      }
    },
    _stringForStrokeJoin: function(strokeJoin) {
      switch (strokeJoin) {
        case C.StrokeJoin_1:
          return "round";
        case C.StrokeJoin_2:
          return "bevel";
        case C.StrokeJoin_0:
        default:
          return "miter";
      }
    },
    _clipContent: function(clipStack, $content, offset, currentTransform) {
      var root, curElement, clipIndex, entry, t2, newElement, t3, rect, newClipTransform, transformKind, clipOffsetX, clipOffsetY, newClipTransform0, t4, t5, value, borderRadius, t6, ovalBounds, reverseTransformDiv,
        _s8_ = "absolute",
        _s6_ = "hidden",
        _s16_ = "transform-origin",
        _s9_ = "transform",
        _s13_ = "border-radius",
        _s15_ = "transform-style",
        t1 = type$.JSArray_Element,
        clipDefs = H._setArrayType([], t1),
        len = clipStack.length;
      for (root = null, curElement = null, clipIndex = 0; clipIndex < len; ++clipIndex, curElement = reverseTransformDiv) {
        entry = clipStack[clipIndex];
        t2 = document;
        newElement = t2.createElement("div");
        t3 = newElement.style;
        t3.position = _s8_;
        t3 = $.$get$_browserEngine();
        if (t3 === C.BrowserEngine_1) {
          t3 = newElement.style;
          t3.zIndex = "0";
        }
        if (root == null)
          root = newElement;
        else {
          t3 = $.$get$domRenderer();
          curElement.toString;
          t3.toString;
          curElement.appendChild(newElement);
        }
        rect = entry.rect;
        newClipTransform = entry.currentTransform;
        t3 = newClipTransform.__engine$_m4storage;
        transformKind = H.transformKindOf(t3);
        if (rect != null) {
          clipOffsetX = rect.left;
          clipOffsetY = rect.top;
          t3 = new Float32Array(16);
          newClipTransform0 = new H.Matrix40(t3);
          newClipTransform0.setFrom$1(newClipTransform);
          newClipTransform0.translate$2(0, clipOffsetX, clipOffsetY);
          t4 = newElement.style;
          t4.overflow = _s6_;
          t5 = H.S(rect.right - clipOffsetX) + "px";
          t4.width = t5;
          t5 = H.S(rect.bottom - clipOffsetY) + "px";
          t4.height = t5;
          t4 = newElement.style;
          t4.toString;
          t5 = C.CssStyleDeclaration_methods._browserPropertyName$1(t4, _s16_);
          t4.setProperty(t5, "0 0 0", "");
          value = H.float64ListToCssTransform(t3);
          t3 = C.CssStyleDeclaration_methods._browserPropertyName$1(t4, _s9_);
          t4.setProperty(t3, value, "");
          newClipTransform = newClipTransform0;
        } else {
          t4 = entry.rrect;
          if (t4 != null) {
            borderRadius = H.S(t4.tlRadiusX) + "px " + H.S(t4.trRadiusX) + "px " + H.S(t4.brRadiusX) + "px " + H.S(t4.blRadiusX) + "px";
            clipOffsetX = t4.left;
            clipOffsetY = t4.top;
            t3 = new Float32Array(16);
            newClipTransform0 = new H.Matrix40(t3);
            newClipTransform0.setFrom$1(newClipTransform);
            newClipTransform0.translate$2(0, clipOffsetX, clipOffsetY);
            t5 = newElement.style;
            t5.toString;
            t6 = C.CssStyleDeclaration_methods._browserPropertyName$1(t5, _s13_);
            t5.setProperty(t6, borderRadius, "");
            t5.overflow = _s6_;
            t6 = H.S(t4.right - clipOffsetX) + "px";
            t5.width = t6;
            t4 = H.S(t4.bottom - clipOffsetY) + "px";
            t5.height = t4;
            t4 = newElement.style;
            t4.toString;
            t5 = C.CssStyleDeclaration_methods._browserPropertyName$1(t4, _s16_);
            t4.setProperty(t5, "0 0 0", "");
            value = H.float64ListToCssTransform(t3);
            t3 = C.CssStyleDeclaration_methods._browserPropertyName$1(t4, _s9_);
            t4.setProperty(t3, value, "");
            newClipTransform = newClipTransform0;
          } else {
            t4 = entry.path;
            if (t4 != null) {
              t5 = t4.pathRef;
              if ((t5.fIsOval ? t5.fRRectOrOvalStartIdx : -1) !== -1) {
                ovalBounds = t4.getBounds$0(0);
                clipOffsetX = ovalBounds.left;
                clipOffsetY = ovalBounds.top;
                t3 = new Float32Array(16);
                newClipTransform0 = new H.Matrix40(t3);
                newClipTransform0.setFrom$1(newClipTransform);
                newClipTransform0.translate$2(0, clipOffsetX, clipOffsetY);
                t4 = newElement.style;
                t4.overflow = _s6_;
                t5 = H.S(ovalBounds.right - clipOffsetX) + "px";
                t4.width = t5;
                t5 = H.S(ovalBounds.bottom - clipOffsetY) + "px";
                t4.height = t5;
                t5 = C.CssStyleDeclaration_methods._browserPropertyName$1(t4, _s13_);
                t4.setProperty(t5, "50%", "");
                t4 = newElement.style;
                t4.toString;
                t5 = C.CssStyleDeclaration_methods._browserPropertyName$1(t4, _s16_);
                t4.setProperty(t5, "0 0 0", "");
                value = H.float64ListToCssTransform(t3);
                t3 = C.CssStyleDeclaration_methods._browserPropertyName$1(t4, _s9_);
                t4.setProperty(t3, value, "");
                newClipTransform = newClipTransform0;
              } else {
                t5 = newElement.style;
                value = H.float64ListToCssTransform(t3);
                t5.toString;
                t3 = C.CssStyleDeclaration_methods._browserPropertyName$1(t5, _s9_);
                t5.setProperty(t3, value, "");
                t3 = C.CssStyleDeclaration_methods._browserPropertyName$1(t5, _s16_);
                t5.setProperty(t3, "0 0 0", "");
                clipDefs.push(W.Element_Element$html(H.createSvgClipDef(newElement, t4), new H.NullTreeSanitizer(), null));
              }
            }
          }
        }
        reverseTransformDiv = t2.createElement("div");
        t2 = reverseTransformDiv.style;
        t2.position = _s8_;
        t2 = new Float32Array(16);
        t3 = new H.Matrix40(t2);
        t3.setFrom$1(newClipTransform);
        t3.copyInverse$1(t3);
        t3 = reverseTransformDiv.style;
        t3.toString;
        t4 = C.CssStyleDeclaration_methods._browserPropertyName$1(t3, _s16_);
        t3.setProperty(t4, "0 0 0", "");
        value = H.float64ListToCssTransform(t2);
        t2 = C.CssStyleDeclaration_methods._browserPropertyName$1(t3, _s9_);
        t3.setProperty(t2, value, "");
        if (transformKind === C.TransformKind_2) {
          t2 = newElement.style;
          t2.toString;
          t3 = C.CssStyleDeclaration_methods._browserPropertyName$1(t2, _s15_);
          t2.setProperty(t3, "preserve-3d", "");
          t2 = reverseTransformDiv.style;
          t2.toString;
          t3 = C.CssStyleDeclaration_methods._browserPropertyName$1(t2, _s15_);
          t2.setProperty(t3, "preserve-3d", "");
        }
        newElement.appendChild(reverseTransformDiv);
      }
      t2 = root.style;
      t2.position = _s8_;
      t2 = $.$get$domRenderer();
      curElement.toString;
      t2.toString;
      curElement.appendChild($content);
      H.setElementTransform($content, H.transformWithOffset(currentTransform, offset).__engine$_m4storage);
      t1 = H._setArrayType([root], t1);
      C.JSArray_methods.addAll$1(t1, clipDefs);
      return t1;
    },
    _maskFilterToCanvasFilter: function(maskFilter) {
      var t1, t2;
      if (maskFilter != null) {
        t1 = maskFilter._sigma;
        t2 = $.$get$window()._debugDevicePixelRatio;
        return "blur(" + H.S(t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2)) + "px)";
      } else
        return "none";
    },
    createSvgClipDef: function(element, clipPath) {
      var t3,
        pathBounds = clipPath.getBounds$0(0),
        t1 = pathBounds.right,
        t2 = pathBounds.bottom,
        svgClipPath = H.pathToSvgClipPath(clipPath, 0, 0, 1 / t1, 1 / t2);
      H.DomRenderer_setClipPath(element, "url(#svgClip" + $._clipIdCounter + ")");
      t3 = element.style;
      t1 = H.S(t1) + "px";
      t3.width = t1;
      t1 = H.S(t2) + "px";
      t3.height = t1;
      return svgClipPath;
    },
    _blendColorFilterToSvg: function(color, feBlend, swapLayers) {
      var t1 = $._filterIdCounter + 1;
      $._filterIdCounter = t1;
      t1 = string$.x3csvg_w + t1 + string$.x22x20filt + H.S(H.colorToCssString(color)) + '" flood-opacity="1" result="flood"></feFlood>';
      return t1 + (swapLayers ? '<feBlend in="SourceGraphic" in2="flood" mode="' + H.S(feBlend) + '"/>' : '<feBlend in="flood" in2="SourceGraphic" mode="' + H.S(feBlend) + '"/>') + "</filter></svg>";
    },
    _buildDrawRectElement: function(rect, paint, tagName, transform) {
      var t1, t2, left, right, $top, bottom, effectiveTransform, translated, style, cssColor, sigma,
        rectangle = type$.HtmlElement._as($.$get$domRenderer().createElement$1(0, tagName)),
        isStroke = paint.style === C.PaintingStyle_1,
        strokeWidth = paint.strokeWidth;
      if (strokeWidth == null)
        strokeWidth = 0;
      t1 = rect.left;
      t2 = rect.right;
      left = Math.min(H.checkNum(t1), H.checkNum(t2));
      right = Math.max(H.checkNum(t1), H.checkNum(t2));
      t2 = rect.top;
      t1 = rect.bottom;
      $top = Math.min(H.checkNum(t2), H.checkNum(t1));
      bottom = Math.max(H.checkNum(t2), H.checkNum(t1));
      if (transform.isIdentity$0(0))
        if (isStroke) {
          t1 = strokeWidth / 2;
          effectiveTransform = "translate(" + H.S(left - t1) + "px, " + H.S($top - t1) + "px)";
        } else
          effectiveTransform = "translate(" + H.S(left) + "px, " + H.S($top) + "px)";
      else {
        t1 = new Float32Array(16);
        translated = new H.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 = H.float64ListToCssTransform(t1);
      }
      style = rectangle.style;
      style.position = "absolute";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "transform-origin"), "0 0 0", "");
      C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "transform"), effectiveTransform, "");
      t1 = paint.color;
      if (t1 == null)
        cssColor = "#000000";
      else {
        t1 = H.colorToCssString(t1);
        t1.toString;
        cssColor = t1;
      }
      t1 = paint.maskFilter;
      if (t1 != null) {
        sigma = t1._sigma;
        t1 = $.$get$_browserEngine();
        if (t1 === C.BrowserEngine_1 && !isStroke) {
          t1 = "0px 0px " + H.S(sigma * 2) + "px " + cssColor;
          C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "box-shadow"), t1, "");
          t1 = paint.color;
          if (t1 == null)
            t1 = C.Color_4278190080;
          t1 = H.colorToCssString(new P.Color(((C.JSNumber_methods.round$0((1 - Math.min(Math.sqrt(sigma) / 6.283185307179586, 1)) * (t1.get$value(t1) >>> 24 & 255)) & 255) << 24 | t1.get$value(t1) & 16777215) >>> 0));
          t1.toString;
          cssColor = t1;
        } else {
          t1 = "blur(" + H.S(sigma) + "px)";
          C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "filter"), t1, "");
        }
      }
      t1 = right - left;
      if (isStroke) {
        t1 = H.S(t1 - strokeWidth) + "px";
        style.width = t1;
        t1 = H.S(bottom - $top - strokeWidth) + "px";
        style.height = t1;
        t1 = H._borderStrokeToCssUnit(strokeWidth) + " solid " + cssColor;
        style.border = t1;
      } else {
        t1 = H.S(t1) + "px";
        style.width = t1;
        t1 = H.S(bottom - $top) + "px";
        style.height = t1;
        style.backgroundColor = cssColor;
      }
      return rectangle;
    },
    _applyRRectBorderRadius: function(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) {
        t1 = H._borderStrokeToCssUnit(rrect.blRadiusX);
        style.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "border-radius"), t1, "");
        return;
      }
      t1 = H._borderStrokeToCssUnit(t1) + " " + H._borderStrokeToCssUnit(rrect.tlRadiusY);
      style.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "border-top-left-radius"), t1, "");
      t2 = H._borderStrokeToCssUnit(t2) + " " + H._borderStrokeToCssUnit(rrect.trRadiusY);
      C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "border-top-right-radius"), t2, "");
      t2 = H._borderStrokeToCssUnit(rrect.blRadiusX) + " " + H._borderStrokeToCssUnit(rrect.blRadiusY);
      C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "border-bottom-left-radius"), t2, "");
      t2 = H._borderStrokeToCssUnit(rrect.brRadiusX) + " " + H._borderStrokeToCssUnit(rrect.brRadiusY);
      C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "border-bottom-right-radius"), t2, "");
    },
    _borderStrokeToCssUnit: function(value) {
      return J.toStringAsFixed$1$n(value === 0 ? 1 : value, 3) + "px";
    },
    _pathToSvgElement: function(path, paint, width, height) {
      var color, t2, t3,
        sb = new P.StringBuffer(""),
        t1 = '<svg viewBox="0 0 ' + width + " " + height + '" width="' + width + 'px" height="' + height + 'px">';
      sb._contents = t1;
      t1 = sb._contents = t1 + "<path ";
      color = paint.color;
      t2 = color == null;
      if (t2)
        color = C.Color_4278190080;
      t3 = paint.style;
      if (t3 !== C.PaintingStyle_1)
        if (t3 !== C.PaintingStyle_0) {
          t3 = paint.strokeWidth;
          t3 = t3 !== 0 && t3 != null;
        } else
          t3 = false;
      else
        t3 = true;
      if (t3) {
        t1 += 'stroke="' + H.S(H.colorToCssString(color)) + '" ';
        sb._contents = t1;
        t2 = paint.strokeWidth;
        t1 += 'stroke-width="' + H.S(t2 == null ? 1 : t2) + '" ';
        sb._contents = t1;
        t1 += 'fill="none" ';
        sb._contents = t1;
      } else if (!t2) {
        t1 += 'fill="' + H.S(H.colorToCssString(color)) + '" ';
        sb._contents = t1;
      } else {
        t1 += 'fill="#000000" ';
        sb._contents = t1;
      }
      sb._contents = (path._fillType === C.PathFillType_1 ? sb._contents = t1 + 'fill-rule="evenodd" ' : t1) + 'd="';
      H.pathToSvg(path.pathRef, sb, 0, 0);
      t1 = sb._contents += '"></path>';
      t1 = sb._contents = t1 + "</svg>";
      return W.Element_Element$html(t1.charCodeAt(0) == 0 ? t1 : t1, new H.NullTreeSanitizer(), null);
    },
    Conic__subdivide: function(src, level, pointList) {
      var dst, t1, t2, startY, endY, midY, t3;
      if (0 === level) {
        pointList.push(new P.Offset(src.p1x, src.p1y));
        pointList.push(new P.Offset(src.p2x, src.p2y));
        return;
      }
      dst = new H._ConicPair();
      src._chop$1(dst);
      t1 = dst.first;
      t1.toString;
      t2 = dst.second;
      t2.toString;
      startY = src.p0y;
      endY = src.p2y;
      if (H.SPath_between(startY, src.p1y, endY)) {
        midY = t1.p2y;
        if (!H.SPath_between(startY, midY, endY))
          t3 = t1.p2y = t2.p0y = Math.abs(midY - startY) < Math.abs(midY - endY) ? startY : endY;
        else
          t3 = midY;
        if (!H.SPath_between(startY, t1.p1y, t3))
          t1.p1y = startY;
        if (!H.SPath_between(t2.p0y, t2.p1y, endY))
          t2.p1y = endY;
      }
      --level;
      H.Conic__subdivide(t1, level, pointList);
      H.Conic__subdivide(t2, level, pointList);
    },
    Conic_evalNumerator: function(p0, p1, p2, w, t) {
      var src2w = p1 * w;
      return ((p2 - 2 * src2w + p0) * t + 2 * (src2w - p0)) * t + p0;
    },
    Conic_evalDenominator: function(w, t) {
      var $B = 2 * (w - 1);
      return (-$B * t + $B) * t + 1;
    },
    chopCubicAtYExtrema: function(points, dest) {
      var t1, roots, t2, t3, rootCount,
        y0 = points[1],
        y1 = points[3],
        y2 = points[5],
        _quadRoots = new H.QuadRoots();
      _quadRoots.findRoots$3(points[7] - y0 + 3 * (y1 - y2), 2 * (y0 - y1 - y1 + y2), y1 - y0);
      t1 = _quadRoots.root0;
      if (t1 == null)
        roots = H._setArrayType([], type$.JSArray_double);
      else {
        t2 = _quadRoots.root1;
        t3 = type$.JSArray_double;
        roots = t2 == null ? H._setArrayType([t1], t3) : H._setArrayType([t1, t2], t3);
      }
      if (roots.length === 0)
        return 0;
      H._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: function(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) {
          t.toString;
          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 = H.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: function(_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: function(c0, c1, c2, c3, t) {
      return (((c3 + 3 * (c1 - c2) - c0) * t + 3 * (c2 - c1 - c1 + c0)) * t + 3 * (c1 - c0)) * t + c0;
    },
    SurfacePath$: function() {
      var t1 = new H.SurfacePath(H.PathRef$(), C.PathFillType_0);
      t1._resetFields$0();
      return t1;
    },
    _arcIsLonePoint: function(oval, startAngle, sweepAngle) {
      var t1;
      if (0 === sweepAngle)
        t1 = 0 === startAngle || 360 === startAngle;
      else
        t1 = false;
      if (t1)
        return new P.Offset(oval.right, oval.get$center()._dy);
      return null;
    },
    _computeMinScale: function(radius1, radius2, limit, scale) {
      var totalRadius = radius1 + radius2;
      if (totalRadius <= limit)
        return scale;
      return Math.min(limit / totalRadius, scale);
    },
    PathIterator$: function(pathRef, forceClose) {
      var t1 = new H.PathIterator(pathRef, true, pathRef._fVerbsLength);
      if (pathRef.fBoundsIsDirty)
        pathRef._computeBounds$0();
      if (!pathRef.fIsFinite)
        t1._verbIndex = pathRef._fVerbsLength;
      return t1;
    },
    PathRef$: function() {
      var t1 = new Float32Array(16);
      t1 = new H.PathRef(t1, new Uint8Array(8));
      t1._fVerbsCapacity = t1._fPointsCapacity = 8;
      t1.fRRectOrOvalStartIdx = 172;
      return t1;
    },
    PathRef__fPointsFromSource: function(source, offsetX, offsetY) {
      var len, i, t1,
        sourceLength = source._fPointsLength,
        sourceCapacity = source._fPointsCapacity,
        dest = new Float32Array(sourceCapacity * 2),
        sourcePoints = source._fPoints;
      for (len = sourceLength * 2, i = 0; i < len; i += 2) {
        dest[i] = sourcePoints[i] + offsetX;
        t1 = i + 1;
        dest[t1] = sourcePoints[t1] + offsetY;
      }
      return dest;
    },
    pathToSvg: function(pathRef, sb, offsetX, offsetY) {
      var outPts, verb, w, points, len, i, t1, t2,
        iter = new H.PathRefIterator(pathRef);
      iter.PathRefIterator$1(pathRef);
      outPts = new Float32Array(8);
      for (; verb = iter.next$1(0, outPts), verb !== 6;)
        switch (verb) {
          case 0:
            sb._contents += "M " + H.S(outPts[0] + offsetX) + " " + H.S(outPts[1] + offsetY);
            break;
          case 1:
            sb._contents += "L " + H.S(outPts[2] + offsetX) + " " + H.S(outPts[3] + offsetY);
            break;
          case 4:
            sb._contents += "C " + H.S(outPts[2] + offsetX) + " " + H.S(outPts[3] + offsetY) + " " + H.S(outPts[4] + offsetX) + " " + H.S(outPts[5] + offsetY) + " " + H.S(outPts[6] + offsetX) + " " + H.S(outPts[7] + offsetY);
            break;
          case 2:
            sb._contents += "Q " + H.S(outPts[2] + offsetX) + " " + H.S(outPts[3] + offsetY) + " " + H.S(outPts[4] + offsetX) + " " + H.S(outPts[5] + offsetY);
            break;
          case 3:
            w = pathRef._conicWeights[iter._conicWeightIndex];
            points = new H.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];
              sb._contents += "Q " + H.S(t1._dx + offsetX) + " " + H.S(t1._dy + offsetY) + " " + H.S(t2._dx + offsetX) + " " + H.S(t2._dy + offsetY);
            }
            break;
          case 5:
            sb._contents += "Z";
            break;
          default:
            throw H.wrapException(P.UnimplementedError$("Unknown path verb " + verb));
        }
    },
    SPath_between: function(a, b, c) {
      return (a - b) * (c - b) <= 0;
    },
    SPath_scalarSignedAsInt: function(x) {
      var t1;
      if (x < 0)
        t1 = -1;
      else
        t1 = x > 0 ? 1 : 0;
      return t1;
    },
    validUnitDivide: function(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: function(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$: function(x0, y0, x1, y1, x2, y2) {
      return new H.SkQuadCoefficients(x2 - 2 * x1 + x0, y2 - 2 * y1 + y0, 2 * (x1 - x0), 2 * (y1 - y0), x0, y0);
    },
    PathWinding__checkOnCurve: function(x, y, startX, startY, endX, endY) {
      if (startY == endY)
        return H.SPath_between(startX, x, endX) && x != endX;
      else
        return x == startX && y == startY;
    },
    PathWinding__chopQuadAtExtrema: function(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 = H.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: function(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: function(pts, x, y, tangents) {
      var x0, x1, dx, dy,
        y0 = pts[1],
        y1 = pts[3];
      if (!H.SPath_between(y0, y, y1))
        return;
      x0 = pts[0];
      x1 = pts[2];
      if (!H.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 P.Offset(dx, dy));
    },
    tangentQuad: function(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 (!H.SPath_between(y0, y, y1) && !H.SPath_between(y1, y, y2))
        return;
      x0 = pts[0];
      x1 = pts[2];
      x2 = pts[4];
      if (!H.SPath_between(x0, x, x1) && !H.SPath_between(x1, x, x2))
        return;
      roots = new H.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(H._evalQuadTangentAt(x0, y0, x1, y1, x2, y2, t));
      }
    },
    _evalQuadTangentAt: function(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 P.Offset(x2 - x0, y2 - y0);
      bx = x1 - x0;
      by = y1 - y0;
      return new P.Offset(((x2 - x1 - bx) * t + bx) * 2, ((y2 - y1 - by) * t + by) * 2);
    },
    tangentConic: function(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 (!H.SPath_between(y0, y, y1) && !H.SPath_between(y1, y, y2))
        return;
      x0 = pts[0];
      x1 = pts[2];
      x2 = pts[4];
      if (!H.SPath_between(x0, x, x1) && !H.SPath_between(x1, x, x2))
        return;
      $B = y1 * weight - y * weight + y;
      quadRoots = new H.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 H.Conic(x0, y0, x1, y1, x2, y2, weight).evalTangentAt$1(t));
      }
    },
    tangentCubic: function(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 (!H.SPath_between(y0, y, y1) && !H.SPath_between(y1, y, y2) && !H.SPath_between(y2, y, y3))
        return;
      x0 = pts[0];
      x1 = pts[2];
      x2 = pts[4];
      x3 = pts[6];
      if (!H.SPath_between(x0, x, x1) && !H.SPath_between(x1, x, x2) && !H.SPath_between(x2, x, x3))
        return;
      dst = new Float32Array(20);
      n = H.chopCubicAtYExtrema(pts, dst);
      for (i = 0; i <= n; ++i) {
        bufferPos = i * 6;
        t = H.chopMonoAtY(dst, bufferPos, y);
        if (t == null)
          continue;
        if (!(Math.abs(x - H.evalCubicPts(dst[bufferPos], dst[bufferPos + 2], dst[bufferPos + 4], dst[bufferPos + 6], t)) < 0.000244140625))
          continue;
        tangents.push(H._evalCubicTangentAt(dst, bufferPos, t));
      }
    },
    _evalCubicTangentAt: function(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 P.Offset(dx, dy);
      } else {
        coeff = H.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 P.Offset(coeff.evalX$1(t), coeff.evalY$1(t));
      }
    },
    pathToSvgClipPath: function(path, offsetX, offsetY, scaleX, scaleY) {
      var sb, clipId,
        _s58_ = '<svg width="0" height="0" style="position:absolute"><defs>',
        t1 = $._clipIdCounter + 1;
      $._clipIdCounter = t1;
      sb = new P.StringBuffer("");
      sb._contents = '<svg width="0" height="0" style="position:absolute">';
      sb._contents = _s58_;
      clipId = "svgClip" + t1;
      t1 = $.$get$_browserEngine();
      if (t1 === C.BrowserEngine_2) {
        t1 = _s58_ + ("<clipPath id=" + clipId + ">");
        sb._contents = t1;
        sb._contents = t1 + '<path fill="#FFFFFF" d="';
      } else {
        t1 = _s58_ + ("<clipPath id=" + clipId + ' clipPathUnits="objectBoundingBox">');
        sb._contents = t1;
        sb._contents = t1 + ('<path transform="scale(' + H.S(scaleX) + ", " + H.S(scaleY) + ')" fill="#FFFFFF" d="');
      }
      H.pathToSvg(type$.SurfacePath._as(path).pathRef, sb, offsetX, offsetY);
      t1 = sb._contents += '"></path></clipPath></defs></svg';
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _reduceCanvasMemoryUsage: function() {
      var i, t1, t2,
        canvasCount = $._recycledCanvases.length;
      for (i = 0; i < canvasCount; ++i) {
        t1 = $._recycledCanvases[i]._canvasPool;
        t2 = $.$get$_browserEngine();
        if (t2 === C.BrowserEngine_1 && t1.__engine$_canvas != null) {
          t2 = t1.__engine$_canvas;
          t2.height = 0;
          t2.width = 0;
        }
        t1._clearActiveCanvasList$0();
      }
      C.JSArray_methods.set$length($._recycledCanvases, 0);
    },
    _recycleCanvas: function(canvas) {
      if (canvas != null && C.JSArray_methods.contains$1($._recycledCanvases, canvas))
        return;
      if (canvas instanceof H.BitmapCanvas) {
        canvas._elementCache = null;
        if (canvas._devicePixelRatio === H.EnginePlatformDispatcher_browserDevicePixelRatio()) {
          $._recycledCanvases.push(canvas);
          if ($._recycledCanvases.length > 30)
            C.JSArray_methods.removeAt$1($._recycledCanvases, 0)._canvasPool.dispose$0(0);
        } else
          canvas._canvasPool.dispose$0(0);
      }
    },
    PersistedPicture__predictTrend: function(delta, extent) {
      if (delta <= 0)
        return extent * 0.1;
      else
        return Math.min(Math.max(extent * 0.5, delta * 10), extent);
    },
    _computePixelDensity: function(transform, width, height) {
      var m, t1, 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 || transform.isIdentityOrTranslation$0())
        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, C.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 / C.JSNumber_methods.floor$0(2 / scale), 0.0001);
      return scale;
    },
    _measureBorderRadius: function(x, y) {
      var clampedX = x < 0 ? 0 : x,
        clampedY = y < 0 ? 0 : y;
      return clampedX * clampedX + clampedY * clampedY;
    },
    _getPaintSpread: function(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: function(colors, stops) {
      var colorCount, addFirst, addLast, normalizedCount, t1, bias, scale, t2, thresholds, c, targetIndex, thresholdIndex, _i, targetIndex0, t3, thresholdIndex0, lastColorIndex, i, t, colorIndex;
      if (stops == null)
        stops = C.List_0_1;
      colorCount = colors.length;
      addFirst = !J.$eq$(stops[0], 0);
      addLast = !J.$eq$(C.JSArray_methods.get$last(stops), 1);
      normalizedCount = addFirst ? colorCount + 1 : colorCount;
      if (addLast)
        ++normalizedCount;
      t1 = normalizedCount * 4;
      bias = new Float32Array(t1);
      scale = new Float32Array(t1);
      t1 = normalizedCount - 1;
      t2 = C.JSInt_methods._tdivFast$1(t1, 4);
      thresholds = new Float32Array(4 * (t2 + 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 (t2 = colors.length, _i = 0; _i < colors.length; colors.length === t2 || (0, H.throwConcurrentModificationError)(colors), ++_i) {
        c = colors[_i];
        targetIndex0 = targetIndex + 1;
        c.toString;
        t3 = J.getInterceptor$x(c);
        bias[targetIndex] = (t3.get$value(c) >>> 16 & 255) / 255;
        targetIndex = targetIndex0 + 1;
        bias[targetIndex0] = (t3.get$value(c) >>> 8 & 255) / 255;
        targetIndex0 = targetIndex + 1;
        bias[targetIndex] = (t3.get$value(c) & 255) / 255;
        targetIndex = targetIndex0 + 1;
        bias[targetIndex0] = (t3.get$value(c) >>> 24 & 255) / 255;
      }
      for (t2 = stops.length, _i = 0; _i < t2; ++_i, thresholdIndex = thresholdIndex0) {
        thresholdIndex0 = thresholdIndex + 1;
        thresholds[thresholdIndex] = stops[_i];
      }
      if (addLast) {
        c = C.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 * t1;
      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];
        t1 = colorIndex + 1;
        bias[t1] = bias[t1] - t * scale[t1];
        t1 = colorIndex + 2;
        bias[t1] = bias[t1] - t * scale[t1];
        t1 = colorIndex + 3;
        bias[t1] = bias[t1] - t * scale[t1];
      }
      return new H.NormalizedGradient(thresholds, bias, scale, normalizedCount);
    },
    writeUnrolledBinarySearch: function(method, start, end, biasName, probe, scaleName, sourcePrefix) {
      var biasSource, scaleSource, mid, t1, thresholdAtMid;
      if (start === end) {
        biasSource = biasName + "_" + start;
        method.addStatement$1(biasName + " = " + biasSource + ";");
        scaleSource = scaleName + "_" + start;
        method.addStatement$1(scaleName + " = " + scaleSource + ";");
      } else {
        mid = C.JSInt_methods._tdivFast$1(start + end, 2);
        t1 = mid + 1;
        thresholdAtMid = sourcePrefix + "_" + C.JSInt_methods._tdivFast$1(t1, 4) + ("." + "xyzw"[C.JSInt_methods.$mod(t1, 4)]);
        method.addStatement$1("if (" + probe + " < " + thresholdAtMid + ") {");
        ++method._indentLevel;
        H.writeUnrolledBinarySearch(method, start, mid, biasName, probe, scaleName, sourcePrefix);
        --method._indentLevel;
        method.addStatement$1("} else {");
        ++method._indentLevel;
        H.writeUnrolledBinarySearch(method, t1, end, biasName, probe, scaleName, sourcePrefix);
        --method._indentLevel;
        method.addStatement$1("}");
      }
    },
    _addColorStopsToCanvasGradient: function(gradient, colors, colorStops, isDecal) {
      var scale, offset, t1, i, colorStop,
        _s9_ = "#00000000";
      if (isDecal) {
        gradient.addColorStop(0, _s9_);
        scale = 0.999;
        offset = 0.0005000000000000004;
      } else {
        scale = 1;
        offset = 0;
      }
      if (colorStops == null) {
        t1 = H.colorToCssString(colors[0]);
        t1.toString;
        gradient.addColorStop(offset, t1);
        t1 = H.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 = H.colorToCssString(colors[i]);
          t1.toString;
          gradient.addColorStop(colorStop * scale + offset, t1);
        }
      if (isDecal)
        gradient.addColorStop(1, _s9_);
    },
    _writeSharedGradientShader: function(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 = C.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) {
        builder.addUniform$2$name(11, "bias_" + i);
        builder.addUniform$2$name(11, "scale_" + i);
      }
      switch (tileMode) {
        case C.TileMode_0:
          method.addStatement$1("float tiled_st = clamp(st, 0.0, 1.0);");
          probeName = _s8_;
          break;
        case C.TileMode_3:
          probeName = "st";
          break;
        case C.TileMode_1:
          method.addStatement$1("float tiled_st = fract(st);");
          probeName = _s8_;
          break;
        case C.TileMode_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:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      H.writeUnrolledBinarySearch(method, 0, t2, "bias", probeName, "scale", "threshold");
      return probeName;
    },
    ShaderBuilder_typeToString: function(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 H.wrapException(P.ArgumentError$(null));
    },
    commitScene: function(scene) {
      var request, _i, i,
        t1 = $._paintQueue,
        t2 = t1.length;
      if (t2 !== 0)
        try {
          if (t2 > 1)
            C.JSArray_methods.sort$1(t1, new H.commitScene_closure());
          for (t1 = $._paintQueue, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
            request = t1[_i];
            request.paintCallback$0();
          }
        } finally {
          $._paintQueue = H._setArrayType([], type$.JSArray__PaintRequest);
        }
      t1 = $._retainedSurfaces;
      t2 = t1.length;
      if (t2 !== 0) {
        for (i = 0; i < t2; ++i)
          t1[i].__engine$_state = C.PersistedSurfaceState_1;
        $._retainedSurfaces = H._setArrayType([], type$.JSArray_PersistedSurface);
      }
      for (t1 = $.frameReferences, i = 0; i < t1.length; ++i)
        t1[i].value = null;
      $.frameReferences = H._setArrayType([], type$.JSArray_FrameReference_dynamic);
    },
    PersistedContainerSurface__discardActiveChildren: function(surface) {
      var i, child,
        t1 = surface.__engine$_children,
        $length = t1.length;
      for (i = 0; i < $length; ++i) {
        child = t1[i];
        if (child.__engine$_state === C.PersistedSurfaceState_1)
          child.discard$0();
      }
    },
    Keyboard$_: function() {
      var t1 = new H.Keyboard(P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Timer));
      t1.Keyboard$_$0();
      return t1;
    },
    _noopCallback: function(data) {
    },
    MultiEntriesBrowserHistory$: function(urlStrategy) {
      var t1 = new H.MultiEntriesBrowserHistory(urlStrategy);
      t1.MultiEntriesBrowserHistory$1$urlStrategy(urlStrategy);
      return t1;
    },
    EnginePlatformDispatcher_browserDevicePixelRatio: function() {
      var ratio = window.devicePixelRatio;
      return ratio == null || ratio === 0 ? 1 : ratio;
    },
    EnginePlatformDispatcher__zonedPlatformMessageResponseCallback: function(callback) {
      return new H.EnginePlatformDispatcher__zonedPlatformMessageResponseCallback_closure($.Zone__current, callback);
    },
    EnginePlatformDispatcher_parseBrowserLanguages: function() {
      var locales, t1, t2, t3, parts,
        languages = window.navigator.languages;
      if (languages == null || J.get$isEmpty$asx(languages))
        return C.List_Locale_en_US;
      locales = H._setArrayType([], type$.JSArray_Locale);
      for (t1 = J.get$iterator$ax(languages), t2 = type$.JSArray_String; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        parts = H._setArrayType(t3.split("-"), t2);
        if (parts.length > 1)
          locales.push(new P.Locale(C.JSArray_methods.get$first(parts), C.JSArray_methods.get$last(parts)));
        else
          locales.push(new P.Locale(t3, null));
      }
      return locales;
    },
    _handleWebTestEnd2EndMessage: function(codec, data) {
      var decoded = codec.decodeMethodCall$1(data),
        ratio = P.double_parse(decoded.$arguments);
      switch (decoded.method) {
        case "setDevicePixelRatio":
          $.$get$window()._debugDevicePixelRatio = ratio;
          $.$get$EnginePlatformDispatcher__instance()._onMetricsChanged.call$0();
          return true;
      }
      return false;
    },
    invoke: function(callback, zone) {
      if (callback == null)
        return;
      if (zone == $.Zone__current)
        callback.call$0();
      else
        zone.runGuarded$1(callback);
    },
    invoke1: function(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: function(callback, zone, arg1, arg2) {
      if (zone == $.Zone__current)
        callback.call$2(arg1, arg2);
      else
        zone.runGuarded$1(new H.invoke2_closure(callback, arg1, arg2));
    },
    invoke3: function(callback, zone, arg1, arg2, arg3) {
      if (callback == null)
        return;
      if (zone == $.Zone__current)
        callback.call$3(arg1, arg2, arg3);
      else
        zone.runGuarded$1(new H.invoke3_closure(callback, arg1, arg2, arg3));
    },
    convertButtonToButtons: function(button) {
      switch (button) {
        case 0:
          return 1;
        case 1:
          return 4;
        case 2:
          return 2;
        default:
          return C.JSInt_methods.$shl(1, button);
      }
    },
    _BaseAdapter__eventTimeStampToDuration: function(milliseconds) {
      var ms = J.toInt$0$n(milliseconds);
      return P.Duration$(C.JSNumber_methods.toInt$0((milliseconds - ms) * 1000), ms);
    },
    timeAction: function($name, action) {
      var t1 = action.call$0();
      return t1;
    },
    _frameTimingsOnVsync: function() {
      if ($.$get$EnginePlatformDispatcher__instance()._onReportTimings == null)
        return;
      $._vsyncStartMicros = C.JSNumber_methods.toInt$0(window.performance.now() * 1000);
    },
    _frameTimingsOnBuildStart: function() {
      if ($.$get$EnginePlatformDispatcher__instance()._onReportTimings == null)
        return;
      $._buildStartMicros = C.JSNumber_methods.toInt$0(window.performance.now() * 1000);
    },
    _frameTimingsOnBuildFinish: function() {
      if ($.$get$EnginePlatformDispatcher__instance()._onReportTimings == null)
        return;
      $._buildFinishMicros = C.JSNumber_methods.toInt$0(window.performance.now() * 1000);
    },
    _frameTimingsOnRasterStart: function() {
      if ($.$get$EnginePlatformDispatcher__instance()._onReportTimings == null)
        return;
      $._rasterStartMicros = C.JSNumber_methods.toInt$0(window.performance.now() * 1000);
    },
    _frameTimingsOnRasterFinish: function() {
      var now, t2,
        t1 = $.$get$EnginePlatformDispatcher__instance();
      if (t1._onReportTimings == null)
        return;
      now = $._rasterFinishMicros = C.JSNumber_methods.toInt$0(window.performance.now() * 1000);
      $._frameTimings.push(new P.FrameTiming(H._setArrayType([$._vsyncStartMicros, $._buildStartMicros, $._buildFinishMicros, $._rasterStartMicros, now, 1], type$.JSArray_int)));
      $._rasterFinishMicros = $._rasterStartMicros = $._buildFinishMicros = $._buildStartMicros = $._vsyncStartMicros = -1;
      if (now - $.$get$_frameTimingsLastSubmitTime() > 100000) {
        $._frameTimingsLastSubmitTime = now;
        t2 = $._frameTimings;
        H.invoke1(t1._onReportTimings, t1._onReportTimingsZone, t2, type$.List_FrameTiming);
        $._frameTimings = H._setArrayType([], type$.JSArray_FrameTiming);
      }
    },
    _nowMicros: function() {
      return C.JSNumber_methods.toInt$0(window.performance.now() * 1000);
    },
    AccessibilityAnnouncements$_: function() {
      var t1 = new H.AccessibilityAnnouncements();
      t1.AccessibilityAnnouncements$_$0();
      return t1;
    },
    _checkableKindFromSemanticsFlag: function(semanticsObject) {
      var t1 = semanticsObject.__engine$_flags;
      if ((t1 & 256) !== 0)
        return C._CheckableKind_1;
      else if ((t1 & 65536) !== 0)
        return C._CheckableKind_2;
      else
        return C._CheckableKind_0;
    },
    Incrementable$: function(semanticsObject) {
      var t1 = new H.Incrementable(W.InputElement_InputElement(null), semanticsObject);
      t1.Incrementable$1(semanticsObject);
      return t1;
    },
    SemanticsObject__clearSemanticElementTransform: function(element) {
      var t1 = element.style;
      t1.removeProperty("transform-origin");
      t1.removeProperty("transform");
      t1 = $.$get$_operatingSystem();
      if (t1 !== C.OperatingSystem_0)
        t1 = t1 === C.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$_: function() {
      var t1 = type$.SemanticsObject,
        t2 = H._setArrayType([], type$.JSArray_nullable_SemanticsObject),
        t3 = H._setArrayType([], type$.JSArray_of_void_Function),
        t4 = $.$get$_operatingSystem();
      t4 = J.containsKey$1$x(C.Set_et9F4._collection$_map, t4) ? new H.DesktopSemanticsEnabler() : new H.MobileSemanticsEnabler();
      t4 = new H.EngineSemanticsOwner(P.LinkedHashMap_LinkedHashMap$_empty(type$.int, t1), P.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_int, t1), t2, t3, new H.EngineSemanticsOwner__now_closure(), new H.SemanticsHelper(t4), C.GestureMode_1, H._setArrayType([], type$.JSArray_of_nullable_void_Function_GestureMode));
      t4.EngineSemanticsOwner$_$0();
      return t4;
    },
    longestIncreasingSubsequence: function(list) {
      var longest, i, elem, hi, lo, mid, seq, k,
        len = list.length,
        t1 = type$.JSArray_int,
        predecessors = H._setArrayType([], t1),
        mins = H._setArrayType([0], t1);
      for (longest = 0, i = 0; i < len; ++i) {
        elem = list[i];
        for (hi = longest, lo = 1; lo <= hi;) {
          mid = C.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 = P.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: function(owner) {
      var t1 = $.SemanticsTextEditingStrategy__instance;
      if (t1 != null && t1.owner === owner) {
        t1.toString;
        return t1;
      }
      return $.SemanticsTextEditingStrategy__instance = new H.SemanticsTextEditingStrategy(owner, H._setArrayType([], type$.JSArray_StreamSubscription_Event));
    },
    WriteBuffer_WriteBuffer: function() {
      var t1 = new Uint8Array(0),
        eightBytes = new DataView(new ArrayBuffer(8));
      return new H.WriteBuffer0(new H.Uint8Buffer0(t1, 0), eightBytes, H.NativeUint8List_NativeUint8List$view(eightBytes.buffer, 0, null));
    },
    computeShadowOffset: function(elevation) {
      if (elevation === 0)
        return C.Offset_0_0;
      return new P.Offset(200 * elevation / 600, 400 * elevation / 600);
    },
    computePenumbraBounds: function(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 P.Rect(t2 - dx, t4 - dy, t1 + dx, t3 + dy).shift$1(H.computeShadowOffset(elevation));
    },
    computeShadow: function(shape, elevation) {
      if (elevation === 0)
        return null;
      return new H.SurfaceShadowData(Math.min(elevation * ((800 + (shape.right - shape.left) * 0.5) / 600), elevation * ((800 + (shape.bottom - shape.top) * 0.5) / 600)), H.computeShadowOffset(elevation));
    },
    applyCssShadow: function(element, shape, elevation, color) {
      var t1, t2, t3,
        _s10_ = "box-shadow",
        shadow = H.computeShadow(shape, elevation);
      if (shadow == null) {
        t1 = element.style;
        t1.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, _s10_), "none", "");
      } else {
        color = H.toShadowColor(color);
        t1 = element.style;
        t2 = shadow.offset;
        t3 = color.value;
        t3 = H.S(t2._dx) + "px " + H.S(t2._dy) + "px " + H.S(shadow.blurWidth) + "px 0px rgba(" + (t3 >>> 16 & 255) + ", " + (t3 >>> 8 & 255) + ", " + (t3 & 255) + ", " + H.S((t3 >>> 24 & 255) / 255) + ")";
        t1.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, _s10_), t3, "");
      }
    },
    toShadowColor: function(color) {
      var t1 = color.value;
      return new P.Color(((C.JSNumber_methods.round$0(0.3 * (t1 >>> 24 & 255)) & 255) << 24 | t1 & 16777215) >>> 0);
    },
    _applySpanStylesToParagraph: function(element, spans) {
      var t1, fontSize, fontFamily, _i, t2, spanFontSize, cssStyle;
      for (t1 = spans.length, fontSize = 0, fontFamily = null, _i = 0; _i < spans.length; spans.length === t1 || (0, H.throwConcurrentModificationError)(spans), ++_i) {
        t2 = spans[_i].style;
        spanFontSize = t2._fontSize;
        if (spanFontSize != null && spanFontSize > fontSize) {
          if (t2._isFontFamilyProvided)
            fontFamily = t2.get$_effectiveFontFamily();
          fontSize = spanFontSize;
        }
      }
      cssStyle = element.style;
      if (fontSize !== 0) {
        t1 = H.S(fontSize) + "px";
        cssStyle.fontSize = t1;
      }
      if (fontFamily != null) {
        t1 = H.canonicalizeFontFamily(fontFamily);
        cssStyle.toString;
        cssStyle.fontFamily = t1 == null ? "" : t1;
      }
    },
    FontManager_FontManager: function() {
      var t1 = type$.JSArray_Future_void;
      if ($.$get$supportsFontLoadingApi())
        return new H.FontManager(H._setArrayType([], t1));
      else
        return new H._PolyfillFontManager(H._setArrayType([], t1));
    },
    LineBuilder$_: function(paragraph, spanometer, accumulatedHeight, lineNumber, maxWidth, start) {
      return new H.LineBuilder(H._setArrayType([], type$.JSArray_LineSegment), H._setArrayType([], type$.JSArray_RangeBox), maxWidth, paragraph, spanometer, start, lineNumber, accumulatedHeight, start);
    },
    nextLineBreak: function(text, index, maxEnd) {
      var t1, lastNonNewlineIndex, lastNonSpaceIndex, prev1, regionalIndicatorCount, t2, t3, t4, curr0, isCurrZWJ0, t5, t6, t7,
        codePoint = H.getCodePoint(text, index),
        curr = $.$get$lineLookup().findForChar$1(codePoint),
        baseOfSpaceSequence = curr === C.LineCharProperty_5 ? C.LineCharProperty_29 : null,
        isCurrZWJ = curr === C.LineCharProperty_26;
      if (curr === C.LineCharProperty_0 || isCurrZWJ)
        curr = C.LineCharProperty_8;
      for (t1 = text.length, lastNonNewlineIndex = index, lastNonSpaceIndex = lastNonNewlineIndex, prev1 = null, regionalIndicatorCount = 0; index < t1; isCurrZWJ = isCurrZWJ0, prev1 = curr, curr = curr0) {
        if (index === maxEnd)
          return new H.LineBreakResult(index, lastNonNewlineIndex, lastNonSpaceIndex, C.LineBreakType_1);
        t2 = curr === C.LineCharProperty_35;
        regionalIndicatorCount = t2 ? regionalIndicatorCount + 1 : 0;
        index = (codePoint != null && codePoint > 65535 ? index + 1 : index) + 1;
        t3 = curr === C.LineCharProperty_5;
        t4 = !t3;
        if (t4)
          baseOfSpaceSequence = null;
        codePoint = H.getCodePoint(text, index);
        curr0 = $.$get$lineLookup().findForChar$1(codePoint);
        isCurrZWJ0 = curr0 === C.LineCharProperty_26;
        if (curr === C.LineCharProperty_2 || curr === C.LineCharProperty_3)
          return new H.LineBreakResult(index, lastNonNewlineIndex, lastNonSpaceIndex, C.LineBreakType_2);
        if (curr === C.LineCharProperty_4)
          if (curr0 === C.LineCharProperty_2)
            continue;
          else
            return new H.LineBreakResult(index, lastNonNewlineIndex, lastNonSpaceIndex, C.LineBreakType_2);
        if (t4)
          lastNonSpaceIndex = index;
        if (curr0 === C.LineCharProperty_2 || curr0 === C.LineCharProperty_3 || curr0 === C.LineCharProperty_4) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (index >= t1)
          return new H.LineBreakResult(t1, index, lastNonSpaceIndex, C.LineBreakType_3);
        if (curr0 === C.LineCharProperty_5) {
          baseOfSpaceSequence = t3 ? baseOfSpaceSequence : curr;
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr0 === C.LineCharProperty_25) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === C.LineCharProperty_25 || baseOfSpaceSequence === C.LineCharProperty_25)
          return new H.LineBreakResult(index, index, lastNonSpaceIndex, C.LineBreakType_0);
        if (curr0 === C.LineCharProperty_0 || isCurrZWJ0) {
          if (!t3) {
            if (t2)
              --regionalIndicatorCount;
            lastNonNewlineIndex = index;
            curr0 = curr;
            continue;
          }
          curr0 = C.LineCharProperty_8;
        }
        if (isCurrZWJ) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr0 === C.LineCharProperty_29 || curr === C.LineCharProperty_29) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === C.LineCharProperty_18) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (!(!t4 || curr === C.LineCharProperty_1 || curr === C.LineCharProperty_14) && curr0 === C.LineCharProperty_18) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr0 === C.LineCharProperty_17 || curr0 === C.LineCharProperty_12 || curr0 === C.LineCharProperty_6 || curr0 === C.LineCharProperty_13 || curr0 === C.LineCharProperty_15) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === C.LineCharProperty_11 || baseOfSpaceSequence === C.LineCharProperty_11) {
          lastNonNewlineIndex = index;
          continue;
        }
        t2 = curr !== C.LineCharProperty_7;
        if ((!t2 || baseOfSpaceSequence === C.LineCharProperty_7) && curr0 === C.LineCharProperty_11) {
          lastNonNewlineIndex = index;
          continue;
        }
        t4 = curr !== C.LineCharProperty_17;
        if ((!t4 || baseOfSpaceSequence === C.LineCharProperty_17 || curr === C.LineCharProperty_12 || baseOfSpaceSequence === C.LineCharProperty_12) && curr0 === C.LineCharProperty_24) {
          lastNonNewlineIndex = index;
          continue;
        }
        if ((curr === C.LineCharProperty_27 || baseOfSpaceSequence === C.LineCharProperty_27) && curr0 === C.LineCharProperty_27) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (t3)
          return new H.LineBreakResult(index, index, lastNonSpaceIndex, C.LineBreakType_0);
        if (!t2 || curr0 === C.LineCharProperty_7) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === C.LineCharProperty_34 || curr0 === C.LineCharProperty_34)
          return new H.LineBreakResult(index, index, lastNonSpaceIndex, C.LineBreakType_0);
        if (curr0 === C.LineCharProperty_1 || curr0 === C.LineCharProperty_14 || curr0 === C.LineCharProperty_24 || curr === C.LineCharProperty_19) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (prev1 === C.LineCharProperty_20)
          t2 = curr === C.LineCharProperty_14 || curr === C.LineCharProperty_1;
        else
          t2 = false;
        if (t2) {
          lastNonNewlineIndex = index;
          continue;
        }
        t2 = curr === C.LineCharProperty_15;
        if (t2 && curr0 === C.LineCharProperty_20) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr0 === C.LineCharProperty_28) {
          lastNonNewlineIndex = index;
          continue;
        }
        t3 = curr !== C.LineCharProperty_8;
        if (!((!t3 || curr === C.LineCharProperty_20) && curr0 === C.LineCharProperty_16))
          if (curr === C.LineCharProperty_16)
            t5 = curr0 === C.LineCharProperty_8 || curr0 === C.LineCharProperty_20;
          else
            t5 = false;
        else
          t5 = true;
        if (t5) {
          lastNonNewlineIndex = index;
          continue;
        }
        t5 = curr === C.LineCharProperty_9;
        if (t5)
          t6 = curr0 === C.LineCharProperty_30 || curr0 === C.LineCharProperty_31 || curr0 === C.LineCharProperty_36;
        else
          t6 = false;
        if (t6) {
          lastNonNewlineIndex = index;
          continue;
        }
        if ((curr === C.LineCharProperty_30 || curr === C.LineCharProperty_31 || curr === C.LineCharProperty_36) && curr0 === C.LineCharProperty_10) {
          lastNonNewlineIndex = index;
          continue;
        }
        t6 = !t5;
        if (!t6 || curr === C.LineCharProperty_10)
          t7 = curr0 === C.LineCharProperty_8 || curr0 === C.LineCharProperty_20;
        else
          t7 = false;
        if (t7) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (!t3 || curr === C.LineCharProperty_20)
          t7 = curr0 === C.LineCharProperty_9 || curr0 === C.LineCharProperty_10;
        else
          t7 = false;
        if (t7) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (!t4 || curr === C.LineCharProperty_12 || curr === C.LineCharProperty_16)
          t4 = curr0 === C.LineCharProperty_10 || curr0 === C.LineCharProperty_9;
        else
          t4 = false;
        if (t4) {
          lastNonNewlineIndex = index;
          continue;
        }
        t4 = curr !== C.LineCharProperty_10;
        if ((!t4 || t5) && curr0 === C.LineCharProperty_11) {
          lastNonNewlineIndex = index;
          continue;
        }
        if ((!t4 || !t6 || curr === C.LineCharProperty_14 || curr === C.LineCharProperty_13 || curr === C.LineCharProperty_16 || t2) && curr0 === C.LineCharProperty_16) {
          lastNonNewlineIndex = index;
          continue;
        }
        t2 = curr === C.LineCharProperty_21;
        if (t2)
          t4 = curr0 === C.LineCharProperty_21 || curr0 === C.LineCharProperty_22 || curr0 === C.LineCharProperty_32 || curr0 === C.LineCharProperty_33;
        else
          t4 = false;
        if (t4) {
          lastNonNewlineIndex = index;
          continue;
        }
        t4 = curr !== C.LineCharProperty_22;
        if (!t4 || curr === C.LineCharProperty_32)
          t6 = curr0 === C.LineCharProperty_22 || curr0 === C.LineCharProperty_23;
        else
          t6 = false;
        if (t6) {
          lastNonNewlineIndex = index;
          continue;
        }
        t6 = curr !== C.LineCharProperty_23;
        if ((!t6 || curr === C.LineCharProperty_33) && curr0 === C.LineCharProperty_23) {
          lastNonNewlineIndex = index;
          continue;
        }
        if ((t2 || !t4 || !t6 || curr === C.LineCharProperty_32 || curr === C.LineCharProperty_33) && curr0 === C.LineCharProperty_10) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (t5)
          t2 = curr0 === C.LineCharProperty_21 || curr0 === C.LineCharProperty_22 || curr0 === C.LineCharProperty_23 || curr0 === C.LineCharProperty_32 || curr0 === C.LineCharProperty_33;
        else
          t2 = false;
        if (t2) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (!t3 || curr === C.LineCharProperty_20)
          t2 = curr0 === C.LineCharProperty_8 || curr0 === C.LineCharProperty_20;
        else
          t2 = false;
        if (t2) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === C.LineCharProperty_13)
          t2 = curr0 === C.LineCharProperty_8 || curr0 === C.LineCharProperty_20;
        else
          t2 = false;
        if (t2) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (!t3 || curr === C.LineCharProperty_20 || curr === C.LineCharProperty_16)
          if (curr0 === C.LineCharProperty_11) {
            t2 = C.JSString_methods.codeUnitAt$1(text, index);
            if (t2 !== 9001)
              if (!(t2 >= 12296 && t2 <= 12317))
                t2 = t2 >= 65047 && t2 <= 65378;
              else
                t2 = true;
            else
              t2 = true;
            t2 = !t2;
          } else
            t2 = false;
        else
          t2 = false;
        if (t2) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === C.LineCharProperty_12) {
          t2 = C.JSString_methods.codeUnitAt$1(text, index - 1);
          if (t2 !== 9001)
            if (!(t2 >= 12296 && t2 <= 12317))
              t2 = t2 >= 65047 && t2 <= 65378;
            else
              t2 = true;
          else
            t2 = true;
          if (!t2)
            t2 = curr0 === C.LineCharProperty_8 || curr0 === C.LineCharProperty_20 || curr0 === C.LineCharProperty_16;
          else
            t2 = false;
        } else
          t2 = false;
        if (t2) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr0 === C.LineCharProperty_35)
          if ((regionalIndicatorCount & 1) === 1) {
            lastNonNewlineIndex = index;
            continue;
          } else
            return new H.LineBreakResult(index, index, lastNonSpaceIndex, C.LineBreakType_0);
        if (curr === C.LineCharProperty_31 && curr0 === C.LineCharProperty_36) {
          lastNonNewlineIndex = index;
          continue;
        }
        return new H.LineBreakResult(index, index, lastNonSpaceIndex, C.LineBreakType_0);
      }
      return new H.LineBreakResult(t1, lastNonNewlineIndex, lastNonSpaceIndex, C.LineBreakType_3);
    },
    _newlinePredicate: function(char) {
      var prop = $.$get$lineLookup().findForChar$1(char);
      return prop === C.LineCharProperty_3 || prop === C.LineCharProperty_2 || prop === C.LineCharProperty_4;
    },
    RulerHost$: function(root) {
      var t1 = new H.RulerHost(W._ElementFactoryProvider_createElement_tag("flt-ruler-host", null));
      t1.RulerHost$1$root(root);
      return t1;
    },
    TextMeasurementService_forParagraph: function(paragraph) {
      var style,
        t1 = $.$get$window().get$physicalSize();
      if (!t1.get$isEmpty(t1))
        if ($.WebExperiments_instance._useCanvasText) {
          style = paragraph._geometricStyle;
          t1 = paragraph._plainText != null && style.decoration == null && style.wordSpacing == null;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1) {
        t1 = $.CanvasTextMeasurementService__instance;
        return t1 == null ? $.CanvasTextMeasurementService__instance = new H.CanvasTextMeasurementService(W.CanvasElement_CanvasElement(null, null).getContext("2d")) : t1;
      }
      t1 = $.DomTextMeasurementService__instance;
      return t1 == null ? $.DomTextMeasurementService__instance = new H.DomTextMeasurementService() : t1;
    },
    DomTextMeasurementService__applySubPixelRoundingHack: function(minIntrinsicWidth, maxIntrinsicWidth) {
      if (minIntrinsicWidth <= maxIntrinsicWidth)
        return maxIntrinsicWidth;
      if (minIntrinsicWidth - maxIntrinsicWidth < 2)
        return minIntrinsicWidth;
      throw H.wrapException(P.Exception_Exception("minIntrinsicWidth (" + H.S(minIntrinsicWidth) + ") is greater than maxIntrinsicWidth (" + H.S(maxIntrinsicWidth) + ")."));
    },
    _measureSubstring: function(_canvasContext, text, start, end, letterSpacing) {
      var cssFont, width, t1;
      if (start === end)
        return 0;
      cssFont = _canvasContext.font;
      if (start === $._lastStart && end === $._lastEnd && text == $._lastText && cssFont == $._lastCssFont)
        width = $._lastWidth;
      else {
        t1 = _canvasContext.measureText(start === 0 && end === text.length ? text : J.substring$2$s(text, start, end)).width;
        t1.toString;
        width = t1;
      }
      $._lastStart = start;
      $._lastEnd = end;
      $._lastText = text;
      $._lastCssFont = cssFont;
      $._lastWidth = width;
      if (letterSpacing == null)
        letterSpacing = 0;
      return C.JSNumber_methods.round$0((letterSpacing !== 0 ? width + letterSpacing * (end - start) : width) * 100) / 100;
    },
    _excludeTrailing: function(text, start, end, predicate) {
      while (true) {
        if (!(start < end && predicate.call$1(C.JSString_methods.codeUnitAt$1(text, end - 1))))
          break;
        --end;
      }
      return end;
    },
    _calculateAlignOffsetForLine: function(lineWidth, maxWidth, paragraph) {
      var emptySpace = maxWidth - lineWidth;
      switch (paragraph._textAlign) {
        case C.TextAlign_2:
          return emptySpace / 2;
        case C.TextAlign_1:
          return emptySpace;
        case C.TextAlign_4:
          return paragraph.__engine$_textDirection === C.TextDirection_0 ? emptySpace : 0;
        case C.TextAlign_5:
          return paragraph.__engine$_textDirection === C.TextDirection_0 ? 0 : emptySpace;
        default:
          return 0;
      }
    },
    EngineLineMetrics$withText: function(displayText, endIndex, endIndexWithoutNewlines, hardBreak, left, lineNumber, startIndex, width, widthWithTrailingSpaces) {
      return new H.EngineLineMetrics(displayText, null, startIndex, endIndex, endIndexWithoutNewlines, null, hardBreak, 1 / 0, 1 / 0, 1 / 0, width, widthWithTrailingSpaces, left, 1 / 0, lineNumber);
    },
    EngineTextStyle$only: function(background, color, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontWeight, foreground, height, letterSpacing, locale, shadows, textBaseline, wordSpacing) {
      var t1 = fontFamily == null,
        t2 = t1 ? "" : fontFamily;
      return new H.EngineTextStyle(color, decoration, decorationColor, decorationStyle, decorationThickness, fontWeight, fontStyle, textBaseline, !t1, t2, fontFamilyFallback, fontFeatures, fontSize, letterSpacing, wordSpacing, height, locale, background, foreground, shadows);
    },
    fontWeightToCss: function(fontWeight) {
      if (fontWeight == null)
        return null;
      return H.fontWeightIndexToCss(fontWeight.index);
    },
    fontWeightIndexToCss: function(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 "";
    },
    _applyTextStyleToElement: function(element, isSpan, style) {
      var t2, updateDecoration, t3, textDecoration, decorationColor,
        cssStyle = element.style,
        t1 = style._foreground,
        color = t1 == null ? null : t1.get$color(t1);
      if (color == null)
        color = style._color;
      if (color != null) {
        t1 = H.colorToCssString(color);
        cssStyle.toString;
        cssStyle.color = t1 == null ? "" : t1;
      }
      t1 = style.__engine$_height;
      if (t1 != null) {
        t1 = H.S(t1);
        cssStyle.lineHeight = t1;
      }
      t1 = style._fontSize;
      if (t1 != null) {
        t1 = "" + C.JSNumber_methods.floor$0(t1) + "px";
        cssStyle.fontSize = t1;
      }
      t1 = style._fontWeight;
      if (t1 != null) {
        t1 = H.fontWeightToCss(t1);
        cssStyle.toString;
        cssStyle.fontWeight = t1 == null ? "" : t1;
      }
      t1 = style._fontStyle;
      if (t1 != null) {
        t1 = t1 === C.FontStyle_0 ? "normal" : "italic";
        cssStyle.fontStyle = t1;
      }
      if (isSpan && true) {
        t1 = H.canonicalizeFontFamily(style._fontFamily);
        cssStyle.toString;
        cssStyle.fontFamily = t1 == null ? "" : t1;
      } else {
        t1 = H.canonicalizeFontFamily(style.get$_effectiveFontFamily());
        cssStyle.toString;
        cssStyle.fontFamily = t1 == null ? "" : t1;
      }
      t1 = style._letterSpacing;
      if (t1 != null) {
        t1 = H.S(t1) + "px";
        cssStyle.letterSpacing = t1;
      }
      t1 = style._wordSpacing;
      if (t1 != null) {
        t1 = H.S(t1) + "px";
        cssStyle.wordSpacing = t1;
      }
      t1 = style._decoration;
      t2 = t1 != null;
      updateDecoration = t2 && true;
      t3 = style._shadows;
      if (t3 != null) {
        t3 = H._shadowListToCss(t3);
        C.CssStyleDeclaration_methods._setPropertyHelper$3(cssStyle, (cssStyle && C.CssStyleDeclaration_methods)._browserPropertyName$1(cssStyle, "text-shadow"), t3, "");
      }
      if (updateDecoration)
        if (t2) {
          textDecoration = H._textDecorationToCssString(t1, style._decorationStyle);
          if (textDecoration != null) {
            t1 = $.$get$_browserEngine();
            if (t1 === C.BrowserEngine_1)
              H.DomRenderer_setElementStyle(element, "-webkit-text-decoration", textDecoration);
            else
              cssStyle.textDecoration = textDecoration;
            decorationColor = style._decorationColor;
            if (decorationColor != null) {
              t1 = H.colorToCssString(decorationColor);
              t1.toString;
              C.CssStyleDeclaration_methods._setPropertyHelper$3(cssStyle, (cssStyle && C.CssStyleDeclaration_methods)._browserPropertyName$1(cssStyle, "text-decoration-color"), t1, "");
            }
          }
        }
    },
    _createPlaceholderElement: function(placeholder) {
      var style, t1,
        element = $.$get$domRenderer().createElement$1(0, "span");
      element.className = "paragraph-placeholder";
      style = element.style;
      style.display = "inline-block";
      t1 = H.S(placeholder.get$width(placeholder)) + "px";
      style.width = t1;
      t1 = H.S(placeholder.get$height(placeholder)) + "px";
      style.height = t1;
      t1 = H._placeholderAlignmentToCssVerticalAlign(placeholder);
      style.verticalAlign = t1;
      return element;
    },
    _placeholderAlignmentToCssVerticalAlign: function(placeholder) {
      switch (placeholder.get$alignment()) {
        case C.PlaceholderAlignment_3:
          return "top";
        case C.PlaceholderAlignment_5:
          return "middle";
        case C.PlaceholderAlignment_4:
          return "bottom";
        case C.PlaceholderAlignment_1:
          return "baseline";
        case C.PlaceholderAlignment_2:
          return "-" + H.S(placeholder.get$height(placeholder)) + "px";
        case C.PlaceholderAlignment_0:
          return H.S(placeholder.get$baselineOffset().$sub(0, placeholder.get$height(placeholder))) + "px";
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _shadowListToCss: function(shadows) {
      var i, t1, shadow, t2;
      shadows.toString;
      for (i = 0, t1 = ""; i < 1; ++i, t1 = t2) {
        shadow = shadows[i];
        t2 = shadow.offset;
        t2 = t1 + (H.S(t2._dx) + "px " + H.S(t2._dy) + "px " + H.S(shadow.blurRadius) + "px " + H.S(H.colorToCssString(shadow.color)));
      }
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _applyTextBackgroundToElement: function(element, style) {
      var newBackground = style._background;
      if (newBackground != null)
        H.DomRenderer_setElementStyle(element, "background-color", H.colorToCssString(newBackground.get$color(newBackground)));
    },
    _textDecorationToCssString: function(decoration, decorationStyle) {
      var t1, t2;
      if (decoration != null) {
        t1 = decoration._mask;
        t2 = (t1 | 1) === t1 ? "underline " : "";
        if ((t1 | 2) === t1)
          t2 += "overline ";
        t1 = (t1 | 4) === t1 ? t2 + "line-through " : t2;
      } else
        t1 = "";
      if (decorationStyle != null)
        t1 += H.S(H._decorationStyleToCssString(decorationStyle));
      return t1.length === 0 ? null : t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _decorationStyleToCssString: function(decorationStyle) {
      switch (decorationStyle) {
        case C.TextDecorationStyle_3:
          return "dashed";
        case C.TextDecorationStyle_2:
          return "dotted";
        case C.TextDecorationStyle_1:
          return "double";
        case C.TextDecorationStyle_0:
          return "solid";
        case C.TextDecorationStyle_4:
          return "wavy";
        default:
          return null;
      }
    },
    _textDirectionToCss: function(textDirection) {
      if (textDirection == null)
        return null;
      return H.textDirectionIndexToCss(textDirection.index);
    },
    textDirectionIndexToCss: function(textDirectionIndex) {
      switch (textDirectionIndex) {
        case 0:
          return "rtl";
        case 1:
          return null;
      }
      return null;
    },
    textAlignToCssValue: function(align, textDirection) {
      var _s80_ = string$.x60null_c;
      switch (align) {
        case C.TextAlign_0:
          return "left";
        case C.TextAlign_1:
          return "right";
        case C.TextAlign_2:
          return "center";
        case C.TextAlign_3:
          return "justify";
        case C.TextAlign_5:
          switch (textDirection) {
            case C.TextDirection_1:
              return "end";
            case C.TextDirection_0:
              return "left";
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        case C.TextAlign_4:
          switch (textDirection) {
            case C.TextDirection_1:
              return "";
            case C.TextDirection_0:
              return "right";
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        case null:
          return "";
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
    },
    _buildCssFontString: function(fontFamily, fontSize, fontStyle, fontWeight) {
      var t1;
      if (fontStyle != null)
        t1 = fontStyle === C.FontStyle_0 ? "normal" : "italic";
      else
        t1 = "normal";
      t1 += " ";
      t1 = (fontWeight != null ? t1 + H.S(H.fontWeightToCss(fontWeight)) : t1 + "normal") + " ";
      t1 = (fontSize != null ? t1 + C.JSNumber_methods.floor$0(fontSize) : t1 + "14") + "px " + H.S(H.canonicalizeFontFamily(fontFamily));
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    TextHeightRuler$: function(textHeightStyle, rulerHost) {
      return new H.TextHeightRuler(textHeightStyle, rulerHost, new H.TextDimensions(document.createElement("p")));
    },
    MeasurementResult$: function(constraintWidth, alphabeticBaseline, height, ideographicBaseline, isSingleLine, lineHeight, lines, maxIntrinsicWidth, minIntrinsicWidth, naturalHeight, placeholderBoxes, textAlign, textDirection, width) {
      return new H.MeasurementResult(constraintWidth, isSingleLine, width, height, naturalHeight, lineHeight, minIntrinsicWidth, maxIntrinsicWidth, alphabeticBaseline, ideographicBaseline, lines, placeholderBoxes, textAlign, textDirection);
    },
    getCodePoint: function(text, index) {
      var char;
      if (index < 0 || index >= text.length)
        return null;
      char = J.codeUnitAt$1$s(text, index);
      if ((char & 63488) === 55296 && index < text.length - 1)
        return (char >>> 6 & 31) + 1 << 16 | (char & 63) << 10 | C.JSString_methods.codeUnitAt$1(text, index + 1) & 1023;
      return char;
    },
    UnicodePropertyLookup_UnicodePropertyLookup$fromPackedData: function(packedData, singleRangesCount, propertyEnumValues, defaultProperty, $P) {
      return new H.UnicodePropertyLookup(H._unpackProperties(packedData, singleRangesCount, propertyEnumValues, $P), defaultProperty, P.LinkedHashMap_LinkedHashMap$_empty(type$.int, $P), $P._eval$1("UnicodePropertyLookup<0>"));
    },
    _unpackProperties: function(packedData, singleRangesCount, propertyEnumValues, $P) {
      var t1, i, rangeStart, rangeEnd, i0,
        ranges = H._setArrayType([], $P._eval$1("JSArray<UnicodeRange<0>>")),
        dataLength = packedData.length;
      for (t1 = $P._eval$1("UnicodeRange<0>"), i = 0; i < dataLength; i = i0) {
        rangeStart = H._consumeInt(packedData, i);
        i += 4;
        if (C.JSString_methods._codeUnitAt$1(packedData, i) === 33) {
          ++i;
          rangeEnd = rangeStart;
        } else {
          rangeEnd = H._consumeInt(packedData, i);
          i += 4;
        }
        i0 = i + 1;
        ranges.push(new H.UnicodeRange(rangeStart, rangeEnd, propertyEnumValues[H._getEnumIndexFromPackedValue(C.JSString_methods._codeUnitAt$1(packedData, i))], t1));
      }
      return ranges;
    },
    _getEnumIndexFromPackedValue: function(charCode) {
      if (charCode <= 90)
        return charCode - 65;
      return 26 + charCode - 97;
    },
    _consumeInt: function(packedData, index) {
      return H._getIntFromCharCode(C.JSString_methods._codeUnitAt$1(packedData, index + 3)) + H._getIntFromCharCode(C.JSString_methods._codeUnitAt$1(packedData, index + 2)) * 36 + H._getIntFromCharCode(C.JSString_methods._codeUnitAt$1(packedData, index + 1)) * 36 * 36 + H._getIntFromCharCode(C.JSString_methods._codeUnitAt$1(packedData, index)) * 36 * 36 * 36;
    },
    _getIntFromCharCode: function(charCode) {
      if (charCode <= 57)
        return charCode - 48;
      return charCode - 97 + 10;
    },
    WordBreaker__findBreakIndex: function(direction, text, index) {
      var t1 = direction.step,
        t2 = text.length,
        i = index;
      while (true) {
        if (!(i >= 0 && i <= t2))
          break;
        i += t1;
        if (H.WordBreaker__isBreak(text, i))
          break;
      }
      return H.clampInt(i, 0, t2);
    },
    WordBreaker__isBreak: function(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 ((C.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 === C.WordCharProperty_3 && immediateRight === C.WordCharProperty_4)
        return false;
      if (H.WordBreaker__oneOf(immediateLeft, C.WordCharProperty_5, C.WordCharProperty_3, C.WordCharProperty_4, _null, _null))
        return true;
      if (H.WordBreaker__oneOf(immediateRight, C.WordCharProperty_5, C.WordCharProperty_3, C.WordCharProperty_4, _null, _null))
        return true;
      if (immediateLeft === C.WordCharProperty_17 && immediateRight === C.WordCharProperty_17)
        return false;
      if (H.WordBreaker__oneOf(immediateRight, C.WordCharProperty_6, C.WordCharProperty_8, C.WordCharProperty_16, _null, _null))
        return false;
      for (l = 0; H.WordBreaker__oneOf(immediateLeft, C.WordCharProperty_6, C.WordCharProperty_8, C.WordCharProperty_16, _null, _null);) {
        ++l;
        t1 = index - l - 1;
        if (t1 < 0)
          return true;
        t2 = $.$get$wordLookup();
        t2.toString;
        codePoint = H.getCodePoint(text, t1);
        immediateLeft = codePoint == null ? t2.defaultProperty : t2.findForChar$1(codePoint);
      }
      if (H.WordBreaker__oneOf(immediateLeft, C.WordCharProperty_10, C.WordCharProperty_2, _null, _null, _null) && H.WordBreaker__oneOf(immediateRight, C.WordCharProperty_10, C.WordCharProperty_2, _null, _null, _null))
        return false;
      r = 0;
      do {
        ++r;
        nextRight = $.$get$wordLookup().find$2(0, text, index + r);
      } while (H.WordBreaker__oneOf(nextRight, C.WordCharProperty_6, C.WordCharProperty_8, C.WordCharProperty_16, _null, _null));
      do {
        ++l;
        nextLeft = $.$get$wordLookup().find$2(0, text, index - l - 1);
      } while (H.WordBreaker__oneOf(nextLeft, C.WordCharProperty_6, C.WordCharProperty_8, C.WordCharProperty_16, _null, _null));
      if (H.WordBreaker__oneOf(immediateLeft, C.WordCharProperty_10, C.WordCharProperty_2, _null, _null, _null) && H.WordBreaker__oneOf(immediateRight, C.WordCharProperty_11, C.WordCharProperty_13, C.WordCharProperty_1, _null, _null) && H.WordBreaker__oneOf(nextRight, C.WordCharProperty_10, C.WordCharProperty_2, _null, _null, _null))
        return false;
      if (H.WordBreaker__oneOf(nextLeft, C.WordCharProperty_10, C.WordCharProperty_2, _null, _null, _null) && H.WordBreaker__oneOf(immediateLeft, C.WordCharProperty_11, C.WordCharProperty_13, C.WordCharProperty_1, _null, _null) && H.WordBreaker__oneOf(immediateRight, C.WordCharProperty_10, C.WordCharProperty_2, _null, _null, _null))
        return false;
      t1 = immediateLeft === C.WordCharProperty_2;
      if (t1 && immediateRight === C.WordCharProperty_1)
        return false;
      if (t1 && immediateRight === C.WordCharProperty_0 && nextRight === C.WordCharProperty_2)
        return false;
      if (nextLeft === C.WordCharProperty_2 && immediateLeft === C.WordCharProperty_0 && immediateRight === C.WordCharProperty_2)
        return false;
      t1 = immediateLeft === C.WordCharProperty_14;
      if (t1 && immediateRight === C.WordCharProperty_14)
        return false;
      if (H.WordBreaker__oneOf(immediateLeft, C.WordCharProperty_10, C.WordCharProperty_2, _null, _null, _null) && immediateRight === C.WordCharProperty_14)
        return false;
      if (t1 && H.WordBreaker__oneOf(immediateRight, C.WordCharProperty_10, C.WordCharProperty_2, _null, _null, _null))
        return false;
      if (nextLeft === C.WordCharProperty_14 && H.WordBreaker__oneOf(immediateLeft, C.WordCharProperty_12, C.WordCharProperty_13, C.WordCharProperty_1, _null, _null) && immediateRight === C.WordCharProperty_14)
        return false;
      if (t1 && H.WordBreaker__oneOf(immediateRight, C.WordCharProperty_12, C.WordCharProperty_13, C.WordCharProperty_1, _null, _null) && nextRight === C.WordCharProperty_14)
        return false;
      if (immediateLeft === C.WordCharProperty_9 && immediateRight === C.WordCharProperty_9)
        return false;
      if (H.WordBreaker__oneOf(immediateLeft, C.WordCharProperty_10, C.WordCharProperty_2, C.WordCharProperty_14, C.WordCharProperty_9, C.WordCharProperty_15) && immediateRight === C.WordCharProperty_15)
        return false;
      if (immediateLeft === C.WordCharProperty_15 && H.WordBreaker__oneOf(immediateRight, C.WordCharProperty_10, C.WordCharProperty_2, C.WordCharProperty_14, C.WordCharProperty_9, _null))
        return false;
      return true;
    },
    WordBreaker__oneOf: function(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: function($name, isDecimal) {
      switch ($name) {
        case "TextInputType.number":
          return isDecimal ? C.C_DecimalInputType : C.C_NumberInputType;
        case "TextInputType.phone":
          return C.C_PhoneInputType;
        case "TextInputType.emailAddress":
          return C.C_EmailInputType;
        case "TextInputType.url":
          return C.C_UrlInputType;
        case "TextInputType.multiline":
          return C.C_MultilineInputType;
        case "TextInputType.text":
        default:
          return C.C_TextInputType;
      }
    },
    TextCapitalizationConfig$fromInputConfiguration: function(inputConfiguration) {
      var t1;
      if (inputConfiguration === "TextCapitalization.words")
        t1 = C.TextCapitalization_0;
      else if (inputConfiguration === "TextCapitalization.characters")
        t1 = C.TextCapitalization_2;
      else
        t1 = inputConfiguration === "TextCapitalization.sentences" ? C.TextCapitalization_1 : C.TextCapitalization_3;
      return new H.TextCapitalizationConfig(t1);
    },
    _emptyCallback: function(_) {
    },
    _hideAutofillElements: function(domElement, isOffScreen) {
      var t1,
        _s11_ = "transparent",
        _s4_ = "none",
        elementStyle = domElement.style;
      elementStyle.whiteSpace = "pre-wrap";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "align-content"), "center", "");
      elementStyle.padding = "0";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "opacity"), "1", "");
      elementStyle.color = _s11_;
      elementStyle.backgroundColor = _s11_;
      elementStyle.background = _s11_;
      elementStyle.outline = _s4_;
      elementStyle.border = _s4_;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "resize"), _s4_, "");
      elementStyle.width = "0";
      elementStyle.height = "0";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "text-shadow"), _s11_, "");
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "transform-origin"), "0 0 0", "");
      if (isOffScreen) {
        elementStyle.top = "-9999px";
        elementStyle.left = "-9999px";
      }
      t1 = $.$get$_browserEngine();
      if (t1 !== C.BrowserEngine_0)
        if (t1 !== C.BrowserEngine_5)
          t1 = t1 === C.BrowserEngine_1;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        domElement.classList.add("transparentTextEditing");
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "caret-color"), _s11_, null);
    },
    EngineAutofillForm_fromFrameworkMessage: function(focusedElementAutofill, fields) {
      var t1, elements, items, formElement, ids, focusedElement, t2, t3, t4, autofillInfo, t5, autofill, htmlElement, _i, id, formIdentifier, form, submitButton;
      if (focusedElementAutofill == null)
        return null;
      t1 = type$.String;
      elements = P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.HtmlElement);
      items = P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AutofillInfo);
      formElement = document.createElement("form");
      formElement.noValidate = true;
      formElement.method = "post";
      formElement.action = "#";
      C.FormElement_methods.addEventListener$2(formElement, "submit", new H.EngineAutofillForm_fromFrameworkMessage_closure());
      H._hideAutofillElements(formElement, false);
      ids = J.JSArray_JSArray$growable(0, t1);
      focusedElement = H.AutofillInfo_AutofillInfo$fromFrameworkMessage(focusedElementAutofill, C.TextCapitalizationConfig_TextCapitalization_3);
      if (fields != null)
        for (t1 = J.cast$1$0$ax(fields, type$.Map_String_dynamic), t1 = new H.ListIterator(t1, t1.get$length(t1), H._instanceType(t1)._eval$1("ListIterator<ListMixin.E>")), t2 = focusedElement.uniqueIdentifier; t1.moveNext$0();) {
          t3 = t1.__internal$_current;
          t4 = J.getInterceptor$asx(t3);
          autofillInfo = t4.$index(t3, "autofill");
          t5 = t4.$index(t3, "textCapitalization");
          if (t5 === "TextCapitalization.words")
            t5 = C.TextCapitalization_0;
          else if (t5 === "TextCapitalization.characters")
            t5 = C.TextCapitalization_2;
          else
            t5 = t5 === "TextCapitalization.sentences" ? C.TextCapitalization_1 : C.TextCapitalization_3;
          autofill = H.AutofillInfo_AutofillInfo$fromFrameworkMessage(autofillInfo, new H.TextCapitalizationConfig(t5));
          t5 = autofill.uniqueIdentifier;
          ids.push(t5);
          if (t5 != t2) {
            htmlElement = H.EngineInputType_fromName(J.$index$asx(t4.$index(t3, "inputType"), "name"), false).createDomElement$0();
            autofill.editingState.applyToDomElement$1(htmlElement);
            autofill.applyToDomElement$1(htmlElement);
            H._hideAutofillElements(htmlElement, false);
            items.$indexSet(0, t5, autofill);
            elements.$indexSet(0, t5, htmlElement);
            formElement.appendChild(htmlElement);
          }
        }
      else
        ids.push(focusedElement.uniqueIdentifier);
      C.JSArray_methods.sort$0(ids);
      for (t1 = ids.length, _i = 0, t2 = ""; _i < ids.length; ids.length === t1 || (0, H.throwConcurrentModificationError)(ids), ++_i) {
        id = ids[_i];
        if (t2.length > 0)
          t2 += "*";
        t2 += H.S(id);
      }
      formIdentifier = t2.charCodeAt(0) == 0 ? t2 : t2;
      form = $.$get$formsOnTheDom().$index(0, formIdentifier);
      if (form != null)
        C.FormElement_methods.remove$0(form);
      submitButton = W.InputElement_InputElement(null);
      H._hideAutofillElements(submitButton, true);
      submitButton.className = "submitBtn";
      submitButton.type = "submit";
      formElement.appendChild(submitButton);
      return new H.EngineAutofillForm(formElement, elements, items, formIdentifier);
    },
    AutofillInfo_AutofillInfo$fromFrameworkMessage: function(autofill, textCapitalization) {
      var hintsList, editingState, t3,
        t1 = J.getInterceptor$asx(autofill),
        t2 = t1.$index(autofill, "uniqueIdentifier");
      t2.toString;
      hintsList = t1.$index(autofill, "hints");
      editingState = H.EditingState_EditingState$fromFrameworkMessage(t1.$index(autofill, "editingValue"));
      t1 = $.$get$BrowserAutofillHints__singletonInstance();
      t3 = J.$index$asx(hintsList, 0);
      t1 = t1._flutterToEngineMap.$index(0, t3);
      return new H.AutofillInfo(editingState, t2, textCapitalization, t1 == null ? t3 : t1);
    },
    EditingState$: function(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 H.EditingState(text, t4, Math.max(0, Math.max(t1, t2)));
    },
    EditingState_EditingState$fromFrameworkMessage: function(flutterEditingState) {
      var t1 = J.getInterceptor$asx(flutterEditingState);
      return H.EditingState$(t1.$index(flutterEditingState, "selectionBase"), t1.$index(flutterEditingState, "selectionExtent"), t1.$index(flutterEditingState, "text"));
    },
    EditingState_EditingState$fromDomElement: function(domElement, textCapitalization) {
      var t1;
      if (type$.InputElement._is(domElement)) {
        t1 = domElement.value;
        return H.EditingState$(domElement.selectionStart, domElement.selectionEnd, t1);
      } else if (type$.TextAreaElement._is(domElement)) {
        t1 = domElement.value;
        return H.EditingState$(domElement.selectionStart, domElement.selectionEnd, t1);
      } else
        throw H.wrapException(P.UnsupportedError$("Initialized with unsupported input type"));
    },
    InputConfiguration$fromFrameworkMessage: function(flutterInputConfiguration) {
      var t4, t5, t6, t7, t8,
        _s9_ = "inputType",
        _s8_ = "autofill",
        t1 = J.getInterceptor$asx(flutterInputConfiguration),
        t2 = J.$index$asx(t1.$index(flutterInputConfiguration, _s9_), "name"),
        t3 = J.$index$asx(t1.$index(flutterInputConfiguration, _s9_), "decimal");
      t2 = H.EngineInputType_fromName(t2, t3 == null ? false : t3);
      t3 = t1.$index(flutterInputConfiguration, "inputAction");
      if (t3 == null)
        t3 = "TextInputAction.done";
      t4 = t1.$index(flutterInputConfiguration, "obscureText");
      if (t4 == null)
        t4 = false;
      t5 = t1.$index(flutterInputConfiguration, "readOnly");
      if (t5 == null)
        t5 = false;
      t6 = t1.$index(flutterInputConfiguration, "autocorrect");
      if (t6 == null)
        t6 = true;
      t7 = H.TextCapitalizationConfig$fromInputConfiguration(t1.$index(flutterInputConfiguration, "textCapitalization"));
      t8 = t1.containsKey$1(flutterInputConfiguration, _s8_) ? H.AutofillInfo_AutofillInfo$fromFrameworkMessage(t1.$index(flutterInputConfiguration, _s8_), C.TextCapitalizationConfig_TextCapitalization_3) : null;
      return new H.InputConfiguration(t2, t3, t5, t4, t6, t8, H.EngineAutofillForm_fromFrameworkMessage(t1.$index(flutterInputConfiguration, _s8_), t1.$index(flutterInputConfiguration, "fields")), t7);
    },
    saveForms: function() {
      $.$get$formsOnTheDom().forEach$1(0, new H.saveForms_closure());
    },
    cleanForms: function() {
      var t1, t2, t3;
      for (t1 = $.$get$formsOnTheDom(), t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t3 = t2.parentNode;
        if (t3 != null)
          t3.removeChild(t2);
      }
      $.$get$formsOnTheDom().clear$0(0);
    },
    setElementTransform: function(element, matrix4) {
      var t2,
        t1 = element.style;
      t1.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform-origin"), "0 0 0", "");
      t2 = H.float64ListToCssTransform(matrix4);
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), t2, "");
    },
    float64ListToCssTransform: function(matrix) {
      var transformKind = H.transformKindOf(matrix);
      if (transformKind === C.TransformKind_1)
        return "matrix(" + H.S(matrix[0]) + "," + H.S(matrix[1]) + "," + H.S(matrix[4]) + "," + H.S(matrix[5]) + "," + H.S(matrix[12]) + "," + H.S(matrix[13]) + ")";
      else if (transformKind === C.TransformKind_2)
        return H.float64ListToCssTransform3d(matrix);
      else
        return "none";
    },
    transformKindOf: function(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 C.TransformKind_2;
      if (matrix[0] === 1 && matrix[1] === 0 && matrix[4] === 0 && matrix[5] === 1 && matrix[12] === 0 && matrix[13] === 0)
        return C.TransformKind_0;
      else
        return C.TransformKind_1;
    },
    float64ListToCssTransform3d: function(matrix) {
      var tx, ty,
        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) {
        tx = matrix[12];
        ty = matrix[13];
        return "translate3d(" + H.S(tx) + "px, " + H.S(ty) + "px, 0px)";
      } else
        return "matrix3d(" + H.S(t1) + "," + H.S(matrix[1]) + "," + H.S(matrix[2]) + "," + H.S(matrix[3]) + "," + H.S(matrix[4]) + "," + H.S(matrix[5]) + "," + H.S(matrix[6]) + "," + H.S(matrix[7]) + "," + H.S(matrix[8]) + "," + H.S(matrix[9]) + "," + H.S(matrix[10]) + "," + H.S(matrix[11]) + "," + H.S(matrix[12]) + "," + H.S(matrix[13]) + "," + H.S(matrix[14]) + "," + H.S(matrix[15]) + ")";
    },
    transformRect: function(transform, rect) {
      var t1 = $.$get$_tempRectData();
      t1[0] = rect.left;
      t1[1] = rect.top;
      t1[2] = rect.right;
      t1[3] = rect.bottom;
      H.transformLTRB(transform, t1);
      return new P.Rect(t1[0], t1[1], t1[2], t1[3]);
    },
    transformLTRB: function(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: function(rect, other) {
      return rect.left <= other.left && rect.top <= other.top && rect.right >= other.right && rect.bottom >= other.bottom;
    },
    colorToCssString: function(color) {
      var value, hexValue, t1;
      if (color == null)
        return null;
      value = color.get$value(color);
      if ((value & 4278190080) >>> 0 === 4278190080) {
        hexValue = C.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(" + C.JSInt_methods.toString$0(value >>> 16 & 255) + "," + C.JSInt_methods.toString$0(value >>> 8 & 255) + "," + C.JSInt_methods.toString$0(value & 255) + "," + C.JSNumber_methods.toString$0((value >>> 24 & 255) / 255) + ")";
        return t1.charCodeAt(0) == 0 ? t1 : t1;
      }
    },
    colorComponentsToCssString: function(r, g, b, a) {
      if (a === 255)
        return "rgb(" + r + "," + g + "," + b + ")";
      else
        return "rgba(" + r + "," + g + "," + b + "," + C.JSNumber_methods.toStringAsFixed$1(a / 255, 2) + ")";
    },
    isMacOrIOS: function() {
      var t1 = $.$get$_operatingSystem();
      if (t1 !== C.OperatingSystem_0)
        t1 = t1 === C.OperatingSystem_4;
      else
        t1 = true;
      return t1;
    },
    canonicalizeFontFamily: function(fontFamily) {
      var t1;
      if (J.containsKey$1$x(C.Set_wIvsi._collection$_map, fontFamily))
        return fontFamily;
      t1 = $.$get$_operatingSystem();
      if (t1 !== C.OperatingSystem_0)
        t1 = t1 === C.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 $.$get$_fallbackFontFamily();
      return '"' + H.S(fontFamily) + '", ' + $.$get$_fallbackFontFamily() + ", sans-serif";
    },
    clampInt: function(value, min, max) {
      if (value < min)
        return min;
      else if (value > max)
        return max;
      else
        return value;
    },
    listEquals: function(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;
    },
    Matrix4_tryInvert0: function(other) {
      var r = new H.Matrix40(new Float32Array(16));
      if (r.copyInverse$1(other) === 0)
        return null;
      return r;
    },
    Matrix4$identity: function() {
      var t1 = new Float32Array(16);
      t1[15] = 1;
      t1[0] = 1;
      t1[5] = 1;
      t1[10] = 1;
      return new H.Matrix40(t1);
    },
    Matrix4$fromFloat32List: function(_m4storage) {
      return new H.Matrix40(_m4storage);
    },
    Vector3_Vector3: function(x, y, z) {
      var t1 = new Float32Array(3);
      t1[0] = x;
      t1[1] = y;
      t1[2] = z;
      return new H.Vector30(t1);
    },
    WebExperiments$_: function() {
      var t1 = new H.WebExperiments();
      t1.WebExperiments$_$0();
      return t1;
    },
    EngineSingletonFlutterWindow$: function(windowId, platformDispatcher) {
      var t1 = new H.EngineSingletonFlutterWindow(windowId, platformDispatcher, C.WindowPadding_0_0_0_0);
      t1.EngineFlutterWindow$2(windowId, platformDispatcher);
      return t1;
    },
    initializeEngine_closure: function initializeEngine_closure() {
    },
    initializeEngine_closure0: function initializeEngine_closure0(t0) {
      this._box_0 = t0;
    },
    initializeEngine__closure: function initializeEngine__closure(t0) {
      this._box_0 = t0;
    },
    _addUrlStrategyListener_closure: function _addUrlStrategyListener_closure() {
    },
    _addUrlStrategyListener_closure0: function _addUrlStrategyListener_closure0() {
    },
    NullTreeSanitizer: function NullTreeSanitizer() {
    },
    AlarmClock: function AlarmClock(t0) {
      var _ = this;
      _._timestampFunction = t0;
      _._datetime = _._timer = null;
      _.__AlarmClock_callback = $;
    },
    AssetManager: function AssetManager() {
    },
    AssetManager__baseUrl_closure: function AssetManager__baseUrl_closure() {
    },
    AssetManager__baseUrl_closure0: function AssetManager__baseUrl_closure0() {
    },
    AssetManagerException: function AssetManagerException(t0, t1) {
      this.url = t0;
      this.httpStatus = t1;
    },
    BrowserEngine: function BrowserEngine(t0, t1) {
      this.index = t0;
      this.__engine$_name = t1;
    },
    OperatingSystem: function OperatingSystem(t0, t1) {
      this.index = t0;
      this.__engine$_name = t1;
    },
    _CanvasPool: function _CanvasPool(t0, t1, t2, t3, t4) {
      var _ = this;
      _._contextHandle = _._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() {
    },
    CkSaveCommand: function CkSaveCommand() {
    },
    CkRestoreCommand: function CkRestoreCommand() {
    },
    CkRestoreToCountCommand: function CkRestoreToCountCommand(t0) {
      this.count = t0;
    },
    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;
    },
    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() {
    },
    SkFilterQualityEnum: function SkFilterQualityEnum() {
    },
    SkFilterQuality: function SkFilterQuality() {
    },
    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() {
    },
    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() {
    },
    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() {
    },
    CanvasKitCanvas: function CanvasKitCanvas(t0) {
      this.__engine$_canvas = t0;
    },
    ManagedSkColorFilter: function ManagedSkColorFilter(t0) {
      this.ckColorFilter = t0;
      this.rawSkiaObject = null;
    },
    CkColorFilter: function CkColorFilter() {
    },
    CkBlendModeColorFilter: function CkBlendModeColorFilter(t0, t1) {
      this.color = t0;
      this.blendMode = t1;
    },
    HtmlViewEmbedder: function HtmlViewEmbedder(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._pictureRecorders = t0;
      _._currentCompositionParams = t1;
      _._viewClipChains = t2;
      _._overlays = t3;
      _._viewsToRecomposite = t4;
      _._compositionOrder = t5;
      _._activeCompositionOrder = t6;
      _._frameSize = t7;
      _._svgClipDefs = t8;
    },
    OverlayCache: function OverlayCache(t0, t1) {
      this.maximumSize = t0;
      this._cache = t1;
    },
    MutatorType: function MutatorType(t0, t1) {
      this.index = t0;
      this.__engine$_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;
    },
    FontFallbackData: function FontFallbackData(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.registeredSymbolsAndEmoji = false;
      _.codeUnitsWithNoKnownFont = t0;
      _.knownCoveredCodeUnits = t1;
      _.notoTree = t2;
      _.registeredFallbackFonts = t3;
      _.globalFontFallbacks = t4;
      _.fontFallbackCounts = t5;
    },
    FontFallbackData_createNotoFontTree_closure: function FontFallbackData_createNotoFontTree_closure() {
    },
    FontFallbackData_registerFallbackFont_closure: function FontFallbackData_registerFallbackFont_closure() {
    },
    findFontsForMissingCodeunits_closure: function findFontsForMissingCodeunits_closure(t0) {
      this.data = t0;
    },
    _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) {
      var _ = this;
      _._unloadedFonts = t0;
      _._registeredFonts = t1;
      _.familyToTypefaceMap = t2;
      _.fontProvider = null;
    },
    SkiaFontCollection_ensureFontsLoaded_closure: function SkiaFontCollection_ensureFontsLoaded_closure() {
    },
    SkiaFontCollection_ensureFontsLoaded_closure0: function SkiaFontCollection_ensureFontsLoaded_closure0() {
    },
    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;
    },
    CkAnimatedImage: function CkAnimatedImage(t0, t1) {
      var _ = this;
      _.src = t0;
      _._bytes = t1;
      _._frameCount = 0;
      _._repetitionCount = -1;
      _._nextFrameIndex = 0;
      _._disposed = false;
      _.rawSkiaObject = null;
    },
    CkImage: function CkImage(t0) {
      this._debugStackTrace = null;
      this.__CkImage_box = t0;
      this._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;
    },
    initializeCanvasKit_closure: function initializeCanvasKit_closure(t0) {
      this.canvasKitCompleter = t0;
    },
    initializeCanvasKit__closure: function initializeCanvasKit__closure() {
    },
    initializeCanvasKit__closure0: function initializeCanvasKit__closure0(t0) {
      this.canvasKitCompleter = t0;
    },
    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;
      _._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;
    },
    PictureLayer0: function PictureLayer0(t0, t1, t2) {
      var _ = this;
      _.picture = t0;
      _.offset = t1;
      _.parent = null;
      _.paintBounds = t2;
    },
    PhysicalShapeEngineLayer: function PhysicalShapeEngineLayer(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.__engine$_elevation = t0;
      _._color = t1;
      _.__engine$_shadowColor = t2;
      _.__engine$_path = t3;
      _.__engine$_clipBehavior = t4;
      _._layers = t5;
      _.parent = null;
      _.paintBounds = t6;
    },
    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;
      _._ckMaskFilter = _._maskFilter = _._shader = null;
      _._filterQuality = t4;
      _.rawSkiaObject = _._managedImageFilter = _._imageFilter = _._managedColorFilter = null;
    },
    CkPath: function CkPath(t0) {
      this._fillType = t0;
      this.rawSkiaObject = this._cachedCommands = null;
    },
    CkPicture: function CkPicture(t0, t1) {
      this.cullRect = t0;
      this._snapshot = t1;
      this.rawSkiaObject = null;
    },
    CkPictureRecorder: function CkPictureRecorder() {
      this._recordingCanvas = this._skRecorder = this._cullRect = null;
    },
    Rasterizer: function Rasterizer(t0, t1, t2) {
      this.surface = t0;
      this.context = t1;
      this._postFrameCallbacks = t2;
    },
    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;
      _._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, t1) {
      var _ = this;
      _._surface = null;
      _._forceNewContext = true;
      _._skiaCacheBytes = _._grContext = null;
      _.htmlElement = t0;
      _.htmlCanvas = null;
      _._pixelHeight = _._pixelWidth = -1;
      _._addedToScene = false;
      _.viewEmbedder = t1;
      _._currentSize = null;
      _._currentDevicePixelRatio = -1;
    },
    Surface_acquireFrame_closure: function Surface_acquireFrame_closure(t0) {
      this.$this = t0;
    },
    Surface__createNewSurface_closure: function Surface__createNewSurface_closure(t0) {
      this.$this = t0;
    },
    CkSurface: function CkSurface(t0, t1, t2) {
      var _ = this;
      _._surface = t0;
      _._grContext = t1;
      _._glContext = t2;
      _._isDisposed = false;
    },
    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;
      _._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;
    },
    CkParagraphBuilder: function CkParagraphBuilder(t0, t1, t2, t3, t4) {
      var _ = this;
      _._paragraphBuilder = t0;
      _._style = t1;
      _._commands = t2;
      _._placeholderScales = t3;
      _._styleStack = t4;
    },
    CkParagraphBuilder__ensureFontsSupportText_closure: function CkParagraphBuilder__ensureFontsSupportText_closure() {
    },
    CkParagraphBuilder__checkIfGlobalFallbacksSupport_closure: function CkParagraphBuilder__checkIfGlobalFallbacksSupport_closure(t0) {
      this.fallbackData = t0;
    },
    CkParagraphBuilder__checkIfNoFallbackFontSupports_closure: function CkParagraphBuilder__checkIfNoFallbackFontSupports_closure(t0) {
      this.fallbackData = t0;
    },
    _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.__engine$_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() {
    },
    DomRenderer: function DomRenderer(t0) {
      var _ = this;
      _._glassPaneShadow = _._glassPaneElement = _._staleHotRestartState = _._sceneElement = _._semanticsHostElement = _._sceneHostElement = _._canvasKitLoaded = _._canvasKitScript = _._viewportMeta = _._styleElement = _._localeSubscription = _._resizeSubscription = null;
      _.rootElement = t0;
      _._debugFrameStatistics = null;
    },
    DomRenderer_reset_closure: function DomRenderer_reset_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.initialInnerWidth = t2;
    },
    DomRenderer_reset_closure0: function DomRenderer_reset_closure0(t0, t1) {
      this.loadSubscription = t0;
      this.canvasKitLoadCompleter = t1;
    },
    DomRenderer_reset_closure1: function DomRenderer_reset_closure1(t0, t1) {
      this.$this = t0;
      this.objectConstructor = t1;
    },
    DomRenderer_reset_closure2: function DomRenderer_reset_closure2() {
    },
    DomRenderer_reset_closure3: function DomRenderer_reset_closure3(t0, t1) {
      this.$this = t0;
      this.objectConstructor = t1;
    },
    DomRenderer_reset_closure4: function DomRenderer_reset_closure4() {
    },
    DomRenderer_setPreferredOrientation_closure: function DomRenderer_setPreferredOrientation_closure(t0) {
      this.completer = t0;
    },
    DomRenderer_setPreferredOrientation_closure0: function DomRenderer_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;
    },
    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;
      _._devicePixelRatio = t6;
      _._canvasPositionY = _._canvasPositionX = null;
      _._preserveImageData = _._contains3dTransform = _._childOverdraw = false;
      _._density = t7;
      _._renderStrategy = t8;
    },
    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;
      _._localTransformInverse = _._localClipBounds = _._projectedClip = _.__engine$_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;
      _._localTransformInverse = _._localClipBounds = _._projectedClip = _.__engine$_transform = _.parent = _.rootElement = null;
    },
    PersistedPhysicalShape: function PersistedPhysicalShape(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.path = t0;
      _.pathBounds = t1;
      _.elevation = t2;
      _.color = t3;
      _.shadowColor = t4;
      _.clipBehavior = t5;
      _._svgElement = _._clipElement = null;
      _._DomClip__childContainer = t6;
      _.__engine$_children = t7;
      _._oldLayer = t8;
      _.__engine$_index = -1;
      _.__engine$_state = t9;
      _._localTransformInverse = _._localClipBounds = _._projectedClip = _.__engine$_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;
      _._localTransformInverse = _._localClipBounds = _._projectedClip = _.__engine$_transform = _.parent = _.rootElement = null;
    },
    DomCanvas: function DomCanvas(t0, t1, t2, t3) {
      var _ = this;
      _.rootElement = t0;
      _.SaveElementStackTracking__saveStack = t1;
      _.SaveElementStackTracking__elementStack = t2;
      _.SaveElementStackTracking__currentTransform = t3;
    },
    OffScreenCanvas: function OffScreenCanvas(t0, t1) {
      var _ = this;
      _.canvasElement = _.offScreenCanvas = null;
      _.width = t0;
      _.height = t1;
    },
    PersistedOffset: function PersistedOffset(t0, t1, t2, t3, t4) {
      var _ = this;
      _.dx = t0;
      _.dy = t1;
      _.__engine$_children = t2;
      _._oldLayer = t3;
      _.__engine$_index = -1;
      _.__engine$_state = t4;
      _._localTransformInverse = _._localClipBounds = _._projectedClip = _.__engine$_transform = _.parent = _.rootElement = null;
    },
    PersistedOpacity: function PersistedOpacity(t0, t1, t2, t3, t4) {
      var _ = this;
      _.alpha = t0;
      _.offset = t1;
      _.__engine$_children = t2;
      _._oldLayer = t3;
      _.__engine$_index = -1;
      _.__engine$_state = t4;
      _._localTransformInverse = _._localClipBounds = _._projectedClip = _.__engine$_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;
      _._localTransformInverse = _._localClipBounds = _._projectedClip = _.__engine$_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, t2, t3, t4, t5) {
      var _ = this;
      _.rect = t0;
      _.clipOp = t1;
      _.isClippedOut = false;
      _.leftBound = t2;
      _.topBound = t3;
      _.rightBound = t4;
      _.bottomBound = t5;
    },
    PaintClipRRect: function PaintClipRRect(t0, t1, t2, t3, t4) {
      var _ = this;
      _.rrect = t0;
      _.isClippedOut = false;
      _.leftBound = t1;
      _.topBound = t2;
      _.rightBound = t3;
      _.bottomBound = t4;
    },
    PaintClipPath: function PaintClipPath(t0, t1, t2, t3, t4) {
      var _ = this;
      _.path = t0;
      _.isClippedOut = false;
      _.leftBound = t1;
      _.topBound = t2;
      _.rightBound = t3;
      _.bottomBound = t4;
    },
    PaintDrawLine: function PaintDrawLine(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.p1 = t0;
      _.p2 = t1;
      _.paint = t2;
      _.isClippedOut = false;
      _.leftBound = t3;
      _.topBound = t4;
      _.rightBound = t5;
      _.bottomBound = t6;
    },
    PaintDrawRect: function PaintDrawRect(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.rect = t0;
      _.paint = t1;
      _.isClippedOut = false;
      _.leftBound = t2;
      _.topBound = t3;
      _.rightBound = t4;
      _.bottomBound = t5;
    },
    PaintDrawRRect: function PaintDrawRRect(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.rrect = t0;
      _.paint = t1;
      _.isClippedOut = false;
      _.leftBound = t2;
      _.topBound = t3;
      _.rightBound = t4;
      _.bottomBound = t5;
    },
    PaintDrawDRRect: function PaintDrawDRRect(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.outer = t0;
      _.inner = t1;
      _.paint = t2;
      _.path = null;
      _.isClippedOut = false;
      _.leftBound = t3;
      _.topBound = t4;
      _.rightBound = t5;
      _.bottomBound = t6;
    },
    PaintDrawOval: function PaintDrawOval(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.rect = t0;
      _.paint = t1;
      _.isClippedOut = false;
      _.leftBound = t2;
      _.topBound = t3;
      _.rightBound = t4;
      _.bottomBound = t5;
    },
    PaintDrawCircle: function PaintDrawCircle(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.c = t0;
      _.radius = t1;
      _.paint = t2;
      _.isClippedOut = false;
      _.leftBound = t3;
      _.topBound = t4;
      _.rightBound = t5;
      _.bottomBound = t6;
    },
    PaintDrawPath: function PaintDrawPath(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.path = t0;
      _.paint = t1;
      _.isClippedOut = false;
      _.leftBound = t2;
      _.topBound = t3;
      _.rightBound = t4;
      _.bottomBound = t5;
    },
    PaintDrawShadow: function PaintDrawShadow(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.path = t0;
      _.color = t1;
      _.elevation = t2;
      _.transparentOccluder = t3;
      _.isClippedOut = false;
      _.leftBound = t4;
      _.topBound = t5;
      _.rightBound = t6;
      _.bottomBound = t7;
    },
    PaintDrawImageRect: function PaintDrawImageRect(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.image = t0;
      _.src = t1;
      _.dst = t2;
      _.paint = t3;
      _.isClippedOut = false;
      _.leftBound = t4;
      _.topBound = t5;
      _.rightBound = t6;
      _.bottomBound = t7;
    },
    PaintDrawParagraph: function PaintDrawParagraph(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.paragraph = t0;
      _.offset = t1;
      _.isClippedOut = false;
      _.leftBound = t2;
      _.topBound = t3;
      _.rightBound = t4;
      _.bottomBound = t5;
    },
    _PaintBounds: function _PaintBounds(t0, t1, t2, t3) {
      var _ = this;
      _.maxPaintBounds = t0;
      _._didPaintInsideClipArea = false;
      _._top = _._left = 17976931348623157e292;
      _._bottom = _._right = -17976931348623157e292;
      _.__engine$_transforms = t1;
      _._clipStack = t2;
      _._currentMatrixIsIdentity = true;
      _._currentMatrix = t3;
      _._clipRectInitialized = false;
      _._currentClipBottom = _._currentClipRight = _._currentClipTop = _._currentClipLeft = 0;
    },
    RenderStrategy: function RenderStrategy() {
      var _ = this;
      _.isInsideShaderMask = _.hasArbitraryPaint = _.hasParagraphs = _.hasImageElements = false;
    },
    _WebGlRenderer: function _WebGlRenderer() {
    },
    SurfaceScene: function SurfaceScene(t0) {
      this.webOnlyRootElement = t0;
    },
    PersistedScene: function PersistedScene(t0, t1, t2) {
      var _ = this;
      _.__engine$_children = t0;
      _._oldLayer = t1;
      _.__engine$_index = -1;
      _.__engine$_state = t2;
      _._localTransformInverse = _._localClipBounds = _._projectedClip = _.__engine$_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) {
      var _ = this;
      _._thresholds = t0;
      _._bias = t1;
      _._scale = t2;
      _.thresholdCount = t3;
    },
    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;
    },
    ShaderBuilder: function ShaderBuilder(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.version = t0;
      _.declarations = t1;
      _._methods = t2;
      _.floatPrecision = null;
      _._uniformCounter = _._varyingCounter = _._attribCounter = 0;
      _.isWebGl2 = t3;
      _._isFragmentShader = t4;
      _._fragmentColorDeclaration = null;
      _.__engine$_buffer = t5;
    },
    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;
    },
    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;
    },
    commitScene_closure: function commitScene_closure() {
    },
    PersistedSurfaceState: function PersistedSurfaceState(t0, t1) {
      this.index = t0;
      this.__engine$_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;
    },
    PersistedTransform: function PersistedTransform(t0, t1, t2, t3) {
      var _ = this;
      _.matrix4 = t0;
      _.__engine$_children = t1;
      _._oldLayer = t2;
      _.__engine$_index = -1;
      _.__engine$_state = t3;
      _._localTransformInverse = _._localClipBounds = _._projectedClip = _.__engine$_transform = _.parent = _.rootElement = null;
    },
    HtmlCodec: function HtmlCodec() {
    },
    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) {
      this.src = t0;
    },
    SingleFrameInfo: function SingleFrameInfo(t0) {
      this.image = t0;
    },
    HtmlImage: function HtmlImage(t0, t1, t2) {
      var _ = this;
      _.imgElement = t0;
      _._requiresClone = false;
      _.width = t1;
      _.height = t2;
    },
    Keyboard: function Keyboard(t0) {
      var _ = this;
      _._keydownTimers = t0;
      _._keyupListener = _._keydownListener = null;
      _._lastMetaState = 0;
    },
    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.__engine$_listeners = t0;
    },
    KeyboardBinding__addEventListener_closure: function KeyboardBinding__addEventListener_closure(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;
      _.dispatchKeyData = t0;
      _.onMacOs = t1;
      _._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, t3) {
      var _ = this;
      _.$this = t0;
      _.currentTimeStamp = t1;
      _.physicalKey = t2;
      _.logicalKey = t3;
    },
    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) {
      this.$this = t0;
      this.event = t1;
      this.timeStamp = t2;
    },
    KeyboardConverter_handleEvent__closure: function KeyboardConverter_handleEvent__closure(t0, t1, t2) {
      this.$this = t0;
      this.logicalKey = t1;
      this.timeStamp = t2;
    },
    MouseCursor: function MouseCursor() {
    },
    BrowserHistory: function BrowserHistory() {
    },
    MultiEntriesBrowserHistory: function MultiEntriesBrowserHistory(t0) {
      var _ = this;
      _.urlStrategy = t0;
      _.__BrowserHistory__unsubscribe = _.__MultiEntriesBrowserHistory__lastSeenSerialCount = $;
      _._isDisposed = false;
    },
    MultiEntriesBrowserHistory_onPopState_closure: function MultiEntriesBrowserHistory_onPopState_closure() {
    },
    SingleEntryBrowserHistory: function SingleEntryBrowserHistory(t0, t1) {
      var _ = this;
      _.urlStrategy = t0;
      _._flutterState = t1;
      _._userProvidedRouteName = null;
      _.__BrowserHistory__unsubscribe = $;
      _._isDisposed = 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_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;
    },
    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.recordingCanvas = t0;
    },
    EnginePlatformDispatcher: function EnginePlatformDispatcher(t0, t1, t2, t3) {
      var _ = this;
      _._configuration = t0;
      _._windows = t1;
      _._windowConfigurations = t2;
      _._onLocaleChanged = _._platformViewMessageHandler = _._onReportTimingsZone = _._onReportTimings = _._onPointerDataPacketZone = _._onPointerDataPacket = _._onDrawFrameZone = _._onDrawFrame = _._onBeginFrameZone = _._onBeginFrame = _._onMetricsChangedZone = _._onMetricsChanged = null;
      _._brightnessMediaQuery = t3;
      _._defaultRouteName = _._onSemanticsActionZone = _._onSemanticsAction = _._onSemanticsEnabledChangedZone = _._onSemanticsEnabledChanged = _._onPlatformBrightnessChangedZone = _._onPlatformBrightnessChanged = _._brightnessMediaQueryListener = null;
      _.__EnginePlatformDispatcher_rasterizer = $;
    },
    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__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) {
      this._factories = t0;
      this.__engine$_contents = t1;
    },
    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, t2) {
      this._codec = t0;
      this._contentManager = t1;
      this._contentHandler = t2;
    },
    PointerBinding: function PointerBinding(t0, t1) {
      this.glassPaneElement = t0;
      this._pointerDataConverter = t1;
      this.__PointerBinding__adapter = $;
    },
    PointerSupportDetector: function PointerSupportDetector() {
    },
    _BaseAdapter: function _BaseAdapter() {
    },
    _BaseAdapter_addEventListener_closure: function _BaseAdapter_addEventListener_closure(t0, t1, t2) {
      this.$this = t0;
      this.acceptOutsideGlasspane = t1;
      this.handler = t2;
    },
    _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) {
      var _ = this;
      _._sanitizers = t0;
      _.glassPaneElement = t1;
      _.__engine$_callback = t2;
      _._pointerDataConverter = t3;
    },
    _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;
    },
    _TouchAdapter: function _TouchAdapter(t0, t1, t2, t3) {
      var _ = this;
      _._pressedTouches = t0;
      _.glassPaneElement = t1;
      _.__engine$_callback = t2;
      _._pointerDataConverter = t3;
    },
    _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) {
      var _ = this;
      _._sanitizer = t0;
      _.glassPaneElement = t1;
      _.__engine$_callback = t2;
      _._pointerDataConverter = t3;
    },
    _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;
    },
    _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() {
    },
    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.__engine$_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;
    },
    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) {
      var _ = this;
      _.id = t0;
      _.flags = t1;
      _.actions = t2;
      _.textSelectionBase = t3;
      _.textSelectionExtent = t4;
      _.scrollChildren = t5;
      _.scrollIndex = t6;
      _.scrollPosition = t7;
      _.scrollExtentMax = t8;
      _.scrollExtentMin = t9;
      _.rect = t10;
      _.label = t11;
      _.hint = t12;
      _.value = t13;
      _.increasedValue = t14;
      _.decreasedValue = t15;
      _.textDirection = t16;
      _.transform = t17;
      _.childrenInTraversalOrder = t18;
      _.childrenInHitTestOrder = t19;
      _.additionalActions = t20;
      _.thickness = t21;
    },
    Role: function Role(t0, t1) {
      this.index = t0;
      this.__engine$_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;
      _._additionalActions = _._childrenInHitTestOrder = _.__engine$_childrenInTraversalOrder = _.__engine$_transform = _.__engine$_textDirection = _.__engine$_decreasedValue = _.__engine$_increasedValue = _.__engine$_value = _.__engine$_hint = _.__engine$_label = _.__engine$_rect = _.__engine$_scrollExtentMin = _.__engine$_scrollExtentMax = _.__engine$_scrollPosition = _.__engine$_scrollIndex = _._scrollChildren = _._textSelectionExtent = _._textSelectionBase = _.__engine$_actions = null;
      _.id = t0;
      _.owner = t1;
      _.element = t2;
      _._dirtyFields = -1;
      _.__engine$_parent = _._childContainerElement = null;
      _._roleManagers = t3;
      _.horizontalContainerAdjustment = _.verticalContainerAdjustment = 0;
      _._previousChildrenInTraversalOrder = null;
    },
    AccessibilityMode: function AccessibilityMode(t0, t1) {
      this.index = t0;
      this.__engine$_name = t1;
    },
    GestureMode: function GestureMode(t0, t1) {
      this.index = t0;
      this.__engine$_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.__engine$_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 = _.onAction = _.onChange = _.inputConfig = _.activeTextField = null;
      _.owner = t0;
      _.isEnabled = false;
      _.domElement = null;
      _.__DefaultTextEditingStrategy__inputConfiguration = $;
      _._onAction = _._onChange = _._geometry = _._style = _._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() {
    },
    Uint8Buffer0: function Uint8Buffer0(t0, t1) {
      this.__engine$_buffer = t0;
      this.__engine$_length = t1;
    },
    MethodCall0: function MethodCall0(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;
    },
    CanvasParagraph: function CanvasParagraph(t0, t1, t2, t3) {
      var _ = this;
      _.spans = t0;
      _.paragraphStyle = t1;
      _.plainText = t2;
      _.drawOnCanvas = 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;
    },
    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;
      _._placeholderScales = t5;
      _._drawOnCanvas = 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) {
      var _ = this;
      _.paragraph = t0;
      _.context = t1;
      _.width = -1;
      _.height = 0;
      _.longestLine = null;
      _.maxIntrinsicWidth = _.minIntrinsicWidth = 0;
      _.ideographicBaseline = _.alphabeticBaseline = -1;
      _.didExceedMaxLines = false;
      _.lines = t2;
    },
    RangeBox: function RangeBox() {
    },
    PlaceholderBox: function PlaceholderBox() {
    },
    SpanBox: function SpanBox(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.spanometer = t0;
      _.span = t1;
      _.start = t2;
      _.end = t3;
      _.left = t4;
      _.width = t5;
      _.height = t6;
      _.baseline = t7;
      _.direction = t8;
    },
    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;
      _.end = t8;
      _.descent = _.ascent = _.widthIncludingSpace = _.width = 0;
    },
    Spanometer: function Spanometer(t0, t1) {
      var _ = this;
      _.paragraph = t0;
      _.context = t1;
      _._cssFontString = "";
      _._currentSpan = _._currentRuler = null;
    },
    LineCharProperty: function LineCharProperty(t0, t1) {
      this.index = t0;
      this.__engine$_name = t1;
    },
    LineBreakType: function LineBreakType(t0, t1) {
      this.index = t0;
      this.__engine$_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;
    },
    RulerManager: function RulerManager(t0, t1, t2) {
      var _ = this;
      _.rulerCacheCapacity = t0;
      _._rulers = t1;
      _._rulerCacheCleanupScheduled = false;
      _._rulerHost = t2;
    },
    RulerManager__scheduleRulerCacheCleanup_closure: function RulerManager__scheduleRulerCacheCleanup_closure(t0) {
      this.$this = t0;
    },
    RulerManager__evictAllRulers_closure: function RulerManager__evictAllRulers_closure() {
    },
    RulerManager_cleanUpRulerCache_closure: function RulerManager_cleanUpRulerCache_closure() {
    },
    TextMeasurementService: function TextMeasurementService() {
    },
    DomTextMeasurementService: function DomTextMeasurementService() {
    },
    CanvasTextMeasurementService: function CanvasTextMeasurementService(t0) {
      this._canvasContext = t0;
    },
    LinesCalculator: function LinesCalculator(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._canvasContext = t0;
      _._paragraph = t1;
      _._maxWidth = t2;
      _.lines = t3;
      _._lastBreak = t4;
      _._lastTakenBreak = t5;
      _._reachedMaxLines = false;
      _._cachedEllipsisWidth = null;
    },
    MaxIntrinsicCalculator: function MaxIntrinsicCalculator(t0, t1, t2) {
      var _ = this;
      _._canvasContext = t0;
      _.__engine$_text = t1;
      _._style = t2;
      _._lastHardLineEnd = _.value = 0;
    },
    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) {
      var _ = this;
      _.displayText = t0;
      _.ellipsis = t1;
      _.startIndex = t2;
      _.endIndex = t3;
      _.endIndexWithoutNewlines = t4;
      _.boxes = t5;
      _.hardBreak = t6;
      _.ascent = t7;
      _.descent = t8;
      _.height = t9;
      _.width = t10;
      _.widthWithTrailingSpaces = t11;
      _.left = t12;
      _.baseline = t13;
      _.lineNumber = t14;
    },
    DomParagraph: function DomParagraph(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._paragraphElement = t0;
      _._geometricStyle = t1;
      _._plainText = t2;
      _._paint = t3;
      _._textAlign = t4;
      _.__engine$_textDirection = t5;
      _._background = t6;
      _.placeholderCount = t7;
      _._measurementResult = null;
      _._didExceedMaxLines = false;
      _._lastUsedConstraints = null;
      _._alignOffset = 0;
    },
    EngineParagraphStyle: function EngineParagraphStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _._textAlign = t0;
      _.__engine$_textDirection = t1;
      _._fontWeight = t2;
      _._fontStyle = t3;
      _._maxLines = t4;
      _._fontFamily = t5;
      _._fontSize = t6;
      _.__engine$_height = t7;
      _._textHeightBehavior = t8;
      _._strutStyle = t9;
      _._ellipsis = t10;
      _._locale = t11;
    },
    EngineTextStyle: function EngineTextStyle(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;
      _._isFontFamilyProvided = t8;
      _._fontFamily = t9;
      _._fontFamilyFallback = t10;
      _._fontFeatures = t11;
      _._fontSize = t12;
      _._letterSpacing = t13;
      _._wordSpacing = t14;
      _.__engine$_height = t15;
      _._locale = t16;
      _._background = t17;
      _._foreground = t18;
      _._shadows = t19;
      _._cssFontString = null;
      _.__EngineTextStyle_heightStyle = $;
    },
    EngineStrutStyle: function EngineStrutStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._fontFamily = t0;
      _._fontFamilyFallback = t1;
      _._fontSize = t2;
      _.__engine$_height = t3;
      _._leading = t4;
      _._fontWeight = t5;
      _._fontStyle = t6;
      _._forceStrutHeight = t7;
      _._leadingDistribution = t8;
    },
    DomParagraphBuilder: function DomParagraphBuilder(t0, t1, t2, t3) {
      var _ = this;
      _._paragraphElement = t0;
      _._paragraphStyle = t1;
      _._ops = t2;
      _._placeholderScales = t3;
    },
    DomParagraphBuilder__buildRichText_currentElement: function DomParagraphBuilder__buildRichText_currentElement(t0, t1) {
      this.$this = t0;
      this.elementStack = t1;
    },
    ParagraphGeometricStyle: function ParagraphGeometricStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.textDirection = t0;
      _.textAlign = t1;
      _.fontWeight = t2;
      _.fontStyle = t3;
      _.fontFamily = t4;
      _.fontSize = t5;
      _.lineHeight = t6;
      _.maxLines = t7;
      _.letterSpacing = t8;
      _.wordSpacing = t9;
      _.decoration = t10;
      _.ellipsis = t11;
      _.shadows = t12;
      _._cachedHeightStyle = _._cssFontString = _._cachedHashCode = null;
    },
    TextHeightStyle: function TextHeightStyle(t0, t1, t2, t3) {
      var _ = this;
      _.fontFamily = t0;
      _.fontSize = t1;
      _.height = t2;
      _.fontFeatures = t3;
      _.__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 = $;
    },
    ParagraphRuler: function ParagraphRuler(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.style = t0;
      _.rulerManager = t1;
      _._singleLineHost = t2;
      _.singleLineDimensions = t3;
      _._minIntrinsicHost = t4;
      _.minIntrinsicDimensions = t5;
      _._constrainedHost = t6;
      _.constrainedDimensions = t7;
      _.__ParagraphRuler__textHeightRuler = $;
      _._hitCount = 0;
      _._debugIsDisposed = false;
      _._paragraph = null;
      _._measurementCache = t8;
      _._mruList = t9;
    },
    MeasurementResult: function MeasurementResult(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _.constraintWidth = t0;
      _.isSingleLine = t1;
      _.width = t2;
      _.height = t3;
      _.naturalHeight = t4;
      _.lineHeight = t5;
      _.minIntrinsicWidth = t6;
      _.maxIntrinsicWidth = t7;
      _.alphabeticBaseline = t8;
      _.ideographicBaseline = t9;
      _.lines = t10;
      _.placeholderBoxes = t11;
      _.textAlign = t12;
      _.textDirection = t13;
    },
    _ComparisonResult: function _ComparisonResult(t0, t1) {
      this.index = t0;
      this.__engine$_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.__engine$_name = t1;
    },
    _FindBreakDirection: function _FindBreakDirection(t0) {
      this.step = t0;
    },
    BrowserAutofillHints: function BrowserAutofillHints(t0) {
      this._flutterToEngineMap = t0;
    },
    EngineInputType: function EngineInputType() {
    },
    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.__engine$_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_closure: function EngineAutofillForm_addInputEventListeners_closure(t0, t1) {
      this.$this = t0;
      this.subscriptions = t1;
    },
    EngineAutofillForm_addInputEventListeners__closure: function EngineAutofillForm_addInputEventListeners__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;
      _.textCapitalization = t2;
      _.hint = t3;
    },
    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) {
      var _ = this;
      _.inputType = t0;
      _.inputAction = t1;
      _.readOnly = t2;
      _.obscureText = t3;
      _.autocorrect = t4;
      _.autofill = t5;
      _.autofillGroup = t6;
      _.textCapitalization = t7;
    },
    GloballyPositionedTextEditingStrategy: function GloballyPositionedTextEditingStrategy(t0, t1) {
      var _ = this;
      _.owner = t0;
      _.isEnabled = false;
      _.domElement = null;
      _.__DefaultTextEditingStrategy__inputConfiguration = $;
      _._onAction = _._onChange = _._geometry = _._style = _._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 = _._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 = _._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) {
      this.$this = t0;
    },
    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 = _._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 = _._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() {
    },
    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;
    },
    TransformKind: function TransformKind(t0, t1) {
      this.index = t0;
      this.__engine$_name = t1;
    },
    Matrix40: function Matrix40(t0) {
      this.__engine$_m4storage = t0;
    },
    Vector30: function Vector30(t0) {
      this.__engine$_v3storage = t0;
    },
    WebExperiments: function WebExperiments() {
      this._useCanvasRichText = this._useCanvasText = true;
    },
    WebExperiments$__closure: function WebExperiments$__closure() {
    },
    EngineFlutterWindow: function EngineFlutterWindow() {
    },
    EngineFlutterWindow_closure: function EngineFlutterWindow_closure() {
    },
    EngineSingletonFlutterWindow: function EngineSingletonFlutterWindow(t0, t1, t2) {
      var _ = this;
      _._debugDevicePixelRatio = null;
      _._windowId = t0;
      _.platformDispatcher = t1;
      _._browserHistory = null;
      _._viewInsets = t2;
      _._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() {
    },
    _PersistedPhysicalShape_PersistedContainerSurface__DomClip: function _PersistedPhysicalShape_PersistedContainerSurface__DomClip() {
    },
    __MouseAdapter__BaseAdapter__WheelEventListenerMixin: function __MouseAdapter__BaseAdapter__WheelEventListenerMixin() {
    },
    __PointerAdapter__BaseAdapter__WheelEventListenerMixin: function __PointerAdapter__BaseAdapter__WheelEventListenerMixin() {
    },
    JS_CONST: function JS_CONST() {
    },
    CastIterable_CastIterable: function(source, $S, $T) {
      if ($S._eval$1("EfficientLengthIterable<0>")._is(source))
        return new H._EfficientLengthCastIterable(source, $S._eval$1("@<0>")._bind$1($T)._eval$1("_EfficientLengthCastIterable<1,2>"));
      return new H.CastIterable(source, $S._eval$1("@<0>")._bind$1($T)._eval$1("CastIterable<1,2>"));
    },
    LateError$fieldADI: function(fieldName) {
      return new H.LateError("Field '" + H.S(fieldName) + "' has been assigned during initialization.");
    },
    LateError$fieldNI: function(fieldName) {
      return new H.LateError("Field '" + fieldName + "' has not been initialized.");
    },
    LateError$localNI: function(localName) {
      return new H.LateError("Local '" + localName + "' has not been initialized.");
    },
    LateError$fieldAI: function(fieldName) {
      return new H.LateError("Field '" + fieldName + "' has already been initialized.");
    },
    LateError$localAI: function(localName) {
      return new H.LateError("Local '" + localName + "' has already been initialized.");
    },
    ReachabilityError$: function(_message) {
      return new H.ReachabilityError(_message);
    },
    hexDigitValue: function(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: function(source, index) {
      var digit1 = H.hexDigitValue(C.JSString_methods.codeUnitAt$1(source, index)),
        digit2 = H.hexDigitValue(C.JSString_methods.codeUnitAt$1(source, index + 1));
      return digit1 * 16 + digit2 - (digit2 & 256);
    },
    SystemHash_combine: function(hash, value) {
      hash = hash + value & 536870911;
      hash = hash + ((hash & 524287) << 10) & 536870911;
      return hash ^ hash >>> 6;
    },
    SystemHash_finish: function(hash) {
      hash = hash + ((hash & 67108863) << 3) & 536870911;
      hash ^= hash >>> 11;
      return hash + ((hash & 16383) << 15) & 536870911;
    },
    checkNotNullable: function(value, $name, $T) {
      if (value == null)
        throw H.wrapException(new H.NotNullableError($name, $T._eval$1("NotNullableError<0>")));
      return value;
    },
    SubListIterable$: function(_iterable, _start, _endOrLength, $E) {
      P.RangeError_checkNotNegative(_start, "start");
      if (_endOrLength != null) {
        P.RangeError_checkNotNegative(_endOrLength, "end");
        if (_start > _endOrLength)
          H.throwExpression(P.RangeError$range(_start, 0, _endOrLength, "start", null));
      }
      return new H.SubListIterable(_iterable, _start, _endOrLength, $E._eval$1("SubListIterable<0>"));
    },
    MappedIterable_MappedIterable: function(iterable, $function, $S, $T) {
      if (type$.EfficientLengthIterable_dynamic._is(iterable))
        return new H.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
      return new H.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
    },
    TakeIterable_TakeIterable: function(iterable, takeCount, $E) {
      P.RangeError_checkNotNegative(takeCount, "takeCount");
      if (type$.EfficientLengthIterable_dynamic._is(iterable))
        return new H.EfficientLengthTakeIterable(iterable, takeCount, $E._eval$1("EfficientLengthTakeIterable<0>"));
      return new H.TakeIterable(iterable, takeCount, $E._eval$1("TakeIterable<0>"));
    },
    SkipIterable_SkipIterable: function(iterable, count, $E) {
      if (type$.EfficientLengthIterable_dynamic._is(iterable)) {
        P.RangeError_checkNotNegative(count, "count");
        return new H.EfficientLengthSkipIterable(iterable, count, $E._eval$1("EfficientLengthSkipIterable<0>"));
      }
      P.RangeError_checkNotNegative(count, "count");
      return new H.SkipIterable(iterable, count, $E._eval$1("SkipIterable<0>"));
    },
    FollowedByIterable_FollowedByIterable$firstEfficient: function(first, second, $E) {
      return new H.FollowedByIterable(first, second, $E._eval$1("FollowedByIterable<0>"));
    },
    IterableElementError_noElement: function() {
      return new P.StateError("No element");
    },
    IterableElementError_tooMany: function() {
      return new P.StateError("Too many elements");
    },
    IterableElementError_tooFew: function() {
      return new P.StateError("Too few elements");
    },
    Sort_sort: function(a, compare) {
      H.Sort__doSort(a, 0, J.get$length$asx(a) - 1, compare);
    },
    Sort__doSort: function(a, left, right, compare) {
      if (right - left <= 32)
        H.Sort__insertionSort(a, left, right, compare);
      else
        H.Sort__dualPivotQuicksort(a, left, right, compare);
    },
    Sort__insertionSort: function(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: function(a, left, right, compare) {
      var t0, less, great, k, ak, comp, great0, less0, pivots_are_equal, t2,
        sixth = C.JSInt_methods._tdivFast$1(right - left + 1, 6),
        index1 = left + sixth,
        index5 = right - sixth,
        index3 = C.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);
      H.Sort__doSort(a, left, less - 2, compare);
      H.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;
              }
        }
        H.Sort__doSort(a, less, great, compare);
      } else
        H.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;
    },
    ReachabilityError: function ReachabilityError(t0) {
      this._message = t0;
    },
    CodeUnits: function CodeUnits(t0) {
      this._string = t0;
    },
    nullFuture_closure: function nullFuture_closure() {
    },
    NotNullableError: function NotNullableError(t0, t1) {
      this.__internal$_name = t0;
      this.$ti = t1;
    },
    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.__internal$_name = t0;
    },
    __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() {
    },
    ConstantMap__throwUnmodifiable: function() {
      throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable Map"));
    },
    instantiate1: function(f, T1) {
      var t1 = new H.Instantiation1(f, T1._eval$1("Instantiation1<0>"));
      t1.Instantiation$1(f);
      return t1;
    },
    unminifyOrTag: function(rawClassName) {
      var preserved = init.mangledGlobalNames[rawClassName];
      if (preserved != null)
        return preserved;
      return rawClassName;
    },
    isJsIndexable: function(object, record) {
      var result;
      if (record != null) {
        result = record.x;
        if (result != null)
          return result;
      }
      return type$.JavaScriptIndexingBehavior_dynamic._is(object);
    },
    S: function(value) {
      var res;
      if (typeof value == "string")
        return value;
      if (typeof value == "number") {
        if (value !== 0)
          return "" + value;
      } else if (true === value)
        return "true";
      else if (false === value)
        return "false";
      else if (value == null)
        return "null";
      res = J.toString$0$(value);
      if (typeof res != "string")
        throw H.wrapException(H.argumentErrorValue(value));
      return res;
    },
    Primitives_objectHashCode: function(object) {
      var hash = object.$identityHash;
      if (hash == null) {
        hash = Math.random() * 0x3fffffff | 0;
        object.$identityHash = hash;
      }
      return hash;
    },
    Primitives_parseInt: function(source, radix) {
      var match, decimalMatch, maxCharCode, digitsPart, t1, i, _null = null;
      if (typeof source != "string")
        H.throwExpression(H.argumentErrorValue(source));
      match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source);
      if (match == null)
        return _null;
      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 H.wrapException(P.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 ((C.JSString_methods._codeUnitAt$1(digitsPart, i) | 32) > maxCharCode)
            return _null;
      }
      return parseInt(source, radix);
    },
    Primitives_parseDouble: function(source) {
      var result, trimmed;
      if (typeof source != "string")
        H.throwExpression(H.argumentErrorValue(source));
      if (!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(source))
        return null;
      result = parseFloat(source);
      if (isNaN(result)) {
        trimmed = J.trim$0$s(source);
        if (trimmed === "NaN" || trimmed === "+NaN" || trimmed === "-NaN")
          return result;
        return null;
      }
      return result;
    },
    Primitives_objectTypeName: function(object) {
      return H.Primitives__objectTypeNameNewRti(object);
    },
    Primitives__objectTypeNameNewRti: function(object) {
      var dispatchName, t1, $constructor, constructorName;
      if (object instanceof P.Object)
        return H._rtiToString(H.instanceType(object), null);
      if (J.getInterceptor$(object) === C.Interceptor_methods || type$.UnknownJavaScriptObject._is(object)) {
        dispatchName = C.C_JS_CONST(object);
        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 H._rtiToString(H.instanceType(object), null);
    },
    Primitives_dateNow: function() {
      return Date.now();
    },
    Primitives_initTicker: function() {
      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 H.Primitives_initTicker_closure(performance);
    },
    Primitives_currentUri: function() {
      if (!!self.location)
        return self.location.href;
      return null;
    },
    Primitives__fromCharCodeApply: function(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: function(codePoints) {
      var t1, _i, i,
        a = H._setArrayType([], type$.JSArray_int);
      for (t1 = codePoints.length, _i = 0; _i < codePoints.length; codePoints.length === t1 || (0, H.throwConcurrentModificationError)(codePoints), ++_i) {
        i = codePoints[_i];
        if (!H._isInt(i))
          throw H.wrapException(H.argumentErrorValue(i));
        if (i <= 65535)
          a.push(i);
        else if (i <= 1114111) {
          a.push(55296 + (C.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023));
          a.push(56320 + (i & 1023));
        } else
          throw H.wrapException(H.argumentErrorValue(i));
      }
      return H.Primitives__fromCharCodeApply(a);
    },
    Primitives_stringFromCharCodes: function(charCodes) {
      var t1, _i, i;
      for (t1 = charCodes.length, _i = 0; _i < t1; ++_i) {
        i = charCodes[_i];
        if (!H._isInt(i))
          throw H.wrapException(H.argumentErrorValue(i));
        if (i < 0)
          throw H.wrapException(H.argumentErrorValue(i));
        if (i > 65535)
          return H.Primitives_stringFromCodePoints(charCodes);
      }
      return H.Primitives__fromCharCodeApply(charCodes);
    },
    Primitives_stringFromNativeUint8List: function(charCodes, start, end) {
      var i, result, i0, chunkEnd;
      if (end <= 500 && start === 0 && end === charCodes.length)
        return String.fromCharCode.apply(null, charCodes);
      for (i = start, result = ""; i < end; i = i0) {
        i0 = i + 500;
        chunkEnd = i0 < end ? i0 : end;
        result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd));
      }
      return result;
    },
    Primitives_stringFromCharCode: function(charCode) {
      var bits;
      if (0 <= charCode) {
        if (charCode <= 65535)
          return String.fromCharCode(charCode);
        if (charCode <= 1114111) {
          bits = charCode - 65536;
          return String.fromCharCode((C.JSInt_methods._shrOtherPositive$1(bits, 10) | 55296) >>> 0, bits & 1023 | 56320);
        }
      }
      throw H.wrapException(P.RangeError$range(charCode, 0, 1114111, null, null));
    },
    Primitives_valueFromDecomposedDate: function(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: function(receiver) {
      if (receiver.date === void 0)
        receiver.date = new Date(receiver._core$_value);
      return receiver.date;
    },
    Primitives_getYear: function(receiver) {
      return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCFullYear() + 0 : H.Primitives_lazyAsJsDate(receiver).getFullYear() + 0;
    },
    Primitives_getMonth: function(receiver) {
      return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMonth() + 1 : H.Primitives_lazyAsJsDate(receiver).getMonth() + 1;
    },
    Primitives_getDay: function(receiver) {
      return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCDate() + 0 : H.Primitives_lazyAsJsDate(receiver).getDate() + 0;
    },
    Primitives_getHours: function(receiver) {
      return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCHours() + 0 : H.Primitives_lazyAsJsDate(receiver).getHours() + 0;
    },
    Primitives_getMinutes: function(receiver) {
      return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMinutes() + 0 : H.Primitives_lazyAsJsDate(receiver).getMinutes() + 0;
    },
    Primitives_getSeconds: function(receiver) {
      return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCSeconds() + 0 : H.Primitives_lazyAsJsDate(receiver).getSeconds() + 0;
    },
    Primitives_getMilliseconds: function(receiver) {
      return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : H.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0;
    },
    Primitives_getWeekday: function(receiver) {
      return C.JSInt_methods.$mod((receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCDay() + 0 : H.Primitives_lazyAsJsDate(receiver).getDay() + 0) + 6, 7) + 1;
    },
    Primitives_functionNoSuchMethod: function($function, positionalArguments, namedArguments) {
      var $arguments, namedArgumentList, t1 = {};
      t1.argumentCount = 0;
      $arguments = [];
      namedArgumentList = [];
      t1.argumentCount = positionalArguments.length;
      C.JSArray_methods.addAll$1($arguments, positionalArguments);
      t1.names = "";
      if (namedArguments != null && !namedArguments.get$isEmpty(namedArguments))
        namedArguments.forEach$1(0, new H.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments));
      "" + t1.argumentCount;
      return J.noSuchMethod$1$($function, new H.JSInvocationMirror(C.Symbol_call, 0, $arguments, namedArgumentList, 0));
    },
    Primitives_applyFunction: function($function, positionalArguments, namedArguments) {
      var t1, $arguments, argumentCount, jsStub;
      if (positionalArguments instanceof Array)
        t1 = namedArguments == null || namedArguments.get$isEmpty(namedArguments);
      else
        t1 = false;
      if (t1) {
        $arguments = positionalArguments;
        argumentCount = $arguments.length;
        if (argumentCount === 0) {
          if (!!$function.call$0)
            return $function.call$0();
        } else if (argumentCount === 1) {
          if (!!$function.call$1)
            return $function.call$1($arguments[0]);
        } else if (argumentCount === 2) {
          if (!!$function.call$2)
            return $function.call$2($arguments[0], $arguments[1]);
        } else if (argumentCount === 3) {
          if (!!$function.call$3)
            return $function.call$3($arguments[0], $arguments[1], $arguments[2]);
        } else if (argumentCount === 4) {
          if (!!$function.call$4)
            return $function.call$4($arguments[0], $arguments[1], $arguments[2], $arguments[3]);
        } else if (argumentCount === 5)
          if (!!$function.call$5)
            return $function.call$5($arguments[0], $arguments[1], $arguments[2], $arguments[3], $arguments[4]);
        jsStub = $function["call" + "$" + argumentCount];
        if (jsStub != null)
          return jsStub.apply($function, $arguments);
      }
      return H.Primitives__genericApplyFunction2($function, positionalArguments, namedArguments);
    },
    Primitives__genericApplyFunction2: function($function, positionalArguments, namedArguments) {
      var $arguments, argumentCount, requiredParameterCount, defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, keys, _i, defaultValue, used, t2;
      if (positionalArguments != null)
        $arguments = positionalArguments instanceof Array ? positionalArguments : P.List_List$from(positionalArguments, true, type$.dynamic);
      else
        $arguments = [];
      argumentCount = $arguments.length;
      requiredParameterCount = $function.$requiredArgCount;
      if (argumentCount < requiredParameterCount)
        return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
      defaultValuesClosure = $function.$defaultValues;
      t1 = defaultValuesClosure == null;
      defaultValues = !t1 ? defaultValuesClosure() : null;
      interceptor = J.getInterceptor$($function);
      jsFunction = interceptor["call*"];
      if (typeof jsFunction == "string")
        jsFunction = interceptor[jsFunction];
      if (t1) {
        if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments))
          return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
        if (argumentCount === requiredParameterCount)
          return jsFunction.apply($function, $arguments);
        return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
      }
      if (defaultValues instanceof Array) {
        if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments))
          return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
        if (argumentCount > requiredParameterCount + defaultValues.length)
          return H.Primitives_functionNoSuchMethod($function, $arguments, null);
        C.JSArray_methods.addAll$1($arguments, defaultValues.slice(argumentCount - requiredParameterCount));
        return jsFunction.apply($function, $arguments);
      } else {
        if (argumentCount > requiredParameterCount)
          return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
        keys = Object.keys(defaultValues);
        if (namedArguments == null)
          for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
            defaultValue = defaultValues[keys[_i]];
            if (C.C__Required === defaultValue)
              return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
            C.JSArray_methods.add$1($arguments, defaultValue);
          }
        else {
          for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
            t2 = keys[_i];
            if (namedArguments.containsKey$1(0, t2)) {
              ++used;
              C.JSArray_methods.add$1($arguments, namedArguments.$index(0, t2));
            } else {
              defaultValue = defaultValues[t2];
              if (C.C__Required === defaultValue)
                return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
              C.JSArray_methods.add$1($arguments, defaultValue);
            }
          }
          if (used !== namedArguments.get$length(namedArguments))
            return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
        }
        return jsFunction.apply($function, $arguments);
      }
    },
    diagnoseIndexError: function(indexable, index) {
      var $length, _s5_ = "index";
      if (!H._isInt(index))
        return new P.ArgumentError(true, index, _s5_, null);
      $length = J.get$length$asx(indexable);
      if (index < 0 || index >= $length)
        return P.IndexError$(index, indexable, _s5_, null, $length);
      return P.RangeError$value(index, _s5_, null);
    },
    diagnoseRangeError: function(start, end, $length) {
      if (start < 0 || start > $length)
        return P.RangeError$range(start, 0, $length, "start", null);
      if (end != null)
        if (end < start || end > $length)
          return P.RangeError$range(end, start, $length, "end", null);
      return new P.ArgumentError(true, end, "end", null);
    },
    argumentErrorValue: function(object) {
      return new P.ArgumentError(true, object, null, null);
    },
    checkNum: function(value) {
      if (typeof value != "number")
        throw H.wrapException(H.argumentErrorValue(value));
      return value;
    },
    wrapException: function(ex) {
      var wrapper, t1;
      if (ex == null)
        ex = new P.NullThrownError();
      wrapper = new Error();
      wrapper.dartException = ex;
      t1 = H.toStringWrapper;
      if ("defineProperty" in Object) {
        Object.defineProperty(wrapper, "message", {get: t1});
        wrapper.name = "";
      } else
        wrapper.toString = t1;
      return wrapper;
    },
    toStringWrapper: function() {
      return J.toString$0$(this.dartException);
    },
    throwExpression: function(ex) {
      throw H.wrapException(ex);
    },
    throwConcurrentModificationError: function(collection) {
      throw H.wrapException(P.ConcurrentModificationError$(collection));
    },
    TypeErrorDecoder_extractPattern: function(message) {
      var match, $arguments, argumentsExpr, expr, method, receiver;
      message = H.quoteStringForRegExp(message.replace(String({}), "$receiver$"));
      match = message.match(/\\\$[a-zA-Z]+\\\$/g);
      if (match == null)
        match = H._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 H.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver);
    },
    TypeErrorDecoder_provokeCallErrorOn: function(expression) {
      return function($expr$) {
        var $argumentsExpr$ = "$arguments$";
        try {
          $expr$.$method$($argumentsExpr$);
        } catch (e) {
          return e.message;
        }
      }(expression);
    },
    TypeErrorDecoder_provokePropertyErrorOn: function(expression) {
      return function($expr$) {
        try {
          $expr$.$method$;
        } catch (e) {
          return e.message;
        }
      }(expression);
    },
    JsNoSuchMethodError$: function(_message, match) {
      var t1 = match == null,
        t2 = t1 ? null : match.method;
      return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver);
    },
    unwrapException: function(ex) {
      if (ex == null)
        return new H.NullThrownFromJavaScriptException(ex);
      if (ex instanceof H.ExceptionAndStackTrace)
        return H.saveStackTrace(ex, ex.dartException);
      if (typeof ex !== "object")
        return ex;
      if ("dartException" in ex)
        return H.saveStackTrace(ex, ex.dartException);
      return H._unwrapNonDartException(ex);
    },
    saveStackTrace: function(ex, error) {
      if (type$.Error._is(error))
        if (error.$thrownJsError == null)
          error.$thrownJsError = ex;
      return error;
    },
    _unwrapNonDartException: function(ex) {
      var message, number, ieErrorCode, 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 ((C.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10)
          switch (ieErrorCode) {
            case 438:
              return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", _null));
            case 445:
            case 5007:
              t1 = H.S(message) + " (Error " + ieErrorCode + ")";
              return H.saveStackTrace(ex, new H.NullError(t1, _null));
          }
      }
      if (ex instanceof TypeError) {
        nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern();
        notClosure = $.$get$TypeErrorDecoder_notClosurePattern();
        nullCall = $.$get$TypeErrorDecoder_nullCallPattern();
        nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern();
        undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern();
        undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern();
        nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern();
        $.$get$TypeErrorDecoder_nullLiteralPropertyPattern();
        undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern();
        undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern();
        match = nsme.matchTypeError$1(message);
        if (match != null)
          return H.saveStackTrace(ex, H.JsNoSuchMethodError$(message, match));
        else {
          match = notClosure.matchTypeError$1(message);
          if (match != null) {
            match.method = "call";
            return H.saveStackTrace(ex, H.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 H.saveStackTrace(ex, new H.NullError(message, match == null ? _null : match.method));
          }
        }
        return H.saveStackTrace(ex, new H.UnknownJsTypeError(typeof message == "string" ? message : ""));
      }
      if (ex instanceof RangeError) {
        if (typeof message == "string" && message.indexOf("call stack") !== -1)
          return new P.StackOverflowError();
        message = function(ex) {
          try {
            return String(ex);
          } catch (e) {
          }
          return null;
        }(ex);
        return H.saveStackTrace(ex, new P.ArgumentError(false, _null, _null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message));
      }
      if (typeof InternalError == "function" && ex instanceof InternalError)
        if (typeof message == "string" && message === "too much recursion")
          return new P.StackOverflowError();
      return ex;
    },
    getTraceFromException: function(exception) {
      var trace;
      if (exception instanceof H.ExceptionAndStackTrace)
        return exception.stackTrace;
      if (exception == null)
        return new H._StackTrace(exception);
      trace = exception.$cachedTrace;
      if (trace != null)
        return trace;
      return exception.$cachedTrace = new H._StackTrace(exception);
    },
    objectHashCode: function(object) {
      if (object == null || typeof object != "object")
        return J.get$hashCode$(object);
      else
        return H.Primitives_objectHashCode(object);
    },
    fillLiteralMap: function(keyValuePairs, result) {
      var 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: function(values, result) {
      var index,
        $length = values.length;
      for (index = 0; index < $length; ++index)
        result.add$1(0, values[index]);
      return result;
    },
    invokeClosure: function(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 H.wrapException(P.Exception_Exception("Unsupported number of arguments for wrapped closure"));
    },
    convertDartClosureToJS: function(closure, arity) {
      var $function;
      if (closure == null)
        return null;
      $function = closure.$identity;
      if (!!$function)
        return $function;
      $function = function(closure, arity, invoke) {
        return function(a1, a2, a3, a4) {
          return invoke(closure, arity, a1, a2, a3, a4);
        };
      }(closure, arity, H.invokeClosure);
      closure.$identity = $function;
      return $function;
    },
    Closure_fromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, propertyName) {
      var $constructor, t1, trampoline, applyTrampoline, i, stub, stubCallName,
        $function = functions[0],
        callName = $function.$callName,
        $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(null, null, null, "").constructor.prototype);
      $prototype.$initialize = $prototype.constructor;
      if (isStatic)
        $constructor = function static_tear_off() {
          this.$initialize();
        };
      else {
        t1 = $.Closure_functionCounter;
        $.Closure_functionCounter = t1 + 1;
        t1 = new Function("a,b,c,d" + t1, "this.$initialize(a,b,c,d" + t1 + ")");
        $constructor = t1;
      }
      $prototype.constructor = $constructor;
      $constructor.prototype = $prototype;
      if (!isStatic) {
        trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted);
        trampoline.$reflectionInfo = reflectionInfo;
      } else {
        $prototype.$static_name = propertyName;
        trampoline = $function;
      }
      $prototype.$signature = H.Closure__computeSignatureFunctionNewRti(reflectionInfo, isStatic, isIntercepted);
      $prototype[callName] = trampoline;
      for (applyTrampoline = trampoline, i = 1; i < functions.length; ++i) {
        stub = functions[i];
        stubCallName = stub.$callName;
        if (stubCallName != null) {
          stub = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted);
          $prototype[stubCallName] = stub;
        }
        if (i === applyTrampolineIndex) {
          stub.$reflectionInfo = reflectionInfo;
          applyTrampoline = stub;
        }
      }
      $prototype["call*"] = applyTrampoline;
      $prototype.$requiredArgCount = $function.$requiredArgCount;
      $prototype.$defaultValues = $function.$defaultValues;
      return $constructor;
    },
    Closure__computeSignatureFunctionNewRti: function(functionType, isStatic, isIntercepted) {
      var typeEvalMethod;
      if (typeof functionType == "number")
        return function(getType, t) {
          return function() {
            return getType(t);
          };
        }(H.getTypeFromTypesTable, functionType);
      if (typeof functionType == "string") {
        if (isStatic)
          throw H.wrapException("Cannot compute signature for static tearoff.");
        typeEvalMethod = isIntercepted ? H.BoundClosure_evalRecipeIntercepted : H.BoundClosure_evalRecipe;
        return function(recipe, evalOnReceiver) {
          return function() {
            return evalOnReceiver(this, recipe);
          };
        }(functionType, typeEvalMethod);
      }
      throw H.wrapException("Error in functionType of tearoff");
    },
    Closure_cspForwardCall: function(arity, isSuperCall, stubName, $function) {
      var getSelf = H.BoundClosure_selfOf;
      switch (isSuperCall ? -1 : arity) {
        case 0:
          return function(n, S) {
            return function() {
              return S(this)[n]();
            };
          }(stubName, getSelf);
        case 1:
          return function(n, S) {
            return function(a) {
              return S(this)[n](a);
            };
          }(stubName, getSelf);
        case 2:
          return function(n, S) {
            return function(a, b) {
              return S(this)[n](a, b);
            };
          }(stubName, getSelf);
        case 3:
          return function(n, S) {
            return function(a, b, c) {
              return S(this)[n](a, b, c);
            };
          }(stubName, getSelf);
        case 4:
          return function(n, S) {
            return function(a, b, c, d) {
              return S(this)[n](a, b, c, d);
            };
          }(stubName, getSelf);
        case 5:
          return function(n, S) {
            return function(a, b, c, d, e) {
              return S(this)[n](a, b, c, d, e);
            };
          }(stubName, getSelf);
        default:
          return function(f, s) {
            return function() {
              return f.apply(s(this), arguments);
            };
          }($function, getSelf);
      }
    },
    Closure_forwardCallTo: function(receiver, $function, isIntercepted) {
      var stubName, arity, lookedUpFunction, t1, t2, selfName, $arguments;
      if (isIntercepted)
        return H.Closure_forwardInterceptedCallTo(receiver, $function);
      stubName = $function.$stubName;
      arity = $function.length;
      lookedUpFunction = receiver[stubName];
      t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
      t2 = !t1 || arity >= 27;
      if (t2)
        return H.Closure_cspForwardCall(arity, !t1, stubName, $function);
      if (arity === 0) {
        t1 = $.Closure_functionCounter;
        $.Closure_functionCounter = t1 + 1;
        selfName = "self" + H.S(t1);
        t1 = "return function(){var " + selfName + " = this.";
        t2 = $.BoundClosure_selfFieldNameCache;
        return new Function(t1 + (t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + ";return " + selfName + "." + H.S(stubName) + "();}")();
      }
      $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(",");
      t1 = $.Closure_functionCounter;
      $.Closure_functionCounter = t1 + 1;
      $arguments += H.S(t1);
      t1 = "return function(" + $arguments + "){return this.";
      t2 = $.BoundClosure_selfFieldNameCache;
      return new Function(t1 + (t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + "." + H.S(stubName) + "(" + $arguments + ");}")();
    },
    Closure_cspForwardInterceptedCall: function(arity, isSuperCall, $name, $function) {
      var getSelf = H.BoundClosure_selfOf,
        getReceiver = H.BoundClosure_receiverOf;
      switch (isSuperCall ? -1 : arity) {
        case 0:
          throw H.wrapException(new H.RuntimeError("Intercepted function with no arguments."));
        case 1:
          return function(n, s, r) {
            return function() {
              return s(this)[n](r(this));
            };
          }($name, getSelf, getReceiver);
        case 2:
          return function(n, s, r) {
            return function(a) {
              return s(this)[n](r(this), a);
            };
          }($name, getSelf, getReceiver);
        case 3:
          return function(n, s, r) {
            return function(a, b) {
              return s(this)[n](r(this), a, b);
            };
          }($name, getSelf, getReceiver);
        case 4:
          return function(n, s, r) {
            return function(a, b, c) {
              return s(this)[n](r(this), a, b, c);
            };
          }($name, getSelf, getReceiver);
        case 5:
          return function(n, s, r) {
            return function(a, b, c, d) {
              return s(this)[n](r(this), a, b, c, d);
            };
          }($name, getSelf, getReceiver);
        case 6:
          return function(n, s, r) {
            return function(a, b, c, d, e) {
              return s(this)[n](r(this), a, b, c, d, e);
            };
          }($name, getSelf, getReceiver);
        default:
          return function(f, s, r, a) {
            return function() {
              a = [r(this)];
              Array.prototype.push.apply(a, arguments);
              return f.apply(s(this), a);
            };
          }($function, getSelf, getReceiver);
      }
    },
    Closure_forwardInterceptedCallTo: function(receiver, $function) {
      var receiverField, stubName, arity, lookedUpFunction, t1, t2, $arguments,
        selfField = $.BoundClosure_selfFieldNameCache;
      if (selfField == null)
        selfField = $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self");
      receiverField = $.BoundClosure_receiverFieldNameCache;
      if (receiverField == null)
        receiverField = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver");
      stubName = $function.$stubName;
      arity = $function.length;
      lookedUpFunction = receiver[stubName];
      t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
      t2 = !t1 || arity >= 28;
      if (t2)
        return H.Closure_cspForwardInterceptedCall(arity, !t1, stubName, $function);
      if (arity === 1) {
        t1 = "return function(){return this." + selfField + "." + H.S(stubName) + "(this." + receiverField + ");";
        t2 = $.Closure_functionCounter;
        $.Closure_functionCounter = t2 + 1;
        return new Function(t1 + H.S(t2) + "}")();
      }
      $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(",");
      t1 = "return function(" + $arguments + "){return this." + selfField + "." + H.S(stubName) + "(this." + receiverField + ", " + $arguments + ");";
      t2 = $.Closure_functionCounter;
      $.Closure_functionCounter = t2 + 1;
      return new Function(t1 + H.S(t2) + "}")();
    },
    closureFromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, $name) {
      return H.Closure_fromTearOff(receiver, functions, applyTrampolineIndex, reflectionInfo, !!isStatic, !!isIntercepted, $name);
    },
    BoundClosure_evalRecipe: function(closure, recipe) {
      return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._self), recipe);
    },
    BoundClosure_evalRecipeIntercepted: function(closure, recipe) {
      return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._receiver), recipe);
    },
    BoundClosure_selfOf: function(closure) {
      return closure._self;
    },
    BoundClosure_receiverOf: function(closure) {
      return closure._receiver;
    },
    BoundClosure_computeFieldNamed: function(fieldName) {
      var t1, i, $name,
        template = new H.BoundClosure("self", "target", "receiver", "name"),
        names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template));
      for (t1 = names.length, i = 0; i < t1; ++i) {
        $name = names[i];
        if (template[$name] === fieldName)
          return $name;
      }
      throw H.wrapException(P.ArgumentError$("Field name " + fieldName + " not found."));
    },
    throwCyclicInit: function(staticName) {
      throw H.wrapException(new P.CyclicInitializationError(staticName));
    },
    getIsolateAffinityTag: function($name) {
      return init.getIsolateTag($name);
    },
    JsLinkedHashMap_JsLinkedHashMap$es6: function($K, $V) {
      return new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
    },
    defineProperty: function(obj, property, value) {
      Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
    },
    lookupAndCacheInterceptor: function(obj) {
      var interceptor, interceptorClass, altTag, mark, t1,
        tag = $.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 = H.makeLeafDispatchRecord(interceptor);
        $.dispatchRecordsForInstanceTags[tag] = record;
        Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
        return record.i;
      }
      if (mark === "~") {
        $.interceptorsForUncacheableTags[tag] = interceptor;
        return interceptor;
      }
      if (mark === "-") {
        t1 = H.makeLeafDispatchRecord(interceptor);
        Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
        return t1.i;
      }
      if (mark === "+")
        return H.patchInteriorProto(obj, interceptor);
      if (mark === "*")
        throw H.wrapException(P.UnimplementedError$(tag));
      if (init.leafTags[tag] === true) {
        t1 = H.makeLeafDispatchRecord(interceptor);
        Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
        return t1.i;
      } else
        return H.patchInteriorProto(obj, interceptor);
    },
    patchInteriorProto: function(obj, interceptor) {
      var proto = Object.getPrototypeOf(obj);
      Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true});
      return interceptor;
    },
    makeLeafDispatchRecord: function(interceptor) {
      return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior);
    },
    makeDefaultDispatchRecord: function(tag, interceptorClass, proto) {
      var interceptor = interceptorClass.prototype;
      if (init.leafTags[tag] === true)
        return H.makeLeafDispatchRecord(interceptor);
      else
        return J.makeDispatchRecord(interceptor, proto, null, null);
    },
    initNativeDispatch: function() {
      if (true === $.initNativeDispatchFlag)
        return;
      $.initNativeDispatchFlag = true;
      H.initNativeDispatchContinue();
    },
    initNativeDispatchContinue: function() {
      var map, tags, fun, i, tag, proto, record, interceptorClass;
      $.dispatchRecordsForInstanceTags = Object.create(null);
      $.interceptorsForUncacheableTags = Object.create(null);
      H.initHooks();
      map = init.interceptorsByTag;
      tags = Object.getOwnPropertyNames(map);
      if (typeof window != "undefined") {
        window;
        fun = function() {
        };
        for (i = 0; i < tags.length; ++i) {
          tag = tags[i];
          proto = $.prototypeForTagFunction.call$1(tag);
          if (proto != null) {
            record = H.makeDefaultDispatchRecord(tag, map[tag], proto);
            if (record != null) {
              Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
              fun.prototype = proto;
            }
          }
        }
      }
      for (i = 0; i < tags.length; ++i) {
        tag = tags[i];
        if (/^[A-Za-z_]/.test(tag)) {
          interceptorClass = map[tag];
          map["!" + tag] = interceptorClass;
          map["~" + tag] = interceptorClass;
          map["-" + tag] = interceptorClass;
          map["+" + tag] = interceptorClass;
          map["*" + tag] = interceptorClass;
        }
      }
    },
    initHooks: function() {
      var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag,
        hooks = C.C_JS_CONST0();
      hooks = H.applyHooksTransformer(C.C_JS_CONST1, H.applyHooksTransformer(C.C_JS_CONST2, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST4, H.applyHooksTransformer(C.C_JS_CONST5, H.applyHooksTransformer(C.C_JS_CONST6(C.C_JS_CONST), hooks)))))));
      if (typeof dartNativeDispatchHooksTransformer != "undefined") {
        transformers = dartNativeDispatchHooksTransformer;
        if (typeof transformers == "function")
          transformers = [transformers];
        if (transformers.constructor == Array)
          for (i = 0; i < transformers.length; ++i) {
            transformer = transformers[i];
            if (typeof transformer == "function")
              hooks = transformer(hooks) || hooks;
          }
      }
      getTag = hooks.getTag;
      getUnknownTag = hooks.getUnknownTag;
      prototypeForTag = hooks.prototypeForTag;
      $.getTagFunction = new H.initHooks_closure(getTag);
      $.alternateTagFunction = new H.initHooks_closure0(getUnknownTag);
      $.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag);
    },
    applyHooksTransformer: function(transformer, hooks) {
      return transformer(hooks) || hooks;
    },
    JSSyntaxRegExp_makeNative: function(source, multiLine, caseSensitive, unicode, dotAll, global) {
      var m, i, u, s, g, regexp;
      if (typeof source != "string")
        H.throwExpression(H.argumentErrorValue(source));
      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 H.wrapException(P.FormatException$("Illegal RegExp pattern (" + String(regexp) + ")", source, null));
    },
    stringContainsUnchecked: function(receiver, other, startIndex) {
      var t1, t2;
      if (typeof other == "string")
        return receiver.indexOf(other, startIndex) >= 0;
      else if (other instanceof H.JSSyntaxRegExp) {
        t1 = C.JSString_methods.substring$1(receiver, startIndex);
        t2 = other._nativeRegExp;
        return t2.test(t1);
      } else {
        t1 = J.allMatches$1$s(other, C.JSString_methods.substring$1(receiver, startIndex));
        return !t1.get$isEmpty(t1);
      }
    },
    escapeReplacement: function(replacement) {
      if (replacement.indexOf("$", 0) >= 0)
        return replacement.replace(/\$/g, "$$$$");
      return replacement;
    },
    stringReplaceFirstRE: function(receiver, regexp, replacement, startIndex) {
      var match = regexp._execGlobal$2(receiver, startIndex);
      if (match == null)
        return receiver;
      return H.stringReplaceRangeUnchecked(receiver, match._match.index, match.get$end(match), replacement);
    },
    quoteStringForRegExp: function(string) {
      if (/[[\]{}()*+?.\\^$|]/.test(string))
        return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&");
      return string;
    },
    stringReplaceAllUnchecked: function(receiver, pattern, replacement) {
      var nativeRegexp;
      if (typeof pattern == "string")
        return H.stringReplaceAllUncheckedString(receiver, pattern, replacement);
      if (pattern instanceof H.JSSyntaxRegExp) {
        nativeRegexp = pattern.get$_nativeGlobalVersion();
        nativeRegexp.lastIndex = 0;
        return receiver.replace(nativeRegexp, H.escapeReplacement(replacement));
      }
      if (pattern == null)
        H.throwExpression(H.argumentErrorValue(pattern));
      throw H.wrapException("String.replaceAll(Pattern) UNIMPLEMENTED");
    },
    stringReplaceAllUncheckedString: function(receiver, pattern, replacement) {
      var $length, t1, i, index;
      if (pattern === "") {
        if (receiver === "")
          return replacement;
        $length = receiver.length;
        for (t1 = replacement, 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(H.quoteStringForRegExp(pattern), 'g'), H.escapeReplacement(replacement));
    },
    _matchString: function(match) {
      var t1 = match.$index(0, 0);
      t1.toString;
      return t1;
    },
    _stringIdentity: function(string) {
      return string;
    },
    stringReplaceAllFuncUnchecked: function(receiver, pattern, onMatch, onNonMatch) {
      var t1, startIndex, t2, match;
      if (onMatch == null)
        onMatch = H._js_helper___matchString$closure();
      if (onNonMatch == null)
        onNonMatch = H._js_helper___stringIdentity$closure();
      if (typeof pattern == "string")
        return H.stringReplaceAllStringFuncUnchecked(receiver, pattern, onMatch, onNonMatch);
      if (!type$.Pattern._is(pattern))
        throw H.wrapException(P.ArgumentError$value(pattern, "pattern", "is not a Pattern"));
      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 + H.S(onNonMatch.call$1(C.JSString_methods.substring$2(receiver, startIndex, match.get$start(match)))) + H.S(onMatch.call$1(match));
        startIndex = match.get$end(match);
      }
      t1 = t2 + H.S(onNonMatch.call$1(C.JSString_methods.substring$1(receiver, startIndex)));
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    stringReplaceAllEmptyFuncUnchecked: function(receiver, onMatch, onNonMatch) {
      var i, i0,
        $length = receiver.length,
        t1 = H.S(onNonMatch.call$1(""));
      for (i = 0; i < $length;) {
        t1 += H.S(onMatch.call$1(new H.StringMatch(i, "")));
        if ((C.JSString_methods._codeUnitAt$1(receiver, i) & 4294966272) === 55296 && $length > i + 1)
          if ((C.JSString_methods._codeUnitAt$1(receiver, i + 1) & 4294966272) === 56320) {
            i0 = i + 2;
            t1 += H.S(onNonMatch.call$1(C.JSString_methods.substring$2(receiver, i, i0)));
            i = i0;
            continue;
          }
        t1 += H.S(onNonMatch.call$1(receiver[i]));
        ++i;
      }
      t1 = t1 + H.S(onMatch.call$1(new H.StringMatch(i, ""))) + H.S(onNonMatch.call$1(""));
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    stringReplaceAllStringFuncUnchecked: function(receiver, pattern, onMatch, onNonMatch) {
      var $length, startIndex, t1, position,
        patternLength = pattern.length;
      if (patternLength === 0)
        return H.stringReplaceAllEmptyFuncUnchecked(receiver, onMatch, onNonMatch);
      $length = receiver.length;
      for (startIndex = 0, t1 = ""; startIndex < $length;) {
        position = receiver.indexOf(pattern, startIndex);
        if (position === -1)
          break;
        t1 = t1 + H.S(onNonMatch.call$1(C.JSString_methods.substring$2(receiver, startIndex, position))) + H.S(onMatch.call$1(new H.StringMatch(position, pattern)));
        startIndex = position + patternLength;
      }
      t1 += H.S(onNonMatch.call$1(C.JSString_methods.substring$1(receiver, startIndex)));
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    stringReplaceFirstUnchecked: function(receiver, pattern, replacement, startIndex) {
      var index, t1, matches, match;
      if (typeof pattern == "string") {
        index = receiver.indexOf(pattern, startIndex);
        if (index < 0)
          return receiver;
        return H.stringReplaceRangeUnchecked(receiver, index, index + pattern.length, replacement);
      }
      if (pattern instanceof H.JSSyntaxRegExp)
        return startIndex === 0 ? receiver.replace(pattern._nativeRegExp, H.escapeReplacement(replacement)) : H.stringReplaceFirstRE(receiver, pattern, replacement, startIndex);
      if (pattern == null)
        H.throwExpression(H.argumentErrorValue(pattern));
      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 C.JSString_methods.replaceRange$3(receiver, match.get$start(match), match.get$end(match), replacement);
    },
    stringReplaceRangeUnchecked: function(receiver, start, end, replacement) {
      var prefix = receiver.substring(0, start),
        suffix = receiver.substring(end);
      return prefix + replacement + suffix;
    },
    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;
      _.__js_helper$_keys = t2;
      _.$ti = t3;
    },
    ConstantStringMap_values_closure: function ConstantStringMap_values_closure(t0) {
      this.$this = t0;
    },
    _ConstantMapKeyIterable: function _ConstantMapKeyIterable(t0, t1) {
      this._map = t0;
      this.$ti = t1;
    },
    GeneralConstantMap: function GeneralConstantMap(t0, t1) {
      this._jsData = t0;
      this.$ti = t1;
    },
    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() {
    },
    TearOffClosure: function TearOffClosure() {
    },
    StaticClosure: function StaticClosure() {
    },
    BoundClosure: function BoundClosure(t0, t1, t2, t3) {
      var _ = this;
      _._self = t0;
      _._target = t1;
      _._receiver = t2;
      _._name = t3;
    },
    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) {
      this.start = t0;
      this.pattern = t1;
    },
    _StringAllMatchesIterable: function _StringAllMatchesIterable(t0, t1, t2) {
      this._input = t0;
      this._pattern = t1;
      this.__js_helper$_index = t2;
    },
    _StringAllMatchesIterator: function _StringAllMatchesIterator(t0, t1, t2) {
      var _ = this;
      _._input = t0;
      _._pattern = t1;
      _.__js_helper$_index = t2;
      _.__js_helper$_current = null;
    },
    throwLateFieldADI: function(fieldName) {
      return H.throwExpression(H.LateError$fieldADI(fieldName));
    },
    _Cell$named: function(_name) {
      var t1 = new H._Cell(_name);
      return t1.__late_helper$_value = t1;
    },
    _Cell: function _Cell(t0) {
      this.__late_helper$_name = t0;
      this.__late_helper$_value = null;
    },
    _checkViewArguments: function(buffer, offsetInBytes, $length) {
      if (!H._isInt(offsetInBytes))
        throw H.wrapException(P.ArgumentError$("Invalid view offsetInBytes " + H.S(offsetInBytes)));
    },
    _ensureNativeList: function(list) {
      var t1, result, i;
      if (type$.JSIndexable_dynamic._is(list))
        return list;
      t1 = J.getInterceptor$asx(list);
      result = P.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: function(buffer, offsetInBytes, $length) {
      H._checkViewArguments(buffer, offsetInBytes, $length);
      return $length == null ? new DataView(buffer, offsetInBytes) : new DataView(buffer, offsetInBytes, $length);
    },
    NativeFloat32List_NativeFloat32List: function($length) {
      return new Float32Array($length);
    },
    NativeFloat32List_NativeFloat32List$view: function(buffer, offsetInBytes, $length) {
      H._checkViewArguments(buffer, offsetInBytes, $length);
      if ($length == null)
        $length = C.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 4);
      return new Float32Array(buffer, offsetInBytes, $length);
    },
    NativeFloat64List_NativeFloat64List: function($length) {
      return new Float64Array($length);
    },
    NativeFloat64List_NativeFloat64List$view: function(buffer, offsetInBytes, $length) {
      H._checkViewArguments(buffer, offsetInBytes, $length);
      if ($length == null)
        $length = C.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 8);
      return new Float64Array(buffer, offsetInBytes, $length);
    },
    NativeInt16List_NativeInt16List$view: function(buffer, offsetInBytes, $length) {
      var t1;
      H._checkViewArguments(buffer, offsetInBytes, $length);
      t1 = buffer.byteLength;
      $length = C.JSInt_methods._tdivFast$1(t1 - offsetInBytes, 2);
      return new Int16Array(buffer, offsetInBytes, $length);
    },
    NativeInt32List_NativeInt32List: function($length) {
      return new Int32Array($length);
    },
    NativeInt32List_NativeInt32List$view: function(buffer, offsetInBytes, $length) {
      H._checkViewArguments(buffer, offsetInBytes, $length);
      if ($length == null)
        $length = C.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 4);
      return new Int32Array(buffer, offsetInBytes, $length);
    },
    NativeInt8List_NativeInt8List: function($length) {
      return new Int8Array($length);
    },
    NativeInt8List_NativeInt8List$view: function(buffer, offsetInBytes, $length) {
      var t1;
      H._checkViewArguments(buffer, offsetInBytes, $length);
      t1 = new Int8Array(buffer, offsetInBytes);
      return t1;
    },
    NativeInt8List__create1: function(arg) {
      return new Int8Array(arg);
    },
    NativeUint16List_NativeUint16List: function($length) {
      if (!H._isInt($length))
        H.throwExpression(P.ArgumentError$("Invalid length " + H.S($length)));
      return new Uint16Array($length);
    },
    NativeUint16List_NativeUint16List$fromList: function(list) {
      return new Uint16Array(H._ensureNativeList(list));
    },
    NativeUint32List_NativeUint32List: function($length) {
      return new Uint32Array($length);
    },
    NativeUint8List_NativeUint8List: function($length) {
      if (!H._isInt($length))
        H.throwExpression(P.ArgumentError$("Invalid length " + H.S($length)));
      return new Uint8Array($length);
    },
    NativeUint8List_NativeUint8List$fromList: function(elements) {
      return new Uint8Array(H._ensureNativeList(elements));
    },
    NativeUint8List_NativeUint8List$view: function(buffer, offsetInBytes, $length) {
      H._checkViewArguments(buffer, offsetInBytes, $length);
      return $length == null ? new Uint8Array(buffer, offsetInBytes) : new Uint8Array(buffer, offsetInBytes, $length);
    },
    NativeFloat32x4$_doubles: function(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 H.NativeFloat32x4(t2, t3, t4, t1[0]);
    },
    _checkValidIndex: function(index, list, $length) {
      if (index >>> 0 !== index || index >= $length)
        throw H.wrapException(H.diagnoseIndexError(list, index));
    },
    _checkValidRange: function(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 H.wrapException(H.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: function(universe, rti) {
      var question = rti._precomputed1;
      return question == null ? rti._precomputed1 = H._Universe__lookupQuestionRti(universe, rti._primary, true) : question;
    },
    Rti__getFutureFromFutureOr: function(universe, rti) {
      var future = rti._precomputed1;
      return future == null ? rti._precomputed1 = H._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future;
    },
    Rti__isUnionOfFunctionType: function(rti) {
      var kind = rti._kind;
      if (kind === 6 || kind === 7 || kind === 8)
        return H.Rti__isUnionOfFunctionType(rti._primary);
      return kind === 11 || kind === 12;
    },
    Rti__getCanonicalRecipe: function(rti) {
      return rti._canonicalRecipe;
    },
    findType: function(recipe) {
      return H._Universe_eval(init.typeUniverse, recipe, false);
    },
    instantiatedGenericFunctionType: function(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 = H._substitute(init.typeUniverse, genericFunctionRti._primary, t1, 0);
      cache.set(key, rti);
      return rti;
    },
    _substitute: function(universe, rti, typeArguments, depth) {
      var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
        kind = rti._kind;
      switch (kind) {
        case 5:
        case 1:
        case 2:
        case 3:
        case 4:
          return rti;
        case 6:
          baseType = rti._primary;
          substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth);
          if (substitutedBaseType === baseType)
            return rti;
          return H._Universe__lookupStarRti(universe, substitutedBaseType, true);
        case 7:
          baseType = rti._primary;
          substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth);
          if (substitutedBaseType === baseType)
            return rti;
          return H._Universe__lookupQuestionRti(universe, substitutedBaseType, true);
        case 8:
          baseType = rti._primary;
          substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth);
          if (substitutedBaseType === baseType)
            return rti;
          return H._Universe__lookupFutureOrRti(universe, substitutedBaseType, true);
        case 9:
          interfaceTypeArguments = rti._rest;
          substitutedInterfaceTypeArguments = H._substituteArray(universe, interfaceTypeArguments, typeArguments, depth);
          if (substitutedInterfaceTypeArguments === interfaceTypeArguments)
            return rti;
          return H._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments);
        case 10:
          base = rti._primary;
          substitutedBase = H._substitute(universe, base, typeArguments, depth);
          $arguments = rti._rest;
          substitutedArguments = H._substituteArray(universe, $arguments, typeArguments, depth);
          if (substitutedBase === base && substitutedArguments === $arguments)
            return rti;
          return H._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments);
        case 11:
          returnType = rti._primary;
          substitutedReturnType = H._substitute(universe, returnType, typeArguments, depth);
          functionParameters = rti._rest;
          substitutedFunctionParameters = H._substituteFunctionParameters(universe, functionParameters, typeArguments, depth);
          if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters)
            return rti;
          return H._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters);
        case 12:
          bounds = rti._rest;
          depth += bounds.length;
          substitutedBounds = H._substituteArray(universe, bounds, typeArguments, depth);
          base = rti._primary;
          substitutedBase = H._substitute(universe, base, typeArguments, depth);
          if (substitutedBounds === bounds && substitutedBase === base)
            return rti;
          return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true);
        case 13:
          index = rti._primary;
          if (index < depth)
            return rti;
          argument = typeArguments[index - depth];
          if (argument == null)
            return rti;
          return argument;
        default:
          throw H.wrapException(P.AssertionError$("Attempted to substitute unexpected RTI kind " + kind));
      }
    },
    _substituteArray: function(universe, rtiArray, typeArguments, depth) {
      var changed, i, rti, substitutedRti,
        $length = rtiArray.length,
        result = [];
      for (changed = false, i = 0; i < $length; ++i) {
        rti = rtiArray[i];
        substitutedRti = H._substitute(universe, rti, typeArguments, depth);
        if (substitutedRti !== rti)
          changed = true;
        result.push(substitutedRti);
      }
      return changed ? result : rtiArray;
    },
    _substituteNamed: function(universe, namedArray, typeArguments, depth) {
      var changed, i, t1, t2, rti, substitutedRti,
        $length = namedArray.length,
        result = [];
      for (changed = false, i = 0; i < $length; i += 3) {
        t1 = namedArray[i];
        t2 = namedArray[i + 1];
        rti = namedArray[i + 2];
        substitutedRti = H._substitute(universe, rti, typeArguments, depth);
        if (substitutedRti !== rti)
          changed = true;
        result.push(t1);
        result.push(t2);
        result.push(substitutedRti);
      }
      return changed ? result : namedArray;
    },
    _substituteFunctionParameters: function(universe, functionParameters, typeArguments, depth) {
      var result,
        requiredPositional = functionParameters._requiredPositional,
        substitutedRequiredPositional = H._substituteArray(universe, requiredPositional, typeArguments, depth),
        optionalPositional = functionParameters._optionalPositional,
        substitutedOptionalPositional = H._substituteArray(universe, optionalPositional, typeArguments, depth),
        named = functionParameters._named,
        substitutedNamed = H._substituteNamed(universe, named, typeArguments, depth);
      if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named)
        return functionParameters;
      result = new H._FunctionParameters();
      result._requiredPositional = substitutedRequiredPositional;
      result._optionalPositional = substitutedOptionalPositional;
      result._named = substitutedNamed;
      return result;
    },
    _setArrayType: function(target, rti) {
      target[init.arrayRti] = rti;
      return target;
    },
    closureFunctionType: function(closure) {
      var signature = closure.$signature;
      if (signature != null) {
        if (typeof signature == "number")
          return H.getTypeFromTypesTable(signature);
        return closure.$signature();
      }
      return null;
    },
    instanceOrFunctionType: function(object, testRti) {
      var rti;
      if (H.Rti__isUnionOfFunctionType(testRti))
        if (object instanceof H.Closure) {
          rti = H.closureFunctionType(object);
          if (rti != null)
            return rti;
        }
      return H.instanceType(object);
    },
    instanceType: function(object) {
      var rti;
      if (object instanceof P.Object) {
        rti = object.$ti;
        return rti != null ? rti : H._instanceTypeFromConstructor(object);
      }
      if (Array.isArray(object))
        return H._arrayInstanceType(object);
      return H._instanceTypeFromConstructor(J.getInterceptor$(object));
    },
    _arrayInstanceType: function(object) {
      var rti = object[init.arrayRti],
        defaultRti = type$.JSArray_dynamic;
      if (rti == null)
        return defaultRti;
      if (rti.constructor !== defaultRti.constructor)
        return defaultRti;
      return rti;
    },
    _instanceType: function(object) {
      var rti = object.$ti;
      return rti != null ? rti : H._instanceTypeFromConstructor(object);
    },
    _instanceTypeFromConstructor: function(instance) {
      var $constructor = instance.constructor,
        probe = $constructor.$ccache;
      if (probe != null)
        return probe;
      return H._instanceTypeFromConstructorMiss(instance, $constructor);
    },
    _instanceTypeFromConstructorMiss: function(instance, $constructor) {
      var effectiveConstructor = instance instanceof H.Closure ? instance.__proto__.__proto__.constructor : $constructor,
        rti = H._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name);
      $constructor.$ccache = rti;
      return rti;
    },
    getTypeFromTypesTable: function(index) {
      var rti,
        table = init.types,
        type = table[index];
      if (typeof type == "string") {
        rti = H._Universe_eval(init.typeUniverse, type, false);
        table[index] = rti;
        return rti;
      }
      return type;
    },
    getRuntimeType: function(object) {
      var rti = object instanceof H.Closure ? H.closureFunctionType(object) : null;
      return H.createRuntimeType(rti == null ? H.instanceType(object) : rti);
    },
    createRuntimeType: function(rti) {
      var recipe, starErasedRecipe, starErasedRti,
        type = rti._cachedRuntimeType;
      if (type != null)
        return type;
      recipe = rti._canonicalRecipe;
      starErasedRecipe = recipe.replace(/\*/g, "");
      if (starErasedRecipe === recipe)
        return rti._cachedRuntimeType = new H._Type(rti);
      starErasedRti = H._Universe_eval(init.typeUniverse, starErasedRecipe, true);
      type = starErasedRti._cachedRuntimeType;
      return rti._cachedRuntimeType = type == null ? starErasedRti._cachedRuntimeType = new H._Type(starErasedRti) : type;
    },
    typeLiteral: function(recipe) {
      return H.createRuntimeType(H._Universe_eval(init.typeUniverse, recipe, false));
    },
    _installSpecializedIsTest: function(object) {
      var unstarred, isFn, $name, testRti = this,
        t1 = type$.Object;
      if (testRti === t1)
        return H._finishIsFn(testRti, object, H._isObject);
      if (!H.isStrongTopType(testRti))
        if (!(testRti === type$.legacy_Object))
          t1 = testRti === t1;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        return H._finishIsFn(testRti, object, H._isTop);
      t1 = testRti._kind;
      unstarred = t1 === 6 ? testRti._primary : testRti;
      if (unstarred === type$.int)
        isFn = H._isInt;
      else if (unstarred === type$.double || unstarred === type$.num)
        isFn = H._isNum;
      else if (unstarred === type$.String)
        isFn = H._isString;
      else
        isFn = unstarred === type$.bool ? H._isBool : null;
      if (isFn != null)
        return H._finishIsFn(testRti, object, isFn);
      if (unstarred._kind === 9) {
        $name = unstarred._primary;
        if (unstarred._rest.every(H.isTopType)) {
          testRti._specializedTestResource = "$is" + $name;
          if ($name === "List")
            return H._finishIsFn(testRti, object, H._isListTestViaProperty);
          return H._finishIsFn(testRti, object, H._isTestViaProperty);
        }
      } else if (t1 === 7)
        return H._finishIsFn(testRti, object, H._generalNullableIsTestImplementation);
      return H._finishIsFn(testRti, object, H._generalIsTestImplementation);
    },
    _finishIsFn: function(testRti, object, isFn) {
      testRti._is = isFn;
      return testRti._is(object);
    },
    _installSpecializedAsCheck: function(object) {
      var t1, asFn, testRti = this;
      if (!H.isStrongTopType(testRti))
        if (!(testRti === type$.legacy_Object))
          t1 = testRti === type$.Object;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        asFn = H._asTop;
      else if (testRti === type$.Object)
        asFn = H._asObject;
      else
        asFn = H._generalNullableAsCheckImplementation;
      testRti._as = asFn;
      return testRti._as(object);
    },
    _nullIs: function(testRti) {
      var t1,
        kind = testRti._kind;
      if (!H.isStrongTopType(testRti))
        if (!(testRti === type$.legacy_Object))
          if (!(testRti === type$.legacy_Never))
            if (kind !== 7)
              t1 = kind === 8 && H._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    _generalIsTestImplementation: function(object) {
      var testRti = this;
      if (object == null)
        return H._nullIs(testRti);
      return H._isSubtype(init.typeUniverse, H.instanceOrFunctionType(object, testRti), null, testRti, null);
    },
    _generalNullableIsTestImplementation: function(object) {
      if (object == null)
        return true;
      return this._primary._is(object);
    },
    _isTestViaProperty: function(object) {
      var tag, testRti = this;
      if (object == null)
        return H._nullIs(testRti);
      tag = testRti._specializedTestResource;
      if (object instanceof P.Object)
        return !!object[tag];
      return !!J.getInterceptor$(object)[tag];
    },
    _isListTestViaProperty: function(object) {
      var tag, testRti = this;
      if (object == null)
        return H._nullIs(testRti);
      if (typeof object != "object")
        return false;
      if (Array.isArray(object))
        return true;
      tag = testRti._specializedTestResource;
      if (object instanceof P.Object)
        return !!object[tag];
      return !!J.getInterceptor$(object)[tag];
    },
    _generalAsCheckImplementation: function(object) {
      var testRti = this;
      if (object == null)
        return object;
      else if (testRti._is(object))
        return object;
      H._failedAsCheck(object, testRti);
    },
    _generalNullableAsCheckImplementation: function(object) {
      var testRti = this;
      if (object == null)
        return object;
      else if (testRti._is(object))
        return object;
      H._failedAsCheck(object, testRti);
    },
    _failedAsCheck: function(object, testRti) {
      throw H.wrapException(H._TypeError$fromMessage(H._Error_compose(object, H.instanceOrFunctionType(object, testRti), H._rtiToString(testRti, null))));
    },
    _Error_compose: function(object, objectRti, checkedTypeDescription) {
      var objectDescription = P.Error_safeToString(object),
        objectTypeDescription = H._rtiToString(objectRti == null ? H.instanceType(object) : objectRti, null);
      return objectDescription + ": type '" + H.S(objectTypeDescription) + "' is not a subtype of type '" + H.S(checkedTypeDescription) + "'";
    },
    _TypeError$fromMessage: function(message) {
      return new H._TypeError("TypeError: " + message);
    },
    _TypeError__TypeError$forType: function(object, type) {
      return new H._TypeError("TypeError: " + H._Error_compose(object, null, type));
    },
    _isObject: function(object) {
      return object != null;
    },
    _asObject: function(object) {
      return object;
    },
    _isTop: function(object) {
      return true;
    },
    _asTop: function(object) {
      return object;
    },
    _isBool: function(object) {
      return true === object || false === object;
    },
    _asBool: function(object) {
      if (true === object)
        return true;
      if (false === object)
        return false;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "bool"));
    },
    _asBoolS: function(object) {
      if (true === object)
        return true;
      if (false === object)
        return false;
      if (object == null)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "bool"));
    },
    _asBoolQ: function(object) {
      if (true === object)
        return true;
      if (false === object)
        return false;
      if (object == null)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "bool?"));
    },
    _asDouble: function(object) {
      if (typeof object == "number")
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "double"));
    },
    _asDoubleS: function(object) {
      if (typeof object == "number")
        return object;
      if (object == null)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "double"));
    },
    _asDoubleQ: function(object) {
      if (typeof object == "number")
        return object;
      if (object == null)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "double?"));
    },
    _isInt: function(object) {
      return typeof object == "number" && Math.floor(object) === object;
    },
    _asInt: function(object) {
      if (typeof object == "number" && Math.floor(object) === object)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "int"));
    },
    _asIntS: function(object) {
      if (typeof object == "number" && Math.floor(object) === object)
        return object;
      if (object == null)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "int"));
    },
    _asIntQ: function(object) {
      if (typeof object == "number" && Math.floor(object) === object)
        return object;
      if (object == null)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "int?"));
    },
    _isNum: function(object) {
      return typeof object == "number";
    },
    _asNum: function(object) {
      if (typeof object == "number")
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "num"));
    },
    _asNumS: function(object) {
      if (typeof object == "number")
        return object;
      if (object == null)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "num"));
    },
    _asNumQ: function(object) {
      if (typeof object == "number")
        return object;
      if (object == null)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "num?"));
    },
    _isString: function(object) {
      return typeof object == "string";
    },
    _asString: function(object) {
      if (typeof object == "string")
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "String"));
    },
    _asStringS: function(object) {
      if (typeof object == "string")
        return object;
      if (object == null)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "String"));
    },
    _asStringQ: function(object) {
      if (typeof object == "string")
        return object;
      if (object == null)
        return object;
      throw H.wrapException(H._TypeError__TypeError$forType(object, "String?"));
    },
    _rtiArrayToString: function(array, genericContext) {
      var s, sep, i;
      for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ")
        s += C.JSString_methods.$add(sep, H._rtiToString(array[i], genericContext));
      return s;
    },
    _functionRtiToString: function(functionType, genericContext, bounds) {
      var boundsLength, outerContextLength, offset, i, t1, t2, t3, typeParametersText, typeSep, boundRti, kind, t4, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ";
      if (bounds != null) {
        boundsLength = bounds.length;
        if (genericContext == null) {
          genericContext = H._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, t3 = type$.Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) {
          typeParametersText = C.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))
              t4 = boundRti === t3;
            else
              t4 = true;
          else
            t4 = true;
          if (!t4)
            typeParametersText += C.JSString_methods.$add(" extends ", H._rtiToString(boundRti, genericContext));
        }
        typeParametersText += ">";
      } else {
        typeParametersText = "";
        outerContextLength = null;
      }
      t1 = functionType._primary;
      parameters = functionType._rest;
      requiredPositional = parameters._requiredPositional;
      requiredPositionalLength = requiredPositional.length;
      optionalPositional = parameters._optionalPositional;
      optionalPositionalLength = optionalPositional.length;
      named = parameters._named;
      namedLength = named.length;
      returnTypeText = H._rtiToString(t1, genericContext);
      for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_)
        argumentsText += C.JSString_methods.$add(sep, H._rtiToString(requiredPositional[i], genericContext));
      if (optionalPositionalLength > 0) {
        argumentsText += sep + "[";
        for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_)
          argumentsText += C.JSString_methods.$add(sep, H._rtiToString(optionalPositional[i], genericContext));
        argumentsText += "]";
      }
      if (namedLength > 0) {
        argumentsText += sep + "{";
        for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) {
          argumentsText += sep;
          if (named[i + 1])
            argumentsText += "required ";
          argumentsText += J.$add$ansx(H._rtiToString(named[i + 2], genericContext), " ") + named[i];
        }
        argumentsText += "}";
      }
      if (outerContextLength != null) {
        genericContext.toString;
        genericContext.length = outerContextLength;
      }
      return typeParametersText + "(" + argumentsText + ") => " + H.S(returnTypeText);
    },
    _rtiToString: function(rti, genericContext) {
      var s, questionArgument, argumentKind, $name, $arguments, t1,
        kind = rti._kind;
      if (kind === 5)
        return "erased";
      if (kind === 2)
        return "dynamic";
      if (kind === 3)
        return "void";
      if (kind === 1)
        return "Never";
      if (kind === 4)
        return "any";
      if (kind === 6) {
        s = H._rtiToString(rti._primary, genericContext);
        return s;
      }
      if (kind === 7) {
        questionArgument = rti._primary;
        s = H._rtiToString(questionArgument, genericContext);
        argumentKind = questionArgument._kind;
        return J.$add$ansx(argumentKind === 11 || argumentKind === 12 ? C.JSString_methods.$add("(", s) + ")" : s, "?");
      }
      if (kind === 8)
        return "FutureOr<" + H.S(H._rtiToString(rti._primary, genericContext)) + ">";
      if (kind === 9) {
        $name = H._unminifyOrTag(rti._primary);
        $arguments = rti._rest;
        return $arguments.length !== 0 ? $name + ("<" + H._rtiArrayToString($arguments, genericContext) + ">") : $name;
      }
      if (kind === 11)
        return H._functionRtiToString(rti, genericContext, null);
      if (kind === 12)
        return H._functionRtiToString(rti._primary, genericContext, rti._rest);
      if (kind === 13) {
        genericContext.toString;
        t1 = rti._primary;
        return genericContext[genericContext.length - 1 - t1];
      }
      return "?";
    },
    _unminifyOrTag: function(rawClassName) {
      var preserved = init.mangledGlobalNames[rawClassName];
      if (preserved != null)
        return preserved;
      return rawClassName;
    },
    _Universe_findRule: function(universe, targetType) {
      var rule = universe.tR[targetType];
      for (; typeof rule == "string";)
        rule = universe.tR[rule];
      return rule;
    },
    _Universe_findErasedType: function(universe, cls) {
      var $length, erased, $arguments, i, $interface,
        metadata = universe.eT,
        probe = metadata[cls];
      if (probe == null)
        return H._Universe_eval(universe, cls, false);
      else if (typeof probe == "number") {
        $length = probe;
        erased = H._Universe__lookupTerminalRti(universe, 5, "#");
        $arguments = [];
        for (i = 0; i < $length; ++i)
          $arguments.push(erased);
        $interface = H._Universe__lookupInterfaceRti(universe, cls, $arguments);
        metadata[cls] = $interface;
        return $interface;
      } else
        return probe;
    },
    _Universe_addRules: function(universe, rules) {
      return H._Utils_objectAssign(universe.tR, rules);
    },
    _Universe_addErasedTypes: function(universe, types) {
      return H._Utils_objectAssign(universe.eT, types);
    },
    _Universe_eval: function(universe, recipe, normalize) {
      var rti,
        cache = universe.eC,
        probe = cache.get(recipe);
      if (probe != null)
        return probe;
      rti = H._Parser_parse(H._Parser_create(universe, null, recipe, normalize));
      cache.set(recipe, rti);
      return rti;
    },
    _Universe_evalInEnvironment: function(universe, environment, recipe) {
      var probe, rti,
        cache = environment._evalCache;
      if (cache == null)
        cache = environment._evalCache = new Map();
      probe = cache.get(recipe);
      if (probe != null)
        return probe;
      rti = H._Parser_parse(H._Parser_create(universe, environment, recipe, true));
      cache.set(recipe, rti);
      return rti;
    },
    _Universe_bind: function(universe, environment, argumentsRti) {
      var argumentsRecipe, probe, rti,
        cache = environment._bindCache;
      if (cache == null)
        cache = environment._bindCache = new Map();
      argumentsRecipe = argumentsRti._canonicalRecipe;
      probe = cache.get(argumentsRecipe);
      if (probe != null)
        return probe;
      rti = H._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]);
      cache.set(argumentsRecipe, rti);
      return rti;
    },
    _Universe__installTypeTests: function(universe, rti) {
      rti._as = H._installSpecializedAsCheck;
      rti._is = H._installSpecializedIsTest;
      return rti;
    },
    _Universe__lookupTerminalRti: function(universe, kind, key) {
      var rti, t1,
        probe = universe.eC.get(key);
      if (probe != null)
        return probe;
      rti = new H.Rti(null, null);
      rti._kind = kind;
      rti._canonicalRecipe = key;
      t1 = H._Universe__installTypeTests(universe, rti);
      universe.eC.set(key, t1);
      return t1;
    },
    _Universe__lookupStarRti: function(universe, baseType, normalize) {
      var t1,
        key = baseType._canonicalRecipe + "*",
        probe = universe.eC.get(key);
      if (probe != null)
        return probe;
      t1 = H._Universe__createStarRti(universe, baseType, key, normalize);
      universe.eC.set(key, t1);
      return t1;
    },
    _Universe__createStarRti: function(universe, baseType, key, normalize) {
      var baseKind, t1, rti;
      if (normalize) {
        baseKind = baseType._kind;
        if (!H.isStrongTopType(baseType))
          t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6;
        else
          t1 = true;
        if (t1)
          return baseType;
      }
      rti = new H.Rti(null, null);
      rti._kind = 6;
      rti._primary = baseType;
      rti._canonicalRecipe = key;
      return H._Universe__installTypeTests(universe, rti);
    },
    _Universe__lookupQuestionRti: function(universe, baseType, normalize) {
      var t1,
        key = baseType._canonicalRecipe + "?",
        probe = universe.eC.get(key);
      if (probe != null)
        return probe;
      t1 = H._Universe__createQuestionRti(universe, baseType, key, normalize);
      universe.eC.set(key, t1);
      return t1;
    },
    _Universe__createQuestionRti: function(universe, baseType, key, normalize) {
      var baseKind, t1, starArgument, rti;
      if (normalize) {
        baseKind = baseType._kind;
        if (!H.isStrongTopType(baseType))
          if (!(baseType === type$.Null || baseType === type$.JSNull))
            if (baseKind !== 7)
              t1 = baseKind === 8 && H.isNullable(baseType._primary);
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
        if (t1)
          return baseType;
        else if (baseKind === 1 || baseType === type$.legacy_Never)
          return type$.Null;
        else if (baseKind === 6) {
          starArgument = baseType._primary;
          if (starArgument._kind === 8 && H.isNullable(starArgument._primary))
            return starArgument;
          else
            return H.Rti__getQuestionFromStar(universe, baseType);
        }
      }
      rti = new H.Rti(null, null);
      rti._kind = 7;
      rti._primary = baseType;
      rti._canonicalRecipe = key;
      return H._Universe__installTypeTests(universe, rti);
    },
    _Universe__lookupFutureOrRti: function(universe, baseType, normalize) {
      var t1,
        key = baseType._canonicalRecipe + "/",
        probe = universe.eC.get(key);
      if (probe != null)
        return probe;
      t1 = H._Universe__createFutureOrRti(universe, baseType, key, normalize);
      universe.eC.set(key, t1);
      return t1;
    },
    _Universe__createFutureOrRti: function(universe, baseType, key, normalize) {
      var t1, t2, rti;
      if (normalize) {
        t1 = baseType._kind;
        if (!H.isStrongTopType(baseType))
          if (!(baseType === type$.legacy_Object))
            t2 = baseType === type$.Object;
          else
            t2 = true;
        else
          t2 = true;
        if (t2 || baseType === type$.Object)
          return baseType;
        else if (t1 === 1)
          return H._Universe__lookupInterfaceRti(universe, "Future", [baseType]);
        else if (baseType === type$.Null || baseType === type$.JSNull)
          return type$.nullable_Future_Null;
      }
      rti = new H.Rti(null, null);
      rti._kind = 8;
      rti._primary = baseType;
      rti._canonicalRecipe = key;
      return H._Universe__installTypeTests(universe, rti);
    },
    _Universe__lookupGenericFunctionParameterRti: function(universe, index) {
      var rti, t1,
        key = "" + index + "^",
        probe = universe.eC.get(key);
      if (probe != null)
        return probe;
      rti = new H.Rti(null, null);
      rti._kind = 13;
      rti._primary = index;
      rti._canonicalRecipe = key;
      t1 = H._Universe__installTypeTests(universe, rti);
      universe.eC.set(key, t1);
      return t1;
    },
    _Universe__canonicalRecipeJoin: function($arguments) {
      var s, sep, i,
        $length = $arguments.length;
      for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",")
        s += sep + $arguments[i]._canonicalRecipe;
      return s;
    },
    _Universe__canonicalRecipeJoinNamed: function($arguments) {
      var s, sep, i, t1, nameSep, s0,
        $length = $arguments.length;
      for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") {
        t1 = $arguments[i];
        nameSep = $arguments[i + 1] ? "!" : ":";
        s0 = $arguments[i + 2]._canonicalRecipe;
        s += sep + t1 + nameSep + s0;
      }
      return s;
    },
    _Universe__lookupInterfaceRti: function(universe, $name, $arguments) {
      var probe, rti, t1,
        s = $name;
      if ($arguments.length !== 0)
        s += "<" + H._Universe__canonicalRecipeJoin($arguments) + ">";
      probe = universe.eC.get(s);
      if (probe != null)
        return probe;
      rti = new H.Rti(null, null);
      rti._kind = 9;
      rti._primary = $name;
      rti._rest = $arguments;
      if ($arguments.length > 0)
        rti._precomputed1 = $arguments[0];
      rti._canonicalRecipe = s;
      t1 = H._Universe__installTypeTests(universe, rti);
      universe.eC.set(s, t1);
      return t1;
    },
    _Universe__lookupBindingRti: function(universe, base, $arguments) {
      var newBase, newArguments, key, probe, rti, t1;
      if (base._kind === 10) {
        newBase = base._primary;
        newArguments = base._rest.concat($arguments);
      } else {
        newArguments = $arguments;
        newBase = base;
      }
      key = newBase._canonicalRecipe + (";<" + H._Universe__canonicalRecipeJoin(newArguments) + ">");
      probe = universe.eC.get(key);
      if (probe != null)
        return probe;
      rti = new H.Rti(null, null);
      rti._kind = 10;
      rti._primary = newBase;
      rti._rest = newArguments;
      rti._canonicalRecipe = key;
      t1 = H._Universe__installTypeTests(universe, rti);
      universe.eC.set(key, t1);
      return t1;
    },
    _Universe__lookupFunctionRti: function(universe, returnType, parameters) {
      var sep, t1, key, probe, rti,
        s = returnType._canonicalRecipe,
        requiredPositional = parameters._requiredPositional,
        requiredPositionalLength = requiredPositional.length,
        optionalPositional = parameters._optionalPositional,
        optionalPositionalLength = optionalPositional.length,
        named = parameters._named,
        namedLength = named.length,
        recipe = "(" + H._Universe__canonicalRecipeJoin(requiredPositional);
      if (optionalPositionalLength > 0) {
        sep = requiredPositionalLength > 0 ? "," : "";
        t1 = H._Universe__canonicalRecipeJoin(optionalPositional);
        recipe += sep + "[" + t1 + "]";
      }
      if (namedLength > 0) {
        sep = requiredPositionalLength > 0 ? "," : "";
        t1 = H._Universe__canonicalRecipeJoinNamed(named);
        recipe += sep + "{" + t1 + "}";
      }
      key = s + (recipe + ")");
      probe = universe.eC.get(key);
      if (probe != null)
        return probe;
      rti = new H.Rti(null, null);
      rti._kind = 11;
      rti._primary = returnType;
      rti._rest = parameters;
      rti._canonicalRecipe = key;
      t1 = H._Universe__installTypeTests(universe, rti);
      universe.eC.set(key, t1);
      return t1;
    },
    _Universe__lookupGenericFunctionRti: function(universe, baseFunctionType, bounds, normalize) {
      var t1,
        key = baseFunctionType._canonicalRecipe + ("<" + H._Universe__canonicalRecipeJoin(bounds) + ">"),
        probe = universe.eC.get(key);
      if (probe != null)
        return probe;
      t1 = H._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize);
      universe.eC.set(key, t1);
      return t1;
    },
    _Universe__createGenericFunctionRti: function(universe, baseFunctionType, bounds, key, normalize) {
      var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti;
      if (normalize) {
        $length = bounds.length;
        typeArguments = new Array($length);
        for (count = 0, i = 0; i < $length; ++i) {
          bound = bounds[i];
          if (bound._kind === 1) {
            typeArguments[i] = bound;
            ++count;
          }
        }
        if (count > 0) {
          substitutedBase = H._substitute(universe, baseFunctionType, typeArguments, 0);
          substitutedBounds = H._substituteArray(universe, bounds, typeArguments, 0);
          return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds);
        }
      }
      rti = new H.Rti(null, null);
      rti._kind = 12;
      rti._primary = baseFunctionType;
      rti._rest = bounds;
      rti._canonicalRecipe = key;
      return H._Universe__installTypeTests(universe, rti);
    },
    _Parser_create: function(universe, environment, recipe, normalize) {
      return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize};
    },
    _Parser_parse: function(parser) {
      var t1, i, ch, universe, array, head, base, u, parameters, optionalPositional, named, item,
        source = parser.r,
        stack = parser.s;
      for (t1 = source.length, i = 0; i < t1;) {
        ch = source.charCodeAt(i);
        if (ch >= 48 && ch <= 57)
          i = H._Parser_handleDigit(i + 1, ch, source, stack);
        else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36)
          i = H._Parser_handleIdentifier(parser, i, source, stack, false);
        else if (ch === 46)
          i = H._Parser_handleIdentifier(parser, i, source, stack, true);
        else {
          ++i;
          switch (ch) {
            case 44:
              break;
            case 58:
              stack.push(false);
              break;
            case 33:
              stack.push(true);
              break;
            case 59:
              stack.push(H._Parser_toType(parser.u, parser.e, stack.pop()));
              break;
            case 94:
              stack.push(H._Universe__lookupGenericFunctionParameterRti(parser.u, stack.pop()));
              break;
            case 35:
              stack.push(H._Universe__lookupTerminalRti(parser.u, 5, "#"));
              break;
            case 64:
              stack.push(H._Universe__lookupTerminalRti(parser.u, 2, "@"));
              break;
            case 126:
              stack.push(H._Universe__lookupTerminalRti(parser.u, 3, "~"));
              break;
            case 60:
              stack.push(parser.p);
              parser.p = stack.length;
              break;
            case 62:
              universe = parser.u;
              array = stack.splice(parser.p);
              H._Parser_toTypes(parser.u, parser.e, array);
              parser.p = stack.pop();
              head = stack.pop();
              if (typeof head == "string")
                stack.push(H._Universe__lookupInterfaceRti(universe, head, array));
              else {
                base = H._Parser_toType(universe, parser.e, head);
                switch (base._kind) {
                  case 11:
                    stack.push(H._Universe__lookupGenericFunctionRti(universe, base, array, parser.n));
                    break;
                  default:
                    stack.push(H._Universe__lookupBindingRti(universe, base, array));
                    break;
                }
              }
              break;
            case 38:
              H._Parser_handleExtendedOperations(parser, stack);
              break;
            case 42:
              u = parser.u;
              stack.push(H._Universe__lookupStarRti(u, H._Parser_toType(u, parser.e, stack.pop()), parser.n));
              break;
            case 63:
              u = parser.u;
              stack.push(H._Universe__lookupQuestionRti(u, H._Parser_toType(u, parser.e, stack.pop()), parser.n));
              break;
            case 47:
              u = parser.u;
              stack.push(H._Universe__lookupFutureOrRti(u, H._Parser_toType(u, parser.e, stack.pop()), parser.n));
              break;
            case 40:
              stack.push(parser.p);
              parser.p = stack.length;
              break;
            case 41:
              universe = parser.u;
              parameters = new H._FunctionParameters();
              optionalPositional = universe.sEA;
              named = universe.sEA;
              head = stack.pop();
              if (typeof head == "number")
                switch (head) {
                  case -1:
                    optionalPositional = stack.pop();
                    break;
                  case -2:
                    named = stack.pop();
                    break;
                  default:
                    stack.push(head);
                    break;
                }
              else
                stack.push(head);
              array = stack.splice(parser.p);
              H._Parser_toTypes(parser.u, parser.e, array);
              parser.p = stack.pop();
              parameters._requiredPositional = array;
              parameters._optionalPositional = optionalPositional;
              parameters._named = named;
              stack.push(H._Universe__lookupFunctionRti(universe, H._Parser_toType(universe, parser.e, stack.pop()), parameters));
              break;
            case 91:
              stack.push(parser.p);
              parser.p = stack.length;
              break;
            case 93:
              array = stack.splice(parser.p);
              H._Parser_toTypes(parser.u, parser.e, array);
              parser.p = stack.pop();
              stack.push(array);
              stack.push(-1);
              break;
            case 123:
              stack.push(parser.p);
              parser.p = stack.length;
              break;
            case 125:
              array = stack.splice(parser.p);
              H._Parser_toTypesNamed(parser.u, parser.e, array);
              parser.p = stack.pop();
              stack.push(array);
              stack.push(-2);
              break;
            default:
              throw "Bad character " + ch;
          }
        }
      }
      item = stack.pop();
      return H._Parser_toType(parser.u, parser.e, item);
    },
    _Parser_handleDigit: function(i, digit, source, stack) {
      var t1, ch,
        value = digit - 48;
      for (t1 = source.length; i < t1; ++i) {
        ch = source.charCodeAt(i);
        if (!(ch >= 48 && ch <= 57))
          break;
        value = value * 10 + (ch - 48);
      }
      stack.push(value);
      return i;
    },
    _Parser_handleIdentifier: function(parser, start, source, stack, hasPeriod) {
      var t1, ch, t2, string, environment, recipe,
        i = start + 1;
      for (t1 = source.length; i < t1; ++i) {
        ch = source.charCodeAt(i);
        if (ch === 46) {
          if (hasPeriod)
            break;
          hasPeriod = true;
        } else {
          if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36))
            t2 = ch >= 48 && ch <= 57;
          else
            t2 = true;
          if (!t2)
            break;
        }
      }
      string = source.substring(start, i);
      if (hasPeriod) {
        t1 = parser.u;
        environment = parser.e;
        if (environment._kind === 10)
          environment = environment._primary;
        recipe = H._Universe_findRule(t1, environment._primary)[string];
        if (recipe == null)
          H.throwExpression('No "' + string + '" in "' + H.Rti__getCanonicalRecipe(environment) + '"');
        stack.push(H._Universe_evalInEnvironment(t1, environment, recipe));
      } else
        stack.push(string);
      return i;
    },
    _Parser_handleExtendedOperations: function(parser, stack) {
      var $top = stack.pop();
      if (0 === $top) {
        stack.push(H._Universe__lookupTerminalRti(parser.u, 1, "0&"));
        return;
      }
      if (1 === $top) {
        stack.push(H._Universe__lookupTerminalRti(parser.u, 4, "1&"));
        return;
      }
      throw H.wrapException(P.AssertionError$("Unexpected extended operation " + H.S($top)));
    },
    _Parser_toType: function(universe, environment, item) {
      if (typeof item == "string")
        return H._Universe__lookupInterfaceRti(universe, item, universe.sEA);
      else if (typeof item == "number")
        return H._Parser_indexToType(universe, environment, item);
      else
        return item;
    },
    _Parser_toTypes: function(universe, environment, items) {
      var i,
        $length = items.length;
      for (i = 0; i < $length; ++i)
        items[i] = H._Parser_toType(universe, environment, items[i]);
    },
    _Parser_toTypesNamed: function(universe, environment, items) {
      var i,
        $length = items.length;
      for (i = 2; i < $length; i += 3)
        items[i] = H._Parser_toType(universe, environment, items[i]);
    },
    _Parser_indexToType: function(universe, environment, index) {
      var typeArguments, len,
        kind = environment._kind;
      if (kind === 10) {
        if (index === 0)
          return environment._primary;
        typeArguments = environment._rest;
        len = typeArguments.length;
        if (index <= len)
          return typeArguments[index - 1];
        index -= len;
        environment = environment._primary;
        kind = environment._kind;
      } else if (index === 0)
        return environment;
      if (kind !== 9)
        throw H.wrapException(P.AssertionError$("Indexed base must be an interface type"));
      typeArguments = environment._rest;
      if (index <= typeArguments.length)
        return typeArguments[index - 1];
      throw H.wrapException(P.AssertionError$("Bad index " + index + " for " + environment.toString$0(0)));
    },
    _isSubtype: function(universe, s, sEnv, t, tEnv) {
      var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound;
      if (s === t)
        return true;
      if (!H.isStrongTopType(t))
        if (!(t === type$.legacy_Object))
          t1 = t === type$.Object;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        return true;
      sKind = s._kind;
      if (sKind === 4)
        return true;
      if (H.isStrongTopType(s))
        return false;
      if (s._kind !== 1)
        t1 = s === type$.Null || s === type$.JSNull;
      else
        t1 = true;
      if (t1)
        return true;
      leftTypeVariable = sKind === 13;
      if (leftTypeVariable)
        if (H._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv))
          return true;
      tKind = t._kind;
      if (sKind === 6)
        return H._isSubtype(universe, s._primary, sEnv, t, tEnv);
      if (tKind === 6) {
        t1 = t._primary;
        return H._isSubtype(universe, s, sEnv, t1, tEnv);
      }
      if (sKind === 8) {
        if (!H._isSubtype(universe, s._primary, sEnv, t, tEnv))
          return false;
        return H._isSubtype(universe, H.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv);
      }
      if (sKind === 7) {
        t1 = H._isSubtype(universe, s._primary, sEnv, t, tEnv);
        return t1;
      }
      if (tKind === 8) {
        if (H._isSubtype(universe, s, sEnv, t._primary, tEnv))
          return true;
        return H._isSubtype(universe, s, sEnv, H.Rti__getFutureFromFutureOr(universe, t), tEnv);
      }
      if (tKind === 7) {
        t1 = H._isSubtype(universe, s, sEnv, t._primary, tEnv);
        return t1;
      }
      if (leftTypeVariable)
        return false;
      t1 = sKind !== 11;
      if ((!t1 || sKind === 12) && t === type$.Function)
        return true;
      if (tKind === 12) {
        if (s === type$.JavaScriptFunction)
          return true;
        if (sKind !== 12)
          return false;
        sBounds = s._rest;
        tBounds = t._rest;
        sLength = sBounds.length;
        if (sLength !== tBounds.length)
          return false;
        sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);
        tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);
        for (i = 0; i < sLength; ++i) {
          sBound = sBounds[i];
          tBound = tBounds[i];
          if (!H._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !H._isSubtype(universe, tBound, tEnv, sBound, sEnv))
            return false;
        }
        return H._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv);
      }
      if (tKind === 11) {
        if (s === type$.JavaScriptFunction)
          return true;
        if (t1)
          return false;
        return H._isFunctionSubtype(universe, s, sEnv, t, tEnv);
      }
      if (sKind === 9) {
        if (tKind !== 9)
          return false;
        return H._isInterfaceSubtype(universe, s, sEnv, t, tEnv);
      }
      return false;
    },
    _isFunctionSubtype: function(universe, s, sEnv, t, tEnv) {
      var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName;
      if (!H._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))
        return false;
      sParameters = s._rest;
      tParameters = t._rest;
      sRequiredPositional = sParameters._requiredPositional;
      tRequiredPositional = tParameters._requiredPositional;
      sRequiredPositionalLength = sRequiredPositional.length;
      tRequiredPositionalLength = tRequiredPositional.length;
      if (sRequiredPositionalLength > tRequiredPositionalLength)
        return false;
      requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength;
      sOptionalPositional = sParameters._optionalPositional;
      tOptionalPositional = tParameters._optionalPositional;
      sOptionalPositionalLength = sOptionalPositional.length;
      tOptionalPositionalLength = tOptionalPositional.length;
      if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength)
        return false;
      for (i = 0; i < sRequiredPositionalLength; ++i) {
        t1 = sRequiredPositional[i];
        if (!H._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv))
          return false;
      }
      for (i = 0; i < requiredPositionalDelta; ++i) {
        t1 = sOptionalPositional[i];
        if (!H._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv))
          return false;
      }
      for (i = 0; i < tOptionalPositionalLength; ++i) {
        t1 = sOptionalPositional[requiredPositionalDelta + i];
        if (!H._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv))
          return false;
      }
      sNamed = sParameters._named;
      tNamed = tParameters._named;
      sNamedLength = sNamed.length;
      tNamedLength = tNamed.length;
      for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) {
        tName = tNamed[tIndex];
        for (; true;) {
          if (sIndex >= sNamedLength)
            return false;
          sName = sNamed[sIndex];
          sIndex += 3;
          if (tName < sName)
            return false;
          if (sName < tName)
            continue;
          t1 = sNamed[sIndex - 1];
          if (!H._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv))
            return false;
          break;
        }
      }
      return true;
    },
    _isInterfaceSubtype: function(universe, s, sEnv, t, tEnv) {
      var sArgs, tArgs, $length, i, t1, t2, rule, supertypeArgs,
        sName = s._primary,
        tName = t._primary;
      if (sName === tName) {
        sArgs = s._rest;
        tArgs = t._rest;
        $length = sArgs.length;
        for (i = 0; i < $length; ++i) {
          t1 = sArgs[i];
          t2 = tArgs[i];
          if (!H._isSubtype(universe, t1, sEnv, t2, tEnv))
            return false;
        }
        return true;
      }
      if (t === type$.Object)
        return true;
      rule = H._Universe_findRule(universe, sName);
      if (rule == null)
        return false;
      supertypeArgs = rule[tName];
      if (supertypeArgs == null)
        return false;
      $length = supertypeArgs.length;
      tArgs = t._rest;
      for (i = 0; i < $length; ++i)
        if (!H._isSubtype(universe, H._Universe_evalInEnvironment(universe, s, supertypeArgs[i]), sEnv, tArgs[i], tEnv))
          return false;
      return true;
    },
    isNullable: function(t) {
      var t1,
        kind = t._kind;
      if (!(t === type$.Null || t === type$.JSNull))
        if (!H.isStrongTopType(t))
          if (kind !== 7)
            if (!(kind === 6 && H.isNullable(t._primary)))
              t1 = kind === 8 && H.isNullable(t._primary);
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    isTopType: function(t) {
      var t1;
      if (!H.isStrongTopType(t))
        if (!(t === type$.legacy_Object))
          t1 = t === type$.Object;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    isStrongTopType: function(t) {
      var kind = t._kind;
      return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object;
    },
    _Utils_objectAssign: function(o, other) {
      var i, key,
        keys = Object.keys(other),
        $length = keys.length;
      for (i = 0; i < $length; ++i) {
        key = keys[i];
        o[key] = other[key];
      }
    },
    Rti: function Rti(t0, t1) {
      var _ = this;
      _._as = t0;
      _._is = t1;
      _._cachedRuntimeType = _._specializedTestResource = _._precomputed1 = null;
      _._kind = 0;
      _._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null;
    },
    _FunctionParameters: function _FunctionParameters() {
      this._named = this._optionalPositional = this._requiredPositional = null;
    },
    _Type: function _Type(t0) {
      this._rti = t0;
    },
    _Error: function _Error() {
    },
    _TypeError: function _TypeError(t0) {
      this.__rti$_message = t0;
    },
    isBrowserObject: function(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: function(string) {
      if (typeof dartPrint == "function") {
        dartPrint(string);
        return;
      }
      if (typeof console == "object" && typeof console.log != "undefined") {
        console.log(string);
        return;
      }
      if (typeof window == "object")
        return;
      if (typeof print == "function") {
        print(string);
        return;
      }
      throw "Unable to print message: " + String(string);
    }
  },
  J = {
    makeDispatchRecord: function(interceptor, proto, extension, indexability) {
      return {i: interceptor, p: proto, e: extension, x: indexability};
    },
    getNativeInterceptor: function(object) {
      var proto, objectProto, $constructor, interceptor, t1,
        record = object[init.dispatchPropertyName];
      if (record == null)
        if ($.initNativeDispatchFlag == null) {
          H.initNativeDispatch();
          record = object[init.dispatchPropertyName];
        }
      if (record != null) {
        proto = record.p;
        if (false === proto)
          return record.i;
        if (true === proto)
          return object;
        objectProto = Object.getPrototypeOf(object);
        if (proto === objectProto)
          return record.i;
        if (record.e === objectProto)
          throw H.wrapException(P.UnimplementedError$("Return interceptor for " + H.S(proto(object, record))));
      }
      $constructor = object.constructor;
      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 = H.lookupAndCacheInterceptor(object);
      if (interceptor != null)
        return interceptor;
      if (typeof object == "function")
        return C.JavaScriptFunction_methods;
      proto = Object.getPrototypeOf(object);
      if (proto == null)
        return C.PlainJavaScriptObject_methods;
      if (proto === Object.prototype)
        return C.PlainJavaScriptObject_methods;
      if (typeof $constructor == "function") {
        t1 = $._JS_INTEROP_INTERCEPTOR_TAG;
        if (t1 == null)
          t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js");
        Object.defineProperty($constructor, t1, {value: C.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true});
        return C.UnknownJavaScriptObject_methods;
      }
      return C.UnknownJavaScriptObject_methods;
    },
    JSArray_JSArray$fixed: function($length, $E) {
      if (!H._isInt($length))
        throw H.wrapException(P.ArgumentError$value($length, "length", "is not an integer"));
      if ($length < 0 || $length > 4294967295)
        throw H.wrapException(P.RangeError$range($length, 0, 4294967295, "length", null));
      return J.JSArray_JSArray$markFixed(new Array($length), $E);
    },
    JSArray_JSArray$allocateFixed: function($length, $E) {
      if (!H._isInt($length))
        throw H.wrapException(P.ArgumentError$value($length, "length", "is not an integer"));
      if ($length < 0 || $length > 4294967295)
        throw H.wrapException(P.RangeError$range($length, 0, 4294967295, "length", null));
      return J.JSArray_JSArray$markFixed(new Array($length), $E);
    },
    JSArray_JSArray$growable: function($length, $E) {
      if (!H._isInt($length) || $length < 0)
        throw H.wrapException(P.ArgumentError$("Length must be a non-negative integer: " + H.S($length)));
      return H._setArrayType(new Array($length), $E._eval$1("JSArray<0>"));
    },
    JSArray_JSArray$allocateGrowable: function($length, $E) {
      if ($length < 0)
        throw H.wrapException(P.ArgumentError$("Length must be a non-negative integer: " + $length));
      return H._setArrayType(new Array($length), $E._eval$1("JSArray<0>"));
    },
    JSArray_JSArray$markFixed: function(allocation, $E) {
      return J.JSArray_markFixedList(H._setArrayType(allocation, $E._eval$1("JSArray<0>")));
    },
    JSArray_markFixedList: function(list) {
      list.fixed$length = Array;
      return list;
    },
    JSArray_markUnmodifiableList: function(list) {
      list.fixed$length = Array;
      list.immutable$list = Array;
      return list;
    },
    JSArray__compareAny: function(a, b) {
      return J.compareTo$1$ns(a, b);
    },
    JSString__isWhitespace: function(codeUnit) {
      if (codeUnit < 256)
        switch (codeUnit) {
          case 9:
          case 10:
          case 11:
          case 12:
          case 13:
          case 32:
          case 133:
          case 160:
            return true;
          default:
            return false;
        }
      switch (codeUnit) {
        case 5760:
        case 8192:
        case 8193:
        case 8194:
        case 8195:
        case 8196:
        case 8197:
        case 8198:
        case 8199:
        case 8200:
        case 8201:
        case 8202:
        case 8232:
        case 8233:
        case 8239:
        case 8287:
        case 12288:
        case 65279:
          return true;
        default:
          return false;
      }
    },
    JSString__skipLeadingWhitespace: function(string, index) {
      var t1, codeUnit;
      for (t1 = string.length; index < t1;) {
        codeUnit = C.JSString_methods._codeUnitAt$1(string, index);
        if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit))
          break;
        ++index;
      }
      return index;
    },
    JSString__skipTrailingWhitespace: function(string, index) {
      var index0, codeUnit;
      for (; index > 0; index = index0) {
        index0 = index - 1;
        codeUnit = C.JSString_methods.codeUnitAt$1(string, index0);
        if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit))
          break;
      }
      return index;
    },
    getInterceptor$: function(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 P.Object)
        return receiver;
      return J.getNativeInterceptor(receiver);
    },
    getInterceptor$ansx: function(receiver) {
      if (typeof receiver == "number")
        return J.JSNumber.prototype;
      if (typeof receiver == "string")
        return J.JSString.prototype;
      if (receiver == null)
        return receiver;
      if (receiver.constructor == Array)
        return J.JSArray.prototype;
      if (typeof receiver != "object") {
        if (typeof receiver == "function")
          return J.JavaScriptFunction.prototype;
        return receiver;
      }
      if (receiver instanceof P.Object)
        return receiver;
      return J.getNativeInterceptor(receiver);
    },
    getInterceptor$asx: function(receiver) {
      if (typeof receiver == "string")
        return J.JSString.prototype;
      if (receiver == null)
        return receiver;
      if (receiver.constructor == Array)
        return J.JSArray.prototype;
      if (typeof receiver != "object") {
        if (typeof receiver == "function")
          return J.JavaScriptFunction.prototype;
        return receiver;
      }
      if (receiver instanceof P.Object)
        return receiver;
      return J.getNativeInterceptor(receiver);
    },
    getInterceptor$ax: function(receiver) {
      if (receiver == null)
        return receiver;
      if (receiver.constructor == Array)
        return J.JSArray.prototype;
      if (typeof receiver != "object") {
        if (typeof receiver == "function")
          return J.JavaScriptFunction.prototype;
        return receiver;
      }
      if (receiver instanceof P.Object)
        return receiver;
      return J.getNativeInterceptor(receiver);
    },
    getInterceptor$in: function(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 P.Object))
        return J.UnknownJavaScriptObject.prototype;
      return receiver;
    },
    getInterceptor$n: function(receiver) {
      if (typeof receiver == "number")
        return J.JSNumber.prototype;
      if (receiver == null)
        return receiver;
      if (!(receiver instanceof P.Object))
        return J.UnknownJavaScriptObject.prototype;
      return receiver;
    },
    getInterceptor$ns: function(receiver) {
      if (typeof receiver == "number")
        return J.JSNumber.prototype;
      if (typeof receiver == "string")
        return J.JSString.prototype;
      if (receiver == null)
        return receiver;
      if (!(receiver instanceof P.Object))
        return J.UnknownJavaScriptObject.prototype;
      return receiver;
    },
    getInterceptor$s: function(receiver) {
      if (typeof receiver == "string")
        return J.JSString.prototype;
      if (receiver == null)
        return receiver;
      if (!(receiver instanceof P.Object))
        return J.UnknownJavaScriptObject.prototype;
      return receiver;
    },
    getInterceptor$x: function(receiver) {
      if (receiver == null)
        return receiver;
      if (typeof receiver != "object") {
        if (typeof receiver == "function")
          return J.JavaScriptFunction.prototype;
        return receiver;
      }
      if (receiver instanceof P.Object)
        return receiver;
      return J.getNativeInterceptor(receiver);
    },
    getInterceptor$z: function(receiver) {
      if (receiver == null)
        return receiver;
      if (!(receiver instanceof P.Object))
        return J.UnknownJavaScriptObject.prototype;
      return receiver;
    },
    set$height$x: function(receiver, value) {
      return J.getInterceptor$x(receiver).set$height(receiver, value);
    },
    set$length$asx: function(receiver, value) {
      return J.getInterceptor$asx(receiver).set$length(receiver, value);
    },
    set$parent$x: function(receiver, value) {
      return J.getInterceptor$x(receiver).set$parent(receiver, value);
    },
    set$value$x: function(receiver, value) {
      return J.getInterceptor$x(receiver).set$value(receiver, value);
    },
    set$width$x: function(receiver, value) {
      return J.getInterceptor$x(receiver).set$width(receiver, value);
    },
    get$All$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$All(receiver);
    },
    get$AlphaType$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$AlphaType(receiver);
    },
    get$Alphabetic$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Alphabetic(receiver);
    },
    get$Bevel$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Bevel(receiver);
    },
    get$BlendMode$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$BlendMode(receiver);
    },
    get$BlurStyle$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$BlurStyle(receiver);
    },
    get$Bold$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Bold(receiver);
    },
    get$Butt$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Butt(receiver);
    },
    get$Center$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Center(receiver);
    },
    get$Clamp$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Clamp(receiver);
    },
    get$Clear$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Clear(receiver);
    },
    get$ClipOp$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$ClipOp(receiver);
    },
    get$Color$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Color(receiver);
    },
    get$ColorBurn$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$ColorBurn(receiver);
    },
    get$ColorDodge$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$ColorDodge(receiver);
    },
    get$ColorFilter$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$ColorFilter(receiver);
    },
    get$ColorType$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$ColorType(receiver);
    },
    get$Darken$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Darken(receiver);
    },
    get$Dashed$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Dashed(receiver);
    },
    get$Decal$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Decal(receiver);
    },
    get$DecorationStyle$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$DecorationStyle(receiver);
    },
    get$Difference$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Difference(receiver);
    },
    get$DisableAll$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$DisableAll(receiver);
    },
    get$DisableFirstAscent$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$DisableFirstAscent(receiver);
    },
    get$DisableLastDescent$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$DisableLastDescent(receiver);
    },
    get$Dotted$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Dotted(receiver);
    },
    get$Double$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Double(receiver);
    },
    get$Dst$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Dst(receiver);
    },
    get$DstATop$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$DstATop(receiver);
    },
    get$DstIn$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$DstIn(receiver);
    },
    get$DstOut$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$DstOut(receiver);
    },
    get$DstOver$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$DstOver(receiver);
    },
    get$End$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$End(receiver);
    },
    get$EvenOdd$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$EvenOdd(receiver);
    },
    get$Exclusion$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Exclusion(receiver);
    },
    get$ExtraBlack$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$ExtraBlack(receiver);
    },
    get$ExtraBold$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$ExtraBold(receiver);
    },
    get$ExtraLight$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$ExtraLight(receiver);
    },
    get$Fill$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Fill(receiver);
    },
    get$FillType$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$FillType(receiver);
    },
    get$FilterMode$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$FilterMode(receiver);
    },
    get$FilterQuality$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$FilterQuality(receiver);
    },
    get$FontMgr$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$FontMgr(receiver);
    },
    get$FontSlant$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$FontSlant(receiver);
    },
    get$FontWeight$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$FontWeight(receiver);
    },
    get$HardLight$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$HardLight(receiver);
    },
    get$High$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$High(receiver);
    },
    get$Hue$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Hue(receiver);
    },
    get$Ideographic$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Ideographic(receiver);
    },
    get$IncludeLineSpacingBottom$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$IncludeLineSpacingBottom(receiver);
    },
    get$IncludeLineSpacingMiddle$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$IncludeLineSpacingMiddle(receiver);
    },
    get$IncludeLineSpacingTop$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$IncludeLineSpacingTop(receiver);
    },
    get$Inner$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Inner(receiver);
    },
    get$Intersect$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Intersect(receiver);
    },
    get$Italic$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Italic(receiver);
    },
    get$Justify$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Justify(receiver);
    },
    get$LTR$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$LTR(receiver);
    },
    get$Left$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Left(receiver);
    },
    get$Light$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Light(receiver);
    },
    get$Lighten$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Lighten(receiver);
    },
    get$LineThroughDecoration$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$LineThroughDecoration(receiver);
    },
    get$Linear$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Linear(receiver);
    },
    get$Low$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Low(receiver);
    },
    get$Luminosity$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Luminosity(receiver);
    },
    get$MaskFilter$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$MaskFilter(receiver);
    },
    get$Max$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Max(receiver);
    },
    get$Medium$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Medium(receiver);
    },
    get$MipmapMode$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$MipmapMode(receiver);
    },
    get$Mirror$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Mirror(receiver);
    },
    get$Miter$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Miter(receiver);
    },
    get$Modulate$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Modulate(receiver);
    },
    get$Multiply$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Multiply(receiver);
    },
    get$Nearest$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Nearest(receiver);
    },
    get$NoDecoration$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$NoDecoration(receiver);
    },
    get$None$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$None(receiver);
    },
    get$Normal$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Normal(receiver);
    },
    get$Outer$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Outer(receiver);
    },
    get$Overlay$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Overlay(receiver);
    },
    get$OverlineDecoration$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$OverlineDecoration(receiver);
    },
    get$PaintStyle$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$PaintStyle(receiver);
    },
    get$ParagraphBuilder$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$ParagraphBuilder(receiver);
    },
    get$Path$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Path(receiver);
    },
    get$Plus$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Plus(receiver);
    },
    get$Premul$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Premul(receiver);
    },
    get$RGBA_8888$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$RGBA_8888(receiver);
    },
    get$RTL$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$RTL(receiver);
    },
    get$RectHeightStyle$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$RectHeightStyle(receiver);
    },
    get$RectWidthStyle$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$RectWidthStyle(receiver);
    },
    get$Repeat$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Repeat(receiver);
    },
    get$Right$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Right(receiver);
    },
    get$Round$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Round(receiver);
    },
    get$Saturation$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Saturation(receiver);
    },
    get$Screen$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Screen(receiver);
    },
    get$SemiBold$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$SemiBold(receiver);
    },
    get$Shader$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Shader(receiver);
    },
    get$SoftLight$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$SoftLight(receiver);
    },
    get$Solid$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Solid(receiver);
    },
    get$Square$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Square(receiver);
    },
    get$Src$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Src(receiver);
    },
    get$SrcATop$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$SrcATop(receiver);
    },
    get$SrcIn$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$SrcIn(receiver);
    },
    get$SrcOut$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$SrcOut(receiver);
    },
    get$SrcOver$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$SrcOver(receiver);
    },
    get$Start$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Start(receiver);
    },
    get$Stroke$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Stroke(receiver);
    },
    get$StrokeCap$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$StrokeCap(receiver);
    },
    get$StrokeJoin$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$StrokeJoin(receiver);
    },
    get$Strut$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Strut(receiver);
    },
    get$TextAlign$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$TextAlign(receiver);
    },
    get$TextBaseline$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$TextBaseline(receiver);
    },
    get$TextDirection$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$TextDirection(receiver);
    },
    get$TextHeightBehavior$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$TextHeightBehavior(receiver);
    },
    get$Thin$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Thin(receiver);
    },
    get$Tight$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Tight(receiver);
    },
    get$TileMode$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$TileMode(receiver);
    },
    get$TypefaceFontProvider$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$TypefaceFontProvider(receiver);
    },
    get$UnderlineDecoration$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$UnderlineDecoration(receiver);
    },
    get$Upright$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Upright(receiver);
    },
    get$Wavy$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Wavy(receiver);
    },
    get$Winding$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Winding(receiver);
    },
    get$Xor$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$Xor(receiver);
    },
    get$addAll$ax: function(receiver) {
      return J.getInterceptor$ax(receiver).get$addAll(receiver);
    },
    get$attributes$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$attributes(receiver);
    },
    get$baseline$z: function(receiver) {
      return J.getInterceptor$z(receiver).get$baseline(receiver);
    },
    get$buffer$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$buffer(receiver);
    },
    get$children$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$children(receiver);
    },
    get$current$z: function(receiver) {
      return J.getInterceptor$z(receiver).get$current(receiver);
    },
    get$data$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$data(receiver);
    },
    get$description$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$description(receiver);
    },
    get$direction$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$direction(receiver);
    },
    get$dispose$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$dispose(receiver);
    },
    get$end$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$end(receiver);
    },
    get$entries$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$entries(receiver);
    },
    get$first$ax: function(receiver) {
      return J.getInterceptor$ax(receiver).get$first(receiver);
    },
    get$hashCode$: function(receiver) {
      return J.getInterceptor$(receiver).get$hashCode(receiver);
    },
    get$id$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$id(receiver);
    },
    get$index$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$index(receiver);
    },
    get$isEmpty$asx: function(receiver) {
      return J.getInterceptor$asx(receiver).get$isEmpty(receiver);
    },
    get$isNegative$n: function(receiver) {
      return J.getInterceptor$n(receiver).get$isNegative(receiver);
    },
    get$isNotEmpty$asx: function(receiver) {
      return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver);
    },
    get$iterator$ax: function(receiver) {
      return J.getInterceptor$ax(receiver).get$iterator(receiver);
    },
    get$key$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$key(receiver);
    },
    get$keys$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$keys(receiver);
    },
    get$last$ax: function(receiver) {
      return J.getInterceptor$ax(receiver).get$last(receiver);
    },
    get$length$asx: function(receiver) {
      return J.getInterceptor$asx(receiver).get$length(receiver);
    },
    get$lengthInBytes$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$lengthInBytes(receiver);
    },
    get$level$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$level(receiver);
    },
    get$message$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$message(receiver);
    },
    get$name$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$name(receiver);
    },
    get$offset$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$offset(receiver);
    },
    get$onBlur$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$onBlur(receiver);
    },
    get$onFocus$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$onFocus(receiver);
    },
    get$parent$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$parent(receiver);
    },
    get$position$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$position(receiver);
    },
    get$query$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$query(receiver);
    },
    get$runtimeType$: function(receiver) {
      return J.getInterceptor$(receiver).get$runtimeType(receiver);
    },
    get$setRequestHeader$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$setRequestHeader(receiver);
    },
    get$sign$in: function(receiver) {
      if (typeof receiver === "number")
        return receiver > 0 ? 1 : receiver < 0 ? -1 : receiver;
      return J.getInterceptor$in(receiver).get$sign(receiver);
    },
    get$size$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$size(receiver);
    },
    get$source$z: function(receiver) {
      return J.getInterceptor$z(receiver).get$source(receiver);
    },
    get$stream$z: function(receiver) {
      return J.getInterceptor$z(receiver).get$stream(receiver);
    },
    get$target$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$target(receiver);
    },
    get$textBaseline$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$textBaseline(receiver);
    },
    get$top$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$top(receiver);
    },
    get$type$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$type(receiver);
    },
    get$value$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$value(receiver);
    },
    get$values$x: function(receiver) {
      return J.getInterceptor$x(receiver).get$values(receiver);
    },
    $add$ansx: function(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver + a0;
      return J.getInterceptor$ansx(receiver).$add(receiver, a0);
    },
    $div$n: function(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver / a0;
      return J.getInterceptor$n(receiver).$div(receiver, a0);
    },
    $eq$: function(receiver, a0) {
      if (receiver == null)
        return a0 == null;
      if (typeof receiver != "object")
        return a0 != null && receiver === a0;
      return J.getInterceptor$(receiver).$eq(receiver, a0);
    },
    $gt$n: function(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver > a0;
      return J.getInterceptor$n(receiver).$gt(receiver, a0);
    },
    $index$asx: function(receiver, a0) {
      if (typeof a0 === "number")
        if (receiver.constructor == Array || typeof receiver == "string" || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName]))
          if (a0 >>> 0 === a0 && a0 < receiver.length)
            return receiver[a0];
      return J.getInterceptor$asx(receiver).$index(receiver, a0);
    },
    $indexSet$ax: function(receiver, a0, a1) {
      if (typeof a0 === "number")
        if ((receiver.constructor == Array || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length)
          return receiver[a0] = a1;
      return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
    },
    $lt$n: function(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver < a0;
      return J.getInterceptor$n(receiver).$lt(receiver, a0);
    },
    $mul$ns: function(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver * a0;
      return J.getInterceptor$ns(receiver).$mul(receiver, a0);
    },
    $sub$n: function(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver - a0;
      return J.getInterceptor$n(receiver).$sub(receiver, a0);
    },
    $tdiv$n: function(receiver, a0) {
      return J.getInterceptor$n(receiver).$tdiv(receiver, a0);
    },
    GetWebGLContext$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).GetWebGLContext$2(receiver, a0, a1);
    },
    Make$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).Make$0(receiver);
    },
    MakeAnimatedImageFromEncoded$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).MakeAnimatedImageFromEncoded$1(receiver, a0);
    },
    MakeBlend$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).MakeBlend$2(receiver, a0, a1);
    },
    MakeBlur$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).MakeBlur$3(receiver, a0, a1, a2);
    },
    MakeFromCmds$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).MakeFromCmds$1(receiver, a0);
    },
    MakeFromFontProvider$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).MakeFromFontProvider$2(receiver, a0, a1);
    },
    MakeGrContext$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).MakeGrContext$1(receiver, a0);
    },
    MakeImage$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).MakeImage$3(receiver, a0, a1, a2);
    },
    MakeLinearGradient$6$x: function(receiver, a0, a1, a2, a3, a4, a5) {
      return J.getInterceptor$x(receiver).MakeLinearGradient$6(receiver, a0, a1, a2, a3, a4, a5);
    },
    MakeOnScreenGLSurface$4$x: function(receiver, a0, a1, a2, a3) {
      return J.getInterceptor$x(receiver).MakeOnScreenGLSurface$4(receiver, a0, a1, a2, a3);
    },
    MakeSWCanvasSurface$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).MakeSWCanvasSurface$1(receiver, a0);
    },
    MakeTypefaceFromData$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).MakeTypefaceFromData$1(receiver, a0);
    },
    ParagraphStyle$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).ParagraphStyle$1(receiver, a0);
    },
    RefDefault$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).RefDefault$0(receiver);
    },
    TextStyle$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).TextStyle$1(receiver, a0);
    },
    _clearChildren$0$x: function(receiver) {
      return J.getInterceptor$x(receiver)._clearChildren$0(receiver);
    },
    _codeUnitAt$1$s: function(receiver, a0) {
      return J.getInterceptor$s(receiver)._codeUnitAt$1(receiver, a0);
    },
    _replaceChild$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver)._replaceChild$2(receiver, a0, a1);
    },
    add$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).add$1(receiver, a0);
    },
    addAll$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).addAll$1(receiver, a0);
    },
    addArc$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).addArc$3(receiver, a0, a1, a2);
    },
    addEventListener$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).addEventListener$2(receiver, a0, a1);
    },
    addEventListener$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).addEventListener$3(receiver, a0, a1, a2);
    },
    addListener$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).addListener$1(receiver, a0);
    },
    addOval$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).addOval$3(receiver, a0, a1, a2);
    },
    addPopStateListener$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).addPopStateListener$1(receiver, a0);
    },
    addRRect$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).addRRect$2(receiver, a0, a1);
    },
    addRect$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).addRect$1(receiver, a0);
    },
    addText$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).addText$1(receiver, a0);
    },
    allMatches$1$s: function(receiver, a0) {
      return J.getInterceptor$s(receiver).allMatches$1(receiver, a0);
    },
    allMatches$2$s: function(receiver, a0, a1) {
      return J.getInterceptor$s(receiver).allMatches$2(receiver, a0, a1);
    },
    arcToOval$4$x: function(receiver, a0, a1, a2, a3) {
      return J.getInterceptor$x(receiver).arcToOval$4(receiver, a0, a1, a2, a3);
    },
    arrayBuffer$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).arrayBuffer$0(receiver);
    },
    asByteData$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).asByteData$0(receiver);
    },
    asByteData$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).asByteData$2(receiver, a0, a1);
    },
    asFloat64List$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).asFloat64List$2(receiver, a0, a1);
    },
    asInt32List$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).asInt32List$2(receiver, a0, a1);
    },
    asInt64List$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).asInt64List$2(receiver, a0, a1);
    },
    asUint32List$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).asUint32List$2(receiver, a0, a1);
    },
    asUint8List$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).asUint8List$0(receiver);
    },
    asUint8List$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).asUint8List$2(receiver, a0, a1);
    },
    beginRecording$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).beginRecording$1(receiver, a0);
    },
    build$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).build$0(receiver);
    },
    cancel$0$z: function(receiver) {
      return J.getInterceptor$z(receiver).cancel$0(receiver);
    },
    cast$1$0$ax: function(receiver, $T1) {
      return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1);
    },
    cast$2$0$ax: function(receiver, $T1, $T2) {
      return J.getInterceptor$ax(receiver).cast$2$0(receiver, $T1, $T2);
    },
    ceil$0$n: function(receiver) {
      return J.getInterceptor$n(receiver).ceil$0(receiver);
    },
    clamp$2$n: function(receiver, a0, a1) {
      return J.getInterceptor$n(receiver).clamp$2(receiver, a0, a1);
    },
    clear$0$ax: function(receiver) {
      return J.getInterceptor$ax(receiver).clear$0(receiver);
    },
    clipPath$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).clipPath$3(receiver, a0, a1, a2);
    },
    clipRRect$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).clipRRect$3(receiver, a0, a1, a2);
    },
    clipRect$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).clipRect$3(receiver, a0, a1, a2);
    },
    close$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).close$0(receiver);
    },
    codeUnitAt$1$s: function(receiver, a0) {
      return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0);
    },
    collapse$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).collapse$0(receiver);
    },
    compareTo$1$ns: function(receiver, a0) {
      return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0);
    },
    complete$1$z: function(receiver, a0) {
      return J.getInterceptor$z(receiver).complete$1(receiver, a0);
    },
    computeTonalColors$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).computeTonalColors$1(receiver, a0);
    },
    concat$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).concat$1(receiver, a0);
    },
    contains$1$asx: function(receiver, a0) {
      return J.getInterceptor$asx(receiver).contains$1(receiver, a0);
    },
    contains$2$asx: function(receiver, a0, a1) {
      return J.getInterceptor$asx(receiver).contains$2(receiver, a0, a1);
    },
    containsKey$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).containsKey$1(receiver, a0);
    },
    copy$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).copy$0(receiver);
    },
    createElement$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).createElement$0(receiver);
    },
    cubicTo$6$x: function(receiver, a0, a1, a2, a3, a4, a5) {
      return J.getInterceptor$x(receiver).cubicTo$6(receiver, a0, a1, a2, a3, a4, a5);
    },
    decode$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).decode$2(receiver, a0, a1);
    },
    decodeNextFrame$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).decodeNextFrame$0(receiver);
    },
    delete$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).delete$0(receiver);
    },
    detach$0$z: function(receiver) {
      return J.getInterceptor$z(receiver).detach$0(receiver);
    },
    didExceedMaxLines$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).didExceedMaxLines$0(receiver);
    },
    dispose$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).dispose$0(receiver);
    },
    drawArc$5$x: function(receiver, a0, a1, a2, a3, a4) {
      return J.getInterceptor$x(receiver).drawArc$5(receiver, a0, a1, a2, a3, a4);
    },
    drawCircle$4$x: function(receiver, a0, a1, a2, a3) {
      return J.getInterceptor$x(receiver).drawCircle$4(receiver, a0, a1, a2, a3);
    },
    drawDRRect$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).drawDRRect$3(receiver, a0, a1, a2);
    },
    drawLine$5$x: function(receiver, a0, a1, a2, a3, a4) {
      return J.getInterceptor$x(receiver).drawLine$5(receiver, a0, a1, a2, a3, a4);
    },
    drawOval$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).drawOval$2(receiver, a0, a1);
    },
    drawPaint$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).drawPaint$1(receiver, a0);
    },
    drawParagraph$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).drawParagraph$3(receiver, a0, a1, a2);
    },
    drawPath$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).drawPath$2(receiver, a0, a1);
    },
    drawPicture$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).drawPicture$1(receiver, a0);
    },
    drawRRect$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).drawRRect$2(receiver, a0, a1);
    },
    drawRect$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).drawRect$2(receiver, a0, a1);
    },
    drawShadow$7$x: function(receiver, a0, a1, a2, a3, a4, a5, a6) {
      return J.getInterceptor$x(receiver).drawShadow$7(receiver, a0, a1, a2, a3, a4, a5, a6);
    },
    elementAt$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
    },
    endsWith$1$s: function(receiver, a0) {
      return J.getInterceptor$s(receiver).endsWith$1(receiver, a0);
    },
    expand$0$ax: function(receiver) {
      return J.getInterceptor$ax(receiver).expand$0(receiver);
    },
    fillRange$3$ax: function(receiver, a0, a1, a2) {
      return J.getInterceptor$ax(receiver).fillRange$3(receiver, a0, a1, a2);
    },
    firstWhere$2$orElse$ax: function(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).firstWhere$2$orElse(receiver, a0, a1);
    },
    floor$0$n: function(receiver) {
      return J.getInterceptor$n(receiver).floor$0(receiver);
    },
    flush$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).flush$0(receiver);
    },
    focus$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).focus$0(receiver);
    },
    fold$2$ax: function(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).fold$2(receiver, a0, a1);
    },
    forEach$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
    },
    forward$0$z: function(receiver) {
      return J.getInterceptor$z(receiver).forward$0(receiver);
    },
    getAlphabeticBaseline$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getAlphabeticBaseline$0(receiver);
    },
    getBounds$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getBounds$0(receiver);
    },
    getCanvas$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getCanvas$0(receiver);
    },
    getFloat64$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).getFloat64$2(receiver, a0, a1);
    },
    getGlyphBounds$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).getGlyphBounds$3(receiver, a0, a1, a2);
    },
    getGlyphIDs$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).getGlyphIDs$1(receiver, a0);
    },
    getGlyphPositionAtCoordinate$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).getGlyphPositionAtCoordinate$2(receiver, a0, a1);
    },
    getHeight$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getHeight$0(receiver);
    },
    getIdeographicBaseline$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getIdeographicBaseline$0(receiver);
    },
    getInt32$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).getInt32$2(receiver, a0, a1);
    },
    getInt64$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).getInt64$2(receiver, a0, a1);
    },
    getInt8$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).getInt8$1(receiver, a0);
    },
    getLineMetrics$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getLineMetrics$0(receiver);
    },
    getLongestLine$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getLongestLine$0(receiver);
    },
    getMaxIntrinsicWidth$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getMaxIntrinsicWidth$0(receiver);
    },
    getMaxWidth$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getMaxWidth$0(receiver);
    },
    getMinIntrinsicWidth$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getMinIntrinsicWidth$0(receiver);
    },
    getPath$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getPath$0(receiver);
    },
    getRange$2$ax: function(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).getRange$2(receiver, a0, a1);
    },
    getRectsForPlaceholders$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getRectsForPlaceholders$0(receiver);
    },
    getRectsForRange$4$x: function(receiver, a0, a1, a2, a3) {
      return J.getInterceptor$x(receiver).getRectsForRange$4(receiver, a0, a1, a2, a3);
    },
    getSelection$3$isSummaryTree$z: function(receiver, a0, a1, a2) {
      return J.getInterceptor$z(receiver).getSelection$3$isSummaryTree(receiver, a0, a1, a2);
    },
    getState$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).getState$0(receiver);
    },
    getUint16$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).getUint16$2(receiver, a0, a1);
    },
    getUint32$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).getUint32$2(receiver, a0, a1);
    },
    getUint8$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).getUint8$1(receiver, a0);
    },
    getWordBoundary$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).getWordBoundary$1(receiver, a0);
    },
    go$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).go$1(receiver, a0);
    },
    height$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).height$0(receiver);
    },
    indexOf$1$asx: function(receiver, a0) {
      return J.getInterceptor$asx(receiver).indexOf$1(receiver, a0);
    },
    isAliasOf$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).isAliasOf$1(receiver, a0);
    },
    isDeleted$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).isDeleted$0(receiver);
    },
    isIdentity$0$z: function(receiver) {
      return J.getInterceptor$z(receiver).isIdentity$0(receiver);
    },
    join$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).join$1(receiver, a0);
    },
    lastIndexOf$1$asx: function(receiver, a0) {
      return J.getInterceptor$asx(receiver).lastIndexOf$1(receiver, a0);
    },
    layout$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).layout$1(receiver, a0);
    },
    lineTo$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).lineTo$2(receiver, a0, a1);
    },
    listener$1$z: function(receiver, a0) {
      return J.getInterceptor$z(receiver).listener$1(receiver, a0);
    },
    makeImageAtCurrentFrame$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).makeImageAtCurrentFrame$0(receiver);
    },
    map$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).map$1(receiver, a0);
    },
    map$1$1$ax: function(receiver, a0, $T1) {
      return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1);
    },
    map$2$1$ax: function(receiver, a0, $T1, $T2) {
      return J.getInterceptor$ax(receiver).map$2$1(receiver, a0, $T1, $T2);
    },
    map$3$data$error$loading$ax: function(receiver, a0, a1, a2) {
      return J.getInterceptor$ax(receiver).map$3$data$error$loading(receiver, a0, a1, a2);
    },
    matchAsPrefix$2$s: function(receiver, a0, a1) {
      return J.getInterceptor$s(receiver).matchAsPrefix$2(receiver, a0, a1);
    },
    moveTo$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).moveTo$2(receiver, a0, a1);
    },
    noSuchMethod$1$: function(receiver, a0) {
      return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0);
    },
    open$3$async$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).open$3$async(receiver, a0, a1, a2);
    },
    padRight$1$s: function(receiver, a0) {
      return J.getInterceptor$s(receiver).padRight$1(receiver, a0);
    },
    pop$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).pop$0(receiver);
    },
    postMessage$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).postMessage$2(receiver, a0, a1);
    },
    pushPaintStyle$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).pushPaintStyle$3(receiver, a0, a1, a2);
    },
    pushState$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).pushState$3(receiver, a0, a1, a2);
    },
    pushStyle$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).pushStyle$1(receiver, a0);
    },
    putIfAbsent$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).putIfAbsent$2(receiver, a0, a1);
    },
    quadTo$4$x: function(receiver, a0, a1, a2, a3) {
      return J.getInterceptor$x(receiver).quadTo$4(receiver, a0, a1, a2, a3);
    },
    rMoveTo$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).rMoveTo$2(receiver, a0, a1);
    },
    read$0$z: function(receiver) {
      return J.getInterceptor$z(receiver).read$0(receiver);
    },
    readAsText$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).readAsText$1(receiver, a0);
    },
    register$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).register$2(receiver, a0, a1);
    },
    registerFont$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).registerFont$2(receiver, a0, a1);
    },
    remove$0$ax: function(receiver) {
      return J.getInterceptor$ax(receiver).remove$0(receiver);
    },
    remove$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).remove$1(receiver, a0);
    },
    removeAt$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).removeAt$1(receiver, a0);
    },
    removeEventListener$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).removeEventListener$2(receiver, a0, a1);
    },
    removeEventListener$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).removeEventListener$3(receiver, a0, a1, a2);
    },
    removeLast$0$ax: function(receiver) {
      return J.getInterceptor$ax(receiver).removeLast$0(receiver);
    },
    removeRange$2$ax: function(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).removeRange$2(receiver, a0, a1);
    },
    replaceFirst$2$s: function(receiver, a0, a1) {
      return J.getInterceptor$s(receiver).replaceFirst$2(receiver, a0, a1);
    },
    replaceState$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).replaceState$3(receiver, a0, a1, a2);
    },
    replaceWith$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).replaceWith$1(receiver, a0);
    },
    reset$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).reset$0(receiver);
    },
    restore$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).restore$0(receiver);
    },
    restoreToCount$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).restoreToCount$1(receiver, a0);
    },
    reverse$0$z: function(receiver) {
      return J.getInterceptor$z(receiver).reverse$0(receiver);
    },
    rotate$3$x: function(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).rotate$3(receiver, a0, a1, a2);
    },
    round$0$n: function(receiver) {
      return J.getInterceptor$n(receiver).round$0(receiver);
    },
    roundToDouble$0$n: function(receiver) {
      return J.getInterceptor$n(receiver).roundToDouble$0(receiver);
    },
    save$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).save$0(receiver);
    },
    saveLayer$4$x: function(receiver, a0, a1, a2, a3) {
      return J.getInterceptor$x(receiver).saveLayer$4(receiver, a0, a1, a2, a3);
    },
    scale$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).scale$2(receiver, a0, a1);
    },
    select$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).select$0(receiver);
    },
    send$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).send$1(receiver, a0);
    },
    setAntiAlias$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setAntiAlias$1(receiver, a0);
    },
    setBlendMode$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setBlendMode$1(receiver, a0);
    },
    setColorFilter$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setColorFilter$1(receiver, a0);
    },
    setColorInt$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setColorInt$1(receiver, a0);
    },
    setCurrentContext$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setCurrentContext$1(receiver, a0);
    },
    setFillType$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setFillType$1(receiver, a0);
    },
    setFilterQuality$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setFilterQuality$1(receiver, a0);
    },
    setMaskFilter$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setMaskFilter$1(receiver, a0);
    },
    setRange$4$ax: function(receiver, a0, a1, a2, a3) {
      return J.getInterceptor$ax(receiver).setRange$4(receiver, a0, a1, a2, a3);
    },
    setResourceCacheLimitBytes$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setResourceCacheLimitBytes$1(receiver, a0);
    },
    setShader$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setShader$1(receiver, a0);
    },
    setStrokeCap$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setStrokeCap$1(receiver, a0);
    },
    setStrokeWidth$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setStrokeWidth$1(receiver, a0);
    },
    setStyle$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).setStyle$1(receiver, a0);
    },
    skip$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).skip$1(receiver, a0);
    },
    sort$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).sort$1(receiver, a0);
    },
    split$1$s: function(receiver, a0) {
      return J.getInterceptor$s(receiver).split$1(receiver, a0);
    },
    startsWith$1$s: function(receiver, a0) {
      return J.getInterceptor$s(receiver).startsWith$1(receiver, a0);
    },
    startsWith$2$s: function(receiver, a0, a1) {
      return J.getInterceptor$s(receiver).startsWith$2(receiver, a0, a1);
    },
    sublist$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).sublist$1(receiver, a0);
    },
    sublist$2$ax: function(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).sublist$2(receiver, a0, a1);
    },
    submit$0$z: function(receiver) {
      return J.getInterceptor$z(receiver).submit$0(receiver);
    },
    substring$1$s: function(receiver, a0) {
      return J.getInterceptor$s(receiver).substring$1(receiver, a0);
    },
    substring$2$s: function(receiver, a0, a1) {
      return J.getInterceptor$s(receiver).substring$2(receiver, a0, a1);
    },
    take$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).take$1(receiver, a0);
    },
    text$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).text$0(receiver);
    },
    then$1$x: function(receiver, a0) {
      return J.getInterceptor$x(receiver).then$1(receiver, a0);
    },
    then$1$1$x: function(receiver, a0, $T1) {
      return J.getInterceptor$x(receiver).then$1$1(receiver, a0, $T1);
    },
    then$1$2$onError$x: function(receiver, a0, a1, $T1) {
      return J.getInterceptor$x(receiver).then$1$2$onError(receiver, a0, a1, $T1);
    },
    toCmds$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).toCmds$0(receiver);
    },
    toDouble$0$n: function(receiver) {
      return J.getInterceptor$n(receiver).toDouble$0(receiver);
    },
    toInt$0$n: function(receiver) {
      return J.getInterceptor$n(receiver).toInt$0(receiver);
    },
    toList$0$ax: function(receiver) {
      return J.getInterceptor$ax(receiver).toList$0(receiver);
    },
    toLowerCase$0$s: function(receiver) {
      return J.getInterceptor$s(receiver).toLowerCase$0(receiver);
    },
    toRadixString$1$n: function(receiver, a0) {
      return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0);
    },
    toSet$0$ax: function(receiver) {
      return J.getInterceptor$ax(receiver).toSet$0(receiver);
    },
    toString$0$: function(receiver) {
      return J.getInterceptor$(receiver).toString$0(receiver);
    },
    toStringAsFixed$1$n: function(receiver, a0) {
      return J.getInterceptor$n(receiver).toStringAsFixed$1(receiver, a0);
    },
    toStringAsPrecision$1$n: function(receiver, a0) {
      return J.getInterceptor$n(receiver).toStringAsPrecision$1(receiver, a0);
    },
    toTypedArray$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).toTypedArray$0(receiver);
    },
    transform$9$x: function(receiver, a0, a1, a2, a3, a4, a5, a6, a7, a8) {
      return J.getInterceptor$x(receiver).transform$9(receiver, a0, a1, a2, a3, a4, a5, a6, a7, a8);
    },
    translate$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).translate$2(receiver, a0, a1);
    },
    trim$0$s: function(receiver) {
      return J.getInterceptor$s(receiver).trim$0(receiver);
    },
    trimLeft$0$s: function(receiver) {
      return J.getInterceptor$s(receiver).trimLeft$0(receiver);
    },
    trimRight$0$s: function(receiver) {
      return J.getInterceptor$s(receiver).trimRight$0(receiver);
    },
    unlock$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).unlock$0(receiver);
    },
    update$2$x: function(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).update$2(receiver, a0, a1);
    },
    where$1$ax: function(receiver, a0) {
      return J.getInterceptor$ax(receiver).where$1(receiver, a0);
    },
    width$0$x: function(receiver) {
      return J.getInterceptor$x(receiver).width$0(receiver);
    },
    Interceptor: function Interceptor() {
    },
    JSBool: function JSBool() {
    },
    JSNull: function JSNull() {
    },
    JavaScriptObject: function JavaScriptObject() {
    },
    PlainJavaScriptObject: function PlainJavaScriptObject() {
    },
    UnknownJavaScriptObject: function UnknownJavaScriptObject() {
    },
    JavaScriptFunction: function JavaScriptFunction() {
    },
    JSArray: function JSArray(t0) {
      this.$ti = t0;
    },
    JSUnmodifiableArray: function JSUnmodifiableArray(t0) {
      this.$ti = t0;
    },
    ArrayIterator: function ArrayIterator(t0, t1, t2) {
      var _ = this;
      _._iterable = t0;
      _.__interceptors$_length = t1;
      _._index = 0;
      _.__interceptors$_current = null;
      _.$ti = t2;
    },
    JSNumber: function JSNumber() {
    },
    JSInt: function JSInt() {
    },
    JSNumNotInt: function JSNumNotInt() {
    },
    JSString: function JSString() {
    }
  },
  K = {
    Disposer$: function() {
      return new K.Disposer(H._setArrayType([], type$.JSArray_legacy_StreamSubscription_dynamic), H._setArrayType([], type$.JSArray_legacy_Listenable), H._setArrayType([], type$.JSArray_of_legacy_void_Function));
    },
    Disposer: function Disposer(t0, t1, t2) {
      this._auto_dispose$_subscriptions = t0;
      this._listenables = t1;
      this._auto_dispose$_listeners = t2;
    },
    DisposableController: function DisposableController() {
    },
    AutoDisposeControllerMixin: function AutoDisposeControllerMixin() {
    },
    showGoToLineDialog: function(context, controller) {
      E.showDialog(true, new K.showGoToLineDialog_closure(controller), context, type$.dynamic);
    },
    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, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.textController = _.gutterController = _.verticalController = null;
      _.SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin__onSelection = t2;
      _.SearchFieldMixin__closeHandler = t3;
      _.SearchFieldMixin_arrowDown = t4;
      _.SearchFieldMixin_arrowUp = t5;
      _.SearchFieldMixin_enter = t6;
      _.SearchFieldMixin_escape = t7;
      _.SearchFieldMixin_tab = t8;
      _.SearchFieldMixin_enterMac = t9;
      _.SearchFieldMixin_tabMac = t10;
      _.AutoDisposeMixin__delegate = t11;
      _._widget = null;
      _._debugLifecycleState = t12;
      _._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_closure0: function _CodeViewState_buildCodeArea_closure0() {
    },
    _CodeViewState_buildCodeArea_closure1: function _CodeViewState_buildCodeArea_closure1(t0) {
      this.$this = t0;
    },
    _CodeViewState_buildCodeArea_closure2: function _CodeViewState_buildCodeArea_closure2(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.lines = t1;
      _.theme = t2;
      _.gutterWidth = t3;
    },
    _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__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) {
      var _ = this;
      _.constraints = t0;
      _.scrollController = t1;
      _.lines = t2;
      _.pausedFrame = t3;
      _.searchMatchesNotifier = t4;
      _.activeSearchMatchNotifier = t5;
      _.key = t6;
    },
    _LinesState: function _LinesState(t0, t1) {
      var _ = this;
      _.activeSearch = _.searchMatches = 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_searchMatchesForLine_closure: function _LinesState_searchMatchesForLine_closure(t0) {
      this.index = t0;
    },
    LineItem: function LineItem(t0, t1, t2, t3, t4) {
      var _ = this;
      _.lineContents = t0;
      _.pausedFrame = t1;
      _.searchMatches = t2;
      _.activeSearchMatch = t3;
      _.key = t4;
    },
    _LineItemState: function _LineItemState(t0) {
      var _ = this;
      _._debuggerController = _._hoverCard = _._removeTimer = _._codeview$_showTimer = null;
      _._previousHoverWord = "";
      _._hasMouseExited = false;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._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_closure0: function _LineItemState__hoverableLine_closure0(t0) {
      this.$this = t0;
    },
    _LineItemState__hoverableLine_closure: function _LineItemState__hoverableLine_closure(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;
    },
    copyScriptNameOption_closure: function copyScriptNameOption_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() {
    },
    __LinesState_State_AutoDisposeMixin: function __LinesState_State_AutoDisposeMixin() {
    },
    ExceptionMode$: function(id, $name, description) {
      return new K.ExceptionMode(id, $name, description);
    },
    ExceptionMode_from: function(id) {
      return C.JSArray_methods.singleWhere$2$orElse($.$get$ExceptionMode_modes(), new K.ExceptionMode_from_closure(id), new K.ExceptionMode_from_closure0());
    },
    DebuggingControls: function DebuggingControls(t0) {
      this.key = t0;
    },
    _DebuggingControlsState: function _DebuggingControlsState(t0, t1) {
      var _ = this;
      _.controller = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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) {
      this.$this = t0;
    },
    BreakOnExceptionsControl_build__closure: function BreakOnExceptionsControl_build__closure(t0) {
      this.$this = t0;
    },
    BreakOnExceptionsControl_build__closure0: function BreakOnExceptionsControl_build__closure0() {
    },
    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() {
    },
    displayProvider: function(context, variable, onTap) {
      var t4, t5, _null = null,
        _s10_ = "RobotoMono",
        theme = K.Theme_of(context),
        t1 = variable.get$displayValue(),
        t2 = variable.boundVar.name,
        t3 = t2.length;
      t2 = t3 !== 0 ? t2 + ": " : _null;
      t3 = theme.textTheme.bodyText2;
      t4 = t3.copyWith$1$fontFamily(_s10_);
      t5 = variable.get$displayValue();
      return S.Tooltip$(O.SelectableText$rich(Q.TextSpan$(H._setArrayType([Q.TextSpan$(_null, _null, _null, t3.copyWith$1$fontFamily(_s10_).copyWith$1$color(theme.unselectedWidgetColor), t5)], type$.JSArray_legacy_InlineSpan), _null, _null, t4, t2), _null, onTap, _null), _null, t1, _null, _null, C.Duration_1000000);
    },
    Variables: function Variables(t0) {
      this.key = t0;
    },
    Variables_build_closure: function Variables_build_closure(t0, t1) {
      this.$this = t0;
      this.controller = t1;
    },
    Variables_build__closure: function Variables_build__closure(t0) {
      this.context = t0;
    },
    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) {
      this.$this = t0;
    },
    ExpandableVariable_build__closure: function ExpandableVariable_build__closure(t0) {
      this.context = t0;
    },
    ExpandableVariable_build__closure0: function ExpandableVariable_build__closure0(t0, t1) {
      this.$this = t0;
      this.controller = t1;
    },
    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) {
      var _ = this;
      _.node = t0;
      _.ticks = t1;
      _.depth = t2;
      _.index = t3;
      _.lineToParent = t4;
    },
    InspectorTreeConfig: function InspectorTreeConfig(t0, t1, t2, t3) {
      var _ = this;
      _.onNodeAdded = t0;
      _.onSelectionChange = t1;
      _.onClientActiveChange = t2;
      _.onExpand = t3;
    },
    InspectorTreeController: function InspectorTreeController() {
    },
    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.$this = t0;
    },
    InspectorTreeController_navigateRight_closure: function InspectorTreeController_navigateRight_closure(t0) {
      this.$this = 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;
    },
    InspectorTreeFixedRowHeightController: function InspectorTreeFixedRowHeightController() {
    },
    NetworkRequestInspector: function NetworkRequestInspector(t0, t1) {
      this.data = t0;
      this.key = t1;
    },
    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;
      _._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;
      _.watch = t1;
      _.path = t2;
      _.disableExpand = t3;
      _.context = t4;
    },
    _InstanceViewerState__buildListViewItems__closure1: function _InstanceViewerState__buildListViewItems__closure1(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.context = t1;
      _.watch = t2;
      _.path = t3;
    },
    _InstanceViewerState__buildListViewItems__closure: function _InstanceViewerState__buildListViewItems__closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.context = t1;
      _.watch = t2;
      _.instance = t3;
      _.path = t4;
    },
    _InstanceViewerState__buildListViewItems__closure0: function _InstanceViewerState__buildListViewItems__closure0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.context = t1;
      _.watch = t2;
      _.instance = t3;
      _.path = t4;
    },
    _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() {
    },
    _InstanceViewerState_build_closure: function _InstanceViewerState_build_closure(t0) {
      this.$this = t0;
    },
    _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.$this = t0;
    },
    _Expandable_build_closure: function _Expandable_build_closure() {
    },
    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__initScreen_closure0: function _SnapshotScreenBodyState__initScreen_closure0() {
    },
    _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;
    },
    ColumnData: function ColumnData() {
    },
    TreeColumnData: function TreeColumnData() {
    },
    ColumnAlignment: function ColumnAlignment(t0, t1) {
      this.index = t0;
      this._table_data$_name = t1;
    },
    _darkTheme: function(ideTheme) {
      var background,
        theme = X.ThemeData_ThemeData(C.Brightness_0, null),
        t1 = ideTheme == null;
      if (K.isValidDarkColor(t1 ? null : ideTheme.backgroundColor))
        background = t1 ? null : ideTheme.backgroundColor;
      else
        background = theme.canvasColor;
      t1 = C.Map_iTJgp.$index(0, 900);
      return K._baseTheme(background, ideTheme, C.Map_sgpIz.$index(0, 400), t1, C.Map_iTJgp.$index(0, 600), theme);
    },
    _lightTheme: function(ideTheme) {
      var background,
        theme = X.ThemeData_ThemeData(C.Brightness_1, null),
        t1 = ideTheme == null;
      if (K.isValidLightColor(t1 ? null : ideTheme.backgroundColor))
        background = t1 ? null : ideTheme.backgroundColor;
      else
        background = theme.canvasColor;
      t1 = C.Map_sgpIz.$index(0, 600);
      return K._baseTheme(background, ideTheme, C.Map_iTwHq.$index(0, 400), t1, C.Map_sgpIz.$index(0, 600), theme);
    },
    _baseTheme: function(backgroundColor, ideTheme, indicatorColor, primaryColor, selectedRowColor, theme) {
      var t8, t9, _null = null,
        t1 = C.Map_sgpIz.$index(0, 700),
        t2 = C.Map_sgpIz.$index(0, 400),
        t3 = C.Map_sgpIz.$index(0, 400),
        t4 = C.Map_iTJgp.$index(0, 600),
        t5 = C.Map_sgpIz.$index(0, 400),
        t6 = theme.colorScheme,
        t7 = t6.copyWith$1$background(backgroundColor);
      t6 = t6.brightness === C.Brightness_1;
      t8 = B.OutlinedButton_styleFrom(_null, _null, _null, _null, _null, _null, _null, C.Size_8aB0, _null, C.Size_36_32, _null, _null, t6 ? C.Color_4278190080 : C.Color_4293980400, _null, _null, _null, _null, _null, _null, _null);
      t9 = U.TextButton_styleFrom(_null, _null, _null, _null, _null, _null, _null, C.Size_8aB0, _null, C.Size_36_32, _null, _null, t6 ? C.Color_4278190080 : C.Color_4293980400, _null, _null, _null, _null, _null, _null, _null);
      return theme.copyWith$14$accentColor$backgroundColor$canvasColor$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$scaffoldBackgroundColor$selectedRowColor$textButtonTheme$toggleableActiveColor(t3, t4, backgroundColor, t7, new T.ElevatedButtonThemeData(D.ElevatedButton_styleFrom(_null, _null, _null, _null, _null, _null, C.Size_8aB0, _null, C.Size_36_32, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)), indicatorColor, new U.OutlinedButtonThemeData(t8), primaryColor, t1, t2, backgroundColor, selectedRowColor, new T.TextButtonThemeData(t9), t5);
    },
    isValidDarkColor: function(color) {
      if (color == null)
        return false;
      return color.computeLuminance$0() <= 0.1;
    },
    isValidLightColor: function(color) {
      if (color == null)
        return false;
      return color.computeLuminance$0() >= 0.9;
    },
    ThemeDataExtension_get_titleSolidBackgroundColor: function(_this) {
      var t1;
      if (_this.colorScheme.brightness === C.Brightness_1) {
        t1 = C.Map_HFpTk.$index(0, 50);
        t1 = U.ColorExtension_darken(t1, 0.05);
      } else
        t1 = U.ColorExtension_darken(_this.canvasColor, 0.2);
      return t1;
    },
    denseAwareOutlinedButtonStyle: function(context, includeTextWidth) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18,
        buttonStyle = K.Theme_of(context).outlinedButtonTheme.style;
      if (!(includeTextWidth == null || context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.size._dx > includeTextWidth)) {
        t1 = buttonStyle.textStyle;
        t2 = buttonStyle.backgroundColor;
        t3 = buttonStyle.foregroundColor;
        t4 = buttonStyle.overlayColor;
        t5 = buttonStyle.shadowColor;
        t6 = buttonStyle.elevation;
        t7 = buttonStyle.minimumSize;
        t8 = buttonStyle.fixedSize;
        t9 = buttonStyle.maximumSize;
        t10 = buttonStyle.side;
        t11 = buttonStyle.shape;
        t12 = buttonStyle.mouseCursor;
        t13 = buttonStyle.visualDensity;
        t14 = buttonStyle.tapTargetSize;
        t15 = buttonStyle.animationDuration;
        t16 = buttonStyle.enableFeedback;
        t17 = buttonStyle.alignment;
        t18 = buttonStyle.splashFactory;
        buttonStyle = A.ButtonStyle$(t17, t15, t2, t6, t16, t8, t3, t9, t7, t12, t4, new V._MaterialStatePropertyWith(new K.denseAwareOutlinedButtonStyle_closure(), type$._MaterialStatePropertyWith_legacy_EdgeInsets), t5, t11, t10, t18, t14, t1, t13);
      }
      return buttonStyle;
    },
    denseAwareOutlinedButtonStyle_closure: function denseAwareOutlinedButtonStyle_closure() {
    },
    ExtensionEvents_ExtensionEvents$fromJson: function(json) {
      var t1 = type$.JSArray_ExtensionEvent,
        events = H._setArrayType([], t1);
      J.forEach$1$ax(json, new K.ExtensionEvents_ExtensionEvents$fromJson_closure(events));
      t1 = H._setArrayType([], t1);
      C.JSArray_methods.addAll$1(t1, events);
      return new K.ExtensionEvents(t1);
    },
    RasterCache_RasterCache$fromJson: function(json) {
      var t1 = J.getInterceptor$asx(json);
      return new K.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;
    },
    CupertinoUserInterfaceLevel_maybeOf: function(context) {
      context.dependOnInheritedWidgetOfExactType$1$0(type$.CupertinoUserInterfaceLevel);
      return null;
    },
    CupertinoUserInterfaceLevelData: function CupertinoUserInterfaceLevelData(t0, t1) {
      this.index = t0;
      this._interface_level$_name = t1;
    },
    CupertinoTheme_of: function(context) {
      var inheritedTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$._InheritedCupertinoTheme),
        t1 = inheritedTheme == null ? null : inheritedTheme.theme.data;
      return (t1 == null ? C.CupertinoThemeData_KQb : t1).resolveFrom$1(context);
    },
    CupertinoThemeData$_rawWithDefaults: function(brightness, primaryColor, primaryContrastingColor, textTheme, barBackgroundColor, scaffoldBackgroundColor, _defaults) {
      return new K.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() {
    },
    ForcePressGestureRecognizer$: function(debugOwner) {
      var t1 = type$.int,
        t2 = P.HashSet_HashSet(t1);
      return new K.ForcePressGestureRecognizer(C._ForceState_0, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, debugOwner, null, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    ForcePressGestureRecognizer__inverseLerp: function(min, max, t) {
      var value = (t - min) / (max - min);
      return !isNaN(value) ? C.JSNumber_methods.clamp$2(value, 0, 1) : value;
    },
    _ForceState: function _ForceState(t0, t1) {
      this.index = t0;
      this._force_press$_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;
      _._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;
    },
    ButtonStyleButton_scaledPadding: function(geometry1x, geometry2x, geometry3x, textScaleFactor) {
      var t1;
      if (textScaleFactor <= 1)
        return geometry1x;
      else if (textScaleFactor >= 3)
        return geometry3x;
      else if (textScaleFactor <= 2) {
        t1 = V.EdgeInsetsGeometry_lerp(geometry1x, geometry2x, textScaleFactor - 1);
        t1.toString;
        return t1;
      }
      t1 = V.EdgeInsetsGeometry_lerp(geometry2x, geometry3x, textScaleFactor - 2);
      t1.toString;
      return t1;
    },
    ButtonStyleButton: function ButtonStyleButton() {
    },
    _ButtonStyleState: function _ButtonStyleState(t0, t1, t2) {
      var _ = this;
      _._backgroundColor = _._button_style_button$_elevation = _._button_style_button$_controller = null;
      _._button_style_button$_states = t0;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _ButtonStyleState__handleHighlightChanged_closure: function _ButtonStyleState__handleHighlightChanged_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    _ButtonStyleState__handleHoveredChanged_closure: function _ButtonStyleState__handleHoveredChanged_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    _ButtonStyleState__handleFocusedChanged_closure: function _ButtonStyleState__handleFocusedChanged_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    _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_closure17: function _ButtonStyleState_build_closure17(t0) {
      this.effectiveValue = t0;
    },
    _ButtonStyleState_build__closure0: function _ButtonStyleState_build__closure0(t0) {
      this.states = t0;
    },
    _ButtonStyleState_build_closure18: function _ButtonStyleState_build_closure18(t0) {
      this.effectiveValue = t0;
    },
    _ButtonStyleState_build__closure: function _ButtonStyleState_build__closure(t0) {
      this.states = t0;
    },
    _ButtonStyleState_build_closure10: function _ButtonStyleState_build_closure10() {
    },
    _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(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) {
      var _ = this;
      _._button_style_button$_minSize = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderInputPadding_hitTest_closure0: function _RenderInputPadding_hitTest_closure0(t0, t1) {
      this.$this = t0;
      this.center = t1;
    },
    __ButtonStyleState_State_TickerProviderStateMixin: function __ButtonStyleState_State_TickerProviderStateMixin() {
    },
    Checkbox$: function(activeColor, autofocus, checkColor, materialTapTargetSize, onChanged, tristate, value) {
      return new K.Checkbox(value, onChanged, activeColor, checkColor, tristate, materialTapTargetSize, false, null);
    },
    Checkbox: function Checkbox(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.value = t0;
      _.onChanged = t1;
      _.activeColor = t2;
      _.checkColor = t3;
      _.tristate = t4;
      _.materialTapTargetSize = t5;
      _.autofocus = t6;
      _.key = t7;
    },
    _CheckboxState: function _CheckboxState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      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;
      _._widget = null;
      _._debugLifecycleState = t14;
      _._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.themeData = 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() {
    },
    ChipThemeData$: function(backgroundColor, brightness, checkmarkColor, deleteIconColor, disabledColor, elevation, labelPadding, labelStyle, padding, pressElevation, secondaryLabelStyle, secondarySelectedColor, selectedColor, selectedShadowColor, shadowColor, shape, side) {
      return new K.ChipThemeData(backgroundColor, deleteIconColor, disabledColor, selectedColor, secondarySelectedColor, shadowColor, selectedShadowColor, checkmarkColor, labelPadding, padding, side, shape, labelStyle, secondaryLabelStyle, brightness, elevation, pressElevation);
    },
    ChipThemeData_ChipThemeData$fromDefaults: function(brightness, labelStyle, secondaryColor) {
      var backgroundColor, deleteIconColor, disabledColor, selectedColor, secondarySelectedColor, secondaryLabelStyle, _null = null,
        primaryColor = brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4294967295,
        t1 = primaryColor.value,
        t2 = t1 >>> 16 & 255,
        t3 = t1 >>> 8 & 255;
      t1 &= 255;
      backgroundColor = P.Color$fromARGB(31, t2, t3, t1);
      deleteIconColor = P.Color$fromARGB(222, t2, t3, t1);
      disabledColor = P.Color$fromARGB(12, t2, t3, t1);
      selectedColor = P.Color$fromARGB(61, t2, t3, t1);
      secondarySelectedColor = P.Color$fromARGB(61, secondaryColor.get$value(secondaryColor) >>> 16 & 255, secondaryColor.get$value(secondaryColor) >>> 8 & 255, secondaryColor.get$value(secondaryColor) & 255);
      secondaryLabelStyle = labelStyle.copyWith$1$color(P.Color$fromARGB(222, secondaryColor.get$value(secondaryColor) >>> 16 & 255, secondaryColor.get$value(secondaryColor) >>> 8 & 255, secondaryColor.get$value(secondaryColor) & 255));
      return K.ChipThemeData$(backgroundColor, brightness, _null, deleteIconColor, disabledColor, _null, _null, labelStyle.copyWith$1$color(P.Color$fromARGB(222, t2, t3, t1)), C.EdgeInsets_4_4_4_4, _null, secondaryLabelStyle, secondarySelectedColor, selectedColor, _null, _null, _null, _null);
    },
    ChipThemeData_lerp: function(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t1 ? _null : a.backgroundColor;
      t3 = b == null;
      t2 = P.Color_lerp(t2, t3 ? _null : b.backgroundColor, t);
      t2.toString;
      t4 = t1 ? _null : a.deleteIconColor;
      t4 = P.Color_lerp(t4, t3 ? _null : b.deleteIconColor, t);
      t5 = t1 ? _null : a.disabledColor;
      t5 = P.Color_lerp(t5, t3 ? _null : b.disabledColor, t);
      t5.toString;
      t6 = t1 ? _null : a.selectedColor;
      t6 = P.Color_lerp(t6, t3 ? _null : b.selectedColor, t);
      t6.toString;
      t7 = t1 ? _null : a.secondarySelectedColor;
      t7 = P.Color_lerp(t7, t3 ? _null : b.secondarySelectedColor, t);
      t7.toString;
      t8 = t1 ? _null : a.shadowColor;
      t8 = P.Color_lerp(t8, t3 ? _null : b.shadowColor, t);
      t9 = t1 ? _null : a.selectedShadowColor;
      t9 = P.Color_lerp(t9, t3 ? _null : b.selectedShadowColor, t);
      t10 = t1 ? _null : a.checkmarkColor;
      t10 = P.Color_lerp(t10, t3 ? _null : b.checkmarkColor, t);
      t11 = t1 ? _null : a.labelPadding;
      t11 = V.EdgeInsetsGeometry_lerp(t11, t3 ? _null : b.labelPadding, t);
      t12 = t1 ? _null : a.padding;
      t12 = V.EdgeInsetsGeometry_lerp(t12, t3 ? _null : b.padding, t);
      t12.toString;
      t13 = t1 ? _null : a.side;
      t13 = K.ChipThemeData__lerpSides(t13, t3 ? _null : b.side, t);
      t14 = t1 ? _null : a.shape;
      t14 = K.ChipThemeData__lerpShapes(t14, t3 ? _null : b.shape, t);
      t15 = t1 ? _null : a.labelStyle;
      t15 = A.TextStyle_lerp(t15, t3 ? _null : b.labelStyle, t);
      t15.toString;
      t16 = t1 ? _null : a.secondaryLabelStyle;
      t16 = A.TextStyle_lerp(t16, t3 ? _null : b.secondaryLabelStyle, t);
      t16.toString;
      if (t < 0.5) {
        t17 = t1 ? _null : a.brightness;
        if (t17 == null)
          t17 = C.Brightness_1;
      } else {
        t17 = t3 ? _null : b.brightness;
        if (t17 == null)
          t17 = C.Brightness_1;
      }
      t18 = t1 ? _null : a.elevation;
      t18 = P.lerpDouble(t18, t3 ? _null : b.elevation, t);
      t1 = t1 ? _null : a.pressElevation;
      return K.ChipThemeData$(t2, t17, t10, t4, t5, t18, t11, t15, t12, P.lerpDouble(t1, t3 ? _null : b.pressElevation, t), t16, t7, t6, t9, t8, t14, t13);
    },
    ChipThemeData__lerpSides: function(a, b, t) {
      var t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1) {
        t1 = b.color;
        return Y.BorderSide_lerp(new Y.BorderSide(P.Color$fromARGB(0, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255), 0, C.BorderStyle_1), b, t);
      }
      if (b == null) {
        t1 = a.color;
        return Y.BorderSide_lerp(new Y.BorderSide(P.Color$fromARGB(0, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255), 0, C.BorderStyle_1), a, t);
      }
      return Y.BorderSide_lerp(a, b, t);
    },
    ChipThemeData__lerpShapes: function(a, b, t) {
      if (a == null && b == null)
        return null;
      return type$.nullable_OutlinedBorder._as(Y.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() {
    },
    DropdownMenuItem$: function(child, key, value, $T) {
      return new K.DropdownMenuItem(value, child, C.AlignmentDirectional_m1_0, key, $T._eval$1("DropdownMenuItem<0>"));
    },
    DropdownButton$: function(iconEnabledColor, isDense, isExpanded, items, key, onChanged, selectedItemBuilder, style, underline, value, $T) {
      return new K.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) {
      var _ = this;
      _.color = t0;
      _.elevation = t1;
      _.selectedIndex = t2;
      _.resize = t3;
      _.getSelectedItemOffset = t4;
      _._dropdown$_painter = t5;
      _._repaint = t6;
    },
    _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) {
      var _ = this;
      _.route = t0;
      _.padding = t1;
      _.buttonRect = t2;
      _.constraints = t3;
      _.dropdownColor = t4;
      _.enableFeedback = t5;
      _.key = t6;
      _.$ti = t7;
    },
    _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) {
      var _ = this;
      _.items = t0;
      _.padding = t1;
      _.buttonRect = t2;
      _.selectedIndex = t3;
      _.elevation = t4;
      _.capturedThemes = t5;
      _.style = t6;
      _.dropdownColor = t7;
      _.menuMaxHeight = t8;
      _.enableFeedback = t9;
      _.itemHeights = t10;
      _.scrollController = null;
      _.barrierLabel = t11;
      _.filter = t12;
      _._offstage = false;
      _._secondaryAnimationProxy = _._animationProxy = null;
      _._willPopCallbacks = t13;
      _._scopeKey = t14;
      _._subtreeKey = t15;
      _._storageBucket = t16;
      _.__ModalRoute__modalBarrier = $;
      _._modalScopeCache = null;
      _.__ModalRoute__modalScope = $;
      _.LocalHistoryRoute__localHistory = t17;
      _._transitionCompleter = t18;
      _._routes$_controller = _._animation = null;
      _._secondaryAnimation = t19;
      _._trainHoppingListenerRemover = _._result = null;
      _._overlayEntries = t20;
      _._navigator$_navigator = null;
      _._settings = t21;
      _._restorationScopeId = t22;
      _._popCompleter = t23;
      _.$ti = t24;
    },
    _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) {
      var _ = this;
      _.route = t0;
      _.constraints = t1;
      _.padding = t2;
      _.buttonRect = t3;
      _.selectedIndex = t4;
      _.capturedThemes = t5;
      _.dropdownColor = t6;
      _.enableFeedback = t7;
      _.key = t8;
      _.$ti = t9;
    },
    _DropdownRoutePage_build_closure: function _DropdownRoutePage_build_closure(t0, t1, t2) {
      this.$this = t0;
      this.textDirection = t1;
      this.menu = t2;
    },
    _MenuItem: function _MenuItem(t0, t1, t2, t3, t4) {
      var _ = this;
      _.onLayout = t0;
      _.item = t1;
      _.child = t2;
      _.key = t3;
      _.$ti = t4;
    },
    _RenderMenuItem: function _RenderMenuItem(t0, t1) {
      var _ = this;
      _.onLayout = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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 = _._lastOrientation = _._dropdownRoute = _._selectedIndex = null;
      _._dropdown$_hasPrimaryFocus = false;
      _.___DropdownButtonState__focusHighlightMode = _.___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__handleFocusHighlightModeChange_closure: function _DropdownButtonState__handleFocusHighlightModeChange_closure(t0, t1) {
      this.$this = t0;
      this.mode = t1;
    },
    _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() {
    },
    PageTransitionsTheme: function PageTransitionsTheme() {
    },
    PageTransitionsTheme__all_closure: function PageTransitionsTheme__all_closure(t0) {
      this.builders = t0;
    },
    _PageTransitionsTheme_Object_Diagnosticable: function _PageTransitionsTheme_Object_Diagnosticable() {
    },
    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() {
    },
    Theme_of: function(context) {
      var theme,
        inheritedTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$._InheritedTheme),
        category = L.Localizations_of(context, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations) == null ? null : C.ScriptCategory_0;
      if (category == null)
        category = C.ScriptCategory_0;
      theme = inheritedTheme == null ? null : inheritedTheme.theme.data;
      if (theme == null)
        theme = $.$get$Theme__kFallbackTheme();
      return X.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) {
      var _ = this;
      _._theme$_data = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _AnimatedThemeState_forEachTween_closure: function _AnimatedThemeState_forEachTween_closure() {
    },
    AlignmentGeometry_lerp: function(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 K.Alignment && b instanceof K.Alignment)
        return K.Alignment_lerp(a, b, t);
      if (a instanceof K.AlignmentDirectional && b instanceof K.AlignmentDirectional)
        return K.AlignmentDirectional_lerp(a, b, t);
      t1 = P.lerpDouble(a.get$_x(), b.get$_x(), t);
      t1.toString;
      t2 = P.lerpDouble(a.get$_alignment$_start(a), b.get$_alignment$_start(b), t);
      t2.toString;
      t3 = P.lerpDouble(a.get$_y(), b.get$_y(), t);
      t3.toString;
      return new K._MixedAlignment(t1, t2, t3);
    },
    Alignment_lerp: function(a, b, t) {
      var t2,
        t1 = P.lerpDouble(a.x, b.x, t);
      t1.toString;
      t2 = P.lerpDouble(a.y, b.y, t);
      t2.toString;
      return new K.Alignment(t1, t2);
    },
    Alignment__stringify: function(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(" + J.toStringAsFixed$1$n(x, 1) + ", " + J.toStringAsFixed$1$n(y, 1) + ")";
    },
    AlignmentDirectional_lerp: function(a, b, t) {
      var t2,
        t1 = P.lerpDouble(a.start, b.start, t);
      t1.toString;
      t2 = P.lerpDouble(a.y, b.y, t);
      t2.toString;
      return new K.AlignmentDirectional(t1, t2);
    },
    AlignmentDirectional__stringify: function(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(" + J.toStringAsFixed$1$n(start, 1) + ", " + J.toStringAsFixed$1$n(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;
    },
    BorderRadiusGeometry_lerp: function(a, b, t) {
      var t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        a = C.BorderRadius_tLn;
      return a.add$1(0, (b == null ? C.BorderRadius_tLn : b).subtract$1(a).$mul(0, t));
    },
    BorderRadius$all: function(radius) {
      return new K.BorderRadius(radius, radius, radius, radius);
    },
    BorderRadius$circular: function(radius) {
      var t1 = new P.Radius(radius, radius);
      return new K.BorderRadius(t1, t1, t1, t1);
    },
    BorderRadius_lerp: function(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 = P.Radius_lerp(a.topLeft, b.topLeft, t);
      t1.toString;
      t2 = P.Radius_lerp(a.topRight, b.topRight, t);
      t2.toString;
      t3 = P.Radius_lerp(a.bottomLeft, b.bottomLeft, t);
      t3.toString;
      t4 = P.Radius_lerp(a.bottomRight, b.bottomRight, t);
      t4.toString;
      return new K.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;
    },
    PaintingContext__repaintCompositedChild: function(child, childContext, debugAlsoPaintedParent) {
      var t1,
        childLayer = type$.nullable_OffsetLayer._as(child._layer);
      if (childLayer == null)
        child._layer = new T.OffsetLayer(C.Offset_0_0);
      else
        childLayer.removeAllChildren$0();
      t1 = child._layer;
      t1.toString;
      childContext = new K.PaintingContext(t1, child.get$paintBounds());
      child._paintWithContext$2(childContext, C.Offset_0_0);
      childContext.stopRecordingIfNeeded$0();
    },
    RenderObject__cleanChildRelayoutBoundary: function(child) {
      child._cleanRelayoutBoundary$0();
    },
    _SemanticsGeometry__transformRect: function(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 C.Rect_0_0_0_0;
      return T.MatrixUtils_inverseTransformRect(transform, rect);
    },
    _SemanticsGeometry__applyIntermediatePaintTransforms: function(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: function(a, b) {
      if (a == null)
        return b;
      if (b == null)
        return a;
      return a.intersect$1(b);
    },
    DiagnosticsDebugCreator$: function(value) {
      var _null = null;
      return new K.DiagnosticsDebugCreator(_null, false, true, _null, _null, _null, false, value, C.C__NoDefaultValue, C.DiagnosticLevel_0, "debugCreator", true, true, _null, C.DiagnosticsTreeStyle_8);
    },
    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;
      _._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__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;
    },
    _AbortingSemanticsFragment: function _AbortingSemanticsFragment(t0, t1) {
      this._ancestorChain = t0;
      this._object$_tagsForChildren = null;
      this.dropsSemanticsOfPreviousSiblings = t1;
    },
    _SemanticsGeometry: function _SemanticsGeometry() {
      var _ = this;
      _._semanticsClipRect = _._paintClipRect = null;
      _.___SemanticsGeometry__rect = _.___SemanticsGeometry__transform = $;
      _._markAsHidden = false;
    },
    DiagnosticsDebugCreator: function DiagnosticsDebugCreator(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;
    },
    _RenderObject_AbstractNode_DiagnosticableTreeMixin: function _RenderObject_AbstractNode_DiagnosticableTreeMixin() {
    },
    RelativeRect_RelativeRect$fromRect: function(rect, container) {
      return new K.RelativeRect(rect.left - container.left, rect.top - container.top, container.right - rect.right, container.bottom - rect.bottom);
    },
    RenderStack$: function(alignment, children, clipBehavior, fit, textDirection) {
      var t1 = new K.RenderStack(alignment, textDirection, fit, clipBehavior, 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.addAll$1(0, children);
      return t1;
    },
    RenderStack_getIntrinsicDimension: function(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, H.checkNum(mainChildSizeGetter.call$1(child)));
        child = t2.ContainerParentDataMixin_nextSibling;
      }
      return extent;
    },
    RenderStack_layoutPositionedChild: function(child, childParentData, size, alignment) {
      var t2, t3, childConstraints, x, hasVisualOverflow, y,
        t1 = childParentData.left;
      if (t1 != null && childParentData.right != null) {
        t2 = size._dx;
        t3 = childParentData.right;
        t3.toString;
        t1.toString;
        childConstraints = C.BoxConstraints_mlX.tighten$1$width(t2 - t3 - t1);
      } else {
        t1 = childParentData.width;
        childConstraints = t1 != null ? C.BoxConstraints_mlX.tighten$1$width(t1) : C.BoxConstraints_mlX;
      }
      t1 = childParentData.top;
      if (t1 != null && childParentData.bottom != null) {
        t2 = size._dy;
        t3 = childParentData.bottom;
        t3.toString;
        t1.toString;
        childConstraints = childConstraints.tighten$1$height(t2 - t3 - t1);
      } else {
        t1 = childParentData.height;
        if (t1 != null)
          childConstraints = childConstraints.tighten$1$height(t1);
      }
      child.layout$2$parentUsesSize(0, childConstraints, true);
      x = H._Cell$named("x");
      t1 = childParentData.left;
      if (t1 != null)
        x.set$finalLocalValue(t1);
      else {
        t1 = childParentData.right;
        t2 = child._box$_size;
        if (t1 != null)
          x.set$finalLocalValue(size._dx - t1 - t2._dx);
        else {
          t2.toString;
          x.set$finalLocalValue(alignment.alongOffset$1(type$.Offset._as(size.$sub(0, t2)))._dx);
        }
      }
      hasVisualOverflow = (x._readLocal$0() < 0 || x._readLocal$0() + child._box$_size._dx > size._dx) && true;
      y = H._Cell$named("y");
      t1 = childParentData.top;
      if (t1 != null)
        y.set$finalLocalValue(t1);
      else {
        t1 = childParentData.bottom;
        t2 = child._box$_size;
        if (t1 != null)
          y.set$finalLocalValue(size._dy - t1 - t2._dy);
        else {
          t2.toString;
          y.set$finalLocalValue(alignment.alongOffset$1(type$.Offset._as(size.$sub(0, t2)))._dy);
        }
      }
      if (y._readLocal$0() < 0 || y._readLocal$0() + child._box$_size._dy > size._dy)
        hasVisualOverflow = true;
      childParentData.offset = new P.Offset(x._readLocal$0(), y._readLocal$0());
      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._stack$_name = t1;
    },
    Overflow: function Overflow(t0, t1) {
      this.index = t0;
      this._stack$_name = t1;
    },
    RenderStack: function RenderStack(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._hasVisualOverflow = false;
      _._resolvedAlignment = null;
      _._alignment = t0;
      _._stack$_textDirection = t1;
      _._fit = t2;
      _._clipBehavior = t3;
      _._clipRectLayer = null;
      _.ContainerRenderObjectMixin__childCount = t4;
      _.ContainerRenderObjectMixin__firstChild = t5;
      _.ContainerRenderObjectMixin__lastChild = t6;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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) {
      var _ = this;
      _._stack$_index = t0;
      _._hasVisualOverflow = false;
      _._resolvedAlignment = null;
      _._alignment = t1;
      _._stack$_textDirection = t2;
      _._fit = t3;
      _._clipBehavior = t4;
      _._clipRectLayer = null;
      _.ContainerRenderObjectMixin__childCount = t5;
      _.ContainerRenderObjectMixin__firstChild = t6;
      _.ContainerRenderObjectMixin__lastChild = t7;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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() {
    },
    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() {
    },
    DisposableBuildContext: function DisposableBuildContext(t0, t1) {
      this._disposable_build_context$_state = t0;
      this.$ti = t1;
    },
    Navigator$: function(initialRoute, key, observers, onGenerateInitialRoutes, onGenerateRoute, onPopPage, onUnknownRoute, pages, reportsRouteUpdateToEngine, restorationScopeId) {
      return new K.Navigator(pages, onPopPage, initialRoute, onGenerateRoute, onUnknownRoute, observers, restorationScopeId, onGenerateInitialRoutes, reportsRouteUpdateToEngine, key);
    },
    Navigator_maybePop: function(context) {
      return K.Navigator_of(context, false).maybePop$1(null);
    },
    Navigator_of: function(context, rootNavigator) {
      var t1, $navigator, navigator0;
      if (context instanceof N.StatefulElement) {
        t1 = context._framework$_state;
        t1.toString;
        t1 = t1 instanceof K.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: function($navigator, initialRouteName) {
      var t1, routeParts, t2, _i, t3, routeName, _null = null,
        result = H._setArrayType([], type$.JSArray_nullable_Route_dynamic);
      if (C.JSString_methods.startsWith$1(initialRouteName, "/") && initialRouteName.length > 1) {
        initialRouteName = C.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 + ("/" + H.S(routeParts[_i]));
            result.push($navigator._routeNamed$1$3$allowNull$arguments(routeName, true, _null, t1));
          }
        if (C.JSArray_methods.get$last(result) == null)
          C.JSArray_methods.set$length(result, 0);
      } else if (initialRouteName !== "/")
        result.push($navigator._routeNamed$1$3$allowNull$arguments(initialRouteName, true, _null, type$.dynamic));
      if (!!result.fixed$length)
        H.throwExpression(P.UnsupportedError$("removeWhere"));
      C.JSArray_methods._removeWhere$2(result, new K.Navigator_defaultGenerateInitialRoutes_closure(), true);
      if (result.length === 0)
        result.push($navigator._routeNamed$1$2$arguments("/", _null, type$.dynamic));
      return new H.CastList(result, type$.CastList_of_nullable_Route_dynamic_and_Route_dynamic);
    },
    _RouteEntry$: function(route, initialState, restorationInformation) {
      var t1 = $.$get$_RouteEntry_notAnnounced();
      return new K._RouteEntry(route, restorationInformation, initialState, t1, t1, t1);
    },
    _RouteEntry_isPresentPredicate: function(entry) {
      return entry.get$isPresent();
    },
    _RouteEntry_suitableForTransitionAnimationPredicate: function(entry) {
      var t1 = entry.currentState.index;
      return t1 <= 9 && t1 >= 3;
    },
    _RouteEntry_willBePresentPredicate: function(entry) {
      var t1 = entry.currentState.index;
      return t1 <= 7 && t1 >= 1;
    },
    _RouteEntry_isRoutePredicate: function(route) {
      return new K._RouteEntry_isRoutePredicate_closure(route);
    },
    _RestorationInformation__RestorationInformation$fromSerializableData: function(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 (C.List_ato[H._asIntS(t2)]) {
        case C._RouteRestorationType_0:
          t1 = t1.sublist$1(data, 1);
          t2 = J.getInterceptor$asx(t1);
          t3 = t2.$index(t1, 0);
          t3.toString;
          H._asIntS(t3);
          t4 = t2.$index(t1, 1);
          t4.toString;
          H._asStringS(t4);
          return new K._NamedRestorationInformation(t3, t4, t2.get$length(t1) > 2 ? t2.$index(t1, 2) : null, C._RouteRestorationType_0);
        case C._RouteRestorationType_1:
          t1 = J.$index$asx(t1.sublist$1(data, 1), 1);
          t1.toString;
          type$.Route_dynamic_Function_2_BuildContext_and_nullable_Object._as(P.PluginUtilities_getCallbackFromHandle(new P.CallbackHandle(H._asIntS(t1))));
          return null;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    RoutePopDisposition: function RoutePopDisposition(t0, t1) {
      this.index = t0;
      this._navigator$_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._navigator$_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;
      _.doingPop = false;
      _._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) {
      var _ = this;
      _.__NavigatorState__overlayKey = $;
      _._history = t0;
      _._serializableHistory = t1;
      _._observedRouteAdditions = t2;
      _._observedRouteDeletions = t3;
      _.focusScopeNode = t4;
      _._debugLocked = false;
      _._heroControllerFromScope = null;
      _.__NavigatorState__effectiveObservers = $;
      _._rawNextPagelessRestorationScopeId = t5;
      _._lastAnnouncedRouteName = null;
      _._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;
      _._widget = null;
      _._debugLifecycleState = t14;
      _._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._navigator$_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() {
    },
    RestorationScope_of: function(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.UnmanagedRestorationScope);
      return t1 == null ? null : t1.bucket;
    },
    UnmanagedRestorationScope$: function(bucket, child) {
      return new K.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() {
    },
    ScrollConfiguration$: function(behavior, child) {
      return new K.ScrollConfiguration(behavior, child, null);
    },
    ScrollConfiguration_of: function(context) {
      var configuration = context.dependOnInheritedWidgetOfExactType$1$0(type$.ScrollConfiguration),
        t1 = configuration == null ? null : configuration.behavior;
      return t1 == null ? C.C_ScrollBehavior : 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) {
      var _ = this;
      _.delegate = t0;
      _.scrollbar = t1;
      _.overscrollIndicator = t2;
      _.physics = t3;
      _.platform = t4;
      _._dragDevices = t5;
    },
    ScrollConfiguration: function ScrollConfiguration(t0, t1, t2) {
      this.behavior = t0;
      this.child = t1;
      this.key = t2;
    },
    SlideTransition$: function(child, position, textDirection, transformHitTests) {
      return new K.SlideTransition(textDirection, transformHitTests, child, position, null);
    },
    ScaleTransition$: function(child, scale) {
      return new K.ScaleTransition(child, scale, null);
    },
    RotationTransition$: function(child, turns) {
      return new K.RotationTransition(child, turns, null);
    },
    FadeTransition$: function(alwaysIncludeSemantics, child, opacity) {
      return new K.FadeTransition(opacity, alwaysIncludeSemantics, child, null);
    },
    AnimatedBuilder$: function(animation, builder, child) {
      return new K.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;
    },
    AnimatedBuilder: function AnimatedBuilder(t0, t1, t2, t3) {
      var _ = this;
      _.builder = t0;
      _.child = t1;
      _.listenable = t2;
      _.key = t3;
    },
    GifInfo: function GifInfo(t0) {
      var _ = this;
      _.globalColorMap = null;
      _.frames = t0;
      _.height = _.width = 0;
    },
    PsdLayerAdditionalData: function PsdLayerAdditionalData(t0) {
      this.data = t0;
    },
    HdrSlice_allocateDataForType: function(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 H.wrapException(P.UnimplementedError$(null));
    },
    HdrSlice$: function($name, width, height, type, bitsPerSample) {
      return new K.HdrSlice($name, width, height, type, bitsPerSample, K.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;
    },
    ImageException$: function(message) {
      return new K.ImageException(message);
    },
    ImageException: function ImageException(t0) {
      this.message = t0;
    },
    StringIterator: function StringIterator(t0) {
      this.input = t0;
      this.nextIndex = 0;
      this._string_iterator$_current = null;
    },
    GuaranteeChannel$: function(innerStream, innerSink, allowSinkErrors, $T) {
      var t2, t1 = {};
      t1.innerStream = innerStream;
      t2 = new K.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;
      _._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;
    },
    getColor: function(r, g, b, a) {
      return (C.JSNumber_methods.toInt$0(J.clamp$2$n(a, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(J.clamp$2$n(b, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(J.clamp$2$n(g, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(J.clamp$2$n(r, 0, 255))) >>> 0;
    }
  },
  L = {IdeTheme: function IdeTheme(t0, t1, t2) {
      this.backgroundColor = t0;
      this.fontSize = t1;
      this.embed = t2;
    }, ConnectedApp: function ConnectedApp(t0) {
      var _ = this;
      _._flutterVersion = _._isFlutterApp = null;
      _._flutterVersionCompleter = t0;
      _._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() {
    }, HistoryManager: function HistoryManager() {
    },
    MemoryScreen_gaAction: function(key, $name) {
      var recordName;
      if (key != null)
        recordName = type$.legacy_ValueKey_legacy_String._as(key).value;
      else
        recordName = $name;
      F.select("memory", recordName);
    },
    DashedLine$: function(_totalWidth, color, _dashHeight, _dashWidth, _dashSpace) {
      var t2,
        t1 = new L.DashedLine(_dashHeight, _dashWidth, _dashSpace, _totalWidth, null);
      if (color == null) {
        t2 = C.Map_HFpTk.$index(0, 500);
        t2.toString;
      } else
        t2 = color;
      t1._memory_screen$_color = t2;
      return t1;
    },
    MemoryScreen: function MemoryScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.screenId = t0;
      _.title = t1;
      _.icon = t2;
      _.tabKey = t3;
      _.requiresLibrary = t4;
      _.requiresDartVm = t5;
      _.requiresDebugBuild = t6;
      _.requiresVmDeveloperMode = t7;
      _.worksOffline = t8;
      _.shouldShowForFlutterVersion = t9;
    },
    MemoryBody: function MemoryBody(t0) {
      this.key = t0;
    },
    MemoryBodyState: function MemoryBodyState(t0, t1, t2, t3) {
      var _ = this;
      _.legendOverlayEntry = _.hoverOverlayEntry = _.controller = _.androidChartController = _.vmChartController = _.eventChartController = null;
      _.isAdvancedSettingsEnabled = false;
      _.isAndroidCollection = true;
      _.hoverKey = t0;
      _.SingleTickerProviderStateMixin__ticker = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    MemoryBodyState_didChangeDependencies_closure: function MemoryBodyState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies__closure4: function MemoryBodyState_didChangeDependencies__closure4(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies_closure0: function MemoryBodyState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies_closure1: function MemoryBodyState_didChangeDependencies_closure1(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies__closure3: function MemoryBodyState_didChangeDependencies__closure3(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies_closure2: function MemoryBodyState_didChangeDependencies_closure2(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies__closure2: function MemoryBodyState_didChangeDependencies__closure2(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies_closure3: function MemoryBodyState_didChangeDependencies_closure3(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies_closure4: function MemoryBodyState_didChangeDependencies_closure4(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies_closure5: function MemoryBodyState_didChangeDependencies_closure5(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies_closure6: function MemoryBodyState_didChangeDependencies_closure6(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies__closure1: function MemoryBodyState_didChangeDependencies__closure1(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies_closure7: function MemoryBodyState_didChangeDependencies_closure7(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies__closure0: function MemoryBodyState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies_closure8: function MemoryBodyState_didChangeDependencies_closure8(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies__closure: function MemoryBodyState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    MemoryBodyState_build_closure: function MemoryBodyState_build_closure(t0) {
      this.$this = t0;
    },
    MemoryBodyState__intervalDropdown_closure: function MemoryBodyState__intervalDropdown_closure(t0, t1) {
      this.displayOneMinute = t0;
      this.isVerboseDropdown = t1;
    },
    MemoryBodyState__intervalDropdown_closure0: function MemoryBodyState__intervalDropdown_closure0(t0) {
      this.$this = t0;
    },
    MemoryBodyState__intervalDropdown__closure: function MemoryBodyState__intervalDropdown__closure(t0, t1) {
      this.$this = t0;
      this.newValue = t1;
    },
    MemoryBodyState__memorySourceDropdown_closure: function MemoryBodyState__memorySourceDropdown_closure(t0, t1) {
      this.$this = t0;
      this.isVerbose = t1;
    },
    MemoryBodyState__memorySourceDropdown_closure0: function MemoryBodyState__memorySourceDropdown_closure0(t0) {
      this.$this = t0;
    },
    MemoryBodyState__memorySourceDropdown__closure: function MemoryBodyState__memorySourceDropdown__closure(t0, t1) {
      this.$this = t0;
      this.newValue = t1;
    },
    MemoryBodyState__buildPrimaryStateControls_closure: function MemoryBodyState__buildPrimaryStateControls_closure(t0, t1) {
      this.$this = t0;
      this.textTheme = t1;
    },
    MemoryBodyState__openSettingsDialog_closure: function MemoryBodyState__openSettingsDialog_closure(t0) {
      this.$this = t0;
    },
    MemoryBodyState_legendRow_legendPart: function MemoryBodyState_legendRow_legendPart(t0) {
      this.legendEntry = t0;
    },
    MemoryBodyState_legendRow_legendSymbol: function MemoryBodyState_legendRow_legendSymbol(t0) {
      this.$this = t0;
    },
    MemoryBodyState_hoverRow_hoverPartImageLine: function MemoryBodyState_hoverRow_hoverPartImageLine(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.$this = t0;
      _.hasNumeric = t1;
      _.hasUnit = t2;
      _.scaleImage = t3;
      _.bold = t4;
      _.hoverTitleEntry = t5;
      _.hoverSmallEntry = t6;
      _.hoverValueEntry = t7;
    },
    MemoryBodyState_showHover_closure: function MemoryBodyState_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;
    },
    MemoryBodyState_showLegend_closure: function MemoryBodyState_showLegend_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.position = t1;
      _.box = t2;
      _.colorScheme = t3;
      _.legendRows = t4;
    },
    DashedLine: function DashedLine(t0, t1, t2, t3, t4) {
      var _ = this;
      _._dashHeight = t0;
      _._dashWidth = t1;
      _._dashSpace = t2;
      _._totalWidth = t3;
      _._memory_screen$_color = null;
      _._repaint = t4;
    },
    MemoryConfigurationsDialog: function MemoryConfigurationsDialog(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;
    },
    _MemoryBodyState_State_AutoDisposeMixin: function _MemoryBodyState_State_AutoDisposeMixin() {
    },
    _MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin: function _MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin() {
    },
    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() {
    },
    DevToolsServerConnection$_: function(sseClient) {
      var t1 = new L.DevToolsServerConnection(sseClient, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Completer_dynamic));
      t1.DevToolsServerConnection$_$1(sseClient);
      return t1;
    },
    DevToolsServerConnection_connect: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_DevToolsServerConnection),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], uri, response, e, exception, baseUri, baseUriPathSegments, t1, t2, t3, t4, $async$exception;
      var $async$DevToolsServerConnection_connect = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              baseUri = P.Uri_base();
              baseUriPathSegments = J.where$1$ax(baseUri.get$pathSegments(), new L.DevToolsServerConnection_connect_closure());
              t1 = baseUri.get$scheme();
              t2 = baseUri.get$host(baseUri);
              t3 = baseUri.get$port(baseUri);
              t4 = P.List_List$of(baseUriPathSegments, true, type$.legacy_String);
              t4.push("api");
              t4.push("ping");
              uri = P._Uri__Uri(t2, null, t4, t3, null, t1, null);
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait(G.get(uri).timeout$1(0, C.Duration_1000000), $async$DevToolsServerConnection_connect);
            case 7:
              // returning from await.
              response = $async$result;
              if (response.statusCode === 200) {
                t1 = response;
                t1 = B.encodingForCharset(J.$index$asx(U._contentTypeForHeaders(t1.headers).parameters._collection$_map, "charset")).decode$1(0, t1.bodyBytes) !== "OK";
              } else
                t1 = true;
              if (t1) {
                B.log("devtools server not available (" + H.S(response.statusCode) + ")", C.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 = H.unwrapException($async$exception);
              B.log("devtools server not available (" + H.S(e) + ")", C.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 = H._setArrayType([""], type$.JSArray_legacy_String);
              C.JSArray_methods.addAll$1(t1, baseUriPathSegments);
              t1.push("api");
              t1.push("sse");
              $async$returnValue = L.DevToolsServerConnection$_(M.SseClient$(P._Uri__Uri(null, null, t1, null, null, null, null).get$_text()));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$DevToolsServerConnection_connect, $async$completer);
    },
    DevToolsServerConnection: function DevToolsServerConnection(t0, t1) {
      var _ = this;
      _.sseClient = t0;
      _._nextRequestId = 0;
      _._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;
    },
    Split$: function(axis, children, initialFractions, minSizes, splitters) {
      L._verifyFractionsSumTo1(initialFractions);
      return new L.Split(axis, children, initialFractions, minSizes, splitters, null);
    },
    Split_axisFor: function(context, horizontalAspectRatio) {
      var screenSize = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.size;
      if (screenSize._dx / screenSize._dy >= horizontalAspectRatio)
        return C.Axis_0;
      return C.Axis_1;
    },
    _verifyFractionsSumTo1: function(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;
      _._widget = _.fractions = 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;
    },
    TraceEvent$: function(json) {
      var t1 = J.getInterceptor$asx(json);
      return new L.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$: function($event, timeReceived) {
      var t1 = $._traceEventWrapperId;
      $._traceEventWrapperId = t1 + 1;
      return new L.TraceEventWrapper($event, t1);
    },
    generateAsyncUID: function(category, id, scope) {
      var t1 = H._setArrayType([category], type$.JSArray_legacy_String);
      if (scope != null)
        t1.push(scope);
      t1.push(id);
      return C.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) {
      this.event = t0;
      this.id = t1;
    },
    TimelineEventType: function TimelineEventType(t0, t1) {
      this.index = t0;
      this._trace_event$_name = t1;
    },
    ClassHeapDetailStats: function ClassHeapDetailStats(t0, t1, t2, t3, t4) {
      var _ = this;
      _.classRef = t0;
      _.instancesCurrent = t1;
      _.instancesDelta = t2;
      _.bytesCurrent = t3;
      _.bytesDelta = t4;
      _.isStacktraced = false;
    },
    HeapSpace$_fromJson: function(json) {
      var t1 = J.getInterceptor$asx(json);
      return new L.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;
    },
    XTypeGroup__removeLeadingDots: function(exts) {
      var t1 = H._arrayInstanceType(exts)._eval$1("MappedListIterable<1,String>");
      t1 = P.List_List$of(new H.MappedListIterable(exts, new L.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() {
    },
    _CupertinoDesktopTextSelectionControls: function _CupertinoDesktopTextSelectionControls() {
    },
    _CupertinoLocalizationsDelegate: function _CupertinoLocalizationsDelegate() {
    },
    DefaultCupertinoLocalizations: function DefaultCupertinoLocalizations() {
    },
    _DesktopTextSelectionControls: function _DesktopTextSelectionControls() {
    },
    InputDecoration$: function(alignLabelWithHint, border, constraints, contentPadding, counter, counterStyle, counterText, disabledBorder, enabled, enabledBorder, errorBorder, errorMaxLines, errorStyle, errorText, fillColor, filled, floatingLabelBehavior, focusColor, focusedBorder, focusedErrorBorder, hasFloatingPlaceholder, helperMaxLines, helperStyle, helperText, hintMaxLines, hintStyle, hintText, hintTextDirection, hoverColor, icon, isCollapsed, isDense, labelStyle, labelText, prefix, prefixIcon, prefixIconConstraints, prefixStyle, prefixText, semanticCounterText, suffix, suffixIcon, suffixIconConstraints, suffixStyle, suffixText) {
      return new L.InputDecoration(icon, labelText, labelStyle, helperText, helperStyle, helperMaxLines, hintText, hintStyle, hintTextDirection, hintMaxLines, errorText, errorStyle, errorMaxLines, true, floatingLabelBehavior, isDense, contentPadding, false, prefixIcon, prefixIconConstraints, prefix, prefixText, prefixStyle, suffixIcon, suffix, suffixText, suffixStyle, 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) {
      var _ = this;
      _.___BorderContainerState__hoverColorTween = _.___BorderContainerState__hoverAnimation = _.___BorderContainerState__border = _.___BorderContainerState__borderAnimation = _.___BorderContainerState__hoverColorController = _.___BorderContainerState__controller = $;
      _.TickerProviderStateMixin__tickers = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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) {
      var _ = this;
      _.___HelperErrorState__controller = $;
      _._error = _._helper = null;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _HelperErrorState__handleChange_closure: function _HelperErrorState__handleChange_closure() {
    },
    FloatingLabelBehavior: function FloatingLabelBehavior(t0, t1) {
      this.index = t0;
      this._input_decorator$_name = t1;
    },
    _DecorationSlot: function _DecorationSlot(t0, t1) {
      this.index = t0;
      this._input_decorator$_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;
      _.border = t4;
      _.borderGap = t5;
      _.alignLabelWithHint = t6;
      _.isDense = t7;
      _.visualDensity = t8;
      _.icon = t9;
      _.input = t10;
      _.label = t11;
      _.hint = t12;
      _.prefix = t13;
      _.suffix = t14;
      _.prefixIcon = t15;
      _.suffixIcon = t16;
      _.helperError = t17;
      _.counter = t18;
      _.container = t19;
      _.fixTextFieldOutlineLabel = 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) {
      var _ = this;
      _.children = t0;
      _._input_decorator$_container = _._counter = _._helperError = _._suffixIcon = _._prefixIcon = _._suffix = _._prefix = _._input_decorator$_hint = _._input_decorator$_label = _._input_decorator$_input = _._icon = null;
      _._input_decorator$_decoration = t1;
      _._input_decorator$_textDirection = t2;
      _._input_decorator$_textBaseline = t3;
      _._textAlignVertical = t4;
      _._isFocused = t5;
      _._expands = t6;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = _._transformLayer = _._labelTransform = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderDecoration_debugDescribeChildren_add: function _RenderDecoration_debugDescribeChildren_add(t0) {
      this.value = t0;
    },
    _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;
    },
    _DecorationElement: function _DecorationElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _.slotToChild = t0;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _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) {
      var _ = this;
      _.___InputDecoratorState__shakingLabelController = _.___InputDecoratorState__floatingLabelController = $;
      _._borderGap = t0;
      _._effectiveDecoration = null;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _InputDecoratorState__handleChange_closure: function _InputDecoratorState__handleChange_closure() {
    },
    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) {
      var _ = this;
      _.icon = t0;
      _.labelText = t1;
      _.labelStyle = t2;
      _.helperText = t3;
      _.helperStyle = t4;
      _.helperMaxLines = t5;
      _.hintText = t6;
      _.hintStyle = t7;
      _.hintTextDirection = t8;
      _.hintMaxLines = t9;
      _.errorText = t10;
      _.errorStyle = t11;
      _.errorMaxLines = t12;
      _.hasFloatingPlaceholder = t13;
      _.floatingLabelBehavior = t14;
      _.isDense = t15;
      _.contentPadding = t16;
      _.isCollapsed = t17;
      _.prefixIcon = t18;
      _.prefixIconConstraints = t19;
      _.prefix = t20;
      _.prefixText = t21;
      _.prefixStyle = t22;
      _.suffixIcon = t23;
      _.suffix = t24;
      _.suffixText = t25;
      _.suffixStyle = t26;
      _.suffixIconConstraints = t27;
      _.counterText = t28;
      _.counter = t29;
      _.counterStyle = t30;
      _.filled = t31;
      _.fillColor = t32;
      _.focusColor = t33;
      _.hoverColor = t34;
      _.errorBorder = t35;
      _.focusedBorder = t36;
      _.focusedErrorBorder = t37;
      _.disabledBorder = t38;
      _.enabledBorder = t39;
      _.border = t40;
      _.enabled = t41;
      _.semanticCounterText = t42;
      _.alignLabelWithHint = t43;
      _.constraints = t44;
    },
    InputDecorationTheme: function InputDecorationTheme() {
    },
    _InputDecorationTheme_Object_Diagnosticable: function _InputDecorationTheme_Object_Diagnosticable() {
    },
    __BorderContainerState_State_TickerProviderStateMixin: function __BorderContainerState_State_TickerProviderStateMixin() {
    },
    __HelperErrorState_State_SingleTickerProviderStateMixin: function __HelperErrorState_State_SingleTickerProviderStateMixin() {
    },
    __InputDecoratorState_State_TickerProviderStateMixin: function __InputDecoratorState_State_TickerProviderStateMixin() {
    },
    AssetImage__manifestParser: function(jsonData) {
      var parsedJson, t1, t2, t3, t4, t5, t6;
      if (jsonData == null)
        return new O.SynchronousFuture(null, type$.SynchronousFuture_nullable_Map_of_String_and_List_String);
      parsedJson = type$.Map_String_dynamic._as(C.C_JsonCodec.decode$1(0, jsonData));
      t1 = J.getInterceptor$x(parsedJson);
      t2 = type$.String;
      t3 = P.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, P.List_List$from(t5._as(t1.$index(parsedJson, t6)), true, t2));
      }
      return new O.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$: function(codec, debugLabel, informationCollector, scale) {
      var t1 = new L.MultiFrameImageStreamCompleter(scale, informationCollector, H._setArrayType([], type$.JSArray_ImageStreamListener), H._setArrayType([], type$.JSArray_of_void_Function));
      t1.MultiFrameImageStreamCompleter$5$chunkEvents$codec$debugLabel$informationCollector$scale(null, 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;
    },
    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() {
    },
    MultiFrameImageStreamCompleter: function MultiFrameImageStreamCompleter(t0, t1, t2, t3) {
      var _ = this;
      _._image_stream$_codec = 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;
      _._hadAtLeastOneListener = false;
      _._keepAliveHandles = 0;
      _._image_stream$_disposed = false;
      _._onLastListenerRemovedCallbacks = t3;
    },
    MultiFrameImageStreamCompleter_closure: function MultiFrameImageStreamCompleter_closure(t0, t1) {
      this.$this = t0;
      this.informationCollector = t1;
    },
    MultiFrameImageStreamCompleter__handleAppFrame_closure: function MultiFrameImageStreamCompleter__handleAppFrame_closure(t0) {
      this.$this = t0;
    },
    _ImageStream_Object_Diagnosticable: function _ImageStream_Object_Diagnosticable() {
    },
    _ImageStreamCompleter_Object_Diagnosticable: function _ImageStreamCompleter_Object_Diagnosticable() {
    },
    RenderPerformanceOverlay: function RenderPerformanceOverlay(t0, t1, t2, t3) {
      var _ = this;
      _._optionsMask = t0;
      _._rasterizerThreshold = t1;
      _._checkerboardRasterCacheImages = t2;
      _._checkerboardOffscreenLayers = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    AutomaticKeepAlive: function AutomaticKeepAlive(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _AutomaticKeepAliveState: function _AutomaticKeepAliveState(t0) {
      var _ = this;
      _._automatic_keep_alive$_child = _._automatic_keep_alive$_handles = null;
      _._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() {
    },
    _NullWidget1: function _NullWidget1(t0) {
      this.key = t0;
    },
    Focus$: function(autofocus, canRequestFocus, child, debugLabel, descendantsAreFocusable, focusNode, includeSemantics, key, onFocusChange, onKey, skipTraversal) {
      return new L.Focus(debugLabel, child, onKey, onFocusChange, autofocus, focusNode, skipTraversal, includeSemantics, canRequestFocus, true, key);
    },
    Focus_maybeOf: function(context, scopeOk) {
      var marker = context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusMarker),
        node = marker == null ? null : marker.notifier;
      if (node == null)
        return null;
      return node;
    },
    FocusScope$: function(autofocus, child, key, node) {
      var _null = null;
      return new L.FocusScope(_null, child, _null, _null, autofocus, node, _null, true, _null, true, key);
    },
    FocusScope_of: function(context) {
      var t1,
        marker = context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusMarker);
      if (marker == null)
        t1 = null;
      else {
        t1 = marker.notifier;
        t1 = t1 == null ? null : t1.get$nearestScope();
      }
      return t1 == null ? context._owner.focusManager.rootScope : t1;
    },
    _FocusMarker$: function(child, node) {
      return new L._FocusMarker(node, child, null);
    },
    Focus: function Focus(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.debugLabel = t0;
      _.child = t1;
      _.onKey = t2;
      _.onFocusChange = t3;
      _.autofocus = t4;
      _.focusNode = t5;
      _.skipTraversal = t6;
      _.includeSemantics = t7;
      _.canRequestFocus = t8;
      _.descendantsAreFocusable = t9;
      _.key = t10;
    },
    _FocusState: function _FocusState(t0) {
      var _ = this;
      _._descendantsAreFocusable = _._canRequestFocus = _._hasPrimaryFocus = _._internalNode = null;
      _._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;
    },
    FocusScope: function FocusScope(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.debugLabel = t0;
      _.child = t1;
      _.onKey = t2;
      _.onFocusChange = t3;
      _.autofocus = t4;
      _.focusNode = t5;
      _.skipTraversal = t6;
      _.includeSemantics = t7;
      _.canRequestFocus = t8;
      _.descendantsAreFocusable = t9;
      _.key = t10;
    },
    _FocusScopeState: function _FocusScopeState(t0) {
      var _ = this;
      _._descendantsAreFocusable = _._canRequestFocus = _._hasPrimaryFocus = _._internalNode = null;
      _._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;
    },
    Icon$: function(icon, color, size) {
      return new L.Icon(icon, size, color, null);
    },
    Icon: function Icon(t0, t1, t2, t3) {
      var _ = this;
      _.icon = t0;
      _.size = t1;
      _.color = t2;
      _.key = t3;
    },
    _loadAll: function(locale, allDelegates) {
      var types, delegates, _i, delegate, t3, t4, inputValue, futureValue, _box_1 = {},
        t1 = type$.Type,
        t2 = type$.dynamic,
        output = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      _box_1.pendingList = null;
      types = P.LinkedHashSet_LinkedHashSet$_empty(t1);
      delegates = H._setArrayType([], type$.JSArray_LocalizationsDelegate_dynamic);
      for (t1 = allDelegates.length, _i = 0; _i < allDelegates.length; allDelegates.length === t1 || (0, H.throwConcurrentModificationError)(allDelegates), ++_i) {
        delegate = allDelegates[_i];
        delegate.toString;
        t3 = H.instanceType(delegate)._eval$1("LocalizationsDelegate.T");
        if (!types.contains$1(0, H.createRuntimeType(t3)) && delegate.isSupported$1(locale)) {
          types.add$1(0, H.createRuntimeType(t3));
          delegates.push(delegate);
        }
      }
      for (t1 = delegates.length, t3 = type$.JSArray__Pending, _i = 0; _i < delegates.length; delegates.length === t1 || (0, H.throwConcurrentModificationError)(delegates), ++_i) {
        t4 = {};
        delegate = delegates[_i];
        inputValue = delegate.load$1(0, locale);
        t4.completedValue = null;
        futureValue = inputValue.then$1$1(0, new L._loadAll_closure(t4), t2);
        if (t4.completedValue != null)
          output.$indexSet(0, H.createRuntimeType(H._instanceType(delegate)._eval$1("LocalizationsDelegate.T")), t4.completedValue);
        else {
          t4 = _box_1.pendingList;
          if (t4 == null)
            t4 = _box_1.pendingList = H._setArrayType([], t3);
          t4.push(new L._Pending(delegate, futureValue));
        }
      }
      t1 = _box_1.pendingList;
      if (t1 == null)
        return new O.SynchronousFuture(output, type$.SynchronousFuture_Map_Type_dynamic);
      return P.Future_wait(new H.MappedListIterable(t1, new L._loadAll_closure0(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Future<@>>")), t2).then$1$1(0, new L._loadAll_closure1(_box_1, output), type$.Map_Type_dynamic);
    },
    Localizations_maybeLocaleOf: function(context) {
      var scope = context.dependOnInheritedWidgetOfExactType$1$0(type$._LocalizationsScope);
      return scope == null ? null : scope.localizationsState._localizations$_locale;
    },
    Localizations_of: function(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;
    },
    GlowingOverscrollIndicator$: function(axisDirection, child, color) {
      return new L.GlowingOverscrollIndicator(axisDirection, color, child, null);
    },
    _GlowController$: function(axis, color, vsync) {
      var decelerator, _null = null,
        t1 = type$.Tween_double,
        t2 = new R.Tween(0, 0, t1),
        t3 = new R.Tween(0, 0, t1),
        t4 = new L._GlowController(C._GlowState_0, t2, t3, 0.5, 0.5, color, axis, P.List_List$filled(0, _null, false, type$.nullable_void_Function)),
        t5 = G.AnimationController$(_null, _null, 0, _null, 1, _null, vsync);
      t5.addStatusListener$1(t4.get$_changePhase());
      if (t4.___GlowController__glowController === $)
        t4.___GlowController__glowController = t5;
      else
        H.throwExpression(H.LateError$fieldAI("_glowController"));
      decelerator = S.CurvedAnimation$(C.C__DecelerateCurve, t4.get$_glowController(), _null);
      decelerator.parent.addListener$1(0, t4.get$notifyListeners());
      type$.Animation_double._as(decelerator);
      if (t4.___GlowController__glowOpacity === $)
        t4.___GlowController__glowOpacity = new R._AnimatedEvaluation(decelerator, t2, t1._eval$1("_AnimatedEvaluation<Animatable.T>"));
      else
        H.throwExpression(H.LateError$fieldAI("_glowOpacity"));
      if (t4.___GlowController__glowSize === $)
        t4.___GlowController__glowSize = new R._AnimatedEvaluation(decelerator, t3, t1._eval$1("_AnimatedEvaluation<Animatable.T>"));
      else
        H.throwExpression(H.LateError$fieldAI("_glowSize"));
      t1 = vsync.createTicker$1(t4.get$_tickDisplacement());
      if (t4.___GlowController__displacementTicker === $)
        t4.___GlowController__displacementTicker = t1;
      else
        H.throwExpression(H.LateError$fieldAI("_displacementTicker"));
      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) {
      var _ = this;
      _._lastNotificationType = _._leadingAndTrailingListener = _._trailingController = _._leadingController = null;
      _._accepted = t0;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _GlowState: function _GlowState(t0, t1) {
      this.index = t0;
      this._overscroll_indicator$_name = t1;
    },
    _GlowController: function _GlowController(t0, t1, t2, t3, t4, t5, t6, t7) {
      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;
      _._displacementTarget = t3;
      _._displacement = t4;
      _._pullDistance = 0;
      _._overscroll_indicator$_color = t5;
      _._axis = t6;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t7;
      _.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;
    },
    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() {
    },
    PerformanceOverlay: function PerformanceOverlay(t0, t1, t2, t3) {
      var _ = this;
      _.optionsMask = t0;
      _.checkerboardRasterCacheImages = t1;
      _.checkerboardOffscreenLayers = t2;
      _.key = t3;
    },
    BouncingScrollPhysics__applyFriction: function(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;
    },
    DefaultTextStyle$: function(child, key, maxLines, overflow, softWrap, style, textAlign, textHeightBehavior, textWidthBasis) {
      return new L.DefaultTextStyle(style, textAlign, softWrap, overflow, maxLines, textWidthBasis, textHeightBehavior, child, key);
    },
    DefaultTextStyle_merge: function(child, style) {
      var _null = null;
      return new T.Builder(new L.DefaultTextStyle_merge_closure(_null, style, _null, _null, _null, _null, _null, child), _null);
    },
    DefaultTextHeightBehavior_of: function(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextHeightBehavior);
      return t1 == null ? null : t1.get$textHeightBehavior(t1);
    },
    Text$: function(data, key, maxLines, overflow, semanticsLabel, softWrap, style, textAlign, textDirection, textScaleFactor) {
      return new L.Text(data, null, style, textAlign, textDirection, softWrap, overflow, textScaleFactor, maxLines, semanticsLabel, key);
    },
    Text$rich: function(textSpan, overflow, style, textAlign) {
      var _null = null;
      return new L.Text(_null, textSpan, style, textAlign, _null, _null, overflow, _null, _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;
    },
    _NullWidget2: function _NullWidget2(t0) {
      this.key = t0;
    },
    Text: function Text(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.data = t0;
      _.textSpan = t1;
      _.style = t2;
      _.textAlign = t3;
      _.textDirection = t4;
      _.softWrap = t5;
      _.overflow = t6;
      _.textScaleFactor = t7;
      _.maxLines = t8;
      _.semanticsLabel = t9;
      _.key = t10;
    },
    Visibility: function Visibility(t0, t1, t2) {
      this.child = t0;
      this.visible = t1;
      this.key = t2;
    },
    JsUrlStrategy0: function JsUrlStrategy0() {
    },
    BitmapFileHeader$: function(b) {
      var t2, t3,
        t1 = new L.BitmapFileHeader();
      if (!L.BitmapFileHeader_isValidFile(b))
        H.throwExpression(K.ImageException$("Not a bitmap file."));
      b.offset = b.offset + 2;
      t2 = b.readUint32$0();
      t3 = $.$get$__uint32();
      t3[0] = t2;
      t2 = $.$get$__uint32ToInt32();
      t1.__BitmapFileHeader_fileLength = t2[0];
      b.offset = b.offset + 4;
      t3[0] = b.readUint32$0();
      t1.__BitmapFileHeader_offset = t2[0];
      return t1;
    },
    BitmapFileHeader_isValidFile: function(b) {
      if (b.end - b.offset < 2)
        return false;
      return Z.InputBuffer$from(b, null, 0).readUint16$0() === 19778;
    },
    BmpInfo$: function(p, fileHeader) {
      var t5, t6, t7, t8, t9, compression, t10,
        t1 = fileHeader == null ? L.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 = P.LinkedHashMap_LinkedHashMap$_literal([0, C.BitmapCompression_1, 3, C.BitmapCompression_0], type$.int, type$.BitmapCompression).$index(0, t9);
      if (compression == null)
        H.throwExpression(K.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 L.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._bmp_info$_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;
    },
    JpegFrame: function JpegFrame(t0, t1) {
      var _ = this;
      _.samplesPerLine = _.scanLines = _.precision = _.progressive = null;
      _.maxVSamples = _.maxHSamples = 0;
      _.__JpegFrame_mcusPerColumn = _.__JpegFrame_mcusPerLine = $;
      _.components = t0;
      _.componentsOrder = t1;
    },
    PsdInnerShadowEffect: function PsdInnerShadowEffect() {
      this.enabled = this.version = null;
    },
    PsdImage$: function(bytes) {
      var t1 = new L.PsdImage(P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.PsdImageResource));
      t1.PsdImage$1(bytes);
      return t1;
    },
    PsdImage__blendOverlay: function(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 C.JSNumber_methods.toInt$0(C.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: function(a, b) {
      if (b === 0)
        return 0;
      return C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(C.JSNumber_methods.toInt$0(255 * (1 - (1 - a / 255) / (b / 255))), 0, 255));
    },
    PsdImage__blendLinearBurn: function(a, b) {
      return C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(a + b - 255, 0, 255));
    },
    PsdImage__blendColorDodge: function(a, b) {
      if (b === 255)
        return 255;
      return C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2(a / 255 / (1 - b / 255) * 255, 0, 255));
    },
    PsdImage__blendSoftLight: function(a, b) {
      var aa = a / 255,
        bb = b / 255,
        t1 = 1 - bb;
      return C.JSNumber_methods.round$0(255 * (t1 * bb * aa + bb * (1 - t1 * (1 - aa))));
    },
    PsdImage__blendHardLight: function(bottom, $top) {
      var a = $top / 255,
        b = bottom / 255;
      if (b < 0.5)
        return C.JSNumber_methods.round$0(510 * a * b);
      else
        return C.JSNumber_methods.round$0(255 * (1 - 2 * (1 - a) * (1 - b)));
    },
    PsdImage__blendVividLight: function(bottom, $top) {
      if ($top < 128)
        return L.PsdImage__blendColorBurn(bottom, 2 * $top);
      else
        return L.PsdImage__blendColorDodge(bottom, 2 * ($top - 128));
    },
    PsdImage__blendLinearLight: function(bottom, $top) {
      var t1;
      if ($top < 128)
        return L.PsdImage__blendLinearBurn(bottom, 2 * $top);
      else {
        t1 = 2 * ($top - 128);
        return t1 + bottom > 255 ? 255 : bottom + t1;
      }
    },
    PsdImage_createImageFromChannels: function(colorMode, bitDepth, width, height, channelList) {
      var t1, t2, t3, numChannels, ns, channel0, channel1, channel2, channel_1, y, di, si, x, di0, t4, t5, di1, di2, r, g, b, a, t6, t7, t8, alpha, y0, x0, z, y3, x3, z3, $R, $G, $B, rgb, gray, c, m, k, _s4_ = "data",
        output = U.Image$0(width, height, C.Channels_1),
        pixels = output.getBytes$0(),
        channels = P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.PsdChannel);
      for (t1 = J.getInterceptor$ax(channelList), t2 = t1.get$iterator(channelList); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        channels.$indexSet(0, t3.id, t3);
      }
      numChannels = t1.get$length(channelList);
      if (bitDepth === 8)
        ns = 1;
      else
        ns = bitDepth === 16 ? 2 : -1;
      if (ns === -1)
        throw H.wrapException(K.ImageException$("PSD: unsupported bit depth: " + H.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 = J.getInterceptor$asx(pixels), t2 = ns === 1, t3 = numChannels === 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;
              t4 = channel0.__PsdChannel_data;
              if (t4 === $)
                t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t5 = J.getInterceptor$asx(t4);
              t1.$indexSet(pixels, di, t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8);
              di1 = di0 + 1;
              t4 = channel1.__PsdChannel_data;
              if (t4 === $)
                t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t5 = J.getInterceptor$asx(t4);
              t1.$indexSet(pixels, di0, t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8);
              di2 = di1 + 1;
              t4 = channel2.__PsdChannel_data;
              if (t4 === $)
                t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t5 = J.getInterceptor$asx(t4);
              t1.$indexSet(pixels, di1, t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8);
              di1 = di2 + 1;
              if (numChannels >= 4) {
                t4 = channel_1.__PsdChannel_data;
                if (t4 === $)
                  t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
                t5 = J.getInterceptor$asx(t4);
                t4 = t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8;
              } else
                t4 = 255;
              t1.$indexSet(pixels, di2, t4);
              r = t1.$index(pixels, di);
              g = t1.$index(pixels, di0);
              t4 = di + 2;
              b = t1.$index(pixels, t4);
              a = t1.$index(pixels, di + 3);
              if (a !== 0) {
                t1.$indexSet(pixels, di, C.JSInt_methods.$tdiv((r + a - 255) * 255, a));
                t1.$indexSet(pixels, di0, C.JSInt_methods.$tdiv((g + a - 255) * 255, a));
                t1.$indexSet(pixels, t4, C.JSInt_methods.$tdiv((b + a - 255) * 255, a));
              }
              di = di1;
              break;
            case 9:
              t4 = channel0.__PsdChannel_data;
              if (t4 === $)
                t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t5 = J.getInterceptor$asx(t4);
              t4 = t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8;
              t5 = channel1.__PsdChannel_data;
              if (t5 === $)
                t5 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t6 = J.getInterceptor$asx(t5);
              t5 = t2 ? t6.$index(t5, si) : (t6.$index(t5, si) << 8 | t6.$index(t5, si + 1)) >>> 8;
              t6 = channel2.__PsdChannel_data;
              if (t6 === $)
                t6 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t7 = J.getInterceptor$asx(t6);
              t6 = t2 ? t7.$index(t6, si) : (t7.$index(t6, si) << 8 | t7.$index(t6, si + 1)) >>> 8;
              if (numChannels >= 4) {
                t7 = channel_1.__PsdChannel_data;
                if (t7 === $)
                  t7 = H.throwExpression(H.LateError$fieldNI(_s4_));
                t8 = J.getInterceptor$asx(t7);
                alpha = t2 ? t8.$index(t7, si) : (t8.$index(t7, si) << 8 | t8.$index(t7, si + 1)) >>> 8;
              } else
                alpha = 255;
              y0 = ((t4 * 100 >>> 8) + 16) / 116;
              x0 = (t5 - 128) / 500 + y0;
              z = y0 - (t6 - 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 = [C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2($R * 255, 0, 255)), C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2($G * 255, 0, 255)), C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2($B * 255, 0, 255))];
              di0 = di + 1;
              t1.$indexSet(pixels, di, rgb[0]);
              di = di0 + 1;
              t1.$indexSet(pixels, di0, rgb[1]);
              di0 = di + 1;
              t1.$indexSet(pixels, di, rgb[2]);
              di = di0 + 1;
              t1.$indexSet(pixels, di0, alpha);
              break;
            case 1:
              t4 = channel0.__PsdChannel_data;
              if (t4 === $)
                t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t5 = J.getInterceptor$asx(t4);
              gray = t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8;
              if (numChannels >= 2) {
                t4 = channel_1.__PsdChannel_data;
                if (t4 === $)
                  t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
                t5 = J.getInterceptor$asx(t4);
                alpha = t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8;
              } else
                alpha = 255;
              di0 = di + 1;
              t1.$indexSet(pixels, di, gray);
              di = di0 + 1;
              t1.$indexSet(pixels, di0, gray);
              di0 = di + 1;
              t1.$indexSet(pixels, di, gray);
              di = di0 + 1;
              t1.$indexSet(pixels, di0, alpha);
              break;
            case 4:
              t4 = channel0.__PsdChannel_data;
              if (t4 === $)
                t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t5 = J.getInterceptor$asx(t4);
              c = t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8;
              t4 = channel1.__PsdChannel_data;
              if (t4 === $)
                t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t5 = J.getInterceptor$asx(t4);
              m = t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8;
              t4 = channel2.__PsdChannel_data;
              if (t4 === $)
                t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t5 = J.getInterceptor$asx(t4);
              y0 = t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8;
              t4 = channels.$index(0, t3 ? -1 : 3).__PsdChannel_data;
              if (t4 === $)
                t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t5 = J.getInterceptor$asx(t4);
              k = t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8;
              if (numChannels >= 5) {
                t4 = channel_1.__PsdChannel_data;
                if (t4 === $)
                  t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
                t5 = J.getInterceptor$asx(t4);
                alpha = t2 ? t5.$index(t4, si) : (t5.$index(t4, si) << 8 | t5.$index(t4, si + 1)) >>> 8;
              } else
                alpha = 255;
              t4 = 1 - (255 - k) / 255;
              rgb = [C.JSNumber_methods.round$0(255 * (1 - (255 - c) / 255) * t4), C.JSNumber_methods.round$0(255 * (1 - (255 - m) / 255) * t4), C.JSNumber_methods.round$0(255 * (1 - (255 - y0) / 255) * t4)];
              di0 = di + 1;
              t1.$indexSet(pixels, di, rgb[0]);
              di = di0 + 1;
              t1.$indexSet(pixels, di0, rgb[1]);
              di0 = di + 1;
              t1.$indexSet(pixels, di, rgb[2]);
              di = di0 + 1;
              t1.$indexSet(pixels, di0, alpha);
              break;
            default:
              throw H.wrapException(K.ImageException$("Unhandled color mode: " + H.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;
    },
    VP8BandProbas$: function() {
      var _i,
        _list = J.JSArray_JSArray$allocateFixed(3, type$.Uint8List);
      for (_i = 0; _i < 3; ++_i)
        _list[_i] = new Uint8Array(11);
      return new L.VP8BandProbas(_list);
    },
    VP8Proba$: function() {
      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] = L.VP8BandProbas$();
        _list[_i] = _list0;
      }
      C.NativeUint8List_methods.fillRange$3(t1, 0, 3, 255);
      return new L.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;
    },
    LogRecord0: function LogRecord0(t0, t1, t2, t3) {
      var _ = this;
      _.level = t0;
      _.message = t1;
      _.loggerName = t2;
      _.time = 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() {
    },
    shortHash0: function(object) {
      return C.JSString_methods.padLeft$2(C.JSInt_methods.toRadixString$1(J.get$hashCode$(object) & 1048575, 16), 5, "0");
    },
    ProviderElement$: function(_provider, Created, Listened) {
      return new L.ProviderElement(_provider, _provider.createState$0(), new P.LinkedList(Listened._eval$1("LinkedList<_Listener<0>>")), P.LinkedHashMap_LinkedHashMap$_empty(type$.ProviderElement_dynamic_dynamic, type$.ProviderSubscription_dynamic), Created._eval$1("@<0>")._bind$1(Listened)._eval$1("ProviderElement<1,2>"));
    },
    _runGuarded0: function(cb) {
      var err, stack, exception;
      try {
        cb.call$0();
      } catch (exception) {
        err = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        $.Zone__current.handleUncaughtError$2(err, stack);
      }
    },
    _runUnaryGuarded: function(cb, value) {
      var err, stack, exception;
      try {
        cb.call$1(value);
      } catch (exception) {
        err = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        $.Zone__current.handleUncaughtError$2(err, stack);
      }
    },
    _runBinaryGuarded: function(cb, value, value2) {
      var err, stack, exception;
      try {
        cb.call$2(value, value2);
      } catch (exception) {
        err = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        $.Zone__current.handleUncaughtError$2(err, stack);
      }
    },
    ProviderContainer$: function(observers, overrides, $parent) {
      var t5, _null = null,
        t1 = P.HashSet_HashSet(type$.ProviderContainer),
        t2 = type$.ProviderBase_dynamic_dynamic,
        t3 = P.HashMap_HashMap(_null, _null, _null, t2, t2),
        t4 = P.HashMap_HashMap(_null, _null, _null, type$.Family_of_dynamic_and_dynamic_and_dynamic_and_ProviderReference_and_RootProvider_dynamic_dynamic, type$.FamilyOverride);
      t2 = P.HashMap_HashMap(_null, _null, _null, t2, type$.ProviderElement_dynamic_dynamic);
      t5 = $parent == null ? _null : $parent._root;
      if (t5 == null)
        t5 = $parent;
      t2 = new L.ProviderContainer(t5, $parent, t1, t3, t4, t2, observers, new P.DoubleLinkedQueue(type$.DoubleLinkedQueue_of_void_Function));
      t2.ProviderContainer$3$observers$overrides$parent(observers, overrides, $parent);
      return t2;
    },
    AutoDisposeProviderBase: function AutoDisposeProviderBase() {
    },
    AutoDisposeProviderElement: function AutoDisposeProviderElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _.__ProviderElement__origin = $;
      _._provider = t0;
      _.state = t1;
      _.__ProviderElement__container = $;
      _._framework0$_dependents = null;
      _._framework0$_listeners = t2;
      _._framework0$_subscriptions = t3;
      _._onDisposeListeners = _._previousSubscriptions = null;
      _._notifyDidChangeLastNotificationCount = _._notificationCount = 0;
      _._debugIsFlushing = false;
      _._dependencyMayHaveChanged = _._framework0$_dirty = true;
      _._didMount = _._mounted = _._mustRecomputeState = false;
      _._framework0$_exception = null;
      _.$ti = t4;
    },
    _LinkedListEntry: function _LinkedListEntry(t0, t1) {
      var _ = this;
      _.value = t0;
      _._collection$_previous = _._collection$_next = _._collection$_list = null;
      _.$ti = t1;
    },
    _AutoDisposer: function _AutoDisposer(t0) {
      this._scheduled = false;
      this._stateToDispose = t0;
    },
    _AutoDisposer_scheduleDispose_closure: function _AutoDisposer_scheduleDispose_closure(t0) {
      this.$this = t0;
    },
    AlwaysAliveProviderBase: function AlwaysAliveProviderBase() {
    },
    ProviderBase: function ProviderBase() {
    },
    ProviderBase_toString_closure: function ProviderBase_toString_closure() {
    },
    ProviderBase_toString_closure0: function ProviderBase_toString_closure0() {
    },
    RootProvider: function RootProvider() {
    },
    _Listener: function _Listener(t0, t1, t2, t3, t4) {
      var _ = this;
      _.lastNotificationCount = t0;
      _.mayHaveChanged = t1;
      _.didChange = t2;
      _.element = t3;
      _._collection$_previous = _._collection$_next = _._collection$_list = null;
      _.$ti = t4;
    },
    ProviderSubscription: function ProviderSubscription(t0, t1) {
      this._listener = t0;
      this.$ti = t1;
    },
    ProviderElement: function ProviderElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _.__ProviderElement__origin = $;
      _._provider = t0;
      _.state = t1;
      _.__ProviderElement__container = $;
      _._framework0$_dependents = null;
      _._framework0$_listeners = t2;
      _._framework0$_subscriptions = t3;
      _._onDisposeListeners = _._previousSubscriptions = null;
      _._notifyDidChangeLastNotificationCount = _._notificationCount = 0;
      _._debugIsFlushing = false;
      _._dependencyMayHaveChanged = _._framework0$_dirty = true;
      _._didMount = _._mounted = _._mustRecomputeState = false;
      _._framework0$_exception = null;
      _.$ti = t4;
    },
    ProviderElement_watch_closure: function ProviderElement_watch_closure(t0, t1) {
      this.$this = t0;
      this.element = t1;
    },
    ProviderElement_listen_closure0: function ProviderElement_listen_closure0(t0, t1) {
      this.mayHaveChanged = t0;
      this.sub = t1;
    },
    ProviderElement_listen_closure: function ProviderElement_listen_closure(t0, t1) {
      this.didChange = t0;
      this.sub = t1;
    },
    ProviderStateBase: function ProviderStateBase() {
    },
    ProviderException: function ProviderException(t0, t1, t2) {
      this.exception = t0;
      this.stackTrace = t1;
      this.provider = t2;
    },
    ProviderOverridesMixin: function ProviderOverridesMixin() {
    },
    AutoDisposeProviderOverridesMixin: function AutoDisposeProviderOverridesMixin() {
    },
    ProviderContainer: function ProviderContainer(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.__ProviderContainer__debugId = $;
      _._root = t0;
      _._framework0$_parent = t1;
      _._framework0$_children = t2;
      _._overrideForProvider = t3;
      _._overrideForFamily = t4;
      _._stateReaders = t5;
      _._localObservers = t6;
      _.debugVsyncs = t7;
      _._framework0$_disposed = false;
    },
    ProviderContainer_readProviderElement_closure: function ProviderContainer_readProviderElement_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.provider = t1;
      _.Created = t2;
      _.Listened = t3;
    },
    ProviderContainer__visitStatesInOrder_closure: function ProviderContainer__visitStatesInOrder_closure(t0) {
      this.$this = t0;
    },
    ProviderContainer__visitStatesInOrder_closure0: function ProviderContainer__visitStatesInOrder_closure0(t0, t1) {
      this.$this = t0;
      this.visitedNodes = t1;
    },
    ProviderObserver: function ProviderObserver() {
    },
    CircularDependencyError: function CircularDependencyError() {
    },
    Family: function Family() {
    },
    Family_call_closure: function Family_call_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    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;
    },
    quantizeAndInverse: function(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 (t1 = J.getInterceptor$asx(coefBlock), i = 0; i < 64; ++i)
        dataIn[i] = t1.$index(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 = C.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 = C.JSInt_methods._shrOtherPositive$1(5793 * dataIn[row] + 128, 8);
        v0 = (t3 & 2147483647) - ((t3 & 2147483648) >>> 0);
        t3 = 4 + row;
        t4 = C.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 = C.JSInt_methods._shrOtherPositive$1(2896 * (t2 - t7) + 128, 8);
        v4 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t7 = C.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 = C.JSInt_methods._shrOtherPositive$1(v0 - v1 + 1, 1);
        t = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = C.JSInt_methods._shrOtherPositive$1(v0 + v1 + 1, 1);
        v0 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = C.JSInt_methods._shrOtherPositive$1(v2 * 3784 + v3 * 1567 + 128, 8);
        t8 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t9 = C.JSInt_methods._shrOtherPositive$1(v2 * 1567 - v3 * 3784 + 128, 8);
        v2 = (t9 & 2147483647) - ((t9 & 2147483648) >>> 0);
        t9 = C.JSInt_methods._shrOtherPositive$1(v4 - v6 + 1, 1);
        t9 = (t9 & 2147483647) - ((t9 & 2147483648) >>> 0);
        t10 = C.JSInt_methods._shrOtherPositive$1(v4 + v6 + 1, 1);
        v4 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t10 = C.JSInt_methods._shrOtherPositive$1(v7 + v5 + 1, 1);
        t10 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t11 = C.JSInt_methods._shrOtherPositive$1(v7 - v5 + 1, 1);
        v5 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
        t11 = C.JSInt_methods._shrOtherPositive$1(v0 - t8 + 1, 1);
        t11 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
        t8 = C.JSInt_methods._shrOtherPositive$1(v0 + t8 + 1, 1);
        v0 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = C.JSInt_methods._shrOtherPositive$1(t - v2 + 1, 1);
        t8 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t12 = C.JSInt_methods._shrOtherPositive$1(t + v2 + 1, 1);
        v1 = (t12 & 2147483647) - ((t12 & 2147483648) >>> 0);
        t12 = C.JSInt_methods._shrOtherPositive$1(v4 * 2276 + t10 * 3406 + 2048, 12);
        t = (t12 & 2147483647) - ((t12 & 2147483648) >>> 0);
        t10 = C.JSInt_methods._shrOtherPositive$1(v4 * 3406 - t10 * 2276 + 2048, 12);
        v4 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t10 = C.JSInt_methods._shrOtherPositive$1(v5 * 799 + t9 * 4017 + 2048, 12);
        t10 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t9 = C.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 = C.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 = C.JSInt_methods._shrOtherPositive$1(5793 * dataIn[i] + 2048, 12);
        v0 = (t3 & 2147483647) - ((t3 & 2147483648) >>> 0);
        t3 = 32 + i;
        t4 = C.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 = C.JSInt_methods._shrOtherPositive$1(2896 * (t2 - t7) + 2048, 12);
        v4 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t7 = C.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 = C.JSInt_methods._shrOtherPositive$1(v0 - v1 + 1, 1);
        t = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = C.JSInt_methods._shrOtherPositive$1(v0 + v1 + 1, 1);
        v0 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = C.JSInt_methods._shrOtherPositive$1(v2 * 3784 + v3 * 1567 + 2048, 12);
        t8 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t9 = C.JSInt_methods._shrOtherPositive$1(v2 * 1567 - v3 * 3784 + 2048, 12);
        v2 = (t9 & 2147483647) - ((t9 & 2147483648) >>> 0);
        t9 = C.JSInt_methods._shrOtherPositive$1(v4 - v6 + 1, 1);
        t9 = (t9 & 2147483647) - ((t9 & 2147483648) >>> 0);
        t10 = C.JSInt_methods._shrOtherPositive$1(v4 + v6 + 1, 1);
        v4 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t10 = C.JSInt_methods._shrOtherPositive$1(v7 + v5 + 1, 1);
        t10 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t11 = C.JSInt_methods._shrOtherPositive$1(v7 - v5 + 1, 1);
        v5 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
        t11 = C.JSInt_methods._shrOtherPositive$1(v0 - t8 + 1, 1);
        t11 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
        t8 = C.JSInt_methods._shrOtherPositive$1(v0 + t8 + 1, 1);
        v0 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = C.JSInt_methods._shrOtherPositive$1(t - v2 + 1, 1);
        t8 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t12 = C.JSInt_methods._shrOtherPositive$1(t + v2 + 1, 1);
        v1 = (t12 & 2147483647) - ((t12 & 2147483648) >>> 0);
        t12 = C.JSInt_methods._shrOtherPositive$1(v4 * 2276 + t10 * 3406 + 2048, 12);
        t = (t12 & 2147483647) - ((t12 & 2147483648) >>> 0);
        t10 = C.JSInt_methods._shrOtherPositive$1(v4 * 3406 - t10 * 2276 + 2048, 12);
        v4 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t10 = C.JSInt_methods._shrOtherPositive$1(v5 * 799 + t9 * 4017 + 2048, 12);
        t10 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t9 = C.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 = C.JSInt_methods._shrOtherPositive$1(dataIn[i] + 8, 4);
        dataOut[i] = t1[384 + ((t2 & 2147483647) - ((t2 & 2147483648) >>> 0))];
      }
    },
    getImageFromJpeg: function(jpeg) {
      var image, component1, lines, hShift1, vShift1, $Y, offset, y, component1Line, x, offset0, component2, component3, lines1, lines2, lines3, hShift2, vShift2, hShift3, vShift3, $B, $G, $R, Cr, Cb, y1, y2, y3, component2Line, component3Line, x1, x2, x3, colorTransform, component4, lines4, hShift4, vShift4, Ye, $M, $C, $K, t3, y4, component4Line, x4, t4, _null = null,
        t1 = jpeg.frame,
        t2 = t1.samplesPerLine;
      t2.toString;
      t1 = t1.scanLines;
      t1.toString;
      image = U.Image$0(t2, t1, C.Channels_0);
      G.ExifData$from(jpeg.exif);
      t1 = jpeg.components;
      switch (t1.length) {
        case 1:
          component1 = t1[0];
          lines = component1.lines;
          hShift1 = component1.hScaleShift;
          vShift1 = component1.vScaleShift;
          t1 = image.data;
          $Y = _null;
          offset = 0;
          y = 0;
          while (true) {
            t2 = jpeg.frame.scanLines;
            t2.toString;
            if (!(y < t2))
              break;
            component1Line = lines[C.JSInt_methods._shrBothPositive$1(y, vShift1)];
            x = 0;
            while (true) {
              t2 = jpeg.frame.samplesPerLine;
              t2.toString;
              if (!(x < t2))
                break;
              $Y = component1Line[C.JSInt_methods._shrBothPositive$1(x, hShift1)];
              offset0 = offset + 1;
              t1[offset] = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2($Y, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2($Y, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2($Y, 0, 255))) >>> 0;
              ++x;
              offset = offset0;
            }
            ++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;
          $B = _null;
          $G = $B;
          $R = $G;
          Cr = $R;
          Cb = Cr;
          $Y = Cb;
          offset = 0;
          y = 0;
          while (true) {
            t2 = jpeg.frame.scanLines;
            t2.toString;
            if (!(y < t2))
              break;
            y1 = C.JSInt_methods._shrBothPositive$1(y, vShift1);
            y2 = C.JSInt_methods._shrBothPositive$1(y, vShift2);
            y3 = C.JSInt_methods._shrBothPositive$1(y, vShift3);
            component1Line = lines1[y1];
            component2Line = lines2[y2];
            component3Line = lines3[y3];
            x = 0;
            while (true) {
              t2 = jpeg.frame.samplesPerLine;
              t2.toString;
              if (!(x < t2))
                break;
              x1 = C.JSInt_methods._shrBothPositive$1(x, hShift1);
              x2 = C.JSInt_methods._shrBothPositive$1(x, hShift2);
              x3 = C.JSInt_methods._shrBothPositive$1(x, hShift3);
              $Y = component1Line[x1] << 8 >>> 0;
              Cb = component2Line[x2] - 128;
              Cr = component3Line[x3] - 128;
              t2 = C.JSInt_methods._shrOtherPositive$1($Y + 359 * Cr + 128, 8);
              t2 = (t2 & 2147483647) - ((t2 & 2147483648) >>> 0);
              if (t2 < 0)
                $R = 0;
              else
                $R = t2 > 255 ? 255 : t2;
              t2 = C.JSInt_methods._shrOtherPositive$1($Y - 88 * Cb - 183 * Cr + 128, 8);
              t2 = (t2 & 2147483647) - ((t2 & 2147483648) >>> 0);
              if (t2 < 0)
                $G = 0;
              else
                $G = t2 > 255 ? 255 : t2;
              t2 = C.JSInt_methods._shrOtherPositive$1($Y + 454 * Cb + 128, 8);
              t2 = (t2 & 2147483647) - ((t2 & 2147483648) >>> 0);
              if (t2 < 0)
                $B = 0;
              else
                $B = t2 > 255 ? 255 : t2;
              offset0 = offset + 1;
              t1[offset] = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2($B, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2($G, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2($R, 0, 255))) >>> 0;
              ++x;
              offset = offset0;
            }
            ++y;
          }
          break;
        case 4:
          t2 = jpeg.adobe;
          if (t2 == null)
            throw H.wrapException(K.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 = !colorTransform;
          $B = _null;
          $G = $B;
          $R = $G;
          Ye = $R;
          $M = Ye;
          $C = $M;
          $K = $C;
          Cr = $K;
          Cb = Cr;
          $Y = Cb;
          offset = 0;
          y = 0;
          while (true) {
            t3 = jpeg.frame.scanLines;
            t3.toString;
            if (!(y < t3))
              break;
            y1 = C.JSInt_methods._shrBothPositive$1(y, vShift1);
            y2 = C.JSInt_methods._shrBothPositive$1(y, vShift2);
            y3 = C.JSInt_methods._shrBothPositive$1(y, vShift3);
            y4 = C.JSInt_methods._shrBothPositive$1(y, vShift4);
            component1Line = lines1[y1];
            component2Line = lines2[y2];
            component3Line = lines3[y3];
            component4Line = lines4[y4];
            x = 0;
            while (true) {
              t3 = jpeg.frame.samplesPerLine;
              t3.toString;
              if (!(x < t3))
                break;
              x1 = C.JSInt_methods._shrBothPositive$1(x, hShift1);
              x2 = C.JSInt_methods._shrBothPositive$1(x, hShift2);
              x3 = C.JSInt_methods._shrBothPositive$1(x, hShift3);
              x4 = C.JSInt_methods._shrBothPositive$1(x, hShift4);
              if (t2) {
                $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];
                t3 = Cr - 128;
                t4 = C.JSNumber_methods.toInt$0($Y + 1.402 * t3);
                if (t4 < 0)
                  t4 = 0;
                else if (t4 > 255)
                  t4 = 255;
                $C = 255 - t4;
                t4 = Cb - 128;
                t3 = C.JSNumber_methods.toInt$0($Y - 0.3441363 * t4 - 0.71413636 * t3);
                if (t3 < 0)
                  t3 = 0;
                else if (t3 > 255)
                  t3 = 255;
                $M = 255 - t3;
                t4 = C.JSNumber_methods.toInt$0($Y + 1.772 * t4);
                if (t4 < 0)
                  t3 = 0;
                else
                  t3 = t4 > 255 ? 255 : t4;
                Ye = 255 - t3;
              }
              t3 = C.JSInt_methods._shrOtherPositive$1($C * $K, 8);
              $R = (t3 & 2147483647) - ((t3 & 2147483648) >>> 0);
              t3 = C.JSInt_methods._shrOtherPositive$1($M * $K, 8);
              $G = (t3 & 2147483647) - ((t3 & 2147483648) >>> 0);
              t3 = C.JSInt_methods._shrOtherPositive$1(Ye * $K, 8);
              $B = (t3 & 2147483647) - ((t3 & 2147483648) >>> 0);
              offset0 = offset + 1;
              t1[offset] = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2($B, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2($G, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2($R, 0, 255))) >>> 0;
              ++x;
              offset = offset0;
            }
            ++y;
          }
          break;
        default:
          throw H.wrapException(K.ImageException$("Unsupported color mode"));
      }
      return image;
    },
    loadProgramInfoFromJson: function(json, collapseAnonymousClosures) {
      var t1;
      if (type$.legacy_Map_of_legacy_String_and_dynamic._is(json) && J.containsKey$1$x(json, "snapshot")) {
        t1 = A.Snapshot_Snapshot$fromJson(json);
        return A._ProgramInfoBuilder$(false).build$1(0, t1);
      } else
        return S.toProgramInfo(S.fromJson(json), false);
    }
  },
  M = {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;
    },
    RemoteDiagnosticsNode_deserializeConstraints: function(json) {
      var t1, t2, t3, t4,
        _s8_ = "Infinity";
      if (json == null)
        return null;
      t1 = J.getInterceptor$asx(json);
      t2 = t1.$index(json, "minWidth");
      t2 = P.double_parse(t2 == null ? "0.0" : t2);
      t3 = t1.$index(json, "maxWidth");
      t3 = P.double_parse(t3 == null ? _s8_ : t3);
      t4 = t1.$index(json, "minHeight");
      t4 = P.double_parse(t4 == null ? "0.0" : t4);
      t1 = t1.$index(json, "maxHeight");
      return new S.BoxConstraints(t2, t3, t4, P.double_parse(t1 == null ? _s8_ : t1));
    },
    RemoteDiagnosticsNode_deserializeParentData: function(json) {
      var t1, t2, t3;
      if (json == null)
        return null;
      t1 = new S.BoxParentData(C.Offset_0_0);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "offsetX");
      t3 = P.double_parse(t3 == null ? "0.0" : t3);
      t2 = t2.$index(json, "offsetY");
      t1.offset = new P.Offset(t3, P.double_parse(t2 == null ? "0.0" : t2));
      return t1;
    },
    RemoteDiagnosticsNode_deserializeSize: function(json) {
      var t1;
      if (json == null)
        return null;
      t1 = J.getInterceptor$asx(json);
      return new P.Size(P.double_parse(t1.$index(json, "width")), P.double_parse(t1.$index(json, "height")));
    },
    RemoteDiagnosticsNode_deserializeFlexFit: function(flexFit) {
      if (flexFit == null)
        return null;
      else if (flexFit === "tight")
        return C.FlexFit_0;
      return C.FlexFit_1;
    },
    RemoteDiagnosticsNode: function RemoteDiagnosticsNode(t0, t1, t2, t3) {
      var _ = this;
      _.parent = t0;
      _.cachedProperties = null;
      _.inspectorService = t1;
      _.json = t2;
      _.isProperty = t3;
      _._diagnostics_node$_children = _._childrenFuture = _._creationLocation = _._diagnostics_node$_style = _._parentRenderElement = _._diagnostics_node$_renderObject = null;
    },
    InspectorSourceLocation: function InspectorSourceLocation(t0, t1) {
      this.json = t0;
      this.parent = t1;
    },
    LoggingScreen: function LoggingScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.screenId = t0;
      _.title = t1;
      _.icon = t2;
      _.tabKey = t3;
      _.requiresLibrary = t4;
      _.requiresDartVm = t5;
      _.requiresDebugBuild = t6;
      _.requiresVmDeveloperMode = t7;
      _.worksOffline = t8;
      _.shouldShowForFlutterVersion = t9;
    },
    LoggingScreen_buildStatus_closure: function LoggingScreen_buildStatus_closure() {
    },
    LoggingScreenBody: function LoggingScreenBody(t0) {
      this.key = t0;
    },
    _LoggingScreenState: function _LoggingScreenState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.filteredLogs = _.controller = _.selected = null;
      _.SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin__onSelection = t2;
      _.SearchFieldMixin__closeHandler = t3;
      _.SearchFieldMixin_arrowDown = t4;
      _.SearchFieldMixin_arrowUp = t5;
      _.SearchFieldMixin_enter = t6;
      _.SearchFieldMixin_escape = t7;
      _.SearchFieldMixin_tab = t8;
      _.SearchFieldMixin_enterMac = t9;
      _.SearchFieldMixin_tabMac = t10;
      _.AutoDisposeMixin__delegate = t11;
      _._widget = null;
      _._debugLifecycleState = t12;
      _._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__showFilterDialog__closure: function _LoggingScreenState__showFilterDialog__closure(t0) {
      this.$this = t0;
    },
    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() {
    },
    LogDetails: function LogDetails(t0, t1) {
      this.log = t0;
      this.key = t1;
    },
    _LogDetailsState: function _LogDetailsState(t0, t1) {
      var _ = this;
      _.scrollController = _._logging_screen$_lastDetails = null;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _LogDetailsState__computeLogDetails_closure: function _LogDetailsState__computeLogDetails_closure() {
    },
    _LogDetailsState__buildSimpleLog_closure: function _LogDetailsState__buildSimpleLog_closure(t0) {
      this.log = t0;
    },
    _WhenColumn: function _WhenColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _KindColumn: function _KindColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    MessageColumn: function MessageColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    __LogDetailsState_State_SingleTickerProviderStateMixin: function __LogDetailsState_State_SingleTickerProviderStateMixin() {
    },
    __LoggingScreenState_State_AutoDisposeMixin: function __LoggingScreenState_State_AutoDisposeMixin() {
    },
    __LoggingScreenState_State_AutoDisposeMixin_SearchFieldMixin: function __LoggingScreenState_State_AutoDisposeMixin_SearchFieldMixin() {
    },
    ErrorLoggerObserver: function ErrorLoggerObserver() {
    },
    DevToolsScaffold$withChild: function(actions, analyticsProvider, child, ideTheme, key) {
      var _null = null;
      return new M.DevToolsScaffold(H._setArrayType([new M.SimpleScreen(child, "simple", _null, _null, _null, _null, false, false, false, false, _null)], type$.JSArray_legacy_Screen), _null, false, actions, analyticsProvider, key);
    },
    DevToolsScaffold: function DevToolsScaffold(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.tabs = t0;
      _.page = t1;
      _.embed = t2;
      _.actions = t3;
      _.analyticsProvider = t4;
      _.key = t5;
    },
    DevToolsScaffoldState: function DevToolsScaffoldState(t0, t1, t2) {
      var _ = this;
      _.scaffoldTitle = _._showPageSubscription = _._connectVmSubscription = _._importController = _._currentScreen = _._tabController = null;
      _.TickerProviderStateMixin__tickers = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._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__closure: function DevToolsScaffoldState__setupTabController__closure(t0, t1) {
      this.$this = t0;
      this.screen = 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.tabBodies = t2;
    },
    DevToolsScaffoldState_enterOfflineMode_closure: function DevToolsScaffoldState_enterOfflineMode_closure() {
    },
    SimpleScreen: function SimpleScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.child = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    _DevToolsScaffoldState_State_AutoDisposeMixin: function _DevToolsScaffoldState_State_AutoDisposeMixin() {
    },
    _DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin: function _DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin() {
    },
    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;
    },
    FileSelectorWeb: function FileSelectorWeb(t0, t1) {
      this._domHelper = t0;
      this._instanceToken = t1;
    },
    BottomNavigationBarThemeData: function BottomNavigationBarThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      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;
    },
    _BottomNavigationBarThemeData_Object_Diagnosticable: function _BottomNavigationBarThemeData_Object_Diagnosticable() {
    },
    ButtonBarThemeData_lerp: function(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t < 0.5;
      if (t2)
        t3 = t1 ? _null : a.alignment;
      else
        t3 = b == null ? _null : b.alignment;
      if (t2)
        t4 = t1 ? _null : a.mainAxisSize;
      else
        t4 = b == null ? _null : b.mainAxisSize;
      if (t2)
        t5 = t1 ? _null : a.buttonTextTheme;
      else
        t5 = b == null ? _null : b.buttonTextTheme;
      t6 = t1 ? _null : a.buttonMinWidth;
      t7 = b == null;
      t6 = P.lerpDouble(t6, t7 ? _null : b.buttonMinWidth, t);
      t8 = t1 ? _null : a.buttonHeight;
      t8 = P.lerpDouble(t8, t7 ? _null : b.buttonHeight, t);
      t9 = t1 ? _null : a.buttonPadding;
      t9 = V.EdgeInsetsGeometry_lerp(t9, t7 ? _null : b.buttonPadding, t);
      if (t2)
        t10 = t1 ? _null : a.buttonAlignedDropdown;
      else
        t10 = t7 ? _null : b.buttonAlignedDropdown;
      if (t2)
        t11 = t1 ? _null : a.layoutBehavior;
      else
        t11 = t7 ? _null : b.layoutBehavior;
      if (t2)
        t1 = t1 ? _null : a.overflowDirection;
      else
        t1 = t7 ? _null : b.overflowDirection;
      return new M.ButtonBarThemeData(t3, t4, t5, t6, t8, t9, t10, t11, 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() {
    },
    ButtonTheme_of: function(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 = K.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$: function(alignedDropdown, buttonColor, colorScheme, disabledColor, focusColor, height, highlightColor, hoverColor, layoutBehavior, materialTapTargetSize, minWidth, padding, shape, splashColor, textTheme) {
      return new M.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._button_theme$_name = t1;
    },
    ButtonBarLayoutBehavior: function ButtonBarLayoutBehavior(t0, t1) {
      this.index = t0;
      this._button_theme$_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;
      _._button_theme$_padding = t4;
      _._button_theme$_shape = t5;
      _.alignedDropdown = t6;
      _._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() {
    },
    Material$: function(animationDuration, borderOnForeground, borderRadius, child, clipBehavior, color, elevation, key, shadowColor, shape, textStyle, type) {
      return new M.Material(child, type, elevation, color, shadowColor, textStyle, shape, true, clipBehavior, animationDuration, borderRadius, key);
    },
    _MaterialState__transparentInterior: function(clipBehavior, contents, context, shape) {
      var child = new M._ShapeBorderPaint(contents, shape, true, null);
      if (clipBehavior === C.Clip_0)
        return child;
      return T.ClipPath$(child, clipBehavior, new E.ShapeBorderClipper(shape, T.Directionality_maybeOf(context), null));
    },
    MaterialType: function MaterialType(t0, t1) {
      this.index = t0;
      this._material$_name = t1;
    },
    Material: function Material(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.child = t0;
      _.type = t1;
      _.elevation = t2;
      _.color = t3;
      _.shadowColor = t4;
      _.textStyle = t5;
      _.shape = t6;
      _.borderOnForeground = t7;
      _.clipBehavior = t8;
      _.animationDuration = t9;
      _.borderRadius = t10;
      _.key = t11;
    },
    _MaterialState: function _MaterialState(t0, t1, t2) {
      var _ = this;
      _._inkFeatureRenderer = t0;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _MaterialState_build_closure: function _MaterialState_build_closure(t0) {
      this.$this = t0;
    },
    _RenderInkFeatures: function _RenderInkFeatures(t0, t1, t2, t3) {
      var _ = this;
      _.vsync = t0;
      _.color = t1;
      _.absorbHitTest = t2;
      _._inkFeatures = null;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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) {
      var _ = this;
      _.child = t0;
      _.shape = t1;
      _.borderOnForeground = t2;
      _.clipBehavior = t3;
      _.elevation = t4;
      _.color = t5;
      _.shadowColor = t6;
      _.curve = t7;
      _.duration = t8;
      _.onEnd = t9;
      _.key = t10;
    },
    _MaterialInteriorState: function _MaterialInteriorState(t0, t1) {
      var _ = this;
      _._border = _._shadowColor = _._material$_elevation = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _MaterialInteriorState_forEachTween_closure: function _MaterialInteriorState_forEachTween_closure() {
    },
    _MaterialInteriorState_forEachTween_closure0: function _MaterialInteriorState_forEachTween_closure0() {
    },
    _MaterialInteriorState_forEachTween_closure1: function _MaterialInteriorState_forEachTween_closure1() {
    },
    _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() {
    },
    Scaffold$: function(appBar, body, bottomNavigationBar) {
      return new M.Scaffold(appBar, body, bottomNavigationBar, null);
    },
    Scaffold_of: function(context) {
      var result = context.findAncestorStateOfType$1$0(type$.ScaffoldState);
      if (result != null)
        return result;
      throw H.wrapException(U.FlutterError$fromParts(H._setArrayType([U.ErrorSummary$("Scaffold.of() called with a context that does not contain a Scaffold."), U.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."), U.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'), U.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._scaffold$_name = t1;
    },
    ScaffoldMessenger: function ScaffoldMessenger(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    ScaffoldMessengerState: function ScaffoldMessengerState(t0, t1, t2, t3) {
      var _ = this;
      _._scaffolds = t0;
      _._snackBars = t1;
      _._accessibleNavigation = _._snackBarTimer = _._snackBarController = null;
      _.TickerProviderStateMixin__tickers = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._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__handleStatusChanged_closure: function ScaffoldMessengerState__handleStatusChanged_closure(t0) {
      this.$this = t0;
    },
    ScaffoldMessengerState__handleStatusChanged_closure0: function ScaffoldMessengerState__handleStatusChanged_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) {
      var _ = this;
      _.bottomWidgetsHeight = t0;
      _.appBarHeight = t1;
      _.minWidth = t2;
      _.maxWidth = t3;
      _.minHeight = t4;
      _.maxHeight = t5;
    },
    _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) {
      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;
      _._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) {
      var _ = this;
      _.___FloatingActionButtonTransitionState__currentRotationAnimation = _.___FloatingActionButtonTransitionState__extendedCurrentScaleAnimation = _.___FloatingActionButtonTransitionState__currentScaleAnimation = _.___FloatingActionButtonTransitionState__previousRotationAnimation = _.___FloatingActionButtonTransitionState__previousScaleAnimation = _.___FloatingActionButtonTransitionState__previousController = $;
      _._previousChild = null;
      _.TickerProviderStateMixin__tickers = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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;
      _._snackBars = t4;
      _._messengerSnackBar = _._scaffoldMessenger = _._accessibleNavigation = _._snackBarTimer = null;
      _._dismissedBottomSheets = t5;
      _._currentBottomSheet = null;
      _._currentBottomSheetKey = t6;
      _.__ScaffoldState__floatingActionButtonAnimator = _.__ScaffoldState__floatingActionButtonMoveController = $;
      _._floatingActionButtonLocation = _._previousFloatingActionButtonLocation = null;
      _.__ScaffoldState__geometryNotifier = _.__ScaffoldState__floatingActionButtonVisibilityController = $;
      _._showBodyScrim = false;
      _._bodyScrimColor = t7;
      _.RestorationMixin__bucket = t8;
      _.RestorationMixin__properties = t9;
      _.RestorationMixin__debugPropertiesWaitingForReregistration = t10;
      _.RestorationMixin__firstRestorePending = t11;
      _.RestorationMixin__currentParent = t12;
      _.TickerProviderStateMixin__tickers = t13;
      _._widget = null;
      _._debugLifecycleState = t14;
      _._framework$_element = null;
    },
    ScaffoldState_hideCurrentSnackBar_closure: function ScaffoldState_hideCurrentSnackBar_closure(t0, t1, t2) {
      this.$this = t0;
      this.completer = t1;
      this.reason = t2;
    },
    ScaffoldState__updateSnackBar_closure: function ScaffoldState__updateSnackBar_closure(t0) {
      this.$this = t0;
    },
    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() {
    },
    ResizeImage_resizeIfNeeded: function(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) {
      this.handleError = t0;
    },
    ImageProvider__createErrorHandlerAndKey_closure0: function ImageProvider__createErrorHandlerAndKey_closure0(t0, t1, t2, t3, t4) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.configuration = t2;
      _.handleError = t3;
      _.successCallback = t4;
    },
    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;
      _._hadAtLeastOneListener = false;
      _._keepAliveHandles = 0;
      _._image_stream$_disposed = false;
      _._onLastListenerRemovedCallbacks = t1;
    },
    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() {
    },
    SpringDescription$withDampingRatio: function(mass, ratio, stiffness) {
      return new M.SpringDescription(mass, stiffness, ratio * 2 * Math.sqrt(mass * stiffness));
    },
    _SpringSolution__SpringSolution: function(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 M._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 M._OverdampedSolution(r1, r2, initialPosition - c2, c2);
      }
      w = Math.sqrt(t4 - t2) / (2 * t3);
      r = -(t1 / 2 * t3);
      return new M._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._spring_simulation$_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;
    },
    TickerFuture$complete: function() {
      var t1 = new M.TickerFuture(new P._AsyncCompleter(new P._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;
    },
    DecoratedBox$: function(child, decoration, position) {
      return new M.DecoratedBox(decoration, position, child, null);
    },
    Container$: function(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 = S.BoxConstraints$tightFor(height, width);
      } else
        t1 = constraints;
      return new M.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;
    },
    InheritedTheme_capture: function(from, to) {
      var themes;
      if (J.$eq$(from, to))
        return new M.CapturedThemes(C.List_empty10);
      themes = H._setArrayType([], type$.JSArray_InheritedTheme);
      from.visitAncestorElements$1(new M.InheritedTheme_capture_closure(to, H._Cell$named("debugDidFindAncestor"), P.LinkedHashSet_LinkedHashSet$_empty(type$.Type), themes));
      return new M.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;
    },
    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;
    },
    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() {
    },
    DoNothingAndStopPropagationTextIntent: function DoNothingAndStopPropagationTextIntent() {
    },
    GifColorMap$: function(numColors) {
      var t1 = new Uint8Array(numColors * 3);
      M.GifColorMap__bitSize(numColors);
      return new M.GifColorMap(numColors, t1);
    },
    GifColorMap__bitSize: function(n) {
      var i;
      for (i = 1; i <= 8; ++i)
        if (C.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;
    },
    PsdDropShadowEffect: function PsdDropShadowEffect() {
      this.enabled = this.version = null;
    },
    Context_Context: function(style) {
      var current = style == null ? D.current() : ".";
      if (style == null)
        style = $.$get$Style_platform();
      return new M.Context(style, current);
    },
    _parseUri: function(uri) {
      if (type$.Uri._is(uri))
        return uri;
      throw H.wrapException(P.ArgumentError$value(uri, "uri", "Value must be a String or a Uri"));
    },
    _validateArgList: function(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 P.StringBuffer("");
        t1 = method + "(";
        message._contents = t1;
        t2 = H._arrayInstanceType(args);
        t3 = t2._eval$1("SubListIterable<1>");
        t4 = new H.SubListIterable(args, 0, numArgs, t3);
        t4.SubListIterable$3(args, 0, numArgs, t2._precomputed1);
        t3 = t1 + new H.MappedListIterable(t4, new M._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 H.wrapException(P.ArgumentError$(message.toString$0(0)));
      }
    },
    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() {
    },
    SseClient$: function(serverUrl) {
      var _null = null,
        t1 = type$.String;
      t1 = new M.SseClient(P.StreamController_StreamController(_null, _null, _null, false, t1), P.StreamController_StreamController(_null, _null, _null, false, t1), F.Logger_Logger("SseClient"), new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic));
      t1.SseClient$1(serverUrl);
      return t1;
    },
    SseClient: function SseClient(t0, t1, t2, t3) {
      var _ = this;
      _._incomingController = t0;
      _._outgoingController = t1;
      _._logger = t2;
      _._onConnected = t3;
      _._lastMessageId = -1;
      _.__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;
    },
    HeapSnapshotGraph_getSnapshot: function(service, isolate) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.HeapSnapshotGraph),
        $async$returnValue, t1, t2, t3, chunks, streamSubscription, t4;
      var $async$HeapSnapshotGraph_getSnapshot = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              service.toString;
              t1 = type$.dynamic;
              t2 = type$.Success;
              $async$goto = 3;
              return P._asyncAwait(service._call$1$2(0, "streamListen", P.LinkedHashMap_LinkedHashMap$_literal(["streamId", "HeapSnapshot"], t1, t1), t2), $async$HeapSnapshotGraph_getSnapshot);
            case 3:
              // returning from await.
              t3 = new P._Future($.Zone__current, type$._Future_HeapSnapshotGraph);
              chunks = H._setArrayType([], type$.JSArray_ByteData);
              streamSubscription = H._Cell$named("streamSubscription");
              t4 = service._getEventController$1("HeapSnapshot");
              streamSubscription.__late_helper$_value = new P._BroadcastStream(t4, H._instanceType(t4)._eval$1("_BroadcastStream<1>")).listen$1(new M.HeapSnapshotGraph_getSnapshot_closure(chunks, service, streamSubscription, new P._AsyncCompleter(t3, type$._AsyncCompleter_HeapSnapshotGraph)));
              t4 = isolate.get$id(isolate);
              t4.toString;
              $async$goto = 4;
              return P._asyncAwait(service._call$1$2(0, "requestHeapSnapshot", P.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$HeapSnapshotGraph_getSnapshot, $async$completer);
    },
    _getNonReferenceData: function(reader) {
      var len, str,
        tag = reader.readUnsigned$0();
      switch (tag) {
        case 0:
          return C.C_HeapSnapshotObjectNoData;
        case 1:
          return C.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 M.HeapSnapshotObjectLengthData(reader.readUnsigned$0());
        case 8:
          return reader.readUtf8$0();
        default:
          throw H.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;
    },
    Feedback_forTap: function(context) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue;
      var $async$Feedback_forTap = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          $async$outer:
            switch ($async$goto) {
              case 0:
                // Function start
                context.get$renderObject().sendSemanticsEvent$1(C.TapSemanticEvent_tap);
                switch (K.Theme_of(context).platform) {
                  case C.TargetPlatform_0:
                  case C.TargetPlatform_1:
                    $async$returnValue = V.SystemSound_play(C.SystemSoundType_0);
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  case C.TargetPlatform_2:
                  case C.TargetPlatform_3:
                  case C.TargetPlatform_4:
                  case C.TargetPlatform_5:
                    $async$returnValue = P.Future_Future$value(null, type$.void);
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  default:
                    throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
                }
              case 1:
                // return
                return P._asyncReturn($async$returnValue, $async$completer);
            }
      });
      return P._asyncStartSync($async$Feedback_forTap, $async$completer);
    },
    Feedback_forLongPress: function(context) {
      context.get$renderObject().sendSemanticsEvent$1(C.LongPressSemanticsEvent_longPress);
      switch (K.Theme_of(context).platform) {
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
          return X.HapticFeedback_vibrate();
        case C.TargetPlatform_2:
        case C.TargetPlatform_3:
        case C.TargetPlatform_4:
        case C.TargetPlatform_5:
          return P.Future_Future$value(null, type$.void);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    SystemNavigator_pop: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$SystemNavigator_pop = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(C.OptionalMethodChannel_cWd.invokeMethod$1$2("SystemNavigator.pop", null, type$.void), $async$SystemNavigator_pop);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$SystemNavigator_pop, $async$completer);
    },
    SystemNavigator_routeInformationUpdated: function($location, state) {
      return C.OptionalMethodChannel_urv.invokeMethod$1$2("routeInformationUpdated", P.LinkedHashMap_LinkedHashMap$_literal(["location", $location, "state", state], type$.String, type$.dynamic), type$.void);
    }
  },
  N = {AutoDisposeMixin: function AutoDisposeMixin() {
    }, AutoDisposeMixin__refresh_closure: function AutoDisposeMixin__refresh_closure() {
    }, HostPlatform: function HostPlatform() {
      this._isMacOS = null;
    }, CallStack: function CallStack(t0) {
      this.key = t0;
    }, _CallStackState: function _CallStackState(t0) {
      var _ = this;
      _._widget = _.controller = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    }, _CallStackState_build_closure: function _CallStackState_build_closure(t0) {
      this.$this = t0;
    }, _CallStackState_build__closure: function _CallStackState_build__closure(t0, t1) {
      this.$this = t0;
      this.stackFrames = t1;
    }, _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;
    },
    LineSegment_zoomedXPosition: function(unzoomableOffset, x, zoom) {
      return (x - unzoomableOffset) * zoom + unzoomableOffset;
    },
    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;
    },
    computeRenderSizes: function(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 = H._setArrayType([], type$.JSArray_legacy_double);
        for (t2 = sizes.length, _i = 0; _i < sizes.length; sizes.length === t2 || (0, H.throwConcurrentModificationError)(sizes), ++_i) {
          sizes[_i];
          t1.push(renderSize);
        }
        return t1;
      }
      transformToRenderSize = new N.computeRenderSizes_transformToRenderSize(sizes, smallestSize, smallestRenderSize, largestSize);
      renderSizes = transformToRenderSize.call$1(largestRenderSize);
      t1 = V.sum(renderSizes);
      if (t1 < maxSizeAvailable) {
        t1 = H._setArrayType([], type$.JSArray_legacy_double);
        for (t2 = sizes.length, _i = 0; _i < sizes.length; sizes.length === t2 || (0, H.throwConcurrentModificationError)(sizes), ++_i)
          t1.push(sizes[_i] - smallestSize);
        renderSizes = transformToRenderSize.call$1((maxSizeAvailable - n * smallestRenderSize) * (largestSize - smallestSize) / V.sum(t1) + smallestRenderSize);
      }
      return renderSizes;
    },
    LayoutProperties$: function(node, copyLevel) {
      var _null = null,
        t1 = node == null,
        t2 = t1 ? _null : H._asStringS(J.$index$asx(node.json, "description")),
        t3 = t1 ? _null : M.RemoteDiagnosticsNode_deserializeSize(J.$index$asx(node.json, "size")),
        t4 = t1 ? _null : M.RemoteDiagnosticsNode_deserializeConstraints(J.$index$asx(node.json, "constraints")),
        t5 = t1 ? _null : C.JSArray_methods.contains$1(H._setArrayType(["Row", "Column", "Flex"], type$.JSArray_legacy_String), H._asStringS(J.$index$asx(node.json, "widgetRuntimeType"))),
        t6 = t1 ? _null : J.$index$asx(node.json, "flexFactor"),
        t7 = t1 ? _null : M.RemoteDiagnosticsNode_deserializeFlexFit(J.$index$asx(node.json, "flexFit"));
      if (copyLevel === 0)
        t1 = H._setArrayType([], type$.JSArray_legacy_LayoutProperties);
      else {
        if (t1)
          t1 = _null;
        else {
          node._maybePopulateChildren$0();
          t1 = node._diagnostics_node$_children;
        }
        t1 = t1 == null ? _null : J.map$1$1$ax(t1, new N.LayoutProperties_closure(copyLevel), type$.legacy_LayoutProperties);
        t1 = t1 == null ? _null : t1.toList$1$growable(0, false);
      }
      t3 = new N.LayoutProperties(node, t1, t4, t2, t6, t7, t5, t3);
      t3.LayoutProperties$2$copyLevel(node, copyLevel);
      return t3;
    },
    LayoutProperties$values: function(children, constraints, description, flexFactor, flexFit, isFlex, node, size) {
      var t1 = new N.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: function(min, max, axis) {
      if (min == max)
        return axis + "=" + J.toStringAsFixed$1$n(min, 1);
      return J.toStringAsFixed$1$n(min, 1) + "<=" + axis + "<=" + J.toStringAsFixed$1$n(max, 1);
    },
    LayoutPropertiesExtension_get_overflowSide: function(_this) {
      if (_this.get$isOverflowWidth())
        return C.OverflowSide_0;
      if (_this.get$isOverflowHeight())
        return C.OverflowSide_1;
      return null;
    },
    MainAxisAlignmentExtension_get_reversed: function(_this) {
      switch (_this) {
        case C.MainAxisAlignment_0:
          return C.MainAxisAlignment_1;
        case C.MainAxisAlignment_1:
          return C.MainAxisAlignment_0;
        default:
          return _this;
      }
    },
    FlexLayoutProperties$: function(children, constraints, crossAxisAlignment, description, direction, flexFactor, flexFit, isFlex, mainAxisAlignment, mainAxisSize, node, size, textBaseline, textDirection, verticalDirection) {
      var t1 = new N.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: function(node, crossAxisAlignment, direction, mainAxisAlignment, mainAxisSize, textBaseline, textDirection, verticalDirection) {
      var t1 = node.json,
        t2 = J.getInterceptor$asx(t1),
        t3 = H._asStringS(t2.$index(t1, "description")),
        t4 = M.RemoteDiagnosticsNode_deserializeSize(t2.$index(t1, "size")),
        t5 = M.RemoteDiagnosticsNode_deserializeConstraints(t2.$index(t1, "constraints")),
        t6 = C.JSArray_methods.contains$1(H._setArrayType(["Row", "Column", "Flex"], type$.JSArray_legacy_String), H._asStringS(t2.$index(t1, "widgetRuntimeType"))),
        t7 = t2.$index(t1, "flexFactor");
      t1 = M.RemoteDiagnosticsNode_deserializeFlexFit(t2.$index(t1, "flexFit"));
      node._maybePopulateChildren$0();
      t2 = node._diagnostics_node$_children;
      t2 = t2 == null ? null : J.map$1$1$ax(t2, new N.LayoutProperties_closure(1), type$.legacy_LayoutProperties);
      t2 = t2 == null ? null : t2.toList$1$growable(0, false);
      t4 = new N.FlexLayoutProperties(direction, mainAxisAlignment, crossAxisAlignment, mainAxisSize, textDirection, verticalDirection, textBaseline, node, t2, t5, t3, t7, t1, t6, t4);
      t4.LayoutProperties$2$copyLevel(node, 1);
      return t4;
    },
    FlexLayoutProperties_FlexLayoutProperties$fromDiagnostics: function(node) {
      var t1, t2;
      if (node == null)
        return null;
      t1 = $.$get$_flexLayoutExpando();
      t1.toString;
      P.Expando__checkType(node);
      t1 = t1._jsWeakMap;
      t2 = t1.get(node);
      if (t2 == null) {
        t2 = N.FlexLayoutProperties__buildNode(node);
        t1.set(node, t2);
        t1 = t2;
      } else
        t1 = t2;
      return t1;
    },
    FlexLayoutProperties__buildNode: function(node) {
      var data, t2, t3, t4, t5, t6, t7, t8,
        t1 = node.get$renderObject(),
        renderObjectJson = t1 == null ? null : t1.json;
      if (renderObjectJson == null)
        return null;
      data = P.LinkedHashMap_LinkedHashMap$fromIterable(J.$index$asx(renderObjectJson, "properties"), new N.FlexLayoutProperties__buildNode_closure(), new N.FlexLayoutProperties__buildNode_closure0(), type$.legacy_String, type$.legacy_Object);
      t1 = $.$get$FlexLayoutProperties__directionUtils();
      t2 = data.$index(0, "direction");
      t2 = t1._lookupTable.$index(0, t2);
      t1 = $.$get$FlexLayoutProperties__mainAxisAlignmentUtils();
      t3 = data.$index(0, "mainAxisAlignment");
      t3 = t1._lookupTable.$index(0, t3);
      t1 = $.$get$FlexLayoutProperties__mainAxisSizeUtils();
      t4 = data.$index(0, "mainAxisSize");
      t4 = t1._lookupTable.$index(0, t4);
      t1 = $.$get$FlexLayoutProperties__crossAxisAlignmentUtils();
      t5 = data.$index(0, "crossAxisAlignment");
      t5 = t1._lookupTable.$index(0, t5);
      t1 = $.$get$FlexLayoutProperties__textDirectionUtils();
      t6 = data.$index(0, "textDirection");
      t6 = t1._lookupTable.$index(0, t6);
      t1 = $.$get$FlexLayoutProperties__verticalDirectionUtils();
      t7 = data.$index(0, "verticalDirection");
      t7 = t1._lookupTable.$index(0, t7);
      t1 = $.$get$FlexLayoutProperties__textBaselineUtils();
      t8 = data.$index(0, "textBaseline");
      return N.FlexLayoutProperties$_fromNode(node, t5, t2, t3, t4, t1._lookupTable.$index(0, t8), t6, t7);
    },
    RenderProperties$: function(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 N.RenderProperties(axis, layoutProperties, t6, t5 == null ? 0 : t5, t2, t1, t4, t3, isFreeSpace);
    },
    _extension_0_closeTo: function(_this, other) {
      return J.toStringAsPrecision$1$n(_this._dx, 1) === J.toStringAsPrecision$1$n(other._dx, 1) && J.toStringAsPrecision$1$n(_this._dy, 1) === J.toStringAsPrecision$1$n(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._inspector_data_models$_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;
    },
    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() {
    },
    InstructionsSize_InstructionsSize$fromSnapshot: function(controller) {
      var snapshotGraph, t1 = {},
        rootChildren = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_TreemapNode),
        root = t1.currentParent = new E.TreemapNode("root", rootChildren, 0, false, H._setArrayType([], type$.JSArray_legacy_TreemapNode));
      controller.heapGraph.rawGroupByLibrary.forEach$1(0, new N.InstructionsSize_InstructionsSize$fromSnapshot_closure(t1, rootChildren));
      root.byteSize = rootChildren.get$values(rootChildren).fold$2(0, 0, new N.InstructionsSize_InstructionsSize$fromSnapshot_closure0());
      snapshotGraph = C.JSArray_methods.get$last(controller.snapshots).snapshotGraph;
      rootChildren.putIfAbsent$2(0, "External Heap", new N.InstructionsSize_InstructionsSize$fromSnapshot_closure1(snapshotGraph, root));
      root.byteSize = snapshotGraph._shallowSize + snapshotGraph._externalSize;
      return new N.InstructionsSize(root);
    },
    MemoryHeapTreemap: function MemoryHeapTreemap(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    MemoryHeapTreemapState: function MemoryHeapTreemapState(t0, t1, t2, t3) {
      var _ = this;
      _.sizes = null;
      _.callbacks = t0;
      _.controller = t1;
      _.root = null;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._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() {
    },
    ContinuesState: function ContinuesState(t0, t1) {
      this.index = t0;
      this._memory_timeline$_name = t1;
    },
    MemoryTimeline: function MemoryTimeline(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.controller = t0;
      _.liveData = t1;
      _.offlineData = t2;
      _._eventFiredNotifier = t3;
      _._sampleAddedNotifier = t4;
      _._eventSamples = t5;
      _.monitorContinuesState = t6;
      _._sampleEventNotifier = t7;
      _._pausedNotifier = t8;
      _._markerHiddenNotifier = t9;
      _._extensionEvents = t10;
    },
    IsolateStatisticsViewController$: function() {
      var _null = null,
        t1 = type$.nullable_void_Function,
        t2 = type$.ValueNotifier_legacy_bool,
        t3 = type$.legacy_CpuProfileData,
        t4 = type$.ValueNotifier_legacy_CpuStackFrame,
        t5 = type$.ValueNotifier_legacy_String;
      t1 = new N.IsolateStatisticsViewController(new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), H._setArrayType([], type$.JSArray_legacy_InstanceRef), H._setArrayType([], type$.JSArray_legacy_VMTag), H._setArrayType([], type$.JSArray_legacy_String), new T.CpuProfilerController(new E.CpuProfileStore(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_TimeRange, t3)), new B.ValueNotifier($.$get$CpuProfilerController_baseStateCpuProfileData(), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_CpuProfileData), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t4), new B.ValueNotifier("none", P.List_List$filled(0, _null, false, t1), t5), P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, t3), new V.CpuProfileTransformer(new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_double)), new B.ValueNotifier("", P.List_List$filled(0, _null, false, t1), t5), 0, new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_CpuStackFrame), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_CpuStackFrame), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t4), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_int)));
      t1.IsolateStatisticsViewController$0();
      return t1;
    },
    IsolateStatisticsViewController: function IsolateStatisticsViewController(t0, t1, t2, t3, t4) {
      var _ = this;
      _._isolate_statistics_view_controller$_isolate = null;
      _._isolate_statistics_view_controller$_refreshing = t0;
      _._ports = t1;
      _._tags = t2;
      _._isolate_statistics_view_controller$_serviceExtensions = t3;
      _.CpuProfilerControllerProviderMixin_cpuProfilerController = t4;
    },
    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_CpuProfilerControllerProviderMixin: function _IsolateStatisticsViewController_DisposableController_CpuProfilerControllerProviderMixin() {
    },
    CupertinoSwitch: function CupertinoSwitch(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.value = t0;
      _.onChanged = t1;
      _.activeColor = t2;
      _.trackColor = t3;
      _.dragStartBehavior = t4;
      _.key = t5;
    },
    _CupertinoSwitchState: function _CupertinoSwitchState(t0, t1) {
      var _ = this;
      _.___CupertinoSwitchState__reaction = _.___CupertinoSwitchState__reactionController = _.___CupertinoSwitchState_position = _.___CupertinoSwitchState__positionController = _.___CupertinoSwitchState__drag = _.___CupertinoSwitchState__tap = $;
      _.needsPositionAnimation = false;
      _.TickerProviderStateMixin__tickers = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _CupertinoSwitchState__handleDragEnd_closure: function _CupertinoSwitchState__handleDragEnd_closure(t0) {
      this.$this = t0;
    },
    _CupertinoSwitchRenderObjectWidget: function _CupertinoSwitchRenderObjectWidget(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.value = t0;
      _.activeColor = t1;
      _.trackColor = t2;
      _.onChanged = t3;
      _.state = t4;
      _.textDirection = t5;
      _.key = t6;
    },
    _RenderCupertinoSwitch: function _RenderCupertinoSwitch(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._switch0$_state = t0;
      _._switch0$_value = t1;
      _._switch0$_activeColor = t2;
      _._switch0$_trackColor = t3;
      _._switch0$_onChanged = t4;
      _._switch0$_textDirection = t5;
      _._clipRRectLayer = null;
      _._additionalConstraints = t6;
      _.RenderObjectWithChildMixin__child = t7;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderCupertinoSwitch_paint_closure: function _RenderCupertinoSwitch_paint_closure(t0) {
      this.thumbBounds = t0;
    },
    __CupertinoSwitchState_State_TickerProviderStateMixin: function __CupertinoSwitchState_State_TickerProviderStateMixin() {
    },
    BindingBase: function BindingBase() {
    },
    BindingBase_lockEvents_closure: function BindingBase_lockEvents_closure(t0) {
      this.$this = t0;
    },
    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_registerServiceExtension_closure: function BindingBase_registerServiceExtension_closure(t0, t1) {
      this.methodName = t0;
      this.callback = t1;
    },
    BindingBase_registerServiceExtension__closure: function BindingBase_registerServiceExtension__closure() {
    },
    FlutterErrorDetailsForPointerEventDispatcher$: function(context, $event, exception, hitTestEntry, informationCollector, library, stack) {
      return new N.FlutterErrorDetailsForPointerEventDispatcher(exception, stack, library, context, informationCollector, false);
    },
    _Resampler: function _Resampler(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._resamplers = t0;
      _._binding1$_frameCallbackScheduled = false;
      _._frameTime = t1;
      _._frameTimeAge = t2;
      _._lastSampleTime = t3;
      _._lastEventTime = t4;
      _._binding1$_handlePointerEvent = t5;
      _._handleSampleTimeChanged = t6;
      _._samplingInterval = t7;
      _._binding1$_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;
    },
    TapGestureRecognizer$: function(debugOwner) {
      var t1 = type$.int,
        t2 = P.HashSet_HashSet(t1);
      return new N.TapGestureRecognizer(C.Duration_100000, 18, C.GestureRecognizerState_0, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, debugOwner, null, P.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;
      _._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;
    },
    SnackBar$: function(action, animation, backgroundColor, behavior, $content, dismissDirection, duration, elevation, key, margin, onVisible, padding, shape, width) {
      return new N.SnackBar($content, backgroundColor, elevation, margin, padding, width, shape, behavior, action, duration, animation, onVisible, dismissDirection, key);
    },
    SnackBarClosedReason: function SnackBarClosedReason(t0, t1) {
      this.index = t0;
      this._snack_bar$_name = t1;
    },
    SnackBar: function SnackBar(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      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;
      _.key = t13;
    },
    _SnackBarState: function _SnackBarState(t0) {
      var _ = this;
      _._wasVisible = false;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _SnackBarState_build_closure0: function _SnackBarState_build_closure0(t0) {
      this.context = t0;
    },
    _SnackBarState_build_closure: function _SnackBarState_build_closure(t0) {
      this.context = t0;
    },
    _SnackBarState_build_closure1: function _SnackBarState_build_closure1(t0) {
      this.heightAnimation = t0;
    },
    Switch$: function(onChanged, value) {
      return new N.Switch(value, onChanged, null);
    },
    _SwitchType: function _SwitchType(t0, t1) {
      this.index = t0;
      this._switch$_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) {
      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;
      _._widget = null;
      _._debugLifecycleState = t14;
      _._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.theme = 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() {
    },
    PaintingBinding: function PaintingBinding() {
    },
    _SystemFontsNotifier: function _SystemFontsNotifier(t0) {
      this._systemFontsCallbacks = t0;
    },
    Tolerance: function Tolerance(t0, t1) {
      this.distance = t0;
      this.velocity = t1;
    },
    RendererBinding: function RendererBinding() {
    },
    RendererBinding__scheduleMouseTrackerUpdate_closure: function RendererBinding__scheduleMouseTrackerUpdate_closure(t0) {
      this.$this = t0;
    },
    flipScrollDirection: function(direction) {
      switch (direction) {
        case C.ScrollDirection_0:
          return C.ScrollDirection_0;
        case C.ScrollDirection_1:
          return C.ScrollDirection_2;
        case C.ScrollDirection_2:
          return C.ScrollDirection_1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    ScrollDirection: function ScrollDirection(t0, t1) {
      this.index = t0;
      this._viewport_offset$_name = t1;
    },
    ViewportOffset: function ViewportOffset() {
    },
    WrapAlignment: function WrapAlignment(t0, t1) {
      this.index = t0;
      this._wrap$_name = t1;
    },
    WrapCrossAlignment: function WrapCrossAlignment(t0, t1) {
      this.index = t0;
      this._wrap$_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) {
      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 = null;
      _.ContainerRenderObjectMixin__childCount = t9;
      _.ContainerRenderObjectMixin__firstChild = t10;
      _.ContainerRenderObjectMixin__lastChild = t11;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderWrap_RenderBox_ContainerRenderObjectMixin: function _RenderWrap_RenderBox_ContainerRenderObjectMixin() {
    },
    _RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin: function _RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin() {
    },
    timeDilation: function(value) {
      var t1;
      if ($._timeDilation === value)
        return;
      t1 = $.SchedulerBinding__instance;
      if (t1 != null)
        t1.resetEpoch$0();
      $._timeDilation = value;
    },
    SchedulerBinding__taskSorter: function(e1, e2) {
      return -C.JSInt_methods.compareTo$1(e1.priority, e2.priority);
    },
    defaultSchedulingStrategy: function(priority, scheduler) {
      var t1 = scheduler.SchedulerBinding__transientCallbacks;
      if (t1.get$length(t1) > 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._binding$_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) {
      this.$this = t0;
    },
    SchedulerBinding__handleDrawFrame_closure: function SchedulerBinding__handleDrawFrame_closure(t0) {
      this.$this = t0;
    },
    SchedulerBinding_handleBeginFrame_closure: function SchedulerBinding_handleBeginFrame_closure(t0) {
      this.$this = t0;
    },
    SemanticsBinding: function SemanticsBinding() {
    },
    ServicesBinding__parseLicenses: function(rawLicenses) {
      var t1, _i, license, t2, split,
        _licenseSeparator = "\n" + C.JSString_methods.$mul("-", 80) + "\n",
        result = H._setArrayType([], type$.JSArray_LicenseEntry),
        licenses = rawLicenses.split(_licenseSeparator);
      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");
          result.push(new F.LicenseEntryWithLineBreaks(t2.substring$1(license, split + 2)));
        } else
          result.push(new F.LicenseEntryWithLineBreaks(license));
      }
      return result;
    },
    ServicesBinding__parseAppLifecycleMessage: function(message) {
      switch (message) {
        case "AppLifecycleState.paused":
          return C.AppLifecycleState_2;
        case "AppLifecycleState.resumed":
          return C.AppLifecycleState_0;
        case "AppLifecycleState.inactive":
          return C.AppLifecycleState_1;
        case "AppLifecycleState.detached":
          return C.AppLifecycleState_3;
      }
      return null;
    },
    ServicesBinding: function ServicesBinding() {
    },
    ServicesBinding__addLicenses_closure: function ServicesBinding__addLicenses_closure(t0) {
      this.rawLicenses = t0;
    },
    ServicesBinding__addLicenses_closure0: function ServicesBinding__addLicenses_closure0(t0, t1) {
      this.parsedLicenses = t0;
      this.rawLicenses = t1;
    },
    _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;
    },
    _toTextAffinity: function(affinity) {
      switch (affinity) {
        case "TextAffinity.downstream":
          return C.TextAffinity_1;
        case "TextAffinity.upstream":
          return C.TextAffinity_0;
      }
      return null;
    },
    TextEditingValue_TextEditingValue$fromJSON: function(encoded) {
      var t4, t5, t6,
        t1 = J.getInterceptor$asx(encoded),
        t2 = H._asStringS(t1.$index(encoded, "text")),
        t3 = H._asIntQ(t1.$index(encoded, "selectionBase"));
      if (t3 == null)
        t3 = -1;
      t4 = H._asIntQ(t1.$index(encoded, "selectionExtent"));
      if (t4 == null)
        t4 = -1;
      t5 = N._toTextAffinity(H._asStringQ(t1.$index(encoded, "selectionAffinity")));
      if (t5 == null)
        t5 = C.TextAffinity_1;
      t6 = H._asBoolQ(t1.$index(encoded, "selectionIsDirectional"));
      t3 = X.TextSelection$(t5, t3, t4, t6 === true);
      t4 = H._asIntQ(t1.$index(encoded, "composingBase"));
      if (t4 == null)
        t4 = -1;
      t1 = H._asIntQ(t1.$index(encoded, "composingExtent"));
      return new N.TextEditingValue(t2, t3, new P.TextRange(t4, t1 == null ? -1 : t1));
    },
    _toTextInputAction: function(action) {
      switch (action) {
        case "TextInputAction.none":
          return C.TextInputAction_0;
        case "TextInputAction.unspecified":
          return C.TextInputAction_1;
        case "TextInputAction.go":
          return C.TextInputAction_3;
        case "TextInputAction.search":
          return C.TextInputAction_4;
        case "TextInputAction.send":
          return C.TextInputAction_5;
        case "TextInputAction.next":
          return C.TextInputAction_6;
        case "TextInputAction.previous":
          return C.TextInputAction_7;
        case "TextInputAction.continue_action":
          return C.TextInputAction_8;
        case "TextInputAction.join":
          return C.TextInputAction_9;
        case "TextInputAction.route":
          return C.TextInputAction_10;
        case "TextInputAction.emergencyCall":
          return C.TextInputAction_11;
        case "TextInputAction.done":
          return C.TextInputAction_2;
        case "TextInputAction.newline":
          return C.TextInputAction_12;
      }
      throw H.wrapException(U.FlutterError$fromParts(H._setArrayType([U.ErrorSummary$("Unknown text input action: " + H.S(action))], type$.JSArray_DiagnosticsNode)));
    },
    _toTextCursorAction: function(state) {
      switch (state) {
        case "FloatingCursorDragState.start":
          return C.FloatingCursorDragState_0;
        case "FloatingCursorDragState.update":
          return C.FloatingCursorDragState_1;
        case "FloatingCursorDragState.end":
          return C.FloatingCursorDragState_2;
      }
      throw H.wrapException(U.FlutterError$fromParts(H._setArrayType([U.ErrorSummary$("Unknown text cursor action: " + H.S(state))], type$.JSArray_DiagnosticsNode)));
    },
    SmartDashesType: function SmartDashesType(t0, t1) {
      this.index = t0;
      this._text_input$_name = t1;
    },
    SmartQuotesType: function SmartQuotesType(t0, t1) {
      this.index = t0;
      this._text_input$_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._text_input$_name = t1;
    },
    TextCapitalization0: function TextCapitalization0() {
    },
    TextInputConfiguration: function TextInputConfiguration(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.inputType = t0;
      _.readOnly = t1;
      _.obscureText = t2;
      _.autocorrect = t3;
      _.autofillConfiguration = t4;
      _.smartDashesType = t5;
      _.smartQuotesType = t6;
      _.enableSuggestions = t7;
      _.inputAction = t8;
      _.textCapitalization = t9;
      _.keyboardAppearance = t10;
    },
    FloatingCursorDragState: function FloatingCursorDragState(t0, t1) {
      this.index = t0;
      this._text_input$_name = t1;
    },
    TextEditingValue: function TextEditingValue(t0, t1, t2) {
      this.text = t0;
      this.selection = t1;
      this.composing = t2;
    },
    SelectionChangedCause: function SelectionChangedCause(t0, t1) {
      this.index = t0;
      this._text_input$_name = t1;
    },
    TextSelectionDelegate: function TextSelectionDelegate() {
    },
    TextInputConnection: function TextInputConnection(t0, t1) {
      var _ = this;
      _._cachedCaretRect = _._cachedRect = _._cachedTransform = _._cachedSize = null;
      _._text_input$_id = t0;
      _._client = t1;
    },
    TextInput: function TextInput() {
      var _ = this;
      _.__TextInput__channel = $;
      _._currentConnection = null;
      _.__TextInput__currentConfiguration = $;
      _._hidePending = false;
    },
    TextInput__scheduleHide_closure: function TextInput__scheduleHide_closure(t0) {
      this.$this = t0;
    },
    RenderObjectToWidgetElement$: function(widget, $T) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new N.RenderObjectToWidgetElement(t1, widget, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2), $T._eval$1("RenderObjectToWidgetElement<0>"));
    },
    WidgetsFlutterBinding$: function() {
      var _null = null,
        t1 = H._setArrayType([], type$.JSArray_WidgetsBindingObserver),
        t2 = $.Zone__current,
        t3 = H._setArrayType([], type$.JSArray_of_void_Function_List_FrameTiming),
        t4 = P.List_List$filled(7, _null, false, type$.nullable__TaskEntry_dynamic),
        t5 = type$.int,
        t6 = type$.JSArray_of_void_Function_Duration;
      t5 = new N.WidgetsFlutterBinding(_null, t1, true, new P._AsyncCompleter(new P._Future(t2, type$._Future_void), type$._AsyncCompleter_void), false, _null, false, false, _null, $, _null, false, 0, false, $, _null, new N._SystemFontsNotifier(P.LinkedHashSet_LinkedHashSet$_empty(type$.void_Function)), $, $, t3, _null, N.binding__defaultSchedulingStrategy$closure(), new Y.HeapPriorityQueue(N.binding_SchedulerBinding__taskSorter$closure(), t4, type$.HeapPriorityQueue__TaskEntry_dynamic), false, 0, P.LinkedHashMap_LinkedHashMap$_empty(t5, type$._FrameCallbackEntry), P.HashSet_HashSet(t5), H._setArrayType([], t6), H._setArrayType([], t6), _null, false, C.SchedulerPhase_0, true, false, _null, C.Duration_0, C.Duration_0, _null, 0, _null, false, P.ListQueue$(_null, type$.PointerEvent_2), new O.PointerRouter(P.LinkedHashMap_LinkedHashMap$_empty(t5, type$.Map_of_void_Function_PointerEvent_and_nullable_Matrix4), P.LinkedHashMap_LinkedHashMap$_empty(type$.void_Function_PointerEvent, type$.nullable_Matrix4)), new D.GestureArenaManager(P.LinkedHashMap_LinkedHashMap$_empty(t5, type$._GestureArena)), new G.PointerSignalResolver(), P.LinkedHashMap_LinkedHashMap$_empty(t5, type$.HitTestResult), $, false, C.Duration_m38000);
      t5.BindingBase$0();
      return t5;
    },
    _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_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_closure_markElementsDirty: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure_markElementsDirty(t0) {
      this.className = 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_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, t3, t4) {
      var _ = this;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = _._newWidget = _._child = null;
      _._cachedHash = t0;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._owner = null;
      _._lifecycleState = t2;
      _._debugForgottenChildrenWithGlobalKey = t3;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t4;
    },
    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) {
      var _ = this;
      _.WidgetsBinding__buildOwner = t0;
      _.WidgetsBinding__observers = t1;
      _.WidgetsBinding__needToReportFirstFrame = t2;
      _.WidgetsBinding__firstFrameCompleter = t3;
      _.WidgetsBinding_debugBuildingDirtyElements = t4;
      _.WidgetsBinding__renderViewElement = t5;
      _.WidgetsBinding__readyToProduceFrames = t6;
      _.RendererBinding__debugIsRenderViewInitialized = t7;
      _.RendererBinding__mouseTracker = t8;
      _.RendererBinding___RendererBinding__pipelineOwner = t9;
      _.RendererBinding__semanticsHandle = t10;
      _.RendererBinding__debugMouseTrackerUpdateScheduled = t11;
      _.RendererBinding__firstFrameDeferredCount = t12;
      _.RendererBinding__firstFrameSent = t13;
      _.SemanticsBinding___SemanticsBinding__accessibilityFeatures = t14;
      _.PaintingBinding__imageCache = t15;
      _.PaintingBinding__systemFonts = t16;
      _.ServicesBinding___ServicesBinding__defaultBinaryMessenger = t17;
      _.ServicesBinding___ServicesBinding__restorationManager = t18;
      _.SchedulerBinding__timingsCallbacks = t19;
      _.SchedulerBinding__lifecycleState = t20;
      _.SchedulerBinding_schedulingStrategy = t21;
      _.SchedulerBinding__taskQueue = t22;
      _.SchedulerBinding__hasRequestedAnEventLoopCallback = t23;
      _.SchedulerBinding__nextFrameCallbackId = t24;
      _.SchedulerBinding__transientCallbacks = t25;
      _.SchedulerBinding__removedIds = t26;
      _.SchedulerBinding__persistentCallbacks = t27;
      _.SchedulerBinding__postFrameCallbacks = t28;
      _.SchedulerBinding__nextFrameCompleter = t29;
      _.SchedulerBinding__hasScheduledFrame = t30;
      _.SchedulerBinding__schedulerPhase = t31;
      _.SchedulerBinding__framesEnabled = t32;
      _.SchedulerBinding__warmUpFrame = t33;
      _.SchedulerBinding__firstRawTimeStampInEpoch = t34;
      _.SchedulerBinding__epochStart = t35;
      _.SchedulerBinding__lastRawTimeStamp = t36;
      _.SchedulerBinding__currentFrameTimeStamp = t37;
      _.SchedulerBinding__debugFrameNumber = t38;
      _.SchedulerBinding__debugBanner = t39;
      _.SchedulerBinding__rescheduleAfterWarmUpFrame = t40;
      _.GestureBinding__pendingPointerEvents = t41;
      _.GestureBinding_pointerRouter = t42;
      _.GestureBinding_gestureArena = t43;
      _.GestureBinding_pointerSignalResolver = t44;
      _.GestureBinding__hitTests = t45;
      _.GestureBinding___GestureBinding__resampler = t46;
      _.GestureBinding_resamplingEnabled = t47;
      _.GestureBinding_samplingOffset = t48;
      _._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() {
    },
    UniqueKey$: function() {
      return new N.UniqueKey();
    },
    GlobalKey_GlobalKey: function(debugLabel, $T) {
      return new N.LabeledGlobalKey(debugLabel, $T._eval$1("LabeledGlobalKey<0>"));
    },
    _InactiveElements__deactivateRecursively: function(element) {
      element.deactivate$0();
      element.visitChildren$1(N.framework__InactiveElements__deactivateRecursively$closure());
    },
    Element__sort: function(a, b) {
      var t1;
      if (a.get$_framework$_depth() < b.get$_framework$_depth())
        return -1;
      if (b.get$_framework$_depth() < a.get$_framework$_depth())
        return 1;
      t1 = b._dirty;
      if (t1 && !a._dirty)
        return -1;
      if (a._dirty && !t1)
        return 1;
      return 0;
    },
    Element__activateRecursively: function(element) {
      element.activate$0();
      element.visitChildren$1(N.framework_Element__activateRecursively$closure());
    },
    _ElementDiagnosticableTreeNode$: function($name, stateful, style, value) {
      return new N._ElementDiagnosticableTreeNode(stateful, value, $name, true, true, null, style);
    },
    ErrorWidget__defaultErrorWidgetBuilder: function(details) {
      var exception = details.exception,
        t1 = exception instanceof U.FlutterError ? exception : null;
      return new N.ErrorWidget("", t1, new N.UniqueKey());
    },
    StatelessElement$: function(widget) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new N.StatelessElement(t1, widget, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
    },
    StatefulElement$: function(widget) {
      var t1 = widget.createState$0(),
        t2 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t2;
      t2 = new N.StatefulElement(t1, t2, widget, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
      t1._framework$_element = t2;
      t1._widget = widget;
      return t2;
    },
    InheritedElement$: function(widget) {
      var t1 = type$.Element_2,
        t2 = P.HashMap_HashMap(null, null, null, t1, type$.nullable_Object),
        t3 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t3;
      return new N.InheritedElement(t2, t3, widget, C._ElementLifecycle_0, P.HashSet_HashSet(t1));
    },
    SingleChildRenderObjectElement$: function(widget) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new N.SingleChildRenderObjectElement(t1, widget, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
    },
    MultiChildRenderObjectElement$: function(widget) {
      var t1 = type$.Element_2,
        t2 = P.HashSet_HashSet(t1),
        t3 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t3;
      return new N.MultiChildRenderObjectElement(t2, t3, widget, C._ElementLifecycle_0, P.HashSet_HashSet(t1));
    },
    _debugReportException: function(context, exception, stack, informationCollector) {
      var details = new U.FlutterErrorDetails(exception, stack, "widgets library", context, informationCollector, false);
      U.FlutterError_reportError(details);
      return details;
    },
    UniqueKey: function UniqueKey() {
    },
    GlobalKey: function GlobalKey() {
    },
    LabeledGlobalKey: function LabeledGlobalKey(t0, t1) {
      this._framework$_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._framework$_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._framework$_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, t4, t5) {
      var _ = this;
      _.onBuildScheduled = null;
      _._inactiveElements = t0;
      _._dirtyElements = t1;
      _._scheduledFlushDirtyElements = false;
      _._dirtyElementsNeedsResorting = null;
      _.focusManager = t2;
      _._debugStateLockLevel = 0;
      _._debugBuilding = false;
      _._debugElementsThatWillNeedToBeRebuiltDueToGlobalKeyShenanigans = _._debugCurrentBuildTarget = null;
      _._globalKeyRegistry = t3;
      _._debugIllFatedElements = t4;
      _._debugGlobalKeyReservations = t5;
    },
    BuildOwner_buildScope_closure: function BuildOwner_buildScope_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    BuildOwner_finalizeTree_closure: function BuildOwner_finalizeTree_closure(t0) {
      this.$this = t0;
    },
    Element0: function Element0() {
    },
    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, t2, t3) {
      var _ = this;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t0;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._owner = null;
      _._lifecycleState = t2;
      _._debugForgottenChildrenWithGlobalKey = t3;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    StatefulElement: function StatefulElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _._framework$_state = t0;
      _._didChangeDependencies = false;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    ProxyElement: function ProxyElement() {
    },
    ParentDataElement: function ParentDataElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t0;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._owner = null;
      _._lifecycleState = t2;
      _._debugForgottenChildrenWithGlobalKey = t3;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t4;
    },
    ParentDataElement__applyParentData_applyParentDataToChild: function ParentDataElement__applyParentData_applyParentDataToChild(t0) {
      this.widget = t0;
    },
    InheritedElement: function InheritedElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _._dependents = t0;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._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, t2, t3) {
      var _ = this;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _._cachedHash = t0;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._owner = null;
      _._lifecycleState = t2;
      _._debugForgottenChildrenWithGlobalKey = t3;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    SingleChildRenderObjectElement: function SingleChildRenderObjectElement(t0, t1, t2, t3) {
      var _ = this;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = _._framework$_child = null;
      _._cachedHash = t0;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._owner = null;
      _._lifecycleState = t2;
      _._debugForgottenChildrenWithGlobalKey = t3;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    MultiChildRenderObjectElement: function MultiChildRenderObjectElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _.__MultiChildRenderObjectElement__children = $;
      _._forgottenChildren = t0;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    MultiChildRenderObjectElement_children_closure: function MultiChildRenderObjectElement_children_closure(t0) {
      this.$this = t0;
    },
    DebugCreator: function DebugCreator(t0) {
      this.element = t0;
    },
    IndexedSlot: function IndexedSlot(t0, t1, t2) {
      this.value = t0;
      this.index = t1;
      this.$ti = t2;
    },
    _NullElement: function _NullElement(t0, t1, t2, t3) {
      var _ = this;
      _._framework$_parent = null;
      _._cachedHash = t0;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._owner = null;
      _._lifecycleState = t2;
      _._debugForgottenChildrenWithGlobalKey = t3;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _NullWidget: function _NullWidget(t0) {
      this.key = t0;
    },
    _State_Object_Diagnosticable: function _State_Object_Diagnosticable() {
    },
    ValueListenableBuilder$: function(builder, valueListenable, $T) {
      return new N.ValueListenableBuilder(valueListenable, builder, null, $T._eval$1("ValueListenableBuilder<0>"));
    },
    ValueListenableBuilder: function ValueListenableBuilder(t0, t1, t2, t3) {
      var _ = this;
      _.valueListenable = t0;
      _.builder = t1;
      _.key = t2;
      _.$ti = t3;
    },
    _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;
    },
    ProviderScope_containerOf: function(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 H.wrapException(P.StateError$("No ProviderScope found"));
      return scope.container;
    },
    _ProviderScopeElement$: function(widget) {
      var t1 = widget.createState$0(),
        t2 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t2;
      t2 = new N._ProviderScopeElement(t1, t2, widget, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
      t1._framework$_element = t2;
      t1._widget = widget;
      return t2;
    },
    ProviderScope: function ProviderScope(t0, t1, t2) {
      this.child = t0;
      this.observers = t1;
      this.key = t2;
    },
    _ProviderScopeElement: function _ProviderScopeElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _._framework$_state = t0;
      _._didChangeDependencies = false;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    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, t3, t4) {
      var _ = this;
      _._dependents = t0;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    expectQuotedString: function(scanner) {
      var string;
      scanner.expect$2$name($.$get$_quotedString(), "quoted string");
      string = scanner.get$lastMatch().$index(0, 0);
      return H.stringReplaceAllFuncUnchecked(C.JSString_methods.substring$2(string, 1, string.length - 1), $.$get$_quotedPair(), new N.expectQuotedString_closure(), null);
    },
    expectQuotedString_closure: function expectQuotedString_closure() {
    },
    PsdOuterGlowEffect: function PsdOuterGlowEffect() {
      this.enabled = this.version = null;
    },
    PsdChannel: function PsdChannel(t0) {
      this.id = t0;
      this.__PsdChannel_data = $;
    },
    TiffDecoder: function TiffDecoder() {
      this.info = null;
      this.__TiffDecoder__input = $;
    },
    UnparsedFrame: function UnparsedFrame(t0, t1) {
      this.uri = t0;
      this.member = t1;
    },
    Name: function Name(t0) {
      this.raw = t0;
      this._scrubbed = null;
    },
    treemapFromJson: function(inputJson) {
      var symbols, _i, symbol, t2, t3, t4, t5,
        t1 = type$.dynamic,
        root = P.LinkedHashMap_LinkedHashMap$_literal(["n", "", "children", P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), "k", "p", "maxDepth", 0], type$.legacy_String, type$.legacy_Object);
      if (type$.legacy_Map_of_legacy_String_and_dynamic._is(inputJson) && J.containsKey$1$x(inputJson, "snapshot"))
        N._treemapFromSnapshot(root, A.Snapshot_Snapshot$fromJson(inputJson), C.TreemapFormat_3);
      else {
        symbols = S.fromJson(inputJson);
        for (t1 = symbols.length, _i = 0; _i < symbols.length; symbols.length === t1 || (0, H.throwConcurrentModificationError)(symbols), ++_i) {
          symbol = symbols[_i];
          t2 = N._treePath(symbol);
          t3 = symbol.name;
          t4 = t3._scrubbed;
          if (t4 == null) {
            t4 = t3.raw;
            t5 = J.startsWith$1$s(t4, "[Stub] ") ? $.$get$_stubScrubbingRe() : $.$get$_scrubbingRe();
            t3 = t3._scrubbed = H.stringReplaceAllUnchecked(t4, t5, "");
          } else
            t3 = t4;
          N._addSymbol(root, t2, t3, symbol.size, "T");
        }
      }
      return N._flatten(root, true);
    },
    treemapFromInfo: function(info, format) {
      var t1 = type$.dynamic,
        root = P.LinkedHashMap_LinkedHashMap$_literal(["n", "", "children", P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), "k", "p", "maxDepth", 0], type$.legacy_String, type$.legacy_Object);
      N._treemapFromInfo(root, info, format);
      return N._flatten(root, true);
    },
    _treemapFromInfo: function(root, info, format) {
      var recurse, t1;
      if (format !== C.TreemapFormat_0 && format !== C.TreemapFormat_1)
        throw H.wrapException(P.ArgumentError$("can only build simplified or collapsed formats from the program info"));
      recurse = new N._treemapFromInfo_recurse(new N._treemapFromInfo_cumulativeSize());
      t1 = info.root;
      N._addSymbol(root, "", t1.name, t1.size, "T");
      for (t1 = t1.children, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();)
        recurse.call$4(t1.get$current(t1), "", root, format);
    },
    _treemapFromSnapshot: function(root, snap, format) {
      var ownerPathCache, t1, ownerPath, nameFormatter, t2, t3, t4, t5, t6, t7, t8, t9, t10, owner, $name, path, type,
        info = A._ProgramInfoBuilder$(false).build$1(0, snap);
      if (format === C.TreemapFormat_0 || format === C.TreemapFormat_1) {
        N._treemapFromInfo(root, info, format);
        return;
      }
      ownerPathCache = P.List_List$filled(info.snapshotInfo.infoNodes.length, null, false, type$.legacy_String);
      t1 = info.root;
      ownerPathCache[t1.id] = t1.name;
      ownerPath = new N._treemapFromSnapshot_ownerPath(ownerPathCache, info);
      nameFormatter = $.$get$_nameFormatters().$index(0, format);
      for (t1 = P.Iterable_Iterable$generate(snap.nodeCount, snap.get$nodeAt(), type$.legacy_Node), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t3 = t2.snapshot;
        t4 = t3._v8_profile$_nodes;
        t5 = t2.index;
        t3 = t3.meta;
        t6 = t5 * t3.nodeFieldCount;
        t7 = t6 + t3.nodeSelfSizeIndex;
        t8 = J.getInterceptor$asx(t4);
        if (t8.$index(t4, t7) > 0) {
          t9 = info.snapshotInfo;
          t10 = t9.infoNodes;
          t5 = t9._ownerOf.$index(0, t5);
          owner = t10[t5 == null ? 2 : t5];
          $name = nameFormatter.call$1(t2);
          path = ownerPath.call$1(owner);
          type = J.$index$asx(t3.nodeTypes, t8.$index(t4, t6 + t3.nodeTypeIndex)) === "(RO) Instructions" ? "T" : "D";
          N._addSymbol(root, path, $name, t8.$index(t4, t7), type);
        }
      }
    },
    _treePath: function(symbol) {
      var t1 = symbol.name.raw;
      if (J.startsWith$1$s(t1, "[Stub] "))
        if (C.JSString_methods.startsWith$1(t1, "[Stub] Allocate "))
          return "@stubs/allocation-stubs/" + H.S(symbol.libraryUri) + "/" + H.S(symbol.className);
        else
          return "@stubs";
      else
        return H.S(symbol.libraryUri) + "/" + H.S(symbol.className);
    },
    _addChild: function(node, kind, $name) {
      return J.putIfAbsent$2$x(J.$index$asx(node, "children"), $name, new N._addChild_closure($name, kind));
    },
    _addSymbol: function(root, path, $name, size, symbolType) {
      var parts, t1, node, depth, _i, t2,
        _s8_ = "maxDepth";
      if (size == null || size === 0)
        return;
      if (path !== "") {
        parts = H._setArrayType(path.split("/"), type$.JSArray_String);
        if (J.startsWith$1$s(C.JSArray_methods.get$first(parts), "package:"))
          C.JSArray_methods.replaceRange$3(parts, 0, 1, J.split$1$s(C.JSArray_methods.get$first(parts), "."));
        for (t1 = parts.length, node = root, depth = 0, _i = 0; _i < parts.length; parts.length === t1 || (0, H.throwConcurrentModificationError)(parts), ++_i) {
          node = N._addChild(node, "p", parts[_i]);
          ++depth;
        }
      } else {
        node = root;
        depth = 0;
      }
      J.$indexSet$ax(node, "lastPathElement", true);
      node = N._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(H.checkNum(root.$index(0, _s8_)), depth + 1));
    },
    _flatten: function(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 N._flatten_closure()).toList$0(0);
        t1.$indexSet(node, _s8_, children);
        t2 = children.length === 1 && J.$eq$(J.$index$asx(C.JSArray_methods.get$first(children), "k"), "p");
        if (t2) {
          singleChild = C.JSArray_methods.get$first(children);
          t2 = J.getInterceptor$asx(singleChild);
          t2.$indexSet(singleChild, "n", H.S(t1.$index(node, "n")) + "/" + H.S(t2.$index(singleChild, "n")));
          return singleChild;
        }
      }
      return node;
    },
    TreemapFormat: function TreemapFormat(t0, t1) {
      this.index = t0;
      this._treemap$_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() {
    },
    WebSocketChannel: function WebSocketChannel(t0) {
      this._webSocket = t0;
    },
    WebSocketSink: function WebSocketSink(t0, t1) {
      this._webSocket = t0;
      this._stream_sink$_sink = t1;
    },
    initializeFramework: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        t7, t8, t9, t10, t11, t12, t13, t1, t2, t3, t4, t5, t6;
      var $async$initializeFramework = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_String;
              t2 = type$.nullable_void_Function;
              t3 = type$.JSArray_legacy_StreamSubscription_dynamic;
              t4 = type$.JSArray_legacy_Listenable;
              t5 = type$.JSArray_of_legacy_void_Function;
              t6 = type$.ValueNotifier_legacy_int;
              t6 = new R.ServiceConnectionManager(P.StreamController_StreamController$broadcast(false, type$.legacy_VmServiceWrapper), new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_legacy_VmService), type$._AsyncCompleter_legacy_VmService), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_ImmediateValueNotifier_legacy_bool), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_List_legacy_String), new R.VmFlagManager(new B.ValueNotifier(null, P.List_List$filled(0, null, false, t2), type$.ValueNotifier_legacy_FlagList), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_ValueNotifier_legacy_Flag), H._setArrayType([], t3), H._setArrayType([], t4), H._setArrayType([], t5)), new G.ErrorBadgeManager(P.LinkedHashMap_LinkedHashMap$_literal(["inspector", new B.ValueNotifier(0, P.List_List$filled(0, null, false, t2), t6), "performance", new B.ValueNotifier(0, P.List_List$filled(0, null, false, t2), t6), "network", new B.ValueNotifier(0, P.List_List$filled(0, null, false, t2), t6)], t1, type$.legacy_ValueNotifier_legacy_int), P.LinkedHashMap_LinkedHashMap$_literal(["inspector", new B.ValueNotifier(P.LinkedHashMap_LinkedHashMap(null, null, t1, type$.legacy_DevToolsError), P.List_List$filled(0, null, false, t2), type$.ValueNotifier_legacy_LinkedHashMap_of_legacy_String_and_legacy_DevToolsError)], t1, type$.legacy_ValueNotifier_legacy_LinkedHashMap_of_legacy_String_and_legacy_DevToolsError), K.Disposer$()), new B.ValueNotifier(C.ConnectedState_false_false, P.List_List$filled(0, null, false, t2), type$.ValueNotifier_legacy_ConnectedState), P.StreamController_StreamController$broadcast(false, type$.void), new B.ValueNotifier(false, P.List_List$filled(0, null, false, t2), type$.ValueNotifier_legacy_bool));
              t7 = type$.legacy_IsolateRef;
              t8 = P.StreamController_StreamController$broadcast(false, t7);
              t9 = P.StreamController_StreamController$broadcast(false, t7);
              t10 = P.StreamController_StreamController$broadcast(false, t7);
              t11 = $.Zone__current;
              t12 = type$._Future_void;
              t13 = type$._AsyncCompleter_void;
              t2 = new B.ValueNotifier(null, P.List_List$filled(0, null, false, t2), type$.ValueNotifier_legacy_IsolateRef);
              t6._isolateManager = new R.IsolateManager(P.LinkedHashMap_LinkedHashMap$_empty(t7, type$.legacy_Future_legacy_Isolate), t8, t9, t10, new P._AsyncCompleter(new P._Future(t11, t12), t13), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_int), t2, H._setArrayType([], t3), H._setArrayType([], t4), H._setArrayType([], t5));
              t6._serviceExtensionManager = new R.ServiceExtensionManager(t2, new P._AsyncCompleter(new P._Future($.Zone__current, t12), t13), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_ValueNotifier_legacy_bool), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_ValueNotifier_legacy_ServiceExtensionState), P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_ServiceExtensionState), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_Completer_legacy_bool), P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_List_of_legacy_legacy_Future_void_Function), H._setArrayType([], t3), H._setArrayType([], t4), H._setArrayType([], t5));
              $.globals.$indexSet(0, C.Type_ServiceConnectionManager_qdG, t6);
              t6 = new A.MessageBus();
              t6._message_bus$_controller = P.StreamController_StreamController$broadcast(false, type$.legacy_BusEvent);
              $.globals.$indexSet(0, C.Type_MessageBus_MAi, t6);
              t1 = new O.FrameworkController(P.StreamController_StreamController$broadcast(false, t1), P.StreamController_StreamController$broadcast(false, type$.legacy_ConnectVmEvent), P.StreamController_StreamController$broadcast(false, type$.legacy_Uri), P.StreamController_StreamController$broadcast(false, type$.dynamic), P.StreamController_StreamController$broadcast(false, type$.legacy_PageChangeEvent));
              t1._framework_controller$_init$0();
              $.globals.$indexSet(0, C.Type_FrameworkController_QHx, t1);
              $.globals.$indexSet(0, C.Type_SurveyService_bLu, new R.SurveyService());
              $async$goto = 2;
              return P._asyncAwait(Y.initializePlatform(), $async$initializeFramework);
            case 2:
              // returning from await.
              B.log("DevTools version 2.3.3-dev.1.", C.LogLevel_0);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$initializeFramework, $async$completer);
    },
    positionDependentBox: function(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 = J.clamp$2$n(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 P.Offset(x, y);
    },
    ChildLayoutHelper_dryLayoutChild: function(child, constraints) {
      return child.getDryLayout$1(constraints);
    },
    ChildLayoutHelper_layoutChild: function(child, constraints) {
      var t1;
      child.layout$2$parentUsesSize(0, constraints, true);
      t1 = child._box$_size;
      t1.toString;
      return t1;
    },
    findDecoderForData: function(data) {
      var png, gif, webp, tiff, tga, ico, t1, _null = null,
        bytes = type$.Uint8List._is(data) ? data : new Uint8Array(H._ensureNativeList(data));
      if (Y.JpegData$().validate$1(bytes))
        return new Z.JpegDecoder();
      png = new G.PngDecoder();
      if (png.isValidFile$1(bytes))
        return png;
      gif = new F.GifDecoder();
      gif._gif_decoder$_input = Z.InputBuffer$(bytes, false, _null, 0);
      gif.info = new K.GifInfo(H._setArrayType([], type$.JSArray_GifImageDesc));
      if (gif._getInfo$0())
        return gif;
      webp = new E.WebPDecoder();
      if (webp.isValidFile$1(bytes))
        return webp;
      tiff = new N.TiffDecoder();
      if (tiff._readHeader$1(Z.InputBuffer$(bytes, false, _null, 0)) != null)
        return tiff;
      if (L.PsdImage$(bytes).signature === 943870035)
        return new V.PsdDecoder();
      if (Y.ExrImage_isValidFile(bytes))
        return new U.ExrDecoder();
      if (L.BitmapFileHeader_isValidFile(Z.InputBuffer$(bytes, false, _null, 0)))
        return new E.BmpDecoder();
      tga = new B.TgaDecoder();
      if (tga.isValidFile$1(bytes))
        return tga;
      ico = new X.IcoDecoder();
      t1 = Z.InputBuffer$(bytes, false, _null, 0);
      ico._ico_decoder$_input = t1;
      t1 = X.IcoInfo__read(t1);
      ico._icoInfo = t1;
      if (t1 != null)
        return ico;
      return _null;
    },
    decodeImage: function(data) {
      var decoder = N.findDecoderForData(data);
      if (decoder == null)
        return null;
      return decoder.decodeImage$1(data);
    },
    WebPFilters_horizontalUnfilter: function(width, height, stride, row, numRows, data) {
      N.WebPFilters__doHorizontalFilter(data, width, height, stride, row, numRows, true, data);
    },
    WebPFilters_verticalUnfilter: function(width, height, stride, row, num_rows, data) {
      N.WebPFilters__doVerticalFilter(data, width, height, stride, row, num_rows, true, data);
    },
    WebPFilters_gradientUnfilter: function(width, height, stride, row, num_rows, data) {
      N.WebPFilters__doGradientFilter(data, width, height, stride, row, num_rows, true, data);
    },
    WebPFilters__predictLine: function(src, pred, dst, $length, inverse) {
      var i, t1, t2;
      for (i = 0; i < $length; ++i) {
        t1 = J.$index$asx(src.buffer, src.offset + i);
        t2 = J.$index$asx(pred.buffer, pred.offset + i);
        J.$indexSet$ax(dst.buffer, dst.offset + i, t1 + t2);
      }
    },
    WebPFilters__doHorizontalFilter: function(src, width, height, stride, row, numRows, inverse, out) {
      var t1, t2, _null = null,
        startOffset = row * stride,
        lastRow = row + numRows,
        s = Z.InputBuffer$(src, false, _null, startOffset),
        o = Z.InputBuffer$(src, false, _null, startOffset),
        preds = Z.InputBuffer$from(o, _null, 0);
      if (row === 0) {
        o.$indexSet(0, 0, J.$index$asx(s.buffer, s.offset));
        N.WebPFilters__predictLine(Z.InputBuffer$from(s, _null, 1), preds, Z.InputBuffer$from(o, _null, 1), width - 1, true);
        preds.offset = preds.offset + stride;
        s.offset = s.offset + stride;
        o.offset = o.offset + stride;
        row = 1;
      }
      for (t1 = -stride, t2 = width - 1; row < lastRow;) {
        N.WebPFilters__predictLine(s, Z.InputBuffer$from(preds, _null, t1), o, 1, true);
        N.WebPFilters__predictLine(Z.InputBuffer$from(s, _null, 1), preds, Z.InputBuffer$from(o, _null, 1), t2, true);
        ++row;
        preds.offset = preds.offset + stride;
        s.offset = s.offset + stride;
        o.offset = o.offset + stride;
      }
    },
    WebPFilters__doVerticalFilter: function(src, width, height, stride, row, numRows, inverse, out) {
      var _null = null,
        startOffset = row * stride,
        last_row = row + numRows,
        s = Z.InputBuffer$(src, false, _null, startOffset),
        o = Z.InputBuffer$(out, false, _null, startOffset),
        preds = Z.InputBuffer$from(o, _null, 0);
      if (row === 0) {
        o.$indexSet(0, 0, J.$index$asx(s.buffer, s.offset));
        N.WebPFilters__predictLine(Z.InputBuffer$from(s, _null, 1), preds, Z.InputBuffer$from(o, _null, 1), width - 1, true);
        s.offset = s.offset + stride;
        o.offset = o.offset + stride;
        row = 1;
      } else
        preds.offset = preds.offset - stride;
      for (; row < last_row;) {
        N.WebPFilters__predictLine(s, preds, o, width, true);
        ++row;
        preds.offset = preds.offset + stride;
        s.offset = s.offset + stride;
        o.offset = o.offset + stride;
      }
    },
    WebPFilters__doGradientFilter: function(src, width, height, stride, row, numRows, inverse, out) {
      var t1, w, t2, g, pred, _null = null,
        startOffset = row * stride,
        lastRow = row + numRows,
        s = Z.InputBuffer$(src, false, _null, startOffset),
        o = Z.InputBuffer$(out, false, _null, startOffset),
        preds = Z.InputBuffer$from(o, _null, 0);
      if (row === 0) {
        o.$indexSet(0, 0, J.$index$asx(s.buffer, s.offset));
        N.WebPFilters__predictLine(Z.InputBuffer$from(s, _null, 1), preds, Z.InputBuffer$from(o, _null, 1), width - 1, true);
        preds.offset = preds.offset + stride;
        s.offset = s.offset + stride;
        o.offset = o.offset + stride;
        row = 1;
      }
      for (t1 = -stride; row < lastRow;) {
        N.WebPFilters__predictLine(s, Z.InputBuffer$from(preds, _null, t1), o, 1, true);
        for (w = 1; w < width; ++w) {
          t2 = w - stride;
          g = J.$index$asx(preds.buffer, preds.offset + (w - 1)) + J.$index$asx(preds.buffer, preds.offset + t2) - J.$index$asx(preds.buffer, preds.offset + (t2 - 1));
          if ((g & 4294967040) >>> 0 === 0)
            pred = g;
          else
            pred = g < 0 ? 0 : 255;
          t2 = J.$index$asx(s.buffer, s.offset + w);
          J.$indexSet$ax(o.buffer, o.offset + w, t2 + pred);
        }
        ++row;
        preds.offset = preds.offset + stride;
        s.offset = s.offset + stride;
        o.offset = o.offset + stride;
      }
    }
  },
  O = {
    decodeAnsiColorEscapeCodes: function($async$text, $async$ansiUp) {
      return P._makeSyncStarIterable(function() {
        var text = $async$text,
          ansiUp = $async$ansiUp;
        var $async$goto = 0, $async$handler = 1, $async$currentError, packet, t1, t2, t3, t4, url;
        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._ansi_up$_text = text;
              case 2:
                // for condition
                // trivial condition
                packet = ansiUp._getNextPacket$0();
                t1 = packet.kind;
                if (t1 === C.PacketKind_0 || t1 === C.PacketKind_2) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                if (t1 === C.PacketKind_3 || t1 === C.PacketKind_4) {
                  // goto for condition
                  $async$goto = 2;
                  break;
                }
                $async$goto = t1 === C.PacketKind_1 ? 4 : 6;
                break;
              case 4:
                // then
                t1 = ansiUp.bold;
                t2 = ansiUp.fg;
                t3 = ansiUp.bg;
                t4 = packet.text;
                t2 = t2 == null ? null : t2.rgb;
                if (t2 == null)
                  t2 = null;
                else
                  t2 = H._setArrayType(t2.slice(0), H._arrayInstanceType(t2));
                t3 = t3 == null ? null : t3.rgb;
                if (t3 == null)
                  t3 = null;
                else
                  t3 = H._setArrayType(t3.slice(0), H._arrayInstanceType(t3));
                $async$goto = 7;
                return new O.StyledText(t4, t2, t3, t1 === true);
              case 7:
                // after yield
                // goto join
                $async$goto = 5;
                break;
              case 6:
                // else
                $async$goto = t1 === C.PacketKind_5 ? 8 : 10;
                break;
              case 8:
                // then
                ansiUp._processAnsi$1(packet);
                // goto join
                $async$goto = 9;
                break;
              case 10:
                // else
                $async$goto = t1 === C.PacketKind_6 ? 11 : 12;
                break;
              case 11:
                // then
                url = packet.url;
                t1 = C.JSString_methods.startsWith$1(url, "http:") || C.JSString_methods.startsWith$1(url, "https:");
                t2 = packet.text;
                $async$goto = t1 ? 13 : 15;
                break;
              case 13:
                // then
                $async$goto = 16;
                return new O.StyledText(t2, null, null, false);
              case 16:
                // after yield
                // goto join
                $async$goto = 14;
                break;
              case 15:
                // else
                $async$goto = 17;
                return new O.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 P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.legacy_StyledText);
    },
    AnsiUp: function AnsiUp() {
      var _ = this;
      _._csiRegex = _.bg = _.fg = _.palette256 = _.ansiColors = _.bold = _._ansi_up$_text = null;
    },
    AnsiUpColor: function AnsiUpColor(t0, t1) {
      this.rgb = t0;
      this.className = t1;
    },
    PacketKind: function PacketKind(t0, t1) {
      this.index = t0;
      this._ansi_up$_name = t1;
    },
    TextPacket: function TextPacket(t0, t1, t2) {
      this.kind = t0;
      this.text = t1;
      this.url = t2;
    },
    StyledText: function StyledText(t0, t1, t2, t3) {
      var _ = this;
      _.text = t0;
      _.fgColor = t1;
      _.bgColor = t2;
      _.bold = t3;
    },
    DelegatingStreamSink: function DelegatingStreamSink() {
    },
    CallGraphNodeDisplay_get_display: function(_this) {
      var t1 = _this.data,
        displayText = t1 instanceof D.ProgramInfoNode ? t1.get$qualifiedName() : J.toString$0$(t1);
      if (displayText === "@shared")
        return "@root";
      return displayText;
    },
    CallGraphNodeDisplay_get_dominatorRoot: function(_this) {
      var root, root0;
      for (root = _this; root0 = root.dominator, root0 != null; root = root0)
        ;
      return root;
    },
    DominatorTreeNode_DominatorTreeNode$from: function(cgNode) {
      var t2, t3, _i, t4,
        t1 = H._setArrayType([], type$.JSArray_legacy_DominatorTreeNode),
        domNode = new O.DominatorTreeNode(cgNode, t1);
      for (t2 = cgNode.dominated, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
        t4 = O.DominatorTreeNode_DominatorTreeNode$from(t2[_i]);
        t1.push(t4);
        t4.parent = domNode;
        t4.index = t1.length - 1;
      }
      return domNode;
    },
    CallGraphWithDominators: function CallGraphWithDominators(t0, t1) {
      this.callGraphRoot = t0;
      this.key = t1;
    },
    _CallGraphWithDominatorsState: function _CallGraphWithDominatorsState(t0) {
      var _ = this;
      _.showCallGraph = false;
      _._widget = _.dominatorTreeRoot = 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;
      _._widget = _.selectedNode = 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;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    _BannerError$: function(key, screenId, textSpans) {
      return new O._BannerError(textSpans, C.Color_4289675348, C.Color_4294967295, screenId, "ERROR", key);
    },
    _BannerWarning$: function(key, screenId, textSpans) {
      return new O._BannerWarning(textSpans, C.Color_4294834901, C.Color_3707764736, screenId, "WARNING", key);
    },
    maybePushDebugModePerformanceMessage: function(context, screenId) {
      var t1;
      if ($.offlineMode)
        return;
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp;
      if (t1 == null)
        t1 = null;
      else
        t1 = t1._isFlutterApp && !t1._isProfileBuild;
      if (t1 === true)
        Y.Provider_of(context, true, type$.legacy_BannerMessagesController).addMessage$1(new O.DebugModePerformanceMessage(screenId).build$1(0, context));
    },
    maybePushDebugModeMemoryMessage: function(context, screenId) {
      var t1;
      if ($.offlineMode)
        return;
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp;
      if (t1 == null)
        t1 = null;
      else
        t1 = t1._isFlutterApp && !t1._isProfileBuild;
      if (t1 === true)
        Y.Provider_of(context, true, type$.legacy_BannerMessagesController).addMessage$1(new O.DebugModeMemoryMessage(screenId).build$1(0, context));
    },
    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_removeMessageByKey_closure0: function BannerMessagesController_removeMessageByKey_closure0() {
    },
    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;
    },
    DebugModePerformanceMessage: function DebugModePerformanceMessage(t0) {
      this.screenId = t0;
    },
    DebugModePerformanceMessage_build_closure: function DebugModePerformanceMessage_build_closure(t0) {
      this.context = t0;
    },
    ShaderJankMessage: function ShaderJankMessage(t0, t1, t2) {
      this.screenId = t0;
      this.jankyFramesCount = t1;
      this.jankDuration = t2;
    },
    ShaderJankMessage_build_closure: function ShaderJankMessage_build_closure(t0) {
      this.context = t0;
    },
    HighProfileGranularityMessage: function HighProfileGranularityMessage(t0, t1) {
      this.key = t0;
      this.screenId = t1;
    },
    HighProfileGranularityMessage_build_closure: function HighProfileGranularityMessage_build_closure(t0) {
      this.context = t0;
    },
    DebugModeMemoryMessage: function DebugModeMemoryMessage(t0) {
      this.screenId = t0;
    },
    DebugModeMemoryMessage_build_closure: function DebugModeMemoryMessage_build_closure(t0) {
      this.context = t0;
    },
    FileSystemWeb: function FileSystemWeb(t0) {
      this._files = t0;
    },
    FileSystemWeb_writeStringToFile_closure: function FileSystemWeb_writeStringToFile_closure(t0) {
      this.contents = t0;
    },
    DevToolsDialog: function DevToolsDialog(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.content = t1;
      _.includeDivider = t2;
      _.actions = t3;
      _.key = t4;
    },
    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;
    },
    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;
    },
    Cookie__validateName: function(newName) {
      var t1, i, codeUnit;
      for (t1 = newName.length, i = 0; i < t1; ++i) {
        codeUnit = C.JSString_methods._codeUnitAt$1(newName, i);
        if (codeUnit <= 32 || codeUnit >= 127 || C.JSArray_methods.indexOf$1(C.List_A8J, newName[i]) >= 0)
          throw H.wrapException(P.FormatException$("Invalid character in cookie name, code unit: '" + codeUnit + "'", newName, i));
      }
      return newName;
    },
    Cookie__validateValue: function(newValue) {
      var start, i, codeUnit, t1,
        end = newValue.length;
      if (2 <= end && C.JSString_methods._codeUnitAt$1(newValue, 0) === 34 && C.JSString_methods.codeUnitAt$1(newValue, end - 1) === 34) {
        --end;
        start = 1;
      } else
        start = 0;
      for (i = start; i < end; ++i) {
        codeUnit = C.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 H.wrapException(P.FormatException$("Invalid character in cookie value, code unit: '" + codeUnit + "'", newValue, i));
      }
      return newValue;
    },
    HttpDate__parseCookieDate: function(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 O.HttpDate__parseCookieDate_error(date);
      isEnd = new O.HttpDate__parseCookieDate_isEnd(_box_0, date);
      isDelimiter = new O.HttpDate__parseCookieDate_isDelimiter();
      isNonDelimiter = new O.HttpDate__parseCookieDate_isNonDelimiter();
      isDigit = new O.HttpDate__parseCookieDate_isDigit();
      getMonth = new O.HttpDate__parseCookieDate_getMonth();
      toInt = new O.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(C.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, H.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();
      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();
      dayOfMonth = toInt.call$1(dayOfMonthStr);
      if (dayOfMonth < 1 || dayOfMonth > 31)
        error.call$0();
      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 = H.Primitives_valueFromDecomposedDate(year, t1 + 1, dayOfMonth, hour, minute, second, 0, true);
      if (!H._isInt(t1))
        H.throwExpression(H.argumentErrorValue(t1));
      return new P.DateTime(t1, true);
    },
    HttpException$: function(message) {
      return new O.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;
    },
    AllocationTableView: function AllocationTableView(t0) {
      this.key = t0;
    },
    AllocationTableViewState: function AllocationTableViewState(t0, t1, t2, t3, t4) {
      var _ = this;
      _.controller = null;
      _.columns = t0;
      _.samplesProcessed = t1;
      _.trackerData = t2;
      _.AutoDisposeMixin__delegate = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._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_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() {
    },
    traceRender: function(color, dashed, image) {
      var result = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Object);
      if (image != null)
        result.$indexSet(0, "image", image);
      else {
        result.$indexSet(0, "color", color);
        result.$indexSet(0, "dashed", dashed);
      }
      return result;
    },
    ChartsValues$: function(controller, index, timestamp) {
      var heapSample, androidData,
        t1 = type$.legacy_String,
        t2 = type$.legacy_Object,
        t3 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t4 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      t1 = new O.ChartsValues(controller, index, timestamp, t3, H._setArrayType([], type$.JSArray_legacy_Map_of_legacy_String_and_legacy_Object), t4, t2);
      t3.clear$0(0);
      t4.clear$0(0);
      t2.clear$0(0);
      t1._getEventData$1(t3);
      t3 = controller.memoryTimeline;
      heapSample = (t3.controller.offline ? t3.offlineData : t3.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);
      t3 = heapSample.rasterCache;
      t4.$indexSet(0, "rasterLayer", t3.pictureBytes);
      t4.$indexSet(0, "rasterPicture", t3.layerBytes);
      t3 = controller.memoryTimeline;
      androidData = (t3.controller.offline ? t3.offlineData : t3.liveData)[index].adbMemoryInfo;
      t2.$indexSet(0, "total", androidData.total);
      t2.$indexSet(0, "other", androidData.other);
      t2.$indexSet(0, "code", androidData.code);
      t2.$indexSet(0, "nativeHeap", androidData.nativeHeap);
      t2.$indexSet(0, "javaHeap", androidData.javaHeap);
      t2.$indexSet(0, "stack", androidData.stack);
      t2.$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;
    },
    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;
      _.visibleTicks = null;
      _._xAxisLabeledTimestamps = t2;
      _.displayTopLine = t3;
      _.displayXAxis = t4;
      _.displayXLabels = t5;
      _.displayYLabels = t6;
      _.xPaddingRight = _.canvasChartWidth = _.xCanvasChart = null;
      _.canvasChartHeight = _.yCanvasChart = 0;
      _.dirty = false;
      _._chart_controller$_timestamps = t7;
      _.traces = t8;
      _._traceNotifier = t9;
      _._yMaxValue = 0;
      _.yScale = t10;
      _._chart_controller$_title = _._fixedMaxY = _._fixedMinY = null;
      _.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) {
      var _ = this;
      _.colorScheme = _._memory_vm_chart$_memoryController = null;
      _.rasterLayerColor = t0;
      _.rssColor = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._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() {
    },
    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() {
    },
    SamplesMemoryJson$decode: function(argJsonString) {
      var t1 = new O.SamplesMemoryJson(H._setArrayType([], type$.JSArray_HeapSample));
      t1.MemoryJson$decode$3$argDecodedMap$argJsonString("samples", null, argJsonString, type$.HeapSample);
      return t1;
    },
    SamplesMemoryJson_encodeList: function(data) {
      var result = new P.StringBuffer(""),
        t1 = H._arrayInstanceType(data)._eval$1("MappedListIterable<1,Null>");
      P.List_List$of(new H.MappedListIterable(data, new O.SamplesMemoryJson_encodeList_closure(result, new O.SamplesMemoryJson(H._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;
    },
    MethodChannelFileSelector: function MethodChannelFileSelector(t0) {
      this._instanceToken = t0;
    },
    MethodChannelFileSelector_openFile_closure: function MethodChannelFileSelector_openFile_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;
    },
    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;
    },
    HitTestResult$: function() {
      var t1 = H._setArrayType([], type$.JSArray_HitTestEntry),
        t2 = new E.Matrix4(new Float64Array(16));
      t2.setIdentity$0();
      return new O.HitTestResult(t1, H._setArrayType([t2], type$.JSArray_Matrix4_2), H._setArrayType([], type$.JSArray__TransformPart));
    },
    HitTestEntry: function HitTestEntry(t0) {
      this.target = t0;
      this._transform = null;
    },
    _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;
    },
    DragGestureRecognizer__defaultBuilder: function($event) {
      return new R.VelocityTracker($event.get$kind($event), P.List_List$filled(20, null, false, type$.nullable__PointAtTime));
    },
    VerticalDragGestureRecognizer$: function(debugOwner, supportedDevices) {
      var t1 = type$.int,
        t2 = P.HashSet_HashSet(t1);
      return new O.VerticalDragGestureRecognizer(C.DragStartBehavior_1, O.monodrag_DragGestureRecognizer__defaultBuilder$closure(), C._DragState_0, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.VelocityTracker), P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, debugOwner, supportedDevices, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    HorizontalDragGestureRecognizer$: function(debugOwner, kind, supportedDevices) {
      var t1 = type$.int,
        t2 = P.HashSet_HashSet(t1),
        t3 = type$.PointerDeviceKind,
        t4 = kind == null ? supportedDevices : P.LinkedHashSet_LinkedHashSet$_literal([kind], t3);
      return new O.HorizontalDragGestureRecognizer(C.DragStartBehavior_1, O.monodrag_DragGestureRecognizer__defaultBuilder$closure(), C._DragState_0, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.VelocityTracker), P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, debugOwner, t4, P.LinkedHashMap_LinkedHashMap$_empty(t1, t3));
    },
    _DragState: function _DragState(t0, t1) {
      this.index = t0;
      this._monodrag$_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;
      _._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;
      _._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;
      _._supportedDevices = t8;
      _._pointerToKind = t9;
    },
    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;
    },
    ExpansionTile$: function(backgroundColor, children, childrenPadding, collapsedBackgroundColor, expandedAlignment, initiallyExpanded, key, leading, tilePadding, title) {
      return new O.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) {
      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;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._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() {
    },
    _getClipCallback: function(referenceBox, containedInkWell, rectCallback) {
      if (rectCallback != null)
        return rectCallback;
      if (containedInkWell)
        return new O._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;
    },
    _TextSpanEditingController$: function(textSpan) {
      var t1 = textSpan.toPlainText$1$includeSemanticsLabels(false);
      return new O._TextSpanEditingController(textSpan, new N.TextEditingValue(t1, C.TextSelection_5Zq, C.TextRange_m1_m1), P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    SelectableText$: function(data, maxLines, minLines, style, textAlign) {
      var _null = null;
      return new O.SelectableText(data, _null, style, textAlign, minLines, maxLines, C.ToolbarOptions_true_false_false, _null, _null, _null);
    },
    SelectableText$rich: function(textSpan, maxLines, onTap, scrollPhysics) {
      var _null = null;
      return new O.SelectableText(_null, textSpan, _null, _null, _null, maxLines, C.ToolbarOptions_true_false_false, onTap, scrollPhysics, _null);
    },
    _TextSpanEditingController: function _TextSpanEditingController(t0, t1, t2) {
      var _ = this;
      _._textSpan = t0;
      _._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;
    },
    SelectableText: function SelectableText(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.data = t0;
      _.textSpan = t1;
      _.style = t2;
      _.textAlign = t3;
      _.minLines = t4;
      _.maxLines = t5;
      _.toolbarOptions = t6;
      _.onTap = t7;
      _.scrollPhysics = t8;
      _.key = t9;
    },
    _SelectableTextState: function _SelectableTextState(t0, t1, t2) {
      var _ = this;
      _.___SelectableTextState__controller = $;
      _._selectable_text$_focusNode = null;
      _._selectable_text$_showSelectionHandles = false;
      _.___SelectableTextState_forcePressEnabled = _.___SelectableTextState__selectionGestureDetectorBuilder = $;
      _.editableTextKey = t0;
      _._lastSeenTextSelection = null;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._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;
    },
    __SelectableTextState_State_AutomaticKeepAliveClientMixin: function __SelectableTextState_State_AutomaticKeepAliveClientMixin() {
    },
    BoxShadow_lerp: function(a, b, t) {
      var t2, t3, t4,
        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 = P.Color_lerp(a.color, b.color, t);
      t1.toString;
      t2 = P.Offset_lerp(a.offset, b.offset, t);
      t2.toString;
      t3 = P.lerpDouble(a.blurRadius, b.blurRadius, t);
      t3.toString;
      t4 = P.lerpDouble(a.spreadRadius, b.spreadRadius, t);
      t4.toString;
      return new O.BoxShadow(t4, t1, t2, t3);
    },
    BoxShadow_lerpList: function(a, b, t) {
      var commonLength, i, t2, t3, t4, t5, t6, t7,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        a = H._setArrayType([], type$.JSArray_BoxShadow);
      if (b == null)
        b = H._setArrayType([], type$.JSArray_BoxShadow);
      commonLength = Math.min(a.length, b.length);
      t1 = H._setArrayType([], type$.JSArray_BoxShadow);
      for (i = 0; i < commonLength; ++i) {
        t2 = O.BoxShadow_lerp(a[i], b[i], t);
        t2.toString;
        t1.push(t2);
      }
      for (i = commonLength; i < a.length; ++i) {
        t2 = a[i];
        t3 = 1 - t;
        t4 = t2.color;
        t5 = t2.offset;
        t6 = t5._dx;
        t5 = t5._dy;
        t7 = t2.blurRadius;
        t1.push(new O.BoxShadow(t2.spreadRadius * t3, t4, new P.Offset(t6 * t3, t5 * t3), t7 * t3));
      }
      for (i = commonLength; i < b.length; ++i) {
        t2 = b[i];
        t3 = t2.color;
        t4 = t2.offset;
        t5 = t4._dx;
        t4 = t4._dy;
        t6 = t2.blurRadius;
        t1.push(new O.BoxShadow(t2.spreadRadius * t, t3, new P.Offset(t5 * t, t4 * t), t6 * t));
      }
      return t1;
    },
    BoxShadow: function BoxShadow(t0, t1, t2, t3) {
      var _ = this;
      _.spreadRadius = t0;
      _.color = t1;
      _.offset = t2;
      _.blurRadius = t3;
    },
    RenderRotatedBox: function RenderRotatedBox(t0, t1) {
      var _ = this;
      _._quarterTurns = t0;
      _._rotated_box$_transformLayer = _._paintTransform = null;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderRotatedBox_hitTestChildren_closure: function RenderRotatedBox_hitTestChildren_closure(t0) {
      this.$this = t0;
    },
    _RenderRotatedBox_RenderBox_RenderObjectWithChildMixin: function _RenderRotatedBox_RenderBox_RenderObjectWithChildMixin() {
    },
    FocusNode$: function(canRequestFocus, debugLabel, descendantsAreFocusable, onKey, skipTraversal) {
      return new O.FocusNode(skipTraversal, canRequestFocus, true, onKey, H._setArrayType([], type$.JSArray_FocusNode), P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    FocusScopeNode$: function(canRequestFocus, debugLabel, skipTraversal) {
      var t1 = type$.JSArray_FocusNode;
      return new O.FocusScopeNode(H._setArrayType([], t1), skipTraversal, canRequestFocus, true, null, H._setArrayType([], t1), P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    FocusManager__defaultModeForPlatform: function() {
      switch (U.defaultTargetPlatform()) {
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_2:
          var t1 = $.WidgetsBinding__instance.RendererBinding__mouseTracker._mouseStates;
          if (t1.get$isNotEmpty(t1))
            return C.FocusHighlightMode_1;
          return C.FocusHighlightMode_0;
        case C.TargetPlatform_3:
        case C.TargetPlatform_4:
        case C.TargetPlatform_5:
          return C.FocusHighlightMode_1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    KeyEventResult: function KeyEventResult(t0, t1) {
      this.index = t0;
      this._focus_manager$_name = t1;
    },
    FocusAttachment: function FocusAttachment(t0) {
      this._focus_manager$_node = t0;
    },
    UnfocusDisposition: function UnfocusDisposition(t0, t1) {
      this.index = t0;
      this._focus_manager$_name = t1;
    },
    FocusNode: function FocusNode(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._skipTraversal = t0;
      _._focus_manager$_canRequestFocus = t1;
      _._focus_manager$_descendantsAreFocusable = t2;
      _._focus_manager$_context = null;
      _.onKey = t3;
      _._descendants = _._ancestors = _._manager = null;
      _._hasKeyboardToken = false;
      _._focus_manager$_parent = null;
      _._children = t4;
      _._attachment = _._focus_manager$_debugLabel = null;
      _._requestFocusWhenReparented = false;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t5;
      _.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) {
      var _ = this;
      _._focusedChildren = t0;
      _._skipTraversal = t1;
      _._focus_manager$_canRequestFocus = t2;
      _._focus_manager$_descendantsAreFocusable = t3;
      _._focus_manager$_context = null;
      _.onKey = t4;
      _._descendants = _._ancestors = _._manager = null;
      _._hasKeyboardToken = false;
      _._focus_manager$_parent = null;
      _._children = t5;
      _._attachment = _._focus_manager$_debugLabel = null;
      _._requestFocusWhenReparented = false;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t6;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    FocusHighlightMode: function FocusHighlightMode(t0, t1) {
      this.index = t0;
      this._focus_manager$_name = t1;
    },
    FocusHighlightStrategy: function FocusHighlightStrategy(t0, t1) {
      this.index = t0;
      this._focus_manager$_name = t1;
    },
    FocusManager: function FocusManager(t0, t1, t2, t3) {
      var _ = this;
      _._lastInteractionWasTouch = _._highlightMode = null;
      _._listeners = t0;
      _.rootScope = t1;
      _._primaryFocus = null;
      _._focus_manager$_dirtyNodes = t2;
      _._markedForFocus = null;
      _._haveScheduledUpdate = false;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t3;
      _.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() {
    },
    RawKeyboardListener$: function(autofocus, child, focusNode, onKey) {
      return new O.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;
    },
    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;
    },
    Request$: function(method, url) {
      var t1 = new Uint8Array(0),
        t2 = $.$get$BaseRequest__tokenRE()._nativeRegExp;
      if (!t2.test(method))
        H.throwExpression(P.ArgumentError$value(method, "method", "Not a valid method"));
      t2 = type$.String;
      return new O.Request(C.Utf8Codec_false, t1, method, url, P.LinkedHashMap_LinkedHashMap(new G.BaseRequest_closure(), new G.BaseRequest_closure0(), t2, t2));
    },
    Request: function Request(t0, t1, t2, t3, t4) {
      var _ = this;
      _._defaultEncoding = t0;
      _._bodyBytes = t1;
      _.method = t2;
      _.url = t3;
      _.headers = t4;
      _._finalized = false;
    },
    InternalExrPxr24Compressor: function InternalExrPxr24Compressor(t0, t1, t2, t3) {
      var _ = this;
      _._zlib = t0;
      _._maxScanLineSize = t1;
      _._exr_pxr24_compressor$_numScanLines = t2;
      _._output = null;
      _.decodedHeight = _.decodedWidth = 0;
      _._exr_compressor$_header = t3;
    },
    PsdBlendingRanges: function PsdBlendingRanges() {
      var _ = this;
      _.__PsdBlendingRanges_whiteDst = _.__PsdBlendingRanges_blackDst = _.__PsdBlendingRanges_whiteSrc = _.__PsdBlendingRanges_blackSrc = $;
    },
    Style__getPlatformStyle: function() {
      var t1, _null = null;
      if (P.Uri_base().get$scheme() !== "file")
        return $.$get$Style_url();
      t1 = P.Uri_base();
      if (!C.JSString_methods.endsWith$1(t1.get$path(t1), "/"))
        return $.$get$Style_url();
      if (P._Uri__Uri(_null, "a/b", _null, _null, _null, _null, _null).toFilePath$0() === "a\\b")
        return $.$get$Style_windows();
      return $.$get$Style_posix();
    },
    Style: function Style() {
    },
    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;
    },
    _AutoDisposeNotifierProvider$: function(create, $name, Notifier) {
      var t1 = $name == null ? null : $name + ".notifier",
        t2 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t2;
      return new O._AutoDisposeNotifierProvider(new O._AutoDisposeNotifierProvider_closure(create, Notifier), t1, t2, Notifier._eval$1("_AutoDisposeNotifierProvider<0>"));
    },
    AutoDisposeStateNotifierProvider$: function(_create, $name, Notifier, Value) {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new O.AutoDisposeStateNotifierProvider(_create, $name, t1, Notifier._eval$1("@<0>")._bind$1(Value)._eval$1("AutoDisposeStateNotifierProvider<1,2>"));
    },
    _StateNotifierProviderState: function _StateNotifierProviderState(t0) {
      var _ = this;
      _.removeListener = null;
      _.__ProviderStateBase__element = $;
      _._exposedValue = _._createdValue = null;
      _.$ti = t0;
    },
    _StateNotifierProviderMixin: function _StateNotifierProviderMixin() {
    },
    _AutoDisposeNotifierProvider: function _AutoDisposeNotifierProvider(t0, t1, t2, t3) {
      var _ = this;
      _._provider0$_create = t0;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    _AutoDisposeNotifierProvider_closure: function _AutoDisposeNotifierProvider_closure(t0, t1) {
      this.create = t0;
      this.Notifier = t1;
    },
    AutoDisposeStateNotifierProvider: function AutoDisposeStateNotifierProvider(t0, t1, t2, t3) {
      var _ = this;
      _._create = t0;
      _.__AutoDisposeStateNotifierProvider_notifier = $;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    AutoDisposeStateNotifierProviderFamily: function AutoDisposeStateNotifierProviderFamily(t0, t1, t2, t3) {
      var _ = this;
      _.__AutoDisposeStateNotifierProviderFamily__notifierFamily = $;
      _.builder = t0;
      _.name = t1;
      _._framework0$_cache = t2;
      _.$ti = t3;
    },
    AutoDisposeStateNotifierProviderFamily_create_closure: function AutoDisposeStateNotifierProviderFamily_create_closure(t0, t1, t2) {
      this.$this = t0;
      this.builder = t1;
      this.value = t2;
    },
    _AutoDisposeNotifierFamily: function _AutoDisposeNotifierFamily(t0, t1, t2, t3) {
      var _ = this;
      _.builder = t0;
      _.name = t1;
      _._framework0$_cache = t2;
      _.$ti = t3;
    },
    _AutoDisposeNotifierFamily_create_closure: function _AutoDisposeNotifierFamily_create_closure(t0, t1, t2) {
      this.$this = t0;
      this.builder = t1;
      this.value = t2;
    },
    _AutoDisposeStateNotifierProvider_AutoDisposeProviderBase__StateNotifierProviderMixin: function _AutoDisposeStateNotifierProvider_AutoDisposeProviderBase__StateNotifierProviderMixin() {
    },
    invokeInspectorPolyfill: function(group) {
      var polyFillReady,
        t1 = $.$get$_polyfillReadyExpando(),
        t2 = group.inspectorService.inspectorLibrary,
        t3 = t2._isolate;
      t1.toString;
      P.Expando__checkType(t3);
      t1 = t1._jsWeakMap;
      polyFillReady = t1.get(t3);
      if (polyFillReady != null)
        return polyFillReady;
      polyFillReady = O._invokeInspectorPolyfill(group);
      t1.set(t2._isolate, polyFillReady);
      return polyFillReady;
    },
    _invokeInspectorPolyfill: function(group) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        polyFillScript, filteredLines, t1, t2, _i, line, result, encodedResult, errors, t3, script, startIndex, endIndex;
      var $async$_invokeInspectorPolyfill = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($.$get$rootBundle().loadString$2$cache("assets/scripts/inspector_polyfill_script.dart", true), $async$_invokeInspectorPolyfill);
            case 2:
              // returning from await.
              script = $async$result;
              startIndex = J.indexOf$1$asx(script, "// INSPECTOR_POLYFILL_SCRIPT_START\n");
              endIndex = C.JSString_methods.indexOf$1(script, "// INSPECTOR_POLYFILL_SCRIPT_END\n");
              if (startIndex === -1 || endIndex === -1)
                throw H.wrapException(P.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 = C.JSString_methods.substring$2(script, startIndex + 35, endIndex);
              filteredLines = H._setArrayType([], type$.JSArray_legacy_String);
              for (t1 = polyFillScript.split("\n"), t2 = t1.length, _i = 0; _i < t2; ++_i) {
                line = J.trim$0$s(t1[_i]);
                if (!C.JSString_methods.startsWith$1(line, "//"))
                  filteredLines.push(line);
              }
              t1 = group.inspectorService.inspectorLibrary;
              $async$goto = 3;
              return P._asyncAwait(t1.eval$2$isAlive("((){" + C.JSArray_methods.join$0(filteredLines) + "})()", group), $async$_invokeInspectorPolyfill);
            case 3:
              // returning from await.
              result = $async$result;
              t2 = t1._isolateRef;
              $async$goto = 4;
              return P._asyncAwait(t1.service.retrieveFullStringValue$2(t2.get$id(t2), result), $async$_invokeInspectorPolyfill);
            case 4:
              // returning from await.
              encodedResult = $async$result;
              if (encodedResult != null) {
                errors = C.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);
                  B.log("Unable to add service extension '" + H.S(t3) + "' due to error:\n" + H.S(t1.$index(errors, t3)), C.LogLevel_0);
                }
              }
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_invokeInspectorPolyfill, $async$completer);
    }
  },
  P = {
    _AsyncRun__initializeScheduleImmediate: function() {
      var div, span, t1 = {};
      if (self.scheduleImmediate != null)
        return P.async__AsyncRun__scheduleImmediateJsOverride$closure();
      if (self.MutationObserver != null && self.document != null) {
        div = self.document.createElement("div");
        span = self.document.createElement("span");
        t1.storedCallback = null;
        new self.MutationObserver(H.convertDartClosureToJS(new P._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true});
        return new P._AsyncRun__initializeScheduleImmediate_closure(t1, div, span);
      } else if (self.setImmediate != null)
        return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure();
      return P.async__AsyncRun__scheduleImmediateWithTimer$closure();
    },
    _AsyncRun__scheduleImmediateJsOverride: function(callback) {
      self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateJsOverride_internalCallback(callback), 0));
    },
    _AsyncRun__scheduleImmediateWithSetImmediate: function(callback) {
      self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(callback), 0));
    },
    _AsyncRun__scheduleImmediateWithTimer: function(callback) {
      P.Timer__createTimer(C.Duration_0, callback);
    },
    Timer__createTimer: function(duration, callback) {
      var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
      return P._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback);
    },
    Timer__createPeriodicTimer: function(duration, callback) {
      var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
      return P._TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback);
    },
    _TimerImpl$: function(milliseconds, callback) {
      var t1 = new P._TimerImpl(true);
      t1._TimerImpl$2(milliseconds, callback);
      return t1;
    },
    _TimerImpl$periodic: function(milliseconds, callback) {
      var t1 = new P._TimerImpl(false);
      t1._TimerImpl$periodic$2(milliseconds, callback);
      return t1;
    },
    _makeAsyncAwaitCompleter: function($T) {
      return new P._AsyncAwaitCompleter(new P._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>"));
    },
    _asyncStartSync: function(bodyFunction, completer) {
      bodyFunction.call$2(0, null);
      completer.isSync = true;
      return completer._future;
    },
    _asyncAwait: function(object, bodyFunction) {
      P._awaitOnObject(object, bodyFunction);
    },
    _asyncReturn: function(object, completer) {
      completer.complete$1(0, object);
    },
    _asyncRethrow: function(object, completer) {
      completer.completeError$2(H.unwrapException(object), H.getTraceFromException(object));
    },
    _awaitOnObject: function(object, bodyFunction) {
      var t1, future,
        thenCallback = new P._awaitOnObject_closure(bodyFunction),
        errorCallback = new P._awaitOnObject_closure0(bodyFunction);
      if (object instanceof P._Future)
        object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic);
      else {
        t1 = type$.dynamic;
        if (type$.Future_dynamic._is(object))
          object.then$1$2$onError(0, thenCallback, errorCallback, t1);
        else {
          future = new P._Future($.Zone__current, type$._Future_dynamic);
          future._state = 4;
          future._resultOrListeners = object;
          future._thenAwait$1$2(thenCallback, errorCallback, t1);
        }
      }
    },
    _wrapJsFunctionForAsync: function($function) {
      var $protected = function(fn, ERROR) {
        return function(errorCode, result) {
          while (true)
            try {
              fn(errorCode, result);
              break;
            } catch (error) {
              result = error;
              errorCode = ERROR;
            }
        };
      }($function, 1);
      return $.Zone__current.registerBinaryCallback$3$1(new P._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic);
    },
    _asyncStarHelper: function(object, bodyFunctionOrErrorCode, controller) {
      var t1, t2, stream;
      if (bodyFunctionOrErrorCode === 0) {
        t1 = controller.cancelationFuture;
        if (t1 != null)
          t1._completeWithValue$1(null);
        else
          controller.get$controller(controller).close$0(0);
        return;
      } else if (bodyFunctionOrErrorCode === 1) {
        t1 = controller.cancelationFuture;
        if (t1 != null)
          t1._completeError$2(H.unwrapException(object), H.getTraceFromException(object));
        else {
          t1 = H.unwrapException(object);
          t2 = H.getTraceFromException(object);
          controller.get$controller(controller).addError$2(t1, t2);
          controller.get$controller(controller).close$0(0);
        }
        return;
      }
      if (object instanceof P._IterationMarker) {
        if (controller.cancelationFuture != null) {
          bodyFunctionOrErrorCode.call$2(2, null);
          return;
        }
        t1 = object.state;
        if (t1 === 0) {
          t1 = object.value;
          controller.get$controller(controller).add$1(0, t1);
          P.scheduleMicrotask(new P._asyncStarHelper_closure(controller, bodyFunctionOrErrorCode));
          return;
        } else if (t1 === 1) {
          stream = object.value;
          controller.get$controller(controller).addStream$2$cancelOnError(0, stream, false).then$1(0, new P._asyncStarHelper_closure0(controller, bodyFunctionOrErrorCode));
          return;
        }
      }
      P._awaitOnObject(object, bodyFunctionOrErrorCode);
    },
    _streamOfController: function(controller) {
      var t1 = controller.get$controller(controller);
      return t1.get$stream(t1);
    },
    _AsyncStarStreamController$: function(body, $T) {
      var t1 = new P._AsyncStarStreamController($T._eval$1("_AsyncStarStreamController<0>"));
      t1._AsyncStarStreamController$1(body, $T);
      return t1;
    },
    _makeAsyncStarStreamController: function(body, $T) {
      return P._AsyncStarStreamController$(body, $T);
    },
    _IterationMarker_yieldStar: function(values) {
      return new P._IterationMarker(values, 1);
    },
    _IterationMarker_endOfIteration: function() {
      return C._IterationMarker_null_2;
    },
    _IterationMarker_yieldSingle: function(value) {
      return new P._IterationMarker(value, 0);
    },
    _IterationMarker_uncaughtError: function(error) {
      return new P._IterationMarker(error, 3);
    },
    _makeSyncStarIterable: function(body, $T) {
      return new P._SyncStarIterable(body, $T._eval$1("_SyncStarIterable<0>"));
    },
    AsyncError$: function(error, stackTrace) {
      var t1 = H.checkNotNullable(error, "error", type$.Object);
      return new P.AsyncError(t1, stackTrace == null ? P.AsyncError_defaultStackTrace(error) : stackTrace);
    },
    AsyncError_defaultStackTrace: function(error) {
      var stackTrace;
      if (type$.Error._is(error)) {
        stackTrace = error.get$stackTrace();
        if (stackTrace != null)
          return stackTrace;
      }
      return C._StringStackTrace_3uE;
    },
    _invokeErrorHandler: function(errorHandler, error, stackTrace) {
      if (type$.dynamic_Function_2_Never_and_Never._is(errorHandler))
        return errorHandler.call$2(error, stackTrace);
      else
        return errorHandler.call$1(error);
    },
    Future_Future: function(computation, $T) {
      var result = new P._Future($.Zone__current, $T._eval$1("_Future<0>"));
      P.Timer_Timer(C.Duration_0, new P.Future_Future_closure(result, computation));
      return result;
    },
    Future_Future$microtask: function(computation, $T) {
      var result = new P._Future($.Zone__current, $T._eval$1("_Future<0>"));
      P.scheduleMicrotask(new P.Future_Future$microtask_closure(result, computation));
      return result;
    },
    Future_Future$sync: function(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 P._Future($.Zone__current, $T._eval$1("_Future<0>"));
          t1._state = 4;
          t1._resultOrListeners = result;
          return t1;
        }
      } catch (exception) {
        error = H.unwrapException(exception);
        stackTrace = H.getTraceFromException(exception);
        t1 = $.Zone__current;
        future = new P._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: function(value, $T) {
      var t1 = new P._Future($.Zone__current, $T._eval$1("_Future<0>"));
      t1._asyncComplete$1(value);
      return t1;
    },
    Future_Future$error: function(error, stackTrace, $T) {
      var t1, replacement;
      H.checkNotNullable(error, "error", type$.Object);
      t1 = $.Zone__current;
      if (t1 !== C.C__RootZone) {
        replacement = t1.errorCallback$2(error, stackTrace);
        if (replacement != null) {
          error = replacement.error;
          stackTrace = replacement.stackTrace;
        }
      }
      if (stackTrace == null)
        stackTrace = P.AsyncError_defaultStackTrace(error);
      t1 = new P._Future($.Zone__current, $T._eval$1("_Future<0>"));
      t1._asyncCompleteError$2(error, stackTrace);
      return t1;
    },
    Future_Future$delayed: function(duration, computation, $T) {
      var result;
      computation == null;
      result = new P._Future($.Zone__current, $T._eval$1("_Future<0>"));
      P.Timer_Timer(duration, new P.Future_Future$delayed_closure(computation, result, $T));
      return result;
    },
    Future_wait: function(futures, $T) {
      var error, stackTrace, handleError, future, pos, e, st, t1, t2, exception, _box_0 = {}, cleanUp = null,
        eagerError = false,
        _future = new P._Future($.Zone__current, $T._eval$1("_Future<List<0>>"));
      _box_0.values = null;
      _box_0.remaining = 0;
      error = H._Cell$named("error");
      stackTrace = H._Cell$named("stackTrace");
      handleError = new P.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;
          J.then$1$2$onError$x(future, new P.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(H._setArrayType([], $T._eval$1("JSArray<0>")));
          return t1;
        }
        _box_0.values = P.List_List$filled(t1, null, false, $T._eval$1("0?"));
      } catch (exception) {
        e = H.unwrapException(exception);
        st = H.getTraceFromException(exception);
        if (_box_0.remaining === 0 || eagerError)
          return P.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: function(futures, $T) {
      var t1, _i,
        completer = new P._SyncCompleter(new P._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_SyncCompleter<0>")),
        onValue = new P.Future_any_onValue(completer, $T),
        onError = new P.Future_any_onError(completer);
      for (t1 = type$.void, _i = 0; _i < 2; ++_i)
        futures[_i].then$1$2$onError(0, onValue, onError, t1);
      return completer.future;
    },
    Future_forEach: function(elements, action) {
      return P.Future_doWhile(new P.Future_forEach_closure(new J.ArrayIterator(elements, elements.length, H._arrayInstanceType(elements)._eval$1("ArrayIterator<1>")), action));
    },
    Future__kTrue: function(_) {
      return true;
    },
    Future_doWhile: function(action) {
      var t1 = $.Zone__current,
        doneSignal = new P._Future(t1, type$._Future_void),
        nextIteration = H._Cell$named("nextIteration");
      nextIteration.__late_helper$_value = t1.bindUnaryCallbackGuarded$1$1(new P.Future_doWhile_closure(action, doneSignal, nextIteration), type$.bool);
      nextIteration._readLocal$0().call$1(true);
      return doneSignal;
    },
    Completer_Completer: function($T) {
      return new P._AsyncCompleter(new P._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncCompleter<0>"));
    },
    _completeWithErrorCallback: function(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 = P.AsyncError_defaultStackTrace(error);
      result._completeError$2(error, stackTrace);
    },
    _Future__chainCoreFuture: function(source, target) {
      var t1, listeners;
      for (; t1 = source._state, t1 === 2;)
        source = source._resultOrListeners;
      if (t1 >= 4) {
        listeners = target._removeListeners$0();
        target._state = source._state;
        target._resultOrListeners = source._resultOrListeners;
        P._Future__propagateToListeners(target, listeners);
      } else {
        listeners = target._resultOrListeners;
        target._state = 2;
        target._resultOrListeners = source;
        source._prependListeners$1(listeners);
      }
    },
    _Future__propagateToListeners: function(source, listeners) {
      var t2, _box_0, hasError, nextListener, nextListener0, t3, sourceResult, t4, t5, zone, oldZone, result, current, _box_1 = {},
        t1 = _box_1.source = source;
      for (t2 = type$.Future_dynamic; true;) {
        _box_0 = {};
        hasError = t1._state === 8;
        if (listeners == null) {
          if (hasError) {
            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;
          P._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;
        t4 = !hasError;
        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.toString;
            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 P._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0();
          else if (t4) {
            if ((t1 & 1) !== 0)
              new P._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0();
          } else if ((t1 & 2) !== 0)
            new P._Future__propagateToListeners_handleError(_box_1, _box_0).call$0();
          if (oldZone != null)
            $.Zone__current = oldZone;
          t1 = _box_0.listenerValueOrError;
          if (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 P._Future)
              if (t1._state >= 4) {
                current = result._resultOrListeners;
                result._resultOrListeners = null;
                listeners = result._reverseListeners$1(current);
                result._state = t1._state;
                result._resultOrListeners = t1._resultOrListeners;
                _box_1.source = t1;
                continue;
              } else
                P._Future__chainCoreFuture(t1, result);
            else
              result._chainForeignFuture$1(t1);
            return;
          }
        }
        result = _box_0.listener.result;
        current = result._resultOrListeners;
        result._resultOrListeners = null;
        listeners = result._reverseListeners$1(current);
        t1 = _box_0.listenerHasError;
        t3 = _box_0.listenerValueOrError;
        if (!t1) {
          result._state = 4;
          result._resultOrListeners = t3;
        } else {
          result._state = 8;
          result._resultOrListeners = t3;
        }
        _box_1.source = result;
        t1 = result;
      }
    },
    _registerErrorHandler: function(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 H.wrapException(P.ArgumentError$value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a valid result"));
    },
    _microtaskLoop: function() {
      var entry, next;
      for (entry = $._nextCallback; entry != null; entry = $._nextCallback) {
        $._lastPriorityCallback = null;
        next = entry.next;
        $._nextCallback = next;
        if (next == null)
          $._lastCallback = null;
        entry.callback.call$0();
      }
    },
    _startMicrotaskLoop: function() {
      $._isInCallbackLoop = true;
      try {
        P._microtaskLoop();
      } finally {
        $._lastPriorityCallback = null;
        $._isInCallbackLoop = false;
        if ($._nextCallback != null)
          $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
      }
    },
    _scheduleAsyncCallback: function(callback) {
      var newEntry = new P._AsyncCallbackEntry(callback),
        lastCallback = $._lastCallback;
      if (lastCallback == null) {
        $._nextCallback = $._lastCallback = newEntry;
        if (!$._isInCallbackLoop)
          $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
      } else
        $._lastCallback = lastCallback.next = newEntry;
    },
    _schedulePriorityAsyncCallback: function(callback) {
      var entry, lastPriorityCallback, next,
        t1 = $._nextCallback;
      if (t1 == null) {
        P._scheduleAsyncCallback(callback);
        $._lastPriorityCallback = $._lastCallback;
        return;
      }
      entry = new P._AsyncCallbackEntry(callback);
      lastPriorityCallback = $._lastPriorityCallback;
      if (lastPriorityCallback == null) {
        entry.next = t1;
        $._nextCallback = $._lastPriorityCallback = entry;
      } else {
        next = lastPriorityCallback.next;
        entry.next = next;
        $._lastPriorityCallback = lastPriorityCallback.next = entry;
        if (next == null)
          $._lastCallback = entry;
      }
    },
    scheduleMicrotask: function(callback) {
      var t1, _null = null,
        currentZone = $.Zone__current;
      if (C.C__RootZone === currentZone) {
        P._rootScheduleMicrotask(_null, _null, C.C__RootZone, callback);
        return;
      }
      if (C.C__RootZone === currentZone.get$_scheduleMicrotask().zone)
        t1 = C.C__RootZone.get$errorZone() === currentZone.get$errorZone();
      else
        t1 = false;
      if (t1) {
        P._rootScheduleMicrotask(_null, _null, currentZone, currentZone.registerCallback$1$1(callback, type$.void));
        return;
      }
      t1 = $.Zone__current;
      t1.scheduleMicrotask$1(t1.bindCallbackGuarded$1(callback));
    },
    Stream_Stream$fromIterable: function(elements, $T) {
      return new P._GeneratedStreamImpl(new P.Stream_Stream$fromIterable_closure(elements, $T), $T._eval$1("_GeneratedStreamImpl<0>"));
    },
    StreamIterator_StreamIterator: function(stream, $T) {
      H.checkNotNullable(stream, "stream", type$.Object);
      return new P._StreamIterator($T._eval$1("_StreamIterator<0>"));
    },
    StreamController_StreamController: function(onCancel, onListen, onResume, sync, $T) {
      return sync ? new P._SyncStreamController(onListen, null, onResume, onCancel, $T._eval$1("_SyncStreamController<0>")) : new P._AsyncStreamController(onListen, null, onResume, onCancel, $T._eval$1("_AsyncStreamController<0>"));
    },
    StreamController_StreamController$broadcast: function(sync, $T) {
      var _null = null;
      return sync ? new P._SyncBroadcastStreamController(_null, _null, $T._eval$1("_SyncBroadcastStreamController<0>")) : new P._AsyncBroadcastStreamController(_null, _null, $T._eval$1("_AsyncBroadcastStreamController<0>"));
    },
    _runGuarded: function(notificationHandler) {
      var e, s, exception;
      if (notificationHandler == null)
        return;
      try {
        notificationHandler.call$0();
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        $.Zone__current.handleUncaughtError$2(e, s);
      }
    },
    _ControllerSubscription$: function(_controller, onData, onError, onDone, cancelOnError, $T) {
      var t1 = $.Zone__current,
        t2 = cancelOnError ? 1 : 0;
      return new P._ControllerSubscription(_controller, P._BufferingStreamSubscription__registerDataHandler(t1, onData, $T), P._BufferingStreamSubscription__registerErrorHandler(t1, onError), P._BufferingStreamSubscription__registerDoneHandler(t1, onDone), t1, t2, $T._eval$1("_ControllerSubscription<0>"));
    },
    _AddStreamState$: function(controller, source, cancelOnError, $T) {
      var t1 = $.Zone__current,
        t2 = controller.get$_async$_add(controller),
        t3 = controller.get$_addError();
      return new P._AddStreamState(new P._Future(t1, type$._Future_dynamic), source.listen$4$cancelOnError$onDone$onError(t2, false, controller.get$_close(), t3), $T._eval$1("_AddStreamState<0>"));
    },
    _AddStreamState_makeErrorHandler: function(controller) {
      return new P._AddStreamState_makeErrorHandler_closure(controller);
    },
    _BufferingStreamSubscription$: function(onData, onError, onDone, cancelOnError, $T) {
      var t1 = $.Zone__current,
        t2 = cancelOnError ? 1 : 0;
      return new P._BufferingStreamSubscription(P._BufferingStreamSubscription__registerDataHandler(t1, onData, $T), P._BufferingStreamSubscription__registerErrorHandler(t1, onError), P._BufferingStreamSubscription__registerDoneHandler(t1, onDone), t1, t2, $T._eval$1("_BufferingStreamSubscription<0>"));
    },
    _BufferingStreamSubscription__registerDataHandler: function(zone, handleData, $T) {
      var t1 = handleData == null ? P.async___nullDataHandler$closure() : handleData;
      return zone.registerUnaryCallback$2$1(t1, type$.void, $T);
    },
    _BufferingStreamSubscription__registerErrorHandler: function(zone, handleError) {
      if (handleError == null)
        handleError = P.async___nullErrorHandler$closure();
      if (type$.void_Function_Object_StackTrace._is(handleError))
        return zone.registerBinaryCallback$3$1(handleError, type$.dynamic, type$.Object, type$.StackTrace);
      if (type$.void_Function_Object._is(handleError))
        return zone.registerUnaryCallback$2$1(handleError, type$.dynamic, type$.Object);
      throw H.wrapException(P.ArgumentError$(string$.handle));
    },
    _BufferingStreamSubscription__registerDoneHandler: function(zone, handleDone) {
      var t1 = handleDone == null ? P.async___nullDoneHandler$closure() : handleDone;
      return zone.registerCallback$1$1(t1, type$.void);
    },
    _nullDataHandler: function(value) {
    },
    _nullErrorHandler: function(error, stackTrace) {
      $.Zone__current.handleUncaughtError$2(error, stackTrace);
    },
    _nullDoneHandler: function() {
    },
    _DoneStreamSubscription$: function(_onDone, $T) {
      var t1 = new P._DoneStreamSubscription($.Zone__current, _onDone, $T._eval$1("_DoneStreamSubscription<0>"));
      t1._schedule$0();
      return t1;
    },
    _AsBroadcastStream$: function(_source, onListenHandler, onCancelHandler, $T) {
      var t1 = new P._AsBroadcastStream(_source, null, null, $.Zone__current, $T._eval$1("_AsBroadcastStream<0>"));
      t1._controller = new P._AsBroadcastStreamController(t1.get$_onListen(), t1.get$_onCancel(), $T._eval$1("_AsBroadcastStreamController<0>"));
      return t1;
    },
    _runUserCode: function(userCode, onSuccess, onError) {
      var e, s, replacement, error, stackTrace, exception;
      try {
        onSuccess.call$1(userCode.call$0());
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.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: function(subscription, future, error, stackTrace) {
      var cancelFuture = subscription.cancel$0(0);
      if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture())
        cancelFuture.whenComplete$1(new P._cancelAndError_closure(future, error, stackTrace));
      else
        future._completeError$2(error, stackTrace);
    },
    _cancelAndErrorClosure: function(subscription, future) {
      return new P._cancelAndErrorClosure_closure(subscription, future);
    },
    _cancelAndValue: function(subscription, future, value) {
      var cancelFuture = subscription.cancel$0(0);
      if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture())
        cancelFuture.whenComplete$1(new P._cancelAndValue_closure(future, value));
      else
        future._complete$1(value);
    },
    _addErrorWithReplacement: function(sink, error, stackTrace) {
      var replacement = $.Zone__current.errorCallback$2(error, stackTrace);
      if (replacement != null) {
        error = replacement.error;
        stackTrace = replacement.stackTrace;
      }
      sink._addError$2(error, stackTrace);
    },
    Timer_Timer: function(duration, callback) {
      var t1 = $.Zone__current;
      if (t1 === C.C__RootZone)
        return t1.createTimer$2(duration, callback);
      return t1.createTimer$2(duration, t1.bindCallbackGuarded$1(callback));
    },
    Timer_Timer$periodic: function(duration, callback) {
      var boundCallback,
        t1 = $.Zone__current;
      if (t1 === C.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: function(other, handleUncaughtError) {
      var t1 = handleUncaughtError == null ? other.handleUncaughtError : handleUncaughtError;
      return new P._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: function($self, $parent, zone, error, stackTrace) {
      P._rootHandleError(error, stackTrace);
    },
    _rootHandleError: function(error, stackTrace) {
      P._schedulePriorityAsyncCallback(new P._rootHandleError_closure(error, stackTrace));
    },
    _rootRun: function($self, $parent, zone, f) {
      var old,
        t1 = $.Zone__current;
      if (t1 == zone)
        return f.call$0();
      if (!(zone instanceof P._Zone))
        throw H.wrapException(P.ArgumentError$value(zone, "zone", "Can only run in platform zones"));
      $.Zone__current = zone;
      old = t1;
      try {
        t1 = f.call$0();
        return t1;
      } finally {
        $.Zone__current = old;
      }
    },
    _rootRunUnary: function($self, $parent, zone, f, arg) {
      var old,
        t1 = $.Zone__current;
      if (t1 == zone)
        return f.call$1(arg);
      if (!(zone instanceof P._Zone))
        throw H.wrapException(P.ArgumentError$value(zone, "zone", "Can only run in platform zones"));
      $.Zone__current = zone;
      old = t1;
      try {
        t1 = f.call$1(arg);
        return t1;
      } finally {
        $.Zone__current = old;
      }
    },
    _rootRunBinary: function($self, $parent, zone, f, arg1, arg2) {
      var old,
        t1 = $.Zone__current;
      if (t1 == zone)
        return f.call$2(arg1, arg2);
      if (!(zone instanceof P._Zone))
        throw H.wrapException(P.ArgumentError$value(zone, "zone", "Can only run in platform zones"));
      $.Zone__current = zone;
      old = t1;
      try {
        t1 = f.call$2(arg1, arg2);
        return t1;
      } finally {
        $.Zone__current = old;
      }
    },
    _rootRegisterCallback: function($self, $parent, zone, f) {
      return f;
    },
    _rootRegisterUnaryCallback: function($self, $parent, zone, f) {
      return f;
    },
    _rootRegisterBinaryCallback: function($self, $parent, zone, f) {
      return f;
    },
    _rootErrorCallback: function($self, $parent, zone, error, stackTrace) {
      return null;
    },
    _rootScheduleMicrotask: function($self, $parent, zone, f) {
      var t1, t2;
      if (C.C__RootZone !== zone) {
        t1 = C.C__RootZone.get$errorZone();
        t2 = zone.get$errorZone();
        f = t1 !== t2 ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1$1(f, type$.void);
      }
      P._scheduleAsyncCallback(f);
    },
    _rootCreateTimer: function($self, $parent, zone, duration, callback) {
      return P.Timer__createTimer(duration, C.C__RootZone !== zone ? zone.bindCallback$1$1(callback, type$.void) : callback);
    },
    _rootCreatePeriodicTimer: function($self, $parent, zone, duration, callback) {
      return P.Timer__createPeriodicTimer(duration, C.C__RootZone !== zone ? zone.bindUnaryCallback$2$1(callback, type$.void, type$.Timer) : callback);
    },
    _rootPrint: function($self, $parent, zone, line) {
      H.printString(H.S(line));
    },
    _printToZone: function(line) {
      $.Zone__current.print$1(0, line);
    },
    _rootFork: function($self, $parent, zone, specification, zoneValues) {
      var valueMap, t1, handleUncaughtError;
      $.printToZone = P.async___printToZone$closure();
      if (specification == null)
        specification = C._ZoneSpecification_ALf;
      valueMap = zone.get$_async$_map();
      t1 = new P._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 P._ZoneFunction(t1, handleUncaughtError, type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace);
      return t1;
    },
    runZonedGuarded: function(body, onError, $R) {
      var error, stackTrace, parentZone, errorHandler, t1, exception, _null = null, zoneSpecification = null, zoneValues = null;
      H.checkNotNullable(body, "body", $R._eval$1("0()"));
      H.checkNotNullable(onError, "onError", type$.void_Function_Object_StackTrace);
      parentZone = $.Zone__current;
      errorHandler = new P.runZonedGuarded_closure(parentZone, onError);
      if (zoneSpecification == null)
        zoneSpecification = new P._ZoneSpecification(errorHandler, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      else
        zoneSpecification = P.ZoneSpecification_ZoneSpecification$from(zoneSpecification, errorHandler);
      try {
        t1 = parentZone.fork$2$specification$zoneValues(zoneSpecification, zoneValues).run$1$1(body, $R);
        return t1;
      } catch (exception) {
        error = H.unwrapException(exception);
        stackTrace = H.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_Stream$fromIterable_closure: function Stream_Stream$fromIterable_closure(t0, t1) {
      this.elements = t0;
      this.T = t1;
    },
    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._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(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._async$_onData = t0;
      _._onError = t1;
      _._onDone = t2;
      _._zone = t3;
      _._state = t4;
      _._pending = _._cancelFuture = null;
      _.$ti = t5;
    },
    _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() {
    },
    _GeneratedStreamImpl: function _GeneratedStreamImpl(t0, t1) {
      this._pending = t0;
      this._isUsed = false;
      this.$ti = t1;
    },
    _IterablePendingEvents: function _IterablePendingEvents(t0, t1) {
      this._async$_iterator = t0;
      this._state = 0;
      this.$ti = t1;
    },
    _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._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;
      _._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;
      _._async$_transform = t0;
      _._test = t1;
      _._async$_source = t2;
      _.$ti = t3;
    },
    _ZoneFunction: function _ZoneFunction(t0, t1, t2) {
      this.zone = t0;
      this.$function = t1;
      this.$ti = t2;
    },
    _RunNullaryZoneFunction: function _RunNullaryZoneFunction(t0, t1) {
      this.zone = t0;
      this.$function = t1;
    },
    _RunUnaryZoneFunction: function _RunUnaryZoneFunction(t0, t1) {
      this.zone = t0;
      this.$function = t1;
    },
    _RunBinaryZoneFunction: function _RunBinaryZoneFunction(t0, t1) {
      this.zone = t0;
      this.$function = t1;
    },
    _RegisterNullaryZoneFunction: function _RegisterNullaryZoneFunction(t0, t1) {
      this.zone = t0;
      this.$function = t1;
    },
    _RegisterUnaryZoneFunction: function _RegisterUnaryZoneFunction(t0, t1) {
      this.zone = t0;
      this.$function = t1;
    },
    _RegisterBinaryZoneFunction: function _RegisterBinaryZoneFunction(t0, t1) {
      this.zone = t0;
      this.$function = t1;
    },
    _ZoneSpecification: function _ZoneSpecification(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.handleUncaughtError = t0;
      _.run = t1;
      _.runUnary = t2;
      _.runBinary = t3;
      _.registerCallback = t4;
      _.registerUnaryCallback = t5;
      _.registerBinaryCallback = t6;
      _.errorCallback = t7;
      _.scheduleMicrotask = t8;
      _.createTimer = t9;
      _.createPeriodicTimer = t10;
      _.print = t11;
      _.fork = t12;
    },
    _ZoneDelegate: function _ZoneDelegate(t0) {
      this._delegationTarget = t0;
    },
    _Zone: function _Zone() {
    },
    _CustomZone: function _CustomZone(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._run = t0;
      _._runUnary = t1;
      _._runBinary = t2;
      _._registerCallback = t3;
      _._registerUnaryCallback = t4;
      _._registerBinaryCallback = t5;
      _._errorCallback = t6;
      _._scheduleMicrotask = t7;
      _._createTimer = t8;
      _._createPeriodicTimer = t9;
      _._print = t10;
      _._fork = t11;
      _._handleUncaughtError = t12;
      _._delegateCache = null;
      _.parent = t13;
      _._async$_map = t14;
    },
    _CustomZone_bindCallback_closure: function _CustomZone_bindCallback_closure(t0, t1, t2) {
      this.$this = t0;
      this.registered = t1;
      this.R = t2;
    },
    _CustomZone_bindUnaryCallback_closure: function _CustomZone_bindUnaryCallback_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.registered = t1;
      _.T = t2;
      _.R = t3;
    },
    _CustomZone_bindCallbackGuarded_closure: function _CustomZone_bindCallbackGuarded_closure(t0, t1) {
      this.$this = t0;
      this.registered = t1;
    },
    _CustomZone_bindUnaryCallbackGuarded_closure: function _CustomZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) {
      this.$this = t0;
      this.registered = t1;
      this.T = t2;
    },
    _rootHandleError_closure: function _rootHandleError_closure(t0, t1) {
      this.error = t0;
      this.stackTrace = t1;
    },
    _RootZone: function _RootZone() {
    },
    _RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1, t2) {
      this.$this = t0;
      this.f = t1;
      this.R = t2;
    },
    _RootZone_bindUnaryCallback_closure: function _RootZone_bindUnaryCallback_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.f = t1;
      _.T = t2;
      _.R = t3;
    },
    _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) {
      this.$this = t0;
      this.f = t1;
    },
    _RootZone_bindUnaryCallbackGuarded_closure: function _RootZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) {
      this.$this = t0;
      this.f = t1;
      this.T = t2;
    },
    runZonedGuarded_closure: function runZonedGuarded_closure(t0, t1) {
      this.parentZone = t0;
      this.onError = t1;
    },
    HashMap_HashMap: function(equals, hashCode, isValidKey, $K, $V) {
      if (isValidKey == null)
        if (hashCode == null) {
          if (equals == null)
            return new P._HashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("_HashMap<1,2>"));
          hashCode = P.collection___defaultHashCode$closure();
        } else {
          if (P.core__identityHashCode$closure() === hashCode && P.core__identical$closure() === equals)
            return new P._IdentityHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("_IdentityHashMap<1,2>"));
          if (equals == null)
            equals = P.collection___defaultEquals$closure();
        }
      else {
        if (hashCode == null)
          hashCode = P.collection___defaultHashCode$closure();
        if (equals == null)
          equals = P.collection___defaultEquals$closure();
      }
      return P._CustomHashMap$(equals, hashCode, isValidKey, $K, $V);
    },
    _HashMap__getTableEntry: function(table, key) {
      var entry = table[key];
      return entry === table ? null : entry;
    },
    _HashMap__setTableEntry: function(table, key, value) {
      if (value == null)
        table[key] = table;
      else
        table[key] = value;
    },
    _HashMap__newHashTable: function() {
      var table = Object.create(null);
      P._HashMap__setTableEntry(table, "<non-identifier-key>", table);
      delete table["<non-identifier-key>"];
      return table;
    },
    _CustomHashMap$: function(_equals, _hashCode, validKey, $K, $V) {
      var t1 = validKey != null ? validKey : new P._CustomHashMap_closure($K);
      return new P._CustomHashMap(_equals, _hashCode, t1, $K._eval$1("@<0>")._bind$1($V)._eval$1("_CustomHashMap<1,2>"));
    },
    LinkedHashMap_LinkedHashMap: function(equals, hashCode, $K, $V) {
      if (hashCode == null) {
        if (equals == null)
          return new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
        hashCode = P.collection___defaultHashCode$closure();
      } else {
        if (P.core__identityHashCode$closure() === hashCode && P.core__identical$closure() === equals)
          return P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6($K, $V);
        if (equals == null)
          equals = P.collection___defaultEquals$closure();
      }
      return P._LinkedCustomHashMap$(equals, hashCode, null, $K, $V);
    },
    LinkedHashMap_LinkedHashMap$_literal: function(keyValuePairs, $K, $V) {
      return H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")));
    },
    LinkedHashMap_LinkedHashMap$_empty: function($K, $V) {
      return new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
    },
    _LinkedIdentityHashMap__LinkedIdentityHashMap$es6: function($K, $V) {
      return new P._LinkedIdentityHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("_LinkedIdentityHashMap<1,2>"));
    },
    _LinkedCustomHashMap$: function(_equals, _hashCode, validKey, $K, $V) {
      return new P._LinkedCustomHashMap(_equals, _hashCode, new P._LinkedCustomHashMap_closure($K), $K._eval$1("@<0>")._bind$1($V)._eval$1("_LinkedCustomHashMap<1,2>"));
    },
    HashSet_HashSet: function($E) {
      return new P._HashSet($E._eval$1("_HashSet<0>"));
    },
    _HashSet__newHashTable: function() {
      var table = Object.create(null);
      table["<non-identifier-key>"] = table;
      delete table["<non-identifier-key>"];
      return table;
    },
    LinkedHashSet_LinkedHashSet: function($E) {
      return new P._LinkedHashSet($E._eval$1("_LinkedHashSet<0>"));
    },
    LinkedHashSet_LinkedHashSet$_empty: function($E) {
      return new P._LinkedHashSet($E._eval$1("_LinkedHashSet<0>"));
    },
    LinkedHashSet_LinkedHashSet$_literal: function(values, $E) {
      return H.fillLiteralSet(values, new P._LinkedHashSet($E._eval$1("_LinkedHashSet<0>")));
    },
    _LinkedHashSet__newHashTable: function() {
      var table = Object.create(null);
      table["<non-identifier-key>"] = table;
      delete table["<non-identifier-key>"];
      return table;
    },
    _LinkedHashSetIterator$: function(_set, _modifications, $E) {
      var t1 = new P._LinkedHashSetIterator(_set, _modifications, $E._eval$1("_LinkedHashSetIterator<0>"));
      t1._collection$_cell = _set._collection$_first;
      return t1;
    },
    _defaultEquals: function(a, b) {
      return J.$eq$(a, b);
    },
    _defaultHashCode: function(a) {
      return J.get$hashCode$(a);
    },
    HashMap_HashMap$from: function(other, $K, $V) {
      var result = P.HashMap_HashMap(null, null, null, $K, $V);
      other.forEach$1(0, new P.HashMap_HashMap$from_closure(result, $K, $V));
      return result;
    },
    IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightDelimiter) {
      var parts, t1;
      if (P._isToStringVisiting(iterable)) {
        if (leftDelimiter === "(" && rightDelimiter === ")")
          return "(...)";
        return leftDelimiter + "..." + rightDelimiter;
      }
      parts = H._setArrayType([], type$.JSArray_String);
      $._toStringVisiting.push(iterable);
      try {
        P._iterablePartsToStrings(iterable, parts);
      } finally {
        $._toStringVisiting.pop();
      }
      t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDelimiter) {
      var buffer, t1;
      if (P._isToStringVisiting(iterable))
        return leftDelimiter + "..." + rightDelimiter;
      buffer = new P.StringBuffer(leftDelimiter);
      $._toStringVisiting.push(iterable);
      try {
        t1 = buffer;
        t1._contents = P.StringBuffer__writeAll(t1._contents, iterable, ", ");
      } finally {
        $._toStringVisiting.pop();
      }
      buffer._contents += rightDelimiter;
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _isToStringVisiting: function(o) {
      var t1, i;
      for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i)
        if (o === $._toStringVisiting[i])
          return true;
      return false;
    },
    _iterablePartsToStrings: function(iterable, parts) {
      var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision,
        it = J.get$iterator$ax(iterable),
        $length = 0, count = 0;
      while (true) {
        if (!($length < 80 || count < 3))
          break;
        if (!it.moveNext$0())
          return;
        next = H.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(H.S(penultimate));
            return;
          }
          ultimateString = H.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 = H.S(penultimate);
          ultimateString = H.S(ultimate);
          $length += ultimateString.length + penultimateString.length + 4;
        }
      }
      if (count > parts.length + 2) {
        $length += 5;
        elision = "...";
      } else
        elision = null;
      while (true) {
        if (!($length > 80 && parts.length > 3))
          break;
        $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: function(other, $K, $V) {
      var result = P.LinkedHashMap_LinkedHashMap(null, null, $K, $V);
      J.forEach$1$ax(other, new P.LinkedHashMap_LinkedHashMap$from_closure(result, $K, $V));
      return result;
    },
    LinkedHashMap_LinkedHashMap$of: function(other, $K, $V) {
      var t1 = P.LinkedHashMap_LinkedHashMap(null, null, $K, $V);
      t1.addAll$1(0, other);
      return t1;
    },
    LinkedHashMap_LinkedHashMap$fromIterable: function(iterable, key, value, $K, $V) {
      var map = P.LinkedHashMap_LinkedHashMap(null, null, $K, $V);
      P.MapBase__fillMapWithMappedIterable(map, iterable, key, value);
      return map;
    },
    LinkedHashSet_LinkedHashSet$from: function(elements, $E) {
      var t1,
        result = P.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: function(elements, $E) {
      var t1 = P.LinkedHashSet_LinkedHashSet($E);
      t1.addAll$1(0, elements);
      return t1;
    },
    _LinkedListIterator$: function(list, $E) {
      return new P._LinkedListIterator(list, list._modificationCount, list._collection$_first, $E._eval$1("_LinkedListIterator<0>"));
    },
    ListMixin__compareAny: function(a, b) {
      var t1 = type$.Comparable_dynamic;
      return J.compareTo$1$ns(t1._as(a), t1._as(b));
    },
    MapBase_mapToString: function(m) {
      var result, t1 = {};
      if (P._isToStringVisiting(m))
        return "{...}";
      result = new P.StringBuffer("");
      try {
        $._toStringVisiting.push(m);
        result._contents += "{";
        t1.first = true;
        J.forEach$1$ax(m, new P.MapBase_mapToString_closure(t1, result));
        result._contents += "}";
      } finally {
        $._toStringVisiting.pop();
      }
      t1 = result._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    MapBase__fillMapWithMappedIterable: function(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));
      }
    },
    DoubleLinkedQueue$: function($E) {
      return new P.DoubleLinkedQueue($E._eval$1("DoubleLinkedQueue<0>"));
    },
    ListQueue$: function(initialCapacity, $E) {
      return new P.ListQueue(P.List_List$filled(P.ListQueue__calculateCapacity(initialCapacity), null, false, $E._eval$1("0?")), $E._eval$1("ListQueue<0>"));
    },
    ListQueue__calculateCapacity: function(initialCapacity) {
      if (initialCapacity == null || initialCapacity < 8)
        return 8;
      else if ((initialCapacity & initialCapacity - 1) >>> 0 !== 0)
        return P.ListQueue__nextPowerOf2(initialCapacity);
      return initialCapacity;
    },
    ListQueue__nextPowerOf2: function(number) {
      var nextNumber;
      number = (number << 1 >>> 0) - 1;
      for (; true; number = nextNumber) {
        nextNumber = (number & number - 1) >>> 0;
        if (nextNumber === 0)
          return number;
      }
    },
    _UnmodifiableSetMixin__throwUnmodifiable: function() {
      throw H.wrapException(P.UnsupportedError$("Cannot change an unmodifiable set"));
    },
    _dynamicCompare: function(a, b) {
      return J.compareTo$1$ns(a, b);
    },
    _defaultCompare: function($K) {
      if ($K._eval$1("int(0,0)")._is(P.core_Comparable_compare$closure()))
        return P.core_Comparable_compare$closure();
      return P.collection___dynamicCompare$closure();
    },
    SplayTreeMap$: function(compare, $K, $V) {
      var t1 = compare == null ? P._defaultCompare($K) : compare;
      return new P.SplayTreeMap(t1, new P.SplayTreeMap_closure($K), $K._eval$1("@<0>")._bind$1($V)._eval$1("SplayTreeMap<1,2>"));
    },
    SplayTreeSet$: function(compare, isValidKey, $E) {
      var t1 = compare == null ? P._defaultCompare($E) : compare,
        t2 = isValidKey == null ? new P.SplayTreeSet_closure($E) : isValidKey;
      return new P.SplayTreeSet(t1, t2, $E._eval$1("SplayTreeSet<0>"));
    },
    _HashMap: function _HashMap(t0) {
      var _ = this;
      _._collection$_length = 0;
      _._keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
      _.$ti = t0;
    },
    _HashMap_values_closure: function _HashMap_values_closure(t0) {
      this.$this = t0;
    },
    _HashMap_addAll_closure: function _HashMap_addAll_closure(t0) {
      this.$this = t0;
    },
    _IdentityHashMap: function _IdentityHashMap(t0) {
      var _ = this;
      _._collection$_length = 0;
      _._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;
      _._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;
      _._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._collection$_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;
    },
    HashMap_HashMap$from_closure: function HashMap_HashMap$from_closure(t0, t1, t2) {
      this.result = t0;
      this.K = t1;
      this.V = t2;
    },
    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_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;
      _._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;
    },
    _DoubleLink: function _DoubleLink() {
    },
    DoubleLinkedQueueEntry: function DoubleLinkedQueueEntry() {
    },
    _DoubleLinkedQueueEntry: function _DoubleLinkedQueueEntry() {
    },
    _DoubleLinkedQueueElement: function _DoubleLinkedQueueElement(t0, t1, t2) {
      var _ = this;
      _._queue = t0;
      _._collection$_element = t1;
      _._nextLink = _._previousLink = null;
      _.$ti = t2;
    },
    _DoubleLinkedQueueSentinel: function _DoubleLinkedQueueSentinel(t0, t1, t2) {
      var _ = this;
      _._queue = t0;
      _._collection$_element = t1;
      _._nextLink = _._previousLink = null;
      _.$ti = t2;
    },
    DoubleLinkedQueue: function DoubleLinkedQueue(t0) {
      this.__DoubleLinkedQueue__sentinel = $;
      this._elementCount = 0;
      this.$ti = t0;
    },
    _DoubleLinkedQueueIterator: function _DoubleLinkedQueueIterator(t0, t1, t2) {
      var _ = this;
      _._sentinel = 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;
      _._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: function(source, reviver) {
      var parsed, e, exception, t1;
      if (typeof source != "string")
        throw H.wrapException(H.argumentErrorValue(source));
      parsed = null;
      try {
        parsed = JSON.parse(source);
      } catch (exception) {
        e = H.unwrapException(exception);
        t1 = P.FormatException$(String(e), null, null);
        throw H.wrapException(t1);
      }
      t1 = P._convertJsonToDartLazy(parsed);
      return t1;
    },
    _convertJsonToDartLazy: function(object) {
      var i;
      if (object == null)
        return null;
      if (typeof object != "object")
        return object;
      if (Object.getPrototypeOf(object) !== Array.prototype)
        return new P._JsonMap(object, Object.create(null));
      for (i = 0; i < object.length; ++i)
        object[i] = P._convertJsonToDartLazy(object[i]);
      return object;
    },
    Utf8Decoder__convertIntercepted: function(allowMalformed, codeUnits, start, end) {
      var casted, result;
      if (codeUnits instanceof Uint8Array) {
        casted = codeUnits;
        end = casted.length;
        if (end - start < 15)
          return null;
        result = P.Utf8Decoder__convertInterceptedUint8List(allowMalformed, casted, start, end);
        if (result != null && allowMalformed)
          if (result.indexOf("\ufffd") >= 0)
            return null;
        return result;
      }
      return null;
    },
    Utf8Decoder__convertInterceptedUint8List: function(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 P.Utf8Decoder__useTextDecoder(decoder, codeUnits);
      return P.Utf8Decoder__useTextDecoder(decoder, codeUnits.subarray(start, P.RangeError_checkValidRange(start, end, codeUnits.length)));
    },
    Utf8Decoder__useTextDecoder: function(decoder, codeUnits) {
      var t1, exception;
      try {
        t1 = decoder.decode(codeUnits);
        return t1;
      } catch (exception) {
        H.unwrapException(exception);
      }
      return null;
    },
    Base64Codec__checkPadding: function(source, sourceIndex, sourceEnd, firstPadding, paddingCount, $length) {
      if (C.JSInt_methods.$mod($length, 4) !== 0)
        throw H.wrapException(P.FormatException$("Invalid base64 padding, padded length must be multiple of four, is " + $length, source, sourceEnd));
      if (firstPadding + paddingCount !== $length)
        throw H.wrapException(P.FormatException$("Invalid base64 padding, '=' not at the end", source, sourceIndex));
      if (paddingCount > 2)
        throw H.wrapException(P.FormatException$("Invalid base64 padding, more than two '=' characters", source, sourceIndex));
    },
    _Base64Encoder_encodeChunk: function(alphabet, bytes, start, end, isLast, output, outputIndex, state) {
      var t1, t2, i, byteOr, byte, outputIndex0, outputIndex1,
        bits = state >>> 2,
        expectedChars = 3 - (state & 3);
      for (t1 = J.getInterceptor$asx(bytes), t2 = J.getInterceptor$ax(output), 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;
          t2.$indexSet(output, outputIndex, C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 18 & 63));
          outputIndex = outputIndex0 + 1;
          t2.$indexSet(output, outputIndex0, C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 12 & 63));
          outputIndex0 = outputIndex + 1;
          t2.$indexSet(output, outputIndex, C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 6 & 63));
          outputIndex = outputIndex0 + 1;
          t2.$indexSet(output, outputIndex0, C.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) {
            t2.$indexSet(output, outputIndex, C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 2 & 63));
            t2.$indexSet(output, outputIndex0, C.JSString_methods._codeUnitAt$1(alphabet, bits << 4 & 63));
            t2.$indexSet(output, outputIndex1, 61);
            t2.$indexSet(output, outputIndex1 + 1, 61);
          } else {
            t2.$indexSet(output, outputIndex, C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 10 & 63));
            t2.$indexSet(output, outputIndex0, C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 4 & 63));
            t2.$indexSet(output, outputIndex1, C.JSString_methods._codeUnitAt$1(alphabet, bits << 2 & 63));
            t2.$indexSet(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 H.wrapException(P.ArgumentError$value(bytes, "Not a byte value at index " + i + ": 0x" + J.toRadixString$1$n(t1.$index(bytes, i), 16), null));
    },
    _Base64Decoder_decodeChunk: function(input, start, end, output, outIndex, state) {
      var i, charOr, char, code, outIndex0, expectedPadding,
        _s31_ = "Invalid encoding before padding",
        _s17_ = "Invalid character",
        bits = C.JSInt_methods._shrOtherPositive$1(state, 2),
        count = state & 3,
        inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet();
      for (i = start, charOr = 0; i < end; ++i) {
        char = C.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 H.wrapException(P.FormatException$(_s31_, input, i));
            output[outIndex] = bits >>> 10;
            output[outIndex + 1] = bits >>> 2;
          } else {
            if ((bits & 15) !== 0)
              throw H.wrapException(P.FormatException$(_s31_, input, i));
            output[outIndex] = bits >>> 4;
          }
          expectedPadding = (3 - count) * 3;
          if (char === 37)
            expectedPadding += 2;
          return P._Base64Decoder__checkPadding(input, i + 1, end, -expectedPadding - 1);
        }
        throw H.wrapException(P.FormatException$(_s17_, input, i));
      }
      if (charOr >= 0 && charOr <= 127)
        return (bits << 2 | count) >>> 0;
      for (i = start; i < end; ++i) {
        char = C.JSString_methods.codeUnitAt$1(input, i);
        if (char > 127)
          break;
      }
      throw H.wrapException(P.FormatException$(_s17_, input, i));
    },
    _Base64Decoder__allocateBuffer: function(input, start, end, state) {
      var paddingStart = P._Base64Decoder__trimPaddingChars(input, start, end),
        $length = (state & 3) + (paddingStart - start),
        bufferLength = C.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: function(input, start, end) {
      var char,
        newEnd = end,
        index = newEnd,
        padding = 0;
      while (true) {
        if (!(index > start && padding < 2))
          break;
        c$0: {
          --index;
          char = C.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 = C.JSString_methods.codeUnitAt$1(input, index);
          }
          if (char === 51) {
            if (index === start)
              break;
            --index;
            char = C.JSString_methods.codeUnitAt$1(input, index);
          }
          if (char === 37) {
            ++padding;
            newEnd = index;
            break c$0;
          }
          break;
        }
      }
      return newEnd;
    },
    _Base64Decoder__checkPadding: function(input, start, end, state) {
      var expectedPadding, char;
      if (start === end)
        return state;
      expectedPadding = -state - 1;
      for (; expectedPadding > 0;) {
        char = C.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 = C.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 = C.JSString_methods.codeUnitAt$1(input, start);
        }
        if ((char | 32) !== 100)
          break;
        ++start;
        --expectedPadding;
        if (start === end)
          break;
      }
      if (start !== end)
        throw H.wrapException(P.FormatException$("Invalid padding character", input, start));
      return -expectedPadding - 1;
    },
    Encoding_getByName: function($name) {
      if ($name == null)
        return null;
      return $.Encoding__nameToEncoding.$index(0, $name.toLowerCase());
    },
    JsonUnsupportedObjectError$: function(unsupportedObject, cause, partialResult) {
      return new P.JsonUnsupportedObjectError(unsupportedObject, cause);
    },
    _defaultToEncodable: function(object) {
      return object.toJson$0();
    },
    _JsonStringStringifier$: function(_sink, _toEncodable) {
      var t1 = _toEncodable == null ? P.convert___defaultToEncodable$closure() : _toEncodable;
      return new P._JsonStringStringifier(_sink, [], t1);
    },
    _JsonStringStringifier_stringify: function(object, toEncodable, indent) {
      var t1,
        output = new P.StringBuffer("");
      P._JsonStringStringifier_printOn(object, output, toEncodable, indent);
      t1 = output._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _JsonStringStringifier_printOn: function(object, output, toEncodable, indent) {
      var stringifier, t1;
      if (indent == null)
        stringifier = P._JsonStringStringifier$(output, toEncodable);
      else {
        t1 = toEncodable == null ? P.convert___defaultToEncodable$closure() : toEncodable;
        stringifier = new P._JsonStringStringifierPretty(indent, 0, output, [], t1);
      }
      stringifier.writeObject$1(object);
    },
    LineSplitter_split: function($async$lines) {
      return P._makeSyncStarIterable(function() {
        var lines = $async$lines;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, 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 = P.RangeError_checkValidRange(0, null, lines.length);
                t1 = J.getInterceptor$s(lines), sliceStart = 0, char = 0, i = 0;
              case 2:
                // for condition
                if (!(i < end)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                char0 = t1._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 C.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 t1.substring$2(lines, sliceStart, end);
              case 8:
                // after yield
              case 7:
                // join
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.String);
    },
    _Utf8Decoder_errorDescription: function(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: function(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;
    },
    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: function(object) {
      return H.objectHashCode(object);
    },
    Function_apply: function($function, positionalArguments) {
      return H.Primitives_applyFunction($function, positionalArguments, null);
    },
    Expando$: function($T) {
      return new P.Expando(new WeakMap(), $T._eval$1("Expando<0>"));
    },
    Expando__checkType: function(object) {
      if (object == null || H._isBool(object) || typeof object == "number" || typeof object == "string")
        throw H.wrapException(P.ArgumentError$value(object, string$.Expand, null));
    },
    int_parse: function(source, radix) {
      var value = H.Primitives_parseInt(source, radix);
      if (value != null)
        return value;
      throw H.wrapException(P.FormatException$(source, null, null));
    },
    double_parse: function(source) {
      var value = H.Primitives_parseDouble(source);
      if (value != null)
        return value;
      throw H.wrapException(P.FormatException$("Invalid double", source, null));
    },
    Error__objectToString: function(object) {
      if (object instanceof H.Closure)
        return object.toString$0(0);
      return "Instance of '" + H.S(H.Primitives_objectTypeName(object)) + "'";
    },
    DateTime$fromMillisecondsSinceEpoch: function(millisecondsSinceEpoch, isUtc) {
      var t1;
      if (Math.abs(millisecondsSinceEpoch) <= 864e13)
        t1 = false;
      else
        t1 = true;
      if (t1)
        H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + H.S(millisecondsSinceEpoch)));
      H.checkNotNullable(isUtc, "isUtc", type$.bool);
      return new P.DateTime(millisecondsSinceEpoch, isUtc);
    },
    DateTime$fromMicrosecondsSinceEpoch: function(microsecondsSinceEpoch) {
      var t2,
        t1 = C.JSNumber_methods.round$0(microsecondsSinceEpoch / 1000);
      if (Math.abs(t1) <= 864e13)
        t2 = false;
      else
        t2 = true;
      if (t2)
        H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + t1));
      H.checkNotNullable(false, "isUtc", type$.bool);
      return new P.DateTime(t1, false);
    },
    List_List$filled: function($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: function(elements, growable, $E) {
      var t1,
        list = H._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: function(elements, growable, $E) {
      var t1;
      if (growable)
        return P.List_List$_of(elements, $E);
      t1 = J.JSArray_markFixedList(P.List_List$_of(elements, $E));
      return t1;
    },
    List_List$_of: function(elements, $E) {
      var list, t1;
      if (Array.isArray(elements))
        return H._setArrayType(elements.slice(0), $E._eval$1("JSArray<0>"));
      list = H._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: function($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: function(elements, $E) {
      return J.JSArray_markUnmodifiableList(P.List_List$from(elements, false, $E));
    },
    String_String$fromCharCodes: function(charCodes, start, end) {
      var array, len;
      if (Array.isArray(charCodes)) {
        array = charCodes;
        len = array.length;
        end = P.RangeError_checkValidRange(start, end, len);
        return H.Primitives_stringFromCharCodes(start > 0 || end < len ? array.slice(start, end) : array);
      }
      if (type$.NativeUint8List._is(charCodes))
        return H.Primitives_stringFromNativeUint8List(charCodes, start, P.RangeError_checkValidRange(start, end, charCodes.length));
      return P.String__stringFromIterable(charCodes, start, end);
    },
    String_String$fromCharCode: function(charCode) {
      return H.Primitives_stringFromCharCode(charCode);
    },
    String__stringFromIterable: function(charCodes, start, end) {
      var t1, it, i, list, _null = null;
      if (start < 0)
        throw H.wrapException(P.RangeError$range(start, 0, J.get$length$asx(charCodes), _null, _null));
      t1 = end == null;
      if (!t1 && end < start)
        throw H.wrapException(P.RangeError$range(end, start, J.get$length$asx(charCodes), _null, _null));
      it = J.get$iterator$ax(charCodes);
      for (i = 0; i < start; ++i)
        if (!it.moveNext$0())
          throw H.wrapException(P.RangeError$range(start, 0, i, _null, _null));
      list = [];
      if (t1)
        for (; it.moveNext$0();)
          list.push(it.get$current(it));
      else
        for (i = start; i < end; ++i) {
          if (!it.moveNext$0())
            throw H.wrapException(P.RangeError$range(end, start, i, _null, _null));
          list.push(it.get$current(it));
        }
      return H.Primitives_stringFromCharCodes(list);
    },
    RegExp_RegExp: function(source, caseSensitive, multiLine) {
      return new H.JSSyntaxRegExp(source, H.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, false, false, false));
    },
    identical: function(a, b) {
      return a == null ? b == null : a === b;
    },
    StringBuffer__writeAll: function(string, objects, separator) {
      var iterator = J.get$iterator$ax(objects);
      if (!iterator.moveNext$0())
        return string;
      if (separator.length === 0) {
        do
          string += H.S(iterator.get$current(iterator));
        while (iterator.moveNext$0());
      } else {
        string += H.S(iterator.get$current(iterator));
        for (; iterator.moveNext$0();)
          string = string + separator + H.S(iterator.get$current(iterator));
      }
      return string;
    },
    NoSuchMethodError$: function(receiver, memberName, positionalArguments, namedArguments) {
      return new P.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments);
    },
    Uri_base: function() {
      var uri = H.Primitives_currentUri();
      if (uri != null)
        return P.Uri_parse(uri, 0, null);
      throw H.wrapException(P.UnsupportedError$("'Uri.base' is not supported"));
    },
    _Uri__uriEncode: function(canonicalTable, text, encoding, spaceToPlus) {
      var t1, bytes, i, t2, byte,
        _s16_ = "0123456789ABCDEF";
      if (encoding === C.Utf8Codec_false) {
        t1 = $.$get$_Uri__needsNoEncoding()._nativeRegExp;
        if (typeof text != "string")
          H.throwExpression(H.argumentErrorValue(text));
        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[C.JSInt_methods._shrOtherPositive$1(byte, 4)] & 1 << (byte & 15)) !== 0)
          t2 += H.Primitives_stringFromCharCode(byte);
        else
          t2 = spaceToPlus && byte === 32 ? t2 + "+" : t2 + "%" + _s16_[C.JSInt_methods._shrOtherPositive$1(byte, 4) & 15] + _s16_[byte & 15];
      }
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    },
    StackTrace_current: function() {
      var stackTrace, exception;
      if ($.$get$_hasErrorStackProperty())
        return H.getTraceFromException(new Error());
      try {
        throw H.wrapException("");
      } catch (exception) {
        H.unwrapException(exception);
        stackTrace = H.getTraceFromException(exception);
        return stackTrace;
      }
    },
    Comparable_compare: function(a, b) {
      return J.compareTo$1$ns(a, b);
    },
    DateTime$now: function() {
      return new P.DateTime(Date.now(), false);
    },
    DateTime_parse: function(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 P.DateTime_parse_parseIntOrZero();
        t2 = match._match;
        t3 = t2[1];
        t3.toString;
        years = P.int_parse(t3, _null);
        t3 = t2[2];
        t3.toString;
        month = P.int_parse(t3, _null);
        t3 = t2[3];
        t3.toString;
        day = P.int_parse(t3, _null);
        hour = t1.call$1(t2[4]);
        minute = t1.call$1(t2[5]);
        second = t1.call$1(t2[6]);
        milliAndMicroseconds = new P.DateTime_parse_parseMilliAndMicroseconds().call$1(t2[7]);
        millisecond = C.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 = P.int_parse(t3, _null);
            minute -= sign * (t1.call$1(t2[11]) + 60 * hourDifference);
          }
          isUtc = true;
        } else
          isUtc = false;
        value = H.Primitives_valueFromDecomposedDate(years, month, day, hour, minute, second, millisecond + C.JSNumber_methods.round$0(milliAndMicroseconds % 1000 / 1000), isUtc);
        if (value == null)
          throw H.wrapException(P.FormatException$("Time out of range", formattedString, _null));
        return P.DateTime$_withValue(value, isUtc);
      } else
        throw H.wrapException(P.FormatException$("Invalid date format", formattedString, _null));
    },
    DateTime$_withValue: function(_value, isUtc) {
      var t1;
      if (Math.abs(_value) <= 864e13)
        t1 = false;
      else
        t1 = true;
      if (t1)
        H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + _value));
      H.checkNotNullable(isUtc, "isUtc", type$.bool);
      return new P.DateTime(_value, isUtc);
    },
    DateTime__fourDigits: function(n) {
      var absN = Math.abs(n),
        sign = n < 0 ? "-" : "";
      if (absN >= 1000)
        return "" + n;
      if (absN >= 100)
        return sign + "0" + absN;
      if (absN >= 10)
        return sign + "00" + absN;
      return sign + "000" + absN;
    },
    DateTime__threeDigits: function(n) {
      if (n >= 100)
        return "" + n;
      if (n >= 10)
        return "0" + n;
      return "00" + n;
    },
    DateTime__twoDigits: function(n) {
      if (n >= 10)
        return "" + n;
      return "0" + n;
    },
    Duration$: function(microseconds, milliseconds) {
      return new P.Duration(1000 * milliseconds + microseconds);
    },
    Error_safeToString: function(object) {
      if (typeof object == "number" || H._isBool(object) || object == null)
        return J.toString$0$(object);
      if (typeof object == "string")
        return JSON.stringify(object);
      return P.Error__objectToString(object);
    },
    AssertionError$: function(message) {
      return new P.AssertionError(message);
    },
    ArgumentError$: function(message) {
      return new P.ArgumentError(false, null, null, message);
    },
    ArgumentError$value: function(value, $name, message) {
      return new P.ArgumentError(true, value, $name, message);
    },
    ArgumentError$notNull: function($name) {
      return new P.ArgumentError(false, null, $name, "Must not be null");
    },
    RangeError$: function(message) {
      var _null = null;
      return new P.RangeError(_null, _null, false, _null, _null, message);
    },
    RangeError$value: function(value, $name, message) {
      return new P.RangeError(null, null, true, value, $name, message == null ? "Value not in range" : message);
    },
    RangeError$range: function(invalidValue, minValue, maxValue, $name, message) {
      return new P.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value");
    },
    RangeError_checkValueInInterval: function(value, minValue, maxValue, $name) {
      if (value < minValue || value > maxValue)
        throw H.wrapException(P.RangeError$range(value, minValue, maxValue, $name, null));
      return value;
    },
    RangeError_checkValidIndex: function(index, indexable, $name, $length) {
      if ($length == null)
        $length = J.get$length$asx(indexable);
      if (0 > index || index >= $length)
        throw H.wrapException(P.IndexError$(index, indexable, $name == null ? "index" : $name, null, $length));
      return index;
    },
    RangeError_checkValidRange: function(start, end, $length) {
      if (0 > start || start > $length)
        throw H.wrapException(P.RangeError$range(start, 0, $length, "start", null));
      if (end != null) {
        if (start > end || end > $length)
          throw H.wrapException(P.RangeError$range(end, start, $length, "end", null));
        return end;
      }
      return $length;
    },
    RangeError_checkNotNegative: function(value, $name) {
      if (value < 0)
        throw H.wrapException(P.RangeError$range(value, 0, null, $name, null));
      return value;
    },
    IndexError$: function(invalidValue, indexable, $name, message, $length) {
      var t1 = $length == null ? J.get$length$asx(indexable) : $length;
      return new P.IndexError(t1, true, invalidValue, $name, "Index out of range");
    },
    UnsupportedError$: function(message) {
      return new P.UnsupportedError(message);
    },
    UnimplementedError$: function(message) {
      return new P.UnimplementedError(message);
    },
    StateError$: function(message) {
      return new P.StateError(message);
    },
    ConcurrentModificationError$: function(modifiedObject) {
      return new P.ConcurrentModificationError(modifiedObject);
    },
    Exception_Exception: function(message) {
      return new P._Exception(message);
    },
    FormatException$: function(message, source, offset) {
      return new P.FormatException(message, source, offset);
    },
    Iterable_Iterable$generate: function(count, generator, $E) {
      if (count <= 0)
        return new H.EmptyIterable($E._eval$1("EmptyIterable<0>"));
      return new P._GeneratorIterable(count, generator, $E._eval$1("_GeneratorIterable<0>"));
    },
    Map_castFrom: function(source, $K, $V, K2, V2) {
      return new H.CastMap(source, $K._eval$1("@<0>")._bind$1($V)._bind$1(K2)._bind$1(V2)._eval$1("CastMap<1,2,3,4>"));
    },
    num_parse: function(input) {
      var t1,
        source = J.trim$0$s(input),
        result = H.Primitives_parseInt(source, null);
      if (result == null)
        result = H.Primitives_parseDouble(source);
      if (result != null)
        return result;
      t1 = P.FormatException$(input, null, null);
      throw H.wrapException(t1);
    },
    print: function(object) {
      var line = J.toString$0$(object),
        toZone = $.printToZone;
      if (toZone == null)
        H.printString(H.S(line));
      else
        toZone.call$1(line);
    },
    Set_castFrom: function(source, newSet, $S, $T) {
      return new H.CastSet(source, newSet, $S._eval$1("@<0>")._bind$1($T)._eval$1("CastSet<1,2>"));
    },
    Stopwatch$: function() {
      $.$get$Stopwatch__frequency();
      return new P.Stopwatch();
    },
    _combineSurrogatePair: function(start, end) {
      return 65536 + ((start & 1023) << 10) + (end & 1023);
    },
    Uri_Uri$dataFromString: function($content) {
      var t1, _null = null,
        buffer = new P.StringBuffer(""),
        indices = H._setArrayType([-1], type$.JSArray_int);
      P.UriData__writeUri(_null, _null, _null, buffer, indices);
      indices.push(buffer._contents.length);
      buffer._contents += ",";
      P.UriData__uriEncodeBytes(C.List_CVk, C.C_AsciiCodec.encode$1($content), buffer);
      t1 = buffer._contents;
      return new P.UriData(t1.charCodeAt(0) == 0 ? t1 : t1, indices, _null).get$uri();
    },
    Uri_parse: function(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 = ((J._codeUnitAt$1$s(uri, start + 4) ^ 58) * 3 | C.JSString_methods._codeUnitAt$1(uri, start) ^ 100 | C.JSString_methods._codeUnitAt$1(uri, start + 1) ^ 97 | C.JSString_methods._codeUnitAt$1(uri, start + 2) ^ 116 | C.JSString_methods._codeUnitAt$1(uri, start + 3) ^ 97) >>> 0;
        if (delta === 0)
          return P.UriData__parse(start > 0 || end < end ? C.JSString_methods.substring$2(uri, start, end) : uri, 5, _null).get$uri();
        else if (delta === 32)
          return P.UriData__parse(C.JSString_methods.substring$2(uri, t1, end), 0, _null).get$uri();
      }
      indices = P.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 (P._scan(uri, start, end, 0, indices) >= 14)
        indices[7] = end;
      schemeEnd = indices[1];
      if (schemeEnd >= start)
        if (P._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 && J.startsWith$2$s(uri, "..", pathStart)))
              t3 = queryStart > pathStart + 2 && J.startsWith$2$s(uri, "/..", queryStart - 3);
            else
              t3 = true;
            if (t3) {
              scheme = _null;
              isSimple = false;
            } else {
              if (schemeEnd === start + 4)
                if (J.startsWith$2$s(uri, "file", start)) {
                  if (hostStart <= start) {
                    if (!C.JSString_methods.startsWith$2(uri, "/", pathStart)) {
                      schemeAuth = "file:///";
                      delta = 3;
                    } else {
                      schemeAuth = "file://";
                      delta = 2;
                    }
                    uri = schemeAuth + C.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 = C.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/");
                      ++queryStart;
                      ++fragmentStart;
                      ++end;
                    } else {
                      uri = C.JSString_methods.substring$2(uri, start, pathStart) + "/" + C.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 (C.JSString_methods.startsWith$2(uri, "http", start)) {
                  if (t2 && portStart + 3 === pathStart && C.JSString_methods.startsWith$2(uri, "80", portStart + 1))
                    if (start === 0 && true) {
                      uri = C.JSString_methods.replaceRange$3(uri, portStart, pathStart, "");
                      pathStart -= 3;
                      queryStart -= 3;
                      fragmentStart -= 3;
                      end -= 3;
                    } else {
                      uri = C.JSString_methods.substring$2(uri, start, portStart) + C.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 && J.startsWith$2$s(uri, "https", start)) {
                if (t2 && portStart + 4 === pathStart && J.startsWith$2$s(uri, "443", portStart + 1)) {
                  t1 = start === 0 && true;
                  t2 = J.getInterceptor$asx(uri);
                  if (t1) {
                    uri = t2.replaceRange$3(uri, portStart, pathStart, "");
                    pathStart -= 4;
                    queryStart -= 4;
                    fragmentStart -= 4;
                    end -= 3;
                  } else {
                    uri = t2.substring$2(uri, start, portStart) + C.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 = J.substring$2$s(uri, start, end);
          schemeEnd -= start;
          hostStart -= start;
          portStart -= start;
          pathStart -= start;
          queryStart -= start;
          fragmentStart -= start;
        }
        return new P._SimpleUri(uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme);
      }
      if (scheme == null)
        if (schemeEnd > start)
          scheme = P._Uri__makeScheme(uri, start, schemeEnd);
        else {
          if (schemeEnd === start) {
            P._Uri__fail(uri, start, "Invalid empty scheme");
            H.ReachabilityError$(string$.x60null_t);
          }
          scheme = "";
        }
      if (hostStart > start) {
        userInfoStart = schemeEnd + 3;
        userInfo = userInfoStart < hostStart ? P._Uri__makeUserInfo(uri, userInfoStart, hostStart - 1) : "";
        host = P._Uri__makeHost(uri, hostStart, portStart, false);
        t1 = portStart + 1;
        if (t1 < pathStart) {
          portNumber = H.Primitives_parseInt(J.substring$2$s(uri, t1, pathStart), _null);
          port = P._Uri__makePort(portNumber == null ? H.throwExpression(P.FormatException$("Invalid port", uri, t1)) : portNumber, scheme);
        } else
          port = _null;
      } else {
        port = _null;
        host = port;
        userInfo = "";
      }
      path = P._Uri__makePath(uri, pathStart, queryStart, _null, scheme, host != null);
      query = queryStart < fragmentStart ? P._Uri__makeQuery(uri, queryStart + 1, fragmentStart, _null) : _null;
      return P._Uri$_internal(scheme, userInfo, host, port, path, query, fragmentStart < end ? P._Uri__makeFragment(uri, fragmentStart + 1, end) : _null);
    },
    Uri_tryParse: function(uri) {
      var t1, exception, start = 0, end = null;
      try {
        t1 = P.Uri_parse(uri, start, end);
        return t1;
      } catch (exception) {
        if (type$.FormatException._is(H.unwrapException(exception)))
          return null;
        else
          throw exception;
      }
    },
    Uri_decodeComponent: function(encodedComponent) {
      return P._Uri__uriDecode(encodedComponent, 0, encodedComponent.length, C.Utf8Codec_false, false);
    },
    Uri_splitQueryString: function(query) {
      var t1 = type$.String;
      return C.JSArray_methods.fold$2(H._setArrayType(query.split("&"), type$.JSArray_String), P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), new P.Uri_splitQueryString_closure(C.Utf8Codec_false));
    },
    Uri__parseIPv4Address: function(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 P.Uri__parseIPv4Address_error(host),
        result = new Uint8Array(4);
      for (i = start, partStart = i, partIndex = 0; i < end; ++i) {
        char = C.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 = P.int_parse(C.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 = P.int_parse(C.JSString_methods.substring$2(host, partStart, end), null);
      if (part > 255)
        error.call$2(_s37_, partStart);
      result[partIndex] = part;
      return result;
    },
    Uri_parseIPv6Address: function(host, start, end) {
      var parts, i, partStart, wildcardSeen, seenDot, char, atEnd, t1, last, bytes, wildCardLength, index, value, j,
        error = new P.Uri_parseIPv6Address_error(host),
        parseHex = new P.Uri_parseIPv6Address_parseHex(error, host);
      if (host.length < 2)
        error.call$1("address is too short");
      parts = H._setArrayType([], type$.JSArray_int);
      for (i = start, partStart = i, wildcardSeen = false, seenDot = false; i < end; ++i) {
        char = C.JSString_methods.codeUnitAt$1(host, i);
        if (char === 58) {
          if (i === start) {
            ++i;
            if (C.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$1("too few parts");
      atEnd = partStart === end;
      t1 = C.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 = P.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$1("an address with a wildcard must have less than 7 parts");
      } else if (parts.length !== 8)
        error.call$1("an address without a wildcard must contain exactly 8 parts");
      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] = C.JSInt_methods._shrOtherPositive$1(value, 8);
          bytes[index + 1] = value & 255;
          index += 2;
        }
      }
      return bytes;
    },
    _Uri$_internal: function(scheme, _userInfo, _host, _port, path, _query, _fragment) {
      return new P._Uri(scheme, _userInfo, _host, _port, path, _query, _fragment);
    },
    _Uri__Uri: function(host, path, pathSegments, port, queryParameters, scheme, userInfo) {
      var query, fragment, isFile, t1, hasAuthority, t2;
      scheme = scheme == null ? "" : P._Uri__makeScheme(scheme, 0, scheme.length);
      userInfo = P._Uri__makeUserInfo(userInfo, 0, userInfo == null ? 0 : userInfo.length);
      host = P._Uri__makeHost(host, 0, host == null ? 0 : host.length, false);
      query = P._Uri__makeQuery(null, 0, 0, queryParameters);
      fragment = P._Uri__makeFragment(null, 0, 0);
      port = P._Uri__makePort(port, scheme);
      isFile = scheme === "file";
      if (host == null)
        t1 = userInfo.length !== 0 || port != null || isFile;
      else
        t1 = false;
      if (t1)
        host = "";
      t1 = host == null;
      hasAuthority = !t1;
      path = P._Uri__makePath(path, 0, path == null ? 0 : path.length, pathSegments, scheme, hasAuthority);
      t2 = scheme.length === 0;
      if (t2 && t1 && !C.JSString_methods.startsWith$1(path, "/"))
        path = P._Uri__normalizeRelativePath(path, !t2 || hasAuthority);
      else
        path = P._Uri__removeDotSegments(path);
      return P._Uri$_internal(scheme, userInfo, t1 && C.JSString_methods.startsWith$1(path, "//") ? "" : host, port, path, query, fragment);
    },
    _Uri__defaultPort: function(scheme) {
      if (scheme === "http")
        return 80;
      if (scheme === "https")
        return 443;
      return 0;
    },
    _Uri__compareScheme: function(scheme, uri) {
      var t1, i, schemeChar, uriChar, delta, lowerChar;
      for (t1 = scheme.length, i = 0; i < t1; ++i) {
        schemeChar = C.JSString_methods._codeUnitAt$1(scheme, i);
        uriChar = C.JSString_methods._codeUnitAt$1(uri, i);
        delta = schemeChar ^ uriChar;
        if (delta !== 0) {
          if (delta === 32) {
            lowerChar = uriChar | delta;
            if (97 <= lowerChar && lowerChar <= 122)
              continue;
          }
          return false;
        }
      }
      return true;
    },
    _Uri__fail: function(uri, index, message) {
      throw H.wrapException(P.FormatException$(message, uri, index));
    },
    _Uri__makeHttpUri: function(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 (C.JSString_methods._codeUnitAt$1(authority, i) === 64) {
            userInfo = C.JSString_methods.substring$2(authority, 0, i);
            hostStart = i + 1;
            break;
          }
          ++i;
        }
        if (hostStart < t1 && C.JSString_methods._codeUnitAt$1(authority, hostStart) === 91) {
          for (hostEnd = hostStart, escapeForZoneID = -1; hostEnd < t1; ++hostEnd) {
            char = C.JSString_methods._codeUnitAt$1(authority, hostEnd);
            if (char === 37 && escapeForZoneID < 0) {
              hostEnd0 = C.JSString_methods.startsWith$2(authority, "25", hostEnd + 1) ? hostEnd + 2 : hostEnd;
              escapeForZoneID = hostEnd;
              hostEnd = hostEnd0;
            } else if (char === 93)
              break;
          }
          if (hostEnd === t1)
            throw H.wrapException(P.FormatException$("Invalid IPv6 host entry.", authority, hostStart));
          t2 = escapeForZoneID < 0 ? hostEnd : escapeForZoneID;
          P.Uri_parseIPv6Address(authority, hostStart + 1, t2);
          ++hostEnd;
          if (hostEnd !== t1 && C.JSString_methods._codeUnitAt$1(authority, hostEnd) !== 58)
            throw H.wrapException(P.FormatException$("Invalid end of authority", authority, hostEnd));
        } else
          hostEnd = hostStart;
        while (true) {
          if (!(hostEnd < t1)) {
            port = _null;
            break;
          }
          if (C.JSString_methods._codeUnitAt$1(authority, hostEnd) === 58) {
            portString = C.JSString_methods.substring$1(authority, hostEnd + 1);
            port = portString.length !== 0 ? P.int_parse(portString, _null) : _null;
            break;
          }
          ++hostEnd;
        }
        host = C.JSString_methods.substring$2(authority, hostStart, hostEnd);
      } else {
        port = _null;
        host = port;
        userInfo = "";
      }
      return P._Uri__Uri(host, _null, H._setArrayType(unencodedPath.split("/"), type$.JSArray_String), port, queryParameters, scheme, userInfo);
    },
    _Uri__Uri$file: function(path, windows) {
      return windows ? P._Uri__makeWindowsFileUrl(path, false) : P._Uri__makeFileUri(path, false);
    },
    _Uri__checkNonWindowsPathReservedCharacters: function(segments, argumentError) {
      var t1, t2;
      for (t1 = J.get$iterator$ax(segments); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t2.toString;
        if (H.stringContainsUnchecked(t2, "/", 0)) {
          t1 = P.UnsupportedError$("Illegal path character " + t2);
          throw H.wrapException(t1);
        }
      }
    },
    _Uri__checkWindowsPathReservedCharacters: function(segments, argumentError, firstSegment) {
      var t1, t2, t3;
      for (t1 = J.skip$1$ax(segments, firstSegment), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t3 = P.RegExp_RegExp('["*/:<>?\\\\|]', true, false);
        t2.toString;
        if (H.stringContainsUnchecked(t2, t3, 0))
          if (argumentError)
            throw H.wrapException(P.ArgumentError$("Illegal character in path"));
          else
            throw H.wrapException(P.UnsupportedError$("Illegal character in path: " + t2));
      }
    },
    _Uri__checkWindowsDriveLetter: function(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 H.wrapException(P.ArgumentError$(_s21_ + P.String_String$fromCharCode(charCode)));
      else
        throw H.wrapException(P.UnsupportedError$(_s21_ + P.String_String$fromCharCode(charCode)));
    },
    _Uri__makeFileUri: function(path, slashTerminated) {
      var _null = null,
        segments = H._setArrayType(path.split("/"), type$.JSArray_String);
      if (C.JSString_methods.startsWith$1(path, "/"))
        return P._Uri__Uri(_null, _null, segments, _null, _null, "file", _null);
      else
        return P._Uri__Uri(_null, _null, segments, _null, _null, _null, _null);
    },
    _Uri__makeWindowsFileUrl: function(path, slashTerminated) {
      var t1, pathSegments, pathStart, hostPart, _s1_ = "\\", _null = null, _s4_ = "file";
      if (C.JSString_methods.startsWith$1(path, "\\\\?\\"))
        if (C.JSString_methods.startsWith$2(path, "UNC\\", 4))
          path = C.JSString_methods.replaceRange$3(path, 0, 7, _s1_);
        else {
          path = C.JSString_methods.substring$1(path, 4);
          if (path.length < 3 || C.JSString_methods._codeUnitAt$1(path, 1) !== 58 || C.JSString_methods._codeUnitAt$1(path, 2) !== 92)
            throw H.wrapException(P.ArgumentError$("Windows paths with \\\\?\\ prefix must be absolute"));
        }
      else
        path = H.stringReplaceAllUnchecked(path, "/", _s1_);
      t1 = path.length;
      if (t1 > 1 && C.JSString_methods._codeUnitAt$1(path, 1) === 58) {
        P._Uri__checkWindowsDriveLetter(C.JSString_methods._codeUnitAt$1(path, 0), true);
        if (t1 === 2 || C.JSString_methods._codeUnitAt$1(path, 2) !== 92)
          throw H.wrapException(P.ArgumentError$("Windows paths with drive letter must be absolute"));
        pathSegments = H._setArrayType(path.split(_s1_), type$.JSArray_String);
        P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 1);
        return P._Uri__Uri(_null, _null, pathSegments, _null, _null, _s4_, _null);
      }
      if (C.JSString_methods.startsWith$1(path, _s1_))
        if (C.JSString_methods.startsWith$2(path, _s1_, 1)) {
          pathStart = C.JSString_methods.indexOf$2(path, _s1_, 2);
          t1 = pathStart < 0;
          hostPart = t1 ? C.JSString_methods.substring$1(path, 2) : C.JSString_methods.substring$2(path, 2, pathStart);
          pathSegments = H._setArrayType((t1 ? "" : C.JSString_methods.substring$1(path, pathStart + 1)).split(_s1_), type$.JSArray_String);
          P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
          return P._Uri__Uri(hostPart, _null, pathSegments, _null, _null, _s4_, _null);
        } else {
          pathSegments = H._setArrayType(path.split(_s1_), type$.JSArray_String);
          P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
          return P._Uri__Uri(_null, _null, pathSegments, _null, _null, _s4_, _null);
        }
      else {
        pathSegments = H._setArrayType(path.split(_s1_), type$.JSArray_String);
        P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
        return P._Uri__Uri(_null, _null, pathSegments, _null, _null, _null, _null);
      }
    },
    _Uri__makePort: function(port, scheme) {
      if (port != null && port === P._Uri__defaultPort(scheme))
        return null;
      return port;
    },
    _Uri__makeHost: function(host, start, end, strictIPv6) {
      var t1, t2, index, zoneIDstart, zoneID, i;
      if (host == null)
        return null;
      if (start === end)
        return "";
      if (C.JSString_methods.codeUnitAt$1(host, start) === 91) {
        t1 = end - 1;
        if (C.JSString_methods.codeUnitAt$1(host, t1) !== 93) {
          P._Uri__fail(host, start, "Missing end `]` to match `[` in host");
          H.ReachabilityError$(string$.x60null_t);
        }
        t2 = start + 1;
        index = P._Uri__checkZoneID(host, t2, t1);
        if (index < t1) {
          zoneIDstart = index + 1;
          zoneID = P._Uri__normalizeZoneID(host, C.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, t1, "%25");
        } else
          zoneID = "";
        P.Uri_parseIPv6Address(host, t2, index);
        return C.JSString_methods.substring$2(host, start, index).toLowerCase() + zoneID + "]";
      }
      for (i = start; i < end; ++i)
        if (C.JSString_methods.codeUnitAt$1(host, i) === 58) {
          index = C.JSString_methods.indexOf$2(host, "%", start);
          index = index >= start && index < end ? index : end;
          if (index < end) {
            zoneIDstart = index + 1;
            zoneID = P._Uri__normalizeZoneID(host, C.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, end, "%25");
          } else
            zoneID = "";
          P.Uri_parseIPv6Address(host, start, index);
          return "[" + C.JSString_methods.substring$2(host, start, index) + zoneID + "]";
        }
      return P._Uri__normalizeRegName(host, start, end);
    },
    _Uri__checkZoneID: function(host, start, end) {
      var index = C.JSString_methods.indexOf$2(host, "%", start);
      return index >= start && index < end ? index : end;
    },
    _Uri__normalizeZoneID: function(host, start, end, prefix) {
      var index, sectionStart, isNormalized, char, replacement, t1, t2, tail, sourceLength, slice,
        buffer = prefix !== "" ? new P.StringBuffer(prefix) : null;
      for (index = start, sectionStart = index, isNormalized = true; index < end;) {
        char = C.JSString_methods.codeUnitAt$1(host, index);
        if (char === 37) {
          replacement = P._Uri__normalizeEscape(host, index, true);
          t1 = replacement == null;
          if (t1 && isNormalized) {
            index += 3;
            continue;
          }
          if (buffer == null)
            buffer = new P.StringBuffer("");
          t2 = buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index);
          if (t1)
            replacement = C.JSString_methods.substring$2(host, index, index + 3);
          else if (replacement === "%") {
            P._Uri__fail(host, index, "ZoneID should not contain % anymore");
            H.ReachabilityError$(string$.x60null_t);
          }
          buffer._contents = t2 + replacement;
          index += 3;
          sectionStart = index;
          isNormalized = true;
        } else if (char < 127 && (C.List_nxB[char >>> 4] & 1 << (char & 15)) !== 0) {
          if (isNormalized && 65 <= char && 90 >= char) {
            if (buffer == null)
              buffer = new P.StringBuffer("");
            if (sectionStart < index) {
              buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index);
              sectionStart = index;
            }
            isNormalized = false;
          }
          ++index;
        } else {
          if ((char & 64512) === 55296 && index + 1 < end) {
            tail = C.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 = C.JSString_methods.substring$2(host, sectionStart, index);
          if (buffer == null) {
            buffer = new P.StringBuffer("");
            t1 = buffer;
          } else
            t1 = buffer;
          t1._contents += slice;
          t1._contents += P._Uri__escapeChar(char);
          index += sourceLength;
          sectionStart = index;
        }
      }
      if (buffer == null)
        return C.JSString_methods.substring$2(host, start, end);
      if (sectionStart < end)
        buffer._contents += C.JSString_methods.substring$2(host, sectionStart, end);
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _Uri__normalizeRegName: function(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 = C.JSString_methods.codeUnitAt$1(host, index);
        if (char === 37) {
          replacement = P._Uri__normalizeEscape(host, index, true);
          t1 = replacement == null;
          if (t1 && isNormalized) {
            index += 3;
            continue;
          }
          if (buffer == null)
            buffer = new P.StringBuffer("");
          slice = C.JSString_methods.substring$2(host, sectionStart, index);
          t2 = buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
          if (t1) {
            replacement = C.JSString_methods.substring$2(host, index, index + 3);
            sourceLength = 3;
          } else if (replacement === "%") {
            replacement = "%25";
            sourceLength = 1;
          } else
            sourceLength = 3;
          buffer._contents = t2 + replacement;
          index += sourceLength;
          sectionStart = index;
          isNormalized = true;
        } else if (char < 127 && (C.List_qNA[char >>> 4] & 1 << (char & 15)) !== 0) {
          if (isNormalized && 65 <= char && 90 >= char) {
            if (buffer == null)
              buffer = new P.StringBuffer("");
            if (sectionStart < index) {
              buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index);
              sectionStart = index;
            }
            isNormalized = false;
          }
          ++index;
        } else if (char <= 93 && (C.List_2Vk[char >>> 4] & 1 << (char & 15)) !== 0) {
          P._Uri__fail(host, index, "Invalid character");
          H.ReachabilityError$(string$.x60null_t);
        } else {
          if ((char & 64512) === 55296 && index + 1 < end) {
            tail = C.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 = C.JSString_methods.substring$2(host, sectionStart, index);
          if (!isNormalized)
            slice = slice.toLowerCase();
          if (buffer == null) {
            buffer = new P.StringBuffer("");
            t1 = buffer;
          } else
            t1 = buffer;
          t1._contents += slice;
          t1._contents += P._Uri__escapeChar(char);
          index += sourceLength;
          sectionStart = index;
        }
      }
      if (buffer == null)
        return C.JSString_methods.substring$2(host, start, end);
      if (sectionStart < end) {
        slice = C.JSString_methods.substring$2(host, sectionStart, end);
        buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
      }
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _Uri__makeScheme: function(scheme, start, end) {
      var i, containsUpperCase, codeUnit,
        _s67_ = string$.x60null_t;
      if (start === end)
        return "";
      if (!P._Uri__isAlphabeticCharacter(J._codeUnitAt$1$s(scheme, start))) {
        P._Uri__fail(scheme, start, "Scheme not starting with alphabetic character");
        H.ReachabilityError$(_s67_);
      }
      for (i = start, containsUpperCase = false; i < end; ++i) {
        codeUnit = C.JSString_methods._codeUnitAt$1(scheme, i);
        if (!(codeUnit < 128 && (C.List_JYB[codeUnit >>> 4] & 1 << (codeUnit & 15)) !== 0)) {
          P._Uri__fail(scheme, i, "Illegal scheme character");
          H.ReachabilityError$(_s67_);
        }
        if (65 <= codeUnit && codeUnit <= 90)
          containsUpperCase = true;
      }
      scheme = C.JSString_methods.substring$2(scheme, start, end);
      return P._Uri__canonicalizeScheme(containsUpperCase ? scheme.toLowerCase() : scheme);
    },
    _Uri__canonicalizeScheme: function(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: function(userInfo, start, end) {
      if (userInfo == null)
        return "";
      return P._Uri__normalizeOrSubstring(userInfo, start, end, C.List_gRj, false);
    },
    _Uri__makePath: function(path, start, end, pathSegments, scheme, hasAuthority) {
      var result,
        isFile = scheme === "file",
        ensureLeadingSlash = isFile || hasAuthority;
      if (path == null) {
        if (pathSegments == null)
          return isFile ? "/" : "";
        result = new H.MappedListIterable(pathSegments, new P._Uri__makePath_closure(), H._arrayInstanceType(pathSegments)._eval$1("MappedListIterable<1,String>")).join$1(0, "/");
      } else if (pathSegments != null)
        throw H.wrapException(P.ArgumentError$("Both path and pathSegments specified"));
      else
        result = P._Uri__normalizeOrSubstring(path, start, end, C.List_qg4, true);
      if (result.length === 0) {
        if (isFile)
          return "/";
      } else if (ensureLeadingSlash && !C.JSString_methods.startsWith$1(result, "/"))
        result = "/" + result;
      return P._Uri__normalizePath(result, scheme, hasAuthority);
    },
    _Uri__normalizePath: function(path, scheme, hasAuthority) {
      var t1 = scheme.length === 0;
      if (t1 && !hasAuthority && !C.JSString_methods.startsWith$1(path, "/"))
        return P._Uri__normalizeRelativePath(path, !t1 || hasAuthority);
      return P._Uri__removeDotSegments(path);
    },
    _Uri__makeQuery: function(query, start, end, queryParameters) {
      var result, t1 = {};
      if (query != null) {
        if (queryParameters != null)
          throw H.wrapException(P.ArgumentError$("Both query and queryParameters specified"));
        return P._Uri__normalizeOrSubstring(query, start, end, C.List_CVk, true);
      }
      if (queryParameters == null)
        return null;
      result = new P.StringBuffer("");
      t1.separator = "";
      queryParameters.forEach$1(0, new P._Uri__makeQuery_closure(new P._Uri__makeQuery_writeParameter(t1, result)));
      t1 = result._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _Uri__makeFragment: function(fragment, start, end) {
      if (fragment == null)
        return null;
      return P._Uri__normalizeOrSubstring(fragment, start, end, C.List_CVk, true);
    },
    _Uri__normalizeEscape: function(source, index, lowerCase) {
      var firstDigit, secondDigit, firstDigitValue, secondDigitValue, value,
        t1 = index + 2;
      if (t1 >= source.length)
        return "%";
      firstDigit = C.JSString_methods.codeUnitAt$1(source, index + 1);
      secondDigit = C.JSString_methods.codeUnitAt$1(source, t1);
      firstDigitValue = H.hexDigitValue(firstDigit);
      secondDigitValue = H.hexDigitValue(secondDigit);
      if (firstDigitValue < 0 || secondDigitValue < 0)
        return "%";
      value = firstDigitValue * 16 + secondDigitValue;
      if (value < 127 && (C.List_nxB[C.JSInt_methods._shrOtherPositive$1(value, 4)] & 1 << (value & 15)) !== 0)
        return H.Primitives_stringFromCharCode(lowerCase && 65 <= value && 90 >= value ? (value | 32) >>> 0 : value);
      if (firstDigit >= 97 || secondDigit >= 97)
        return C.JSString_methods.substring$2(source, index, index + 3).toUpperCase();
      return null;
    },
    _Uri__escapeChar: function(char) {
      var codeUnits, flag, encodedBytes, index, byte,
        _s16_ = "0123456789ABCDEF";
      if (char < 128) {
        codeUnits = new Uint8Array(3);
        codeUnits[0] = 37;
        codeUnits[1] = C.JSString_methods._codeUnitAt$1(_s16_, char >>> 4);
        codeUnits[2] = C.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 = C.JSInt_methods._shrReceiverPositive$1(char, 6 * encodedBytes) & 63 | flag;
          codeUnits[index] = 37;
          codeUnits[index + 1] = C.JSString_methods._codeUnitAt$1(_s16_, byte >>> 4);
          codeUnits[index + 2] = C.JSString_methods._codeUnitAt$1(_s16_, byte & 15);
          index += 3;
        }
      }
      return P.String_String$fromCharCodes(codeUnits, 0, null);
    },
    _Uri__normalizeOrSubstring: function(component, start, end, charTable, escapeDelimiters) {
      var t1 = P._Uri__normalize(component, start, end, charTable, escapeDelimiters);
      return t1 == null ? C.JSString_methods.substring$2(component, start, end) : t1;
    },
    _Uri__normalize: function(component, start, end, charTable, escapeDelimiters) {
      var t1, t2, index, sectionStart, buffer, char, replacement, sourceLength, t3, tail, _null = null;
      for (t1 = !escapeDelimiters, t2 = J.getInterceptor$s(component), index = start, sectionStart = index, buffer = _null; index < end;) {
        char = t2.codeUnitAt$1(component, index);
        if (char < 127 && (charTable[char >>> 4] & 1 << (char & 15)) !== 0)
          ++index;
        else {
          if (char === 37) {
            replacement = P._Uri__normalizeEscape(component, index, false);
            if (replacement == null) {
              index += 3;
              continue;
            }
            if ("%" === replacement) {
              replacement = "%25";
              sourceLength = 1;
            } else
              sourceLength = 3;
          } else if (t1 && char <= 93 && (C.List_2Vk[char >>> 4] & 1 << (char & 15)) !== 0) {
            P._Uri__fail(component, index, "Invalid character");
            H.ReachabilityError$(string$.x60null_t);
            sourceLength = _null;
            replacement = sourceLength;
          } else {
            if ((char & 64512) === 55296) {
              t3 = index + 1;
              if (t3 < end) {
                tail = C.JSString_methods.codeUnitAt$1(component, t3);
                if ((tail & 64512) === 56320) {
                  char = (char & 1023) << 10 | tail & 1023 | 65536;
                  sourceLength = 2;
                } else
                  sourceLength = 1;
              } else
                sourceLength = 1;
            } else
              sourceLength = 1;
            replacement = P._Uri__escapeChar(char);
          }
          if (buffer == null) {
            buffer = new P.StringBuffer("");
            t3 = buffer;
          } else
            t3 = buffer;
          t3._contents += C.JSString_methods.substring$2(component, sectionStart, index);
          t3._contents += H.S(replacement);
          index += sourceLength;
          sectionStart = index;
        }
      }
      if (buffer == null)
        return _null;
      if (sectionStart < end)
        buffer._contents += t2.substring$2(component, sectionStart, end);
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _Uri__mayContainDotSegments: function(path) {
      if (C.JSString_methods.startsWith$1(path, "."))
        return true;
      return C.JSString_methods.indexOf$1(path, "/.") !== -1;
    },
    _Uri__removeDotSegments: function(path) {
      var output, t1, t2, appendSlash, _i, segment;
      if (!P._Uri__mayContainDotSegments(path))
        return path;
      output = H._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 C.JSArray_methods.join$1(output, "/");
    },
    _Uri__normalizeRelativePath: function(path, allowScheme) {
      var output, t1, t2, appendSlash, _i, segment;
      if (!P._Uri__mayContainDotSegments(path))
        return !allowScheme ? P._Uri__escapeScheme(path) : path;
      output = H._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 && C.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 || C.JSArray_methods.get$last(output) === "..")
        output.push("");
      if (!allowScheme)
        output[0] = P._Uri__escapeScheme(output[0]);
      return C.JSArray_methods.join$1(output, "/");
    },
    _Uri__escapeScheme: function(path) {
      var i, char,
        t1 = path.length;
      if (t1 >= 2 && P._Uri__isAlphabeticCharacter(J._codeUnitAt$1$s(path, 0)))
        for (i = 1; i < t1; ++i) {
          char = C.JSString_methods._codeUnitAt$1(path, i);
          if (char === 58)
            return C.JSString_methods.substring$2(path, 0, i) + "%3A" + C.JSString_methods.substring$1(path, i + 1);
          if (char > 127 || (C.List_JYB[char >>> 4] & 1 << (char & 15)) === 0)
            break;
        }
      return path;
    },
    _Uri__packageNameEnd: function(uri, path) {
      if (uri.isScheme$1("package") && uri._host == null)
        return P._skipPackageNameChars(path, 0, path.length);
      return -1;
    },
    _Uri__toWindowsFilePath: function(uri) {
      var hasDriveLetter, t2, host,
        segments = uri.get$pathSegments(),
        t1 = J.getInterceptor$asx(segments);
      if (t1.get$length(segments) > 0 && J.get$length$asx(t1.$index(segments, 0)) === 2 && J.codeUnitAt$1$s(t1.$index(segments, 0), 1) === 58) {
        P._Uri__checkWindowsDriveLetter(J.codeUnitAt$1$s(t1.$index(segments, 0), 0), false);
        P._Uri__checkWindowsPathReservedCharacters(segments, false, 1);
        hasDriveLetter = true;
      } else {
        P._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 = P.StringBuffer__writeAll(t2, segments, "\\");
      t1 = hasDriveLetter && t1.get$length(segments) === 1 ? t2 + "\\" : t2;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _Uri__hexCharPairToByte: function(s, pos) {
      var byte, i, charCode;
      for (byte = 0, i = 0; i < 2; ++i) {
        charCode = C.JSString_methods._codeUnitAt$1(s, pos + i);
        if (48 <= charCode && charCode <= 57)
          byte = byte * 16 + charCode - 48;
        else {
          charCode |= 32;
          if (97 <= charCode && charCode <= 102)
            byte = byte * 16 + charCode - 87;
          else
            throw H.wrapException(P.ArgumentError$("Invalid URL encoding"));
        }
      }
      return byte;
    },
    _Uri__uriDecode: function(text, start, end, encoding, plusToSpace) {
      var simple, codeUnit, t2, bytes,
        t1 = J.getInterceptor$s(text),
        i = start;
      while (true) {
        if (!(i < end)) {
          simple = true;
          break;
        }
        codeUnit = t1._codeUnitAt$1(text, i);
        if (codeUnit <= 127)
          if (codeUnit !== 37)
            t2 = plusToSpace && codeUnit === 43;
          else
            t2 = true;
        else
          t2 = true;
        if (t2) {
          simple = false;
          break;
        }
        ++i;
      }
      if (simple) {
        if (C.Utf8Codec_false !== encoding)
          t2 = false;
        else
          t2 = true;
        if (t2)
          return t1.substring$2(text, start, end);
        else
          bytes = new H.CodeUnits(t1.substring$2(text, start, end));
      } else {
        bytes = H._setArrayType([], type$.JSArray_int);
        for (i = start; i < end; ++i) {
          codeUnit = t1._codeUnitAt$1(text, i);
          if (codeUnit > 127)
            throw H.wrapException(P.ArgumentError$("Illegal percent encoding in URI"));
          if (codeUnit === 37) {
            if (i + 3 > text.length)
              throw H.wrapException(P.ArgumentError$("Truncated URI"));
            bytes.push(P._Uri__hexCharPairToByte(text, i + 1));
            i += 2;
          } else if (plusToSpace && codeUnit === 43)
            bytes.push(32);
          else
            bytes.push(codeUnit);
        }
      }
      return encoding.decode$1(0, bytes);
    },
    _Uri__isAlphabeticCharacter: function(codeUnit) {
      var lowerCase = codeUnit | 32;
      return 97 <= lowerCase && lowerCase <= 122;
    },
    UriData__writeUri: function(mimeType, charsetName, parameters, buffer, indices) {
      var slashIndex, t1;
      if (true)
        buffer._contents = buffer._contents;
      else {
        slashIndex = P.UriData__validateMimeType("");
        if (slashIndex < 0)
          throw H.wrapException(P.ArgumentError$value("", "mimeType", "Invalid MIME type"));
        t1 = buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, C.JSString_methods.substring$2("", 0, slashIndex), C.Utf8Codec_false, false));
        buffer._contents = t1 + "/";
        buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, C.JSString_methods.substring$1("", slashIndex + 1), C.Utf8Codec_false, false));
      }
    },
    UriData__validateMimeType: function(mimeType) {
      var t1, slashIndex, i;
      for (t1 = mimeType.length, slashIndex = -1, i = 0; i < t1; ++i) {
        if (C.JSString_methods._codeUnitAt$1(mimeType, i) !== 47)
          continue;
        if (slashIndex < 0) {
          slashIndex = i;
          continue;
        }
        return -1;
      }
      return slashIndex;
    },
    UriData__parse: function(text, start, sourceUri) {
      var t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data,
        _s17_ = "Invalid MIME type",
        indices = H._setArrayType([start - 1], type$.JSArray_int);
      for (t1 = text.length, i = start, slashIndex = -1, char = null; i < t1; ++i) {
        char = C.JSString_methods._codeUnitAt$1(text, i);
        if (char === 44 || char === 59)
          break;
        if (char === 47) {
          if (slashIndex < 0) {
            slashIndex = i;
            continue;
          }
          throw H.wrapException(P.FormatException$(_s17_, text, i));
        }
      }
      if (slashIndex < 0 && i > start)
        throw H.wrapException(P.FormatException$(_s17_, text, i));
      for (; char !== 44;) {
        indices.push(i);
        ++i;
        for (equalsIndex = -1; i < t1; ++i) {
          char = C.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 = C.JSArray_methods.get$last(indices);
          if (char !== 44 || i !== lastSeparator + 7 || !C.JSString_methods.startsWith$2(text, "base64", lastSeparator + 1))
            throw H.wrapException(P.FormatException$("Expecting '='", text, i));
          break;
        }
      }
      indices.push(i);
      t2 = i + 1;
      if ((indices.length & 1) === 1)
        text = C.C_Base64Codec.normalize$3(0, text, t2, t1);
      else {
        data = P._Uri__normalize(text, t2, t1, C.List_CVk, true);
        if (data != null)
          text = C.JSString_methods.replaceRange$3(text, t2, t1, data);
      }
      return new P.UriData(text, indices, sourceUri);
    },
    UriData__uriEncodeBytes: function(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[C.JSInt_methods._shrOtherPositive$1(byte, 4)] & 1 << (byte & 15)) !== 0;
        t3 = buffer._contents;
        if (t2)
          buffer._contents = t3 + H.Primitives_stringFromCharCode(byte);
        else {
          t2 = t3 + H.Primitives_stringFromCharCode(37);
          buffer._contents = t2;
          t2 += H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(_s16_, C.JSInt_methods._shrOtherPositive$1(byte, 4)));
          buffer._contents = t2;
          buffer._contents = t2 + H.Primitives_stringFromCharCode(C.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 H.wrapException(P.ArgumentError$value(byte, "non-byte value", null));
        }
    },
    _createTables: function() {
      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 P._createTables_build(tables);
      t2 = new P._createTables_setChars();
      t3 = new P._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: function(uri, start, end, state, indices) {
      var t1, i, table, char, transition,
        tables = $.$get$_scannerTables();
      for (t1 = J.getInterceptor$s(uri), i = start; i < end; ++i) {
        table = tables[state];
        char = t1._codeUnitAt$1(uri, i) ^ 96;
        transition = table[char > 95 ? 31 : char];
        state = transition & 31;
        indices[transition >>> 5] = i;
      }
      return state;
    },
    _SimpleUri__packageNameEnd: function(uri) {
      if (uri._schemeEnd === 7 && C.JSString_methods.startsWith$1(uri._uri, "package") && uri._hostStart <= 0)
        return P._skipPackageNameChars(uri._uri, uri._pathStart, uri._queryStart);
      return -1;
    },
    _skipPackageNameChars: function(source, start, end) {
      var i, dots, char;
      for (i = start, dots = 0; i < end; ++i) {
        char = C.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;
    },
    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._core$_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;
    },
    Duration_toString_sixDigits: function Duration_toString_sixDigits() {
    },
    Duration_toString_twoDigits: function Duration_toString_twoDigits() {
    },
    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() {
    },
    Expando: function Expando(t0, t1) {
      this._jsWeakMap = t0;
      this.$ti = t1;
    },
    Iterable: function Iterable() {
    },
    _GeneratorIterable: function _GeneratorIterable(t0, t1, t2) {
      this.length = t0;
      this._generator = t1;
      this.$ti = t2;
    },
    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;
    },
    Runes: function Runes(t0) {
      this.string = t0;
    },
    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 = $;
    },
    _FakeUserTag__FakeUserTag: function(label) {
      var t1,
        existingTag = $._FakeUserTag__instances.$index(0, label);
      if (existingTag != null)
        return existingTag;
      if ($._FakeUserTag__instances.get$length($._FakeUserTag__instances) === 64)
        throw H.wrapException(P.UnsupportedError$("UserTag instance limit (64) reached."));
      t1 = new P._FakeUserTag(label);
      $._FakeUserTag__instances.$indexSet(0, label, t1);
      return t1;
    },
    ServiceExtensionResponse$result: function(result) {
      return new P.ServiceExtensionResponse();
    },
    ServiceExtensionResponse__validateErrorCode: function(errorCode) {
      if (errorCode === -32602)
        return;
      if (errorCode >= -32016 && errorCode <= -32000)
        return;
      throw H.wrapException(P.ArgumentError$value(errorCode, "errorCode", "Out of range"));
    },
    registerExtension: function(method, handler) {
      if (!C.JSString_methods.startsWith$1(method, "ext."))
        throw H.wrapException(P.ArgumentError$value(method, "method", "Must begin with ext."));
      if ($._extensions.$index(0, method) != null)
        throw H.wrapException(P.ArgumentError$("Extension already registered: " + method));
      $._extensions.$indexSet(0, method, handler);
    },
    postEvent: function(eventKind, eventData) {
      C.C_JsonCodec.encode$1(eventData);
    },
    Timeline_startSync: function($name, $arguments, flow) {
      $.Timeline__stack.push(null);
      return;
    },
    Timeline_finishSync: function() {
      var block, t1;
      if ($.Timeline__stack.length === 0)
        throw H.wrapException(P.StateError$("Uneven calls to startSync and finishSync"));
      block = $.Timeline__stack.pop();
      if (block == null)
        return;
      P._argumentsAsJson(block._developer$_arguments);
      t1 = block._flow;
      if (t1 != null) {
        H.S(t1.id);
        block._flow.toString;
        P._argumentsAsJson(null);
      }
    },
    Timeline_instantSync: function($name, $arguments) {
      return;
    },
    Timeline_timeSync: function($name, $function, flow) {
      var t1;
      P.Timeline_startSync($name, null, flow);
      try {
        t1 = $function.call$0();
        return t1;
      } finally {
        P.Timeline_finishSync();
      }
    },
    _argumentsAsJson: function($arguments) {
      if ($arguments == null || $arguments.get$length($arguments) === 0)
        return "{}";
      return C.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;
    },
    _AsyncBlock: function _AsyncBlock(t0, t1) {
      this.name = t0;
      this._taskId = t1;
    },
    convertNativeToDart_Dictionary: function(object) {
      var dict, keys, t1, _i, key;
      if (object == null)
        return null;
      dict = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      keys = Object.getOwnPropertyNames(object);
      for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
        key = keys[_i];
        dict.$indexSet(0, key, object[key]);
      }
      return dict;
    },
    _convertDartToNative_Value: function(value) {
      var array;
      if (value == null)
        return value;
      if (typeof value == "string" || typeof value == "number" || H._isBool(value))
        return value;
      if (type$.Map_dynamic_dynamic._is(value))
        return P.convertDartToNative_Dictionary(value);
      if (type$.List_dynamic._is(value)) {
        array = [];
        J.forEach$1$ax(value, new P._convertDartToNative_Value_closure(array));
        value = array;
      }
      return value;
    },
    convertDartToNative_Dictionary: function(dict) {
      var object;
      if (dict == null)
        return null;
      object = {};
      J.forEach$1$ax(dict, new P.convertDartToNative_Dictionary_closure(object));
      return object;
    },
    Device_userAgent: function() {
      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._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() {
    },
    _completeRequest: function(request, $T) {
      var t2,
        t1 = new P._Future($.Zone__current, $T._eval$1("_Future<0>")),
        completer = new P._SyncCompleter(t1, $T._eval$1("_SyncCompleter<0>"));
      request.toString;
      t2 = type$.legacy_Event;
      W._EventStreamSubscription$(request, "success", new P._completeRequest_closure(request, completer), false, t2);
      W._EventStreamSubscription$(request, "error", completer.get$completeError(), false, t2);
      return t1;
    },
    Database: function Database() {
    },
    _completeRequest_closure: function _completeRequest_closure(t0, t1) {
      this.request = t0;
      this.completer = t1;
    },
    Index: function Index() {
    },
    KeyRange: function KeyRange() {
    },
    ObjectStore: function ObjectStore() {
    },
    VersionChangeEvent: function VersionChangeEvent() {
    },
    _callDartFunction: function(callback, captureThis, $self, $arguments) {
      var arguments0, t1;
      if (captureThis) {
        arguments0 = [$self];
        C.JSArray_methods.addAll$1(arguments0, $arguments);
        $arguments = arguments0;
      }
      t1 = type$.dynamic;
      return P._convertToJS(P.Function_apply(callback, P.List_List$from(J.map$1$1$ax($arguments, P.js___convertToDart$closure(), t1), true, t1)));
    },
    JsObject_JsObject: function($constructor) {
      var t1 = P._wrapToDart(new (P._convertToJS($constructor))());
      return t1;
    },
    JsObject_JsObject$jsify: function(object) {
      return P._wrapToDart(P.JsObject__convertDataTree(object));
    },
    JsObject__convertDataTree: function(data) {
      return new P.JsObject__convertDataTree__convert(new P._IdentityHashMap(type$._IdentityHashMap_dynamic_dynamic)).call$1(data);
    },
    JsArray__checkRange: function(start, end, $length) {
      var _null = null;
      if (start < 0 || start > $length)
        throw H.wrapException(P.RangeError$range(start, 0, $length, _null, _null));
      if (end < start || end > $length)
        throw H.wrapException(P.RangeError$range(end, start, $length, _null, _null));
    },
    _castToJsObject: function(o) {
      return o;
    },
    _defineProperty: function(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) {
        H.unwrapException(exception);
      }
      return false;
    },
    _getOwnProperty: function(o, $name) {
      if (Object.prototype.hasOwnProperty.call(o, $name))
        return o[$name];
      return null;
    },
    _convertToJS: function(o) {
      if (o == null || typeof o == "string" || typeof o == "number" || H._isBool(o))
        return o;
      if (o instanceof P.JsObject)
        return o._js$_jsObject;
      if (H.isBrowserObject(o))
        return o;
      if (type$.TypedData._is(o))
        return o;
      if (o instanceof P.DateTime)
        return H.Primitives_lazyAsJsDate(o);
      if (type$.Function._is(o))
        return P._getJsProxy(o, "$dart_jsFunction", new P._convertToJS_closure());
      return P._getJsProxy(o, "_$dart_jsObject", new P._convertToJS_closure0($.$get$_dartProxyCtor()));
    },
    _getJsProxy: function(o, propertyName, createProxy) {
      var jsProxy = P._getOwnProperty(o, propertyName);
      if (jsProxy == null) {
        jsProxy = createProxy.call$1(o);
        P._defineProperty(o, propertyName, jsProxy);
      }
      return jsProxy;
    },
    _convertToDart: function(o) {
      if (o == null || typeof o == "string" || typeof o == "number" || typeof o == "boolean")
        return o;
      else if (o instanceof Object && H.isBrowserObject(o))
        return o;
      else if (o instanceof Object && type$.TypedData._is(o))
        return o;
      else if (o instanceof Date)
        return P.DateTime$fromMillisecondsSinceEpoch(o.getTime(), false);
      else if (o.constructor === $.$get$_dartProxyCtor())
        return o.o;
      else
        return P._wrapToDart(o);
    },
    _wrapToDart: function(o) {
      if (typeof o == "function")
        return P._getDartProxy(o, $.$get$DART_CLOSURE_PROPERTY_NAME(), new P._wrapToDart_closure());
      if (o instanceof Array)
        return P._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new P._wrapToDart_closure0());
      return P._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new P._wrapToDart_closure1());
    },
    _getDartProxy: function(o, propertyName, createProxy) {
      var dartProxy = P._getOwnProperty(o, propertyName);
      if (dartProxy == null || !(o instanceof Object)) {
        dartProxy = createProxy.call$1(o);
        P._defineProperty(o, propertyName, dartProxy);
      }
      return dartProxy;
    },
    _convertDartFunctionFast: function(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));
        };
      }(P._callDartFunctionFast, f);
      ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f;
      f.$dart_jsFunction = ret;
      return ret;
    },
    _callDartFunctionFast: function(callback, $arguments) {
      return P.Function_apply(callback, $arguments);
    },
    allowInterop: function(f) {
      if (typeof f == "function")
        return f;
      else
        return P._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() {
    },
    hasProperty: function(o, $name) {
      return $name in o;
    },
    callMethod: function(o, method, args) {
      return o[method].apply(o, args);
    },
    promiseToFuture: function(jsPromise, $T) {
      var t1 = new P._Future($.Zone__current, $T._eval$1("_Future<0>")),
        completer = new P._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>"));
      jsPromise.then(H.convertDartClosureToJS(new P.promiseToFuture_closure(completer), 1), H.convertDartClosureToJS(new P.promiseToFuture_closure0(completer), 1));
      return t1;
    },
    NullRejectionException: function NullRejectionException(t0) {
      this.isUndefined = t0;
    },
    promiseToFuture_closure: function promiseToFuture_closure(t0) {
      this.completer = t0;
    },
    promiseToFuture_closure0: function promiseToFuture_closure0(t0) {
      this.completer = t0;
    },
    max0: function(a, b) {
      return Math.max(H.checkNum(a), H.checkNum(b));
    },
    sqrt: function(x) {
      return Math.sqrt(x);
    },
    log0: function(x) {
      return Math.log(H.checkNum(x));
    },
    pow: function(x, exponent) {
      H.checkNum(exponent);
      return Math.pow(x, exponent);
    },
    _JSRandom: function _JSRandom() {
    },
    _JSSecureRandom: function _JSSecureRandom(t0) {
      this._math$_buffer = t0;
    },
    Point: function Point(t0, t1, t2) {
      this.x = t0;
      this.y = t1;
      this.$ti = t2;
    },
    FEColorMatrixElement: function FEColorMatrixElement() {
    },
    Length: function Length() {
    },
    LengthList: function LengthList() {
    },
    Number: function Number() {
    },
    NumberList: function NumberList() {
    },
    PointList: function PointList() {
    },
    Rect0: function Rect0() {
    },
    ScriptElement0: function ScriptElement0() {
    },
    StringList: function StringList() {
    },
    SvgElement: function SvgElement() {
    },
    Transform0: function Transform0() {
    },
    TransformList: function TransformList() {
    },
    _LengthList_Interceptor_ListMixin: function _LengthList_Interceptor_ListMixin() {
    },
    _LengthList_Interceptor_ListMixin_ImmutableListMixin: function _LengthList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _NumberList_Interceptor_ListMixin: function _NumberList_Interceptor_ListMixin() {
    },
    _NumberList_Interceptor_ListMixin_ImmutableListMixin: function _NumberList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _StringList_Interceptor_ListMixin: function _StringList_Interceptor_ListMixin() {
    },
    _StringList_Interceptor_ListMixin_ImmutableListMixin: function _StringList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _TransformList_Interceptor_ListMixin: function _TransformList_Interceptor_ListMixin() {
    },
    _TransformList_Interceptor_ListMixin_ImmutableListMixin: function _TransformList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    Uint64List_Uint64List: function($length) {
      throw H.wrapException(P.UnsupportedError$("Uint64List not supported on the web."));
    },
    ByteData_ByteData$view: function(buffer, offsetInBytes, $length) {
      return J.asByteData$2$x(buffer, offsetInBytes, $length);
    },
    Int8List_Int8List$view: function(buffer) {
      var t1;
      H._checkViewArguments(buffer, 0, null);
      t1 = new Int8Array(buffer, 0);
      return t1;
    },
    Int16List_Int16List$view: function(buffer) {
      var t1, $length;
      H._checkViewArguments(buffer, 0, null);
      t1 = buffer.byteLength;
      $length = C.JSInt_methods._tdivFast$1(t1 - 0, 2);
      return new Int16Array(buffer, 0, $length);
    },
    Int32List_Int32List$view: function(buffer) {
      return H.NativeInt32List_NativeInt32List$view(buffer, 0, null);
    },
    Uint32List_Uint32List$view: function(buffer, offsetInBytes) {
      return J.asUint32List$2$x(buffer, offsetInBytes, null);
    },
    Float32List_Float32List$view: function(buffer) {
      return H.NativeFloat32List_NativeFloat32List$view(buffer, 0, null);
    },
    Float64List_Float64List$view: function(buffer) {
      return H.NativeFloat64List_NativeFloat64List$view(buffer, 0, null);
    },
    Endian: function Endian() {
    },
    PictureRecorder_PictureRecorder: function() {
      var t1 = H._detectRenderer();
      if (t1)
        return new H.CkPictureRecorder();
      else
        return new H.EnginePictureRecorder();
    },
    Canvas_Canvas: function(recorder, cullRect) {
      var _s62_ = '"recorder" must not already be associated with another Canvas.',
        t1 = H._detectRenderer();
      if (t1) {
        if (recorder.get$isRecording())
          H.throwExpression(P.ArgumentError$(_s62_));
        if (cullRect == null)
          cullRect = C.Rect_aha;
        return new H.CanvasKitCanvas(type$.CkPictureRecorder._as(recorder).beginRecording$1(0, cullRect));
      } else {
        type$.EnginePictureRecorder._as(recorder);
        if (recorder._isRecording)
          H.throwExpression(P.ArgumentError$(_s62_));
        return new H.SurfaceCanvas(recorder.beginRecording$1(0, cullRect == null ? C.Rect_aha : cullRect));
      }
    },
    SceneBuilder_SceneBuilder: function() {
      var t2, t3,
        t1 = H._detectRenderer();
      if (t1) {
        t1 = new H.RootLayer(H._setArrayType([], type$.JSArray_Layer), C.Rect_0_0_0_0);
        t2 = new H.LayerSceneBuilder(t1);
        t2.__LayerSceneBuilder_currentLayer = t1;
        return t2;
      } else {
        t1 = H._setArrayType([], type$.JSArray_PersistedContainerSurface);
        t2 = $.SurfaceSceneBuilder__lastFrameScene;
        t3 = H._setArrayType([], type$.JSArray_PersistedSurface);
        t2 = t2 != null && t2.__engine$_state === C.PersistedSurfaceState_1 ? t2 : null;
        t2 = new H.FrameReference(t2, type$.FrameReference_PersistedSurface);
        $.frameReferences.push(t2);
        t2 = new H.PersistedScene(t3, t2, C.PersistedSurfaceState_0);
        t2.__engine$_transform = H.Matrix4$identity();
        t1.push(t2);
        return new H.SurfaceSceneBuilder(t1);
      }
    },
    Offset_lerp: function(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 P.Offset(P._lerpDouble(a._dx, b._dx, t), P._lerpDouble(a._dy, b._dy, t));
    },
    Size_lerp: function(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 P.Size(P._lerpDouble(a._dx, b._dx, t), P._lerpDouble(a._dy, b._dy, t));
    },
    Rect$fromCircle: function(center, radius) {
      var t1 = center._dx,
        t2 = radius * 2 / 2,
        t3 = center._dy;
      return new P.Rect(t1 - t2, t3 - t2, t1 + t2, t3 + t2);
    },
    Rect$fromCenter: function(center, height, width) {
      var t1 = center._dx,
        t2 = width / 2,
        t3 = center._dy,
        t4 = height / 2;
      return new P.Rect(t1 - t2, t3 - t4, t1 + t2, t3 + t4);
    },
    Rect$fromPoints: function(a, b) {
      var t1 = a._dx,
        t2 = b._dx,
        t3 = Math.min(H.checkNum(t1), H.checkNum(t2)),
        t4 = a._dy,
        t5 = b._dy;
      return new P.Rect(t3, Math.min(H.checkNum(t4), H.checkNum(t5)), Math.max(H.checkNum(t1), H.checkNum(t2)), Math.max(H.checkNum(t4), H.checkNum(t5)));
    },
    Rect_lerp: function(a, b, t) {
      var k, t1, t2, t3, t4;
      if (b == null)
        if (a == null)
          return null;
        else {
          k = 1 - t;
          return new P.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 P.Rect(t1 * t, t2 * t, t3 * t, t4 * t);
        else
          return new P.Rect(P._lerpDouble(a.left, t1, t), P._lerpDouble(a.top, t2, t), P._lerpDouble(a.right, t3, t), P._lerpDouble(a.bottom, t4, t));
      }
    },
    Radius_lerp: function(a, b, t) {
      var k, t1, t2;
      if (b == null)
        if (a == null)
          return null;
        else {
          k = 1 - t;
          return new P.Radius(a.x * k, a.y * k);
        }
      else {
        t1 = b.x;
        t2 = b.y;
        if (a == null)
          return new P.Radius(t1 * t, t2 * t);
        else
          return new P.Radius(P._lerpDouble(a.x, t1, t), P._lerpDouble(a.y, t2, t));
      }
    },
    RRect$fromRectAndRadius: function(rect, radius) {
      var t1 = radius.x,
        t2 = radius.y,
        t3 = rect.bottom,
        t4 = rect.left,
        t5 = rect.right;
      return new P.RRect(t4, rect.top, t5, t3, t1, t2, t1, t2, t1, t2, t1, t2, t1 === t2);
    },
    RRect$fromRectAndCorners: function(rect, bottomLeft, bottomRight, topLeft, topRight) {
      var t1 = bottomLeft.x,
        t2 = bottomLeft.y,
        t3 = rect.bottom,
        t4 = bottomRight.x,
        t5 = bottomRight.y,
        t6 = rect.left,
        t7 = rect.right,
        t8 = topLeft.x,
        t9 = topLeft.y,
        t10 = rect.top,
        t11 = topRight.x,
        t12 = topRight.y;
      return new P.RRect(t6, t10, t7, t3, t8, t9, t11, t12, t4, t5, t1, t2, t8 === t9 && t8 === t11 && t8 === t12 && t8 === t1 && t8 === t2 && t8 === t4 && t8 === t5);
    },
    _Jenkins_combine: function(hash, o) {
      hash = hash + J.get$hashCode$(o) & 536870911;
      hash = hash + ((hash & 524287) << 10) & 536870911;
      return hash ^ hash >>> 6;
    },
    _Jenkins_finish: function(hash) {
      hash = hash + ((hash & 67108863) << 3) & 536870911;
      hash ^= hash >>> 11;
      return hash + ((hash & 16383) << 15) & 536870911;
    },
    hashValues: function(arg01, arg02, arg03, arg04, arg05, arg06, arg07, arg08, arg09, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20) {
      var result = P._Jenkins_combine(P._Jenkins_combine(0, arg01), arg02);
      if (!J.$eq$(arg03, C.C__HashEnd)) {
        result = P._Jenkins_combine(result, arg03);
        if (!J.$eq$(arg04, C.C__HashEnd)) {
          result = P._Jenkins_combine(result, arg04);
          if (!J.$eq$(arg05, C.C__HashEnd)) {
            result = P._Jenkins_combine(result, arg05);
            if (!J.$eq$(arg06, C.C__HashEnd)) {
              result = P._Jenkins_combine(result, arg06);
              if (!J.$eq$(arg07, C.C__HashEnd)) {
                result = P._Jenkins_combine(result, arg07);
                if (!J.$eq$(arg08, C.C__HashEnd)) {
                  result = P._Jenkins_combine(result, arg08);
                  if (!J.$eq$(arg09, C.C__HashEnd)) {
                    result = P._Jenkins_combine(result, arg09);
                    if (!J.$eq$(arg10, C.C__HashEnd)) {
                      result = P._Jenkins_combine(result, arg10);
                      if (!J.$eq$(arg11, C.C__HashEnd)) {
                        result = P._Jenkins_combine(result, arg11);
                        if (!J.$eq$(arg12, C.C__HashEnd)) {
                          result = P._Jenkins_combine(result, arg12);
                          if (!J.$eq$(arg13, C.C__HashEnd)) {
                            result = P._Jenkins_combine(result, arg13);
                            if (!J.$eq$(arg14, C.C__HashEnd)) {
                              result = P._Jenkins_combine(result, arg14);
                              if (!J.$eq$(arg15, C.C__HashEnd)) {
                                result = P._Jenkins_combine(result, arg15);
                                if (!J.$eq$(arg16, C.C__HashEnd)) {
                                  result = P._Jenkins_combine(result, arg16);
                                  if (!J.$eq$(arg17, C.C__HashEnd)) {
                                    result = P._Jenkins_combine(result, arg17);
                                    if (!J.$eq$(arg18, C.C__HashEnd)) {
                                      result = P._Jenkins_combine(result, arg18);
                                      if (!J.$eq$(arg19, C.C__HashEnd)) {
                                        result = P._Jenkins_combine(result, arg19);
                                        if (!J.$eq$(arg20, C.C__HashEnd))
                                          result = P._Jenkins_combine(result, arg20);
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      return P._Jenkins_finish(result);
    },
    hashList: function($arguments) {
      var t1, result;
      if ($arguments != null)
        for (t1 = J.get$iterator$ax($arguments), result = 0; t1.moveNext$0();)
          result = P._Jenkins_combine(result, t1.get$current(t1));
      else
        result = 0;
      return P._Jenkins_finish(result);
    },
    webOnlyInitializePlatform: function() {
      var initializationFuture = P._initializePlatform(null);
      P.scheduleMicrotask(new P.webOnlyInitializePlatform_closure());
      return initializationFuture;
    },
    _initializePlatform: function(assetManager) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        t1;
      var $async$_initializePlatform = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              H.initializeEngine();
              t1 = H._detectRenderer();
              $async$goto = t1 ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return P._asyncAwait(H.initializeCanvasKit(), $async$_initializePlatform);
            case 4:
              // returning from await.
            case 3:
              // join
              $async$goto = 5;
              return P._asyncAwait(P.webOnlySetAssetManager(C.C_AssetManager), $async$_initializePlatform);
            case 5:
              // returning from await.
              t1 = H._detectRenderer();
              $async$goto = t1 ? 6 : 8;
              break;
            case 6:
              // then
              $async$goto = 9;
              return P._asyncAwait($._skiaFontCollection.ensureFontsLoaded$0(), $async$_initializePlatform);
            case 9:
              // returning from await.
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              $async$goto = 10;
              return P._asyncAwait($._fontCollection.ensureFontsLoaded$0(), $async$_initializePlatform);
            case 10:
              // returning from await.
            case 7:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_initializePlatform, $async$completer);
    },
    webOnlySetAssetManager: function(assetManager) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, t1, t2;
      var $async$webOnlySetAssetManager = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (assetManager === $._assetManager) {
                // goto return
                $async$goto = 1;
                break;
              }
              $._assetManager = assetManager;
              t1 = H._detectRenderer();
              if (t1) {
                if ($._skiaFontCollection == null)
                  $._skiaFontCollection = new H.SkiaFontCollection(H._setArrayType([], type$.JSArray_Future_nullable_RegisteredFont), H._setArrayType([], type$.JSArray_RegisteredFont), P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.List_SkTypeface));
              } else {
                t1 = $._fontCollection;
                if (t1 == null)
                  t1 = $._fontCollection = new H.FontCollection();
                t1._testFontManager = t1._assetFontManager = null;
                if ($.$get$supportsFontsClearApi())
                  document.fonts.clear();
              }
              $async$goto = $._assetManager != null ? 3 : 4;
              break;
            case 3:
              // then
              t1 = H._detectRenderer();
              t2 = $._assetManager;
              $async$goto = t1 ? 5 : 7;
              break;
            case 5:
              // then
              t1 = $._skiaFontCollection;
              t1.toString;
              t2.toString;
              $async$goto = 8;
              return P._asyncAwait(t1.registerFonts$1(t2), $async$webOnlySetAssetManager);
            case 8:
              // returning from await.
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              t1 = $._fontCollection;
              t1.toString;
              t2.toString;
              $async$goto = 9;
              return P._asyncAwait(t1.registerFonts$1(t2), $async$webOnlySetAssetManager);
            case 9:
              // returning from await.
            case 6:
              // join
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$webOnlySetAssetManager, $async$completer);
    },
    KeyData__typeToString: function(type) {
      switch (type) {
        case C.KeyEventType_1:
          return "up";
        case C.KeyEventType_0:
          return "down";
        case C.KeyEventType_2:
          return "repeat";
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    lerpDouble: function(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: function(a, b, t) {
      return a * (1 - t) + b * t;
    },
    _lerpInt: function(a, b, t) {
      return a * (1 - t) + b * t;
    },
    _scaleAlpha: function(a, factor) {
      return P.Color$fromARGB(H.clampInt(C.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: function(a, r, g, b) {
      return new P.Color(((a & 255) << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255) >>> 0);
    },
    Color$fromRGBO: function(r, g, b, opacity) {
      return new P.Color(((C.JSNumber_methods._tdivFast$1(opacity * 255, 1) & 255) << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255) >>> 0);
    },
    Color__linearizeColorComponent: function(component) {
      if (component <= 0.03928)
        return component / 12.92;
      return Math.pow((component + 0.055) / 1.055, 2.4);
    },
    Color_lerp: function(a, b, t) {
      if (b == null)
        if (a == null)
          return null;
        else
          return P._scaleAlpha(a, 1 - t);
      else if (a == null)
        return P._scaleAlpha(b, t);
      else
        return P.Color$fromARGB(H.clampInt(C.JSNumber_methods.toInt$0(P._lerpInt(a.get$value(a) >>> 24 & 255, b.get$value(b) >>> 24 & 255, t)), 0, 255), H.clampInt(C.JSNumber_methods.toInt$0(P._lerpInt(a.get$value(a) >>> 16 & 255, b.get$value(b) >>> 16 & 255, t)), 0, 255), H.clampInt(C.JSNumber_methods.toInt$0(P._lerpInt(a.get$value(a) >>> 8 & 255, b.get$value(b) >>> 8 & 255, t)), 0, 255), H.clampInt(C.JSNumber_methods.toInt$0(P._lerpInt(a.get$value(a) & 255, b.get$value(b) & 255, t)), 0, 255));
    },
    Color_alphaBlend: function(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 P.Color$fromARGB(255, C.JSInt_methods._tdivFast$1(alpha * (foreground.get$value(foreground) >>> 16 & 255) + invAlpha * (background.get$value(background) >>> 16 & 255), 255), C.JSInt_methods._tdivFast$1(alpha * (foreground.get$value(foreground) >>> 8 & 255) + invAlpha * (background.get$value(background) >>> 8 & 255), 255), C.JSInt_methods._tdivFast$1(alpha * (foreground.get$value(foreground) & 255) + invAlpha * (background.get$value(background) & 255), 255));
      else {
        backAlpha = C.JSInt_methods._tdivFast$1(backAlpha * invAlpha, 255);
        outAlpha = alpha + backAlpha;
        return P.Color$fromARGB(outAlpha, C.JSInt_methods.$tdiv((foreground.get$value(foreground) >>> 16 & 255) * alpha + (background.get$value(background) >>> 16 & 255) * backAlpha, outAlpha), C.JSInt_methods.$tdiv((foreground.get$value(foreground) >>> 8 & 255) * alpha + (background.get$value(background) >>> 8 & 255) * backAlpha, outAlpha), C.JSInt_methods.$tdiv((foreground.get$value(foreground) & 255) * alpha + (background.get$value(background) & 255) * backAlpha, outAlpha));
      }
    },
    Paint_Paint: function() {
      var t1 = H._detectRenderer();
      return t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
    },
    Gradient_Gradient$linear: function(from, to, colors, colorStops, tileMode, matrix4) {
      var t1 = H._detectRenderer();
      if (t1) {
        t1 = new H.CkGradientLinear(from, to, colors, colorStops, tileMode, null);
        t1.ManagedSkiaObject$1(null);
      } else
        t1 = new H.GradientLinear(from, to, colors, colorStops, tileMode, null);
      return t1;
    },
    instantiateImageCodec: function(list, allowUpscaling, targetHeight, targetWidth) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Codec),
        $async$returnValue, t1;
      var $async$instantiateImageCodec = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = H._detectRenderer();
              if (t1) {
                t1 = new H.CkAnimatedImage("encoded image bytes", list);
                t1.ManagedSkiaObject$1(null);
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = new H.HtmlBlobCodec((self.URL || self.webkitURL).createObjectURL(W.Blob_Blob([J.get$buffer$x(list)])));
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$instantiateImageCodec, $async$completer);
    },
    Shadow_convertRadiusToSigma: function(radius) {
      return radius > 0 ? radius * 0.57735 + 0.5 : 0;
    },
    Path_Path: function() {
      var t1 = H._detectRenderer();
      if (t1) {
        t1 = new H.CkPath(C.PathFillType_0);
        t1.ManagedSkiaObject$1(null);
        return t1;
      } else
        return H.SurfacePath$();
    },
    PlatformConfiguration$: function(accessibilityFeatures, alwaysUse24HourFormat, defaultRouteName, locales, platformBrightness, semanticsEnabled, textScaleFactor) {
      return new P.PlatformConfiguration(accessibilityFeatures, false, semanticsEnabled, platformBrightness, textScaleFactor, locales, defaultRouteName);
    },
    ViewConfiguration$: function() {
      return new P.ViewConfiguration();
    },
    PointerData$: function(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 P.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: function(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 = P.lerpDouble(t1, t2 == null ? 3 : t2, t);
      t1.toString;
      return C.List_27p[H.clampInt(C.JSNumber_methods.round$0(t1), 0, 8)];
    },
    TextStyle_TextStyle: function(background, color, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontWeight, foreground, height, leadingDistribution, letterSpacing, locale, shadows, textBaseline, wordSpacing) {
      var t1 = H._detectRenderer();
      if (t1) {
        t1 = type$.nullable_CkPaint;
        return H.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 H.EngineTextStyle$only(background, color, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontWeight, foreground, height, letterSpacing, locale, shadows, textBaseline, wordSpacing);
    },
    ParagraphStyle_ParagraphStyle: function(ellipsis, fontFamily, fontSize, fontStyle, fontWeight, height, locale, maxLines, strutStyle, textAlign, textDirection, textHeightBehavior) {
      var properties, t2, t3, skStrutStyle, t4, effectiveLeadingDistribution, skTextStyle, _null = null,
        t1 = H._detectRenderer();
      if (t1) {
        properties = H.SkParagraphStyleProperties$(_null);
        if (textAlign != null)
          properties.textAlign = $.$get$_skTextAligns()[textAlign.index];
        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)
          properties.textHeightBehavior = $.$get$_skTextHeightBehaviors()[0];
        if (ellipsis != null)
          properties.ellipsis = ellipsis;
        if (strutStyle != null) {
          type$.CkStrutStyle._as(strutStyle);
          skStrutStyle = H.SkStrutStyleProperties$(_null);
          skStrutStyle.fontFamilies = H._getEffectiveFontFamilies(strutStyle._fontFamily, strutStyle._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 C.TextLeadingDistribution_1:
              skStrutStyle.halfLeading = true;
              break;
            case C.TextLeadingDistribution_0:
              skStrutStyle.halfLeading = false;
              break;
            default:
              H.throwExpression(H.ReachabilityError$(string$.x60null_c));
          }
          t4 = strutStyle._fontWeight;
          if (t4 != null || strutStyle._fontStyle != null)
            skStrutStyle.fontStyle = H.toSkFontStyle(t4, strutStyle._fontStyle);
          t4 = strutStyle._forceStrutHeight;
          if (t4 != null)
            skStrutStyle.forceStrutHeight = t4;
          skStrutStyle.strutEnabled = true;
          properties.strutStyle = skStrutStyle;
        }
        skTextStyle = H.SkTextStyleProperties$(_null);
        if (fontWeight != null || fontStyle != null)
          skTextStyle.fontStyle = H.toSkFontStyle(fontWeight, fontStyle);
        if (fontSize != null)
          skTextStyle.fontSize = fontSize;
        if (t2)
          skTextStyle.heightMultiplier = height;
        skTextStyle.fontFamilies = H._getEffectiveFontFamilies(fontFamily, _null);
        properties.textStyle = skTextStyle;
        t2 = J.ParagraphStyle$1$x($.canvasKit._readField$0(), properties);
        t1 = t1 ? C.TextDirection_1 : textDirection;
        return new H.CkParagraphStyle(t2, t1, fontFamily, fontSize, height, fontWeight, fontStyle, t3 ? _null : textHeightBehavior.leadingDistribution);
      } else
        return new H.EngineParagraphStyle(textAlign, textDirection, fontWeight, fontStyle, maxLines, fontFamily, fontSize, height, textHeightBehavior, type$.nullable_EngineStrutStyle._as(strutStyle), ellipsis, locale);
    },
    StrutStyle_StrutStyle: function(fontFamily, fontFamilyFallback, fontSize, fontStyle, fontWeight, forceStrutHeight, height, leading) {
      var t1 = H._detectRenderer();
      if (t1)
        return new H.CkStrutStyle(fontFamily, fontFamilyFallback, fontSize, height, leading, fontWeight, fontStyle, forceStrutHeight, null);
      else
        return new H.EngineStrutStyle(fontFamily, fontFamilyFallback, fontSize, height, leading, fontWeight, fontStyle, forceStrutHeight, null);
    },
    ParagraphBuilder_ParagraphBuilder: function(style) {
      var t2, t3, strutFontFamilies, t4, cssStyle,
        t1 = H._detectRenderer();
      if (t1)
        return H.CkParagraphBuilder$(style);
      else {
        t1 = type$.EngineParagraphStyle;
        t2 = type$.JSArray_double;
        if ($.WebExperiments_instance._useCanvasRichText) {
          t1._as(style);
          return new H.CanvasParagraphBuilder(new P.StringBuffer(""), style, H._setArrayType([], type$.JSArray_ParagraphSpan), H._setArrayType([], type$.JSArray_StyleNode), new H.RootStyleNode(style), H._setArrayType([], t2));
        } else {
          t1._as(style);
          t1 = type$.HtmlElement._as($.$get$domRenderer().createElement$1(0, "p"));
          t2 = H._setArrayType([], t2);
          t3 = style._strutStyle;
          if (t3 != null) {
            strutFontFamilies = H._setArrayType([], type$.JSArray_nullable_String);
            t4 = t3._fontFamily;
            if (t4 != null)
              strutFontFamilies.push(t4);
            t3 = t3._fontFamilyFallback;
            if (t3 != null)
              C.JSArray_methods.addAll$1(strutFontFamilies, t3);
          }
          cssStyle = t1.style;
          t3 = style._textAlign;
          if (t3 != null) {
            t4 = style.__engine$_textDirection;
            t3 = H.textAlignToCssValue(t3, t4 == null ? C.TextDirection_1 : t4);
            cssStyle.textAlign = t3;
          }
          if (style.get$_lineHeight(style) != null) {
            t3 = H.S(style.get$_lineHeight(style));
            cssStyle.lineHeight = t3;
          }
          t3 = style.__engine$_textDirection;
          if (t3 != null) {
            t3 = H._textDirectionToCss(t3);
            cssStyle.toString;
            cssStyle.direction = t3 == null ? "" : t3;
          }
          t3 = style._fontSize;
          if (t3 != null) {
            t3 = "" + C.JSNumber_methods.floor$0(t3) + "px";
            cssStyle.fontSize = t3;
          }
          t3 = style._fontWeight;
          if (t3 != null) {
            t3 = H.fontWeightToCss(t3);
            cssStyle.toString;
            cssStyle.fontWeight = t3 == null ? "" : t3;
          }
          t3 = style._fontStyle;
          if (t3 != null) {
            t3 = t3 === C.FontStyle_0 ? "normal" : "italic";
            cssStyle.fontStyle = t3;
          }
          t3 = H.canonicalizeFontFamily(style.get$_effectiveFontFamily());
          cssStyle.toString;
          cssStyle.fontFamily = t3 == null ? "" : t3;
          return new H.DomParagraphBuilder(t1, style, [], t2);
        }
      }
    },
    PluginUtilities_getCallbackHandle: function(callback) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    PluginUtilities_getCallbackFromHandle: function(handle) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    ClipOp: function ClipOp(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    PathFillType: function PathFillType(t0, t1) {
      this.index = t0;
      this._ui$_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;
      _._ui$_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;
    },
    _HashEnd: function _HashEnd() {
    },
    webOnlyInitializePlatform_closure: function webOnlyInitializePlatform_closure() {
    },
    KeyEventType: function KeyEventType(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    KeyData: function KeyData(t0, t1, t2, t3) {
      var _ = this;
      _.type = t0;
      _.physical = t1;
      _.logical = t2;
      _.character = t3;
    },
    Color: function Color(t0) {
      this.value = t0;
    },
    StrokeCap: function StrokeCap(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    StrokeJoin: function StrokeJoin(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    PaintingStyle: function PaintingStyle(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    BlendMode: function BlendMode(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    Clip: function Clip(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    BlurStyle: function BlurStyle(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    MaskFilter: function MaskFilter(t0, t1) {
      this._ui$_style = t0;
      this._sigma = t1;
    },
    FilterQuality: function FilterQuality(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    ImageByteFormat: function ImageByteFormat(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    Shadow: function Shadow() {
    },
    PlatformDispatcher: function PlatformDispatcher() {
    },
    PlatformConfiguration: function PlatformConfiguration(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.accessibilityFeatures = t0;
      _.alwaysUse24HourFormat = t1;
      _.semanticsEnabled = t2;
      _.platformBrightness = t3;
      _.textScaleFactor = t4;
      _.locales = t5;
      _.defaultRouteName = t6;
    },
    ViewConfiguration: function ViewConfiguration() {
    },
    FrameTiming: function FrameTiming(t0) {
      this._timestamps = t0;
    },
    AppLifecycleState: function AppLifecycleState(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    Locale: function Locale(t0, t1) {
      this._languageCode = t0;
      this._countryCode = t1;
    },
    PointerChange: function PointerChange(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    PointerDeviceKind: function PointerDeviceKind(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    PointerSignalKind: function PointerSignalKind(t0, t1) {
      this.index = t0;
      this._ui$_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._ui$_name = t1;
    },
    PlaceholderAlignment: function PlaceholderAlignment(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    FontWeight: function FontWeight(t0) {
      this.index = t0;
    },
    TextAlign: function TextAlign(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    TextBaseline: function TextBaseline(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    TextDecoration: function TextDecoration(t0) {
      this._mask = t0;
    },
    TextDecorationStyle: function TextDecorationStyle(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    TextLeadingDistribution: function TextLeadingDistribution(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    TextDirection: function TextDirection(t0, t1) {
      this.index = t0;
      this._ui$_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._ui$_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._ui$_name = t1;
    },
    BoxWidthStyle: function BoxWidthStyle() {
    },
    TileMode: function TileMode(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    FlutterView: function FlutterView() {
    },
    FlutterWindow: function FlutterWindow() {
    },
    SingletonFlutterWindow: function SingletonFlutterWindow() {
    },
    AccessibilityFeatures: function AccessibilityFeatures() {
    },
    Brightness: function Brightness(t0, t1) {
      this.index = t0;
      this._ui$_name = t1;
    },
    CallbackHandle: function CallbackHandle(t0) {
      this._ui$_handle = t0;
    },
    PlatformViewRegistry: function PlatformViewRegistry() {
    },
    AudioBuffer: function AudioBuffer() {
    },
    AudioBufferSourceNode: function AudioBufferSourceNode() {
    },
    AudioNode: function AudioNode() {
    },
    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;
    },
    AudioScheduledSourceNode: function AudioScheduledSourceNode() {
    },
    AudioTrack: function AudioTrack() {
    },
    AudioTrackList: function AudioTrackList() {
    },
    BaseAudioContext: function BaseAudioContext() {
    },
    OfflineAudioContext: function OfflineAudioContext() {
    },
    _AudioParamMap_Interceptor_MapMixin: function _AudioParamMap_Interceptor_MapMixin() {
    },
    ActiveInfo: function ActiveInfo() {
    },
    SqlDatabase: function SqlDatabase() {
    },
    SqlError: function SqlError() {
    },
    SqlResultSetRowList: function SqlResultSetRowList() {
    },
    _SqlResultSetRowList_Interceptor_ListMixin: function _SqlResultSetRowList_Interceptor_ListMixin() {
    },
    _SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin: function _SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin() {
    }
  },
  Q = {
    OutputStream$: function(size) {
      return new Q.OutputStream(new Uint8Array(32768));
    },
    OutputStreamBase: function OutputStreamBase() {
    },
    OutputStream: function OutputStream(t0) {
      this._output_stream$_length = 0;
      this._output_stream$_buffer = t0;
    },
    QueueList__computeInitialCapacity: function(initialCapacity) {
      return 8;
    },
    QueueList__nextPowerOf2: function(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() {
    },
    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;
    },
    NetworkController: function NetworkController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _._network_controller$_filterArgs = t0;
      _._requests = t1;
      _._selectedRequest = t2;
      _._recordingNotifier = t3;
      _._timelineMicrosOffset = _._networkService = null;
      _.lastRefreshMicros = 0;
      _._pollingTimer = null;
      _.FilterControllerMixin_filteredData = t4;
      _.FilterControllerMixin_activeFilter = t5;
      _.SearchControllerMixin__searchNotifier = t6;
      _.SearchControllerMixin_xPosition = t7;
      _.SearchControllerMixin__searchMatches = t8;
      _.SearchControllerMixin__activeSearchMatch = t9;
      _.SearchControllerMixin_matchIndex = t10;
    },
    NetworkController__processTimeline_closure: function NetworkController__processTimeline_closure() {
    },
    NetworkController__processTimeline_closure0: function NetworkController__processTimeline_closure0(t0) {
      this.requestData = t0;
    },
    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) {
      this._box_0 = t0;
    },
    NetworkController_filterData_closure: function NetworkController_filterData_closure(t0, t1) {
      this.$this = t0;
      this.filter = 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() {
    },
    serviceProvider_closure: function serviceProvider_closure() {
    },
    libraryEvalProvider_closure: function libraryEvalProvider_closure() {
    },
    hotRestartEventProvider_closure: function hotRestartEventProvider_closure() {
    },
    _resolveInstanceRefForPath: function(path, isAlive, $parent, ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InstanceRef),
        $async$returnValue, $eval;
      var $async$_resolveInstanceRefForPath = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (J.get$isEmpty$asx(path.get$pathToProperty())) {
                $async$returnValue = path.map$2$fromInstanceId$fromProviderId(0, new Q._resolveInstanceRefForPath_closure(ref, isAlive), new Q._resolveInstanceRefForPath_closure0(ref, isAlive));
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait(ref.watch$1$1($.$get$evalProvider().get$future(), type$.legacy_Future_legacy_EvalOnDartLibrary), $async$_resolveInstanceRefForPath);
            case 3:
              // returning from await.
              $eval = $async$result;
              $async$returnValue = $parent.maybeMap$4$list$map$object$orElse(new Q._resolveInstanceRefForPath_closure1(path, $eval, isAlive), new Q._resolveInstanceRefForPath_closure2(path, $eval, isAlive), new Q._resolveInstanceRefForPath_closure3(path, $eval, isAlive), new Q._resolveInstanceRefForPath_closure4());
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_resolveInstanceRefForPath, $async$completer);
    },
    _mutate: function(newValueExpression, isAlive, $parent, path, ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        t1, t2;
      var $async$_mutate = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($parent.maybeMap$4$list$map$object$orElse(new Q._mutate_closure(ref, path, newValueExpression, isAlive), new Q._mutate_closure0(ref, path, newValueExpression, isAlive), new Q._mutate_closure1(path, newValueExpression, isAlive), new Q._mutate_closure2()), $async$_mutate);
            case 2:
              // returning from await.
              t1 = ref.get$_container();
              t2 = $.$get$rawInstanceProvider();
              path.toString;
              t1.refresh$1$1(0, t2.call$1(path.copyWith$1$pathToProperty(H._setArrayType([], type$.JSArray_legacy_PathToProperty))), type$.legacy_Future_void);
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).performHotReload$0(), $async$_mutate);
            case 3:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_mutate, $async$completer);
    },
    _resolveParent: function(ref, path) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InstanceDetails),
        $async$returnValue;
      var $async$_resolveParent = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = J.get$isNotEmpty$asx(path.get$pathToProperty()) ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return P._asyncAwait(ref.watch$1$1($.$get$rawInstanceProvider().call$1(path.get$parent(path)).get$future(), type$.legacy_FutureOr_legacy_InstanceDetails), $async$_resolveParent);
            case 6:
              // returning from await.
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$result = null;
            case 4:
              // join
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_resolveParent, $async$completer);
    },
    _tryParseEnum: function(instance, $eval, instanceRefId, isAlive, setter) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_EnumInstance),
        $async$returnValue, t1, _nameRef, indexRef, nameInstanceFuture, $name, nameSplit;
      var $async$_tryParseEnum = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (instance.kind !== "PlainInstance" || instance.fields.length !== 2) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = new Q._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.getInstance$2(_nameRef, isAlive);
              $async$goto = 3;
              return P._asyncAwait($eval.getInstance$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 P._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(".");
              if (nameSplit.length > 2) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = new X._$EnumInstance(C.JSArray_methods.get$first(nameSplit), nameSplit[1], setter, instanceRefId);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_tryParseEnum, $async$completer);
    },
    _parseSetter: function(isAlive, $parent, path, ref) {
      var t1;
      if ($parent == null)
        return null;
      t1 = new Q._parseSetter_mutate(path, ref, isAlive, $parent);
      return $parent.maybeMap$4$list$map$object$orElse(new Q._parseSetter_closure(t1), new Q._parseSetter_closure0(t1), new Q._parseSetter_closure1(path, t1), new Q._parseSetter_closure2());
    },
    tryParsePackageName: function(uri) {
      var t1 = $.$get$_packageNameExp().firstMatch$1(uri);
      return t1 == null ? null : t1._match[1];
    },
    _parseFields: function(ref, $eval, instance, classInstance, appName, isAlive) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_ObjectField),
        $async$returnValue, t2, t1;
      var $async$_parseFields = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = instance.fields;
              t1.toString;
              t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Future<ObjectField*>*>");
              $async$returnValue = P.Future_wait(P.List_List$of(new H.MappedListIterable(t1, new Q._parseFields_closure($eval, isAlive, ref, appName), t2), true, t2._eval$1("ListIterable.E")), type$.legacy_ObjectField);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._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() {
    },
    rawInstanceProvider_closure: function rawInstanceProvider_closure() {
    },
    rawInstanceProvider__closure: function rawInstanceProvider__closure() {
    },
    rawInstanceProvider__closure0: function rawInstanceProvider__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;
    },
    SliverIterableChildDelegate: function SliverIterableChildDelegate(t0, t1) {
      var _ = this;
      _.children = t0;
      _._lastAccessedIterator = _._lastAccessedIndex = null;
      _.estimatedChildCount = t1;
    },
    IsolatesPreviewWidget$: function(controller, systemIsolates) {
      var _null = null;
      return new Q.IsolatesPreviewWidget(new Q._IsolateNameColumn("Name", _null, _null, _null, C.ColumnAlignment_0), new Q._IsolateIDColumn("ID", _null, _null, _null, C.ColumnAlignment_0), new Q._IsolateNewSpaceColumn("New Space", _null, _null, _null, C.ColumnAlignment_0), new Q._IsolateOldSpaceColumn("Old Space", _null, _null, _null, C.ColumnAlignment_0), new Q._IsolateHeapColumn("Heap", _null, _null, _null, C.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() {
    },
    MaterialBannerThemeData: function MaterialBannerThemeData(t0, t1, t2, t3) {
      var _ = this;
      _.backgroundColor = t0;
      _.contentTextStyle = t1;
      _.padding = t2;
      _.leadingPadding = t3;
    },
    _MaterialBannerThemeData_Object_Diagnosticable: function _MaterialBannerThemeData_Object_Diagnosticable() {
    },
    ListTileTheme$: function(child, contentPadding, dense, enableFeedback, horizontalTitleGap, iconColor, key, minLeadingWidth, minVerticalPadding, selectedColor, selectedTileColor, shape, style, textColor, tileColor) {
      return new Q.ListTileTheme(false, shape, style, selectedColor, iconColor, textColor, contentPadding, tileColor, selectedTileColor, horizontalTitleGap, minVerticalPadding, minLeadingWidth, enableFeedback, child, key);
    },
    ListTileTheme_merge: function(child, iconColor, selectedColor, textColor) {
      var _null = null;
      return new T.Builder(new Q.ListTileTheme_merge_closure(_null, _null, _null, _null, selectedColor, iconColor, textColor, _null, _null, _null, _null, _null, _null, _null, child), _null);
    },
    ListTileTheme_of: function(context) {
      var result = context.dependOnInheritedWidgetOfExactType$1$0(type$.ListTileTheme);
      return result == null ? C.ListTileTheme_46y : result;
    },
    ListTile$: function(autofocus, contentPadding, dense, enabled, isThreeLine, leading, minVerticalPadding, onTap, selected, selectedTileColor, shape, subtitle, tileColor, title, trailing) {
      return new Q.ListTile(leading, title, subtitle, trailing, false, dense, shape, contentPadding, enabled, onTap, false, false, tileColor, selectedTileColor, minVerticalPadding, null);
    },
    _RenderListTile__layoutBox: function(box, constraints) {
      var t1;
      if (box == null)
        return C.Size_0_0;
      box.layout$2$parentUsesSize(0, constraints, true);
      t1 = box._box$_size;
      t1.toString;
      return t1;
    },
    ListTileStyle: function ListTileStyle(t0, t1) {
      this.index = t0;
      this._list_tile$_name = t1;
    },
    ListTileTheme: function ListTileTheme(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;
      _.child = t13;
      _.key = t14;
    },
    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;
    },
    ListTileControlAffinity: function ListTileControlAffinity(t0, t1) {
      this.index = t0;
      this._list_tile$_name = t1;
    },
    ListTile: function ListTile(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _.leading = t0;
      _.title = t1;
      _.subtitle = t2;
      _.trailing = t3;
      _.isThreeLine = t4;
      _.dense = t5;
      _.shape = t6;
      _.contentPadding = t7;
      _.enabled = t8;
      _.onTap = t9;
      _.selected = t10;
      _.autofocus = t11;
      _.tileColor = t12;
      _.selectedTileColor = t13;
      _.minVerticalPadding = t14;
      _.key = t15;
    },
    _ListTileSlot: function _ListTileSlot(t0, t1) {
      this.index = t0;
      this._list_tile$_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;
    },
    _ListTileElement: function _ListTileElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _.slotToChild = t0;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _RenderListTile: function _RenderListTile(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.children = t0;
      _._trailing = _._subtitle = _._title = _._list_tile$_leading = null;
      _._isDense = t1;
      _._visualDensity = t2;
      _._isThreeLine = t3;
      _._list_tile$_textDirection = t4;
      _._titleBaselineType = t5;
      _._subtitleBaselineType = t6;
      _._horizontalTitleGap = t7;
      _._minVerticalPadding = t8;
      _._minLeadingWidth = t9;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderListTile_debugDescribeChildren_add: function _RenderListTile_debugDescribeChildren_add(t0) {
      this.value = t0;
    },
    _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;
    },
    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) {
      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;
    },
    _SliderThemeData_Object_Diagnosticable: function _SliderThemeData_Object_Diagnosticable() {
    },
    TextSpan$: function(children, recognizer, semanticsLabel, style, text) {
      var t1 = recognizer == null ? C.C__DeferringMouseCursor : C.SystemMouseCursor_click;
      return new Q.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() {
    },
    TextParentData: function TextParentData(t0, t1, t2) {
      var _ = this;
      _.scale = null;
      _.ContainerParentDataMixin_previousSibling = t0;
      _.ContainerParentDataMixin_nextSibling = t1;
      _.offset = t2;
    },
    RenderParagraph: function RenderParagraph(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._paragraph$_textPainter = t0;
      _.__RenderParagraph__placeholderSpans = $;
      _._softWrap = t1;
      _._overflow = t2;
      _._needsClipping = false;
      _._cachedChildNodes = _._semanticsInfo = _._paragraph$_placeholderDimensions = _._overflowShader = null;
      _.ContainerRenderObjectMixin__childCount = t3;
      _.ContainerRenderObjectMixin__firstChild = t4;
      _.ContainerRenderObjectMixin__lastChild = t5;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderParagraph__extractPlaceholderSpans_closure: function RenderParagraph__extractPlaceholderSpans_closure(t0) {
      this.$this = t0;
    },
    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_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() {
    },
    RenderAbstractViewport_of: function(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: function(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 T.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._viewport$_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) {
      var _ = this;
      _._anchor = t0;
      _._viewport$_center = null;
      _.__RenderViewport__maxScrollExtent = _.__RenderViewport__minScrollExtent = $;
      _._viewport$_hasVisualOverflow = false;
      _._viewport$_axisDirection = t1;
      _._crossAxisDirection = t2;
      _._viewport$_offset = t3;
      _._cacheExtent = t4;
      _._calculatedCacheExtent = null;
      _._cacheExtentStyle = t5;
      _._viewport$_clipBehavior = t6;
      _._viewport$_clipRectLayer = null;
      _.ContainerRenderObjectMixin__childCount = t7;
      _.ContainerRenderObjectMixin__firstChild = t8;
      _.ContainerRenderObjectMixin__lastChild = t9;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderShrinkWrappingViewport: function RenderShrinkWrappingViewport(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.__RenderShrinkWrappingViewport__shrinkWrapExtent = _.__RenderShrinkWrappingViewport__maxScrollExtent = $;
      _._viewport$_hasVisualOverflow = false;
      _._viewport$_axisDirection = t0;
      _._crossAxisDirection = t1;
      _._viewport$_offset = t2;
      _._cacheExtent = t3;
      _._calculatedCacheExtent = null;
      _._cacheExtentStyle = t4;
      _._viewport$_clipBehavior = t5;
      _._viewport$_clipRectLayer = null;
      _.ContainerRenderObjectMixin__childCount = t6;
      _.ContainerRenderObjectMixin__firstChild = t7;
      _.ContainerRenderObjectMixin__lastChild = t8;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderViewportBase_RenderBox_ContainerRenderObjectMixin: function _RenderViewportBase_RenderBox_ContainerRenderObjectMixin() {
    },
    AssetBundle__utf8decode: function(data) {
      return C.Utf8Codec_false.decode$1(0, J.asUint8List$0$x(J.get$buffer$x(data)));
    },
    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;
    },
    BinaryMessenger: function BinaryMessenger() {
    },
    RawKeyEventDataFuchsia: function RawKeyEventDataFuchsia() {
    },
    DismissDirection: function DismissDirection(t0, t1) {
      this.index = t0;
      this._dismissible$_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._dismissible$_name = t1;
    },
    _DismissibleState: function _DismissibleState(t0, t1, t2) {
      var _ = this;
      _._moveController = null;
      _.___DismissibleState__moveAnimation = $;
      _._resizeAnimation = _._resizeController = null;
      _._dragExtent = 0;
      _._dragUnderway = false;
      _._sizePriorToCollapse = null;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t0;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._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() {
    },
    PreferredSize: function PreferredSize(t0, t1, t2) {
      this.child = t0;
      this.preferredSize = t1;
      this.key = t2;
    },
    SafeArea$: function(bottom, child, minimum, $top) {
      return new Q.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;
    },
    _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;
    },
    Viewport$: function(anchor, axisDirection, cacheExtent, cacheExtentStyle, center, clipBehavior, offset, slivers) {
      return new Q.Viewport(axisDirection, anchor, offset, center, cacheExtent, cacheExtentStyle, clipBehavior, slivers, null);
    },
    Viewport_getDefaultCrossAxisDirection: function(context, axisDirection) {
      var t1;
      switch (axisDirection) {
        case C.AxisDirection_0:
          t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t1.toString;
          return G.textDirectionToAxisDirection(t1.textDirection);
        case C.AxisDirection_1:
          return C.AxisDirection_2;
        case C.AxisDirection_2:
          t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t1.toString;
          return G.textDirectionToAxisDirection(t1.textDirection);
        case C.AxisDirection_3:
          return C.AxisDirection_2;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    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, t3, t4) {
      var _ = this;
      _.__MultiChildRenderObjectElement__children = $;
      _._forgottenChildren = t0;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._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;
    },
    PngInfo: function PngInfo() {
    },
    InternalPngInfo: function InternalPngInfo(t0, t1) {
      var _ = this;
      _.gamma = _.colorLut = _.transparency = _.palette = _.interlaceMethod = _.filterMethod = _.colorType = _.bits = null;
      _.iCCPName = "";
      _.iCCPData = null;
      _.frames = t0;
      _._idat = t1;
      _.height = _.width = 0;
    },
    PsdLayerData_PsdLayerData: function(tag, data) {
      var t1, len;
      switch (tag) {
        case "lsct":
          t1 = new Y.PsdLayerSectionDivider();
          len = data.end - data.offset;
          data.readUint32$0();
          if (len >= 12) {
            if (data.readString$1(4) !== "8BIM")
              H.throwExpression(K.ImageException$("Invalid key in layer additional data"));
            t1.key = data.readString$1(4);
          }
          if (len >= 16)
            data.readUint32$0();
          return t1;
        default:
          return new K.PsdLayerAdditionalData(data);
      }
    },
    PsdLayerData: function PsdLayerData() {
    },
    NumberFormatParser_parse: function(symbols, input, isForCurrency, currencySymbol, currencyName, decimalDigits) {
      var t2,
        t1 = symbols.MINUS_SIGN;
      if (input == null)
        t1 = new Q.NumberFormatParseResult(t1, decimalDigits);
      else {
        t1 = new Q.NumberFormatParseResult(t1, decimalDigits);
        t2 = new K.StringIterator(input);
        t2.moveNext$0();
        new Q.NumberFormatParser(symbols, t2, false, currencySymbol, currencyName, t1)._parse$0();
      }
      return t1;
    },
    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;
    },
    DartIOExtension__version: function(_this, isolateId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Version),
        $async$returnValue, version;
      var $async$DartIOExtension__version = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              version = $.DartIOExtension__isolateVersion.$index(0, isolateId);
              $async$goto = version == null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return P._asyncAwait(Q.DartIOExtension__callHelper(_this, "ext.dart.io.getVersion", isolateId, C.Map_empty8, 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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$DartIOExtension__version, $async$completer);
    },
    DartIOExtension_socketProfilingEnabled: function(_this, isolateId, enabled) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.SocketProfilingState),
        $async$returnValue, t1;
      var $async$DartIOExtension_socketProfilingEnabled = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.dynamic;
              t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
              t1.$indexSet(0, "enabled", true);
              $async$returnValue = Q.DartIOExtension__callHelper(_this, "ext.dart.io.socketProfilingEnabled", isolateId, t1, type$.SocketProfilingState);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$DartIOExtension_socketProfilingEnabled, $async$completer);
    },
    DartIOExtension_httpEnableTimelineLogging: function(_this, isolateId, enabled) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.HttpTimelineLoggingState),
        $async$returnValue, t2, enableKey, version, t1;
      var $async$DartIOExtension_httpEnableTimelineLogging = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Q.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 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
              if (enabled != null)
                t1.$indexSet(0, enableKey, enabled);
              $async$returnValue = Q.DartIOExtension__callHelper(_this, "ext.dart.io.httpEnableTimelineLogging", isolateId, t1, type$.HttpTimelineLoggingState);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$DartIOExtension_httpEnableTimelineLogging, $async$completer);
    },
    DartIOExtension__callHelper: function(_this, method, isolateId, args, $T) {
      var t1, t2, t3;
      if (!$.DartIOExtension__factoriesRegistered) {
        Q.addTypeFactory("OpenFile", Q.dart_io_extensions_OpenFile_parse$closure());
        Q.addTypeFactory("OpenFileList", Q.dart_io_extensions_OpenFileList_parse$closure());
        Q.addTypeFactory("@OpenFile", Q.dart_io_extensions_OpenFileRef_parse$closure());
        Q.addTypeFactory("HttpTimelineLoggingState", Q.dart_io_extensions_HttpTimelineLoggingState_parse$closure());
        Q.addTypeFactory("SpawnedProcess", Q.dart_io_extensions_SpawnedProcess_parse$closure());
        Q.addTypeFactory("SpawnedProcessList", Q.dart_io_extensions_SpawnedProcessList_parse$closure());
        Q.addTypeFactory("@SpawnedProcess", Q.dart_io_extensions_SpawnedProcessRef_parse$closure());
        Q.addTypeFactory("SocketProfile", Q.dart_io_extensions_SocketProfile_parse$closure());
        Q.addTypeFactory("SocketStatistic", Q.dart_io_extensions_SocketStatistic_parse$closure());
        Q.addTypeFactory("SocketProfilingState", Q.dart_io_extensions_SocketProfilingState_parse$closure());
        Q.addTypeFactory("HttpProfile", Q.dart_io_extensions_HttpProfile_parse$closure());
        Q.addTypeFactory("HttpProfileRequest", Q.dart_io_extensions_HttpProfileRequest_parse$closure());
        $.DartIOExtension__factoriesRegistered = true;
      }
      t1 = type$.dynamic;
      t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      if (isolateId != null)
        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: function(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1 = new Q.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: function(json) {
      var t1, t2;
      if (json == null)
        t1 = null;
      else {
        t1 = new Q.SocketProfile(null);
        t2 = type$.nullable_List_dynamic._as(Q.createServiceObject(J.$index$asx(json, "sockets"), C.List_SocketStatistic));
        if (t2 == null)
          t2 = [];
        t1.__SocketProfile_sockets = P.List_List$from(t2, true, type$.SocketStatistic);
      }
      return t1;
    },
    HttpTimelineLoggingState_parse: function(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1 = new Q.HttpTimelineLoggingState(t1.$index(json, "enabled"), t1.$index(json, "type"), null);
      }
      return t1;
    },
    HttpProfile_parse: function(json) {
      return json == null ? null : Q.HttpProfile$_fromJson(json);
    },
    HttpProfile$_fromJson: function(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 = H._instanceType(t1)._eval$1("MappedListIterable<ListMixin.E,HttpProfileRequest>");
      return new Q.HttpProfile(P.List_List$of(new H.MappedListIterable(t1, new Q.HttpProfile$_fromJson_closure(), t2), true, t2._eval$1("ListIterable.E")), null);
    },
    HttpProfileRequest_parse: function(json) {
      return json == null ? null : Q.HttpProfileRequest$_fromJson(json);
    },
    HttpProfileRequest$_fromJson: function(json) {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, _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);
      new Uint8Array(H._ensureNativeList(t2 == null ? H._setArrayType([], type$.JSArray_int) : t2));
      t2 = t1.$index(json, "responseBody");
      t2 = t2 == null ? _null : J.cast$1$0$ax(t2, type$.int);
      t2 = new Uint8Array(H._ensureNativeList(t2 == null ? H._setArrayType([], type$.JSArray_int) : t2));
      t3 = t1.$index(json, "isolateId");
      t4 = t1.$index(json, "id");
      t5 = t1.$index(json, "method");
      t6 = P.Uri_parse(t1.$index(json, "uri"), 0, _null);
      t7 = t1.$index(json, _s9_);
      t1.$index(json, "endTime");
      t8 = t1.$index(json, "request");
      t8 = t8 == null ? _null : Q.HttpProfileRequestData$_fromJson(t8);
      t1 = t1.$index(json, "response");
      if (t1 == null)
        t1 = _null;
      else {
        t9 = J.getInterceptor$asx(t1);
        t9.$index(t1, _s9_).toString;
        t10 = t9.$index(t1, "endTime");
        t11 = t9.$index(t1, "headers");
        t11.toString;
        t9.$index(t1, "connectionInfo").toString;
        t9.$index(t1, "contentLength").toString;
        t12 = t9.$index(t1, "compressionState");
        t12.toString;
        t13 = t9.$index(t1, "cookies");
        t13.toString;
        t13 = J.cast$1$0$ax(t13, type$.String);
        t9.$index(t1, "error");
        t14 = t9.$index(t1, "isRedirect");
        t15 = t9.$index(t1, "persistentConnection");
        t16 = t9.$index(t1, "reasonPhrase");
        t17 = t9.$index(t1, "redirects");
        t17.toString;
        t10 = new Q.HttpProfileResponseData(new P.UnmodifiableListView(J.cast$1$0$ax(t17, type$.Map_String_dynamic), type$.UnmodifiableListView_Map_String_dynamic), new P.UnmodifiableListView(t13, type$.UnmodifiableListView_String), t11, t12, t16, t14, t15, t9.$index(t1, "statusCode"), t10);
        t1 = t10;
      }
      return new Q.HttpProfileRequest(t2, t3, t4, t5, t6, t7, t8, t1);
    },
    HttpProfileRequestData$_fromJson: function(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 = P.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 = H._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 = H._instanceType(t1)._eval$1("MappedListIterable<ListMixin.E,HttpProfileRequestEvent>");
      return new Q.HttpProfileRequestData(new P.UnmodifiableMapView(t3, type$.UnmodifiableMapView_String_dynamic), t4, new P.UnmodifiableListView(t5, type$.UnmodifiableListView_String), new P.UnmodifiableListView(P.List_List$of(new H.MappedListIterable(t1, new Q.HttpProfileRequestData$_fromJson_closure(), t7), true, t7._eval$1("ListIterable.E")), type$.UnmodifiableListView_HttpProfileRequestEvent), t6, t2);
    },
    SocketProfilingState_parse: function(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1 = new Q.SocketProfilingState(t1.$index(json, "enabled"), t1.$index(json, "type"), null);
      }
      return t1;
    },
    SpawnedProcessRef_parse: function(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1.$index(json, "id");
        t1 = new Q.SpawnedProcessRef(t1.$index(json, "name"));
      }
      return t1;
    },
    SpawnedProcess_parse: function(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");
        P.List_List$from(type$.List_dynamic._as(Q.createServiceObject(t1.$index(json, "arguments"), C.List_String)), true, type$.String);
        t1.$index(json, "workingDirectory");
        t2 = new Q.SpawnedProcess(t2, null);
        t1 = t2;
      }
      return t1;
    },
    SpawnedProcessList_parse: function(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        P.List_List$from(type$.List_dynamic._as(Q.createServiceObject(J.$index$asx(json, "processes"), C.List_SpawnedProcessRef)), true, type$.SpawnedProcessRef);
        t1 = new Q.SpawnedProcessList(null);
      }
      return t1;
    },
    OpenFileRef_parse: function(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1.$index(json, "id");
        t1 = new Q.OpenFileRef(t1.$index(json, "name"));
      }
      return t1;
    },
    OpenFile_parse: function(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");
        P.DateTime$fromMillisecondsSinceEpoch(t1.$index(json, "lastReadTime"), false);
        P.DateTime$fromMillisecondsSinceEpoch(t1.$index(json, "lastWriteTime"), false);
        t3 = new Q.OpenFile(t2, t3, null);
        t1 = t3;
      }
      return t1;
    },
    OpenFileList_parse: function(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        P.List_List$from(type$.List_dynamic._as(Q.createServiceObject(J.$index$asx(json, "files"), C.List_OpenFileRef)), true, type$.OpenFileRef);
        t1 = new Q.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._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) {
      var _ = this;
      _.responseBody = t0;
      _.isolateId = t1;
      _.id = t2;
      _.method = t3;
      _.uri = t4;
      _.startTime = t5;
      _.request = t6;
      _.response = t7;
    },
    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._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;
    },
    createServiceObject: function(json, expectedTypes) {
      var t1, type, typeFactory, _null = null;
      if (json == null)
        return _null;
      if (type$.List_dynamic._is(json))
        return J.map$1$1$ax(json, new Q.createServiceObject_closure(expectedTypes), type$.nullable_Object).toList$0(0);
      else if (type$.Map_dynamic_dynamic._is(json)) {
        t1 = J.getInterceptor$asx(json);
        type = t1.$index(json, "type");
        if (type == null)
          if (expectedTypes.length === 1)
            type = C.JSArray_methods.get$first(expectedTypes);
          else
            return _null;
        else if (J.$eq$(t1.$index(json, "type"), "@Instance") && J.$eq$(t1.$index(json, "kind"), "Null") && !C.JSArray_methods.contains$1(expectedTypes, "InstanceRef"))
          return _null;
        typeFactory = $._typeFactories.$index(0, type);
        if (typeFactory == null)
          return _null;
        else
          return typeFactory.call$1(json);
      } else
        return json;
    },
    _createSpecificObject: function(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 Q._createSpecificObject_closure(creator), type$.dynamic).toList$0(0);
      else if (type$.Map_dynamic_dynamic._is(json)) {
        t1 = P.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: function(json, key, value) {
      if (value == null)
        return;
      json.$indexSet(0, key, value);
    },
    addTypeFactory: function($name, factory) {
      if ($._typeFactories.containsKey$1(0, $name))
        throw H.wrapException(P.StateError$("Factory already registered for " + $name));
      $._typeFactories.$indexSet(0, $name, factory);
    },
    VmService$: function(inStream, writeMessage, disposeHandler, log) {
      var t1 = type$.String;
      t1 = new Q.VmService(P.LinkedHashMap_LinkedHashMap$_empty(t1, type$._OutstandingRequest_dynamic), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Future_Map_String_dynamic_Function_Map_String_dynamic), P.StreamController_StreamController$broadcast(true, t1), P.StreamController_StreamController$broadcast(true, t1), new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.StreamController_Event));
      t1.VmService$5$disposeHandler$log$streamClosed(inStream, writeMessage, disposeHandler, log, null);
      return t1;
    },
    RPCError$: function(callingMethod, code, message, data) {
      return new Q.RPCError(callingMethod, code, message, data);
    },
    RPCError$withDetails: function(callingMethod, code, message, details) {
      var t1 = details == null,
        t2 = t1 ? null : P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      if (!t1)
        t2.$indexSet(0, "details", details);
      return new Q.RPCError(callingMethod, code, message, t2);
    },
    ExtensionData_parse: function(json) {
      return json == null ? null : new Q.ExtensionData(json);
    },
    AllocationProfile_parse: function(json) {
      var t1, t2, t3,
        _s24_ = "dateLastAccumulatorReset",
        _s17_ = "dateLastServiceGC";
      if (json == null)
        t1 = null;
      else {
        t1 = new Q.AllocationProfile(json);
        t2 = J.getInterceptor$asx(json);
        t3 = type$.nullable_List_dynamic._as(Q.createServiceObject(t2.$index(json, "members"), C.List_ClassHeapStats));
        if (t3 == null)
          t3 = [];
        t1.members = P.List_List$from(t3, true, type$.ClassHeapStats);
        t1.memoryUsage = type$.nullable_MemoryUsage._as(Q.createServiceObject(t2.$index(json, "memoryUsage"), C.List_MemoryUsage));
        t1.dateLastAccumulatorReset = typeof t2.$index(json, _s24_) == "string" ? P.int_parse(t2.$index(json, _s24_), null) : t2.$index(json, _s24_);
        t1.dateLastServiceGC = typeof t2.$index(json, _s17_) == "string" ? P.int_parse(t2.$index(json, _s17_), null) : t2.$index(json, _s17_);
      }
      return t1;
    },
    AllocationProfile$_fromJson: function(json) {
      var _s24_ = "dateLastAccumulatorReset",
        _s17_ = "dateLastServiceGC",
        t1 = new Q.AllocationProfile(json),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.nullable_List_dynamic._as(Q.createServiceObject(t2.$index(json, "members"), C.List_ClassHeapStats));
      if (t3 == null)
        t3 = [];
      t1.members = P.List_List$from(t3, true, type$.ClassHeapStats);
      t1.memoryUsage = type$.nullable_MemoryUsage._as(Q.createServiceObject(t2.$index(json, "memoryUsage"), C.List_MemoryUsage));
      t1.dateLastAccumulatorReset = typeof t2.$index(json, _s24_) == "string" ? P.int_parse(t2.$index(json, _s24_), null) : t2.$index(json, _s24_);
      t1.dateLastServiceGC = typeof t2.$index(json, _s17_) == "string" ? P.int_parse(t2.$index(json, _s17_), null) : t2.$index(json, _s17_);
      return t1;
    },
    BoundField_parse: function(json) {
      var t1 = new Q.BoundField(),
        t2 = J.getInterceptor$asx(json);
      t1.decl = type$.nullable_FieldRef._as(Q.createServiceObject(t2.$index(json, "decl"), C.List_FieldRef));
      t1.value = Q.createServiceObject(t2.$index(json, "value"), C.List_InstanceRef_Sentinel);
      return t1;
    },
    BoundVariable_parse: function(json) {
      var _null = null,
        t1 = new Q.BoundVariable(_null, _null, _null, _null, _null, json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t1.value = Q.createServiceObject(t2.$index(json, "value"), C.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: function(json) {
      var t2, t3,
        t1 = new Q.Breakpoint(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 = Q.createServiceObject(t2.$index(json, "location"), C.List_oqh);
      return t1;
    },
    ClassRef_parse: function(json) {
      var t1, t2, t3;
      if (json == null)
        t1 = null;
      else {
        t1 = new Q.ClassRef(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(Q.createServiceObject(t2.$index(json, "location"), C.List_SourceLocation));
        t1.library = type$.nullable_LibraryRef._as(Q.createServiceObject(t2.$index(json, "library"), C.List_LibraryRef));
      }
      return t1;
    },
    ClassRef$_fromJson: function(json) {
      var t2, t3,
        t1 = new Q.ClassRef(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(Q.createServiceObject(t2.$index(json, "location"), C.List_SourceLocation));
      t1.library = type$.nullable_LibraryRef._as(Q.createServiceObject(t2.$index(json, "library"), C.List_LibraryRef));
      return t1;
    },
    Class_parse: function(json) {
      var t2, t3, t4, t5,
        t1 = new Q.Class(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(Q.createServiceObject(t2.$index(json, "location"), C.List_SourceLocation));
      t1.library = type$.nullable_LibraryRef._as(Q.createServiceObject(t2.$index(json, "library"), C.List_LibraryRef));
      t1.error = type$.nullable_ErrorRef._as(Q.createServiceObject(t2.$index(json, "error"), C.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(Q.createServiceObject(t2.$index(json, "super"), C.List_ClassRef));
      t3 = type$.nullable_InstanceRef;
      t1.superType = t3._as(Q.createServiceObject(t2.$index(json, "superType"), C.List_InstanceRef));
      t4 = type$.nullable_List_dynamic;
      t5 = t4._as(Q.createServiceObject(t2.$index(json, "interfaces"), C.List_InstanceRef));
      if (t5 == null)
        t5 = [];
      t1.interfaces = P.List_List$from(t5, true, type$.InstanceRef);
      t1.mixin = t3._as(Q.createServiceObject(t2.$index(json, "mixin"), C.List_InstanceRef));
      t3 = t4._as(Q.createServiceObject(t2.$index(json, "fields"), C.List_FieldRef));
      if (t3 == null)
        t3 = [];
      t1.fields = P.List_List$from(t3, true, type$.FieldRef);
      t3 = t4._as(Q.createServiceObject(t2.$index(json, "functions"), C.List_FuncRef));
      if (t3 == null)
        t3 = [];
      t1.functions = P.List_List$from(t3, true, type$.FuncRef);
      t2 = t4._as(Q.createServiceObject(t2.$index(json, "subclasses"), C.List_ClassRef));
      if (t2 == null)
        t2 = [];
      t1.subclasses = P.List_List$from(t2, true, type$.ClassRef);
      return t1;
    },
    ClassHeapStats_parse: function(json) {
      var t3,
        t1 = new Q.ClassHeapStats(json),
        t2 = J.getInterceptor$asx(json);
      t1.classRef = type$.nullable_ClassRef._as(Q.createServiceObject(t2.$index(json, "class"), C.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: function(json) {
      var t1 = new Q.ClassList(json),
        t2 = type$.nullable_List_dynamic._as(Q.createServiceObject(J.$index$asx(json, "classes"), C.List_ClassRef));
      if (t2 == null)
        t2 = [];
      t1.classes = P.List_List$from(t2, true, type$.ClassRef);
      return t1;
    },
    CodeRef_parse: function(json) {
      var t2, t3,
        t1 = new Q.CodeRef(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: function(json) {
      var t2, t3,
        t1 = new Q.Code(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;
    },
    ContextRef_parse: function(json) {
      var t2,
        t1 = new Q.ContextRef(json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.$index$asx(json, "length");
      t1.length = t2 == null ? -1 : t2;
      return t1;
    },
    Context_parse: function(json) {
      var t2, t3,
        t1 = new Q.Context0(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(Q.createServiceObject(t2.$index(json, "parent"), C.List_ContextRef));
      t2 = type$.nullable_List_dynamic._as(Q.createServiceObject(t2.$index(json, "variables"), C.List_ContextElement));
      if (t2 == null)
        t2 = [];
      t1.variables = P.List_List$from(t2, true, type$.ContextElement);
      return t1;
    },
    ContextElement_parse: function(json) {
      var t1 = new Q.ContextElement();
      t1.value = Q.createServiceObject(J.$index$asx(json, "value"), C.List_InstanceRef_Sentinel);
      return t1;
    },
    CpuSamples_parse: function(json) {
      var t4,
        t1 = new Q.CpuSamples(json),
        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(Q.createServiceObject(t2.$index(json, "functions"), C.List_ProfileFunction));
      if (t4 == null)
        t4 = [];
      t1.functions = P.List_List$from(t4, true, type$.ProfileFunction);
      t2 = t3._as(Q.createServiceObject(t2.$index(json, "samples"), C.List_CpuSample));
      if (t2 == null)
        t2 = [];
      t1.samples = P.List_List$from(t2, true, type$.CpuSample);
      return t1;
    },
    CpuSample_parse: function(json) {
      var t1 = new Q.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 = P.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: function(json) {
      var t2, t3,
        t1 = new Q.ErrorRef(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: function(json) {
      var t2, t3,
        t1 = new Q.Error(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(Q.createServiceObject(t2.$index(json, "exception"), C.List_InstanceRef));
      t1.stacktrace = t3._as(Q.createServiceObject(t2.$index(json, "stacktrace"), C.List_InstanceRef));
      return t1;
    },
    Event_parse: function(json) {
      var t1, t2, t3, _null = null,
        _s16_ = "pauseBreakpoints",
        _s14_ = "timelineEvents",
        _s14_0 = "updatedStreams";
      if (json == null)
        t1 = _null;
      else {
        t1 = new Q.Event(json);
        t2 = J.getInterceptor$asx(json);
        t3 = t2.$index(json, "kind");
        t1.kind = t3 == null ? "" : t3;
        t1.isolate = type$.nullable_IsolateRef._as(Q.createServiceObject(t2.$index(json, "isolate"), C.List_IsolateRef));
        t1.vm = type$.nullable_VMRef._as(Q.createServiceObject(t2.$index(json, "vm"), C.List_VMRef));
        t3 = t2.$index(json, "timestamp");
        t1.timestamp = t3 == null ? -1 : t3;
        t1.breakpoint = type$.nullable_Breakpoint._as(Q.createServiceObject(t2.$index(json, "breakpoint"), C.List_Breakpoint));
        if (t2.$index(json, _s16_) == null)
          t3 = _null;
        else {
          t3 = Q.createServiceObject(t2.$index(json, _s16_), C.List_Breakpoint);
          t3.toString;
          t3 = P.List_List$from(type$.List_dynamic._as(t3), true, type$.Breakpoint);
        }
        t1.pauseBreakpoints = t3;
        t1.topFrame = type$.nullable_Frame._as(Q.createServiceObject(t2.$index(json, "topFrame"), C.List_Frame));
        t3 = type$.nullable_InstanceRef;
        t1.exception = t3._as(Q.createServiceObject(t2.$index(json, "exception"), C.List_InstanceRef));
        t1.bytes = t2.$index(json, "bytes");
        t1.inspectee = t3._as(Q.createServiceObject(t2.$index(json, "inspectee"), C.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 Q.ExtensionData(t3);
        if (t2.$index(json, _s14_) == null)
          t3 = _null;
        else {
          t3 = Q.createServiceObject(t2.$index(json, _s14_), C.List_TimelineEvent);
          t3.toString;
          t3 = P.List_List$from(type$.List_dynamic._as(t3), true, type$.TimelineEvent);
        }
        t1.timelineEvents = t3;
        t1.updatedStreams = t2.$index(json, _s14_0) == null ? _null : P.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(Q.createServiceObject(t2.$index(json, "logRecord"), C.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.data = t2.$index(json, "data");
      }
      return t1;
    },
    Event$_fromJson: function(json) {
      var _null = null,
        _s16_ = "pauseBreakpoints",
        _s14_ = "timelineEvents",
        _s14_0 = "updatedStreams",
        t1 = new Q.Event(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "kind");
      t1.kind = t3 == null ? "" : t3;
      t1.isolate = type$.nullable_IsolateRef._as(Q.createServiceObject(t2.$index(json, "isolate"), C.List_IsolateRef));
      t1.vm = type$.nullable_VMRef._as(Q.createServiceObject(t2.$index(json, "vm"), C.List_VMRef));
      t3 = t2.$index(json, "timestamp");
      t1.timestamp = t3 == null ? -1 : t3;
      t1.breakpoint = type$.nullable_Breakpoint._as(Q.createServiceObject(t2.$index(json, "breakpoint"), C.List_Breakpoint));
      if (t2.$index(json, _s16_) == null)
        t3 = _null;
      else {
        t3 = Q.createServiceObject(t2.$index(json, _s16_), C.List_Breakpoint);
        t3.toString;
        t3 = P.List_List$from(type$.List_dynamic._as(t3), true, type$.Breakpoint);
      }
      t1.pauseBreakpoints = t3;
      t1.topFrame = type$.nullable_Frame._as(Q.createServiceObject(t2.$index(json, "topFrame"), C.List_Frame));
      t3 = type$.nullable_InstanceRef;
      t1.exception = t3._as(Q.createServiceObject(t2.$index(json, "exception"), C.List_InstanceRef));
      t1.bytes = t2.$index(json, "bytes");
      t1.inspectee = t3._as(Q.createServiceObject(t2.$index(json, "inspectee"), C.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 Q.ExtensionData(t3);
      if (t2.$index(json, _s14_) == null)
        t3 = _null;
      else {
        t3 = Q.createServiceObject(t2.$index(json, _s14_), C.List_TimelineEvent);
        t3.toString;
        t3 = P.List_List$from(type$.List_dynamic._as(t3), true, type$.TimelineEvent);
      }
      t1.timelineEvents = t3;
      t1.updatedStreams = t2.$index(json, _s14_0) == null ? _null : P.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(Q.createServiceObject(t2.$index(json, "logRecord"), C.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.data = t2.$index(json, "data");
      return t1;
    },
    FieldRef_parse: function(json) {
      var t2, t3,
        t1 = new Q.FieldRef(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(Q.createServiceObject(t2.$index(json, "owner"), C.List_ObjRef));
      t1.declaredType = type$.nullable_InstanceRef._as(Q.createServiceObject(t2.$index(json, "declaredType"), C.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(Q.createServiceObject(t2.$index(json, "location"), C.List_SourceLocation));
      return t1;
    },
    Field_parse: function(json) {
      var t2, t3,
        t1 = new Q.Field(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(Q.createServiceObject(t2.$index(json, "owner"), C.List_ObjRef));
      t1.declaredType = type$.nullable_InstanceRef._as(Q.createServiceObject(t2.$index(json, "declaredType"), C.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(Q.createServiceObject(t2.$index(json, "location"), C.List_SourceLocation));
      t1.staticValue = Q.createServiceObject(t2.$index(json, "staticValue"), C.List_InstanceRef_Sentinel);
      return t1;
    },
    Flag_parse: function(json) {
      var t1, t2, t3;
      if (json == null)
        t1 = null;
      else {
        t1 = new Q.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: function(json) {
      var t1 = new Q.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: function(json) {
      var t1 = new Q.FlagList(json),
        t2 = type$.nullable_List_dynamic._as(Q.createServiceObject(J.$index$asx(json, "flags"), C.List_Flag));
      if (t2 == null)
        t2 = [];
      t1.flags = P.List_List$from(t2, true, type$.Flag);
      return t1;
    },
    Frame_parse: function(json) {
      var _null = null,
        t1 = new Q.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(Q.createServiceObject(t2.$index(json, "function"), C.List_FuncRef));
      t1.code = type$.nullable_CodeRef._as(Q.createServiceObject(t2.$index(json, "code"), C.List_CodeRef));
      t1.location = type$.nullable_SourceLocation._as(Q.createServiceObject(t2.$index(json, "location"), C.List_SourceLocation));
      if (t2.$index(json, "vars") == null)
        t3 = _null;
      else {
        t3 = Q.createServiceObject(t2.$index(json, "vars"), C.List_BoundVariable);
        t3.toString;
        t3 = P.List_List$from(type$.List_dynamic._as(t3), true, type$.BoundVariable);
      }
      t1.vars = t3;
      t1.kind = t2.$index(json, "kind");
      return t1;
    },
    FuncRef_parse: function(json) {
      var t2, t3,
        t1 = new Q.FuncRef(json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t1.owner = Q.createServiceObject(t2.$index(json, "owner"), C.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;
      t1.location = type$.nullable_SourceLocation._as(Q.createServiceObject(t2.$index(json, "location"), C.List_SourceLocation));
      return t1;
    },
    Func_parse: function(json) {
      var t2, t3,
        t1 = new Q.Func(json);
      t1.Obj$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t1.owner = Q.createServiceObject(t2.$index(json, "owner"), C.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;
      t1.location = type$.nullable_SourceLocation._as(Q.createServiceObject(t2.$index(json, "location"), C.List_SourceLocation));
      t1.code = type$.nullable_CodeRef._as(Q.createServiceObject(t2.$index(json, "code"), C.List_CodeRef));
      return t1;
    },
    InstanceRef_parse: function(json) {
      return json == null ? null : Q.InstanceRef$_fromJson(json);
    },
    InstanceRef$_fromJson: function(json) {
      var t1 = new Q.InstanceRef(json);
      t1.ObjRef$_fromJson$1(json);
      t1.InstanceRef$_fromJson$1(json);
      return t1;
    },
    Instance_parse: function(json) {
      var t1 = Q.Instance$_fromJson(json);
      return t1;
    },
    Instance$_fromJson: function(json) {
      var t1 = new Q.Instance(json);
      t1.Obj$_fromJson$1(json);
      t1.Instance$_fromJson$1(json);
      return t1;
    },
    IsolateRef_parse: function(json) {
      var t1 = new Q.IsolateRef(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: function(json) {
      var t4,
        _s13_ = "extensionRPCs",
        t1 = new Q.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(Q.createServiceObject(t2.$index(json, "isolateFlags"), C.List_IsolateFlag));
      if (t4 == null)
        t4 = [];
      t1.isolateFlags = P.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(Q.createServiceObject(t2.$index(json, "pauseEvent"), C.List_Event));
      t1.rootLib = type$.nullable_LibraryRef._as(Q.createServiceObject(t2.$index(json, "rootLib"), C.List_LibraryRef));
      t4 = t3._as(Q.createServiceObject(t2.$index(json, "libraries"), C.List_LibraryRef));
      if (t4 == null)
        t4 = [];
      t1.libraries = P.List_List$from(t4, true, type$.LibraryRef);
      t3 = t3._as(Q.createServiceObject(t2.$index(json, "breakpoints"), C.List_Breakpoint));
      if (t3 == null)
        t3 = [];
      t1.breakpoints = P.List_List$from(t3, true, type$.Breakpoint);
      t1.error = type$.nullable_Error._as(Q.createServiceObject(t2.$index(json, "error"), C.List_Error));
      t3 = t2.$index(json, "exceptionPauseMode");
      t1.exceptionPauseMode = t3 == null ? "" : t3;
      t1.extensionRPCs = t2.$index(json, _s13_) == null ? null : P.List_List$from(t2.$index(json, _s13_), true, type$.String);
      return t1;
    },
    IsolateFlag_parse: function(json) {
      var t1 = new Q.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: function(json) {
      var t1 = new Q.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: function(json) {
      var t1 = new Q.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(Q.createServiceObject(t2.$index(json, "isolates"), C.List_IsolateRef));
      if (t2 == null)
        t2 = [];
      t1.isolates = P.List_List$from(t2, true, type$.IsolateRef);
      return t1;
    },
    InboundReferences_parse: function(json) {
      var t1 = new Q.InboundReferences(json),
        t2 = type$.nullable_List_dynamic._as(Q.createServiceObject(J.$index$asx(json, "references"), C.List_InboundReference));
      if (t2 == null)
        t2 = [];
      t1.references = P.List_List$from(t2, true, type$.InboundReference);
      return t1;
    },
    InboundReference_parse: function(json) {
      var t1 = new Q.InboundReference(),
        t2 = J.getInterceptor$asx(json);
      t1.source = type$.nullable_ObjRef._as(Q.createServiceObject(t2.$index(json, "source"), C.List_ObjRef));
      t1.parentListIndex = t2.$index(json, "parentListIndex");
      t1.parentField = type$.nullable_FieldRef._as(Q.createServiceObject(t2.$index(json, "parentField"), C.List_FieldRef));
      return t1;
    },
    InstanceSet_parse: function(json) {
      var t1 = new Q.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 = Q.createServiceObject(t3._as(t2), C.List_ObjRef);
      t2.toString;
      t1.instances = P.List_List$from(t3._as(t2), true, type$.ObjRef);
      return t1;
    },
    LibraryRef_parse: function(json) {
      var t2, t3,
        t1 = new Q.LibraryRef(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: function(json) {
      var t2, t3, t4,
        t1 = new Q.Library(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 = P.List_List$from(Q._createSpecificObject(t3, Q.vm_service_LibraryDependency_parse$closure()), true, type$.LibraryDependency);
      t3 = type$.nullable_List_dynamic;
      t4 = t3._as(Q.createServiceObject(t2.$index(json, "scripts"), C.List_ScriptRef));
      if (t4 == null)
        t4 = [];
      t1.scripts = P.List_List$from(t4, true, type$.ScriptRef);
      t4 = t3._as(Q.createServiceObject(t2.$index(json, "variables"), C.List_FieldRef));
      if (t4 == null)
        t4 = [];
      t1.variables = P.List_List$from(t4, true, type$.FieldRef);
      t4 = t3._as(Q.createServiceObject(t2.$index(json, "functions"), C.List_FuncRef));
      if (t4 == null)
        t4 = [];
      t1.functions = P.List_List$from(t4, true, type$.FuncRef);
      t2 = t3._as(Q.createServiceObject(t2.$index(json, "classes"), C.List_ClassRef));
      if (t2 == null)
        t2 = [];
      t1.classes = P.List_List$from(t2, true, type$.ClassRef);
      return t1;
    },
    LibraryDependency_parse: function(json) {
      var t1, t2, t3;
      if (json == null)
        t1 = null;
      else {
        t1 = new Q.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(Q.createServiceObject(t2.$index(json, "target"), C.List_LibraryRef));
      }
      return t1;
    },
    LogRecord_parse: function(json) {
      var t4,
        t1 = new Q.LogRecord(json),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.nullable_InstanceRef;
      t1.message = t3._as(Q.createServiceObject(t2.$index(json, "message"), C.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(Q.createServiceObject(t2.$index(json, "loggerName"), C.List_InstanceRef));
      t1.zone = t3._as(Q.createServiceObject(t2.$index(json, "zone"), C.List_InstanceRef));
      t1.error = t3._as(Q.createServiceObject(t2.$index(json, "error"), C.List_InstanceRef));
      t1.stackTrace = t3._as(Q.createServiceObject(t2.$index(json, "stackTrace"), C.List_InstanceRef));
      return t1;
    },
    MapAssociation_parse: function(json) {
      var t1, t2;
      if (json == null)
        t1 = null;
      else {
        t1 = new Q.MapAssociation();
        t2 = J.getInterceptor$asx(json);
        t1.key = Q.createServiceObject(t2.$index(json, "key"), C.List_InstanceRef_Sentinel);
        t1.value = Q.createServiceObject(t2.$index(json, "value"), C.List_InstanceRef_Sentinel);
      }
      return t1;
    },
    MemoryUsage_parse: function(json) {
      var t1 = new Q.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: function(json) {
      var t1 = new Q.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(Q.createServiceObject(t2.$index(json, "handler"), C.List_FuncRef));
      t1.location = type$.nullable_SourceLocation._as(Q.createServiceObject(t2.$index(json, "location"), C.List_SourceLocation));
      return t1;
    },
    NativeFunction_parse: function(json) {
      var t1 = new Q.NativeFunction(),
        t2 = J.$index$asx(json, "name");
      t1.name = t2 == null ? "" : t2;
      return t1;
    },
    NullValRef_parse: function(json) {
      var t2,
        t1 = new Q.NullValRef(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: function(json) {
      var t2,
        t1 = new Q.NullVal(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: function(json) {
      var t1 = Q.ObjRef$_fromJson(json);
      return t1;
    },
    ObjRef$_fromJson: function(json) {
      var t1 = new Q.ObjRef(json);
      t1.ObjRef$_fromJson$1(json);
      return t1;
    },
    Obj_parse: function(json) {
      var t1 = Q.Obj$_fromJson(json);
      return t1;
    },
    Obj$_fromJson: function(json) {
      var t1 = new Q.Obj(json);
      t1.Obj$_fromJson$1(json);
      return t1;
    },
    PortList_parse: function(json) {
      var t1 = new Q.PortList(json),
        t2 = type$.nullable_List_dynamic._as(Q.createServiceObject(J.$index$asx(json, "ports"), C.List_InstanceRef));
      if (t2 == null)
        t2 = [];
      t1.ports = P.List_List$from(t2, true, type$.InstanceRef);
      return t1;
    },
    ProfileFunction_parse: function(json) {
      var t1 = new Q.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 = Q.createServiceObject(t2.$index(json, "function"), C.List_dynamic);
      return t1;
    },
    ProtocolList_parse: function(json) {
      var t1 = new Q.ProtocolList(json),
        t2 = type$.nullable_List_dynamic._as(Q.createServiceObject(J.$index$asx(json, "protocols"), C.List_Protocol));
      if (t2 == null)
        t2 = [];
      t1.protocols = P.List_List$from(t2, true, type$.Protocol);
      return t1;
    },
    Protocol_parse: function(json) {
      var t1 = new Q.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: function(json) {
      var t1 = new Q.ProcessMemoryUsage(json);
      t1.root = type$.nullable_ProcessMemoryItem._as(Q.createServiceObject(J.$index$asx(json, "root"), C.List_ProcessMemoryItem));
      return t1;
    },
    ProcessMemoryItem_parse: function(json) {
      var t1 = new Q.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(Q.createServiceObject(t2.$index(json, "children"), C.List_ProcessMemoryItem));
      if (t2 == null)
        t2 = [];
      t1.children = P.List_List$from(t2, true, type$.ProcessMemoryItem);
      return t1;
    },
    ReloadReport_parse: function(json) {
      var t1 = new Q.ReloadReport(json),
        t2 = J.$index$asx(json, "success");
      t1.success = t2 == null ? false : t2;
      return t1;
    },
    RetainingObject_parse: function(json) {
      var t1 = new Q.RetainingObject(),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.nullable_ObjRef;
      t1.value = t3._as(Q.createServiceObject(t2.$index(json, "value"), C.List_ObjRef));
      t1.parentListIndex = t2.$index(json, "parentListIndex");
      t1.parentMapKey = t3._as(Q.createServiceObject(t2.$index(json, "parentMapKey"), C.List_ObjRef));
      t1.parentField = t2.$index(json, "parentField");
      return t1;
    },
    RetainingPath_parse: function(json) {
      var t1 = new Q.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(Q.createServiceObject(t2.$index(json, "elements"), C.List_RetainingObject));
      if (t2 == null)
        t2 = [];
      t1.elements = P.List_List$from(t2, true, type$.RetainingObject);
      return t1;
    },
    Response_parse: function(json) {
      return json == null ? null : new Q.Response0(json);
    },
    Sentinel_parse: function(json) {
      var t1 = new Q.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: function(json) {
      var t1 = new Q.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: function(json) {
      var t2,
        t1 = new Q.ScriptRef(json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.$index$asx(json, "uri");
      t1.uri = t2 == null ? "" : t2;
      return t1;
    },
    Script_parse: function(json) {
      var t1 = Q.Script$_fromJson(json);
      return t1;
    },
    Script$_fromJson: function(json) {
      var t1 = type$.int;
      t1 = new Q.Script(P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), json);
      t1.Obj$_fromJson$1(json);
      t1.Script$_fromJson$1(json);
      return t1;
    },
    ScriptList_parse: function(json) {
      var t1 = new Q.ScriptList(json),
        t2 = type$.nullable_List_dynamic._as(Q.createServiceObject(J.$index$asx(json, "scripts"), C.List_ScriptRef));
      if (t2 == null)
        t2 = [];
      t1.scripts = P.List_List$from(t2, true, type$.ScriptRef);
      return t1;
    },
    SourceLocation_parse: function(json) {
      var t3,
        t1 = new Q.SourceLocation0(json),
        t2 = J.getInterceptor$asx(json);
      t1.script = type$.nullable_ScriptRef._as(Q.createServiceObject(t2.$index(json, "script"), C.List_ScriptRef));
      t3 = t2.$index(json, "tokenPos");
      t1.tokenPos = t3 == null ? -1 : t3;
      t1.endTokenPos = t2.$index(json, "endTokenPos");
      return t1;
    },
    SourceReport_parse: function(json) {
      var t1 = new Q.SourceReport(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "ranges");
      t3.toString;
      t1.ranges = P.List_List$from(Q._createSpecificObject(t3, Q.vm_service_SourceReportRange_parse$closure()), true, type$.SourceReportRange);
      t2 = type$.nullable_List_dynamic._as(Q.createServiceObject(t2.$index(json, "scripts"), C.List_ScriptRef));
      if (t2 == null)
        t2 = [];
      t1.scripts = P.List_List$from(t2, true, type$.ScriptRef);
      return t1;
    },
    SourceReportCoverage_parse: function(json) {
      var t1, t2, t3;
      if (json == null)
        t1 = null;
      else {
        t1 = new Q.SourceReportCoverage();
        t2 = J.getInterceptor$asx(json);
        t3 = type$.int;
        t1.hits = P.List_List$from(t2.$index(json, "hits"), true, t3);
        t1.misses = P.List_List$from(t2.$index(json, "misses"), true, t3);
      }
      return t1;
    },
    SourceReportRange_parse: function(json) {
      var t1, t2, t3,
        _s19_ = "possibleBreakpoints";
      if (json == null)
        t1 = null;
      else {
        t1 = new Q.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(Q.createServiceObject(t2.$index(json, "error"), C.List_ErrorRef));
        t1.coverage = Q._createSpecificObject(t2.$index(json, "coverage"), Q.vm_service_SourceReportCoverage_parse$closure());
        t1.possibleBreakpoints = t2.$index(json, _s19_) == null ? null : P.List_List$from(t2.$index(json, _s19_), true, type$.int);
      }
      return t1;
    },
    Stack_parse: function(json) {
      var t5,
        _s17_ = "asyncCausalFrames",
        _s13_ = "awaiterFrames",
        t1 = new Q.Stack0(json),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.nullable_List_dynamic,
        t4 = t3._as(Q.createServiceObject(t2.$index(json, "frames"), C.List_Frame));
      if (t4 == null)
        t4 = [];
      t5 = type$.Frame_2;
      t1.frames = P.List_List$from(t4, true, t5);
      if (t2.$index(json, _s17_) == null)
        t4 = null;
      else {
        t4 = Q.createServiceObject(t2.$index(json, _s17_), C.List_Frame);
        t4.toString;
        t4 = P.List_List$from(type$.List_dynamic._as(t4), true, t5);
      }
      t1.asyncCausalFrames = t4;
      if (t2.$index(json, _s13_) == null)
        t4 = null;
      else {
        t4 = Q.createServiceObject(t2.$index(json, _s13_), C.List_Frame);
        t4.toString;
        t5 = P.List_List$from(type$.List_dynamic._as(t4), true, t5);
        t4 = t5;
      }
      t1.awaiterFrames = t4;
      t3 = t3._as(Q.createServiceObject(t2.$index(json, "messages"), C.List_Message));
      if (t3 == null)
        t3 = [];
      t1.messages = P.List_List$from(t3, true, type$.Message);
      t2 = t2.$index(json, "truncated");
      t1.truncated = t2 == null ? false : t2;
      return t1;
    },
    Success_parse: function(json) {
      return new Q.Success(json);
    },
    Timeline_parse: function(json) {
      var t1, t2, t3;
      if (json == null)
        t1 = null;
      else {
        t1 = new Q.Timeline(json);
        t2 = J.getInterceptor$asx(json);
        t3 = type$.nullable_List_dynamic._as(Q.createServiceObject(t2.$index(json, "traceEvents"), C.List_TimelineEvent));
        if (t3 == null)
          t3 = [];
        t1.traceEvents = P.List_List$from(t3, true, type$.TimelineEvent);
        t3 = t2.$index(json, "timeOriginMicros");
        t1.timeOriginMicros = t3 == null ? -1 : t3;
        t2 = t2.$index(json, "timeExtentMicros");
        t1.timeExtentMicros = t2 == null ? -1 : t2;
      }
      return t1;
    },
    Timeline$_fromJson: function(json) {
      var t1 = new Q.Timeline(json),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.nullable_List_dynamic._as(Q.createServiceObject(t2.$index(json, "traceEvents"), C.List_TimelineEvent));
      if (t3 == null)
        t3 = [];
      t1.traceEvents = P.List_List$from(t3, true, type$.TimelineEvent);
      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: function(json) {
      return new Q.TimelineEvent(json);
    },
    TimelineFlags_parse: function(json) {
      var t1 = new Q.TimelineFlags(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "recorderName");
      t1.recorderName = t3 == null ? "" : t3;
      t3 = type$.String;
      t1.availableStreams = P.List_List$from(t2.$index(json, "availableStreams"), true, t3);
      t1.recordedStreams = P.List_List$from(t2.$index(json, "recordedStreams"), true, t3);
      return t1;
    },
    Timestamp_parse: function(json) {
      var t1 = new Q.Timestamp(json),
        t2 = J.$index$asx(json, "timestamp");
      t1.timestamp = t2 == null ? -1 : t2;
      return t1;
    },
    TypeArgumentsRef_parse: function(json) {
      var t2,
        t1 = new Q.TypeArgumentsRef(json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.$index$asx(json, "name");
      t1.name = t2 == null ? "" : t2;
      return t1;
    },
    TypeArguments_parse: function(json) {
      var t2, t3,
        t1 = new Q.TypeArguments(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(Q.createServiceObject(t2.$index(json, "types"), C.List_InstanceRef));
      if (t2 == null)
        t2 = [];
      t1.types = P.List_List$from(t2, true, type$.InstanceRef);
      return t1;
    },
    UnresolvedSourceLocation_parse: function(json) {
      var t1 = new Q.UnresolvedSourceLocation(json),
        t2 = J.getInterceptor$asx(json);
      t1.script = type$.nullable_ScriptRef._as(Q.createServiceObject(t2.$index(json, "script"), C.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;
    },
    Version_parse: function(json) {
      var t1 = new Q.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: function(json) {
      var t1 = new Q.VMRef(json),
        t2 = J.$index$asx(json, "name");
      t1.name = t2 == null ? "" : t2;
      return t1;
    },
    VM_parse: function(json) {
      var t4, t5, t6,
        t1 = new Q.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(Q.createServiceObject(t2.$index(json, "isolates"), C.List_IsolateRef));
      if (t4 == null)
        t4 = [];
      t5 = type$.IsolateRef;
      t1.isolates = P.List_List$from(t4, true, t5);
      t4 = t3._as(Q.createServiceObject(t2.$index(json, "isolateGroups"), C.List_IsolateGroupRef));
      if (t4 == null)
        t4 = [];
      t6 = type$.IsolateGroupRef;
      t1.isolateGroups = P.List_List$from(t4, true, t6);
      t4 = t3._as(Q.createServiceObject(t2.$index(json, "systemIsolates"), C.List_IsolateRef));
      t1.systemIsolates = P.List_List$from(t4 == null ? [] : t4, true, t5);
      t2 = t3._as(Q.createServiceObject(t2.$index(json, "systemIsolateGroups"), C.List_IsolateGroupRef));
      t1.systemIsolateGroups = P.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) {
      var _ = this;
      _.size = _.classRef = _.fixedId = _.id = _.location = _.isSyntheticAsyncContinuation = _.resolved = _.enabled = _.breakpointNumber = null;
      _.json = t0;
    },
    ClassRef: function ClassRef(t0) {
      var _ = this;
      _.fixedId = _.id = _.library = _.location = _.name = null;
      _.json = t0;
    },
    Class: function Class(t0) {
      var _ = this;
      _.size = _.classRef = _.fixedId = _.id = _.subclasses = _.functions = _.fields = _.mixin = _.interfaces = _.superType = _.superClass = _.traceAllocations = _.isConst = _.isAbstract = _.error = _.library = _.location = _.name = null;
      _.json = t0;
    },
    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() {
    },
    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) {
      var _ = this;
      _.fixedId = _.id = _.kind = _.name = null;
      _.json = t0;
    },
    Code: function Code(t0) {
      var _ = this;
      _.fixedId = _.id = _.kind = _.name = null;
      _.json = t0;
    },
    ContextRef: function ContextRef(t0) {
      var _ = this;
      _.fixedId = _.id = _.length = null;
      _.json = t0;
    },
    Context0: function Context0(t0) {
      var _ = this;
      _.size = _.classRef = _.fixedId = _.id = _.variables = _.parent = _.length = null;
      _.json = t0;
    },
    Context_toJson_closure: function Context_toJson_closure() {
    },
    ContextElement: function ContextElement() {
      this.value = null;
    },
    CpuSamples: function CpuSamples(t0) {
      var _ = this;
      _.samples = _.functions = _.pid = _.timeExtentMicros = _.timeOriginMicros = _.timeSpan = _.sampleCount = _.maxStackDepth = _.samplePeriod = null;
      _.json = t0;
    },
    CpuSamples_toJson_closure: function CpuSamples_toJson_closure() {
    },
    CpuSamples_toJson_closure0: function CpuSamples_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) {
      var _ = this;
      _.fixedId = _.id = _.message = _.kind = null;
      _.json = t0;
    },
    Error: function Error(t0) {
      var _ = this;
      _.size = _.classRef = _.fixedId = _.id = _.stacktrace = _.exception = _.message = _.kind = null;
      _.json = t0;
    },
    Event: function Event(t0) {
      var _ = this;
      _.data = _.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) {
      var _ = this;
      _.fixedId = _.id = _.location = _.isStatic = _.isFinal = _.isConst = _.declaredType = _.owner = _.name = null;
      _.json = t0;
    },
    Field: function Field(t0) {
      var _ = this;
      _.size = _.classRef = _.fixedId = _.id = _.staticValue = _.location = _.isStatic = _.isFinal = _.isConst = _.declaredType = _.owner = _.name = null;
      _.json = t0;
    },
    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) {
      var _ = this;
      _.fixedId = _.id = _.location = _.isConst = _.isStatic = _.owner = _.name = null;
      _.json = t0;
    },
    Func: function Func(t0) {
      var _ = this;
      _.size = _.classRef = _.fixedId = _.id = _.code = _.location = _.isConst = _.isStatic = _.owner = _.name = null;
      _.json = t0;
    },
    InstanceRef: function InstanceRef(t0) {
      var _ = this;
      _.fixedId = _.id = _.debugName = _.allocationLocation = _.portId = _.closureContext = _.closureFunction = _.pattern = _.parameterizedClass = _.typeClass = _.name = _.length = _.valueAsStringIsTruncated = _.valueAsString = _.classRef = _.identityHashCode = _.kind = null;
      _.json = t0;
    },
    Instance: function Instance(t0) {
      var _ = this;
      _.debugName = _.allocationLocation = _.portId = _.bound = _.targetType = _.parameterIndex = _.typeArguments = _.propertyValue = _.propertyKey = _.isMultiLine = _.isCaseSensitive = _.closureContext = _.closureFunction = _.pattern = _.mirrorReferent = _.bytes = _.associations = _.elements = _.fields = _.parameterizedClass = _.typeClass = _.name = _.count = _.offset = _.length = _.valueAsStringIsTruncated = _.valueAsString = _.Instance_classRef = _.identityHashCode = _.kind = null;
      _.size = _.classRef = _.fixedId = _.id = null;
      _.json = t0;
    },
    Instance_toJson_closure: function Instance_toJson_closure() {
    },
    Instance_toJson_closure0: function Instance_toJson_closure0() {
    },
    Instance_toJson_closure1: function Instance_toJson_closure1() {
    },
    IsolateRef: function IsolateRef(t0) {
      var _ = this;
      _.isSystemIsolate = _.name = _.number = _.id = null;
      _.json = t0;
    },
    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) {
      var _ = this;
      _.fixedId = _.id = _.uri = _.name = null;
      _.json = t0;
    },
    Library: function Library(t0) {
      var _ = this;
      _.size = _.classRef = _.fixedId = _.id = _.classes = _.functions = _.variables = _.scripts = _.dependencies = _.debuggable = _.uri = _.name = null;
      _.json = t0;
    },
    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;
      _.target = _.prefix = _.isDeferred = _.isImport = null;
    },
    LogRecord: function LogRecord(t0) {
      var _ = this;
      _.stackTrace = _.error = _.zone = _.loggerName = _.sequenceNumber = _.level = _.time = _.message = null;
      _.json = t0;
    },
    MapAssociation: function MapAssociation() {
      this.value = this.key = null;
    },
    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) {
      var _ = this;
      _.fixedId = _.id = _.debugName = _.allocationLocation = _.portId = _.closureContext = _.closureFunction = _.pattern = _.parameterizedClass = _.typeClass = _.name = _.length = _.valueAsStringIsTruncated = _.valueAsString = _.classRef = _.identityHashCode = _.kind = _.NullValRef_valueAsString = null;
      _.json = t0;
    },
    NullVal: function NullVal(t0) {
      var _ = this;
      _.allocationLocation = _.portId = _.bound = _.targetType = _.parameterIndex = _.typeArguments = _.propertyValue = _.propertyKey = _.isMultiLine = _.isCaseSensitive = _.closureContext = _.closureFunction = _.pattern = _.mirrorReferent = _.bytes = _.associations = _.elements = _.fields = _.parameterizedClass = _.typeClass = _.name = _.count = _.offset = _.length = _.valueAsStringIsTruncated = _.valueAsString = _.Instance_classRef = _.identityHashCode = _.kind = _.NullVal_valueAsString = null;
      _.size = _.classRef = _.fixedId = _.id = _.debugName = null;
      _.json = t0;
    },
    ObjRef: function ObjRef(t0) {
      this.fixedId = this.id = null;
      this.json = t0;
    },
    Obj: function Obj(t0) {
      var _ = this;
      _.size = _.classRef = _.fixedId = _.id = null;
      _.json = t0;
    },
    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() {
    },
    Response0: function Response0(t0) {
      this.json = t0;
    },
    Sentinel: function Sentinel(t0) {
      this.valueAsString = this.kind = null;
      this.json = t0;
    },
    ScriptRef: function ScriptRef(t0) {
      var _ = this;
      _.fixedId = _.id = _.uri = null;
      _.json = t0;
    },
    Script: function Script(t0, t1, t2) {
      var _ = this;
      _._tokenToLine = t0;
      _._tokenToColumn = t1;
      _.size = _.classRef = _.fixedId = _.id = _.tokenPosTable = _.source = _.columnOffset = _.lineOffset = _.library = _.uri = null;
      _.json = t2;
    },
    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() {
    },
    SourceLocation0: function SourceLocation0(t0) {
      var _ = this;
      _.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;
      _.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) {
      var _ = this;
      _.fixedId = _.id = _.name = null;
      _.json = t0;
    },
    TypeArguments: function TypeArguments(t0) {
      var _ = this;
      _.size = _.classRef = _.fixedId = _.id = _.types = _.name = null;
      _.json = t0;
    },
    TypeArguments_toJson_closure: function TypeArguments_toJson_closure() {
    },
    UnresolvedSourceLocation: function UnresolvedSourceLocation(t0) {
      var _ = this;
      _.column = _.line = _.tokenPos = _.scriptUri = _.script = null;
      _.json = t0;
    },
    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() {
    },
    lowerBound: function(sortedList, value, compare, $E) {
      if (compare == null)
        compare = B.utils1__defaultCompare$closure();
      return Q.lowerBoundBy(sortedList, H.instantiate1(B.utils1__identity$closure(), $E), compare, value);
    },
    lowerBoundBy: function(sortedList, keyOf, compare, value) {
      var max, min, mid,
        end = P.RangeError_checkValidRange(0, null, sortedList.length),
        key = keyOf.call$1(value);
      for (max = end, min = 0; min < max;) {
        mid = min + C.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;
    },
    _request: function(url) {
      return Q._request$body(url);
    },
    _request$body: function(url) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_HttpRequest),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], exception, response, $async$exception;
      var $async$_request = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              response = null;
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait(W.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;
              H.unwrapException($async$exception);
              // 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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_request, $async$completer);
    },
    isFirstRun: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, firstRun, resp;
      var $async$isFirstRun = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Q._request("api/getDevToolsFirstRun"), $async$isFirstRun);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200)
                firstRun = C.C_JsonCodec.decode$1(0, resp.responseText);
              else {
                Q.logWarning(resp, "api/getDevToolsFirstRun", null);
                firstRun = false;
              }
              $async$returnValue = firstRun;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$isFirstRun, $async$completer);
    },
    isAnalyticsEnabled0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, enabled, resp;
      var $async$isAnalyticsEnabled0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Q._request("api/getDevToolsEnabled"), $async$isAnalyticsEnabled0);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200)
                enabled = C.C_JsonCodec.decode$1(0, resp.responseText);
              else {
                Q.logWarning(resp, "api/getDevToolsEnabled", null);
                enabled = false;
              }
              $async$returnValue = enabled;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$isAnalyticsEnabled0, $async$completer);
    },
    setAnalyticsEnabled0: function(value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, resp;
      var $async$setAnalyticsEnabled0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Q._request("api/setDevToolsEnabled?enabled=" + H.S(value)), $async$setAnalyticsEnabled0);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                $async$returnValue = true;
                // goto return
                $async$goto = 1;
                break;
              } else
                Q.logWarning(resp, "api/setDevToolsEnabled", resp.responseText);
              $async$returnValue = false;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$setAnalyticsEnabled0, $async$completer);
    },
    _isFlutterGAEnabled: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, responseValue, enabled, resp;
      var $async$_isFlutterGAEnabled = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Q._request("api/getFlutterGAEnabled"), $async$_isFlutterGAEnabled);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                responseValue = C.C_JsonCodec.decode$1(0, resp.responseText);
                enabled = responseValue == null ? false : responseValue;
              } else {
                Q.logWarning(resp, "api/getFlutterGAEnabled", null);
                enabled = false;
              }
              $async$returnValue = enabled;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_isFlutterGAEnabled, $async$completer);
    },
    flutterGAClientID: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_String),
        $async$returnValue, resp, clientId;
      var $async$flutterGAClientID = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 6;
              return P._asyncAwait(Q._isFlutterGAEnabled(), $async$flutterGAClientID);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 7;
              return P._asyncAwait(Q._request("api/getFlutterGAClientId"), $async$flutterGAClientID);
            case 7:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                clientId = C.C_JsonCodec.decode$1(0, resp.responseText);
                if (clientId == null)
                  B.log("api/getFlutterGAClientId is null", C.LogLevel_1);
              } else {
                Q.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$flutterGAClientID, $async$completer);
    },
    setActiveSurvey: function(value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, resp;
      var $async$setActiveSurvey = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Q._request("api/setActiveSurvey?activeSurveyName=" + H.S(value)), $async$setActiveSurvey);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200 && C.C_JsonCodec.decode$1(0, resp.responseText)) {
                $async$returnValue = true;
                // goto return
                $async$goto = 1;
                break;
              } else
                Q.logWarning(resp, "api/setActiveSurvey", null);
              $async$returnValue = false;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$setActiveSurvey, $async$completer);
    },
    surveyActionTaken: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, surveyActionTaken, resp;
      var $async$surveyActionTaken = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Q._request("api/getSurveyActionTaken"), $async$surveyActionTaken);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200)
                surveyActionTaken = C.C_JsonCodec.decode$1(0, resp.responseText);
              else {
                Q.logWarning(resp, "api/getSurveyActionTaken", null);
                surveyActionTaken = false;
              }
              $async$returnValue = surveyActionTaken;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$surveyActionTaken, $async$completer);
    },
    setSurveyActionTaken: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        resp;
      var $async$setSurveyActionTaken = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(Q._request("api/setSurveyActionTaken?surveyActionTaken=true"), $async$setSurveyActionTaken);
            case 2:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) !== 200 || !C.C_JsonCodec.decode$1(0, resp.responseText))
                Q.logWarning(resp, "api/setSurveyActionTaken", resp.responseText);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setSurveyActionTaken, $async$completer);
    },
    surveyShownCount: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_int),
        $async$returnValue, surveyShownCount, resp;
      var $async$surveyShownCount = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Q._request("api/getSurveyShownCount"), $async$surveyShownCount);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200)
                surveyShownCount = C.C_JsonCodec.decode$1(0, resp.responseText);
              else {
                Q.logWarning(resp, "api/getSurveyShownCount", null);
                surveyShownCount = 0;
              }
              $async$returnValue = surveyShownCount;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$surveyShownCount, $async$completer);
    },
    incrementSurveyShownCount: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_int),
        $async$returnValue, surveyShownCount, resp;
      var $async$incrementSurveyShownCount = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Q._request("api/incrementSurveyShownCount"), $async$incrementSurveyShownCount);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200)
                surveyShownCount = C.C_JsonCodec.decode$1(0, resp.responseText);
              else {
                Q.logWarning(resp, "api/incrementSurveyShownCount", null);
                surveyShownCount = 0;
              }
              $async$returnValue = surveyShownCount;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$incrementSurveyShownCount, $async$completer);
    },
    resetDevToolsFile: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        resp;
      var $async$resetDevToolsFile = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(Q._request("api/resetDevTools"), $async$resetDevToolsFile);
            case 2:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) !== 200)
                Q.logWarning(resp, "api/resetDevTools", null);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$resetDevToolsFile, $async$completer);
    },
    requestBaseAppSizeFile: function(path) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_DevToolsJsonFile),
        $async$returnValue;
      var $async$requestBaseAppSizeFile = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = Q.requestFile("api/getBaseAppSizeFile", "appSizeBase", path);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$requestBaseAppSizeFile, $async$completer);
    },
    requestTestAppSizeFile: function(path) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_DevToolsJsonFile),
        $async$returnValue;
      var $async$requestTestAppSizeFile = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = Q.requestFile("api/getTestAppSizeFile", "appSizeTest", path);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$requestTestAppSizeFile, $async$completer);
    },
    requestFile: function(api, fileKey, filePath) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_DevToolsJsonFile),
        $async$returnValue, data, lastModified, resp;
      var $async$requestFile = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Q._request(P._Uri__Uri(null, api, null, null, P.LinkedHashMap_LinkedHashMap$_literal([fileKey, filePath], type$.legacy_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 = C.C_JsonCodec.decode$1(0, W._convertNativeToDart_XHR_Response(resp.response));
                lastModified = J.$index$asx(data, "lastModifiedTime");
                $async$returnValue = new B.DevToolsJsonFile(filePath, lastModified != null ? P.DateTime_parse(lastModified) : new P.DateTime(Date.now(), false), data);
                // goto return
                $async$goto = 1;
                break;
              } else
                Q.logWarning(resp, api, null);
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$requestFile, $async$completer);
    },
    logWarning: function(response, apiType, respText) {
      var t1 = "HttpRequest " + apiType + " failed status = ";
      t1 += H.S(response == null ? null : response.status);
      B.log(t1 + (respText != null ? ", responseText = " + respText : ""), C.LogLevel_1);
    },
    ExrWavelet_decode: function(input, si, nx, ox, ny, oy, mx) {
      var p, p0, a_b, p2, ey, oy1, oy2, ox1, ox2, t1, t2, i11, i10, i01, i00, py, ex, px, p01, p10, p11, _null = null,
        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 = H._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), i11 = _null, i10 = i11, i01 = i10, i00 = i01, 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) {
              Q.ExrWavelet_wdec14(input[px], input[p10], a_b);
              i00 = a_b[0];
              i10 = a_b[1];
              Q.ExrWavelet_wdec14(input[p01], input[p11], a_b);
              i01 = a_b[0];
              i11 = a_b[1];
              Q.ExrWavelet_wdec14(i00, i01, a_b);
              input[px] = a_b[0];
              input[p01] = a_b[1];
              Q.ExrWavelet_wdec14(i10, i11, a_b);
              input[p10] = a_b[0];
              input[p11] = a_b[1];
            } else {
              Q.ExrWavelet_wdec16(input[px], input[p10], a_b);
              i00 = a_b[0];
              i10 = a_b[1];
              Q.ExrWavelet_wdec16(input[p01], input[p11], a_b);
              i01 = a_b[0];
              i11 = a_b[1];
              Q.ExrWavelet_wdec16(i00, i01, a_b);
              input[px] = a_b[0];
              input[p01] = a_b[1];
              Q.ExrWavelet_wdec16(i10, i11, a_b);
              input[p10] = a_b[0];
              input[p11] = a_b[1];
            }
          }
          if (t1) {
            p10 = px + oy1;
            if (w14) {
              Q.ExrWavelet_wdec14(input[px], input[p10], a_b);
              i00 = a_b[0];
              input[p10] = a_b[1];
            } else {
              Q.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) {
              Q.ExrWavelet_wdec14(input[px], input[p01], a_b);
              i00 = a_b[0];
              input[p01] = a_b[1];
            } else {
              Q.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: function(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) + C.JSInt_methods._shrOtherPositive$1(hs, 1);
      a_b[0] = ai;
      a_b[1] = ai - hs;
    },
    ExrWavelet_wdec16: function(l, h, a_b) {
      var bb = l - C.JSInt_methods._shrOtherPositive$1(h, 1) & 65535;
      a_b[1] = bb;
      a_b[0] = h + bb - 32768 & 65535;
    },
    Half_DoubleToHalf: function(n) {
      var x_i, e, m;
      if ($.Half__toFloatFloat32 == null)
        Q.Half__initialize();
      n.toString;
      $.$get$__float32()[0] = n;
      x_i = J.$index$asx($.$get$__float32ToUint32(), 0);
      if (n === 0)
        return x_i >>> 16;
      e = J.$index$asx($.Half__eLut._readField$0(), x_i >>> 23 & 511);
      if (e !== 0) {
        m = x_i & 8388607;
        return e + (m + 4095 + (m >>> 13 & 1) >>> 13);
      }
      return Q.Half__convert(x_i);
    },
    Half__convert: function(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 | C.JSInt_methods.$shr(m + (C.JSInt_methods.$shl(1, t - 1) - 1) + (C.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: function() {
      var t1, i, e, t2, t3;
      if ($.Half__toFloatUint32 != null)
        return;
      t1 = new Uint32Array(65536);
      $.Half__toFloatUint32 = t1;
      $.Half__toFloatFloat32 = H.NativeFloat32List_NativeFloat32List$view(t1.buffer, 0, null);
      $.Half__eLut.__late_helper$_value = new Uint16Array(512);
      for (t1 = $.Half__eLut.__late_helper$_name, i = 0; i < 256; ++i) {
        e = (i & 255) - 112;
        if (e <= 0 || e >= 30) {
          t2 = $.Half__eLut.__late_helper$_value;
          if (t2 == null ? $.Half__eLut == null : t2 === $.Half__eLut)
            H.throwExpression(H.LateError$fieldNI(t1));
          J.$indexSet$ax(t2, i, 0);
          t2 = $.Half__eLut.__late_helper$_value;
          if (t2 == null ? $.Half__eLut == null : t2 === $.Half__eLut)
            H.throwExpression(H.LateError$fieldNI(t1));
          J.$indexSet$ax(t2, (i | 256) >>> 0, 0);
        } else {
          t2 = $.Half__eLut.__late_helper$_value;
          if (t2 == null ? $.Half__eLut == null : t2 === $.Half__eLut)
            H.throwExpression(H.LateError$fieldNI(t1));
          t3 = e << 10 >>> 0;
          J.$indexSet$ax(t2, i, t3);
          t2 = $.Half__eLut.__late_helper$_value;
          if (t2 == null ? $.Half__eLut == null : t2 === $.Half__eLut)
            H.throwExpression(H.LateError$fieldNI(t1));
          J.$indexSet$ax(t2, (i | 256) >>> 0, (t3 | 32768) >>> 0);
        }
      }
      for (t1 = $.Half__toFloatUint32, i = 0; i < 65536; ++i) {
        t1.toString;
        t1[i] = Q.Half__halfToFloat(i);
      }
    },
    Half__halfToFloat: function(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;
    }
  },
  R = {
    ArchiveException$: function(message) {
      return new R.ArchiveException(message, null, null);
    },
    ArchiveException: function ArchiveException(t0, t1, t2) {
      this.message = t0;
      this.source = t1;
      this.offset = t2;
    },
    XFileBase: function XFileBase() {
    },
    analyticsProvider: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_AnalyticsProvider),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], isEnabled, isFirstRun, isGtagsEnabled, exception, t1, $async$exception;
      var $async$analyticsProvider = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $._providerCompleter;
              if (t1 != null) {
                $async$returnValue = t1.future;
                // goto return
                $async$goto = 1;
                break;
              }
              $._providerCompleter = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_legacy_AnalyticsProvider), type$._AsyncCompleter_legacy_AnalyticsProvider);
              isEnabled = false;
              isFirstRun = false;
              isGtagsEnabled = false;
              $async$handler = 4;
              window.gaDevToolsEnabled = P.allowInterop(F.analytics__gaEnabled$closure());
              $async$goto = self.gtagsReset() ? 7 : 8;
              break;
            case 7:
              // then
              $async$goto = 9;
              return P._asyncAwait(Q.resetDevToolsFile(), $async$analyticsProvider);
            case 9:
              // returning from await.
            case 8:
              // join
              $async$goto = 10;
              return P._asyncAwait(F.isAnalyticsEnabled(), $async$analyticsProvider);
            case 10:
              // returning from await.
              if ($async$result)
                isEnabled = true;
              $async$goto = 11;
              return P._asyncAwait(Q.isFirstRun(), $async$analyticsProvider);
            case 11:
              // returning from await.
              if ($async$result)
                isFirstRun = true;
              isGtagsEnabled = F.isGtagsEnabled();
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              H.unwrapException($async$exception);
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              $._providerCompleter.complete$1(0, new R._RemoteAnalyticsProvider(isEnabled, isFirstRun, isGtagsEnabled));
              $async$returnValue = $._providerCompleter.future;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$analyticsProvider, $async$completer);
    },
    _RemoteAnalyticsProvider: function _RemoteAnalyticsProvider(t0, t1, t2) {
      var _ = this;
      _._isConfigured = false;
      _._isEnabled = t0;
      _._isFirstRun = t1;
      _._isGtagsEnabled = t2;
    },
    DiffTreeTypeExtension_get_display: function(_this) {
      switch (_this) {
        case C.DiffTreeType_0:
          return "Increase Only";
        case C.DiffTreeType_1:
          return "Decrease Only";
        case C.DiffTreeType_2:
        default:
          return "Combined";
      }
    },
    AppSizeScreen: function AppSizeScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.screenId = t0;
      _.title = t1;
      _.icon = t2;
      _.tabKey = t3;
      _.requiresLibrary = t4;
      _.requiresDartVm = t5;
      _.requiresDebugBuild = t6;
      _.requiresVmDeveloperMode = t7;
      _.worksOffline = t8;
      _.shouldShowForFlutterVersion = t9;
    },
    AppSizeBody: function AppSizeBody(t0) {
      this.key = t0;
    },
    _AppSizeBodyState: function _AppSizeBodyState(t0, t1, t2) {
      var _ = this;
      _._app_size_screen$_tabController = _.controller = null;
      _.preLoadingData = false;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._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) {
      var _ = this;
      _.analysisRoot = _.controller = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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) {
      var _ = this;
      _.diffRoot = _.controller = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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() {
    },
    __AppSizeBodyState_State_AutoDisposeMixin: function __AppSizeBodyState_State_AutoDisposeMixin() {
    },
    __AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin: function __AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin() {
    },
    __DiffViewState_State_AutoDisposeMixin: function __DiffViewState_State_AutoDisposeMixin() {
    },
    _NameColumn$: function(currentRootLevel) {
      var t1 = type$.legacy_TreemapNode;
      return new R._NameColumn0(currentRootLevel, P.StreamController_StreamController$broadcast(false, t1), P.StreamController_StreamController$broadcast(false, t1), "Library or Class", null, null, null, C.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;
    },
    ExportControllerWeb: function ExportControllerWeb() {
    },
    autoCompleteResultsFor: function(parts, controller) {
      return R.autoCompleteResultsFor$body(parts, controller);
    },
    autoCompleteResultsFor$body: function(parts, controller) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_String),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], left, response, variables, thisVariable, thisValue, $function, libraryRef, exception, t1, result, t2, $async$exception, $async$temp1, $async$temp2;
      var $async$autoCompleteResultsFor = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_String;
              result = P.LinkedHashSet_LinkedHashSet$_empty(t1);
              t2 = parts.leftSide;
              $async$goto = !J.endsWith$1$s(t2, ".") ? 3 : 5;
              break;
            case 3:
              // then
              variables = controller._variables._value;
              t2 = J.getInterceptor$ax(variables);
              J.addAll$1$ax(result, t2.map$1$1(variables, new R.autoCompleteResultsFor_closure(), t1));
              thisVariable = t2.firstWhere$2$orElse(variables, new R.autoCompleteResultsFor_closure0(), new R.autoCompleteResultsFor_closure1());
              $async$goto = thisVariable != null ? 6 : 7;
              break;
            case 6:
              // then
              thisValue = thisVariable.boundVar.value;
              $async$goto = type$.legacy_InstanceRef._is(thisValue) ? 8 : 9;
              break;
            case 8:
              // then
              $async$goto = 10;
              return P._asyncAwait(R._addAllInstanceMembersToAutocompleteList(result, thisValue, controller), $async$autoCompleteResultsFor);
            case 10:
              // returning from await.
              $async$temp1 = J;
              $async$temp2 = result;
              $async$goto = 11;
              return P._asyncAwait(R._autoCompleteMembersFor(thisValue.get$classRef(), controller, true), $async$autoCompleteResultsFor);
            case 11:
              // returning from await.
              $async$temp1.addAll$1$ax($async$temp2, $async$result);
            case 9:
              // join
            case 7:
              // join
              $function = controller.get$frameForEval().$function;
              $async$goto = $function != null ? 12 : 13;
              break;
            case 12:
              // then
              $async$goto = 14;
              return P._asyncAwait(controller.findOwnerLibrary$1($function), $async$autoCompleteResultsFor);
            case 14:
              // returning from await.
              libraryRef = $async$result;
              $async$goto = libraryRef != null ? 15 : 16;
              break;
            case 15:
              // then
              $async$temp1 = J;
              $async$temp2 = result;
              $async$goto = 17;
              return P._asyncAwait(R.libraryMemberAndImportsAutocompletes(libraryRef, controller), $async$autoCompleteResultsFor);
            case 17:
              // returning from await.
              $async$temp1.addAll$1$ax($async$temp2, $async$result);
            case 16:
              // join
            case 13:
              // join
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              left = C.JSArray_methods.get$last(t2.split(" "));
              left = J.substring$2$s(left, 0, J.get$length$asx(left) - 1);
              $async$handler = 19;
              $async$goto = 22;
              return P._asyncAwait(controller.evalAtCurrentFrame$1(left), $async$autoCompleteResultsFor);
            case 22:
              // returning from await.
              response = $async$result;
              $async$goto = type$.legacy_InstanceRef._is(response) ? 23 : 24;
              break;
            case 23:
              // then
              $async$goto = response.get$typeClass() != null ? 25 : 27;
              break;
            case 25:
              // then
              $async$temp1 = J;
              $async$temp2 = result;
              $async$goto = 28;
              return P._asyncAwait(R._autoCompleteMembersFor(response.get$typeClass(), controller, true), $async$autoCompleteResultsFor);
            case 28:
              // returning from await.
              $async$temp1.addAll$1$ax($async$temp2, $async$result);
              // goto join
              $async$goto = 26;
              break;
            case 27:
              // else
              $async$goto = 29;
              return P._asyncAwait(R._addAllInstanceMembersToAutocompleteList(result, response, controller), $async$autoCompleteResultsFor);
            case 29:
              // returning from await.
            case 26:
              // join
            case 24:
              // join
              $async$handler = 2;
              // goto after finally
              $async$goto = 21;
              break;
            case 19:
              // catch
              $async$handler = 18;
              $async$exception = $async$currentError;
              H.unwrapException($async$exception);
              // goto after finally
              $async$goto = 21;
              break;
            case 18:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 21:
              // after finally
            case 4:
              // join
              t1 = result;
              t2 = H.instanceType(t1)._eval$1("WhereIterable<SetMixin.E>");
              $async$returnValue = P.List_List$of(new H.WhereIterable(t1, new R.autoCompleteResultsFor_closure2(parts), t2), true, t2._eval$1("Iterable.E"));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$autoCompleteResultsFor, $async$completer);
    },
    libraryMemberAndImportsAutocompletes: function(libraryRef, controller) {
      return controller.libraryMemberAndImportsAutocompleteCache.putIfAbsent$2(0, libraryRef, new R.libraryMemberAndImportsAutocompletes_closure(libraryRef, controller));
    },
    _libraryMemberAndImportsAutocompletes: function(libraryRef, controller) {
      return R._libraryMemberAndImportsAutocompletes$body(libraryRef, controller);
    },
    _libraryMemberAndImportsAutocompletes$body: function(libraryRef, controller) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Set_legacy_String),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], futures, library, dependency, t1, t2, _i, t3, exception, result, $async$exception, $async$temp1;
      var $async$_libraryMemberAndImportsAutocompletes = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              result = P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_String);
              $async$handler = 4;
              futures = H._setArrayType([], type$.JSArray_legacy_Future_legacy_Set_legacy_String);
              J.add$1$ax(futures, R.libraryMemberAutocompletes(controller, libraryRef, true));
              $async$goto = 7;
              return P._asyncAwait(controller.getObject$1(0, libraryRef), $async$_libraryMemberAndImportsAutocompletes);
            case 7:
              // returning from await.
              library = $async$result;
              for (t1 = library.dependencies, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
                dependency = t1[_i];
                t3 = dependency.prefix;
                t3 = t3 == null ? null : t3.length !== 0;
                if (t3 === true)
                  J.add$1$ax(result, dependency.prefix);
                else
                  J.add$1$ax(futures, R.libraryMemberAutocompletes(controller, dependency.target, false));
              }
              $async$temp1 = J;
              $async$goto = 8;
              return P._asyncAwait(P.Future_wait(futures, type$.legacy_Set_legacy_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;
              H.unwrapException($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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_libraryMemberAndImportsAutocompletes, $async$completer);
    },
    libraryMemberAutocompletes: function(controller, libraryRef, includePrivates) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Set_legacy_String),
        $async$returnValue, t1, result;
      var $async$libraryMemberAutocompletes = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(controller.libraryMemberAutocompleteCache.putIfAbsent$2(0, libraryRef, new R.libraryMemberAutocompletes_closure(controller, libraryRef)), $async$libraryMemberAutocompletes);
            case 3:
              // returning from await.
              result = $async$result;
              if (!includePrivates) {
                t1 = result.where$1(0, new R.libraryMemberAutocompletes_closure0());
                result = P.LinkedHashSet_LinkedHashSet$of(t1, t1.$ti._eval$1("Iterable.E"));
              }
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$libraryMemberAutocompletes, $async$completer);
    },
    _libraryMemberAutocompletes: function(controller, libraryRef) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Set_legacy_String),
        $async$returnValue, futures, t2, _i, dependency, t3, t4, result, library, t1, $async$temp1;
      var $async$_libraryMemberAutocompletes = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              result = P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_String);
              $async$goto = 3;
              return P._asyncAwait(controller.getObject$1(0, libraryRef), $async$_libraryMemberAutocompletes);
            case 3:
              // returning from await.
              library = $async$result;
              t1 = library.variables;
              t1.toString;
              result.addAll$1(0, new H.MappedListIterable(t1, new R._libraryMemberAutocompletes_closure(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String*>")));
              t1 = library.functions;
              t1.toString;
              result.addAll$1(0, new H.MappedListIterable(t1, new R._libraryMemberAutocompletes_closure0(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String*>")));
              t1 = library.classes;
              t1.toString;
              result.addAll$1(0, new H.MappedListIterable(t1, new R._libraryMemberAutocompletes_closure1(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String*>")));
              futures = H._setArrayType([], type$.JSArray_legacy_Future_legacy_Set_legacy_String);
              for (t1 = library.dependencies, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
                dependency = t1[_i];
                if (!dependency.isImport) {
                  t3 = dependency.prefix;
                  t4 = t3 == null ? null : t3.length !== 0;
                  if (t4 === true)
                    result.add$1(0, t3);
                  else
                    futures.push(R.libraryMemberAutocompletes(controller, dependency.target, false));
                }
              }
              $async$goto = futures.length !== 0 ? 4 : 5;
              break;
            case 4:
              // then
              $async$temp1 = J;
              $async$goto = 6;
              return P._asyncAwait(P.Future_wait(futures, type$.legacy_Set_legacy_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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_libraryMemberAutocompletes, $async$completer);
    },
    _addAllInstanceMembersToAutocompleteList: function(result, response, controller) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        clazz, t1, t2, t3, instance, $async$temp1;
      var $async$_addAllInstanceMembersToAutocompleteList = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(controller.getObject$1(0, response), $async$_addAllInstanceMembersToAutocompleteList);
            case 2:
              // returning from await.
              instance = $async$result;
              $async$temp1 = result;
              $async$goto = 3;
              return P._asyncAwait(R._autoCompleteMembersFor(instance.Instance_classRef, controller, false), $async$_addAllInstanceMembersToAutocompleteList);
            case 3:
              // returning from await.
              $async$temp1.addAll$1(0, $async$result);
              $async$goto = 4;
              return P._asyncAwait(controller.classFor$1(instance.Instance_classRef), $async$_addAllInstanceMembersToAutocompleteList);
            case 4:
              // returning from await.
              clazz = $async$result;
              t1 = instance.fields;
              t1.toString;
              t2 = H._arrayInstanceType(t1);
              t3 = t2._eval$1("MappedIterable<1,String*>");
              result.addAll$1(0, new H.WhereIterable(new H.MappedIterable(new H.WhereIterable(t1, new R._addAllInstanceMembersToAutocompleteList_closure(), t2._eval$1("WhereIterable<1>")), new R._addAllInstanceMembersToAutocompleteList_closure0(), t3), new R._addAllInstanceMembersToAutocompleteList_closure1(clazz, controller), t3._eval$1("WhereIterable<Iterable.E>")));
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_addAllInstanceMembersToAutocompleteList, $async$completer);
    },
    _autoCompleteMembersFor: function(classRef, controller, staticContext) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Set_legacy_String),
        $async$returnValue, result, clazz, t1, t2, t3, t4, _i, funcRef, isConstructor, t5, $name, $async$temp1;
      var $async$_autoCompleteMembersFor = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (classRef == null) {
                $async$returnValue = P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_String);
                // goto return
                $async$goto = 1;
                break;
              }
              result = P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_String);
              $async$goto = 3;
              return P._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
              t1 = clazz.fields;
              t1.toString;
              t2 = H._arrayInstanceType(t1);
              result.addAll$1(0, new H.MappedIterable(new H.WhereIterable(t1, new R._autoCompleteMembersFor_closure(staticContext), t2._eval$1("WhereIterable<1>")), new R._autoCompleteMembersFor_closure0(), t2._eval$1("MappedIterable<1,String*>")));
              for (t1 = clazz.functions, t2 = t1.length, t3 = C.Set_gsmai._collection$_map, t4 = J.getInterceptor$x(t3), _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
                funcRef = t1[_i];
                if ((funcRef.get$name(funcRef) == clazz.name || J.startsWith$1$s(funcRef.get$name(funcRef), H.S(clazz.name) + ".") || funcRef.get$isStatic()) === staticContext && !t4.containsKey$1(t3, funcRef.get$name(funcRef))) {
                  isConstructor = funcRef.get$name(funcRef) == clazz.name || J.startsWith$1$s(funcRef.get$name(funcRef), H.S(clazz.name) + ".");
                  t5 = funcRef.get$name(funcRef);
                  t5.toString;
                  $name = H.stringReplaceAllUnchecked(t5, "=", "");
                  if (isConstructor) {
                    t5 = clazz.name.length + 1;
                    if ($name.length <= t5)
                      continue;
                    $name = C.JSString_methods.substring$1($name, t5);
                  }
                  result.add$1(0, $name);
                }
              }
              $async$goto = !staticContext ? 6 : 7;
              break;
            case 6:
              // then
              $async$temp1 = result;
              $async$goto = 8;
              return P._asyncAwait(R._autoCompleteMembersFor(clazz.superClass, controller, false), $async$_autoCompleteMembersFor);
            case 8:
              // returning from await.
              $async$temp1.addAll$1(0, $async$result);
            case 7:
              // join
              result._filterWhere$2(new R._autoCompleteMembersFor_closure1(clazz, controller), true);
            case 5:
              // join
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_autoCompleteMembersFor, $async$completer);
    },
    _isAccessible: function(member, clazz, controller) {
      var t1, t2,
        currentScript = controller.get$frameForEval().location.script;
      if (J.startsWith$1$s(member, "_")) {
        t1 = currentScript.get$id(currentScript);
        t2 = clazz == null ? null : clazz.location;
        t2 = t2 == null ? null : t2.script;
        t1 = t1 == (t2 == null ? null : t2.get$id(t2));
      } else
        t1 = true;
      return t1;
    },
    ExpressionEvalField: function ExpressionEvalField(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _ExpressionEvalFieldState: function _ExpressionEvalFieldState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _._autoCompleteController = null;
      _.evalTextFieldKey = t0;
      _.AutoDisposeMixin__delegate = t1;
      _.SearchFieldMixin_searchTextFieldController = t2;
      _.SearchFieldMixin__searchFieldFocusNode = t3;
      _.SearchFieldMixin__onSelection = t4;
      _.SearchFieldMixin__closeHandler = t5;
      _.SearchFieldMixin_arrowDown = t6;
      _.SearchFieldMixin_arrowUp = t7;
      _.SearchFieldMixin_enter = t8;
      _.SearchFieldMixin_escape = t9;
      _.SearchFieldMixin_tab = t10;
      _.SearchFieldMixin_enterMac = t11;
      _.SearchFieldMixin_tabMac = t12;
      _._widget = null;
      _._debugLifecycleState = t13;
      _._framework$_element = null;
    },
    _ExpressionEvalFieldState_initState_closure: function _ExpressionEvalFieldState_initState_closure(t0) {
      this.$this = t0;
    },
    _ExpressionEvalFieldState_build_closure: function _ExpressionEvalFieldState_build_closure(t0) {
      this.$this = t0;
    },
    _ExpressionEvalFieldState__onSelection_closure: function _ExpressionEvalFieldState__onSelection_closure(t0, t1) {
      this.$this = t0;
      this.word = t1;
    },
    _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() {
    },
    autoCompleteResultsFor_closure2: function autoCompleteResultsFor_closure2(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_SearchFieldMixin: function __ExpressionEvalFieldState_State_SearchFieldMixin() {
    },
    __ExpressionEvalFieldState_State_SearchFieldMixin_AutoDisposeMixin: function __ExpressionEvalFieldState_State_SearchFieldMixin_AutoDisposeMixin() {
    },
    SpanParser_parse: function(grammar, src) {
      var t1, foundMatch, t2, result,
        scanner = Z.LineScanner$(src, null),
        spans = H._setArrayType([], type$.JSArray_legacy_ScopeSpan);
      for (t1 = scanner.string.length; scanner._string_scanner$_position !== t1;) {
        t2 = grammar.topLevelMatchers;
        t2 = new H.ListIterator(t2, t2.get$length(t2), H._instanceType(t2)._eval$1("ListIterator<ListMixin.E>"));
        while (true) {
          if (!t2.moveNext$0()) {
            foundMatch = false;
            break;
          }
          result = t2.__internal$_current.scan$2(grammar, scanner);
          if (result != null) {
            C.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: function(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");
      t1 = t1 == null ? _null : J.cast$1$0$ax(t1, type$.legacy_Map_of_legacy_String_and_dynamic);
      t1 = t1 == null ? _null : J.map$1$ax(t1, new R.Grammar_Grammar$fromJson_closure());
      t1 = t1 == null ? _null : J.toList$0$ax(t1);
      t1 = t1 == null ? _null : J.cast$1$0$ax(t1, type$.legacy__Matcher);
      t4 = new R.Repository(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_List_legacy__Matcher));
      t4.Repository$build$1(json);
      return new R.Grammar(t2, t3, t1, t4);
    },
    ScopeSpan$: function(column, end, line, scope, start) {
      var t1 = P.List_List$of($.$get$ScopeSpan__scopeStack().toList$0(0), true, type$.legacy_String);
      if (scope != null)
        t1.push(scope);
      return new R.ScopeSpan(start, end, line, column, t1);
    },
    ScopeSpan_applyScope: function(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: function(json) {
      var t1 = J.getInterceptor$x(json);
      if (t1.containsKey$1(json, "include"))
        return new R._IncludeMatcher(J.substring$1$s(t1.$index(json, "include"), 1), P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic).$index(0, "name"));
      else if (t1.containsKey$1(json, "match"))
        return new R._SimpleMatcher(P.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 R._MultilineMatcher$(json);
      }
      throw H.wrapException(P.StateError$("Unknown pattern type: " + H.S(json)));
    },
    _MultilineMatcher$: function(json) {
      var _null = null,
        t1 = J.getInterceptor$asx(json),
        t2 = P.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 : P.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 : P.RegExp_RegExp(t1.$index(json, "while"), true, true),
        t9 = t1.$index(json, "patterns");
      t9 = t9 == null ? _null : J.cast$1$0$ax(t9, type$.legacy_Map_of_legacy_String_and_dynamic);
      t9 = t9 == null ? _null : J.map$1$ax(t9, new R._MultilineMatcher_closure());
      t9 = t9 == null ? _null : J.toList$0$ax(t9);
      t9 = t9 == null ? _null : J.cast$1$0$ax(t9, type$.legacy__Matcher);
      return new R._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;
    },
    Tracker: function Tracker() {
    },
    TrackerClass: function TrackerClass(t0, t1) {
      var _ = this;
      _.name = t0;
      _.parent = null;
      _.children = t1;
      _.index = -1;
      _._trees$_depth = 0;
      _._trees$_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;
      _._trees$_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_createTrackerTree_closure0: function TreeTracker_createTrackerTree_closure0() {
    },
    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() {
    },
    LegacyPerformanceScreen__shouldShowForFlutterVersion: function(currentVersion) {
      return currentVersion != null && currentVersion.compareTo$1(0, new T.SemanticVersion(2, 3, 0, 16, 0)) < 0;
    },
    LegacyPerformanceScreen: function LegacyPerformanceScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.screenId = t0;
      _.title = t1;
      _.icon = t2;
      _.tabKey = t3;
      _.requiresLibrary = t4;
      _.requiresDartVm = t5;
      _.requiresDebugBuild = t6;
      _.requiresVmDeveloperMode = t7;
      _.worksOffline = t8;
      _.shouldShowForFlutterVersion = t9;
    },
    LegacyPerformanceScreenBody: function LegacyPerformanceScreenBody(t0) {
      this.key = t0;
    },
    LegacyPerformanceScreenBodyState: function LegacyPerformanceScreenBodyState(t0, t1, t2) {
      var _ = this;
      _.controller = null;
      _.processing = false;
      _.processingProgress = 0;
      _.OfflineScreenMixin__loadingOfflineData = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    LegacyPerformanceScreenBodyState_didChangeDependencies_closure: function LegacyPerformanceScreenBodyState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    LegacyPerformanceScreenBodyState_didChangeDependencies__closure0: function LegacyPerformanceScreenBodyState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    LegacyPerformanceScreenBodyState_didChangeDependencies_closure0: function LegacyPerformanceScreenBodyState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    LegacyPerformanceScreenBodyState_didChangeDependencies__closure: function LegacyPerformanceScreenBodyState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    LegacyPerformanceScreenBodyState_build_closure: function LegacyPerformanceScreenBodyState_build_closure(t0) {
      this.$this = t0;
    },
    LegacyPerformanceScreenBodyState_build__closure: function LegacyPerformanceScreenBodyState_build__closure(t0) {
      this.frames = t0;
    },
    LegacyPerformanceScreenBodyState_build_closure0: function LegacyPerformanceScreenBodyState_build_closure0() {
    },
    LegacyPerformanceScreenBodyState__buildPrimaryStateControls_closure: function LegacyPerformanceScreenBodyState__buildPrimaryStateControls_closure(t0) {
      this.$this = t0;
    },
    LegacyPerformanceScreenBodyState__openSettingsDialog_closure: function LegacyPerformanceScreenBodyState__openSettingsDialog_closure(t0) {
      this.$this = t0;
    },
    LegacyPerformanceScreenBodyState__clearPerformanceData_closure: function LegacyPerformanceScreenBodyState__clearPerformanceData_closure() {
    },
    LegacyPerformanceSettingsDialog: function LegacyPerformanceSettingsDialog(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    LegacyPerformanceSettingsDialog__timelineStreams_closure: function LegacyPerformanceSettingsDialog__timelineStreams_closure(t0) {
      this.advanced = t0;
    },
    LegacyPerformanceSettingsDialog__timelineStreams_closure0: function LegacyPerformanceSettingsDialog__timelineStreams_closure0(t0, t1) {
      this.$this = t0;
      this.stream = t1;
    },
    LegacyPerformanceSettingsDialog__buildStream_closure: function LegacyPerformanceSettingsDialog__buildStream_closure(t0) {
      this.onChanged = t0;
    },
    _LegacyBadgeJankyFramesSetting: function _LegacyBadgeJankyFramesSetting(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _LegacyPerformanceScreenBodyState_State_AutoDisposeMixin: function _LegacyPerformanceScreenBodyState_State_AutoDisposeMixin() {
    },
    _LegacyPerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin: function _LegacyPerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin() {
    },
    PerformanceScreen__shouldShowForFlutterVersion: function(currentVersion) {
      return currentVersion != null && currentVersion.compareTo$1(0, new T.SemanticVersion(2, 3, 0, 16, 0)) >= 0;
    },
    PerformanceScreen: function PerformanceScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.screenId = t0;
      _.title = t1;
      _.icon = t2;
      _.tabKey = t3;
      _.requiresLibrary = t4;
      _.requiresDartVm = t5;
      _.requiresDebugBuild = t6;
      _.requiresVmDeveloperMode = t7;
      _.worksOffline = t8;
      _.shouldShowForFlutterVersion = t9;
    },
    PerformanceScreenBody: function PerformanceScreenBody(t0) {
      this.key = t0;
    },
    PerformanceScreenBodyState: function PerformanceScreenBodyState(t0, t1, t2) {
      var _ = this;
      _.controller = null;
      _.processing = false;
      _.processingProgress = 0;
      _.OfflineScreenMixin__loadingOfflineData = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._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(t0) {
      this.$this = t0;
    },
    PerformanceScreenBodyState_build__closure: function PerformanceScreenBodyState_build__closure(t0) {
      this.frames = t0;
    },
    PerformanceScreenBodyState_build_closure0: function PerformanceScreenBodyState_build_closure0() {
    },
    PerformanceScreenBodyState__buildPrimaryStateControls_closure: function PerformanceScreenBodyState__buildPrimaryStateControls_closure(t0) {
      this.$this = t0;
    },
    PerformanceScreenBodyState__openSettingsDialog_closure: function PerformanceScreenBodyState__openSettingsDialog_closure(t0) {
      this.$this = t0;
    },
    PerformanceScreenBodyState__clearPerformanceData_closure: function PerformanceScreenBodyState__clearPerformanceData_closure() {
    },
    PerformanceSettingsDialog: function PerformanceSettingsDialog(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    PerformanceSettingsDialog__timelineStreams_closure: function PerformanceSettingsDialog__timelineStreams_closure(t0) {
      this.advanced = t0;
    },
    PerformanceSettingsDialog__timelineStreams_closure0: function PerformanceSettingsDialog__timelineStreams_closure0(t0, t1) {
      this.$this = t0;
      this.stream = t1;
    },
    PerformanceSettingsDialog__buildStream_closure: function PerformanceSettingsDialog__buildStream_closure(t0) {
      this.onChanged = t0;
    },
    _BadgeJankyFramesSetting: function _BadgeJankyFramesSetting(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _PerformanceScreenBodyState_State_AutoDisposeMixin: function _PerformanceScreenBodyState_State_AutoDisposeMixin() {
    },
    _PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin: function _PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin() {
    },
    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) {
      var _ = this;
      _._colorOffset = 0;
      _.stackFrameLefts = t0;
      _.rows = t1;
      _.sections = t2;
      _.focusNode = t3;
      _._altKeyPressed = false;
      _.zoomController = _._flameChartScrollController = _.horizontalControllerGroup = _.verticalControllerGroup = _.verticalExtentDelegate = _.mouseHoverX = null;
      _.currentZoom = 1;
      _.verticalScrollOffset = _.horizontalScrollOffset = 0;
      _.TickerProviderStateMixin__tickers = t4;
      _.AutoDisposeMixin__delegate = t5;
      _._widget = null;
      _._debugLifecycleState = t6;
      _._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;
    },
    _connectWithSse: function(uri, onError, finishedCompleter) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_VmServiceWrapper),
        $async$returnValue, client, t2, t3, stream, service, t1;
      var $async$_connectWithSse = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = new P._Future($.Zone__current, type$._Future_legacy_VmServiceWrapper);
              uri = uri.get$scheme() === "sse" ? uri.replace$1$scheme(0, "http") : uri.replace$1$scheme(0, "https");
              client = M.SseClient$(uri.toString$0(0));
              t2 = client._incomingController;
              t3 = H._instanceType(t2)._eval$1("_ControllerStream<1>");
              stream = P._AsBroadcastStream$(new P._ControllerStream(t2, t3), null, null, t3._eval$1("Stream.T"));
              t2 = client._outgoingController;
              t3 = new P._StreamSinkWrapper(t2, H._instanceType(t2)._eval$1("_StreamSinkWrapper<1>"));
              service = U.VmServiceWrapper$fromNewVmService(stream, t3.get$add(t3), uri);
              t2 = t2.get$done();
              if (t2 != null)
                t2.whenComplete$1(new R._connectWithSse_closure(finishedCompleter, service));
              new P._AsyncCompleter(t1, type$._AsyncCompleter_legacy_VmServiceWrapper).complete$1(0, service);
              t2 = stream.drain$1$0(type$.dynamic);
              t2.catchError$1(onError);
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_connectWithSse, $async$completer);
    },
    _connectWithWebSocket: function(uri, onError, finishedCompleter) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_VmServiceWrapper),
        $async$returnValue, path, ws, t1, service, scheme;
      var $async$_connectWithWebSocket = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              scheme = uri.isScheme$1("wss") || uri.isScheme$1("https") ? "wss" : "ws";
              if (C.JSString_methods.endsWith$1(uri.get$path(uri), "/ws"))
                path = uri.get$path(uri);
              else
                path = C.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.get$_foreign();
              t1 = t1.get$stream(t1);
              service = U.VmServiceWrapper$fromNewVmService(new P._HandleErrorStream(onError, null, t1, H._instanceType(t1)._eval$1("_HandleErrorStream<Stream.T>")), new R._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.get$done().then$1$2$onError(0, new R._connectWithWebSocket_closure0(finishedCompleter, service), onError, type$.void);
              $async$returnValue = service;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_connectWithWebSocket, $async$completer);
    },
    connect: function(uri, finishedCompleter) {
      var t1 = new P._Future($.Zone__current, type$._Future_legacy_VmServiceWrapper),
        connectedCompleter = new P._AsyncCompleter(t1, type$._AsyncCompleter_legacy_VmServiceWrapper),
        t2 = new R.connect_onError(connectedCompleter),
        t3 = type$.Null;
      J.then$1$2$onError$x(new R.connect_connectHelper(uri, t2, finishedCompleter).call$0(), new R.connect_closure(connectedCompleter), t2, t3);
      finishedCompleter.future.then$1$1(0, new R.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$: function(enabled, value) {
      return new R.ServiceExtensionState(enabled, value);
    },
    ServiceConnectionManager: function ServiceConnectionManager(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._connectionAvailableController = t0;
      _._serviceAvailable = t1;
      _.serviceTrafficLogger = null;
      _._registeredServiceNotifiers = t2;
      _._registeredMethodsForService = t3;
      _._vmFlagManager = t4;
      _._isolateManager = null;
      _._errorBadgeManager = t5;
      _.sdkVersion = _.vm = _.service = _.connectedApp = _._serviceExtensionManager = null;
      _._connectedState = t6;
      _._connectionClosedController = t7;
      _._deviceBusy = t8;
    },
    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_vmServiceOpened_closure0: function ServiceConnectionManager_vmServiceOpened_closure0(t0) {
      this.service = t0;
    },
    ServiceConnectionManager_flutterViewId_closure: function ServiceConnectionManager_flutterViewId_closure() {
    },
    ServiceConnectionManager_flutterViewId_closure0: function ServiceConnectionManager_flutterViewId_closure0() {
    },
    ServiceConnectionManager_libraryUriAvailableNow_closure: function ServiceConnectionManager_libraryUriAvailableNow_closure() {
    },
    ServiceConnectionManager_libraryUriAvailableNow_closure0: function ServiceConnectionManager_libraryUriAvailableNow_closure0(t0) {
      this.uri = t0;
    },
    IsolateManager: function IsolateManager(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._isolates = t0;
      _._service = _._selectedIsolate = null;
      _._isolateCreatedController = t1;
      _._isolateExitedController = t2;
      _._selectedIsolateController = t3;
      _.selectedIsolateAvailable = t4;
      _._lastIsolateIndex = 0;
      _._isolateIndexMap = t5;
      _.selectedIsolateLibraries = null;
      _._mainIsolate = t6;
      _._auto_dispose$_subscriptions = t7;
      _._listenables = t8;
      _._auto_dispose$_listeners = t9;
    },
    IsolateManager_init_closure: function IsolateManager_init_closure(t0) {
      this.$this = t0;
    },
    IsolateManager_selectIsolate_closure: function IsolateManager_selectIsolate_closure(t0) {
      this.isolateRefId = t0;
    },
    IsolateManager_selectIsolate_closure0: function IsolateManager_selectIsolate_closure0() {
    },
    IsolateManager__handleIsolateEvent_closure: function IsolateManager__handleIsolateEvent_closure() {
    },
    IsolateManager__computeMainIsolate_closure: function IsolateManager__computeMainIsolate_closure() {
    },
    IsolateManager__computeMainIsolate_closure0: function IsolateManager__computeMainIsolate_closure0() {
    },
    ServiceExtensionManager: function ServiceExtensionManager(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _._service = null;
      _._checkForFirstFrameStarted = false;
      _._mainIsolate = t0;
      _._firstFrameReceived = t1;
      _._serviceExtensionAvailable = t2;
      _._serviceExtensionStateController = t3;
      _._serviceExtensions = t4;
      _._enabledServiceExtensions = t5;
      _._maybeRegisteringServiceExtensions = t6;
      _._pendingServiceExtensions = t7;
      _._callbacksOnIsolateResume = t8;
      _._connectedApp = null;
      _._auto_dispose$_subscriptions = t9;
      _._listenables = t10;
      _._auto_dispose$_listeners = t11;
    },
    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, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.name = t1;
      _.value = t2;
      _.$call = t3;
    },
    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._box_0 = t0;
      this.listenable = t1;
      this.completer = 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;
    },
    VmFlagManager: function VmFlagManager(t0, t1, t2, t3, t4) {
      var _ = this;
      _._service = null;
      _._service_manager$_flags = t0;
      _._flagNotifiers = t1;
      _._auto_dispose$_subscriptions = t2;
      _._listenables = t3;
      _._auto_dispose$_listeners = t4;
    },
    ConnectedState: function ConnectedState(t0, t1) {
      this.connected = t0;
      this.userInitiatedConnectionState = 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;
    },
    Tween$: function(begin, end, $T) {
      return new R.Tween(begin, end, $T._eval$1("Tween<0>"));
    },
    CurveTween$: function(curve) {
      return new R.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() {
    },
    _resolveTextStyle: function(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() {
    },
    ObserverList$: function($T) {
      return new R.ObserverList(H._setArrayType([], $T._eval$1("JSArray<0>")), $T._eval$1("ObserverList<0>"));
    },
    ObserverList: function ObserverList(t0, t1) {
      var _ = this;
      _._observer_list$_list = t0;
      _._isDirty = false;
      _.__ObserverList__set = $;
      _.$ti = t1;
    },
    HashedObserverList: function HashedObserverList(t0, t1) {
      this._observer_list$_map = t0;
      this.$ti = t1;
    },
    StackFrame_fromStackString: function(stack) {
      var t1 = type$.WhereTypeIterable_StackFrame;
      return P.List_List$of(new H.WhereTypeIterable(new H.MappedIterable(new H.WhereIterable(H._setArrayType(C.JSString_methods.trim$0(stack).split("\n"), type$.JSArray_String), new R.StackFrame_fromStackString_closure(), type$.WhereIterable_String), R.stack_frame_StackFrame_fromStackTraceLine$closure(), type$.MappedIterable_of_String_and_nullable_StackFrame), t1), true, t1._eval$1("Iterable.E"));
    },
    StackFrame__parseWebFrame: function(line) {
      var t1 = R.StackFrame__parseWebNonDebugFrame(line);
      return t1;
    },
    StackFrame__parseWebNonDebugFrame: function(line) {
      var classAndMethod, className,
        _s9_ = "<unknown>",
        match = $.$get$StackFrame__webNonDebugFramePattern().firstMatch$1(line);
      if (match == null)
        return null;
      classAndMethod = H._setArrayType(match._match[1].split("."), type$.JSArray_String);
      className = classAndMethod.length > 1 ? C.JSArray_methods.get$first(classAndMethod) : _s9_;
      return new R.StackFrame(line, -1, _s9_, _s9_, _s9_, -1, -1, className, classAndMethod.length > 1 ? H.SubListIterable$(classAndMethod, 1, null, type$.String).join$1(0, ".") : C.JSArray_methods.get$single(classAndMethod));
    },
    StackFrame_fromStackTraceLine: function(line) {
      var t1, t2, method, className, parts, packageUri, packagePath, $package, t3, t4, _null = null,
        _s9_ = "<unknown>";
      if (line === "<asynchronous suspension>")
        return C.StackFrame_SOW;
      else if (line === "...")
        return C.StackFrame_8sg;
      if (!J.startsWith$1$s(line, "#"))
        return R.StackFrame__parseWebFrame(line);
      t1 = P.RegExp_RegExp("^#(\\d+) +(.+) \\((.+?):?(\\d+){0,1}:?(\\d+){0,1}\\)$", true, false).firstMatch$1(line)._match;
      t2 = t1[2];
      t2.toString;
      method = H.stringReplaceAllUnchecked(t2, ".<anonymous closure>", "");
      if (C.JSString_methods.startsWith$1(method, "new")) {
        className = method.split(" ").length > 1 ? method.split(" ")[1] : _s9_;
        if (J.contains$1$asx(className, ".")) {
          parts = className.split(".");
          className = parts[0];
          method = parts[1];
        } else
          method = "";
      } else if (C.JSString_methods.contains$1(method, ".")) {
        parts = method.split(".");
        className = parts[0];
        method = parts[1];
      } else
        className = "";
      t2 = t1[3];
      t2.toString;
      packageUri = P.Uri_parse(t2, 0, _null);
      packagePath = packageUri.get$path(packageUri);
      if (packageUri.get$scheme() === "dart" || packageUri.get$scheme() === "package") {
        $package = J.$index$asx(packageUri.get$pathSegments(), 0);
        packagePath = C.JSString_methods.replaceFirst$2(packageUri.get$path(packageUri), H.S(J.$index$asx(packageUri.get$pathSegments(), 0)) + "/", "");
      } else
        $package = _s9_;
      t2 = t1[1];
      t2.toString;
      t2 = P.int_parse(t2, _null);
      t3 = packageUri.get$scheme();
      t4 = t1[4];
      if (t4 == null)
        t4 = -1;
      else {
        t4 = t4;
        t4.toString;
        t4 = P.int_parse(t4, _null);
      }
      t1 = t1[5];
      if (t1 == null)
        t1 = -1;
      else {
        t1 = t1;
        t1.toString;
        t1 = P.int_parse(t1, _null);
      }
      return new R.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() {
    },
    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;
    },
    InkResponse$: function(autofocus, borderRadius, canRequestFocus, child, containedInkWell, customBorder, enableFeedback, excludeFromSemantics, focusColor, focusNode, highlightColor, highlightShape, hoverColor, key, mouseCursor, onDoubleTap, onFocusChange, onHighlightChanged, onHover, onLongPress, onTap, onTapCancel, onTapDown, overlayColor, radius, splashColor, splashFactory) {
      return new R.InkResponse(child, onTap, onTapDown, 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$: function(autofocus, canRequestFocus, child, customBorder, enableFeedback, focusColor, focusNode, highlightColor, hoverColor, key, mouseCursor, onDoubleTap, onFocusChange, onHighlightChanged, onHover, onLongPress, onTap, onTapCancel, onTapDown, overlayColor, splashColor, splashFactory) {
      return new R.InkWell(child, onTap, onTapDown, onTapCancel, onDoubleTap, onLongPress, onHighlightChanged, onHover, mouseCursor, true, C.BoxShape_0, null, null, 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) {
      var _ = this;
      _.child = t0;
      _.onTap = t1;
      _.onTapDown = t2;
      _.onTapCancel = t3;
      _.onDoubleTap = t4;
      _.onLongPress = t5;
      _.onHighlightChanged = t6;
      _.onHover = t7;
      _.mouseCursor = t8;
      _.containedInkWell = t9;
      _.highlightShape = t10;
      _.radius = t11;
      _.borderRadius = t12;
      _.customBorder = t13;
      _.focusColor = t14;
      _.hoverColor = t15;
      _.highlightColor = t16;
      _.overlayColor = t17;
      _.splashColor = t18;
      _.splashFactory = t19;
      _.enableFeedback = t20;
      _.excludeFromSemantics = t21;
      _.onFocusChange = t22;
      _.autofocus = t23;
      _.focusNode = t24;
      _.canRequestFocus = t25;
      _.key = t26;
    },
    _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) {
      var _ = this;
      _.child = t0;
      _.onTap = t1;
      _.onTapDown = t2;
      _.onTapCancel = t3;
      _.onDoubleTap = t4;
      _.onLongPress = t5;
      _.onHighlightChanged = t6;
      _.onHover = t7;
      _.mouseCursor = t8;
      _.containedInkWell = t9;
      _.highlightShape = t10;
      _.radius = t11;
      _.borderRadius = t12;
      _.customBorder = t13;
      _.focusColor = t14;
      _.hoverColor = t15;
      _.highlightColor = t16;
      _.overlayColor = t17;
      _.splashColor = t18;
      _.splashFactory = t19;
      _.enableFeedback = t20;
      _.excludeFromSemantics = t21;
      _.onFocusChange = t22;
      _.autofocus = t23;
      _.focusNode = t24;
      _.canRequestFocus = t25;
      _.parentState = t26;
      _.getRectCallback = t27;
      _.debugCheckContext = t28;
      _.key = t29;
    },
    _HighlightType: function _HighlightType(t0, t1) {
      this.index = t0;
      this._ink_well$_name = t1;
    },
    _InkResponseState: function _InkResponseState(t0, t1, t2, t3) {
      var _ = this;
      _._currentSplash = _._splashes = null;
      _._hovering = false;
      _._highlights = t0;
      _.___InkResponseState__actionMap = $;
      _._activeChildren = t1;
      _._ink_well$_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) {
      var _ = this;
      _.child = t0;
      _.onTap = t1;
      _.onTapDown = t2;
      _.onTapCancel = t3;
      _.onDoubleTap = t4;
      _.onLongPress = t5;
      _.onHighlightChanged = t6;
      _.onHover = t7;
      _.mouseCursor = t8;
      _.containedInkWell = t9;
      _.highlightShape = t10;
      _.radius = t11;
      _.borderRadius = t12;
      _.customBorder = t13;
      _.focusColor = t14;
      _.hoverColor = t15;
      _.highlightColor = t16;
      _.overlayColor = t17;
      _.splashColor = t18;
      _.splashFactory = t19;
      _.enableFeedback = t20;
      _.excludeFromSemantics = t21;
      _.onFocusChange = t22;
      _.autofocus = t23;
      _.focusNode = t24;
      _.canRequestFocus = t25;
      _.key = t26;
    },
    __InkResponseState_State_AutomaticKeepAliveClientMixin: function __InkResponseState_State_AutomaticKeepAliveClientMixin() {
    },
    PopupMenuThemeData_lerp: function(a, b, t) {
      var t2, t3, t4, t5, t6, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t1 ? _null : a.color;
      t3 = b == null;
      t2 = P.Color_lerp(t2, t3 ? _null : b.color, t);
      t4 = t1 ? _null : a.shape;
      t4 = Y.ShapeBorder_lerp(t4, t3 ? _null : b.shape, t);
      t5 = t1 ? _null : a.elevation;
      t5 = P.lerpDouble(t5, t3 ? _null : b.elevation, t);
      t6 = t1 ? _null : a.textStyle;
      t6 = A.TextStyle_lerp(t6, t3 ? _null : b.textStyle, t);
      if (t < 0.5)
        t1 = t1 ? _null : a.enableFeedback;
      else
        t1 = t3 ? _null : b.enableFeedback;
      return new R.PopupMenuThemeData(t2, t4, t5, t6, t1);
    },
    PopupMenuTheme_of: function(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.PopupMenuTheme);
      t1 = K.Theme_of(context);
      return t1.popupMenuTheme;
    },
    PopupMenuThemeData: function PopupMenuThemeData(t0, t1, t2, t3, t4) {
      var _ = this;
      _.color = t0;
      _.shape = t1;
      _.elevation = t2;
      _.textStyle = t3;
      _.enableFeedback = t4;
    },
    _PopupMenuThemeData_Object_Diagnosticable: function _PopupMenuThemeData_Object_Diagnosticable() {
    },
    SwitchThemeData__lerpProperties: function(a, b, t, lerpFunction, $T) {
      if (a == null && b == null)
        return null;
      return new R._LerpProperties(a, b, t, lerpFunction, $T._eval$1("_LerpProperties<0>"));
    },
    SwitchThemeData: function SwitchThemeData(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.thumbColor = t0;
      _.trackColor = t1;
      _.materialTapTargetSize = t2;
      _.mouseCursor = t3;
      _.overlayColor = t4;
      _.splashRadius = t5;
    },
    _LerpProperties: function _LerpProperties(t0, t1, t2, t3, t4) {
      var _ = this;
      _.a = t0;
      _.b = t1;
      _.t = t2;
      _.lerpFunction = t3;
      _.$ti = t4;
    },
    _SwitchThemeData_Object_Diagnosticable: function _SwitchThemeData_Object_Diagnosticable() {
    },
    TextSelectionThemeData_lerp: function(a, b, t) {
      var t2, t3, t4, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t1 ? _null : a.cursorColor;
      t3 = b == null;
      t2 = P.Color_lerp(t2, t3 ? _null : b.cursorColor, t);
      t4 = t1 ? _null : a.selectionColor;
      t4 = P.Color_lerp(t4, t3 ? _null : b.selectionColor, t);
      t1 = t1 ? _null : a.selectionHandleColor;
      return new R.TextSelectionThemeData(t2, t4, P.Color_lerp(t1, t3 ? _null : b.selectionHandleColor, t));
    },
    TextSelectionTheme_of: function(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.TextSelectionTheme);
      t1 = K.Theme_of(context);
      return t1.textSelectionTheme;
    },
    TextSelectionThemeData: function TextSelectionThemeData(t0, t1, t2) {
      this.cursorColor = t0;
      this.selectionColor = t1;
      this.selectionHandleColor = t2;
    },
    _TextSelectionThemeData_Object_Diagnosticable: function _TextSelectionThemeData_Object_Diagnosticable() {
    },
    TextTheme$: function(bodyText1, bodyText2, button, caption, headline1, headline2, headline3, headline4, headline5, headline6, overline, subtitle1, subtitle2) {
      var _null = null,
        t1 = headline1 == null ? _null : headline1,
        t2 = headline2 == null ? _null : headline2,
        t3 = headline3 == null ? _null : headline3,
        t4 = headline4 == null ? _null : headline4,
        t5 = headline5 == null ? _null : headline5,
        t6 = headline6 == null ? _null : headline6,
        t7 = subtitle1 == null ? _null : subtitle1,
        t8 = subtitle2 == null ? _null : subtitle2,
        t9 = bodyText1 == null ? _null : bodyText1;
      return new R.TextTheme(t1, t2, t3, t4, t5, t6, t7, t8, t9, bodyText2 == null ? _null : bodyText2, caption, button, overline);
    },
    TextTheme_lerp: function(a, b, t) {
      var t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, _null = null,
        t1 = a == null,
        t2 = t1 ? _null : a.headline1,
        t3 = b == null;
      t2 = A.TextStyle_lerp(t2, t3 ? _null : b.headline1, t);
      t4 = t1 ? _null : a.headline2;
      t4 = A.TextStyle_lerp(t4, t3 ? _null : b.headline2, t);
      t5 = t1 ? _null : a.headline3;
      t5 = A.TextStyle_lerp(t5, t3 ? _null : b.headline3, t);
      t6 = t1 ? _null : a.headline4;
      t6 = A.TextStyle_lerp(t6, t3 ? _null : b.headline4, t);
      t7 = t1 ? _null : a.headline5;
      t7 = A.TextStyle_lerp(t7, t3 ? _null : b.headline5, t);
      t8 = t1 ? _null : a.headline6;
      t8 = A.TextStyle_lerp(t8, t3 ? _null : b.headline6, t);
      t9 = t1 ? _null : a.subtitle1;
      t9 = A.TextStyle_lerp(t9, t3 ? _null : b.subtitle1, t);
      t10 = t1 ? _null : a.subtitle2;
      t10 = A.TextStyle_lerp(t10, t3 ? _null : b.subtitle2, t);
      t11 = t1 ? _null : a.bodyText1;
      t11 = A.TextStyle_lerp(t11, t3 ? _null : b.bodyText1, t);
      t12 = t1 ? _null : a.bodyText2;
      t12 = A.TextStyle_lerp(t12, t3 ? _null : b.bodyText2, t);
      t13 = t1 ? _null : a.caption;
      t13 = A.TextStyle_lerp(t13, t3 ? _null : b.caption, t);
      t14 = t1 ? _null : a.button;
      t14 = A.TextStyle_lerp(t14, t3 ? _null : b.button, t);
      t1 = t1 ? _null : a.overline;
      return R.TextTheme$(t11, t12, t14, t13, t2, t4, t5, t6, t7, t8, A.TextStyle_lerp(t1, t3 ? _null : b.overline, t), t9, t10);
    },
    TextTheme: function TextTheme(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.headline1 = t0;
      _.headline2 = t1;
      _.headline3 = t2;
      _.headline4 = t3;
      _.headline5 = t4;
      _.headline6 = t5;
      _.subtitle1 = t6;
      _.subtitle2 = t7;
      _.bodyText1 = t8;
      _.bodyText2 = t9;
      _.caption = t10;
      _.button = t11;
      _.overline = t12;
    },
    _TextTheme_Object_Diagnosticable: function _TextTheme_Object_Diagnosticable() {
    },
    ListBodyParentData: function ListBodyParentData(t0, t1, t2) {
      this.ContainerParentDataMixin_previousSibling = t0;
      this.ContainerParentDataMixin_nextSibling = t1;
      this.offset = t2;
    },
    RenderListBody: function RenderListBody(t0, t1, t2, t3) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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() {
    },
    ScrollPositionWithSingleContext$: function(context, debugLabel, initialPixels, keepScrollOffset, oldPosition, physics) {
      var t1 = type$.nullable_void_Function;
      t1 = new R.ScrollPositionWithSingleContext(C.ScrollDirection_0, physics, context, true, debugLabel, new B.ValueNotifier(false, P.List_List$filled(0, null, false, t1), type$.ValueNotifier_bool), P.List_List$filled(0, null, false, 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;
      _._semanticActions = _._lastAxis = _._scroll_position$_lastMetrics = null;
      _.isScrollingNotifier = t5;
      _._activity = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t6;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    Spacer: function Spacer(t0) {
      this.key = t0;
    },
    MediaType_MediaType$parse: function(mediaType) {
      return B.wrapFormatException("media type", mediaType, new R.MediaType_MediaType$parse_closure(mediaType));
    },
    MediaType$: function(type, subtype, parameters) {
      var t1 = type.toLowerCase(),
        t2 = subtype.toLowerCase(),
        t3 = type$.String;
      t3 = parameters == null ? P.LinkedHashMap_LinkedHashMap$_empty(t3, t3) : Z.CaseInsensitiveMap$from(parameters, t3);
      return new R.MediaType(t1, t2, new P.UnmodifiableMapView(t3, 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() {
    },
    InternalExrZipCompressor: function InternalExrZipCompressor(t0, t1, t2) {
      var _ = this;
      _.zlib = t0;
      _._exr_zip_compressor$_numScanLines = t1;
      _._outCache = null;
      _.decodedHeight = _.decodedWidth = 0;
      _._exr_compressor$_header = t2;
    },
    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 = $;
    },
    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 = $;
    },
    TgaInfo: function TgaInfo() {
      var _ = this;
      _.bpp = _.imageOffset = null;
      _.height = _.width = 0;
    },
    VP8LTransform__addPixelsEq: function(pixels, a, b) {
      var t1 = J.getInterceptor$asx(pixels),
        pa = t1.$index(pixels, a);
      t1.$indexSet(pixels, a, (((pa & 4278255360) >>> 0) + ((b & 4278255360) >>> 0) & 4278255360 | (pa & 16711935) + (b & 16711935) & 16711935) >>> 0);
    },
    VP8LTransform__average2: function(a0, a1) {
      return ((a0 ^ a1) >>> 1 & 2139062143) + ((a0 & a1) >>> 0);
    },
    VP8LTransform__clip255: function(a) {
      if (a < 0)
        return 0;
      if (a > 255)
        return 255;
      return a;
    },
    VP8LTransform__sub3: function(a, b, c) {
      return Math.abs(b - c) - Math.abs(a - c);
    },
    VP8LTransform__predictor0: function(pixels, left, $top) {
      return 4278190080;
    },
    VP8LTransform__predictor1: function(pixels, left, $top) {
      return left;
    },
    VP8LTransform__predictor2: function(pixels, left, $top) {
      return J.$index$asx(pixels, $top);
    },
    VP8LTransform__predictor3: function(pixels, left, $top) {
      return J.$index$asx(pixels, $top + 1);
    },
    VP8LTransform__predictor4: function(pixels, left, $top) {
      return J.$index$asx(pixels, $top - 1);
    },
    VP8LTransform__predictor5: function(pixels, left, $top) {
      var t1 = J.getInterceptor$asx(pixels),
        t2 = t1.$index(pixels, $top);
      return R.VP8LTransform__average2(R.VP8LTransform__average2(left, t1.$index(pixels, $top + 1)), t2);
    },
    VP8LTransform__predictor6: function(pixels, left, $top) {
      return R.VP8LTransform__average2(left, J.$index$asx(pixels, $top - 1));
    },
    VP8LTransform__predictor7: function(pixels, left, $top) {
      return R.VP8LTransform__average2(left, J.$index$asx(pixels, $top));
    },
    VP8LTransform__predictor8: function(pixels, left, $top) {
      var t1 = J.getInterceptor$asx(pixels);
      return R.VP8LTransform__average2(t1.$index(pixels, $top - 1), t1.$index(pixels, $top));
    },
    VP8LTransform__predictor9: function(pixels, left, $top) {
      var t1 = J.getInterceptor$asx(pixels);
      return R.VP8LTransform__average2(t1.$index(pixels, $top), t1.$index(pixels, $top + 1));
    },
    VP8LTransform__predictor10: function(pixels, left, $top) {
      var t1 = J.getInterceptor$asx(pixels),
        t2 = t1.$index(pixels, $top - 1),
        t3 = t1.$index(pixels, $top);
      t1 = t1.$index(pixels, $top + 1);
      return R.VP8LTransform__average2(R.VP8LTransform__average2(left, t2), R.VP8LTransform__average2(t3, t1));
    },
    VP8LTransform__predictor11: function(pixels, left, $top) {
      var t1 = J.getInterceptor$asx(pixels),
        t2 = t1.$index(pixels, $top);
      t1 = t1.$index(pixels, $top - 1);
      return R.VP8LTransform__sub3(t2 >>> 24, left >>> 24, t1 >>> 24) + R.VP8LTransform__sub3(t2 >>> 16 & 255, left >>> 16 & 255, t1 >>> 16 & 255) + R.VP8LTransform__sub3(t2 >>> 8 & 255, left >>> 8 & 255, t1 >>> 8 & 255) + R.VP8LTransform__sub3(t2 & 255, left & 255, t1 & 255) <= 0 ? t2 : left;
    },
    VP8LTransform__predictor12: function(pixels, left, $top) {
      var t1 = J.getInterceptor$asx(pixels),
        t2 = t1.$index(pixels, $top);
      t1 = t1.$index(pixels, $top - 1);
      return (R.VP8LTransform__clip255((left >>> 24) + (t2 >>> 24) - (t1 >>> 24)) << 24 | R.VP8LTransform__clip255((left >>> 16 & 255) + (t2 >>> 16 & 255) - (t1 >>> 16 & 255)) << 16 | R.VP8LTransform__clip255((left >>> 8 & 255) + (t2 >>> 8 & 255) - (t1 >>> 8 & 255)) << 8 | R.VP8LTransform__clip255((left & 255) + (t2 & 255) - (t1 & 255))) >>> 0;
    },
    VP8LTransform__predictor13: function(pixels, left, $top) {
      var avg, t3, t4, t5,
        t1 = J.getInterceptor$asx(pixels),
        t2 = t1.$index(pixels, $top);
      t1 = t1.$index(pixels, $top - 1);
      avg = R.VP8LTransform__average2(left, t2);
      t2 = avg >>> 24;
      t3 = avg >>> 16 & 255;
      t4 = avg >>> 8 & 255;
      t5 = avg >>> 0 & 255;
      return (R.VP8LTransform__clip255(t2 + C.JSInt_methods._tdivFast$1(t2 - (t1 >>> 24), 2)) << 24 | R.VP8LTransform__clip255(t3 + C.JSInt_methods._tdivFast$1(t3 - (t1 >>> 16 & 255), 2)) << 16 | R.VP8LTransform__clip255(t4 + C.JSInt_methods._tdivFast$1(t4 - (t1 >>> 8 & 255), 2)) << 8 | R.VP8LTransform__clip255(t5 + C.JSInt_methods._tdivFast$1(t5 - (t1 & 255), 2))) >>> 0;
    },
    VP8LTransform: function VP8LTransform() {
      var _ = this;
      _.ysize = _.xsize = _.type = 0;
      _.data = null;
      _.bits = 0;
    },
    AsyncValue: function AsyncValue() {
    },
    AsyncValue_data_closure: function AsyncValue_data_closure(t0) {
      this.$this = t0;
    },
    AsyncValue_data_closure1: function AsyncValue_data_closure1(t0) {
      this.$this = t0;
    },
    AsyncValue_data_closure0: function AsyncValue_data_closure0(t0) {
      this.$this = t0;
    },
    _$AsyncValue: function _$AsyncValue() {
    },
    _$AsyncData: function _$AsyncData(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    AsyncData: function AsyncData() {
    },
    _$AsyncLoading: function _$AsyncLoading(t0) {
      this.$ti = t0;
    },
    AsyncLoading: function AsyncLoading() {
    },
    _$AsyncError: function _$AsyncError(t0, t1, t2) {
      this.error = t0;
      this.stackTrace = t1;
      this.$ti = t2;
    },
    AsyncError0: function AsyncError0() {
    },
    _AsyncValue_Object__$AsyncValue: function _AsyncValue_Object__$AsyncValue() {
    },
    CreatedProvider$: function(provider, $name, $T) {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new R.CreatedProvider(new R.CreatedProvider_closure(provider, $T), $name, t1, $T._eval$1("CreatedProvider<0>"));
    },
    AutoDisposeCreatedProvider$: function(provider, $name, $T) {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new R.AutoDisposeCreatedProvider(new R.AutoDisposeCreatedProvider_closure(provider, $T), $name, t1, $T._eval$1("AutoDisposeCreatedProvider<0>"));
    },
    CreatedProvider: function CreatedProvider(t0, t1, t2, t3) {
      var _ = this;
      _._provider0$_create = t0;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    CreatedProvider_closure: function CreatedProvider_closure(t0, t1) {
      this.provider = t0;
      this.T = t1;
    },
    AutoDisposeCreatedProvider: function AutoDisposeCreatedProvider(t0, t1, t2, t3) {
      var _ = this;
      _._provider0$_create = t0;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    AutoDisposeCreatedProvider_closure: function AutoDisposeCreatedProvider_closure(t0, t1) {
      this.provider = t0;
      this.T = t1;
    },
    _StreamChannel: function _StreamChannel(t0, t1, t2) {
      this.stream = t0;
      this.sink = t1;
      this.$ti = t2;
    },
    StreamChannelMixin: function StreamChannelMixin() {
    },
    computeDominators: function(handleEdge, predOf, root, size, succ) {
      var idom, semi, i, label, compressPath, block_index, t2, pred_index, best, result, dom_index, _box_0 = {},
        t1 = type$.legacy_int,
        $parent = P.List_List$filled(size, -1, false, t1),
        preorder = P.List_List$filled(size, null, false, t1),
        preorderNumber = P.List_List$filled(size, null, false, t1);
      _box_0.N = 0;
      new R.computeDominators_dfs(_box_0, root, handleEdge, preorderNumber, preorder, $parent, succ).call$0();
      idom = H._setArrayType($parent.slice(0), H._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 R.computeDominators_compressPath($parent, label);
      for (block_index = size - 1; block_index >= 1; --block_index) {
        for (t2 = J.get$iterator$ax(predOf.call$1(preorder[block_index])); t2.moveNext$0();) {
          pred_index = preorderNumber[t2.get$current(t2)];
          if (pred_index > block_index) {
            compressPath.call$2(block_index, pred_index);
            best = label[pred_index];
          } else
            best = pred_index;
          semi[block_index] = Math.min(semi[block_index], semi[best]);
        }
        label[block_index] = semi[block_index];
      }
      result = P.List_List$filled(size, -1, false, t1);
      for (block_index = 1; block_index < size; ++block_index) {
        dom_index = idom[block_index];
        for (; dom_index > semi[block_index];)
          dom_index = idom[dom_index];
        idom[block_index] = dom_index;
        result[preorder[block_index]] = preorder[dom_index];
      }
      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;
    },
    ElevationOverlay_applyOverlay: function(context, color, elevation) {
      var theme = K.Theme_of(context);
      if (elevation > 0)
        theme.toString;
      return color;
    }
  },
  S = {
    Inflate$: function(bytes) {
      var t1 = Y.HuffmanTable$(C.List_2Bc),
        t2 = Y.HuffmanTable$(C.List_X3d);
      t2 = new S.Inflate(T.InputStream$(bytes, 0, null, 0), Q.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;
    },
    AsyncMemoizer$: function($T) {
      return new S.AsyncMemoizer(new P._AsyncCompleter(new P._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncCompleter<0>")), $T._eval$1("AsyncMemoizer<0>"));
    },
    AsyncMemoizer: function AsyncMemoizer(t0, t1) {
      this._async_memoizer$_completer = t0;
      this.$ti = t1;
    },
    defaultScreens: function() {
      var _null = null,
        t1 = type$.nullable_void_Function,
        vmDeveloperToolsController = new G.VMDeveloperToolsController(new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_int), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_bool));
      t1 = H._setArrayType([new S.DevToolsScreen(C.InspectorScreen_6TW, new S.defaultScreens_closure(), _null, false, type$.DevToolsScreen_legacy_InspectorSettingsController), new S.DevToolsScreen(C.LegacyPerformanceScreen_cc6, new S.defaultScreens_closure0(), _null, true, type$.DevToolsScreen_legacy_LegacyPerformanceController), new S.DevToolsScreen(C.PerformanceScreen_0, new S.defaultScreens_closure1(), _null, true, type$.DevToolsScreen_legacy_PerformanceController), new S.DevToolsScreen(C.ProfilerScreen_QGa, new S.defaultScreens_closure2(), _null, true, type$.DevToolsScreen_legacy_ProfilerScreenController), new S.DevToolsScreen(C.MemoryScreen_mhB, new S.defaultScreens_closure3(), _null, false, type$.DevToolsScreen_legacy_MemoryController), new S.DevToolsScreen(C.DebuggerScreen_goM, new S.defaultScreens_closure4(), _null, false, type$.DevToolsScreen_legacy_DebuggerController), new S.DevToolsScreen(C.NetworkScreen_jsV, new S.defaultScreens_closure5(), _null, false, type$.DevToolsScreen_legacy_NetworkController), new S.DevToolsScreen(C.LoggingScreen_kUZ, new S.defaultScreens_closure6(), _null, false, type$.DevToolsScreen_legacy_LoggingController), new S.DevToolsScreen(C.ProviderScreen_ynv, new S.defaultScreens_closure7(), _null, false, type$.DevToolsScreen_void), new S.DevToolsScreen(C.AppSizeScreen_OT5, new S.defaultScreens_closure8(), _null, false, type$.DevToolsScreen_legacy_AppSizeController), new S.DevToolsScreen(new E.VMDeveloperToolsScreen(vmDeveloperToolsController, "vm-tools", "VM Tools", C.IconData_58753_MaterialIcons_false, _null, _null, false, false, true, false, _null), _null, vmDeveloperToolsController, false, type$.DevToolsScreen_legacy_VMDeveloperToolsController)], type$.JSArray_legacy_DevToolsScreen_dynamic);
      return t1;
    },
    DevToolsApp: function DevToolsApp(t0, t1, t2) {
      this.screens = t0;
      this.analyticsProvider = t1;
      this.key = t2;
    },
    DevToolsAppState: function DevToolsAppState(t0) {
      var _ = this;
      _._widget = _._routes = _._isDarkThemeEnabled = null;
      _._debugLifecycleState = t0;
      _._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() {
    },
    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;
    },
    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() {
    },
    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() {
    },
    ReportFeedbackButton: function ReportFeedbackButton(t0) {
      this.key = t0;
    },
    ReportFeedbackButton_build_closure: function ReportFeedbackButton_build_closure(t0) {
      this.context = t0;
    },
    DevToolsAboutDialog: function DevToolsAboutDialog(t0) {
      this.key = t0;
    },
    DevToolsAboutDialog__createFeedbackLink_closure: function DevToolsAboutDialog__createFeedbackLink_closure(t0, t1) {
      this.reportIssuesLink = t0;
      this.context = t1;
    },
    SettingsDialog: function SettingsDialog(t0) {
      this.key = t0;
    },
    SettingsDialog__buildOption_closure0: function SettingsDialog__buildOption_closure0(t0, t1) {
      this.toggle = t0;
      this.listenable = t1;
    },
    SettingsDialog__buildOption_closure: function SettingsDialog__buildOption_closure(t0) {
      this.toggle = 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() {
    },
    defaultScreens_closure8: function defaultScreens_closure8() {
    },
    NodeListExtension_toPaddedZoomedIntervals: function(_this, chartStartInset, chartWidth, zoom) {
      var index, zoomedRect, leftPadding, t1, left,
        _length = _this.length,
        _list = J.JSArray_JSArray$allocateGrowable(_length, type$.legacy_Range);
      for (index = 0; index < _length; ++index) {
        zoomedRect = _this[index].zoomedRect$2(zoom, chartStartInset);
        leftPadding = S.FlameChartUtils_leftPaddingForNode(index, _this, chartStartInset, zoom);
        t1 = zoomedRect.left;
        left = t1 - leftPadding;
        _list[index] = new B.Range(left, left + (leftPadding + (zoomedRect.right - t1) + S.FlameChartUtils_rightPaddingForNode(index, _this, chartStartInset, chartWidth, zoom)));
      }
      return _list;
    },
    FlameChartUtils_leftPaddingForNode: function(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: function(index, nodes, chartStartInset, chartWidth, chartZoom) {
      var node, nextNode, nextNodeZoom, nodeRight, padding;
      if (index === nodes.length - 1)
        return 1e12;
      node = nodes[index];
      nextNode = nodes[index + 1];
      nextNodeZoom = true ? chartZoom : 1;
      nodeRight = (node.rect.right - chartStartInset) * chartZoom + chartStartInset;
      padding = (nextNode.rect.left - chartStartInset) * nextNodeZoom + chartStartInset - nodeRight;
      return Math.max(0, padding);
    },
    TimelineGridPainter$: function(chartEndInset, chartStartInset, colorScheme, constraints, duration, flameChartWidth, horizontalScrollOffset, verticalScrollOffset, zoom) {
      return new S.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;
      _.hovered = _.selected = _._nodeData = _.extentDelegate = _.scrollController = 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;
    },
    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, t8) {
      var _ = this;
      _.key = t0;
      _.rect = t1;
      _.text = t2;
      _.backgroundColor = t3;
      _.textColor = t4;
      _.data = t5;
      _.onSelected = t6;
      _.row = null;
      _.sectionIndex = t7;
      _.$ti = t8;
    },
    FlameChartColorMixin: function FlameChartColorMixin() {
    },
    _ScrollingFlameChartRowExtentDelegate: function _ScrollingFlameChartRowExtentDelegate(t0, t1, t2) {
      this.nodeIntervals = t0;
      this.zoom = t1;
      this._layoutDirty = t2;
    },
    _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) {
      this.key = t0;
    },
    FlameChartHelpButton_build_closure: function FlameChartHelpButton_build_closure(t0) {
      this.context = t0;
    },
    FlameChartHelpButton_build__closure: function FlameChartHelpButton_build__closure() {
    },
    _FlameChartHelpDialog: function _FlameChartHelpDialog(t0) {
      this.key = t0;
    },
    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() {
    },
    _BoxLayoutExplorerWidgetState_minFractionLayout: function(availableSize, minFractions, sizes) {
      var total, _i, size, totalFraction, i, t1, output,
        fractions = H._setArrayType(minFractions.slice(0), H._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 = H._setArrayType([], type$.JSArray_legacy_double);
      for (t1 = fractions.length, _i = 0; _i < fractions.length; fractions.length === t1 || (0, H.throwConcurrentModificationError)(fractions), ++_i)
        output.push(fractions[_i] * availableSize);
      return output;
    },
    describeBoxName: function(properties) {
      var renderDescription,
        _s11_ = "description",
        title = H._asStringS(J.$index$asx(properties.get$node().json, _s11_)),
        t1 = properties.get$node();
      t1 = t1 == null ? null : t1.get$renderObject();
      renderDescription = t1 == null ? null : H._asStringS(J.$index$asx(t1.json, _s11_));
      return renderDescription != null ? J.$add$ansx(title, " - " + renderDescription) : title;
    },
    BoxLayoutExplorerWidget: function BoxLayoutExplorerWidget(t0, t1) {
      this.inspectorController = t0;
      this.key = t1;
    },
    _BoxLayoutExplorerWidgetState: function _BoxLayoutExplorerWidgetState(t0, t1) {
      var _ = this;
      _.highlighted = _._onSelectionChangedCallback = _.rateLimiter = _._animatedProperties = _.objectGroupManager = _._layout_explorer_widget$_properties = _._previousProperties = _.changeAnimation = _.changeController = _.entranceCurve = _.entranceController = null;
      _._layout_explorer_widget$_dirty = false;
      _.TickerProviderStateMixin__tickers = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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) {
      var _ = this;
      _.$this = t0;
      _.offset = t1;
      _.parentSize = t2;
      _.colorScheme = t3;
    },
    _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) {
      this.$this = t0;
    },
    BoxChildVisualizer_build_closure: function BoxChildVisualizer_build_closure(t0) {
      this.$this = t0;
    },
    BoxChildVisualizer_build_closure0: function BoxChildVisualizer_build_closure0(t0) {
      this.$this = t0;
    },
    FilteredLibraries: function FilteredLibraries(t0) {
      this._filteredLibraries = t0;
    },
    LibraryFilter: function LibraryFilter(t0) {
      this.hide = t0;
    },
    SnapshotFilterDialog: function SnapshotFilterDialog(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    SnapshotFilterState: function SnapshotFilterState(t0, t1, t2) {
      var _ = this;
      _.oldFilterLibraryNoInstancesValue = _.oldFilterZeroInstancesValue = _.oldFilterPrivateClassesValue = _._letters = _._memory_filter$_controllers = _.controller = null;
      _.oldFilteredLibraries = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    SnapshotFilterState_buildFilters_closure: function SnapshotFilterState_buildFilters_closure() {
    },
    SnapshotFilterState_cleanupFilteredLibrariesByGroupName_closure: function SnapshotFilterState_cleanupFilteredLibrariesByGroupName_closure(t0, t1) {
      this.dartGlobal = t0;
      this.flutterGlobal = t1;
    },
    SnapshotFilterState_createLibraryListBox_closure: function SnapshotFilterState_createLibraryListBox_closure(t0) {
      this.$this = t0;
    },
    SnapshotFilterState_createLibraryListBox__closure: function SnapshotFilterState_createLibraryListBox__closure(t0, t1) {
      this.$this = t0;
      this.key = t1;
    },
    SnapshotFilterState_createLibraryListBox___closure: function SnapshotFilterState_createLibraryListBox___closure(t0, t1, t2) {
      this.$this = t0;
      this.key = t1;
      this.value = t2;
    },
    SnapshotFilterState_applyAndCancelButton_closure: function SnapshotFilterState_applyAndCancelButton_closure(t0) {
      this.$this = t0;
    },
    SnapshotFilterState_applyAndCancelButton__closure0: function SnapshotFilterState_applyAndCancelButton__closure0(t0) {
      this.$this = t0;
    },
    SnapshotFilterState_applyAndCancelButton_closure0: function SnapshotFilterState_applyAndCancelButton_closure0(t0) {
      this.$this = t0;
    },
    SnapshotFilterState_applyAndCancelButton__closure: function SnapshotFilterState_applyAndCancelButton__closure(t0) {
      this.$this = t0;
    },
    _SnapshotFilterState_State_AutoDisposeMixin: function _SnapshotFilterState_State_AutoDisposeMixin() {
    },
    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() {
    },
    FlutterFramesChart: function FlutterFramesChart(t0, t1, t2) {
      this.frames = t0;
      this.displayRefreshRate = t1;
      this.key = t2;
    },
    _FlutterFramesChartState: function _FlutterFramesChartState(t0, t1) {
      var _ = this;
      _._flutter_frames_chart$_selectedFrame = _.scrollController = _._flutter_frames_chart$_controller = null;
      _.horizontalScrollOffset = 0;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _FlutterFramesChartState_initState_closure: function _FlutterFramesChartState_initState_closure(t0) {
      this.$this = t0;
    },
    _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__buildFrame_closure: function _FlutterFramesChartState__buildFrame_closure(t0, t1) {
      this.$this = t0;
      this.frame = t1;
    },
    _FlutterFramesChartState__buildAverageFps_closure: function _FlutterFramesChartState__buildAverageFps_closure(t0) {
      this.$this = t0;
    },
    FlutterFramesChartItem: function FlutterFramesChartItem(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.frame = t0;
      _.selected = t1;
      _.msPerPx = t2;
      _.availableChartHeight = t3;
      _.displayRefreshRate = t4;
      _.key = t5;
    },
    ShaderJankWarningIcon: function ShaderJankWarningIcon(t0) {
      this.key = t0;
    },
    _ShaderJankWarningIconState: function _ShaderJankWarningIconState(t0) {
      var _ = this;
      _._widget = _.showFirst = _.timer = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _ShaderJankWarningIconState_initState_closure: function _ShaderJankWarningIconState_initState_closure(t0) {
      this.$this = t0;
    },
    _ShaderJankWarningIconState_initState__closure: function _ShaderJankWarningIconState_initState__closure(t0) {
      this.$this = t0;
    },
    ChartAxisPainter: function ChartAxisPainter(t0, t1, t2, t3, t4) {
      var _ = this;
      _.constraints = t0;
      _.displayRefreshRate = t1;
      _.msPerPx = t2;
      _.themeData = t3;
      _._repaint = t4;
    },
    FPSLinePainter: function FPSLinePainter(t0, t1, t2, t3, t4) {
      var _ = this;
      _.constraints = t0;
      _.displayRefreshRate = t1;
      _.msPerPx = t2;
      _.themeData = t3;
      _._repaint = t4;
    },
    __FlutterFramesChartState_State_AutoDisposeMixin: function __FlutterFramesChartState_State_AutoDisposeMixin() {
    },
    LegacyFlutterFramesChart: function LegacyFlutterFramesChart(t0, t1, t2) {
      this.frames = t0;
      this.displayRefreshRate = t1;
      this.key = t2;
    },
    _LegacyFlutterFramesChartState: function _LegacyFlutterFramesChartState(t0, t1) {
      var _ = this;
      _._flutter_frames_chart0$_selectedFrame = _.scrollController = _._flutter_frames_chart0$_controller = null;
      _.horizontalScrollOffset = 0;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _LegacyFlutterFramesChartState_initState_closure: function _LegacyFlutterFramesChartState_initState_closure(t0) {
      this.$this = t0;
    },
    _LegacyFlutterFramesChartState_didChangeDependencies_closure: function _LegacyFlutterFramesChartState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _LegacyFlutterFramesChartState_didChangeDependencies__closure: function _LegacyFlutterFramesChartState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _LegacyFlutterFramesChartState__buildChart_closure: function _LegacyFlutterFramesChartState__buildChart_closure(t0) {
      this.$this = t0;
    },
    _LegacyFlutterFramesChartState__buildChart__closure: function _LegacyFlutterFramesChartState__buildChart__closure(t0) {
      this.$this = t0;
    },
    _LegacyFlutterFramesChartState__buildFrame_closure: function _LegacyFlutterFramesChartState__buildFrame_closure(t0, t1) {
      this.$this = t0;
      this.frame = t1;
    },
    _LegacyFlutterFramesChartState__buildAverageFps_closure: function _LegacyFlutterFramesChartState__buildAverageFps_closure(t0) {
      this.$this = t0;
    },
    LegacyFlutterFramesChartItem: function LegacyFlutterFramesChartItem(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.frame = t0;
      _.selected = t1;
      _.msPerPx = t2;
      _.availableChartHeight = t3;
      _.displayRefreshRate = t4;
      _.key = t5;
    },
    LegacyChartAxisPainter: function LegacyChartAxisPainter(t0, t1, t2, t3, t4) {
      var _ = this;
      _.constraints = t0;
      _.displayRefreshRate = t1;
      _.msPerPx = t2;
      _.themeData = t3;
      _._repaint = t4;
    },
    LegacyFPSLinePainter: function LegacyFPSLinePainter(t0, t1, t2, t3, t4) {
      var _ = this;
      _.constraints = t0;
      _.displayRefreshRate = t1;
      _.msPerPx = t2;
      _.themeData = t3;
      _._repaint = t4;
    },
    __LegacyFlutterFramesChartState_State_AutoDisposeMixin: function __LegacyFlutterFramesChartState_State_AutoDisposeMixin() {
    },
    FlatTable$: function(activeSearchMatchNotifier, autoScrollContent, columns, data, key, keyFactory, onItemSelected, onSortChanged, searchMatchesNotifier, secondarySortColumn, selectionNotifier, sortColumn, sortDirection, $T) {
      return new S.FlatTable(columns, data, autoScrollContent, keyFactory, onItemSelected, sortColumn, sortDirection, secondarySortColumn, onSortChanged, searchMatchesNotifier, activeSearchMatchNotifier, selectionNotifier, key, $T._eval$1("FlatTable<0>"));
    },
    TreeTable$: function(autoExpandRoots, columns, dataRoots, key, keyFactory, selectionNotifier, sortColumn, sortDirection, treeColumn, $T) {
      return new S.TreeTable(columns, treeColumn, dataRoots, keyFactory, sortColumn, sortDirection, selectionNotifier, autoExpandRoots, key, $T._eval$1("TreeTable<0>"));
    },
    _Table$: function(activeSearchMatchNotifier, autoScrollContent, columnWidths, columns, data, focusNode, handleKeyEvent, onSortChanged, rowBuilder, secondarySortColumn, selectionNotifier, sortColumn, sortDirection, $T) {
      return new S._Table(data, autoScrollContent, columns, columnWidths, rowBuilder, sortColumn, sortDirection, secondarySortColumn, onSortChanged, focusNode, handleKeyEvent, selectionNotifier, activeSearchMatchNotifier, null, $T._eval$1("_Table<0>"));
    },
    TableRow$: function(activeSearchMatchNotifier, backgroundColor, columnWidths, columns, expandableColumn, expansionChildren, isExpandable, isExpanded, isSelected, isShown, key, linkedScrollControllerGroup, node, onExpansionCompleted, onPressed, searchMatchesNotifier, $T) {
      var _null = null;
      return new S.TableRow(linkedScrollControllerGroup, node, columns, onPressed, columnWidths, isSelected, expandableColumn, isExpanded, isExpandable, isShown, expansionChildren, onExpansionCompleted, backgroundColor, _null, _null, _null, _null, searchMatchesNotifier, activeSearchMatchNotifier, key, $T._eval$1("TableRow<0>"));
    },
    _compareData: function(a, b, column, direction, secondarySortColumn) {
      var t1 = column.compare$2(a, b),
        t2 = direction === C.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._table$_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;
      _._widget = _.data = 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__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) {
      var _ = this;
      _.animatingChildren = t0;
      _.animatingChildrenSet = t1;
      _.selectionNotifier = _._table$_focusNode = _.rootsExpanded = _.columnWidths = _.animatingNode = null;
      _.AutoDisposeMixin__delegate = t2;
      _.TreeMixin_dataRoots = t3;
      _.TreeMixin_items = t4;
      _.TickerProviderStateMixin__tickers = t5;
      _._widget = null;
      _._debugLifecycleState = t6;
      _._framework$_element = null;
      _.$ti = t7;
    },
    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._box_0 = t0;
      this.$this = t1;
      this.newSelectedNode = t2;
    },
    _Table: function _Table(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.data = t0;
      _.autoScrollContent = t1;
      _.columns = t2;
      _.columnWidths = t3;
      _.rowBuilder = t4;
      _.sortColumn = t5;
      _.sortDirection = t6;
      _.secondarySortColumn = t7;
      _.onSortChanged = t8;
      _.focusNode = t9;
      _.handleKeyEvent = t10;
      _.selectionNotifier = t11;
      _.activeSearchMatchNotifier = t12;
      _.key = t13;
      _.$ti = t14;
    },
    _TableState: function _TableState(t0, t1, t2) {
      var _ = this;
      _.scrollController = _.sortDirection = _.sortColumn = _._linkedHorizontalScrollControllerGroup = null;
      _.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) {
      this.$this = t0;
    },
    _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) {
      var _ = this;
      _.linkedScrollControllerGroup = t0;
      _.node = t1;
      _.columns = t2;
      _.onPressed = t3;
      _.columnWidths = t4;
      _.isSelected = t5;
      _.expandableColumn = t6;
      _.isExpanded = t7;
      _.isExpandable = t8;
      _.isShown = t9;
      _.expansionChildren = t10;
      _.onExpansionCompleted = t11;
      _.backgroundColor = t12;
      _.sortColumn = t13;
      _.sortDirection = t14;
      _.secondarySortColumn = t15;
      _.onSortChanged = t16;
      _.searchMatchesNotifier = t17;
      _.activeSearchMatchNotifier = t18;
      _.key = t19;
      _.$ti = t20;
    },
    _TableRowState: function _TableRowState(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.scrollController = _.contentKey = null;
      _.isActiveSearchMatch = _.isSearchMatch = false;
      _.SearchableMixin_searchMatches = t0;
      _.SearchableMixin_activeSearchMatch = t1;
      _.AutoDisposeMixin__delegate = t2;
      _.CollapsibleAnimationMixin_expandController = t3;
      _.CollapsibleAnimationMixin_expandArrowAnimation = t4;
      _.CollapsibleAnimationMixin_expandCurve = t5;
      _.TickerProviderStateMixin__tickers = t6;
      _._widget = null;
      _._debugLifecycleState = t7;
      _._framework$_element = null;
      _.$ti = t8;
    },
    _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) {
      this.$this = t0;
    },
    _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) {
      this.$this = t0;
      this.context = t1;
    },
    _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) {
      this.$this = t0;
      this.columnFor = 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() {
    },
    CustomIconMaker$: function() {
      return new S.CustomIconMaker(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_CustomIcon));
    },
    IconKind$: function($name, icon, abstractIcon) {
      return new S.IconKind($name, icon);
    },
    createImageIcon: function(url, size) {
      return U.Image$(size, new L.AssetImage(url, null, null), size);
    },
    CustomIcon: function CustomIcon(t0, t1, t2) {
      this.kind = t0;
      this.text = t1;
      this.key = t2;
    },
    CustomIconMaker: function CustomIconMaker(t0) {
      this.iconCache = t0;
    },
    CustomIconMaker_getCustomIcon_closure: function CustomIconMaker_getCustomIcon_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.text = t1;
      this.isAbstract = t2;
    },
    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;
    },
    AutoCompleteSearchControllerMixin_activeEdtingParts: function(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 = J.substring$2$s(editing, 0, startSelection);
        lastSpaceIndex = C.JSString_methods.lastIndexOf$1(selectionValue, handleFields ? "." : " ");
        lastSpaceIndex = lastSpaceIndex >= 0 ? lastSpaceIndex + 1 : 0;
        activeWord = C.JSString_methods.substring$2(selectionValue, lastSpaceIndex, startSelection);
        for (t1 = activeWord.length, index = t1 - 1, variableStart = -1; index >= 0; --index) {
          char = C.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 = C.JSString_methods.substring$2(selectionValue, lastSpaceIndex0 - 1, startSelection - 1);
                lastSpaceIndex = lastSpaceIndex0;
                break;
              } else {
                lastSpaceIndex0 = lastSpaceIndex + variableStart;
                activeWord = C.JSString_methods.substring$2(selectionValue, lastSpaceIndex0, startSelection);
                lastSpaceIndex = lastSpaceIndex0;
                break;
              }
          }
          variableStart = index;
        }
        leftSide = C.JSString_methods.substring$2(selectionValue, 0, lastSpaceIndex);
        rightSide = C.JSString_methods.substring$1(editing, startSelection);
      } else {
        activeWord = null;
        leftSide = null;
        rightSide = null;
      }
      return new S.EditingParts(activeWord, leftSide, rightSide);
    },
    SearchControllerMixin: function SearchControllerMixin() {
    },
    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.controller = t0;
      this.matchedName = t1;
      this.autoComplete = t2;
    },
    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() {
    },
    SearchFieldMixin: function SearchFieldMixin() {
    },
    SearchFieldMixin_buildAutoCompleteSearchField_closure: function SearchFieldMixin_buildAutoCompleteSearchField_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.controller = t2;
      _.supportClearField = t3;
      _.onSelection = t4;
    },
    SearchFieldMixin__buildSearchField_closure: function SearchFieldMixin__buildSearchField_closure(t0, t1) {
      this.$this = t0;
      this.controller = t1;
    },
    SearchFieldMixin__buildSearchField_closure0: function SearchFieldMixin__buildSearchField_closure0(t0, t1) {
      this.tracking = t0;
      this.controller = t1;
    },
    SearchFieldMixin__buildSearchField_closure1: function SearchFieldMixin__buildSearchField_closure1(t0) {
      this.$this = t0;
    },
    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__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) {
      var _ = this;
      _.AutoCompleteSearchControllerMixin_selectTheSearchNotifier = t0;
      _.AutoCompleteSearchControllerMixin_searchAutoComplete = t1;
      _.AutoCompleteSearchControllerMixin_autoCompleteLayerLink = t2;
      _.AutoCompleteSearchControllerMixin_autoCompleteOverlay = t3;
      _.AutoCompleteSearchControllerMixin_currentDefaultIndex = t4;
      _.SearchControllerMixin__searchNotifier = t5;
      _.SearchControllerMixin_xPosition = t6;
      _.SearchControllerMixin__searchMatches = t7;
      _.SearchControllerMixin__activeSearchMatch = t8;
      _.SearchControllerMixin_matchIndex = t9;
    },
    _AutoCompleteController_DisposableController_SearchControllerMixin: function _AutoCompleteController_DisposableController_SearchControllerMixin() {
    },
    _AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin: function _AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin() {
    },
    _AutoCompleteState_State_AutoDisposeMixin: function _AutoCompleteState_State_AutoDisposeMixin() {
    },
    ProxyAnimation$: function(animation) {
      var t1 = new S.ProxyAnimation(new R.ObserverList(H._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new R.ObserverList(H._setArrayType([], type$.JSArray_of_void_Function), type$.ObserverList_of_void_Function), 0);
      t1._animations$_parent = animation;
      if (animation == null) {
        t1._animations$_status = C.AnimationStatus_0;
        t1._animations$_value = 0;
      }
      return t1;
    },
    CurvedAnimation$: function(curve, $parent, reverseCurve) {
      var t1 = new S.CurvedAnimation($parent, curve, reverseCurve);
      t1._updateCurveDirection$1($parent.get$status($parent));
      $parent.addStatusListener$1(t1.get$_updateCurveDirection());
      return t1;
    },
    TrainHoppingAnimation$: function(_currentTrain, _nextTrain, onSwitchedTrain) {
      var t2, t3,
        t1 = new S.TrainHoppingAnimation(_currentTrain, _nextTrain, onSwitchedTrain, new R.ObserverList(H._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new R.ObserverList(H._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 = C._TrainHoppingMode_1;
        else
          t1._mode = C._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$: function(first, next, $T) {
      return new S.AnimationMin(first, next, new R.ObserverList(H._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new R.ObserverList(H._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 = _._animations$_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._animations$_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() {
    },
    AnimationLazyListenerMixin: function AnimationLazyListenerMixin() {
    },
    AnimationEagerListenerMixin: function AnimationEagerListenerMixin() {
    },
    AnimationLocalListenersMixin: function AnimationLocalListenersMixin() {
    },
    AnimationLocalStatusListenersMixin: function AnimationLocalStatusListenersMixin() {
    },
    DragStartBehavior: function DragStartBehavior(t0, t1) {
      this.index = t0;
      this._recognizer$_name = t1;
    },
    GestureRecognizer: function GestureRecognizer() {
    },
    OneSequenceGestureRecognizer: function OneSequenceGestureRecognizer() {
    },
    GestureRecognizerState: function GestureRecognizerState(t0, t1) {
      this.index = t0;
      this._recognizer$_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() {
    },
    MaterialApp_createMaterialHeroController: function() {
      return new T.HeroController(new S.MaterialApp_createMaterialHeroController_closure(), P.LinkedHashMap_LinkedHashMap$_empty(type$.Object, type$._HeroFlight));
    },
    ThemeMode: function ThemeMode(t0, t1) {
      this.index = t0;
      this._app0$_name = t1;
    },
    MaterialApp: function MaterialApp(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.routeInformationParser = t0;
      _.routerDelegate = t1;
      _.builder = t2;
      _.theme = t3;
      _.debugShowCheckedModeBanner = t4;
      _.key = t5;
    },
    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;
    },
    DataTable__initOnlyTextColumn: function(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$: function(child, onTap, overlayColor) {
      var _null = null;
      return new S.TableRowInkWell(child, onTap, _null, _null, _null, _null, _null, _null, _null, true, C.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) {
      var _ = this;
      _.$this = t0;
      _.anyRowSelectable = t1;
      _.effectiveDataRowColor = t2;
      _.effectiveHeadingRowColor = t3;
      _.context = t4;
      _.theme = t5;
      _.defaultRowColor = t6;
      _.tableColumns = t7;
    },
    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) {
      var _ = this;
      _.child = t0;
      _.onTap = t1;
      _.onTapDown = t2;
      _.onTapCancel = t3;
      _.onDoubleTap = t4;
      _.onLongPress = t5;
      _.onHighlightChanged = t6;
      _.onHover = t7;
      _.mouseCursor = t8;
      _.containedInkWell = t9;
      _.highlightShape = t10;
      _.radius = t11;
      _.borderRadius = t12;
      _.customBorder = t13;
      _.focusColor = t14;
      _.hoverColor = t15;
      _.highlightColor = t16;
      _.overlayColor = t17;
      _.splashColor = t18;
      _.splashFactory = t19;
      _.enableFeedback = t20;
      _.excludeFromSemantics = t21;
      _.onFocusChange = t22;
      _.autofocus = t23;
      _.focusNode = t24;
      _.canRequestFocus = t25;
      _.key = t26;
    },
    TableRowInkWell_getRectCallback_closure: function TableRowInkWell_getRectCallback_closure(t0) {
      this.referenceBox = t0;
    },
    _NullTableColumnWidth: function _NullTableColumnWidth() {
    },
    _NullWidget0: function _NullWidget0(t0) {
      this.key = t0;
    },
    FloatingActionButtonThemeData_lerp: function(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t1 ? _null : a.foregroundColor;
      t3 = b == null;
      t2 = P.Color_lerp(t2, t3 ? _null : b.foregroundColor, t);
      t4 = t1 ? _null : a.backgroundColor;
      t4 = P.Color_lerp(t4, t3 ? _null : b.backgroundColor, t);
      t5 = t1 ? _null : a.focusColor;
      t5 = P.Color_lerp(t5, t3 ? _null : b.focusColor, t);
      t6 = t1 ? _null : a.hoverColor;
      t6 = P.Color_lerp(t6, t3 ? _null : b.hoverColor, t);
      t7 = t1 ? _null : a.splashColor;
      t7 = P.Color_lerp(t7, t3 ? _null : b.splashColor, t);
      t8 = t1 ? _null : a.elevation;
      t8 = P.lerpDouble(t8, t3 ? _null : b.elevation, t);
      t9 = t1 ? _null : a.focusElevation;
      t9 = P.lerpDouble(t9, t3 ? _null : b.focusElevation, t);
      t10 = t1 ? _null : a.hoverElevation;
      t10 = P.lerpDouble(t10, t3 ? _null : b.hoverElevation, t);
      t11 = t1 ? _null : a.disabledElevation;
      t11 = P.lerpDouble(t11, t3 ? _null : b.disabledElevation, t);
      t12 = t1 ? _null : a.highlightElevation;
      t12 = P.lerpDouble(t12, t3 ? _null : b.highlightElevation, t);
      t13 = t1 ? _null : a.shape;
      t13 = Y.ShapeBorder_lerp(t13, t3 ? _null : b.shape, t);
      if (t < 0.5)
        t1 = t1 ? _null : a.enableFeedback;
      else
        t1 = t3 ? _null : b.enableFeedback;
      return new S.FloatingActionButtonThemeData(t2, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t1);
    },
    FloatingActionButtonThemeData: function FloatingActionButtonThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      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;
    },
    _FloatingActionButtonThemeData_Object_Diagnosticable: function _FloatingActionButtonThemeData_Object_Diagnosticable() {
    },
    ToggleButtonsThemeData_lerp: function(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t1 ? _null : a.textStyle;
      t3 = b == null;
      t2 = A.TextStyle_lerp(t2, t3 ? _null : b.textStyle, t);
      t4 = t1 ? _null : a.constraints;
      t4 = S.BoxConstraints_lerp(t4, t3 ? _null : b.constraints, t);
      t5 = t1 ? _null : a.color;
      t5 = P.Color_lerp(t5, t3 ? _null : b.color, t);
      t6 = t1 ? _null : a.selectedColor;
      t6 = P.Color_lerp(t6, t3 ? _null : b.selectedColor, t);
      t7 = t1 ? _null : a.disabledColor;
      t7 = P.Color_lerp(t7, t3 ? _null : b.disabledColor, t);
      t8 = t1 ? _null : a.fillColor;
      t8 = P.Color_lerp(t8, t3 ? _null : b.fillColor, t);
      t9 = t1 ? _null : a.focusColor;
      t9 = P.Color_lerp(t9, t3 ? _null : b.focusColor, t);
      t10 = t1 ? _null : a.highlightColor;
      t10 = P.Color_lerp(t10, t3 ? _null : b.highlightColor, t);
      t11 = t1 ? _null : a.hoverColor;
      t11 = P.Color_lerp(t11, t3 ? _null : b.hoverColor, t);
      t12 = t1 ? _null : a.splashColor;
      t12 = P.Color_lerp(t12, t3 ? _null : b.splashColor, t);
      t13 = t1 ? _null : a.borderColor;
      t13 = P.Color_lerp(t13, t3 ? _null : b.borderColor, t);
      t14 = t1 ? _null : a.selectedBorderColor;
      t14 = P.Color_lerp(t14, t3 ? _null : b.selectedBorderColor, t);
      t15 = t1 ? _null : a.disabledBorderColor;
      t15 = P.Color_lerp(t15, t3 ? _null : b.disabledBorderColor, t);
      t16 = t1 ? _null : a.borderRadius;
      t16 = K.BorderRadius_lerp(t16, t3 ? _null : b.borderRadius, t);
      t1 = t1 ? _null : a.borderWidth;
      return new S.ToggleButtonsThemeData(t2, t4, t5, t6, t7, t8, t9, t10, t12, t11, t13, t14, t15, P.lerpDouble(t1, t3 ? _null : b.borderWidth, t), t16);
    },
    ToggleButtonsTheme_of: function(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.ToggleButtonsTheme);
      t1 = K.Theme_of(context);
      return t1.toggleButtonsTheme;
    },
    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() {
    },
    Tooltip$: function(child, key, message, padding, preferBelow, waitDuration) {
      return new S.Tooltip(message, padding, preferBelow, child, waitDuration, key);
    },
    Tooltip: function Tooltip(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.message = t0;
      _.padding = t1;
      _.preferBelow = t2;
      _.child = t3;
      _.waitDuration = t4;
      _.key = t5;
    },
    _TooltipState: function _TooltipState(t0, t1) {
      var _ = this;
      _.___TooltipState__controller = _.___TooltipState_excludeFromSemantics = _.___TooltipState_preferBelow = _.___TooltipState_verticalOffset = _.___TooltipState_textStyle = _.___TooltipState_decoration = _.___TooltipState_margin = _.___TooltipState_padding = _.___TooltipState_height = $;
      _._showTimer = _._hideTimer = _._entry = null;
      _.___TooltipState__mouseIsConnected = _.___TooltipState_waitDuration = _.___TooltipState_showDuration = $;
      _._longPressActivated = false;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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.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) {
      var _ = this;
      _.message = t0;
      _.height = t1;
      _.padding = t2;
      _.margin = t3;
      _.decoration = t4;
      _.textStyle = t5;
      _.animation = t6;
      _.target = t7;
      _.verticalOffset = t8;
      _.preferBelow = t9;
      _.key = t10;
    },
    __TooltipState_State_SingleTickerProviderStateMixin: function __TooltipState_State_SingleTickerProviderStateMixin() {
    },
    BoxDecoration_lerp: function(a, b, t) {
      var t1, t2, t3, t4, t5, t6, t7;
      if (t === 0)
        return a;
      if (t === 1)
        return b;
      t1 = P.Color_lerp(a.color, b.color, t);
      t2 = t < 0.5;
      t3 = t2 ? a.image : b.image;
      t4 = F.BoxBorder_lerp(a.border, b.border, t);
      t5 = K.BorderRadiusGeometry_lerp(a.borderRadius, b.borderRadius, t);
      t6 = O.BoxShadow_lerpList(a.boxShadow, b.boxShadow, t);
      t7 = T.Gradient_lerp(a.gradient, b.gradient, t);
      return new S.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;
    },
    ContinuousRectangleBorder: function ContinuousRectangleBorder(t0, t1) {
      this.borderRadius = t0;
      this.side = t1;
    },
    BoxConstraints$tight: function(size) {
      var t1 = size._dx,
        t2 = size._dy;
      return new S.BoxConstraints(t1, t1, t2, t2);
    },
    BoxConstraints$tightFor: function(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 S.BoxConstraints(t2, t1, t4, t3 ? 1 / 0 : height);
    },
    BoxConstraints$tightForFinite: function(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 S.BoxConstraints(t2, t1, t4, t3 ? height : 1 / 0);
    },
    BoxConstraints$loose: function(size) {
      return new S.BoxConstraints(0, size._dx, 0, size._dy);
    },
    BoxConstraints_lerp: function(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;
      t1.toString;
      if (isFinite(t1)) {
        t1 = P.lerpDouble(t1, b.minWidth, t);
        t1.toString;
      } else
        t1 = 1 / 0;
      t2 = a.maxWidth;
      t2.toString;
      if (isFinite(t2)) {
        t2 = P.lerpDouble(t2, b.maxWidth, t);
        t2.toString;
      } else
        t2 = 1 / 0;
      t3 = a.minHeight;
      t3.toString;
      if (isFinite(t3)) {
        t3 = P.lerpDouble(t3, b.minHeight, t);
        t3.toString;
      } else
        t3 = 1 / 0;
      t4 = a.maxHeight;
      t4.toString;
      if (isFinite(t4)) {
        t4 = P.lerpDouble(t4, b.maxHeight, t);
        t4.toString;
      } else
        t4 = 1 / 0;
      return new S.BoxConstraints(t1, t2, t3, t4);
    },
    BoxHitTestResult$: function() {
      var t1 = H._setArrayType([], type$.JSArray_HitTestEntry),
        t2 = new E.Matrix4(new Float64Array(16));
      t2.setIdentity$0();
      return new S.BoxHitTestResult(t1, H._setArrayType([t2], type$.JSArray_Matrix4_2), H._setArrayType([], type$.JSArray__TransformPart));
    },
    BoxHitTestResult$wrap: function(result) {
      return new S.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._box$_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() {
    },
    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._table0$_name = t1;
    },
    RenderTable: function RenderTable(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      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;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = _._columnLefts = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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;
    },
    AlignmentGeometryTween: function AlignmentGeometryTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    basicLocaleListResolution: function(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 C.JSArray_methods.get$first(supportedLocales);
      t1 = type$.String;
      t2 = type$.Locale;
      allSupportedLocales = P.HashMap_HashMap(_null, _null, _null, t1, t2);
      languageAndCountryLocales = P.HashMap_HashMap(_null, _null, _null, t1, t2);
      languageAndScriptLocales = P.HashMap_HashMap(_null, _null, _null, t1, t2);
      languageLocales = P.HashMap_HashMap(_null, _null, _null, t1, t2);
      countryLocales = P.HashMap_HashMap(_null, _null, _null, type$.nullable_String, t2);
      for (_i = 0; _i < 1; ++_i) {
        locale = supportedLocales[_i];
        t1 = locale._languageCode;
        t2 = C.Map_YCOho.$index(0, t1);
        t2 = H.S(t2 == null ? t1 : t2) + "_null_";
        t3 = locale._countryCode;
        t4 = C.Map_0Agg9.$index(0, t3);
        t2 += H.S(t4 == null ? t3 : t4);
        if (allSupportedLocales.$index(0, t2) == null)
          allSupportedLocales.$indexSet(0, t2, locale);
        t2 = C.Map_YCOho.$index(0, t1);
        t2 = H.S(t2 == null ? t1 : t2) + "_null";
        if (languageAndScriptLocales.$index(0, t2) == null)
          languageAndScriptLocales.$indexSet(0, t2, locale);
        t2 = C.Map_YCOho.$index(0, t1);
        t2 = H.S(t2 == null ? t1 : t2) + "_";
        t4 = C.Map_0Agg9.$index(0, t3);
        t2 += H.S(t4 == null ? t3 : t4);
        if (languageAndCountryLocales.$index(0, t2) == null)
          languageAndCountryLocales.$indexSet(0, t2, locale);
        t2 = C.Map_YCOho.$index(0, t1);
        t1 = t2 == null ? t1 : t2;
        if (languageLocales.$index(0, t1) == null)
          languageLocales.$indexSet(0, t1, locale);
        t1 = C.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 = C.Map_YCOho.$index(0, t1);
        t2 = H.S(t2 == null ? t1 : t2) + "_null_";
        t3 = userLocale._countryCode;
        t4 = C.Map_0Agg9.$index(0, t3);
        if (allSupportedLocales.containsKey$1(0, t2 + H.S(t4 == null ? t3 : t4)))
          return userLocale;
        t2 = C.Map_0Agg9.$index(0, t3);
        if ((t2 == null ? t3 : t2) != null) {
          t2 = C.Map_YCOho.$index(0, t1);
          t2 = H.S(t2 == null ? t1 : t2) + "_";
          t4 = C.Map_0Agg9.$index(0, t3);
          match = languageAndCountryLocales.$index(0, t2 + H.S(t4 == null ? t3 : t4));
          if (match != null)
            return match;
        }
        if (matchesLanguageCode != null)
          return matchesLanguageCode;
        t2 = C.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 = C.Map_YCOho.$index(0, t2);
              t2 = t4 == null ? t2 : t4;
              t4 = C.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 = C.Map_0Agg9.$index(0, t3);
          t1 = (t1 == null ? t3 : t1) != null;
        } else
          t1 = false;
        if (t1) {
          t1 = C.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 ? C.JSArray_methods.get$first(supportedLocales) : resolvedLocale;
    },
    WidgetsApp_defaultShortcuts: function() {
      return C.Map_MQQ1t;
    },
    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) {
      var _ = this;
      _.navigatorKey = t0;
      _.onGenerateRoute = t1;
      _.onGenerateInitialRoutes = t2;
      _.pageRouteBuilder = t3;
      _.routeInformationParser = t4;
      _.routerDelegate = t5;
      _.backButtonDispatcher = t6;
      _.routeInformationProvider = t7;
      _.home = t8;
      _.routes = t9;
      _.onUnknownRoute = t10;
      _.initialRoute = t11;
      _.navigatorObservers = t12;
      _.builder = t13;
      _.title = t14;
      _.onGenerateTitle = t15;
      _.textStyle = t16;
      _.color = t17;
      _.locale = t18;
      _.localizationsDelegates = t19;
      _.localeListResolutionCallback = t20;
      _.localeResolutionCallback = t21;
      _.supportedLocales = t22;
      _.showPerformanceOverlay = t23;
      _.checkerboardRasterCacheImages = t24;
      _.checkerboardOffscreenLayers = t25;
      _.showSemanticsDebugger = t26;
      _.inspectorSelectButtonBuilder = t27;
      _.debugShowCheckedModeBanner = t28;
      _.shortcuts = t29;
      _.actions = t30;
      _.restorationScopeId = t31;
      _.key = t32;
    },
    _WidgetsAppState: function _WidgetsAppState(t0) {
      var _ = this;
      _._widget = _._app$_locale = _._navigator = _._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;
    },
    _MediaQueryFromWindow: function _MediaQueryFromWindow(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _MediaQueryFromWindowsState: function _MediaQueryFromWindowsState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    _MediaQueryFromWindowsState_didChangeMetrics_closure: function _MediaQueryFromWindowsState_didChangeMetrics_closure() {
    },
    _MediaQueryFromWindowsState_didChangePlatformBrightness_closure: function _MediaQueryFromWindowsState_didChangePlatformBrightness_closure() {
    },
    __MediaQueryFromWindowsState_State_WidgetsBindingObserver: function __MediaQueryFromWindowsState_State_WidgetsBindingObserver() {
    },
    __WidgetsAppState_State_WidgetsBindingObserver: function __WidgetsAppState_State_WidgetsBindingObserver() {
    },
    InheritedNotifier: function InheritedNotifier() {
    },
    _InheritedNotifierElement: function _InheritedNotifierElement(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._inherited_notifier$_dirty = false;
      _._dependents = t0;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t5;
    },
    PageStorageBucket__maybeAddKey: function(context, keys) {
      var widget = context.get$widget(),
        key = widget.key;
      if (key instanceof S.PageStorageKey)
        keys.push(key);
      return !(widget instanceof S.PageStorage);
    },
    PageStorage_of: function(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;
    },
    Table$: function(children, columnWidths) {
      var t1;
      if (C.JSArray_methods.any$1(children, new S.Table_closure())) {
        t1 = H._arrayInstanceType(children)._eval$1("MappedListIterable<1,Decoration?>");
        t1 = P.List_List$of(new H.MappedListIterable(children, new S.Table_closure0(), t1), false, t1._eval$1("ListIterable.E"));
      } else
        t1 = null;
      return new S.Table(children, columnWidths, t1, 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) {
      var _ = this;
      _.children = t0;
      _.columnWidths = t1;
      _._rowDecorations = t2;
      _.key = t3;
    },
    Table_closure: function Table_closure() {
    },
    Table_closure0: function Table_closure0() {
    },
    _TableElement: function _TableElement(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._table1$_children = t0;
      _._doingMountOrUpdate = false;
      _._table1$_forgottenChildren = t1;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _._cachedHash = t2;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t3;
      _._owner = null;
      _._lifecycleState = t4;
      _._debugForgottenChildrenWithGlobalKey = t5;
      _._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() {
    },
    InternalExrPart$: function(tiled, input) {
      var t1 = new S.InternalExrPart(new F.HdrImage(P.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_String, type$.HdrSlice)), H._setArrayType([], type$.JSArray_ExrChannel), P.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;
    },
    JpegJfif: function JpegJfif() {
      this.__JpegJfif_thumbHeight = this.__JpegJfif_thumbWidth = $;
    },
    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;
    },
    VP8L$: function(input, webp) {
      var t1 = H._setArrayType([], type$.JSArray_HTreeGroup),
        t2 = H._setArrayType([], type$.JSArray_VP8LTransform),
        t3 = new Uint32Array(2),
        t4 = new A.VP8LBitReader(input, t3);
      t4.__VP8LBitReader__buffer8 = C.NativeByteBuffer_methods.asUint8List$2(t3.buffer, 0, null);
      J.$indexSet$ax(t4.get$_buffer8(), 0, input.readByte$0());
      J.$indexSet$ax(t4.get$_buffer8(), 1, input.readByte$0());
      J.$indexSet$ax(t4.get$_buffer8(), 2, input.readByte$0());
      J.$indexSet$ax(t4.get$_buffer8(), 3, input.readByte$0());
      J.$indexSet$ax(t4.get$_buffer8(), 4, input.readByte$0());
      J.$indexSet$ax(t4.get$_buffer8(), 5, input.readByte$0());
      J.$indexSet$ax(t4.get$_buffer8(), 6, input.readByte$0());
      J.$indexSet$ax(t4.get$_buffer8(), 7, input.readByte$0());
      return new S.VP8L(t4, webp, t1, t2);
    },
    VP8L__subSampleSize: function(size, samplingBits) {
      return C.JSInt_methods._shrOtherPositive$1(size + C.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;
    },
    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;
    },
    _CompactStyle_createStyle: function(pattern, normalizedExponent) {
      var t3,
        t1 = $.$get$_CompactStyle__regex().firstMatch$1(pattern)._match,
        integerDigits = t1[2].length,
        t2 = t1[1];
      t2.toString;
      t1 = t1[3];
      t1.toString;
      t3 = $.$get$_CompactStyle__justZeros()._nativeRegExp;
      if (typeof pattern != "string")
        H.throwExpression(H.argumentErrorValue(pattern));
      return new S._CompactStyle(pattern, normalizedExponent, !t3.test(pattern) ? H._asIntS(Math.pow(10, normalizedExponent - integerDigits + 1)) : 1, integerDigits, t2, t1);
    },
    _CompactNumberFormat__forDecimal: function(symbols) {
      return symbols.DECIMAL_PATTERN;
    },
    _CompactNumberFormat__CompactNumberFormat: function(formatType, locale) {
      var symbols, localeZero, t2, $name, pattern, t3, patterns, t4, styles, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, _box_0 = {},
        t1 = X.verifiedLocale(locale, S.number_format_NumberFormat_localeExists$closure(), null);
      t1.toString;
      symbols = $.$get$numberFormatSymbols().$index(0, t1);
      localeZero = C.JSString_methods._codeUnitAt$1(symbols.ZERO_DIGIT, 0);
      t2 = $.$get$asciiZeroCodeUnit();
      $name = symbols.DEF_CURRENCY_CODE;
      pattern = S._CompactNumberFormat__forDecimal(symbols);
      t3 = $.$get$compactNumberSymbols().$index(0, t1);
      t3.toString;
      _box_0.styles = H._setArrayType([], type$.JSArray__CompactStyleBase);
      switch (formatType) {
        case C._CompactFormatType_0:
          patterns = t3.COMPACT_DECIMAL_SHORT_PATTERN;
          break;
        case C._CompactFormatType_1:
          patterns = t3.COMPACT_DECIMAL_LONG_PATTERN;
          if (patterns == null)
            patterns = t3.COMPACT_DECIMAL_SHORT_PATTERN;
          break;
        case C._CompactFormatType_2:
          patterns = t3.COMPACT_DECIMAL_SHORT_CURRENCY_PATTERN;
          break;
        default:
          throw H.wrapException(P.ArgumentError$notNull("formatType"));
      }
      patterns.forEach$1(0, new S._CompactNumberFormat__CompactNumberFormat_closure(_box_0));
      t3 = _box_0.styles;
      t4 = H._arrayInstanceType(t3)._eval$1("ReversedListIterable<1>");
      styles = P.List_List$of(new H.ReversedListIterable(t3, t4), true, t4._eval$1("ListIterable.E"));
      _box_0.styles = styles;
      C.JSArray_methods.add$1(styles, new S._CompactStyle(null, 0, 1, 1, "", ""));
      t4 = Q.NumberFormatParser_parse(symbols, pattern, false, $name, $name, null);
      t3 = _box_0.styles;
      t5 = t4.positivePrefix;
      t6 = t4.negativePrefix;
      t7 = t4.positiveSuffix;
      t8 = t4.negativeSuffix;
      t9 = t4.multiplier;
      t10 = C.JSNumber_methods.round$0(Math.log(t9) / $.$get$_ln100());
      t11 = t4.useExponentialNotation;
      t12 = t4.minimumExponentDigits;
      t13 = t4.maximumIntegerDigits;
      t14 = t4.minimumIntegerDigits;
      t15 = t4.maximumFractionDigits;
      t16 = t4.minimumFractionDigits;
      t17 = t4.groupingSize;
      t18 = t4.finalGroupingSize;
      t19 = t4.useSignForPositiveExponent;
      t2 = new S._CompactNumberFormat(t3, t6, t5, t8, t7, t17, t18, t4.decimalSeparatorAlwaysShown, t19, t11, false, t13, t14, t15, t16, t12, t9, t10, pattern, t1, symbols, $name, t4.decimalDigits, new P.StringBuffer(""), localeZero - t2);
      t2._significantDigits = 3;
      t2.significantDigitsInUse = true;
      t2._finalGroupingSize = t2._groupingSize = 0;
      return t2;
    },
    NumberFormat_NumberFormat$decimalPattern: function() {
      var symbols, localeZero, t2, $name, pattern,
        t1 = X.verifiedLocale(null, S.number_format_NumberFormat_localeExists$closure(), null);
      t1.toString;
      symbols = $.$get$numberFormatSymbols().$index(0, t1);
      localeZero = C.JSString_methods._codeUnitAt$1(symbols.ZERO_DIGIT, 0);
      t2 = $.$get$asciiZeroCodeUnit();
      $name = symbols.DEF_CURRENCY_CODE;
      pattern = new S.NumberFormat_NumberFormat$decimalPattern_closure().call$1(symbols);
      return S.NumberFormat$_($name, $name, false, t1, localeZero, pattern, symbols, localeZero - t2, Q.NumberFormatParser_parse(symbols, pattern, false, $name, $name, null));
    },
    NumberFormat$_: function(currencyName, currencySymbol, _isForCurrency, _locale, localeZero, _pattern, _symbols, _zeroOffset, result) {
      var t1 = result.positivePrefix,
        t2 = result.negativePrefix,
        t3 = result.positiveSuffix,
        t4 = result.negativeSuffix,
        t5 = result.multiplier,
        t6 = C.JSNumber_methods.round$0(Math.log(t5) / $.$get$_ln100()),
        t7 = result.useExponentialNotation,
        t8 = result.minimumExponentDigits,
        t9 = result.maximumIntegerDigits,
        t10 = result.minimumIntegerDigits,
        t11 = result.maximumFractionDigits,
        t12 = result.minimumFractionDigits,
        t13 = result.groupingSize,
        t14 = result.finalGroupingSize,
        t15 = result.useSignForPositiveExponent;
      return new S.NumberFormat(t2, t1, t4, t3, t13, t14, result.decimalSeparatorAlwaysShown, t15, t7, false, t9, t10, t11, t12, t8, t5, t6, _pattern, _locale, _symbols, currencySymbol, result.decimalDigits, new P.StringBuffer(""), _zeroOffset);
    },
    NumberFormat_localeExists: function(localeName) {
      if (localeName == null)
        return false;
      return $.$get$numberFormatSymbols().containsKey$1(0, localeName);
    },
    NumberFormat_numberOfIntegerDigits: function(number) {
      var simpleNumber = Math.abs(J.toDouble$0$n(number));
      if (simpleNumber < 10)
        return 1;
      if (simpleNumber < 100)
        return 2;
      if (simpleNumber < 1000)
        return 3;
      if (simpleNumber < 10000)
        return 4;
      if (simpleNumber < 100000)
        return 5;
      if (simpleNumber < 1000000)
        return 6;
      if (simpleNumber < 10000000)
        return 7;
      if (simpleNumber < 100000000)
        return 8;
      if (simpleNumber < 1000000000)
        return 9;
      if (simpleNumber < 1e10)
        return 10;
      if (simpleNumber < 1e11)
        return 11;
      if (simpleNumber < 1e12)
        return 12;
      if (simpleNumber < 1e13)
        return 13;
      if (simpleNumber < 1e14)
        return 14;
      if (simpleNumber < 1e15)
        return 15;
      if (simpleNumber < 1e16)
        return 16;
      return Math.max(1, C.JSNumber_methods.ceil$0(Math.log(simpleNumber) / $.$get$_ln10()));
    },
    _CompactStyleBase: function _CompactStyleBase() {
    },
    _CompactStyleWithNegative: function _CompactStyleWithNegative(t0, t1) {
      this.positiveStyle = t0;
      this.negativeStyle = t1;
    },
    _CompactStyle: function _CompactStyle(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.pattern = t0;
      _.normalizedExponent = t1;
      _.divisor = t2;
      _.expectedDigits = t3;
      _.prefix = t4;
      _.suffix = t5;
    },
    _CompactFormatType: function _CompactFormatType(t0, t1) {
      this.index = t0;
      this._number_format$_name = t1;
    },
    _CompactNumberFormat: function _CompactNumberFormat(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;
      _._styles = t0;
      _._number_format$_style = null;
      _.negativePrefix = t1;
      _.positivePrefix = t2;
      _.negativeSuffix = t3;
      _.positiveSuffix = t4;
      _._groupingSize = t5;
      _._finalGroupingSize = t6;
      _._decimalSeparatorAlwaysShown = t7;
      _._useSignForPositiveExponent = t8;
      _._useExponentialNotation = t9;
      _._isForCurrency = t10;
      _.maximumIntegerDigits = t11;
      _.minimumIntegerDigits = t12;
      _.maximumFractionDigits = t13;
      _.minimumFractionDigits = t14;
      _.minimumExponentDigits = t15;
      _._significantDigits = null;
      _.significantDigitsInUse = false;
      _.multiplier = t16;
      _._multiplierDigits = t17;
      _._number_format$_pattern = t18;
      _._number_format$_locale = t19;
      _._symbols = t20;
      _.currencySymbol = t21;
      _.decimalDigits = t22;
      _._number_format$_buffer = t23;
      _._zeroOffset = t24;
    },
    _CompactNumberFormat__CompactNumberFormat_closure: function _CompactNumberFormat__CompactNumberFormat_closure(t0) {
      this._box_0 = t0;
    },
    NumberFormat: function NumberFormat(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;
      _.negativePrefix = t0;
      _.positivePrefix = t1;
      _.negativeSuffix = t2;
      _.positiveSuffix = t3;
      _._groupingSize = t4;
      _._finalGroupingSize = t5;
      _._decimalSeparatorAlwaysShown = t6;
      _._useSignForPositiveExponent = t7;
      _._useExponentialNotation = t8;
      _._isForCurrency = t9;
      _.maximumIntegerDigits = t10;
      _.minimumIntegerDigits = t11;
      _.maximumFractionDigits = t12;
      _.minimumFractionDigits = t13;
      _.minimumExponentDigits = t14;
      _._significantDigits = null;
      _.significantDigitsInUse = false;
      _.multiplier = t15;
      _._multiplierDigits = t16;
      _._number_format$_pattern = t17;
      _._number_format$_locale = t18;
      _._symbols = t19;
      _.currencySymbol = t20;
      _.decimalDigits = t21;
      _._number_format$_buffer = t22;
      _._zeroOffset = t23;
    },
    NumberFormat_NumberFormat$decimalPattern_closure: function NumberFormat_NumberFormat$decimalPattern_closure() {
    },
    fromJson: function(json) {
      var t1 = J.cast$1$0$ax(json, type$.legacy_Map_of_legacy_String_and_dynamic),
        t2 = H._instanceType(t1)._eval$1("MappedListIterable<ListMixin.E,SymbolInfo*>");
      return P.List_List$of(new H.MappedListIterable(t1, S.instruction_sizes_SymbolInfo__fromJson$closure(), t2), false, t2._eval$1("ListIterable.E"));
    },
    SymbolInfo__fromJson: function(map) {
      var t1 = J.getInterceptor$asx(map),
        t2 = t1.$index(map, "l"),
        t3 = t1.$index(map, "c");
      return new S.SymbolInfo(new N.Name(t1.$index(map, "n")), t2, t3, t1.$index(map, "s"));
    },
    toProgramInfo: function(symbols, collapseAnonymousClosures) {
      var t1, t2, t3, t4, node, t5, t6, _i, sym, t7, scrubbed, t8, t9, node0, result, $package,
        program = D.ProgramInfo_ProgramInfo();
      for (t1 = symbols.length, t2 = type$.String, t3 = type$.SubListIterable_String, t4 = t3._eval$1("ListIterator<ListIterable.E>"), node = program.root, t5 = type$.JSArray_String, t6 = program.stubs, _i = 0; _i < symbols.length; symbols.length === t1 || (0, H.throwConcurrentModificationError)(symbols), ++_i) {
        sym = symbols[_i];
        t7 = sym.name;
        scrubbed = t7._scrubbed;
        if (scrubbed == null) {
          t8 = t7.raw;
          t9 = J.startsWith$1$s(t8, "[Stub] ") ? $.$get$_stubScrubbingRe() : $.$get$_scrubbingRe();
          scrubbed = t7._scrubbed = H.stringReplaceAllUnchecked(t8, t9, "");
          t7 = scrubbed;
        } else
          t7 = scrubbed;
        t8 = sym.libraryUri;
        if (t8 == null) {
          node0 = program.makeNode$3$name$parent$type(scrubbed, t6, C.NodeType_3);
          t7 = node0.size;
          if (t7 == null)
            t7 = 0;
          node0.size = t7 + sym.size;
        } else {
          result = H._setArrayType(t7.split("."), t5);
          if (J.startsWith$1$s(C.JSArray_methods.get$first(result), "new ")) {
            result[0] = H.S(result[0]) + H.S(result[1]);
            C.JSArray_methods.removeAt$1(result, 1);
          }
          $package = D.packageOf(t8);
          node0 = program.makeNode$3$name$parent$type(t8, $package !== t8 ? program.makeNode$3$name$parent$type($package, node, C.NodeType_0) : node, C.NodeType_1);
          node0 = program.makeNode$3$name$parent$type(sym.className, node0, C.NodeType_2);
          node0 = program.makeNode$3$name$parent$type(C.JSArray_methods.get$first(result), node0, C.NodeType_3);
          for (t7 = new H.SubListIterable(result, 1, null, t3), t7.SubListIterable$3(result, 1, null, t2), t7 = new H.ListIterator(t7, t7.get$length(t7), t4); t7.moveNext$0();) {
            t8 = t7.__internal$_current;
            node0 = program.makeNode$3$name$parent$type(t8, node0, C.NodeType_3);
          }
          t7 = node0.size;
          if (t7 == null)
            t7 = 0;
          node0.size = t7 + sym.size;
        }
      }
      return program;
    },
    SymbolInfo: function SymbolInfo(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.libraryUri = t1;
      _.className = t2;
      _.size = t3;
    },
    low: function(codeUnit) {
      var index = C.JSString_methods._codeUnitAt$1(string$.u0e3b_____, codeUnit >>> 6) + (codeUnit & 63),
        bit = index & 1,
        pair = C.JSString_methods._codeUnitAt$1(string$.x22x22____, index >>> 1);
      return pair >>> 4 & -bit | pair & 15 & bit - 1;
    },
    high: function(lead, tail) {
      var index = C.JSString_methods._codeUnitAt$1(string$.u0e3b_____, 1024 + (lead & 1023)) + (tail & 1023),
        bit = index & 1,
        pair = C.JSString_methods._codeUnitAt$1(string$.x22x22____, index >>> 1);
      return pair >>> 4 & -bit | pair & 15 & bit - 1;
    },
    setEquals: function(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;
    },
    listEquals0: function(a, b) {
      var t1, t2, index;
      if (a == null)
        return b == null;
      if (b == null || J.get$length$asx(a) != J.get$length$asx(b))
        return false;
      if (a === b)
        return true;
      for (t1 = J.getInterceptor$asx(a), t2 = J.getInterceptor$asx(b), index = 0; index < t1.get$length(a); ++index)
        if (!J.$eq$(t1.$index(a, index), t2.$index(b, index)))
          return false;
      return true;
    },
    mapEquals: function(a, b) {
      var t1, t2, t3, key;
      if (a == null)
        return b == null;
      if (b == null || J.get$length$asx(a) != J.get$length$asx(b))
        return false;
      if (a === b)
        return true;
      for (t1 = J.getInterceptor$x(a), t2 = J.get$iterator$ax(t1.get$keys(a)), t3 = J.getInterceptor$x(b); t2.moveNext$0();) {
        key = t2.get$current(t2);
        if (!t3.containsKey$1(b, key) || !J.$eq$(t3.$index(b, key), t1.$index(a, key)))
          return false;
      }
      return true;
    },
    mergeSort: function(list, compare, $T) {
      var middle, secondLength, scratchSpace, firstTarget,
        end = list.length,
        $length = end - 0;
      if ($length < 2)
        return;
      if ($length < 32) {
        S._insertionSort(list, compare, end, 0, $T);
        return;
      }
      middle = C.JSInt_methods._shrOtherPositive$1($length, 1);
      secondLength = end - middle;
      scratchSpace = P.List_List$filled(secondLength, list[0], false, $T);
      S._mergeSort(list, compare, middle, end, scratchSpace, 0);
      firstTarget = end - (middle - 0);
      S._mergeSort(list, compare, 0, middle, list, firstTarget);
      S._merge(compare, list, firstTarget, end, scratchSpace, 0, secondLength, list, 0);
    },
    _insertionSort: function(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 + C.JSInt_methods._shrOtherPositive$1(max - min, 1);
          if (compare.call$2(element, list[mid]) < 0)
            max = mid;
          else
            min = mid + 1;
        }
        ++pos;
        C.JSArray_methods.setRange$4(list, min + 1, pos, list, min);
        list[min] = element;
      }
    },
    _movingInsertionSort: function(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 + C.JSInt_methods._shrOtherPositive$1(max0 - min, 1);
          if (compare.call$2(element, target[mid]) < 0)
            max0 = mid;
          else
            min = mid + 1;
        }
        C.JSArray_methods.setRange$4(target, min + 1, max + 1, target, min);
        target[min] = element;
      }
    },
    _mergeSort: function(list, compare, start, end, target, targetOffset) {
      var middle, firstLength, targetMiddle,
        $length = end - start;
      if ($length < 32) {
        S._movingInsertionSort(list, compare, start, end, target, targetOffset);
        return;
      }
      middle = start + C.JSInt_methods._shrOtherPositive$1($length, 1);
      firstLength = middle - start;
      targetMiddle = targetOffset + firstLength;
      S._mergeSort(list, compare, middle, end, target, targetMiddle);
      S._mergeSort(list, compare, start, middle, list, middle);
      S._merge(compare, list, middle, middle + firstLength, target, targetMiddle, targetMiddle + (end - middle), target, targetOffset);
    },
    _merge: function(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;
          C.JSArray_methods.setRange$4(target, targetOffset, targetOffset + (firstEnd - cursor1), firstList, cursor1);
          return;
        }
        cursor1 = cursor10;
      }
      targetOffset0 = targetOffset + 1;
      target[targetOffset] = secondElement;
      C.JSArray_methods.setRange$4(target, targetOffset0, targetOffset0 + (secondEnd - cursor2), secondList, cursor2);
    },
    SemanticsService_tooltip: function(message) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$SemanticsService_tooltip = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(C.BasicMessageChannel_8hp.send$1(0, new E.TooltipSemanticsEvent(message, "tooltip").toMap$0()), $async$SemanticsService_tooltip);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$SemanticsService_tooltip, $async$completer);
    }
  },
  T = {
    InputStream$: function(data, byteOrder, $length, start) {
      var t1, t2;
      if (type$.TypedData._is(data)) {
        t1 = J.getInterceptor$x(data);
        t1 = J.asUint8List$2$x(t1.get$buffer(data), t1.get$offsetInBytes(data), t1.get$lengthInBytes(data));
      } else
        t1 = type$.List_int._is(data) ? data : P.List_List$from(data, true, type$.int);
      t2 = new T.InputStream(t1, start, start, byteOrder);
      t2.__InputStream__length = $length == null ? J.get$length$asx(t1) : $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 = $;
    },
    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;
    },
    _indexOf: function(source, pattern, start, end) {
      var realEnd, t1, index, t2,
        patternLength = pattern.length;
      if (patternLength === 0)
        return start;
      realEnd = end - patternLength;
      if (realEnd < start)
        return -1;
      if (source.length - realEnd <= (realEnd - start) * 2) {
        t1 = J.getInterceptor$asx(source);
        index = 0;
        while (true) {
          if (start < realEnd) {
            index = t1.indexOf$2(source, pattern, start);
            t2 = index >= 0;
          } else
            t2 = false;
          if (!t2)
            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 T._gcIndexOf(source, pattern, start, end);
    },
    _gcIndexOf: function(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 (C.JSString_methods.startsWith$2(source, pattern, index) && A.isGraphemeClusterBoundary(source, start, end, endIndex))
          return index;
      }
      return -1;
    },
    StringCharacters: function StringCharacters(t0) {
      this.string = t0;
    },
    StringCharacterRange: function StringCharacterRange(t0, t1, t2) {
      var _ = this;
      _._characters_impl$_string = t0;
      _._characters_impl$_start = t1;
      _._characters_impl$_end = t2;
      _._currentCache = null;
    },
    DragAndDropManagerWeb$: function() {
      var t1 = new T.DragAndDropManagerWeb(P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_DragAndDropState));
      t1.init$0();
      return t1;
    },
    DragAndDropManagerWeb: function DragAndDropManagerWeb(t0) {
      var _ = this;
      _.onDragLeaveSubscription = _.onDropSubscription = _.onDragOverSubscription = null;
      _._dragAndDropStates = t0;
      _.activeState = null;
    },
    DragAndDropManagerWeb__onDrop_closure: function DragAndDropManagerWeb__onDrop_closure(t0, t1, t2) {
      this.$this = t0;
      this.reader = t1;
      this.droppedFile = t2;
    },
    allowedError: function(future, logError) {
      return future.catchError$1(new T.allowedError_closure(logError));
    },
    allowedError_closure: function allowedError_closure(t0) {
      this.logError = t0;
    },
    EnumUtils$: function(enumValues, $T) {
      var t1 = type$.legacy_String,
        t2 = $T._eval$1("0*");
      t1 = new T.EnumUtils(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), P.LinkedHashMap_LinkedHashMap$_empty(t2, 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;
    },
    LinkedScrollControllerGroup: function LinkedScrollControllerGroup(t0) {
      this._allControllers = t0;
      this._offsetNotifier = null;
    },
    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;
      _._semanticActions = _._lastAxis = _._scroll_position$_lastMetrics = null;
      _.isScrollingNotifier = t7;
      _._activity = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t8;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _LinkedScrollActivity: function _LinkedScrollActivity(t0, t1) {
      this.drivers = t0;
      this._scroll_activity$_delegate = t1;
    },
    InfoController_getFlutterVersion: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_FlutterVersion),
        $async$returnValue;
      var $async$InfoController_getFlutterVersion = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterApp(), $async$InfoController_getFlutterVersion);
            case 3:
              // returning from await.
              if (!$async$result) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).get$flutterVersion().then$1$1(0, new T.InfoController_getFlutterVersion_closure(), type$.legacy_FlutterVersion).catchError$1(new T.InfoController_getFlutterVersion_closure0());
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$InfoController_getFlutterVersion, $async$completer);
    },
    InfoController: function InfoController(t0, t1, t2) {
      this.flutterVersionServiceAvailable = t0;
      this._info_controller$_flutterVersion = t1;
      this.AutoDisposeControllerMixin__delegate = t2;
    },
    InfoController_getFlutterVersion_closure: function InfoController_getFlutterVersion_closure() {
    },
    InfoController_getFlutterVersion_closure0: function InfoController_getFlutterVersion_closure0() {
    },
    InfoController__listenForFlutterVersionChanges_closure: function InfoController__listenForFlutterVersionChanges_closure(t0, t1) {
      this.$this = t0;
      this.flutterVersionServiceListenable = t1;
    },
    _InfoController_DisposableController_AutoDisposeControllerMixin: function _InfoController_DisposableController_AutoDisposeControllerMixin() {
    },
    chartDuration: function(interval) {
      return C.List_sLJ[interval.index];
    },
    chartInterval: function(displayName) {
      switch (C.JSArray_methods.indexOf$1($.$get$displayDurationsStrings(), displayName)) {
        case 0:
          return C.ChartInterval_0;
        case 1:
          return C.ChartInterval_1;
        case 2:
          return C.ChartInterval_2;
        case 3:
          return C.ChartInterval_3;
        case 4:
          return C.ChartInterval_4;
        default:
          return null;
      }
    },
    OfflineFileException$: function(message) {
      return new T.OfflineFileException(message);
    },
    ChartInterval: function ChartInterval(t0, t1) {
      this.index = t0;
      this._memory_controller$_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;
    },
    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) {
      var _ = this;
      _.newSnapshotSemantics = null;
      _._androidCollectionEnabled = t0;
      _._advancedSettingsEnabled = t1;
      _._unitDisplayed = t2;
      _.snapshots = t3;
      _._selectedSnapshotNotifier = t4;
      _.heapGraph = null;
      _._leafSelectedNotifier = t5;
      _._instanceRoot = null;
      _._leafAnalysisSelectedNotifier = t6;
      _._analysisInstanceRoot = null;
      _.completedAnalyses = t7;
      _._treeMapVisible = t8;
      _._legendVisibleNotifier = t9;
      _.memoryLog = _.memoryTimeline = null;
      _.offline = false;
      _.memorySourcePrefix = null;
      _._memorySourceNotifier = t10;
      _._refreshCharts = t11;
      _._displayIntervalNotifier = t12;
      _._paused = t13;
      _._androidChartVisibleNotifier = t14;
      _.settings = t15;
      _.selectionSnapshotNotifier = t16;
      _.analysisFieldsTreeTable = _.instanceFieldsTreeTable = _.groupByTreeTable = null;
      _._updateClassStackTraces = t17;
      _.trackAllocations = t18;
      _._allAllocationSamples = t19;
      _.allocationSamples = t20;
      _.allocationsFieldsTable = null;
      _.libraryFilters = t21;
      _.classRoot = _.topNode = null;
      _.filteredLibrariesByGroupName = t22;
      _._filterNotifier = t23;
      _.filterZeroInstances = t24;
      _.filterPrivateClasses = t25;
      _.filterLibraryNoInstances = t26;
      _.groupingBy = t27;
      _._memoryTrackerController = t28;
      _._disconnectController = t29;
      _._memoryTracker = null;
      _._monitorAllocationsNotifier = t30;
      _.monitorTimestamp = _.sortedMonitorDirection = _.sortedMonitorColumn = null;
      _.lastMonitorTimestamp = t31;
      _.searchMatchMonitorAllocationsNotifier = t32;
      _._monitorAllocations = t33;
      _._treeChangedNotifier = t34;
      _._gcing = false;
      _.snapshotByLibraryData = null;
      _.AutoCompleteSearchControllerMixin_selectTheSearchNotifier = t35;
      _.AutoCompleteSearchControllerMixin_searchAutoComplete = t36;
      _.AutoCompleteSearchControllerMixin_autoCompleteLayerLink = t37;
      _.AutoCompleteSearchControllerMixin_autoCompleteOverlay = t38;
      _.AutoCompleteSearchControllerMixin_currentDefaultIndex = t39;
      _.SearchControllerMixin__searchNotifier = t40;
      _.SearchControllerMixin_xPosition = t41;
      _.SearchControllerMixin__searchMatches = t42;
      _.SearchControllerMixin__activeSearchMatch = t43;
      _.SearchControllerMixin_matchIndex = t44;
      _.AutoDisposeControllerMixin__delegate = t45;
    },
    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() {
    },
    MemoryController_setTracking_closure2: function MemoryController_setTracking_closure2(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_startTimeline_closure0: function MemoryController_startTimeline_closure0(t0) {
      this.$this = t0;
    },
    MemoryController_monitorAllocations_closure: function MemoryController_monitorAllocations_closure(t0) {
      this.monitorAllocation = t0;
    },
    MemoryController_monitorAllocations_closure0: function MemoryController_monitorAllocations_closure0() {
    },
    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() {
    },
    MemoryController_computeAllLibraries_closure1: function MemoryController_computeAllLibraries_closure1(t0, t1) {
      this.$this = t0;
      this.newLibraryRoot = t1;
    },
    MemoryController_computeAllLibraries__closure: function MemoryController_computeAllLibraries__closure(t0) {
      this.libraryName = t0;
    },
    MemoryController_computeAllLibraries__closure0: function MemoryController_computeAllLibraries__closure0() {
    },
    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_addAllToNode__closure0: function MemoryController_addAllToNode__closure0() {
    },
    MemoryController_createSnapshotEntries_closure: function MemoryController_createSnapshotEntries_closure(t0) {
      this.snapshot = t0;
    },
    MemoryController_createSnapshotEntries_closure0: function MemoryController_createSnapshotEntries_closure0() {
    },
    MemoryController_buildTreeFromAllData_closure: function MemoryController_buildTreeFromAllData_closure() {
    },
    MemoryController_buildTreeFromAllData_closure0: function MemoryController_buildTreeFromAllData_closure0() {
    },
    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() {
    },
    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;
      _.visibleTicks = null;
      _._xAxisLabeledTimestamps = t2;
      _.displayTopLine = t3;
      _.displayXAxis = t4;
      _.displayXLabels = t5;
      _.displayYLabels = t6;
      _.xPaddingRight = _.canvasChartWidth = _.xCanvasChart = null;
      _.canvasChartHeight = _.yCanvasChart = 0;
      _.dirty = false;
      _._chart_controller$_timestamps = t7;
      _.traces = t8;
      _._traceNotifier = t9;
      _._yMaxValue = 0;
      _.yScale = t10;
      _._chart_controller$_title = _._fixedMaxY = _._fixedMinY = null;
      _.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) {
      var _ = this;
      _.colorScheme = _._memory_events_pane$_memoryController = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    MemoryEventsPaneState_didChangeDependencies_closure: function MemoryEventsPaneState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    MemoryEventsPaneState_didChangeDependencies__closure: function MemoryEventsPaneState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    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() {
    },
    parseJsonClassHeapStats: function(json) {
      var t2, t3, t4, classRef, t1 = {};
      t1.bytesDelta = t1.bytesCurrent = t1.instancesDelta = t1.instancesCurrent = 0;
      t2 = new T.parseJsonClassHeapStats__update(t1);
      t3 = J.getInterceptor$asx(json);
      t4 = t3.$index(json, "class");
      classRef = t4 == null ? null : Q.ClassRef$_fromJson(t4);
      t4 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
      if (t4._versionSupported$2$supportedVersion$version(new T.SemanticVersion(3, 18, 0, null, null), t4._protocolVersion)) {
        t1.instancesCurrent = t3.$index(json, "instancesCurrent");
        t1.instancesDelta = t3.$index(json, "instancesAccumulated");
        t1.bytesCurrent = t3.$index(json, "bytesCurrent");
        t1.bytesDelta = t3.$index(json, "accumulatedSize");
      } else {
        t2.call$1(t3.$index(json, "new"));
        t2.call$1(t3.$index(json, "old"));
      }
      t2 = t1.bytesCurrent;
      t3 = t1.bytesDelta;
      return new L.ClassHeapDetailStats(classRef, t1.instancesCurrent, t1.instancesDelta, t2, t3);
    },
    MemoryTracker: function MemoryTracker(t0, t1, t2, t3) {
      var _ = this;
      _.serviceManager = t0;
      _.memoryController = t1;
      _._memory_protocol$_pollingTimer = null;
      _.isolateHeaps = t2;
      _.rasterCache = _.adbMemoryInfo = _.processRss = null;
      _._changeController = t3;
      _._monitorContinues = _._gcStreamListener = null;
    },
    MemoryTracker__recalculate_closure: function MemoryTracker__recalculate_closure(t0) {
      this.keysToRemove = t0;
    },
    parseJsonClassHeapStats__update: function parseJsonClassHeapStats__update(t0) {
      this._box_0 = t0;
    },
    Reference$_internal: function(actualClass, controller, isAnalysis, isClass, isExternal, isExternals, isFiltered, isLibrary, isObject, isSnapshot, $name, onExpand, onLeaf) {
      return new T.Reference(controller, actualClass, $name, false, false, isAnalysis, isSnapshot, isLibrary, isExternals, isExternal, isFiltered, isClass, isObject, onExpand, onLeaf, H._setArrayType([], type$.JSArray_legacy_Reference));
    },
    AnalysisReference$: function($name, countNote, sizeNote) {
      var _null = null;
      return new T.AnalysisReference(countNote, sizeNote, _null, _null, $name, false, false, true, false, false, false, false, false, false, false, _null, _null, H._setArrayType([], type$.JSArray_legacy_Reference));
    },
    AnalysisInstance$: function(controller, $name, fieldsRoot) {
      return new T.AnalysisInstance(fieldsRoot, controller, null, $name, false, false, true, false, false, false, false, false, false, false, null, null, H._setArrayType([], type$.JSArray_legacy_Reference));
    },
    SnapshotReference_title: function(snapshot) {
      var timestamp, displayTimestamp;
      if (snapshot == null)
        return "";
      timestamp = snapshot.collectedTimestamp;
      displayTimestamp = A.DateFormat$("MMM dd hh:mm:ss", null).format$1(timestamp);
      return snapshot.autoSnapshot ? "Snapshot " + displayTimestamp + " Auto" : "Snapshot " + displayTimestamp;
    },
    LibraryReference$: function(controller, libraryName, actualClasses) {
      return new T.LibraryReference(actualClasses, controller, null, libraryName, false, false, false, false, true, false, false, false, false, false, new T.LibraryReference_closure(controller), null, H._setArrayType([], type$.JSArray_legacy_Reference));
    },
    ExternalReference$: function(controller, $name, liveExternal) {
      return new T.ExternalReference(liveExternal, controller, null, $name, false, false, false, false, false, false, true, false, false, false, new T.ExternalReference_closure(controller), null, H._setArrayType([], type$.JSArray_legacy_Reference));
    },
    computeInstanceForClassReference: function(controller, reference) {
      var t2, instances, index, objectRef,
        t1 = reference.children;
      if (t1.length !== 0) {
        t2 = C.JSArray_methods.get$first(t1);
        t2.toString;
        t2 = J.$eq$(t2, $.$get$Reference_empty());
      } else
        t2 = false;
      if (t2) {
        C.JSArray_methods.set$length(t1, 0);
        type$.legacy_ClassReference._as(reference);
        instances = reference.actualClass.getInstances$1(controller.heapGraph);
        for (index = 0; index < instances.length; ++index) {
          objectRef = T.ObjectReference$(controller, index, instances[index]);
          t1.push(objectRef);
          objectRef.parent = reference;
          objectRef.index = t1.length - 1;
        }
      }
    },
    ClassReference$: function(controller, actualClass) {
      return new T.ClassReference(controller, actualClass, actualClass.origin._snapshot_graph$_name, false, false, false, false, false, false, false, false, true, false, new T.ClassReference_closure(controller), null, H._setArrayType([], type$.JSArray_legacy_Reference));
    },
    ObjectReference$: function(controller, index, instance) {
      return new T.ObjectReference(instance, controller, null, "Instance " + index, false, false, false, false, false, false, false, false, false, true, null, null, H._setArrayType([], type$.JSArray_legacy_Reference));
    },
    ObjectFieldReference$: function(controller, instance, type, $name, isNull) {
      var t1 = new T.ObjectFieldReference(isNull, controller, instance, type, $name, null, false, true, H._setArrayType([], type$.JSArray_legacy_FieldReference));
      t1.onExpand = t1.get$_expandObjectFieldRef();
      return t1;
    },
    instanceToFieldNodes: function(controller, instance) {
      var t1, t2, sentinelCount, fieldIndex, _i, fieldElement, t3,
        root = H._setArrayType([], type$.JSArray_legacy_FieldReference),
        fields = instance.getFields$0();
      for (t1 = fields.length, t2 = type$.JSArray_legacy_HeapGraphElement, sentinelCount = 0, fieldIndex = 0, _i = 0; _i < fields.length; fields.length === t1 || (0, H.throwConcurrentModificationError)(fields), ++_i) {
        fieldElement = fields[_i];
        if (!J.$eq$(fieldElement.key, "__parts")) {
          if (!(fieldElement.value instanceof X.HeapGraphElementSentinel)) {
            if (instance._references == null && instance.referencesFiller != null) {
              instance._references = H._setArrayType([], t2);
              instance.referencesFiller.call$0();
            }
            t3 = !(instance._references[fieldIndex] instanceof X.HeapGraphElementSentinel);
          } else
            t3 = false;
          if (t3)
            root.push(T.fieldToFieldReference(controller, instance, fieldElement));
          else {
            ++sentinelCount;
            root.push($.$get$FieldReference_sentinel());
          }
        }
        ++fieldIndex;
      }
      if (root.length !== 0 && sentinelCount > 0) {
        if (!!root.fixed$length)
          H.throwExpression(P.UnsupportedError$("removeWhere"));
        C.JSArray_methods._removeWhere$2(root, new T.instanceToFieldNodes_closure(), true);
      }
      return root;
    },
    fieldToFieldReference: function(controller, instance, fieldElement) {
      var t1, actual, theClass, t2, classId, indexIntoClass, classActual, isNullValue, reference, data, isAMap, _i, ref, t3, t4, hashMapData;
      if (fieldElement.get$value(fieldElement) instanceof X.HeapGraphElementSentinel)
        return $.$get$FieldReference_sentinel();
      controller.toString;
      t1 = type$.legacy_HeapGraphElementLive;
      actual = t1._as(fieldElement.get$value(fieldElement));
      theClass = actual.theClass;
      t2 = actual.origin;
      classId = t2._classId;
      indexIntoClass = controller.newSnapshotSemantics ? classId : classId - 1;
      if (!controller.heapGraph.builtInClasses.containsValue$1(0, indexIntoClass)) {
        classActual = type$.legacy_HeapGraphClassLive._as(t1._as(fieldElement.get$value(fieldElement)).theClass);
        isNullValue = t2.get$_snapshot_graph$_data() == null;
        reference = T.ObjectFieldReference$(controller, actual, classActual.origin._snapshot_graph$_name, fieldElement.get$key(fieldElement), isNullValue);
        t1 = isNullValue ? 0 : 1;
        C.JSArray_methods.forEach$1(P.List_List$filled(t1, $.$get$FieldReference_empty(), false, type$.legacy_FieldReference), reference.get$addChild());
        return reference;
      } else {
        data = t2.get$_snapshot_graph$_data();
        t1 = J.getInterceptor$(data);
        if (t1.get$runtimeType(data) === C.Type_HeapSnapshotObjectLengthData_CLo) {
          t2 = theClass.origin;
          isAMap = new X.LibraryClass(J.toString$0$(t2.get$_libraryUri()), t2._snapshot_graph$_name).$eq(0, $.$get$predefinedMap()) || new X.LibraryClass(J.toString$0$(t2.get$_libraryUri()), t2._snapshot_graph$_name).$eq(0, $.$get$predefinedHashMap());
          if (isAMap || new X.LibraryClass(J.toString$0$(t2.get$_libraryUri()), t2._snapshot_graph$_name).$eq(0, $.$get$predefinedList()))
            return T.listToFieldEntries(controller, actual, fieldElement.get$key(fieldElement), t1.get$length(data), isAMap);
        } else {
          t1 = theClass.origin;
          if (new X.LibraryClass(J.toString$0$(t1.get$_libraryUri()), t1._snapshot_graph$_name).$eq(0, $.$get$predefinedHashMap()))
            for (t1 = fieldElement.get$value(fieldElement).get$references(), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
              ref = t1[_i];
              if (!(ref instanceof X.HeapGraphElementSentinel)) {
                t3 = ref.theClass.origin;
                t4 = t3.__HeapSnapshotClass__libraryUri;
                if (new X.LibraryClass(J.toString$0$(t4 === $ ? H.throwExpression(H.LateError$fieldNI("_libraryUri")) : t4), t3._snapshot_graph$_name).$eq(0, $.$get$predefinedList())) {
                  hashMapData = ref.origin.__HeapSnapshotObject__data;
                  if (hashMapData === $)
                    hashMapData = H.throwExpression(H.LateError$fieldNI("_data"));
                  t3 = J.getInterceptor$(hashMapData);
                  if (t3.get$runtimeType(hashMapData) === C.Type_HeapSnapshotObjectLengthData_CLo)
                    return T.listToFieldEntries(controller, ref, fieldElement.get$key(fieldElement), J.$tdiv$n(t3.get$length(hashMapData), 2), true);
                }
              }
            }
        }
        return T.createScalar(controller, fieldElement.get$key(fieldElement), actual);
      }
    },
    createScalar: function(controller, fieldName, actual) {
      var dataValue, dataType, originClassId, classId, dataTypeClass,
        t1 = actual.origin,
        data = t1.get$_snapshot_graph$_data(),
        t2 = J.getInterceptor$(data);
      switch (t2.get$runtimeType(data)) {
        case C.Type_HeapSnapshotObjectNoData_a9w:
          dataValue = "Object No Data";
          dataType = "";
          break;
        case C.Type_HeapSnapshotObjectNullData_Grj:
          dataValue = "";
          dataType = "Null";
          break;
        case C.Type_HeapSnapshotObjectLengthData_CLo:
          dataValue = J.toString$0$(t2.get$length(data));
          dataType = "";
          break;
        default:
          originClassId = t1._classId;
          classId = controller.newSnapshotSemantics ? originClassId : originClassId - 1;
          dataValue = t2.toString$0(data);
          dataTypeClass = controller.heapGraph.classes[classId];
          t1 = $.$get$predefinedClasses();
          t2 = dataTypeClass.origin;
          dataType = t1.$index(0, new X.LibraryClass(J.toString$0$(t2.get$_libraryUri()), t2._snapshot_graph$_name)).prettyName;
      }
      return new T.FieldReference(controller, actual, dataType, fieldName, dataValue, true, false, H._setArrayType([], type$.JSArray_legacy_FieldReference));
    },
    listToFieldEntries: function(controller, reference, fieldName, size, isHashMap) {
      var t1, listObjectReference, actualListElement, isAMap, t2, _i, reference0, t3, t4, allEntryReferences, referencesLength, realEntries, entryElementIndex, entry, hasKeyValues, listIndex, realEntryIndex, entryElement, entryClass, t5, predefined, valueElement, listEntry, valueClass, valueEntry, keyFields, keyField, key, value, t6, scalarEntry, keyObjectRef, listIndex0, _null = null,
        _s11_ = "_libraryUri";
      if (reference instanceof X.HeapGraphElementLive) {
        t1 = type$.legacy_HeapGraphClassLive._as(reference.theClass).origin;
        if (new X.LibraryClass(J.toString$0$(t1.get$_libraryUri()), t1._snapshot_graph$_name).$eq(0, $.$get$predefinedList())) {
          t1 = isHashMap ? "HashMap" : "List";
          listObjectReference = T.ObjectFieldReference$(controller, reference, t1, isHashMap ? H.S(fieldName) + " {" + H.S(size) + "}" : "[" + H.S(size) + "]", false);
          actualListElement = reference;
          isAMap = false;
        } else if (new X.LibraryClass(J.toString$0$(t1.get$_libraryUri()), t1._snapshot_graph$_name).$eq(0, $.$get$predefinedMap()) || new X.LibraryClass(J.toString$0$(t1.get$_libraryUri()), t1._snapshot_graph$_name).$eq(0, $.$get$predefinedHashMap())) {
          listObjectReference = T.ObjectFieldReference$(controller, reference, "Map", H.S(fieldName) + " { " + C.JSInt_methods._tdivFast$1(size, 2) + " }", false);
          t1 = reference.get$references();
          t2 = t1.length;
          _i = 0;
          while (true) {
            if (!(_i < t1.length)) {
              actualListElement = reference;
              isAMap = false;
              break;
            }
            reference0 = t1[_i];
            if (reference0 instanceof X.HeapGraphElementLive) {
              t3 = reference0.theClass.origin;
              t4 = t3.__HeapSnapshotClass__libraryUri;
              if (new X.LibraryClass(J.toString$0$(t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s11_)) : t4), t3._snapshot_graph$_name).$eq(0, $.$get$predefinedList())) {
                actualListElement = reference0;
                isAMap = true;
                break;
              }
            }
            t1.length === t2 || (0, H.throwConcurrentModificationError)(t1);
            ++_i;
          }
        } else {
          listObjectReference = _null;
          actualListElement = listObjectReference;
          isAMap = false;
        }
      } else {
        listObjectReference = _null;
        actualListElement = listObjectReference;
        isAMap = false;
      }
      allEntryReferences = actualListElement.get$references();
      referencesLength = allEntryReferences.length;
      t1 = type$.JSArray_legacy_HeapGraphElement;
      realEntries = H._setArrayType([], t1);
      for (entryElementIndex = 0; entryElementIndex < referencesLength; ++entryElementIndex) {
        entry = allEntryReferences[entryElementIndex];
        if (entry instanceof X.HeapGraphElementLive) {
          t2 = entry.theClass.origin;
          t3 = t2.__HeapSnapshotClass__libraryUri;
          if (!new X.LibraryClass(J.toString$0$(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s11_)) : t3), t2._snapshot_graph$_name).$eq(0, $.$get$predefinedNull()))
            realEntries.push(entry);
        }
      }
      hasKeyValues = isAMap && realEntries.length === size;
      for (t2 = !isAMap, listIndex = 0, realEntryIndex = 0; realEntryIndex < realEntries.length; ++realEntryIndex) {
        entryElement = realEntries[realEntryIndex];
        entryClass = entryElement.theClass;
        if (entryClass instanceof X.HeapGraphClassLive) {
          t3 = entryClass.origin;
          t4 = t3.__HeapSnapshotClass__libraryUri;
          t3 = !new X.LibraryClass(J.toString$0$(t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s11_)) : t4), t3._snapshot_graph$_name).$eq(0, $.$get$predefinedNull());
        } else
          t3 = false;
        if (t3) {
          t3 = $.$get$predefinedClasses();
          t4 = entryClass.origin;
          t5 = t4.__HeapSnapshotClass__libraryUri;
          predefined = t3.$index(0, new X.LibraryClass(J.toString$0$(t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s11_)) : t5), t4._snapshot_graph$_name));
          if (predefined != null && predefined.isScalar)
            if (isAMap)
              if (hasKeyValues) {
                ++realEntryIndex;
                valueElement = realEntries[realEntryIndex];
                t3 = $.$get$predefinedClasses();
                t5 = t4.__HeapSnapshotClass__libraryUri;
                t3 = t3.$index(0, new X.LibraryClass(J.toString$0$(t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s11_)) : t5), t4._snapshot_graph$_name)).prettyName;
                t4 = entryElement.origin.__HeapSnapshotObject__data;
                listEntry = T.ObjectFieldReference$(controller, entryElement, t3, "key '" + H.S(t4 === $ ? H.throwExpression(H.LateError$fieldNI("_data")) : t4) + "'", false);
                valueClass = valueElement.theClass;
                t3 = $.$get$predefinedClasses();
                t4 = valueClass.origin;
                t5 = t4.__HeapSnapshotClass__libraryUri;
                predefined = t3.$index(0, new X.LibraryClass(J.toString$0$(t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s11_)) : t5), t4._snapshot_graph$_name));
                if (predefined != null && predefined.isScalar)
                  valueEntry = T.createScalar(controller, "value", valueElement);
                else {
                  valueEntry = T.ObjectFieldReference$(controller, valueElement, t4._snapshot_graph$_name, "value", false);
                  t3 = $.$get$FieldReference_empty();
                  t4 = valueEntry.children;
                  t4.push(t3);
                  t3.parent = valueEntry;
                  t3.index = t4.length - 1;
                }
                t3 = listEntry.children;
                t3.push(valueEntry);
                valueEntry.parent = listEntry;
                valueEntry.index = t3.length - 1;
              } else
                listEntry = T.createScalar(controller, "value " + listIndex, entryElement);
            else
              listEntry = T.createScalar(controller, fieldName, entryElement);
          else {
            listEntry = T.ObjectFieldReference$(controller, entryElement, t4._snapshot_graph$_name, "[" + listIndex + "]", false);
            if (entryElement._references == null && entryElement.referencesFiller != null) {
              entryElement._references = H._setArrayType([], t1);
              entryElement.referencesFiller.call$0();
            }
            if (entryElement._references.length !== 0)
              if (isAMap) {
                keyFields = entryElement.getFields$0();
                for (t3 = keyFields.length, _i = 0; _i < keyFields.length; keyFields.length === t3 || (0, H.throwConcurrentModificationError)(keyFields), ++_i) {
                  keyField = keyFields[_i];
                  key = keyField.key;
                  value = keyField.value;
                  if (!value.get$isSentinel()) {
                    t4 = value.origin.__HeapSnapshotObject__data;
                    t4 = J.get$runtimeType$(t4 === $ ? H.throwExpression(H.LateError$fieldNI("_data")) : t4) !== C.Type_HeapSnapshotObjectNullData_Grj;
                  } else
                    t4 = false;
                  if (t4) {
                    t4 = value.theClass.origin;
                    t5 = t4.__HeapSnapshotClass__libraryUri;
                    t5 = J.toString$0$(t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s11_)) : t5);
                    t6 = t4._snapshot_graph$_name;
                    predefined = $.$get$predefinedClasses().$index(0, new X.LibraryClass(t5, t6));
                    if (predefined != null && predefined.isScalar) {
                      scalarEntry = T.createScalar(controller, key, value);
                      t4 = listEntry.children;
                      t4.push(scalarEntry);
                      scalarEntry.parent = listEntry;
                      scalarEntry.index = t4.length - 1;
                    } else {
                      keyObjectRef = T.ObjectFieldReference$(controller, value, t4._snapshot_graph$_name, H.S(key), false);
                      t4 = $.$get$FieldReference_empty();
                      t5 = keyObjectRef.children;
                      t5.push(t4);
                      t4.parent = keyObjectRef;
                      t4.index = t5.length - 1;
                      t5 = listEntry.children;
                      t5.push(keyObjectRef);
                      keyObjectRef.parent = listEntry;
                      keyObjectRef.index = t5.length - 1;
                    }
                  }
                }
              }
          }
          if (t2) {
            t3 = $.$get$FieldReference_empty();
            t4 = listEntry.children;
            t4.push(t3);
            t3.parent = listEntry;
            t3.index = t4.length - 1;
          }
          t3 = listObjectReference.children;
          t3.push(listEntry);
          listEntry.parent = listObjectReference;
          listEntry.index = t3.length - 1;
          listIndex0 = listIndex + 1;
          if (listIndex > 100)
            break;
          listIndex = listIndex0;
        }
      }
      return listObjectReference;
    },
    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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_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;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    Snapshot0: function Snapshot0(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;
      _._trees$_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;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    ObjectFieldReference__expandObjectFieldRef_closure: function ObjectFieldReference__expandObjectFieldRef_closure(t0) {
      this.ref = t0;
    },
    ObjectFieldReference__expandObjectFieldRef_closure0: function ObjectFieldReference__expandObjectFieldRef_closure0() {
    },
    instanceToFieldNodes_closure: function instanceToFieldNodes_closure() {
    },
    SelfTimeColumn$: function(titleTooltip) {
      return new T.SelfTimeColumn("Self Time", titleTooltip, 180, null, C.ColumnAlignment_0);
    },
    TotalTimeColumn$: function(titleTooltip) {
      return new T.TotalTimeColumn("Total Time", titleTooltip, 180, null, C.ColumnAlignment_0);
    },
    MethodNameColumn$: function() {
      var t1 = type$.legacy_CpuStackFrame;
      return new T.MethodNameColumn(P.StreamController_StreamController$broadcast(false, t1), P.StreamController_StreamController$broadcast(false, t1), "Method", null, null, null, C.ColumnAlignment_0);
    },
    SourceColumn$: function() {
      return new T.SourceColumn("Source", null, null, null, C.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: function CpuProfilerController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.cpuProfileStore = t0;
      _._dataNotifier = t1;
      _._cpu_profile_controller$_processingNotifier = t2;
      _._selectedCpuStackFrameNotifier = t3;
      _._userTagFilter = t4;
      _._dataByTag = t5;
      _.selectedProfilerTabIndex = 0;
      _.transformer = t6;
      _.SearchControllerMixin__searchNotifier = t7;
      _.SearchControllerMixin_xPosition = t8;
      _.SearchControllerMixin__searchMatches = t9;
      _.SearchControllerMixin__activeSearchMatch = t10;
      _.SearchControllerMixin_matchIndex = t11;
    },
    CpuProfilerController_processDataForTag_closure: function CpuProfilerController_processDataForTag_closure(t0, t1) {
      this.fullData = t0;
      this.tag = t1;
    },
    CpuProfilerControllerProviderMixin: function CpuProfilerControllerProviderMixin() {
    },
    _CpuProfilerController_Object_SearchControllerMixin: function _CpuProfilerController_Object_SearchControllerMixin() {
    },
    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() {
    },
    shouldShowScreen: function($screen) {
      var t1;
      if ($.offlineMode)
        return $screen.worksOffline;
      t1 = $screen.requiresLibrary;
      if (t1 != null)
        if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceAvailable.future._state === 0 || $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager.selectedIsolateAvailable.future._state === 0 || !$.globals.$index(0, C.Type_ServiceConnectionManager_qdG).libraryUriAvailableNow$1(t1))
          return false;
      if ($screen.requiresDartVm) {
        if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceAvailable.future._state !== 0) {
          $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp.toString;
          t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vm.name === "ChromeDebugProxy";
        } else
          t1 = true;
        if (t1)
          return false;
      }
      if ($screen.requiresDebugBuild)
        if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceAvailable.future._state === 0 || $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isProfileBuild)
          return false;
      if ($screen.requiresVmDeveloperMode)
        if (!$.globals.$index(0, C.Type_PreferencesController_1KB)._vmDeveloperMode._value)
          return false;
      t1 = $screen.shouldShowForFlutterVersion;
      if (t1 != null) {
        if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceAvailable.future._state !== 0)
          t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp && !t1.call$1($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._flutterVersion);
        else
          t1 = true;
        if (t1)
          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;
    },
    FlutterVersion$_: function(channel, dartSdkVersion, engineRevision, frameworkCommitDate, frameworkRevision, repositoryUrl, version) {
      var t1 = new T.FlutterVersion(version, channel, repositoryUrl, frameworkRevision, frameworkCommitDate, engineRevision, dartSdkVersion, 0, 0, 0, null, null);
      t1.FlutterVersion$_$7$channel$dartSdkVersion$engineRevision$frameworkCommitDate$frameworkRevision$repositoryUrl$version(channel, dartSdkVersion, engineRevision, frameworkCommitDate, frameworkRevision, repositoryUrl, version);
      return t1;
    },
    FlutterVersion_FlutterVersion$parse: function(json) {
      var t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "frameworkVersion"),
        t3 = t1.$index(json, "channel"),
        t4 = t1.$index(json, "repositoryUrl"),
        t5 = t1.$index(json, "frameworkRevisionShort"),
        t6 = t1.$index(json, "frameworkCommitDate"),
        t7 = t1.$index(json, "engineRevisionShort");
      return T.FlutterVersion$_(t3, t1.$index(json, "dartSdkVersion"), t7, t6, t5, t4, t2);
    },
    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;
    },
    FlutterVersion$__closure: function FlutterVersion$__closure() {
    },
    FlutterVersion$__closure0: function FlutterVersion$__closure0() {
    },
    SemanticVersion: function SemanticVersion(t0, t1, t2, t3, t4) {
      var _ = this;
      _.major = t0;
      _.minor = t1;
      _.patch = t2;
      _.preReleaseMajor = t3;
      _.preReleaseMinor = t4;
    },
    _SemanticVersion_Object_CompareMixin: function _SemanticVersion_Object_CompareMixin() {
    },
    CupertinoIconThemeData: function CupertinoIconThemeData(t0, t1, t2) {
      this.color = t0;
      this._opacity = t1;
      this.size = t2;
    },
    _CupertinoIconThemeData_IconThemeData_Diagnosticable: function _CupertinoIconThemeData_IconThemeData_Diagnosticable() {
    },
    TargetPlatform: function TargetPlatform(t0, t1) {
      this.index = t0;
      this._platform$_name = t1;
    },
    LongPressGestureRecognizer$: function(debugOwner, duration, kind, postAcceptSlopTolerance, supportedDevices) {
      var t1 = duration == null ? C.Duration_500000 : duration,
        t2 = type$.int,
        t3 = P.HashSet_HashSet(t2),
        t4 = type$.PointerDeviceKind,
        t5 = kind == null ? supportedDevices : P.LinkedHashSet_LinkedHashSet$_literal([kind], t4);
      return new T.LongPressGestureRecognizer(t1, postAcceptSlopTolerance, C.GestureRecognizerState_0, P.LinkedHashMap_LinkedHashMap$_empty(t2, type$.GestureArenaEntry), t3, debugOwner, t5, P.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;
      _._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;
    },
    ElevatedButtonThemeData_lerp: function(a, b, t) {
      var t1 = a == null;
      if (t1 && b == null)
        return null;
      t1 = t1 ? null : a.style;
      return new T.ElevatedButtonThemeData(A.ButtonStyle_lerp(t1, b == null ? null : b.style, t));
    },
    ElevatedButtonThemeData: function ElevatedButtonThemeData(t0) {
      this.style = t0;
    },
    _ElevatedButtonThemeData_Object_Diagnosticable: function _ElevatedButtonThemeData_Object_Diagnosticable() {
    },
    RadioThemeData__lerpProperties: function(a, b, t, lerpFunction, $T) {
      if (a == null && b == null)
        return null;
      return new T._LerpProperties0(a, b, t, lerpFunction, $T._eval$1("_LerpProperties0<0>"));
    },
    RadioThemeData: function RadioThemeData(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.mouseCursor = t0;
      _.fillColor = t1;
      _.overlayColor = t2;
      _.splashRadius = t3;
      _.materialTapTargetSize = t4;
      _.visualDensity = t5;
    },
    _LerpProperties0: function _LerpProperties0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.a = t0;
      _.b = t1;
      _.t = t2;
      _.lerpFunction = t3;
      _.$ti = t4;
    },
    _RadioThemeData_Object_Diagnosticable: function _RadioThemeData_Object_Diagnosticable() {
    },
    UnderlineTabIndicator: function UnderlineTabIndicator(t0, t1) {
      this.borderSide = t0;
      this.insets = t1;
    },
    _UnderlinePainter: function _UnderlinePainter(t0, t1) {
      this.decoration = t0;
      this.onChanged = t1;
    },
    TextButtonThemeData_lerp: function(a, b, t) {
      var t1 = a == null;
      if (t1 && b == null)
        return null;
      t1 = t1 ? null : a.style;
      return new T.TextButtonThemeData(A.ButtonStyle_lerp(t1, b == null ? null : b.style, t));
    },
    TextButtonThemeData: function TextButtonThemeData(t0) {
      this.style = t0;
    },
    _TextButtonThemeData_Object_Diagnosticable: function _TextButtonThemeData_Object_Diagnosticable() {
    },
    TooltipThemeData_lerp: function(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t1 ? _null : a.height;
      t3 = b == null;
      t2 = P.lerpDouble(t2, t3 ? _null : b.height, t);
      t4 = t1 ? _null : a.padding;
      t4 = V.EdgeInsetsGeometry_lerp(t4, t3 ? _null : b.padding, t);
      t5 = t1 ? _null : a.margin;
      t5 = V.EdgeInsetsGeometry_lerp(t5, t3 ? _null : b.margin, t);
      t6 = t1 ? _null : a.verticalOffset;
      t6 = P.lerpDouble(t6, t3 ? _null : b.verticalOffset, t);
      t7 = t < 0.5;
      if (t7)
        t8 = t1 ? _null : a.preferBelow;
      else
        t8 = t3 ? _null : b.preferBelow;
      if (t7)
        t7 = t1 ? _null : a.excludeFromSemantics;
      else
        t7 = t3 ? _null : b.excludeFromSemantics;
      t9 = t1 ? _null : a.decoration;
      t9 = Z.Decoration_lerp(t9, t3 ? _null : b.decoration, t);
      t1 = t1 ? _null : a.textStyle;
      return new T.TooltipThemeData(t2, t4, t5, t6, t8, t7, t9, A.TextStyle_lerp(t1, t3 ? _null : b.textStyle, t));
    },
    TooltipThemeData: function TooltipThemeData(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.height = t0;
      _.padding = t1;
      _.margin = t2;
      _.verticalOffset = t3;
      _.preferBelow = t4;
      _.excludeFromSemantics = t5;
      _.decoration = t6;
      _.textStyle = t7;
    },
    _TooltipThemeData_Object_Diagnosticable: function _TooltipThemeData_Object_Diagnosticable() {
    },
    _sample: function(colors, stops, t) {
      var index, t1, t2, t3, t4;
      if (t <= (stops && C.JSArray_methods).get$first(stops))
        return C.JSArray_methods.get$first(colors);
      if (t >= C.JSArray_methods.get$last(stops))
        return C.JSArray_methods.get$last(colors);
      index = C.JSArray_methods.lastIndexWhere$1(stops, new T._sample_closure(t));
      t1 = colors[index];
      t2 = index + 1;
      t3 = colors[t2];
      t4 = stops[index];
      t4 = P.Color_lerp(t1, t3, (t - t4) / (stops[t2] - t4));
      t4.toString;
      return t4;
    },
    _interpolateColorsAndStops: function(aColors, aStops, bColors, bStops, t) {
      var interpolatedStops, t1,
        stops = P.SplayTreeSet$(null, null, type$.double);
      stops.addAll$1(0, aStops);
      stops.addAll$1(0, bStops);
      interpolatedStops = P.List_List$of(stops, false, stops.$ti._eval$1("SetMixin.E"));
      t1 = H._arrayInstanceType(interpolatedStops)._eval$1("MappedListIterable<1,Color>");
      return new T._ColorsAndStops(P.List_List$of(new H.MappedListIterable(interpolatedStops, new T._interpolateColorsAndStops_closure(aColors, aStops, bColors, bStops, t), t1), false, t1._eval$1("ListIterable.E")), interpolatedStops);
    },
    Gradient_lerp: function(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: function(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 = T._interpolateColorsAndStops(a.colors, a._impliedStops$0(), b.colors, b._impliedStops$0(), t);
      t1 = K.AlignmentGeometry_lerp(a.begin, b.begin, t);
      t1.toString;
      t2 = K.AlignmentGeometry_lerp(a.end, b.end, t);
      t2.toString;
      t3 = t < 0.5 ? a.tileMode : b.tileMode;
      return new T.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;
    },
    Simulation: function Simulation() {
    },
    DebugOverflowIndicatorMixin: function DebugOverflowIndicatorMixin() {
    },
    PhysicalModelLayer$: function() {
      return new T.PhysicalModelLayer(C.Clip_0);
    },
    FollowerLayer__collectTransformForLayerChain: function(layers) {
      var index, t1,
        result = new E.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: function(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(B.AbstractNode.prototype.get$parent.call(b, b)));
        return T.FollowerLayer__pathsToCommonAncestor(a, t1._as(B.AbstractNode.prototype.get$parent.call(b, b)), ancestorsA, ancestorsB);
      } else if (t1 > t2) {
        t1 = type$.nullable_ContainerLayer;
        ancestorsA.push(t1._as(B.AbstractNode.prototype.get$parent.call(a, a)));
        return T.FollowerLayer__pathsToCommonAncestor(t1._as(B.AbstractNode.prototype.get$parent.call(a, a)), b, ancestorsA, ancestorsB);
      }
      t1 = type$.nullable_ContainerLayer;
      ancestorsA.push(t1._as(B.AbstractNode.prototype.get$parent.call(a, a)));
      ancestorsB.push(t1._as(B.AbstractNode.prototype.get$parent.call(b, b)));
      return T.FollowerLayer__pathsToCommonAncestor(t1._as(B.AbstractNode.prototype.get$parent.call(a, a)), t1._as(B.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() {
    },
    PictureLayer: function PictureLayer(t0) {
      var _ = this;
      _.canvasBounds = t0;
      _._picture = null;
      _._willChangeHint = _._isComplexHint = false;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    PerformanceOverlayLayer: function PerformanceOverlayLayer(t0, t1, t2, t3, t4) {
      var _ = this;
      _._overlayRect = t0;
      _.optionsMask = t1;
      _.rasterizerThreshold = t2;
      _.checkerboardRasterCacheImages = t3;
      _.checkerboardOffscreenLayers = t4;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    ContainerLayer0: function ContainerLayer0() {
    },
    OffsetLayer: function OffsetLayer(t0) {
      var _ = this;
      _._layer$_offset = t0;
      _._lastChild = _._firstChild = null;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    ClipRectLayer: function ClipRectLayer(t0) {
      var _ = this;
      _._clipRect = null;
      _._layer$_clipBehavior = t0;
      _._lastChild = _._firstChild = null;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    ClipRRectLayer: function ClipRRectLayer(t0) {
      var _ = this;
      _._layer$_clipRRect = null;
      _._layer$_clipBehavior = t0;
      _._lastChild = _._firstChild = null;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    ClipPathLayer: function ClipPathLayer(t0) {
      var _ = this;
      _._clipPath = null;
      _._layer$_clipBehavior = t0;
      _._lastChild = _._firstChild = null;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    TransformLayer: function TransformLayer(t0, t1) {
      var _ = this;
      _._layer$_transform = t0;
      _._invertedTransform = _._lastEffectiveTransform = null;
      _._inverseDirty = true;
      _._layer$_offset = t1;
      _._lastChild = _._firstChild = null;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    OpacityLayer: function OpacityLayer(t0) {
      var _ = this;
      _._layer$_alpha = null;
      _._layer$_offset = t0;
      _._lastChild = _._firstChild = null;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    PhysicalModelLayer: function PhysicalModelLayer(t0) {
      var _ = this;
      _._clipPath = null;
      _._layer$_clipBehavior = t0;
      _._lastChild = _._firstChild = _._layer$_shadowColor = _._layer$_color = _._layer$_elevation = null;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    LayerLink: function LayerLink() {
      this.leaderSize = this._leader = null;
    },
    LeaderLayer: function LeaderLayer(t0, t1) {
      var _ = this;
      _._layer$_link = t0;
      _.offset = t1;
      _._lastChild = _._firstChild = _._lastOffset = null;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    FollowerLayer: function FollowerLayer(t0, t1, t2, t3) {
      var _ = this;
      _._layer$_link = t0;
      _.showWhenUnlinked = t1;
      _.unlinkedOffset = t2;
      _.linkedOffset = t3;
      _._invertedTransform = _._layer$_lastTransform = _._lastOffset = null;
      _._inverseDirty = true;
      _._lastChild = _._firstChild = null;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    AnnotatedRegionLayer: function AnnotatedRegionLayer(t0, t1, t2, t3) {
      var _ = this;
      _.value = t0;
      _.size = t1;
      _.offset = t2;
      _._lastChild = _._firstChild = null;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
      _.$ti = t3;
    },
    _Layer_AbstractNode_DiagnosticableTreeMixin: function _Layer_AbstractNode_DiagnosticableTreeMixin() {
    },
    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) {
      var _ = this;
      _._resolvedPadding = null;
      _._padding = t0;
      _._shifted_box$_textDirection = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderAligningShiftedBox: function RenderAligningShiftedBox() {
    },
    RenderPositionedBox: function RenderPositionedBox(t0, t1, t2, t3, t4) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderConstrainedOverflowBox: function RenderConstrainedOverflowBox(t0, t1, t2, t3, t4, t5, t6) {
      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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    SingleChildLayoutDelegate: function SingleChildLayoutDelegate() {
    },
    RenderCustomSingleChildLayoutBox: function RenderCustomSingleChildLayoutBox(t0, t1) {
      var _ = this;
      _._shifted_box$_delegate = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderShiftedBox_RenderBox_RenderObjectWithChildMixin: function _RenderShiftedBox_RenderBox_RenderObjectWithChildMixin() {
    },
    RenderSliverEdgeInsetsPadding: function RenderSliverEdgeInsetsPadding() {
    },
    RenderSliverPadding: function RenderSliverPadding(t0, t1, t2) {
      var _ = this;
      _._sliver_padding$_resolvedPadding = null;
      _._sliver_padding$_padding = t0;
      _._sliver_padding$_textDirection = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _.debugCreator = _.parentData = _._sliver$_geometry = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin: function _RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin() {
    },
    Clipboard_setData: function(data) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$Clipboard_setData = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(C.OptionalMethodChannel_cWd.invokeMethod$1$2("Clipboard.setData", P.LinkedHashMap_LinkedHashMap$_literal(["text", data.text], type$.String, type$.dynamic), type$.void), $async$Clipboard_setData);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$Clipboard_setData, $async$completer);
    },
    Clipboard_getData: function(format) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.nullable_ClipboardData),
        $async$returnValue, result;
      var $async$Clipboard_getData = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(C.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 T.ClipboardData(H._asStringQ(J.$index$asx(result, "text")));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$Clipboard_getData, $async$completer);
    },
    ClipboardData: function ClipboardData(t0) {
      this.text = t0;
    },
    Directionality$: function(child, textDirection) {
      return new T.Directionality(textDirection, child, null);
    },
    Directionality_maybeOf: function(context) {
      var widget = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      return widget == null ? null : widget.textDirection;
    },
    Opacity$: function(alwaysIncludeSemantics, child, opacity) {
      return new T.Opacity(opacity, alwaysIncludeSemantics, child, null);
    },
    CustomPaint$: function(child, foregroundPainter, key, painter, size) {
      return new T.CustomPaint(painter, foregroundPainter, size, child, key);
    },
    ClipRect$: function(child, clipper) {
      return new T.ClipRect(clipper, child, null);
    },
    ClipPath$: function(child, clipBehavior, clipper) {
      return new T.ClipPath(clipper, clipBehavior, child, null);
    },
    Transform$: function(alignment, child, transform, transformHitTests) {
      return new T.Transform(transform, alignment, transformHitTests, null, child, null);
    },
    Transform$rotate: function(alignment, angle, child, filterQuality) {
      return new T.Transform(E.Matrix4_Matrix4$rotationZ(angle), alignment, true, filterQuality, child, null);
    },
    Transform$translate: function(child, offset) {
      return new T.Transform(E.Matrix4_Matrix4$translationValues(offset._dx, offset._dy, 0), null, true, null, child, null);
    },
    CompositedTransformFollower$: function(child, link, offset, showWhenUnlinked, targetAnchor) {
      return new T.CompositedTransformFollower(link, false, targetAnchor, offset, child, null);
    },
    FractionalTranslation$: function(child, transformHitTests, translation) {
      return new T.FractionalTranslation(translation, transformHitTests, child, null);
    },
    Center$: function(child, heightFactor, key, widthFactor) {
      return new T.Center(C.Alignment_0_0, widthFactor, heightFactor, child, key);
    },
    LayoutId$: function(child, id) {
      return new T.LayoutId(id, child, new D.ValueKey(id, type$.ValueKey_Object));
    },
    SizedBox$: function(child, height, width) {
      return new T.SizedBox(width, height, child, null);
    },
    SizedBox$fromSize: function(child, size) {
      return new T.SizedBox(size._dx, size._dy, child, null);
    },
    LimitedBox$: function(child, maxHeight, maxWidth) {
      return new T.LimitedBox(maxWidth, maxHeight, child, null);
    },
    IntrinsicWidth$: function(child, stepWidth) {
      return new T.IntrinsicWidth(stepWidth, child, null);
    },
    getAxisDirectionFromAxisReverseAndDirectionality: function(context, axis, reverse) {
      var t1, axisDirection;
      switch (axis) {
        case C.Axis_0:
          t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t1.toString;
          axisDirection = G.textDirectionToAxisDirection(t1.textDirection);
          return reverse ? G.flipAxisDirection(axisDirection) : axisDirection;
        case C.Axis_1:
          return reverse ? C.AxisDirection_0 : C.AxisDirection_2;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    Stack$: function(alignment, children, clipBehavior, fit, key, textDirection) {
      return new T.Stack(alignment, textDirection, fit, clipBehavior, children, key);
    },
    Positioned$: function(bottom, child, height, key, left, right, $top, width) {
      return new T.Positioned(left, $top, right, bottom, width, height, child, key);
    },
    Positioned$fill: function(child) {
      return new T.Positioned(0, 0, 0, 0, null, null, child, null);
    },
    Flex$: function(children, crossAxisAlignment, direction, key, mainAxisAlignment, mainAxisSize, textBaseline, textDirection, verticalDirection) {
      return new T.Flex(direction, mainAxisAlignment, mainAxisSize, crossAxisAlignment, textDirection, verticalDirection, textBaseline, children, key);
    },
    Row$: function(children, crossAxisAlignment, key, mainAxisAlignment, mainAxisSize, textDirection) {
      return new T.Row(C.Axis_0, mainAxisAlignment, mainAxisSize, crossAxisAlignment, textDirection, C.VerticalDirection_1, null, children, key);
    },
    Column$: function(children, crossAxisAlignment, key, mainAxisAlignment, mainAxisSize, verticalDirection) {
      return new T.Column(C.Axis_1, mainAxisAlignment, mainAxisSize, crossAxisAlignment, null, verticalDirection, null, children, key);
    },
    Expanded$: function(child, flex) {
      return new T.Expanded(flex, C.FlexFit_0, child, null);
    },
    RichText$: function(locale, maxLines, overflow, softWrap, strutStyle, text, textAlign, textDirection, textHeightBehavior, textScaleFactor, textWidthBasis) {
      return new T.RichText(text, textAlign, textDirection, softWrap, overflow, textScaleFactor, maxLines, locale, strutStyle, textWidthBasis, textHeightBehavior, T.RichText__extractChildren(text), null);
    },
    RichText__extractChildren: function(span) {
      var result, t1 = {};
      t1.index = 0;
      result = H._setArrayType([], type$.JSArray_Widget);
      span.visitChildren$1(new T.RichText__extractChildren_closure(t1, result));
      return result;
    },
    Listener$: function(behavior, child, onPointerCancel, onPointerDown, onPointerSignal, onPointerUp) {
      return new T.Listener(onPointerDown, onPointerUp, onPointerCancel, onPointerSignal, behavior, child, null);
    },
    Semantics$: function(button, checked, child, container, currentValueLength, enabled, explicitChildNodes, focusable, focused, header, image, label, liveRegion, maxValueLength, namesRoute, onCopy, onCut, onDidGainAccessibilityFocus, onDismiss, onLongPress, onPaste, onTap, scopesRoute, selected, sortKey, tagForChildren, textDirection, toggled, value) {
      var _null = null;
      return new T.Semantics(new A.SemanticsProperties(enabled, checked, toggled, selected, button, _null, header, _null, _null, _null, _null, focusable, focused, _null, _null, _null, _null, scopesRoute, namesRoute, image, liveRegion, maxValueLength, currentValueLength, label, value, _null, _null, _null, _null, textDirection, sortKey, tagForChildren, onTap, onLongPress, _null, _null, _null, _null, _null, _null, onCopy, onCut, onPaste, _null, _null, _null, _null, onDidGainAccessibilityFocus, _null, onDismiss, _null), container, explicitChildNodes, false, child, _null);
    },
    BlockSemantics$: function(child) {
      return new T.BlockSemantics(child, null);
    },
    KeyedSubtree_ensureUniqueKeysForList: function(items) {
      var itemsWithUniqueKeys, t2, t3, itemIndex, _i, item, t4,
        t1 = items.length;
      if (t1 === 0)
        return items;
      itemsWithUniqueKeys = H._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, H.throwConcurrentModificationError)(items), ++_i) {
        item = items[_i];
        t4 = item.key;
        itemsWithUniqueKeys.push(new T.KeyedSubtree(item, t4 != null ? new D.ValueKey(t4, t3) : new D.ValueKey(itemIndex, t2)));
        ++itemIndex;
      }
      return itemsWithUniqueKeys;
    },
    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) {
      this.clipper = t0;
      this.child = t1;
      this.key = t2;
    },
    ClipRRect: function ClipRRect(t0, t1, t2) {
      this.borderRadius = t0;
      this.child = t1;
      this.key = t2;
    },
    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) {
      var _ = this;
      _.alignment = t0;
      _.minHeight = t1;
      _.maxHeight = t2;
      _.child = t3;
      _.key = t4;
    },
    Offstage: function Offstage(t0, t1, t2) {
      this.offstage = t0;
      this.child = t1;
      this.key = t2;
    },
    _OffstageElement: function _OffstageElement(t0, t1, t2, t3) {
      var _ = this;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = _._framework$_child = null;
      _._cachedHash = t0;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._owner = null;
      _._lifecycleState = t2;
      _._debugForgottenChildrenWithGlobalKey = t3;
      _._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;
    },
    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) {
      this.children = t0;
      this.key = t1;
    },
    RichText: function RichText(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.text = t0;
      _.textAlign = t1;
      _.textDirection = t2;
      _.softWrap = t3;
      _.overflow = t4;
      _.textScaleFactor = t5;
      _.maxLines = t6;
      _.locale = t7;
      _.strutStyle = t8;
      _.textWidthBasis = t9;
      _.textHeightBehavior = t10;
      _.children = t11;
      _.key = t12;
    },
    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) {
      var _ = this;
      _.onPointerDown = t0;
      _.onPointerUp = t1;
      _.onPointerCancel = t2;
      _.onPointerSignal = t3;
      _.behavior = t4;
      _.child = t5;
      _.key = t6;
    },
    MouseRegion: function MouseRegion(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.onEnter = t0;
      _.onHover = t1;
      _.onExit = t2;
      _.cursor = t3;
      _.opaque = t4;
      _.child = t5;
      _.key = t6;
    },
    _MouseRegionState: function _MouseRegionState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    _RawMouseRegion: function _RawMouseRegion(t0, t1, t2) {
      this.owner = t0;
      this.child = t1;
      this.key = t2;
    },
    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) {
      var _ = this;
      _._basic$_color = t0;
      _.behavior = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    Hero$: function(child, tag) {
      return new T.Hero(tag, child, null);
    },
    Hero__allHeroesFor: function(context, isUserGestureTransition, $navigator) {
      var result = P.LinkedHashMap_LinkedHashMap$_empty(type$.Object, type$._HeroState);
      context.visitChildren$1(new T.Hero__allHeroesFor_visitor($navigator, new T.Hero__allHeroesFor_inviteHero(result, isUserGestureTransition)));
      return result;
    },
    _HeroFlightManifest__boundingBoxFor: function(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 T.MatrixUtils_transformRect(t2, new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy));
    },
    HeroFlightDirection: function HeroFlightDirection(t0, t1) {
      this.index = t0;
      this._heroes$_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;
      _._scheduledPerformAnimtationUpdate = _._aborted = false;
    },
    _HeroFlight__buildOverlay_closure: function _HeroFlight__buildOverlay_closure(t0) {
      this.$this = t0;
    },
    _HeroFlight__handleAnimationUpdate_delayedPerformAnimtationUpdate: function _HeroFlight__handleAnimationUpdate_delayedPerformAnimtationUpdate(t0, t1) {
      this.$this = t0;
      this.navigator = t1;
    },
    HeroController: function HeroController(t0, t1) {
      this.createRectTween = t0;
      this._flights = t1;
      this._navigator$_navigator = null;
    },
    HeroController__maybeStartHeroTransition_closure: function HeroController__maybeStartHeroTransition_closure(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.from = t1;
      _.to = t2;
      _.animation = t3;
      _.flightType = t4;
      _.isUserGestureTransition = t5;
    },
    IconThemeData_lerp: function(a, b, t) {
      var t4, _null = null,
        t1 = a == null,
        t2 = t1 ? _null : a.color,
        t3 = b == null;
      t2 = P.Color_lerp(t2, t3 ? _null : b.color, t);
      t4 = t1 ? _null : a.get$opacity(a);
      t4 = P.lerpDouble(t4, t3 ? _null : b.get$opacity(b), t);
      t1 = t1 ? _null : a.size;
      return new T.IconThemeData(t2, t4, P.lerpDouble(t1, t3 ? _null : b.size, t));
    },
    IconThemeData: function IconThemeData(t0, t1, t2) {
      this.color = t0;
      this._opacity = t1;
      this.size = t2;
    },
    _IconThemeData_Object_Diagnosticable: function _IconThemeData_Object_Diagnosticable() {
    },
    ModalRoute_of: function(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;
    },
    _ModalScopeStatus: function _ModalScopeStatus(t0, t1, t2, t3, t4) {
      var _ = this;
      _.isCurrent = t0;
      _.canPop = t1;
      _.route = t2;
      _.child = t3;
      _.key = t4;
    },
    _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() {
    },
    _ModalRoute_TransitionRoute_LocalHistoryRoute: function _ModalRoute_TransitionRoute_LocalHistoryRoute() {
    },
    ProviderListener: function ProviderListener(t0, t1, t2, t3, t4) {
      var _ = this;
      _.provider = t0;
      _.onChange = t1;
      _.child = t2;
      _.key = t3;
      _.$ti = t4;
    },
    _ProviderListenerState: function _ProviderListenerState(t0, t1) {
      var _ = this;
      _._widget = _._provider_listener$_container = _._provider_listener$_subscription = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _ProviderListenerState__mayHaveChanged_closure: function _ProviderListenerState__mayHaveChanged_closure(t0, t1) {
      this.$this = t0;
      this.subscription = t1;
    },
    BaseResponse: function BaseResponse() {
    },
    _readLast: function(ref, provider, $T) {
      return ref.watch$1$1(provider, $T._eval$1("AsyncValue<0>")).when$3$data$error$loading(new T._readLast_closure($T), new T._readLast_closure0($T), new T._readLast_closure1(ref, provider, $T));
    },
    _CreatedStreamProvider$: function(provider, $name, $T) {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new T._CreatedStreamProvider(new T._CreatedStreamProvider_closure(provider, $T), $name, t1, $T._eval$1("_CreatedStreamProvider<0>"));
    },
    AutoDisposeStreamProvider$: function(_create, $name, $T) {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new T.AutoDisposeStreamProvider(_create, $name, t1, $T._eval$1("AutoDisposeStreamProvider<0>"));
    },
    _StreamProviderMixin: function _StreamProviderMixin() {
    },
    _StreamProviderStateMixin: function _StreamProviderStateMixin() {
    },
    _StreamProviderStateMixin_valueChanged_closure: function _StreamProviderStateMixin_valueChanged_closure(t0) {
      this.$this = t0;
    },
    _StreamProviderStateMixin_valueChanged_closure1: function _StreamProviderStateMixin_valueChanged_closure1(t0) {
      this.$this = t0;
    },
    _StreamProviderStateMixin_valueChanged_closure0: function _StreamProviderStateMixin_valueChanged_closure0(t0) {
      this.$this = t0;
    },
    _readLast_closure: function _readLast_closure(t0) {
      this.T = t0;
    },
    _readLast_closure1: function _readLast_closure1(t0, t1, t2) {
      this.ref = t0;
      this.provider = t1;
      this.T = t2;
    },
    _readLast__closure: function _readLast__closure(t0, t1, t2) {
      this.completer = t0;
      this.sub = t1;
      this.T = t2;
    },
    _readLast__closure1: function _readLast__closure1(t0, t1) {
      this.completer = t0;
      this.sub = t1;
    },
    _readLast__closure0: function _readLast__closure0(t0, t1) {
      this.completer = t0;
      this.sub = t1;
    },
    _readLast__closure2: function _readLast__closure2(t0, t1) {
      this.sub = t0;
      this.completer = t1;
    },
    _readLast_closure0: function _readLast_closure0(t0) {
      this.T = t0;
    },
    _CreatedStreamProvider: function _CreatedStreamProvider(t0, t1, t2, t3) {
      var _ = this;
      _._provider0$_create = t0;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    _CreatedStreamProvider_closure: function _CreatedStreamProvider_closure(t0, t1) {
      this.provider = t0;
      this.T = t1;
    },
    AutoDisposeStreamProvider: function AutoDisposeStreamProvider(t0, t1, t2, t3) {
      var _ = this;
      _._stream_provider$_create = t0;
      _._stream_provider$_stream = null;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    _AutoDisposeStreamProviderState: function _AutoDisposeStreamProviderState(t0, t1, t2) {
      var _ = this;
      _._StreamProviderStateMixin_sub = t0;
      _._StreamProviderStateMixin__proxyController = t1;
      _.__ProviderStateBase__element = $;
      _._exposedValue = _._createdValue = null;
      _.$ti = t2;
    },
    AutoDisposeStreamProviderFamily: function AutoDisposeStreamProviderFamily(t0, t1, t2, t3) {
      var _ = this;
      _.builder = t0;
      _.name = t1;
      _._framework0$_cache = t2;
      _.$ti = t3;
    },
    AutoDisposeStreamProviderFamily_create_closure: function AutoDisposeStreamProviderFamily_create_closure(t0, t1, t2) {
      this.$this = t0;
      this.builder = t1;
      this.value = t2;
    },
    StreamProvider: function StreamProvider(t0, t1, t2, t3) {
      var _ = this;
      _._stream_provider$_create = t0;
      _._stream_provider$_last = _._stream_provider$_stream = null;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    StreamProvider_last_closure: function StreamProvider_last_closure(t0) {
      this.$this = t0;
    },
    _StreamProviderState: function _StreamProviderState(t0, t1, t2) {
      var _ = this;
      _._StreamProviderStateMixin_sub = t0;
      _._StreamProviderStateMixin__proxyController = t1;
      _.__ProviderStateBase__element = $;
      _._exposedValue = _._createdValue = null;
      _.$ti = t2;
    },
    _AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin: function _AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin() {
    },
    _AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__StreamProviderMixin: function _AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__StreamProviderMixin() {
    },
    _StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin: function _StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin() {
    },
    _StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__StreamProviderMixin: function _StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__StreamProviderMixin() {
    },
    generateUuidV4: function() {
      var t1 = new T.generateUuidV4__printDigits(),
        t2 = new T.generateUuidV4__bitsDigits(t1, new T.generateUuidV4__generateBits(C.C__JSRandom)),
        t3 = C.C__JSRandom.nextInt$1(4);
      return H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4)) + "-" + H.S(t2.call$2(16, 4)) + "-4" + H.S(t2.call$2(12, 3)) + "-" + H.S(t1.call$2(8 + t3, 1)) + H.S(t2.call$2(12, 3)) + "-" + H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4));
    },
    generateUuidV4__generateBits: function generateUuidV4__generateBits(t0) {
      this.random = t0;
    },
    generateUuidV4__printDigits: function generateUuidV4__printDigits() {
    },
    generateUuidV4__bitsDigits: function generateUuidV4__bitsDigits(t0, t1) {
      this._printDigits = t0;
      this._generateBits = t1;
    },
    LazyTrace: function LazyTrace(t0) {
      this._thunk = t0;
      this.__LazyTrace__trace = $;
    },
    LazyTrace_terse_closure: function LazyTrace_terse_closure(t0) {
      this.$this = t0;
    },
    legacyComputeEventGroupKey: function($event, threadNamesById) {
      var t1;
      if ($event.get$groupKey() != null)
        return $event.get$groupKey();
      else {
        t1 = $event.type;
        if (t1 === C.TimelineEventType_2)
          return C.JSArray_methods.get$first($event.get$root($event).traceEvents).event.name;
        else if (t1 === C.TimelineEventType_0)
          return "UI";
        else if (t1 === C.TimelineEventType_1)
          return "Raster";
        else {
          t1 = $event.traceEvents;
          if (threadNamesById.$index(0, C.JSArray_methods.get$first(t1).event.threadId) != null)
            return threadNamesById.$index(0, C.JSArray_methods.get$first(t1).event.threadId);
          else
            return "Unknown";
        }
      }
    },
    PerformanceUtils_computeEventGroupKey: function($event, threadNamesById) {
      var t1;
      if ($event.get$groupKey() != null)
        return $event.get$groupKey();
      else {
        t1 = $event.type;
        if (t1 === C.TimelineEventType_2)
          return C.JSArray_methods.get$first($event.get$root($event).traceEvents).event.name;
        else if (t1 === C.TimelineEventType_0)
          return "UI";
        else if (t1 === C.TimelineEventType_1)
          return "Raster";
        else {
          t1 = $event.traceEvents;
          if (threadNamesById.$index(0, C.JSArray_methods.get$first(t1).event.threadId) != null)
            return threadNamesById.$index(0, C.JSArray_methods.get$first(t1).event.threadId);
          else
            return "Unknown";
        }
      }
    },
    PerformanceUtils_eventGroupComparator: function(a, b) {
      var aIsShade, bIsShade, shadeCompare, aIsUnknown, bIsUnknown, unknownCompare, t1, t2;
      if (a == b)
        return 0;
      aIsShade = C.JSString_methods.contains$1(a.toLowerCase(), "shade");
      bIsShade = C.JSString_methods.contains$1(b.toLowerCase(), "shade");
      if (aIsShade || bIsShade) {
        shadeCompare = B.BoolExtension_boolCompare(aIsShade, bIsShade);
        if (shadeCompare === 0)
          return C.JSString_methods.compareTo$1(a, b);
        return shadeCompare;
      }
      aIsUnknown = C.JSString_methods.contains$1(a.toLowerCase(), "Unknown");
      bIsUnknown = C.JSString_methods.contains$1(b.toLowerCase(), "Unknown");
      if (aIsUnknown || bIsUnknown) {
        unknownCompare = B.BoolExtension_boolCompare(aIsUnknown, bIsUnknown);
        if (unknownCompare === 0)
          return C.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 * C.JSString_methods.compareTo$1(a, b);
      if (t1 || a === "Raster")
        return -1;
      if (b === "UI" || b === "Raster")
        return 1;
      return C.JSString_methods.compareTo$1(a, b);
    },
    MatrixUtils_getAsTranslation: function(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 P.Offset(values[12], values[13]);
      return null;
    },
    MatrixUtils_matrixEquals: function(a, b) {
      var t1, t2, t3;
      if (a == b)
        return true;
      if (a == null) {
        b.toString;
        return T.MatrixUtils_isIdentity(b);
      }
      if (b == null)
        return T.MatrixUtils_isIdentity(a);
      t1 = a._m4storage;
      t2 = t1[0];
      t3 = b._m4storage;
      return 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];
    },
    MatrixUtils_isIdentity: function(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: function(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 P.Offset(rx, ry);
      else
        return new P.Offset(rx / rw, ry / rw);
    },
    MatrixUtils__accumulate: function(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: function(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;
        T.MatrixUtils__accumulate(storage, x, y, true, isAffine);
        T.MatrixUtils__accumulate(storage, t1, y, false, isAffine);
        T.MatrixUtils__accumulate(storage, x, t2, false, isAffine);
        T.MatrixUtils__accumulate(storage, t1, t2, false, isAffine);
        t1 = $.$get$MatrixUtils__minMax();
        return new P.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 P.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 P.Rect(T.MatrixUtils__min4(ulx, urx, llx, lrx), T.MatrixUtils__min4(uly, ury, lly, lry), T.MatrixUtils__max4(ulx, urx, llx, lrx), T.MatrixUtils__max4(uly, ury, lly, lry));
      }
    },
    MatrixUtils__min4: function(a, b, c, d) {
      var e = a < b ? a : b,
        f = c < d ? c : d;
      return e < f ? e : f;
    },
    MatrixUtils__max4: function(a, b, c, d) {
      var e = a > b ? a : b,
        f = c > d ? c : d;
      return e > f ? e : f;
    },
    MatrixUtils_inverseTransformRect: function(transform, rect) {
      var transform0;
      if (T.MatrixUtils_isIdentity(transform))
        return rect;
      transform0 = new E.Matrix4(new Float64Array(16));
      transform0.setFrom$1(transform);
      transform0.copyInverse$1(transform0);
      return T.MatrixUtils_transformRect(transform0, rect);
    },
    MatrixUtils_forceToPoint: function(offset) {
      var t2,
        t1 = new E.Matrix4(new Float64Array(16));
      t1.setIdentity$0();
      t2 = new E.Vector4(new Float64Array(4));
      t2.setValues$4(0, 0, 0, offset._dx);
      t1.setRow$2(0, t2);
      t2 = new E.Vector4(new Float64Array(4));
      t2.setValues$4(0, 0, 0, offset._dy);
      t1.setRow$2(1, t2);
      return t1;
    },
    launch: function(urlString) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, url, isWebURL, t1, t2, result;
      var $async$launch = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              url = P.Uri_parse(J.trimLeft$0$s(urlString), 0, null);
              isWebURL = url.get$scheme() === "http" || url.get$scheme() === "https";
              t1 = $.$get$UrlLauncherPlatform__instance();
              t2 = type$.legacy_String;
              $async$goto = 3;
              return P._asyncAwait(t1.launch$8$enableDomStorage$enableJavaScript$headers$universalLinksOnly$useSafariVC$useWebView$webOnlyWindowName(urlString, false, false, P.LinkedHashMap_LinkedHashMap$_empty(t2, t2), false, isWebURL, false, null), $async$launch);
            case 3:
              // returning from await.
              result = $async$result;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$launch, $async$completer);
    },
    canLaunch: function(urlString) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue;
      var $async$canLaunch = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (urlString == null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait($.$get$UrlLauncherPlatform__instance().canLaunch$1(urlString), $async$canLaunch);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$canLaunch, $async$completer);
    }
  },
  U = {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() {
    }, 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() {
    },
    drawTranslate: function(canvas, x, y, drawCode) {
      canvas.save$0(0);
      canvas.translate$2(0, x, y);
      drawCode.call$1(canvas);
      canvas.restore$0(0);
    },
    Chart$: function(controller) {
      controller.topPadding = 0;
      controller._chart_controller$_title = null;
      return new U.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() {
    },
    PauseButton$: function(includeTextWidth, key, onPressed) {
      return new U.PauseButton(C.IconData_58492_MaterialIcons_false, "Pause", includeTextWidth, onPressed, false, key);
    },
    ResumeButton$: function(includeTextWidth, key, onPressed) {
      return new U.ResumeButton(C.IconData_58571_MaterialIcons_false, "Resume", includeTextWidth, onPressed, false, key);
    },
    ClearButton$: function(includeTextWidth, key, onPressed) {
      return new U.ClearButton(C.IconData_57569_MaterialIcons_false, "Clear", includeTextWidth, onPressed, false, key);
    },
    RefreshButton$: function(includeTextWidth, label, onPressed) {
      return new U.RefreshButton(C.IconData_58644_MaterialIcons_false, label, includeTextWidth, onPressed, false, null);
    },
    DevToolsTooltip$: function(child, padding, tooltip) {
      return new U.DevToolsTooltip(tooltip, child, padding, null);
    },
    AreaPaneHeader$: function(actions, maxLines, needsBottomBorder, needsLeftBorder, needsTopBorder, rightPadding, tall, title) {
      return new U.AreaPaneHeader(title, maxLines, needsTopBorder, needsBottomBorder, needsLeftBorder, actions, rightPadding, tall, null);
    },
    inputDecorationSuffixButton: function(icon, onPressed) {
      var _null = null;
      return M.Container$(_null, B.IconButton$(_null, _null, true, L.Icon$(icon, _null, _null), 16, onPressed, C.EdgeInsets_0_0_0_0, 16, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_0_4_0, _null, _null, 24);
    },
    ScrollControllerAutoScroll_autoScrollToBottom: function(_this) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        pos, t1, t2;
      var $async$ScrollControllerAutoScroll_autoScrollToBottom = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = _this._positions;
              t2 = C.JSArray_methods.get$single(t1)._maxScrollExtent;
              t2.toString;
              $async$goto = 2;
              return P._asyncAwait(_this.animateTo$3$curve$duration(t2, C.Cubic_oKc, C.Duration_100000), $async$ScrollControllerAutoScroll_autoScrollToBottom);
            case 2:
              // returning from await.
              if (t1.length !== 0) {
                pos = C.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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$ScrollControllerAutoScroll_autoScrollToBottom, $async$completer);
    },
    ColorExtension_darken: function(_this, percent) {
      var t1;
      percent = 1 - percent;
      t1 = _this.value;
      return P.Color$fromARGB(t1 >>> 24 & 255, C.JSNumber_methods.round$0((t1 >>> 16 & 255) * percent), C.JSNumber_methods.round$0((t1 >>> 8 & 255) * percent), C.JSNumber_methods.round$0((t1 & 255) * percent));
    },
    ColorExtension_brighten: function(_this) {
      var t1 = _this.value,
        t2 = t1 >>> 16 & 255,
        t3 = t1 >>> 8 & 255,
        t4 = t1 & 255;
      return P.Color$fromARGB(t1 >>> 24 & 255, t2 + C.JSNumber_methods.round$0((255 - t2) * 0.05), t3 + C.JSNumber_methods.round$0((255 - t3) * 0.05), t4 + C.JSNumber_methods.round$0((255 - t4) * 0.05));
    },
    PaddedDivider: function PaddedDivider(t0, t1) {
      this.padding = t0;
      this.key = t1;
    },
    IconLabelButton: function IconLabelButton(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.icon = t0;
      _.label = t1;
      _.includeTextWidth = t2;
      _.onPressed = t3;
      _.elevatedButton = t4;
      _.key = t5;
    },
    PauseButton: function PauseButton(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.icon = t0;
      _.label = t1;
      _.includeTextWidth = t2;
      _.onPressed = t3;
      _.elevatedButton = t4;
      _.key = t5;
    },
    ResumeButton: function ResumeButton(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.icon = t0;
      _.label = t1;
      _.includeTextWidth = t2;
      _.onPressed = t3;
      _.elevatedButton = t4;
      _.key = t5;
    },
    ClearButton: function ClearButton(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.icon = t0;
      _.label = t1;
      _.includeTextWidth = t2;
      _.onPressed = t3;
      _.elevatedButton = t4;
      _.key = t5;
    },
    RefreshButton: function RefreshButton(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.icon = t0;
      _.label = t1;
      _.includeTextWidth = t2;
      _.onPressed = t3;
      _.elevatedButton = t4;
      _.key = t5;
    },
    RecordButton: function RecordButton(t0, t1, t2, t3) {
      var _ = this;
      _.recording = t0;
      _.includeTextWidth = t1;
      _.onPressed = t2;
      _.key = t3;
    },
    StopRecordingButton: function StopRecordingButton(t0, t1, t2, t3) {
      var _ = this;
      _.recording = t0;
      _.includeTextWidth = t1;
      _.onPressed = t2;
      _.key = t3;
    },
    SettingsOutlinedButton: function SettingsOutlinedButton(t0, t1, t2) {
      this.onPressed = t0;
      this.label = t1;
      this.key = t2;
    },
    HelpButton: function HelpButton(t0, t1) {
      this.onPressed = t0;
      this.key = t1;
    },
    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) {
      this.onPressed = t0;
      this.key = t1;
    },
    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) {
      var _ = this;
      _.tooltip = t0;
      _.child = t1;
      _.padding = t2;
      _.key = t3;
    },
    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, t8) {
      var _ = this;
      _.title = t0;
      _.maxLines = t1;
      _.needsTopBorder = t2;
      _.needsBottomBorder = t3;
      _.needsLeftBorder = t4;
      _.actions = t5;
      _.rightPadding = t6;
      _.tall = t7;
      _.key = t8;
    },
    ExportButton: function ExportButton(t0, t1, t2) {
      this.includeTextWidth = t0;
      this.onPressed = t1;
      this.key = t2;
    },
    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, t7) {
      var _ = this;
      _.value = t0;
      _.onChanged = t1;
      _.isDense = t2;
      _.style = t3;
      _.selectedItemBuilder = t4;
      _.items = t5;
      _.key = t6;
      _.$ti = t7;
    },
    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, t3) {
      var _ = this;
      _.json = t0;
      _.formattedString = t1;
      _.useSubtleStyle = t2;
      _.key = t3;
    },
    Link: function Link() {
    },
    wordForHover: function(dx, line) {
      var hoverChar, t1, t2, charIndex, word, character, t3,
        hoverIndex = U._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: function(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 U.TextPainter(B.truncateTextSpan(line, i0), C.TextAlign_4, C.TextDirection_1, 1, _null, _null, _null, _null, C.TextWidthBasis_0, _null);
        painter.layout$0(0);
        t1 = painter._textWidthBasis;
        t2 = painter._text_painter$_paragraph;
        t1 = t1 === C.TextWidthBasis_1 ? t2.get$longestLine() : t2.get$width(t2);
        t1.toString;
        if (dx <= Math.ceil(t1)) {
          hoverIndex = i;
          break;
        }
        i = i0;
      }
      return hoverIndex;
    },
    HoverCard$: function(contents, context, $event, title, width) {
      var t1 = new U.HoverCard();
      t1.HoverCard$5$contents$context$event$title$width(contents, context, $event, title, width);
      return t1;
    },
    HoverCard: function HoverCard() {
      this._hover$_overlayEntry = null;
      this._hasMouseEntered = this._isRemoved = false;
    },
    HoverCard_closure: function HoverCard_closure(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.$this = t0;
      _.position = t1;
      _.width = t2;
      _.colorScheme = t3;
      _.focusColor = t4;
      _.title = t5;
      _.hoverHeading = t6;
      _.contents = t7;
    },
    HoverCard__closure0: function HoverCard__closure0(t0) {
      this.$this = t0;
    },
    HoverCard__closure: function HoverCard__closure(t0) {
      this.$this = t0;
    },
    SyntaxHighlighter_initialize: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$temp1, $async$temp2, $async$temp3;
      var $async$SyntaxHighlighter_initialize = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = $.SyntaxHighlighter__grammar == null ? 2 : 3;
              break;
            case 2:
              // then
              if ($.WidgetsBinding__instance == null)
                N.WidgetsFlutterBinding$();
              $.WidgetsBinding__instance.toString;
              $async$temp1 = $;
              $async$temp2 = R;
              $async$temp3 = C.C_JsonCodec;
              $async$goto = 4;
              return P._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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$SyntaxHighlighter_initialize, $async$completer);
    },
    SyntaxHighlighter: function SyntaxHighlighter(t0, t1) {
      var _ = this;
      _.source = t0;
      _._spanStack = t1;
      _._scopeStyles = _._currentPosition = null;
    },
    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() {
    },
    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;
    },
    RecordedTimelineStream$: function(advanced, description, $name) {
      return new U.RecordedTimelineStream($name, description, advanced, new B.ValueNotifier(false, P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_bool));
    },
    RecordedTimelineStream: function RecordedTimelineStream(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.description = t1;
      _.advanced = t2;
      _._timeline_streams$_enabled = t3;
    },
    ImageIconLabel: function ImageIconLabel(t0, t1, t2, t3) {
      var _ = this;
      _.icon = t0;
      _.text = t1;
      _.minIncludeTextWidth = t2;
      _.key = t3;
    },
    MaterialIconLabel: function MaterialIconLabel(t0, t1, t2, t3, t4) {
      var _ = this;
      _.iconData = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.includeTextWidth = t3;
      _.key = t4;
    },
    VmServiceWrapper$fromNewVmService: function(inStream, writeMessage, _connectedUri) {
      var t1 = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_legacy_bool), type$._AsyncCompleter_legacy_bool);
      t1.complete$1(0, true);
      t1 = new U.VmServiceWrapper(_connectedUri, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Future_legacy_Success), P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_TrackedFuture_legacy_Object), t1);
      t1._vmService = Q.VmService$(inStream, writeMessage, null, null);
      return t1;
    },
    _CpuProfileTimelineTree__CpuProfileTimelineTree$fromCpuSamples: function(cpuSamples) {
      var t1, t2, _i, sample, t3, t4, current,
        root = new U._CpuProfileTimelineTree(cpuSamples, -1, H._setArrayType([], type$.JSArray_legacy__CpuProfileTimelineTree));
      for (t1 = cpuSamples.samples, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        sample = t1[_i];
        t3 = sample.stack;
        t3.toString;
        t4 = H._arrayInstanceType(t3)._eval$1("ReversedListIterable<1>");
        t3 = new H.ReversedListIterable(t3, t4);
        t4 = new H.ListIterator(t3, t3.get$length(t3), t4._eval$1("ListIterator<ListIterable.E>"));
        current = root;
        for (; t4.moveNext$0();)
          current = current._getChild$1(t4.__internal$_current);
        $.$get$_CpuProfileTimelineTree__timelineTreeExpando()._jsWeakMap.set(sample, current);
      }
      return root;
    },
    VmServiceWrapper: function VmServiceWrapper(t0, t1, t2, t3) {
      var _ = this;
      _._ddsVersion = _._dartIoVersion = _._protocolVersion = _._vmService = null;
      _._connectedUri = t0;
      _._activeStreams = t1;
      _.activeFutures = t2;
      _._allFuturesCompleter = t3;
    },
    VmServiceWrapper_getCpuProfileTimeline_processStackFrame: function VmServiceWrapper_getCpuProfileTimeline_processStackFrame(t0, t1, t2) {
      this._box_0 = t0;
      this.isolateId = t1;
      this.traceObject = t2;
    },
    VmServiceWrapper_getCpuProfileTimeline_closure: function VmServiceWrapper_getCpuProfileTimeline_closure() {
    },
    _CpuProfileTimelineTree: function _CpuProfileTimelineTree(t0, t1, t2) {
      var _ = this;
      _.samples = t0;
      _.index = t1;
      _.frameId = -1;
      _.children = t2;
    },
    FileSelectorPlatform: function FileSelectorPlatform() {
    },
    defaultTargetPlatform: function() {
      var t1 = $.$get$_testPlatform();
      return t1 == null ? $.$get$_browserPlatform() : t1;
    },
    _testPlatform_closure: function _testPlatform_closure() {
    },
    _browserPlatform_closure: function _browserPlatform_closure() {
    },
    ErrorDescription$: function(message) {
      var _null = null,
        t1 = H._setArrayType([message], type$.JSArray_Object);
      return new U.ErrorDescription(_null, false, true, _null, _null, _null, false, t1, _null, C.DiagnosticLevel_3, _null, false, false, _null, C.DiagnosticsTreeStyle_7);
    },
    ErrorSummary$: function(message) {
      var _null = null,
        t1 = H._setArrayType([message], type$.JSArray_Object);
      return new U.ErrorSummary(_null, false, true, _null, _null, _null, false, t1, _null, C.DiagnosticLevel_6, _null, false, false, _null, C.DiagnosticsTreeStyle_7);
    },
    ErrorHint$: function(message) {
      var _null = null,
        t1 = H._setArrayType([message], type$.JSArray_Object);
      return new U.ErrorHint(_null, false, true, _null, _null, _null, false, t1, _null, C.DiagnosticLevel_5, _null, false, false, _null, C.DiagnosticsTreeStyle_7);
    },
    ErrorSpacer$: function() {
      var _null = null;
      return new U.ErrorSpacer("", false, true, _null, _null, _null, false, _null, C.C__NoDefaultValue, C.DiagnosticLevel_3, "", true, false, _null, C.DiagnosticsTreeStyle_8);
    },
    FlutterError_FlutterError: function(message) {
      var lines = H._setArrayType(message.split("\n"), type$.JSArray_String),
        t1 = H._setArrayType([U.ErrorSummary$(C.JSArray_methods.get$first(lines))], type$.JSArray_DiagnosticsNode),
        t2 = H.SubListIterable$(lines, 1, null, type$.String);
      C.JSArray_methods.addAll$1(t1, new H.MappedListIterable(t2, new U.FlutterError_FlutterError_closure(), t2.$ti._eval$1("MappedListIterable<ListIterable.E,DiagnosticsNode>")));
      return new U.FlutterError(t1);
    },
    FlutterError$fromParts: function(diagnostics) {
      return new U.FlutterError(diagnostics);
    },
    FlutterError__defaultStackTraceDemangler: function(stackTrace) {
      return stackTrace;
    },
    FlutterError_dumpErrorToConsole: function(details, forceReport) {
      var t1;
      if (!!details.silent && true)
        return;
      if ($.FlutterError__errorCount === 0 || false) {
        t1 = details.stack;
        U.debugPrintStack(J.toString$0$(details.exception), 100, t1);
      } else
        D.print__debugPrintThrottled$closure().call$1("Another exception was thrown: " + details.get$summary().toString$0(0));
      $.FlutterError__errorCount = $.FlutterError__errorCount + 1;
    },
    FlutterError_defaultStackFilter: function($frames) {
      var skipped, index, t1, frame, className, $package, reasons, t2, _i, result, index0, t3, suffix,
        removedPackagesAndClasses = P.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 = R.StackFrame_fromStackString(J.join$1$ax($frames, "\n"));
      for (skipped = 0, index = 0; t1 = parsedFrames.length, index < t1; ++index) {
        frame = parsedFrames[index];
        className = "class " + H.S(frame.className);
        $package = frame.packageScheme + ":" + H.S(frame.$package);
        if (removedPackagesAndClasses.containsKey$1(0, className)) {
          ++skipped;
          removedPackagesAndClasses.update$2(removedPackagesAndClasses, className, new U.FlutterError_defaultStackFilter_closure());
          C.JSArray_methods.removeAt$1(parsedFrames, index);
          --index;
        } else if (removedPackagesAndClasses.containsKey$1(0, $package)) {
          ++skipped;
          removedPackagesAndClasses.update$2(removedPackagesAndClasses, $package, new U.FlutterError_defaultStackFilter_closure0());
          C.JSArray_methods.removeAt$1(parsedFrames, index);
          --index;
        }
      }
      reasons = P.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, H.throwConcurrentModificationError)($.FlutterError__stackFilters), ++_i)
        $.FlutterError__stackFilters[_i].filter$2(0, parsedFrames, reasons);
      t2 = type$.JSArray_String;
      result = H._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;
        }
        if (reasons[index0] != null)
          suffix = index0 !== index ? " (" + (index0 - index + 2) + " frames)" : " (1 frame)";
        else
          suffix = "";
        t3 = reasons[index0];
        result.push(H.S(t3 == null ? parsedFrames[index0].source : t3) + suffix);
      }
      t1 = H._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));
      }
      C.JSArray_methods.sort$0(t1);
      if (skipped === 1)
        result.push("(elided one frame from " + H.S(C.JSArray_methods.get$single(t1)) + ")");
      else if (skipped > 1) {
        t2 = t1.length;
        if (t2 > 1)
          t1[t2 - 1] = "and " + H.S(C.JSArray_methods.get$last(t1));
        if (t1.length > 2)
          result.push("(elided " + skipped + " frames from " + C.JSArray_methods.join$1(t1, ", ") + ")");
        else
          result.push("(elided " + skipped + " frames from " + C.JSArray_methods.join$1(t1, " ") + ")");
      }
      return result;
    },
    FlutterError_reportError: function(details) {
      var t1 = $.$get$FlutterError_onError();
      if (t1 != null)
        t1.call$1(details);
    },
    debugPrintStack: function(label, maxFrames, stackTrace) {
      var lines, t1;
      if (label != null)
        D.print__debugPrintThrottled$closure().call$1(label);
      lines = H._setArrayType(C.JSString_methods.trimRight$0(J.toString$0$(stackTrace == null ? P.StackTrace_current() : U.FlutterError__defaultStackTraceDemangler(stackTrace))).split("\n"), type$.JSArray_String);
      t1 = lines.length;
      lines = J.take$1$ax(t1 !== 0 ? new H.SkipWhileIterable(lines, new U.debugPrintStack_closure(), type$.SkipWhileIterable_String) : lines, maxFrames);
      D.print__debugPrintThrottled$closure().call$1(C.JSArray_methods.join$1(U.FlutterError_defaultStackFilter(lines), "\n"));
    },
    DiagnosticsStackTrace$: function($name, stack, stackFilter) {
      var t1 = U.DiagnosticsStackTrace__applyStackFilter(stack, stackFilter);
      return new U.DiagnosticsStackTrace(C.List_empty0, t1, stack, true, $name, true, true, null, C.DiagnosticsTreeStyle_7);
    },
    DiagnosticsStackTrace__applyStackFilter: function(stack, stackFilter) {
      if (stack == null)
        return H._setArrayType([], type$.JSArray_DiagnosticsNode);
      return J.map$1$1$ax(U.FlutterError_defaultStackFilter(H._setArrayType(C.JSString_methods.trimRight$0(H.S(U.FlutterError__defaultStackTraceDemangler(stack))).split("\n"), type$.JSArray_String)), U.assertions_DiagnosticsStackTrace__createStackFrame$closure(), type$.DiagnosticsNode).toList$0(0);
    },
    DiagnosticsStackTrace__createStackFrame: function(frame) {
      return Y.DiagnosticsNode_DiagnosticsNode$message(frame, false, C.DiagnosticsTreeStyle_8);
    },
    _FlutterErrorDetailsNode$: function($name, style, value) {
      return new U._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) {
      var _ = this;
      _._diagnostics$_children = t0;
      _._properties = t1;
      _.value = t2;
      _.allowTruncate = t3;
      _.name = t4;
      _.showSeparator = t5;
      _.showName = t6;
      _.linePrefix = t7;
      _.style = t8;
    },
    _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() {
    },
    _getClipCallback0: function(referenceBox, containedInkWell, rectCallback) {
      if (rectCallback != null)
        return rectCallback;
      if (containedInkWell)
        return new U._getClipCallback_closure0(referenceBox);
      return null;
    },
    _getTargetRadius: function(referenceBox, containedInkWell, rectCallback, position) {
      var t1, size, d1, d2, d3, d4;
      if (containedInkWell) {
        if (rectCallback != null) {
          t1 = rectCallback.call$0();
          size = new P.Size(t1.right - t1.left, t1.bottom - t1.top);
        } else {
          t1 = referenceBox._box$_size;
          t1.toString;
          size = t1;
        }
        d1 = position.$sub(0, C.Offset_0_0).get$distance();
        d2 = position.$sub(0, new P.Offset(0 + size._dx, 0)).get$distance();
        d3 = position.$sub(0, new P.Offset(0, 0 + size._dy)).get$distance();
        d4 = position.$sub(0, size.bottomRight$1(0, C.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 = $;
      _._ink_splash$_alphaController = null;
      _._ink_well$_color = t7;
      _._material$_controller = t8;
      _.referenceBox = t9;
      _.onRemoved = t10;
      _._material$_debugDisposed = false;
    },
    _MaterialLocalizationsDelegate: function _MaterialLocalizationsDelegate() {
    },
    DefaultMaterialLocalizations: function DefaultMaterialLocalizations() {
    },
    OutlinedButtonThemeData_lerp: function(a, b, t) {
      var t1 = a == null;
      if (t1 && b == null)
        return null;
      t1 = t1 ? null : a.style;
      return new U.OutlinedButtonThemeData(A.ButtonStyle_lerp(t1, b == null ? null : b.style, t));
    },
    OutlinedButtonThemeData: function OutlinedButtonThemeData(t0) {
      this.style = t0;
    },
    _OutlinedButtonThemeData_Object_Diagnosticable: function _OutlinedButtonThemeData_Object_Diagnosticable() {
    },
    CircularProgressIndicator$: function(strokeWidth, valueColor) {
      var _null = null;
      return new U.CircularProgressIndicator(strokeWidth, _null, _null, _null, valueColor, _null, _null, _null);
    },
    _ActivityIndicatorType: function _ActivityIndicatorType(t0, t1) {
      this.index = t0;
      this._progress_indicator$_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) {
      var _ = this;
      _.___LinearProgressIndicatorState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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) {
      var _ = this;
      _.___CircularProgressIndicatorState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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() {
    },
    TabBarTheme: function TabBarTheme(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.indicator = t0;
      _.indicatorSize = t1;
      _.labelColor = t2;
      _.labelPadding = t3;
      _.labelStyle = t4;
      _.unselectedLabelColor = t5;
      _.unselectedLabelStyle = t6;
    },
    _TabBarTheme_Object_Diagnosticable: function _TabBarTheme_Object_Diagnosticable() {
    },
    TabController$: function(initialIndex, $length, vsync) {
      return new U.TabController(G.AnimationController$unbounded(null, initialIndex, vsync), $length, initialIndex, initialIndex, P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    DefaultTabController_of: function(context) {
      var scope = context.dependOnInheritedWidgetOfExactType$1$0(type$._TabControllerScope);
      return scope == null ? null : scope.controller;
    },
    TabController: function TabController(t0, t1, t2, t3, t4) {
      var _ = this;
      _._animationController = t0;
      _.length = t1;
      _._tab_controller$_index = t2;
      _._previousIndex = t3;
      _.ChangeNotifier__count = _._indexIsChangingCount = 0;
      _.ChangeNotifier__listeners = t4;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    TabController__changeIndex_closure: function TabController__changeIndex_closure(t0) {
      this.$this = t0;
    },
    _TabControllerScope: function _TabControllerScope(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.enabled = t1;
      _.child = t2;
      _.key = t3;
    },
    DefaultTabController: function DefaultTabController(t0, t1, t2) {
      this.length = t0;
      this.child = t1;
      this.key = t2;
    },
    _DefaultTabControllerState: function _DefaultTabControllerState(t0, t1) {
      var _ = this;
      _.___DefaultTabControllerState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    __DefaultTabControllerState_State_SingleTickerProviderStateMixin: function __DefaultTabControllerState_State_SingleTickerProviderStateMixin() {
    },
    TextButton$: function(child, onPressed, style) {
      return new U.TextButton(onPressed, null, style, C.Clip_0, null, false, child, null);
    },
    TextButton_styleFrom: function(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, _null = null,
        foregroundColor = onSurface == null && primary == null ? _null : new U._TextButtonDefaultForeground(primary, onSurface),
        overlayColor = primary == null ? _null : new U._TextButtonDefaultOverlay(primary);
      if (enabledMouseCursor == null && disabledMouseCursor == null)
        mouseCursor = _null;
      else {
        enabledMouseCursor.toString;
        disabledMouseCursor.toString;
        mouseCursor = new U._TextButtonDefaultMouseCursor(enabledMouseCursor, disabledMouseCursor);
      }
      t1 = textStyle == null ? _null : new V._MaterialStatePropertyAll(textStyle, type$._MaterialStatePropertyAll_TextStyle);
      t2 = backgroundColor == null ? _null : new V._MaterialStatePropertyAll(backgroundColor, type$._MaterialStatePropertyAll_Color);
      t3 = shadowColor == null ? _null : new V._MaterialStatePropertyAll(shadowColor, type$._MaterialStatePropertyAll_Color);
      t4 = elevation == null ? _null : new V._MaterialStatePropertyAll(elevation, type$._MaterialStatePropertyAll_double);
      t5 = padding == null ? _null : new V._MaterialStatePropertyAll(padding, type$._MaterialStatePropertyAll_EdgeInsetsGeometry);
      t6 = minimumSize == null ? _null : new V._MaterialStatePropertyAll(minimumSize, type$._MaterialStatePropertyAll_Size);
      t7 = fixedSize == null ? _null : new V._MaterialStatePropertyAll(fixedSize, type$._MaterialStatePropertyAll_Size);
      t8 = maximumSize == null ? _null : new V._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 V._MaterialStatePropertyAll(shape, type$._MaterialStatePropertyAll_OutlinedBorder), _null, splashFactory, tapTargetSize, t1, visualDensity);
    },
    TextButton: function TextButton(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.onPressed = t0;
      _.onLongPress = t1;
      _.style = t2;
      _.clipBehavior = t3;
      _.focusNode = t4;
      _.autofocus = t5;
      _.child = t6;
      _.key = t7;
    },
    _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() {
    },
    Typography_Typography$material2014: function(platform) {
      return U.Typography_Typography$_withPlatform(platform, null, null, C.TextTheme_wEV, C.TextTheme_aEa, C.TextTheme_QQp);
    },
    Typography_Typography$_withPlatform: function(platform, black, white, englishLike, dense, tall) {
      switch (platform) {
        case C.TargetPlatform_2:
          black = C.TextTheme_c9P;
          white = C.TextTheme_8aB;
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
          black = C.TextTheme_CCL;
          white = C.TextTheme_lBF;
          break;
        case C.TargetPlatform_5:
          black = C.TextTheme_7FR;
          white = C.TextTheme_G7H;
          break;
        case C.TargetPlatform_4:
          black = C.TextTheme_NkP;
          white = C.TextTheme_IdR;
          break;
        case C.TargetPlatform_3:
          black = C.TextTheme_OaX;
          white = C.TextTheme_4eO;
          break;
        case null:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      black.toString;
      white.toString;
      return new U.Typography(black, white, englishLike, dense, tall);
    },
    ScriptCategory: function ScriptCategory(t0, t1) {
      this.index = t0;
      this._typography$_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() {
    },
    applyBoxFit: function(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 C.FittedSizes_46c;
      switch (fit) {
        case C.BoxFit_0:
          destinationSize = outputSize;
          sourceSize = inputSize;
          break;
        case C.BoxFit_1:
          t2 = outputSize._dx;
          t3 = outputSize._dy;
          t4 = inputSize._dx;
          destinationSize = t2 / t3 > t4 / t1 ? new P.Size(t4 * t3 / t1, t3) : new P.Size(t2, t1 * t2 / t4);
          sourceSize = inputSize;
          break;
        case C.BoxFit_2:
          t2 = outputSize._dx;
          t3 = outputSize._dy;
          t4 = inputSize._dx;
          sourceSize = t2 / t3 > t4 / t1 ? new P.Size(t4, t4 * t3 / t2) : new P.Size(t1 * t2 / t3, t1);
          destinationSize = outputSize;
          break;
        case C.BoxFit_3:
          t1 = inputSize._dx;
          t2 = outputSize._dy;
          t3 = outputSize._dx;
          t2 = t1 * t2 / t3;
          sourceSize = new P.Size(t1, t2);
          destinationSize = new P.Size(t3, t2 * t3 / t1);
          break;
        case C.BoxFit_4:
          t2 = outputSize._dx;
          t3 = outputSize._dy;
          t2 = t1 * t2 / t3;
          sourceSize = new P.Size(t2, t1);
          destinationSize = new P.Size(t2 * t3 / t1, t3);
          break;
        case C.BoxFit_5:
          t2 = inputSize._dx;
          t3 = outputSize._dx;
          sourceSize = new P.Size(Math.min(H.checkNum(t2), H.checkNum(t3)), Math.min(t1, H.checkNum(outputSize._dy)));
          destinationSize = sourceSize;
          break;
        case C.BoxFit_6:
          aspectRatio = inputSize._dx / t1;
          t2 = outputSize._dy;
          destinationSize = t1 > t2 ? new P.Size(t2 * aspectRatio, t2) : inputSize;
          t1 = outputSize._dx;
          if (destinationSize._dx > t1)
            destinationSize = new P.Size(t1, t1 / aspectRatio);
          sourceSize = inputSize;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return new U.FittedSizes(sourceSize, destinationSize);
    },
    BoxFit: function BoxFit(t0, t1) {
      this.index = t0;
      this._box_fit$_name = t1;
    },
    FittedSizes: function FittedSizes(t0, t1) {
      this.source = t0;
      this.destination = t1;
    },
    TextPainter$: function(ellipsis, locale, maxLines, strutStyle, text, textAlign, textDirection, textHeightBehavior, textScaleFactor, textWidthBasis) {
      return new U.TextPainter(text, textAlign, textDirection, textScaleFactor, ellipsis, locale, maxLines, strutStyle, textWidthBasis, textHeightBehavior);
    },
    TextOverflow: function TextOverflow(t0, t1) {
      this.index = t0;
      this._text_painter$_name = t1;
    },
    PlaceholderDimensions: function PlaceholderDimensions(t0, t1) {
      this.size = t0;
      this.baseline = t1;
    },
    TextWidthBasis: function TextWidthBasis(t0, t1) {
      this.index = t0;
      this._text_painter$_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;
      _._text_painter$_paragraph = null;
      _._text_painter$_needsLayout = true;
      _._text_painter$_text = t0;
      _._text_painter$_textAlign = t1;
      _._text_painter$_textDirection = t2;
      _._textScaleFactor = t3;
      _._text_painter$_ellipsis = t4;
      _._text_painter$_locale = t5;
      _._text_painter$_maxLines = t6;
      _._text_painter$_strutStyle = t7;
      _._textWidthBasis = t8;
      _._text_painter$_textHeightBehavior = t9;
      _._lastMaxWidth = _._lastMinWidth = _._placeholderDimensions = _._inlinePlaceholderScales = _._inlinePlaceholderBoxes = _._layoutTemplate = null;
      _.__TextPainter__caretMetrics = $;
      _._previousCaretPrototype = _._previousCaretPosition = null;
    },
    RenderImage: function RenderImage(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      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;
      _._invertColors = t13;
      _._matchTextDirection = t14;
      _._image$_textDirection = t15;
      _._image$_isAntiAlias = t16;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderSliverList: function RenderSliverList(t0, t1, t2, t3, t4) {
      var _ = this;
      _._childManager = t0;
      _._keepAliveBucket = t1;
      _.__RenderSliverMultiBoxAdaptor__debugDanglingKeepAlives = $;
      _._debugChildIntegrityEnabled = true;
      _.ContainerRenderObjectMixin__childCount = t2;
      _.ContainerRenderObjectMixin__firstChild = t3;
      _.ContainerRenderObjectMixin__lastChild = t4;
      _.debugCreator = _.parentData = _._sliver$_geometry = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderSliverList_performLayout_advance: function RenderSliverList_performLayout_advance(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.childConstraints = t2;
    },
    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() {
    },
    _getParent: function(context) {
      var $parent = H._Cell$named("parent");
      context.visitAncestorElements$1(new U._getParent_closure($parent));
      return $parent._readLocal$0();
    },
    Actions__visitActionsAncestors: function(context, visitor) {
      var t2, ancestor,
        t1 = type$._ActionsMarker,
        actionsElement = context.getElementForInheritedWidgetOfExactType$1$0(t1);
      for (; t2 = actionsElement != null, t2; actionsElement = ancestor) {
        if (J.$eq$(visitor.call$1(actionsElement), true))
          break;
        t2 = U._getParent(actionsElement)._inheritedWidgets;
        ancestor = t2 == null ? null : t2.$index(0, H.createRuntimeType(t1));
      }
      return t2;
    },
    Actions__findDispatcher: function(context) {
      var t1 = {};
      t1.dispatcher = null;
      U.Actions__visitActionsAncestors(context, new U.Actions__findDispatcher_closure(t1));
      return C.C_ActionDispatcher;
    },
    Actions_maybeFind: function(context, intent, $T) {
      var type, t1 = {};
      t1.action = null;
      type = intent == null ? null : H.getRuntimeType(intent);
      U.Actions__visitActionsAncestors(context, new U.Actions_maybeFind_closure(t1, type == null ? H.createRuntimeType($T) : type, $T, context));
      return t1.action;
    },
    DoNothingAction$: function(consumesKey) {
      return new U.DoNothingAction(consumesKey, new R.ObserverList(H._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) {
      this.onInvoke = t0;
      this._actions$_listeners = t1;
      this.$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;
      _.type = t1;
      _.T = t2;
      _.context = 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) {
      var _ = this;
      _.enabled = t0;
      _.focusNode = t1;
      _.autofocus = t2;
      _.actions = t3;
      _.onShowFocusHighlight = t4;
      _.onShowHoverHighlight = t5;
      _.mouseCursor = t6;
      _.child = t7;
      _.key = t8;
    },
    _FocusableActionDetectorState: function _FocusableActionDetectorState(t0, t1) {
      var _ = this;
      _._actions$_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;
    },
    DoNothingAction: function DoNothingAction(t0, t1) {
      this._consumesKey = t0;
      this._actions$_listeners = t1;
    },
    ActivateIntent: function ActivateIntent() {
    },
    ButtonActivateIntent: function ButtonActivateIntent() {
    },
    DismissIntent: function DismissIntent() {
    },
    DismissAction: function DismissAction() {
    },
    PrioritizedIntents: function PrioritizedIntents() {
    },
    PrioritizedAction: function PrioritizedAction(t0) {
      this.__PrioritizedAction__selectedIntent = this.__PrioritizedAction__selectedAction = $;
      this._actions$_listeners = t0;
    },
    _Action_Object_Diagnosticable: function _Action_Object_Diagnosticable() {
    },
    _ActionDispatcher_Object_Diagnosticable: function _ActionDispatcher_Object_Diagnosticable() {
    },
    _Intent_Object_Diagnosticable: function _Intent_Object_Diagnosticable() {
    },
    AnimatedCrossFade_defaultLayoutBuilder: function(topChild, topChildKey, bottomChild, bottomChildKey) {
      var _null = null;
      return T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([T.Positioned$(_null, bottomChild, _null, bottomChildKey, 0, 0, 0, _null), T.Positioned$(_null, topChild, _null, topChildKey, _null, _null, _null, _null)], type$.JSArray_Widget), C.Clip_0, C.StackFit_0, _null, _null);
    },
    CrossFadeState: function CrossFadeState(t0, t1) {
      this.index = t0;
      this._animated_cross_fade$_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) {
      var _ = this;
      _._animated_cross_fade$_controller = null;
      _.___AnimatedCrossFadeState__secondAnimation = _.___AnimatedCrossFadeState__firstAnimation = $;
      _.TickerProviderStateMixin__tickers = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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() {
    },
    _getAncestor: function(context, count) {
      var t1 = {};
      t1.count = count;
      t1.target = null;
      context.visitAncestorElements$1(new U._getAncestor_closure(t1));
      return t1.target;
    },
    _focusAndEnsureVisible: function(node, alignmentPolicy) {
      var t1;
      node.requestFocus$0();
      t1 = node._focus_manager$_context;
      t1.toString;
      F.Scrollable_ensureVisible(t1, 1, alignmentPolicy);
    },
    _FocusTraversalGroupInfo$: function(marker, defaultPolicy, members) {
      var t1 = marker == null ? null : marker.policy;
      if (t1 == null)
        t1 = defaultPolicy;
      return new U._FocusTraversalGroupInfo(t1, members);
    },
    _ReadingOrderSortData_commonDirectionalityOf: function(list) {
      var common, common0,
        t1 = H._arrayInstanceType(list)._eval$1("MappedListIterable<1,Set<Directionality>>"),
        allAncestors = new H.MappedListIterable(list, new U._ReadingOrderSortData_commonDirectionalityOf_closure(), t1);
      for (t1 = new H.ListIterator(allAncestors, allAncestors.get$length(allAncestors), t1._eval$1("ListIterator<ListIterable.E>")), common = null; t1.moveNext$0();) {
        common0 = t1.__internal$_current;
        common = (common == null ? common0 : common).intersection$1(0, common0);
      }
      if (common.get$isEmpty(common))
        return C.JSArray_methods.get$first(list).directionality;
      t1 = C.JSArray_methods.get$first(list).get$directionalAncestors();
      return (t1 && C.JSArray_methods).firstWhere$1(t1, common.get$contains(common)).textDirection;
    },
    _ReadingOrderSortData_sortWithDirectionality: function(list, directionality) {
      S.mergeSort(list, new U._ReadingOrderSortData_sortWithDirectionality_closure(directionality), type$._ReadingOrderSortData);
    },
    _ReadingOrderDirectionalGroupData_sortWithDirectionality: function(list, directionality) {
      S.mergeSort(list, new U._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._focus_traversal$_name = t1;
    },
    FocusTraversalPolicy: function FocusTraversalPolicy() {
    },
    FocusTraversalPolicy__sortAllDescendants_visitGroups: function FocusTraversalPolicy__sortAllDescendants_visitGroups(t0, t1, t2) {
      this.groupKeys = t0;
      this.groups = t1;
      this.sortedDescendants = t2;
    },
    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;
    },
    NextFocusIntent: function NextFocusIntent() {
    },
    NextFocusAction: function NextFocusAction(t0) {
      this._actions$_listeners = t0;
    },
    PreviousFocusIntent: function PreviousFocusIntent() {
    },
    PreviousFocusAction: function PreviousFocusAction(t0) {
      this._actions$_listeners = t0;
    },
    DirectionalFocusIntent: function DirectionalFocusIntent(t0) {
      this.direction = t0;
    },
    DirectionalFocusAction: function DirectionalFocusAction(t0) {
      this._actions$_listeners = t0;
    },
    _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() {
    },
    createLocalImageConfiguration: function(context, size) {
      var t1, t2;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultAssetBundle);
      t1 = $.$get$rootBundle();
      t2 = F.MediaQuery_maybeOf(context);
      t2 = t2 == null ? null : t2.devicePixelRatio;
      if (t2 == null)
        t2 = 1;
      return new M.ImageConfiguration(t1, t2, L.Localizations_maybeLocaleOf(context), T.Directionality_maybeOf(context), size, U.defaultTargetPlatform());
    },
    Image$: function(height, image, width) {
      return new U.Image(image, width, height, null, null, C.Alignment_0_0, C.ImageRepeat_3, null);
    },
    Image$asset: function($name, alignment, color, fit, height, repeat) {
      var _null = null;
      return new U.Image(M.ResizeImage_resizeIfNeeded(_null, _null, new L.AssetImage($name, _null, _null)), _null, height, color, fit, alignment, repeat, _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() {
    },
    Notification1: function Notification1() {
    },
    NotificationListener: function NotificationListener(t0, t1, t2, t3) {
      var _ = this;
      _.child = t0;
      _.onNotification = t1;
      _.key = t2;
      _.$ti = t3;
    },
    LayoutChangedNotification: function LayoutChangedNotification() {
    },
    RestorableBool$: function(defaultValue) {
      return new U.RestorableBool(false, P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    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;
    },
    TickerMode_of: function(context) {
      var widget = context.dependOnInheritedWidgetOfExactType$1$0(type$._EffectiveTickerMode),
        t1 = widget == null ? null : widget.enabled;
      return t1 !== false;
    },
    TickerMode: function TickerMode(t0, t1, t2) {
      this.enabled = t0;
      this.child = t1;
      this.key = t2;
    },
    _EffectiveTickerMode: function _EffectiveTickerMode(t0, t1, t2) {
      this.enabled = t0;
      this.child = t1;
      this.key = t2;
    },
    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;
    },
    Consumer$: function(builder) {
      return new U.Consumer(builder, null);
    },
    Consumer: function Consumer(t0, t1) {
      this._builder = t0;
      this.key = t1;
    },
    ConsumerWidget: function ConsumerWidget() {
    },
    _ConsumerState: function _ConsumerState(t0, t1) {
      var _ = this;
      _._consumer$_container = null;
      _._consumer$_dependencies = t0;
      _._oldDependencies = null;
      _.___ConsumerState__buildCache = $;
      _._isExternalBuild = true;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _ConsumerState__reader_closure: function _ConsumerState__reader_closure(t0, t1, t2) {
      this.$this = t0;
      this.target = t1;
      this.Res = t2;
    },
    Response_fromStream: function(response) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Response_2),
        $async$returnValue, body, t1, t2, t3, t4, t5, t6;
      var $async$Response_fromStream = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._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 = B.toUint8List(body);
              t6 = J.get$length$asx(body);
              t5 = new U.Response(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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$Response_fromStream, $async$completer);
    },
    _contentTypeForHeaders: function(headers) {
      var contentType = headers.$index(0, "content-type");
      if (contentType != null)
        return R.MediaType_MediaType$parse(contentType);
      return R.MediaType$("application", "octet-stream", null);
    },
    Response: function Response(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;
    },
    ExrAttribute: function ExrAttribute(t0, t1, t2) {
      this.name = t0;
      this.size = t1;
      this.data = t2;
    },
    ExrDecoder: function ExrDecoder() {
      this.exrImage = null;
    },
    ComponentData: function ComponentData(t0, t1, t2) {
      this.lines = t0;
      this.hScaleShift = t1;
      this.vScaleShift = t2;
    },
    PsdBevelEffect: function PsdBevelEffect() {
      this.enabled = this.version = null;
    },
    TiffImage: function TiffImage(t0) {
      var _ = this;
      _.tags = t0;
      _.photometricType = _.height = _.width = null;
      _.sampleFormat = _.samplesPerPixel = _.bitsPerSample = _.compression = 1;
      _.imageType = -1;
      _.isWhiteZero = false;
      _.predictor = 1;
      _.__TiffImage_chromaSubV = _.__TiffImage_chromaSubH = $;
      _.tileByteCounts = _.tileOffsets = _.tileHeight = _.tileWidth = null;
      _.__TiffImage_tilesY = _.__TiffImage_tilesX = $;
      _.fillOrder = 1;
      _.t6Options = _.t4Options = 0;
      _.colorMap = null;
      _.__TiffImage_colorMapBlue = _.__TiffImage_colorMapGreen = _.__TiffImage_colorMapRed = $;
      _.hdrImage = _.image = null;
    },
    Image$0: function(width, height, channels) {
      var t1 = new Uint32Array(width * height);
      G.ExifData$from(null);
      return new U.Image0(width, height, channels, t1);
    },
    Format: function Format(t0, t1) {
      this.index = t0;
      this._image1$_name = t1;
    },
    Channels: function Channels(t0, t1) {
      this.index = t0;
      this._image1$_name = t1;
    },
    Image0: function Image0(t0, t1, t2, t3) {
      var _ = this;
      _.width = t0;
      _.height = t1;
      _.channels = t2;
      _.data = t3;
    },
    Highlighter$: function(span, color) {
      var t1 = U.Highlighter__collateLines(H._setArrayType([U._Highlight$(span, true)], type$.JSArray__Highlight)),
        t2 = new U.Highlighter_closure(color).call$0(),
        t3 = C.JSInt_methods.toString$0(C.JSArray_methods.get$last(t1).number + 1),
        t4 = U.Highlighter__contiguous(t1) ? 0 : 3,
        t5 = H._arrayInstanceType(t1);
      return new U.Highlighter(t1, t2, null, 1 + Math.max(t3.length, t4), new H.MappedListIterable(t1, new U.Highlighter$__closure(), t5._eval$1("MappedListIterable<1,int>")).reduce$1(0, C.CONSTANT), !B.isAllTheSame(new H.MappedListIterable(t1, new U.Highlighter$__closure0(), t5._eval$1("MappedListIterable<1,Object?>"))), new P.StringBuffer(""));
    },
    Highlighter__contiguous: function(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: function(highlights) {
      var t1, t2,
        highlightsByUrl = Y.groupBy(highlights, new U.Highlighter__collateLines_closure(), type$._Highlight, type$.nullable_Uri);
      for (t1 = highlightsByUrl.get$values(highlightsByUrl), t1 = t1.get$iterator(t1); t1.moveNext$0();)
        J.sort$1$ax(t1.get$current(t1), new U.Highlighter__collateLines_closure0());
      t1 = highlightsByUrl.get$values(highlightsByUrl);
      t2 = H._instanceType(t1)._eval$1("ExpandIterable<Iterable.E,_Line>");
      return P.List_List$of(new H.ExpandIterable(t1, new U.Highlighter__collateLines_closure1(), t2), true, t2._eval$1("Iterable.E"));
    },
    _Highlight$: function(span, primary) {
      return new U._Highlight(new U._Highlight_closure(span).call$0(), true);
    },
    _Highlight__normalizeNewlines: function(span) {
      var t1, endOffset, i, t2, t3, t4,
        text = span.get$text(span);
      if (!C.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 (C.JSString_methods._codeUnitAt$1(text, i) === 13 && C.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 = V.SourceLocation$(endOffset, span.get$end(span).get$column(), t3, t2);
      t3 = H.stringReplaceAllUnchecked(text, "\r\n", "\n");
      t4 = span.get$context(span);
      return X.SourceSpanWithContext$(t1, t2, t3, H.stringReplaceAllUnchecked(t4, "\r\n", "\n"));
    },
    _Highlight__normalizeTrailingNewline: function(span) {
      var context, text, start, end, t1, t2, t3;
      if (!C.JSString_methods.endsWith$1(span.get$context(span), "\n"))
        return span;
      if (C.JSString_methods.endsWith$1(span.get$text(span), "\n\n"))
        return span;
      context = C.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 (C.JSString_methods.endsWith$1(span.get$text(span), "\n")) {
        t1 = B.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 = C.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 = V.SourceLocation$(t1 - 1, U._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 X.SourceSpanWithContext$(start, end, text, context);
    },
    _Highlight__normalizeEndOfLine: function(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 = C.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 = V.SourceLocation$(t2 - 1, text.length - C.JSString_methods.lastIndexOf$1(text, "\n") - 1, t4 - 1, t3);
      return X.SourceSpanWithContext$(t1, t3, text, C.JSString_methods.endsWith$1(span.get$context(span), "\n") ? C.JSString_methods.substring$2(span.get$context(span), 0, span.get$context(span).length - 1) : span.get$context(span));
    },
    _Highlight__lastLineLength: function(text) {
      var t1 = text.length;
      if (t1 === 0)
        return 0;
      else if (C.JSString_methods.codeUnitAt$1(text, t1 - 1) === 10)
        return t1 === 1 ? 0 : t1 - C.JSString_methods.lastIndexOf$2(text, "\n", t1 - 2) - 1;
      else
        return t1 - C.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;
    },
    Chain_Chain$parse: function(chain) {
      var t1, t2,
        _s51_ = string$.x3d_____;
      if (chain.length === 0)
        return new U.Chain(P.List_List$unmodifiable(H._setArrayType([], type$.JSArray_Trace), type$.Trace));
      t1 = $.$get$vmChainGap();
      if (C.JSString_methods.contains$1(chain, t1)) {
        t1 = C.JSString_methods.split$1(chain, t1);
        t2 = H._arrayInstanceType(t1);
        return new U.Chain(P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(t1, new U.Chain_Chain$parse_closure(), t2._eval$1("WhereIterable<1>")), new U.Chain_Chain$parse_closure0(), t2._eval$1("MappedIterable<1,Trace>")), type$.Trace));
      }
      if (!C.JSString_methods.contains$1(chain, _s51_))
        return new U.Chain(P.List_List$unmodifiable(H._setArrayType([Y.Trace_Trace$parse(chain)], type$.JSArray_Trace), type$.Trace));
      return new U.Chain(P.List_List$unmodifiable(new H.MappedListIterable(H._setArrayType(chain.split(_s51_), type$.JSArray_String), new U.Chain_Chain$parse_closure1(), type$.MappedListIterable_String_Trace), type$.Trace));
    },
    Chain: function Chain(t0) {
      this.traces = 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_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;
    },
    generateDevToolsTitle: function() {
      var t1 = $.globals.$index(0, C.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();
      t1.set$value(0, $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp ? "Flutter DevTools" : "Dart DevTools");
    },
    compute: function(callback, message, debugLabel, $Q, $R) {
      return U.compute$body(callback, message, debugLabel, $Q, $R, $R);
    },
    compute$body: function(callback, message, debugLabel, $Q, $R, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue;
      var $async$compute = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$compute, $async$completer);
    }
  },
  V = {ErrorResult: function ErrorResult(t0, t1) {
      this.error = t0;
      this.stackTrace = t1;
    }, 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;
      _._widget = _._isActive = _.notifications = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    }, DragAndDropState_build_closure: function DragAndDropState_build_closure(t0) {
      this.$this = t0;
    }, DragAndDropMetaData: function DragAndDropMetaData(t0) {
      this.state = t0;
    },
    ArrowWrapper$unidirectional: function(arrowColor, child, type) {
      return new V.ArrowWrapper(arrowColor, 16, 2, child, type === C.ArrowType_0 || type === C.ArrowType_3 ? C.Axis_1 : C.Axis_0, 4, false, type, type, null);
    },
    ArrowWrapper$bidirectional: function(arrowColor, arrowHeadSize, arrowStrokeWidth, child, childMarginFromArrow, direction) {
      var t1 = direction === C.Axis_0,
        t2 = t1 ? C.ArrowType_1 : C.ArrowType_0;
      return new V.ArrowWrapper(arrowColor, arrowHeadSize, arrowStrokeWidth, child, direction, childMarginFromArrow, true, t2, t1 ? C.ArrowType_2 : C.ArrowType_3, null);
    },
    ArrowWidget$: function(color, headSize, shouldDrawHead, strokeWidth, type) {
      return new V.ArrowWidget(new V._ArrowPainter(color, headSize, shouldDrawHead, strokeWidth, type, 0.5 * Math.sqrt(3) * headSize, null), null);
    },
    ArrowType: function ArrowType(t0, t1) {
      this.index = t0;
      this._arrow$_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;
    },
    sum: function(numbers) {
      return J.fold$2$ax(numbers, 0, new V.sum_closure());
    },
    min: function(numbers) {
      return (numbers && C.JSArray_methods).fold$2(numbers, 1 / 0, new V.min_closure());
    },
    max: function(numbers) {
      return (numbers && C.JSArray_methods).fold$2(numbers, -1 / 0, new V.max_closure());
    },
    sum_closure: function sum_closure() {
    },
    min_closure: function min_closure() {
    },
    max_closure: function max_closure() {
    },
    BottomUpProfileTransformer_getRoots: function(node, currentBottomUpRoot, bottomUpRoots) {
      var t1, t2, _i,
        copy = node.shallowCopy$1$resetInclusiveSampleCount(true);
      if (currentBottomUpRoot != null)
        copy.addChild$1(currentBottomUpRoot.deepCopy$0());
      if (node.exclusiveSampleCount > 0)
        bottomUpRoots.push(copy);
      for (t1 = node.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        V.BottomUpProfileTransformer_getRoots(t1[_i], copy, bottomUpRoots);
      return bottomUpRoots;
    },
    BottomUpProfileTransformer_cascadeSampleCounts: function(stackFrame) {
      var t1, t2, _i, child;
      stackFrame._inclusiveSampleCount = stackFrame.exclusiveSampleCount;
      for (t1 = stackFrame.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        child.exclusiveSampleCount = stackFrame.exclusiveSampleCount;
        V.BottomUpProfileTransformer_cascadeSampleCounts(child);
      }
    },
    mergeProfileRoots: function(roots) {
      var t1, t2, t3, _i, root, matchingRoots, t4, _i0, match, t5, t6,
        rootsCopy = P.List_List$from(roots, true, type$.legacy_CpuStackFrame);
      for (t1 = rootsCopy.length, t2 = H._arrayInstanceType(roots)._eval$1("WhereIterable<1>"), t3 = t2._eval$1("Iterable.E"), _i = 0; _i < rootsCopy.length; rootsCopy.length === t1 || (0, H.throwConcurrentModificationError)(rootsCopy), ++_i) {
        root = rootsCopy[_i];
        if (!C.JSArray_methods.contains$1(roots, root))
          continue;
        matchingRoots = P.List_List$of(new H.WhereIterable(roots, new V.mergeProfileRoots_closure(root), t2), true, t3);
        t4 = matchingRoots.length;
        if (t4 === 0)
          continue;
        for (_i0 = 0; _i0 < t4; ++_i0) {
          match = matchingRoots[_i0];
          C.JSArray_methods.forEach$1(match.children, root.get$addChild());
          root.exclusiveSampleCount = root.exclusiveSampleCount + match.exclusiveSampleCount;
          t5 = root._inclusiveSampleCount;
          if (t5 == null)
            t5 = root._calculateInclusiveSampleCount$0();
          t6 = match._inclusiveSampleCount;
          root._inclusiveSampleCount = t5 + (t6 == null ? match._calculateInclusiveSampleCount$0() : t6);
          C.JSArray_methods.remove$1(roots, match);
          V.mergeProfileRoots(root.children);
        }
      }
      for (t1 = roots.length, _i = 0; _i < roots.length; roots.length === t1 || (0, H.throwConcurrentModificationError)(roots), ++_i) {
        root = roots[_i];
        root.index = C.JSArray_methods.indexOf$1(roots, root);
      }
    },
    CpuProfileTransformer: function CpuProfileTransformer(t0) {
      var _ = this;
      _._progressNotifier = t0;
      _._stackFrameValues = _._stackFrameKeys = _._stackFramesCount = null;
      _._stackFramesProcessed = 0;
      _._activeProcessId = null;
    },
    mergeProfileRoots_closure: function mergeProfileRoots_closure(t0) {
      this.root = t0;
    },
    ProcessCancelledException: function ProcessCancelledException() {
    },
    CpuProfiler$: function(controller, data, searchFieldKey, summaryView) {
      var t1 = data.get$callTreeRoots(),
        t2 = data.get$bottomUpRoots(),
        t3 = H._setArrayType([], type$.JSArray_legacy_Tab);
      if (summaryView != null)
        t3.push(C.Tab_6NJ);
      if (data.profileMetaData.sampleCount !== 0)
        C.JSArray_methods.addAll$1(t3, C.List_QNt);
      return new V.CpuProfiler(data, controller, t1, t2, searchFieldKey, summaryView, t3, 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, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _._cpu_profiler$_tabController = null;
      _.SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin__onSelection = t2;
      _.SearchFieldMixin__closeHandler = t3;
      _.SearchFieldMixin_arrowDown = t4;
      _.SearchFieldMixin_arrowUp = t5;
      _.SearchFieldMixin_enter = t6;
      _.SearchFieldMixin_escape = t7;
      _.SearchFieldMixin_tab = t8;
      _.SearchFieldMixin_enterMac = t9;
      _.SearchFieldMixin_tabMac = t10;
      _.AutoDisposeMixin__delegate = t11;
      _.TickerProviderStateMixin__tickers = t12;
      _._widget = null;
      _._debugLifecycleState = t13;
      _._framework$_element = null;
    },
    _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__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;
    },
    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) {
      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() {
    },
    AppBarTheme: function AppBarTheme(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.brightness = t0;
      _.backgroundColor = t1;
      _.foregroundColor = t2;
      _.elevation = t3;
      _.shadowColor = t4;
      _.iconTheme = t5;
      _.actionsIconTheme = t6;
      _.textTheme = t7;
      _.centerTitle = t8;
      _.titleSpacing = t9;
      _.toolbarHeight = t10;
      _.toolbarTextStyle = t11;
      _.titleTextStyle = t12;
      _.systemOverlayStyle = t13;
      _.backwardsCompatibility = t14;
    },
    _AppBarTheme_Object_Diagnosticable: function _AppBarTheme_Object_Diagnosticable() {
    },
    Card$: function(child, color, elevation, margin, shape) {
      return new V.Card(color, elevation, shape, margin, child, null);
    },
    Card: function Card(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.color = t0;
      _.elevation = t1;
      _.shape = t2;
      _.margin = t3;
      _.child = t4;
      _.key = t5;
    },
    MaterialStateProperty_resolveAs: function(value, states, $T) {
      if ($T._eval$1("MaterialStateProperty<0>")._is(value))
        return value.resolve$1(states);
      return value;
    },
    MaterialState: function MaterialState(t0, t1) {
      this.index = t0;
      this._material_state$_name = t1;
    },
    MaterialStateMouseCursor: function MaterialStateMouseCursor() {
    },
    _EnabledAndDisabledMouseCursor: function _EnabledAndDisabledMouseCursor(t0, t1) {
      this.enabledCursor = t0;
      this.name = t1;
    },
    MaterialStateProperty: function MaterialStateProperty() {
    },
    _MaterialStatePropertyWith: function _MaterialStatePropertyWith(t0, t1) {
      this._material_state$_resolve = t0;
      this.$ti = t1;
    },
    _MaterialStatePropertyAll: function _MaterialStatePropertyAll(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    MaterialPage$: function(child, $T) {
      var _null = null;
      return new V.MaterialPage(child, _null, _null, _null, _null, $T._eval$1("MaterialPage<0>"));
    },
    _PageBasedMaterialPageRoute$: function(page, $T) {
      var _null = null,
        t1 = H._setArrayType([], type$.JSArray_of_Future_bool_Function),
        t2 = $.Zone__current,
        t3 = S.ProxyAnimation$(C.C__AlwaysDismissedAnimation),
        t4 = H._setArrayType([], type$.JSArray_OverlayEntry),
        t5 = P.List_List$filled(0, _null, false, type$.nullable_void_Function),
        t6 = $.Zone__current;
      return new V._PageBasedMaterialPageRoute(false, _null, t1, new N.LabeledGlobalKey(_null, $T._eval$1("LabeledGlobalKey<_ModalScopeState<0>>")), new N.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), new S.PageStorageBucket(), _null, new P._AsyncCompleter(new P._Future(t2, $T._eval$1("_Future<0?>")), $T._eval$1("_AsyncCompleter<0?>")), t3, t4, page, new B.ValueNotifier(_null, t5, type$.ValueNotifier_nullable_String), new P._AsyncCompleter(new P._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) {
      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;
      _._transitionCompleter = t7;
      _._routes$_controller = _._animation = null;
      _._secondaryAnimation = t8;
      _._trainHoppingListenerRemover = _._result = null;
      _._overlayEntries = t9;
      _._navigator$_navigator = null;
      _._settings = t10;
      _._restorationScopeId = t11;
      _._popCompleter = t12;
      _.$ti = t13;
    },
    __PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin: function __PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin() {
    },
    EdgeInsetsGeometry_lerp: function(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 V.EdgeInsets && b instanceof V.EdgeInsets)
        return V.EdgeInsets_lerp(a, b, t);
      if (a instanceof V.EdgeInsetsDirectional && b instanceof V.EdgeInsetsDirectional)
        return V.EdgeInsetsDirectional_lerp(a, b, t);
      t1 = P.lerpDouble(a.get$_edge_insets$_left(a), b.get$_edge_insets$_left(b), t);
      t1.toString;
      t2 = P.lerpDouble(a.get$_edge_insets$_right(a), b.get$_edge_insets$_right(b), t);
      t2.toString;
      t3 = P.lerpDouble(a.get$_edge_insets$_start(a), b.get$_edge_insets$_start(b), t);
      t3.toString;
      t4 = P.lerpDouble(a.get$_edge_insets$_end(), b.get$_edge_insets$_end(), t);
      t4.toString;
      t5 = P.lerpDouble(a.get$_edge_insets$_top(a), b.get$_edge_insets$_top(b), t);
      t5.toString;
      t6 = P.lerpDouble(a.get$_edge_insets$_bottom(a), b.get$_edge_insets$_bottom(b), t);
      t6.toString;
      return new V._MixedEdgeInsets(t1, t2, t3, t4, t5, t6);
    },
    EdgeInsets$fromWindowPadding: function(padding, devicePixelRatio) {
      return new V.EdgeInsets(padding.left / devicePixelRatio, padding.top / devicePixelRatio, padding.right / devicePixelRatio, padding.bottom / devicePixelRatio);
    },
    EdgeInsets_lerp: function(a, b, t) {
      var t2, t3, t4,
        t1 = P.lerpDouble(a.left, b.left, t);
      t1.toString;
      t2 = P.lerpDouble(a.top, b.top, t);
      t2.toString;
      t3 = P.lerpDouble(a.right, b.right, t);
      t3.toString;
      t4 = P.lerpDouble(a.bottom, b.bottom, t);
      t4.toString;
      return new V.EdgeInsets(t1, t2, t3, t4);
    },
    EdgeInsetsDirectional_lerp: function(a, b, t) {
      var t2, t3, t4,
        t1 = P.lerpDouble(a.start, b.start, t);
      t1.toString;
      t2 = P.lerpDouble(a.top, b.top, t);
      t2.toString;
      t3 = P.lerpDouble(a.end, b.end, t);
      t3.toString;
      t4 = P.lerpDouble(a.bottom, b.bottom, t);
      t4.toString;
      return new V.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;
      _._edge_insets$_left = t0;
      _._edge_insets$_right = t1;
      _._edge_insets$_start = t2;
      _._edge_insets$_end = t3;
      _._edge_insets$_top = t4;
      _._edge_insets$_bottom = t5;
    },
    ShapeDecoration_ShapeDecoration$fromBoxDecoration: function(source) {
      var t1, shape, t2;
      switch (source.shape) {
        case C.BoxShape_1:
          t1 = source.border;
          shape = t1 != null ? new X.CircleBorder(t1.get$top(t1)) : C.CircleBorder_yHT;
          break;
        case C.BoxShape_0:
          t1 = source.borderRadius;
          shape = source.border;
          if (t1 != null) {
            t2 = shape == null ? null : shape.get$top(shape);
            shape = new X.RoundedRectangleBorder(t1, t2 == null ? C.BorderSide_06g : t2);
          } else if (shape == null)
            shape = C.Border_c8d;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return new V.ShapeDecoration(source.color, source.gradient, source.image, source.boxShadow, shape);
    },
    ShapeDecoration_lerp: function(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 = P.Color_lerp(t2, t3 ? _null : b.color, t);
      t4 = t1 ? _null : a.gradient;
      t4 = T.Gradient_lerp(t4, t3 ? _null : b.gradient, t);
      t5 = t < 0.5 ? a.image : b.image;
      t6 = t1 ? _null : a.shadows;
      t6 = O.BoxShadow_lerpList(t6, t3 ? _null : b.shadows, t);
      t1 = t1 ? _null : a.shape;
      t1 = Y.ShapeBorder_lerp(t1, t3 ? _null : b.shape, t);
      t1.toString;
      return new V.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;
    },
    RenderCustomPaint__updateSemanticsChildren: function(oldSemantics, newChildSemantics) {
      var t1, oldChildrenBottom, newChildren, haveOldChildren, oldChild, newSemantics, newChild, oldKeyedChildren, oldChildrenTop, t2, newChildrenTop, key, t3, _box_0 = {};
      _box_0.newChildSemantics = newChildSemantics;
      if (oldSemantics == null)
        oldSemantics = C.List_empty1;
      t1 = J.getInterceptor$asx(oldSemantics);
      oldChildrenBottom = t1.get$length(oldSemantics) - 1;
      newChildren = P.List_List$filled(0, null, false, type$.nullable_SemanticsNode);
      haveOldChildren = 0 <= oldChildrenBottom;
      while (true) {
        if (!false)
          break;
        oldChild = t1.$index(oldSemantics, 0);
        newSemantics = newChildSemantics[0];
        oldChild.toString;
        newSemantics.get$key(newSemantics);
        break;
      }
      while (true) {
        if (!false)
          break;
        oldChild = t1.$index(oldSemantics, oldChildrenBottom);
        newChild = newChildSemantics[-1];
        oldChild.toString;
        newChild.get$key(newChild);
        break;
      }
      oldKeyedChildren = H._Cell$named("oldKeyedChildren");
      if (haveOldChildren) {
        oldKeyedChildren.set$finalLocalValue(P.LinkedHashMap_LinkedHashMap$_empty(type$.Key, type$.SemanticsNode));
        for (oldChildrenTop = 0; oldChildrenTop <= oldChildrenBottom;) {
          t1.$index(oldSemantics, oldChildrenTop).toString;
          ++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)
            H.throwExpression(H.LateError$localNI(t2));
          oldChild = J.$index$asx(t3, key);
          if (oldChild != null) {
            newSemantics.get$key(newSemantics);
            oldChild = null;
          }
        } else
          oldChild = null;
        newChildren[newChildrenTop] = V.RenderCustomPaint__updateSemanticsChild(oldChild, newSemantics);
        ++newChildrenTop;
      }
      t1.get$length(oldSemantics);
      while (true) {
        if (!false)
          break;
        newChildren[newChildrenTop] = V.RenderCustomPaint__updateSemanticsChild(t1.$index(oldSemantics, oldChildrenTop), _box_0.newChildSemantics[newChildrenTop]);
        ++newChildrenTop;
        ++oldChildrenTop;
      }
      return new H.CastList(newChildren, H._arrayInstanceType(newChildren)._eval$1("CastList<1,SemanticsNode>"));
    },
    RenderCustomPaint__updateSemanticsChild: function(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(C.SemanticsFlag_1, true);
      config._setFlag$2(C.SemanticsFlag_2, t1);
      properties.get$selected(properties);
      config._setFlag$2(C.SemanticsFlag_4, properties.get$selected(properties));
      properties.get$button(properties);
      config._setFlag$2(C.SemanticsFlag_8, properties.get$button(properties));
      properties.get$link();
      config._setFlag$2(C.SemanticsFlag_4194304, properties.get$link());
      properties.get$textField();
      config._setFlag$2(C.SemanticsFlag_16, properties.get$textField());
      properties.get$slider();
      config._setFlag$2(C.SemanticsFlag_8388608, properties.get$slider());
      properties.get$keyboardKey();
      config._setFlag$2(C.SemanticsFlag_16777216, properties.get$keyboardKey());
      properties.get$readOnly(properties);
      config._setFlag$2(C.SemanticsFlag_1048576, properties.get$readOnly(properties));
      properties.get$focusable();
      config._setFlag$2(C.SemanticsFlag_2097152, properties.get$focusable());
      properties.get$focused(properties);
      config._setFlag$2(C.SemanticsFlag_32, properties.get$focused(properties));
      properties.get$enabled(properties);
      t1 = properties.get$enabled(properties);
      config._setFlag$2(C.SemanticsFlag_64, true);
      config._setFlag$2(C.SemanticsFlag_128, t1);
      properties.get$inMutuallyExclusiveGroup();
      config._setFlag$2(C.SemanticsFlag_256, properties.get$inMutuallyExclusiveGroup());
      properties.get$obscured();
      config._setFlag$2(C.SemanticsFlag_1024, properties.get$obscured());
      properties.get$multiline(properties);
      config._setFlag$2(C.SemanticsFlag_524288, properties.get$multiline(properties));
      properties.get$hidden(properties);
      config._setFlag$2(C.SemanticsFlag_8192, properties.get$hidden(properties));
      properties.get$header();
      config._setFlag$2(C.SemanticsFlag_512, properties.get$header());
      properties.get$scopesRoute();
      config._setFlag$2(C.SemanticsFlag_2048, properties.get$scopesRoute());
      properties.get$namesRoute();
      config._setFlag$2(C.SemanticsFlag_4096, properties.get$namesRoute());
      properties.get$liveRegion();
      config._setFlag$2(C.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(C.SemanticsFlag_65536, true);
      config._setFlag$2(C.SemanticsFlag_131072, t1);
      properties.get$image(properties);
      config._setFlag$2(C.SemanticsFlag_16384, properties.get$image(properties));
      properties.get$label(properties);
      config._label = properties.get$label(properties);
      config._hasBeenAnnotated = true;
      properties.get$value(properties);
      config._semantics$_value = properties.get$value(properties);
      config._hasBeenAnnotated = true;
      properties.get$increasedValue();
      config._increasedValue = properties.get$increasedValue();
      config._hasBeenAnnotated = true;
      properties.get$decreasedValue();
      config._decreasedValue = properties.get$decreasedValue();
      config._hasBeenAnnotated = true;
      properties.get$hint(properties);
      config._hint = properties.get$hint(properties);
      config._hasBeenAnnotated = true;
      properties.get$textDirection(properties);
      config._textDirection = properties.get$textDirection(properties);
      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, C.List_empty1, 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) {
      var _ = this;
      _._custom_paint$_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;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    RenderErrorBox: function RenderErrorBox(t0) {
      var _ = this;
      _.message = t0;
      _.__RenderErrorBox__paragraph = $;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    Priority: function Priority(t0) {
      this._priority$_value = t0;
    },
    SystemSound_play: function(type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$SystemSound_play = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(C.OptionalMethodChannel_cWd.invokeMethod$1$2("SystemSound.play", type._system_sound$_name, type$.void), $async$SystemSound_play);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$SystemSound_play, $async$completer);
    },
    SystemSoundType: function SystemSoundType(t0, t1) {
      this.index = t0;
      this._system_sound$_name = t1;
    },
    PageRoute: function PageRoute() {
    },
    PsdEffect: function PsdEffect() {
    },
    PsdDecoder: function PsdDecoder() {
      this.info = null;
    },
    VP8Filter_AVG3: function(a, b, c) {
      return C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(a + 2 * b + c + 2, 2), 32);
    },
    VP8Filter_VE4: function(dst) {
      var i,
        vals = H._setArrayType([V.VP8Filter_AVG3(J.$index$asx(dst.buffer, dst.offset + -33), J.$index$asx(dst.buffer, dst.offset + -32), J.$index$asx(dst.buffer, dst.offset + -31)), V.VP8Filter_AVG3(J.$index$asx(dst.buffer, dst.offset + -32), J.$index$asx(dst.buffer, dst.offset + -31), J.$index$asx(dst.buffer, dst.offset + -30)), V.VP8Filter_AVG3(J.$index$asx(dst.buffer, dst.offset + -31), J.$index$asx(dst.buffer, dst.offset + -30), J.$index$asx(dst.buffer, dst.offset + -29)), V.VP8Filter_AVG3(J.$index$asx(dst.buffer, dst.offset + -30), J.$index$asx(dst.buffer, dst.offset + -29), J.$index$asx(dst.buffer, dst.offset + -28))], type$.JSArray_int);
      for (i = 0; i < 4; ++i)
        dst.memcpy$3(i * 32, 4, vals);
    },
    VP8Filter_HE4: function(dst) {
      var t1 = J.$index$asx(dst.buffer, dst.offset + -33),
        t2 = J.$index$asx(dst.buffer, dst.offset + -1),
        t3 = J.$index$asx(dst.buffer, dst.offset + 31),
        t4 = J.$index$asx(dst.buffer, dst.offset + 63),
        t5 = J.$index$asx(dst.buffer, dst.offset + 95),
        d2 = Z.InputBuffer$from(dst, null, 0);
      J.$indexSet$ax(d2.toUint32List$0(), 0, 16843009 * V.VP8Filter_AVG3(t1, t2, t3));
      d2.offset = d2.offset + 32;
      J.$indexSet$ax(d2.toUint32List$0(), 0, 16843009 * V.VP8Filter_AVG3(t2, t3, t4));
      d2.offset = d2.offset + 32;
      J.$indexSet$ax(d2.toUint32List$0(), 0, 16843009 * V.VP8Filter_AVG3(t3, t4, t5));
      d2.offset = d2.offset + 32;
      J.$indexSet$ax(d2.toUint32List$0(), 0, 16843009 * V.VP8Filter_AVG3(t4, t5, t5));
    },
    VP8Filter_DC4: function(dst) {
      var dc, i, t1, t2;
      for (dc = 4, i = 0; i < 4; ++i)
        dc += J.$index$asx(dst.buffer, dst.offset + (i - 32)) + J.$index$asx(dst.buffer, dst.offset + (-1 + i * 32));
      dc = C.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: function(dst, size) {
      var di, y, clip, x, t1,
        clip0 = 255 - J.$index$asx(dst.buffer, dst.offset + -33);
      for (di = 0, y = 0; y < size; ++y) {
        clip = clip0 + J.$index$asx(dst.buffer, dst.offset + (di - 1));
        for (x = 0; x < size; ++x) {
          t1 = $.$get$VP8Filter_clip1()[clip + J.$index$asx(dst.buffer, dst.offset + (-32 + x))];
          J.$indexSet$ax(dst.buffer, dst.offset + (di + x), t1);
        }
        di += 32;
      }
    },
    VP8Filter_TM4: function(dst) {
      V.VP8Filter_trueMotion(dst, 4);
    },
    VP8Filter_TM8uv: function(dst) {
      V.VP8Filter_trueMotion(dst, 8);
    },
    VP8Filter_TM16: function(dst) {
      V.VP8Filter_trueMotion(dst, 16);
    },
    VP8Filter_RD4: function(dst) {
      var t1 = J.$index$asx(dst.buffer, dst.offset + -1),
        t2 = J.$index$asx(dst.buffer, dst.offset + 31),
        t3 = J.$index$asx(dst.buffer, dst.offset + 63),
        t4 = J.$index$asx(dst.buffer, dst.offset + 95),
        t5 = J.$index$asx(dst.buffer, dst.offset + -33),
        t6 = J.$index$asx(dst.buffer, dst.offset + -32),
        t7 = J.$index$asx(dst.buffer, dst.offset + -31),
        t8 = J.$index$asx(dst.buffer, dst.offset + -30),
        t9 = J.$index$asx(dst.buffer, dst.offset + -29);
      dst.$indexSet(0, 96, V.VP8Filter_AVG3(t2, t3, t4));
      t3 = V.VP8Filter_AVG3(t1, t2, t3);
      dst.$indexSet(0, 97, t3);
      dst.$indexSet(0, 64, t3);
      t2 = V.VP8Filter_AVG3(t5, t1, t2);
      dst.$indexSet(0, 98, t2);
      dst.$indexSet(0, 65, t2);
      dst.$indexSet(0, 32, t2);
      t1 = V.VP8Filter_AVG3(t6, t5, t1);
      dst.$indexSet(0, 99, t1);
      dst.$indexSet(0, 66, t1);
      dst.$indexSet(0, 33, t1);
      dst.$indexSet(0, 0, t1);
      t5 = V.VP8Filter_AVG3(t7, t6, t5);
      dst.$indexSet(0, 67, t5);
      dst.$indexSet(0, 34, t5);
      dst.$indexSet(0, 1, t5);
      t6 = V.VP8Filter_AVG3(t8, t7, t6);
      dst.$indexSet(0, 35, t6);
      dst.$indexSet(0, 2, t6);
      dst.$indexSet(0, 3, V.VP8Filter_AVG3(t9, t8, t7));
    },
    VP8Filter_LD4: function(dst) {
      var t1 = J.$index$asx(dst.buffer, dst.offset + -32),
        t2 = J.$index$asx(dst.buffer, dst.offset + -31),
        t3 = J.$index$asx(dst.buffer, dst.offset + -30),
        t4 = J.$index$asx(dst.buffer, dst.offset + -29),
        t5 = J.$index$asx(dst.buffer, dst.offset + -28),
        t6 = J.$index$asx(dst.buffer, dst.offset + -27),
        t7 = J.$index$asx(dst.buffer, dst.offset + -26),
        t8 = J.$index$asx(dst.buffer, dst.offset + -25);
      dst.$indexSet(0, 0, V.VP8Filter_AVG3(t1, t2, t3));
      t2 = V.VP8Filter_AVG3(t2, t3, t4);
      dst.$indexSet(0, 32, t2);
      dst.$indexSet(0, 1, t2);
      t3 = V.VP8Filter_AVG3(t3, t4, t5);
      dst.$indexSet(0, 64, t3);
      dst.$indexSet(0, 33, t3);
      dst.$indexSet(0, 2, t3);
      t4 = V.VP8Filter_AVG3(t4, t5, t6);
      dst.$indexSet(0, 96, t4);
      dst.$indexSet(0, 65, t4);
      dst.$indexSet(0, 34, t4);
      dst.$indexSet(0, 3, t4);
      t5 = V.VP8Filter_AVG3(t5, t6, t7);
      dst.$indexSet(0, 97, t5);
      dst.$indexSet(0, 66, t5);
      dst.$indexSet(0, 35, t5);
      t6 = V.VP8Filter_AVG3(t6, t7, t8);
      dst.$indexSet(0, 98, t6);
      dst.$indexSet(0, 67, t6);
      dst.$indexSet(0, 99, V.VP8Filter_AVG3(t7, t8, t8));
    },
    VP8Filter_VR4: function(dst) {
      var t1 = J.$index$asx(dst.buffer, dst.offset + -1),
        t2 = J.$index$asx(dst.buffer, dst.offset + 31),
        t3 = J.$index$asx(dst.buffer, dst.offset + 63),
        t4 = J.$index$asx(dst.buffer, dst.offset + -33),
        t5 = J.$index$asx(dst.buffer, dst.offset + -32),
        t6 = J.$index$asx(dst.buffer, dst.offset + -31),
        t7 = J.$index$asx(dst.buffer, dst.offset + -30),
        t8 = J.$index$asx(dst.buffer, dst.offset + -29),
        t9 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t4 + t5 + 1, 1), 32);
      dst.$indexSet(0, 65, t9);
      dst.$indexSet(0, 0, t9);
      t9 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t5 + t6 + 1, 1), 32);
      dst.$indexSet(0, 66, t9);
      dst.$indexSet(0, 1, t9);
      t9 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t6 + t7 + 1, 1), 32);
      dst.$indexSet(0, 67, t9);
      dst.$indexSet(0, 2, t9);
      dst.$indexSet(0, 3, C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t7 + t8 + 1, 1), 32));
      dst.$indexSet(0, 96, V.VP8Filter_AVG3(t3, t2, t1));
      dst.$indexSet(0, 64, V.VP8Filter_AVG3(t2, t1, t4));
      t1 = V.VP8Filter_AVG3(t1, t4, t5);
      dst.$indexSet(0, 97, t1);
      dst.$indexSet(0, 32, t1);
      t4 = V.VP8Filter_AVG3(t4, t5, t6);
      dst.$indexSet(0, 98, t4);
      dst.$indexSet(0, 33, t4);
      t5 = V.VP8Filter_AVG3(t5, t6, t7);
      dst.$indexSet(0, 99, t5);
      dst.$indexSet(0, 34, t5);
      dst.$indexSet(0, 35, V.VP8Filter_AVG3(t6, t7, t8));
    },
    VP8Filter_VL4: function(dst) {
      var t9,
        t1 = J.$index$asx(dst.buffer, dst.offset + -32),
        t2 = J.$index$asx(dst.buffer, dst.offset + -31),
        t3 = J.$index$asx(dst.buffer, dst.offset + -30),
        t4 = J.$index$asx(dst.buffer, dst.offset + -29),
        t5 = J.$index$asx(dst.buffer, dst.offset + -28),
        t6 = J.$index$asx(dst.buffer, dst.offset + -27),
        t7 = J.$index$asx(dst.buffer, dst.offset + -26),
        t8 = J.$index$asx(dst.buffer, dst.offset + -25);
      dst.$indexSet(0, 0, C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t1 + t2 + 1, 1), 32));
      t9 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t2 + t3 + 1, 1), 32);
      dst.$indexSet(0, 64, t9);
      dst.$indexSet(0, 1, t9);
      t9 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t3 + t4 + 1, 1), 32);
      dst.$indexSet(0, 65, t9);
      dst.$indexSet(0, 2, t9);
      t9 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t4 + t5 + 1, 1), 32);
      dst.$indexSet(0, 66, t9);
      dst.$indexSet(0, 3, t9);
      dst.$indexSet(0, 32, V.VP8Filter_AVG3(t1, t2, t3));
      t2 = V.VP8Filter_AVG3(t2, t3, t4);
      dst.$indexSet(0, 96, t2);
      dst.$indexSet(0, 33, t2);
      t3 = V.VP8Filter_AVG3(t3, t4, t5);
      dst.$indexSet(0, 97, t3);
      dst.$indexSet(0, 34, t3);
      t4 = V.VP8Filter_AVG3(t4, t5, t6);
      dst.$indexSet(0, 98, t4);
      dst.$indexSet(0, 35, t4);
      dst.$indexSet(0, 67, V.VP8Filter_AVG3(t5, t6, t7));
      dst.$indexSet(0, 99, V.VP8Filter_AVG3(t6, t7, t8));
    },
    VP8Filter_HU4: function(dst) {
      var t5,
        t1 = J.$index$asx(dst.buffer, dst.offset + -1),
        t2 = J.$index$asx(dst.buffer, dst.offset + 31),
        t3 = J.$index$asx(dst.buffer, dst.offset + 63),
        t4 = J.$index$asx(dst.buffer, dst.offset + 95);
      dst.$indexSet(0, 0, C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t1 + t2 + 1, 1), 32));
      t5 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t2 + t3 + 1, 1), 32);
      dst.$indexSet(0, 32, t5);
      dst.$indexSet(0, 2, t5);
      t5 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t3 + t4 + 1, 1), 32);
      dst.$indexSet(0, 64, t5);
      dst.$indexSet(0, 34, t5);
      dst.$indexSet(0, 1, V.VP8Filter_AVG3(t1, t2, t3));
      t2 = V.VP8Filter_AVG3(t2, t3, t4);
      dst.$indexSet(0, 33, t2);
      dst.$indexSet(0, 3, t2);
      t3 = V.VP8Filter_AVG3(t3, t4, t4);
      dst.$indexSet(0, 65, t3);
      dst.$indexSet(0, 35, t3);
      dst.$indexSet(0, 99, t4);
      dst.$indexSet(0, 98, t4);
      dst.$indexSet(0, 97, t4);
      dst.$indexSet(0, 96, t4);
      dst.$indexSet(0, 66, t4);
      dst.$indexSet(0, 67, t4);
    },
    VP8Filter_HD4: function(dst) {
      var t1 = J.$index$asx(dst.buffer, dst.offset + -1),
        t2 = J.$index$asx(dst.buffer, dst.offset + 31),
        t3 = J.$index$asx(dst.buffer, dst.offset + 63),
        t4 = J.$index$asx(dst.buffer, dst.offset + 95),
        t5 = J.$index$asx(dst.buffer, dst.offset + -33),
        t6 = J.$index$asx(dst.buffer, dst.offset + -32),
        t7 = J.$index$asx(dst.buffer, dst.offset + -31),
        t8 = J.$index$asx(dst.buffer, dst.offset + -30),
        t9 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t1 + t5 + 1, 1), 32);
      dst.$indexSet(0, 34, t9);
      dst.$indexSet(0, 0, t9);
      t9 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t2 + t1 + 1, 1), 32);
      dst.$indexSet(0, 66, t9);
      dst.$indexSet(0, 32, t9);
      t9 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t3 + t2 + 1, 1), 32);
      dst.$indexSet(0, 98, t9);
      dst.$indexSet(0, 64, t9);
      dst.$indexSet(0, 96, C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(t4 + t3 + 1, 1), 32));
      dst.$indexSet(0, 3, V.VP8Filter_AVG3(t6, t7, t8));
      dst.$indexSet(0, 2, V.VP8Filter_AVG3(t5, t6, t7));
      t6 = V.VP8Filter_AVG3(t1, t5, t6);
      dst.$indexSet(0, 35, t6);
      dst.$indexSet(0, 1, t6);
      t5 = V.VP8Filter_AVG3(t2, t1, t5);
      dst.$indexSet(0, 67, t5);
      dst.$indexSet(0, 33, t5);
      t1 = V.VP8Filter_AVG3(t3, t2, t1);
      dst.$indexSet(0, 99, t1);
      dst.$indexSet(0, 65, t1);
      dst.$indexSet(0, 97, V.VP8Filter_AVG3(t4, t3, t2));
    },
    VP8Filter_VE16: function(dst) {
      var j;
      for (j = 0; j < 16; ++j)
        dst.memcpy$4(j * 32, 16, dst, -32);
    },
    VP8Filter_HE16: function(dst) {
      var di, j, t1, t2, t3;
      for (di = 0, j = 16; j > 0; --j) {
        t1 = J.$index$asx(dst.buffer, dst.offset + (di - 1));
        t2 = dst.buffer;
        t3 = dst.offset + di;
        J.fillRange$3$ax(t2, t3, t3 + 16, t1);
        di += 32;
      }
    },
    VP8Filter_Put16: function(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: function(dst) {
      var DC, j;
      for (DC = 16, j = 0; j < 16; ++j)
        DC += J.$index$asx(dst.buffer, dst.offset + (-1 + j * 32)) + J.$index$asx(dst.buffer, dst.offset + (j - 32));
      V.VP8Filter_Put16(C.JSInt_methods._shrOtherPositive$1(DC, 5), dst);
    },
    VP8Filter_DC16NoTop: function(dst) {
      var DC, j;
      for (DC = 8, j = 0; j < 16; ++j)
        DC += J.$index$asx(dst.buffer, dst.offset + (-1 + j * 32));
      V.VP8Filter_Put16(C.JSInt_methods._shrOtherPositive$1(DC, 4), dst);
    },
    VP8Filter_DC16NoLeft: function(dst) {
      var DC, i;
      for (DC = 8, i = 0; i < 16; ++i)
        DC += J.$index$asx(dst.buffer, dst.offset + (i - 32));
      V.VP8Filter_Put16(C.JSInt_methods._shrOtherPositive$1(DC, 4), dst);
    },
    VP8Filter_DC16NoTopLeft: function(dst) {
      V.VP8Filter_Put16(128, dst);
    },
    VP8Filter_VE8uv: function(dst) {
      var j;
      for (j = 0; j < 8; ++j)
        dst.memcpy$4(j * 32, 8, dst, -32);
    },
    VP8Filter_HE8uv: function(dst) {
      var di, j, t1, t2, t3;
      for (di = 0, j = 0; j < 8; ++j) {
        t1 = J.$index$asx(dst.buffer, dst.offset + (di - 1));
        t2 = dst.buffer;
        t3 = dst.offset + di;
        J.fillRange$3$ax(t2, t3, t3 + 8, t1);
        di += 32;
      }
    },
    VP8Filter_Put8x8uv: function(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: function(dst) {
      var dc0, i;
      for (dc0 = 8, i = 0; i < 8; ++i)
        dc0 += J.$index$asx(dst.buffer, dst.offset + (i - 32)) + J.$index$asx(dst.buffer, dst.offset + (-1 + i * 32));
      V.VP8Filter_Put8x8uv(C.JSInt_methods._shrOtherPositive$1(dc0, 4), dst);
    },
    VP8Filter_DC8uvNoLeft: function(dst) {
      var dc0, i;
      for (dc0 = 4, i = 0; i < 8; ++i)
        dc0 += J.$index$asx(dst.buffer, dst.offset + (i - 32));
      V.VP8Filter_Put8x8uv(C.JSInt_methods._shrOtherPositive$1(dc0, 3), dst);
    },
    VP8Filter_DC8uvNoTop: function(dst) {
      var dc0, i;
      for (dc0 = 4, i = 0; i < 8; ++i)
        dc0 += J.$index$asx(dst.buffer, dst.offset + (-1 + i * 32));
      V.VP8Filter_Put8x8uv(C.JSInt_methods._shrOtherPositive$1(dc0, 3), dst);
    },
    VP8Filter_DC8uvNoTopLeft: function(dst) {
      V.VP8Filter_Put8x8uv(128, dst);
    },
    VP8Filter__store: function(dst, di, x, y, v) {
      var t1 = di + x + y * 32,
        t2 = J.$index$asx(dst.buffer, dst.offset + t1) + C.JSInt_methods._shrOtherPositive$1(v, 3);
      if (!((t2 & -256) >>> 0 === 0))
        t2 = t2 < 0 ? 0 : 255;
      dst.$indexSet(0, t1, t2);
    },
    VP8Filter__store2: function(dst, y, dc, d, c) {
      V.VP8Filter__store(dst, 0, 0, y, dc + d);
      V.VP8Filter__store(dst, 0, 1, y, dc + c);
      V.VP8Filter__store(dst, 0, 2, y, dc - c);
      V.VP8Filter__store(dst, 0, 3, y, dc - d);
    },
    VP8Filter__initTables: function() {
      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] = C.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() {
    },
    SourceLocation$: function(offset, column, line, sourceUrl) {
      var t1 = line == null,
        t2 = t1 ? 0 : line;
      if (offset < 0)
        H.throwExpression(P.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (!t1 && line < 0)
        H.throwExpression(P.RangeError$("Line may not be negative, was " + H.S(line) + "."));
      else if (column < 0)
        H.throwExpression(P.RangeError$("Column may not be negative, was " + column + "."));
      return new V.SourceLocation(sourceUrl, offset, t2, column);
    },
    SourceLocation: function SourceLocation(t0, t1, t2, t3) {
      var _ = this;
      _.sourceUrl = t0;
      _.offset = t1;
      _.line = t2;
      _.column = t3;
    },
    SourceSpanBase: function SourceSpanBase() {
    }
  },
  W = {
    window: function() {
      return window;
    },
    document: function() {
      return document;
    },
    Blob_Blob: function(blobParts) {
      var t1 = new self.Blob(blobParts);
      return t1;
    },
    CanvasElement_CanvasElement: function(height, width) {
      var e = document.createElement("canvas");
      if (width != null)
        e.width = width;
      if (height != null)
        e.height = height;
      return e;
    },
    _ChildrenElementList__addAll: function(_element, iterable) {
      var t1;
      for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0();)
        _element.appendChild(t1.get$current(t1));
    },
    _ChildrenElementList__remove: function(_element, object) {
      if (type$.Element._is(object))
        if (object.parentNode === _element) {
          _element.removeChild(object);
          return true;
        }
      return false;
    },
    _ChildrenElementList__first: function(_element) {
      var result = _element.firstElementChild;
      if (result == null)
        throw H.wrapException(P.StateError$("No elements"));
      return result;
    },
    Element_Element$html: function(html, treeSanitizer, validator) {
      var fragment,
        t1 = document.body;
      t1.toString;
      fragment = C.BodyElement_methods.createFragment$3$treeSanitizer$validator(t1, html, treeSanitizer, validator);
      fragment.toString;
      t1 = new H.WhereIterable(new W._ChildNodeListLazy(fragment), new W.Element_Element$html_closure(), type$._ChildNodeListLazy._eval$1("WhereIterable<ListMixin.E>"));
      return type$.Element._as(t1.get$single(t1));
    },
    Element__safeTagName: function(element) {
      var t1, exception,
        result = "element tag unavailable";
      try {
        t1 = J.getInterceptor$x(element);
        if (typeof t1.get$tagName(element) == "string")
          result = t1.get$tagName(element);
      } catch (exception) {
        H.unwrapException(exception);
      }
      return result;
    },
    _ElementFactoryProvider_createElement_tag: function(tag, typeExtension) {
      return document.createElement(tag);
    },
    EventSource__factoryEventSource: function(url, eventSourceInitDict) {
      var t1 = new EventSource(url, P.convertDartToNative_Dictionary(eventSourceInitDict));
      return t1;
    },
    FontFace_FontFace: function(family, source, descriptors) {
      var t1 = new FontFace(family, source, P.convertDartToNative_Dictionary(descriptors));
      return t1;
    },
    HttpRequest_request: function(url, method, responseType, sendData, withCredentials) {
      var t2,
        t1 = new P._Future($.Zone__current, type$._Future_HttpRequest),
        completer = new P._AsyncCompleter(t1, type$._AsyncCompleter_HttpRequest),
        xhr = new XMLHttpRequest();
      C.HttpRequest_methods.open$3$async(xhr, method == null ? "GET" : method, url, true);
      if (withCredentials != null)
        xhr.withCredentials = withCredentials;
      if (responseType != null)
        xhr.responseType = responseType;
      t2 = type$.legacy_ProgressEvent;
      W._EventStreamSubscription$(xhr, "load", new W.HttpRequest_request_closure(xhr, completer), false, t2);
      W._EventStreamSubscription$(xhr, "error", completer.get$completeError(), false, t2);
      if (sendData != null)
        xhr.send(sendData);
      else
        xhr.send();
      return t1;
    },
    ImageElement_ImageElement: function() {
      var e = document.createElement("img");
      return e;
    },
    InputElement_InputElement: function(type) {
      var exception,
        t1 = document.createElement("input"),
        e = type$.InputElement._as(t1);
      if (type != null)
        try {
          e.type = type;
        } catch (exception) {
          H.unwrapException(exception);
        }
      return e;
    },
    Notification__factoryNotification: function(title, options) {
      var t1 = new Notification(title, P.convertDartToNative_Dictionary(options));
      return t1;
    },
    Notification__requestPermission: function(deprecatedCallback) {
      return Notification.requestPermission(H.convertDartClosureToJS(deprecatedCallback, 1));
    },
    Notification_requestPermission: function() {
      var t1 = new P._Future($.Zone__current, type$._Future_String);
      W.Notification__requestPermission(new W.Notification_requestPermission_closure(new P._AsyncCompleter(t1, type$._AsyncCompleter_String)));
      return t1;
    },
    WebSocket_WebSocket: function(url, protocols) {
      return new WebSocket(url);
    },
    _JenkinsSmiHash_combine: function(hash, value) {
      hash = hash + value & 536870911;
      hash = hash + ((hash & 524287) << 10) & 536870911;
      return hash ^ hash >>> 6;
    },
    _JenkinsSmiHash_hash4: function(a, b, c, d) {
      var t1 = W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(0, a), b), c), d),
        hash = t1 + ((t1 & 67108863) << 3) & 536870911;
      hash ^= hash >>> 11;
      return hash + ((hash & 16383) << 15) & 536870911;
    },
    _EventStreamSubscription$: function(_target, _eventType, onData, _useCapture, $T) {
      var t1 = onData == null ? null : W._wrapZone(new W._EventStreamSubscription_closure(onData), type$.Event);
      t1 = new W._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>"));
      t1._tryResume$0();
      return t1;
    },
    _Html5NodeValidator$: function(uriPolicy) {
      var e = document.createElement("a"),
        t1 = new W._SameOriginUriPolicy(e, window.location);
      t1 = new W._Html5NodeValidator(t1);
      t1._Html5NodeValidator$1$uriPolicy(uriPolicy);
      return t1;
    },
    _Html5NodeValidator__standardAttributeValidator: function(element, attributeName, value, context) {
      return true;
    },
    _Html5NodeValidator__uriAttributeValidator: function(element, attributeName, value, context) {
      var t3,
        t1 = context.uriPolicy,
        t2 = t1._hiddenAnchor;
      t2.href = value;
      t3 = t2.hostname;
      t1 = t1._loc;
      if (!(t3 == t1.hostname && t2.port == t1.port && t2.protocol == t1.protocol))
        if (t3 === "")
          if (t2.port === "") {
            t1 = t2.protocol;
            t1 = t1 === ":" || t1 === "";
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    _TemplatingNodeValidator$: function() {
      var t1 = type$.String,
        t2 = P.LinkedHashSet_LinkedHashSet$from(C.List_wSV, t1),
        t3 = H._setArrayType(["TEMPLATE"], type$.JSArray_String);
      t1 = new W._TemplatingNodeValidator(t2, P.LinkedHashSet_LinkedHashSet(t1), P.LinkedHashSet_LinkedHashSet(t1), P.LinkedHashSet_LinkedHashSet(t1), null);
      t1._SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes(null, new H.MappedListIterable(C.List_wSV, new W._TemplatingNodeValidator_closure(), type$.MappedListIterable_of_legacy_String_and_String), t3, null);
      return t1;
    },
    _convertNativeToDart_Window: function(win) {
      return W._DOMWindowCrossFrame__createSafe(win);
    },
    _convertNativeToDart_EventTarget: function(e) {
      var $window;
      if ("postMessage" in e) {
        $window = W._DOMWindowCrossFrame__createSafe(e);
        if (type$.EventTarget._is($window))
          return $window;
        return null;
      } else
        return e;
    },
    _convertNativeToDart_XHR_Response: function(o) {
      if (type$.Document._is(o))
        return o;
      return new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(o, true);
    },
    _DOMWindowCrossFrame__createSafe: function(w) {
      if (w === window)
        return w;
      else
        return new W._DOMWindowCrossFrame(w);
    },
    _wrapZone: function(callback, $T) {
      var t1 = $.Zone__current;
      if (t1 === C.C__RootZone)
        return callback;
      return t1.bindUnaryCallbackGuarded$1$1(callback, $T);
    },
    HtmlElement: function HtmlElement() {
    },
    AccessibleNode: function AccessibleNode() {
    },
    AccessibleNodeList: function AccessibleNodeList() {
    },
    AnchorElement: function AnchorElement() {
    },
    AnimationEffectTiming: function AnimationEffectTiming() {
    },
    AnimationEffectTimingReadOnly: function AnimationEffectTimingReadOnly() {
    },
    ApplicationCacheErrorEvent: function ApplicationCacheErrorEvent() {
    },
    AreaElement: function AreaElement() {
    },
    BaseElement: function BaseElement() {
    },
    BatteryManager: function BatteryManager() {
    },
    Blob: function Blob() {
    },
    Body: function Body() {
    },
    BodyElement: function BodyElement() {
    },
    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() {
    },
    CssNumericValue: function CssNumericValue() {
    },
    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() {
    },
    Document: function Document() {
    },
    DocumentFragment: function DocumentFragment() {
    },
    DomError: function DomError() {
    },
    DomException: function DomException() {
    },
    DomRectList: function DomRectList() {
    },
    DomRectReadOnly: function DomRectReadOnly() {
    },
    DomStringList: function DomStringList() {
    },
    DomTokenList: function DomTokenList() {
    },
    _ChildrenElementList: function _ChildrenElementList(t0, t1) {
      this._element = t0;
      this._childElements = t1;
    },
    _FrozenElementList: function _FrozenElementList(t0, t1) {
      this._nodeList = t0;
      this.$ti = t1;
    },
    Element: function Element() {
    },
    Element_Element$html_closure: function Element_Element$html_closure() {
    },
    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() {
    },
    FontFace: function FontFace() {
    },
    FontFaceSet: function FontFaceSet() {
    },
    FormElement: function FormElement() {
    },
    Gamepad: function Gamepad() {
    },
    History: function History() {
    },
    HtmlCollection: function HtmlCollection() {
    },
    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() {
    },
    MediaElement: function MediaElement() {
    },
    MediaError: function MediaError() {
    },
    MediaKeyMessageEvent: function MediaKeyMessageEvent() {
    },
    MediaKeySession: function MediaKeySession() {
    },
    MediaList: function MediaList() {
    },
    MediaQueryList: function MediaQueryList() {
    },
    MediaQueryListEvent: function MediaQueryListEvent() {
    },
    MediaRecorder: function MediaRecorder() {
    },
    MediaSource: function MediaSource() {
    },
    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() {
    },
    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;
    },
    OListElement: function OListElement() {
    },
    ObjectElement: function ObjectElement() {
    },
    OffscreenCanvas: function OffscreenCanvas() {
    },
    OptionElement: function OptionElement() {
    },
    OutputElement: function OutputElement() {
    },
    OverconstrainedError: function OverconstrainedError() {
    },
    ParagraphElement: function ParagraphElement() {
    },
    ParamElement: function ParamElement() {
    },
    PasswordCredential: function PasswordCredential() {
    },
    PaymentInstruments: function PaymentInstruments() {
    },
    PerformanceEntry: function PerformanceEntry() {
    },
    PerformanceServerTiming: function PerformanceServerTiming() {
    },
    PermissionStatus: function PermissionStatus() {
    },
    Permissions: function Permissions() {
    },
    Plugin: function Plugin() {
    },
    PluginArray: function PluginArray() {
    },
    PointerEvent: function PointerEvent() {
    },
    PositionError: function PositionError() {
    },
    PresentationConnection: function PresentationConnection() {
    },
    PresentationConnectionCloseEvent: function PresentationConnectionCloseEvent() {
    },
    PresentationRequest: function PresentationRequest() {
    },
    ProgressEvent: function ProgressEvent() {
    },
    PushMessageData: function PushMessageData() {
    },
    Range0: function Range0() {
    },
    ReportBody: function ReportBody() {
    },
    RtcDataChannelEvent: function RtcDataChannelEvent() {
    },
    RtcDtmfSender: function RtcDtmfSender() {
    },
    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() {
    },
    ScriptElement: function ScriptElement() {
    },
    SelectElement: function SelectElement() {
    },
    Sensor: function Sensor() {
    },
    SharedWorkerGlobalScope: function SharedWorkerGlobalScope() {
    },
    SlotElement: function SlotElement() {
    },
    SourceBuffer: function SourceBuffer() {
    },
    SourceBufferList: function SourceBufferList() {
    },
    SpanElement: function SpanElement() {
    },
    SpeechGrammar: function SpeechGrammar() {
    },
    SpeechGrammarList: function SpeechGrammarList() {
    },
    SpeechRecognition: function SpeechRecognition() {
    },
    SpeechRecognitionError: function SpeechRecognitionError() {
    },
    SpeechRecognitionResult: function SpeechRecognitionResult() {
    },
    SpeechSynthesisEvent: function SpeechSynthesisEvent() {
    },
    SpeechSynthesisUtterance: function SpeechSynthesisUtterance() {
    },
    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() {
    },
    TableElement: function TableElement() {
    },
    TableRowElement: function TableRowElement() {
    },
    TableSectionElement: function TableSectionElement() {
    },
    TemplateElement: function TemplateElement() {
    },
    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() {
    },
    UnderlyingSourceBase: function UnderlyingSourceBase() {
    },
    Url: function Url() {
    },
    VRSession: function VRSession() {
    },
    VideoElement: function VideoElement() {
    },
    VideoTrack: function VideoTrack() {
    },
    VideoTrackList: function VideoTrackList() {
    },
    VttCue: function VttCue() {
    },
    VttRegion: function VttRegion() {
    },
    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._element = t0;
    },
    EventStreamProvider: function EventStreamProvider(t0, t1) {
      this._eventType = t0;
      this.$ti = t1;
    },
    _EventStream: function _EventStream(t0, t1, t2, t3) {
      var _ = this;
      _._html$_target = t0;
      _._eventType = t1;
      _._useCapture = t2;
      _.$ti = t3;
    },
    _ElementEventStreamImpl: function _ElementEventStreamImpl(t0, t1, t2, t3) {
      var _ = this;
      _._html$_target = t0;
      _._eventType = t1;
      _._useCapture = t2;
      _.$ti = t3;
    },
    _EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) {
      var _ = this;
      _._pauseCount = 0;
      _._html$_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;
    },
    _Html5NodeValidator: function _Html5NodeValidator(t0) {
      this.uriPolicy = t0;
    },
    ImmutableListMixin: function ImmutableListMixin() {
    },
    NodeValidatorBuilder: function NodeValidatorBuilder(t0) {
      this._validators = t0;
    },
    NodeValidatorBuilder_allowsElement_closure: function NodeValidatorBuilder_allowsElement_closure(t0) {
      this.element = t0;
    },
    NodeValidatorBuilder_allowsAttribute_closure: function NodeValidatorBuilder_allowsAttribute_closure(t0, t1, t2) {
      this.element = t0;
      this.attributeName = t1;
      this.value = t2;
    },
    _SimpleNodeValidator: function _SimpleNodeValidator() {
    },
    _SimpleNodeValidator_closure: function _SimpleNodeValidator_closure() {
    },
    _SimpleNodeValidator_closure0: function _SimpleNodeValidator_closure0() {
    },
    _TemplatingNodeValidator: function _TemplatingNodeValidator(t0, t1, t2, t3, t4) {
      var _ = this;
      _._templateAttrs = t0;
      _.allowedElements = t1;
      _.allowedAttributes = t2;
      _.allowedUriAttributes = t3;
      _.uriPolicy = t4;
    },
    _TemplatingNodeValidator_closure: function _TemplatingNodeValidator_closure() {
    },
    _SvgNodeValidator: function _SvgNodeValidator() {
    },
    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;
    },
    _SameOriginUriPolicy: function _SameOriginUriPolicy(t0, t1) {
      this._hiddenAnchor = t0;
      this._loc = t1;
    },
    _ValidatingTreeSanitizer: function _ValidatingTreeSanitizer(t0) {
      this.validator = t0;
      this.numTreeModifications = 0;
    },
    _ValidatingTreeSanitizer_sanitizeTree_walk: function _ValidatingTreeSanitizer_sanitizeTree_walk(t0) {
      this.$this = t0;
    },
    _CssStyleDeclaration_Interceptor_CssStyleDeclarationBase: function _CssStyleDeclaration_Interceptor_CssStyleDeclarationBase() {
    },
    _DomRectList_Interceptor_ListMixin: function _DomRectList_Interceptor_ListMixin() {
    },
    _DomRectList_Interceptor_ListMixin_ImmutableListMixin: function _DomRectList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _DomStringList_Interceptor_ListMixin: function _DomStringList_Interceptor_ListMixin() {
    },
    _DomStringList_Interceptor_ListMixin_ImmutableListMixin: function _DomStringList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _FileList_Interceptor_ListMixin: function _FileList_Interceptor_ListMixin() {
    },
    _FileList_Interceptor_ListMixin_ImmutableListMixin: function _FileList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _HtmlCollection_Interceptor_ListMixin: function _HtmlCollection_Interceptor_ListMixin() {
    },
    _HtmlCollection_Interceptor_ListMixin_ImmutableListMixin: function _HtmlCollection_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _MidiInputMap_Interceptor_MapMixin: function _MidiInputMap_Interceptor_MapMixin() {
    },
    _MidiOutputMap_Interceptor_MapMixin: function _MidiOutputMap_Interceptor_MapMixin() {
    },
    _MimeTypeArray_Interceptor_ListMixin: function _MimeTypeArray_Interceptor_ListMixin() {
    },
    _MimeTypeArray_Interceptor_ListMixin_ImmutableListMixin: function _MimeTypeArray_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _NodeList_Interceptor_ListMixin: function _NodeList_Interceptor_ListMixin() {
    },
    _NodeList_Interceptor_ListMixin_ImmutableListMixin: function _NodeList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _PluginArray_Interceptor_ListMixin: function _PluginArray_Interceptor_ListMixin() {
    },
    _PluginArray_Interceptor_ListMixin_ImmutableListMixin: function _PluginArray_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _RtcStatsReport_Interceptor_MapMixin: function _RtcStatsReport_Interceptor_MapMixin() {
    },
    _SourceBufferList_EventTarget_ListMixin: function _SourceBufferList_EventTarget_ListMixin() {
    },
    _SourceBufferList_EventTarget_ListMixin_ImmutableListMixin: function _SourceBufferList_EventTarget_ListMixin_ImmutableListMixin() {
    },
    _SpeechGrammarList_Interceptor_ListMixin: function _SpeechGrammarList_Interceptor_ListMixin() {
    },
    _SpeechGrammarList_Interceptor_ListMixin_ImmutableListMixin: function _SpeechGrammarList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _Storage_Interceptor_MapMixin: function _Storage_Interceptor_MapMixin() {
    },
    _TextTrackCueList_Interceptor_ListMixin: function _TextTrackCueList_Interceptor_ListMixin() {
    },
    _TextTrackCueList_Interceptor_ListMixin_ImmutableListMixin: function _TextTrackCueList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    _TextTrackList_EventTarget_ListMixin: function _TextTrackList_EventTarget_ListMixin() {
    },
    _TextTrackList_EventTarget_ListMixin_ImmutableListMixin: function _TextTrackList_EventTarget_ListMixin_ImmutableListMixin() {
    },
    _TouchList_Interceptor_ListMixin: function _TouchList_Interceptor_ListMixin() {
    },
    _TouchList_Interceptor_ListMixin_ImmutableListMixin: function _TouchList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    __CssRuleList_Interceptor_ListMixin: function __CssRuleList_Interceptor_ListMixin() {
    },
    __CssRuleList_Interceptor_ListMixin_ImmutableListMixin: function __CssRuleList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    __GamepadList_Interceptor_ListMixin: function __GamepadList_Interceptor_ListMixin() {
    },
    __GamepadList_Interceptor_ListMixin_ImmutableListMixin: function __GamepadList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    __NamedNodeMap_Interceptor_ListMixin: function __NamedNodeMap_Interceptor_ListMixin() {
    },
    __NamedNodeMap_Interceptor_ListMixin_ImmutableListMixin: function __NamedNodeMap_Interceptor_ListMixin_ImmutableListMixin() {
    },
    __SpeechRecognitionResultList_Interceptor_ListMixin: function __SpeechRecognitionResultList_Interceptor_ListMixin() {
    },
    __SpeechRecognitionResultList_Interceptor_ListMixin_ImmutableListMixin: function __SpeechRecognitionResultList_Interceptor_ListMixin_ImmutableListMixin() {
    },
    __StyleSheetList_Interceptor_ListMixin: function __StyleSheetList_Interceptor_ListMixin() {
    },
    __StyleSheetList_Interceptor_ListMixin_ImmutableListMixin: function __StyleSheetList_Interceptor_ListMixin_ImmutableListMixin() {
    }
  },
  X = {
    setupErrorHandling: function(appStartCallback) {
      return P.runZonedGuarded(new X.setupErrorHandling_closure(appStartCallback), new X.setupErrorHandling_closure0(), type$.void);
    },
    _reportError: function(error, stack) {
      var terseStackTrace = Y.Trace_Trace$from(stack).get$terse().toString$0(0);
      B.log(H.S(error), C.LogLevel_2);
      F.reportError(H.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() {
    },
    FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader: function(initialFractions, headers, totalHeight) {
      var totalHeaderHeight, _i, intendedContentHeight, t1, intendedChildHeights, i;
      for (totalHeaderHeight = 0, _i = 0; _i < 3; ++_i)
        totalHeaderHeight += headers[_i].get$preferredSize()._dy;
      intendedContentHeight = totalHeight - totalHeaderHeight;
      t1 = type$.legacy_double;
      intendedChildHeights = J.JSArray_JSArray$allocateGrowable(3, t1);
      for (i = 0; i < 3; ++i)
        intendedChildHeights[i] = intendedContentHeight * initialFractions[i];
      return P.List_List$generate(3, new X.FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader_closure(intendedChildHeights, headers, intendedContentHeight + (headers[0].tall ? 44 : 36)), 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;
    },
    _InspectorTreeRowWidget: function _InspectorTreeRowWidget(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.inspectorTreeState = t0;
      _.row = t1;
      _.scrollControllerX = t2;
      _.viewportWidth = t3;
      _.error = t4;
      _.key = t5;
    },
    _InspectorTreeRowState: function _InspectorTreeRowState(t0, t1, t2, t3, t4) {
      var _ = this;
      _.CollapsibleAnimationMixin_expandController = t0;
      _.CollapsibleAnimationMixin_expandArrowAnimation = t1;
      _.CollapsibleAnimationMixin_expandCurve = t2;
      _.TickerProviderStateMixin__tickers = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._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;
    },
    InspectorTreeControllerFlutter: function InspectorTreeControllerFlutter(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._clients = t0;
      _._maxIndent = null;
      _.InspectorTreeController__root = t1;
      _.InspectorTreeController_subtreeRoot = t2;
      _.InspectorTreeController__selection = t3;
      _.InspectorTreeController__config = t4;
      _.InspectorTreeController__hover = t5;
      _.InspectorTreeController_lastContentWidth = t6;
      _.InspectorTreeController_cachedRows = t7;
      _.InspectorTreeController_currentHoverDiagnostic = t8;
    },
    InspectorTree: function InspectorTree(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.isSummaryTree = t1;
      _.widgetErrors = t2;
      _.key = t3;
    },
    _InspectorTreeState: function _InspectorTreeState(t0, t1, t2, t3) {
      var _ = this;
      _._inspector_tree_flutter$_focusNode = _.constraintDisplayController = _.currentAnimateTarget = _.currentAnimateY = _._scrollControllerX = _._scrollControllerY = null;
      _.AutoDisposeMixin__delegate = t0;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t1;
      _.SingleTickerProviderStateMixin__ticker = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _InspectorTreeState_onChanged_closure: function _InspectorTreeState_onChanged_closure() {
    },
    _InspectorTreeState_build_closure: function _InspectorTreeState_build_closure(t0) {
      this.$this = t0;
    },
    _InspectorTreeState_build__closure: function _InspectorTreeState_build__closure(t0, t1) {
      this.$this = t0;
      this.viewportWidth = t1;
    },
    _RowPainter: function _RowPainter(t0, t1, t2, t3) {
      var _ = this;
      _._inspector_tree_flutter$_controller = t0;
      _.row = t1;
      _.colorScheme = t2;
      _._repaint = t3;
    },
    InspectorRowContent: function InspectorRowContent(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.row = t0;
      _.controller = t1;
      _.onToggle = t2;
      _.expandArrowAnimation = t3;
      _.scrollControllerX = t4;
      _.viewportWidth = t5;
      _.error = t6;
      _.key = t7;
    },
    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;
    },
    _InspectorTreeControllerFlutter_Object_InspectorTreeController: function _InspectorTreeControllerFlutter_Object_InspectorTreeController() {
    },
    _InspectorTreeControllerFlutter_Object_InspectorTreeController_InspectorTreeFixedRowHeightController: function _InspectorTreeControllerFlutter_Object_InspectorTreeController_InspectorTreeFixedRowHeightController() {
    },
    __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() {
    },
    OverflowIndicatorPainter: function OverflowIndicatorPainter(t0, t1, t2) {
      this.side = t0;
      this.size = t1;
      this._repaint = t2;
    },
    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;
    },
    LibraryClass$: function(libraryName, className) {
      return new X.LibraryClass(libraryName, className);
    },
    monitorClass: function(classId, className, message) {
      if (classId != null) {
        if ($._monitorClasses.containsKey$1(0, classId)) {
          P.print("STOP: class " + H.S($._monitorClasses.$index(0, classId)) + " [classId=" + H.S(classId) + "]  " + message);
          return true;
        }
      } else if (className != null) {
        if ($._monitorClasses.containsValue$1(0, className)) {
          P.print("STOP: class " + className + "  " + message);
          return true;
        }
      } else
        P.print("WARNING: Missing classId or className to monitor.");
      return false;
    },
    convertHeapGraph: function(controller, graph, classNamesToMonitor) {
      var t2, i, c, t3, libraryClass, elements, o, converted, classId, snapshotExternals, externals, index, snapshotObject, _null = null,
        builtInClasses = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_LibraryClass, type$.legacy_int),
        t1 = graph._classes,
        classes = P.List_List$filled(t1.length, _null, false, type$.legacy_HeapGraphClassLive);
      for (t2 = type$.JSArray_legacy_HeapGraphElementLive, i = 0; i < t1.length; ++i) {
        c = t1[i];
        t3 = c.__HeapSnapshotClass__libraryUri;
        libraryClass = new X.LibraryClass(H.S(t3 === $ ? H.throwExpression(H.LateError$fieldNI("_libraryUri")) : t3), c._snapshot_graph$_name);
        if ($.$get$predefinedClasses().containsKey$1(0, libraryClass))
          builtInClasses.putIfAbsent$2(0, libraryClass, new X.convertHeapGraph_closure(i));
        classes[i] = new X.HeapGraphClassLive(c, H._setArrayType([], t2));
      }
      t1 = graph._objects;
      elements = P.List_List$filled(t1.length, _null, false, type$.legacy_HeapGraphElementLive);
      for (t2 = t1.length, i = 0; i < t2; ++i)
        elements[i] = new X.HeapGraphElementLive(t1[i]);
      for (i = 0; i < t1.length; ++i) {
        o = t1[i];
        converted = elements[i];
        classId = o._classId;
        if (classId === 0)
          converted.theClass = $.$get$HeapGraph_classSentinel();
        else {
          classId = controller.newSnapshotSemantics ? classId : classId - 1;
          X.monitorClass(classId, _null, "");
          converted.theClass = classes[classId];
        }
        converted.referencesFiller = new X.convertHeapGraph_closure0(o, elements, controller, converted);
      }
      snapshotExternals = graph._externalProperties;
      externals = P.List_List$filled(snapshotExternals.length, _null, false, type$.legacy_HeapGraphExternalLive);
      for (t1 = snapshotExternals.length, index = 0; index < t1; ++index) {
        snapshotObject = snapshotExternals[index];
        externals[index] = new X.HeapGraphExternalLive(snapshotObject, elements[snapshotObject.object]);
      }
      t1 = type$.legacy_String;
      t2 = type$.legacy_Set_legacy_HeapGraphClassLive;
      t3 = type$.legacy_Set_legacy_HeapGraphElementLive;
      return new X.HeapGraph(controller, builtInClasses, classes, elements, externals, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), P.LinkedHashMap_LinkedHashMap$_empty(t1, t3), P.LinkedHashMap_LinkedHashMap$_empty(t1, t3), P.LinkedHashMap_LinkedHashMap$_empty(t1, t3), P.LinkedHashMap_LinkedHashMap$_empty(t1, t2));
    },
    LibraryClass: function LibraryClass(t0, t1) {
      this.libraryName = t0;
      this.className = t1;
    },
    Predefined: function Predefined(t0, t1) {
      this.prettyName = t0;
      this.isScalar = t1;
    },
    convertHeapGraph_closure: function convertHeapGraph_closure(t0) {
      this.i = t0;
    },
    convertHeapGraph_closure0: function convertHeapGraph_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.o = t0;
      _.elements = t1;
      _.controller = t2;
      _.converted = t3;
    },
    HeapGraph: function HeapGraph(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.controller = 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;
    },
    LegacyTimelineEventProcessor: function LegacyTimelineEventProcessor(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.timelineController = t0;
      _._timeline_event_processor0$_progressNotifier = t1;
      _._timeline_event_processor0$_traceEventsProcessed = 0;
      _._timeline_event_processor0$_asyncEventsById = t2;
      _.currentDurationEventNodes = t3;
      _._timeline_event_processor0$_previousDurationEndEvents = t4;
      _.pendingFrames = t5;
      _.rasterThreadId = _.uiThreadId = _._timeline_event_processor0$_pendingRootCompleteEvent = null;
    },
    LegacyTimelineEventProcessor_processTimeline_closure: function LegacyTimelineEventProcessor_processTimeline_closure(t0) {
      this._box_0 = t0;
    },
    LegacyTimelineEventProcessor_processTimeline_closure0: function LegacyTimelineEventProcessor_processTimeline_closure0() {
    },
    LegacyTimelineEventProcessor_processTimeline_closure1: function LegacyTimelineEventProcessor_processTimeline_closure1() {
    },
    LegacyTimelineEventProcessor_processTimeline_closure2: function LegacyTimelineEventProcessor_processTimeline_closure2() {
    },
    LegacyTimelineEventProcessor__handleDurationCompleteEvent_closure: function LegacyTimelineEventProcessor__handleDurationCompleteEvent_closure(t0) {
      this.timelineEvent = t0;
    },
    LegacyTimelineEventProcessor__maybeAddFlutterFrameEvent_closure: function LegacyTimelineEventProcessor__maybeAddFlutterFrameEvent_closure() {
    },
    LegacyTimelineEventProcessor__maybeAddFlutterFrameEvent_closure0: function LegacyTimelineEventProcessor__maybeAddFlutterFrameEvent_closure0() {
    },
    LegacyTimelineEventProcessor__frameFromEvent_closure: function LegacyTimelineEventProcessor__frameFromEvent_closure(t0) {
      this.id = t0;
    },
    TimelineEventProcessor: function TimelineEventProcessor(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.timelineController = t0;
      _._timeline_event_processor$_progressNotifier = t1;
      _._traceEventsProcessed = 0;
      _._asyncEventsById = t2;
      _.currentDurationEventNodes = t3;
      _._previousDurationEndEvents = t4;
      _.pendingFrames = t5;
      _.rasterThreadId = _.uiThreadId = _._pendingRootCompleteEvent = null;
    },
    TimelineEventProcessor_processTimeline_closure: function TimelineEventProcessor_processTimeline_closure(t0) {
      this._box_0 = t0;
    },
    TimelineEventProcessor_processTimeline_closure0: function TimelineEventProcessor_processTimeline_closure0() {
    },
    TimelineEventProcessor_processTimeline_closure1: function TimelineEventProcessor_processTimeline_closure1() {
    },
    TimelineEventProcessor_processTimeline_closure2: function TimelineEventProcessor_processTimeline_closure2() {
    },
    TimelineEventProcessor__handleDurationCompleteEvent_closure: function TimelineEventProcessor__handleDurationCompleteEvent_closure(t0) {
      this.timelineEvent = t0;
    },
    TimelineEventProcessor__maybeAddFlutterFrameEvent_closure: function TimelineEventProcessor__maybeAddFlutterFrameEvent_closure() {
    },
    TimelineEventProcessor__maybeAddFlutterFrameEvent_closure0: function TimelineEventProcessor__maybeAddFlutterFrameEvent_closure0() {
    },
    TimelineEventProcessor__frameFromEvent_closure: function TimelineEventProcessor__frameFromEvent_closure(t0) {
      this.id = t0;
    },
    ProfilerScreen: function ProfilerScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.screenId = t0;
      _.title = t1;
      _.icon = t2;
      _.tabKey = t3;
      _.requiresLibrary = t4;
      _.requiresDartVm = t5;
      _.requiresDebugBuild = t6;
      _.requiresVmDeveloperMode = t7;
      _.worksOffline = t8;
      _.shouldShowForFlutterVersion = t9;
    },
    ProfilerScreenBody: function ProfilerScreenBody(t0) {
      this.key = t0;
    },
    _ProfilerScreenBodyState: function _ProfilerScreenBodyState(t0, t1, t2) {
      var _ = this;
      _.controller = null;
      _.processing = _.recording = false;
      _.processingProgress = 0;
      _.OfflineScreenMixin__loadingOfflineData = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._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) {
      this.$this = t0;
      this.controller = t1;
    },
    ProfilerScreenControls: function ProfilerScreenControls(t0, t1, t2) {
      this.controller = t0;
      this.recording = t1;
      this.key = t2;
    },
    _PrimaryControls: function _PrimaryControls(t0, t1, t2) {
      this.controller = t0;
      this.recording = t1;
      this.key = t2;
    },
    _SecondaryControls: function _SecondaryControls(t0, t1, t2) {
      this.controller = t0;
      this.recording = t1;
      this.key = t2;
    },
    _SecondaryControls_build_closure: function _SecondaryControls_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    __ProfilerScreenBodyState_State_AutoDisposeMixin: function __ProfilerScreenBodyState_State_AutoDisposeMixin() {
    },
    __ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin: function __ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin() {
    },
    _$identity: function(value) {
      return value;
    },
    __$InstancePathFromInstanceIdCopyWithImpl$: function(_value, _then, $$Res) {
      return new X.__$InstancePathFromInstanceIdCopyWithImpl(_value, new X.__$InstancePathFromInstanceIdCopyWithImpl_closure(_then, $$Res), $$Res._eval$1("__$InstancePathFromInstanceIdCopyWithImpl<0>"));
    },
    __$InstancePathFromProviderIdCopyWithImpl$: function(_value, _then, $$Res) {
      return new X.__$InstancePathFromProviderIdCopyWithImpl(_value, new X.__$InstancePathFromProviderIdCopyWithImpl_closure(_then, $$Res), $$Res._eval$1("__$InstancePathFromProviderIdCopyWithImpl<0>"));
    },
    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() {
    },
    InstancePath: function InstancePath() {
    },
    _$PathToPropertyTearOff: function _$PathToPropertyTearOff() {
    },
    _$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() {
    },
    breadthFirstTraversal: function(root, action, returnCondition, $T) {
      var t2, t3, node,
        t1 = H._setArrayType([root], $T._eval$1("JSArray<0*>")),
        queue = P.ListQueue$(null, $T._eval$1("0*"));
      queue.addAll$1(0, t1);
      for (t1 = queue.get$add(queue), t2 = action != null, t3 = returnCondition != null; !queue.get$isEmpty(queue);) {
        node = queue.removeFirst$0();
        if (t3 && returnCondition.call$1(node))
          return node;
        if (t2)
          action.call$1(node);
        J.forEach$1$ax(J.get$children$x(node), t1);
      }
      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;
    },
    QueryFilter_QueryFilter$parse: function(query, args, $T) {
      var t1, t2, t3, partsBySpace, substrings, _i, part, querySeparatorIndex, value, t4, t5;
      for (t1 = args.get$values(args), t1 = t1.get$iterator(t1), t2 = type$.JSArray_legacy_String; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t3.toString;
        t3.values = H._setArrayType([], t2);
        t3.isNegative = false;
      }
      partsBySpace = query.split(" ");
      substrings = H._setArrayType([], t2);
      for (t1 = partsBySpace.length, t2 = type$.JSArray_String, _i = 0; _i < partsBySpace.length; partsBySpace.length === t1 || (0, H.throwConcurrentModificationError)(partsBySpace), ++_i) {
        part = partsBySpace[_i];
        t3 = J.getInterceptor$asx(part);
        querySeparatorIndex = t3.indexOf$1(part, ":");
        if (querySeparatorIndex !== -1) {
          value = t3.substring$1(part, querySeparatorIndex + 1);
          if (value !== "")
            for (t4 = args.get$values(args), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
              t5 = t4.get$current(t4);
              if (t5.matchesKey$1(part)) {
                t5.isNegative = t3.startsWith$1(part, "-");
                t5.values = H._setArrayType(value.split(","), t2);
              }
            }
        } else
          substrings.push(part);
      }
      return new X.QueryFilter(args, substrings, $T._eval$1("QueryFilter<0*>"));
    },
    FilterControllerMixin: function FilterControllerMixin() {
    },
    FilterDialog: function FilterDialog(t0, t1, t2, t3, t4) {
      var _ = this;
      _.controller = t0;
      _.onApplyFilter = t1;
      _.queryInstructions = t2;
      _.key = t3;
      _.$ti = t4;
    },
    _FilterDialogState: function _FilterDialogState(t0) {
      var _ = this;
      _._widget = _.queryTextFieldController = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _FilterDialogState_build_closure: function _FilterDialogState_build_closure(t0) {
      this.$this = t0;
    },
    QueryFilter: function QueryFilter(t0, t1, t2) {
      this.filterArguments = t0;
      this.substrings = t1;
      this.$ti = t2;
    },
    FilterArgument: function FilterArgument(t0, t1) {
      this.keys = t0;
      this.values = t1;
      this.isNegative = false;
    },
    AnimationStatus: function AnimationStatus(t0, t1) {
      this.index = t0;
      this._animation$_name = t1;
    },
    Animation0: function Animation0() {
    },
    BottomSheetThemeData_lerp: function(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t1 ? _null : a.backgroundColor;
      t3 = b == null;
      t2 = P.Color_lerp(t2, t3 ? _null : b.backgroundColor, t);
      t4 = t1 ? _null : a.elevation;
      t4 = P.lerpDouble(t4, t3 ? _null : b.elevation, t);
      t5 = t1 ? _null : a.modalBackgroundColor;
      t5 = P.Color_lerp(t5, t3 ? _null : b.modalBackgroundColor, t);
      t6 = t1 ? _null : a.modalElevation;
      t6 = P.lerpDouble(t6, t3 ? _null : b.modalElevation, t);
      t7 = t1 ? _null : a.shape;
      t7 = Y.ShapeBorder_lerp(t7, t3 ? _null : b.shape, t);
      if (t < 0.5)
        t8 = t1 ? _null : a.clipBehavior;
      else
        t8 = t3 ? _null : b.clipBehavior;
      t1 = t1 ? _null : a.constraints;
      return new X.BottomSheetThemeData(t2, t4, t5, t6, t7, t8, S.BoxConstraints_lerp(t1, t3 ? _null : 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() {
    },
    ScrollbarThemeData__lerpProperties: function(a, b, t, lerpFunction, $T) {
      if (a == null && b == null)
        return null;
      return new X._LerpProperties4(a, b, t, lerpFunction, $T._eval$1("_LerpProperties4<0>"));
    },
    ScrollbarThemeData: function ScrollbarThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.thickness = t0;
      _.showTrackOnHover = t1;
      _.isAlwaysShown = t2;
      _.interactive = t3;
      _.radius = t4;
      _.thumbColor = t5;
      _.trackColor = t6;
      _.trackBorderColor = t7;
      _.crossAxisMargin = t8;
      _.mainAxisMargin = t9;
      _.minThumbLength = t10;
    },
    _LerpProperties4: function _LerpProperties4(t0, t1, t2, t3, t4) {
      var _ = this;
      _.a = t0;
      _.b = t1;
      _.t = t2;
      _.lerpFunction = t3;
      _.$ti = t4;
    },
    _ScrollbarThemeData_Object_Diagnosticable: function _ScrollbarThemeData_Object_Diagnosticable() {
    },
    ThemeData_ThemeData: function(brightness, unselectedWidgetColor) {
      var _brightness, isDark, visualDensity, t1, primaryColor, primaryColorBrightness, primaryColorLight, primaryColorDark, primaryIsDark, toggleableActiveColor, accentColor, accentColorBrightness, accentIsDark, canvasColor, bottomAppBarColor, cardColor, dividerColor, primaryIsDark0, t2, t3, t4, t5, t6, t7, colorScheme, selectedRowColor, secondaryHeaderColor, textSelectionColor, textSelectionHandleColor, backgroundColor, dialogBackgroundColor, indicatorColor, hintColor, errorColor, primaryIconTheme, accentIconTheme, iconTheme, platform, typography, defaultTextTheme, defaultPrimaryTextTheme, defaultAccentTextTheme, textTheme, primaryTextTheme, accentTextTheme, materialTapTargetSize, buttonColor, focusColor, hoverColor, buttonTheme, disabledColor, highlightColor, splashColor, chipTheme, _null = null;
      if (brightness == null)
        _brightness = _null;
      else
        _brightness = brightness;
      if (_brightness == null)
        _brightness = C.Brightness_1;
      isDark = _brightness === C.Brightness_0;
      visualDensity = X.VisualDensity_adaptivePlatformDensity();
      if (isDark) {
        t1 = C.Map_HFpTk.$index(0, 900);
        t1.toString;
        primaryColor = t1;
      } else
        primaryColor = C.MaterialColor_Map_JNwaj_4280391411;
      primaryColorBrightness = X.ThemeData_estimateBrightnessForColor(primaryColor);
      if (isDark) {
        t1 = C.Map_HFpTk.$index(0, 500);
        t1.toString;
        primaryColorLight = t1;
      } else {
        t1 = C.Map_JNwaj.$index(0, 100);
        t1.toString;
        primaryColorLight = t1;
      }
      if (isDark)
        primaryColorDark = C.Color_4278190080;
      else {
        t1 = C.Map_JNwaj.$index(0, 700);
        t1.toString;
        primaryColorDark = t1;
      }
      primaryIsDark = primaryColorBrightness === C.Brightness_0;
      if (isDark) {
        t1 = C.Map_iTYZn.$index(0, 200);
        t1.toString;
        toggleableActiveColor = t1;
      } else {
        t1 = C.Map_JNwaj.$index(0, 600);
        t1.toString;
        toggleableActiveColor = t1;
      }
      if (isDark) {
        t1 = C.Map_iTYZn.$index(0, 200);
        t1.toString;
        accentColor = t1;
      } else {
        t1 = C.Map_JNwaj.$index(0, 500);
        t1.toString;
        accentColor = t1;
      }
      accentColorBrightness = X.ThemeData_estimateBrightnessForColor(accentColor);
      accentIsDark = accentColorBrightness === C.Brightness_0;
      if (isDark) {
        t1 = C.Map_HFpTk.$index(0, 850);
        t1.toString;
        canvasColor = t1;
      } else {
        t1 = C.Map_HFpTk.$index(0, 50);
        t1.toString;
        canvasColor = t1;
      }
      if (isDark) {
        t1 = C.Map_HFpTk.$index(0, 800);
        t1.toString;
        bottomAppBarColor = t1;
      } else
        bottomAppBarColor = C.Color_4294967295;
      if (isDark) {
        t1 = C.Map_HFpTk.$index(0, 800);
        t1.toString;
        cardColor = t1;
      } else
        cardColor = C.Color_4294967295;
      dividerColor = isDark ? C.Color_536870911 : C.Color_520093696;
      primaryIsDark0 = X.ThemeData_estimateBrightnessForColor(C.MaterialColor_Map_JNwaj_4280391411) === C.Brightness_0;
      t1 = X.ThemeData_estimateBrightnessForColor(accentColor);
      if (isDark) {
        t2 = C.Map_iTYZn.$index(0, 700);
        t2.toString;
      } else {
        t2 = C.Map_JNwaj.$index(0, 700);
        t2.toString;
      }
      if (isDark) {
        t3 = C.Map_HFpTk.$index(0, 700);
        t3.toString;
      } else {
        t3 = C.Map_JNwaj.$index(0, 200);
        t3.toString;
      }
      t4 = C.Map_JNc9P.$index(0, 700);
      t4.toString;
      t5 = primaryIsDark0 ? C.Color_4294967295 : C.Color_4278190080;
      t1 = t1 === C.Brightness_0 ? C.Color_4294967295 : C.Color_4278190080;
      t6 = isDark ? C.Color_4294967295 : C.Color_4278190080;
      t7 = primaryIsDark0 ? C.Color_4294967295 : C.Color_4278190080;
      colorScheme = new A.ColorScheme(C.MaterialColor_Map_JNwaj_4280391411, primaryColorDark, accentColor, t2, cardColor, t3, t4, t5, t1, t6, t7, isDark ? C.Color_4278190080 : C.Color_4294967295, _brightness);
      t1 = C.Map_HFpTk.$index(0, 100);
      t1.toString;
      selectedRowColor = t1;
      if (unselectedWidgetColor == null)
        unselectedWidgetColor = isDark ? C.Color_3019898879 : C.Color_2315255808;
      if (isDark) {
        t1 = C.Map_HFpTk.$index(0, 700);
        t1.toString;
        secondaryHeaderColor = t1;
      } else {
        t1 = C.Map_JNwaj.$index(0, 50);
        t1.toString;
        secondaryHeaderColor = t1;
      }
      if (isDark)
        textSelectionColor = accentColor;
      else {
        t1 = C.Map_JNwaj.$index(0, 200);
        t1.toString;
        textSelectionColor = t1;
      }
      if (isDark) {
        t1 = C.Map_iTYZn.$index(0, 400);
        t1.toString;
        textSelectionHandleColor = t1;
      } else {
        t1 = C.Map_JNwaj.$index(0, 300);
        t1.toString;
        textSelectionHandleColor = t1;
      }
      if (isDark) {
        t1 = C.Map_HFpTk.$index(0, 700);
        t1.toString;
        backgroundColor = t1;
      } else {
        t1 = C.Map_JNwaj.$index(0, 200);
        t1.toString;
        backgroundColor = t1;
      }
      if (isDark) {
        t1 = C.Map_HFpTk.$index(0, 800);
        t1.toString;
        dialogBackgroundColor = t1;
      } else
        dialogBackgroundColor = C.Color_4294967295;
      indicatorColor = accentColor.$eq(0, primaryColor) ? C.Color_4294967295 : accentColor;
      hintColor = isDark ? C.Color_2583691263 : P.Color$fromARGB(153, 0, 0, 0);
      t1 = C.Map_JNc9P.$index(0, 700);
      t1.toString;
      errorColor = t1;
      primaryIconTheme = primaryIsDark ? C.IconThemeData_Color_4294967295_null_null : C.IconThemeData_Color_4278190080_null_null;
      accentIconTheme = accentIsDark ? C.IconThemeData_Color_4294967295_null_null : C.IconThemeData_Color_4278190080_null_null;
      iconTheme = isDark ? C.IconThemeData_Color_4294967295_null_null : C.IconThemeData_Color_3707764736_null_null;
      platform = U.defaultTargetPlatform();
      typography = U.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);
      accentTextTheme = defaultAccentTextTheme.merge$1(_null);
      switch (platform) {
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_2:
          materialTapTargetSize = C.MaterialTapTargetSize_0;
          break;
        case C.TargetPlatform_3:
        case C.TargetPlatform_4:
        case C.TargetPlatform_5:
          materialTapTargetSize = C.MaterialTapTargetSize_1;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      if (isDark) {
        t1 = C.Map_JNwaj.$index(0, 600);
        t1.toString;
        buttonColor = t1;
      } else {
        t1 = C.Map_HFpTk.$index(0, 300);
        t1.toString;
        buttonColor = t1;
      }
      focusColor = isDark ? P.Color$fromARGB(31, 255, 255, 255) : P.Color$fromARGB(31, 0, 0, 0);
      hoverColor = isDark ? P.Color$fromARGB(10, 255, 255, 255) : P.Color$fromARGB(10, 0, 0, 0);
      buttonTheme = M.ButtonThemeData$(false, buttonColor, colorScheme, _null, focusColor, 36, _null, hoverColor, C.ButtonBarLayoutBehavior_1, materialTapTargetSize, 88, _null, _null, _null, C.ButtonTextTheme_0);
      disabledColor = isDark ? C.Color_1660944383 : C.Color_1627389952;
      highlightColor = isDark ? C.Color_1087163596 : C.Color_1723645116;
      splashColor = isDark ? C.Color_1087163596 : C.Color_1724434632;
      if (isDark) {
        t1 = C.Map_iTYZn.$index(0, 200);
        t1.toString;
      } else
        t1 = primaryColor;
      t2 = textTheme.bodyText1;
      t2.toString;
      chipTheme = K.ChipThemeData_ChipThemeData$fromDefaults(colorScheme.brightness, t2, t1);
      return X.ThemeData$raw(accentColor, accentColorBrightness, accentIconTheme, accentTextTheme, C.AppBarTheme_unT, false, backgroundColor, C.MaterialBannerThemeData_null_null_null_null, bottomAppBarColor, C.BottomAppBarTheme_null_null_null, C.BottomNavigationBarThemeData_gg4, C.BottomSheetThemeData_OEE, C.ButtonBarThemeData_A0t, buttonColor, buttonTheme, canvasColor, cardColor, C.CardTheme_hKX, C.CheckboxThemeData_EkK, chipTheme, colorScheme, _null, C.Color_4282549748, C.DataTableThemeData_SL9, dialogBackgroundColor, C.DialogTheme_maI, disabledColor, dividerColor, C.DividerThemeData_Tnu, C.ElevatedButtonThemeData_null, errorColor, false, C.FloatingActionButtonThemeData_j4A, focusColor, highlightColor, hintColor, hoverColor, iconTheme, indicatorColor, C.C_InputDecorationTheme, materialTapTargetSize, C.NavigationRailThemeData_U06, C.OutlinedButtonThemeData_null, C.C_PageTransitionsTheme, platform, C.PopupMenuThemeData_XJe, primaryColor, primaryColorBrightness, primaryColorDark, primaryColorLight, primaryIconTheme, primaryTextTheme, C.ProgressIndicatorThemeData_Z49, C.RadioThemeData_gDe, canvasColor, C.ScrollbarThemeData_I7P, secondaryHeaderColor, selectedRowColor, C.Color_4278190080, C.SliderThemeData_Q5Z, C.SnackBarThemeData_gc6, splashColor, C.C__InkSplashFactory, C.SwitchThemeData_v9F, C.TabBarTheme_Srx, C.TextButtonThemeData_null, textSelectionColor, textSelectionHandleColor, C.TextSelectionThemeData_null_null_null, textTheme, C.TimePickerThemeData_10O, C.ToggleButtonsThemeData_UsI, toggleableActiveColor, C.TooltipThemeData_kSE, typography, unselectedWidgetColor, true, visualDensity);
    },
    ThemeData$raw: function(accentColor, accentColorBrightness, accentIconTheme, accentTextTheme, appBarTheme, applyElevationOverlayColor, backgroundColor, bannerTheme, bottomAppBarColor, bottomAppBarTheme, bottomNavigationBarTheme, bottomSheetTheme, buttonBarTheme, buttonColor, buttonTheme, canvasColor, cardColor, cardTheme, checkboxTheme, chipTheme, colorScheme, cupertinoOverrideTheme, cursorColor, dataTableTheme, dialogBackgroundColor, dialogTheme, disabledColor, dividerColor, dividerTheme, elevatedButtonTheme, errorColor, fixTextFieldOutlineLabel, floatingActionButtonTheme, focusColor, highlightColor, hintColor, hoverColor, iconTheme, indicatorColor, inputDecorationTheme, materialTapTargetSize, 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, textSelectionColor, textSelectionHandleColor, textSelectionTheme, textTheme, timePickerTheme, toggleButtonsTheme, toggleableActiveColor, tooltipTheme, typography, unselectedWidgetColor, useTextSelectionTheme, visualDensity) {
      return new X.ThemeData(visualDensity, primaryColor, primaryColorBrightness, primaryColorLight, primaryColorDark, canvasColor, shadowColor, accentColor, accentColorBrightness, scaffoldBackgroundColor, bottomAppBarColor, cardColor, dividerColor, focusColor, hoverColor, highlightColor, splashColor, splashFactory, selectedRowColor, unselectedWidgetColor, disabledColor, buttonTheme, toggleButtonsTheme, buttonColor, secondaryHeaderColor, textSelectionColor, cursorColor, textSelectionHandleColor, backgroundColor, dialogBackgroundColor, indicatorColor, hintColor, errorColor, toggleableActiveColor, textTheme, primaryTextTheme, accentTextTheme, inputDecorationTheme, iconTheme, primaryIconTheme, accentIconTheme, sliderTheme, tabBarTheme, tooltipTheme, cardTheme, chipTheme, platform, materialTapTargetSize, false, pageTransitionsTheme, appBarTheme, scrollbarTheme, bottomAppBarTheme, colorScheme, snackBarTheme, dialogTheme, floatingActionButtonTheme, navigationRailTheme, typography, cupertinoOverrideTheme, bottomSheetTheme, popupMenuTheme, bannerTheme, dividerTheme, buttonBarTheme, bottomNavigationBarTheme, timePickerTheme, textButtonTheme, elevatedButtonTheme, outlinedButtonTheme, textSelectionTheme, dataTableTheme, checkboxTheme, radioTheme, switchTheme, progressIndicatorTheme, false, true);
    },
    ThemeData_ThemeData$fallback: function() {
      return X.ThemeData_ThemeData(C.Brightness_1, null);
    },
    ThemeData_localize: function(baseTheme, localTextGeometry) {
      return $.$get$ThemeData__localizedThemeDataCache().putIfAbsent$2(0, new X._IdentityThemeDataCacheKey(baseTheme, localTextGeometry), new X.ThemeData_localize_closure(baseTheme, localTextGeometry));
    },
    ThemeData_estimateBrightnessForColor: function(color) {
      var t1 = color.computeLuminance$0() + 0.05;
      if (t1 * t1 > 0.15)
        return C.Brightness_1;
      return C.Brightness_0;
    },
    MaterialBasedCupertinoThemeData$_: function(_materialTheme, _cupertinoOverrideTheme) {
      return new X.MaterialBasedCupertinoThemeData(_materialTheme, _cupertinoOverrideTheme, C._CupertinoThemeDefaults_iF8, _cupertinoOverrideTheme.brightness, _cupertinoOverrideTheme.primaryColor, _cupertinoOverrideTheme.primaryContrastingColor, _cupertinoOverrideTheme.textTheme, _cupertinoOverrideTheme.barBackgroundColor, _cupertinoOverrideTheme.scaffoldBackgroundColor);
    },
    VisualDensity_adaptivePlatformDensity: function() {
      switch (U.defaultTargetPlatform()) {
        case C.TargetPlatform_0:
        case C.TargetPlatform_2:
        case C.TargetPlatform_1:
          break;
        case C.TargetPlatform_3:
        case C.TargetPlatform_4:
        case C.TargetPlatform_5:
          return C.VisualDensity_m2_m2;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return C.VisualDensity_0_0;
    },
    MaterialTapTargetSize: function MaterialTapTargetSize(t0, t1) {
      this.index = t0;
      this._theme_data$_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) {
      var _ = this;
      _.visualDensity = t0;
      _.primaryColor = t1;
      _.primaryColorBrightness = t2;
      _.primaryColorLight = t3;
      _.primaryColorDark = t4;
      _.canvasColor = t5;
      _.shadowColor = t6;
      _.accentColor = t7;
      _.accentColorBrightness = t8;
      _.scaffoldBackgroundColor = t9;
      _.bottomAppBarColor = t10;
      _.cardColor = t11;
      _.dividerColor = t12;
      _.focusColor = t13;
      _.hoverColor = t14;
      _.highlightColor = t15;
      _.splashColor = t16;
      _.splashFactory = t17;
      _.selectedRowColor = t18;
      _.unselectedWidgetColor = t19;
      _.disabledColor = t20;
      _.buttonTheme = t21;
      _.toggleButtonsTheme = t22;
      _.buttonColor = t23;
      _.secondaryHeaderColor = t24;
      _.textSelectionColor = t25;
      _.cursorColor = t26;
      _.textSelectionHandleColor = t27;
      _.backgroundColor = t28;
      _.dialogBackgroundColor = t29;
      _.indicatorColor = t30;
      _.hintColor = t31;
      _.errorColor = t32;
      _.toggleableActiveColor = t33;
      _.textTheme = t34;
      _.primaryTextTheme = t35;
      _.accentTextTheme = t36;
      _.inputDecorationTheme = t37;
      _.iconTheme = t38;
      _.primaryIconTheme = t39;
      _.accentIconTheme = t40;
      _.sliderTheme = t41;
      _.tabBarTheme = t42;
      _.tooltipTheme = t43;
      _.cardTheme = t44;
      _.chipTheme = t45;
      _.platform = t46;
      _.materialTapTargetSize = t47;
      _.applyElevationOverlayColor = t48;
      _.pageTransitionsTheme = t49;
      _.appBarTheme = t50;
      _.scrollbarTheme = t51;
      _.bottomAppBarTheme = t52;
      _.colorScheme = t53;
      _.snackBarTheme = t54;
      _.dialogTheme = t55;
      _.floatingActionButtonTheme = t56;
      _.navigationRailTheme = t57;
      _.typography = t58;
      _.cupertinoOverrideTheme = t59;
      _.bottomSheetTheme = t60;
      _.popupMenuTheme = t61;
      _.bannerTheme = t62;
      _.dividerTheme = t63;
      _.buttonBarTheme = t64;
      _.bottomNavigationBarTheme = t65;
      _.timePickerTheme = t66;
      _.textButtonTheme = t67;
      _.elevatedButtonTheme = t68;
      _.outlinedButtonTheme = t69;
      _.textSelectionTheme = t70;
      _.dataTableTheme = t71;
      _.checkboxTheme = t72;
      _.radioTheme = t73;
      _.switchTheme = t74;
      _.progressIndicatorTheme = t75;
      _.fixTextFieldOutlineLabel = t76;
      _.useTextSelectionTheme = t77;
    },
    ThemeData_localize_closure: function ThemeData_localize_closure(t0, t1) {
      this.baseTheme = t0;
      this.localTextGeometry = t1;
    },
    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() {
    },
    CircleBorder: function CircleBorder(t0) {
      this.side = t0;
    },
    paintImage: function(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, t7, paint, halfWidthDelta, t8, halfHeightDelta, destinationRect, sizeInfo, existingSizeInfo, needSave, dx, sourceRect;
      if (rect.get$isEmpty(rect))
        return;
      t1 = rect.right;
      t2 = rect.left;
      t1 -= t2;
      t3 = rect.bottom;
      t4 = rect.top;
      t3 -= t4;
      outputSize = new P.Size(t1, t3);
      t5 = image.get$width(image);
      t5.toString;
      t6 = image.get$height(image);
      t6.toString;
      if (fit == null)
        fit = C.BoxFit_6;
      fittedSizes = U.applyBoxFit(fit, new P.Size(t5, t6).$div(0, scale), outputSize);
      sourceSize = fittedSizes.source.$mul(0, scale);
      destinationSize = fittedSizes.destination;
      if (repeat !== C.ImageRepeat_3 && destinationSize.$eq(0, outputSize))
        repeat = C.ImageRepeat_3;
      t7 = H._detectRenderer();
      paint = t7 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$isAntiAlias(false);
      if (colorFilter != null)
        paint.set$colorFilter(colorFilter);
      paint.set$color(0, P.Color$fromRGBO(0, 0, 0, opacity));
      paint.set$filterQuality(filterQuality);
      paint.set$invertColors(invertColors);
      t7 = destinationSize._dx;
      halfWidthDelta = (t1 - t7) / 2;
      t8 = destinationSize._dy;
      halfHeightDelta = (t3 - t8) / 2;
      t3 = flipHorizontally ? -alignment.x : alignment.x;
      t3 = t2 + (halfWidthDelta + t3 * halfWidthDelta);
      t4 += halfHeightDelta + alignment.y * halfHeightDelta;
      destinationRect = new P.Rect(t3, t4, t3 + t7, t4 + t8);
      t3 = debugImageLabel == null ? "<Unknown Image(" + H.S(image.get$width(image)) + "\xd7" + H.S(image.get$height(image)) + ")>" : debugImageLabel;
      t4 = image.get$width(image);
      t4.toString;
      t7 = image.get$height(image);
      t7.toString;
      sizeInfo = new E.ImageSizeInfo(t3, outputSize, new P.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(outputSize))
          $._pendingImageSizeInfo.$indexSet(0, t3, sizeInfo);
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new X.paintImage_closure());
      }
      needSave = repeat !== C.ImageRepeat_3 || flipHorizontally;
      if (needSave)
        canvas.save$0(0);
      t3 = repeat === C.ImageRepeat_3;
      if (!t3)
        canvas.clipRect$1(0, rect);
      if (flipHorizontally) {
        dx = -(t2 + t1 / 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 P.Rect(0, 0, t5, t6));
      if (t3)
        canvas.drawImageRect$4(image, sourceRect, destinationRect, paint);
      else
        for (t1 = X._generateImageTileRects(rect, destinationRect, repeat), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();)
          canvas.drawImageRect$4(image, sourceRect, t1.get$current(t1), paint);
      if (needSave)
        canvas.restore$0(0);
    },
    _generateImageTileRects: function($async$outputRect, $async$fundamentalRect, $async$repeat) {
      return P._makeSyncStarIterable(function() {
        var outputRect = $async$outputRect,
          fundamentalRect = $async$fundamentalRect,
          repeat = $async$repeat;
        var $async$goto = 0, $async$handler = 1, $async$currentError, startX, stopX, startY, stopY, i, j, t1, t2, strideX, t3, t4, strideY, t5;
        return function $async$_generateImageTileRects($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 = fundamentalRect.right;
                t2 = fundamentalRect.left;
                strideX = t1 - t2;
                t3 = fundamentalRect.bottom;
                t4 = fundamentalRect.top;
                strideY = t3 - t4;
                t5 = repeat !== C.ImageRepeat_0;
                if (!t5 || repeat === C.ImageRepeat_1) {
                  startX = C.JSNumber_methods.floor$0((outputRect.left - t2) / strideX);
                  stopX = C.JSNumber_methods.ceil$0((outputRect.right - t1) / strideX);
                } else {
                  startX = 0;
                  stopX = 0;
                }
                if (!t5 || repeat === C.ImageRepeat_2) {
                  startY = C.JSNumber_methods.floor$0((outputRect.top - t4) / strideY);
                  stopY = C.JSNumber_methods.ceil$0((outputRect.bottom - t3) / strideY);
                } else {
                  startY = 0;
                  stopY = 0;
                }
                i = startX;
              case 2:
                // for condition
                if (!(i <= stopX)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                t1 = i * strideX, j = startY;
              case 5:
                // for condition
                if (!(j <= stopY)) {
                  // goto after for
                  $async$goto = 7;
                  break;
                }
                $async$goto = 8;
                return fundamentalRect.shift$1(new P.Offset(t1, j * strideY));
              case 8:
                // after yield
              case 6:
                // for update
                ++j;
                // goto for condition
                $async$goto = 5;
                break;
              case 7:
                // after for
              case 3:
                // for update
                ++i;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.Rect);
    },
    ImageRepeat: function ImageRepeat(t0, t1) {
      this.index = t0;
      this._decoration_image$_name = t1;
    },
    DecorationImage: function DecorationImage(t0, t1) {
      this.image = t0;
      this.onError = t1;
    },
    DecorationImagePainter: function DecorationImagePainter(t0, t1) {
      var _ = this;
      _._details = t0;
      _._onChanged = t1;
      _._decoration_image$_image = _._imageStream = null;
    },
    paintImage_closure: function paintImage_closure() {
    },
    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;
    },
    RenderSliverFixedExtentBoxAdaptor: function RenderSliverFixedExtentBoxAdaptor() {
    },
    RenderSliverFixedExtentList: function RenderSliverFixedExtentList(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._itemExtent = t0;
      _._childManager = t1;
      _._keepAliveBucket = t2;
      _.__RenderSliverMultiBoxAdaptor__debugDanglingKeepAlives = $;
      _._debugChildIntegrityEnabled = true;
      _.ContainerRenderObjectMixin__childCount = t3;
      _.ContainerRenderObjectMixin__firstChild = t4;
      _.ContainerRenderObjectMixin__lastChild = t5;
      _.debugCreator = _.parentData = _._sliver$_geometry = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    SystemChrome_setApplicationSwitcherDescription: function(description) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$SystemChrome_setApplicationSwitcherDescription = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(C.OptionalMethodChannel_cWd.invokeMethod$1$2(string$.System, P.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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$SystemChrome_setApplicationSwitcherDescription, $async$completer);
    },
    SystemChrome_setSystemUIOverlayStyle: function(style) {
      if ($.SystemChrome__pendingStyle != null) {
        $.SystemChrome__pendingStyle = style;
        return;
      }
      if (style.$eq(0, $.SystemChrome__latestStyle))
        return;
      $.SystemChrome__pendingStyle = style;
      P.scheduleMicrotask(new X.SystemChrome_setSystemUIOverlayStyle_closure());
    },
    ApplicationSwitcherDescription: function ApplicationSwitcherDescription(t0, t1) {
      this.label = t0;
      this.primaryColor = t1;
    },
    SystemUiOverlayStyle: function SystemUiOverlayStyle(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.systemNavigationBarColor = t0;
      _.systemNavigationBarDividerColor = t1;
      _.systemNavigationBarIconBrightness = t2;
      _.statusBarColor = t3;
      _.statusBarBrightness = t4;
      _.statusBarIconBrightness = t5;
    },
    SystemChrome_setSystemUIOverlayStyle_closure: function SystemChrome_setSystemUIOverlayStyle_closure() {
    },
    TextSelection$: function(affinity, baseOffset, extentOffset, isDirectional) {
      var t1 = baseOffset < extentOffset,
        t2 = t1 ? extentOffset : baseOffset;
      return new X.TextSelection(baseOffset, extentOffset, affinity, isDirectional, t1 ? baseOffset : extentOffset, t2);
    },
    TextSelection$collapsed: function(affinity, offset) {
      return new X.TextSelection(offset, offset, affinity, false, offset, offset);
    },
    TextSelection$fromPosition: function(position) {
      var t1 = position.offset;
      return new X.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;
    },
    AnnotatedRegion: function AnnotatedRegion(t0, t1, t2, t3) {
      var _ = this;
      _.value = t0;
      _.child = t1;
      _.key = t2;
      _.$ti = t3;
    },
    IconData: function IconData(t0, t1, t2) {
      this.codePoint = t0;
      this.fontFamily = t1;
      this.matchTextDirection = t2;
    },
    ModalBarrier: function ModalBarrier(t0, t1, t2, t3, t4) {
      var _ = this;
      _.color = t0;
      _.dismissible = t1;
      _.barrierSemanticsDismissible = t2;
      _.semanticsLabel = t3;
      _.key = t4;
    },
    ModalBarrier_build_handleDismiss: function ModalBarrier_build_handleDismiss(t0) {
      this.context = t0;
    },
    ModalBarrier_build_closure: function ModalBarrier_build_closure(t0, t1) {
      this.$this = t0;
      this.handleDismiss = 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;
      _._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;
    },
    OverlayEntry$: function(builder, maintainState, opaque) {
      return new X.OverlayEntry(builder, opaque, maintainState, new N.LabeledGlobalKey(null, type$.LabeledGlobalKey__OverlayEntryWidgetState), P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    OverlayEntry: function OverlayEntry(t0, t1, t2, t3, t4) {
      var _ = this;
      _.builder = t0;
      _._opaque = t1;
      _._maintainState = t2;
      _._overlay$_mounted = false;
      _._overlay = null;
      _._key = t3;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t4;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = 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) {
      var _ = this;
      _._overlay$_entries = t0;
      _.TickerProviderStateMixin__tickers = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._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, t3, t4) {
      var _ = this;
      _.__MultiChildRenderObjectElement__children = $;
      _._forgottenChildren = t0;
      _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _RenderTheatre: function _RenderTheatre(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._overlay$_hasVisualOverflow = false;
      _._overlay$_resolvedAlignment = null;
      _._overlay$_textDirection = t0;
      _._overlay$_skipCount = t1;
      _._overlay$_clipBehavior = t2;
      _._overlay$_clipRectLayer = null;
      _.ContainerRenderObjectMixin__childCount = t3;
      _.ContainerRenderObjectMixin__firstChild = t4;
      _.ContainerRenderObjectMixin__lastChild = t5;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_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() {
    },
    KeySet__computeHashCode: function(keys) {
      var h1, h2, sortedHashes,
        $length = keys._collection$_length,
        iterator = new P._HashSetIterator(keys, keys._computeElements$0(), H._instanceType(keys)._eval$1("_HashSetIterator<1>"));
      iterator.moveNext$0();
      h1 = J.get$hashCode$(iterator._collection$_current);
      if ($length === 1)
        return h1;
      iterator.moveNext$0();
      h2 = J.get$hashCode$(iterator._collection$_current);
      if ($length === 2)
        return h1 < h2 ? P.hashValues(h1, h2, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd) : P.hashValues(h2, h1, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
      sortedHashes = $length === 3 ? $.KeySet__tempHashStore3 : $.KeySet__tempHashStore4;
      sortedHashes[0] = h1;
      sortedHashes[1] = h2;
      iterator.moveNext$0();
      sortedHashes[2] = J.get$hashCode$(iterator._collection$_current);
      if ($length === 4) {
        iterator.moveNext$0();
        sortedHashes[3] = J.get$hashCode$(iterator._collection$_current);
      }
      C.JSArray_methods.sort$0(sortedHashes);
      return P.hashList(sortedHashes);
    },
    LogicalKeySet$: function(key1, key2) {
      var t1 = type$.LogicalKeyboardKey,
        t2 = P.HashSet_HashSet(t1);
      t2.add$1(0, key1);
      t2 = new X.LogicalKeySet(t2);
      t2.KeySet$4(key1, key2, null, null, {}, t1);
      return t2;
    },
    ShortcutManager$: function() {
      return new X.ShortcutManager(C.Map_empty1, P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    ShortcutManager__indexShortcuts: function(source) {
      var result = P.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_LogicalKeyboardKey, type$.List__ActivatorIntentPair);
      source.forEach$1(0, new X.ShortcutManager__indexShortcuts_closure(result));
      return result;
    },
    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) {
      var _ = this;
      _.shortcuts = t0;
      _.child = t1;
      _.debugLabel = t2;
      _.key = t3;
    },
    _ShortcutsState: function _ShortcutsState(t0) {
      var _ = this;
      _._widget = _._internalManager = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _ShortcutsMarker: function _ShortcutsMarker(t0, t1, t2) {
      this.notifier = t0;
      this.child = t1;
      this.key = t2;
    },
    _LogicalKeySet_KeySet_Diagnosticable: function _LogicalKeySet_KeySet_Diagnosticable() {
    },
    _ShortcutManager_ChangeNotifier_Diagnosticable: function _ShortcutManager_ChangeNotifier_Diagnosticable() {
    },
    _SingleActivator_Object_Diagnosticable: function _SingleActivator_Object_Diagnosticable() {
    },
    __ActivatorIntentPair_Object_Diagnosticable: function __ActivatorIntentPair_Object_Diagnosticable() {
    },
    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;
    },
    IcoInfo__read: function(input) {
      var type, imageCount;
      if (input.readUint16$0() !== 0)
        return null;
      type = input.readUint16$0();
      if (!C.JSArray_methods.contains$1(H._setArrayType([1, 2], type$.JSArray_int), type))
        return null;
      if (type === 2)
        return null;
      imageCount = input.readUint16$0();
      return new X.IcoInfo(imageCount, P.Iterable_Iterable$generate(imageCount, new X.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;
    },
    WebPFrame: function WebPFrame() {
    },
    InternalWebPFrame: function InternalWebPFrame(t0, t1) {
      var _ = this;
      _.height = t0;
      _.duration = t1;
      _._reserved = 1;
      _.__WebPFrame__frameSize = _.__WebPFrame__framePosition = $;
    },
    UninitializedLocaleData$: function(message, fallbackData, $F) {
      return new X.UninitializedLocaleData(message, fallbackData, H._setArrayType([], type$.JSArray_String), $F._eval$1("UninitializedLocaleData<0>"));
    },
    canonicalizedLocale: function(aLocale) {
      var t1, region;
      if (aLocale == null) {
        if (B.defaultLocale() == null)
          $._defaultLocale = "en_US";
        t1 = B.defaultLocale();
        t1.toString;
        return t1;
      }
      if (aLocale === "C")
        return "en_ISO";
      if (aLocale.length < 5)
        return aLocale;
      t1 = aLocale[2];
      if (t1 !== "-" && t1 !== "_")
        return aLocale;
      region = C.JSString_methods.substring$1(aLocale, 3);
      if (region.length <= 3)
        region = region.toUpperCase();
      return aLocale[0] + aLocale[1] + "_" + region;
    },
    verifiedLocale: function(newLocale, localeExists, onFailure) {
      var t1, _i, each;
      if (newLocale == null) {
        if (B.defaultLocale() == null)
          $._defaultLocale = "en_US";
        t1 = B.defaultLocale();
        t1.toString;
        return X.verifiedLocale(t1, localeExists, onFailure);
      }
      if (localeExists.call$1(newLocale))
        return newLocale;
      for (t1 = [X.canonicalizedLocale(newLocale), X.shortLocale(newLocale), "fallback"], _i = 0; _i < 3; ++_i) {
        each = t1[_i];
        if (localeExists.call$1(each))
          return each;
      }
      return X._throwLocaleError(newLocale);
    },
    _throwLocaleError: function(localeName) {
      throw H.wrapException(P.ArgumentError$('Invalid locale "' + localeName + '"'));
    },
    shortLocale: function(aLocale) {
      if (aLocale.length < 2)
        return aLocale;
      return C.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;
    },
    ParsedPath_ParsedPath$parse: function(path, style) {
      var t1, parts, separators, start, i,
        root = style.getRoot$1(path),
        isRootRelative = style.isRootRelative$1(path);
      if (root != null)
        path = J.substring$1$s(path, root.length);
      t1 = type$.JSArray_String;
      parts = H._setArrayType([], t1);
      separators = H._setArrayType([], t1);
      t1 = path.length;
      if (t1 !== 0 && style.isSeparator$1(C.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(C.JSString_methods._codeUnitAt$1(path, i))) {
          parts.push(C.JSString_methods.substring$2(path, start, i));
          separators.push(path[i]);
          start = i + 1;
        }
      if (start < t1) {
        parts.push(C.JSString_methods.substring$1(path, start));
        separators.push("");
      }
      return new X.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$: function(message) {
      return new X.PathException(message);
    },
    PathException: function PathException(t0) {
      this.message = t0;
    },
    AutoDisposeProviderBuilder: function AutoDisposeProviderBuilder() {
    },
    SourceSpanWithContext$: function(start, end, text, _context) {
      var t1 = new X.SourceSpanWithContext(_context, start, end, text);
      t1.SourceSpanBase$3(start, end, text);
      if (!C.JSString_methods.contains$1(_context, text))
        H.throwExpression(P.ArgumentError$('The context line "' + _context + '" must contain "' + text + '".'));
      if (B.findLineStart(_context, text, start.get$column()) == null)
        H.throwExpression(P.ArgumentError$('The span text "' + text + '" must start at column ' + (start.get$column() + 1) + ' in a line within "' + _context + '".'));
      return t1;
    },
    SourceSpanWithContext: function SourceSpanWithContext(t0, t1, t2, t3) {
      var _ = this;
      _._span_with_context$_context = t0;
      _.start = t1;
      _.end = t2;
      _.text = t3;
    },
    StringScanner$: function(string, position, sourceUrl) {
      var t1 = new X.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;
    },
    getCrc32: function(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 = C.List_B8J[(crc ^ t1.$index(array, ip)) & 255] ^ crc >>> 8;
        ip = ip0 + 1;
        crc = C.List_B8J[(crc ^ t1.$index(array, ip0)) & 255] ^ crc >>> 8;
        ip0 = ip + 1;
        crc = C.List_B8J[(crc ^ t1.$index(array, ip)) & 255] ^ crc >>> 8;
        ip = ip0 + 1;
        crc = C.List_B8J[(crc ^ t1.$index(array, ip0)) & 255] ^ crc >>> 8;
        ip0 = ip + 1;
        crc = C.List_B8J[(crc ^ t1.$index(array, ip)) & 255] ^ crc >>> 8;
        ip = ip0 + 1;
        crc = C.List_B8J[(crc ^ t1.$index(array, ip0)) & 255] ^ crc >>> 8;
        ip0 = ip + 1;
        crc = C.List_B8J[(crc ^ t1.$index(array, ip)) & 255] ^ crc >>> 8;
        ip = ip0 + 1;
        crc = C.List_B8J[(crc ^ t1.$index(array, ip0)) & 255] ^ crc >>> 8;
        len -= 8;
      }
      if (len > 0)
        do {
          ip0 = ip + 1;
          crc = C.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;
    },
    _tryParseColor: function(input) {
      var e, t1, exception;
      try {
        if (input != null) {
          t1 = B.parseCssHexColor(input);
          return t1;
        }
      } catch (exception) {
        e = H.unwrapException(exception);
        B.log('Failed to parse "' + H.S(input) + '" as a color from the querystring, ignoring: ' + H.S(e), C.LogLevel_1);
      }
      return null;
    },
    _tryParseDouble: function(input) {
      var e, t1, exception;
      try {
        if (input != null) {
          t1 = P.double_parse(input);
          return t1;
        }
      } catch (exception) {
        e = H.unwrapException(exception);
        B.log('Failed to parse "' + H.S(input) + '" as a double from the querystring, ignoring: ' + H.S(e), C.LogLevel_1);
      }
      return null;
    },
    dimensionDescription: function(description, overflow, colorScheme) {
      var t1, text, _null = null;
      if (overflow)
        t1 = C.TextStyle_yx3.merge$1(A.TextStyle$(_null, _null, colorScheme.brightness === C.Brightness_1 ? C.Color_4292780169 : C.Color_4294280299, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.FontWeight_6, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null));
      else
        t1 = C.TextStyle_yx3;
      text = L.Text$rich(description, C.TextOverflow_2, t1, C.TextAlign_2);
      if (overflow) {
        t1 = K.BorderRadius$circular(4);
        return M.Container$(_null, T.Center$(text, _null, _null, _null), C.Clip_0, _null, _null, new S.BoxDecoration(C.Color_4289724448, _null, _null, t1, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, C.EdgeInsets_8_2_8_2, _null, _null, _null);
      }
      return text;
    },
    HapticFeedback_vibrate: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$HapticFeedback_vibrate = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(C.OptionalMethodChannel_cWd.invokeMethod$1$1("HapticFeedback.vibrate", type$.void), $async$HapticFeedback_vibrate);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$HapticFeedback_vibrate, $async$completer);
    },
    HapticFeedback_lightImpact: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$HapticFeedback_lightImpact = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(C.OptionalMethodChannel_cWd.invokeMethod$1$2("HapticFeedback.vibrate", "HapticFeedbackType.lightImpact", type$.void), $async$HapticFeedback_lightImpact);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$HapticFeedback_lightImpact, $async$completer);
    },
    HapticFeedback_mediumImpact: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$HapticFeedback_mediumImpact = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(C.OptionalMethodChannel_cWd.invokeMethod$1$2("HapticFeedback.vibrate", "HapticFeedbackType.mediumImpact", type$.void), $async$HapticFeedback_mediumImpact);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$HapticFeedback_mediumImpact, $async$completer);
    }
  },
  Y = {
    HuffmanTable$: function(lengths) {
      var t1 = new Y.HuffmanTable();
      t1.HuffmanTable$1(lengths);
      return t1;
    },
    HuffmanTable: function HuffmanTable() {
      this.__HuffmanTable_table = $;
      this.maxCodeLength = 0;
      this.minCodeLength = 2147483647;
    },
    DelegatingStreamSubscription: function DelegatingStreamSubscription() {
    },
    StreamCompleter: function StreamCompleter(t0, t1) {
      this._stream_completer$_stream = t0;
      this.$ti = t1;
    },
    _CompleterStream: function _CompleterStream(t0) {
      this._sourceStream = this._stream_completer$_controller = null;
      this.$ti = t0;
    },
    HeapPriorityQueue: function HeapPriorityQueue(t0, t1, t2) {
      var _ = this;
      _.comparison = t0;
      _._priority_queue$_queue = t1;
      _._priority_queue$_modificationCount = _._priority_queue$_length = 0;
      _.$ti = t2;
    },
    AppSizeJsonFileExtension_get_isAnalyzeSizeFile: function(_this) {
      var t1 = _this.data,
        t2 = type$.legacy_Map_of_legacy_String_and_dynamic;
      if (t2._is(t1))
        return C.JSArray_methods.contains$1(C.List_tPa, J.$index$asx(t2._as(t1), "type"));
      return false;
    },
    DiffTreeType: function DiffTreeType(t0, t1) {
      this.index = t0;
      this._app_size_controller$_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;
    },
    initializePlatform: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_String),
        $async$returnValue, t1, t2, t3, connection;
      var $async$initializePlatform = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              for (t1 = type$._FrozenElementList_legacy_Element, t2 = new W._FrozenElementList(document.body.querySelectorAll(".legacy-dart"), t1), t1 = new H.ListIterator(t2, t2.get$length(t2), t1._eval$1("ListIterator<ListMixin.E>")); t1.moveNext$0();) {
                t2 = t1.__internal$_current;
                t3 = t2.parentNode;
                if (t3 != null)
                  t3.removeChild(t2);
              }
              $async$goto = 3;
              return P._asyncAwait(L.DevToolsServerConnection_connect(), $async$initializePlatform);
            case 3:
              // returning from await.
              connection = $async$result;
              if (connection != null)
                $.globals.$indexSet(0, C.Type_Storage_uL6, new Y.ServerConnectionStorage(connection));
              else
                $.globals.$indexSet(0, C.Type_Storage_uL6, new Y.BrowserStorage());
              W._EventStreamSubscription$(window, "keydown", new Y.initializePlatform_closure(), false, type$.legacy_KeyboardEvent);
              $async$returnValue = H.S(window.location);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$initializePlatform, $async$completer);
    },
    _sendKeyPressToParent: function($event) {
      var t1, t2, data, t3;
      if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG) != null) {
        t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
        t1 = !(t1.service != null && t1.connectedApp != null);
      } else
        t1 = true;
      if (t1)
        return;
      if (!J.contains$1$asx(window.navigator.userAgent, "Electron"))
        return;
      t1 = type$.legacy_String;
      t2 = type$.legacy_Object;
      data = P.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, t2);
      t3 = W._convertNativeToDart_Window(window.parent);
      if (t3 != null)
        J.postMessage$2$x(t3, P.LinkedHashMap_LinkedHashMap$_literal(["command", "keydown", "data", data], t1, t2), "*");
    },
    initializePlatform_closure: function initializePlatform_closure() {
    },
    ServerConnectionStorage: function ServerConnectionStorage(t0) {
      this.connection = t0;
    },
    BrowserStorage: function BrowserStorage() {
    },
    DiagnosticsNodeDescription: function DiagnosticsNodeDescription(t0, t1, t2, t3) {
      var _ = this;
      _.diagnostic = t0;
      _.isSelected = t1;
      _.errorText = t2;
      _.key = t3;
    },
    DiagnosticsNodeDescription_build_radix: function DiagnosticsNodeDescription_build_radix() {
    },
    LandingScreenBody: function LandingScreenBody(t0) {
      this.key = t0;
    },
    _LandingScreenBodyState: function _LandingScreenBodyState(t0, t1, t2) {
      var _ = this;
      _.connectDialogController = null;
      _.BlockingActionMixin__actionInProgress = t0;
      _.BlockingActionMixin__disposed = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _LandingScreenBodyState__buildAppSizeInstructions_closure: function _LandingScreenBodyState__buildAppSizeInstructions_closure(t0) {
      this.$this = t0;
    },
    _LandingScreenBodyState__buildConnectInput_closure: function _LandingScreenBodyState__buildConnectInput_closure(t0) {
      this.$this = t0;
    },
    _LandingScreenBodyState__connectHelper_closure: function _LandingScreenBodyState__connectHelper_closure(t0) {
      this.notifications = t0;
    },
    __LandingScreenBodyState_State_BlockingActionMixin: function __LandingScreenBodyState_State_BlockingActionMixin() {
    },
    InstanceTreeView: function InstanceTreeView(t0) {
      this.key = t0;
    },
    InstanceTreeViewState: function InstanceTreeViewState(t0, t1, t2, t3) {
      var _ = this;
      _.controller = null;
      _.treeColumn = t0;
      _.columns = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._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() {
    },
    NetworkScreen: function NetworkScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.screenId = t0;
      _.title = t1;
      _.icon = t2;
      _.tabKey = t3;
      _.requiresLibrary = t4;
      _.requiresDartVm = t5;
      _.requiresDebugBuild = t6;
      _.requiresVmDeveloperMode = t7;
      _.worksOffline = t8;
      _.shouldShowForFlutterVersion = t9;
    },
    NetworkScreen_buildStatus_closure: function NetworkScreen_buildStatus_closure(t0, t1) {
      this.networkController = t0;
      this.color = t1;
    },
    NetworkScreen_buildStatus__closure: function NetworkScreen_buildStatus__closure(t0, t1, t2) {
      this.networkController = t0;
      this.recording = t1;
      this.color = t2;
    },
    NetworkScreen_buildStatus___closure: function NetworkScreen_buildStatus___closure(t0, t1, t2) {
      this.networkRequests = t0;
      this.recording = t1;
      this.color = t2;
    },
    NetworkScreenBody: function NetworkScreenBody(t0) {
      this.key = t0;
    },
    _NetworkScreenBodyState: function _NetworkScreenBodyState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.filteredRequests = _.requests = _._networkController = null;
      _.SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin__onSelection = t2;
      _.SearchFieldMixin__closeHandler = t3;
      _.SearchFieldMixin_arrowDown = t4;
      _.SearchFieldMixin_arrowUp = t5;
      _.SearchFieldMixin_enter = t6;
      _.SearchFieldMixin_escape = t7;
      _.SearchFieldMixin_tab = t8;
      _.SearchFieldMixin_enterMac = t9;
      _.SearchFieldMixin_tabMac = t10;
      _.AutoDisposeMixin__delegate = t11;
      _._widget = null;
      _._debugLifecycleState = t12;
      _._framework$_element = null;
    },
    _NetworkScreenBodyState_didChangeDependencies_closure: function _NetworkScreenBodyState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _NetworkScreenBodyState_didChangeDependencies__closure0: function _NetworkScreenBodyState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    _NetworkScreenBodyState_didChangeDependencies_closure0: function _NetworkScreenBodyState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    _NetworkScreenBodyState_didChangeDependencies__closure: function _NetworkScreenBodyState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _NetworkScreenBodyState__buildProfilerControls_closure: function _NetworkScreenBodyState__buildProfilerControls_closure(t0, t1) {
      this.$this = t0;
      this.hasRequests = t1;
    },
    _NetworkScreenBodyState__buildProfilerControls__closure: function _NetworkScreenBodyState__buildProfilerControls__closure(t0) {
      this.$this = t0;
    },
    _NetworkScreenBodyState__buildProfilerControls__closure0: function _NetworkScreenBodyState__buildProfilerControls__closure0(t0) {
      this.$this = t0;
    },
    _NetworkScreenBodyState__buildProfilerControls__closure1: function _NetworkScreenBodyState__buildProfilerControls__closure1(t0) {
      this.$this = t0;
    },
    _NetworkScreenBodyState__buildProfilerBody_closure: function _NetworkScreenBodyState__buildProfilerBody_closure(t0) {
      this.$this = t0;
    },
    _NetworkScreenBodyState__buildProfilerBody__closure: function _NetworkScreenBodyState__buildProfilerBody__closure(t0) {
      this.context = t0;
    },
    _NetworkScreenBodyState__showFilterDialog_closure: function _NetworkScreenBodyState__showFilterDialog_closure(t0) {
      this.$this = t0;
    },
    _NetworkScreenBodyState__showFilterDialog__closure: function _NetworkScreenBodyState__showFilterDialog__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;
    },
    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;
    },
    __NetworkScreenBodyState_State_AutoDisposeMixin: function __NetworkScreenBodyState_State_AutoDisposeMixin() {
    },
    __NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin: function __NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin() {
    },
    Notifications_of: function(context) {
      var provider = context.dependOnInheritedWidgetOfExactType$1$0(type$.legacy__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) {
      var _ = this;
      _._dismissTimer = _.curve = _.controller = null;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._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() {
    },
    LegacyPerformanceData$: function(cpuProfileData, displayRefreshRate, $frames, selectedEvent, selectedFrame, traceEvents) {
      var t1 = P.SplayTreeMap$(T.performance_utils_PerformanceUtils_eventGroupComparator$closure(), type$.legacy_String, type$.legacy_LegacyTimelineEventGroup),
        t2 = traceEvents == null ? H._setArrayType([], type$.JSArray_legacy_Map_of_legacy_String_and_dynamic) : traceEvents,
        t3 = $frames == null ? H._setArrayType([], type$.JSArray_legacy_LegacyFlutterFrame) : $frames,
        t4 = displayRefreshRate == null ? 60 : displayRefreshRate,
        t5 = H._setArrayType([], type$.JSArray_legacy_LegacyTimelineEvent);
      return new Y.LegacyPerformanceData(t5, t1, t2, selectedEvent, cpuProfileData, t4, t3, selectedFrame, new B.TimeRange(true));
    },
    LegacyOfflinePerformanceData$_: function(cpuProfileData, displayRefreshRate, $frames, selectedEvent, selectedFrame, selectedFrameId, traceEvents) {
      var t1 = P.SplayTreeMap$(T.performance_utils_PerformanceUtils_eventGroupComparator$closure(), type$.legacy_String, type$.legacy_LegacyTimelineEventGroup),
        t2 = $frames == null ? H._setArrayType([], type$.JSArray_legacy_LegacyFlutterFrame) : $frames,
        t3 = displayRefreshRate == null ? 60 : displayRefreshRate,
        t4 = H._setArrayType([], type$.JSArray_legacy_LegacyTimelineEvent);
      return new Y.LegacyOfflinePerformanceData(selectedFrameId, t4, t1, traceEvents, selectedEvent, cpuProfileData, t3, t2, selectedFrame, new B.TimeRange(true));
    },
    LegacyOfflineTimelineEvent$: function(firstTrace) {
      var t4,
        t1 = L.TraceEventWrapper$(L.TraceEvent$(firstTrace), 0),
        t2 = new B.TimeRange(true),
        t3 = H._setArrayType([t1], type$.JSArray_legacy_TraceEventWrapper);
      t1 = t1.event;
      t4 = t1._trace_event$_type;
      if (t4 == null)
        t4 = t1._trace_event$_type = C.TimelineEventType_3;
      t4 = new Y.LegacyOfflineTimelineEvent(t3, t4, t2, false, false, H._setArrayType([], type$.JSArray_legacy_LegacyTimelineEvent));
      t1 = P.Duration$(t1.timestampMicros, 0);
      t2._utils$_start = t1;
      t4.LegacyOfflineTimelineEvent$1(firstTrace);
      return t4;
    },
    LegacyFlutterFrame$: function(id) {
      var _i,
        _list = J.JSArray_JSArray$allocateGrowable(2, type$.legacy_LegacySyncTimelineEvent);
      for (_i = 0; _i < 2; ++_i)
        _list[_i] = null;
      return new Y.LegacyFlutterFrame(id, _list, new B.TimeRange(true), new B.TimeRange(false));
    },
    LegacySyncTimelineEvent$: function(firstTraceEvent) {
      var t5,
        t1 = new B.TimeRange(true),
        t2 = H._setArrayType([firstTraceEvent], type$.JSArray_legacy_TraceEventWrapper),
        t3 = firstTraceEvent.event,
        t4 = t3._trace_event$_type;
      if (t4 == null)
        t4 = t3._trace_event$_type = C.TimelineEventType_3;
      t5 = H._setArrayType([], type$.JSArray_legacy_LegacyTimelineEvent);
      t3 = P.Duration$(t3.timestampMicros, 0);
      t1._utils$_start = t3;
      return new Y.LegacySyncTimelineEvent(t2, t4, t1, false, false, t5);
    },
    LegacyPerformanceData: function LegacyPerformanceData(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;
      _._performance_model$_endTimestampMicros = -1;
    },
    LegacyPerformanceData_initializeEventGroups_closure: function LegacyPerformanceData_initializeEventGroups_closure() {
    },
    LegacyTimelineEventGroup: function LegacyTimelineEventGroup(t0, t1) {
      var _ = this;
      _.rows = t0;
      _.rowIndexForEvent = t1;
      _._performance_model$_sortedEventRoots = _.latestTimestampMicros = _.earliestTimestampMicros = null;
    },
    LegacyTimelineEventGroup_sortedEventRoots_closure: function LegacyTimelineEventGroup_sortedEventRoots_closure() {
    },
    LegacyTimelineEventGroup_sortedEventRoots_closure0: function LegacyTimelineEventGroup_sortedEventRoots_closure0() {
    },
    LegacyTimelineRowData: function LegacyTimelineRowData(t0) {
      this.events = t0;
      this.lastEvent = null;
    },
    LegacyOfflinePerformanceData: function LegacyOfflinePerformanceData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._performance_model$_selectedFrameId = t0;
      _.timelineEvents = t1;
      _.eventGroups = t2;
      _.traceEvents = t3;
      _.selectedEvent = t4;
      _.cpuProfileData = t5;
      _.displayRefreshRate = t6;
      _.frames = t7;
      _.selectedFrame = t8;
      _.time = t9;
      _._performance_model$_endTimestampMicros = -1;
    },
    LegacyOfflineTimelineEvent: function LegacyOfflineTimelineEvent(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.traceEvents = t0;
      _.type = t1;
      _.time = t2;
      _._performance_model$_lowestDisplayChildRow = 1;
      _._performance_model$_displayRows = _._performance_model$_lowestDisplayChild = null;
      _.DataSearchStateMixin_isSearchMatch = t3;
      _.DataSearchStateMixin_isActiveSearchMatch = t4;
      _.parent = null;
      _.children = t5;
      _.index = -1;
      _._trees$_depth = 0;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    LegacyOfflineTimelineEvent_closure: function LegacyOfflineTimelineEvent_closure(t0) {
      this.firstTrace = t0;
    },
    LegacyOfflineTimelineEvent_closure0: function LegacyOfflineTimelineEvent_closure0() {
    },
    LegacyFlutterFrame: function LegacyFlutterFrame(t0, t1, t2, t3) {
      var _ = this;
      _.id = t0;
      _.eventFlows = t1;
      _.time = t2;
      _.pipelineItemTime = t3;
    },
    LegacyTimelineEvent: function LegacyTimelineEvent() {
    },
    LegacyTimelineEvent__isWellFormedDeep_closure: function LegacyTimelineEvent__isWellFormedDeep_closure() {
    },
    LegacyTimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate: function LegacyTimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate() {
    },
    LegacyTimelineEvent_addChild__putChildInTree: function LegacyTimelineEvent_addChild__putChildInTree(t0) {
      this.child = t0;
    },
    LegacySyncTimelineEvent: function LegacySyncTimelineEvent(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.traceEvents = t0;
      _.type = t1;
      _.time = t2;
      _._performance_model$_lowestDisplayChildRow = 1;
      _._performance_model$_displayRows = _._performance_model$_lowestDisplayChild = null;
      _.DataSearchStateMixin_isSearchMatch = t3;
      _.DataSearchStateMixin_isActiveSearchMatch = t4;
      _.parent = null;
      _.children = t5;
      _.index = -1;
      _._trees$_depth = 0;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    LegacySyncTimelineEvent_isUiEventFlow_closure: function LegacySyncTimelineEvent_isUiEventFlow_closure() {
    },
    LegacySyncTimelineEvent_isRasterEventFlow_closure: function LegacySyncTimelineEvent_isRasterEventFlow_closure() {
    },
    LegacyAsyncTimelineEvent: function LegacyAsyncTimelineEvent(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._performance_model$_parentId = t0;
      _._performance_model$_maxEndMicros = null;
      _.traceEvents = t1;
      _.type = t2;
      _.time = t3;
      _._performance_model$_lowestDisplayChildRow = 1;
      _._performance_model$_displayRows = _._performance_model$_lowestDisplayChild = null;
      _.DataSearchStateMixin_isSearchMatch = t4;
      _.DataSearchStateMixin_isActiveSearchMatch = t5;
      _.parent = null;
      _.children = t6;
      _.index = -1;
      _._trees$_depth = 0;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    _LegacyTimelineEvent_TreeNode_DataSearchStateMixin: function _LegacyTimelineEvent_TreeNode_DataSearchStateMixin() {
    },
    _LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin: function _LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin() {
    },
    _LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin: function _LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin() {
    },
    LegacyTimelineFlameChart__calculateStartInset: function(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 P._SplayTreeKeyIterator(t1, H._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();) {
        t1 = t2.get$current(t2);
        textPainter = new U.TextPainter(new Q.TextSpan(t1, _null, _null, C.C__DeferringMouseCursor, _null, _null), C.TextAlign_4, C.TextDirection_1, 1, _null, _null, _null, _null, C.TextWidthBasis_0, _null);
        textPainter.layout$0(0);
        t1 = textPainter._textWidthBasis;
        t3 = textPainter._text_painter$_paragraph;
        t1 = t1 === C.TextWidthBasis_1 ? t3.get$longestLine() : t3.get$width(t3);
        t1.toString;
        maxMeasuredWidth = Math.max(maxMeasuredWidth, Math.ceil(t1) + 8);
      }
      return Math.min(300, maxMeasuredWidth) + 55;
    },
    LegacyTimelineFlameChartContainer: function LegacyTimelineFlameChartContainer(t0, t1, t2) {
      this.processing = t0;
      this.processingProgress = t1;
      this.key = t2;
    },
    _LegacyTimelineFlameChartContainerState: function _LegacyTimelineFlameChartContainerState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.controller = null;
      _.SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin__onSelection = t2;
      _.SearchFieldMixin__closeHandler = t3;
      _.SearchFieldMixin_arrowDown = t4;
      _.SearchFieldMixin_arrowUp = t5;
      _.SearchFieldMixin_enter = t6;
      _.SearchFieldMixin_escape = t7;
      _.SearchFieldMixin_tab = t8;
      _.SearchFieldMixin_enterMac = t9;
      _.SearchFieldMixin_tabMac = t10;
      _.AutoDisposeMixin__delegate = t11;
      _._widget = null;
      _._debugLifecycleState = t12;
      _._framework$_element = null;
    },
    _LegacyTimelineFlameChartContainerState_build_closure: function _LegacyTimelineFlameChartContainerState_build_closure(t0) {
      this.$this = t0;
    },
    _LegacyTimelineFlameChartContainerState_build_closure0: function _LegacyTimelineFlameChartContainerState_build_closure0(t0) {
      this.$this = t0;
    },
    _LegacyTimelineFlameChartContainerState_build__closure: function _LegacyTimelineFlameChartContainerState_build__closure(t0) {
      this.$this = t0;
    },
    LegacyTimelineFlameChart: function LegacyTimelineFlameChart(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;
    },
    LegacyTimelineFlameChartState: function LegacyTimelineFlameChartState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.chartNodesByEvent = t0;
      _.horizontalGuidelines = t1;
      _.verticalGuidelines = t2;
      _.eventGroupStartYValues = t3;
      _._timeline_flame_chart$_nextInGroupButtonsScrollController = _._timeline_flame_chart$_previousInGroupButtonsScrollController = _._timeline_flame_chart$_groupLabelScrollController = _._timeline_flame_chart$_selectedFrame = _._timeline_flame_chart$_performanceController = null;
      _.rows = t4;
      _.sections = t5;
      _.focusNode = t6;
      _._altKeyPressed = false;
      _.zoomController = _._flameChartScrollController = _.horizontalControllerGroup = _.verticalControllerGroup = _.verticalExtentDelegate = _.mouseHoverX = null;
      _.currentZoom = 1;
      _.verticalScrollOffset = _.horizontalScrollOffset = 0;
      _.TickerProviderStateMixin__tickers = t7;
      _.AutoDisposeMixin__delegate = t8;
      _._widget = null;
      _._debugLifecycleState = t9;
      _._framework$_element = null;
    },
    LegacyTimelineFlameChartState__indexOfFirstEventInView_closure: function LegacyTimelineFlameChartState__indexOfFirstEventInView_closure() {
    },
    LegacyTimelineFlameChartState__viewNextEventInGroup_closure: function LegacyTimelineFlameChartState__viewNextEventInGroup_closure() {
    },
    LegacyTimelineFlameChartState__handleSelectedFrame_closure: function LegacyTimelineFlameChartState__handleSelectedFrame_closure(t0, t1) {
      this.$this = t0;
      this.selectedFrame = t1;
    },
    LegacyTimelineFlameChartState_initFlameChartElements_leftForEvent: function LegacyTimelineFlameChartState_initFlameChartElements_leftForEvent(t0) {
      this.$this = t0;
    },
    LegacyTimelineFlameChartState_initFlameChartElements_rightForEvent: function LegacyTimelineFlameChartState_initFlameChartElements_rightForEvent(t0) {
      this.$this = t0;
    },
    LegacyTimelineFlameChartState_initFlameChartElements_createChartNode: function LegacyTimelineFlameChartState_initFlameChartElements_createChartNode(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.leftForEvent = t2;
      _.rightForEvent = t3;
    },
    LegacyTimelineFlameChartState_initFlameChartElements_createChartNode_closure: function LegacyTimelineFlameChartState_initFlameChartElements_createChartNode_closure(t0) {
      this.$this = t0;
    },
    LegacyTimelineFlameChartState_initFlameChartElements_closure: function LegacyTimelineFlameChartState_initFlameChartElements_closure() {
    },
    LegacyTimelineFlameChartState_buildChartOverlays_closure: function LegacyTimelineFlameChartState_buildChartOverlays_closure(t0) {
      this.$this = t0;
    },
    LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton: function LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton(t0, t1) {
      this.$this = t0;
      this.eventGroups = t1;
    },
    LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure: function LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure(t0, t1, t2) {
      this.$this = t0;
      this.isNext = t1;
      this.group = t2;
    },
    LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0: function LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0(t0, t1) {
      this.$this = t0;
      this.isNext = t1;
    },
    LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_closure: function LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_closure(t0) {
      this.buildNavigatorButton = t0;
    },
    LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_closure0: function LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_closure0(t0) {
      this.buildNavigatorButton = t0;
    },
    LegacyTimelineFlameChartState__calculateAsyncGuidelines_closure: function LegacyTimelineFlameChartState__calculateAsyncGuidelines_closure() {
    },
    LegacyTimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline: function LegacyTimelineFlameChartState__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;
    },
    LegacyTimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow: function LegacyTimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow(t0) {
      this.node = t0;
    },
    LegacyAsyncGuidelinePainter: function LegacyAsyncGuidelinePainter(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;
    },
    LegacySelectedFrameBracketPainter: function LegacySelectedFrameBracketPainter(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;
    },
    LegacyNavigateInThreadInButton: function LegacyNavigateInThreadInButton(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;
    },
    _LegacyNavigateInThreadInButtonState: function _LegacyNavigateInThreadInButtonState(t0, t1) {
      var _ = this;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    LegacyThreadNavigatorButton: function LegacyThreadNavigatorButton(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.useSmallButton = t0;
      _.backgroundColor = t1;
      _.tooltip = t2;
      _.icon = t3;
      _.onPressed = t4;
      _.key = t5;
    },
    __LegacyNavigateInThreadInButtonState_State_AutoDisposeMixin: function __LegacyNavigateInThreadInButtonState_State_AutoDisposeMixin() {
    },
    __LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin: function __LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin() {
    },
    __LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin: function __LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin() {
    },
    PerformanceData$: function(cpuProfileData, displayRefreshRate, $frames, selectedEvent, selectedFrame, traceEvents) {
      var t1 = P.SplayTreeMap$(T.performance_utils_PerformanceUtils_eventGroupComparator$closure(), type$.legacy_String, type$.legacy_TimelineEventGroup),
        t2 = traceEvents == null ? H._setArrayType([], type$.JSArray_legacy_Map_of_legacy_String_and_dynamic) : traceEvents,
        t3 = $frames == null ? H._setArrayType([], type$.JSArray_legacy_FlutterFrame) : $frames,
        t4 = displayRefreshRate == null ? 60 : displayRefreshRate,
        t5 = H._setArrayType([], type$.JSArray_legacy_TimelineEvent);
      return new Y.PerformanceData(t5, t1, t2, selectedEvent, cpuProfileData, t4, t3, selectedFrame, new B.TimeRange(true));
    },
    OfflinePerformanceData$_: function(cpuProfileData, displayRefreshRate, $frames, selectedEvent, selectedFrame, selectedFrameId, traceEvents) {
      var t1 = P.SplayTreeMap$(T.performance_utils_PerformanceUtils_eventGroupComparator$closure(), type$.legacy_String, type$.legacy_TimelineEventGroup),
        t2 = $frames == null ? H._setArrayType([], type$.JSArray_legacy_FlutterFrame) : $frames,
        t3 = displayRefreshRate == null ? 60 : displayRefreshRate,
        t4 = H._setArrayType([], type$.JSArray_legacy_TimelineEvent);
      return new Y.OfflinePerformanceData(selectedFrameId, t4, t1, traceEvents, selectedEvent, cpuProfileData, t3, t2, selectedFrame, new B.TimeRange(true));
    },
    OfflineTimelineEvent$: function(firstTrace) {
      var t4,
        t1 = L.TraceEventWrapper$(L.TraceEvent$(firstTrace), 0),
        t2 = new B.TimeRange(true),
        t3 = H._setArrayType([t1], type$.JSArray_legacy_TraceEventWrapper);
      t1 = t1.event;
      t4 = t1._trace_event$_type;
      if (t4 == null)
        t4 = t1._trace_event$_type = C.TimelineEventType_3;
      t4 = new Y.OfflineTimelineEvent(t3, t4, t2, false, false, H._setArrayType([], type$.JSArray_legacy_TimelineEvent));
      t1 = P.Duration$(t1.timestampMicros, 0);
      t2._utils$_start = t1;
      t4.OfflineTimelineEvent$1(firstTrace);
      return t4;
    },
    FlutterFrame$: function(id) {
      var _i,
        _list = J.JSArray_JSArray$allocateGrowable(2, type$.legacy_SyncTimelineEvent);
      for (_i = 0; _i < 2; ++_i)
        _list[_i] = null;
      return new Y.FlutterFrame(id, _list, new B.TimeRange(true), new B.TimeRange(false));
    },
    SyncTimelineEvent$: function(firstTraceEvent) {
      var t5,
        t1 = new B.TimeRange(true),
        t2 = H._setArrayType([firstTraceEvent], type$.JSArray_legacy_TraceEventWrapper),
        t3 = firstTraceEvent.event,
        t4 = t3._trace_event$_type;
      if (t4 == null)
        t4 = t3._trace_event$_type = C.TimelineEventType_3;
      t5 = H._setArrayType([], type$.JSArray_legacy_TimelineEvent);
      t3 = P.Duration$(t3.timestampMicros, 0);
      t1._utils$_start = t3;
      return new Y.SyncTimelineEvent(t2, t4, t1, false, false, t5);
    },
    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() {
    },
    TimelineEventGroup: function TimelineEventGroup(t0, t1) {
      var _ = this;
      _.rows = t0;
      _.rowIndexForEvent = t1;
      _._sortedEventRoots = _.latestTimestampMicros = _.earliestTimestampMicros = 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;
    },
    OfflineTimelineEvent: function OfflineTimelineEvent(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.traceEvents = t0;
      _.type = t1;
      _.time = t2;
      _._lowestDisplayChildRow = 1;
      _._displayRows = _._lowestDisplayChild = null;
      _.DataSearchStateMixin_isSearchMatch = t3;
      _.DataSearchStateMixin_isActiveSearchMatch = t4;
      _.parent = null;
      _.children = t5;
      _.index = -1;
      _._trees$_depth = 0;
      _._trees$_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) {
      var _ = this;
      _.id = t0;
      _.eventFlows = t1;
      _.time = t2;
      _.pipelineItemTime = t3;
      _._shaderTime = null;
    },
    FlutterFrame_shaderDuration_closure: function FlutterFrame_shaderDuration_closure(t0) {
      this._box_0 = t0;
    },
    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) {
      var _ = this;
      _.traceEvents = t0;
      _.type = t1;
      _.time = t2;
      _._lowestDisplayChildRow = 1;
      _._displayRows = _._lowestDisplayChild = null;
      _.DataSearchStateMixin_isSearchMatch = t3;
      _.DataSearchStateMixin_isActiveSearchMatch = t4;
      _.parent = null;
      _.children = t5;
      _.index = -1;
      _._trees$_depth = 0;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    SyncTimelineEvent_isUiEventFlow_closure: function SyncTimelineEvent_isUiEventFlow_closure() {
    },
    SyncTimelineEvent_isRasterEventFlow_closure: function SyncTimelineEvent_isRasterEventFlow_closure() {
    },
    AsyncTimelineEvent: function AsyncTimelineEvent(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._parentId = t0;
      _._maxEndMicros = null;
      _.traceEvents = t1;
      _.type = t2;
      _.time = t3;
      _._lowestDisplayChildRow = 1;
      _._displayRows = _._lowestDisplayChild = null;
      _.DataSearchStateMixin_isSearchMatch = t4;
      _.DataSearchStateMixin_isActiveSearchMatch = t5;
      _.parent = null;
      _.children = t6;
      _.index = -1;
      _._trees$_depth = 0;
      _._trees$_level = _._trees$_root = null;
      _._isExpanded = false;
    },
    _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() {
    },
    TimelineFlameChart__calculateStartInset: function(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 P._SplayTreeKeyIterator(t1, H._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();) {
        t1 = t2.get$current(t2);
        textPainter = new U.TextPainter(new Q.TextSpan(t1, _null, _null, C.C__DeferringMouseCursor, _null, _null), C.TextAlign_4, C.TextDirection_1, 1, _null, _null, _null, _null, C.TextWidthBasis_0, _null);
        textPainter.layout$0(0);
        t1 = textPainter._textWidthBasis;
        t3 = textPainter._text_painter$_paragraph;
        t1 = t1 === C.TextWidthBasis_1 ? t3.get$longestLine() : t3.get$width(t3);
        t1.toString;
        maxMeasuredWidth = Math.max(maxMeasuredWidth, Math.ceil(t1) + 8);
      }
      return Math.min(300, maxMeasuredWidth) + 55;
    },
    TimelineFlameChartContainer: function TimelineFlameChartContainer(t0, t1, t2) {
      this.processing = t0;
      this.processingProgress = t1;
      this.key = t2;
    },
    _TimelineFlameChartContainerState: function _TimelineFlameChartContainerState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.controller = null;
      _.SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin__onSelection = t2;
      _.SearchFieldMixin__closeHandler = t3;
      _.SearchFieldMixin_arrowDown = t4;
      _.SearchFieldMixin_arrowUp = t5;
      _.SearchFieldMixin_enter = t6;
      _.SearchFieldMixin_escape = t7;
      _.SearchFieldMixin_tab = t8;
      _.SearchFieldMixin_enterMac = t9;
      _.SearchFieldMixin_tabMac = t10;
      _.AutoDisposeMixin__delegate = t11;
      _._widget = null;
      _._debugLifecycleState = t12;
      _._framework$_element = null;
    },
    _TimelineFlameChartContainerState_build_closure: function _TimelineFlameChartContainerState_build_closure(t0) {
      this.$this = t0;
    },
    _TimelineFlameChartContainerState_build_closure0: function _TimelineFlameChartContainerState_build_closure0(t0) {
      this.$this = t0;
    },
    _TimelineFlameChartContainerState_build__closure: function _TimelineFlameChartContainerState_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) {
      var _ = this;
      _.chartNodesByEvent = t0;
      _.horizontalGuidelines = t1;
      _.verticalGuidelines = t2;
      _.eventGroupStartYValues = t3;
      _._nextInGroupButtonsScrollController = _._previousInGroupButtonsScrollController = _._groupLabelScrollController = _._selectedFrame = _._performanceController = null;
      _.rows = t4;
      _.sections = t5;
      _.focusNode = t6;
      _._altKeyPressed = false;
      _.zoomController = _._flameChartScrollController = _.horizontalControllerGroup = _.verticalControllerGroup = _.verticalExtentDelegate = _.mouseHoverX = null;
      _.currentZoom = 1;
      _.verticalScrollOffset = _.horizontalScrollOffset = 0;
      _.TickerProviderStateMixin__tickers = t7;
      _.AutoDisposeMixin__delegate = t8;
      _._widget = null;
      _._debugLifecycleState = t9;
      _._framework$_element = null;
    },
    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) {
      this.$this = t0;
      this.eventGroups = t1;
    },
    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;
    },
    __NavigateInThreadInButtonState_State_AutoDisposeMixin: function __NavigateInThreadInButtonState_State_AutoDisposeMixin() {
    },
    __TimelineFlameChartContainerState_State_AutoDisposeMixin: function __TimelineFlameChartContainerState_State_AutoDisposeMixin() {
    },
    __TimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin: function __TimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin() {
    },
    TreeView: function TreeView(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.dataRoots = t0;
      _.shrinkWrap = t1;
      _.dataDisplayProvider = t2;
      _.onItemPressed = t3;
      _.itemExtent = t4;
      _.onTraverse = t5;
      _.key = t6;
      _.$ti = t7;
    },
    _TreeViewState: function _TreeViewState(t0, t1, t2, t3) {
      var _ = this;
      _.TreeMixin_dataRoots = t0;
      _.TreeMixin_items = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
      _.$ti = t3;
    },
    _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) {
      var _ = this;
      _.data = t0;
      _.buildDisplay = t1;
      _.onItemPressed = t2;
      _.key = t3;
      _.$ti = t4;
    },
    _TreeViewItemState: function _TreeViewItemState(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.CollapsibleAnimationMixin_expandController = t0;
      _.CollapsibleAnimationMixin_expandArrowAnimation = t1;
      _.CollapsibleAnimationMixin_expandCurve = t2;
      _.TickerProviderStateMixin__tickers = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
      _.$ti = t5;
    },
    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() {
    },
    TextTreeConfiguration$: function(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 Y.TextTreeConfiguration(prefixLineOne, suffixLineOne, prefixOtherLines, prefixLastChildLineOne, prefixOtherLinesRootNode, propertyPrefixIfChildren, propertyPrefixNoChildren, linkCharacter, C.JSString_methods.$mul(" ", linkCharacter.length), lineBreak, lineBreakProperties, beforeName, afterName, afterDescriptionIfBody, beforeProperties, afterProperties, propertySeparator, bodyIndent, showChildren, addBlankLineIfNoChildren, isNameOnOwnLine, footer, mandatoryFooter, isBlankLineBetweenPropertiesAndChildren);
    },
    _PrefixedStringBuilder__wordWrapLine: function(message, wrapRanges, width, otherLineOffset, startOffset) {
      return Y._PrefixedStringBuilder__wordWrapLine$body(message, wrapRanges, width, otherLineOffset, startOffset);
    },
    _PrefixedStringBuilder__wordWrapLine$body: function($async$message, $async$wrapRanges, $async$width, $async$otherLineOffset, $async$startOffset) {
      return P._makeSyncStarIterable(function() {
        var message = $async$message,
          wrapRanges = $async$wrapRanges,
          width = $async$width,
          otherLineOffset = $async$otherLineOffset,
          startOffset = $async$startOffset;
        var $async$goto = 0, $async$handler = 2, $async$currentError, startForLengthCalculations, lastWordStart, noWrap, t2, addPrefix, index, mode, lastWordEnd, start, t3, _box_0, t1;
        return function $async$_PrefixedStringBuilder__wordWrapLine($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 = {};
                t1 = message.length;
                $async$goto = t1 + startOffset < width ? 3 : 4;
                break;
              case 3:
                // then
                $async$goto = 5;
                return message;
              case 5:
                // after yield
                // goto return
                $async$goto = 1;
                break;
              case 4:
                // join
                startForLengthCalculations = -startOffset;
                lastWordStart = H._Cell$named("lastWordStart");
                _box_0.currentChunk = 0;
                noWrap = new Y._PrefixedStringBuilder__wordWrapLine_noWrap(_box_0, wrapRanges);
                t2 = lastWordStart.__late_helper$_name, addPrefix = false, index = 0, mode = C._WordWrapParseMode_0, lastWordEnd = null, start = 0;
              case 6:
                // for condition
                // trivial condition
              case 8:
                // switch
                switch (mode) {
                  case C._WordWrapParseMode_0:
                    // goto case
                    $async$goto = 10;
                    break;
                  case C._WordWrapParseMode_1:
                    // goto case
                    $async$goto = 11;
                    break;
                  case C._WordWrapParseMode_2:
                    // goto case
                    $async$goto = 12;
                    break;
                  default:
                    // goto default
                    $async$goto = 13;
                    break;
                }
                break;
              case 10:
                // case
                while (true) {
                  if (!(index < t1 && message[index] === " "))
                    break;
                  ++index;
                }
                lastWordStart.__late_helper$_value = index;
                mode = C._WordWrapParseMode_1;
                // goto after switch
                $async$goto = 9;
                break;
              case 11:
                // case
                while (true) {
                  if (index < t1)
                    t3 = message[index] !== " " || noWrap.call$1(index);
                  else
                    t3 = false;
                  if (!t3)
                    break;
                  ++index;
                }
                mode = C._WordWrapParseMode_2;
                // goto after switch
                $async$goto = 9;
                break;
              case 12:
                // case
                t3 = index - startForLengthCalculations;
                $async$goto = t3 > width || index === t1 ? 14 : 16;
                break;
              case 14:
                // then
                if (t3 <= width || lastWordEnd == null)
                  lastWordEnd = index;
                $async$goto = 17;
                return C.JSString_methods.substring$2(message, start, lastWordEnd);
              case 17:
                // after yield
                if (lastWordEnd >= t1) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                if (lastWordEnd === index) {
                  while (true) {
                    if (!(index < t1 && message[index] === " "))
                      break;
                    ++index;
                  }
                  start = index;
                  mode = C._WordWrapParseMode_1;
                } else {
                  start = lastWordStart.__late_helper$_value;
                  if (start === lastWordStart)
                    H.throwExpression(H.LateError$localNI(t2));
                  mode = C._WordWrapParseMode_2;
                }
                startForLengthCalculations = start - otherLineOffset;
                addPrefix = true;
                lastWordEnd = null;
                // goto join
                $async$goto = 15;
                break;
              case 16:
                // else
                lastWordEnd = index;
                mode = C._WordWrapParseMode_0;
              case 15:
                // join
                // goto after switch
                $async$goto = 9;
                break;
              case 13:
                // default
                throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
              case 9:
                // after switch
                // goto for condition
                $async$goto = 6;
                break;
              case 7:
                // after for
              case 1:
                // return
                return P._IterationMarker_endOfIteration();
              case 2:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.String);
    },
    DiagnosticsNode_DiagnosticsNode$message: function(message, allowWrap, style) {
      var _null = null;
      return Y.DiagnosticsProperty$("", _null, allowWrap, C.C__NoDefaultValue, message, false, _null, _null, C.DiagnosticLevel_3, _null, false, false, true, style, _null, type$.void);
    },
    DiagnosticsProperty$: function($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 Y.DiagnosticsProperty(description, false, allowWrap, t1, ifEmpty, tooltip, missingIfNull, value, defaultValue, level, $name, showSeparator, showName, linePrefix, style, $T._eval$1("DiagnosticsProperty<0>"));
    },
    DiagnosticableTreeNode$: function($name, style, value) {
      return new Y.DiagnosticableTreeNode(value, $name, true, true, null, style);
    },
    shortHash: function(object) {
      var t1 = J.get$hashCode$(object);
      t1.toString;
      return C.JSString_methods.padLeft$2(C.JSInt_methods.toRadixString$1(t1 & 1048575, 16), 5, "0");
    },
    describeEnum: function(enumEntry) {
      var description = J.toString$0$(enumEntry);
      return C.JSString_methods.substring$1(description, J.indexOf$1$asx(description, ".") + 1);
    },
    DiagnosticLevel: function DiagnosticLevel(t0, t1) {
      this.index = t0;
      this._diagnostics$_name = t1;
    },
    DiagnosticsTreeStyle: function DiagnosticsTreeStyle(t0, t1) {
      this.index = t0;
      this._diagnostics$_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._diagnostics$_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() {
    },
    DialogTheme: function DialogTheme(t0, t1, t2, t3, t4) {
      var _ = this;
      _.backgroundColor = t0;
      _.elevation = t1;
      _.shape = t2;
      _.titleTextStyle = t3;
      _.contentTextStyle = t4;
    },
    _DialogTheme_Object_Diagnosticable: function _DialogTheme_Object_Diagnosticable() {
    },
    InkHighlight: function InkHighlight(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._ink_highlight$_shape = t0;
      _._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;
    },
    BorderSide$: function(color, style, width) {
      return new Y.BorderSide(color, width, style);
    },
    BorderSide_merge: function(a, b) {
      var t1 = a.style,
        aIsNone = t1 === C.BorderStyle_0 && a.width === 0,
        bIsNone = b.style === C.BorderStyle_0 && b.width === 0;
      if (aIsNone && bIsNone)
        return C.BorderSide_06g;
      if (aIsNone)
        return b;
      if (bIsNone)
        return a;
      return new Y.BorderSide(a.color, a.width + b.width, t1);
    },
    BorderSide_canMerge: function(a, b) {
      var t2,
        t1 = a.style;
      if (!(t1 === C.BorderStyle_0 && a.width === 0))
        t2 = b.style === C.BorderStyle_0 && b.width === 0;
      else
        t2 = true;
      if (t2)
        return true;
      return t1 === b.style && J.$eq$(a.color, b.color);
    },
    BorderSide_lerp: function(a, b, t) {
      var t1, t2, t3, colorA, colorB,
        _s80_ = string$.x60null_c;
      if (t === 0)
        return a;
      if (t === 1)
        return b;
      t1 = P.lerpDouble(a.width, b.width, t);
      t1.toString;
      if (t1 < 0)
        return C.BorderSide_06g;
      t2 = a.style;
      t3 = b.style;
      if (t2 === t3) {
        t3 = P.Color_lerp(a.color, b.color, t);
        t3.toString;
        return new Y.BorderSide(t3, t1, t2);
      }
      switch (t2) {
        case C.BorderStyle_1:
          colorA = a.color;
          break;
        case C.BorderStyle_0:
          t2 = a.color;
          colorA = P.Color$fromARGB(0, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      switch (t3) {
        case C.BorderStyle_1:
          colorB = b.color;
          break;
        case C.BorderStyle_0:
          t2 = b.color;
          colorB = P.Color$fromARGB(0, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      t2 = P.Color_lerp(colorA, colorB, t);
      t2.toString;
      return new Y.BorderSide(t2, t1, C.BorderStyle_1);
    },
    ShapeBorder_lerp: function(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: function(a, b, t) {
      var index, localA, localB, t1, localResult,
        aList = a instanceof Y._CompoundBorder ? a.borders : H._setArrayType([a], type$.JSArray_nullable_ShapeBorder),
        bList = b instanceof Y._CompoundBorder ? b.borders : H._setArrayType([b], type$.JSArray_nullable_ShapeBorder),
        results = H._setArrayType([], type$.JSArray_ShapeBorder),
        $length = Math.max(aList.length, bList.length);
      for (index = 0; index < $length; ++index) {
        localA = index < aList.length ? aList[index] : null;
        localB = index < bList.length ? bList[index] : null;
        t1 = localA != null;
        if (t1 && 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 (t1)
          results.push(localA.scale$1(0, 1 - t));
      }
      return new Y._CompoundBorder(results);
    },
    paintBorder: function(canvas, rect, bottom, left, right, $top) {
      var path, t2, t3, t4,
        _s80_ = string$.x60null_c,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$strokeWidth(0);
      path = P.Path_Path();
      switch ($top.style) {
        case C.BorderStyle_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, C.PaintingStyle_1);
          else {
            paint.set$style(0, C.PaintingStyle_0);
            t2 += t4;
            path.lineTo$2(0, t3 - right.width, t2);
            path.lineTo$2(0, t1 + left.width, t2);
          }
          canvas.drawPath$2(0, path, paint);
          break;
        case C.BorderStyle_0:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      switch (right.style) {
        case C.BorderStyle_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, C.PaintingStyle_1);
          else {
            paint.set$style(0, C.PaintingStyle_0);
            t1 -= t4;
            path.lineTo$2(0, t1, t3 - bottom.width);
            path.lineTo$2(0, t1, t2 + $top.width);
          }
          canvas.drawPath$2(0, path, paint);
          break;
        case C.BorderStyle_0:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      switch (bottom.style) {
        case C.BorderStyle_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, C.PaintingStyle_1);
          else {
            paint.set$style(0, C.PaintingStyle_0);
            t2 -= t4;
            path.lineTo$2(0, t3 + left.width, t2);
            path.lineTo$2(0, t1 - right.width, t2);
          }
          canvas.drawPath$2(0, path, paint);
          break;
        case C.BorderStyle_0:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      switch (left.style) {
        case C.BorderStyle_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, C.PaintingStyle_1);
          else {
            paint.set$style(0, C.PaintingStyle_0);
            t1 += t4;
            path.lineTo$2(0, t1, t3 + $top.width);
            path.lineTo$2(0, t1, t2 - bottom.width);
          }
          canvas.drawPath$2(0, path, paint);
          break;
        case C.BorderStyle_0:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
    },
    BorderStyle: function BorderStyle(t0, t1) {
      this.index = t0;
      this._borders$_name = t1;
    },
    BorderSide: function BorderSide(t0, t1, t2) {
      this.color = t0;
      this.width = t1;
      this.style = t2;
    },
    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() {
    },
    IconTheme$: function(child, data, key) {
      return new Y.IconTheme(data, child, key);
    },
    IconTheme_merge: function(child, data) {
      return new T.Builder(new Y.IconTheme_merge_closure(null, data, child), null);
    },
    IconTheme__getInheritedIconThemeData: function(context) {
      var iconTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$.IconTheme),
        t1 = iconTheme == null ? null : iconTheme.data;
      return t1 == null ? C.IconThemeData_Color_4278190080_1_24 : 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;
    },
    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;
    },
    _NBSample$: function(time, duration) {
      var tInf, t2, dInf,
        t1 = new Y._NBSample(),
        t = time * 1000 / duration,
        index = C.JSNumber_methods.round$0(C.JSNumber_methods.clamp$2(100 * t, 0, 100));
      t1.___NBSample__distanceCoef = 1;
      t1.___NBSample__velocityCoef = 0;
      if (index < 100) {
        tInf = index / 100;
        t2 = index + 1;
        dInf = $._NBSample__splinePosition[index];
        t1.___NBSample__velocityCoef = ($._NBSample__splinePosition[t2] - dInf) / (t2 / 100 - tInf);
        t1.___NBSample__distanceCoef = dInf + (t - tInf) * t1.get$_velocityCoef();
      }
      return t1;
    },
    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;
    },
    _NBSample: function _NBSample() {
      this.___NBSample__distanceCoef = this.___NBSample__velocityCoef = $;
    },
    TextEditingAction: function TextEditingAction() {
    },
    ExrHuffman_uncompress: function(compressed, nCompressed, raw, nRaw) {
      var start, im, iM, nBits, t1, freq, hdec, _i;
      if (nCompressed === 0) {
        if (nRaw !== 0)
          throw H.wrapException(K.ImageException$("Incomplete huffman data"));
        return;
      }
      start = compressed.offset;
      im = compressed.readUint32$0();
      iM = compressed.readUint32$0();
      compressed.offset = compressed.offset + 4;
      nBits = compressed.readUint32$0();
      if (im < 65537)
        t1 = iM >= 65537;
      else
        t1 = true;
      if (t1)
        throw H.wrapException(K.ImageException$("Invalid huffman table size"));
      compressed.offset = compressed.offset + 4;
      freq = P.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 Y.ExrHufDec();
      Y.ExrHuffman_unpackEncTable(compressed, nCompressed - 20, im, iM, freq);
      if (nBits > 8 * (nCompressed - (compressed.offset - start)))
        throw H.wrapException(K.ImageException$("Error in header for Huffman-encoded data (invalid number of bits)."));
      Y.ExrHuffman_buildDecTable(freq, im, iM, hdec);
      Y.ExrHuffman_decode(freq, hdec, compressed, nBits, iM, nRaw, raw);
    },
    ExrHuffman_decode: function(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 = H._setArrayType([0, 0], type$.JSArray_int),
        ie = input.offset + C.JSInt_methods._tdivFast$1(ni + 7, 8);
      for (oi = 0; input.offset < ie;) {
        Y.ExrHuffman_getChar(c_lc, input);
        for (; t1 = c_lc[1], t1 >= 14;) {
          pl = hdecod[C.JSInt_methods.$shr(c_lc[0], t1 - 14) & 16383];
          t2 = pl.len;
          if (t2 !== 0) {
            c_lc[1] = t1 - t2;
            oi = Y.ExrHuffman_getCode(pl.lit, rlc, c_lc, input, out, oi, no);
          } else {
            if (pl.p == null)
              throw H.wrapException(K.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;
                Y.ExrHuffman_getChar(c_lc, input);
              }
              if (t1 >= l) {
                t2 = pl.p;
                t1 -= l;
                if (hcode[t2[j]] >>> 6 === (C.JSInt_methods.$shr(c_lc[0], t1) & C.JSInt_methods._shlPositive$1(1, l) - 1) >>> 0) {
                  c_lc[1] = t1;
                  oi0 = Y.ExrHuffman_getCode(t2[j], rlc, c_lc, input, out, oi, no);
                  oi = oi0;
                  break;
                }
              }
            }
            if (j === pl.lit)
              throw H.wrapException(K.ImageException$(_s45_));
          }
        }
      }
      i = 8 - ni & 7;
      c_lc[0] = C.JSInt_methods._shrOtherPositive$1(c_lc[0], i);
      c_lc[1] = c_lc[1] - i;
      for (; t1 = c_lc[1], t1 > 0;) {
        pl = hdecod[C.JSInt_methods.$shl(c_lc[0], 14 - t1) & 16383];
        t2 = pl.len;
        if (t2 !== 0) {
          c_lc[1] = t1 - t2;
          oi = Y.ExrHuffman_getCode(pl.lit, rlc, c_lc, input, out, oi, no);
        } else
          throw H.wrapException(K.ImageException$(_s45_));
      }
      if (oi !== no)
        throw H.wrapException(K.ImageException$("Error in Huffman-encoded data (decoded data are shorter than expected)."));
    },
    ExrHuffman_getCode: function(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)
          Y.ExrHuffman_getChar(c_lc, input);
        t1 = c_lc[1] - 8;
        c_lc[1] = t1;
        cs = C.JSInt_methods.$shr(c_lc[0], t1) & 255;
        if (oi + cs > oe)
          throw H.wrapException(K.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 H.wrapException(K.ImageException$(_s70_));
        oi = oi0;
      }
      return oi;
    },
    ExrHuffman_buildDecTable: function(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 (C.JSInt_methods._shrBothPositive$1(c, l) !== 0)
          throw H.wrapException(K.ImageException$(_s57_));
        if (l > 14) {
          pl = hdecod[C.JSInt_methods._shrReceiverPositive$1(c, l - 14)];
          if (pl.len !== 0)
            throw H.wrapException(K.ImageException$(_s57_));
          t3 = ++pl.lit;
          t4 = pl.p;
          if (t4 != null) {
            t3 = P.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 = H._setArrayType([0], t1);
          pl.p[pl.lit - 1] = im;
        } else if (l !== 0) {
          t3 = 14 - l;
          pi = C.JSInt_methods.$shl(c, t3);
          for (i = C.JSInt_methods.$shl(1, t3); i > 0; --i, ++pi) {
            pl = hdecod[pi];
            if (pl.len !== 0 || pl.p != null)
              throw H.wrapException(K.ImageException$(_s57_));
            pl.len = l;
            pl.lit = im;
          }
        }
      }
    },
    ExrHuffman_unpackEncTable: function(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 = H._setArrayType([0, 0], type$.JSArray_int);
      for (t1 = iM + 1; im <= iM; ++im) {
        if (p.offset - pcode > ni)
          throw H.wrapException(K.ImageException$(_s66_));
        l = Y.ExrHuffman_getBits(6, c_lc, p);
        hcode[im] = l;
        if (l === 63) {
          if (p.offset - pcode > ni)
            throw H.wrapException(K.ImageException$(_s66_));
          zerun = Y.ExrHuffman_getBits(8, c_lc, p) + 6;
          if (im + zerun > t1)
            throw H.wrapException(K.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 H.wrapException(K.ImageException$(_s67_));
          for (; zerun0 = zerun - 1, zerun !== 0; zerun = zerun0, im = im0) {
            im0 = im + 1;
            hcode[im] = 0;
          }
          --im;
        }
      }
      Y.ExrHuffman_canonicalCodeTable(hcode);
    },
    ExrHuffman_canonicalCodeTable: function(hcode) {
      var i, t1, c, nc, l,
        n = P.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: function(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: function(nBits, c_lc, input) {
      var t1, t2, t3;
      for (; t1 = c_lc[1], t1 < nBits;) {
        t1 = c_lc[0];
        t2 = input.buffer;
        t3 = input.offset;
        input.offset = t3 + 1;
        c_lc[0] = ((t1 << 8 | J.$index$asx(t2, t3)) & -1) >>> 0;
        c_lc[1] = (c_lc[1] + 8 & -1) >>> 0;
      }
      t1 -= nBits;
      c_lc[1] = t1;
      return (C.JSInt_methods.$shr(c_lc[0], t1) & C.JSInt_methods._shlPositive$1(1, nBits) - 1) >>> 0;
    },
    ExrHufDec: function ExrHufDec() {
      this.lit = this.len = 0;
      this.p = null;
    },
    ExrImage_isValidFile: function(bytes) {
      var input = Z.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;
    },
    InternalExrRleCompressor: function InternalExrRleCompressor(t0) {
      var _ = this;
      _._exr_rle_compressor$_outCache = null;
      _.decodedHeight = _.decodedWidth = 0;
      _._exr_compressor$_header = t0;
    },
    JpegData$: function() {
      var t1 = type$.JSArray_nullable_List_dynamic;
      return new Y.JpegData(new G.ExifData(P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.dynamic)), P.List_List$filled(4, null, false, type$.nullable_Int16List), H._setArrayType([], type$.JSArray_nullable_JpegFrame), H._setArrayType([], t1), H._setArrayType([], t1), H._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;
    },
    PsdLayerSectionDivider: function PsdLayerSectionDivider() {
      this.key = null;
    },
    VP8LColorCache: function VP8LColorCache(t0, t1) {
      this.colors = t0;
      this.hashShift = t1;
    },
    Level: function Level(t0, t1) {
      this.name = t0;
      this.value = t1;
    },
    MultiProvider$: function(child, providers) {
      return new Y.MultiProvider(providers, child, null);
    },
    Provider$: function(child, create, $T) {
      var _null = null;
      return new Y.Provider(new Y._CreateInheritedProvider(create, _null, _null, new Y.Provider_closure($T), _null, _null, $T._eval$1("_CreateInheritedProvider<0>")), _null, _null, child, _null, $T._eval$1("Provider<0>"));
    },
    Provider$value: function(builder, value, $T) {
      var _null = null;
      return new Y.Provider(new Y._ValueInheritedProvider(value, _null, _null, $T._eval$1("_ValueInheritedProvider<0>")), _null, builder, _null, _null, $T._eval$1("Provider<0>"));
    },
    Provider_of: function(context, listen, $T) {
      var t1,
        inheritedElement = Y.Provider__inheritedElementOf(context, $T);
      if (listen)
        context.dependOnInheritedElement$1(inheritedElement);
      t1 = inheritedElement.get$_delegateState();
      return t1.get$value(t1);
    },
    Provider__inheritedElementOf: function(context, $T) {
      var t2, t1 = {};
      t1.inheritedElement = null;
      t2 = $T._eval$1("_InheritedProviderScope<0>");
      if (t2._is(context.get$widget()))
        context.visitAncestorElements$1(new Y.Provider__inheritedElementOf_closure(t1, $T));
      else
        t1.inheritedElement = $T._eval$1("_InheritedProviderScopeElement<0>?")._as(context.getElementForInheritedWidgetOfExactType$1$0(t2));
      t1 = t1.inheritedElement;
      if (t1 == null)
        throw H.wrapException(new Y.ProviderNotFoundException(H.createRuntimeType($T), J.get$runtimeType$(context.get$widget())));
      return t1;
    },
    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, t4, t5) {
      var _ = this;
      _.SingleChildWidgetElementMixin__parent = t0;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t5;
    },
    _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, t4, t5) {
      var _ = this;
      _._debugInheritLocked = _._shouldNotifyDependents = false;
      _._provider$_firstBuild = true;
      _._isBuildFromExternalSources = _._updatedShouldNotify = false;
      _.___InheritedProviderScopeElement__debugId = _.___InheritedProviderScopeElement__delegateState = $;
      _._dependents = t0;
      _._framework$_parent = _._framework$_child = null;
      _._cachedHash = t1;
      _._slot = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._owner = null;
      _._lifecycleState = t3;
      _._debugForgottenChildrenWithGlobalKey = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t5;
    },
    _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 = _._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__inheritedElementOf_closure: function Provider__inheritedElementOf_closure(t0, t1) {
      this._box_0 = t0;
      this.T = t1;
    },
    Provider_debugCheckInvalidValueType_closure: function Provider_debugCheckInvalidValueType_closure() {
    },
    ProviderNotFoundException: function ProviderNotFoundException(t0, t1) {
      this.valueType = t0;
      this.widgetType = t1;
    },
    AutoDisposeProvider$: function(_create, $name, $T) {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new Y.AutoDisposeProvider(_create, $name, t1, $T._eval$1("AutoDisposeProvider<0>"));
    },
    Provider$0: function(_create, $name, $T) {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new Y.Provider0(_create, $name, t1, $T._eval$1("Provider0<0>"));
    },
    _ProviderStateMixin: function _ProviderStateMixin() {
    },
    AutoDisposeProvider: function AutoDisposeProvider(t0, t1, t2, t3) {
      var _ = this;
      _._provider0$_create = t0;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    _AutoDisposeProviderState: function _AutoDisposeProviderState(t0) {
      var _ = this;
      _.__ProviderStateBase__element = $;
      _._exposedValue = _._createdValue = null;
      _.$ti = t0;
    },
    AutoDisposeProviderFamily: function AutoDisposeProviderFamily(t0, t1, t2, t3) {
      var _ = this;
      _.builder = t0;
      _.name = t1;
      _._framework0$_cache = t2;
      _.$ti = t3;
    },
    AutoDisposeProviderFamily_create_closure: function AutoDisposeProviderFamily_create_closure(t0, t1, t2) {
      this.$this = t0;
      this.builder = t1;
      this.value = t2;
    },
    Provider0: function Provider0(t0, t1, t2, t3) {
      var _ = this;
      _._provider0$_create = t0;
      _.name = t1;
      _._argument = _._from = null;
      _.__ProviderBase_debugId = $;
      _._framework0$_cachedHash = t2;
      _.$ti = t3;
    },
    _ProviderState: function _ProviderState(t0) {
      var _ = this;
      _.__ProviderStateBase__element = $;
      _._exposedValue = _._createdValue = null;
      _.$ti = t0;
    },
    _AutoDisposeProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin: function _AutoDisposeProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin() {
    },
    _Provider_AlwaysAliveProviderBase_ProviderOverridesMixin: function _Provider_AlwaysAliveProviderBase_ProviderOverridesMixin() {
    },
    FileLocation$_: function(file, offset) {
      if (offset < 0)
        H.throwExpression(P.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (offset > file._decodedChars.length)
        H.throwExpression(P.RangeError$("Offset " + offset + string$.x20must_ + file.get$length(file) + "."));
      return new Y.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;
    },
    SourceSpanMixin: function SourceSpanMixin() {
    },
    Trace_Trace$from: function(trace) {
      if (type$.Trace._is(trace))
        return trace;
      if (type$.Chain._is(trace))
        return trace.toTrace$0();
      return new T.LazyTrace(new Y.Trace_Trace$from_closure(trace));
    },
    Trace_Trace$parse: function(trace) {
      var error, t1, exception;
      try {
        if (trace.length === 0) {
          t1 = Y.Trace$(H._setArrayType([], type$.JSArray_Frame), null);
          return t1;
        }
        if (C.JSString_methods.contains$1(trace, $.$get$_v8Trace())) {
          t1 = Y.Trace$parseV8(trace);
          return t1;
        }
        if (C.JSString_methods.contains$1(trace, "\tat ")) {
          t1 = Y.Trace$parseJSCore(trace);
          return t1;
        }
        if (C.JSString_methods.contains$1(trace, $.$get$_firefoxSafariTrace()) || C.JSString_methods.contains$1(trace, $.$get$_firefoxEvalTrace())) {
          t1 = Y.Trace$parseFirefox(trace);
          return t1;
        }
        if (C.JSString_methods.contains$1(trace, string$.x3d_____)) {
          t1 = U.Chain_Chain$parse(trace).toTrace$0();
          return t1;
        }
        if (C.JSString_methods.contains$1(trace, $.$get$_friendlyTrace())) {
          t1 = Y.Trace$parseFriendly(trace);
          return t1;
        }
        t1 = Y.Trace$parseVM(trace);
        return t1;
      } catch (exception) {
        t1 = H.unwrapException(exception);
        if (type$.FormatException._is(t1)) {
          error = t1;
          throw H.wrapException(P.FormatException$(H.S(J.get$message$x(error)) + "\nStack trace:\n" + trace, null, null));
        } else
          throw exception;
      }
    },
    Trace$parseVM: function(trace) {
      var t1 = P.List_List$unmodifiable(Y.Trace__parseVM(trace), type$.Frame);
      return new Y.Trace(t1, new P._StringStackTrace(trace == null ? "" : trace));
    },
    Trace__parseVM: function(trace) {
      var $frames,
        t1 = J.trim$0$s(trace),
        t2 = $.$get$vmChainGap(),
        t3 = type$.WhereIterable_String,
        lines = new H.WhereIterable(H._setArrayType(H.stringReplaceAllUnchecked(t1, t2, "").split("\n"), type$.JSArray_String), new Y.Trace__parseVM_closure(), t3);
      if (!lines.get$iterator(lines).moveNext$0())
        return H._setArrayType([], type$.JSArray_Frame);
      t1 = H.TakeIterable_TakeIterable(lines, lines.get$length(lines) - 1, t3._eval$1("Iterable.E"));
      t1 = H.MappedIterable_MappedIterable(t1, new Y.Trace__parseVM_closure0(), H._instanceType(t1)._eval$1("Iterable.E"), type$.Frame);
      $frames = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("Iterable.E"));
      if (!J.endsWith$1$s(lines.get$last(lines), ".da"))
        C.JSArray_methods.add$1($frames, A.Frame_Frame$parseVM(lines.get$last(lines)));
      return $frames;
    },
    Trace$parseV8: function(trace) {
      var t1 = H.SubListIterable$(H._setArrayType(trace.split("\n"), type$.JSArray_String), 1, null, type$.String).super$Iterable$skipWhile(0, new Y.Trace$parseV8_closure()),
        t2 = type$.Frame;
      t2 = P.List_List$unmodifiable(H.MappedIterable_MappedIterable(t1, new Y.Trace$parseV8_closure0(), t1.$ti._eval$1("Iterable.E"), t2), t2);
      return new Y.Trace(t2, new P._StringStackTrace(trace));
    },
    Trace$parseJSCore: function(trace) {
      var t1 = P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(H._setArrayType(trace.split("\n"), type$.JSArray_String), new Y.Trace$parseJSCore_closure(), type$.WhereIterable_String), new Y.Trace$parseJSCore_closure0(), type$.MappedIterable_String_Frame), type$.Frame);
      return new Y.Trace(t1, new P._StringStackTrace(trace));
    },
    Trace$parseFirefox: function(trace) {
      var t1 = P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(H._setArrayType(C.JSString_methods.trim$0(trace).split("\n"), type$.JSArray_String), new Y.Trace$parseFirefox_closure(), type$.WhereIterable_String), new Y.Trace$parseFirefox_closure0(), type$.MappedIterable_String_Frame), type$.Frame);
      return new Y.Trace(t1, new P._StringStackTrace(trace));
    },
    Trace$parseFriendly: function(trace) {
      var t1 = trace.length === 0 ? H._setArrayType([], type$.JSArray_Frame) : new H.MappedIterable(new H.WhereIterable(H._setArrayType(C.JSString_methods.trim$0(trace).split("\n"), type$.JSArray_String), new Y.Trace$parseFriendly_closure(), type$.WhereIterable_String), new Y.Trace$parseFriendly_closure0(), type$.MappedIterable_String_Frame);
      t1 = P.List_List$unmodifiable(t1, type$.Frame);
      return new Y.Trace(t1, new P._StringStackTrace(trace));
    },
    Trace$: function($frames, original) {
      var t1 = P.List_List$unmodifiable($frames, type$.Frame);
      return new Y.Trace(t1, new P._StringStackTrace(original == null ? "" : original));
    },
    Trace: function Trace(t0, t1) {
      this.frames = t0;
      this.original = 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;
    },
    UrlLauncherPlugin: function UrlLauncherPlugin(t0, t1) {
      this._url_launcher_web$_window = t0;
      this._isSafari = false;
      this._instanceToken = t1;
    },
    groupBy: function(values, key, $S, $T) {
      var t1, _i, element, t2, t3,
        map = P.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 = H._setArrayType([], t1);
          map.$indexSet(0, t2, t3);
          t2 = t3;
        } else
          t2 = t3;
        t2.push(element);
      }
      return map;
    }
  },
  Z = {ZLibDecoderBase: function ZLibDecoderBase() {
    }, ZLibDecoder: function ZLibDecoder() {
    },
    DdsExtension_getDartDevelopmentServiceVersion: function(_this) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Version),
        $async$returnValue, t1, $async$temp1;
      var $async$DdsExtension_getDartDevelopmentServiceVersion = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.DdsExtension__ddsVersion;
              $async$goto = t1 == null ? 3 : 4;
              break;
            case 3:
              // then
              $async$temp1 = $;
              $async$goto = 5;
              return P._asyncAwait(Z.DdsExtension__callHelper(_this, "getDartDevelopmentServiceVersion", C.Map_empty8, 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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$DdsExtension_getDartDevelopmentServiceVersion, $async$completer);
    },
    DdsExtension_getStreamHistory: function(_this, stream) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.StreamHistory),
        $async$returnValue, t1;
      var $async$DdsExtension_getStreamHistory = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(Z.DdsExtension__versionCheck(_this, 1, 2), $async$DdsExtension_getStreamHistory);
            case 3:
              // returning from await.
              if (!$async$result)
                throw H.wrapException(P.UnimplementedError$("getStreamHistory requires DDS version 1.2"));
              t1 = type$.dynamic;
              $async$returnValue = Z.DdsExtension__callHelper(_this, "getStreamHistory", P.LinkedHashMap_LinkedHashMap$_literal(["stream", stream], t1, t1), type$.StreamHistory);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$DdsExtension_getStreamHistory, $async$completer);
    },
    DdsExtension_onEventWithHistory: function(_this, stream) {
      var controller = H._Cell$named("controller"),
        streamEvents = H._Cell$named("streamEvents");
      controller.__late_helper$_value = P.StreamController_StreamController(new Z.DdsExtension_onEventWithHistory_closure(streamEvents), new Z.DdsExtension_onEventWithHistory_closure0(streamEvents, _this, stream, controller), null, false, type$.Event_2);
      return J.get$stream$z(controller._readLocal$0());
    },
    DdsExtension__versionCheck: function(_this, major, minor) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, t2, t1, $async$temp1;
      var $async$DdsExtension__versionCheck = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.DdsExtension__ddsVersion;
              $async$goto = t1 == null ? 3 : 4;
              break;
            case 3:
              // then
              $async$temp1 = $;
              $async$goto = 5;
              return P._asyncAwait(Z.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$DdsExtension__versionCheck, $async$completer);
    },
    DdsExtension__callHelper: function(_this, method, args, $T) {
      var t1, t2, t3;
      if (!$.DdsExtension__factoriesRegistered) {
        Q.addTypeFactory("StreamHistory", Z.vm_service_extensions_StreamHistory_parse$closure());
        $.DdsExtension__factoriesRegistered = true;
      }
      t1 = P.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.callMethod$2$args(method, t1).then$1$1(0, new Z.DdsExtension__callHelper_closure($T), $T);
    },
    StreamHistory_parse: function(json) {
      return json == null ? null : Z.StreamHistory$_fromJson(json);
    },
    StreamHistory$_fromJson: function(json) {
      var t1 = new Z.StreamHistory(J.cast$1$0$ax(J.toList$0$ax(J.map$1$ax(J.$index$asx(json, "history"), new Z.StreamHistory$_fromJson_closure())), type$.Event_2), null);
      t1.json = json;
      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._vm_service_extensions$_history = t0;
      this.json = t1;
    },
    StreamHistory$_fromJson_closure: function StreamHistory$_fromJson_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;
    },
    ScriptPicker: function ScriptPicker(t0, t1, t2, t3, t4) {
      var _ = this;
      _.controller = t0;
      _.scripts = t1;
      _.onSelected = t2;
      _.libraryFilterFocusNode = t3;
      _.key = t4;
    },
    ScriptPickerState: function ScriptPickerState(t0, t1, t2, t3) {
      var _ = this;
      _._filterController = t0;
      _._items = t1;
      _._filteredItems = t2;
      _._widget = _._rootScriptNodes = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    ScriptPickerState_build_closure: function ScriptPickerState_build_closure(t0) {
      this.$this = t0;
    },
    ScriptPickerState_build_closure1: function ScriptPickerState_build_closure1(t0) {
      this.$this = t0;
    },
    ScriptPickerState_build_closure0: function ScriptPickerState_build_closure0(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    ScriptPickerState__displayProvider_closure: function ScriptPickerState__displayProvider_closure(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.onTap = t2;
    },
    ScriptPickerState__updateFiltered_closure: function ScriptPickerState__updateFiltered_closure(t0) {
      this.filterText = t0;
    },
    CountBadge: function CountBadge(t0, t1, t2) {
      this.filteredItems = t0;
      this.items = t1;
      this.key = t2;
    },
    textStyleForLevel: function(level, colorScheme) {
      var t1, _null = null;
      switch (level) {
        case C.DiagnosticLevel_0:
          if (colorScheme.brightness === C.Brightness_1) {
            t1 = C.Map_HFpTk.$index(0, 500);
            t1.toString;
          } else {
            t1 = C.Map_HFpTk.$index(0, 600);
            t1.toString;
          }
          return A.TextStyle$(_null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        case C.DiagnosticLevel_4:
          if (colorScheme.brightness === C.Brightness_1) {
            t1 = C.Map_JNZaB.$index(0, 900);
            t1.toString;
          } else {
            t1 = C.Map_JNZaB.$index(0, 400);
            t1.toString;
          }
          return A.TextStyle$(_null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        case C.DiagnosticLevel_7:
          if (colorScheme.brightness === C.Brightness_1) {
            t1 = C.Map_JNc9P.$index(0, 500);
            t1.toString;
          } else {
            t1 = C.Map_JNc9P.$index(0, 400);
            t1.toString;
          }
          return A.TextStyle$(_null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        case C.DiagnosticLevel_2:
        case C.DiagnosticLevel_3:
        case C.DiagnosticLevel_1:
        default:
          return C.TextStyle_zIQ2;
      }
    },
    InspectorController$: function(detailsTree, inspectorService, inspectorTree, isSummaryTree, onExpandCollapseSupported, onLayoutExplorerSupported, $parent, treeType) {
      var _null = null,
        t1 = type$.nullable_void_Function;
      t1 = new Z.InspectorController(isSummaryTree, onExpandCollapseSupported, onLayoutExplorerSupported, $parent, inspectorTree, treeType, inspectorService, new E.InspectorObjectGroupManager(inspectorService, "tree"), new E.InspectorObjectGroupManager(inspectorService, "selection"), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_InspectorTreeNode), P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_InspectorInstanceRef, type$.legacy_InspectorTreeNode), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_int), K.Disposer$());
      t1.InspectorController$8$detailsTree$inspectorService$inspectorTree$isSummaryTree$onExpandCollapseSupported$onLayoutExplorerSupported$parent$treeType(detailsTree, inspectorService, inspectorTree, isSummaryTree, onExpandCollapseSupported, onLayoutExplorerSupported, $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, t10, t11, t12) {
      var _ = this;
      _._clientCount = 0;
      _.isSummaryTree = t0;
      _.onExpandCollapseSupported = t1;
      _.onLayoutExplorerSupported = t2;
      _.parent = t3;
      _.details = null;
      _.inspectorTree = t4;
      _.treeType = t5;
      _.inspectorService = t6;
      _._activeIsolate = _.flutterIsolateSubscription = null;
      _._inspector_controller$_disposed = false;
      _._refreshRateLimiter = null;
      _._treeGroups = t7;
      _._inspector_controller$_selectionGroups = t8;
      _.treeLoadStarted = _.flutterAppFrameReady = false;
      _.subtreeRoot = null;
      _.programaticSelectionChangeInProgress = false;
      _._selectedNode = t9;
      _.isActive = false;
      _.valueToInspectorTreeNode = t10;
      _.visibleToUser = false;
      _._selectedErrorIndex = t11;
      _.AutoDisposeControllerMixin__delegate = t12;
    },
    InspectorController_closure: function InspectorController_closure(t0) {
      this.$this = t0;
    },
    InspectorController_closure0: function InspectorController_closure0(t0) {
      this.$this = t0;
    },
    InspectorController_filterErrors_closure: function InspectorController_filterErrors_closure(t0) {
      this.$this = t0;
    },
    InspectorController__onVersionSupported_closure: function InspectorController__onVersionSupported_closure(t0, t1, t2) {
      this.flutterVersionServiceListenable = t0;
      this.version = t1;
      this.callback = t2;
    },
    _InspectorController_DisposableController_AutoDisposeControllerMixin: function _InspectorController_DisposableController_AutoDisposeControllerMixin() {
    },
    collect: function(controller, snapshot) {
      var t1, t2, t3, t4, _i, library, externalsToAnalyze, t5, t6, _i0, t7, liveExternal, liveClass, t8, instances, filtersToAnalyze, _i1, t9, t10, librariesToAnalyze,
        result = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_List_legacy_Reference),
        root = snapshot.libraryRoot,
        heapGraph = controller.heapGraph;
      for (t1 = root.children, t2 = t1.length, t3 = type$.JSArray_legacy_ClassReference, t4 = type$.JSArray_legacy_ExternalReference, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        library = t1[_i];
        if (library.isExternals) {
          externalsToAnalyze = H._setArrayType([], t4);
          for (t5 = library.children, t6 = t5.length, _i0 = 0; _i0 < t5.length; t5.length === t6 || (0, H.throwConcurrentModificationError)(t5), ++_i0) {
            t7 = t5[_i0];
            liveExternal = t7.liveExternal;
            liveClass = liveExternal.live.theClass;
            t8 = P.RegExp_RegExp($.$get$knownClassesRegExs(), true, false).allMatches$1(0, liveClass.origin._snapshot_graph$_name);
            if (!t8.get$isEmpty(t8)) {
              instances = liveClass.getInstances$1(heapGraph);
              externalsToAnalyze.push(t7);
              "" + instances.length;
              "" + liveExternal.externalProperty.externalSize;
            }
          }
          result.$indexSet(0, "externals", externalsToAnalyze);
        } else if (library.isFiltered) {
          filtersToAnalyze = H._setArrayType([], t3);
          for (t5 = library.children, t6 = t5.length, _i0 = 0; _i0 < t5.length; t5.length === t6 || (0, H.throwConcurrentModificationError)(t5), ++_i0) {
            for (t7 = t5[_i0].children, t8 = t7.length, _i1 = 0; _i1 < t7.length; t7.length === t8 || (0, H.throwConcurrentModificationError)(t7), ++_i1) {
              t9 = t7[_i1];
              liveClass = t9.actualClass;
              t10 = P.RegExp_RegExp($.$get$knownClassesRegExs(), true, false).allMatches$1(0, liveClass.origin._snapshot_graph$_name);
              if (!t10.get$isEmpty(t10)) {
                filtersToAnalyze.push(t9);
                instances = liveClass.getInstances$1(heapGraph);
                H.S(t9.name);
                "" + instances.length;
              }
            }
            result.$indexSet(0, "filters", filtersToAnalyze);
          }
        } else if (library.isLibrary) {
          librariesToAnalyze = H._setArrayType([], t3);
          for (t5 = library.children, t6 = t5.length, _i0 = 0; _i0 < t5.length; t5.length === t6 || (0, H.throwConcurrentModificationError)(t5), ++_i0) {
            t7 = t5[_i0];
            liveClass = t7.actualClass;
            t8 = P.RegExp_RegExp($.$get$knownClassesRegExs(), true, false).allMatches$1(0, liveClass.origin._snapshot_graph$_name);
            if (!t8.get$isEmpty(t8)) {
              librariesToAnalyze.push(t7);
              instances = liveClass.getInstances$1(heapGraph);
              H.S(t7.name);
              "" + instances.length;
            }
          }
          result.$indexSet(0, "libraries", librariesToAnalyze);
        }
      }
      return result;
    },
    imageAnalysis: function(controller, analysisSnapshot, collectedData) {
      collectedData.forEach$1(0, new Z.imageAnalysis_closure(analysisSnapshot, controller));
    },
    processMatches: function(controller, matches) {
      var t3, imageCacheNode, pendingNode, cacheNode, liveNode, pendingInstance, cacheInstance, liveInstance,
        _s10_ = "__FIELDS__",
        _null = null, _s6_ = "Images", t1 = {},
        t2 = type$.JSArray_legacy_AnalysisField,
        pending = new T.AnalysisField(_s10_, _null, H._setArrayType([], t2)),
        cache = new T.AnalysisField(_s10_, _null, H._setArrayType([], t2)),
        live = new T.AnalysisField(_s10_, _null, H._setArrayType([], t2));
      t1.countLive = t1.countCache = t1.countPending = 0;
      t1.imageCacheFound = false;
      matches.forEach$1(0, new Z.processMatches_closure(t1, pending, cache, live));
      if (t1.imageCacheFound) {
        t2 = t1.countPending;
        t3 = t1.countCache;
        t1 = t1.countLive;
        imageCacheNode = T.AnalysisReference$("ImageCache", t2 + t3 + t1, _null);
        pendingNode = T.AnalysisReference$("Pending", t2, _null);
        cacheNode = T.AnalysisReference$("Cache", t3, _null);
        liveNode = T.AnalysisReference$("Live", t1, _null);
        pendingInstance = T.AnalysisInstance$(controller, _s6_, pending);
        cacheInstance = T.AnalysisInstance$(controller, _s6_, cache);
        liveInstance = T.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: function(msg) {
      return;
    },
    drillIn: function(controller, librariesNode, references) {
      var t1, t2, t3, t4, t5, instanceIndex, _i, fields, t6, _i0, field, t7, t8, t9, result0,
        result = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_List_legacy_String),
        matcher = new Z.ObjectMatcher(new Z.drillIn_closure(result));
      for (t1 = J.get$iterator$ax(references), t2 = type$.JSArray_legacy_HeapGraphElement, t3 = type$.JSArray_legacy_AnalysisField; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        t5 = t4.name;
        if (!C.Map_UqKiG.containsKey$1(0, t5))
          continue;
        T.computeInstanceForClassReference(controller, t4);
        $.$get$fieldsStack()._fields.push(t5);
        Z._debugMonitor("Class " + H.S(t5) + " Instance=0");
        for (t4 = t4.children, t5 = t4.length, instanceIndex = 0, _i = 0; _i < t4.length; t4.length === t5 || (0, H.throwConcurrentModificationError)(t4), ++_i) {
          fields = t4[_i].instance.getFields$0();
          for (t6 = fields.length, _i0 = 0; _i0 < fields.length; fields.length === t6 || (0, H.throwConcurrentModificationError)(fields), ++_i0) {
            field = fields[_i0];
            t7 = field.value;
            if (t7.get$isSentinel())
              continue;
            if (t7._references == null && t7.referencesFiller != null) {
              t7._references = H._setArrayType([], t2);
              t7.referencesFiller.call$0();
            }
            if (t7._references.length !== 0) {
              t8 = field.key;
              Z._debugMonitor(H.S(t8) + " OBJECT Start");
              t9 = H._setArrayType([], t3);
              $.$get$fieldsStack()._fields.push(t8);
              Z.displayObject(matcher, new T.AnalysisField(t8, "", t9), t7, false, 0);
              $.$get$fieldsStack()._fields.pop();
              Z._debugMonitor(H.S(t8) + " OBJECT End");
            } else {
              t7 = t7.origin;
              t8 = t7.__HeapSnapshotObject__data;
              switch (J.get$runtimeType$(t8 === $ ? H.throwExpression(H.LateError$fieldNI("_data")) : t8)) {
                case C.Type_HeapSnapshotObjectNullData_Grj:
                case C.Type_HeapSnapshotObjectNoData_a9w:
                case C.Type_Null_Yyn:
                case C.Type_TypeArguments_wH3:
                  result0 = null;
                  break;
                default:
                  t7 = t7.__HeapSnapshotObject__data;
                  result0 = H.S(t7 === $ ? H.throwExpression(H.LateError$fieldNI("_data")) : t7);
              }
              t7 = field.key;
              if (result0 != null) {
                $.$get$fieldsStack()._fields.push(t7);
                matcher.findFieldMatch$2($.$get$fieldsStack(), result0);
                $.$get$fieldsStack()._fields.pop();
                Z._debugMonitor(H.S(t7) + " = " + result0);
              } else
                Z._debugMonitor(H.S(t7) + " Skipped null");
            }
          }
          ++instanceIndex;
        }
        $.$get$fieldsStack()._fields.pop();
      }
      return result;
    },
    displayObject: function(matcher, objectField, live, createTreeNodes, depth) {
      var fields, t1, t2, t3, _i, field, t4, t5, t6, t7, _i0, ref, t8, continueResult, result;
      if (depth >= 4)
        return null;
      if (live.get$references().length === 0)
        return true;
      fields = live.getFields$0();
      for (t1 = fields.length, t2 = type$.JSArray_legacy_AnalysisField, t3 = type$.JSArray_legacy_HeapGraphElement, _i = 0; _i < fields.length; fields.length === t1 || (0, H.throwConcurrentModificationError)(fields), ++_i) {
        field = fields[_i];
        t4 = field.value;
        if (t4.get$isSentinel())
          continue;
        if (t4._references == null && t4.referencesFiller != null) {
          t4._references = H._setArrayType([], t3);
          t4.referencesFiller.call$0();
        }
        t5 = t4._references;
        t6 = t5.length;
        t7 = field.key;
        _i0 = 0;
        for (; _i0 < t5.length; t5.length === t6 || (0, H.throwConcurrentModificationError)(t5), ++_i0) {
          ref = t5[_i0];
          if (ref.get$isSentinel())
            continue;
          if (ref.getFields$0().length === 0)
            continue;
          t8 = H._setArrayType([], t2);
          Z._debugMonitor(H.S(t7) + " OBJECT start [depth=" + depth + "]");
          ++depth;
          $.$get$fieldsStack()._fields.push(t7);
          continueResult = Z.displayObject(matcher, new T.AnalysisField(t7, "", t8), ref, false, depth);
          $.$get$fieldsStack()._fields.pop();
          --depth;
          if (continueResult == null)
            continue;
          Z._debugMonitor(H.S(t7) + " OBJECT end  [depth=" + depth + "]");
        }
        t4 = t4.origin;
        t5 = t4.__HeapSnapshotObject__data;
        switch (J.get$runtimeType$(t5 === $ ? H.throwExpression(H.LateError$fieldNI("_data")) : t5)) {
          case C.Type_HeapSnapshotObjectNullData_Grj:
          case C.Type_HeapSnapshotObjectNoData_a9w:
          case C.Type_Null_Yyn:
          case C.Type_TypeArguments_wH3:
            result = null;
            break;
          default:
            t4 = t4.__HeapSnapshotObject__data;
            result = H.S(t4 === $ ? H.throwExpression(H.LateError$fieldNI("_data")) : t4);
        }
        if (result != null) {
          $.$get$fieldsStack()._fields.push(t7);
          matcher.findFieldMatch$2($.$get$fieldsStack(), result);
          $.$get$fieldsStack()._fields.pop();
          Z._debugMonitor(H.S(t7) + "=" + 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) {
      var _ = this;
      _.controller = null;
      _.treeColumn = t0;
      _.columns = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._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() {
    },
    ProfilerScreenController: function ProfilerScreenController(t0, t1, t2) {
      this._exportController = t0;
      this._profiler_screen_controller$_recordingNotifier = t1;
      this.CpuProfilerControllerProviderMixin_cpuProfilerController = t2;
    },
    _ProfilerScreenController_Object_CpuProfilerControllerProviderMixin: function _ProfilerScreenController_Object_CpuProfilerControllerProviderMixin() {
    },
    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;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _ProviderListState_build_closure: function _ProviderListState_build_closure(t0) {
      this.$this = t0;
    },
    _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.context = t1;
    },
    _hasErrorProvider_closure: function _hasErrorProvider_closure() {
    },
    _selectedProviderNode_closure: function _selectedProviderNode_closure() {
    },
    _selectedProviderNode__closure: function _selectedProviderNode__closure(t0) {
      this.selectedId = t0;
    },
    _selectedProviderNode__closure0: function _selectedProviderNode__closure0() {
    },
    _showInternals_closure: function _showInternals_closure() {
    },
    ProviderScreen: function ProviderScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.screenId = t0;
      _.title = t1;
      _.icon = t2;
      _.tabKey = t3;
      _.requiresLibrary = t4;
      _.requiresDartVm = t5;
      _.requiresDebugBuild = t6;
      _.requiresVmDeveloperMode = t7;
      _.worksOffline = t8;
      _.shouldShowForFlutterVersion = t9;
    },
    ProviderScreenBody: function ProviderScreenBody(t0) {
      this.key = t0;
    },
    ProviderScreenBody_build_closure0: function ProviderScreenBody_build_closure0() {
    },
    ProviderScreenBody_build_closure: function ProviderScreenBody_build_closure(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, t1) {
      this.$this = t0;
      this.context = t1;
    },
    _StateInspectorSettingsDialog_build_closure: function _StateInspectorSettingsDialog_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    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;
    },
    FlippedCurve: function FlippedCurve(t0) {
      this.curve = t0;
    },
    _DecelerateCurve: function _DecelerateCurve() {
    },
    RawMaterialButton$: function(autofocus, child, clipBehavior, constraints, disabledElevation, elevation, enableFeedback, fillColor, focusColor, focusElevation, focusNode, highlightColor, highlightElevation, hoverColor, hoverElevation, materialTapTargetSize, mouseCursor, onPressed, shape, splashColor, textStyle) {
      return new Z.RawMaterialButton(onPressed, mouseCursor, textStyle, fillColor, focusColor, hoverColor, highlightColor, 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, t21) {
      var _ = this;
      _.onPressed = t0;
      _.mouseCursor = t1;
      _.textStyle = t2;
      _.fillColor = t3;
      _.focusColor = t4;
      _.hoverColor = t5;
      _.highlightColor = t6;
      _.splashColor = t7;
      _.elevation = t8;
      _.hoverElevation = t9;
      _.focusElevation = t10;
      _.highlightElevation = t11;
      _.disabledElevation = t12;
      _.constraints = t13;
      _.shape = t14;
      _.child = t15;
      _.materialTapTargetSize = t16;
      _.focusNode = t17;
      _.autofocus = t18;
      _.clipBehavior = t19;
      _.enableFeedback = t20;
      _.key = t21;
    },
    _RawMaterialButtonState: function _RawMaterialButtonState(t0, t1) {
      var _ = this;
      _._states = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _RawMaterialButtonState__handleHighlightChanged_closure: function _RawMaterialButtonState__handleHighlightChanged_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    _RawMaterialButtonState__handleHoveredChanged_closure: function _RawMaterialButtonState__handleHoveredChanged_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    _RawMaterialButtonState__handleFocusedChanged_closure: function _RawMaterialButtonState__handleFocusedChanged_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    _InputPadding: function _InputPadding(t0, t1, t2) {
      this.minSize = t0;
      this.child = t1;
      this.key = t2;
    },
    _RenderInputPadding: function _RenderInputPadding(t0, t1) {
      var _ = this;
      _._minSize = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    _RenderInputPadding_hitTest_closure: function _RenderInputPadding_hitTest_closure(t0, t1) {
      this.$this = t0;
      this.center = t1;
    },
    DataTableThemeData__lerpProperties: function(a, b, t, lerpFunction, $T) {
      if (a == null && b == null)
        return null;
      return new Z._LerpProperties2(a, b, t, lerpFunction, $T._eval$1("_LerpProperties2<0>"));
    },
    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;
    },
    _LerpProperties2: function _LerpProperties2(t0, t1, t2, t3, t4) {
      var _ = this;
      _.a = t0;
      _.b = t1;
      _.t = t2;
      _.lerpFunction = t3;
      _.$ti = t4;
    },
    _DataTableThemeData_Object_Diagnosticable: function _DataTableThemeData_Object_Diagnosticable() {
    },
    Divider$: function(color, height) {
      return new Z.Divider(height, null, color, null);
    },
    Divider_createBorderSide: function(context, color, width) {
      var t1, effectiveColor, effectiveWidth;
      if (color == null) {
        t1 = G.DividerTheme_of(context).color;
        if (t1 == null)
          t1 = K.Theme_of(context).dividerColor;
        effectiveColor = t1;
      } else
        effectiveColor = color;
      effectiveWidth = width;
      if (effectiveColor == null)
        return new Y.BorderSide(C.Color_4278190080, effectiveWidth, C.BorderStyle_1);
      return new Y.BorderSide(effectiveColor, effectiveWidth, C.BorderStyle_1);
    },
    Divider: function Divider(t0, t1, t2, t3) {
      var _ = this;
      _.height = t0;
      _.thickness = t1;
      _.color = t2;
      _.key = t3;
    },
    VerticalDivider: function VerticalDivider(t0) {
      this.key = t0;
    },
    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;
    },
    PopupMenuItem$: function(child, value, $T) {
      return new Z.PopupMenuItem(value, child, null, $T._eval$1("PopupMenuItem<0>"));
    },
    PopupMenuButton$: function(child, enabled, itemBuilder, offset, onSelected, tooltip, $T) {
      return new Z.PopupMenuButton(itemBuilder, onSelected, tooltip, child, offset, enabled, null, $T._eval$1("PopupMenuButton<0>"));
    },
    PopupMenuEntry: function PopupMenuEntry() {
    },
    _MenuItem0: function _MenuItem0(t0, t1, t2) {
      this.onLayout = t0;
      this.child = t1;
      this.key = t2;
    },
    _RenderMenuItem0: function _RenderMenuItem0(t0, t1) {
      var _ = this;
      _.onLayout = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _._layer = null;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._node$_owner = null;
    },
    PopupMenuItem: function PopupMenuItem(t0, t1, t2, t3) {
      var _ = this;
      _.value = t0;
      _.child = t1;
      _.key = t2;
      _.$ti = t3;
    },
    PopupMenuItemState: function PopupMenuItemState(t0, t1) {
      var _ = this;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _PopupMenu: function _PopupMenu(t0, t1, t2, t3) {
      var _ = this;
      _.route = t0;
      _.semanticLabel = t1;
      _.key = t2;
      _.$ti = t3;
    },
    _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) {
      var _ = this;
      _.position = t0;
      _.itemSizes = t1;
      _.selectedItemIndex = t2;
      _.textDirection = t3;
      _.padding = t4;
    },
    _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) {
      var _ = this;
      _.position = t0;
      _.items = t1;
      _.itemSizes = t2;
      _.initialValue = t3;
      _.elevation = t4;
      _.semanticLabel = t5;
      _.shape = t6;
      _.color = t7;
      _.capturedThemes = t8;
      _.barrierLabel = t9;
      _.filter = t10;
      _._offstage = false;
      _._secondaryAnimationProxy = _._animationProxy = null;
      _._willPopCallbacks = t11;
      _._scopeKey = t12;
      _._subtreeKey = t13;
      _._storageBucket = t14;
      _.__ModalRoute__modalBarrier = $;
      _._modalScopeCache = null;
      _.__ModalRoute__modalScope = $;
      _.LocalHistoryRoute__localHistory = t15;
      _._transitionCompleter = t16;
      _._routes$_controller = _._animation = null;
      _._secondaryAnimation = t17;
      _._trainHoppingListenerRemover = _._result = null;
      _._overlayEntries = t18;
      _._navigator$_navigator = null;
      _._settings = t19;
      _._restorationScopeId = t20;
      _._popCompleter = t21;
      _.$ti = t22;
    },
    _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) {
      var _ = this;
      _.itemBuilder = t0;
      _.onSelected = t1;
      _.tooltip = t2;
      _.child = t3;
      _.offset = t4;
      _.enabled = t5;
      _.key = t6;
      _.$ti = t7;
    },
    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;
    },
    TextField$: function(autofocus, controller, cursorColor, decoration, enabled, focusNode, inputFormatters, key, keyboardType, onChanged, onEditingComplete, onSubmitted, style) {
      var t1;
      if (keyboardType == null)
        t1 = C.TextInputType_0_null_null;
      else
        t1 = keyboardType;
      return new Z.TextField0(controller, focusNode, decoration, t1, style, autofocus, C.SmartDashesType_1, C.SmartQuotesType_1, C.ToolbarOptions_true_true_true, onChanged, onEditingComplete, onSubmitted, inputFormatters, enabled, cursorColor, key);
    },
    _TextFieldSelectionGestureDetectorBuilder: function _TextFieldSelectionGestureDetectorBuilder(t0, t1) {
      var _ = this;
      _._text_field$_state = t0;
      _.delegate = t1;
      _._shouldShowSelectionToolbar = true;
      _._dragStartViewportOffset = 0;
    },
    TextField0: function TextField0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      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;
      _.key = t15;
    },
    _TextFieldState: function _TextFieldState(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._focusNode = _._text_field$_controller = null;
      _._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__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, t1, t2) {
      this.$this = t0;
      this.focusNode = t1;
      this.controller = t2;
    },
    _TextFieldState_build_closure1: function _TextFieldState_build_closure1(t0) {
      this.$this = t0;
    },
    _TextFieldState_build_closure2: function _TextFieldState_build_closure2(t0) {
      this.$this = t0;
    },
    _TextFieldState_build_closure3: function _TextFieldState_build_closure3(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() {
    },
    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;
    },
    Decoration_lerp: function(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() {
    },
    Router_of: function(context, $T) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$._RouterScope).routerState._widget;
      t1.toString;
      return $T._eval$1("Router<0>")._as(t1);
    },
    Router_neglect: function(context, callback) {
      var t1 = type$._RouterScope;
      t1 = t1._as(context.getElementForInheritedWidgetOfExactType$1$0(t1).get$widget()).routerState;
      t1._currentIntentionToReport = C._IntentionToReportRouteInformation_3;
      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;
    },
    _IntentionToReportRouteInformation: function _IntentionToReportRouteInformation(t0, t1) {
      this.index = t0;
      this._router$_name = t1;
    },
    _RouterState: function _RouterState(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._currentRouterDelegateTransaction = _._currentRouteInformationParserTransaction = null;
      _._currentIntentionToReport = t0;
      _._routeInformation = t1;
      _._routeInformationReportingTaskScheduled = false;
      _._lastSeenLocation = null;
      _.RestorationMixin__bucket = t2;
      _.RestorationMixin__properties = t3;
      _.RestorationMixin__debugPropertiesWaitingForReregistration = t4;
      _.RestorationMixin__firstRestorePending = t5;
      _.RestorationMixin__currentParent = t6;
      _._widget = null;
      _._debugLifecycleState = t7;
      _._framework$_element = null;
      _.$ti = t8;
    },
    _RouterState_restoreState_closure: function _RouterState_restoreState_closure(t0) {
      this.$this = t0;
    },
    _RouterState_restoreState_closure0: function _RouterState_restoreState_closure0(t0) {
      this.$this = t0;
    },
    _RouterState__handleRouteInformationProviderNotification_closure: function _RouterState__handleRouteInformationProviderNotification_closure(t0) {
      this.$this = t0;
    },
    _RouterState__handleBackButtonDispatcherNotification_closure: function _RouterState__handleBackButtonDispatcherNotification_closure(t0) {
      this.$this = t0;
    },
    _RouterState__verifyRouteInformationParserStillCurrent_closure: function _RouterState__verifyRouteInformationParserStillCurrent_closure(t0, t1, t2) {
      this.$this = t0;
      this.transaction = t1;
      this.originalWidget = t2;
    },
    _RouterState__verifyRouterDelegatePushStillCurrent_closure: function _RouterState__verifyRouterDelegatePushStillCurrent_closure(t0, t1, t2) {
      this.$this = t0;
      this.transaction = t1;
      this.originalWidget = t2;
    },
    _RouterState__verifyRouterDelegatePopStillCurrent_closure: function _RouterState__verifyRouterDelegatePopStillCurrent_closure(t0, t1, t2) {
      this.$this = t0;
      this.transaction = t1;
      this.originalWidget = t2;
    },
    _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._callbacks = t0;
    },
    RouteInformationParser: function RouteInformationParser() {
    },
    RouterDelegate: function RouterDelegate() {
    },
    RouteInformationProvider: function RouteInformationProvider() {
    },
    PlatformRouteInformationProvider: function PlatformRouteInformationProvider(t0, t1) {
      var _ = this;
      _._router$_value = t0;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.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() {
    },
    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) {
      var _ = this;
      _._currentTween = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
      _.$ti = t2;
    },
    _TweenAnimationBuilderState_forEachTween_closure: function _TweenAnimationBuilderState_forEachTween_closure() {
    },
    ByteStream: function ByteStream(t0) {
      this._stream = t0;
    },
    ByteStream_toBytes_closure: function ByteStream_toBytes_closure(t0) {
      this.completer = t0;
    },
    CaseInsensitiveMap$from: function(other, $V) {
      var t1 = new Z.CaseInsensitiveMap(new Z.CaseInsensitiveMap$from_closure(), P.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() {
    },
    JpegDecoder: function JpegDecoder() {
    },
    InputBuffer$: function(buffer, bigEndian, $length, offset) {
      return new Z.InputBuffer(buffer, offset, $length == null ? J.get$length$asx(buffer) : offset + $length, offset, bigEndian);
    },
    InputBuffer$from: function(other, $length, offset) {
      var t1 = other.buffer,
        t2 = other.offset + offset,
        t3 = other.start,
        t4 = $length == null ? other.end : t2 + $length;
      return new Z.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;
    },
    LineScanner$: function(string, position) {
      var t1 = new Z.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;
    },
    CpuProfilerExtension_getCpuProfile: function(_this, extentMicros, startMicros) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_CpuProfileData),
        $async$returnValue, t1, t2;
      var $async$CpuProfilerExtension_getCpuProfile = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate;
              $async$goto = 3;
              return P._asyncAwait(t1.getCpuProfileTimeline$3(t2.get$id(t2), startMicros, extentMicros), $async$CpuProfilerExtension_getCpuProfile);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$CpuProfilerExtension_getCpuProfile, $async$completer);
    },
    CpuProfilerExtension_enableCpuProfiler: function(_this) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, t3, t1, t2;
      var $async$CpuProfilerExtension_enableCpuProfiler = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = t1._vmService;
              t2.toString;
              t3 = type$.dynamic;
              $async$goto = 3;
              return P._asyncAwait(t1.trackFuture$1$2("setFlag", t2._call$1$2(0, "setFlag", P.LinkedHashMap_LinkedHashMap$_literal(["name", "profiler", "value", "true"], t3, t3), type$.Response), type$.legacy_Response), $async$CpuProfilerExtension_enableCpuProfiler);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$CpuProfilerExtension_enableCpuProfiler, $async$completer);
    },
    debugBits32: function(value) {
      var i, t1;
      if (value == null)
        return "null";
      for (i = 32, t1 = ""; i > -1; --i)
        t1 += (value & C.JSInt_methods.$shl(1, i)) >>> 0 === 0 ? "0" : "1";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  var holders = [A, B, C, D, E, F, G, H, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z];
  hunkHelpers.setFunctionNamesIfNecessary(holders);
  var $ = {};
  H.initializeEngine_closure.prototype = {
    call$2: function(_, __) {
      var t1, _i;
      for (t1 = $._hotRestartListeners.length, _i = 0; _i < $._hotRestartListeners.length; $._hotRestartListeners.length === t1 || (0, H.throwConcurrentModificationError)($._hotRestartListeners), ++_i)
        $._hotRestartListeners[_i].call$0();
      return P.Future_Future$value(P.ServiceExtensionResponse$result("OK"), type$.ServiceExtensionResponse);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 343
  };
  H.initializeEngine_closure0.prototype = {
    call$0: function() {
      var t1 = this._box_0;
      if (!t1.waitingForAnimation) {
        t1.waitingForAnimation = true;
        C.Window_methods.requestAnimationFrame$1(window, new H.initializeEngine__closure(t1));
      }
    },
    $signature: 0
  };
  H.initializeEngine__closure.prototype = {
    call$1: function(highResTime) {
      var highResTimeMicroseconds, t1, t2, t3;
      H._frameTimingsOnVsync();
      this._box_0.waitingForAnimation = false;
      highResTimeMicroseconds = C.JSNumber_methods.toInt$0(1000 * highResTime);
      H._frameTimingsOnBuildStart();
      t1 = $.$get$EnginePlatformDispatcher__instance();
      t2 = t1._onBeginFrame;
      if (t2 != null) {
        t3 = P.Duration$(highResTimeMicroseconds, 0);
        H.invoke1(t2, t1._onBeginFrameZone, t3, type$.Duration);
      }
      t2 = t1._onDrawFrame;
      if (t2 != null)
        H.invoke(t2, t1._onDrawFrameZone);
    },
    $signature: 195
  };
  H._addUrlStrategyListener_closure.prototype = {
    call$1: function(jsStrategy) {
      var t1 = jsStrategy == null ? null : new H.CustomUrlStrategy(jsStrategy);
      $._isUrlStrategySet = true;
      $._customUrlStrategy = t1;
    },
    $signature: 572
  };
  H._addUrlStrategyListener_closure0.prototype = {
    call$0: function() {
      self._flutter_web_set_location_strategy = null;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.NullTreeSanitizer.prototype = {
    sanitizeTree$1: function(node) {
    }
  };
  H.AlarmClock.prototype = {
    get$callback: function() {
      var t1 = this.__AlarmClock_callback;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("callback")) : t1;
    },
    set$datetime: function(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._core$_value;
      t2 = now._core$_value;
      if (t1 < t2) {
        _this._cancelTimer$0();
        _this._datetime = value;
        return;
      }
      if (_this._timer == null)
        _this._timer = P.Timer_Timer(P.Duration$(0, t1 - t2), _this.get$_timerDidFire());
      else if (_this._datetime._core$_value > t1) {
        _this._cancelTimer$0();
        _this._timer = P.Timer_Timer(P.Duration$(0, t1 - t2), _this.get$_timerDidFire());
      }
      _this._datetime = value;
    },
    _cancelTimer$0: function() {
      var t1 = this._timer;
      if (t1 != null)
        t1.cancel$0(0);
      this._timer = null;
    },
    _timerDidFire$0: function() {
      var t2, _this = this,
        now = _this._timestampFunction.call$0(),
        t1 = _this._datetime;
      t1.toString;
      t2 = now._core$_value;
      t1 = t1._core$_value;
      if (t2 >= t1) {
        _this._timer = null;
        _this.callback$0();
      } else
        _this._timer = P.Timer_Timer(P.Duration$(0, t1 - t2), _this.get$_timerDidFire());
    },
    callback$0: function() {
      return this.get$callback().call$0();
    }
  };
  H.AssetManager.prototype = {
    get$_baseUrl: function() {
      var t1 = new H.WhereTypeIterable(new W._FrozenElementList(window.document.querySelectorAll("meta"), type$._FrozenElementList_Element), type$.WhereTypeIterable_nullable_MetaElement).firstWhere$2$orElse(0, new H.AssetManager__baseUrl_closure(), new H.AssetManager__baseUrl_closure0());
      return t1 == null ? null : t1.content;
    },
    getAssetUrl$1: function(asset) {
      var t1;
      if (P.Uri_parse(asset, 0, null).get$hasScheme())
        return P._Uri__uriEncode(C.List_gnE, asset, C.Utf8Codec_false, false);
      t1 = this.get$_baseUrl();
      if (t1 == null)
        t1 = "";
      return P._Uri__uriEncode(C.List_gnE, t1 + ("assets/" + H.S(asset)), C.Utf8Codec_false, false);
    },
    load$1: function(_, asset) {
      return this.load$body$AssetManager(0, asset);
    },
    load$body$AssetManager: function(_, asset) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.ByteData),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, request, response, e, target, t1, exception, url, $async$exception;
      var $async$load$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              url = $async$self.getAssetUrl$1(asset);
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait(W.HttpRequest_request(url, null, "arraybuffer", null, null), $async$load$1);
            case 7:
              // returning from await.
              request = $async$result;
              response = W._convertNativeToDart_XHR_Response(request.response);
              t1 = J.asByteData$0$x(response);
              $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 = H.unwrapException($async$exception);
              if (type$.ProgressEvent._is(t1)) {
                e = t1;
                target = W._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 `" + H.S(url) + "` \u2013 ignoring.");
                    $async$returnValue = H.NativeByteData_NativeByteData$view(new Uint8Array(H._ensureNativeList(C.Utf8Codec_false.get$encoder().convert$1("{}"))).buffer, 0, null);
                    // goto return
                    $async$goto = 1;
                    break;
                  }
                  t1 = target.status;
                  t1.toString;
                  throw H.wrapException(new H.AssetManagerException(url, t1));
                }
                $.$get$printWarning().call$1("Caught ProgressEvent with target: " + H.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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$load$1, $async$completer);
    }
  };
  H.AssetManager__baseUrl_closure.prototype = {
    call$1: function(e) {
      return J.$eq$(J.get$name$x(e), "assetBase");
    },
    $signature: 54
  };
  H.AssetManager__baseUrl_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  H.AssetManagerException.prototype = {
    toString$0: function(_) {
      return 'Failed to load asset at "' + H.S(this.url) + '" (' + H.S(this.httpStatus) + ")";
    },
    $isException: 1
  };
  H.BrowserEngine.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.OperatingSystem.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H._CanvasPool.prototype = {
    get$context: function(_) {
      var t1,
        ctx = this._context;
      if (ctx == null) {
        this._createCanvas$0();
        t1 = this._context;
        t1.toString;
        ctx = t1;
      }
      return ctx;
    },
    get$contextHandle: function() {
      if (this.__engine$_canvas == null)
        this._createCanvas$0();
      var t1 = this._contextHandle;
      t1.toString;
      return t1;
    },
    _createCanvas$0: function() {
      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 = C.JSArray_methods.removeAt$1(t1, 0);
        _this.__engine$_canvas = canvas0;
        canvas = canvas0;
        reused = true;
        requiresClearRect = true;
      } else {
        t1 = _this._widthInBitmapPixels;
        t2 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
        t3 = _this._heightInBitmapPixels;
        t4 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
        canvas = _this._allocCanvas$2(t1, t3);
        t5 = canvas;
        _this.__engine$_canvas = t5;
        if (t5 == null) {
          H._reduceCanvasMemoryUsage();
          canvas = _this._allocCanvas$2(t1, t3);
        }
        t5 = canvas.style;
        t5.position = "absolute";
        t1 = H.S(t1 / t2) + "px";
        t5.width = t1;
        t1 = H.S(t3 / t4) + "px";
        t5.height = t1;
        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._context = canvas.getContext("2d");
      } catch (exception) {
        H.unwrapException(exception);
      }
      t1 = _this._context;
      if (t1 == null) {
        H._reduceCanvasMemoryUsage();
        t1 = _this._context = canvas.getContext("2d");
      }
      if (t1 == null) {
        t1 = _this.__engine$_canvas;
        if (t1 != null)
          t1.width = 0;
        t1 = _this.__engine$_canvas;
        if (t1 != null)
          t1.height = 0;
        _this.__engine$_canvas = null;
        return;
      }
      t2 = _this._density;
      _this._contextHandle = new H.ContextStateHandle(t1, _this, t2, C.BlendMode_3, C.StrokeCap_0, C.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(H.EnginePlatformDispatcher_browserDevicePixelRatio() * t2, H.EnginePlatformDispatcher_browserDevicePixelRatio() * t2);
      _this._replayClipStack$0();
    },
    _allocCanvas$2: function(width, height) {
      var exception,
        t1 = document,
        canvas = t1.createElement.apply(t1, ["CANVAS"]);
      if (canvas != null) {
        try {
          t1 = this._density;
          J.set$width$x(canvas, C.JSNumber_methods.ceil$0(width * t1));
          J.set$height$x(canvas, C.JSNumber_methods.ceil$0(height * t1));
        } catch (exception) {
          H.unwrapException(exception);
          return null;
        }
        return type$.CanvasElement._as(canvas);
      }
      return null;
    },
    clear$0: function(_) {
      var ctx, e, exception, t1, t2, _this = this;
      _this.super$_SaveStackTracking$clear(0);
      if (_this.__engine$_canvas != null) {
        ctx = _this._context;
        if (ctx != null)
          try {
            ctx.font = "";
          } catch (exception) {
            e = H.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 = H._setArrayType([], type$.JSArray_CanvasElement);
        t2 = _this.__engine$_canvas;
        t2.toString;
        t1.push(t2);
        _this._contextHandle = _this._context = null;
      }
      _this._reusablePool = _this._activeCanvasList;
      _this._contextHandle = _this._context = _this.__engine$_canvas = _this._activeCanvasList = null;
    },
    _replaySingleSaveEntry$4: function(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 == null || 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 = P.Path_Path();
              path.addRRect$1(0, 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 === C.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 = H.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: function() {
      var t1, len, clipDepth, saveStackIndex, saveEntry, prevTransform0, _this = this,
        ctx = _this.get$context(_this),
        prevTransform = H.Matrix4$identity();
      for (t1 = _this._saveStack, len = t1.length, 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: function() {
      var t2, _i, e, t3,
        t1 = this._reusablePool;
      if (t1 != null) {
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          e = t1[_i];
          t3 = $.$get$_browserEngine();
          if (t3 === C.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: function() {
      for (; this._saveContextCount !== 0;) {
        this._context.restore();
        --this._saveContextCount;
      }
    },
    translate$2: function(_, 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: function(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();
    },
    _clipRRect$2: function(ctx, rrect) {
      var path = P.Path_Path();
      path.addRRect$1(0, rrect);
      this._runPath$2(ctx, type$.SurfacePath._as(path));
      ctx.clip();
    },
    clipPath$1: function(_, 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 === C.PathFillType_0)
          ctx.clip();
        else
          ctx.clip("evenodd");
      }
    },
    _runPath$2: function(ctx, path) {
      var p, t1, iter, verb, w, points, len, i, t2, t3;
      ctx.beginPath();
      p = $.$get$_CanvasPool__runBuffer();
      t1 = path.pathRef;
      iter = new H.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 H.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 H.wrapException(P.UnimplementedError$("Unknown path verb " + verb));
        }
    },
    _runPathWithOffset$4: function(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 H.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 H.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 H.wrapException(P.UnimplementedError$("Unknown path verb " + verb));
        }
    },
    drawPath$2: function(_, 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;
      t1.toString;
      if (style === C.PaintingStyle_1)
        t1.context.stroke();
      else {
        t1 = t1.context;
        if (t2 === C.PathFillType_0)
          t1.fill();
        else
          t1.fill("evenodd");
      }
    },
    dispose$0: function(_) {
      var t1 = $.$get$_browserEngine();
      if (t1 === C.BrowserEngine_1 && this.__engine$_canvas != null) {
        t1 = this.__engine$_canvas;
        t1.height = 0;
        t1.width = 0;
      }
      this._clearActiveCanvasList$0();
    },
    _clearActiveCanvasList$0: function() {
      var t2, _i, c, t3,
        t1 = this._activeCanvasList;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          c = t1[_i];
          t3 = $.$get$_browserEngine();
          if (t3 === C.BrowserEngine_1) {
            c.height = 0;
            c.width = 0;
          }
          t3 = c.parentNode;
          if (t3 != null)
            t3.removeChild(c);
        }
      this._activeCanvasList = null;
    }
  };
  H.ContextStateHandle.prototype = {
    set$fillStyle: function(_, colorOrGradient) {
      var t1 = this._currentFillStyle;
      if (colorOrGradient == null ? t1 != null : colorOrGradient !== t1) {
        this._currentFillStyle = colorOrGradient;
        this.context.fillStyle = colorOrGradient;
      }
    },
    set$strokeStyle: function(_, colorOrGradient) {
      var t1 = this._currentStrokeStyle;
      if (colorOrGradient == null ? t1 != null : colorOrGradient !== t1) {
        this._currentStrokeStyle = colorOrGradient;
        this.context.strokeStyle = colorOrGradient;
      }
    },
    setUpPaint$2: function(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 = H._stringForBlendMode(t1);
        if (t1 == null)
          t1 = "source-over";
        _this.context.globalCompositeOperation = t1;
      }
      strokeCap = paint.strokeCap;
      if (strokeCap == null)
        strokeCap = C.StrokeCap_0;
      if (strokeCap !== _this._currentStrokeCap) {
        _this._currentStrokeCap = strokeCap;
        t1 = H._stringForStrokeCap(strokeCap);
        t1.toString;
        _this.context.lineCap = t1;
      }
      if (C.StrokeJoin_0 !== _this._currentStrokeJoin) {
        _this._currentStrokeJoin = C.StrokeJoin_0;
        _this.context.lineJoin = H._stringForStrokeJoin(C.StrokeJoin_0);
      }
      t1 = paint.shader;
      if (t1 != null) {
        t2 = _this._canvasPool;
        paintStyle = type$.EngineGradient._as(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 = H.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 === C.BrowserEngine_1 || false)) {
        if (!J.$eq$(_this._currentFilter, maskFilter)) {
          _this._currentFilter = maskFilter;
          _this.context.filter = H._maskFilterToCanvasFilter(maskFilter);
        }
      } else if (maskFilter != null) {
        t1 = _this.context;
        t1.save();
        t1.shadowBlur = maskFilter._sigma * 2;
        t2 = paint.color;
        if (t2 != null) {
          t2 = H.colorToCssString(P.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 = H.colorToCssString(C.Color_4278190080);
          t2.toString;
          t1.shadowColor = t2;
        }
        t1.translate(-50000, 0);
        tempVector = new Float32Array(2);
        t2 = $.$get$window()._debugDevicePixelRatio;
        tempVector[0] = 50000 * (t2 == null ? H.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: function() {
      var _this = this,
        t1 = _this._lastUsedPaint;
      if ((t1 == null ? null : t1.maskFilter) != null) {
        t1 = $.$get$_browserEngine();
        t1 = t1 === C.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: function(style) {
      var t1 = this.context;
      if (style === C.PaintingStyle_1)
        t1.stroke();
      else
        t1.fill();
    },
    reset$0: function(_) {
      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 = C.BlendMode_3;
      t1.lineWidth = 1;
      _this._currentLineWidth = 1;
      t1.lineCap = "butt";
      _this._currentStrokeCap = C.StrokeCap_0;
      t1.lineJoin = "miter";
      _this._currentStrokeJoin = C.StrokeJoin_0;
      _this._shaderBounds = null;
    }
  };
  H._SaveStackTracking.prototype = {
    clear$0: function(_) {
      C.JSArray_methods.set$length(this._saveStack, 0);
      this._clipStack = null;
      this._currentTransform = H.Matrix4$identity();
    },
    save$0: function(_) {
      var t1 = this._currentTransform,
        t2 = new H.Matrix40(new Float32Array(16));
      t2.setFrom$1(t1);
      t1 = this._clipStack;
      t1 = t1 == null ? null : P.List_List$from(t1, true, type$._SaveClipEntry);
      this._saveStack.push(new H._SaveStackEntry(t2, t1));
    },
    restore$0: function(_) {
      var entry,
        t1 = this._saveStack;
      if (t1.length === 0)
        return;
      entry = t1.pop();
      this._currentTransform = entry.transform;
      this._clipStack = entry.clipStack;
    },
    translate$2: function(_, dx, dy) {
      this._currentTransform.translate$2(0, dx, dy);
    },
    scale$2: function(_, sx, sy) {
      this._currentTransform.scale$2(0, sx, sy);
    },
    rotate$1: function(_, radians) {
      this._currentTransform.rotate$2(0, $.$get$_SaveStackTracking__unitZ(), radians);
    },
    transform$1: function(_, matrix4) {
      this._currentTransform.multiply$1(0, new H.Matrix40(matrix4));
    },
    clipRect$1: function(_, rect) {
      var t2, t3,
        t1 = this._clipStack;
      if (t1 == null)
        t1 = this._clipStack = H._setArrayType([], type$.JSArray__SaveClipEntry);
      t2 = this._currentTransform;
      t3 = new H.Matrix40(new Float32Array(16));
      t3.setFrom$1(t2);
      t1.push(new H._SaveClipEntry(rect, null, null, t3));
    },
    clipRRect$1: function(_, rrect) {
      var t2, t3,
        t1 = this._clipStack;
      if (t1 == null)
        t1 = this._clipStack = H._setArrayType([], type$.JSArray__SaveClipEntry);
      t2 = this._currentTransform;
      t3 = new H.Matrix40(new Float32Array(16));
      t3.setFrom$1(t2);
      t1.push(new H._SaveClipEntry(null, rrect, null, t3));
    },
    clipPath$1: function(_, path) {
      var t2, t3,
        t1 = this._clipStack;
      if (t1 == null)
        t1 = this._clipStack = H._setArrayType([], type$.JSArray__SaveClipEntry);
      t2 = this._currentTransform;
      t3 = new H.Matrix40(new Float32Array(16));
      t3.setFrom$1(t2);
      t1.push(new H._SaveClipEntry(null, null, path, t3));
    }
  };
  H.CkCanvas.prototype = {
    clipPath$2: function(_, path, doAntiAlias) {
      J.clipPath$3$x(this.skCanvas, path.get$skiaObject(), $.$get$_clipOpIntersect(), doAntiAlias);
    },
    clipRRect$2: function(_, rrect, doAntiAlias) {
      J.clipRRect$3$x(this.skCanvas, H.toSkRRect(rrect), $.$get$_clipOpIntersect(), doAntiAlias);
    },
    clipRect$3: function(_, rect, clipOp, doAntiAlias) {
      J.clipRect$3$x(this.skCanvas, H.toSkRect(rect), $.$get$_skClipOps()[clipOp.index], doAntiAlias);
    },
    drawArc$5: function(_, oval, startAngle, sweepAngle, useCenter, paint) {
      J.drawArc$5$x(this.skCanvas, H.toSkRect(oval), startAngle * 57.29577951308232, sweepAngle * 57.29577951308232, false, paint.get$skiaObject());
    },
    drawCircle$3: function(_, c, radius, paint) {
      J.drawCircle$4$x(this.skCanvas, c._dx, c._dy, radius, paint.get$skiaObject());
    },
    drawDRRect$3: function(_, outer, inner, paint) {
      J.drawDRRect$3$x(this.skCanvas, H.toSkRRect(outer), H.toSkRRect(inner), paint.get$skiaObject());
    },
    drawImageRect$4: function(image, src, dst, paint) {
      var filterQuality = paint._filterQuality,
        t1 = this.skCanvas,
        t2 = J.getInterceptor$x(t1);
      if (filterQuality === C.FilterQuality_3)
        t2.drawImageRectCubic$6(t1, image.get$box().get$skiaObject(), H.toSkRect(src), H.toSkRect(dst), 0.3333333333333333, 0.3333333333333333, paint.get$skiaObject());
      else
        t2.drawImageRectOptions$6(t1, image.get$box().get$skiaObject(), H.toSkRect(src), H.toSkRect(dst), H.toSkFilterMode(filterQuality), H.toSkMipmapMode(filterQuality), paint.get$skiaObject());
    },
    drawLine$3: function(_, p1, p2, paint) {
      J.drawLine$5$x(this.skCanvas, p1._dx, p1._dy, p2._dx, p2._dy, paint.get$skiaObject());
    },
    drawOval$2: function(_, rect, paint) {
      J.drawOval$2$x(this.skCanvas, H.toSkRect(rect), paint.get$skiaObject());
    },
    drawPaint$1: function(_, paint) {
      J.drawPaint$1$x(this.skCanvas, paint.get$skiaObject());
    },
    drawParagraph$2: function(_, paragraph, offset) {
      var t1 = paragraph._lastLayoutConstraints;
      t1.toString;
      J.drawParagraph$3$x(this.skCanvas, paragraph._ensureInitialized$1(t1), offset._dx, offset._dy);
      if (!$.$get$CkParagraph__paragraphCache().markUsed$1(paragraph))
        $.$get$CkParagraph__paragraphCache().add$1(0, paragraph);
    },
    drawPath$2: function(_, path, paint) {
      J.drawPath$2$x(this.skCanvas, path.get$skiaObject(), paint.get$skiaObject());
    },
    drawPicture$1: function(_, picture) {
      J.drawPicture$1$x(this.skCanvas, picture.get$skiaObject());
    },
    drawRRect$2: function(_, rrect, paint) {
      J.drawRRect$2$x(this.skCanvas, H.toSkRRect(rrect), paint.get$skiaObject());
    },
    drawRect$2: function(_, rect, paint) {
      J.drawRect$2$x(this.skCanvas, H.toSkRect(rect), paint.get$skiaObject());
    },
    drawShadow$4: function(_, path, color, elevation, transparentOccluder) {
      var t1 = $.$get$window()._debugDevicePixelRatio;
      if (t1 == null)
        t1 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      H.drawSkShadow(this.skCanvas, path, color, elevation, transparentOccluder, t1);
    },
    restore$0: function(_) {
      J.restore$0$x(this.skCanvas);
    },
    restoreToCount$1: function(_, count) {
      J.restoreToCount$1$x(this.skCanvas, count);
    },
    rotate$1: function(_, radians) {
      J.rotate$3$x(this.skCanvas, radians * 180 / 3.141592653589793, 0, 0);
    },
    save$0: function(_) {
      return J.save$0$x(this.skCanvas);
    },
    saveLayer$2: function(_, bounds, paint) {
      var t1 = paint == null ? null : paint.get$skiaObject();
      J.saveLayer$4$x(this.skCanvas, t1, H.toSkRect(bounds), null, null);
    },
    scale$2: function(_, sx, sy) {
      J.scale$2$x(this.skCanvas, sx, sy);
    },
    transform$1: function(_, matrix4) {
      J.concat$1$x(this.skCanvas, H.toSkMatrixFromFloat32(matrix4));
    },
    translate$2: function(_, dx, dy) {
      J.translate$2$x(this.skCanvas, dx, dy);
    },
    get$pictureSnapshot: function() {
      return null;
    }
  };
  H.RecordingCkCanvas.prototype = {
    clipPath$2: function(_, path, doAntiAlias) {
      this.super$CkCanvas$clipPath(0, path, doAntiAlias);
      this.pictureSnapshot._commands.push(new H.CkClipPathCommand(path, doAntiAlias));
    },
    clipRRect$2: function(_, rrect, doAntiAlias) {
      this.super$CkCanvas$clipRRect(0, rrect, doAntiAlias);
      this.pictureSnapshot._commands.push(new H.CkClipRRectCommand(rrect, doAntiAlias));
    },
    clipRect$3: function(_, rect, clipOp, doAntiAlias) {
      this.super$CkCanvas$clipRect(0, rect, clipOp, doAntiAlias);
      this.pictureSnapshot._commands.push(new H.CkClipRectCommand(rect, clipOp, doAntiAlias));
    },
    drawArc$5: function(_, oval, startAngle, sweepAngle, useCenter, paint) {
      this.super$CkCanvas$drawArc(0, oval, startAngle, sweepAngle, false, paint);
      this.pictureSnapshot._commands.push(new H.CkDrawArcCommand(oval, startAngle, sweepAngle, false, paint));
    },
    drawCircle$3: function(_, c, radius, paint) {
      this.super$CkCanvas$drawCircle(0, c, radius, paint);
      this.pictureSnapshot._commands.push(new H.CkDrawCircleCommand(c, radius, paint));
    },
    drawDRRect$3: function(_, outer, inner, paint) {
      this.super$CkCanvas$drawDRRect(0, outer, inner, paint);
      this.pictureSnapshot._commands.push(new H.CkDrawDRRectCommand(outer, inner, paint));
    },
    drawImageRect$4: function(image, src, dst, paint) {
      var t1, t2;
      this.super$CkCanvas$drawImageRect(image, src, dst, paint);
      t1 = image.get$box();
      t2 = new H.CkImage(t1);
      t2.CkImage$cloneOf$1(t1);
      this.pictureSnapshot._commands.push(new H.CkDrawImageRectCommand(t2, src, dst, paint));
    },
    drawLine$3: function(_, p1, p2, paint) {
      this.super$CkCanvas$drawLine(0, p1, p2, paint);
      this.pictureSnapshot._commands.push(new H.CkDrawLineCommand(p1, p2, paint));
    },
    drawOval$2: function(_, rect, paint) {
      this.super$CkCanvas$drawOval(0, rect, paint);
      this.pictureSnapshot._commands.push(new H.CkDrawOvalCommand(rect, paint));
    },
    drawPaint$1: function(_, paint) {
      this.super$CkCanvas$drawPaint(0, paint);
      this.pictureSnapshot._commands.push(new H.CkDrawPaintCommand(paint));
    },
    drawParagraph$2: function(_, paragraph, offset) {
      this.super$CkCanvas$drawParagraph(0, paragraph, offset);
      this.pictureSnapshot._commands.push(new H.CkDrawParagraphCommand(paragraph, offset));
    },
    drawPath$2: function(_, path, paint) {
      this.super$CkCanvas$drawPath(0, path, paint);
      this.pictureSnapshot._commands.push(new H.CkDrawPathCommand(path, paint));
    },
    drawPicture$1: function(_, picture) {
      this.super$CkCanvas$drawPicture(0, picture);
      this.pictureSnapshot._commands.push(new H.CkDrawPictureCommand(picture));
    },
    drawRRect$2: function(_, rrect, paint) {
      this.super$CkCanvas$drawRRect(0, rrect, paint);
      this.pictureSnapshot._commands.push(new H.CkDrawRRectCommand(rrect, paint));
    },
    drawRect$2: function(_, rect, paint) {
      this.super$CkCanvas$drawRect(0, rect, paint);
      this.pictureSnapshot._commands.push(new H.CkDrawRectCommand(rect, paint));
    },
    drawShadow$4: function(_, path, color, elevation, transparentOccluder) {
      this.super$CkCanvas$drawShadow(0, path, color, elevation, transparentOccluder);
      this.pictureSnapshot._commands.push(new H.CkDrawShadowCommand(path, color, elevation, transparentOccluder));
    },
    restore$0: function(_) {
      this.super$CkCanvas$restore(0);
      this.pictureSnapshot._commands.push(C.C_CkRestoreCommand);
    },
    restoreToCount$1: function(_, count) {
      this.super$CkCanvas$restoreToCount(0, count);
      this.pictureSnapshot._commands.push(new H.CkRestoreToCountCommand(count));
    },
    rotate$1: function(_, radians) {
      this.super$CkCanvas$rotate(0, radians);
      this.pictureSnapshot._commands.push(new H.CkRotateCommand(radians));
    },
    save$0: function(_) {
      this.pictureSnapshot._commands.push(C.C_CkSaveCommand);
      return this.super$CkCanvas$save(0);
    },
    saveLayer$2: function(_, bounds, paint) {
      this.super$CkCanvas$saveLayer(0, bounds, paint);
      this.pictureSnapshot._commands.push(new H.CkSaveLayerCommand(bounds, paint));
    },
    scale$2: function(_, sx, sy) {
      this.super$CkCanvas$scale(0, sx, sy);
      this.pictureSnapshot._commands.push(new H.CkScaleCommand(sx, sy));
    },
    transform$1: function(_, matrix4) {
      this.super$CkCanvas$transform(0, matrix4);
      this.pictureSnapshot._commands.push(new H.CkTransformCommand(matrix4));
    },
    translate$2: function(_, dx, dy) {
      this.super$CkCanvas$translate(0, dx, dy);
      this.pictureSnapshot._commands.push(new H.CkTranslateCommand(dx, dy));
    },
    get$pictureSnapshot: function() {
      return this.pictureSnapshot;
    }
  };
  H.CkPictureSnapshot.prototype = {
    toPicture$0: function() {
      var t2, t3, _i, skPicture,
        recorder = new self.window.flutterCanvasKit.PictureRecorder(),
        t1 = J.getInterceptor$x(recorder),
        skCanvas = t1.beginRecording$1(recorder, H.toSkRect(this._bounds));
      for (t2 = this._commands, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
        t2[_i].apply$1(skCanvas);
      skPicture = t1.finishRecordingAsPicture$0(recorder);
      t1.delete$0(recorder);
      return skPicture;
    }
  };
  H.CkPaintCommand.prototype = {};
  H.CkSaveCommand.prototype = {
    apply$1: function(canvas) {
      J.save$0$x(canvas);
    }
  };
  H.CkRestoreCommand.prototype = {
    apply$1: function(canvas) {
      J.restore$0$x(canvas);
    }
  };
  H.CkRestoreToCountCommand.prototype = {
    apply$1: function(canvas) {
      J.restoreToCount$1$x(canvas, this.count);
    }
  };
  H.CkTranslateCommand.prototype = {
    apply$1: function(canvas) {
      J.translate$2$x(canvas, this.dx, this.dy);
    }
  };
  H.CkScaleCommand.prototype = {
    apply$1: function(canvas) {
      J.scale$2$x(canvas, this.sx, this.sy);
    }
  };
  H.CkRotateCommand.prototype = {
    apply$1: function(canvas) {
      J.rotate$3$x(canvas, this.radians * 180 / 3.141592653589793, 0, 0);
    }
  };
  H.CkTransformCommand.prototype = {
    apply$1: function(canvas) {
      J.concat$1$x(canvas, H.toSkMatrixFromFloat32(this.matrix4));
    }
  };
  H.CkClipRectCommand.prototype = {
    apply$1: function(canvas) {
      J.clipRect$3$x(canvas, H.toSkRect(this.rect), $.$get$_skClipOps()[this.clipOp.index], this.doAntiAlias);
    }
  };
  H.CkDrawArcCommand.prototype = {
    apply$1: function(canvas) {
      var _this = this;
      J.drawArc$5$x(canvas, H.toSkRect(_this.oval), _this.startAngle * 57.29577951308232, _this.sweepAngle * 57.29577951308232, false, _this.paint.get$skiaObject());
    }
  };
  H.CkClipRRectCommand.prototype = {
    apply$1: function(canvas) {
      J.clipRRect$3$x(canvas, H.toSkRRect(this.rrect), $.$get$_clipOpIntersect(), this.doAntiAlias);
    }
  };
  H.CkClipPathCommand.prototype = {
    apply$1: function(canvas) {
      J.clipPath$3$x(canvas, this.path.get$skiaObject(), $.$get$_clipOpIntersect(), this.doAntiAlias);
    }
  };
  H.CkDrawLineCommand.prototype = {
    apply$1: function(canvas) {
      var t1 = this.p1,
        t2 = this.p2;
      J.drawLine$5$x(canvas, t1._dx, t1._dy, t2._dx, t2._dy, this.paint.get$skiaObject());
    }
  };
  H.CkDrawPaintCommand.prototype = {
    apply$1: function(canvas) {
      J.drawPaint$1$x(canvas, this.paint.get$skiaObject());
    }
  };
  H.CkDrawRectCommand.prototype = {
    apply$1: function(canvas) {
      J.drawRect$2$x(canvas, H.toSkRect(this.rect), this.paint.get$skiaObject());
    }
  };
  H.CkDrawRRectCommand.prototype = {
    apply$1: function(canvas) {
      J.drawRRect$2$x(canvas, H.toSkRRect(this.rrect), this.paint.get$skiaObject());
    }
  };
  H.CkDrawDRRectCommand.prototype = {
    apply$1: function(canvas) {
      J.drawDRRect$3$x(canvas, H.toSkRRect(this.outer), H.toSkRRect(this.inner), this.paint.get$skiaObject());
    }
  };
  H.CkDrawOvalCommand.prototype = {
    apply$1: function(canvas) {
      J.drawOval$2$x(canvas, H.toSkRect(this.rect), this.paint.get$skiaObject());
    }
  };
  H.CkDrawCircleCommand.prototype = {
    apply$1: function(canvas) {
      var t1 = this.c;
      J.drawCircle$4$x(canvas, t1._dx, t1._dy, this.radius, this.paint.get$skiaObject());
    }
  };
  H.CkDrawPathCommand.prototype = {
    apply$1: function(canvas) {
      J.drawPath$2$x(canvas, this.path.get$skiaObject(), this.paint.get$skiaObject());
    }
  };
  H.CkDrawShadowCommand.prototype = {
    apply$1: function(canvas) {
      var _this = this,
        t1 = $.$get$window()._debugDevicePixelRatio;
      if (t1 == null)
        t1 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      H.drawSkShadow(canvas, _this.path, _this.color, _this.elevation, _this.transparentOccluder, t1);
    }
  };
  H.CkDrawImageRectCommand.prototype = {
    apply$1: function(canvas) {
      var _this = this,
        t1 = _this.paint,
        filterQuality = t1._filterQuality,
        t2 = J.getInterceptor$x(canvas),
        t3 = _this.image,
        t4 = _this.src,
        t5 = _this.dst;
      if (filterQuality === C.FilterQuality_3)
        t2.drawImageRectCubic$6(canvas, t3.get$box().get$skiaObject(), H.toSkRect(t4), H.toSkRect(t5), 0.3333333333333333, 0.3333333333333333, t1.get$skiaObject());
      else
        t2.drawImageRectOptions$6(canvas, t3.get$box().get$skiaObject(), H.toSkRect(t4), H.toSkRect(t5), H.toSkFilterMode(filterQuality), H.toSkMipmapMode(filterQuality), t1.get$skiaObject());
    }
  };
  H.CkDrawParagraphCommand.prototype = {
    apply$1: function(canvas) {
      var t3,
        t1 = this.paragraph,
        t2 = t1._lastLayoutConstraints;
      t2.toString;
      t3 = this.offset;
      J.drawParagraph$3$x(canvas, t1._ensureInitialized$1(t2), t3._dx, t3._dy);
      if (!$.$get$CkParagraph__paragraphCache().markUsed$1(t1))
        $.$get$CkParagraph__paragraphCache().add$1(0, t1);
    }
  };
  H.CkDrawPictureCommand.prototype = {
    apply$1: function(canvas) {
      J.drawPicture$1$x(canvas, this.picture.get$skiaObject());
    }
  };
  H.CkSaveLayerCommand.prototype = {
    apply$1: function(canvas) {
      var t1 = this.paint;
      t1 = t1 == null ? null : t1.get$skiaObject();
      J.saveLayer$4$x(canvas, t1, H.toSkRect(this.bounds), null, null);
    }
  };
  H.CanvasKit.prototype = {};
  H.CanvasKitInitOptions.prototype = {};
  H.CanvasKitInitPromise.prototype = {};
  H.ColorSpace.prototype = {};
  H.SkWebGLContextOptions.prototype = {};
  H.SkSurface.prototype = {};
  H.SkGrContext.prototype = {};
  H.SkFontSlantEnum.prototype = {};
  H.SkFontSlant.prototype = {};
  H.SkFontWeightEnum.prototype = {};
  H.SkFontWeight.prototype = {};
  H.SkAffinityEnum.prototype = {};
  H.SkAffinity.prototype = {};
  H.SkTextDirectionEnum.prototype = {};
  H.SkTextDirection.prototype = {};
  H.SkTextAlignEnum.prototype = {};
  H.SkTextAlign.prototype = {};
  H.SkTextHeightBehaviorEnum.prototype = {};
  H.SkTextHeightBehavior.prototype = {};
  H.SkRectHeightStyleEnum.prototype = {};
  H.SkRectHeightStyle.prototype = {};
  H.SkRectWidthStyleEnum.prototype = {};
  H.SkRectWidthStyle.prototype = {};
  H.SkVertexModeEnum.prototype = {};
  H.SkVertexMode.prototype = {};
  H.SkPointModeEnum.prototype = {};
  H.SkPointMode.prototype = {};
  H.SkClipOpEnum.prototype = {};
  H.SkClipOp.prototype = {};
  H.SkFillTypeEnum.prototype = {};
  H.SkFillType.prototype = {};
  H.SkPathOpEnum.prototype = {};
  H.SkPathOp.prototype = {};
  H.SkBlurStyleEnum.prototype = {};
  H.SkBlurStyle.prototype = {};
  H.SkStrokeCapEnum.prototype = {};
  H.SkStrokeCap.prototype = {};
  H.SkPaintStyleEnum.prototype = {};
  H.SkPaintStyle.prototype = {};
  H.SkBlendModeEnum.prototype = {};
  H.SkBlendMode.prototype = {};
  H.SkStrokeJoinEnum.prototype = {};
  H.SkStrokeJoin.prototype = {};
  H.SkFilterQualityEnum.prototype = {};
  H.SkFilterQuality.prototype = {};
  H.SkTileModeEnum.prototype = {};
  H.SkTileMode.prototype = {};
  H.SkFilterModeEnum.prototype = {};
  H.SkFilterMode.prototype = {};
  H.SkMipmapModeEnum.prototype = {};
  H.SkMipmapMode.prototype = {};
  H.SkAlphaTypeEnum.prototype = {};
  H.SkAlphaType.prototype = {};
  H.SkColorTypeEnum.prototype = {};
  H.SkColorType.prototype = {};
  H.SkAnimatedImage.prototype = {};
  H.SkImage.prototype = {};
  H.SkShaderNamespace.prototype = {};
  H.SkShader.prototype = {};
  H.SkMaskFilterNamespace.prototype = {};
  H.SkPaint.prototype = {};
  H.SkMaskFilter.prototype = {};
  H.SkColorFilterNamespace.prototype = {};
  H.SkColorFilter.prototype = {};
  H.SkImageFilterNamespace.prototype = {};
  H.SkImageFilter.prototype = {};
  H.SkPathNamespace.prototype = {};
  H._NativeFloat32ArrayType.prototype = {};
  H.SkFloat32List.prototype = {};
  H.SkPath.prototype = {};
  H.SkContourMeasureIter.prototype = {};
  H.SkContourMeasure.prototype = {};
  H.SkPictureRecorder.prototype = {};
  H.SkCanvas.prototype = {};
  H.SkPicture.prototype = {};
  H.SkParagraphBuilderNamespace.prototype = {};
  H.SkParagraphBuilder.prototype = {};
  H.SkParagraphStyle.prototype = {};
  H.SkParagraphStyleProperties.prototype = {};
  H.SkTextStyle.prototype = {};
  H.SkTextDecorationStyleEnum.prototype = {};
  H.SkTextDecorationStyle.prototype = {};
  H.SkTextBaselineEnum.prototype = {};
  H.SkTextBaseline.prototype = {};
  H.SkPlaceholderAlignmentEnum.prototype = {};
  H.SkPlaceholderAlignment.prototype = {};
  H.SkTextStyleProperties.prototype = {};
  H.SkStrutStyleProperties.prototype = {};
  H.SkFontStyle.prototype = {};
  H.SkTextShadow.prototype = {};
  H.SkFontFeature.prototype = {};
  H.SkTypeface.prototype = {};
  H.SkFont.prototype = {};
  H.SkFontMgr.prototype = {};
  H.TypefaceFontProvider.prototype = {};
  H.SkLineMetrics.prototype = {};
  H.SkParagraph.prototype = {};
  H.SkTextPosition.prototype = {};
  H.SkTextRange.prototype = {};
  H.SkVertices.prototype = {};
  H.SkTonalColors.prototype = {};
  H.SkFontMgrNamespace.prototype = {};
  H.TypefaceFontProviderNamespace.prototype = {};
  H.ProductionCollector.prototype = {
    ProductionCollector$0: function() {
      var t1 = new self.window.FinalizationRegistry(P.allowInterop(new H.ProductionCollector_closure(this)));
      if (this.__ProductionCollector__skObjectFinalizationRegistry === $)
        this.__ProductionCollector__skObjectFinalizationRegistry = t1;
      else
        H.throwExpression(H.LateError$fieldAI("_skObjectFinalizationRegistry"));
    },
    register$2: function(_, wrapper, deletable) {
      var t1 = this.__ProductionCollector__skObjectFinalizationRegistry;
      J.register$2$x(t1 === $ ? H.throwExpression(H.LateError$fieldNI("_skObjectFinalizationRegistry")) : t1, wrapper, deletable);
    },
    collect$1: function(deletable) {
      var _this = this;
      _this._skiaObjectCollectionQueue.push(deletable);
      if (_this._skiaObjectCollectionTimer == null)
        _this._skiaObjectCollectionTimer = P.Timer_Timer(C.Duration_0, new H.ProductionCollector_collect_closure(_this));
    },
    collectSkiaObjectsNow$0: function() {
      var firstError, firstStackTrace, deletable, error, stackTrace, $length, i, exception,
        _s25_ = "SkObject collection-start",
        _s23_ = "SkObject collection-end";
      window.performance.mark(_s25_);
      $length = this._skiaObjectCollectionQueue.length;
      firstError = null;
      firstStackTrace = null;
      for (i = 0; i < $length; ++i) {
        deletable = this._skiaObjectCollectionQueue[i];
        if (J.isDeleted$0$x(deletable))
          continue;
        try {
          J.delete$0$x(deletable);
        } catch (exception) {
          error = H.unwrapException(exception);
          stackTrace = H.getTraceFromException(exception);
          if (firstError == null) {
            firstError = error;
            firstStackTrace = stackTrace;
          }
        }
      }
      this._skiaObjectCollectionQueue = H._setArrayType([], type$.JSArray_SkDeletable);
      window.performance.mark(_s23_);
      window.performance.measure("SkObject collection", _s25_, _s23_);
      if (firstError != null)
        throw H.wrapException(new H.SkiaObjectCollectionError(firstError, firstStackTrace));
    }
  };
  H.ProductionCollector_closure.prototype = {
    call$1: function(deletable) {
      if (!J.isDeleted$0$x(deletable))
        this.$this.collect$1(deletable);
    },
    $signature: 356
  };
  H.ProductionCollector_collect_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._skiaObjectCollectionTimer = null;
      t1.collectSkiaObjectsNow$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.SkiaObjectCollectionError.prototype = {
    toString$0: function(_) {
      return "SkiaObjectCollectionError: " + H.S(this.error) + "\n" + H.S(this.stackTrace);
    },
    $isError0: 1,
    get$stackTrace: function() {
      return this.stackTrace;
    }
  };
  H.SkDeletable.prototype = {};
  H.JsConstructor.prototype = {};
  H.SkObjectFinalizationRegistry.prototype = {};
  H.SkData.prototype = {};
  H.SkImageInfo.prototype = {};
  H.CanvasKitCanvas.prototype = {
    save$0: function(_) {
      this.__engine$_canvas.save$0(0);
    },
    saveLayer$2: function(_, bounds, paint) {
      this.__engine$_canvas.saveLayer$2(0, bounds, type$.CkPaint._as(paint));
    },
    restore$0: function(_) {
      this.__engine$_canvas.restore$0(0);
    },
    translate$2: function(_, dx, dy) {
      this.__engine$_canvas.translate$2(0, dx, dy);
    },
    scale$2: function(_, sx, sy) {
      var t1 = sy == null ? sx : sy;
      this.__engine$_canvas.scale$2(0, sx, t1);
      return null;
    },
    rotate$1: function(_, radians) {
      this.__engine$_canvas.rotate$1(0, radians);
    },
    transform$1: function(_, matrix4) {
      this.__engine$_canvas.transform$1(0, H.toMatrix32(matrix4));
    },
    clipRect$3$clipOp$doAntiAlias: function(_, rect, clipOp, doAntiAlias) {
      this.__engine$_canvas.clipRect$3(0, rect, clipOp, doAntiAlias);
    },
    clipRect$2$doAntiAlias: function($receiver, rect, doAntiAlias) {
      return this.clipRect$3$clipOp$doAntiAlias($receiver, rect, C.ClipOp_1, doAntiAlias);
    },
    clipRect$1: function($receiver, rect) {
      return this.clipRect$3$clipOp$doAntiAlias($receiver, rect, C.ClipOp_1, true);
    },
    clipRect$2$clipOp: function($receiver, rect, clipOp) {
      return this.clipRect$3$clipOp$doAntiAlias($receiver, rect, clipOp, true);
    },
    clipRRect$2$doAntiAlias: function(_, rrect, doAntiAlias) {
      this.__engine$_canvas.clipRRect$2(0, rrect, doAntiAlias);
    },
    clipRRect$1: function($receiver, rrect) {
      return this.clipRRect$2$doAntiAlias($receiver, rrect, true);
    },
    clipPath$2$doAntiAlias: function(_, path, doAntiAlias) {
      this.__engine$_canvas.clipPath$2(0, type$.CkPath._as(path), doAntiAlias);
    },
    clipPath$1: function($receiver, path) {
      return this.clipPath$2$doAntiAlias($receiver, path, true);
    },
    drawLine$3: function(_, p1, p2, paint) {
      this.__engine$_canvas.drawLine$3(0, p1, p2, type$.CkPaint._as(paint));
    },
    drawRect$2: function(_, rect, paint) {
      this.__engine$_canvas.drawRect$2(0, rect, type$.CkPaint._as(paint));
    },
    drawRRect$2: function(_, rrect, paint) {
      this.__engine$_canvas.drawRRect$2(0, rrect, type$.CkPaint._as(paint));
    },
    drawDRRect$3: function(_, outer, inner, paint) {
      this.__engine$_canvas.drawDRRect$3(0, outer, inner, type$.CkPaint._as(paint));
    },
    drawOval$2: function(_, rect, paint) {
      this.__engine$_canvas.drawOval$2(0, rect, type$.CkPaint._as(paint));
    },
    drawCircle$3: function(_, c, radius, paint) {
      this.__engine$_canvas.drawCircle$3(0, c, radius, type$.CkPaint._as(paint));
    },
    drawArc$5: function(_, rect, startAngle, sweepAngle, useCenter, paint) {
      this.__engine$_canvas.drawArc$5(0, rect, startAngle, sweepAngle, false, type$.CkPaint._as(paint));
    },
    drawPath$2: function(_, path, paint) {
      this.__engine$_canvas.drawPath$2(0, type$.CkPath._as(path), type$.CkPaint._as(paint));
    },
    drawImageRect$4: function(image, src, dst, paint) {
      this.__engine$_canvas.drawImageRect$4(type$.CkImage._as(image), src, dst, type$.CkPaint._as(paint));
    },
    drawParagraph$2: function(_, paragraph, offset) {
      this.__engine$_canvas.drawParagraph$2(0, type$.CkParagraph._as(paragraph), offset);
    },
    drawShadow$4: function(_, path, color, elevation, transparentOccluder) {
      this.__engine$_canvas.drawShadow$4(0, type$.CkPath._as(path), color, elevation, transparentOccluder);
    },
    $isCanvas: 1
  };
  H.ManagedSkColorFilter.prototype = {
    createDefault$0: function() {
      return this.ckColorFilter._initRawColorFilter$0();
    },
    resurrect$0: function() {
      return this.ckColorFilter._initRawColorFilter$0();
    },
    delete$0: function(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        J.delete$0$x(t1);
    },
    get$hashCode: function(_) {
      var t1 = this.ckColorFilter;
      return P.hashValues(t1.color, t1.blendMode, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (H.getRuntimeType(this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof H.ManagedSkColorFilter && other.ckColorFilter.$eq(0, this.ckColorFilter);
    },
    toString$0: function(_) {
      var t1 = this.ckColorFilter;
      return "ColorFilter.mode(" + H.S(t1.color) + ", " + t1.blendMode.toString$0(0) + ")";
    }
  };
  H.CkColorFilter.prototype = {};
  H.CkBlendModeColorFilter.prototype = {
    _initRawColorFilter$0: function() {
      var t1 = J.get$ColorFilter$x($.canvasKit._readField$0()),
        array = J.toTypedArray$0$x($.$get$_sharedSkColor1()),
        t2 = this.color.value,
        t3 = J.getInterceptor$ax(array);
      t3.$indexSet(array, 0, (t2 >>> 16 & 255) / 255);
      t3.$indexSet(array, 1, (t2 >>> 8 & 255) / 255);
      t3.$indexSet(array, 2, (t2 & 255) / 255);
      t3.$indexSet(array, 3, (t2 >>> 24 & 255) / 255);
      return J.MakeBlend$2$x(t1, array, $.$get$_skBlendModes()[this.blendMode.index]);
    },
    get$hashCode: function(_) {
      return P.hashValues(this.color, this.blendMode, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (H.getRuntimeType(this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof H.CkBlendModeColorFilter && J.$eq$(other.color, this.color) && other.blendMode === this.blendMode;
    },
    toString$0: function(_) {
      return "ColorFilter.mode(" + H.S(this.color) + ", " + this.blendMode.toString$0(0) + ")";
    }
  };
  H.HtmlViewEmbedder.prototype = {
    set$frameSize: function(size) {
      if (J.$eq$(this._frameSize, size))
        return;
      C.JSArray_methods.set$length(this._activeCompositionOrder, 0);
      this._frameSize = size;
    },
    getCurrentCanvases$0: function() {
      var t1, t2, i,
        canvases = H._setArrayType([], type$.JSArray_CkCanvas);
      for (t1 = this._compositionOrder, t2 = this._pictureRecorders, i = 0; i < t1.length; ++i)
        canvases.push(t2.$index(0, t1[i]).get$recordingCanvas());
      return canvases;
    },
    _cleanUpClipDefs$1: function(viewId) {
      var clipDefs, nodesToRemove, t2, t3, child, _i, node, $parent,
        t1 = this._svgClipDefs;
      if (t1.containsKey$1(0, viewId)) {
        clipDefs = null.querySelector$1(0, "#sk_path_defs");
        nodesToRemove = H._setArrayType([], type$.JSArray_Element);
        t2 = t1.$index(0, viewId);
        t2.toString;
        for (t3 = clipDefs.get$children(clipDefs), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
          child = t3.get$current(t3);
          if (t2.contains$1(0, child.get$id(child)))
            nodesToRemove.push(child);
        }
        for (t2 = nodesToRemove.length, _i = 0; _i < nodesToRemove.length; nodesToRemove.length === t2 || (0, H.throwConcurrentModificationError)(nodesToRemove), ++_i) {
          node = nodesToRemove[_i];
          $parent = node.parentNode;
          $parent.removeChild(node);
        }
        t1.$index(0, viewId).clear$0(0);
      }
    },
    submitFrame$0: function(_) {
      var t1, t2, t3, i, viewId, frame, t4, t5, t6, unusedViews, platformViewRoot, overlay, _this = this;
      for (t1 = _this._compositionOrder, t2 = _this._overlays, t3 = _this._pictureRecorders, i = 0; i < t1.length; ++i) {
        viewId = t1[i];
        _this._ensureOverlayInitialized$1(viewId);
        frame = t2.$index(0, viewId).acquireFrame$1(_this._frameSize);
        t4 = J.getCanvas$0$x(frame.skiaSurface._surface);
        t5 = t3.$index(0, viewId).endRecording$0();
        t6 = t5.rawSkiaObject;
        J.drawPicture$1$x(t4, t6 == null ? t5._doResurrect$0() : t6);
        frame.submit$0(0);
      }
      t3.clear$0(0);
      t3 = _this._activeCompositionOrder;
      if (H.listEquals(t1, t3)) {
        C.JSArray_methods.set$length(t1, 0);
        return;
      }
      unusedViews = P.LinkedHashSet_LinkedHashSet$from(t3, type$.int);
      C.JSArray_methods.set$length(t3, 0);
      for (t4 = _this._viewClipChains, i = 0; i < t1.length; ++i) {
        viewId = t1[i];
        unusedViews.remove$1(0, viewId);
        t5 = t4.$index(0, viewId);
        platformViewRoot = t5.get$root(t5);
        overlay = t2.$index(0, viewId).htmlElement;
        platformViewRoot.remove$0(0);
        $.skiaSceneHost.appendChild(platformViewRoot);
        t5 = overlay.parentNode;
        if (t5 != null)
          t5.removeChild(overlay);
        $.skiaSceneHost.appendChild(overlay);
        t3.push(viewId);
      }
      C.JSArray_methods.set$length(t1, 0);
      _this.disposeViews$1(unusedViews);
    },
    disposeViews$1: function(viewsToDispose) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _this = this;
      for (t1 = P._LinkedHashSetIterator$(viewsToDispose, viewsToDispose._collection$_modifications, H._instanceType(viewsToDispose)._precomputed1), t2 = _this._currentCompositionParams, t3 = _this._viewsToRecomposite, t4 = _this._svgClipDefs, t5 = _this._overlays, t6 = _this._viewClipChains; t1.moveNext$0();) {
        t7 = t1._collection$_current;
        t8 = t6.remove$1(0, t7);
        t8.toString;
        t8.get$root(t8).remove$0(0);
        if (t5.$index(0, t7) != null) {
          t8 = $.$get$OverlayCache_instance();
          t9 = t5.$index(0, t7);
          t9.toString;
          t8.toString;
          t10 = t9.htmlElement;
          t11 = t10.parentNode;
          if (t11 != null)
            t11.removeChild(t10);
          t11 = t8._cache;
          if (t11.length < t8.maximumSize)
            t11.push(t9);
          else {
            t8 = t10.parentNode;
            if (t8 != null)
              t8.removeChild(t10);
            t8 = t9._surface;
            if (t8 != null)
              t8.dispose$0(0);
          }
          t5.remove$1(0, t7);
        }
        t2.remove$1(0, t7);
        t3.remove$1(0, t7);
        _this._cleanUpClipDefs$1(t7);
        t4.remove$1(0, t7);
      }
    },
    _ensureOverlayInitialized$1: function(viewId) {
      var overlay,
        t1 = this._overlays;
      if (t1.$index(0, viewId) != null)
        return;
      overlay = $.$get$OverlayCache_instance().reserveOverlay$0();
      t1.$indexSet(0, viewId, overlay == null ? new H.Surface(W._ElementFactoryProvider_createElement_tag("flt-canvas-container", null), this) : overlay);
    }
  };
  H.OverlayCache.prototype = {
    reserveOverlay$0: function() {
      var t1 = this._cache;
      if (t1.length === 0)
        return null;
      return t1.pop();
    }
  };
  H.MutatorType.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.Mutator.prototype = {
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (!(other instanceof H.Mutator))
        return false;
      t1 = _this.type;
      if (t1 !== other.type)
        return false;
      switch (t1) {
        case C.MutatorType_0:
          return J.$eq$(_this.rect, other.rect);
        case C.MutatorType_1:
          return J.$eq$(_this.rrect, other.rrect);
        case C.MutatorType_2:
          return _this.path == other.path;
        case C.MutatorType_3:
          return _this.matrix == other.matrix;
        case C.MutatorType_4:
          return _this.alpha == other.alpha;
        default:
          return false;
      }
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.type, _this.rect, _this.rrect, _this.path, _this.matrix, _this.alpha, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  H.MutatorsStack.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (other === this)
        return true;
      return other instanceof H.MutatorsStack && H.listEquals(other._mutators, this._mutators);
    },
    get$hashCode: function(_) {
      return P.hashList(this._mutators);
    },
    get$iterator: function(_) {
      var t1 = this._mutators,
        t2 = H._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
      t1 = new H.ReversedListIterable(t1, t2);
      return new H.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>"));
    }
  };
  H.FontFallbackData.prototype = {
    registerFallbackFont$2: function(family, bytes) {
      var t1, t2, t3, countedFamily,
        typeface = J.MakeTypefaceFromData$1$x(J.RefDefault$0$x(J.get$FontMgr$x($.canvasKit._readField$0())), bytes);
      if (typeface == null) {
        $.$get$printWarning().call$1("Failed to parse fallback font " + family + " as a font.");
        return;
      }
      t1 = this.fontFallbackCounts;
      t1.putIfAbsent$2(0, family, new H.FontFallbackData_registerFallbackFont_closure());
      t2 = t1.$index(0, family);
      t2.toString;
      t3 = t1.$index(0, family);
      t3.toString;
      t1.$indexSet(0, family, t3 + 1);
      countedFamily = family + " " + H.S(t2);
      this.registeredFallbackFonts.push(H.RegisteredFont$(bytes, countedFamily, typeface));
      this.globalFontFallbacks.push(countedFamily);
    }
  };
  H.FontFallbackData_createNotoFontTree_closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_CodeunitRange);
    },
    $signature: 306
  };
  H.FontFallbackData_registerFallbackFont_closure.prototype = {
    call$0: function() {
      return 0;
    },
    $signature: 116
  };
  H.findFontsForMissingCodeunits_closure.prototype = {
    call$1: function(u) {
      return this.data.codeUnitsWithNoKnownFont.contains$1(0, u);
    },
    $signature: 72
  };
  H._makeResolvedNotoFontFromCss_closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_CodeunitRange);
    },
    $signature: 306
  };
  H._registerSymbolsAndEmoji_extractUrlFromCss.prototype = {
    call$1: function(css) {
      var t1, t2, urlStart;
      for (t1 = P.LineSplitter_split(css), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (J.startsWith$1$s(t2, "  src:")) {
          urlStart = C.JSString_methods.indexOf$1(t2, "url(");
          if (urlStart === -1) {
            $.$get$printWarning().call$1("Unable to resolve Noto font URL: " + t2);
            return null;
          }
          return C.JSString_methods.substring$2(t2, urlStart + 4, C.JSString_methods.indexOf$1(t2, ")"));
        }
      }
      $.$get$printWarning().call$1("Unable to determine URL for Noto font");
      return null;
    },
    $signature: 522
  };
  H.findMinimumFontsForCodeUnits_closure.prototype = {
    call$1: function(font) {
      return C.JSArray_methods.contains$1($.$get$_cjkFonts(), font);
    },
    $signature: 510
  };
  H.findMinimumFontsForCodeUnits_closure0.prototype = {
    call$1: function(codeUnit) {
      return this._box_0.bestFont.resolvedFont.tree.root.containsDeep$1(codeUnit);
    },
    $signature: 72
  };
  H.NotoFont.prototype = {
    ensureResolved$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, $async$temp1;
      var $async$ensureResolved$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$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 P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
              t1 = $.$get$notoDownloadQueue().downloader;
              t2 = $async$self.name;
              $async$temp1 = H;
              $async$goto = 7;
              return P._asyncAwait(t1.downloadAsString$1("https://fonts.googleapis.com/css2?family=" + H.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 P._asyncAwait(t1.future, $async$ensureResolved$0);
            case 8:
              // returning from await.
            case 5:
              // join
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$ensureResolved$0, $async$completer);
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  H.CodeunitRange.prototype = {
    contains$1: function(_, codeUnit) {
      return C.JSInt_methods.$le(this.start, codeUnit) && codeUnit.$le(0, this.end);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (!(other instanceof H.CodeunitRange))
        return false;
      return other.start === this.start && other.end === this.end;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.start, this.end, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "[" + this.start + ", " + this.end + "]";
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  H._ResolvedNotoFont.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  H._ResolvedNotoSubset.prototype = {
    toString$0: function(_) {
      return "_ResolvedNotoSubset(" + this.family + ", " + this.url + ")";
    }
  };
  H.FallbackFontDownloadQueue.prototype = {
    add$1: function(_, subset) {
      var t1, firstInBatch, _this = this;
      if (_this.downloadedSubsets.contains$1(0, subset) || _this.pendingSubsets.containsKey$1(0, subset.url))
        return;
      t1 = _this.pendingSubsets;
      firstInBatch = t1.get$isEmpty(t1);
      t1.$indexSet(0, subset.url, subset);
      if (firstInBatch)
        P.Timer_Timer(C.Duration_0, _this.get$startDownloads());
    },
    startDownloads$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, t2, t3, t4, downloadOrder, _i, url, t1, downloads, downloadedData;
      var $async$startDownloads$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.String;
              downloads = P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Future_void);
              downloadedData = P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Uint8List);
              for (t1 = $async$self.pendingSubsets, t2 = t1.get$values(t1), t2 = t2.get$iterator(t2), t3 = type$.void; t2.moveNext$0();) {
                t4 = t2.get$current(t2);
                downloads.$indexSet(0, t4.url, P.Future_Future(new H.FallbackFontDownloadQueue_startDownloads_closure($async$self, t4, downloadedData), t3));
              }
              $async$goto = 2;
              return P._asyncAwait(P.Future_wait(downloads.get$values(downloads), t3), $async$startDownloads$0);
            case 2:
              // returning from await.
              t2 = downloadedData.get$keys(downloadedData);
              t2 = P.List_List$of(t2, true, H._instanceType(t2)._eval$1("Iterable.E"));
              C.JSArray_methods.sort$0(t2);
              t3 = H._arrayInstanceType(t2)._eval$1("ReversedListIterable<1>");
              downloadOrder = P.List_List$of(new H.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.get$isEmpty(t1) ? 6 : 7;
              break;
            case 6:
              // then
              t3 = $._skiaFontCollection.ensureFontsLoaded$0();
              $async$self._fontsLoading = t3;
              $async$handler = 8;
              $async$goto = 11;
              return P._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
              H.sendFontChangeMessage();
            case 7:
              // join
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$goto = t1.get$isNotEmpty(t1) ? 12 : 13;
              break;
            case 12:
              // then
              $async$goto = 14;
              return P._asyncAwait($async$self.startDownloads$0(), $async$startDownloads$0);
            case 14:
              // returning from await.
            case 13:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$startDownloads$0, $async$completer);
    }
  };
  H.FallbackFontDownloadQueue_startDownloads_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, e, t1, exception, t2, buffer, $async$exception;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              buffer = null;
              $async$handler = 4;
              t1 = $async$self.subset;
              $async$goto = 7;
              return P._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 = H.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, J.asUint8List$0$x(buffer));
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 88
  };
  H.NotoDownloader.prototype = {
    downloadAsBytes$2$debugDescription: function(url, debugDescription) {
      var result = C.Window_methods.fetch$1(window, url).then$1$1(0, new H.NotoDownloader_downloadAsBytes_closure(), type$.ByteBuffer);
      return result;
    },
    downloadAsString$1: function(url) {
      var result = C.Window_methods.fetch$1(window, url).then$1$1(0, new H.NotoDownloader_downloadAsString_closure(), type$.String);
      return result;
    }
  };
  H.NotoDownloader_downloadAsBytes_closure.prototype = {
    call$1: function(fetchResult) {
      return J.then$1$1$x(J.arrayBuffer$0$x(fetchResult), new H.NotoDownloader_downloadAsBytes__closure(), type$.ByteBuffer);
    },
    $signature: 378
  };
  H.NotoDownloader_downloadAsBytes__closure.prototype = {
    call$1: function(x) {
      return type$.ByteBuffer._as(x);
    },
    $signature: 347
  };
  H.NotoDownloader_downloadAsString_closure.prototype = {
    call$1: function(response) {
      return J.then$1$1$x(J.text$0$x(response), new H.NotoDownloader_downloadAsString__closure(), type$.String);
    },
    $signature: 393
  };
  H.NotoDownloader_downloadAsString__closure.prototype = {
    call$1: function(x) {
      return H._asStringS(x);
    },
    $signature: 694
  };
  H.SkiaFontCollection.prototype = {
    ensureFontsLoaded$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, _i, font, t4, t5;
      var $async$ensureFontsLoaded$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self._loadFonts$0(), $async$ensureFontsLoaded$0);
            case 2:
              // returning from await.
              t1 = $async$self.fontProvider;
              if (t1 != null) {
                J.delete$0$x(t1);
                $async$self.fontProvider = null;
              }
              $async$self.fontProvider = J.Make$0$x(J.get$TypefaceFontProvider$x($.canvasKit._readField$0()));
              t1 = $async$self.familyToTypefaceMap;
              t1.clear$0(0);
              for (t2 = $async$self._registeredFonts, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
                font = t2[_i];
                t4 = $async$self.fontProvider;
                t4.toString;
                t5 = font.family;
                J.registerFont$2$x(t4, font.bytes, t5);
                J.add$1$ax(t1.putIfAbsent$2(0, t5, new H.SkiaFontCollection_ensureFontsLoaded_closure()), font.typeface);
              }
              for (t2 = $.$get$FontFallbackData__instance().registeredFallbackFonts, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
                font = t2[_i];
                t4 = $async$self.fontProvider;
                t4.toString;
                t5 = font.family;
                J.registerFont$2$x(t4, font.bytes, t5);
                J.add$1$ax(t1.putIfAbsent$2(0, t5, new H.SkiaFontCollection_ensureFontsLoaded_closure0()), font.typeface);
              }
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$ensureFontsLoaded$0, $async$completer);
    },
    _loadFonts$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, t3, t4, t1, $async$temp1;
      var $async$_loadFonts$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._unloadedFonts;
              if (t1.length === 0) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = J;
              $async$goto = 3;
              return P._asyncAwait(P.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._registeredFonts;
            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
              C.JSArray_methods.set$length(t1, 0);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_loadFonts$0, $async$completer);
    },
    registerFonts$1: function(assetManager) {
      return this.registerFonts$body$SkiaFontCollection(assetManager);
    },
    registerFonts$body$SkiaFontCollection: function(assetManager) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, e, exception, t1, fontManifest, t2, registeredRoboto, t3, t4, t5, fontAssets, byteData, $async$exception;
      var $async$registerFonts$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              byteData = null;
              $async$handler = 4;
              $async$goto = 7;
              return P._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 = H.unwrapException($async$exception);
              if (t1 instanceof H.AssetManagerException) {
                e = t1;
                if (e.httpStatus === 404) {
                  $.$get$printWarning().call$1("Font manifest does not exist at `" + H.S(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 = C.C_JsonCodec.decode$1(0, C.Utf8Codec_false.decode$1(0, J.asUint8List$0$x(J.get$buffer$x(byteData))));
              if (fontManifest == null)
                throw H.wrapException(P.AssertionError$(string$.There_w));
              for (t1 = J.cast$1$0$ax(fontManifest, type$.Map_String_dynamic), t1 = new H.ListIterator(t1, t1.get$length(t1), H._instanceType(t1)._eval$1("ListIterator<ListMixin.E>")), t2 = $async$self._unloadedFonts, registeredRoboto = false; t1.moveNext$0();) {
                t3 = t1.__internal$_current;
                t4 = J.getInterceptor$asx(t3);
                t5 = t4.$index(t3, "family");
                t5.toString;
                fontAssets = t4.$index(t3, "fonts");
                if (t5 === "Roboto")
                  registeredRoboto = true;
                for (t3 = J.get$iterator$ax(fontAssets); t3.moveNext$0();)
                  t2.push($async$self._registerFont$2(assetManager.getAssetUrl$1(J.$index$asx(t3.get$current(t3), "asset")), t5));
              }
              if (!registeredRoboto)
                t2.push($async$self._registerFont$2("https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Me5WZLCzYlKw.ttf", "Roboto"));
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$registerFonts$1, $async$completer);
    },
    _registerFont$2: function(url, family) {
      return this._registerFont$body$SkiaFontCollection(url, family);
    },
    _registerFont$body$SkiaFontCollection: function(url, family) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.nullable_RegisteredFont),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, e, exception, bytes, typeface, buffer, $async$exception;
      var $async$_registerFont$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              buffer = null;
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait(C.Window_methods.fetch$1(window, url).then$1$1(0, $async$self.get$_getArrayBuffer(), type$.ByteBuffer), $async$_registerFont$2);
            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 = H.unwrapException($async$exception);
              $.$get$printWarning().call$1("Failed to load font " + H.S(family) + " at " + H.S(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 = J.asUint8List$0$x(buffer);
              typeface = J.MakeTypefaceFromData$1$x(J.RefDefault$0$x(J.get$FontMgr$x($.canvasKit._readField$0())), bytes);
              if (typeface != null) {
                $async$returnValue = H.RegisteredFont$(bytes, family, typeface);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $.$get$printWarning().call$1("Failed to load font " + H.S(family) + " at " + H.S(url));
                $.$get$printWarning().call$1("Verify that " + H.S(url) + " contains a valid font.");
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_registerFont$2, $async$completer);
    },
    _getArrayBuffer$1: function(fetchResult) {
      return J.then$1$1$x(J.arrayBuffer$0$x(fetchResult), new H.SkiaFontCollection__getArrayBuffer_closure(), type$.ByteBuffer);
    }
  };
  H.SkiaFontCollection_ensureFontsLoaded_closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_SkTypeface);
    },
    $signature: 263
  };
  H.SkiaFontCollection_ensureFontsLoaded_closure0.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_SkTypeface);
    },
    $signature: 263
  };
  H.SkiaFontCollection__getArrayBuffer_closure.prototype = {
    call$1: function(x) {
      return type$.ByteBuffer._as(x);
    },
    $signature: 347
  };
  H.RegisteredFont.prototype = {};
  H.ImageCodecException.prototype = {
    toString$0: function(_) {
      return "ImageCodecException: " + this.__engine$_message;
    },
    $isException: 1
  };
  H.CkAnimatedImage.prototype = {
    createDefault$0: function() {
      var t1, i, _this = this,
        animatedImage = J.MakeAnimatedImageFromEncoded$1$x($.canvasKit._readField$0(), _this._bytes);
      if (animatedImage == null)
        throw H.wrapException(new H.ImageCodecException("Failed to decode image data.\nImage source: " + _this.src));
      t1 = J.getInterceptor$x(animatedImage);
      _this._frameCount = t1.getFrameCount$0(animatedImage);
      _this._repetitionCount = t1.getRepetitionCount$0(animatedImage);
      for (i = 0; i < _this._nextFrameIndex; ++i)
        t1.decodeNextFrame$0(animatedImage);
      return animatedImage;
    },
    resurrect$0: function() {
      return this.createDefault$0();
    },
    get$isResurrectionExpensive: function() {
      return true;
    },
    delete$0: function(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        J.delete$0$x(t1);
    },
    get$frameCount: function() {
      return this._frameCount;
    },
    get$repetitionCount: function() {
      return this._repetitionCount;
    },
    getNextFrame$0: function() {
      var _this = this,
        duration = P.Duration$(0, J.decodeNextFrame$0$x(_this.get$skiaObject())),
        image = H.CkImage$(J.makeImageAtCurrentFrame$0$x(_this.get$skiaObject()));
      _this._nextFrameIndex = C.JSInt_methods.$mod(_this._nextFrameIndex + 1, _this._frameCount);
      return P.Future_Future$value(new H.AnimatedImageFrameInfo(duration, image), type$.FrameInfo);
    },
    $isCodec: 1
  };
  H.CkImage.prototype = {
    CkImage$1: function(skImage) {
      var t1, t2, t3, originalBytes, _this = this;
      if ($.$get$browserSupportsFinalizationRegistry()) {
        t1 = new H.SkiaObjectBox(P.LinkedHashSet_LinkedHashSet$_empty(type$.CkImage), null, type$.SkiaObjectBox_CkImage_SkImage);
        t1.__engine$_initialize$2(_this, skImage);
        t2 = $.$get$Collector__instance();
        t3 = t1._skDeletable;
        t3.toString;
        t2.register$2(0, t1, t3);
        _this.set$box(t1);
      } else {
        t1 = J.get$Premul$x(J.get$AlphaType$x($.canvasKit._readField$0()));
        t2 = J.get$RGBA_8888$x(J.get$ColorType$x($.canvasKit._readField$0()));
        originalBytes = H.CkImage__encodeImage(t1, self.window.flutterCanvasKit.ColorSpace.SRGB, t2, C.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 = J.getInterceptor$x(skImage);
        t1 = new H.SkiaObjectBox(P.LinkedHashSet_LinkedHashSet$_empty(type$.CkImage), new H.CkImage_closure(t1.width$0(skImage), t1.height$0(skImage), originalBytes), type$.SkiaObjectBox_CkImage_SkImage);
        t1.__engine$_initialize$2(_this, skImage);
        H.SkiaObjects_registerCleanupCallback();
        $.$get$SkiaObjects_expensiveCache().add$1(0, t1);
        _this.set$box(t1);
      }
    },
    CkImage$cloneOf$1: function(box) {
      ++this.get$box()._refCount;
    },
    get$box: function() {
      var t1 = this.__CkImage_box;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("box")) : t1;
    },
    set$box: function(t1) {
      if (this.__CkImage_box === $)
        this.__CkImage_box = t1;
      else
        throw H.wrapException(H.LateError$fieldAI("box"));
    },
    dispose$0: function(_) {
      var t1, t2;
      this._disposed = true;
      t1 = this.get$box();
      if (--t1._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: function(_) {
      var t1 = new H.CkImage(this.get$box());
      ++t1.get$box()._refCount;
      return t1;
    },
    isCloneOf$1: function(other) {
      return other instanceof H.CkImage && J.isAliasOf$1$x(other.get$box().get$skiaObject(), this.get$box().get$skiaObject());
    },
    get$width: function(_) {
      return J.width$0$x(this.get$box().get$skiaObject());
    },
    get$height: function(_) {
      return J.height$0$x(this.get$box().get$skiaObject());
    },
    toString$0: function(_) {
      return "[" + H.S(J.width$0$x(this.get$box().get$skiaObject())) + "\xd7" + H.S(J.height$0$x(this.get$box().get$skiaObject())) + "]";
    }
  };
  H.CkImage_closure.prototype = {
    call$0: function() {
      var t1 = $.canvasKit._readField$0(),
        t2 = J.get$Premul$x(J.get$AlphaType$x($.canvasKit._readField$0())),
        t3 = J.get$RGBA_8888$x(J.get$ColorType$x($.canvasKit._readField$0())),
        t4 = this.originalWidth;
      return J.MakeImage$3$x(t1, {width: t4, height: this.originalHeight, alphaType: t2, colorSpace: self.window.flutterCanvasKit.ColorSpace.SRGB, colorType: t3}, J.asUint8List$0$x(J.get$buffer$x(this.originalBytes)), 4 * t4);
    },
    $signature: 911
  };
  H.AnimatedImageFrameInfo.prototype = {
    get$duration: function(_) {
      return this.__engine$_duration;
    },
    get$image: function(_) {
      return this.__engine$_image;
    },
    $isFrameInfo: 1
  };
  H.initializeCanvasKit_closure.prototype = {
    call$1: function(_) {
      J.then$1$x(self.window.CanvasKitInit({locateFile: P.allowInterop(new H.initializeCanvasKit__closure())}), P.allowInterop(new H.initializeCanvasKit__closure0(this.canvasKitCompleter)));
    },
    $signature: 23
  };
  H.initializeCanvasKit__closure.prototype = {
    call$2: function(file, unusedBase) {
      return C.JSString_methods.$add("assets/canvaskit/profiling/", file);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 1117
  };
  H.initializeCanvasKit__closure0.prototype = {
    call$1: function(ck) {
      $.canvasKit.__late_helper$_value = ck;
      self.window.flutterCanvasKit = $.canvasKit._readField$0();
      this.canvasKitCompleter.complete$0(0);
    },
    $signature: 1141
  };
  H.IntervalTree.prototype = {};
  H.IntervalTree_IntervalTree$createFromRanges_closure.prototype = {
    call$2: function(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 H.IntervalTreeNode(key, t5, t4, t4, t3));
      }
    },
    $signature: function() {
      return this.T._eval$1("~(0,List<CodeunitRange>)");
    }
  };
  H.IntervalTree_IntervalTree$createFromRanges_closure0.prototype = {
    call$2: function(a, b) {
      return a.low - b.low;
    },
    $signature: function() {
      return this.T._eval$1("int(IntervalTreeNode<0>,IntervalTreeNode<0>)");
    }
  };
  H.IntervalTree_IntervalTree$createFromRanges__makeBalancedTree.prototype = {
    call$1: function(nodes) {
      var mid, root,
        t1 = nodes.length;
      if (t1 === 0)
        return null;
      if (t1 === 1)
        return C.JSArray_methods.get$single(nodes);
      mid = t1 / 2 | 0;
      root = nodes[mid];
      root.left = this.call$1(C.JSArray_methods.sublist$2(nodes, 0, mid));
      root.right = this.call$1(C.JSArray_methods.sublist$1(nodes, mid + 1));
      return root;
    },
    $signature: function() {
      return this.T._eval$1("IntervalTreeNode<0>?(List<IntervalTreeNode<0>>)");
    }
  };
  H.IntervalTree_IntervalTree$createFromRanges__computeHigh.prototype = {
    call$1: function(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: function() {
      return this.T._eval$1("~(IntervalTreeNode<0>)");
    }
  };
  H.IntervalTreeNode.prototype = {
    containsShallow$1: function(x) {
      return this.low <= x && x <= this.high;
    },
    containsDeep$1: function(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: function(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);
    }
  };
  H.Layer.prototype = {
    get$parent: function(receiver) {
      return this.parent;
    },
    set$parent: function(receiver, val) {
      return this.parent = val;
    }
  };
  H.PrerollContext.prototype = {};
  H.PaintContext.prototype = {};
  H.ContainerLayer.prototype = {
    add$1: function(_, child) {
      child.parent = this;
      this._layers.push(child);
    },
    preroll$2: function(prerollContext, matrix) {
      this.paintBounds = this.prerollChildren$2(prerollContext, matrix);
    },
    prerollChildren$2: function(context, childMatrix) {
      var t1, t2, childPaintBounds, _i, layer, t3;
      for (t1 = this._layers, t2 = t1.length, childPaintBounds = C.Rect_0_0_0_0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.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: function(context) {
      var t1, t2, _i, layer, t3;
      for (t1 = this._layers, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        layer = t1[_i];
        t3 = layer.paintBounds;
        if (!(t3.left >= t3.right || t3.top >= t3.bottom))
          layer.paint$1(context);
      }
    }
  };
  H.RootLayer.prototype = {
    paint$1: function(context) {
      this.paintChildren$1(context);
    }
  };
  H.ClipPathEngineLayer.prototype = {
    preroll$2: function(context, matrix) {
      var childPaintBounds, clipBounds, _null = null,
        t1 = this.__engine$_clipPath,
        t2 = context.mutatorsStack._mutators;
      t2.push(new H.Mutator(C.MutatorType_2, _null, _null, t1, _null, _null));
      childPaintBounds = this.prerollChildren$2(context, matrix);
      clipBounds = H.fromSkRect(J.getBounds$0$x(t1.get$skiaObject()));
      if (childPaintBounds.overlaps$1(clipBounds))
        this.paintBounds = childPaintBounds.intersect$1(clipBounds);
      t2.pop();
    },
    paint$1: function(paintContext) {
      var t2, _this = this,
        t1 = paintContext.internalNodesCanvas;
      t1.save$0(0);
      t2 = _this.__engine$_clipBehavior;
      t1.clipPath$2(0, _this.__engine$_clipPath, t2 !== C.Clip_1);
      t2 = t2 === C.Clip_3;
      if (t2)
        t1.saveLayer$2(0, _this.paintBounds, null);
      _this.paintChildren$1(paintContext);
      if (t2)
        t1.restore$0(0);
      t1.restore$0(0);
    },
    $isClipPathEngineLayer0: 1
  };
  H.ClipRectEngineLayer.prototype = {
    preroll$2: function(context, matrix) {
      var childPaintBounds, _null = null,
        t1 = this.__engine$_clipRect,
        t2 = context.mutatorsStack._mutators;
      t2.push(new H.Mutator(C.MutatorType_0, t1, _null, _null, _null, _null));
      childPaintBounds = this.prerollChildren$2(context, matrix);
      if (childPaintBounds.overlaps$1(t1))
        this.paintBounds = childPaintBounds.intersect$1(t1);
      t2.pop();
    },
    paint$1: function(paintContext) {
      var t2, t3,
        t1 = paintContext.internalNodesCanvas;
      t1.save$0(0);
      t2 = this.__engine$_clipRect;
      t3 = this.__engine$_clipBehavior;
      t1.clipRect$3(0, t2, C.ClipOp_1, t3 !== C.Clip_1);
      t3 = t3 === C.Clip_3;
      if (t3)
        t1.saveLayer$2(0, t2, null);
      this.paintChildren$1(paintContext);
      if (t3)
        t1.restore$0(0);
      t1.restore$0(0);
    },
    $isClipRectEngineLayer0: 1
  };
  H.ClipRRectEngineLayer.prototype = {
    preroll$2: function(context, matrix) {
      var childPaintBounds, t3, t4, t5, _null = null,
        t1 = this._clipRRect,
        t2 = context.mutatorsStack._mutators;
      t2.push(new H.Mutator(C.MutatorType_1, _null, t1, _null, _null, _null));
      childPaintBounds = this.prerollChildren$2(context, matrix);
      t3 = t1.left;
      t4 = t1.top;
      t5 = t1.right;
      t1 = t1.bottom;
      if (childPaintBounds.overlaps$1(new P.Rect(t3, t4, t5, t1)))
        this.paintBounds = childPaintBounds.intersect$1(new P.Rect(t3, t4, t5, t1));
      t2.pop();
    },
    paint$1: function(paintContext) {
      var t2, _this = this,
        t1 = paintContext.internalNodesCanvas;
      t1.save$0(0);
      t2 = _this.__engine$_clipBehavior;
      t1.clipRRect$2(0, _this._clipRRect, t2 !== C.Clip_1);
      t2 = t2 === C.Clip_3;
      if (t2)
        t1.saveLayer$2(0, _this.paintBounds, null);
      _this.paintChildren$1(paintContext);
      if (t2)
        t1.restore$0(0);
      t1.restore$0(0);
    },
    $isClipRRectEngineLayer0: 1
  };
  H.OpacityEngineLayer.prototype = {
    preroll$2: function(context, matrix) {
      var t1, t2, t3, t4, _this = this, _null = null,
        childMatrix = new H.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 = H.Matrix4$identity();
      t3.setTranslationRaw$3(t2, t1, 0);
      t4 = context.mutatorsStack._mutators;
      t4.push(H.Mutator$transform(t3));
      t4.push(new H.Mutator(C.MutatorType_4, _null, _null, _null, _null, _this.__engine$_alpha));
      _this.super$ContainerLayer$preroll(context, childMatrix);
      t4.pop();
      t4.pop();
      _this.paintBounds = _this.paintBounds.translate$2(0, t2, t1);
    },
    paint$1: function(paintContext) {
      var t1, t2, t3, _this = this,
        paint = H.CkPaint$();
      paint.set$color(0, P.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(0, _this.paintBounds.shift$1(new P.Offset(-t3, -t2)), paint);
      _this.paintChildren$1(paintContext);
      t1.restore$0(0);
      t1.restore$0(0);
    },
    $isOpacityEngineLayer0: 1
  };
  H.TransformEngineLayer.prototype = {
    preroll$2: function(context, matrix) {
      var t1 = this.__engine$_transform,
        childMatrix = matrix.$mul(0, t1),
        t2 = context.mutatorsStack._mutators;
      t2.push(H.Mutator$transform(t1));
      this.paintBounds = H.transformRect(t1, this.prerollChildren$2(context, childMatrix));
      t2.pop();
    },
    paint$1: function(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
  };
  H.OffsetEngineLayer.prototype = {$isOffsetEngineLayer0: 1};
  H.PictureLayer0.prototype = {
    preroll$2: function(prerollContext, matrix) {
      this.paintBounds = this.picture.cullRect.shift$1(this.offset);
    },
    paint$1: function(paintContext) {
      var t2,
        t1 = paintContext.leafNodesCanvas;
      t1.save$0(0);
      t2 = this.offset;
      t1.translate$2(0, t2._dx, t2._dy);
      t1.drawPicture$1(0, this.picture);
      t1.restore$0(0);
    }
  };
  H.PhysicalShapeEngineLayer.prototype = {
    preroll$2: function(prerollContext, matrix) {
      var t1, _this = this;
      _this.prerollChildren$2(prerollContext, matrix);
      t1 = $.$get$window()._debugDevicePixelRatio;
      if (t1 == null)
        t1 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      _this.paintBounds = H.computeSkShadowBounds(_this.__engine$_path, _this.__engine$_elevation, t1, matrix);
    },
    paint$1: function(paintContext) {
      var t2, t3, paint, saveCount, _this = this,
        t1 = _this.__engine$_elevation;
      if (t1 !== 0) {
        t2 = _this.__engine$_shadowColor;
        t2.toString;
        t3 = _this._color;
        paintContext.leafNodesCanvas.drawShadow$4(0, _this.__engine$_path, t2, t1, (t3.get$value(t3) >>> 24 & 255) !== 255);
      }
      paint = H.CkPaint$();
      paint.set$color(0, _this._color);
      t1 = _this.__engine$_clipBehavior;
      t2 = t1 === C.Clip_3;
      if (!t2)
        paintContext.leafNodesCanvas.drawPath$2(0, _this.__engine$_path, paint);
      t3 = paintContext.internalNodesCanvas;
      saveCount = t3.save$0(0);
      switch (t1) {
        case C.Clip_1:
          t3.clipPath$2(0, _this.__engine$_path, false);
          break;
        case C.Clip_2:
          t3.clipPath$2(0, _this.__engine$_path, true);
          break;
        case C.Clip_3:
          t3.clipPath$2(0, _this.__engine$_path, true);
          t3.saveLayer$2(0, _this.paintBounds, null);
          break;
        case C.Clip_0:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      if (t2)
        paintContext.leafNodesCanvas.drawPaint$1(0, paint);
      _this.paintChildren$1(paintContext);
      t3.restoreToCount$1(0, saveCount);
    },
    $isPhysicalShapeEngineLayer0: 1
  };
  H.LayerScene.prototype = {
    dispose$0: function(_) {
    }
  };
  H.LayerSceneBuilder.prototype = {
    get$currentLayer: function() {
      var t1 = this.__LayerSceneBuilder_currentLayer;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("currentLayer")) : t1;
    },
    addPerformanceOverlay$2: function(enabledOptions, bounds) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    addPicture$4$isComplexHint$willChangeHint: function(offset, picture, isComplexHint, willChangeHint) {
      var t1 = this.get$currentLayer(),
        t2 = new H.PictureLayer0(type$.CkPicture._as(picture), offset, C.Rect_0_0_0_0);
      t1.toString;
      t2.parent = t1;
      t1._layers.push(t2);
    },
    addRetained$1: function(retainedLayer) {
      var t1 = this.get$currentLayer();
      type$.Layer._as(retainedLayer);
      t1.toString;
      retainedLayer.parent = t1;
      t1._layers.push(retainedLayer);
    },
    build$0: function(_) {
      return new H.LayerScene(new H.LayerTree(this.rootLayer, $.$get$window().get$physicalSize()));
    },
    pop$0: function(_) {
      var t1, _this = this;
      if (_this.get$currentLayer() === _this.rootLayer)
        return;
      t1 = _this.get$currentLayer().parent;
      t1.toString;
      _this.__LayerSceneBuilder_currentLayer = t1;
    },
    pushClipPath$3$clipBehavior$oldLayer: function(path, clipBehavior, oldLayer) {
      return this.pushLayer$1(new H.ClipPathEngineLayer(type$.CkPath._as(path), clipBehavior, H._setArrayType([], type$.JSArray_Layer), C.Rect_0_0_0_0));
    },
    pushClipRRect$3$clipBehavior$oldLayer: function(rrect, clipBehavior, oldLayer) {
      return this.pushLayer$1(new H.ClipRRectEngineLayer(rrect, clipBehavior, H._setArrayType([], type$.JSArray_Layer), C.Rect_0_0_0_0));
    },
    pushClipRect$3$clipBehavior$oldLayer: function(rect, clipBehavior, oldLayer) {
      return this.pushLayer$1(new H.ClipRectEngineLayer(rect, clipBehavior, H._setArrayType([], type$.JSArray_Layer), C.Rect_0_0_0_0));
    },
    pushOffset$3$oldLayer: function(dx, dy, oldLayer) {
      var t1 = H.Matrix4$identity();
      t1.setTranslationRaw$3(dx, dy, 0);
      return this.pushLayer$1(new H.OffsetEngineLayer(t1, H._setArrayType([], type$.JSArray_Layer), C.Rect_0_0_0_0));
    },
    pushOpacity$3$offset$oldLayer: function(alpha, offset, oldLayer) {
      return this.pushLayer$1(new H.OpacityEngineLayer(alpha, offset, H._setArrayType([], type$.JSArray_Layer), C.Rect_0_0_0_0));
    },
    pushPhysicalShape$6$clipBehavior$color$elevation$oldLayer$path$shadowColor: function(clipBehavior, color, elevation, oldLayer, path, shadowColor) {
      return this.pushLayer$1(new H.PhysicalShapeEngineLayer(elevation, color, shadowColor, type$.CkPath._as(path), clipBehavior, H._setArrayType([], type$.JSArray_Layer), C.Rect_0_0_0_0));
    },
    pushTransform$2$oldLayer: function(matrix4, oldLayer) {
      return this.pushLayer$1(new H.TransformEngineLayer(new H.Matrix40(H.toMatrix32(matrix4)), H._setArrayType([], type$.JSArray_Layer), C.Rect_0_0_0_0));
    },
    setCheckerboardOffscreenLayers$1: function(checkerboard) {
    },
    setCheckerboardRasterCacheImages$1: function(checkerboard) {
    },
    setRasterizerTracingThreshold$1: function(frameInterval) {
    },
    pushLayer$1$1: function(layer) {
      var t1 = this.get$currentLayer();
      t1.toString;
      layer.parent = t1;
      t1._layers.push(layer);
      return this.__LayerSceneBuilder_currentLayer = layer;
    },
    pushLayer$1: function(layer) {
      return this.pushLayer$1$1(layer, type$.ContainerLayer);
    }
  };
  H.LayerTree.prototype = {
    paint$2$ignoreRasterCache: function(frame, ignoreRasterCache) {
      var overlayCanvases, i, t3, t4,
        t1 = H._setArrayType([], type$.JSArray_CkCanvas),
        t2 = frame.canvas;
      t1.push(t2);
      overlayCanvases = frame.viewEmbedder.getCurrentCanvases$0();
      for (i = 0; i < overlayCanvases.length; ++i)
        t1.push(overlayCanvases[i]);
      t3 = this.rootLayer;
      t4 = t3.paintBounds;
      if (!t4.get$isEmpty(t4))
        t3.paintChildren$1(new H.PaintContext(new H.CkNWayCanvas(t1), t2));
    }
  };
  H.Frame0.prototype = {
    raster$2$ignoreRasterCache: function(layerTree, ignoreRasterCache) {
      H.timeAction("preroll_frame", new H.Frame_raster_closure(this, layerTree, true));
      H.timeAction("apply_frame", new H.Frame_raster_closure0(this, layerTree, true));
      return true;
    }
  };
  H.Frame_raster_closure.prototype = {
    call$0: function() {
      var t1 = this.layerTree.rootLayer;
      t1.paintBounds = t1.prerollChildren$2(new H.PrerollContext(new H.MutatorsStack(H._setArrayType([], type$.JSArray_Mutator))), H.Matrix4$identity());
    },
    $signature: 0
  };
  H.Frame_raster_closure0.prototype = {
    call$0: function() {
      this.layerTree.paint$2$ignoreRasterCache(this.$this, this.ignoreRasterCache);
    },
    $signature: 0
  };
  H.CompositorContext.prototype = {};
  H.CkMaskFilter.prototype = {
    createDefault$0: function() {
      return this._initSkiaObject$0();
    },
    resurrect$0: function() {
      return this._initSkiaObject$0();
    },
    _initSkiaObject$0: function() {
      return J.MakeBlur$3$x(J.get$MaskFilter$x($.canvasKit._readField$0()), $.$get$_skBlurStyles()[this._blurStyle.index], this.__engine$_sigma, true);
    },
    delete$0: function(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        J.delete$0$x(t1);
    }
  };
  H.CkNWayCanvas.prototype = {
    save$0: function(_) {
      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: function(_, bounds, paint) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].saveLayer$2(0, bounds, paint);
    },
    restore$0: function(_) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].restore$0(0);
    },
    restoreToCount$1: function(_, count) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].restoreToCount$1(0, count);
    },
    translate$2: function(_, dx, dy) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].translate$2(0, dx, dy);
    },
    transform$1: function(_, matrix) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].transform$1(0, matrix);
    },
    clipPath$2: function(_, path, doAntiAlias) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].clipPath$2(0, path, doAntiAlias);
    },
    clipRect$3: function(_, rect, clipOp, doAntiAlias) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].clipRect$3(0, rect, clipOp, doAntiAlias);
    },
    clipRRect$2: function(_, rrect, doAntiAlias) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].clipRRect$2(0, rrect, doAntiAlias);
    }
  };
  H.CkPaint.prototype = {
    set$blendMode: function(value) {
      if (this._blendMode == value)
        return;
      this._blendMode = value;
      J.setBlendMode$1$x(this.get$skiaObject(), $.$get$_skBlendModes()[value.index]);
    },
    set$style: function(_, value) {
      if (this._style == value)
        return;
      this._style = value;
      J.setStyle$1$x(this.get$skiaObject(), $.$get$_skPaintStyles()[value.index]);
    },
    set$strokeWidth: function(value) {
      if (this._strokeWidth === value)
        return;
      this._strokeWidth = value;
      J.setStrokeWidth$1$x(this.get$skiaObject(), value);
    },
    set$strokeCap: function(value) {
      if (this._strokeCap === value)
        return;
      this._strokeCap = value;
      J.setStrokeCap$1$x(this.get$skiaObject(), $.$get$_skStrokeCaps()[value.index]);
    },
    set$isAntiAlias: function(value) {
      if (this._isAntiAlias === value)
        return;
      this._isAntiAlias = value;
      J.setAntiAlias$1$x(this.get$skiaObject(), value);
    },
    get$color: function(_) {
      return this._color;
    },
    set$color: function(_, value) {
      if (J.$eq$(this._color, value))
        return;
      this._color = value;
      J.setColorInt$1$x(this.get$skiaObject(), value.get$value(value));
    },
    set$invertColors: function(value) {
    },
    set$shader: function(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;
      J.setShader$1$x(t1, t2 == null ? null : t2.get$skiaObject());
    },
    set$maskFilter: function(value) {
      var t1, t2, _this = this;
      if (value.$eq(0, _this._maskFilter))
        return;
      _this._maskFilter = value;
      t1 = new H.CkMaskFilter(value._ui$_style, value._sigma);
      t1.ManagedSkiaObject$1(null);
      _this._ckMaskFilter = t1;
      t1 = _this.get$skiaObject();
      t2 = _this._ckMaskFilter;
      J.setMaskFilter$1$x(t1, t2 == null ? null : t2.get$skiaObject());
    },
    set$filterQuality: function(value) {
      var t1, t2, _this = this;
      if (_this._filterQuality === value)
        return;
      _this._filterQuality = value;
      t1 = _this.get$skiaObject();
      t2 = _this._shader;
      J.setShader$1$x(t1, t2 == null ? null : t2.get$skiaObject());
      J.setFilterQuality$1$x(_this.get$skiaObject(), $.$get$_skFilterQualitys()[value.index]);
    },
    set$colorFilter: function(value) {
      var t2, _this = this,
        t1 = _this._managedColorFilter;
      if (J.$eq$(t1 == null ? null : t1.ckColorFilter, value))
        return;
      t1 = new H.ManagedSkColorFilter(value);
      t1.ManagedSkiaObject$1(null);
      _this._managedColorFilter = t1;
      t1 = _this.get$skiaObject();
      t2 = _this._managedColorFilter;
      J.setColorFilter$1$x(t1, t2 == null ? null : t2.get$skiaObject());
    },
    createDefault$0: function() {
      var t2,
        paint = new self.window.flutterCanvasKit.Paint(),
        t1 = J.getInterceptor$x(paint);
      t1.setAntiAlias$1(paint, this._isAntiAlias);
      t2 = this._color;
      t1.setColorInt$1(paint, t2.get$value(t2));
      return paint;
    },
    resurrect$0: function() {
      var _this = this, _null = null,
        paint = new self.window.flutterCanvasKit.Paint(),
        t1 = _this._blendMode,
        t2 = J.getInterceptor$x(paint);
      t2.setBlendMode$1(paint, $.$get$_skBlendModes()[t1.index]);
      t1 = _this._style;
      t2.setStyle$1(paint, $.$get$_skPaintStyles()[t1.index]);
      t2.setStrokeWidth$1(paint, _this._strokeWidth);
      t2.setAntiAlias$1(paint, _this._isAntiAlias);
      t1 = _this._color;
      t2.setColorInt$1(paint, t1.get$value(t1));
      t1 = _this._shader;
      t2.setShader$1(paint, t1 == null ? _null : t1.get$skiaObject());
      t1 = _this._ckMaskFilter;
      t2.setMaskFilter$1(paint, t1 == null ? _null : t1.get$skiaObject());
      t1 = _this._managedColorFilter;
      t2.setColorFilter$1(paint, t1 == null ? _null : t1.get$skiaObject());
      t1 = _this._managedImageFilter;
      t2.setImageFilter$1(paint, t1 == null ? _null : t1.get$skiaObject());
      t1 = _this._filterQuality;
      t2.setFilterQuality$1(paint, $.$get$_skFilterQualitys()[t1.index]);
      t1 = _this._strokeCap;
      t2.setStrokeCap$1(paint, $.$get$_skStrokeCaps()[t1.index]);
      t2.setStrokeJoin$1(paint, $.$get$_skStrokeJoins()[0]);
      t2.setStrokeMiter$1(paint, 0);
      return paint;
    },
    delete$0: function(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        J.delete$0$x(t1);
    },
    $isPaint: 1
  };
  H.CkPath.prototype = {
    set$fillType: function(newFillType) {
      if (this._fillType === newFillType)
        return;
      this._fillType = newFillType;
      J.setFillType$1$x(this.get$skiaObject(), $.$get$_skFillTypes()[newFillType.index]);
    },
    addArc$3: function(_, oval, startAngle, sweepAngle) {
      J.addArc$3$x(this.get$skiaObject(), H.toSkRect(oval), startAngle * 57.29577951308232, sweepAngle * 57.29577951308232);
    },
    addOval$1: function(_, oval) {
      J.addOval$3$x(this.get$skiaObject(), H.toSkRect(oval), false, 1);
    },
    addRRect$1: function(_, rrect) {
      J.addRRect$2$x(this.get$skiaObject(), H.toSkRRect(rrect), false);
    },
    addRect$1: function(_, rect) {
      J.addRect$1$x(this.get$skiaObject(), H.toSkRect(rect));
    },
    arcTo$4: function(_, rect, startAngle, sweepAngle, forceMoveTo) {
      J.arcToOval$4$x(this.get$skiaObject(), H.toSkRect(rect), startAngle * 57.29577951308232, sweepAngle * 57.29577951308232, forceMoveTo);
    },
    close$0: function(_) {
      J.close$0$x(this.get$skiaObject());
    },
    contains$1: function(_, point) {
      return J.contains$2$asx(this.get$skiaObject(), point._dx, point._dy);
    },
    cubicTo$6: function(_, x1, y1, x2, y2, x3, y3) {
      J.cubicTo$6$x(this.get$skiaObject(), x1, y1, x2, y2, x3, y3);
    },
    getBounds$0: function(_) {
      var t1 = J.getBounds$0$x(this.get$skiaObject()),
        t2 = J.getInterceptor$asx(t1);
      return new P.Rect(t2.$index(t1, 0), t2.$index(t1, 1), t2.$index(t1, 2), t2.$index(t1, 3));
    },
    lineTo$2: function(_, x, y) {
      J.lineTo$2$x(this.get$skiaObject(), x, y);
    },
    moveTo$2: function(_, x, y) {
      J.moveTo$2$x(this.get$skiaObject(), x, y);
    },
    quadraticBezierTo$4: function(x1, y1, x2, y2) {
      J.quadTo$4$x(this.get$skiaObject(), x1, y1, x2, y2);
    },
    relativeMoveTo$2: function(dx, dy) {
      J.rMoveTo$2$x(this.get$skiaObject(), dx, dy);
    },
    reset$0: function(_) {
      this._fillType = C.PathFillType_0;
      J.reset$0$x(this.get$skiaObject());
    },
    shift$1: function(offset) {
      var newPath = J.copy$0$x(this.get$skiaObject());
      J.transform$9$x(newPath, 1, 0, offset._dx, 0, 1, offset._dy, 0, 0, 0);
      return H.CkPath$fromSkPath(newPath, this._fillType);
    },
    get$isResurrectionExpensive: function() {
      return true;
    },
    createDefault$0: function() {
      var path = new self.window.flutterCanvasKit.Path(),
        t1 = this._fillType;
      J.setFillType$1$x(path, $.$get$_skFillTypes()[t1.index]);
      return path;
    },
    delete$0: function(_) {
      var t1;
      this._cachedCommands = J.toCmds$0$x(this.get$skiaObject());
      t1 = this.rawSkiaObject;
      if (t1 != null)
        J.delete$0$x(t1);
    },
    resurrect$0: function() {
      var path,
        t1 = J.get$Path$x($.canvasKit._readField$0()),
        t2 = this._cachedCommands;
      t2.toString;
      path = J.MakeFromCmds$1$x(t1, t2);
      t2 = this._fillType;
      J.setFillType$1$x(path, $.$get$_skFillTypes()[t2.index]);
      return path;
    },
    $isPath: 1
  };
  H.CkPicture.prototype = {
    get$isResurrectionExpensive: function() {
      return true;
    },
    createDefault$0: function() {
      throw H.wrapException(P.StateError$("Unreachable code"));
    },
    resurrect$0: function() {
      return this._snapshot.toPicture$0();
    },
    delete$0: function(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        J.delete$0$x(t1);
    }
  };
  H.CkPictureRecorder.prototype = {
    beginRecording$1: function(_, bounds) {
      var recorder, skCanvas;
      this._cullRect = bounds;
      recorder = new self.window.flutterCanvasKit.PictureRecorder();
      this._skRecorder = recorder;
      skCanvas = J.beginRecording$1$x(recorder, H.toSkRect(bounds));
      return this._recordingCanvas = $.$get$browserSupportsFinalizationRegistry() ? new H.CkCanvas(skCanvas) : new H.RecordingCkCanvas(new H.CkPictureSnapshot(bounds, H._setArrayType([], type$.JSArray_CkPaintCommand)), skCanvas);
    },
    endRecording$0: function() {
      var t1, skPicture, _this = this,
        recorder = _this._skRecorder;
      if (recorder == null)
        throw H.wrapException(P.StateError$("PictureRecorder is not recording"));
      t1 = J.getInterceptor$x(recorder);
      skPicture = t1.finishRecordingAsPicture$0(recorder);
      t1.delete$0(recorder);
      _this._skRecorder = null;
      t1 = new H.CkPicture(_this._cullRect, _this._recordingCanvas.get$pictureSnapshot());
      t1.ManagedSkiaObject$1(skPicture);
      return t1;
    },
    get$isRecording: function() {
      return this._skRecorder != null;
    }
  };
  H.Rasterizer.prototype = {
    draw$1: function(layerTree) {
      var frame, canvas, compositorFrame, t1, t2, t3;
      try {
        t1 = layerTree.frameSize;
        if (t1.get$isEmpty(t1))
          return;
        t2 = this.surface;
        frame = t2.acquireFrame$1(t1);
        t3 = t2.viewEmbedder;
        t3.set$frameSize(t1);
        canvas = new H.CkCanvas(J.getCanvas$0$x(frame.skiaSurface._surface));
        compositorFrame = new H.Frame0(canvas, null, t3);
        compositorFrame.raster$2$ignoreRasterCache(layerTree, true);
        if (!t2._addedToScene) {
          t1 = $.skiaSceneHost;
          t1.toString;
          J.get$children$x(t1).insert$2(0, 0, t2.htmlElement);
        }
        t2._addedToScene = true;
        J.submit$0$z(frame);
        t3.submitFrame$0(0);
      } finally {
        this._runPostFrameCallbacks$0();
      }
    },
    _runPostFrameCallbacks$0: function() {
      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;
      C.JSArray_methods.set$length(t1, 0);
    }
  };
  H.CkShader.prototype = {
    delete$0: function(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        J.delete$0$x(t1);
    }
  };
  H.CkGradientLinear.prototype = {
    createDefault$0: function() {
      var _this = this,
        t1 = J.get$Shader$x($.canvasKit._readField$0()),
        t2 = H.toSkPoint(_this.from),
        t3 = H.toSkPoint(_this.to),
        t4 = H.toFlatColors(_this.colors),
        t5 = H.toSkColorStops(_this.colorStops),
        t6 = $.$get$_skTileModes()[_this.tileMode.index],
        t7 = _this.matrix4;
      return J.MakeLinearGradient$6$x(t1, t2, t3, t4, t5, t6, t7 != null ? H.toSkMatrixFromFloat32(t7) : null);
    },
    resurrect$0: function() {
      return this.createDefault$0();
    }
  };
  H.SkiaObjectCache.prototype = {
    get$length: function(_) {
      return this._itemQueue._elementCount;
    },
    add$1: function(_, object) {
      var t2, _this = this,
        t1 = _this._itemQueue;
      t1.addFirst$1(object);
      t2 = t1.get$_sentinel().nextEntry$0();
      t2.toString;
      _this._itemMap.$indexSet(0, object, t2);
      if (t1._elementCount > _this.maximumSize)
        H.SkiaObjects_markCacheForResize(_this);
    },
    resize$0: function(_) {
      var t1, t2, t3, t4, i, t5, result,
        itemsToDelete = this.maximumSize / 2 | 0;
      for (t1 = this._itemMap, t2 = this._itemQueue, t3 = t2.$ti, t4 = t3._eval$1("_DoubleLinkedQueueSentinel<1>"), i = 0; i < itemsToDelete; ++i) {
        t5 = t2.__DoubleLinkedQueue__sentinel;
        if (t5 === $) {
          t5 = new P._DoubleLinkedQueueSentinel(t2, null, t4);
          t5._previousLink = t5;
          t2.__DoubleLinkedQueue__sentinel = t5._nextLink = t5;
        }
        result = t3._eval$1("_DoubleLinkedQueueEntry<1>")._as(t5._previousLink)._remove$0(0);
        --t2._elementCount;
        t1.remove$1(0, result);
        result.delete$0(0);
        result.didDelete$0();
      }
    }
  };
  H.SynchronousSkiaObjectCache.prototype = {
    get$length: function(_) {
      return this._itemQueue._elementCount;
    },
    add$1: function(_, object) {
      var t1 = this._itemQueue;
      t1.addFirst$1(object);
      t1 = t1.get$_sentinel().nextEntry$0();
      t1.toString;
      this._itemMap.$indexSet(0, object, t1);
      this._enforceCacheLimit$0();
    },
    markUsed$1: function(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.get$_sentinel().nextEntry$0();
      t2.toString;
      t1.$indexSet(0, object, t2);
      return true;
    },
    _enforceCacheLimit$0: function() {
      var t1, t2, t3, t4, t5, t6, result;
      for (t1 = this._itemQueue, t2 = this.maximumSize, t3 = this._itemMap, t4 = t1.$ti, t5 = t4._eval$1("_DoubleLinkedQueueSentinel<1>"); t1._elementCount > t2;) {
        t6 = t1.__DoubleLinkedQueue__sentinel;
        if (t6 === $) {
          t6 = new P._DoubleLinkedQueueSentinel(t1, null, t5);
          t6._previousLink = t6;
          t1.__DoubleLinkedQueue__sentinel = t6._nextLink = t6;
        }
        result = t4._eval$1("_DoubleLinkedQueueEntry<1>")._as(t6._previousLink)._remove$0(0);
        --t1._elementCount;
        t3.remove$1(0, result);
        result.delete$0(0);
        result.didDelete$0();
      }
    }
  };
  H.SkiaObject.prototype = {};
  H.ManagedSkiaObject.prototype = {
    ManagedSkiaObject$1: function(instance) {
      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()) {
        H.SkiaObjects_registerCleanupCallback();
        $.$get$SkiaObjects_expensiveCache().add$1(0, _this);
      } else {
        H.SkiaObjects_registerCleanupCallback();
        $.SkiaObjects_resurrectableObjects.push(_this);
      }
    },
    get$skiaObject: function() {
      var skiaObject, _this = this,
        t1 = _this.rawSkiaObject;
      if (t1 == null) {
        skiaObject = _this.resurrect$0();
        _this.rawSkiaObject = skiaObject;
        if (_this.get$isResurrectionExpensive()) {
          H.SkiaObjects_registerCleanupCallback();
          $.$get$SkiaObjects_expensiveCache().add$1(0, _this);
        } else {
          H.SkiaObjects_registerCleanupCallback();
          $.SkiaObjects_resurrectableObjects.push(_this);
        }
        t1 = skiaObject;
      }
      return t1;
    },
    didDelete$0: function() {
      this.rawSkiaObject = null;
    },
    get$isResurrectionExpensive: function() {
      return false;
    }
  };
  H.SkiaObjectBox.prototype = {
    __engine$_initialize$2: function(debugReferrer, initialValue) {
      this._skDeletable = this.rawSkiaObject = initialValue;
    },
    get$skiaObject: function() {
      var _this = this,
        t1 = _this.rawSkiaObject;
      if (t1 == null) {
        t1 = _this._resurrector.call$0();
        _this.rawSkiaObject = t1;
        _this._skDeletable = type$.nullable_SkDeletable._as(t1);
        H.SkiaObjects_registerCleanupCallback();
        $.$get$SkiaObjects_expensiveCache().add$1(0, _this);
        t1 = _this.get$skiaObject();
      }
      return t1;
    },
    delete$0: function(_) {
      var t1 = this._skDeletable;
      if (t1 != null)
        J.delete$0$x(t1);
    },
    didDelete$0: function() {
      this._skDeletable = this.rawSkiaObject = null;
    }
  };
  H.SurfaceFrame.prototype = {
    submit$0: function(_) {
      return this.submitCallback.call$2(this, new H.CkCanvas(J.getCanvas$0$x(this.skiaSurface._surface)));
    }
  };
  H.Surface.prototype = {
    _syncCacheBytes$0: function() {
      var t2,
        t1 = this._skiaCacheBytes;
      if (t1 != null) {
        t2 = this._grContext;
        if (t2 != null)
          J.setResourceCacheLimitBytes$1$x(t2, t1);
      }
    },
    acquireFrame$1: function(size) {
      var surface = this._createOrUpdateSurfaces$1(size),
        t1 = surface._glContext;
      if (t1 != null)
        J.setCurrentContext$1$x($.canvasKit._readField$0(), t1);
      return new H.SurfaceFrame(surface, new H.Surface_acquireFrame_closure(this));
    },
    _createOrUpdateSurfaces$1: function(size) {
      var previousSize, t1, _this = this;
      if (size.get$isEmpty(size))
        throw H.wrapException(H.CanvasKitError$("Cannot create surfaces of empty size."));
      previousSize = _this._currentSize;
      if (!_this._forceNewContext && previousSize != null && size._dx <= previousSize._dx && size._dy <= previousSize._dy) {
        t1 = $.$get$window()._debugDevicePixelRatio;
        if (t1 == null)
          t1 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
        if (t1 !== _this._currentDevicePixelRatio)
          _this._updateLogicalHtmlCanvasSize$0();
        t1 = _this._surface;
        t1.toString;
        return t1;
      }
      t1 = $.$get$window()._debugDevicePixelRatio;
      _this._currentDevicePixelRatio = t1 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t1;
      _this._currentSize = _this._currentSize == null ? size : size.$mul(0, 1.4);
      t1 = _this._surface;
      if (t1 != null)
        t1.dispose$0(0);
      _this._surface = null;
      _this._addedToScene = false;
      t1 = _this._currentSize;
      t1.toString;
      return _this._surface = _this._createNewSurface$1(t1);
    },
    _updateLogicalHtmlCanvasSize$0: function() {
      var t4, t5,
        t1 = this._pixelWidth,
        t2 = $.$get$window(),
        t3 = t2._debugDevicePixelRatio;
      if (t3 == null)
        t3 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      t4 = this._pixelHeight;
      t2 = t2._debugDevicePixelRatio;
      if (t2 == null)
        t2 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      t5 = this.htmlCanvas.style;
      t3 = H.S(t1 / t3) + "px";
      t5.width = t3;
      t1 = H.S(t4 / t2) + "px";
      t5.height = t1;
    },
    _createNewSurface$1: function(physicalSize) {
      var htmlCanvas, t2, glContext, skSurface, _this = this,
        t1 = _this.htmlCanvas;
      if (t1 != null)
        C.CanvasElement_methods.remove$0(t1);
      _this._pixelWidth = J.ceil$0$n(physicalSize._dx);
      t1 = J.ceil$0$n(physicalSize._dy);
      _this._pixelHeight = t1;
      htmlCanvas = _this.htmlCanvas = W.CanvasElement_CanvasElement(t1, _this._pixelWidth);
      t1 = htmlCanvas.style;
      t1.position = "absolute";
      _this._updateLogicalHtmlCanvasSize$0();
      C.CanvasElement_methods.addEventListener$3(htmlCanvas, "webglcontextlost", new H.Surface__createNewSurface_closure(_this), false);
      _this._forceNewContext = false;
      _this.htmlElement.appendChild(htmlCanvas);
      t1 = $._cachedWebGLVersion;
      if ((t1 == null ? $._cachedWebGLVersion = H._detectWebGLVersion() : t1) === -1)
        return _this._makeSoftwareCanvasSurface$2(htmlCanvas, "WebGL support not detected");
      else {
        t1 = $.canvasKit._readField$0();
        t2 = $._cachedWebGLVersion;
        if (t2 == null)
          t2 = $._cachedWebGLVersion = H._detectWebGLVersion();
        glContext = J.GetWebGLContext$2$x(t1, htmlCanvas, {antialias: 0, majorVersion: t2});
        if (glContext === 0)
          return _this._makeSoftwareCanvasSurface$2(htmlCanvas, "Failed to initialize WebGL context");
        t1 = J.MakeGrContext$1$x($.canvasKit._readField$0(), glContext);
        _this._grContext = t1;
        if (t1 == null)
          throw H.wrapException(H.CanvasKitError$("Failed to initialize CanvasKit. CanvasKit.MakeGrContext returned null."));
        _this._syncCacheBytes$0();
        t1 = $.canvasKit._readField$0();
        t2 = _this._grContext;
        t2.toString;
        skSurface = J.MakeOnScreenGLSurface$4$x(t1, t2, _this._pixelWidth, _this._pixelHeight, self.window.flutterCanvasKit.ColorSpace.SRGB);
        if (skSurface == null)
          return _this._makeSoftwareCanvasSurface$2(htmlCanvas, "Failed to initialize WebGL surface");
        return new H.CkSurface(skSurface, _this._grContext, glContext);
      }
    },
    _makeSoftwareCanvasSurface$2: function(htmlCanvas, reason) {
      if (!$.Surface__didWarnAboutWebGlInitializationFailure) {
        $.$get$printWarning().call$1("WARNING: Falling back to CPU-only rendering. " + reason + ".");
        $.Surface__didWarnAboutWebGlInitializationFailure = true;
      }
      return new H.CkSurface(J.MakeSWCanvasSurface$1$x($.canvasKit._readField$0(), htmlCanvas), null, null);
    }
  };
  H.Surface_acquireFrame_closure.prototype = {
    call$2: function(surfaceFrame, canvas) {
      var t2, t3,
        t1 = this.$this;
      if (t1._surface._glContext != null) {
        t2 = $.canvasKit._readField$0();
        t3 = t1._surface._glContext;
        t3.toString;
        J.setCurrentContext$1$x(t2, t3);
      }
      J.flush$0$x(t1._surface._surface);
      return true;
    },
    $signature: 923
  };
  H.Surface__createNewSurface_closure.prototype = {
    call$1: function($event) {
      P.print("Flutter: restoring WebGL context.");
      this.$this._forceNewContext = true;
      $.$get$EnginePlatformDispatcher__instance().invokeOnMetricsChanged$0();
      $event.stopPropagation();
      $event.preventDefault();
    },
    $signature: 9
  };
  H.CkSurface.prototype = {
    dispose$0: function(_) {
      var t1, t2, _this = this;
      if (_this._isDisposed)
        return;
      t1 = _this._glContext;
      if (t1 != null)
        J.setCurrentContext$1$x($.canvasKit._readField$0(), t1);
      J.dispose$0$x(_this._surface);
      t1 = _this._grContext;
      if (t1 != null) {
        t2 = J.getInterceptor$x(t1);
        t2.releaseResourcesAndAbandonContext$0(t1);
        t2.delete$0(t1);
      }
      _this._isDisposed = true;
    }
  };
  H.CkParagraphStyle.prototype = {};
  H.CkTextStyle.prototype = {
    get$skTextStyle: function() {
      var _this = this,
        t1 = _this.__CkTextStyle_skTextStyle;
      if (t1 === $) {
        t1 = new H.CkTextStyle_skTextStyle_closure(_this).call$0();
        if (_this.__CkTextStyle_skTextStyle === $)
          _this.__CkTextStyle_skTextStyle = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("skTextStyle"));
      }
      return t1;
    }
  };
  H.CkTextStyle_skTextStyle_closure.prototype = {
    call$0: function() {
      var decorationValue, t2, ckShadows, _i, shadow, ckShadow, point,
        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 = H.SkTextStyleProperties$(null);
      if (background != null)
        properties.backgroundColor = H.makeFreshSkColor(background._color);
      if (color != null)
        properties.color = H.makeFreshSkColor(color);
      if (decoration != null) {
        decorationValue = J.get$NoDecoration$x($.canvasKit._readField$0());
        t2 = decoration._mask;
        if ((t2 | 1) === t2)
          decorationValue = (decorationValue | J.get$UnderlineDecoration$x($.canvasKit._readField$0())) >>> 0;
        if ((t2 | 2) === t2)
          decorationValue = (decorationValue | J.get$OverlineDecoration$x($.canvasKit._readField$0())) >>> 0;
        properties.decoration = (t2 | 4) === t2 ? (decorationValue | J.get$LineThroughDecoration$x($.canvasKit._readField$0())) >>> 0 : decorationValue;
      }
      if (decorationThickness != null)
        properties.decorationThickness = decorationThickness;
      if (decorationColor != null)
        properties.decorationColor = H.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 C.TextLeadingDistribution_1:
          properties.halfLeading = true;
          break;
        case C.TextLeadingDistribution_0:
          properties.halfLeading = false;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t2 = t1.__CkTextStyle_effectiveFontFamilies;
      if (t2 === $) {
        t2 = H._getEffectiveFontFamilies(t1.fontFamily, t1.fontFamilyFallback);
        if (t1.__CkTextStyle_effectiveFontFamilies === $) {
          t1.__CkTextStyle_effectiveFontFamilies = t2;
          t1 = t2;
        } else
          t1 = H.throwExpression(H.LateError$fieldADI("effectiveFontFamilies"));
      } else
        t1 = t2;
      properties.fontFamilies = t1;
      if (fontWeight != null || fontStyle != null)
        properties.fontStyle = H.toSkFontStyle(fontWeight, fontStyle);
      if (foreground != null)
        properties.foregroundColor = H.makeFreshSkColor(foreground._color);
      if (shadows != null) {
        ckShadows = H._setArrayType([], type$.JSArray_SkTextShadow);
        for (_i = 0; _i < 1; ++_i) {
          shadow = shadows[_i];
          ckShadow = H.SkTextShadow$(null);
          ckShadow.color = H.makeFreshSkColor(shadow.color);
          t1 = shadow.offset;
          point = new Float32Array(2);
          point[0] = t1._dx;
          point[1] = t1._dy;
          ckShadow.offset = point;
          ckShadow.blurRadius = shadow.blurRadius;
          ckShadows.push(ckShadow);
        }
        properties.shadows = ckShadows;
      }
      return J.TextStyle$1$x($.canvasKit._readField$0(), properties);
    },
    $signature: 754
  };
  H.CkStrutStyle.prototype = {
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof H.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 && H.listEquals(other._fontFamilyFallback, _this._fontFamilyFallback);
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this._fontFamily, _this._fontFamilyFallback, _this._fontSize, _this.__engine$_height, _this._leading, _this._leadingDistribution, _this._fontWeight, _this._fontStyle, _this._forceStrutHeight, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  H.CkParagraph.prototype = {
    _ensureInitialized$1: function(constraints) {
      var e, builder, t1, t2, t3, t4, t5, _i, command, t6, didRebuildSkiaObject, constraintsChanged, exception, _this = this, _null = null,
        paragraph = _this._skParagraph;
      if (paragraph == null) {
        builder = H.CkParagraphBuilder$(_this._paragraphStyle);
        for (t1 = _this._paragraphCommands, t2 = t1.length, t3 = builder._commands, t4 = builder._paragraphBuilder, t5 = J.getInterceptor$x(t4), _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          command = t1[_i];
          switch (command.type) {
            case C._ParagraphCommandType_0:
              t6 = command.text;
              t6.toString;
              builder._ensureFontsSupportText$1(t6);
              t3.push(new H._ParagraphCommand(C._ParagraphCommandType_0, t6, _null, _null));
              t5.addText$1(t4, t6);
              break;
            case C._ParagraphCommandType_1:
              builder.pop$0(0);
              break;
            case C._ParagraphCommandType_2:
              t6 = command.style;
              t6.toString;
              builder.pushStyle$1(0, t6);
              break;
            case C._ParagraphCommandType_3:
              t6 = command.placeholderStyle;
              t6.toString;
              t3.push(new H._ParagraphCommand(C._ParagraphCommandType_3, _null, _null, t6));
              t5.addPlaceholder$5(t4, t6.get$width(t6), t6.get$height(t6), t6.get$alignment(), t6.get$baseline(t6), t6.get$offset(t6));
              break;
            default:
              throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
          }
        }
        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 {
          J.layout$1$x(paragraph, constraints.width);
          _this._alphabeticBaseline = J.getAlphabeticBaseline$0$x(paragraph);
          _this._didExceedMaxLines = J.didExceedMaxLines$0$x(paragraph);
          _this.__engine$_height = J.getHeight$0$x(paragraph);
          _this._ideographicBaseline = J.getIdeographicBaseline$0$x(paragraph);
          _this._longestLine = J.getLongestLine$0$x(paragraph);
          _this._maxIntrinsicWidth = J.getMaxIntrinsicWidth$0$x(paragraph);
          _this._minIntrinsicWidth = J.getMinIntrinsicWidth$0$x(paragraph);
          _this.__engine$_width = J.getMaxWidth$0$x(paragraph);
          _this._boxesForPlaceholders = _this.skRectsToTextBoxes$1(J.getRectsForPlaceholders$0$x(paragraph));
        } catch (exception) {
          e = H.unwrapException(exception);
          t1 = $.$get$printWarning();
          t1.call$1('CanvasKit threw an exception while laying out the paragraph. The font was "' + H.S(_this._paragraphStyle._fontFamily) + '". Exception:\n' + H.S(e));
          throw exception;
        }
      }
      return paragraph;
    },
    delete$0: function(_) {
      var t1 = this._skParagraph;
      t1.toString;
      J.delete$0$x(t1);
    },
    didDelete$0: function() {
      this._skParagraph = null;
    },
    get$alphabeticBaseline: function(_) {
      return this._alphabeticBaseline;
    },
    get$didExceedMaxLines: function(_) {
      return this._didExceedMaxLines;
    },
    get$height: function(_) {
      return this.__engine$_height;
    },
    get$ideographicBaseline: function(_) {
      return this._ideographicBaseline;
    },
    get$longestLine: function() {
      return this._longestLine;
    },
    get$maxIntrinsicWidth: function() {
      return this._maxIntrinsicWidth;
    },
    get$minIntrinsicWidth: function() {
      return this._minIntrinsicWidth;
    },
    get$width: function(_) {
      return this.__engine$_width;
    },
    getBoxesForPlaceholders$0: function() {
      var t1 = this._boxesForPlaceholders;
      t1.toString;
      return t1;
    },
    getBoxesForRange$4$boxHeightStyle$boxWidthStyle: function(start, end, boxHeightStyle, boxWidthStyle) {
      var t1, paragraph, t2;
      if (start < 0 || end < 0)
        return C.List_empty3;
      t1 = this._lastLayoutConstraints;
      t1.toString;
      paragraph = this._ensureInitialized$1(t1);
      t1 = $.$get$_skRectHeightStyles()[boxHeightStyle.index];
      t2 = $.$get$_skRectWidthStyles();
      return this.skRectsToTextBoxes$1(J.getRectsForRange$4$x(paragraph, start, end, t1, t2[0]));
    },
    getBoxesForRange$3$boxHeightStyle: function(start, end, boxHeightStyle) {
      return this.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(start, end, boxHeightStyle, C.BoxWidthStyle_0);
    },
    skRectsToTextBoxes$1: function(skRects) {
      var t1, t2, i, rect, t3,
        result = H._setArrayType([], type$.JSArray_TextBox);
      for (t1 = J.getInterceptor$asx(skRects), t2 = this._paragraphStyle, i = 0; i < t1.get$length(skRects); ++i) {
        rect = t1.$index(skRects, i);
        t3 = J.getInterceptor$asx(rect);
        result.push(new P.TextBox(t3.$index(rect, 0), t3.$index(rect, 1), t3.$index(rect, 2), t3.$index(rect, 3), t2.__engine$_textDirection));
      }
      return result;
    },
    getPositionForOffset$1: function(offset) {
      var positionWithAffinity, affinity,
        t1 = this._lastLayoutConstraints;
      t1.toString;
      positionWithAffinity = J.getGlyphPositionAtCoordinate$2$x(this._ensureInitialized$1(t1), offset._dx, offset._dy);
      t1 = J.getInterceptor$x(positionWithAffinity);
      affinity = C.List_TextAffinity_0_TextAffinity_1[J.get$value$x(t1.get$affinity(positionWithAffinity))];
      return new P.TextPosition(t1.get$pos(positionWithAffinity), affinity);
    },
    getWordBoundary$1: function(_, position) {
      var skRange,
        t1 = this._lastLayoutConstraints;
      t1.toString;
      skRange = J.getWordBoundary$1$x(this._ensureInitialized$1(t1), position.offset);
      t1 = J.getInterceptor$x(skRange);
      return new P.TextRange(t1.get$start(skRange), t1.get$end(skRange));
    },
    layout$1: function(_, 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: function(position) {
      var offset, t2, t3,
        t1 = this._lastLayoutConstraints;
      t1.toString;
      offset = position.offset;
      for (t1 = J.get$iterator$ax(J.getLineMetrics$0$x(this._ensureInitialized$1(t1))); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t3 = J.getInterceptor$x(t2);
        if (offset >= t3.get$startIndex(t2) && offset <= t3.get$endIndex(t2))
          return new P.TextRange(t3.get$startIndex(t2), t3.get$endIndex(t2));
      }
      return new P.TextRange(-1, -1);
    }
  };
  H.CkParagraphBuilder.prototype = {
    _ensureFontsSupportText$1: function(text) {
      var t1, codeUnits, isAscii, i, style, fontFamilies, typefaces, _i, font, typefacesForFamily, codeUnitsSupported, testString, t2, glyphs, t3, t4, t5, missingCodeUnits;
      text.toString;
      t1 = P.LinkedHashSet_LinkedHashSet$of(new P.Runes(text), type$.Runes._eval$1("Iterable.E"));
      codeUnits = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("SetMixin.E"));
      if (this._checkIfGlobalFallbacksSupport$1(codeUnits))
        return;
      if (this._checkIfNoFallbackFontSupports$1(codeUnits))
        return;
      t1 = text.length;
      i = 0;
      while (true) {
        if (!(i < t1)) {
          isAscii = true;
          break;
        }
        if (C.JSString_methods._codeUnitAt$1(text, i) >= 160) {
          isAscii = false;
          break;
        }
        ++i;
      }
      if (isAscii)
        return;
      style = C.JSArray_methods.get$last(this._styleStack);
      fontFamilies = H._setArrayType([], type$.JSArray_String);
      t1 = style.fontFamily;
      if (t1 != null)
        fontFamilies.push(t1);
      t1 = style.fontFamilyFallback;
      if (t1 != null)
        C.JSArray_methods.addAll$1(fontFamilies, t1);
      typefaces = H._setArrayType([], type$.JSArray_SkTypeface);
      for (t1 = fontFamilies.length, _i = 0; _i < fontFamilies.length; fontFamilies.length === t1 || (0, H.throwConcurrentModificationError)(fontFamilies), ++_i) {
        font = fontFamilies[_i];
        typefacesForFamily = $._skiaFontCollection.familyToTypefaceMap.$index(0, font);
        if (typefacesForFamily != null)
          C.JSArray_methods.addAll$1(typefaces, typefacesForFamily);
      }
      t1 = codeUnits.length;
      codeUnitsSupported = P.List_List$filled(t1, false, false, type$.bool);
      testString = P.String_String$fromCharCodes(codeUnits, 0, null);
      for (t2 = typefaces.length, _i = 0; _i < typefaces.length; typefaces.length === t2 || (0, H.throwConcurrentModificationError)(typefaces), ++_i) {
        glyphs = J.getGlyphIDs$1$x(new self.window.flutterCanvasKit.Font(typefaces[_i]), testString);
        for (t3 = J.getInterceptor$asx(glyphs), i = 0; i < t3.get$length(glyphs); ++i) {
          t4 = codeUnitsSupported[i];
          if (t3.$index(glyphs, i) === 0) {
            t5 = codeUnits[i];
            if (!(t5 < 32))
              t5 = t5 > 127 && t5 < 160;
            else
              t5 = true;
          } else
            t5 = true;
          codeUnitsSupported[i] = C.JSBool_methods.$or(t4, t5);
        }
      }
      if (C.JSArray_methods.any$1(codeUnitsSupported, new H.CkParagraphBuilder__ensureFontsSupportText_closure())) {
        missingCodeUnits = H._setArrayType([], type$.JSArray_int);
        for (i = 0; i < t1; ++i)
          if (!codeUnitsSupported[i])
            missingCodeUnits.push(codeUnits[i]);
        H.findFontsForMissingCodeunits(missingCodeUnits);
      }
    },
    _checkIfGlobalFallbacksSupport$1: function(codeUnits) {
      var t1, codeUnitsSupported, testString, t2, t3, t4, _i, font, typefacesForFamily, t5, glyphs, t6, i, t7, t8, keepGoing, _i0,
        fallbackData = $.$get$FontFallbackData__instance();
      if (!!codeUnits.fixed$length)
        H.throwExpression(P.UnsupportedError$("removeWhere"));
      C.JSArray_methods._removeWhere$2(codeUnits, new H.CkParagraphBuilder__checkIfGlobalFallbacksSupport_closure(fallbackData), true);
      t1 = codeUnits.length;
      if (t1 === 0)
        return true;
      codeUnitsSupported = P.List_List$filled(t1, false, false, type$.bool);
      testString = P.String_String$fromCharCodes(codeUnits, 0, null);
      for (t2 = fallbackData.globalFontFallbacks, t3 = t2.length, t4 = fallbackData.knownCoveredCodeUnits, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
        font = t2[_i];
        typefacesForFamily = $._skiaFontCollection.familyToTypefaceMap.$index(0, font);
        if (typefacesForFamily == 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(typefacesForFamily); t5.moveNext$0();) {
          glyphs = J.getGlyphIDs$1$x(new self.window.flutterCanvasKit.Font(t5.get$current(t5)), testString);
          for (t6 = J.getInterceptor$asx(glyphs), i = 0; i < t6.get$length(glyphs); ++i) {
            t7 = t6.$index(glyphs, i) === 0;
            if (!t7)
              t4.add$1(0, codeUnits[i]);
            t8 = codeUnitsSupported[i];
            if (t7) {
              t7 = codeUnits[i];
              if (!(t7 < 32))
                t7 = t7 > 127 && t7 < 160;
              else
                t7 = true;
            } else
              t7 = true;
            codeUnitsSupported[i] = C.JSBool_methods.$or(t8, t7);
          }
        }
        _i0 = 0;
        while (true) {
          if (!(_i0 < t1)) {
            keepGoing = false;
            break;
          }
          if (!codeUnitsSupported[_i0]) {
            keepGoing = true;
            break;
          }
          ++_i0;
        }
        if (!keepGoing) {
          C.JSArray_methods.set$length(codeUnits, 0);
          return true;
        }
      }
      for (i = codeUnits.length - 1; i >= 0; --i)
        if (codeUnitsSupported[i])
          C.JSArray_methods.removeAt$1(codeUnits, i);
      return false;
    },
    _checkIfNoFallbackFontSupports$1: function(codeUnits) {
      var fallbackData = $.$get$FontFallbackData__instance();
      if (!!codeUnits.fixed$length)
        H.throwExpression(P.UnsupportedError$("removeWhere"));
      C.JSArray_methods._removeWhere$2(codeUnits, new H.CkParagraphBuilder__checkIfNoFallbackFontSupports_closure(fallbackData), true);
      return codeUnits.length === 0;
    },
    addText$1: function(_, text) {
      this._ensureFontsSupportText$1(text);
      this._commands.push(new H._ParagraphCommand(C._ParagraphCommandType_0, text, null, null));
      J.addText$1$x(this._paragraphBuilder, text);
    },
    build$0: function(_) {
      return new H.CkParagraph(this._buildSkParagraph$0(), this._style, this._commands);
    },
    _buildSkParagraph$0: function() {
      var t1 = this._paragraphBuilder,
        t2 = J.getInterceptor$x(t1),
        result = t2.build$0(t1);
      t2.delete$0(t1);
      return result;
    },
    get$placeholderScales: function() {
      return this._placeholderScales;
    },
    pop$0: function(_) {
      var t1 = this._styleStack;
      if (t1.length <= 1)
        return;
      this._commands.push(C._ParagraphCommand_0KU);
      t1.pop();
      J.pop$0$x(this._paragraphBuilder);
    },
    pushStyle$1: function(_, style) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, skStyle, foreground, background, _this = this, _null = null,
        t1 = _this._styleStack,
        baseStyle = C.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.background;
      if (t16 == null)
        t16 = baseStyle.background;
      t17 = style.foreground;
      if (t17 == null)
        t17 = baseStyle.foreground;
      t18 = style.shadows;
      if (t18 == null)
        t18 = baseStyle.shadows;
      skStyle = H.CkTextStyle_CkTextStyle(t16, t2, t3, t4, t5, t6, t10, t11, baseStyle.fontFeatures, t12, t8, t7, t17, t15, baseStyle.leadingDistribution, t13, baseStyle.locale, t18, t9, t14);
      t1.push(skStyle);
      _this._commands.push(new H._ParagraphCommand(C._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);
          J.setColorInt$1$x(foreground, t1 == null ? 4278190080 : t1);
        }
        t1 = skStyle.background;
        background = t1 == null ? _null : t1.get$skiaObject();
        if (background == null)
          background = $.$get$CkParagraphBuilder__defaultTextBackground();
        J.pushPaintStyle$3$x(_this._paragraphBuilder, skStyle.get$skTextStyle(), foreground, background);
      } else
        J.pushStyle$1$x(_this._paragraphBuilder, skStyle.get$skTextStyle());
    }
  };
  H.CkParagraphBuilder__ensureFontsSupportText_closure.prototype = {
    call$1: function(x) {
      return !x;
    },
    $signature: 749
  };
  H.CkParagraphBuilder__checkIfGlobalFallbacksSupport_closure.prototype = {
    call$1: function(codeUnit) {
      return this.fallbackData.knownCoveredCodeUnits.contains$1(0, codeUnit);
    },
    $signature: 72
  };
  H.CkParagraphBuilder__checkIfNoFallbackFontSupports_closure.prototype = {
    call$1: function(codeUnit) {
      return this.fallbackData.codeUnitsWithNoKnownFont.contains$1(0, codeUnit);
    },
    $signature: 72
  };
  H._ParagraphCommand.prototype = {
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  H._ParagraphCommandType.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H._getEffectiveFontFamilies_closure.prototype = {
    call$1: function(font) {
      return this.fontFamily == font;
    },
    $signature: 17
  };
  H.CanvasKitError.prototype = {
    toString$0: function(_) {
      return "CanvasKitError: " + this.message;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  H.ClipboardMessageHandler.prototype = {
    setDataMethodCall$2: function(methodCall, callback) {
      var t1 = {};
      t1.errorEnvelopeEncoded = false;
      this._copyToClipboardStrategy.setData$1(0, J.$index$asx(methodCall.$arguments, "text")).then$1$1(0, new H.ClipboardMessageHandler_setDataMethodCall_closure(t1, callback), type$.Null).catchError$1(new H.ClipboardMessageHandler_setDataMethodCall_closure0(t1, callback));
    },
    getDataMethodCall$1: function(callback) {
      this._pasteFromClipboardStrategy.getData$0(0).then$1$1(0, new H.ClipboardMessageHandler_getDataMethodCall_closure(callback), type$.Null).catchError$1(new H.ClipboardMessageHandler_getDataMethodCall_closure0(this, callback));
    }
  };
  H.ClipboardMessageHandler_setDataMethodCall_closure.prototype = {
    call$1: function(success) {
      var t1 = this.callback;
      if (success) {
        t1.toString;
        t1.call$1(C.C_JSONMessageCodec0.encodeMessage$1([true]));
      } else {
        t1.toString;
        t1.call$1(C.C_JSONMessageCodec0.encodeMessage$1(["copy_fail", "Clipboard.setData failed", null]));
        this._box_0.errorEnvelopeEncoded = true;
      }
    },
    $signature: 114
  };
  H.ClipboardMessageHandler_setDataMethodCall_closure0.prototype = {
    call$1: function(_) {
      var t1;
      if (!this._box_0.errorEnvelopeEncoded) {
        t1 = this.callback;
        t1.toString;
        t1.call$1(C.C_JSONMessageCodec0.encodeMessage$1(["copy_fail", "Clipboard.setData failed", null]));
      }
    },
    $signature: 5
  };
  H.ClipboardMessageHandler_getDataMethodCall_closure.prototype = {
    call$1: function(data) {
      var map = P.LinkedHashMap_LinkedHashMap$_literal(["text", data], type$.String, type$.dynamic),
        t1 = this.callback;
      t1.toString;
      t1.call$1(C.C_JSONMessageCodec0.encodeMessage$1([map]));
    },
    $signature: 465
  };
  H.ClipboardMessageHandler_getDataMethodCall_closure0.prototype = {
    call$1: function(error) {
      var t1;
      if (error instanceof P.UnimplementedError) {
        P.Future_Future$delayed(C.Duration_0, null, type$.void).then$1$1(0, new H.ClipboardMessageHandler_getDataMethodCall__closure(this.callback), type$.Null);
        return;
      }
      t1 = this.callback;
      P.print("Could not get text from clipboard: " + H.S(error));
      t1.toString;
      t1.call$1(C.C_JSONMessageCodec0.encodeMessage$1(["paste_fail", "Clipboard.getData failed", null]));
    },
    $signature: 5
  };
  H.ClipboardMessageHandler_getDataMethodCall__closure.prototype = {
    call$1: function(_) {
      var t1 = this.callback;
      if (t1 != null)
        t1.call$1(null);
    },
    $signature: 23
  };
  H.ClipboardAPICopyStrategy.prototype = {
    setData$1: function(_, text) {
      return this.setData$body$ClipboardAPICopyStrategy(0, text);
    },
    setData$body$ClipboardAPICopyStrategy: function(_, text) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], error, t1, exception, $async$exception;
      var $async$setData$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              t1 = window.navigator.clipboard;
              t1.toString;
              text.toString;
              $async$goto = 7;
              return P._asyncAwait(P.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 = H.unwrapException($async$exception);
              P.print("copy is not successful " + H.S(error));
              t1 = P.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 = P.Future_Future$value(true, type$.bool);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$setData$1, $async$completer);
    }
  };
  H.ClipboardAPIPasteStrategy.prototype = {
    getData$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue;
      var $async$getData$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = P.promiseToFuture(window.navigator.clipboard.readText(), type$.String);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getData$0, $async$completer);
    }
  };
  H.ExecCommandCopyStrategy.prototype = {
    setData$1: function(_, text) {
      return P.Future_Future$value(this._setDataSync$1(text), type$.bool);
    },
    _setDataSync$1: function(text) {
      var tempTextArea, result, error, exception,
        _s8_ = "-99999px",
        _s11_ = "transparent",
        t1 = document,
        tempElement = t1.createElement("textarea"),
        elementStyle = tempElement.style;
      elementStyle.position = "absolute";
      elementStyle.top = _s8_;
      elementStyle.left = _s8_;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "opacity"), "0", "");
      elementStyle.color = _s11_;
      elementStyle.backgroundColor = _s11_;
      elementStyle.background = _s11_;
      t1.body.appendChild(tempElement);
      tempTextArea = tempElement;
      tempTextArea.value = text;
      J.focus$0$x(tempTextArea);
      J.select$0$x(tempTextArea);
      result = false;
      try {
        result = t1.execCommand("copy");
        if (!result)
          P.print("copy is not successful");
      } catch (exception) {
        error = H.unwrapException(exception);
        P.print("copy is not successful " + H.S(error));
      } finally {
        J.remove$0$ax(tempTextArea);
      }
      return result;
    }
  };
  H.ExecCommandPasteStrategy.prototype = {
    getData$0: function(_) {
      return P.Future_Future$error(new P.UnimplementedError("Paste is not implemented for this browser."), null, type$.String);
    }
  };
  H.DomRenderer.prototype = {
    renderScene$1: function(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);
      }
    },
    createElement$1: function(_, tagName) {
      var element = document.createElement(tagName);
      return element;
    },
    _applyCssRulesToSheet$1: function(sheet) {
      var t1 = $.$get$_browserEngine(),
        isWebKit = t1 === C.BrowserEngine_1,
        isFirefox = t1 === C.BrowserEngine_2;
      if (isFirefox)
        sheet.insertRule("flt-ruler-host p, flt-scene p { margin: 0; line-height: 100%;}", sheet.cssRules.length);
      else
        sheet.insertRule("flt-ruler-host p, flt-scene p { margin: 0; }", 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}", 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,\nflt-semantics textarea,\nflt-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);
      if (t1 !== C.BrowserEngine_0)
        if (t1 !== C.BrowserEngine_5)
          t1 = isWebKit;
        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);
    },
    reset$0: function(_) {
      var t2, t3, t4, t5, t6, glassPaneElement, glassPaneElementShadowRoot, shadowRootStyleElement, semanticsHostElement, _accessibilityPlaceholder, loadSubscription, objectConstructor, _this = this, _s1_ = "0", _s4_ = "none",
        _s8_ = "absolute",
        _s14_ = "defineProperty",
        _box_0 = {},
        t1 = $.$get$_browserEngine(),
        isWebKit = t1 === C.BrowserEngine_1;
      t1 = _this._styleElement;
      if (t1 != null)
        C.StyleElement_methods.remove$0(t1);
      t1 = document;
      t2 = t1.createElement("style");
      _this._styleElement = t2;
      t1.head.appendChild(t2);
      t2 = type$.CssStyleSheet;
      _this._applyCssRulesToSheet$1(t2._as(_this._styleElement.sheet));
      t3 = t1.body;
      t3.toString;
      t4 = H._detectRenderer();
      t3.setAttribute("flt-renderer", (t4 ? "canvaskit" : "html") + " (auto-selected)");
      t3.setAttribute("flt-build-mode", "profile");
      H.DomRenderer_setElementStyle(t3, "position", "fixed");
      H.DomRenderer_setElementStyle(t3, "top", _s1_);
      H.DomRenderer_setElementStyle(t3, "right", _s1_);
      H.DomRenderer_setElementStyle(t3, "bottom", _s1_);
      H.DomRenderer_setElementStyle(t3, "left", _s1_);
      H.DomRenderer_setElementStyle(t3, "overflow", "hidden");
      H.DomRenderer_setElementStyle(t3, "padding", _s1_);
      H.DomRenderer_setElementStyle(t3, "margin", _s1_);
      H.DomRenderer_setElementStyle(t3, "user-select", _s4_);
      H.DomRenderer_setElementStyle(t3, "-webkit-user-select", _s4_);
      H.DomRenderer_setElementStyle(t3, "-ms-user-select", _s4_);
      H.DomRenderer_setElementStyle(t3, "-moz-user-select", _s4_);
      H.DomRenderer_setElementStyle(t3, "touch-action", _s4_);
      H.DomRenderer_setElementStyle(t3, "font", "normal normal 14px sans-serif");
      H.DomRenderer_setElementStyle(t3, "color", "red");
      t3.spellcheck = false;
      for (t4 = type$._FrozenElementList_Element, t5 = new W._FrozenElementList(t1.head.querySelectorAll('meta[name="viewport"]'), t4), t4 = new H.ListIterator(t5, t5.get$length(t5), t4._eval$1("ListIterator<ListMixin.E>")); t4.moveNext$0();) {
        t5 = t4.__internal$_current;
        t6 = t5.parentNode;
        if (t6 != null)
          t6.removeChild(t5);
      }
      t4 = _this._viewportMeta;
      if (t4 != null)
        C.MetaElement_methods.remove$0(t4);
      t4 = t1.createElement("meta");
      t4.setAttribute("flt-viewport", "");
      t4.name = "viewport";
      t4.content = "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no";
      _this._viewportMeta = t4;
      t1.head.appendChild(t4);
      t4 = _this._glassPaneElement;
      if (t4 != null)
        J.remove$0$ax(t4);
      glassPaneElement = _this._glassPaneElement = _this.createElement$1(0, "flt-glass-pane");
      t4 = glassPaneElement.style;
      t4.position = _s8_;
      t4.top = _s1_;
      t4.right = _s1_;
      t4.bottom = _s1_;
      t4.left = _s1_;
      t4 = type$.String;
      glassPaneElementShadowRoot = _this._glassPaneShadow = glassPaneElement.attachShadow(P.convertDartToNative_Dictionary(P.LinkedHashMap_LinkedHashMap$_literal(["mode", "open", "delegatesFocus", "true"], t4, t4)));
      t3.appendChild(glassPaneElement);
      shadowRootStyleElement = t1.createElement("style");
      glassPaneElementShadowRoot.appendChild(shadowRootStyleElement);
      _this._applyCssRulesToSheet$1(t2._as(shadowRootStyleElement.sheet));
      t2 = _this.createElement$1(0, "flt-scene-host");
      t3 = t2.style;
      t3.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t3, C.CssStyleDeclaration_methods._browserPropertyName$1(t3, "pointer-events"), _s4_, "");
      _this._sceneHostElement = t2;
      semanticsHostElement = _this.createElement$1(0, "flt-semantics-host");
      t2 = semanticsHostElement.style;
      t2.position = _s8_;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t2, C.CssStyleDeclaration_methods._browserPropertyName$1(t2, "transform-origin"), "0 0 0", "");
      _this._semanticsHostElement = semanticsHostElement;
      _this.updateSemanticsScreenProperties$0();
      t2 = $.EngineSemanticsOwner__instance;
      _accessibilityPlaceholder = (t2 == null ? $.EngineSemanticsOwner__instance = H.EngineSemanticsOwner$_() : t2).semanticsHelper._semanticsEnabler.prepareAccessibilityPlaceholder$0();
      t2 = _this._sceneHostElement;
      t2.toString;
      new W._ChildNodeListLazy(glassPaneElementShadowRoot).addAll$1(0, H._setArrayType([semanticsHostElement, _accessibilityPlaceholder, t2], type$.JSArray_Node));
      if ($.PointerBinding__instance == null) {
        t2 = new H.PointerBinding(glassPaneElement, new H.PointerDataConverter(P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$._PointerState)));
        t2.__PointerBinding__adapter = t2._createAdapter$0();
        $.PointerBinding__instance = t2;
      }
      if ($.KeyboardBinding__instance == null) {
        t2 = new H.KeyboardBinding(P.LinkedHashMap_LinkedHashMap$_empty(t4, type$.dynamic_Function_Event));
        t2._setup$0();
        $.KeyboardBinding__instance = t2;
      }
      _this._sceneHostElement.setAttribute("aria-hidden", "true");
      if (window.visualViewport == null && isWebKit) {
        t2 = window.innerWidth;
        t2.toString;
        _box_0.checkCount = 0;
        P.Timer_Timer$periodic(C.Duration_100000, new H.DomRenderer_reset_closure(_box_0, _this, t2));
      }
      t2 = H._detectRenderer();
      if (t2 && self.window.flutterCanvasKit == null) {
        t2 = _this._canvasKitScript;
        if (t2 != null)
          C.ScriptElement_methods.remove$0(t2);
        t2 = t1.createElement("script");
        _this._canvasKitScript = t2;
        t2.src = $.$get$canvasKitJavaScriptBindingsUrl();
        t2 = new P._Future($.Zone__current, type$._Future_void);
        _this._canvasKitLoaded = t2;
        loadSubscription = H._Cell$named("loadSubscription");
        t3 = _this._canvasKitScript;
        t3.toString;
        loadSubscription.__late_helper$_value = W._EventStreamSubscription$(t3, "load", new H.DomRenderer_reset_closure0(loadSubscription, new P._AsyncCompleter(t2, type$._AsyncCompleter_void)), false, type$._ElementEventStreamImpl_legacy_Event._precomputed1);
        t2 = $.$get$_context();
        objectConstructor = t2.$index(0, "Object");
        if (t2.$index(0, "exports") == null)
          objectConstructor.callMethod$2(_s14_, [t2, "exports", P.JsObject_JsObject$jsify(P.LinkedHashMap_LinkedHashMap$_literal(["get", P.allowInterop(new H.DomRenderer_reset_closure1(_this, objectConstructor)), "set", P.allowInterop(new H.DomRenderer_reset_closure2()), "configurable", true], t4, type$.Object))]);
        if (t2.$index(0, "module") == null)
          objectConstructor.callMethod$2(_s14_, [t2, "module", P.JsObject_JsObject$jsify(P.LinkedHashMap_LinkedHashMap$_literal(["get", P.allowInterop(new H.DomRenderer_reset_closure3(_this, objectConstructor)), "set", P.allowInterop(new H.DomRenderer_reset_closure4()), "configurable", true], t4, type$.Object))]);
        t1 = t1.head;
        t1.toString;
        t2 = _this._canvasKitScript;
        t2.toString;
        t1.appendChild(t2);
      }
      t1 = _this.get$_metricsDidChange();
      t2 = type$.legacy_Event;
      if (window.visualViewport != null) {
        t3 = window.visualViewport;
        t3.toString;
        _this._resizeSubscription = W._EventStreamSubscription$(t3, "resize", t1, false, t2);
      } else
        _this._resizeSubscription = W._EventStreamSubscription$(window, "resize", t1, false, t2);
      _this._localeSubscription = W._EventStreamSubscription$(window, "languagechange", _this.get$_languageDidChange(), false, t2);
      t1 = $.$get$EnginePlatformDispatcher__instance();
      t1._configuration = t1._configuration.copyWith$1$locales(H.EnginePlatformDispatcher_parseBrowserLanguages());
    },
    updateSemanticsScreenProperties$0: function() {
      var t1 = this._semanticsHostElement.style,
        t2 = "scale(" + H.S(1 / window.devicePixelRatio) + ")";
      t1.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), t2, "");
    },
    _metricsDidChange$1: function($event) {
      var t1;
      this.updateSemanticsScreenProperties$0();
      t1 = $.$get$_operatingSystem();
      if (!J.containsKey$1$x(C.Set_et9F4._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: function($event) {
      var t1 = $.$get$EnginePlatformDispatcher__instance();
      t1._configuration = t1._configuration.copyWith$1$locales(H.EnginePlatformDispatcher_parseBrowserLanguages());
      t1 = $.$get$window().platformDispatcher._onLocaleChanged;
      if (t1 != null)
        t1.call$0();
    },
    clearDom$1: function(node) {
      var t1, t2;
      for (; t1 = node.lastChild, t1 != null;) {
        t2 = t1.parentNode;
        if (t2 != null)
          t2.removeChild(t1);
      }
    },
    setPreferredOrientation$1: function(orientations) {
      var lockType, completer, t1, exception,
        screenOrientation = window.screen.orientation;
      if (screenOrientation != null) {
        orientations.toString;
        t1 = J.getInterceptor$asx(orientations);
        if (t1.get$isEmpty(orientations)) {
          t1 = screenOrientation;
          t1.toString;
          J.unlock$0$x(t1);
          return P.Future_Future$value(true, type$.bool);
        } else {
          lockType = H.DomRenderer__deviceOrientationToLockType(t1.get$first(orientations));
          if (lockType != null) {
            completer = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool);
            try {
              P.promiseToFuture(screenOrientation.lock(lockType), type$.dynamic).then$1$1(0, new H.DomRenderer_setPreferredOrientation_closure(completer), type$.Null).catchError$1(new H.DomRenderer_setPreferredOrientation_closure0(completer));
            } catch (exception) {
              H.unwrapException(exception);
              t1 = P.Future_Future$value(false, type$.bool);
              return t1;
            }
            return completer.future;
          }
        }
      }
      return P.Future_Future$value(false, type$.bool);
    }
  };
  H.DomRenderer_reset_closure.prototype = {
    call$1: function(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: 141
  };
  H.DomRenderer_reset_closure0.prototype = {
    call$1: function(_) {
      J.cancel$0$z(this.loadSubscription._readLocal$0());
      this.canvasKitLoadCompleter.complete$1(0, true);
    },
    $signature: 10
  };
  H.DomRenderer_reset_closure1.prototype = {
    call$0: function() {
      var t1 = document.currentScript,
        t2 = this.$this._canvasKitScript;
      if (t1 == null ? t2 == null : t1 === t2)
        return P.JsObject_JsObject(this.objectConstructor);
      else
        return $.$get$_context().$index(0, "_flutterWebCachedExports");
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 44
  };
  H.DomRenderer_reset_closure2.prototype = {
    call$1: function(value) {
      $.$get$_context().$indexSet(0, "_flutterWebCachedExports", value);
    },
    $signature: 5
  };
  H.DomRenderer_reset_closure3.prototype = {
    call$0: function() {
      var t1 = document.currentScript,
        t2 = this.$this._canvasKitScript;
      if (t1 == null ? t2 == null : t1 === t2)
        return P.JsObject_JsObject(this.objectConstructor);
      else
        return $.$get$_context().$index(0, "_flutterWebCachedModule");
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 44
  };
  H.DomRenderer_reset_closure4.prototype = {
    call$1: function(value) {
      $.$get$_context().$indexSet(0, "_flutterWebCachedModule", value);
    },
    $signature: 5
  };
  H.DomRenderer_setPreferredOrientation_closure.prototype = {
    call$1: function(_) {
      this.completer.complete$1(0, true);
    },
    $signature: 5
  };
  H.DomRenderer_setPreferredOrientation_closure0.prototype = {
    call$1: function(error) {
      this.completer.complete$1(0, false);
    },
    $signature: 5
  };
  H.EngineCanvas.prototype = {};
  H._SaveStackEntry.prototype = {};
  H._SaveClipEntry.prototype = {};
  H._SaveElementStackEntry.prototype = {};
  H.SaveElementStackTracking.prototype = {
    save$0: function(_) {
      var t2, t3, _this = this,
        t1 = _this.SaveElementStackTracking__elementStack;
      t1 = t1.length === 0 ? _this.rootElement : C.JSArray_methods.get$last(t1);
      t2 = _this.SaveElementStackTracking__currentTransform;
      t3 = new H.Matrix40(new Float32Array(16));
      t3.setFrom$1(t2);
      _this.SaveElementStackTracking__saveStack.push(new H._SaveElementStackEntry(t1, t3));
    },
    restore$0: function(_) {
      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 (!((t1.length === 0 ? t3 : C.JSArray_methods.get$last(t1)) == null ? t2 != null : (t1.length === 0 ? t3 : C.JSArray_methods.get$last(t1)) !== t2))
          break;
        t1.pop();
      }
    },
    translate$2: function(_, dx, dy) {
      this.SaveElementStackTracking__currentTransform.translate$2(0, dx, dy);
    },
    scale$2: function(_, sx, sy) {
      this.SaveElementStackTracking__currentTransform.scale$2(0, sx, sy);
    },
    rotate$1: function(_, radians) {
      this.SaveElementStackTracking__currentTransform.rotate$2(0, $.$get$SaveElementStackTracking__unitZ(), radians);
    },
    transform$1: function(_, matrix4) {
      this.SaveElementStackTracking__currentTransform.multiply$1(0, new H.Matrix40(matrix4));
    }
  };
  H.sendFontChangeMessage_closure.prototype = {
    call$1: function(_) {
      $._fontChangeScheduled = false;
      $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/system", $.$get$_fontChangeMessage(), new H.sendFontChangeMessage__closure());
    },
    $signature: 195
  };
  H.sendFontChangeMessage__closure.prototype = {
    call$1: function(_) {
    },
    $signature: 33
  };
  H.FrameReference.prototype = {};
  H.CrossFrameCache.prototype = {
    commitFrame$0: function() {
      var t2, t3, _this = this,
        t1 = _this._reusablePool;
      if (t1 != null)
        for (t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();)
          for (t2 = J.get$iterator$ax(t1.get$current(t1)); t2.moveNext$0();) {
            t3 = t2.get$current(t2);
            t3.evictCallback.call$1(t3.value);
          }
      _this._reusablePool = _this._cache;
      _this._cache = null;
    },
    _addToCache$2: function(key, item) {
      var t2, _this = this,
        t1 = _this._cache;
      if (t1 == null)
        t1 = _this._cache = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, _this.$ti._eval$1("List<_CrossFrameCacheItem<1>>"));
      t2 = t1.$index(0, key);
      if (t2 == null) {
        t2 = H._setArrayType([], _this.$ti._eval$1("JSArray<_CrossFrameCacheItem<1>>"));
        t1.$indexSet(0, key, t2);
        t1 = t2;
      } else
        t1 = t2;
      t1.push(item);
    },
    reuse$1: function(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 && C.JSArray_methods).removeAt$1(items, 0);
      this._addToCache$2(key, item);
      return item.value;
    }
  };
  H._CrossFrameCacheItem.prototype = {};
  H.BitmapCanvas.prototype = {
    set$bounds: function(_, newValue) {
      var newCanvasPositionX, newCanvasPositionY, _this = this;
      _this._bounds = newValue;
      newCanvasPositionX = J.floor$0$n(newValue.left) - 1;
      newCanvasPositionY = J.floor$0$n(_this._bounds.top) - 1;
      if (_this._canvasPositionX !== newCanvasPositionX || _this._canvasPositionY !== newCanvasPositionY) {
        _this._canvasPositionX = newCanvasPositionX;
        _this._canvasPositionY = newCanvasPositionY;
        _this._updateRootElementTransform$0();
      }
    },
    _updateRootElementTransform$0: function() {
      var t1 = this.rootElement.style,
        t2 = "translate(" + this._canvasPositionX + "px, " + this._canvasPositionY + "px)";
      t1.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), t2, "");
    },
    _setupInitialTransform$0: function() {
      var _this = this,
        t1 = _this._bounds,
        t2 = t1.left,
        t3 = _this._canvasPositionX;
      t1 = t1.top;
      _this._canvasPool.translate$2(0, -t2 + (t2 - 1 - t3) + 1, -t1 + (t1 - 1 - _this._canvasPositionY) + 1);
    },
    doesFitBounds$2: function(newBounds, newDensity) {
      return this._widthInBitmapPixels >= H.BitmapCanvas__widthToPhysical(newBounds.right - newBounds.left) && this._heightInBitmapPixels >= H.BitmapCanvas__heightToPhysical(newBounds.bottom - newBounds.top) && this._density === newDensity;
    },
    clear$0: function(_) {
      var t1, len, t2, i, child, t3, _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 (child.parentElement === t2) {
          t3 = child.parentNode;
          if (t3 != null)
            t3.removeChild(child);
        }
      }
      C.JSArray_methods.set$length(t1, 0);
      _this._childOverdraw = false;
      _this._cachedLastCssFont = null;
      _this._setupInitialTransform$0();
    },
    save$0: function(_) {
      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: function(_) {
      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: function(_, dx, dy) {
      this._canvasPool.translate$2(0, dx, dy);
    },
    scale$2: function(_, 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: function(_, radians) {
      var t1 = this._canvasPool;
      t1.super$_SaveStackTracking$rotate(0, radians);
      if (t1.__engine$_canvas != null)
        t1.get$context(t1).rotate(radians);
    },
    transform$1: function(_, matrix4) {
      var t1;
      if (H.transformKindOf(matrix4) === C.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: function(_, rect, op) {
      var path, t2,
        t1 = this._canvasPool;
      if (op === C.ClipOp_0) {
        path = H.SurfacePath$();
        path._fillType = C.PathFillType_1;
        t2 = this._bounds;
        path.addRectWithDirection$3(new P.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(0, rect);
        if (t1.__engine$_canvas != null)
          t1.__engine$_clipRect$2(t1.get$context(t1), rect);
      }
    },
    clipRRect$1: function(_, rrect) {
      var t1 = this._canvasPool;
      t1.super$_SaveStackTracking$clipRRect(0, rrect);
      if (t1.__engine$_canvas != null)
        t1._clipRRect$2(t1.get$context(t1), rrect);
    },
    clipPath$1: function(_, path) {
      this._canvasPool.clipPath$1(0, path);
    },
    _useDomForRenderingFill$1: function(paint) {
      var t1, _this = this;
      if (!_this._renderStrategy.isInsideShaderMask)
        if (!(!_this._preserveImageData && _this._contains3dTransform))
          t1 = _this._childOverdraw && _this._canvasPool.__engine$_canvas == null && paint.maskFilter == null && paint.shader == null && paint.style !== C.PaintingStyle_1;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    _useDomForRenderingFillAndStroke$1: function(paint) {
      var _this = this,
        t1 = _this._renderStrategy;
      if (!t1.isInsideShaderMask)
        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: function(_, p1, p2, paint) {
      var path, shaderBounds, t1, ctx, t2, t3, t4, t5, t6, t7;
      if (this._useDomForRenderingFill$1(paint)) {
        path = H.SurfacePath$();
        path.moveTo$2(0, p1._dx, p1._dy);
        path.lineTo$2(0, p2._dx, p2._dy);
        this.drawPath$2(0, path, paint);
      } else {
        shaderBounds = paint.shader != null ? P.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();
      }
    },
    drawRect$2: function(_, rect, paint) {
      var element, t2, t3, shaderBounds, t4, t5, t6,
        t1 = this._canvasPool;
      if (this._useDomForRenderingFillAndStroke$1(paint)) {
        element = H._buildDrawRectElement(rect, paint, "draw-rect", t1._currentTransform);
        t1 = rect.left;
        t2 = rect.right;
        t2 = Math.min(H.checkNum(t1), H.checkNum(t2));
        t1 = rect.top;
        t3 = rect.bottom;
        this._drawElement$3(element, new P.Offset(t2, Math.min(H.checkNum(t1), H.checkNum(t3))), paint);
      } else {
        t1.get$contextHandle().setUpPaint$2(paint, rect);
        t2 = paint.style;
        t1.get$context(t1).beginPath();
        shaderBounds = t1.get$contextHandle()._shaderBounds;
        if (shaderBounds == null) {
          t3 = t1.get$context(t1);
          t4 = rect.left;
          t5 = rect.top;
          t3.rect(t4, t5, rect.right - t4, rect.bottom - t5);
        } else {
          t3 = t1.get$context(t1);
          t4 = rect.left;
          t5 = shaderBounds.left;
          t6 = rect.top;
          t3.rect(t4 - t5, t6 - shaderBounds.top, rect.right - t4, rect.bottom - t6);
        }
        t1.get$contextHandle().paint$1(t2);
        t1.get$contextHandle().tearDownPaint$0();
      }
    },
    _drawElement$3: function(element, offset, paint) {
      var clipElements, t3, _i, clipElement, blendMode, _this = this,
        t1 = _this._canvasPool,
        t2 = t1._clipStack;
      if (t2 != null) {
        clipElements = H._clipContent(t2, element, C.Offset_0_0, H.transformWithOffset(t1._currentTransform, offset));
        for (t1 = clipElements.length, t2 = _this.rootElement, t3 = _this.__engine$_children, _i = 0; _i < clipElements.length; clipElements.length === t1 || (0, H.throwConcurrentModificationError)(clipElements), ++_i) {
          clipElement = clipElements[_i];
          t2.appendChild(clipElement);
          t3.push(clipElement);
        }
      } else {
        _this.rootElement.appendChild(element);
        _this.__engine$_children.push(element);
      }
      blendMode = paint.blendMode;
      if (blendMode != null) {
        t1 = element.style;
        t2 = H._stringForBlendMode(blendMode);
        if (t2 == null)
          t2 = "";
        t1.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "mix-blend-mode"), t2, "");
      }
      _this._closeCurrentCanvas$0();
    },
    drawRRect$2: function(_, 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 = H._buildDrawRectElement(new P.Rect(t1, t2, t3, t4), paint, "draw-rrect", t5._currentTransform);
        H._applyRRectBorderRadius(element.style, rrect);
        this._drawElement$3(element, new P.Offset(Math.min(H.checkNum(t1), H.checkNum(t3)), Math.min(H.checkNum(t2), H.checkNum(t4))), paint);
      } else {
        t5.get$contextHandle().setUpPaint$2(paint, new P.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 P.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);
        H.DomRenderer_ellipse(t2, t3, $top + trRadiusY, trRadiusX, trRadiusY, 0, 4.71238898038469, 6.283185307179586, false);
        t3 = bottom - brRadiusY;
        t2.lineTo(right, t3);
        H.DomRenderer_ellipse(t2, right - brRadiusX, t3, brRadiusX, brRadiusY, 0, 0, 1.5707963267948966, false);
        t3 = left + blRadiusX;
        t2.lineTo(t3, bottom);
        H.DomRenderer_ellipse(t2, t3, bottom - blRadiusY, blRadiusX, blRadiusY, 0, 1.5707963267948966, 3.141592653589793, false);
        t3 = $top + tlRadiusY;
        t2.lineTo(left, t3);
        H.DomRenderer_ellipse(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: function(_, rect, paint) {
      var element, t2, t3, t4, t5, shaderBounds, cx, cy,
        t1 = this._canvasPool;
      if (this._useDomForRenderingFill$1(paint)) {
        element = H._buildDrawRectElement(rect, paint, "draw-oval", t1._currentTransform);
        t1 = rect.left;
        t2 = rect.right;
        t3 = rect.top;
        t4 = rect.bottom;
        this._drawElement$3(element, new P.Offset(Math.min(H.checkNum(t1), H.checkNum(t2)), Math.min(H.checkNum(t3), H.checkNum(t4))), paint);
        t5 = element.style;
        t3 = H.S((t2 - t1) / 2) + "px / " + H.S((t4 - t3) / 2) + "px";
        t5.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t5, C.CssStyleDeclaration_methods._browserPropertyName$1(t5, "border-radius"), t3, "");
      } 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;
        H.DomRenderer_ellipse(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: function(_, c, radius, paint) {
      var element, t1, t2, shaderBounds, t3, cx, cy, _this = this,
        rect = P.Rect$fromCircle(c, radius);
      if (_this._useDomForRenderingFillAndStroke$1(paint)) {
        element = H._buildDrawRectElement(rect, paint, "draw-circle", _this._canvasPool._currentTransform);
        _this._drawElement$3(element, new P.Offset(Math.min(H.checkNum(rect.left), H.checkNum(rect.right)), Math.min(H.checkNum(rect.top), H.checkNum(rect.bottom))), paint);
        t1 = element.style;
        t1.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "border-radius"), "50%", "");
      } else {
        t1 = paint.shader != null ? P.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 = t3 ? c._dx : c._dx - shaderBounds.left;
        cy = t3 ? c._dy : c._dy - shaderBounds.top;
        H.DomRenderer_ellipse(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: function(_, path, paint) {
      var t1, transform, pathAsLine, t2, t3, t4, rect, pathAsRect, pathAsRRect, pathBounds, svgElm, style, cssColor, sigma, _this = this;
      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 P.Rect(t4, t2, t4 + (pathAsLine.right - t4), t2 + 1) : new P.Rect(t4, t2, t4 + 1, t2 + (t3 - t2));
          _this._drawElement$3(H._buildDrawRectElement(rect, paint, "draw-rect", t1._currentTransform), new P.Offset(Math.min(H.checkNum(rect.left), H.checkNum(rect.right)), Math.min(H.checkNum(rect.top), H.checkNum(rect.bottom))), paint);
          return;
        }
        pathAsRect = path.pathRef.getRect$0();
        if (pathAsRect != null) {
          _this.drawRect$2(0, pathAsRect, paint);
          return;
        }
        t2 = path.pathRef;
        pathAsRRect = t2.fIsRRect ? t2._getRRect$0() : null;
        if (pathAsRRect != null) {
          _this.drawRRect$2(0, pathAsRRect, paint);
          return;
        }
        pathBounds = path.getBounds$0(0);
        svgElm = H._pathToSvgElement(path, paint, H.S(pathBounds.right), H.S(pathBounds.bottom));
        if (t1._clipStack == null) {
          style = svgElm.style;
          style.position = "absolute";
          if (!transform.isIdentity$0(0)) {
            t1 = H.float64ListToCssTransform(transform.__engine$_m4storage);
            C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "transform"), t1, "");
            C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "transform-origin"), "0 0 0", "");
          }
        }
        if (paint.maskFilter != null) {
          t1 = paint.style;
          t2 = paint.color;
          if (t2 == null)
            cssColor = "#000000";
          else {
            t2 = H.colorToCssString(t2);
            t2.toString;
            cssColor = t2;
          }
          sigma = paint.maskFilter._sigma;
          t2 = $.$get$_browserEngine();
          if (t2 === C.BrowserEngine_1 && t1 !== C.PaintingStyle_1) {
            t1 = svgElm.style;
            t2 = "0px 0px " + H.S(sigma * 2) + "px " + cssColor;
            t1.toString;
            C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "box-shadow"), t2, "");
          } else {
            t1 = svgElm.style;
            t2 = "blur(" + H.S(sigma) + "px)";
            t1.toString;
            C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "filter"), t2, "");
          }
        }
        _this._drawElement$3(svgElm, new P.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(0, path, C.PaintingStyle_1);
        else
          t2.drawPath$2(0, path, t1);
        t2.get$contextHandle().tearDownPaint$0();
      }
    },
    drawShadow$4: function(_, path, color, elevation, transparentOccluder) {
      var t2, solidColor, t3, t4, t5,
        t1 = this._canvasPool,
        shadow = H.computeShadow(path.getBounds$0(0), elevation);
      if (shadow != null) {
        t2 = H.toShadowColor(color).value;
        solidColor = H.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 !== C.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 = H._maskFilterToCanvasFilter(new P.MaskFilter(C.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: function(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 H._CrossFrameCacheItem(newImageElement, H._engine_BitmapCanvas__onEvictElement$closure(), t2.$ti._eval$1("_CrossFrameCacheItem<1>")));
      return newImageElement;
    },
    _drawImage$3: function(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 H.CkBlendModeColorFilter)
        imgElement = _this._createImageElementWithBlend$4(image, colorFilter.color, colorFilter.blendMode, paint);
      else
        imgElement = _this._reuseOrCreateImage$1(image);
      t1 = imgElement.style;
      t2 = H._stringForBlendMode(blendMode);
      if (t2 == null)
        t2 = "";
      t1.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "mix-blend-mode"), t2, "");
      t1 = _this._canvasPool;
      if (t1._clipStack != null) {
        t2 = imgElement.style;
        t2.removeProperty("width");
        t2.removeProperty("height");
        t2 = t1._clipStack;
        t2.toString;
        clipElements = H._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, H.throwConcurrentModificationError)(clipElements), ++_i) {
          clipElement = clipElements[_i];
          t2.appendChild(clipElement);
          t3.push(clipElement);
        }
      } else {
        cssTransform = H.float64ListToCssTransform(H.transformWithOffset(t1._currentTransform, p).__engine$_m4storage);
        t1 = imgElement.style;
        t1.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform-origin"), "0 0 0", "");
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), cssTransform, "");
        t1.removeProperty("width");
        t1.removeProperty("height");
        _this.rootElement.appendChild(imgElement);
        _this.__engine$_children.push(imgElement);
      }
      return imgElement;
    },
    _createImageElementWithBlend$4: function(image, color, blendMode, paint) {
      var t1, svgFilter, t2, filterElement, imgElement, style,
        _s8_ = "absolute",
        _s68_ = string$.x3csvg_w,
        _s97_ = string$.x22x20filt;
      switch (blendMode) {
        case C.BlendMode_19:
        case C.BlendMode_18:
        case C.BlendMode_25:
        case C.BlendMode_13:
        case C.BlendMode_15:
        case C.BlendMode_12:
        case C.BlendMode_5:
        case C.BlendMode_9:
        case C.BlendMode_7:
        case C.BlendMode_26:
        case C.BlendMode_27:
        case C.BlendMode_28:
        case C.BlendMode_11:
        case C.BlendMode_10:
          switch (blendMode) {
            case C.BlendMode_5:
            case C.BlendMode_9:
              t1 = $._filterIdCounter + 1;
              $._filterIdCounter = t1;
              svgFilter = _s68_ + t1 + '" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%"><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0" result="destalpha"/><feFlood flood-color="' + H.S(H.colorToCssString(color)) + '" flood-opacity="1" result="flood"></feFlood><feComposite in="flood" in2="destalpha" operator="arithmetic" k1="1" k2="0" k3="0" k4="0" result="comp"></feComposite></filter></svg>';
              break;
            case C.BlendMode_7:
              t1 = $._filterIdCounter + 1;
              $._filterIdCounter = t1;
              svgFilter = _s68_ + t1 + _s97_ + H.S(H.colorToCssString(color)) + '" flood-opacity="1" result="flood"></feFlood><feComposite in="flood" in2="SourceGraphic" operator="out" result="comp"></feComposite></filter></svg>';
              break;
            case C.BlendMode_10:
              t1 = $._filterIdCounter + 1;
              $._filterIdCounter = t1;
              svgFilter = _s68_ + t1 + _s97_ + H.S(H.colorToCssString(color)) + '" flood-opacity="1" result="flood"></feFlood><feComposite in="SourceGraphic" in2="flood" operator="atop" result="comp"></feComposite></filter></svg>';
              break;
            case C.BlendMode_11:
              t1 = $._filterIdCounter + 1;
              $._filterIdCounter = t1;
              svgFilter = _s68_ + t1 + _s97_ + H.S(H.colorToCssString(color)) + '" flood-opacity="1" result="flood"></feFlood><feComposite in="flood" in2="SourceGraphic" operator="xor" result="comp"></feComposite></filter></svg>';
              break;
            case C.BlendMode_12:
              t1 = $._filterIdCounter + 1;
              $._filterIdCounter = t1;
              svgFilter = _s68_ + t1 + _s97_ + H.S(H.colorToCssString(color)) + '" flood-opacity="1" result="flood"></feFlood><feComposite in="flood" in2="SourceGraphic" operator="arithmetic" k1="0" k2="1" k3="1" k4="0" result="comp"></feComposite></filter></svg>';
              break;
            case C.BlendMode_13:
              color.toString;
              t1 = $._filterIdCounter + 1;
              $._filterIdCounter = t1;
              t2 = color.value;
              svgFilter = _s68_ + t1 + '" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%"><feColorMatrix values="0 0 0 0 ' + H.S((t2 >>> 16 & 255) / 255) + " 0 0 0 0 " + H.S((t2 >>> 8 & 255) / 255) + " 0 0 0 0 " + H.S((t2 & 255) / 255) + ' 0 0 0 1 0" result="recolor"/><feComposite in="recolor" in2="SourceGraphic" operator="arithmetic" k1="1" k2="0" k3="0" k4="0" result="comp"></feComposite></filter></svg>';
              break;
            case C.BlendMode_15:
              svgFilter = H._blendColorFilterToSvg(color, "hard-light", true);
              break;
            case C.BlendMode_26:
            case C.BlendMode_18:
            case C.BlendMode_19:
            case C.BlendMode_25:
            case C.BlendMode_27:
            case C.BlendMode_28:
            case C.BlendMode_24:
            case C.BlendMode_14:
            case C.BlendMode_15:
            case C.BlendMode_16:
            case C.BlendMode_17:
            case C.BlendMode_18:
            case C.BlendMode_19:
            case C.BlendMode_20:
            case C.BlendMode_21:
            case C.BlendMode_22:
            case C.BlendMode_23:
              svgFilter = H._blendColorFilterToSvg(color, H._stringForBlendMode(blendMode), false);
              break;
            case C.BlendMode_1:
            case C.BlendMode_2:
            case C.BlendMode_6:
            case C.BlendMode_8:
            case C.BlendMode_4:
            case C.BlendMode_0:
            case C.BlendMode_3:
              svgFilter = null;
              break;
            default:
              H.throwExpression(H.ReachabilityError$(string$.x60null_c));
              svgFilter = null;
          }
          filterElement = W.Element_Element$html(svgFilter, new H.NullTreeSanitizer(), null);
          this.rootElement.appendChild(filterElement);
          this.__engine$_children.push(filterElement);
          imgElement = this._reuseOrCreateImage$1(image);
          t1 = imgElement.style;
          t2 = "url(#_fcf" + $._filterIdCounter + ")";
          t1.toString;
          C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "filter"), t2, "");
          if (blendMode === C.BlendMode_26) {
            t1 = imgElement.style;
            t2 = H.colorToCssString(color);
            t1.toString;
            t1.backgroundColor = t2 == null ? "" : t2;
          }
          return imgElement;
        default:
          imgElement = document.createElement("div");
          style = imgElement.style;
          switch (blendMode) {
            case C.BlendMode_0:
            case C.BlendMode_8:
              style.position = _s8_;
              break;
            case C.BlendMode_1:
            case C.BlendMode_3:
              style.position = _s8_;
              t1 = H.colorToCssString(color);
              style.backgroundColor = t1 == null ? "" : t1;
              break;
            case C.BlendMode_2:
            case C.BlendMode_6:
              style.position = _s8_;
              t1 = "url('" + H.S(image.imgElement.src) + "')";
              style.backgroundImage = t1;
              break;
            default:
              style.position = _s8_;
              t1 = "url('" + H.S(image.imgElement.src) + "')";
              style.backgroundImage = t1;
              t1 = H._stringForBlendMode(blendMode);
              if (t1 == null)
                t1 = "";
              C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "background-blend-mode"), t1, "");
              t1 = H.colorToCssString(color);
              style.backgroundColor = t1 == null ? "" : t1;
              break;
          }
          return imgElement;
      }
    },
    drawImageRect$4: function(image, src, dst, paint) {
      var t2, requiresClipping, targetLeft, targetWidth, targetTop, t3, targetTop0, imgElement, targetHeight, imageStyle, 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;
      t2 = dst.right;
      targetLeft = dst.left;
      targetWidth = t2 - targetLeft;
      if (targetWidth === image.get$width(image) && dst.bottom - dst.top === image.get$height(image) && !requiresClipping && paint.colorFilter == null)
        _this._drawImage$3(image, new P.Offset(targetLeft, dst.top), paint);
      else {
        if (requiresClipping) {
          _this.save$0(0);
          _this.clipRect$2(0, dst, C.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 P.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);
        }
        imageStyle = imgElement.style;
        widthPx = C.JSNumber_methods.toStringAsFixed$1(targetWidth, 2) + "px";
        heightPx = C.JSNumber_methods.toStringAsFixed$1(targetHeight, 2) + "px";
        imageStyle.left = "0px";
        imageStyle.top = "0px";
        imageStyle.width = widthPx;
        imageStyle.height = heightPx;
        if (!type$.ImageElement._is(imgElement)) {
          t1 = imgElement.style;
          t2 = widthPx + " " + heightPx;
          t1.toString;
          C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "background-size"), t2, "");
        }
        if (requiresClipping)
          _this.restore$0(0);
      }
      _this._closeCurrentCanvas$0();
    },
    _closeCurrentCanvas$0: function() {
      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 = H._setArrayType([], type$.JSArray_CanvasElement);
        t3 = t1.__engine$_canvas;
        t3.toString;
        t2.push(t3);
        t1._contextHandle = t1._context = t1.__engine$_canvas = null;
      }
      this._childOverdraw = true;
      this._cachedLastCssFont = null;
    },
    setCssFont$1: function(cssFont) {
      var t1;
      if (cssFont !== this._cachedLastCssFont) {
        t1 = this._canvasPool;
        t1.get$context(t1).font = cssFont;
        this._cachedLastCssFont = cssFont;
      }
    },
    fillText$4$shadows: function(_, text, x, y, shadows) {
      var _i, shadow,
        t1 = this._canvasPool,
        ctx = t1.get$context(t1);
      if (shadows != null) {
        ctx.save();
        for (_i = 0; _i < 1; ++_i) {
          shadow = shadows[_i];
          t1 = H.colorToCssString(shadow.color);
          t1.toString;
          ctx.shadowColor = t1;
          ctx.shadowBlur = shadow.blurRadius;
          t1 = shadow.offset;
          ctx.shadowOffsetX = t1._dx;
          ctx.shadowOffsetY = t1._dy;
          ctx.fillText(text, x, y);
        }
        ctx.restore();
      }
      (ctx && C.CanvasRenderingContext2D_methods).fillText$3(ctx, text, x, y);
    },
    fillText$3: function($receiver, text, x, y) {
      return this.fillText$4$shadows($receiver, text, x, y, null);
    },
    drawParagraph$2: function(_, paragraph, offset) {
      var paragraphElement, t1, t2, clipElements, t3, _i, clipElement, _this = this;
      if (paragraph.get$drawOnCanvas() && !_this._childOverdraw) {
        paragraph.paint$2(_this, offset);
        return;
      }
      paragraphElement = H._drawParagraphElement(paragraph, offset, null);
      t1 = _this._canvasPool;
      t2 = t1._clipStack;
      t1 = t1._currentTransform;
      if (t2 != null) {
        clipElements = H._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, H.throwConcurrentModificationError)(clipElements), ++_i) {
          clipElement = clipElements[_i];
          t2.appendChild(clipElement);
          t3.push(clipElement);
        }
      } else {
        H.setElementTransform(paragraphElement, H.transformWithOffset(t1, offset).__engine$_m4storage);
        _this.rootElement.appendChild(paragraphElement);
      }
      _this.__engine$_children.push(paragraphElement);
      t1 = paragraphElement.style;
      t1.left = "0px";
      t1.top = "0px";
      _this._closeCurrentCanvas$0();
    },
    endOfPaint$0: function() {
      var t1, t2, t3, t4, paintOrderElement, t5, t6, _this = this;
      _this._canvasPool.endOfPaint$0();
      t1 = _this._elementCache;
      if (t1 != null)
        t1.commitFrame$0();
      if (_this._contains3dTransform) {
        t1 = $.$get$_browserEngine();
        t1 = t1 === C.BrowserEngine_1;
      } else
        t1 = false;
      if (t1)
        for (t1 = _this.rootElement, t2 = J.get$children$x(t1), t2 = t2.get$iterator(t2), t3 = _this.__engine$_children; t2.moveNext$0();) {
          t4 = t2.__interceptors$_current;
          paintOrderElement = document.createElement("div");
          t5 = paintOrderElement.style;
          t5.toString;
          t6 = C.CssStyleDeclaration_methods._browserPropertyName$1(t5, "transform");
          t5.setProperty(t6, "translate3d(0,0,0)", "");
          paintOrderElement.appendChild(t4);
          t1.appendChild(paintOrderElement);
          t3.push(paintOrderElement);
        }
      t1 = _this.rootElement.firstChild;
      t2 = type$.HtmlElement;
      if (t2._is(t1) && t1.tagName.toLowerCase() === "canvas") {
        t1 = t2._as(t1).style;
        t1.zIndex = "-1";
      }
    }
  };
  H.SurfaceCanvas.prototype = {
    save$0: function(_) {
      var t1 = this.__engine$_canvas;
      t1._paintBounds.saveTransformsAndClip$0();
      t1._commands.push(C.C_PaintSave);
      ++t1._saveCount;
    },
    saveLayer$2: function(_, bounds, paint) {
      var t1 = this.__engine$_canvas;
      type$.SurfacePaint._as(paint);
      t1.renderStrategy.hasArbitraryPaint = true;
      t1._commands.push(C.C_PaintSave);
      t1._paintBounds.saveTransformsAndClip$0();
      ++t1._saveCount;
    },
    restore$0: function(_) {
      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 && C.JSArray_methods.get$last(t2) instanceof H.PaintSave)
        t2.pop();
      else
        t2.push(C.C_PaintRestore);
      --t1._saveCount;
    },
    translate$2: function(_, 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 H.PaintTranslate(dx, dy));
    },
    scale$2: function(_, 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 H.PaintScale(sx, t1));
      return null;
    },
    rotate$1: function(_, 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 H.PaintRotate(radians));
    },
    transform$1: function(_, matrix4) {
      var t1 = H.toMatrix32(matrix4),
        t2 = this.__engine$_canvas,
        t3 = t2._paintBounds;
      t3._currentMatrix.multiply$1(0, new H.Matrix40(t1));
      t3._currentMatrixIsIdentity = t3._currentMatrix.isIdentity$0(0);
      t2._commands.push(new H.PaintTransform(t1));
    },
    clipRect$3$clipOp$doAntiAlias: function(_, rect, clipOp, doAntiAlias) {
      var t1 = this.__engine$_canvas,
        command = new H.PaintClipRect(rect, clipOp, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      switch (clipOp) {
        case C.ClipOp_1:
          t1._paintBounds.clipRect$2(0, rect, command);
          break;
        case C.ClipOp_0:
          break;
        default:
          H.throwExpression(H.ReachabilityError$(string$.x60null_c));
      }
      t1.renderStrategy.hasArbitraryPaint = true;
      t1._commands.push(command);
    },
    clipRect$2$doAntiAlias: function($receiver, rect, doAntiAlias) {
      return this.clipRect$3$clipOp$doAntiAlias($receiver, rect, C.ClipOp_1, doAntiAlias);
    },
    clipRect$1: function($receiver, rect) {
      return this.clipRect$3$clipOp$doAntiAlias($receiver, rect, C.ClipOp_1, true);
    },
    clipRect$2$clipOp: function($receiver, rect, clipOp) {
      return this.clipRect$3$clipOp$doAntiAlias($receiver, rect, clipOp, true);
    },
    clipRRect$2$doAntiAlias: function(_, rrect, doAntiAlias) {
      var t1 = this.__engine$_canvas,
        command = new H.PaintClipRRect(rrect, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      t1._paintBounds.clipRect$2(0, new P.Rect(rrect.left, rrect.top, rrect.right, rrect.bottom), command);
      t1.renderStrategy.hasArbitraryPaint = true;
      t1._commands.push(command);
    },
    clipRRect$1: function($receiver, rrect) {
      return this.clipRRect$2$doAntiAlias($receiver, rrect, true);
    },
    clipPath$2$doAntiAlias: function(_, path, doAntiAlias) {
      var command,
        t1 = this.__engine$_canvas;
      type$.SurfacePath._as(path);
      command = new H.PaintClipPath(path, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      t1._paintBounds.clipRect$2(0, path.getBounds$0(0), command);
      t1.renderStrategy.hasArbitraryPaint = true;
      t1._commands.push(command);
    },
    clipPath$1: function($receiver, path) {
      return this.clipPath$2$doAntiAlias($receiver, path, true);
    },
    drawLine$3: function(_, p1, p2, paint) {
      var paintSpread, command, t2, t3, t4, t5,
        t1 = this.__engine$_canvas;
      type$.SurfacePaint._as(paint);
      paintSpread = Math.max(H._getPaintSpread(paint), 1);
      paint._frozen = true;
      command = new H.PaintDrawLine(p1, p2, paint._paintData, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      t2 = p1._dx;
      t3 = p2._dx;
      t4 = p1._dy;
      t5 = p2._dy;
      t1._paintBounds.growLTRB$5(Math.min(H.checkNum(t2), H.checkNum(t3)) - paintSpread, Math.min(H.checkNum(t4), H.checkNum(t5)) - paintSpread, Math.max(H.checkNum(t2), H.checkNum(t3)) + paintSpread, Math.max(H.checkNum(t4), H.checkNum(t5)) + paintSpread, command);
      t1._didDraw = t1.renderStrategy.hasArbitraryPaint = true;
      t1._commands.push(command);
    },
    drawRect$2: function(_, rect, paint) {
      this.__engine$_canvas.drawRect$2(0, rect, type$.SurfacePaint._as(paint));
    },
    drawRRect$2: function(_, rrect, paint) {
      this.__engine$_canvas.drawRRect$2(0, rrect, type$.SurfacePaint._as(paint));
    },
    drawDRRect$3: function(_, outer, inner, paint) {
      this.__engine$_canvas.drawDRRect$3(0, outer, inner, type$.SurfacePaint._as(paint));
    },
    drawOval$2: function(_, rect, paint) {
      var paintSpread, command, t2,
        t1 = this.__engine$_canvas;
      type$.SurfacePaint._as(paint);
      t1._didDraw = t1.renderStrategy.hasArbitraryPaint = true;
      paintSpread = H._getPaintSpread(paint);
      paint._frozen = true;
      command = new H.PaintDrawOval(rect, paint._paintData, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      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: function(_, c, radius, paint) {
      var paintSpread, command, distance, t2, t3,
        t1 = this.__engine$_canvas;
      type$.SurfacePaint._as(paint);
      t1._didDraw = t1.renderStrategy.hasArbitraryPaint = true;
      paintSpread = H._getPaintSpread(paint);
      paint._frozen = true;
      command = new H.PaintDrawCircle(c, radius, paint._paintData, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      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: function(_, rect, startAngle, sweepAngle, useCenter, paint) {
      var forceMoveTo,
        path = P.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(0, path, type$.SurfacePaint._as(paint));
    },
    drawPath$2: function(_, path, paint) {
      this.__engine$_canvas.drawPath$2(0, path, type$.SurfacePaint._as(paint));
    },
    drawImageRect$4: function(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 H.PaintDrawImageRect(image, src, dst, paint._paintData, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      t1._paintBounds.grow$2(dst, command);
      t1._commands.push(command);
    },
    drawParagraph$2: function(_, paragraph, offset) {
      this.__engine$_canvas.drawParagraph$2(0, paragraph, offset);
    },
    drawShadow$4: function(_, path, color, elevation, transparentOccluder) {
      var shadowRect, command,
        t1 = this.__engine$_canvas;
      t1._didDraw = t1.renderStrategy.hasArbitraryPaint = true;
      shadowRect = H.computePenumbraBounds(path.getBounds$0(0), elevation);
      command = new H.PaintDrawShadow(type$.SurfacePath._as(path), color, elevation, transparentOccluder, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      t1._paintBounds.grow$2(shadowRect, command);
      t1._commands.push(command);
    },
    $isCanvas: 1
  };
  H._DomClip.prototype = {
    get$childContainer: function() {
      return this._DomClip__childContainer;
    },
    createElement$0: function(_) {
      var element = this.defaultCreateElement$1("flt-clip"),
        t1 = W._ElementFactoryProvider_createElement_tag("flt-clip-interior", null);
      this._DomClip__childContainer = t1;
      t1 = t1.style;
      t1.position = "absolute";
      t1 = this._DomClip__childContainer;
      t1.toString;
      element.appendChild(t1);
      return element;
    },
    applyOverflow$2: function(element, clipBehaviour) {
      var t1;
      if (clipBehaviour !== C.Clip_0) {
        t1 = element.style;
        t1.overflow = "hidden";
        t1.zIndex = "0";
      }
    }
  };
  H.PersistedClipRect.prototype = {
    recomputeTransformAndClip$0: function() {
      var _this = this;
      _this.__engine$_transform = _this.parent.__engine$_transform;
      if (_this.clipBehavior !== C.Clip_0)
        _this._localClipBounds = _this.rect;
      else
        _this._localClipBounds = null;
      _this._projectedClip = _this._localTransformInverse = null;
    },
    createElement$0: function(_) {
      var t1 = this.super$_DomClip$createElement(0);
      t1.setAttribute("clip-type", "rect");
      return t1;
    },
    apply$0: function() {
      var t5, _this = this,
        t1 = _this.rootElement.style,
        t2 = _this.rect,
        t3 = t2.left,
        t4 = H.S(t3) + "px";
      t1.left = t4;
      t4 = t2.top;
      t5 = H.S(t4) + "px";
      t1.top = t5;
      t5 = H.S(t2.right - t3) + "px";
      t1.width = t5;
      t2 = H.S(t2.bottom - t4) + "px";
      t1.height = t2;
      t1 = _this.rootElement;
      t1.toString;
      _this.applyOverflow$2(t1, _this.clipBehavior);
      t1 = _this._DomClip__childContainer.style;
      t3 = H.S(-t3) + "px";
      t1.left = t3;
      t2 = H.S(-t4) + "px";
      t1.top = t2;
    },
    update$1: function(_, oldSurface) {
      var _this = this;
      _this.super$PersistedContainerSurface$update(0, oldSurface);
      if (!J.$eq$(_this.rect, oldSurface.rect) || _this.clipBehavior !== oldSurface.clipBehavior) {
        _this._localClipBounds = null;
        _this.apply$0();
      }
    },
    $isClipRectEngineLayer0: 1
  };
  H.PersistedClipRRect.prototype = {
    recomputeTransformAndClip$0: function() {
      var t1, _this = this;
      _this.__engine$_transform = _this.parent.__engine$_transform;
      if (_this.clipBehavior !== C.Clip_0) {
        t1 = _this.rrect;
        _this._localClipBounds = new P.Rect(t1.left, t1.top, t1.right, t1.bottom);
      } else
        _this._localClipBounds = null;
      _this._projectedClip = _this._localTransformInverse = null;
    },
    createElement$0: function(_) {
      var t1 = this.super$_DomClip$createElement(0);
      t1.setAttribute("clip-type", "rrect");
      return t1;
    },
    apply$0: function() {
      var t4, _this = this,
        style = _this.rootElement.style,
        t1 = _this.rrect,
        t2 = t1.left,
        t3 = H.S(t2) + "px";
      style.left = t3;
      t3 = t1.top;
      t4 = H.S(t3) + "px";
      style.top = t4;
      t4 = H.S(t1.right - t2) + "px";
      style.width = t4;
      t4 = H.S(t1.bottom - t3) + "px";
      style.height = t4;
      t4 = H.S(t1.tlRadiusX) + "px";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "border-top-left-radius"), t4, "");
      t4 = H.S(t1.trRadiusX) + "px";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "border-top-right-radius"), t4, "");
      t4 = H.S(t1.brRadiusX) + "px";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "border-bottom-right-radius"), t4, "");
      t1 = H.S(t1.blRadiusX) + "px";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, "border-bottom-left-radius"), t1, "");
      t1 = _this.rootElement;
      t1.toString;
      _this.applyOverflow$2(t1, _this.clipBehavior);
      t1 = _this._DomClip__childContainer.style;
      t2 = H.S(-t2) + "px";
      t1.left = t2;
      t2 = H.S(-t3) + "px";
      t1.top = t2;
    },
    update$1: function(_, oldSurface) {
      var _this = this;
      _this.super$PersistedContainerSurface$update(0, oldSurface);
      if (!J.$eq$(_this.rrect, oldSurface.rrect) || _this.clipBehavior !== oldSurface.clipBehavior) {
        _this._localClipBounds = null;
        _this.apply$0();
      }
    },
    $isClipRRectEngineLayer0: 1
  };
  H.PersistedPhysicalShape.prototype = {
    recomputeTransformAndClip$0: function() {
      var t1, t2, roundRect, rect, _this = this;
      _this.__engine$_transform = _this.parent.__engine$_transform;
      if (_this.clipBehavior !== C.Clip_0) {
        t1 = _this.path;
        t2 = t1.pathRef;
        roundRect = t2.fIsRRect ? t2._getRRect$0() : null;
        if (roundRect != null)
          _this._localClipBounds = new P.Rect(roundRect.left, roundRect.top, roundRect.right, roundRect.bottom);
        else {
          rect = t1.pathRef.getRect$0();
          if (rect != null)
            _this._localClipBounds = rect;
          else
            _this._localClipBounds = null;
        }
      } else
        _this._localClipBounds = null;
      _this._projectedClip = _this._localTransformInverse = null;
    },
    createElement$0: function(_) {
      var t1 = this.super$_DomClip$createElement(0);
      t1.setAttribute("clip-type", "physical-shape");
      return t1;
    },
    apply$0: function() {
      this._applyShape$0();
    },
    _applyShape$0: function() {
      var roundRect, borderRadius, style, rect, ovalRect, rx, ry, t4, t5, t6, t7, t8, t9, svgClipPath, t10, rootElementStyle, pathBounds2, boxShadowColor, _this = this,
        _s13_ = "border-radius",
        _s6_ = "hidden",
        t1 = _this.rootElement.style,
        t2 = _this.color,
        t3 = H.colorToCssString(t2);
      t1.toString;
      t1.backgroundColor = t3 == null ? "" : t3;
      t1 = _this.path;
      t3 = t1.pathRef;
      roundRect = t3.fIsRRect ? t3._getRRect$0() : null;
      if (roundRect != null) {
        borderRadius = H.S(roundRect.tlRadiusX) + "px " + H.S(roundRect.trRadiusX) + "px " + H.S(roundRect.brRadiusX) + "px " + H.S(roundRect.blRadiusX) + "px";
        style = _this.rootElement.style;
        t1 = roundRect.left;
        t2 = H.S(t1) + "px";
        style.left = t2;
        t2 = roundRect.top;
        t3 = H.S(t2) + "px";
        style.top = t3;
        t3 = H.S(roundRect.right - t1) + "px";
        style.width = t3;
        t3 = H.S(roundRect.bottom - t2) + "px";
        style.height = t3;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, _s13_), borderRadius, "");
        t3 = _this._DomClip__childContainer.style;
        t1 = H.S(-t1) + "px";
        t3.left = t1;
        t1 = H.S(-t2) + "px";
        t3.top = t1;
        if (_this.clipBehavior !== C.Clip_0)
          style.overflow = _s6_;
        H.applyCssShadow(_this.rootElement, _this.pathBounds, _this.elevation, _this.shadowColor);
        return;
      } else {
        rect = t1.pathRef.getRect$0();
        if (rect != null) {
          style = _this.rootElement.style;
          t1 = rect.left;
          t2 = H.S(t1) + "px";
          style.left = t2;
          t2 = rect.top;
          t3 = H.S(t2) + "px";
          style.top = t3;
          t3 = H.S(rect.right - t1) + "px";
          style.width = t3;
          t3 = H.S(rect.bottom - t2) + "px";
          style.height = t3;
          C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, _s13_), "", "");
          t3 = _this._DomClip__childContainer.style;
          t1 = H.S(-t1) + "px";
          t3.left = t1;
          t1 = H.S(-t2) + "px";
          t3.top = t1;
          if (_this.clipBehavior !== C.Clip_0)
            style.overflow = _s6_;
          H.applyCssShadow(_this.rootElement, _this.pathBounds, _this.elevation, _this.shadowColor);
          return;
        } else {
          t3 = t1.pathRef;
          ovalRect = (t3.fIsOval ? t3.fRRectOrOvalStartIdx : -1) === -1 ? null : t3.getBounds$0(0);
          if (ovalRect != null) {
            t1 = ovalRect.right;
            t2 = ovalRect.left;
            rx = (t1 - t2) / 2;
            t1 = ovalRect.bottom;
            t3 = ovalRect.top;
            ry = (t1 - t3) / 2;
            borderRadius = rx === ry ? H.S(rx) + "px " : H.S(rx) + "px " + H.S(ry) + "px ";
            style = _this.rootElement.style;
            t1 = H.S(t2) + "px";
            style.left = t1;
            t1 = H.S(t3) + "px";
            style.top = t1;
            t1 = H.S(rx * 2) + "px";
            style.width = t1;
            t1 = H.S(ry * 2) + "px";
            style.height = t1;
            C.CssStyleDeclaration_methods._setPropertyHelper$3(style, C.CssStyleDeclaration_methods._browserPropertyName$1(style, _s13_), borderRadius, "");
            t1 = _this._DomClip__childContainer.style;
            t2 = H.S(-t2) + "px";
            t1.left = t2;
            t2 = H.S(-t3) + "px";
            t1.top = t2;
            if (_this.clipBehavior !== C.Clip_0)
              style.overflow = _s6_;
            H.applyCssShadow(_this.rootElement, _this.pathBounds, _this.elevation, _this.shadowColor);
            return;
          }
        }
      }
      t3 = _this.elevation;
      t4 = t3 === 0;
      t5 = _this.pathBounds;
      if (t4) {
        t6 = t5.left;
        t7 = t5.top;
        t8 = t5.right;
        t9 = t5.bottom;
        svgClipPath = H.pathToSvgClipPath(t1, -t6, -t7, 1 / (t8 - t6), 1 / (t9 - t7));
        t7 = t9;
        t6 = t8;
      } else {
        t6 = t5.right;
        t7 = t5.bottom;
        svgClipPath = H.pathToSvgClipPath(t1, 0, 0, 1 / t6, 1 / t7);
      }
      t8 = _this._clipElement;
      if (t8 != null)
        J.remove$0$ax(t8);
      t8 = _this._svgElement;
      if (t8 != null)
        J.remove$0$ax(t8);
      t8 = W.Element_Element$html(svgClipPath, new H.NullTreeSanitizer(), null);
      _this._clipElement = t8;
      t9 = $.$get$domRenderer();
      t10 = _this.rootElement;
      t10.toString;
      t8.toString;
      t9.toString;
      t10.appendChild(t8);
      if (t4) {
        t1 = _this.rootElement;
        t1.toString;
        H.DomRenderer_setClipPath(t1, "url(#svgClip" + $._clipIdCounter + ")");
        rootElementStyle = _this.rootElement.style;
        rootElementStyle.overflow = "";
        t1 = t5.left;
        t2 = H.S(t1) + "px";
        rootElementStyle.left = t2;
        t2 = t5.top;
        t3 = H.S(t2) + "px";
        rootElementStyle.top = t3;
        t3 = H.S(t6 - t1) + "px";
        rootElementStyle.width = t3;
        t3 = H.S(t7 - t2) + "px";
        rootElementStyle.height = t3;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(rootElementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(rootElementStyle, _s13_), "", "");
        t3 = _this._DomClip__childContainer.style;
        t1 = "-" + H.S(t1) + "px";
        t3.left = t1;
        t1 = "-" + H.S(t2) + "px";
        t3.top = t1;
        return;
      }
      t4 = _this._DomClip__childContainer;
      t4.toString;
      H.DomRenderer_setClipPath(t4, "url(#svgClip" + $._clipIdCounter + ")");
      rootElementStyle = _this.rootElement.style;
      rootElementStyle.overflow = "";
      t4 = t5.left;
      t8 = H.S(t4) + "px";
      rootElementStyle.left = t8;
      t8 = t5.top;
      t9 = H.S(t8) + "px";
      rootElementStyle.top = t9;
      t9 = H.S(t6 - t4) + "px";
      rootElementStyle.width = t9;
      t9 = H.S(t7 - t8) + "px";
      rootElementStyle.height = t9;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(rootElementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(rootElementStyle, _s13_), "", "");
      t9 = _this._DomClip__childContainer.style;
      t4 = "-" + H.S(t4) + "px";
      t9.left = t4;
      t4 = "-" + H.S(t8) + "px";
      t9.top = t4;
      t4 = H.S(t6) + "px";
      t9.width = t4;
      t4 = H.S(t7) + "px";
      t9.height = t4;
      pathBounds2 = t1.getBounds$0(0);
      t4 = new H.SurfacePaintData();
      t4.style = C.PaintingStyle_0;
      t4.color = t2;
      t4 = H._pathToSvgElement(t1, t4, H.S(pathBounds2.right), H.S(pathBounds2.bottom));
      _this._svgElement = t4;
      t1 = _this.rootElement;
      t1.toString;
      t4.toString;
      t1.insertBefore(t4, _this._DomClip__childContainer);
      t3 = H.computeShadow(t5, t3);
      t3.toString;
      boxShadowColor = H.toShadowColor(_this.shadowColor);
      t5 = _this._svgElement.style;
      t4 = t3.offset;
      t1 = boxShadowColor.value;
      t1 = "drop-shadow(" + H.S(t4._dx) + "px " + H.S(t4._dy) + "px " + H.S(t3.blurWidth) + "px rgba(" + (t1 >>> 16 & 255) + ", " + (t1 >>> 8 & 255) + ", " + (t1 & 255) + ", " + H.S((t1 >>> 24 & 255) / 255) + "))";
      t5.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t5, C.CssStyleDeclaration_methods._browserPropertyName$1(t5, "filter"), t1, "");
      t1 = "translate(-" + H.S(pathBounds2.left) + "px, -" + H.S(pathBounds2.top) + "px)";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t5, C.CssStyleDeclaration_methods._browserPropertyName$1(t5, "transform"), t1, "");
      t1 = _this.rootElement.style;
      t1.backgroundColor = "";
    },
    update$1: function(_, oldSurface) {
      var t1, t2, t3, _this = this;
      _this.super$PersistedContainerSurface$update(0, oldSurface);
      t1 = oldSurface.path == _this.path;
      if (!t1)
        _this._localClipBounds = null;
      t1 = !t1 || oldSurface.elevation != _this.elevation || !oldSurface.shadowColor.$eq(0, _this.shadowColor) || !oldSurface.color.$eq(0, _this.color);
      t2 = oldSurface._clipElement;
      if (t1) {
        if (t2 != null)
          J.remove$0$ax(t2);
        oldSurface._clipElement = null;
        t1 = oldSurface._svgElement;
        if (t1 != null)
          J.remove$0$ax(t1);
        oldSurface._svgElement = null;
        t1 = _this._clipElement;
        if (t1 != null)
          J.remove$0$ax(t1);
        _this._clipElement = null;
        t1 = _this._svgElement;
        if (t1 != null)
          J.remove$0$ax(t1);
        _this._svgElement = null;
        t1 = _this.rootElement;
        t1.toString;
        H.DomRenderer_setClipPath(t1, "");
        _this._applyShape$0();
      } else {
        _this._clipElement = t2;
        if (t2 != null) {
          t1 = $.$get$domRenderer();
          t3 = _this.rootElement;
          t3.toString;
          t1.toString;
          t3.appendChild(t2);
        }
        oldSurface._clipElement = null;
        t1 = _this._svgElement = oldSurface._svgElement;
        if (t1 != null)
          _this.rootElement.insertBefore(t1, _this._DomClip__childContainer);
      }
    },
    $isPhysicalShapeEngineLayer0: 1
  };
  H.PersistedClipPath.prototype = {
    createElement$0: function(_) {
      return this.defaultCreateElement$1("flt-clippath");
    },
    recomputeTransformAndClip$0: function() {
      var _this = this;
      _this.super$PersistedContainerSurface$recomputeTransformAndClip();
      if (_this.clipBehavior !== C.Clip_0) {
        if (_this._localClipBounds == null)
          _this._localClipBounds = _this.clipPath.getBounds$0(0);
      } else
        _this._localClipBounds = null;
    },
    apply$0: function() {
      var t2, t3, _this = this,
        t1 = _this._clipElement;
      if (t1 != null)
        J.remove$0$ax(t1);
      t1 = W.Element_Element$html(H.createSvgClipDef(type$.HtmlElement._as(_this.rootElement), _this.clipPath), new H.NullTreeSanitizer(), null);
      _this._clipElement = t1;
      t2 = $.$get$domRenderer();
      t3 = _this.rootElement;
      t3.toString;
      t1.toString;
      t2.toString;
      t3.appendChild(t1);
    },
    update$1: function(_, 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)
          J.remove$0$ax(t1);
        _this.apply$0();
      } else
        _this._clipElement = oldSurface._clipElement;
      oldSurface._clipElement = null;
    },
    discard$0: function() {
      var t1 = this._clipElement;
      if (t1 != null)
        J.remove$0$ax(t1);
      this._clipElement = null;
      this.super$PersistedContainerSurface$discard();
    },
    $isClipPathEngineLayer0: 1
  };
  H.DomCanvas.prototype = {
    clipRect$2: function(_, rect, op) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    clipRRect$1: function(_, rrect) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    clipPath$1: function(_, path) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    drawLine$3: function(_, p1, p2, paint) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    drawRect$2: function(_, rect, paint) {
      var t1 = this.SaveElementStackTracking__elementStack;
      t1 = t1.length === 0 ? this.rootElement : C.JSArray_methods.get$last(t1);
      t1.appendChild(H._buildDrawRectElement(rect, paint, "draw-rect", this.SaveElementStackTracking__currentTransform));
    },
    drawRRect$2: function(_, rrect, paint) {
      var t1,
        element = H._buildDrawRectElement(new P.Rect(rrect.left, rrect.top, rrect.right, rrect.bottom), paint, "draw-rrect", this.SaveElementStackTracking__currentTransform);
      H._applyRRectBorderRadius(element.style, rrect);
      t1 = this.SaveElementStackTracking__elementStack;
      (t1.length === 0 ? this.rootElement : C.JSArray_methods.get$last(t1)).appendChild(element);
    },
    drawOval$2: function(_, rect, paint) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    drawCircle$3: function(_, c, radius, paint) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    drawPath$2: function(_, path, paint) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    drawShadow$4: function(_, path, color, elevation, transparentOccluder) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    drawImageRect$4: function(image, src, dst, paint) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    drawParagraph$2: function(_, paragraph, offset) {
      var paragraphElement = H._drawParagraphElement(paragraph, offset, this.SaveElementStackTracking__currentTransform),
        t1 = this.SaveElementStackTracking__elementStack;
      (t1.length === 0 ? this.rootElement : C.JSArray_methods.get$last(t1)).appendChild(paragraphElement);
    },
    endOfPaint$0: function() {
    }
  };
  H.OffScreenCanvas.prototype = {
    set$width: function(receiver, val) {
      return this.width = val;
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  H.PersistedOffset.prototype = {
    recomputeTransformAndClip$0: function() {
      var t2, t3, _this = this,
        t1 = _this.parent.__engine$_transform;
      _this.__engine$_transform = t1;
      t2 = _this.dx;
      if (t2 !== 0 || _this.dy !== 0) {
        t1.toString;
        t3 = new H.Matrix40(new Float32Array(16));
        t3.setFrom$1(t1);
        _this.__engine$_transform = t3;
        t3.translate$2(0, t2, _this.dy);
      }
      _this._localTransformInverse = _this._projectedClip = null;
    },
    get$localTransformInverse: function() {
      var _this = this,
        t1 = _this._localTransformInverse;
      if (t1 == null) {
        t1 = H.Matrix4$identity();
        t1.setTranslationRaw$3(-_this.dx, -_this.dy, 0);
        _this._localTransformInverse = t1;
      }
      return t1;
    },
    createElement$0: function(_) {
      var element = document.createElement("flt-offset");
      H.DomRenderer_setElementStyle(element, "position", "absolute");
      H.DomRenderer_setElementStyle(element, "transform-origin", "0 0 0");
      return element;
    },
    apply$0: function() {
      var t2,
        t1 = this.rootElement;
      t1.toString;
      t2 = "translate(" + H.S(this.dx) + "px, " + H.S(this.dy) + "px)";
      t1.style.transform = t2;
    },
    update$1: function(_, oldSurface) {
      var _this = this;
      _this.super$PersistedContainerSurface$update(0, oldSurface);
      if (oldSurface.dx !== _this.dx || oldSurface.dy !== _this.dy)
        _this.apply$0();
    },
    $isOffsetEngineLayer0: 1
  };
  H.PersistedOpacity.prototype = {
    recomputeTransformAndClip$0: function() {
      var t2, dx, dy, _this = this,
        t1 = _this.parent.__engine$_transform;
      _this.__engine$_transform = t1;
      t2 = _this.offset;
      dx = t2._dx;
      dy = t2._dy;
      if (dx !== 0 || dy !== 0) {
        t1.toString;
        t2 = new H.Matrix40(new Float32Array(16));
        t2.setFrom$1(t1);
        _this.__engine$_transform = t2;
        t2.translate$2(0, dx, dy);
      }
      _this._projectedClip = _this._localTransformInverse = null;
    },
    get$localTransformInverse: function() {
      var t2,
        t1 = this._localTransformInverse;
      if (t1 == null) {
        t1 = this.offset;
        t2 = H.Matrix4$identity();
        t2.setTranslationRaw$3(-t1._dx, -t1._dy, 0);
        this._localTransformInverse = t2;
        t1 = t2;
      }
      return t1;
    },
    createElement$0: function(_) {
      var element = $.$get$domRenderer().createElement$1(0, "flt-opacity");
      H.DomRenderer_setElementStyle(element, "position", "absolute");
      H.DomRenderer_setElementStyle(element, "transform-origin", "0 0 0");
      return element;
    },
    apply$0: function() {
      var t2,
        t1 = this.rootElement;
      t1.toString;
      H.DomRenderer_setElementStyle(t1, "opacity", H.S(this.alpha / 255));
      t2 = this.offset;
      t2 = "translate(" + H.S(t2._dx) + "px, " + H.S(t2._dy) + "px)";
      t1.style.transform = t2;
    },
    update$1: function(_, 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
  };
  H.SurfacePaint.prototype = {
    set$blendMode: function(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.blendMode = value;
    },
    set$style: function(_, value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.style = value;
    },
    set$strokeWidth: function(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.strokeWidth = value;
    },
    set$strokeCap: function(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.strokeCap = value;
    },
    set$isAntiAlias: function(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.isAntiAlias = value;
    },
    get$color: function(_) {
      var t1 = this._paintData.color;
      return t1 == null ? C.Color_4278190080 : t1;
    },
    set$color: function(_, value) {
      var t1, _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      t1 = _this._paintData;
      t1.color = J.get$runtimeType$(value) === C.Type_Color_MG2 ? value : new P.Color(value.get$value(value));
    },
    set$invertColors: function(value) {
    },
    set$shader: function(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.shader = value;
    },
    set$maskFilter: function(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.maskFilter = value;
    },
    set$filterQuality: function(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.filterQuality = value;
    },
    set$colorFilter: function(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.colorFilter = value;
    },
    toString$0: function(_) {
      var t3, semicolon, _this = this,
        t1 = _this._paintData.style,
        t2 = t1 == null;
      if ((t2 ? C.PaintingStyle_0 : t1) === C.PaintingStyle_1) {
        t1 = "Paint(" + (t2 ? C.PaintingStyle_0 : t1).toString$0(0);
        t2 = _this._paintData.strokeWidth;
        t3 = t2 == null;
        if ((t3 ? 0 : t2) !== 0)
          t1 += " " + H.S(t3 ? 0 : t2);
        else
          t1 += " hairline";
        t2 = _this._paintData.strokeCap;
        t3 = t2 == null;
        if ((t3 ? C.StrokeCap_0 : t2) !== C.StrokeCap_0)
          t1 += " " + (t3 ? C.StrokeCap_0 : t2).toString$0(0);
        semicolon = "; ";
      } else {
        semicolon = "";
        t1 = "Paint(";
      }
      t2 = _this._paintData;
      if (!t2.isAntiAlias) {
        t1 += semicolon + "antialias off";
        semicolon = "; ";
      }
      t2 = t2.color;
      if (!(t2 == null ? C.Color_4278190080 : t2).$eq(0, C.Color_4278190080)) {
        t2 = _this._paintData.color;
        t1 += semicolon + (t2 == null ? C.Color_4278190080 : t2).toString$0(0);
      }
      t1 += ")";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isPaint: 1
  };
  H.SurfacePaintData.prototype = {
    clone$0: function(_) {
      var _this = this,
        t1 = new H.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: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.Conic.prototype = {
    toQuads$0: function() {
      var dst, t1, t2, t3, controlPointOffset, skipSubdivide, pointCount, hasNonFinitePoints, p, _this = this,
        pointList = H._setArrayType([], type$.JSArray_Offset),
        subdivideCount = _this._computeSubdivisionCount$1(0.25),
        quadCount = C.JSInt_methods._shlPositive$1(1, subdivideCount);
      pointList.push(new P.Offset(_this.p0x, _this.p0y));
      if (subdivideCount === 5) {
        dst = new H._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 P.Offset(t3, t1.p1y);
          pointList.push(controlPointOffset);
          pointList.push(controlPointOffset);
          pointList.push(controlPointOffset);
          pointList.push(new P.Offset(t2.p2x, t2.p2y));
          quadCount = 2;
          skipSubdivide = true;
        } else
          skipSubdivide = false;
      } else
        skipSubdivide = false;
      if (!skipSubdivide)
        H.Conic__subdivide(_this, subdivideCount, pointList);
      pointCount = 2 * quadCount + 1;
      p = 0;
      while (true) {
        if (!(p < pointCount)) {
          hasNonFinitePoints = false;
          break;
        }
        t1 = pointList[p];
        t2 = t1._dx;
        t2.toString;
        if (!isNaN(t2)) {
          t1 = t1._dy;
          t1.toString;
          t1 = isNaN(t1);
        } else
          t1 = true;
        if (t1) {
          hasNonFinitePoints = true;
          break;
        }
        ++p;
      }
      if (hasNonFinitePoints)
        for (t1 = pointCount - 1, t2 = _this.p1x, t3 = _this.p1y, p = 1; p < t1; ++p)
          pointList[p] = new P.Offset(t2, t3);
      return pointList;
    },
    _chop$1: function(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 P.Offset(t8, t11);
      if (isNaN(t8) || isNaN(t11)) {
        w2 = t1 * 2;
        scaleHalf = scale * 0.5;
        m = new P.Offset((t6 + w2 * t2 + t7) * scaleHalf, (t9 + w2 * t4 + t10) * scaleHalf);
      }
      t1 = m._dx;
      t2 = m._dy;
      pair.first = new H.Conic(t6, t9, (t6 + t3) * scale, (t9 + t5) * scale, t1, t2, newW);
      pair.second = new H.Conic(t1, t2, (t7 + t3) * scale, (t10 + t5) * scale, t7, t10, newW);
    },
    chopAtYExtrema$1: function(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: function() {
      var wP10, quadRoots, _this = this,
        t1 = _this.p2y,
        t2 = _this.p0y,
        p20 = t1 - t2;
      t1 = _this.fW;
      wP10 = t1 * (_this.p1y - t2);
      quadRoots = new H.QuadRoots();
      if (quadRoots.findRoots$3(t1 * p20 - p20, p20 - 2 * wP10, wP10) === 1)
        return quadRoots.root0;
      return null;
    },
    _chopAt$3$cleanupMiddle: function(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 H.Conic(t1, t2, dx0 / dz0, chopPointY, chopPointX, chopPointY, dz0 / root));
      dst.push(new H.Conic(chopPointX, chopPointY, dx2 / dz2, chopPointY, t3, t4, dz2 / root));
      return true;
    },
    _computeSubdivisionCount$1: function(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: function(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 P.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 = H.SkQuadCoefficients$(t1 * p20x - p20x, t1 * p20y - p20y, p20x - cx - cx, p20y - cy - cy, cx, cy);
      return new P.Offset(quadC.evalX$1(t), quadC.evalY$1(t));
    }
  };
  H.QuadBounds.prototype = {};
  H.ConicBounds.prototype = {};
  H._ConicPair.prototype = {
    get$first: function(receiver) {
      return this.first;
    }
  };
  H.CubicBounds.prototype = {};
  H.SurfacePath.prototype = {
    _resetFields$0: function() {
      var _this = this;
      _this.fLastMoveToIndex = 0;
      _this._fillType = C.PathFillType_0;
      _this._firstDirection = _this._convexityType = -1;
    },
    _copyFields$1: function(source) {
      var _this = this;
      _this._fillType = source._fillType;
      _this.fLastMoveToIndex = source.fLastMoveToIndex;
      _this._convexityType = source._convexityType;
      _this._firstDirection = source._firstDirection;
    },
    set$fillType: function(value) {
      this._fillType = value;
    },
    reset$0: function(_) {
      if (this.pathRef._fVerbsLength !== 0) {
        this.pathRef = H.PathRef$();
        this._resetFields$0();
      }
    },
    moveTo$2: function(_, 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;
    },
    relativeMoveTo$2: function(dx, dy) {
      var pointIndex,
        t1 = this.pathRef,
        pointCount = t1._fPointsLength;
      if (pointCount === 0)
        this.moveTo$2(0, dx, dy);
      else {
        pointIndex = (pointCount - 1) * 2;
        t1 = t1._fPoints;
        this.moveTo$2(0, t1[pointIndex] + dx, t1[pointIndex + 1] + dy);
      }
    },
    _injectMoveToIfNeeded$0: function() {
      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: function(_, 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;
    },
    quadraticBezierTo$4: function(x1, y1, x2, y2) {
      var pointIndex, _this = this;
      _this._injectMoveToIfNeeded$0();
      pointIndex = _this.pathRef.growForVerb$2(2, 0);
      _this.pathRef.setPoint$3(pointIndex, x1, y1);
      _this.pathRef.setPoint$3(pointIndex + 1, x2, y2);
      _this._firstDirection = _this._convexityType = -1;
    },
    conicTo$5: function(_, 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: function(_, 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: function(_) {
      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: function(_, rect) {
      this.addRectWithDirection$3(rect, 0, 0);
    },
    _hasOnlyMoveTos$0: function() {
      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: function(rect, direction, startIndex) {
      var pointIndex1, pointIndex2, pointIndex3, t1, t2, t3, t4, _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;
      if (direction === 0) {
        t2 = rect.left;
        t3 = rect.top;
        t1.setPoint$3(pointIndex0, t2, t3);
        t1 = _this.pathRef;
        t4 = rect.right;
        t1.setPoint$3(pointIndex1, t4, t3);
        t3 = _this.pathRef;
        t1 = rect.bottom;
        t3.setPoint$3(pointIndex2, t4, t1);
        _this.pathRef.setPoint$3(pointIndex3, t2, t1);
      } else {
        t2 = rect.left;
        t3 = rect.bottom;
        t1.setPoint$3(pointIndex3, t2, t3);
        t1 = _this.pathRef;
        t4 = rect.right;
        t1.setPoint$3(pointIndex2, t4, t3);
        t3 = _this.pathRef;
        t1 = rect.top;
        t3.setPoint$3(pointIndex1, t4, t1);
        _this.pathRef.setPoint$3(pointIndex0, t2, t1);
      }
      t1 = _this.pathRef;
      t1.fIsRect = isRect;
      t1.fRRectOrOvalIsCCW = direction === 1;
      t1.fRRectOrOvalStartIdx = 0;
      _this._firstDirection = _this._convexityType = -1;
      _this._firstDirection = finalDirection;
    },
    arcTo$4: function(_, 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 = H._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 = H._setArrayType([], type$.JSArray_Conic);
      for (i = 0; i < quadrant; ++i) {
        quadPointIndex = i * 2;
        p0 = C.List_SbI[quadPointIndex];
        p1 = C.List_SbI[quadPointIndex + 1];
        p2 = C.List_SbI[quadPointIndex + 2];
        conics.push(new H.Conic(p0._dx, p0._dy, p1._dx, p1._dy, p2._dx, p2._dy, 0.707106781));
      }
      lastQuadrantPoint = C.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 H.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(0, conic.p1x, conic.p1y, conic.p2x, conic.p2y, conic.fW);
      }
      _this._firstDirection = _this._convexityType = -1;
    },
    _lineToIfNotTooCloseToLastPoint$2: function(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: function(_, oval) {
      this._addOval$3(oval, 0, 0);
    },
    _addOval$3: function(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(0, right, bottom, centerX, bottom, 0.707106781);
        _this.conicTo$5(0, left, bottom, left, centerY, 0.707106781);
        _this.conicTo$5(0, left, $top, centerX, $top, 0.707106781);
        _this.conicTo$5(0, right, $top, right, centerY, 0.707106781);
      } else {
        _this.moveTo$2(0, right, centerY);
        _this.conicTo$5(0, right, $top, centerX, $top, 0.707106781);
        _this.conicTo$5(0, left, $top, left, centerY, 0.707106781);
        _this.conicTo$5(0, left, bottom, centerX, bottom, 0.707106781);
        _this.conicTo$5(0, 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: function(_, 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, C.JSNumber_methods.toInt$0(startIndex));
          return;
        }
      }
      this.arcTo$4(0, oval, startAngle, sweepAngle, true);
    },
    addRRect$1: function(_, 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 P.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 (H.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 = H._computeMinScale(blRadiusY, brRadiusY, height, H._computeMinScale(tlRadiusY, trRadiusY, height, H._computeMinScale(blRadiusX, brRadiusX, width, H._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(0, t1, t2, t1 + scale * tlRadiusX, t2, 0.707106781);
        _this.lineTo$2(0, t3 - scale * trRadiusX, t2);
        _this.conicTo$5(0, t3, t2, t3, t2 + scale * trRadiusY, 0.707106781);
        _this.lineTo$2(0, t3, t4 - scale * brRadiusY);
        _this.conicTo$5(0, t3, t4, t3 - scale * brRadiusX, t4, 0.707106781);
        _this.lineTo$2(0, t1 + scale * blRadiusX, t4);
        _this.conicTo$5(0, 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: function(_, 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 H.PathWinding(t1, x, y, new Float32Array(18));
      windings._walkPath$0();
      evenOddFill = C.PathFillType_1 === _this._fillType;
      w = windings._w;
      if ((evenOddFill ? w & 1 : w) !== 0)
        return true;
      onCurveCount = windings._onCurveCount;
      if (onCurveCount <= 1)
        return C.JSBool_methods.$xor(onCurveCount !== 0, false);
      t1 = onCurveCount & 1;
      if (t1 !== 0 || evenOddFill)
        return t1 !== 0;
      iter = H.PathIterator$(_this.pathRef, true);
      _buffer = new Float32Array(18);
      tangents = H._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:
            H.tangentLine(_buffer, x, y, tangents);
            break;
          case 2:
            H.tangentQuad(_buffer, x, y, tangents);
            break;
          case 3:
            t2 = iter._conicWeightIndex;
            H.tangentConic(_buffer, x, y, t1._conicWeights[t2], tangents);
            break;
          case 4:
            H.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)
            C.JSArray_methods.remove$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 = C.JSArray_methods.removeAt$1(tangents, last);
                if (index !== tangents.length)
                  tangents[index] = offset;
                break;
              }
            }
        }
      } while (!done);
      return tangents.length !== 0 || false;
    },
    shift$1: function(offset) {
      var t6,
        t1 = offset._dx,
        t2 = offset._dy,
        t3 = this.pathRef,
        t4 = H.PathRef__fPointsFromSource(t3, t1, t2),
        t5 = t3._fVerbsCapacity,
        verbs = new Uint8Array(t5);
      C.NativeUint8List_methods.setAll$2(verbs, 0, t3._fVerbs);
      t4 = new H.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;
        C.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 H.SurfacePath(t4, C.PathFillType_0);
      t1._copyFields$1(this);
      return t1;
    },
    getBounds$0: function(_) {
      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 H.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 H.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 H.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 H.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 H.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 P.Rect(left, $top, right, bottom) : C.Rect_0_0_0_0;
      _this.pathRef.getBounds$0(0);
      return _this.pathRef.cachedBounds = newBounds;
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    },
    $isPath: 1
  };
  H.PathIterator.prototype = {
    _autoClose$1: function(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: function() {
      var t1, t2, _this = this;
      if (_this._segmentState === 1) {
        _this._segmentState = 2;
        return new P.Offset(_this._moveToX, _this._moveToY);
      }
      t1 = _this.pathRef._fPoints;
      t2 = _this._pointIndex;
      return new P.Offset(t1[t2 - 2], t1[t2 - 1]);
    },
    next$1: function(_, 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 H.wrapException(P.FormatException$("Unsupport Path verb " + verb, null, null));
      }
      return verb;
    }
  };
  H.PathRef.prototype = {
    setPoint$3: function(pointIndex, x, y) {
      var index = pointIndex * 2,
        t1 = this._fPoints;
      t1[index] = x;
      t1[index + 1] = y;
    },
    atPoint$1: function(index) {
      var t1 = this._fPoints,
        t2 = index * 2;
      return new P.Offset(t1[t2], t1[t2 + 1]);
    },
    getRect$0: function() {
      var _this = this;
      if (_this.fIsRect)
        return new P.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: function(_) {
      var t1;
      if (this.fBoundsIsDirty)
        this._computeBounds$0();
      t1 = this.fBounds;
      t1.toString;
      return t1;
    },
    _detectRect$0: function() {
      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 P.Rect(x0, y0, x0 + width, y0 + height);
    },
    getStraightLine$0: function() {
      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 P.Rect(x0, y0, x1, y1);
      return null;
    },
    _getRRect$0: function() {
      var pts, cornerIndex, verb, controlPx, controlPy, vector1_0x, vector1_0y, t1, t2, dx, dy, t3,
        bounds = this.getBounds$0(0),
        radii = H._setArrayType([], type$.JSArray_Radius),
        iter = new H.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 P.Radius(dx, dy));
          ++cornerIndex;
        }
      t1 = radii[0];
      t2 = radii[1];
      t3 = radii[2];
      return P.RRect$fromRectAndCorners(bounds, radii[3], t3, t1, t2);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return this.equals$1(type$.PathRef._as(other));
    },
    equals$1: function(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;
      for (len = pointCount * 2, 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: function(newLength) {
      var t1, newPoints, _this = this;
      if (newLength > _this._fPointsCapacity) {
        t1 = newLength + 10;
        _this._fPointsCapacity = t1;
        newPoints = new Float32Array(t1 * 2);
        newPoints.set.apply(newPoints, [_this._fPoints]);
        _this._fPoints = newPoints;
      }
      _this._fPointsLength = newLength;
    },
    _resizeVerbs$1: function(newLength) {
      var t1, newVerbs, _this = this;
      if (newLength > _this._fVerbsCapacity) {
        t1 = newLength + 8;
        _this._fVerbsCapacity = t1;
        newVerbs = new Uint8Array(t1);
        newVerbs.set.apply(newVerbs, [_this._fVerbs]);
        _this._fVerbs = newVerbs;
      }
      _this._fVerbsLength = newLength;
    },
    _resizeConicWeights$1: function(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)
          newWeights.set.apply(newWeights, [t1]);
        _this._conicWeights = newWeights;
      }
      _this._conicWeightsLength = newLength;
    },
    _computeBounds$0: function() {
      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 = C.Rect_0_0_0_0;
        _this.fIsFinite = true;
      } else {
        t1 = _this._fPoints;
        maxX = t1[0];
        maxY = t1[1];
        accum = 0 * maxX * maxY;
        for (len = 2 * pointCount, 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 P.Rect(minX, minY, maxX, maxY);
          _this.fIsFinite = true;
        } else {
          _this.fBounds = C.Rect_0_0_0_0;
          _this.fIsFinite = false;
        }
      }
    },
    growForVerb$2: function(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;
    },
    startEdit$0: function() {
      var _this = this;
      _this.fIsRect = _this.fIsRRect = _this.fIsOval = false;
      _this.cachedBounds = null;
      _this.fBoundsIsDirty = true;
    }
  };
  H.PathRefIterator.prototype = {
    PathRefIterator$1: function(pathRef) {
      var t1;
      this._pointIndex = 0;
      t1 = this.pathRef;
      if (t1.fBoundsIsDirty)
        t1._computeBounds$0();
      if (!t1.fIsFinite)
        this._verbIndex = t1._fVerbsLength;
    },
    nextIndex$0: function() {
      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 H.wrapException(P.FormatException$("Unsupport Path verb " + verb, null, null));
      }
      return verb;
    },
    next$1: function(_, 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 H.wrapException(P.FormatException$("Unsupport Path verb " + verb, null, null));
      }
      _this._pointIndex = pointIndex;
      return verb;
    }
  };
  H.QuadRoots.prototype = {
    findRoots$3: function(a, b, c) {
      var t1, dr, q, res, rootCount, rootCount0, t2, _this = this;
      if (a === 0) {
        t1 = H.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 = H.validUnitDivide(q, a);
      if (res != null) {
        _this.root0 = res;
        rootCount = 1;
      } else
        rootCount = 0;
      res = H.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;
    }
  };
  H.SkQuadCoefficients.prototype = {
    evalX$1: function(t) {
      return (this.ax * t + this.bx) * t + this.cx;
    },
    evalY$1: function(t) {
      return (this.ay * t + this.by) * t + this.cy;
    }
  };
  H.PathWinding.prototype = {
    _walkPath$0: function() {
      var t2, t3, verb, n, winding, t4, t5, t6, t7, t8, t9, t10, isMono, conics, _this = this,
        t1 = _this.pathRef,
        iter = H.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 = !H.PathWinding__isQuadMonotonic(t2) ? H.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 = H.PathWinding__isQuadMonotonic(t2);
            conics = H._setArrayType([], t3);
            new H.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: function() {
      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 (H.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 (H.SPath_scalarSignedAsInt(crossProduct) === dir)
        dir = 0;
      _this._w += dir;
    },
    _computeMonoQuadWinding$6: function(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 (H.PathWinding__checkOnCurve(t2, t1, x0, y0, x2, y2)) {
        ++_this._onCurveCount;
        return 0;
      }
      if (t1 === y20)
        return 0;
      quadRoots = new H.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: function(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 (H.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 H.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 = H.Conic_evalNumerator(conic.p0x, conic.p1x, conic.p2x, t3, t4) / H.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: function() {
      var i,
        t1 = this.__engine$_buffer,
        n = H.chopCubicAtYExtrema(t1, t1);
      for (i = 0; i <= n; ++i)
        this._windingMonoCubic$1(i * 3 * 2);
    },
    _windingMonoCubic$1: function(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 (H.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 = H.chopMonoAtY(t1, bufferIndex, t2);
      if (t == null)
        return;
      xt = H.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);
    }
  };
  H._PaintRequest.prototype = {
    paintCallback$0: function() {
      return this.paintCallback.call$0();
    }
  };
  H.PersistedPicture.prototype = {
    createElement$0: function(_) {
      return this.defaultCreateElement$1("flt-picture");
    },
    preroll$0: function() {
      this.super$PersistedSurface$preroll();
    },
    recomputeTransformAndClip$0: function() {
      var t2, t3, paintWidth, paintHeight, newDensity, _this = this,
        t1 = _this.parent.__engine$_transform;
      _this.__engine$_transform = t1;
      t2 = _this.dx;
      if (t2 !== 0 || _this.dy !== 0) {
        t1.toString;
        t3 = new H.Matrix40(new Float32Array(16));
        t3.setFrom$1(t1);
        _this.__engine$_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 : H._computePixelDensity(_this.__engine$_transform, paintWidth, paintHeight);
      if (newDensity !== _this._density) {
        _this._density = newDensity;
        _this._requiresRepaint = true;
      }
      _this._computeExactCullRects$0();
    },
    _computeExactCullRects$0: function() {
      var clipTransform, bounds, localClipBounds, localInverse, t1, t2, _this = this,
        parentSurface = _this.parent;
      if (parentSurface._projectedClip == null) {
        clipTransform = H.Matrix4$identity();
        for (bounds = null; parentSurface != null;) {
          localClipBounds = parentSurface._localClipBounds;
          if (localClipBounds != null)
            bounds = bounds == null ? H.transformRect(clipTransform, localClipBounds) : bounds.intersect$1(H.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 = C.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 = C.Rect_0_0_0_0;
    },
    _computeOptimalCullRect$1: function(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, C.Rect_0_0_0_0)) {
        _this._optimalLocalCullRect = C.Rect_0_0_0_0;
        if (!J.$eq$(oldOptimalLocalCullRect, C.Rect_0_0_0_0))
          _this._requiresRepaint = true;
        return;
      }
      oldOptimalLocalCullRect.toString;
      t1 = _this._exactLocalCullRect;
      t1.toString;
      if (H.rectContainsOther(oldOptimalLocalCullRect, t1)) {
        _this._optimalLocalCullRect = oldOptimalLocalCullRect;
        return;
      }
      t2 = t1.left;
      t3 = t1.top;
      t4 = t1.right;
      t1 = t1.bottom;
      t5 = t4 - t2;
      t6 = H.PersistedPicture__predictTrend(oldOptimalLocalCullRect.left - t2, t5);
      t7 = t1 - t3;
      t8 = H.PersistedPicture__predictTrend(oldOptimalLocalCullRect.top - t3, t7);
      t5 = H.PersistedPicture__predictTrend(t4 - oldOptimalLocalCullRect.right, t5);
      t7 = H.PersistedPicture__predictTrend(t1 - oldOptimalLocalCullRect.bottom, t7);
      t9 = _this.localPaintBounds;
      t9.toString;
      newLocalCullRect = new P.Rect(t2 - t6, t3 - t8, t4 + t5, t1 + t7).intersect$1(t9);
      _this._requiresRepaint = !J.$eq$(_this._optimalLocalCullRect, newLocalCullRect);
      _this._optimalLocalCullRect = newLocalCullRect;
    },
    _applyPaint$1: function(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) {
        H._recycleCanvas(oldCanvas);
        if (!t1)
          oldSurface.__engine$_canvas = null;
        t1 = _this.rootElement;
        if (t1 != null)
          $.$get$domRenderer().clearDom$1(t1);
        t1 = _this.__engine$_canvas;
        if (t1 != null && t1 !== oldCanvas)
          H._recycleCanvas(t1);
        _this.__engine$_canvas = null;
        return;
      }
      if (t2.renderStrategy.hasArbitraryPaint)
        _this._applyBitmapPaint$1(oldCanvas);
      else {
        H._recycleCanvas(_this.__engine$_canvas);
        t1 = _this.rootElement;
        t1.toString;
        domCanvas = _this.__engine$_canvas = new H.DomCanvas(t1, H._setArrayType([], type$.JSArray__SaveElementStackEntry), H._setArrayType([], type$.JSArray_Element), H.Matrix4$identity());
        t1 = $.$get$domRenderer();
        t3 = _this.rootElement;
        t3.toString;
        t1.clearDom$1(t3);
        t3 = _this._optimalLocalCullRect;
        t3.toString;
        t2.applyCommands$2(domCanvas, t3);
        domCanvas.endOfPaint$0();
      }
    },
    matchForUpdate$1: function(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 = H.BitmapCanvas__widthToPhysical(t1.right - t1.left);
            t2 = _this._exactLocalCullRect;
            t2 = H.BitmapCanvas__heightToPhysical(t2.bottom - t2.top);
            oldPixelCount = oldCanvas._widthInBitmapPixels * oldCanvas._heightInBitmapPixels;
            if (oldPixelCount === 0)
              return 1;
            return 1 - t1 * t2 / oldPixelCount;
          }
        }
      }
    },
    _applyBitmapPaint$1: function(oldCanvas) {
      var t1, t2, _this = this;
      if (oldCanvas instanceof H.BitmapCanvas) {
        t1 = _this._optimalLocalCullRect;
        t1.toString;
        t1 = oldCanvas.doesFitBounds$2(t1, _this._density) && oldCanvas._devicePixelRatio === H.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 {
        H._recycleCanvas(oldCanvas);
        t1 = _this.__engine$_canvas;
        if (t1 instanceof H.BitmapCanvas)
          t1._elementCache = null;
        _this.__engine$_canvas = null;
        t1 = $._paintQueue;
        t2 = _this._optimalLocalCullRect;
        t1.push(new H._PaintRequest(new P.Size(t2.right - t2.left, t2.bottom - t2.top), new H.PersistedPicture__applyBitmapPaint_closure(_this)));
      }
    },
    _findOrCreateCanvas$1: function(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 == null || ratio === 0 ? 1 : ratio;
        if (candidate._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 >= C.JSNumber_methods.ceil$0(boundsWidth * (ratio == null || ratio === 0 ? 1 : ratio)) + 2) {
          ratio = window.devicePixelRatio;
          fits = candidate._heightInBitmapPixels >= C.JSNumber_methods.ceil$0(boundsHeight * (ratio == null || 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) {
        C.JSArray_methods.remove$1($._recycledCanvases, bestRecycledCanvas);
        bestRecycledCanvas.set$bounds(0, bounds);
        bestRecycledCanvas._elementCache = _this._elementCache;
        return bestRecycledCanvas;
      }
      canvas = H.BitmapCanvas$(bounds, _this.picture.recordingCanvas.renderStrategy, _this._density);
      canvas._elementCache = _this._elementCache;
      return canvas;
    },
    _applyTranslate$0: function() {
      var t1 = this.rootElement.style,
        t2 = "translate(" + H.S(this.dx) + "px, " + H.S(this.dy) + "px)";
      t1.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), t2, "");
    },
    apply$0: function() {
      this._applyTranslate$0();
      this._applyPaint$1(null);
    },
    build$0: function(_) {
      this._computeOptimalCullRect$1(null);
      this._requiresRepaint = true;
      this.super$PersistedSurface$build(0);
    },
    update$1: function(_, 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 H.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: function() {
      var _this = this;
      _this.super$PersistedSurface$retain();
      _this._computeOptimalCullRect$1(_this);
      if (_this._requiresRepaint)
        _this._applyPaint$1(_this);
    },
    discard$0: function() {
      H._recycleCanvas(this.__engine$_canvas);
      this.__engine$_canvas = null;
      this.super$PersistedSurface$discard();
    }
  };
  H.PersistedPicture__applyBitmapPaint_closure.prototype = {
    call$0: function() {
      var bitmapCanvas, t3,
        t1 = this.$this,
        t2 = t1._optimalLocalCullRect;
      t2.toString;
      bitmapCanvas = t1.__engine$_canvas = t1._findOrCreateCanvas$1(t2);
      bitmapCanvas._elementCache = t1._elementCache;
      t2 = $.$get$domRenderer();
      t3 = t1.rootElement;
      t3.toString;
      t2.clearDom$1(t3);
      t1.rootElement.appendChild(bitmapCanvas.rootElement);
      bitmapCanvas.clear$0(0);
      t3 = t1.picture.recordingCanvas;
      t3.toString;
      t1 = t1._optimalLocalCullRect;
      t1.toString;
      t3.applyCommands$2(bitmapCanvas, t1);
      bitmapCanvas.endOfPaint$0();
    },
    $signature: 0
  };
  H.RecordingCanvas.prototype = {
    applyCommands$2: function(engineCanvas, clipRect) {
      var i, len, i0, len0, command, e, t1, exception;
      try {
        t1 = this._pictureBounds;
        t1.toString;
        if (H.rectContainsOther(clipRect, t1))
          for (i = 0, t1 = this._commands, len = t1.length; i < len; ++i)
            t1[i].apply$1(engineCanvas);
        else
          for (i0 = 0, t1 = this._commands, len0 = t1.length; i0 < len0; ++i0) {
            command = t1[i0];
            if (command instanceof H.DrawCommand)
              if (command.isInvisible$1(clipRect))
                continue;
            command.apply$1(engineCanvas);
          }
      } catch (exception) {
        e = H.unwrapException(exception);
        if (!J.$eq$(e.name, "NS_ERROR_FAILURE"))
          throw exception;
      }
    },
    drawRect$2: function(_, rect, paint) {
      var paintSpread, command, _this = this,
        t1 = paint._paintData;
      if (t1.shader != null)
        _this.renderStrategy.hasArbitraryPaint = true;
      _this._didDraw = true;
      paintSpread = H._getPaintSpread(paint);
      paint._frozen = true;
      command = new H.PaintDrawRect(rect, t1, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      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: function(_, 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 = H._getPaintSpread(paint);
      t2 = rrect.left;
      t3 = rrect.right;
      t4 = Math.min(H.checkNum(t2), H.checkNum(t3));
      t5 = rrect.top;
      t6 = rrect.bottom;
      t7 = Math.min(H.checkNum(t5), H.checkNum(t6));
      t3 = Math.max(H.checkNum(t2), H.checkNum(t3));
      t6 = Math.max(H.checkNum(t5), H.checkNum(t6));
      paint._frozen = true;
      command = new H.PaintDrawRRect(rrect, t1, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      _this._paintBounds.growLTRB$5(t4 - paintSpread, t7 - paintSpread, t3 + paintSpread, t6 + paintSpread, command);
      _this._commands.push(command);
    },
    drawDRRect$3: function(_, outer, inner, paint) {
      var scaledOuter, scaledInner, outerTl, outerTr, outerBl, outerBr, innerTl, innerTr, innerBl, innerBr, paintSpread, command, t5, left, right, _this = this,
        innerRect = new P.Rect(inner.left, inner.top, inner.right, inner.bottom),
        t1 = outer.left,
        t2 = outer.top,
        t3 = outer.right,
        t4 = outer.bottom,
        outerRect = new P.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 = H._measureBorderRadius(scaledOuter.tlRadiusX, scaledOuter.tlRadiusY);
      outerTr = H._measureBorderRadius(scaledOuter.trRadiusX, scaledOuter.trRadiusY);
      outerBl = H._measureBorderRadius(scaledOuter.blRadiusX, scaledOuter.blRadiusY);
      outerBr = H._measureBorderRadius(scaledOuter.brRadiusX, scaledOuter.brRadiusY);
      innerTl = H._measureBorderRadius(scaledInner.tlRadiusX, scaledInner.tlRadiusY);
      innerTr = H._measureBorderRadius(scaledInner.trRadiusX, scaledInner.trRadiusY);
      innerBl = H._measureBorderRadius(scaledInner.blRadiusX, scaledInner.blRadiusY);
      innerBr = H._measureBorderRadius(scaledInner.brRadiusX, scaledInner.brRadiusY);
      if (innerTl > outerTl || innerTr > outerTr || innerBl > outerBl || innerBr > outerBr)
        return;
      _this._didDraw = _this.renderStrategy.hasArbitraryPaint = true;
      paintSpread = H._getPaintSpread(paint);
      paint._frozen = true;
      command = new H.PaintDrawDRRect(outer, inner, paint._paintData, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      t5 = P.Path_Path();
      t5.set$fillType(C.PathFillType_1);
      t5.addRRect$1(0, outer);
      t5.addRRect$1(0, inner);
      t5.close$0(0);
      command.path = t5;
      left = Math.min(H.checkNum(t1), H.checkNum(t3));
      right = Math.max(H.checkNum(t1), H.checkNum(t3));
      _this._paintBounds.growLTRB$5(left - paintSpread, Math.min(H.checkNum(t2), H.checkNum(t4)) - paintSpread, right + paintSpread, Math.max(H.checkNum(t2), H.checkNum(t4)) + paintSpread, command);
      _this._commands.push(command);
    },
    drawPath$2: function(_, 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(0, rect, paint);
          return;
        }
        t1 = path.pathRef;
        rrect = t1.fIsRRect ? t1._getRRect$0() : null;
        if (rrect != null) {
          _this.drawRRect$2(0, rrect, paint);
          return;
        }
      }
      type$.SurfacePath._as(path);
      if (path.pathRef._fVerbsLength !== 0) {
        _this._didDraw = _this.renderStrategy.hasArbitraryPaint = true;
        pathBounds = path.getBounds$0(0);
        paintSpread = H._getPaintSpread(paint);
        if (paintSpread !== 0)
          pathBounds = pathBounds.inflate$1(paintSpread);
        t1 = path.pathRef;
        t2 = new H.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 H.SurfacePath(t2, C.PathFillType_0);
        clone._copyFields$1(path);
        paint._frozen = true;
        command = new H.PaintDrawPath(clone, paint._paintData, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
        _this._paintBounds.grow$2(pathBounds, command);
        clone._fillType = path._fillType;
        _this._commands.push(command);
      }
    },
    drawParagraph$2: function(_, paragraph, offset) {
      var left, $top, command, _this = this;
      type$.EngineParagraph._as(paragraph);
      if (!paragraph.get$isLaidOut())
        return;
      _this._didDraw = true;
      if (paragraph.get$hasArbitraryPaint())
        _this.renderStrategy.hasArbitraryPaint = true;
      _this.renderStrategy.hasParagraphs = true;
      left = offset._dx;
      $top = offset._dy;
      command = new H.PaintDrawParagraph(paragraph, offset, -1 / 0, -1 / 0, 1 / 0, 1 / 0);
      _this._paintBounds.growLTRB$5(left, $top, left + paragraph.get$width(paragraph), $top + paragraph.get$height(paragraph), command);
      _this._commands.push(command);
    }
  };
  H.PaintCommand.prototype = {};
  H.DrawCommand.prototype = {
    isInvisible$1: function(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;
    }
  };
  H.PaintSave.prototype = {
    apply$1: function(canvas) {
      canvas.save$0(0);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintRestore.prototype = {
    apply$1: function(canvas) {
      canvas.restore$0(0);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintTranslate.prototype = {
    apply$1: function(canvas) {
      canvas.translate$2(0, this.dx, this.dy);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintScale.prototype = {
    apply$1: function(canvas) {
      canvas.scale$2(0, this.sx, this.sy);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintRotate.prototype = {
    apply$1: function(canvas) {
      canvas.rotate$1(0, this.radians);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintTransform.prototype = {
    apply$1: function(canvas) {
      canvas.transform$1(0, this.matrix4);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintClipRect.prototype = {
    apply$1: function(canvas) {
      canvas.clipRect$2(0, this.rect, this.clipOp);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintClipRRect.prototype = {
    apply$1: function(canvas) {
      canvas.clipRRect$1(0, this.rrect);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintClipPath.prototype = {
    apply$1: function(canvas) {
      canvas.clipPath$1(0, this.path);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintDrawLine.prototype = {
    apply$1: function(canvas) {
      canvas.drawLine$3(0, this.p1, this.p2, this.paint);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintDrawRect.prototype = {
    apply$1: function(canvas) {
      canvas.drawRect$2(0, this.rect, this.paint);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintDrawRRect.prototype = {
    apply$1: function(canvas) {
      canvas.drawRRect$2(0, this.rrect, this.paint);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintDrawDRRect.prototype = {
    apply$1: function(canvas) {
      var t1 = this.paint;
      if (t1.style == null)
        t1.style = C.PaintingStyle_0;
      canvas.drawPath$2(0, this.path, t1);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintDrawOval.prototype = {
    apply$1: function(canvas) {
      canvas.drawOval$2(0, this.rect, this.paint);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintDrawCircle.prototype = {
    apply$1: function(canvas) {
      canvas.drawCircle$3(0, this.c, this.radius, this.paint);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintDrawPath.prototype = {
    apply$1: function(canvas) {
      canvas.drawPath$2(0, this.path, this.paint);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintDrawShadow.prototype = {
    apply$1: function(canvas) {
      var _this = this;
      canvas.drawShadow$4(0, _this.path, _this.color, _this.elevation, _this.transparentOccluder);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintDrawImageRect.prototype = {
    apply$1: function(canvas) {
      var _this = this;
      canvas.drawImageRect$4(_this.image, _this.src, _this.dst, _this.paint);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PaintDrawParagraph.prototype = {
    apply$1: function(canvas) {
      canvas.drawParagraph$2(0, this.paragraph, this.offset);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H._PaintBounds.prototype = {
    clipRect$2: function(_, 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;
        H.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: function(r, command) {
      this.growLTRB$5(r.left, r.top, r.right, r.bottom, command);
    },
    growLTRB$5: function(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;
        H.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._left = Math.min(Math.min(_this._left, H.checkNum(transformedPointLeft)), H.checkNum(transformedPointRight));
        _this._right = Math.max(Math.max(_this._right, H.checkNum(transformedPointLeft)), H.checkNum(transformedPointRight));
        _this._top = Math.min(Math.min(_this._top, H.checkNum(transformedPointTop)), H.checkNum(transformedPointBottom));
        _this._bottom = Math.max(Math.max(_this._bottom, H.checkNum(transformedPointTop)), H.checkNum(transformedPointBottom));
      } else {
        _this._left = Math.min(H.checkNum(transformedPointLeft), H.checkNum(transformedPointRight));
        _this._right = Math.max(H.checkNum(transformedPointLeft), H.checkNum(transformedPointRight));
        _this._top = Math.min(H.checkNum(transformedPointTop), H.checkNum(transformedPointBottom));
        _this._bottom = Math.max(H.checkNum(transformedPointTop), H.checkNum(transformedPointBottom));
      }
      _this._didPaintInsideClipArea = true;
    },
    saveTransformsAndClip$0: function() {
      var _this = this,
        t1 = _this._currentMatrix,
        t2 = new H.Matrix40(new Float32Array(16));
      t2.setFrom$1(t1);
      _this.__engine$_transforms.push(t2);
      t1 = _this._clipRectInitialized ? new P.Rect(_this._currentClipLeft, _this._currentClipTop, _this._currentClipRight, _this._currentClipBottom) : null;
      _this._clipStack.push(t1);
    },
    computeBounds$0: function() {
      var t1, t2, maxLeft, maxRight, maxTop, maxBottom, left, right, $top, bottom, _this = this;
      if (!_this._didPaintInsideClipArea)
        return C.Rect_0_0_0_0;
      t1 = _this.maxPaintBounds;
      t2 = t1.left;
      t2.toString;
      if (isNaN(t2))
        maxLeft = -1 / 0;
      else
        maxLeft = t2;
      t2 = t1.right;
      t2.toString;
      if (isNaN(t2))
        maxRight = 1 / 0;
      else
        maxRight = t2;
      t2 = t1.top;
      t2.toString;
      if (isNaN(t2))
        maxTop = -1 / 0;
      else
        maxTop = t2;
      t1 = t1.bottom;
      t1.toString;
      if (isNaN(t1))
        maxBottom = 1 / 0;
      else
        maxBottom = t1;
      t1 = _this._left;
      t2 = _this._right;
      left = Math.min(t1, t2);
      right = Math.max(t1, t2);
      t2 = _this._top;
      t1 = _this._bottom;
      $top = Math.min(t2, t1);
      bottom = Math.max(t2, t1);
      if (right < maxLeft || bottom < maxTop)
        return C.Rect_0_0_0_0;
      return new P.Rect(Math.max(left, maxLeft), Math.max($top, maxTop), Math.min(right, maxRight), Math.min(bottom, maxBottom));
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.RenderStrategy.prototype = {};
  H._WebGlRenderer.prototype = {
    drawRectToGl$6: function(targetRect, gl, glProgram, gradient, widthInPixels, heightInPixels) {
      var t1, t2, t3, colorsBuffer, colors, indexBuffer, t4,
        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;
      t2.uniformMatrix4fv.apply(t2, [gl.getUniformLocation$2(0, t1, "u_ctransform"), false, H.Matrix4$identity().__engine$_m4storage]);
      t2.uniform4f.apply(t2, [gl.getUniformLocation$2(0, t1, "u_scale"), 2 / widthInPixels, -2 / heightInPixels, 1, 1]);
      t2.uniform4f.apply(t2, [gl.getUniformLocation$2(0, t1, "u_shift"), -1, 1, 0, 0]);
      t3 = t2.createBuffer.apply(t2, C.List_empty2);
      t3.toString;
      t2.bindBuffer.apply(t2, [gl.get$kArrayBuffer(), t3]);
      t3 = gl.get$kStaticDraw();
      t2.bufferData.apply(t2, [gl.get$kArrayBuffer(), vertices, t3]);
      t3 = gl._kFloat;
      t2.vertexAttribPointer.apply(t2, [0, 2, t3 == null ? gl._kFloat = t2.FLOAT : t3, false, 0, 0]);
      t2.enableVertexAttribArray.apply(t2, [0]);
      colorsBuffer = t2.createBuffer.apply(t2, C.List_empty2);
      t2.bindBuffer.apply(t2, [gl.get$kArrayBuffer(), colorsBuffer]);
      colors = new Int32Array(H._ensureNativeList(H._setArrayType([4278255360, 4278190335, 4294967040, 4278255615], type$.JSArray_int)));
      t3 = gl.get$kStaticDraw();
      t2.bufferData.apply(t2, [gl.get$kArrayBuffer(), colors, t3]);
      t3 = gl._kUnsignedByte;
      t2.vertexAttribPointer.apply(t2, [1, 4, t3 == null ? gl._kUnsignedByte = t2.UNSIGNED_BYTE : t3, true, 0, 0]);
      t2.enableVertexAttribArray.apply(t2, [1]);
      indexBuffer = t2.createBuffer.apply(t2, C.List_empty2);
      t2.bindBuffer.apply(t2, [gl.get$kElementArrayBuffer(), indexBuffer]);
      t3 = $.$get$_WebGlRenderer__vertexIndicesForRect();
      t4 = gl.get$kStaticDraw();
      t2.bufferData.apply(t2, [gl.get$kElementArrayBuffer(), t3, t4]);
      if (t2.getUniformLocation.apply(t2, [t1, "u_resolution"]) != null)
        t2.uniform2f.apply(t2, [gl.getUniformLocation$2(0, t1, "u_resolution"), widthInPixels, heightInPixels]);
      t1 = gl._kColorBufferBit;
      t2.clear.apply(t2, [t1 == null ? gl._kColorBufferBit = t2.COLOR_BUFFER_BIT : t1]);
      t2.viewport.apply(t2, [0, 0, widthInPixels, heightInPixels]);
      t1 = gl._kTriangles;
      if (t1 == null)
        t1 = gl._kTriangles = t2.TRIANGLES;
      t3 = t3.length;
      t4 = gl._kUnsignedShort;
      t2.drawElements.apply(t2, [t1, t3, t4 == null ? gl._kUnsignedShort = t2.UNSIGNED_SHORT : t4, 0]);
    }
  };
  H.SurfaceScene.prototype = {
    dispose$0: function(_) {
    }
  };
  H.PersistedScene.prototype = {
    recomputeTransformAndClip$0: function() {
      var t2,
        t1 = window.innerWidth;
      t1.toString;
      t2 = window.innerHeight;
      t2.toString;
      this._localClipBounds = new P.Rect(0, 0, t1, t2);
      this._localTransformInverse = H.Matrix4$identity();
      this._projectedClip = null;
    },
    get$localTransformInverse: function() {
      return this._localTransformInverse;
    },
    createElement$0: function(_) {
      return this.defaultCreateElement$1("flt-scene");
    },
    apply$0: function() {
    }
  };
  H.SurfaceSceneBuilder.prototype = {
    _pushSurface$1$1: function(surface) {
      var t2,
        t1 = surface._oldLayer.value;
      if (t1 != null)
        t1.__engine$_state = C.PersistedSurfaceState_3;
      t1 = this._surfaceStack;
      t2 = C.JSArray_methods.get$last(t1);
      t2.__engine$_children.push(surface);
      surface.parent = t2;
      t1.push(surface);
      return surface;
    },
    _pushSurface$1: function(surface) {
      return this._pushSurface$1$1(surface, type$.PersistedContainerSurface);
    },
    pushOffset$3$oldLayer: function(dx, dy, oldLayer) {
      var t1, t2;
      type$.nullable_PersistedOffset._as(oldLayer);
      t1 = H._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === C.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new H.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new H.PersistedOffset(dx, dy, t1, t2, C.PersistedSurfaceState_0));
    },
    pushTransform$2$oldLayer: function(matrix4, oldLayer) {
      var matrix, t1, t2;
      if (this._surfaceStack.length === 1)
        matrix = H.Matrix4$identity().__engine$_m4storage;
      else
        matrix = H.toMatrix32(matrix4);
      type$.nullable_PersistedTransform._as(oldLayer);
      t1 = H._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === C.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new H.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new H.PersistedTransform(matrix, t1, t2, C.PersistedSurfaceState_0));
    },
    pushClipRect$3$clipBehavior$oldLayer: function(rect, clipBehavior, oldLayer) {
      var t1, t2;
      type$.nullable_PersistedClipRect._as(oldLayer);
      t1 = H._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === C.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new H.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new H.PersistedClipRect(clipBehavior, rect, null, t1, t2, C.PersistedSurfaceState_0));
    },
    pushClipRRect$3$clipBehavior$oldLayer: function(rrect, clipBehavior, oldLayer) {
      var t1, t2;
      type$.nullable_PersistedSurface._as(oldLayer);
      t1 = H._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === C.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new H.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new H.PersistedClipRRect(rrect, clipBehavior, null, t1, t2, C.PersistedSurfaceState_0));
    },
    pushClipPath$3$clipBehavior$oldLayer: function(path, clipBehavior, oldLayer) {
      var t1, t2;
      type$.nullable_PersistedClipPath._as(oldLayer);
      t1 = H._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === C.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new H.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new H.PersistedClipPath(path, clipBehavior, t1, t2, C.PersistedSurfaceState_0));
    },
    pushOpacity$3$offset$oldLayer: function(alpha, offset, oldLayer) {
      var t1, t2;
      type$.nullable_PersistedOpacity._as(oldLayer);
      t1 = H._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === C.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new H.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new H.PersistedOpacity(alpha, offset, t1, t2, C.PersistedSurfaceState_0));
    },
    pushPhysicalShape$6$clipBehavior$color$elevation$oldLayer$path$shadowColor: function(clipBehavior, color, elevation, oldLayer, path, shadowColor) {
      var t1, t2, t3, t4, t5;
      type$.nullable_PersistedPhysicalShape._as(oldLayer);
      type$.SurfacePath._as(path);
      t1 = color.get$value(color);
      t2 = shadowColor == null ? null : shadowColor.get$value(shadowColor);
      if (t2 == null)
        t2 = 4278190080;
      t3 = path.getBounds$0(0);
      t4 = H._setArrayType([], type$.JSArray_PersistedSurface);
      t5 = oldLayer != null && oldLayer.__engine$_state === C.PersistedSurfaceState_1 ? oldLayer : null;
      t5 = new H.FrameReference(t5, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t5);
      return this._pushSurface$1(new H.PersistedPhysicalShape(path, t3, elevation, new P.Color(t1), new P.Color(t2), clipBehavior, null, t4, t5, C.PersistedSurfaceState_0));
    },
    addRetained$1: function(retainedLayer) {
      var t1;
      type$.PersistedContainerSurface._as(retainedLayer);
      if (retainedLayer.__engine$_state === C.PersistedSurfaceState_1)
        retainedLayer.__engine$_state = C.PersistedSurfaceState_2;
      else
        retainedLayer.revive$0();
      t1 = C.JSArray_methods.get$last(this._surfaceStack);
      t1.__engine$_children.push(retainedLayer);
      retainedLayer.parent = t1;
    },
    pop$0: function(_) {
      this._surfaceStack.pop();
    },
    addPerformanceOverlay$2: function(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: function(offset, picture, isComplexHint, willChangeHint) {
      var t1, t2;
      isComplexHint;
      type$.EnginePicture._as(picture);
      t1 = picture.recordingCanvas._pictureBounds;
      t2 = new H.FrameReference(null, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      t2 = new H.PersistedPicture(offset._dx, offset._dy, picture, t1, new H.CrossFrameCache(type$.CrossFrameCache_HtmlElement), t2, C.PersistedSurfaceState_0);
      t1 = C.JSArray_methods.get$last(this._surfaceStack);
      t1.__engine$_children.push(t2);
      t2.parent = t1;
    },
    setRasterizerTracingThreshold$1: function(frameInterval) {
    },
    setCheckerboardRasterCacheImages$1: function(checkerboard) {
    },
    setCheckerboardOffscreenLayers$1: function(checkerboard) {
    },
    build$0: function(_) {
      H._frameTimingsOnBuildFinish();
      H._frameTimingsOnRasterStart();
      H.timeAction("preroll_frame", new H.SurfaceSceneBuilder_build_closure(this));
      return H.timeAction("apply_frame", new H.SurfaceSceneBuilder_build_closure0(this));
    }
  };
  H.SurfaceSceneBuilder_build_closure.prototype = {
    call$0: function() {
      for (var t1 = this.$this._surfaceStack; t1.length > 1;)
        t1.pop();
      type$.PersistedScene._as(C.JSArray_methods.get$first(t1)).preroll$0();
    },
    $signature: 0
  };
  H.SurfaceSceneBuilder_build_closure0.prototype = {
    call$0: function() {
      var t3, t4,
        t1 = type$.PersistedScene,
        t2 = this.$this._surfaceStack;
      if ($.SurfaceSceneBuilder__lastFrameScene == null)
        t1._as(C.JSArray_methods.get$first(t2)).build$0(0);
      else {
        t3 = t1._as(C.JSArray_methods.get$first(t2));
        t4 = $.SurfaceSceneBuilder__lastFrameScene;
        t4.toString;
        t3.update$1(0, t4);
      }
      H.commitScene(t1._as(C.JSArray_methods.get$first(t2)));
      $.SurfaceSceneBuilder__lastFrameScene = t1._as(C.JSArray_methods.get$first(t2));
      return new H.SurfaceScene(t1._as(C.JSArray_methods.get$first(t2)).rootElement);
    },
    $signature: 405
  };
  H.NormalizedGradient.prototype = {
    setupUniforms$2: function(gl, glProgram) {
      var t1, t2, t3, t4, t5, i, t6, res, result, t7, 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 = "bias_" + i;
        res = t3.getUniformLocation.apply(t3, [t5, t6]);
        if (res == null) {
          H.throwExpression(P.Exception_Exception(t6 + " not found"));
          result = null;
        } else
          result = res;
        t6 = i * 4;
        t7 = t6 + 1;
        t8 = t6 + 2;
        t9 = t6 + 3;
        t3.uniform4f.apply(t3, [result, t4[t6], t4[t7], t4[t8], t4[t9]]);
        t10 = "scale_" + i;
        res = t3.getUniformLocation.apply(t3, [t5, t10]);
        if (res == null) {
          H.throwExpression(P.Exception_Exception(t10 + " not found"));
          result = null;
        } else
          result = res;
        t3.uniform4f.apply(t3, [result, t2[t6], t2[t7], t2[t8], t2[t9]]);
      }
      for (t1 = _this._thresholds, t2 = t1.length, i = 0; i < t2; i += 4) {
        t4 = "threshold_" + C.JSInt_methods._tdivFast$1(i, 4);
        res = t3.getUniformLocation.apply(t3, [t5, t4]);
        if (res == null) {
          H.throwExpression(P.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]]);
      }
    }
  };
  H.EngineGradient.prototype = {};
  H.GradientLinear.prototype = {
    createPaintStyle$3: function(ctx, shaderBounds, density) {
      var matrix4, offsetX, offsetY, t2, t3, t4, t5, centerX, centerY, gradient, _this = this,
        t1 = _this.tileMode;
      if (t1 === C.TileMode_0 || t1 === C.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 {
          ctx.toString;
          gradient = ctx.createLinearGradient(t4 - offsetX, t2 - offsetY, t5 - offsetX, t3 - offsetY);
        }
        H._addColorStopsToCanvasGradient(gradient, _this.colors, _this.colorStops, t1 === C.TileMode_3);
        return gradient;
      } else {
        t1 = ctx.createPattern(_this.createImageBitmap$3(shaderBounds, density, false), "no-repeat");
        t1.toString;
        return t1;
      }
    },
    createImageBitmap$3: function(shaderBounds, density, createDataUrl) {
      var widthInPixels, t3, t4, heightInPixels, t5, t6, t7, t8, gl, normalizedGradient, builder, method, t9, t10, t11, fragColor, probeName, shader, cacheKey, cachedProgram, vertexShader, fragmentShader, fromX, fromY, toX, toY, dx, dy, $length, sinVal, cosVal, isRepeated, originX, originY, translateToOrigin, rotationZ, storage, gradientTransform, image, _this = this,
        _s18_ = "premultipliedAlpha",
        _s12_ = "u_resolution",
        _s10_ = "m_gradient",
        t1 = shaderBounds.right,
        t2 = shaderBounds.left;
      t1 -= t2;
      widthInPixels = C.JSNumber_methods.ceil$0(t1);
      t3 = shaderBounds.bottom;
      t4 = shaderBounds.top;
      t3 -= t4;
      heightInPixels = C.JSNumber_methods.ceil$0(t3);
      if ($.glRenderer == null)
        $.glRenderer = new H._WebGlRenderer();
      t5 = $.OffScreenCanvas__supported;
      if (t5 == null ? $.OffScreenCanvas__supported = "OffscreenCanvas" in window : t5) {
        t5 = new OffscreenCanvas(widthInPixels, heightInPixels);
        t6 = null;
      } else {
        t5 = W.CanvasElement_CanvasElement(heightInPixels, widthInPixels);
        t5.className = "gl-canvas";
        t6 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
        t7 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
        t8 = t5.style;
        t8.position = "absolute";
        t6 = H.S(widthInPixels / t6) + "px";
        t8.width = t6;
        t6 = H.S(heightInPixels / t7) + "px";
        t8.height = t6;
        t6 = t5;
        t5 = null;
      }
      t7 = $.OffScreenCanvas__supported;
      if (t7 == null ? $.OffScreenCanvas__supported = "OffscreenCanvas" in window : t7) {
        t5.toString;
        t6 = type$.String;
        t7 = C.OffscreenCanvas_methods.getContext$2(t5, "webgl2", P.LinkedHashMap_LinkedHashMap$_literal([_s18_, false], t6, type$.dynamic));
        t7.toString;
        gl = new H.GlContext(t7);
        $.GlContext__programCache.__late_helper$_value = P.LinkedHashMap_LinkedHashMap$_empty(t6, type$.nullable_GlProgram);
        gl.__engine$_canvas = t5;
        t5 = $.GlContext__programCache;
      } else {
        t6.toString;
        t5 = $._cachedWebGLVersion;
        t5 = (t5 == null ? $._cachedWebGLVersion = H._detectWebGLVersion() : t5) === 1 ? "webgl" : "webgl2";
        t7 = type$.String;
        t5 = C.CanvasElement_methods.getContext$2(t6, t5, P.LinkedHashMap_LinkedHashMap$_literal([_s18_, false], t7, type$.dynamic));
        t5.toString;
        gl = new H.GlContext(t5);
        $.GlContext__programCache.__late_helper$_value = P.LinkedHashMap_LinkedHashMap$_empty(t7, type$.nullable_GlProgram);
        gl.__engine$_canvas = t6;
        t5 = $.GlContext__programCache;
      }
      gl._widthInPixels = widthInPixels;
      gl._heightInPixels = heightInPixels;
      normalizedGradient = H.NormalizedGradient_NormalizedGradient(_this.colors, _this.colorStops);
      t6 = $.VertexShaders__baseVertexShader;
      if (t6 == null) {
        t6 = $._cachedWebGLVersion;
        if (t6 == null)
          t6 = $._cachedWebGLVersion = H._detectWebGLVersion();
        t7 = H._setArrayType([], type$.JSArray_ShaderDeclaration);
        t8 = H._setArrayType([], type$.JSArray_ShaderMethod);
        builder = new H.ShaderBuilder(t6, t7, t8, t6 === 2, false, new P.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 H.ShaderDeclaration("v_color", 11, 3));
        method = new H.ShaderMethod("main", H._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(0);
      }
      t7 = _this.tileMode;
      t8 = $._cachedWebGLVersion;
      if (t8 == null)
        t8 = $._cachedWebGLVersion = H._detectWebGLVersion();
      t9 = H._setArrayType([], type$.JSArray_ShaderDeclaration);
      t10 = H._setArrayType([], type$.JSArray_ShaderMethod);
      t11 = t8 === 2;
      builder = new H.ShaderBuilder(t8, t9, t10, t11, true, new P.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 H.ShaderDeclaration(t11 ? "gFragColor" : "gl_FragColor", 11, 3);
      method = new H.ShaderMethod("main", H._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;");
      probeName = H._writeSharedGradientShader(builder, method, normalizedGradient, t7);
      method.addStatement$1(fragColor.name + " = " + probeName + " * scale + bias;");
      shader = builder.build$0(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.apply(t6, C.List_empty2);
        t8.toString;
        t6.attachShader.apply(t6, [t8, vertexShader]);
        t6.attachShader.apply(t6, [t8, fragmentShader]);
        t6.linkProgram.apply(t6, [t8]);
        t9 = gl._kLinkStatus;
        if (!t6.getProgramParameter.apply(t6, [t8, t9 == null ? gl._kLinkStatus = t6.LINK_STATUS : t9]))
          H.throwExpression(P.Exception_Exception(P.callMethod(t6, "getProgramInfoLog", [t8])));
        cachedProgram = new H.GlProgram(t8);
        J.$indexSet$ax(t5._readField$0(), cacheKey, cachedProgram);
      }
      t5 = gl.glContext;
      t6 = cachedProgram.program;
      t5.useProgram.apply(t5, [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 !== C.TileMode_0;
      originX = isRepeated ? t1 / 2 : (fromX + toX) / 2 - t2;
      originY = isRepeated ? t3 / 2 : (fromY + toY) / 2 - t4;
      translateToOrigin = H.Matrix4$identity();
      translateToOrigin.setTranslationRaw$3(-originX, -originY, 0);
      rotationZ = H.Matrix4$identity();
      storage = rotationZ.__engine$_m4storage;
      storage[0] = cosVal;
      storage[1] = sinVal;
      storage[4] = -sinVal;
      storage[5] = cosVal;
      gradientTransform = H.Matrix4$identity();
      if (t7 !== C.TileMode_1)
        gradientTransform.translate$2(0, 0.5, 0);
      if ($length > 11920929e-14)
        gradientTransform.scale$1(0, 1 / $length);
      t2 = _this.matrix4;
      if (t2 != null) {
        t2 = t2.matrix;
        gradientTransform.scale$2(0, 1, -1);
        gradientTransform.translate$2(0, -shaderBounds.get$center()._dx, -shaderBounds.get$center()._dy);
        gradientTransform.multiply$1(0, new H.Matrix40(t2));
        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, translateToOrigin);
      normalizedGradient.setupUniforms$2(gl, cachedProgram);
      t5.uniformMatrix4fv.apply(t5, [gl.getUniformLocation$2(0, t6, _s10_), false, gradientTransform.__engine$_m4storage]);
      t5.uniform2f.apply(t5, [gl.getUniformLocation$2(0, t6, _s12_), widthInPixels, heightInPixels]);
      t2 = $.glRenderer;
      t2.drawRectToGl$6(new P.Rect(0, 0, 0 + t1, 0 + t3), gl, cachedProgram, normalizedGradient, widthInPixels, heightInPixels);
      image = gl.readPatternData$0();
      t5.bindBuffer.apply(t5, [gl.get$kArrayBuffer(), null]);
      t5.bindBuffer.apply(t5, [gl.get$kElementArrayBuffer(), null]);
      image.toString;
      return image;
    }
  };
  H.ShaderBuilder.prototype = {
    addIn$2$name: function(dataType, $name) {
      var attrib = new H.ShaderDeclaration($name, dataType, 1);
      this.declarations.push(attrib);
      return attrib;
    },
    addUniform$2$name: function(dataType, $name) {
      var uniform = new H.ShaderDeclaration($name, dataType, 2);
      this.declarations.push(uniform);
      return uniform;
    },
    _writeVariableDeclaration$2: function(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 += H.ShaderBuilder_typeToString(variable.dataType) + " " + variable.name;
      if (t1 === 0)
        t1 = t2._contents = t3 + " = ";
      else
        t1 = t3;
      t2._contents = t1 + ";\n";
    },
    build$0: function(_) {
      var t2, t3, _i, _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, H.throwConcurrentModificationError)(t1), ++_i)
        _this._writeVariableDeclaration$2(t3, t1[_i]);
      for (t1 = _this._methods, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].write$1(0, t3);
      t1 = t3._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    get$version: function(receiver) {
      return this.version;
    }
  };
  H.ShaderMethod.prototype = {
    addStatement$1: function(statement) {
      this._statements.push(statement);
    },
    write$1: function(_, buffer) {
      var t2, t3, _i,
        t1 = buffer._contents += "void " + this.name + "() {\n";
      for (t2 = this._statements, t3 = t2.length, _i = 0; _i < t3; ++_i) {
        t1 += t2[_i] + "\n";
        buffer._contents = t1;
      }
      buffer._contents = t1 + "}\n";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  H.ShaderDeclaration.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  H.GlProgram.prototype = {};
  H.GlContext.prototype = {
    drawImage$3: function(_, context, left, $top) {
      var t1 = this.__engine$_canvas,
        t2 = this._widthInPixels,
        t3 = this._heightInPixels;
      context.drawImage.apply(context, [t1, 0, 0, t2, t3, left, $top, t2, t3]);
    },
    compileShader$2: function(_, shaderType, source) {
      var t2,
        t1 = this.glContext,
        shader = t1.createShader.apply(t1, [t1[shaderType]]);
      if (shader == null)
        throw H.wrapException(P.Exception_Exception(P.callMethod(t1, "getError", C.List_empty2)));
      t1.shaderSource.apply(t1, [shader, source]);
      t1.compileShader.apply(t1, [shader]);
      t2 = this._kCompileStatus;
      if (!t1.getShaderParameter.apply(t1, [shader, t2 == null ? this._kCompileStatus = t1.COMPILE_STATUS : t2]))
        throw H.wrapException(P.Exception_Exception("Shader compilation failed: " + H.S(P.callMethod(t1, "getShaderInfoLog", [shader]))));
      return shader;
    },
    get$kArrayBuffer: function() {
      var t1 = this._kArrayBuffer;
      return t1 == null ? this._kArrayBuffer = this.glContext.ARRAY_BUFFER : t1;
    },
    get$kElementArrayBuffer: function() {
      var t1 = this._kElementArrayBuffer;
      return t1 == null ? this._kElementArrayBuffer = this.glContext.ELEMENT_ARRAY_BUFFER : t1;
    },
    get$kStaticDraw: function() {
      var t1 = this._kStaticDraw;
      return t1 == null ? this._kStaticDraw = this.glContext.STATIC_DRAW : t1;
    },
    getUniformLocation$2: function(_, program, uniformName) {
      var t1 = this.glContext,
        res = t1.getUniformLocation.apply(t1, [program, uniformName]);
      if (res == null)
        throw H.wrapException(P.Exception_Exception(uniformName + " not found"));
      else
        return res;
    },
    readPatternData$0: function() {
      var canvas, _this = this,
        t1 = _this.__engine$_canvas,
        t2 = "transferToImageBitmap" in t1;
      if (t2) {
        t1.getContext.apply(t1, ["webgl2"]);
        t1 = _this.__engine$_canvas;
        return t1.transferToImageBitmap.apply(t1, []);
      } else {
        t1 = _this._widthInPixels;
        canvas = W.CanvasElement_CanvasElement(_this._heightInPixels, t1);
        _this.drawImage$3(0, canvas.getContext("2d"), 0, 0);
        return canvas;
      }
    }
  };
  H.commitScene_closure.prototype = {
    call$2: function(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: 445
  };
  H.PersistedSurfaceState.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.PersistedSurface.prototype = {
    revive$0: function() {
      this.__engine$_state = C.PersistedSurfaceState_0;
    },
    get$childContainer: function() {
      return this.rootElement;
    },
    build$0: function(_) {
      var t2, _this = this,
        t1 = _this.createElement$0(0);
      _this.rootElement = t1;
      t2 = $.$get$_browserEngine();
      if (t2 === C.BrowserEngine_1) {
        t1 = t1.style;
        t1.zIndex = "0";
      }
      _this.apply$0();
      _this.__engine$_state = C.PersistedSurfaceState_1;
    },
    adoptElements$1: function(oldSurface) {
      this.rootElement = oldSurface.rootElement;
      oldSurface.rootElement = null;
      oldSurface.__engine$_state = C.PersistedSurfaceState_4;
    },
    update$1: function(_, oldSurface) {
      this.adoptElements$1(oldSurface);
      this.__engine$_state = C.PersistedSurfaceState_1;
    },
    retain$0: function() {
      if (this.__engine$_state === C.PersistedSurfaceState_2)
        $._retainedSurfaces.push(this);
    },
    discard$0: function() {
      var t1 = this.rootElement;
      t1.toString;
      J.remove$0$ax(t1);
      this.rootElement = null;
      this.__engine$_state = C.PersistedSurfaceState_4;
    },
    defaultCreateElement$1: function(tagName) {
      var t1 = W._ElementFactoryProvider_createElement_tag(tagName, null),
        t2 = t1.style;
      t2.position = "absolute";
      return t1;
    },
    get$localTransformInverse: function() {
      var t1 = this._localTransformInverse;
      return t1 == null ? this._localTransformInverse = H.Matrix4$identity() : t1;
    },
    recomputeTransformAndClip$0: function() {
      var _this = this;
      _this.__engine$_transform = _this.parent.__engine$_transform;
      _this._projectedClip = _this._localTransformInverse = _this._localClipBounds = null;
    },
    preroll$0: function() {
      this.recomputeTransformAndClip$0();
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    },
    get$parent: function(receiver) {
      return this.parent;
    },
    set$parent: function(receiver, val) {
      return this.parent = val;
    }
  };
  H.PersistedLeafSurface.prototype = {};
  H.PersistedContainerSurface.prototype = {
    preroll$0: function() {
      var t1, $length, i;
      this.super$PersistedSurface$preroll();
      t1 = this.__engine$_children;
      $length = t1.length;
      for (i = 0; i < $length; ++i)
        t1[i].preroll$0();
    },
    recomputeTransformAndClip$0: function() {
      var _this = this;
      _this.__engine$_transform = _this.parent.__engine$_transform;
      _this._projectedClip = _this._localTransformInverse = _this._localClipBounds = null;
    },
    build$0: function(_) {
      var t1, len, containerElement, i, child, t2;
      this.super$PersistedSurface$build(0);
      t1 = this.__engine$_children;
      len = t1.length;
      containerElement = this.get$childContainer();
      for (i = 0; i < len; ++i) {
        child = t1[i];
        if (child.__engine$_state === C.PersistedSurfaceState_2)
          child.retain$0();
        else if (child instanceof H.PersistedContainerSurface && child._oldLayer.value != null) {
          t2 = child._oldLayer.value;
          t2.toString;
          child.update$1(0, t2);
        } else
          child.build$0(0);
        containerElement.toString;
        t2 = child.rootElement;
        t2.toString;
        containerElement.appendChild(t2);
        child.__engine$_index = i;
      }
    },
    matchForUpdate$1: function(existingSurface) {
      return 1;
    },
    update$1: function(_, 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)
          H.PersistedContainerSurface__discardActiveChildren(oldSurface);
        else
          _this._updateManyToMany$1(oldSurface);
      }
    },
    _updateZeroToMany$1: function(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 === C.PersistedSurfaceState_2)
          newChild.retain$0();
        else if (newChild instanceof H.PersistedContainerSurface && newChild._oldLayer.value != null)
          newChild.update$1(0, newChild._oldLayer.value);
        else
          newChild.build$0(0);
        newChild.__engine$_index = i;
        containerElement.toString;
        t2 = newChild.rootElement;
        t2.toString;
        containerElement.appendChild(t2);
      }
    },
    _updateManyToOne$1: function(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 === C.PersistedSurfaceState_2) {
        t1 = newChild.rootElement.parentElement;
        t2 = _this.get$childContainer();
        if (t1 == null ? t2 != null : t1 !== t2) {
          t1 = _this.get$childContainer();
          t1.toString;
          t2 = newChild.rootElement;
          t2.toString;
          t1.appendChild(t2);
        }
        newChild.retain$0();
        H.PersistedContainerSurface__discardActiveChildren(oldSurface);
        return;
      }
      if (newChild instanceof H.PersistedContainerSurface && newChild._oldLayer.value != null) {
        oldLayer = newChild._oldLayer.value;
        t1 = oldLayer.rootElement.parentElement;
        t2 = _this.get$childContainer();
        if (t1 == null ? t2 != null : t1 !== t2) {
          t1 = _this.get$childContainer();
          t1.toString;
          t2 = oldLayer.rootElement;
          t2.toString;
          t1.appendChild(t2);
        }
        newChild.update$1(0, oldLayer);
        H.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 === C.PersistedSurfaceState_1) {
          rti = newChild instanceof H.Closure ? H.closureFunctionType(newChild) : null;
          t2 = H.createRuntimeType(rti == null ? H.instanceType(newChild) : rti);
          rti = candidate instanceof H.Closure ? H.closureFunctionType(candidate) : null;
          t2 = t2 === H.createRuntimeType(rti == null ? H.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);
        t2 = newChild.rootElement.parentElement;
        t3 = _this.get$childContainer();
        if (t2 == null ? t3 != null : t2 !== t3) {
          t2 = _this.get$childContainer();
          t2.toString;
          t3 = newChild.rootElement;
          t3.toString;
          t2.appendChild(t3);
        }
      } else {
        newChild.build$0(0);
        t2 = _this.get$childContainer();
        t2.toString;
        t3 = newChild.rootElement;
        t3.toString;
        t2.appendChild(t3);
      }
      for (i = 0; i < t1.length; ++i) {
        oldChild = t1[i];
        if (oldChild != bestMatch && oldChild.__engine$_state === C.PersistedSurfaceState_1)
          oldChild.discard$0();
      }
    },
    _updateManyToMany$1: function(oldSurface) {
      var t1, t2, indexMapNew, indexMapOld, requiresDomInserts, topInNew, newChild, t3, 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 === C.PersistedSurfaceState_2) {
          t3 = newChild.rootElement.parentElement;
          isReparenting = t3 == null ? containerElement != null : t3 !== containerElement;
          newChild.retain$0();
          matchedOldChild = newChild;
        } else if (newChild instanceof H.PersistedContainerSurface && newChild._oldLayer.value != null) {
          oldLayer = newChild._oldLayer.value;
          t3 = oldLayer.rootElement.parentElement;
          isReparenting = t3 == null ? containerElement != null : t3 !== containerElement;
          newChild.update$1(0, oldLayer);
          matchedOldChild = oldLayer;
        } else {
          matchedOldChild = matches.$index(0, newChild);
          if (matchedOldChild != null) {
            t3 = matchedOldChild.rootElement.parentElement;
            isReparenting = t3 == null ? containerElement != null : t3 !== containerElement;
            newChild.update$1(0, matchedOldChild);
          } else {
            newChild.build$0(0);
            isReparenting = true;
          }
        }
        indexInOld = matchedOldChild != null && !isReparenting ? matchedOldChild.__engine$_index : -1;
        if (!requiresDomInserts && indexInOld !== topInNew) {
          indexMapNew = H._setArrayType([], t2);
          indexMapOld = H._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);
      }
      H.PersistedContainerSurface__discardActiveChildren(oldSurface);
    },
    _insertChildDomNodes$2: function(indexMapNew, indexMapOld) {
      var t1, i, containerElement, t2, refNode, isStationary, childElement,
        stationaryIndices = H.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, t2 = type$.HtmlElement, refNode = null; i >= 0; --i, refNode = childElement) {
        indexMapNew.toString;
        isStationary = C.JSArray_methods.indexOf$1(indexMapNew, i) !== -1 && C.JSArray_methods.contains$1(stationaryIndices, i);
        childElement = t2._as(t1[i].rootElement);
        if (!isStationary)
          if (refNode == null)
            containerElement.appendChild(childElement);
          else
            containerElement.insertBefore(childElement, refNode);
      }
    },
    _matchChildren$1: function(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 = H._setArrayType([], type$.JSArray_PersistedSurface);
      for (i = 0; i < newUnfilteredChildCount; ++i) {
        child = t1[i];
        if (child.__engine$_state === C.PersistedSurfaceState_0 && child._oldLayer.value == null)
          newChildren.push(child);
      }
      oldChildren = H._setArrayType([], type$.JSArray_nullable_PersistedSurface);
      for (i = 0; i < oldUnfilteredChildCount; ++i) {
        child = t2[i];
        if (child.__engine$_state === C.PersistedSurfaceState_1)
          oldChildren.push(child);
      }
      newChildCount = newChildren.length;
      oldChildCount = oldChildren.length;
      if (newChildCount === 0 || oldChildCount === 0)
        return C.Map_empty0;
      allMatches = H._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 === C.PersistedSurfaceState_1) {
              rti = newChild instanceof H.Closure ? H.closureFunctionType(newChild) : null;
              t1 = H.createRuntimeType(rti == null ? H.instanceType(newChild) : rti);
              rti = oldChild instanceof H.Closure ? H.closureFunctionType(oldChild) : null;
              t1 = t1 === H.createRuntimeType(rti == null ? H.instanceType(oldChild) : rti);
            } else
              t1 = false;
            t1 = !t1;
          } else
            t1 = true;
          if (t1)
            continue;
          allMatches.push(new H._PersistedSurfaceMatch(newChild, indexInOld, newChild.matchForUpdate$1(oldChild)));
        }
      }
      C.JSArray_methods.sort$1(allMatches, new H.PersistedContainerSurface__matchChildren_closure());
      result = P.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: function() {
      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: function() {
      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: function() {
      this.super$PersistedSurface$discard();
      H.PersistedContainerSurface__discardActiveChildren(this);
    }
  };
  H.PersistedContainerSurface__matchChildren_closure.prototype = {
    call$2: function(m1, m2) {
      return C.JSNumber_methods.compareTo$1(m1.matchQuality, m2.matchQuality);
    },
    $signature: 472
  };
  H._PersistedSurfaceMatch.prototype = {
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.PersistedTransform.prototype = {
    recomputeTransformAndClip$0: function() {
      var _this = this;
      _this.__engine$_transform = _this.parent.__engine$_transform.multiplied$1(new H.Matrix40(_this.matrix4));
      _this._projectedClip = _this._localTransformInverse = null;
    },
    get$localTransformInverse: function() {
      var t1 = this._localTransformInverse;
      return t1 == null ? this._localTransformInverse = H.Matrix4_tryInvert0(new H.Matrix40(this.matrix4)) : t1;
    },
    createElement$0: function(_) {
      var element = $.$get$domRenderer().createElement$1(0, "flt-transform");
      H.DomRenderer_setElementStyle(element, "position", "absolute");
      H.DomRenderer_setElementStyle(element, "transform-origin", "0 0 0");
      return element;
    },
    apply$0: function() {
      var t1 = this.rootElement.style,
        t2 = H.float64ListToCssTransform(this.matrix4);
      t1.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), t2, "");
    },
    update$1: function(_, oldSurface) {
      var t1, t2, matrixChanged, i;
      this.super$PersistedContainerSurface$update(0, oldSurface);
      t1 = oldSurface.matrix4;
      t2 = this.matrix4;
      if (t1 == null ? t2 == null : t1 === t2)
        return;
      t2.length;
      i = 0;
      while (true) {
        if (!(i < 16)) {
          matrixChanged = false;
          break;
        }
        if (t2[i] !== t1[i]) {
          matrixChanged = true;
          break;
        }
        ++i;
      }
      if (matrixChanged) {
        t1 = this.rootElement.style;
        t2 = H.float64ListToCssTransform(t2);
        t1.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), t2, "");
      }
    },
    $isTransformEngineLayer0: 1
  };
  H.HtmlCodec.prototype = {
    get$frameCount: function() {
      return 1;
    },
    get$repetitionCount: function() {
      return 0;
    },
    getNextFrame$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.FrameInfo),
        $async$returnValue, $async$self = this, imgElement, t1, completer;
      var $async$getNextFrame$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = new P._Future($.Zone__current, type$._Future_FrameInfo);
              completer = new P._AsyncCompleter(t1, type$._AsyncCompleter_FrameInfo);
              if ($.$get$_supportsDecode()) {
                imgElement = W.ImageElement_ImageElement();
                imgElement.src = $async$self.src;
                imgElement.decoding = "async";
                P.promiseToFuture(imgElement.decode(), type$.dynamic).then$1$1(0, new H.HtmlCodec_getNextFrame_closure($async$self, imgElement, completer), type$.Null).catchError$1(new H.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getNextFrame$0, $async$completer);
    },
    _decodeUsingOnLoad$1: function(completer) {
      var errorSubscription, imgElement, t2, t1 = {};
      t1.loadSubscription = null;
      errorSubscription = H._Cell$named("errorSubscription");
      imgElement = W.ImageElement_ImageElement();
      t2 = type$._ElementEventStreamImpl_legacy_Event._precomputed1;
      errorSubscription.__late_helper$_value = W._EventStreamSubscription$(imgElement, "error", new H.HtmlCodec__decodeUsingOnLoad_closure(t1, errorSubscription, completer), false, t2);
      t1.loadSubscription = W._EventStreamSubscription$(imgElement, "load", new H.HtmlCodec__decodeUsingOnLoad_closure0(t1, this, errorSubscription, imgElement, completer), false, t2);
      imgElement.src = this.src;
    },
    $isCodec: 1
  };
  H.HtmlCodec_getNextFrame_closure.prototype = {
    call$1: function(_) {
      var t2,
        t1 = this.imgElement,
        naturalWidth = t1.naturalWidth,
        naturalHeight = t1.naturalHeight;
      if (naturalWidth === 0)
        if (naturalHeight === 0) {
          t2 = $.$get$_browserEngine();
          if (t2 !== C.BrowserEngine_2)
            t2 = t2 === C.BrowserEngine_4;
          else
            t2 = true;
        } else
          t2 = false;
      else
        t2 = false;
      if (t2) {
        naturalWidth = 300;
        naturalHeight = 300;
      }
      this.completer.complete$1(0, new H.SingleFrameInfo(new H.HtmlImage(t1, naturalWidth, naturalHeight)));
    },
    $signature: 5
  };
  H.HtmlCodec_getNextFrame_closure0.prototype = {
    call$1: function(e) {
      this.$this._decodeUsingOnLoad$1(this.completer);
    },
    $signature: 5
  };
  H.HtmlCodec__decodeUsingOnLoad_closure.prototype = {
    call$1: function($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: 10
  };
  H.HtmlCodec__decodeUsingOnLoad_closure0.prototype = {
    call$1: function($event) {
      var t1, _this = this;
      _this._box_0.loadSubscription.cancel$0(0);
      J.cancel$0$z(_this.errorSubscription._readLocal$0());
      t1 = _this.imgElement;
      _this.completer.complete$1(0, new H.SingleFrameInfo(new H.HtmlImage(t1, t1.naturalWidth, t1.naturalHeight)));
    },
    $signature: 10
  };
  H.HtmlBlobCodec.prototype = {};
  H.SingleFrameInfo.prototype = {
    get$duration: function(_) {
      return C.Duration_0;
    },
    $isFrameInfo: 1,
    get$image: function(receiver) {
      return this.image;
    }
  };
  H.HtmlImage.prototype = {
    dispose$0: function(_) {
    },
    clone$0: function(_) {
      return this;
    },
    isCloneOf$1: function(other) {
      return other === this;
    },
    cloneImageElement$0: function() {
      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: function(_) {
      return "[" + H.S(this.width) + "\xd7" + H.S(this.height) + "]";
    },
    get$width: function(receiver) {
      return this.width;
    },
    get$height: function(receiver) {
      return this.height;
    }
  };
  H.Keyboard.prototype = {
    Keyboard$_$0: function() {
      var _this = this,
        t1 = new H.Keyboard$__closure(_this);
      _this._keydownListener = t1;
      C.Window_methods.addEventListener$2(window, "keydown", t1);
      t1 = new H.Keyboard$__closure0(_this);
      _this._keyupListener = t1;
      C.Window_methods.addEventListener$2(window, "keyup", t1);
      $._hotRestartListeners.push(new H.Keyboard$__closure1(_this));
    },
    dispose$0: function(_) {
      var t1, t2, _this = this;
      C.Window_methods.removeEventListener$2(window, "keydown", _this._keydownListener);
      C.Window_methods.removeEventListener$2(window, "keyup", _this._keyupListener);
      for (t1 = _this._keydownTimers, t2 = t1.get$keys(t1), t2 = t2.get$iterator(t2); t2.moveNext$0();)
        t1.$index(0, t2.get$current(t2)).cancel$0(0);
      t1.clear$0(0);
      $.Keyboard__instance = _this._keyupListener = _this._keydownListener = null;
    },
    _handleHtmlEvent$1: function($event) {
      var t1, t2, t3, metaState, eventData, _this = this;
      if (!type$.KeyboardEvent._is($event))
        return;
      t1 = $event.code;
      t1.toString;
      t2 = $event.key;
      t2.toString;
      if (!(t2 === "Meta" || t2 === "Shift" || t2 === "Alt" || t2 === "Control")) {
        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, P.Timer_Timer(C.Duration_1000000, new H.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") {
        t1 = $event.key;
        if (t1 === "CapsLock") {
          t1 = metaState | 32;
          _this._lastMetaState = t1;
        } else if ($event.code === "NumLock") {
          t1 = metaState | 16;
          _this._lastMetaState = t1;
        } else if (t1 === "ScrollLock") {
          t1 = metaState | 64;
          _this._lastMetaState = t1;
        } else
          t1 = metaState;
      } else
        t1 = metaState;
      eventData = P.LinkedHashMap_LinkedHashMap$_literal(["type", $event.type, "keymap", "web", "code", $event.code, "key", $event.key, "metaState", t1], type$.String, type$.dynamic);
      $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/keyevent", C.C_JSONMessageCodec0.encodeMessage$1(eventData), new H.Keyboard__handleHtmlEvent_closure0($event));
    }
  };
  H.Keyboard$__closure.prototype = {
    call$1: function($event) {
      this.$this._handleHtmlEvent$1($event);
    },
    $signature: 9
  };
  H.Keyboard$__closure0.prototype = {
    call$1: function($event) {
      this.$this._handleHtmlEvent$1($event);
    },
    $signature: 9
  };
  H.Keyboard$__closure1.prototype = {
    call$0: function() {
      this.$this.dispose$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.Keyboard__handleHtmlEvent_closure.prototype = {
    call$0: function() {
      var t2, eventData,
        t1 = this.$this;
      t1._keydownTimers.remove$1(0, this.timerKey);
      t2 = this.event;
      eventData = P.LinkedHashMap_LinkedHashMap$_literal(["type", "keyup", "keymap", "web", "code", t2.code, "key", t2.key, "metaState", t1._lastMetaState], type$.String, type$.dynamic);
      $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/keyevent", C.C_JSONMessageCodec0.encodeMessage$1(eventData), H._engine___noopCallback$closure());
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.Keyboard__handleHtmlEvent_closure0.prototype = {
    call$1: function(data) {
      if (data == null)
        return;
      if (H._asBoolS(J.$index$asx(C.C_JSONMessageCodec0.decodeMessage$1(data), "handled")))
        this.event.preventDefault();
    },
    $signature: 33
  };
  H._kLogicalKeyToModifierGetter_closure.prototype = {
    call$1: function($event) {
      return $event._event.altKey;
    },
    $signature: 42
  };
  H._kLogicalKeyToModifierGetter_closure0.prototype = {
    call$1: function($event) {
      return $event._event.altKey;
    },
    $signature: 42
  };
  H._kLogicalKeyToModifierGetter_closure1.prototype = {
    call$1: function($event) {
      return $event._event.ctrlKey;
    },
    $signature: 42
  };
  H._kLogicalKeyToModifierGetter_closure2.prototype = {
    call$1: function($event) {
      return $event._event.ctrlKey;
    },
    $signature: 42
  };
  H._kLogicalKeyToModifierGetter_closure3.prototype = {
    call$1: function($event) {
      return $event._event.shiftKey;
    },
    $signature: 42
  };
  H._kLogicalKeyToModifierGetter_closure4.prototype = {
    call$1: function($event) {
      return $event._event.shiftKey;
    },
    $signature: 42
  };
  H._kLogicalKeyToModifierGetter_closure5.prototype = {
    call$1: function($event) {
      return $event._event.metaKey;
    },
    $signature: 42
  };
  H._kLogicalKeyToModifierGetter_closure6.prototype = {
    call$1: function($event) {
      return $event._event.metaKey;
    },
    $signature: 42
  };
  H.KeyboardBinding.prototype = {
    get$_converter: function() {
      var t1 = this.__KeyboardBinding__converter;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_converter")) : t1;
    },
    __engine$_addEventListener$2: function(_, eventName, handler) {
      var loggedHandler = new H.KeyboardBinding__addEventListener_closure(handler);
      this.__engine$_listeners.$indexSet(0, eventName, loggedHandler);
      C.Window_methods.addEventListener$3(window, eventName, loggedHandler, true);
    },
    _onKeyData$1: function(data) {
      var t1 = {};
      t1.result = null;
      $.$get$EnginePlatformDispatcher__instance().invokeOnKeyData$2(data, new H.KeyboardBinding__onKeyData_closure(t1));
      t1 = t1.result;
      t1.toString;
      return t1;
    },
    _setup$0: function() {
      var t1, t2, _this = this;
      _this.__engine$_addEventListener$2(0, "keydown", new H.KeyboardBinding__setup_closure(_this));
      _this.__engine$_addEventListener$2(0, "keyup", new H.KeyboardBinding__setup_closure0(_this));
      t1 = $.$get$_operatingSystem();
      t2 = type$.int;
      _this.__KeyboardBinding__converter = new H.KeyboardConverter(_this.get$_onKeyData(), t1 === C.OperatingSystem_4, P.LinkedHashMap_LinkedHashMap$_empty(t2, t2), P.LinkedHashMap_LinkedHashMap$_empty(t2, type$.void_Function));
    }
  };
  H.KeyboardBinding__addEventListener_closure.prototype = {
    call$1: function($event) {
      var t1 = $.EngineSemanticsOwner__instance;
      if ((t1 == null ? $.EngineSemanticsOwner__instance = H.EngineSemanticsOwner$_() : t1).receiveGlobalEvent$1($event))
        return this.handler.call$1($event);
    },
    $signature: 87
  };
  H.KeyboardBinding__onKeyData_closure.prototype = {
    call$1: function(handled) {
      this._box_0.result = false;
    },
    $signature: 11
  };
  H.KeyboardBinding__setup_closure.prototype = {
    call$1: function($event) {
      return this.$this.get$_converter().handleEvent$1(new H.FlutterHtmlKeyboardEvent(type$.KeyboardEvent._as($event)));
    },
    $signature: 10
  };
  H.KeyboardBinding__setup_closure0.prototype = {
    call$1: function($event) {
      return this.$this.get$_converter().handleEvent$1(new H.FlutterHtmlKeyboardEvent(type$.KeyboardEvent._as($event)));
    },
    $signature: 10
  };
  H.FlutterHtmlKeyboardEvent.prototype = {};
  H.KeyboardConverter.prototype = {
    _scheduleAsyncEvent$3: function(duration, getData, callback) {
      var t2, t1 = {};
      t1.canceled = false;
      t2 = type$.void;
      P.Future_Future$delayed(duration, null, t2).then$1$1(0, new H.KeyboardConverter__scheduleAsyncEvent_closure(t1, this, callback, getData), t2);
      return new H.KeyboardConverter__scheduleAsyncEvent_closure0(t1);
    },
    _startGuardingKey$3: function(physicalKey, logicalKey, currentTimeStamp) {
      var t2, _this = this,
        t1 = _this.onMacOs ? C.Duration_2000000 : C.Duration_1000000,
        cancelingCallback = _this._scheduleAsyncEvent$3(t1, new H.KeyboardConverter__startGuardingKey_closure(_this, currentTimeStamp, physicalKey, logicalKey), new H.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: function($event) {
      var ms, timeStamp, t3, physicalKey, logicalKeyIsCharacter, character, logicalKey, isPhysicalDown, lastLogicalRecord, type, nextLogicalRecord, _this = this,
        t1 = $event._event,
        t2 = t1.timeStamp;
      t2.toString;
      ms = C.JSNumber_methods.toInt$0(t2);
      timeStamp = P.Duration$(C.JSNumber_methods.toInt$0((t2 - ms) * 1000), ms);
      t2 = t1.key;
      t2.toString;
      t3 = t1.code;
      t3.toString;
      physicalKey = C.Map_YV6he.$index(0, t3);
      if (physicalKey == null)
        physicalKey = C.JSString_methods.get$hashCode(t3) + 34359738368 + 1099511627776;
      t3 = C.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 H.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;
      t2 = _this._pressingRecords;
      lastLogicalRecord = t2.$index(0, physicalKey);
      if (_this.onMacOs) {
        t3 = t1.code;
        t3.toString;
        t3 = t3 === "CapsLock";
      } else
        t3 = false;
      if (t3) {
        _this._scheduleAsyncEvent$3(C.Duration_0, new H.KeyboardConverter_handleEvent_closure0(timeStamp, physicalKey, logicalKey), new H.KeyboardConverter_handleEvent_closure1(_this, physicalKey));
        type = C.KeyEventType_0;
      } else if (isPhysicalDown)
        if (lastLogicalRecord != null) {
          t3 = t1.repeat;
          if (t3 !== true)
            return;
          type = C.KeyEventType_2;
        } else
          type = C.KeyEventType_0;
      else {
        if (lastLogicalRecord == null)
          return;
        type = C.KeyEventType_1;
      }
      switch (type) {
        case C.KeyEventType_0:
          nextLogicalRecord = logicalKey;
          break;
        case C.KeyEventType_1:
          nextLogicalRecord = null;
          break;
        case C.KeyEventType_2:
          nextLogicalRecord = lastLogicalRecord;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t3 = nextLogicalRecord == null;
      if (t3)
        t2.remove$1(0, physicalKey);
      else
        t2.$indexSet(0, physicalKey, nextLogicalRecord);
      $.$get$_kLogicalKeyToModifierGetter().forEach$1(0, new H.KeyboardConverter_handleEvent_closure2(_this, $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 === C.KeyEventType_1 ? null : character;
      if (_this.dispatchKeyData.call$1(new P.KeyData(type, physicalKey, t2, t3)))
        t1.preventDefault();
    }
  };
  H.KeyboardConverter__scheduleAsyncEvent_closure.prototype = {
    call$1: function(_) {
      var _this = this;
      if (!_this._box_0.canceled && !_this.$this._disposed) {
        _this.callback.call$0();
        _this.$this.dispatchKeyData.call$1(_this.getData.call$0());
      }
    },
    $signature: 23
  };
  H.KeyboardConverter__scheduleAsyncEvent_closure0.prototype = {
    call$0: function() {
      this._box_0.canceled = true;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.KeyboardConverter__startGuardingKey_closure.prototype = {
    call$0: function() {
      return new P.KeyData(C.KeyEventType_1, this.physicalKey, this.logicalKey, null);
    },
    $signature: 260
  };
  H.KeyboardConverter__startGuardingKey_closure0.prototype = {
    call$0: function() {
      this.$this._pressingRecords.remove$1(0, this.physicalKey);
    },
    $signature: 0
  };
  H.KeyboardConverter_handleEvent_closure.prototype = {
    call$0: function() {
      var result, altDown, ctrlDown, shiftDown, metaDown, t3, t4, _this = this,
        t1 = _this.event._event,
        t2 = t1.key;
      t2.toString;
      if (C.Map_T7S7Y.containsKey$1(0, t2)) {
        t2 = t1.key;
        t2.toString;
        t2 = C.Map_T7S7Y.$index(0, t2);
        if (t2 == null)
          result = null;
        else {
          t1 = t1.location;
          t1.toString;
          result = t2[t1];
        }
        result.toString;
        return result;
      }
      t2 = _this.character;
      if (t2 != null) {
        result = C.JSString_methods._codeUnitAt$1(t2, 0) & 65535;
        if (t2.length === 2)
          result += C.JSString_methods._codeUnitAt$1(t2, 1) << 16 >>> 0;
        return result >= 65 && result <= 90 ? result + 97 - 65 : result;
      }
      t2 = _this.eventKey;
      if (t2 === "Dead") {
        altDown = t1.altKey;
        ctrlDown = t1.ctrlKey;
        shiftDown = t1.shiftKey;
        metaDown = t1.metaKey;
        t1 = altDown ? 70368744177664 : 0;
        t2 = ctrlDown ? 17592186044416 : 0;
        t3 = shiftDown ? 35184372088832 : 0;
        t4 = metaDown ? 140737488355328 : 0;
        return _this.physicalKey + (t1 + t2 + t3 + t4) + 34359738368 + 1099511627776;
      }
      t1 = C.Map_mC8xL.$index(0, t2);
      return t1 == null ? J.get$hashCode$(t2) + 34359738368 + 1099511627776 : t1;
    },
    $signature: 116
  };
  H.KeyboardConverter_handleEvent_closure0.prototype = {
    call$0: function() {
      return new P.KeyData(C.KeyEventType_1, this.physicalKey, this.logicalKey, null);
    },
    $signature: 260
  };
  H.KeyboardConverter_handleEvent_closure1.prototype = {
    call$0: function() {
      this.$this._pressingRecords.remove$1(0, this.physicalKey);
    },
    $signature: 0
  };
  H.KeyboardConverter_handleEvent_closure2.prototype = {
    call$2: function(logicalKey, getModifier) {
      var t1 = this.$this,
        t2 = t1._pressingRecords;
      if (t2.containsValue$1(0, logicalKey) && !getModifier.call$1(this.event))
        t2.removeWhere$1(t2, new H.KeyboardConverter_handleEvent__closure(t1, logicalKey, this.timeStamp));
    },
    $signature: 787
  };
  H.KeyboardConverter_handleEvent__closure.prototype = {
    call$2: function(physicalKey, logicalRecord) {
      var t1 = this.logicalKey;
      if (logicalRecord != t1)
        return false;
      this.$this.dispatchKeyData.call$1(new P.KeyData(C.KeyEventType_1, physicalKey, t1, null));
      return true;
    },
    $signature: 794
  };
  H.MouseCursor.prototype = {};
  H.BrowserHistory.prototype = {
    get$_unsubscribe: function() {
      var t1 = this.__BrowserHistory__unsubscribe;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_unsubscribe")) : t1;
    },
    _setupStrategy$1: function(strategy) {
      this.__BrowserHistory__unsubscribe = strategy.addPopStateListener$1(0, type$.dynamic_Function_Event._as(this.get$onPopState(this)));
    },
    exit$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$exit$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = $async$self.get$urlStrategy() != null ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return P._asyncAwait($async$self.tearDown$0(), $async$exit$0);
            case 4:
              // returning from await.
              $async$goto = 5;
              return P._asyncAwait($async$self.get$urlStrategy().go$1(0, -1), $async$exit$0);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$exit$0, $async$completer);
    },
    get$currentPath: function() {
      var t1 = this.get$urlStrategy();
      t1 = t1 == null ? null : t1.getPath$0(0);
      return t1 == null ? "/" : t1;
    },
    get$currentState: function() {
      var t1 = this.get$urlStrategy();
      return t1 == null ? null : t1.getState$0(0);
    },
    _unsubscribe$0: function() {
      return this.get$_unsubscribe().call$0();
    }
  };
  H.MultiEntriesBrowserHistory.prototype = {
    MultiEntriesBrowserHistory$1$urlStrategy: function(urlStrategy) {
      var t1, _this = this,
        strategy = _this.urlStrategy;
      if (strategy == null)
        return;
      _this._setupStrategy$1(strategy);
      if (!_this._hasSerialCount$1(_this.get$currentState())) {
        t1 = type$.dynamic;
        strategy.replaceState$3(0, P.LinkedHashMap_LinkedHashMap$_literal(["serialCount", 0, "state", _this.get$currentState()], t1, t1), "flutter", _this.get$currentPath());
      }
      _this.__MultiEntriesBrowserHistory__lastSeenSerialCount = _this.get$_currentSerialCount();
    },
    get$_lastSeenSerialCount: function() {
      var t1 = this.__MultiEntriesBrowserHistory__lastSeenSerialCount;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_lastSeenSerialCount")) : t1;
    },
    get$_currentSerialCount: function() {
      if (this._hasSerialCount$1(this.get$currentState()))
        return H._asIntS(J.$index$asx(type$.Map_dynamic_dynamic._as(this.get$currentState()), "serialCount"));
      return 0;
    },
    _hasSerialCount$1: function(state) {
      return type$.Map_dynamic_dynamic._is(state) && J.$index$asx(state, "serialCount") != null;
    },
    setRouteName$3$replace$state: function(routeName, replace, state) {
      var t2, _this = this,
        t1 = _this.urlStrategy;
      if (t1 != null) {
        t2 = type$.dynamic;
        if (replace) {
          t2 = P.LinkedHashMap_LinkedHashMap$_literal(["serialCount", _this.get$_lastSeenSerialCount(), "state", state], t2, t2);
          routeName.toString;
          t1.replaceState$3(0, t2, "flutter", routeName);
        } else {
          _this.__MultiEntriesBrowserHistory__lastSeenSerialCount = _this.get$_lastSeenSerialCount() + 1;
          t2 = P.LinkedHashMap_LinkedHashMap$_literal(["serialCount", _this.get$_lastSeenSerialCount(), "state", state], t2, t2);
          routeName.toString;
          t1.pushState$3(0, t2, "flutter", routeName);
        }
      }
    },
    setRouteName$1: function(routeName) {
      return this.setRouteName$3$replace$state(routeName, false, null);
    },
    onPopState$1: function(_, $event) {
      var t1, t2, t3, t4, _this = this;
      if (!_this._hasSerialCount$1(new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.state, true))) {
        t1 = _this.urlStrategy;
        t1.toString;
        t2 = new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.state, true);
        t3 = type$.dynamic;
        t1.replaceState$3(0, P.LinkedHashMap_LinkedHashMap$_literal(["serialCount", _this.get$_lastSeenSerialCount() + 1, "state", t2], t3, t3), "flutter", _this.get$currentPath());
      }
      _this.__MultiEntriesBrowserHistory__lastSeenSerialCount = _this.get$_currentSerialCount();
      t1 = $.$get$EnginePlatformDispatcher__instance();
      t2 = _this.get$currentPath();
      t3 = new P._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", C.C_JSONMethodCodec.encodeMethodCall$1(new H.MethodCall0("pushRouteInformation", P.LinkedHashMap_LinkedHashMap$_literal(["location", t2, "state", t3], t4, t4))), new H.MultiEntriesBrowserHistory_onPopState_closure());
    },
    tearDown$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, backCount, stateMap, t1;
      var $async$tearDown$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._isDisposed || $async$self.urlStrategy == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._isDisposed = true;
              $async$self._unsubscribe$0();
              backCount = $async$self.get$_currentSerialCount();
              $async$goto = backCount > 0 ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return P._asyncAwait($async$self.urlStrategy.go$1(0, -backCount), $async$tearDown$0);
            case 5:
              // returning from await.
            case 4:
              // join
              stateMap = type$.Map_dynamic_dynamic._as($async$self.get$currentState());
              t1 = $async$self.urlStrategy;
              t1.toString;
              t1.replaceState$3(0, J.$index$asx(stateMap, "state"), "flutter", $async$self.get$currentPath());
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$tearDown$0, $async$completer);
    },
    get$urlStrategy: function() {
      return this.urlStrategy;
    }
  };
  H.MultiEntriesBrowserHistory_onPopState_closure.prototype = {
    call$1: function(_) {
    },
    $signature: 33
  };
  H.SingleEntryBrowserHistory.prototype = {
    SingleEntryBrowserHistory$1$urlStrategy: function(urlStrategy) {
      var path, _this = this,
        strategy = _this.urlStrategy;
      if (strategy == null)
        return;
      _this._setupStrategy$1(strategy);
      path = _this.get$currentPath();
      if (!_this._isFlutterEntry$1(new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(window.history.state, true))) {
        strategy.replaceState$3(0, P.LinkedHashMap_LinkedHashMap$_literal(["origin", true, "state", _this.get$currentState()], type$.String, type$.dynamic), "origin", "");
        _this._setupFlutterEntry$3$path$replace(strategy, path, false);
      }
    },
    _isFlutterEntry$1: function(state) {
      return type$.Map_dynamic_dynamic._is(state) && J.$eq$(J.$index$asx(state, "flutter"), true);
    },
    setRouteName$3$replace$state: function(routeName, replace, state) {
      var t1 = this.urlStrategy;
      if (t1 != null)
        this._setupFlutterEntry$3$path$replace(t1, routeName, true);
    },
    setRouteName$1: function(routeName) {
      return this.setRouteName$3$replace$state(routeName, false, null);
    },
    onPopState$1: function(_, $event) {
      var _this = this,
        _s18_ = "flutter/navigation",
        t1 = new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.state, true);
      if (type$.Map_dynamic_dynamic._is(t1) && J.$eq$(J.$index$asx(t1, "origin"), true)) {
        t1 = _this.urlStrategy;
        t1.toString;
        _this._setupFlutterEntry$1(t1);
        $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3(_s18_, C.C_JSONMethodCodec.encodeMethodCall$1(C.MethodCall_popRoute_null), new H.SingleEntryBrowserHistory_onPopState_closure());
      } else if (_this._isFlutterEntry$1(new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.state, true))) {
        t1 = _this._userProvidedRouteName;
        t1.toString;
        _this._userProvidedRouteName = null;
        $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3(_s18_, C.C_JSONMethodCodec.encodeMethodCall$1(new H.MethodCall0("pushRoute", t1)), new H.SingleEntryBrowserHistory_onPopState_closure0());
      } else {
        _this._userProvidedRouteName = _this.get$currentPath();
        _this.urlStrategy.go$1(0, -1);
      }
    },
    _setupFlutterEntry$3$path$replace: function(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: function(strategy) {
      return this._setupFlutterEntry$3$path$replace(strategy, null, false);
    },
    tearDown$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1;
      var $async$tearDown$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._isDisposed || $async$self.urlStrategy == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._isDisposed = true;
              $async$self._unsubscribe$0();
              t1 = $async$self.urlStrategy;
              $async$goto = 3;
              return P._asyncAwait(t1.go$1(0, -1), $async$tearDown$0);
            case 3:
              // returning from await.
              t1.replaceState$3(0, J.$index$asx(type$.Map_dynamic_dynamic._as($async$self.get$currentState()), "state"), "flutter", $async$self.get$currentPath());
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$tearDown$0, $async$completer);
    },
    get$urlStrategy: function() {
      return this.urlStrategy;
    }
  };
  H.SingleEntryBrowserHistory_onPopState_closure.prototype = {
    call$1: function(_) {
    },
    $signature: 33
  };
  H.SingleEntryBrowserHistory_onPopState_closure0.prototype = {
    call$1: function(_) {
    },
    $signature: 33
  };
  H.JsUrlStrategy.prototype = {};
  H.UrlStrategy.prototype = {};
  H.HashUrlStrategy.prototype = {
    addPopStateListener$1: function(_, fn) {
      C.Window_methods.addEventListener$2(window, "popstate", fn);
      return new H.HashUrlStrategy_addPopStateListener_closure(this, fn);
    },
    getPath$0: function(_) {
      var path = window.location.hash;
      if (path == null)
        path = "";
      if (path.length === 0 || path === "#")
        return "/";
      return C.JSString_methods.substring$1(path, 1);
    },
    getState$0: function(_) {
      return new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(window.history.state, true);
    },
    prepareExternalUrl$1: function(_, 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: function(_, state, title, url) {
      var t1 = this.prepareExternalUrl$1(0, url),
        t2 = window.history;
      t2.toString;
      t2.pushState(new P._StructuredCloneDart2Js([], []).walk$1(state), title, t1);
    },
    replaceState$3: function(_, state, title, url) {
      var t1 = this.prepareExternalUrl$1(0, url),
        t2 = window.history;
      t2.toString;
      t2.replaceState(new P._StructuredCloneDart2Js([], []).walk$1(state), title, t1);
    },
    go$1: function(_, count) {
      window.history.go(count);
      return this._waitForPopState$0();
    },
    _waitForPopState$0: function() {
      var t1 = new P._Future($.Zone__current, type$._Future_void),
        unsubscribe = H._Cell$named("unsubscribe");
      unsubscribe.__late_helper$_value = this.addPopStateListener$1(0, new H.HashUrlStrategy__waitForPopState_closure(unsubscribe, new P._AsyncCompleter(t1, type$._AsyncCompleter_void)));
      return t1;
    }
  };
  H.HashUrlStrategy_addPopStateListener_closure.prototype = {
    call$0: function() {
      C.Window_methods.removeEventListener$2(window, "popstate", this.fn);
      return null;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.HashUrlStrategy__waitForPopState_closure.prototype = {
    call$1: function(_) {
      this.unsubscribe._readLocal$0().call$0();
      this.completer.complete$0(0);
    },
    $signature: 9
  };
  H.CustomUrlStrategy.prototype = {
    addPopStateListener$1: function(_, fn) {
      return J.addPopStateListener$1$x(this.delegate, fn);
    },
    getPath$0: function(_) {
      return J.getPath$0$x(this.delegate);
    },
    getState$0: function(_) {
      return J.getState$0$x(this.delegate);
    },
    pushState$3: function(_, state, title, url) {
      return J.pushState$3$x(this.delegate, state, title, url);
    },
    replaceState$3: function(_, state, title, url) {
      return J.replaceState$3$x(this.delegate, state, title, url);
    },
    go$1: function(_, count) {
      return J.go$1$x(this.delegate, count);
    }
  };
  H.PlatformLocation.prototype = {};
  H.BrowserPlatformLocation.prototype = {};
  H.EnginePictureRecorder.prototype = {
    get$cullRect: function() {
      var t1 = this.__EnginePictureRecorder_cullRect;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("cullRect")) : t1;
    },
    beginRecording$1: function(_, bounds) {
      var t1, t2, _this = this;
      _this.__EnginePictureRecorder_cullRect = bounds;
      _this._isRecording = true;
      t1 = _this.get$cullRect();
      t2 = H._setArrayType([], type$.JSArray_PaintCommand);
      if (t1 == null)
        t1 = C.Rect_aha;
      return _this.__engine$_canvas = new H.RecordingCanvas(new H._PaintBounds(t1, H._setArrayType([], type$.JSArray_Matrix4), H._setArrayType([], type$.JSArray_nullable_Rect), H.Matrix4$identity()), t2, new H.RenderStrategy());
    },
    get$isRecording: function() {
      return this._isRecording;
    },
    endRecording$0: function() {
      var t1, _this = this;
      if (!_this._isRecording)
        _this.beginRecording$1(0, C.Rect_aha);
      _this._isRecording = false;
      t1 = _this.__engine$_canvas;
      t1._pictureBounds = t1._paintBounds.computeBounds$0();
      t1._recordingEnded = true;
      t1 = _this.__engine$_canvas;
      _this.get$cullRect();
      return new H.EnginePicture(t1);
    }
  };
  H.EnginePicture.prototype = {};
  H.EnginePlatformDispatcher.prototype = {
    invokeOnMetricsChanged$0: function() {
      var t1 = this._onMetricsChanged;
      if (t1 != null)
        H.invoke(t1, this._onMetricsChangedZone);
    },
    invokeOnKeyData$2: function(data, callback) {
      callback.call$1(false);
    },
    invokeOnPlatformMessage$3: function($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();
          data.toString;
          t1.toString;
          bytes = H.NativeUint8List_NativeUint8List$view(data.buffer, data.byteOffset, data.byteLength);
          if (bytes[0] === 7) {
            methodNameLength = bytes[1];
            if (methodNameLength >= 254)
              H.throwExpression(P.Exception_Exception("Unrecognized message sent to dev.flutter/channel-buffers (method name too long)"));
            t2 = 2 + methodNameLength;
            methodName = C.Utf8Codec_false.decode$1(0, C.NativeUint8List_methods.sublist$2(bytes, 2, t2));
            switch (methodName) {
              case "resize":
                if (bytes[t2] !== 12)
                  H.throwExpression(P.Exception_Exception(_s143_));
                index = t2 + 1;
                if (bytes[index] < 2)
                  H.throwExpression(P.Exception_Exception(_s143_));
                ++index;
                if (bytes[index] !== 7)
                  H.throwExpression(P.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)
                  H.throwExpression(P.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 = C.Utf8Codec_false.decode$1(0, C.NativeUint8List_methods.sublist$2(bytes, index, t2));
                if (bytes[t2] !== 3)
                  H.throwExpression(P.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, C.C_Endian === $.$get$Endian_host()));
                break;
              case "overflow":
                if (bytes[t2] !== 12)
                  H.throwExpression(P.Exception_Exception(_s143_0));
                index = t2 + 1;
                if (bytes[index] < 2)
                  H.throwExpression(P.Exception_Exception(_s143_0));
                ++index;
                if (bytes[index] !== 7)
                  H.throwExpression(P.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)
                  H.throwExpression(P.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;
                C.Utf8Codec_false.decode$1(0, C.NativeUint8List_methods.sublist$2(bytes, index, t1));
                t1 = bytes[t1];
                if (t1 !== 1 && t1 !== 2)
                  H.throwExpression(P.Exception_Exception("Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (second argument must be a boolean)"));
                break;
              default:
                H.throwExpression(P.Exception_Exception("Unrecognized method '" + methodName + "' sent to dev.flutter/channel-buffers"));
            }
          } else {
            parts = H._setArrayType(C.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], P.int_parse(parts[2], null));
            else
              H.throwExpression(P.Exception_Exception("Unrecognized message " + H.S(parts) + " sent to dev.flutter/channel-buffers."));
          }
        } finally {
          callback.call$1(null);
        }
      else
        $.$get$channelBuffers().push$3($name, data, callback);
    },
    _sendPlatformMessage$3: function($name, data, callback) {
      var decoded, t1, cacheSizeInBytes, url, t2, $navigator, $arguments, t3, theme, e, codec, _this = this;
      switch ($name) {
        case "flutter/skia":
          decoded = C.C_JSONMethodCodec.decodeMethodCall$1(data);
          switch (decoded.method) {
            case "Skia.setResourceCacheMaxBytes":
              t1 = H._detectRenderer();
              if (t1) {
                cacheSizeInBytes = H._asIntS(decoded.$arguments);
                t1 = _this.get$rasterizer().surface;
                t1._skiaCacheBytes = cacheSizeInBytes;
                t1._syncCacheBytes$0();
              }
              _this._replyToPlatformMessage$2(callback, C.C_JSONMessageCodec0.encodeMessage$1([H._setArrayType([true], type$.JSArray_bool)]));
              break;
          }
          return;
        case "flutter/assets":
          url = C.Utf8Codec_false.decode$1(0, H.NativeUint8List_NativeUint8List$view(data.buffer, 0, null));
          $._assetManager.load$1(0, url).then$1$2$onError(0, new H.EnginePlatformDispatcher__sendPlatformMessage_closure(_this, callback), new H.EnginePlatformDispatcher__sendPlatformMessage_closure0(_this, callback), type$.Null);
          return;
        case "flutter/platform":
          decoded = C.C_JSONMethodCodec.decodeMethodCall$1(data);
          switch (decoded.method) {
            case "SystemNavigator.pop":
              _this._windows.$index(0, 0).get$browserHistory().exit$0().then$1$1(0, new H.EnginePlatformDispatcher__sendPlatformMessage_closure1(_this, callback), type$.Null);
              return;
            case "HapticFeedback.vibrate":
              t1 = $.$get$domRenderer();
              t2 = _this._getHapticFeedbackDuration$1(decoded.$arguments);
              t1.toString;
              $navigator = window.navigator;
              if ("vibrate" in $navigator)
                $navigator.vibrate.apply($navigator, H._setArrayType([t2], type$.JSArray_num));
              _this._replyToPlatformMessage$2(callback, C.C_JSONMessageCodec0.encodeMessage$1([true]));
              return;
            case string$.System:
              $arguments = decoded.$arguments;
              t1 = $.$get$domRenderer();
              t2 = J.getInterceptor$asx($arguments);
              t3 = t2.$index($arguments, "label");
              t1.toString;
              t1 = document;
              t1.title = t3;
              t2 = t2.$index($arguments, "primaryColor");
              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 = H.colorToCssString(new P.Color(t2 >>> 0));
              t1.toString;
              theme.content = t1;
              _this._replyToPlatformMessage$2(callback, C.C_JSONMessageCodec0.encodeMessage$1([true]));
              return;
            case "SystemChrome.setPreferredOrientations":
              $.$get$domRenderer().setPreferredOrientation$1(decoded.$arguments).then$1$1(0, new H.EnginePlatformDispatcher__sendPlatformMessage_closure2(_this, callback), type$.Null);
              return;
            case "SystemSound.play":
              _this._replyToPlatformMessage$2(callback, C.C_JSONMessageCodec0.encodeMessage$1([true]));
              return;
            case "Clipboard.setData":
              t1 = window.navigator.clipboard != null ? new H.ClipboardAPICopyStrategy() : new H.ExecCommandCopyStrategy();
              new H.ClipboardMessageHandler(t1, H.PasteFromClipboardStrategy_PasteFromClipboardStrategy()).setDataMethodCall$2(decoded, callback);
              return;
            case "Clipboard.getData":
              t1 = window.navigator.clipboard != null ? new H.ClipboardAPICopyStrategy() : new H.ExecCommandCopyStrategy();
              new H.ClipboardMessageHandler(t1, H.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 = C.C_StandardMethodCodec.decodeMethodCall$1(data);
          switch (decoded.method) {
            case "activateSystemCursor":
              $.MouseCursor__instance.toString;
              t1 = J.$index$asx(decoded.$arguments, "kind");
              t2 = $.$get$domRenderer()._glassPaneElement;
              t2.toString;
              t1 = C.Map_gFKQ1.$index(0, t1);
              H.DomRenderer_setElementStyle(t2, "cursor", t1 == null ? "default" : t1);
              break;
          }
          return;
        case "flutter/web_test_e2e":
          _this._replyToPlatformMessage$2(callback, C.C_JSONMessageCodec0.encodeMessage$1([H._handleWebTestEnd2EndMessage(C.C_JSONMethodCodec, data)]));
          return;
        case "flutter/platform_views":
          t1 = _this._platformViewMessageHandler;
          if (t1 == null)
            t1 = _this._platformViewMessageHandler = new H.PlatformViewMessageHandler(new H.StandardMethodCodec(), $.$get$platformViewManager(), new H.EnginePlatformDispatcher__sendPlatformMessage_closure3());
          callback.toString;
          t1.handlePlatformViewCall$2(data, callback);
          return;
        case "flutter/accessibility":
          codec = new H.StandardMessageCodec();
          $.$get$accessibilityAnnouncements().handleMessage$2(codec, data);
          _this._replyToPlatformMessage$2(callback, codec.encodeMessage$1(true));
          return;
        case "flutter/navigation":
          _this._windows.$index(0, 0).handleNavigationMessage$1(data).then$1$1(0, new H.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: function(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: function() {
      var t1 = $.scheduleFrameCallback;
      if (t1 == null)
        throw H.wrapException(P.Exception_Exception("scheduleFrameCallback must be initialized first."));
      t1.call$0();
    },
    render$2: function(scene, view) {
      var t1 = H._detectRenderer();
      if (t1) {
        H._frameTimingsOnBuildFinish();
        H._frameTimingsOnRasterStart();
        type$.LayerScene._as(scene);
        t1 = this.get$rasterizer();
        t1.toString;
        t1.draw$1(scene.layerTree);
      } else {
        type$.SurfaceScene._as(scene);
        $.$get$domRenderer().renderScene$1(scene.webOnlyRootElement);
      }
      H._frameTimingsOnRasterFinish();
    },
    _updatePlatformBrightness$1: function(value) {
      var _this = this,
        t1 = _this._configuration;
      if (t1.platformBrightness !== value) {
        _this._configuration = t1.copyWith$1$platformBrightness(value);
        H.invoke(null, null);
        H.invoke(_this._onPlatformBrightnessChanged, _this._onPlatformBrightnessChangedZone);
      }
    },
    _addBrightnessMediaQueryListener$0: function() {
      var t2, _this = this,
        t1 = _this._brightnessMediaQuery;
      _this._updatePlatformBrightness$1(t1.matches ? C.Brightness_0 : C.Brightness_1);
      t2 = new H.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure(_this);
      _this._brightnessMediaQueryListener = t2;
      C.MediaQueryList_methods.addListener$1(t1, t2);
      $._hotRestartListeners.push(new H.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure0(_this));
    },
    get$defaultRouteName: function() {
      var t1 = this._defaultRouteName;
      return t1 == null ? this._defaultRouteName = this._windows.$index(0, 0).get$browserHistory().get$currentPath() : t1;
    },
    get$rasterizer: function() {
      var t2, t3, t4,
        t1 = this.__EnginePlatformDispatcher_rasterizer;
      if (t1 === $) {
        t1 = H._detectRenderer();
        if (t1) {
          t1 = type$.int;
          t2 = type$.JSArray_int;
          t3 = H._setArrayType([], t2);
          t2 = H._setArrayType([], t2);
          t4 = $.$get$window().get$physicalSize();
          t1 = new H.Rasterizer(new H.Surface(W._ElementFactoryProvider_createElement_tag("flt-canvas-container", null), new H.HtmlViewEmbedder(P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.CkPictureRecorder), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.EmbeddedViewParams), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.ViewClipChain), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Surface), P.LinkedHashSet_LinkedHashSet$_empty(t1), t3, t2, t4, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Set_String))), new H.CompositorContext(), H._setArrayType([], type$.JSArray_of_void_Function));
        } else
          t1 = null;
        t1 = this.__EnginePlatformDispatcher_rasterizer = t1;
      }
      return t1;
    },
    _replyToPlatformMessage$2: function(callback, data) {
      P.Future_Future$delayed(C.Duration_0, null, type$.void).then$1$1(0, new H.EnginePlatformDispatcher__replyToPlatformMessage_closure(callback, data), type$.Null);
    }
  };
  H.EnginePlatformDispatcher__zonedPlatformMessageResponseCallback_closure.prototype = {
    call$1: function(data) {
      this.registrationZone.runUnaryGuarded$1$2(this.callback, data, type$.nullable_ByteData);
    },
    $signature: 33
  };
  H.EnginePlatformDispatcher__sendPlatformMessage_closure.prototype = {
    call$1: function(assetData) {
      this.$this._replyToPlatformMessage$2(this.callback, assetData);
    },
    $signature: 935
  };
  H.EnginePlatformDispatcher__sendPlatformMessage_closure0.prototype = {
    call$1: function(error) {
      $.$get$printWarning().call$1("Error while trying to load an asset: " + H.S(error));
      this.$this._replyToPlatformMessage$2(this.callback, null);
    },
    $signature: 5
  };
  H.EnginePlatformDispatcher__sendPlatformMessage_closure1.prototype = {
    call$1: function(_) {
      this.$this._replyToPlatformMessage$2(this.callback, C.C_JSONMessageCodec0.encodeMessage$1([true]));
    },
    $signature: 23
  };
  H.EnginePlatformDispatcher__sendPlatformMessage_closure2.prototype = {
    call$1: function(success) {
      this.$this._replyToPlatformMessage$2(this.callback, C.C_JSONMessageCodec0.encodeMessage$1([success]));
    },
    $signature: 114
  };
  H.EnginePlatformDispatcher__sendPlatformMessage_closure3.prototype = {
    call$1: function($content) {
      $.$get$domRenderer()._glassPaneElement.appendChild($content);
    },
    $signature: 939
  };
  H.EnginePlatformDispatcher__sendPlatformMessage_closure4.prototype = {
    call$1: function(handled) {
      var t1 = this.callback;
      if (handled)
        this.$this._replyToPlatformMessage$2(t1, C.C_JSONMessageCodec0.encodeMessage$1([true]));
      else if (t1 != null)
        t1.call$1(null);
    },
    $signature: 114
  };
  H.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure.prototype = {
    call$1: function($event) {
      var t1 = type$.MediaQueryListEvent._as($event).matches;
      t1.toString;
      t1 = t1 ? C.Brightness_0 : C.Brightness_1;
      this.$this._updatePlatformBrightness$1(t1);
    },
    $signature: 9
  };
  H.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._brightnessMediaQuery;
      (t2 && C.MediaQueryList_methods).removeListener$1(t2, t1._brightnessMediaQueryListener);
      t1._brightnessMediaQueryListener = null;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.EnginePlatformDispatcher__replyToPlatformMessage_closure.prototype = {
    call$1: function(_) {
      var t1 = this.callback;
      if (t1 != null)
        t1.call$1(this.data);
    },
    $signature: 23
  };
  H.invoke2_closure.prototype = {
    call$0: function() {
      this.callback.call$2(this.arg1, this.arg2);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.invoke3_closure.prototype = {
    call$0: function() {
      var _this = this;
      _this.callback.call$3(_this.arg1, _this.arg2, _this.arg3);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.PlatformViewManager.prototype = {
    registerFactory$2: function(viewType, factoryFunction) {
      var t1 = this._factories;
      if (t1.containsKey$1(0, viewType))
        return false;
      t1.$indexSet(0, viewType, factoryFunction);
      return true;
    },
    renderContent$3: function(viewType, viewId, params) {
      return this.__engine$_contents.putIfAbsent$2(0, viewId, new H.PlatformViewManager_renderContent_closure(this, "flt-pv-slot-" + H.S(viewId), viewType, viewId, params));
    }
  };
  H.PlatformViewManager_renderContent_closure.prototype = {
    call$0: function() {
      var t1, t2, $content, t3, _this = this,
        wrapper = document.createElement("flt-platform-view");
      wrapper.setAttribute("slot", _this.slotName);
      t1 = _this.viewType;
      t2 = _this.$this._factories.$index(0, t1);
      t2.toString;
      $content = H._Cell$named("content");
      t3 = _this.viewId;
      if (type$.Element_Function_int_$named_params_nullable_Object._is(t2))
        $content.__late_helper$_value = t2.call$2$params(t3, _this.params);
      else
        $content.__late_helper$_value = t2.call$1(t3);
      t2 = $content._readLocal$0();
      if (t2.style.height.length === 0) {
        $.$get$printWarning().call$1("Height of Platform View type: [" + H.S(t1) + "] may not be set. Defaulting to `height: 100%`.\nSet `style.height` to any appropriate value to stop this message.");
        t3 = t2.style;
        t3.height = "100%";
      }
      if (t2.style.width.length === 0) {
        $.$get$printWarning().call$1("Width of Platform View type: [" + H.S(t1) + "] may not be set. Defaulting to `width: 100%`.\nSet `style.width` to any appropriate value to stop this message.");
        t1 = t2.style;
        t1.width = "100%";
      }
      wrapper.appendChild($content._readLocal$0());
      return wrapper;
    },
    $signature: 942
  };
  H.PlatformViewMessageHandler.prototype = {
    _createPlatformView$2: function(methodCall, callback) {
      var _this = this,
        args = methodCall.$arguments,
        t1 = J.getInterceptor$asx(args),
        viewId = t1.$index(args, "id"),
        viewType = t1.$index(args, "viewType");
      t1 = _this._contentManager;
      if (!t1._factories.containsKey$1(0, viewType)) {
        callback.call$1(_this._codec.encodeErrorEnvelope$3$code$details$message("unregistered_view_type", "unregistered view type: " + H.S(viewType), "trying to create a view with an unregistered type"));
        return;
      }
      if (t1.__engine$_contents.containsKey$1(0, viewId)) {
        callback.call$1(_this._codec.encodeErrorEnvelope$3$code$details$message("recreating_view", "view id: " + H.S(viewId), "trying to create an already created view"));
        return;
      }
      _this._contentHandler.call$1(t1.renderContent$3(viewType, viewId, args));
      callback.call$1(_this._codec.encodeSuccessEnvelope$1(null));
    },
    handlePlatformViewCall$2: function(data, callback) {
      var t2,
        t1 = this._codec,
        decoded = t1.decodeMethodCall$1(data);
      switch (decoded.method) {
        case "create":
          this._createPlatformView$2(decoded, callback);
          return;
        case "dispose":
          t2 = this._contentManager.__engine$_contents.remove$1(0, decoded.$arguments);
          if (t2 != null)
            J.remove$0$ax(t2);
          callback.call$1(t1.encodeSuccessEnvelope$1(null));
          return;
      }
      callback.call$1(null);
    }
  };
  H.PointerBinding.prototype = {
    _createAdapter$0: function() {
      var t1, _this = this;
      if ("PointerEvent" in window) {
        t1 = new H._PointerAdapter(P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$._ButtonSanitizer), _this.glassPaneElement, _this.get$_onPointerData(), _this._pointerDataConverter);
        t1.setup$0();
        return t1;
      }
      if ("TouchEvent" in window) {
        t1 = new H._TouchAdapter(P.LinkedHashSet_LinkedHashSet$_empty(type$.int), _this.glassPaneElement, _this.get$_onPointerData(), _this._pointerDataConverter);
        t1.setup$0();
        return t1;
      }
      if ("MouseEvent" in window) {
        t1 = new H._MouseAdapter(new H._ButtonSanitizer(), _this.glassPaneElement, _this.get$_onPointerData(), _this._pointerDataConverter);
        t1.setup$0();
        return t1;
      }
      throw H.wrapException(P.UnsupportedError$("This browser does not support pointer, touch, or mouse events."));
    },
    _onPointerData$1: function(data) {
      var t1 = H._setArrayType(data.slice(0), H._arrayInstanceType(data)),
        t2 = $.$get$EnginePlatformDispatcher__instance();
      H.invoke1(t2._onPointerDataPacket, t2._onPointerDataPacketZone, new P.PointerDataPacket(t1), type$.PointerDataPacket);
    }
  };
  H.PointerSupportDetector.prototype = {
    toString$0: function(_) {
      return "pointers:" + ("PointerEvent" in window) + ", touch:" + ("TouchEvent" in window) + ", mouse:" + ("MouseEvent" in window);
    }
  };
  H._BaseAdapter.prototype = {
    addEventListener$3$acceptOutsideGlasspane: function(_, eventName, handler, acceptOutsideGlasspane) {
      var loggedHandler = new H._BaseAdapter_addEventListener_closure(this, acceptOutsideGlasspane, handler);
      $._BaseAdapter__listeners.$indexSet(0, eventName, loggedHandler);
      C.Window_methods.addEventListener$3(window, eventName, loggedHandler, true);
    },
    addEventListener$2: function($receiver, eventName, handler) {
      return this.addEventListener$3$acceptOutsideGlasspane($receiver, eventName, handler, false);
    }
  };
  H._BaseAdapter_addEventListener_closure.prototype = {
    call$1: function($event) {
      var t1;
      if (!this.acceptOutsideGlasspane && !this.$this.glassPaneElement.contains(type$.nullable_Node._as(J.get$target$x($event))))
        return;
      t1 = $.EngineSemanticsOwner__instance;
      if ((t1 == null ? $.EngineSemanticsOwner__instance = H.EngineSemanticsOwner$_() : t1).receiveGlobalEvent$1($event))
        this.handler.call$1($event);
    },
    $signature: 9
  };
  H._WheelEventListenerMixin.prototype = {
    _addWheelEventListener$1: function(handler) {
      var t1, eventOptions = {},
        jsHandler = P.allowInterop(new H._WheelEventListenerMixin__addWheelEventListener_closure(handler));
      $._BaseAdapter__nativeListeners.$indexSet(0, "wheel", jsHandler);
      eventOptions.passive = false;
      t1 = this.glassPaneElement;
      t1.addEventListener.apply(t1, ["wheel", jsHandler, eventOptions]);
    },
    _handleWheelEvent$1: function(e) {
      var deltaX, deltaY, t1, probe, t2, fontSize, res, data, t3, t4, t5, t6;
      type$.WheelEvent._as(e);
      deltaX = (e && C.WheelEvent_methods).get$deltaX(e);
      deltaY = C.WheelEvent_methods.get$deltaY(e);
      switch (C.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 = window.getComputedStyle(probe, "").fontSize;
            if (C.JSString_methods.contains$1(fontSize, "px"))
              res = H.Primitives_parseDouble(H.stringReplaceAllUnchecked(fontSize, "px", ""));
            else
              res = null;
            C.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 = H._setArrayType([], type$.JSArray_PointerData);
      t1 = e.timeStamp;
      t1.toString;
      t1 = H._BaseAdapter__eventTimeStampToDuration(t1);
      t2 = e.clientX;
      e.clientY;
      t2.toString;
      t3 = $.$get$window();
      t4 = t3._debugDevicePixelRatio;
      if (t4 == null)
        t4 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      e.clientX;
      t5 = e.clientY;
      t5.toString;
      t3 = t3._debugDevicePixelRatio;
      if (t3 == null)
        t3 = H.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, C.PointerChange_3, -1, C.PointerDeviceKind_1, t2 * t4, t5 * t3, 1, 1, 0, deltaX, deltaY, C.PointerSignalKind_1, t1);
      this.__engine$_callback.call$1(data);
      if (e.getModifierState("Control")) {
        t1 = $.$get$_operatingSystem();
        if (t1 !== C.OperatingSystem_4)
          t1 = t1 !== C.OperatingSystem_0;
        else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        return;
      e.preventDefault();
    }
  };
  H._WheelEventListenerMixin__addWheelEventListener_closure.prototype = {
    call$1: function($event) {
      return this.handler.call$1($event);
    },
    $signature: 87
  };
  H._SanitizedDetails.prototype = {
    toString$0: function(_) {
      return H.getRuntimeType(this).toString$0(0) + "(change: " + this.change.toString$0(0) + ", buttons: " + this.buttons + ")";
    }
  };
  H._ButtonSanitizer.prototype = {
    sanitizeDownEvent$2$button$buttons: function(button, buttons) {
      var t1;
      if (this._pressedButtons !== 0)
        return this.sanitizeMoveEvent$1$buttons(buttons);
      t1 = (buttons === 0 && button > -1 ? H.convertButtonToButtons(button) : buttons) & 1073741823;
      this._pressedButtons = t1;
      return new H._SanitizedDetails(C.PointerChange_4, t1);
    },
    sanitizeMoveEvent$1$buttons: function(buttons) {
      var newPressedButtons = buttons & 1073741823,
        t1 = this._pressedButtons;
      if (t1 === 0 && newPressedButtons !== 0)
        return new H._SanitizedDetails(C.PointerChange_3, t1);
      this._pressedButtons = newPressedButtons;
      return new H._SanitizedDetails(newPressedButtons === 0 ? C.PointerChange_3 : C.PointerChange_5, newPressedButtons);
    },
    sanitizeMissingRightClickUp$1$buttons: function(buttons) {
      if (this._pressedButtons !== 0 && (buttons & 1073741823) === 0) {
        this._pressedButtons = 0;
        return new H._SanitizedDetails(C.PointerChange_6, 0);
      }
      return null;
    },
    sanitizeUpEvent$1$buttons: function(buttons) {
      var t1;
      if (this._pressedButtons === 0)
        return null;
      t1 = this._pressedButtons = (buttons == null ? 0 : buttons) & 1073741823;
      if (t1 === 0)
        return new H._SanitizedDetails(C.PointerChange_6, t1);
      else
        return new H._SanitizedDetails(C.PointerChange_5, t1);
    }
  };
  H._PointerAdapter.prototype = {
    _ensureSanitizer$1: function(device) {
      return this._sanitizers.putIfAbsent$2(0, device, new H._PointerAdapter__ensureSanitizer_closure());
    },
    _removePointerIfUnhoverable$1: function($event) {
      if ($event.pointerType === "touch")
        this._sanitizers.remove$1(0, $event.pointerId);
    },
    _addPointerEventListener$3$acceptOutsideGlasspane: function(eventName, handler, acceptOutsideGlasspane) {
      this.addEventListener$3$acceptOutsideGlasspane(0, eventName, new H._PointerAdapter__addPointerEventListener_closure(handler), acceptOutsideGlasspane);
    },
    _addPointerEventListener$2: function(eventName, handler) {
      return this._addPointerEventListener$3$acceptOutsideGlasspane(eventName, handler, false);
    },
    setup$0: function() {
      var _this = this;
      _this._addPointerEventListener$2("pointerdown", new H._PointerAdapter_setup_closure(_this));
      _this._addPointerEventListener$3$acceptOutsideGlasspane("pointermove", new H._PointerAdapter_setup_closure0(_this), true);
      _this._addPointerEventListener$3$acceptOutsideGlasspane("pointerup", new H._PointerAdapter_setup_closure1(_this), true);
      _this._addPointerEventListener$2("pointercancel", new H._PointerAdapter_setup_closure2(_this));
      _this._addWheelEventListener$1(new H._PointerAdapter_setup_closure3(_this));
    },
    _convertEventsToPointerData$3$data$details$event: function(data, details, $event) {
      var kind, t2, timeStamp, t3, t4, t5, t6,
        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 = H._BaseAdapter__eventTimeStampToDuration(t2);
      t2 = this._getPointerId$1($event);
      t3 = $event.clientX;
      $event.clientY;
      t3.toString;
      t4 = $.$get$window();
      t5 = t4._debugDevicePixelRatio;
      if (t5 == null)
        t5 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      $event.clientX;
      t6 = $event.clientY;
      t6.toString;
      t4 = t4._debugDevicePixelRatio;
      if (t4 == null)
        t4 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      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, $event.pressure, 1, 0, C.PointerSignalKind_0, t1 / 180 * 3.141592653589793, timeStamp);
    },
    _expandEvents$1: function($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 H._setArrayType([$event], type$.JSArray_PointerEvent);
    },
    _pointerTypeToDeviceKind$1: function(pointerType) {
      switch (pointerType) {
        case "mouse":
          return C.PointerDeviceKind_1;
        case "pen":
          return C.PointerDeviceKind_2;
        case "touch":
          return C.PointerDeviceKind_0;
        default:
          return C.PointerDeviceKind_4;
      }
    },
    _getPointerId$1: function($event) {
      var t1 = $event.pointerType;
      t1.toString;
      if (this._pointerTypeToDeviceKind$1(t1) === C.PointerDeviceKind_1)
        t1 = -1;
      else {
        t1 = $event.pointerId;
        t1.toString;
      }
      return t1;
    }
  };
  H._PointerAdapter__ensureSanitizer_closure.prototype = {
    call$0: function() {
      return new H._ButtonSanitizer();
    },
    $signature: 1062
  };
  H._PointerAdapter__addPointerEventListener_closure.prototype = {
    call$1: function($event) {
      return this.handler.call$1(type$.PointerEvent._as($event));
    },
    $signature: 87
  };
  H._PointerAdapter_setup_closure.prototype = {
    call$1: function($event) {
      var up, t3,
        t1 = this.$this,
        device = t1._getPointerId$1($event),
        pointerData = H._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: 106
  };
  H._PointerAdapter_setup_closure0.prototype = {
    call$1: function($event) {
      var t2, t3, t4, up,
        t1 = this.$this,
        sanitizer = t1._ensureSanitizer$1(t1._getPointerId$1($event)),
        pointerData = H._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: 106
  };
  H._PointerAdapter_setup_closure1.prototype = {
    call$1: function($event) {
      var details,
        t1 = this.$this,
        device = t1._getPointerId$1($event),
        pointerData = H._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: 106
  };
  H._PointerAdapter_setup_closure2.prototype = {
    call$1: function($event) {
      var t1 = this.$this,
        device = t1._getPointerId$1($event),
        pointerData = H._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 H._SanitizedDetails(C.PointerChange_0, 0), $event);
      t1.__engine$_callback.call$1(pointerData);
    },
    $signature: 106
  };
  H._PointerAdapter_setup_closure3.prototype = {
    call$1: function($event) {
      this.$this._handleWheelEvent$1($event);
    },
    $signature: 9
  };
  H._TouchAdapter.prototype = {
    _addTouchEventListener$2: function(eventName, handler) {
      this.addEventListener$2(0, eventName, new H._TouchAdapter__addTouchEventListener_closure(handler));
    },
    setup$0: function() {
      var _this = this;
      _this._addTouchEventListener$2("touchstart", new H._TouchAdapter_setup_closure(_this));
      _this._addTouchEventListener$2("touchmove", new H._TouchAdapter_setup_closure0(_this));
      _this._addTouchEventListener$2("touchend", new H._TouchAdapter_setup_closure1(_this));
      _this._addTouchEventListener$2("touchcancel", new H._TouchAdapter_setup_closure2(_this));
    },
    _convertEventToPointerData$5$change$data$pressed$timeStamp$touch: function(change, data, pressed, timeStamp, touch) {
      var t2, t3, t4, t5, t6,
        t1 = touch.identifier;
      t1.toString;
      t2 = C.JSNumber_methods.round$0(touch.clientX);
      C.JSNumber_methods.round$0(touch.clientY);
      t3 = $.$get$window();
      t4 = t3._debugDevicePixelRatio;
      if (t4 == null)
        t4 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      C.JSNumber_methods.round$0(touch.clientX);
      t5 = C.JSNumber_methods.round$0(touch.clientY);
      t3 = t3._debugDevicePixelRatio;
      if (t3 == null)
        t3 = H.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, C.PointerDeviceKind_0, t2 * t4, t5 * t3, 1, 1, 0, C.PointerSignalKind_0, timeStamp);
    }
  };
  H._TouchAdapter__addTouchEventListener_closure.prototype = {
    call$1: function($event) {
      return this.handler.call$1(type$.TouchEvent._as($event));
    },
    $signature: 87
  };
  H._TouchAdapter_setup_closure.prototype = {
    call$1: function($event) {
      var timeStamp, pointerData, t2, t3, t4, _i, touch, t5,
        t1 = $event.timeStamp;
      t1.toString;
      timeStamp = H._BaseAdapter__eventTimeStampToDuration(t1);
      pointerData = H._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, H.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(C.PointerChange_4, pointerData, true, timeStamp, touch);
        }
      }
      t3.__engine$_callback.call$1(pointerData);
    },
    $signature: 120
  };
  H._TouchAdapter_setup_closure0.prototype = {
    call$1: function($event) {
      var t1, timeStamp, pointerData, t2, t3, t4, _i, touch, t5;
      $event.preventDefault();
      t1 = $event.timeStamp;
      t1.toString;
      timeStamp = H._BaseAdapter__eventTimeStampToDuration(t1);
      pointerData = H._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, H.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(C.PointerChange_5, pointerData, true, timeStamp, touch);
      }
      t3.__engine$_callback.call$1(pointerData);
    },
    $signature: 120
  };
  H._TouchAdapter_setup_closure1.prototype = {
    call$1: function($event) {
      var t1, timeStamp, pointerData, t2, t3, t4, _i, touch, t5;
      $event.preventDefault();
      t1 = $event.timeStamp;
      t1.toString;
      timeStamp = H._BaseAdapter__eventTimeStampToDuration(t1);
      pointerData = H._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, H.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(C.PointerChange_6, pointerData, false, timeStamp, touch);
        }
      }
      t3.__engine$_callback.call$1(pointerData);
    },
    $signature: 120
  };
  H._TouchAdapter_setup_closure2.prototype = {
    call$1: function($event) {
      var timeStamp, pointerData, t2, t3, t4, _i, touch, t5,
        t1 = $event.timeStamp;
      t1.toString;
      timeStamp = H._BaseAdapter__eventTimeStampToDuration(t1);
      pointerData = H._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, H.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(C.PointerChange_0, pointerData, false, timeStamp, touch);
        }
      }
      t3.__engine$_callback.call$1(pointerData);
    },
    $signature: 120
  };
  H._MouseAdapter.prototype = {
    _addMouseEventListener$3$acceptOutsideGlasspane: function(eventName, handler, acceptOutsideGlasspane) {
      this.addEventListener$3$acceptOutsideGlasspane(0, eventName, new H._MouseAdapter__addMouseEventListener_closure(handler), acceptOutsideGlasspane);
    },
    _addMouseEventListener$2: function(eventName, handler) {
      return this._addMouseEventListener$3$acceptOutsideGlasspane(eventName, handler, false);
    },
    setup$0: function() {
      var _this = this;
      _this._addMouseEventListener$2("mousedown", new H._MouseAdapter_setup_closure(_this));
      _this._addMouseEventListener$3$acceptOutsideGlasspane("mousemove", new H._MouseAdapter_setup_closure0(_this), true);
      _this._addMouseEventListener$3$acceptOutsideGlasspane("mouseup", new H._MouseAdapter_setup_closure1(_this), true);
      _this._addWheelEventListener$1(new H._MouseAdapter_setup_closure2(_this));
    },
    _convertEventsToPointerData$3$data$details$event: function(data, details, $event) {
      var t2, t3, t4, t5,
        t1 = $event.timeStamp;
      t1.toString;
      t1 = H._BaseAdapter__eventTimeStampToDuration(t1);
      t2 = $event.clientX;
      $event.clientY;
      t2.toString;
      t3 = $.$get$window();
      t4 = t3._debugDevicePixelRatio;
      if (t4 == null)
        t4 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      $event.clientX;
      t5 = $event.clientY;
      t5.toString;
      t3 = t3._debugDevicePixelRatio;
      if (t3 == null)
        t3 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      this._pointerDataConverter.convert$12$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$signalKind$timeStamp(data, details.buttons, details.change, -1, C.PointerDeviceKind_1, t2 * t4, t5 * t3, 1, 1, 0, C.PointerSignalKind_0, t1);
    }
  };
  H._MouseAdapter__addMouseEventListener_closure.prototype = {
    call$1: function($event) {
      return this.handler.call$1(type$.MouseEvent._as($event));
    },
    $signature: 87
  };
  H._MouseAdapter_setup_closure.prototype = {
    call$1: function($event) {
      var up, t4,
        pointerData = H._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: 135
  };
  H._MouseAdapter_setup_closure0.prototype = {
    call$1: function($event) {
      var up,
        pointerData = H._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: 135
  };
  H._MouseAdapter_setup_closure1.prototype = {
    call$1: function($event) {
      var pointerData = H._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: 135
  };
  H._MouseAdapter_setup_closure2.prototype = {
    call$1: function($event) {
      this.$this._handleWheelEvent$1($event);
    },
    $signature: 9
  };
  H._PointerState.prototype = {};
  H.PointerDataConverter.prototype = {
    _ensureStateForPointer$3: function(device, x, y) {
      return this._pointers.putIfAbsent$2(0, device, new H.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: function(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 P.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: function(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: function(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 P.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, C.PointerSignalKind_0, size, true, tilt, timeStamp);
    },
    convert$15$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$scrollDeltaX$scrollDeltaY$signalKind$tilt$timeStamp: function(result, buttons, change, device, kind, physicalX, physicalY, pressure, pressureMax, pressureMin, scrollDeltaX, scrollDeltaY, signalKind, tilt, timeStamp) {
      var alreadyAdded, state, t1, t2, _this = this,
        _s80_ = string$.x60null_c;
      if (signalKind === C.PointerSignalKind_0)
        switch (change) {
          case C.PointerChange_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 C.PointerChange_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, C.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 C.PointerChange_4:
            alreadyAdded = _this._pointers.containsKey$1(0, device);
            state = _this._ensureStateForPointer$3(device, physicalX, physicalY);
            state.toString;
            state._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, C.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, C.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 C.PointerChange_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 C.PointerChange_6:
          case C.PointerChange_0:
            t1 = _this._pointers;
            t2 = t1.$index(0, device);
            t2.toString;
            if (change === C.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, C.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 === C.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, C.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 C.PointerChange_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;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
      else
        switch (signalKind) {
          case C.PointerSignalKind_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, C.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, C.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, C.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 C.PointerSignalKind_0:
            break;
          case C.PointerSignalKind_2:
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
    },
    convert$14$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$scrollDeltaX$scrollDeltaY$signalKind$timeStamp: function(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: function(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: function(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);
    }
  };
  H.PointerDataConverter__ensureStateForPointer_closure.prototype = {
    call$0: function() {
      return new H._PointerState(this.x, this.y);
    },
    $signature: 1107
  };
  H.Profiler.prototype = {};
  H.AccessibilityAnnouncements.prototype = {
    AccessibilityAnnouncements$_$0: function() {
      $._hotRestartListeners.push(new H.AccessibilityAnnouncements$__closure(this));
    },
    get$_domElement: function() {
      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";
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.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: function(codec, data) {
      var t1, _this = this,
        message = J.$index$asx(J.$index$asx(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 = P.Timer_Timer(C.Duration_5000000, new H.AccessibilityAnnouncements_handleMessage_closure(_this));
      }
    }
  };
  H.AccessibilityAnnouncements$__closure.prototype = {
    call$0: function() {
      var t1 = this.$this._removeElementTimer;
      if (t1 != null)
        t1.cancel$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.AccessibilityAnnouncements_handleMessage_closure.prototype = {
    call$0: function() {
      var t1 = this.$this.__engine$_element;
      t1.toString;
      C.LabelElement_methods.remove$0(t1);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H._CheckableKind.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.Checkable.prototype = {
    update$0: function(_) {
      var element, t2, _s4_ = "true",
        t1 = this.semanticsObject;
      if ((t1._dirtyFields & 1) !== 0) {
        switch (this.__engine$_kind) {
          case C._CheckableKind_0:
            t1.setAriaRole$2("checkbox", true);
            break;
          case C._CheckableKind_1:
            t1.setAriaRole$2("radio", true);
            break;
          case C._CheckableKind_2:
            t1.setAriaRole$2("switch", true);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
        if (t1.enabledState$0() === C.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: function(_) {
      var _this = this;
      switch (_this.__engine$_kind) {
        case C._CheckableKind_0:
          _this.semanticsObject.setAriaRole$2("checkbox", false);
          break;
        case C._CheckableKind_1:
          _this.semanticsObject.setAriaRole$2("radio", false);
          break;
        case C._CheckableKind_2:
          _this.semanticsObject.setAriaRole$2("switch", false);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      _this._removeDisabledAttribute$0();
    },
    _removeDisabledAttribute$0: function() {
      var element = this.semanticsObject.element;
      element.removeAttribute("aria-disabled");
      element.removeAttribute("disabled");
    }
  };
  H.ImageRoleManager.prototype = {
    update$0: function(_) {
      var t2, t3, _this = this,
        t1 = _this.semanticsObject;
      if (t1.get$isVisualOnly()) {
        t2 = t1.__engine$_childrenInTraversalOrder;
        t2 = t2 != null && !C.NativeInt32List_methods.get$isEmpty(t2);
      } else
        t2 = false;
      if (t2) {
        if (_this._auxiliaryImageElement == null) {
          _this._auxiliaryImageElement = W._ElementFactoryProvider_createElement_tag("flt-semantics-img", null);
          t2 = t1.__engine$_childrenInTraversalOrder;
          if (t2 != null && !C.NativeInt32List_methods.get$isEmpty(t2)) {
            t2 = _this._auxiliaryImageElement.style;
            t2.position = "absolute";
            t2.top = "0";
            t2.left = "0";
            t3 = t1.__engine$_rect;
            t3 = H.S(t3.right - t3.left) + "px";
            t2.width = t3;
            t3 = t1.__engine$_rect;
            t3 = H.S(t3.bottom - t3.top) + "px";
            t2.height = t3;
          }
          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: function(element) {
      var t1 = this.semanticsObject.__engine$_label;
      if (t1 != null && t1.length !== 0) {
        element.toString;
        t1.toString;
        element.setAttribute("aria-label", t1);
      }
    },
    _cleanUpAuxiliaryElement$0: function() {
      var t1 = this._auxiliaryImageElement;
      if (t1 != null) {
        J.remove$0$ax(t1);
        this._auxiliaryImageElement = null;
      }
    },
    _cleanupElement$0: function() {
      var t1 = this.semanticsObject;
      t1.setAriaRole$2("img", false);
      t1.element.removeAttribute("aria-label");
    },
    dispose$0: function(_) {
      this._cleanUpAuxiliaryElement$0();
      this._cleanupElement$0();
    }
  };
  H.Incrementable.prototype = {
    Incrementable$1: function(semanticsObject) {
      var _this = this,
        t1 = _this.__engine$_element;
      semanticsObject.element.appendChild(t1);
      t1.type = "range";
      t1.setAttribute("role", "slider");
      C.InputElement_methods.addEventListener$2(t1, "change", new H.Incrementable_closure(_this, semanticsObject));
      t1 = new H.Incrementable_closure0(_this);
      _this._gestureModeListener = t1;
      semanticsObject.owner._gestureModeListeners.push(t1);
    },
    update$0: function(_) {
      var _this = this;
      switch (_this.semanticsObject.owner._gestureMode) {
        case C.GestureMode_1:
          _this._enableBrowserGestureHandling$0();
          _this._updateInputValues$0();
          break;
        case C.GestureMode_0:
          _this._disableBrowserGestureHandling$0();
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _enableBrowserGestureHandling$0: function() {
      var t1 = this.__engine$_element,
        t2 = t1.disabled;
      t2.toString;
      if (!t2)
        return;
      t1.disabled = false;
    },
    _updateInputValues$0: function() {
      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.__engine$_increasedValue.length !== 0 ? "" + (_this._currentSurrogateValue + 1) : surrogateTextValue;
      t1.max = surrogateMaxTextValue;
      t1.setAttribute("aria-valuemax", surrogateMaxTextValue);
      surrogateMinTextValue = t2.__engine$_decreasedValue.length !== 0 ? "" + (_this._currentSurrogateValue - 1) : surrogateTextValue;
      t1.min = surrogateMinTextValue;
      t1.setAttribute("aria-valuemin", surrogateMinTextValue);
    },
    _disableBrowserGestureHandling$0: function() {
      var t1 = this.__engine$_element,
        t2 = t1.disabled;
      t2.toString;
      if (t2)
        return;
      t1.disabled = true;
    },
    dispose$0: function(_) {
      var t1, _this = this;
      C.JSArray_methods.remove$1(_this.semanticsObject.owner._gestureModeListeners, _this._gestureModeListener);
      _this._gestureModeListener = null;
      _this._disableBrowserGestureHandling$0();
      t1 = _this.__engine$_element;
      (t1 && C.InputElement_methods).remove$0(t1);
    }
  };
  H.Incrementable_closure.prototype = {
    call$1: function(_) {
      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 = P.int_parse(t2, null);
      t2 = t1._currentSurrogateValue;
      if (newInputValue > t2) {
        t1._currentSurrogateValue = t2 + 1;
        t1 = $.$get$EnginePlatformDispatcher__instance();
        H.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, this.semanticsObject.id, C.SemanticsAction_64, null);
      } else if (newInputValue < t2) {
        t1._currentSurrogateValue = t2 - 1;
        t1 = $.$get$EnginePlatformDispatcher__instance();
        H.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, this.semanticsObject.id, C.SemanticsAction_128, null);
      }
    },
    $signature: 9
  };
  H.Incrementable_closure0.prototype = {
    call$1: function(mode) {
      this.$this.update$0(0);
    },
    $signature: 192
  };
  H.LabelAndValue.prototype = {
    update$0: function(_) {
      var hasLabel, t3, shouldDisplayValue, t4, t5, _this = this,
        t1 = _this.semanticsObject,
        t2 = t1.__engine$_value,
        hasValue = t2 != null && t2.length !== 0;
      t2 = t1.__engine$_label;
      hasLabel = t2 != null && t2.length !== 0;
      if (hasValue) {
        t3 = t1.__engine$_actions;
        t3.toString;
        shouldDisplayValue = !((t3 & 64) !== 0 || (t3 & 128) !== 0);
      } else
        shouldDisplayValue = false;
      if (!hasLabel && !shouldDisplayValue) {
        _this._cleanUpDom$0();
        return;
      }
      if (hasLabel) {
        t2 = H.S(t2);
        if (shouldDisplayValue)
          t2 += " ";
      } else
        t2 = "";
      if (shouldDisplayValue)
        t2 += H.S(t1.__engine$_value);
      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 = W._ElementFactoryProvider_createElement_tag("flt-semantics-value", null);
        t4 = t1.__engine$_childrenInTraversalOrder;
        if (t4 != null && !C.NativeInt32List_methods.get$isEmpty(t4)) {
          t4 = _this._auxiliaryValueElement.style;
          t4.position = "absolute";
          t4.top = "0";
          t4.left = "0";
          t5 = t1.__engine$_rect;
          t5 = H.S(t5.right - t5.left) + "px";
          t4.width = t5;
          t1 = t1.__engine$_rect;
          t1 = H.S(t1.bottom - t1.top) + "px";
          t4.height = t1;
        }
        t1 = _this._auxiliaryValueElement.style;
        t1.fontSize = "6px";
        t1 = _this._auxiliaryValueElement;
        t1.toString;
        t3.appendChild(t1);
      }
      _this._auxiliaryValueElement.textContent = t2;
    },
    _cleanUpDom$0: function() {
      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: function(_) {
      this._cleanUpDom$0();
    }
  };
  H.LiveRegion.prototype = {
    update$0: function(_) {
      var t1 = this.semanticsObject,
        t2 = t1.__engine$_label;
      t2 = t2 != null && t2.length !== 0;
      t1 = t1.element;
      if (t2)
        t1.setAttribute("aria-live", "polite");
      else
        t1.removeAttribute("aria-live");
    },
    dispose$0: function(_) {
      this.semanticsObject.element.removeAttribute("aria-live");
    }
  };
  H.Scrollable.prototype = {
    _recomputeScrollPosition$0: function() {
      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();
            H.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, semanticsId, C.SemanticsAction_16, _null);
          } else {
            t1 = $.$get$EnginePlatformDispatcher__instance();
            H.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, semanticsId, C.SemanticsAction_4, _null);
          }
        } else {
          t1 = t1.__engine$_actions;
          t1.toString;
          if ((t1 & 32) !== 0 || (t1 & 16) !== 0) {
            t1 = $.$get$EnginePlatformDispatcher__instance();
            H.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, semanticsId, C.SemanticsAction_32, _null);
          } else {
            t1 = $.$get$EnginePlatformDispatcher__instance();
            H.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, semanticsId, C.SemanticsAction_8, _null);
          }
        }
      }
    },
    update$0: function(_) {
      var t1, t2, t3, _this = this;
      if (_this._scrollListener == null) {
        t1 = _this.semanticsObject;
        t2 = t1.element;
        t3 = t2.style;
        t3.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t3, C.CssStyleDeclaration_methods._browserPropertyName$1(t3, "touch-action"), "none", "");
        _this._gestureModeDidChange$0();
        t1 = t1.owner;
        t1._oneTimePostUpdateCallbacks.push(new H.Scrollable_update_closure(_this));
        t3 = new H.Scrollable_update_closure0(_this);
        _this._gestureModeListener = t3;
        t1._gestureModeListeners.push(t3);
        t3 = new H.Scrollable_update_closure1(_this);
        _this._scrollListener = t3;
        J.addEventListener$2$x(t2, "scroll", t3);
      }
    },
    get$_domScrollPosition: function() {
      var t1 = this.semanticsObject,
        t2 = t1.__engine$_actions;
      t2.toString;
      t2 = (t2 & 32) !== 0 || (t2 & 16) !== 0;
      t1 = t1.element;
      if (t2)
        return C.JSNumber_methods.round$0(t1.scrollTop);
      else
        return C.JSNumber_methods.round$0(t1.scrollLeft);
    },
    _neutralizeDomScrollPosition$0: function() {
      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 = C.JSNumber_methods.round$0(element.scrollTop);
        t1.horizontalContainerAdjustment = 0;
      } else {
        element.scrollLeft = 10;
        t2 = C.JSNumber_methods.round$0(element.scrollLeft);
        this._effectiveNeutralScrollPosition = t2;
        t1.verticalContainerAdjustment = 0;
        t1.horizontalContainerAdjustment = t2;
      }
    },
    _gestureModeDidChange$0: function() {
      var _s10_ = "overflow-y",
        _s10_0 = "overflow-x",
        t1 = this.semanticsObject,
        element = t1.element;
      switch (t1.owner._gestureMode) {
        case C.GestureMode_1:
          t1 = t1.__engine$_actions;
          t1.toString;
          if ((t1 & 32) !== 0 || (t1 & 16) !== 0) {
            t1 = element.style;
            t1.toString;
            C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, _s10_), "scroll", "");
          } else {
            t1 = element.style;
            t1.toString;
            C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, _s10_0), "scroll", "");
          }
          break;
        case C.GestureMode_0:
          t1 = t1.__engine$_actions;
          t1.toString;
          if ((t1 & 32) !== 0 || (t1 & 16) !== 0) {
            t1 = element.style;
            t1.toString;
            C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, _s10_), "hidden", "");
          } else {
            t1 = element.style;
            t1.toString;
            C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, _s10_0), "hidden", "");
          }
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    dispose$0: function(_) {
      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);
      C.JSArray_methods.remove$1(t1.owner._gestureModeListeners, _this._gestureModeListener);
      _this._gestureModeListener = null;
    }
  };
  H.Scrollable_update_closure.prototype = {
    call$0: function() {
      this.$this._neutralizeDomScrollPosition$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.Scrollable_update_closure0.prototype = {
    call$1: function(_) {
      this.$this._gestureModeDidChange$0();
    },
    $signature: 192
  };
  H.Scrollable_update_closure1.prototype = {
    call$1: function(_) {
      this.$this._recomputeScrollPosition$0();
    },
    $signature: 9
  };
  H.SemanticsUpdate.prototype = {};
  H.SemanticsNodeUpdate.prototype = {};
  H.Role.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H._roleFactories_closure.prototype = {
    call$1: function(object) {
      return H.Incrementable$(object);
    },
    $signature: 1100
  };
  H._roleFactories_closure0.prototype = {
    call$1: function(object) {
      return new H.Scrollable(object);
    },
    $signature: 1092
  };
  H._roleFactories_closure1.prototype = {
    call$1: function(object) {
      return new H.LabelAndValue(object);
    },
    $signature: 1085
  };
  H._roleFactories_closure2.prototype = {
    call$1: function(object) {
      return new H.Tappable(object);
    },
    $signature: 1061
  };
  H._roleFactories_closure3.prototype = {
    call$1: function(object) {
      var t2, t3,
        t1 = new H.TextField(object);
      t1.__TextField_editableElement = (object.__engine$_flags & 524288) !== 0 ? document.createElement("textarea") : W.InputElement_InputElement(null);
      t2 = t1.get$editableElement();
      t2.spellcheck = false;
      t2.setAttribute("autocorrect", "off");
      t2.setAttribute("autocomplete", "off");
      t2.setAttribute("data-semantics-role", "text-field");
      t2 = t1.get$editableElement().style;
      t2.position = "absolute";
      t2.top = "0";
      t2.left = "0";
      t3 = object.__engine$_rect;
      t3 = H.S(t3.right - t3.left) + "px";
      t2.width = t3;
      t3 = object.__engine$_rect;
      t3 = H.S(t3.bottom - t3.top) + "px";
      t2.height = t3;
      object.element.appendChild(t1.get$editableElement());
      t2 = $.$get$_browserEngine();
      switch (t2) {
        case C.BrowserEngine_0:
        case C.BrowserEngine_5:
        case C.BrowserEngine_3:
        case C.BrowserEngine_4:
        case C.BrowserEngine_2:
        case C.BrowserEngine_4:
        case C.BrowserEngine_6:
          t1._initializeForBlink$0();
          break;
        case C.BrowserEngine_1:
          t1._initializeForWebkit$0();
          break;
        default:
          H.throwExpression(H.ReachabilityError$(string$.x60null_c));
      }
      return t1;
    },
    $signature: 1059
  };
  H._roleFactories_closure4.prototype = {
    call$1: function(object) {
      return new H.Checkable(H._checkableKindFromSemanticsFlag(object), object);
    },
    $signature: 1050
  };
  H._roleFactories_closure5.prototype = {
    call$1: function(object) {
      return new H.ImageRoleManager(object);
    },
    $signature: 1040
  };
  H._roleFactories_closure6.prototype = {
    call$1: function(object) {
      return new H.LiveRegion(object);
    },
    $signature: 1039
  };
  H.RoleManager.prototype = {};
  H.SemanticsObject.prototype = {
    SemanticsObject$2: function(id, owner) {
      var t1 = this.element,
        t2 = t1.style;
      t2.position = "absolute";
      if (this.id === 0 && true) {
        t2 = t1.style;
        t2.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t2, C.CssStyleDeclaration_methods._browserPropertyName$1(t2, "filter"), "opacity(0%)", "");
        t1 = t1.style;
        t1.color = "rgba(0,0,0,0)";
      }
    },
    getOrCreateChildContainer$0: function() {
      var t1, _this = this;
      if (_this._childContainerElement == null) {
        t1 = W._ElementFactoryProvider_createElement_tag("flt-semantics-container", null);
        _this._childContainerElement = t1;
        t1 = t1.style;
        t1.position = "absolute";
        t1 = _this._childContainerElement;
        t1.toString;
        _this.element.appendChild(t1);
      }
      return _this._childContainerElement;
    },
    get$isVisualOnly: function() {
      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: function() {
      var t1 = this.__engine$_flags;
      if ((t1 & 64) !== 0)
        if ((t1 & 128) !== 0)
          return C.EnabledState_1;
        else
          return C.EnabledState_2;
      else
        return C.EnabledState_0;
    },
    setAriaRole$2: function(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: function(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(0);
        t1.remove$1(0, role);
      }
    },
    recomputePositionAndSize$0: function() {
      var containerElement, hasZeroRectOffset, transform, hasIdentityTransform, effectiveTransform, left, $top, effectiveTransformIsIdentity, t4, t5, _this = this,
        t1 = _this.element,
        t2 = t1.style,
        t3 = _this.__engine$_rect;
      t3 = H.S(t3.right - t3.left) + "px";
      t2.width = t3;
      t3 = _this.__engine$_rect;
      t3 = H.S(t3.bottom - t3.top) + "px";
      t2.height = t3;
      t2 = _this.__engine$_childrenInTraversalOrder;
      containerElement = t2 != null && !C.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 || H.transformKindOf(transform) === C.TransformKind_0;
      if (hasZeroRectOffset && hasIdentityTransform && _this.verticalContainerAdjustment === 0 && _this.horizontalContainerAdjustment === 0) {
        H.SemanticsObject__clearSemanticElementTransform(t1);
        if (containerElement != null)
          H.SemanticsObject__clearSemanticElementTransform(containerElement);
        return;
      }
      effectiveTransform = H._Cell$named("effectiveTransform");
      if (!hasZeroRectOffset)
        if (t2) {
          t2 = _this.__engine$_rect;
          left = t2.left;
          $top = t2.top;
          t2 = H.Matrix4$identity();
          t2.setTranslationRaw$3(left, $top, 0);
          effectiveTransform.__late_helper$_value = t2;
          effectiveTransformIsIdentity = left === 0 && $top === 0;
        } else {
          t2 = new H.Matrix40(new Float32Array(16));
          t2.setFrom$1(new H.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 H.Matrix40(transform);
        effectiveTransformIsIdentity = false;
      } else
        effectiveTransformIsIdentity = true;
      if (!effectiveTransformIsIdentity) {
        t1 = t1.style;
        t1.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform-origin"), "0 0 0", "");
        t2 = H.float64ListToCssTransform(effectiveTransform._readLocal$0().__engine$_m4storage);
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), t2, "");
      } else
        H.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;
          t4 = H.S(-t1 + t4) + "px";
          t5.top = t4;
          t1 = H.S(-t2 + t3) + "px";
          t5.left = t1;
        } else
          H.SemanticsObject__clearSemanticElementTransform(containerElement);
    },
    _updateChildrenInTraversalOrder$0: function() {
      var t2, len, i, object, containerElement, t3, t4, t5, t6, _i, id, intersectionIndicesNew, intersectionIndicesOld, minLength, newIndex, oldIndex, longestSequence, stationaryIds, refNode, childId, _this = this,
        _s13_ = "flt-semantics",
        t1 = _this.__engine$_childrenInTraversalOrder;
      if (t1 == null || t1.length === 0) {
        t2 = _this._previousChildrenInTraversalOrder;
        if (t2 == null || t2.length === 0) {
          _this._previousChildrenInTraversalOrder = t1;
          return;
        }
        len = t2.length;
        for (t1 = _this.owner, t2 = t1._semanticsTree, i = 0; i < len; ++i) {
          object = t2.$index(0, _this._previousChildrenInTraversalOrder[i]);
          t1._detachments.push(object);
        }
        _this._previousChildrenInTraversalOrder = null;
        t1 = _this._childContainerElement;
        t1.toString;
        J.remove$0$ax(t1);
        _this._childContainerElement = null;
        _this._previousChildrenInTraversalOrder = _this.__engine$_childrenInTraversalOrder;
        return;
      }
      containerElement = _this.getOrCreateChildContainer$0();
      t1 = _this._previousChildrenInTraversalOrder;
      if (t1 == null || t1.length === 0) {
        t1 = _this._previousChildrenInTraversalOrder = _this.__engine$_childrenInTraversalOrder;
        for (t2 = t1.length, t3 = _this.owner, t4 = t3._semanticsTree, t5 = type$.Role, t6 = type$.nullable_RoleManager, _i = 0; _i < t2; ++_i) {
          id = t1[_i];
          object = t4.$index(0, id);
          if (object == null) {
            object = new H.SemanticsObject(id, t3, W._ElementFactoryProvider_createElement_tag(_s13_, null), P.LinkedHashMap_LinkedHashMap$_empty(t5, t6));
            object.SemanticsObject$2(id, t3);
            t4.$indexSet(0, id, object);
          }
          containerElement.appendChild(object.element);
          object.__engine$_parent = _this;
          t3._attachments.$indexSet(0, object.id, _this);
        }
        _this._previousChildrenInTraversalOrder = _this.__engine$_childrenInTraversalOrder;
        return;
      }
      t1 = type$.JSArray_int;
      intersectionIndicesNew = H._setArrayType([], t1);
      intersectionIndicesOld = H._setArrayType([], t1);
      minLength = Math.min(_this._previousChildrenInTraversalOrder.length, _this.__engine$_childrenInTraversalOrder.length);
      newIndex = 0;
      while (true) {
        if (!(newIndex < minLength && _this._previousChildrenInTraversalOrder[newIndex] === _this.__engine$_childrenInTraversalOrder[newIndex]))
          break;
        intersectionIndicesNew.push(newIndex);
        intersectionIndicesOld.push(newIndex);
        ++newIndex;
      }
      t2 = _this._previousChildrenInTraversalOrder.length;
      t3 = _this.__engine$_childrenInTraversalOrder.length;
      if (t2 === t3 && newIndex === t3)
        return;
      for (; t2 = _this.__engine$_childrenInTraversalOrder, newIndex < t2.length;) {
        for (t3 = _this._previousChildrenInTraversalOrder, t4 = t3.length, oldIndex = 0; oldIndex < t4; ++oldIndex)
          if (t3[oldIndex] === t2[newIndex]) {
            intersectionIndicesNew.push(newIndex);
            intersectionIndicesOld.push(oldIndex);
            break;
          }
        ++newIndex;
      }
      longestSequence = H.longestIncreasingSubsequence(intersectionIndicesOld);
      stationaryIds = H._setArrayType([], t1);
      for (t1 = longestSequence.length, i = 0; i < t1; ++i)
        stationaryIds.push(_this._previousChildrenInTraversalOrder[intersectionIndicesOld[longestSequence[i]]]);
      for (t1 = _this.owner, t2 = t1._semanticsTree, i = 0; i < _this._previousChildrenInTraversalOrder.length; ++i)
        if (!C.JSArray_methods.contains$1(intersectionIndicesOld, i)) {
          object = t2.$index(0, _this._previousChildrenInTraversalOrder[i]);
          t1._detachments.push(object);
        }
      for (i = _this.__engine$_childrenInTraversalOrder.length - 1, t3 = type$.Role, t4 = type$.nullable_RoleManager, refNode = null; i >= 0; --i) {
        childId = _this.__engine$_childrenInTraversalOrder[i];
        object = t2.$index(0, childId);
        if (object == null) {
          object = new H.SemanticsObject(childId, t1, W._ElementFactoryProvider_createElement_tag(_s13_, null), P.LinkedHashMap_LinkedHashMap$_empty(t3, t4));
          object.SemanticsObject$2(childId, t1);
          t2.$indexSet(0, childId, object);
        }
        if (!C.JSArray_methods.contains$1(stationaryIds, childId)) {
          t5 = object.element;
          if (refNode == null)
            containerElement.appendChild(t5);
          else
            containerElement.insertBefore(t5, refNode);
          object.__engine$_parent = _this;
          t1._attachments.$indexSet(0, object.id, _this);
        }
        refNode = object.element;
      }
      _this._previousChildrenInTraversalOrder = _this.__engine$_childrenInTraversalOrder;
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.AccessibilityMode.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.GestureMode.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.EngineSemanticsOwner.prototype = {
    EngineSemanticsOwner$_$0: function() {
      $._hotRestartListeners.push(new H.EngineSemanticsOwner$__closure(this));
    },
    _finalizeTree$0: function() {
      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, H.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 = H._setArrayType([], type$.JSArray_nullable_SemanticsObject);
      _this._attachments = P.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, H.throwConcurrentModificationError)(t1), ++_i)
          t1[_i].call$0();
        _this._oneTimePostUpdateCallbacks = H._setArrayType([], type$.JSArray_of_void_Function);
      }
    },
    set$semanticsEnabled: function(value) {
      var t1, t2, t3;
      if (this._semanticsEnabled)
        return;
      this._semanticsEnabled = true;
      t1 = this._semanticsEnabled;
      t2 = $.$get$EnginePlatformDispatcher__instance();
      t3 = t2._configuration;
      if (t1 !== t3.semanticsEnabled) {
        t2._configuration = t3.copyWith$1$semanticsEnabled(t1);
        t1 = t2._onSemanticsEnabledChanged;
        if (t1 != null)
          H.invoke(t1, t2._onSemanticsEnabledChangedZone);
      }
    },
    _getGestureModeClock$0: function() {
      var _this = this,
        t1 = _this._gestureModeClock;
      if (t1 == null) {
        t1 = _this._gestureModeClock = new H.AlarmClock(_this._now);
        t1.__AlarmClock_callback = new H.EngineSemanticsOwner__getGestureModeClock_closure(_this);
      }
      return t1;
    },
    receiveGlobalEvent$1: function($event) {
      var t1, _this = this;
      if (C.JSArray_methods.contains$1(C.List_Cg9, $event.type)) {
        t1 = _this._getGestureModeClock$0();
        t1.toString;
        t1.set$datetime(J.add$1$ax(_this._now.call$0(), C.Duration_500000));
        if (_this._gestureMode !== C.GestureMode_0) {
          _this._gestureMode = C.GestureMode_0;
          _this._notifyGestureModeListeners$0();
        }
      }
      return _this.semanticsHelper._semanticsEnabler.shouldEnableSemantics$1($event);
    },
    _notifyGestureModeListeners$0: function() {
      var t1, i;
      for (t1 = this._gestureModeListeners, i = 0; i < t1.length; ++i)
        t1[i].call$1(this._gestureMode);
    },
    shouldAcceptBrowserGesture$1: function(eventType) {
      if (C.JSArray_methods.contains$1(C.List_click_scroll, eventType))
        return this._gestureMode === C.GestureMode_1;
      return false;
    },
    updateSemantics$1: function(uiUpdate) {
      var t1, t2, t3, t4, t5, _i, nodeUpdate, t6, object, t7, t8, _this = this;
      if (!_this._semanticsEnabled) {
        _this.semanticsHelper._semanticsEnabler.dispose$0(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; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        nodeUpdate = t1[_i];
        t6 = nodeUpdate.id;
        object = t3.$index(0, t6);
        if (object == null) {
          object = new H.SemanticsObject(t6, _this, W._ElementFactoryProvider_createElement_tag("flt-semantics", null), P.LinkedHashMap_LinkedHashMap$_empty(t4, t5));
          object.SemanticsObject$2(t6, _this);
          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.label;
        if (object.__engine$_label != t6) {
          object.__engine$_label = 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.__engine$_hint != t7) {
          object.__engine$_hint = t7;
          object._dirtyFields = (object._dirtyFields | 2048) >>> 0;
        }
        t7 = nodeUpdate.increasedValue;
        if (object.__engine$_increasedValue != t7) {
          object.__engine$_increasedValue = t7;
          object._dirtyFields = (object._dirtyFields | 8192) >>> 0;
        }
        t7 = nodeUpdate.decreasedValue;
        if (object.__engine$_decreasedValue != t7) {
          object.__engine$_decreasedValue = t7;
          object._dirtyFields = (object._dirtyFields | 16384) >>> 0;
        }
        t7 = nodeUpdate.textDirection;
        if (object.__engine$_textDirection != t7) {
          object.__engine$_textDirection = t7;
          object._dirtyFields = (object._dirtyFields | 32768) >>> 0;
        }
        t7 = object._childrenInHitTestOrder;
        t8 = nodeUpdate.childrenInHitTestOrder;
        if (t7 == null ? t8 != null : t7 !== t8) {
          object._childrenInHitTestOrder = t8;
          object._dirtyFields = (object._dirtyFields | 1048576) >>> 0;
        }
        t7 = object.__engine$_childrenInTraversalOrder;
        t8 = nodeUpdate.childrenInTraversalOrder;
        if (t7 == null ? t8 != null : t7 !== t8) {
          object.__engine$_childrenInTraversalOrder = t8;
          object._dirtyFields = (object._dirtyFields | 524288) >>> 0;
        }
        t7 = object._additionalActions;
        t8 = nodeUpdate.additionalActions;
        if (t7 == null ? t8 != null : t7 !== t8) {
          object._additionalActions = t8;
          object._dirtyFields = (object._dirtyFields | 2097152) >>> 0;
        }
        t7 = object.__engine$_label;
        if (!(t7 != null && t7.length !== 0)) {
          t7 = object.__engine$_value;
          t7 = t7 != null && t7.length !== 0;
        } 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(C.Role_2, t6);
        object._updateRole$2(C.Role_4, (object.__engine$_flags & 16) !== 0);
        t6 = object.__engine$_actions;
        t6.toString;
        object._updateRole$2(C.Role_3, ((t6 & 1) !== 0 || (object.__engine$_flags & 8) !== 0) && (object.__engine$_flags & 16) === 0);
        t6 = object.__engine$_actions;
        t6.toString;
        object._updateRole$2(C.Role_0, (t6 & 64) !== 0 || (t6 & 128) !== 0);
        t6 = object.__engine$_actions;
        t6.toString;
        object._updateRole$2(C.Role_1, (t6 & 32) !== 0 || (t6 & 16) !== 0 || (t6 & 4) !== 0 || (t6 & 8) !== 0);
        t6 = object.__engine$_flags;
        object._updateRole$2(C.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(C.Role_6, t6);
        t6 = object.__engine$_flags;
        object._updateRole$2(C.Role_7, (t6 & 32768) !== 0 && (t6 & 8192) === 0);
        object._updateChildrenInTraversalOrder$0();
        t6 = object._dirtyFields;
        if ((t6 & 512) !== 0 || (t6 & 65536) !== 0 || (t6 & 64) !== 0)
          object.recomputePositionAndSize$0();
        object._dirtyFields = 0;
      }
      if (_this._rootSemanticsElement == null) {
        t1 = t3.$index(0, 0).element;
        _this._rootSemanticsElement = t1;
        $.$get$domRenderer()._semanticsHostElement.appendChild(t1);
      }
      _this._finalizeTree$0();
    }
  };
  H.EngineSemanticsOwner$__closure.prototype = {
    call$0: function() {
      var t1 = this.$this._rootSemanticsElement;
      if (t1 != null)
        J.remove$0$ax(t1);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.EngineSemanticsOwner__now_closure.prototype = {
    call$0: function() {
      return new P.DateTime(Date.now(), false);
    },
    $signature: 1012
  };
  H.EngineSemanticsOwner__getGestureModeClock_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (t1._gestureMode === C.GestureMode_1)
        return;
      t1._gestureMode = C.GestureMode_1;
      t1._notifyGestureModeListeners$0();
    },
    $signature: 0
  };
  H.EnabledState.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.SemanticsHelper.prototype = {};
  H.SemanticsEnabler.prototype = {
    shouldEnableSemantics$1: function($event) {
      if (!this.get$isWaitingToEnableSemantics())
        return true;
      else
        return this.tryEnableSemantics$1($event);
    }
  };
  H.DesktopSemanticsEnabler.prototype = {
    get$isWaitingToEnableSemantics: function() {
      return this._semanticsPlaceholder != null;
    },
    tryEnableSemantics$1: function($event) {
      var t1, t2;
      if (this._semanticsPlaceholder == null)
        return true;
      t1 = $.EngineSemanticsOwner__instance;
      if ((t1 == null ? $.EngineSemanticsOwner__instance = H.EngineSemanticsOwner$_() : t1)._semanticsEnabled)
        return true;
      if (!J.containsKey$1$x(C.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 = H.EngineSemanticsOwner$_() : t1).set$semanticsEnabled(true);
      this.dispose$0(0);
      return false;
    },
    prepareAccessibilityPlaceholder$0: function() {
      var t2,
        t1 = this._semanticsPlaceholder = W._ElementFactoryProvider_createElement_tag("flt-semantics-placeholder", null);
      J.addEventListener$3$x(t1, "click", new H.DesktopSemanticsEnabler_prepareAccessibilityPlaceholder_closure(this), true);
      t1.setAttribute("role", "button");
      t1.setAttribute("aria-live", "true");
      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: function(_) {
      var t1 = this._semanticsPlaceholder;
      if (t1 != null)
        J.remove$0$ax(t1);
      this._semanticsPlaceholder = null;
    }
  };
  H.DesktopSemanticsEnabler_prepareAccessibilityPlaceholder_closure.prototype = {
    call$1: function($event) {
      this.$this.tryEnableSemantics$1($event);
    },
    $signature: 9
  };
  H.MobileSemanticsEnabler.prototype = {
    get$isWaitingToEnableSemantics: function() {
      return this._semanticsPlaceholder != null;
    },
    tryEnableSemantics$1: function($event) {
      var t1, removeNow, activationPoint, activatingElementRect, t2, t3, t4, t5, deltaX, deltaY, _this = this;
      if (_this._semanticsPlaceholder == null)
        return true;
      if (_this._schedulePlaceholderRemoval) {
        t1 = $.$get$_browserEngine();
        if (t1 === C.BrowserEngine_1) {
          t1 = $event.type;
          removeNow = t1 === "touchend" || t1 === "pointerup" || t1 === "click";
        } else
          removeNow = true;
        if (removeNow)
          _this.dispose$0(0);
        return true;
      }
      t1 = $.EngineSemanticsOwner__instance;
      if ((t1 == null ? $.EngineSemanticsOwner__instance = H.EngineSemanticsOwner$_() : t1)._semanticsEnabled)
        return true;
      if (++_this.semanticsActivationAttempts >= 20)
        return _this._schedulePlaceholderRemoval = true;
      if (!J.containsKey$1$x(C.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 = C.TouchList_methods.get$first(t1);
          activationPoint = new P.Point(C.JSNumber_methods.round$0(t1.clientX), C.JSNumber_methods.round$0(t1.clientY), type$.Point_num);
          break;
        case "pointerdown":
        case "pointerup":
          type$.PointerEvent._as($event);
          activationPoint = new P.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;
      t5 = activationPoint.x;
      t5.toString;
      deltaX = t5 - (t1 + (t2 - t1) / 2);
      t1 = activationPoint.y;
      t1.toString;
      deltaY = t1 - (t3 + (t4 - t3) / 2);
      if (deltaX * deltaX + deltaY * deltaY < 1 && true) {
        _this._schedulePlaceholderRemoval = true;
        _this.semanticsActivationTimer = P.Timer_Timer(C.Duration_300000, new H.MobileSemanticsEnabler_tryEnableSemantics_closure(_this));
        return false;
      }
      return true;
    },
    prepareAccessibilityPlaceholder$0: function() {
      var t2,
        t1 = this._semanticsPlaceholder = W._ElementFactoryProvider_createElement_tag("flt-semantics-placeholder", null);
      J.addEventListener$3$x(t1, "click", new H.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: function(_) {
      var t1 = this._semanticsPlaceholder;
      if (t1 != null)
        J.remove$0$ax(t1);
      this.semanticsActivationTimer = this._semanticsPlaceholder = null;
    }
  };
  H.MobileSemanticsEnabler_tryEnableSemantics_closure.prototype = {
    call$0: function() {
      this.$this.dispose$0(0);
      var t1 = $.EngineSemanticsOwner__instance;
      (t1 == null ? $.EngineSemanticsOwner__instance = H.EngineSemanticsOwner$_() : t1).set$semanticsEnabled(true);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.MobileSemanticsEnabler_prepareAccessibilityPlaceholder_closure.prototype = {
    call$1: function($event) {
      this.$this.tryEnableSemantics$1($event);
    },
    $signature: 9
  };
  H.Tappable.prototype = {
    update$0: function(_) {
      var t2, _this = this,
        t1 = _this.semanticsObject,
        element = t1.element;
      element.tabIndex = 0;
      t1.setAriaRole$2("button", (t1.__engine$_flags & 8) !== 0);
      if (t1.enabledState$0() === C.EnabledState_2 && (t1.__engine$_flags & 8) !== 0) {
        element.setAttribute("aria-disabled", "true");
        _this._stopListening$0();
      } else {
        t2 = t1.__engine$_actions;
        t2.toString;
        if ((t2 & 1) !== 0 && (t1.__engine$_flags & 16) === 0) {
          if (_this._clickListener == null) {
            t2 = new H.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: function() {
      var t1 = this._clickListener;
      if (t1 == null)
        return;
      J.removeEventListener$2$x(this.semanticsObject.element, "click", t1);
      this._clickListener = null;
    },
    dispose$0: function(_) {
      this._stopListening$0();
      this.semanticsObject.setAriaRole$2("button", false);
    }
  };
  H.Tappable_update_closure.prototype = {
    call$1: function(_) {
      var t2,
        t1 = this.$this.semanticsObject;
      if (t1.owner._gestureMode !== C.GestureMode_1)
        return;
      t2 = $.$get$EnginePlatformDispatcher__instance();
      H.invoke3(t2._onSemanticsAction, t2._onSemanticsActionZone, t1.id, C.SemanticsAction_1, null);
    },
    $signature: 9
  };
  H.SemanticsTextEditingStrategy.prototype = {
    enable$3$onAction$onChange: function(_, inputConfig, onAction, onChange) {
      this.inputConfig = inputConfig;
      this.onChange = onChange;
      this.onAction = onAction;
    },
    activate$1: function(textField) {
      var t2, t3, _this = this,
        t1 = _this.activeTextField;
      if (t1 === textField)
        return;
      else if (t1 != null)
        _this.disable$0(0);
      _this.activeTextField = textField;
      _this.domElement = textField.get$editableElement();
      _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: function(_) {
      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]);
      C.JSArray_methods.set$length(t1, 0);
      _this._lastEditingState = null;
      t1 = _this.domElement;
      if (t1 != null)
        t1.blur();
      _this._queuedStyle = _this.activeTextField = _this.domElement = null;
    },
    addEventHandlers$0: function() {
      var t1, t2, t3, _this = this;
      if (_this.get$_inputConfiguration().autofillGroup != null)
        C.JSArray_methods.addAll$1(_this._subscriptions, _this.get$_inputConfiguration().autofillGroup.addInputEventListeners$0());
      t1 = _this._subscriptions;
      t2 = _this.domElement;
      t2.toString;
      t3 = _this.get$_handleChange();
      t1.push(W._EventStreamSubscription$(t2, "input", t3, false, type$._ElementEventStreamImpl_legacy_Event._precomputed1));
      t2 = _this.domElement;
      t2.toString;
      t1.push(W._EventStreamSubscription$(t2, "keydown", _this.get$_maybeSendAction(), false, type$._ElementEventStreamImpl_legacy_KeyboardEvent._precomputed1));
      t1.push(W._EventStreamSubscription$(document, "selectionchange", t3, false, type$.legacy_Event));
      _this.preventDefaultForMouseEvents$0();
    },
    initializeTextEditing$3$onAction$onChange: function(inputConfig, onAction, onChange) {
      var _this = this;
      _this.isEnabled = true;
      _this.__DefaultTextEditingStrategy__inputConfiguration = inputConfig;
      _this._onChange = onChange;
      _this._onAction = onAction;
      _this._applyConfiguration$1(inputConfig);
    },
    placeElement$0: function() {
      this.get$_inputConfiguration().toString;
      this.domElement.focus();
    },
    initializeElementPlacement$0: function() {
    },
    updateElementPlacement$1: function(geometry) {
    },
    updateElementStyle$1: function(style) {
      this._queuedStyle = style;
      this._syncStyle$0();
    },
    _syncStyle$0: function() {
      var t1 = this._queuedStyle;
      if (t1 == null || this.domElement == null)
        return;
      t1.toString;
      this.super$DefaultTextEditingStrategy$updateElementStyle(t1);
    }
  };
  H.TextField.prototype = {
    get$editableElement: function() {
      var t1 = this.__TextField_editableElement;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("editableElement")) : t1;
    },
    _initializeForBlink$0: function() {
      J.addEventListener$2$x(this.get$editableElement(), "focus", new H.TextField__initializeForBlink_closure(this));
    },
    _initializeForWebkit$0: function() {
      var _this = this, t1 = {},
        t2 = $.$get$_operatingSystem();
      if (t2 === C.OperatingSystem_4) {
        _this._initializeForBlink$0();
        return;
      }
      t1.lastTouchStartOffsetY = t1.lastTouchStartOffsetX = null;
      J.addEventListener$3$x(_this.get$editableElement(), "touchstart", new H.TextField__initializeForWebkit_closure(t1), true);
      J.addEventListener$3$x(_this.get$editableElement(), "touchend", new H.TextField__initializeForWebkit_closure0(t1, _this), true);
    },
    update$0: function(_) {
      var t3, editingState, needsDomFocusRequest, element, _this = this,
        _s10_ = "aria-label",
        t1 = _this.semanticsObject,
        t2 = t1.__engine$_label;
      if (t2 != null && t2.length !== 0) {
        t2 = _this.get$editableElement();
        t3 = t1.__engine$_label;
        t3.toString;
        t2.setAttribute(_s10_, t3);
      } else
        _this.get$editableElement().removeAttribute(_s10_);
      t2 = _this.get$editableElement().style;
      t3 = t1.__engine$_rect;
      t3 = H.S(t3.right - t3.left) + "px";
      t2.width = t3;
      t3 = t1.__engine$_rect;
      t3 = H.S(t3.bottom - t3.top) + "px";
      t2.height = t3;
      t2 = t1.__engine$_value;
      editingState = H.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.get$editableElement();
        if (t2 == null ? t3 != null : t2 !== t3)
          needsDomFocusRequest = true;
        $.SemanticsTextEditingStrategy__instance.setEditingState$1(editingState);
      } else {
        if (_this._hasFocused) {
          t2 = $.SemanticsTextEditingStrategy__instance;
          if (t2.activeTextField === _this)
            t2.disable$0(0);
          element = _this.get$editableElement();
          if (type$.InputElement._is(element))
            element.value = editingState.text;
          else if (type$.TextAreaElement._is(element))
            element.value = editingState.text;
          else
            H.throwExpression(P.UnsupportedError$("Unsupported DOM element type"));
          if (_this._hasFocused) {
            t2 = document.activeElement;
            t3 = _this.get$editableElement();
            t3 = t2 == null ? t3 == null : t2 === t3;
            t2 = t3;
          } else
            t2 = false;
          if (t2)
            _this.get$editableElement().blur();
          _this._hasFocused = false;
        }
        needsDomFocusRequest = false;
      }
      if (needsDomFocusRequest)
        t1.owner._oneTimePostUpdateCallbacks.push(new H.TextField_update_closure(_this));
    },
    dispose$0: function(_) {
      var t1;
      J.remove$0$ax(this.get$editableElement());
      t1 = $.SemanticsTextEditingStrategy__instance;
      if (t1.activeTextField === this)
        t1.disable$0(0);
    }
  };
  H.TextField__initializeForBlink_closure.prototype = {
    call$1: function($event) {
      var t2,
        t1 = this.$this.semanticsObject;
      if (t1.owner._gestureMode !== C.GestureMode_1)
        return;
      t2 = $.$get$EnginePlatformDispatcher__instance();
      H.invoke3(t2._onSemanticsAction, t2._onSemanticsActionZone, t1.id, C.SemanticsAction_1, null);
    },
    $signature: 9
  };
  H.TextField__initializeForWebkit_closure.prototype = {
    call$1: function($event) {
      var t1, t2;
      type$.TouchEvent._as($event);
      t1 = $event.changedTouches;
      t1.toString;
      t1 = C.TouchList_methods.get$last(t1);
      t2 = C.JSNumber_methods.round$0(t1.clientX);
      C.JSNumber_methods.round$0(t1.clientY);
      t1 = this._box_0;
      t1.lastTouchStartOffsetX = t2;
      t2 = $event.changedTouches;
      t2.toString;
      t2 = C.TouchList_methods.get$last(t2);
      C.JSNumber_methods.round$0(t2.clientX);
      t1.lastTouchStartOffsetY = C.JSNumber_methods.round$0(t2.clientY);
    },
    $signature: 9
  };
  H.TextField__initializeForWebkit_closure0.prototype = {
    call$1: function($event) {
      var t1, t2, offsetX, offsetY;
      type$.TouchEvent._as($event);
      t1 = this._box_0;
      if (t1.lastTouchStartOffsetX != null) {
        t2 = $event.changedTouches;
        t2.toString;
        t2 = C.TouchList_methods.get$last(t2);
        offsetX = C.JSNumber_methods.round$0(t2.clientX);
        C.JSNumber_methods.round$0(t2.clientY);
        t2 = $event.changedTouches;
        t2.toString;
        t2 = C.TouchList_methods.get$last(t2);
        C.JSNumber_methods.round$0(t2.clientX);
        offsetY = C.JSNumber_methods.round$0(t2.clientY);
        if (offsetX * offsetX + offsetY * offsetY < 324) {
          t2 = $.$get$EnginePlatformDispatcher__instance();
          H.invoke3(t2._onSemanticsAction, t2._onSemanticsActionZone, this.$this.semanticsObject.id, C.SemanticsAction_1, null);
        }
      }
      t1.lastTouchStartOffsetY = t1.lastTouchStartOffsetX = null;
    },
    $signature: 9
  };
  H.TextField_update_closure.prototype = {
    call$0: function() {
      var t1 = document.activeElement,
        t2 = this.$this,
        t3 = t2.get$editableElement();
      if (t1 == null ? t3 != null : t1 !== t3)
        t2.get$editableElement().focus();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H._TypedDataBuffer.prototype = {
    get$length: function(_) {
      return this.__engine$_length;
    },
    $index: function(_, index) {
      if (index >= this.__engine$_length)
        throw H.wrapException(P.IndexError$(index, this, null, null, null));
      return this.__engine$_buffer[index];
    },
    $indexSet: function(_, index, value) {
      if (index >= this.__engine$_length)
        throw H.wrapException(P.IndexError$(index, this, null, null, null));
      this.__engine$_buffer[index] = value;
    },
    set$length: function(_, 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.__engine$_createBiggerBuffer$1(newLength);
          C.NativeUint8List_methods.setRange$3(newBuffer, 0, _this.__engine$_length, _this.__engine$_buffer);
          _this.__engine$_buffer = newBuffer;
        }
      }
      _this.__engine$_length = newLength;
    },
    __engine$_add$1: function(_, 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: function(_, 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: function(_, values, start, end) {
      P.RangeError_checkNotNegative(start, "start");
      if (end != null && start > end)
        throw H.wrapException(P.RangeError$range(end, start, null, "end", null));
      this.__engine$_addAll$3(values, start, end);
    },
    addAll$1: function($receiver, values) {
      return this.addAll$3($receiver, values, 0, null);
    },
    __engine$_addAll$3: function(values, start, end) {
      var t1, i, value, _this = this;
      if (H._instanceType(_this)._eval$1("List<_TypedDataBuffer.E>")._is(values))
        end = end == null ? J.get$length$asx(values) : end;
      if (end != null) {
        _this.__engine$_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 H.wrapException(P.StateError$("Too few elements"));
    },
    __engine$_insertKnownLength$4: function(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 H.wrapException(P.StateError$("Too few elements"));
      valuesLength = end - start;
      newLength = _this.__engine$_length + valuesLength;
      _this.__engine$_ensureCapacity$1(newLength);
      t1 = _this.__engine$_buffer;
      t2 = index + valuesLength;
      C.NativeUint8List_methods.setRange$4(t1, t2, _this.__engine$_length + valuesLength, t1, index);
      C.NativeUint8List_methods.setRange$4(_this.__engine$_buffer, index, t2, values, start);
      _this.__engine$_length = newLength;
    },
    __engine$_ensureCapacity$1: function(requiredCapacity) {
      var newBuffer, _this = this;
      if (requiredCapacity <= _this.__engine$_buffer.length)
        return;
      newBuffer = _this.__engine$_createBiggerBuffer$1(requiredCapacity);
      C.NativeUint8List_methods.setRange$3(newBuffer, 0, _this.__engine$_length, _this.__engine$_buffer);
      _this.__engine$_buffer = newBuffer;
    },
    __engine$_createBiggerBuffer$1: function(requiredCapacity) {
      var newLength = this.__engine$_buffer.length * 2;
      if (requiredCapacity != null && newLength < requiredCapacity)
        newLength = requiredCapacity;
      else if (newLength < 8)
        newLength = 8;
      if (!H._isInt(newLength))
        H.throwExpression(P.ArgumentError$("Invalid length " + H.S(newLength)));
      return new Uint8Array(newLength);
    },
    __engine$_grow$1: function($length) {
      var t1 = this.__engine$_createBiggerBuffer$1(null);
      C.NativeUint8List_methods.setRange$3(t1, 0, $length, this.__engine$_buffer);
      this.__engine$_buffer = t1;
    },
    setRange$4: function(_, start, end, source, skipCount) {
      var t1 = this.__engine$_length;
      if (end > t1)
        throw H.wrapException(P.RangeError$range(end, 0, t1, null, null));
      t1 = this.__engine$_buffer;
      if (H._instanceType(this)._eval$1("_TypedDataBuffer<_TypedDataBuffer.E>")._is(source))
        C.NativeUint8List_methods.setRange$4(t1, start, end, source.__engine$_buffer, skipCount);
      else
        C.NativeUint8List_methods.setRange$4(t1, start, end, source, skipCount);
    },
    setRange$3: function($receiver, start, end, source) {
      return this.setRange$4($receiver, start, end, source, 0);
    }
  };
  H._IntBuffer.prototype = {};
  H.Uint8Buffer0.prototype = {};
  H.MethodCall0.prototype = {
    toString$0: function(_) {
      return H.getRuntimeType(this).toString$0(0) + "(" + this.method + ", " + H.S(this.$arguments) + ")";
    }
  };
  H.JSONMessageCodec.prototype = {
    encodeMessage$1: function(message) {
      return H.NativeByteData_NativeByteData$view(C.C_Utf8Encoder.convert$1(C.C_JsonCodec.encode$1(message)).buffer, 0, null);
    },
    decodeMessage$1: function(message) {
      if (message == null)
        return message;
      return C.C_JsonCodec.decode$1(0, C.Utf8Decoder_false.convert$1(J.asUint8List$0$x(J.get$buffer$x(message))));
    }
  };
  H.JSONMethodCodec.prototype = {
    encodeMethodCall$1: function($call) {
      return C.C_JSONMessageCodec0.encodeMessage$1(P.LinkedHashMap_LinkedHashMap$_literal(["method", $call.method, "args", $call.$arguments], type$.String, type$.dynamic));
    },
    decodeMethodCall$1: function(methodCall) {
      var t1, method, $arguments, _null = null,
        decoded = C.C_JSONMessageCodec0.decodeMessage$1(methodCall);
      if (!type$.Map_dynamic_dynamic._is(decoded))
        throw H.wrapException(P.FormatException$("Expected method call Map, got " + H.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 H.MethodCall0(method, $arguments);
      throw H.wrapException(P.FormatException$("Invalid method call: " + H.S(decoded), _null, _null));
    }
  };
  H.StandardMessageCodec.prototype = {
    encodeMessage$1: function(message) {
      var buffer = H.WriteBuffer_WriteBuffer();
      this.writeValue$2(0, buffer, true);
      return buffer.done$0();
    },
    decodeMessage$1: function(message) {
      var buffer, result;
      if (message == null)
        return null;
      buffer = new H.ReadBuffer0(message);
      result = this.readValue$1(0, buffer);
      if (buffer.__engine$_position < message.byteLength)
        throw H.wrapException(C.FormatException_oCg);
      return result;
    },
    writeValue$2: function(_, buffer, value) {
      var t1, t2, t3, bytes, _this = this;
      if (value == null)
        buffer.__engine$_buffer.__engine$_add$1(0, 0);
      else if (H._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, C.C_Endian === $.$get$Endian_host());
        t1.addAll$1(0, buffer.__engine$_eightBytesAsList);
      } else if (H._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, C.C_Endian === $.$get$Endian_host());
          t2.addAll$3(0, buffer.__engine$_eightBytesAsList, 0, 4);
        } else {
          t2.__engine$_add$1(0, 4);
          C.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 = C.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, J.get$length$asx(value));
        t1.addAll$1(0, value);
      } else if (type$.Int32List._is(value)) {
        t1 = buffer.__engine$_buffer;
        t1.__engine$_add$1(0, 9);
        t2 = J.getInterceptor$asx(value);
        _this.writeSize$2(buffer, t2.get$length(value));
        buffer.__engine$_alignTo$1(4);
        t1.addAll$1(0, J.asUint8List$2$x(t2.get$buffer(value), t2.get$offsetInBytes(value), 4 * t2.get$length(value)));
      } else if (type$.Int64List._is(value)) {
        buffer.__engine$_buffer.__engine$_add$1(0, 10);
        _this.writeSize$2(buffer, value.get$length(value));
      } else if (type$.Float64List._is(value)) {
        t1 = buffer.__engine$_buffer;
        t1.__engine$_add$1(0, 11);
        t2 = J.getInterceptor$asx(value);
        _this.writeSize$2(buffer, t2.get$length(value));
        buffer.__engine$_alignTo$1(8);
        t1.addAll$1(0, J.asUint8List$2$x(t2.get$buffer(value), t2.get$offsetInBytes(value), 8 * t2.get$length(value)));
      } 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 H.StandardMessageCodec_writeValue_closure0(_this, buffer));
      } else
        throw H.wrapException(P.ArgumentError$value(value, null, null));
    },
    readValue$1: function(_, buffer) {
      if (!(buffer.__engine$_position < buffer.data.byteLength))
        throw H.wrapException(C.FormatException_oCg);
      return this.readValueOfType$2(buffer.getUint8$0(0), buffer);
    },
    readValueOfType$2: function(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, C.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 = P.int_parse(C.Utf8Decoder_false.convert$1(buffer.getUint8List$1($length)), 16);
          break;
        case 6:
          buffer.__engine$_alignTo$1(8);
          value = buffer.data.getFloat64(buffer.__engine$_position, C.C_Endian === $.$get$Endian_host());
          buffer.__engine$_position += 8;
          result = value;
          break;
        case 7:
          $length = _this.readSize$1(buffer);
          result = C.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 = H.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 = H.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))
              H.throwExpression(C.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 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
          for (t1 = buffer.data, i = 0; i < $length; ++i) {
            t2 = buffer.__engine$_position;
            if (!(t2 < t1.byteLength))
              H.throwExpression(C.FormatException_oCg);
            buffer.__engine$_position = t2 + 1;
            t2 = _this.readValueOfType$2(t1.getUint8(t2), buffer);
            t3 = buffer.__engine$_position;
            if (!(t3 < t1.byteLength))
              H.throwExpression(C.FormatException_oCg);
            buffer.__engine$_position = t3 + 1;
            result.$indexSet(0, t2, _this.readValueOfType$2(t1.getUint8(t3), buffer));
          }
          break;
        default:
          throw H.wrapException(C.FormatException_oCg);
      }
      return result;
    },
    writeSize$2: function(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, C.C_Endian === $.$get$Endian_host());
          t1.addAll$3(0, t3, 0, 2);
        } else {
          t1.__engine$_add$1(0, 255);
          t2.setUint32(0, value, C.C_Endian === $.$get$Endian_host());
          t1.addAll$3(0, t3, 0, 4);
        }
      }
    },
    readSize$1: function(buffer) {
      var value = buffer.getUint8$0(0);
      switch (value) {
        case 254:
          value = buffer.data.getUint16(buffer.__engine$_position, C.C_Endian === $.$get$Endian_host());
          buffer.__engine$_position += 2;
          return value;
        case 255:
          value = buffer.data.getUint32(buffer.__engine$_position, C.C_Endian === $.$get$Endian_host());
          buffer.__engine$_position += 4;
          return value;
        default:
          return value;
      }
    }
  };
  H.StandardMessageCodec_writeValue_closure0.prototype = {
    call$2: function(key, value) {
      var t1 = this.$this,
        t2 = this.buffer;
      t1.writeValue$2(0, t2, key);
      t1.writeValue$2(0, t2, value);
    },
    $signature: 86
  };
  H.StandardMethodCodec.prototype = {
    decodeMethodCall$1: function(methodCall) {
      var buffer, method, $arguments;
      methodCall.toString;
      buffer = new H.ReadBuffer0(methodCall);
      method = C.C_StandardMessageCodec0.readValue$1(0, buffer);
      $arguments = C.C_StandardMessageCodec0.readValue$1(0, buffer);
      if (typeof method == "string" && !(buffer.__engine$_position < methodCall.byteLength))
        return new H.MethodCall0(method, $arguments);
      else
        throw H.wrapException(C.FormatException_Qi2);
    },
    encodeSuccessEnvelope$1: function(result) {
      var buffer = H.WriteBuffer_WriteBuffer();
      buffer.__engine$_buffer.__engine$_add$1(0, 0);
      C.C_StandardMessageCodec0.writeValue$2(0, buffer, result);
      return buffer.done$0();
    },
    encodeErrorEnvelope$3$code$details$message: function(code, details, message) {
      var buffer = H.WriteBuffer_WriteBuffer();
      buffer.__engine$_buffer.__engine$_add$1(0, 1);
      C.C_StandardMessageCodec0.writeValue$2(0, buffer, code);
      C.C_StandardMessageCodec0.writeValue$2(0, buffer, message);
      C.C_StandardMessageCodec0.writeValue$2(0, buffer, details);
      return buffer.done$0();
    }
  };
  H.WriteBuffer0.prototype = {
    __engine$_alignTo$1: function(alignment) {
      var t2, i,
        t1 = this.__engine$_buffer,
        mod = C.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: function() {
      var t1, t2;
      this._debugFinalized = true;
      t1 = this.__engine$_buffer;
      t2 = t1.__engine$_buffer;
      return H.NativeByteData_NativeByteData$view(t2.buffer, 0, t1.__engine$_length * t2.BYTES_PER_ELEMENT);
    }
  };
  H.ReadBuffer0.prototype = {
    getUint8$0: function(_) {
      return this.data.getUint8(this.__engine$_position++);
    },
    getInt64$0: function(_) {
      var t1 = this.data;
      (t1 && C.NativeByteData_methods).getInt64$2(t1, this.__engine$_position, $.$get$Endian_host());
    },
    getUint8List$1: function($length) {
      var _this = this,
        t1 = _this.data,
        list = H.NativeUint8List_NativeUint8List$view(t1.buffer, t1.byteOffset + _this.__engine$_position, $length);
      _this.__engine$_position = _this.__engine$_position + $length;
      return list;
    },
    getInt64List$1: function($length) {
      var t1;
      this.__engine$_alignTo$1(8);
      t1 = this.data;
      C.NativeByteBuffer_methods.asInt64List$2(t1.buffer, t1.byteOffset + this.__engine$_position, $length);
    },
    __engine$_alignTo$1: function(alignment) {
      var t1 = this.__engine$_position,
        mod = C.JSInt_methods.$mod(t1, alignment);
      if (mod !== 0)
        this.__engine$_position = t1 + (alignment - mod);
    }
  };
  H.SurfaceShadowData.prototype = {};
  H.CanvasParagraph.prototype = {
    get$width: function(_) {
      return this.get$_layoutService().width;
    },
    get$height: function(_) {
      return this.get$_layoutService().height;
    },
    get$longestLine: function() {
      var t1 = this.get$_layoutService().longestLine;
      t1 = t1 == null ? null : t1.width;
      return t1 == null ? 0 : t1;
    },
    get$minIntrinsicWidth: function() {
      return this.get$_layoutService().minIntrinsicWidth;
    },
    get$maxIntrinsicWidth: function() {
      return this.get$_layoutService().maxIntrinsicWidth;
    },
    get$alphabeticBaseline: function(_) {
      return this.get$_layoutService().alphabeticBaseline;
    },
    get$ideographicBaseline: function(_) {
      return this.get$_layoutService().ideographicBaseline;
    },
    get$didExceedMaxLines: function(_) {
      this.get$_layoutService().toString;
      return false;
    },
    get$_layoutService: function() {
      var _this = this,
        t1 = _this.__CanvasParagraph__layoutService;
      if (t1 === $) {
        t1 = new H.TextLayoutService(_this, W.CanvasElement_CanvasElement(null, null).getContext("2d"), H._setArrayType([], type$.JSArray_EngineLineMetrics));
        if (_this.__CanvasParagraph__layoutService === $)
          _this.__CanvasParagraph__layoutService = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("_layoutService"));
      }
      return t1;
    },
    layout$1: function(_, constraints) {
      var _this = this,
        t1 = constraints.width;
      t1.toString;
      constraints = new P.ParagraphConstraints(Math.floor(t1));
      if (constraints.$eq(0, _this._lastUsedConstraints))
        return;
      H._Cell$named("stopwatch");
      _this.get$_layoutService().performLayout$1(constraints);
      _this.isLaidOut = true;
      _this._lastUsedConstraints = constraints;
      _this._cachedDomElement = null;
    },
    get$hasArbitraryPaint: function() {
      return true;
    },
    paint$2: function(canvas, offset) {
      var t1 = this.__CanvasParagraph__paintService;
      if (t1 === $)
        t1 = this.__CanvasParagraph__paintService = new H.TextPaintService(this);
      t1.paint$2(canvas, offset);
    },
    toDomElement$0: function() {
      var t1,
        domElement = this._cachedDomElement;
      if (domElement == null) {
        t1 = this._createDomElement$0();
        this._cachedDomElement = t1;
        return t1;
      }
      return type$.HtmlElement._as(domElement.cloneNode(true));
    },
    _createDomElement$0: function() {
      var t4, lines, element, span, i, element0, line, _i, box, span0, t5, ellipsis, _this = this,
        t1 = type$.HtmlElement,
        rootElement = t1._as($.$get$domRenderer().createElement$1(0, "p")),
        t2 = _this.paragraphStyle,
        cssStyle = rootElement.style,
        t3 = t2._textAlign;
      if (t3 != null) {
        t4 = t2.__engine$_textDirection;
        t3 = H.textAlignToCssValue(t3, t4 == null ? C.TextDirection_1 : t4);
        cssStyle.textAlign = t3;
      }
      if (t2.get$_lineHeight(t2) != null) {
        t3 = H.S(t2.get$_lineHeight(t2));
        cssStyle.lineHeight = t3;
      }
      t3 = t2.__engine$_textDirection;
      if (t3 != null) {
        t3 = H._textDirectionToCss(t3);
        cssStyle.toString;
        cssStyle.direction = t3 == null ? "" : t3;
      }
      H._applySpanStylesToParagraph(rootElement, _this.spans);
      cssStyle = rootElement.style;
      cssStyle.position = "absolute";
      cssStyle.whiteSpace = "pre";
      if (_this.get$_layoutService().width > _this.get$longestLine()) {
        t3 = H.S(_this.get$_layoutService().width) + "px";
        cssStyle.width = t3;
      }
      if (t2._maxLines != null || t2._ellipsis != null) {
        C.CssStyleDeclaration_methods._setPropertyHelper$3(cssStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(cssStyle, "overflow-y"), "hidden", "");
        t2 = H.S(_this.get$_layoutService().height) + "px";
        cssStyle.height = t2;
      }
      lines = _this.get$_layoutService().lines;
      for (element = rootElement, span = null, i = 0; i < lines.length; ++i) {
        if (i > 0) {
          $.$get$domRenderer().toString;
          element0 = document.createElement("br");
          element.appendChild(element0);
        }
        line = lines[i];
        for (t2 = line.boxes, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
          box = t2[_i];
          if (box instanceof H.SpanBox) {
            span0 = box.span;
            if (span0 != span) {
              $.$get$domRenderer().toString;
              element = document.createElement("span");
              t1._as(element);
              H._applyTextStyleToElement(element, true, span0.style);
              rootElement.appendChild(element);
              span = span0;
            }
            t4 = $.$get$domRenderer();
            t5 = C.JSString_methods.substring$2(box.spanometer.paragraph.plainText, box.start.index, box.end.indexWithoutTrailingNewlines);
            t4.toString;
            element.appendChild(document.createTextNode(t5));
          } else {
            if (box instanceof H.PlaceholderBox) {
              span = box.placeholder;
              t4 = $.$get$domRenderer();
              t5 = H._createPlaceholderElement(span);
              t4.toString;
              rootElement.appendChild(t5);
            } else
              throw H.wrapException(P.UnimplementedError$("Unknown box type: " + box.get$runtimeType(box).toString$0(0)));
            element = rootElement;
          }
        }
        ellipsis = line.ellipsis;
        if (ellipsis != null) {
          $.$get$domRenderer().toString;
          element.appendChild(document.createTextNode(ellipsis));
        }
      }
      return rootElement;
    },
    getBoxesForPlaceholders$0: function() {
      return this.get$_layoutService().getBoxesForPlaceholders$0();
    },
    getBoxesForRange$4$boxHeightStyle$boxWidthStyle: function(start, end, boxHeightStyle, boxWidthStyle) {
      return this.get$_layoutService().getBoxesForRange$4(start, end, boxHeightStyle, boxWidthStyle);
    },
    getBoxesForRange$3$boxHeightStyle: function(start, end, boxHeightStyle) {
      return this.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(start, end, boxHeightStyle, C.BoxWidthStyle_0);
    },
    getPositionForOffset$1: function(offset) {
      return this.get$_layoutService().getPositionForOffset$1(offset);
    },
    getWordBoundary$1: function(_, position) {
      var text = this.plainText,
        t1 = position.offset;
      return new P.TextRange(H.WordBreaker__findBreakIndex(C._FindBreakDirection_m1, text, t1 + 1), H.WordBreaker__findBreakIndex(C._FindBreakDirection_1, text, t1));
    },
    getLineBoundary$1: function(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 P.TextRange(line.startIndex, line.endIndex);
    },
    $isEngineParagraph: 1,
    get$drawOnCanvas: function() {
      return this.drawOnCanvas;
    },
    get$isLaidOut: function() {
      return this.isLaidOut;
    }
  };
  H.FlatTextSpan.prototype = {$isParagraphSpan: 1,
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  H.StyleNode.prototype = {
    resolveStyle$0: function() {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, _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$_fontFamilyFallback();
        t11 = _this.get$_fontFeatures();
        t12 = _this.get$_fontSize(_this);
        t13 = _this.get$_letterSpacing(_this);
        t14 = _this.get$_wordSpacing(_this);
        t15 = _this.get$__engine$_height(_this);
        t16 = _this.get$_locale();
        t14 = H.EngineTextStyle$only(_this.get$_background(_this), t1, t2, t3, t4, t5, t9, t10, t11, t12, t7, t6, _this.get$_foreground(), t15, t13, t16, _this.get$_shadows(), t8, t14);
        _this._cachedStyle = t14;
        return t14;
      }
      return style;
    }
  };
  H.ChildStyleNode.prototype = {
    get$_color: function(_) {
      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: function() {
      var t1 = this.style._decoration;
      return t1 == null ? this.parent.get$_decoration() : t1;
    },
    get$_decorationColor: function() {
      var t1 = this.style._decorationColor;
      return t1 == null ? this.parent.get$_decorationColor() : t1;
    },
    get$_decorationStyle: function() {
      var t1 = this.style._decorationStyle;
      return t1 == null ? this.parent.get$_decorationStyle() : t1;
    },
    get$_decorationThickness: function() {
      var t1 = this.style._decorationThickness;
      return t1 == null ? this.parent.get$_decorationThickness() : t1;
    },
    get$_fontWeight: function(_) {
      var t1 = this.style._fontWeight;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_fontWeight(t1);
      }
      return t1;
    },
    get$_fontStyle: function(_) {
      var t1 = this.style._fontStyle;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_fontStyle(t1);
      }
      return t1;
    },
    get$_textBaseline: function() {
      var t1 = this.style._textBaseline;
      return t1 == null ? this.parent.get$_textBaseline() : t1;
    },
    get$_fontFamilyFallback: function() {
      var t1 = this.style._fontFamilyFallback;
      return t1 == null ? this.parent.get$_fontFamilyFallback() : t1;
    },
    get$_fontFeatures: function() {
      this.style.toString;
      var t1 = this.parent.get$_fontFeatures();
      return t1;
    },
    get$_fontSize: function(_) {
      var t1 = this.style._fontSize;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_fontSize(t1);
      }
      return t1;
    },
    get$_letterSpacing: function(_) {
      var t1 = this.style._letterSpacing;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_letterSpacing(t1);
      }
      return t1;
    },
    get$_wordSpacing: function(_) {
      var t1 = this.style._wordSpacing;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_wordSpacing(t1);
      }
      return t1;
    },
    get$__engine$_height: function(_) {
      var t1 = this.style.__engine$_height;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$__engine$_height(t1);
      }
      return t1;
    },
    get$_locale: function() {
      var t1 = this.style._locale;
      return t1 == null ? this.parent.get$_locale() : t1;
    },
    get$_background: function(_) {
      var t1 = this.style._background;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_background(t1);
      }
      return t1;
    },
    get$_foreground: function() {
      var t1 = this.style._foreground;
      return t1 == null ? this.parent.get$_foreground() : t1;
    },
    get$_shadows: function() {
      var t1 = this.style._shadows;
      return t1 == null ? this.parent.get$_shadows() : t1;
    },
    get$_fontFamily: function(_) {
      var t1 = this.style;
      if (t1._isFontFamilyProvided)
        t1 = t1._fontFamily;
      else {
        t1 = this.parent;
        t1 = t1.get$_fontFamily(t1);
      }
      return t1;
    },
    get$parent: function(receiver) {
      return this.parent;
    }
  };
  H.RootStyleNode.prototype = {
    get$_decoration: function() {
      return null;
    },
    get$_decorationColor: function() {
      return null;
    },
    get$_decorationStyle: function() {
      return null;
    },
    get$_decorationThickness: function() {
      return null;
    },
    get$_fontWeight: function(_) {
      return this.paragraphStyle._fontWeight;
    },
    get$_fontStyle: function(_) {
      return this.paragraphStyle._fontStyle;
    },
    get$_textBaseline: function() {
      return null;
    },
    get$_fontFamily: function(_) {
      var t1 = this.paragraphStyle._fontFamily;
      return t1 == null ? "sans-serif" : t1;
    },
    get$_fontFamilyFallback: function() {
      return null;
    },
    get$_fontFeatures: function() {
      return null;
    },
    get$_fontSize: function(_) {
      var t1 = this.paragraphStyle._fontSize;
      return t1 == null ? 14 : t1;
    },
    get$_letterSpacing: function(_) {
      return null;
    },
    get$_wordSpacing: function(_) {
      return null;
    },
    get$__engine$_height: function(_) {
      return this.paragraphStyle.__engine$_height;
    },
    get$_locale: function() {
      return this.paragraphStyle._locale;
    },
    get$_background: function(_) {
      return null;
    },
    get$_foreground: function() {
      return null;
    },
    get$_shadows: function() {
      return null;
    },
    get$_color: function() {
      return C.Color_4294901760;
    }
  };
  H.CanvasParagraphBuilder.prototype = {
    get$_currentStyleNode: function() {
      var t1 = this._styleStack,
        t2 = t1.length;
      return t2 === 0 ? this._rootStyleNode : t1[t2 - 1];
    },
    get$placeholderScales: function() {
      return this._placeholderScales;
    },
    pushStyle$1: function(_, style) {
      this._styleStack.push(new H.ChildStyleNode(this.get$_currentStyleNode(), type$.EngineTextStyle._as(style)));
    },
    pop$0: function(_) {
      var t1 = this._styleStack;
      if (t1.length !== 0)
        t1.pop();
    },
    addText$1: function(_, text) {
      var t3, decoration, _this = this,
        style = _this.get$_currentStyleNode().resolveStyle$0(),
        t1 = _this._plainTextBuffer,
        t2 = t1._contents;
      t1 = t1._contents += H.S(text);
      t3 = _this._drawOnCanvas;
      if (t3) {
        decoration = style._decoration;
        if (decoration != null) {
          t3 = decoration._mask;
          t3 = 0 !== t3;
        } else
          t3 = false;
        if (t3) {
          _this._drawOnCanvas = false;
          t3 = false;
        } else
          t3 = true;
      }
      t3;
      _this._spans.push(new H.FlatTextSpan(style, t2.length, t1.length));
    },
    build$0: function(_) {
      var _this = this,
        t1 = _this._plainTextBuffer._contents;
      return new H.CanvasParagraph(_this._spans, _this._paragraphStyle, t1.charCodeAt(0) == 0 ? t1 : t1, _this._drawOnCanvas);
    }
  };
  H.FontCollection.prototype = {
    registerFonts$1: function(assetManager) {
      return this.registerFonts$body$FontCollection(assetManager);
    },
    registerFonts$body$FontCollection: function(assetManager) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, e, exception, t1, fontManifest, t2, t3, t4, family, fontAssetItem, asset, descriptors, t5, t6, byteData, $async$exception;
      var $async$registerFonts$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              byteData = null;
              $async$handler = 4;
              $async$goto = 7;
              return P._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 = H.unwrapException($async$exception);
              if (t1 instanceof H.AssetManagerException) {
                e = t1;
                if (e.httpStatus === 404) {
                  $.$get$printWarning().call$1("Font manifest does not exist at `" + H.S(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 = C.C_JsonCodec.decode$1(0, C.Utf8Codec_false.decode$1(0, J.asUint8List$0$x(J.get$buffer$x(byteData))));
              if (fontManifest == null)
                throw H.wrapException(P.AssertionError$(string$.There_w));
              if ($.$get$supportsFontLoadingApi())
                $async$self._assetFontManager = H.FontManager_FontManager();
              else
                $async$self._assetFontManager = new H._PolyfillFontManager(H._setArrayType([], type$.JSArray_Future_void));
              for (t1 = J.cast$1$0$ax(fontManifest, type$.Map_String_dynamic), t1 = new H.ListIterator(t1, t1.get$length(t1), H._instanceType(t1)._eval$1("ListIterator<ListMixin.E>")), t2 = type$.String; t1.moveNext$0();) {
                t3 = t1.__internal$_current;
                t4 = J.getInterceptor$asx(t3);
                family = t4.$index(t3, "family");
                for (t3 = J.get$iterator$ax(t4.$index(t3, "fonts")); t3.moveNext$0();) {
                  fontAssetItem = t3.get$current(t3);
                  t4 = J.getInterceptor$asx(fontAssetItem);
                  asset = t4.$index(fontAssetItem, "asset");
                  descriptors = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
                  for (t5 = J.get$iterator$ax(t4.get$keys(fontAssetItem)); t5.moveNext$0();) {
                    t6 = t5.get$current(t5);
                    if (t6 !== "asset")
                      descriptors.$indexSet(0, t6, H.S(t4.$index(fontAssetItem, t6)));
                  }
                  t4 = $async$self._assetFontManager;
                  t4.toString;
                  family.toString;
                  t4.registerAsset$3(family, "url(" + H.S(assetManager.getAssetUrl$1(asset)) + ")", descriptors);
                }
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$registerFonts$1, $async$completer);
    },
    ensureFontsLoaded$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$ensureFontsLoaded$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._assetFontManager;
              $async$goto = 2;
              return P._asyncAwait(t1 == null ? null : P.Future_wait(t1._fontLoadingFutures, type$.void), $async$ensureFontsLoaded$0);
            case 2:
              // returning from await.
              t1 = $async$self._testFontManager;
              $async$goto = 3;
              return P._asyncAwait(t1 == null ? null : P.Future_wait(t1._fontLoadingFutures, type$.void), $async$ensureFontsLoaded$0);
            case 3:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$ensureFontsLoaded$0, $async$completer);
    }
  };
  H.FontManager.prototype = {
    registerAsset$3: function(family, asset, descriptors) {
      var t1 = $.$get$FontManager_startWithDigit()._nativeRegExp;
      if (typeof family != "string")
        H.throwExpression(H.argumentErrorValue(family));
      if (t1.test(family) || $.$get$FontManager_notPunctuation().stringMatch$1(family) != family)
        this._loadFontFace$3("'" + H.S(family) + "'", asset, descriptors);
      this._loadFontFace$3(family, asset, descriptors);
    },
    _loadFontFace$3: function(family, asset, descriptors) {
      var fontFace, e, exception;
      try {
        fontFace = W.FontFace_FontFace(family, asset, descriptors);
        this._fontLoadingFutures.push(P.promiseToFuture(fontFace.load(), type$.FontFace).then$1$2$onError(0, new H.FontManager__loadFontFace_closure(fontFace), new H.FontManager__loadFontFace_closure0(family), type$.void));
      } catch (exception) {
        e = H.unwrapException(exception);
        $.$get$printWarning().call$1('Error while loading font family "' + H.S(family) + '":\n' + H.S(e));
      }
    }
  };
  H.FontManager__loadFontFace_closure.prototype = {
    call$1: function(_) {
      var t1 = document.fonts;
      t1.toString;
      t1.add.apply(t1, [this.fontFace]);
    },
    $signature: 908
  };
  H.FontManager__loadFontFace_closure0.prototype = {
    call$1: function(e) {
      $.$get$printWarning().call$1('Error while trying to load font family "' + H.S(this.family) + '":\n' + H.S(e));
    },
    $signature: 5
  };
  H._PolyfillFontManager.prototype = {
    registerAsset$3: function(family, asset, descriptors) {
      var fallbackFontName, t3, sansSerifWidth, _fontLoadStart, fontStyleMap, t4, fontFaceDeclaration, fontLoadStyle, _s5_ = "style", _s6_ = "weight",
        t1 = document,
        paragraph = t1.createElement("p"),
        t2 = paragraph.style;
      t2.position = "absolute";
      t2 = paragraph.style;
      t2.visibility = "hidden";
      t2 = paragraph.style;
      t2.fontSize = "72px";
      t2 = $.$get$_browserEngine();
      fallbackFontName = t2 === C.BrowserEngine_4 ? "Times New Roman" : "sans-serif";
      t2 = paragraph.style;
      t2.fontFamily = fallbackFontName;
      if (descriptors.$index(0, _s5_) != null) {
        t2 = paragraph.style;
        t3 = descriptors.$index(0, _s5_);
        t2.toString;
        t2.fontStyle = t3 == null ? "" : t3;
      }
      if (descriptors.$index(0, _s6_) != null) {
        t2 = paragraph.style;
        t3 = descriptors.$index(0, _s6_);
        t2.toString;
        t2.fontWeight = t3 == null ? "" : t3;
      }
      paragraph.textContent = "giItT1WQy@!-/#";
      t1.body.appendChild(paragraph);
      sansSerifWidth = C.JSNumber_methods.round$0(paragraph.offsetWidth);
      t2 = paragraph.style;
      t3 = "'" + H.S(family) + "', " + fallbackFontName;
      t2.fontFamily = t3;
      t2 = new P._Future($.Zone__current, type$._Future_void);
      _fontLoadStart = H._Cell$named("_fontLoadStart");
      t3 = type$.String;
      fontStyleMap = P.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_String);
      fontStyleMap.$indexSet(0, "font-family", "'" + H.S(family) + "'");
      fontStyleMap.$indexSet(0, "src", asset);
      if (descriptors.$index(0, _s5_) != null)
        fontStyleMap.$indexSet(0, "font-style", descriptors.$index(0, _s5_));
      if (descriptors.$index(0, _s6_) != null)
        fontStyleMap.$indexSet(0, "font-weight", descriptors.$index(0, _s6_));
      t4 = fontStyleMap.get$keys(fontStyleMap);
      fontFaceDeclaration = H.MappedIterable_MappedIterable(t4, new H._PolyfillFontManager_registerAsset_closure(fontStyleMap), H._instanceType(t4)._eval$1("Iterable.E"), t3).join$1(0, " ");
      fontLoadStyle = t1.createElement("style");
      fontLoadStyle.type = "text/css";
      C.StyleElement_methods.setInnerHtml$1(fontLoadStyle, "@font-face { " + fontFaceDeclaration + " }");
      t1.head.appendChild(fontLoadStyle);
      if (C.JSString_methods.contains$1(family.toLowerCase(), "icon")) {
        C.ParagraphElement_methods.remove$0(paragraph);
        return;
      }
      _fontLoadStart.__late_helper$_value = new P.DateTime(Date.now(), false);
      new H._PolyfillFontManager_registerAsset__watchWidth(paragraph, sansSerifWidth, new P._AsyncCompleter(t2, type$._AsyncCompleter_void), _fontLoadStart, family).call$0();
      this._fontLoadingFutures.push(t2);
    }
  };
  H._PolyfillFontManager_registerAsset__watchWidth.prototype = {
    call$0: function() {
      var _this = this,
        t1 = _this.paragraph;
      if (C.JSNumber_methods.round$0(t1.offsetWidth) !== _this.sansSerifWidth) {
        C.ParagraphElement_methods.remove$0(t1);
        _this.completer.complete$0(0);
      } else if (P.Duration$(0, Date.now() - _this._fontLoadStart._readLocal$0()._core$_value)._duration > 2000000) {
        _this.completer.complete$0(0);
        throw H.wrapException(P.Exception_Exception("Timed out trying to load font: " + H.S(_this.family)));
      } else
        P.Timer_Timer(C.Duration_50000, _this);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H._PolyfillFontManager_registerAsset_closure.prototype = {
    call$1: function($name) {
      return H.S($name) + ": " + H.S(this.fontStyleMap.$index(0, $name)) + ";";
    },
    $signature: 19
  };
  H.TextLayoutService.prototype = {
    performLayout$1: function(constraints) {
      var t4, spanometer, currentLine, t5, spanIndex, span, t6, nextBreak, additionalWidth, t7, t8, _i, line, longestLineWidth, 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;
      C.JSArray_methods.set$length(t4, 0);
      if (spanCount === 0)
        return;
      spanometer = new H.Spanometer(t1, _this.context);
      currentLine = H.LineBuilder$_(t1, spanometer, 0, 0, t3, new H.LineBreakResult(0, 0, 0, C.LineBreakType_1));
      for (t5 = t1.paragraphStyle, spanIndex = 0; true;) {
        if (spanIndex === spanCount) {
          if (currentLine._segments.length !== 0 || currentLine.end.type !== C.LineBreakType_3) {
            currentLine.extendToEndOfText$0();
            t4.push(currentLine.build$0(0));
          }
          break;
        }
        span = t2[spanIndex];
        spanometer.set$currentSpan(span);
        t6 = span.end;
        nextBreak = H.nextLineBreak(currentLine.paragraph.plainText, currentLine.end.index, t6);
        additionalWidth = currentLine.getAdditionalWidthTo$1(nextBreak);
        if (currentLine.width + additionalWidth <= t3) {
          currentLine.extendTo$1(nextBreak);
          if (nextBreak.type === C.LineBreakType_2) {
            t4.push(currentLine.build$0(0));
            currentLine = currentLine.nextLine$0();
          }
        } else {
          t7 = t5._ellipsis;
          t8 = t7 != null;
          if ((t8 && t5._maxLines == null || t4.length + 1 === t5._maxLines) && t8) {
            currentLine.forceBreak$3$allowEmpty$ellipsis(nextBreak, true, t7);
            t4.push(currentLine.build$1$ellipsis(0, t7));
            break;
          } else if (currentLine._segments.length === 0) {
            currentLine.forceBreak$2$allowEmpty(nextBreak, false);
            t4.push(currentLine.build$0(0));
            currentLine = currentLine.nextLine$0();
          } else {
            t4.push(currentLine.build$0(0));
            currentLine = currentLine.nextLine$0();
          }
        }
        if (currentLine.end.index >= t6) {
          currentLine.createBox$0();
          ++spanIndex;
        }
        if (t4.length === t5._maxLines)
          break;
      }
      for (t5 = t4.length, _i = 0; _i < t5; ++_i) {
        line = t4[_i];
        _this.height = _this.height + line.height;
        if (_this.alphabeticBaseline === -1) {
          t6 = line.baseline;
          _this.alphabeticBaseline = t6;
          _this.ideographicBaseline = t6 * 1.1662499904632568;
        }
        t6 = _this.longestLine;
        longestLineWidth = t6 == null ? null : t6.width;
        if (longestLineWidth == null)
          longestLineWidth = 0;
        if (longestLineWidth < line.width)
          _this.longestLine = line;
      }
      currentLine = H.LineBuilder$_(t1, spanometer, 0, 0, t3, new H.LineBreakResult(0, 0, 0, C.LineBreakType_1));
      for (spanIndex = 0; spanIndex < spanCount;) {
        span = t2[spanIndex];
        spanometer.set$currentSpan(span);
        t1 = span.end;
        nextBreak = H.nextLineBreak(currentLine.paragraph.plainText, currentLine.end.index, t1);
        currentLine.extendTo$1(nextBreak);
        breakToNextLine = nextBreak.type === C.LineBreakType_2 && true;
        if (currentLine.end.index >= t1)
          ++spanIndex;
        widthOfLastSegment = C.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();
      }
    },
    getBoxesForPlaceholders$0: function() {
      var t1, t2, _i, line, t3, t4, t5, $top, lineTop, t6, t7, _i0, box, t8, t9, t10, top0,
        boxes = H._setArrayType([], type$.JSArray_TextBox);
      for (t1 = this.lines, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        line = t1[_i];
        for (t3 = line.boxes, t4 = t3.length, t5 = line.left, $top = line.baseline, lineTop = $top - line.ascent, t6 = line.height, t7 = lineTop + t6, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i0) {
          box = t3[_i0];
          if (box instanceof H.PlaceholderBox) {
            t8 = box.left;
            t9 = box.placeholder;
            t10 = C.JSNumber_methods.$add(t8, t9.get$width(t9));
            switch (t9.get$alignment()) {
              case C.PlaceholderAlignment_3:
                top0 = lineTop;
                break;
              case C.PlaceholderAlignment_5:
                top0 = lineTop + C.JSNumber_methods.$sub(t6, t9.get$height(t9)) / 2;
                break;
              case C.PlaceholderAlignment_4:
                top0 = C.JSNumber_methods.$sub(t7, t9.get$height(t9));
                break;
              case C.PlaceholderAlignment_1:
                top0 = C.JSNumber_methods.$sub($top, t9.get$height(t9));
                break;
              case C.PlaceholderAlignment_2:
                top0 = $top;
                break;
              case C.PlaceholderAlignment_0:
                top0 = C.JSNumber_methods.$sub($top, t9.get$baselineOffset());
                break;
              default:
                H.throwExpression(H.ReachabilityError$(string$.x60null_c));
                top0 = null;
            }
            boxes.push(new P.TextBox(t5 + t8, top0, t5 + t10, C.JSNumber_methods.$add(top0, t9.get$height(t9)), box.direction));
          }
        }
      }
      return boxes;
    },
    getBoxesForRange$4: function(start, end, boxHeightStyle, boxWidthStyle) {
      var $length, boxes, t1, t2, _i, line, t3, t4, _i0, box;
      if (start >= end || start < 0 || end < 0)
        return H._setArrayType([], type$.JSArray_TextBox);
      $length = this.paragraph.plainText.length;
      if (start > $length || end > $length)
        return H._setArrayType([], type$.JSArray_TextBox);
      boxes = H._setArrayType([], type$.JSArray_TextBox);
      for (t1 = this.lines, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.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, H.throwConcurrentModificationError)(t3), ++_i0) {
            box = t3[_i0];
            if (box instanceof H.SpanBox && start < box.end.index && box.start.index < end)
              boxes.push(box.intersect$3(line, start, end));
          }
      }
      return boxes;
    },
    getPositionForOffset$1: function(offset) {
      var dx, _i, box,
        line = this._findLineForY$1(offset._dy),
        t1 = offset._dx,
        t2 = line.left;
      if (t1 <= t2)
        return new P.TextPosition(line.startIndex, C.TextAffinity_1);
      if (t1 >= t2 + line.widthWithTrailingSpaces)
        return new P.TextPosition(line.endIndexWithoutNewlines, C.TextAffinity_0);
      dx = t1 - t2;
      for (t1 = line.boxes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        box = t1[_i];
        if (box.get$left(box) <= dx && dx <= box.get$right(box))
          return box.getPositionForX$1(dx);
      }
      return new P.TextPosition(line.startIndex, C.TextAffinity_1);
    },
    _findLineForY$1: function(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 C.JSArray_methods.get$last(t1);
    },
    set$width: function(receiver, val) {
      return this.width = val;
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  H.RangeBox.prototype = {};
  H.PlaceholderBox.prototype = {};
  H.SpanBox.prototype = {
    get$right: function(_) {
      return this.left + this.width;
    },
    intersect$3: function(line, start, end) {
      var left0, t2, right, _this = this,
        $top = line.baseline - _this.baseline,
        t1 = _this.start.index,
        left = _this.left;
      if (start <= t1)
        left0 = left;
      else {
        t2 = _this.spanometer;
        t2.set$currentSpan(_this.span);
        left0 = left + t2._measure$2(t1, start);
      }
      t1 = _this.end.indexWithoutTrailingNewlines;
      right = left + _this.width;
      if (!(end >= t1)) {
        t2 = _this.spanometer;
        t2.set$currentSpan(_this.span);
        right -= t2._measure$2(end, t1);
      }
      t1 = line.left;
      return new P.TextBox(left0 + t1, $top, right + t1, $top + _this.height, _this.direction);
    },
    getPositionForX$1: function(x) {
      var startIndex, endIndex, cutoff, t2, _this = this,
        t1 = _this.spanometer;
      t1.set$currentSpan(_this.span);
      x -= _this.left;
      startIndex = _this.start.index;
      endIndex = _this.end.indexWithoutTrailingNewlines;
      cutoff = t1.forceBreak$4$allowEmpty$availableWidth(startIndex, endIndex, true, x);
      if (cutoff === endIndex)
        return new P.TextPosition(cutoff, C.TextAffinity_0);
      t2 = cutoff + 1;
      if (x - t1._measure$2(startIndex, cutoff) < t1._measure$2(startIndex, t2) - x)
        return new P.TextPosition(cutoff, C.TextAffinity_1);
      else
        return new P.TextPosition(t2, C.TextAffinity_0);
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    },
    get$left: function(receiver) {
      return this.left;
    }
  };
  H.LineSegment.prototype = {
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  H.LineBuilder.prototype = {
    get$alignOffset: function() {
      var textAlign,
        emptySpace = this.maxWidth - this.width,
        t1 = this.paragraph.paragraphStyle,
        textDirection = t1.__engine$_textDirection;
      if (textDirection == null)
        textDirection = C.TextDirection_1;
      textAlign = t1._textAlign;
      switch (textAlign == null ? C.TextAlign_4 : textAlign) {
        case C.TextAlign_2:
          return emptySpace / 2;
        case C.TextAlign_1:
          return emptySpace;
        case C.TextAlign_4:
          return textDirection === C.TextDirection_0 ? emptySpace : 0;
        case C.TextAlign_5:
          return textDirection === C.TextDirection_0 ? 0 : emptySpace;
        default:
          return 0;
      }
    },
    getAdditionalWidthTo$1: function(newEnd) {
      var _this = this,
        t1 = _this.end.index,
        t2 = newEnd.indexWithoutTrailingSpaces;
      if (t1 === t2)
        return 0;
      return _this.widthIncludingSpace - _this.width + _this.spanometer._measure$2(t1, t2);
    },
    get$_isLastBoxAPlaceholder: function() {
      var t1 = this._boxes;
      if (t1.length === 0)
        return false;
      return C.JSArray_methods.get$last(t1) instanceof H.PlaceholderBox;
    },
    extendTo$1: function(newEnd) {
      var _this = this,
        t1 = _this.ascent,
        t2 = _this.spanometer,
        t3 = t2._currentRuler;
      _this.ascent = Math.max(t1, H.checkNum(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));
      _this._addSegment$1(_this._createSegment$1(newEnd));
    },
    extendToEndOfText$0: function() {
      var t1, endOfText, t2, t3, _this = this;
      if (_this.end.type === C.LineBreakType_3)
        return;
      t1 = _this.paragraph.plainText.length;
      endOfText = new H.LineBreakResult(t1, t1, t1, C.LineBreakType_3);
      t1 = _this.spanometer;
      if (t1._currentSpan != null) {
        t2 = _this.ascent;
        t3 = t1._currentRuler;
        _this.ascent = Math.max(t2, H.checkNum(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.end = endOfText;
    },
    _createSegment$1: function(segmentEnd) {
      var t3,
        segmentStart = this.end,
        t1 = this.spanometer,
        t2 = t1._currentSpan;
      t2.toString;
      t3 = segmentStart.index;
      return new H.LineSegment(t2, segmentStart, segmentEnd, t1._measure$2(t3, segmentEnd.indexWithoutTrailingSpaces), t1._measure$2(t3, segmentEnd.indexWithoutTrailingNewlines));
    },
    _addSegment$1: function(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.end = segment.end;
    },
    _popSegment$0: function() {
      var t2, i, widthOfTrailingSpace, _this = this,
        t1 = _this._segments,
        poppedSegment = t1.pop();
      if (t1.length === 0) {
        _this.widthIncludingSpace = _this.width = 0;
        _this.end = _this.start;
      } else {
        _this.widthIncludingSpace = _this.widthIncludingSpace - poppedSegment.widthIncludingSpace;
        _this.end = C.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;
        }
      }
      return poppedSegment;
    },
    forceBreak$3$allowEmpty$ellipsis: function(nextBreak, allowEmpty, ellipsis) {
      var t1, t2, breakingPoint, availableWidth, segmentToBreak, _this = this;
      if (ellipsis == null) {
        t1 = _this.widthIncludingSpace;
        t2 = nextBreak.indexWithoutTrailingSpaces;
        breakingPoint = _this.spanometer.forceBreak$4$allowEmpty$availableWidth(_this.end.index, t2, allowEmpty, _this.maxWidth - t1);
        if (breakingPoint === t2)
          _this.extendTo$1(nextBreak);
        else
          _this.extendTo$1(new H.LineBreakResult(breakingPoint, breakingPoint, breakingPoint, C.LineBreakType_1));
        return;
      }
      t1 = _this.spanometer;
      availableWidth = _this.maxWidth - H._measureSubstring(t1.context, ellipsis, 0, ellipsis.length, null);
      segmentToBreak = _this._createSegment$1(nextBreak);
      t2 = _this._segments;
      while (true) {
        if (!(t2.length !== 0 && _this.widthIncludingSpace > availableWidth))
          break;
        segmentToBreak = _this._popSegment$0();
      }
      t1.set$currentSpan(segmentToBreak.span);
      breakingPoint = t1.forceBreak$4$allowEmpty$availableWidth(segmentToBreak.start.index, segmentToBreak.end.index, allowEmpty, availableWidth - _this.widthIncludingSpace);
      _this.extendTo$1(new H.LineBreakResult(breakingPoint, breakingPoint, breakingPoint, C.LineBreakType_1));
      t1 = _this._boxes;
      while (true) {
        if (t1.length > 0) {
          t2 = C.JSArray_methods.get$last(t1);
          t2 = t2.get$end(t2).index > breakingPoint;
        } else
          t2 = false;
        if (!t2)
          break;
        t1.pop();
      }
    },
    forceBreak$2$allowEmpty: function(nextBreak, allowEmpty) {
      return this.forceBreak$3$allowEmpty$ellipsis(nextBreak, allowEmpty, null);
    },
    get$_boxStart: function() {
      var t1 = this._boxes;
      if (t1.length === 0)
        return this.start;
      t1 = C.JSArray_methods.get$last(t1);
      return t1.get$end(t1);
    },
    get$_boxLeft: function() {
      var t1 = this._boxes;
      if (t1.length === 0)
        return 0;
      t1 = C.JSArray_methods.get$last(t1);
      return t1.get$right(t1);
    },
    createBox$0: function() {
      var t2, t3, t4, t5, t6, t7, _this = this,
        boxStart = _this.get$_boxStart(),
        boxEnd = _this.end,
        t1 = boxStart.index;
      if (t1 === boxEnd.index)
        return;
      t2 = _this.spanometer;
      t3 = _this.get$_boxLeft();
      t4 = _this.paragraph.paragraphStyle.__engine$_textDirection;
      if (t4 == null)
        t4 = C.TextDirection_1;
      t5 = t2._currentSpan;
      t5.toString;
      t6 = t2._currentRuler;
      t6 = t6.get$height(t6);
      t7 = t2._currentRuler;
      t7 = t7.get$alphabeticBaseline(t7);
      _this._boxes.push(new H.SpanBox(t2, t5, boxStart, boxEnd, t3, t2._measure$2(t1, boxEnd.indexWithoutTrailingNewlines), t6, t7, t4));
    },
    build$1$ellipsis: function(_, ellipsis) {
      var ellipsisWidth, t1, t2, endIndexWithoutNewlines, hardBreak, t3, t4, t5, t6, t7, _this = this;
      _this.createBox$0();
      ellipsisWidth = ellipsis == null ? 0 : H._measureSubstring(_this.spanometer.context, ellipsis, 0, ellipsis.length, null);
      t1 = _this.start.index;
      t2 = _this.end;
      endIndexWithoutNewlines = Math.max(t1, t2.indexWithoutTrailingNewlines);
      if (t2.type !== C.LineBreakType_3 && _this.get$_isLastBoxAPlaceholder())
        hardBreak = false;
      else {
        t2 = _this.end.type;
        hardBreak = t2 === C.LineBreakType_2 || t2 === C.LineBreakType_3;
      }
      t2 = _this.end;
      t3 = _this.width;
      t4 = _this.widthIncludingSpace;
      t5 = _this.get$alignOffset();
      t6 = _this.ascent;
      t7 = _this.descent;
      return new H.EngineLineMetrics(null, ellipsis, t1, t2.index, endIndexWithoutNewlines, _this._boxes, hardBreak, t6, t7, t6 + t7, t3 + ellipsisWidth, t4 + ellipsisWidth, t5, _this.accumulatedHeight + t6, _this.lineNumber);
    },
    build$0: function($receiver) {
      return this.build$1$ellipsis($receiver, null);
    },
    nextLine$0: function() {
      var _this = this,
        t1 = _this.end;
      return H.LineBuilder$_(_this.paragraph, _this.spanometer, _this.accumulatedHeight + (_this.ascent + _this.descent), _this.lineNumber + 1, _this.maxWidth, t1);
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    },
    set$width: function(receiver, val) {
      return this.width = val;
    }
  };
  H.Spanometer.prototype = {
    set$currentSpan: function(span) {
      var t1, heightStyle, t2, t3, ruler, cssFontString, _this = this;
      if (span == _this._currentSpan)
        return;
      _this._currentSpan = span;
      if (span == null) {
        _this._currentRuler = null;
        return;
      }
      t1 = span.style;
      heightStyle = t1.__EngineTextStyle_heightStyle;
      if (heightStyle === $) {
        t2 = t1.get$_effectiveFontFamily();
        t3 = t1._fontSize;
        if (t3 == null)
          t3 = 14;
        t3 = new H.TextHeightStyle(t2, t3, t1.__engine$_height, null);
        if (t1.__EngineTextStyle_heightStyle === $) {
          t1.__EngineTextStyle_heightStyle = t3;
          heightStyle = t3;
        } else {
          t2 = H.throwExpression(H.LateError$fieldADI("heightStyle"));
          heightStyle = t2;
        }
      }
      ruler = $.Spanometer__rulers.$index(0, heightStyle);
      if (ruler == null) {
        ruler = H.TextHeightRuler$(heightStyle, $.$get$Spanometer__rulerHost());
        $.Spanometer__rulers.$indexSet(0, heightStyle, ruler);
      }
      _this._currentRuler = ruler;
      cssFontString = t1.get$cssFontString();
      if (_this._cssFontString !== cssFontString) {
        _this._cssFontString = cssFontString;
        _this.context.font = cssFontString;
      }
    },
    forceBreak$4$allowEmpty$availableWidth: function(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 = C.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: function(start, end) {
      return H._measureSubstring(this.context, this.paragraph.plainText, start, end, this._currentSpan.style._letterSpacing);
    }
  };
  H.LineCharProperty.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.LineBreakType.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.LineBreakResult.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.index, _this.indexWithoutTrailingNewlines, _this.indexWithoutTrailingSpaces, _this.type, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof H.LineBreakResult && other.index === _this.index && other.indexWithoutTrailingNewlines === _this.indexWithoutTrailingNewlines && other.indexWithoutTrailingSpaces === _this.indexWithoutTrailingSpaces && other.type === _this.type;
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.RulerHost.prototype = {
    RulerHost$1$root: function(root) {
      var t1 = this._rulerHost,
        t2 = t1.style;
      t2.position = "fixed";
      t2.visibility = "hidden";
      t2.overflow = "hidden";
      t2.top = "0";
      t2.left = "0";
      t2.width = "0";
      t2.height = "0";
      if (root == null) {
        t2 = $.$get$domRenderer()._glassPaneShadow;
        t2.toString;
      } else
        t2 = root;
      t2.appendChild(t1);
      $._hotRestartListeners.push(this.get$dispose(this));
    },
    dispose$0: function(_) {
      J.remove$0$ax(this._rulerHost);
    }
  };
  H.RulerManager.prototype = {
    _scheduleRulerCacheCleanup$0: function() {
      if (!this._rulerCacheCleanupScheduled) {
        this._rulerCacheCleanupScheduled = true;
        P.scheduleMicrotask(new H.RulerManager__scheduleRulerCacheCleanup_closure(this));
      }
    },
    _evictAllRulers$0: function() {
      this._rulers.forEach$1(0, new H.RulerManager__evictAllRulers_closure());
      this._rulers = P.LinkedHashMap_LinkedHashMap$_empty(type$.ParagraphGeometricStyle, type$.ParagraphRuler);
    },
    cleanUpRulerCache$0: function() {
      var t2, sortedByUsage, i, ruler, t3, _this = this,
        t1 = $.$get$window().get$physicalSize();
      if (t1.get$isEmpty(t1)) {
        _this._evictAllRulers$0();
        return;
      }
      t1 = _this._rulers;
      t2 = _this.rulerCacheCapacity;
      if (t1.get$length(t1) > t2) {
        t1 = _this._rulers;
        t1 = t1.get$values(t1);
        sortedByUsage = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("Iterable.E"));
        C.JSArray_methods.sort$1(sortedByUsage, new H.RulerManager_cleanUpRulerCache_closure());
        _this._rulers = P.LinkedHashMap_LinkedHashMap$_empty(type$.ParagraphGeometricStyle, type$.ParagraphRuler);
        for (i = 0; i < sortedByUsage.length; ++i) {
          ruler = sortedByUsage[i];
          ruler._hitCount = 0;
          if (i < t2)
            _this._rulers.$indexSet(0, ruler.style, ruler);
          else {
            t1 = ruler._singleLineHost;
            t3 = t1.parentNode;
            if (t3 != null)
              t3.removeChild(t1);
            t1 = ruler._minIntrinsicHost;
            t3 = t1.parentNode;
            if (t3 != null)
              t3.removeChild(t1);
            t1 = ruler._constrainedHost;
            t3 = t1.parentNode;
            if (t3 != null)
              t3.removeChild(t1);
            t1 = ruler.get$_textHeightRuler();
            t3 = t1.__TextHeightRuler__host;
            if (t3 === $) {
              t3 = t1._createHost$0();
              if (t1.__TextHeightRuler__host === $) {
                t1.__TextHeightRuler__host = t3;
                t1 = t3;
              } else
                t1 = H.throwExpression(H.LateError$fieldADI("_host"));
            } else
              t1 = t3;
            t3 = t1.parentNode;
            if (t3 != null)
              t3.removeChild(t1);
          }
        }
      }
    },
    findOrCreateRuler$1: function(style) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, elementStyle, _this = this, _s6_ = "hidden",
        _s8_ = "absolute",
        _s1_ = "0", _s4_ = "flex",
        _s14_ = "flex-direction",
        _s8_0 = "baseline",
        _s11_ = "align-items",
        ruler = _this._rulers.$index(0, style);
      if (ruler == null) {
        t1 = _this._rulers;
        t2 = document;
        t3 = t2.createElement("div");
        t4 = t2.createElement("p");
        t5 = new H.TextDimensions(t4);
        t6 = t2.createElement("div");
        t7 = t2.createElement("p");
        t8 = new H.TextDimensions(t7);
        t9 = t2.createElement("div");
        t2 = t2.createElement("p");
        t10 = new H.TextDimensions(t2);
        ruler = new H.ParagraphRuler(style, _this, t3, t5, t6, t8, t9, t10, P.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_String, type$.List_nullable_MeasurementResult), H._setArrayType([], type$.JSArray_nullable_String));
        t11 = t3.style;
        t11.visibility = _s6_;
        t11.position = _s8_;
        t11.top = _s1_;
        t11.left = _s1_;
        t11.display = _s4_;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t11, C.CssStyleDeclaration_methods._browserPropertyName$1(t11, _s14_), "row", "");
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t11, C.CssStyleDeclaration_methods._browserPropertyName$1(t11, _s11_), _s8_0, "");
        t11.margin = _s1_;
        t11.border = _s1_;
        t11.padding = _s1_;
        t5.applyStyle$1(style);
        t11 = t4.style;
        t11.whiteSpace = "pre";
        t3.appendChild(t4);
        t5._cachedBoundingClientRect = null;
        t4 = _this._rulerHost;
        t4.appendChild(t3);
        t3 = t6.style;
        t3.visibility = _s6_;
        t3.position = _s8_;
        t3.top = _s1_;
        t3.left = _s1_;
        t3.display = _s4_;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t3, C.CssStyleDeclaration_methods._browserPropertyName$1(t3, _s14_), "row", "");
        t3.margin = _s1_;
        t3.border = _s1_;
        t3.padding = _s1_;
        t8.applyStyle$1(style);
        t3 = t7.style;
        t3.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t3, C.CssStyleDeclaration_methods._browserPropertyName$1(t3, _s4_), _s1_, "");
        t3.display = "inline";
        t3.whiteSpace = "pre-line";
        t6.appendChild(t7);
        t4.appendChild(t6);
        t3 = t9.style;
        t3.visibility = _s6_;
        t3.position = _s8_;
        t3.top = _s1_;
        t3.left = _s1_;
        t3.display = _s4_;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t3, C.CssStyleDeclaration_methods._browserPropertyName$1(t3, _s14_), "row", "");
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t3, C.CssStyleDeclaration_methods._browserPropertyName$1(t3, _s11_), _s8_0, "");
        t3.margin = _s1_;
        t3.border = _s1_;
        t3.padding = _s1_;
        t10.applyStyle$1(style);
        elementStyle = t2.style;
        elementStyle.display = "block";
        C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "overflow-wrap"), "break-word", "");
        if (style.ellipsis != null) {
          elementStyle.overflow = _s6_;
          C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "text-overflow"), "ellipsis", "");
        }
        t9.appendChild(t2);
        t10._cachedBoundingClientRect = null;
        t4.appendChild(t9);
        t1.$indexSet(0, style, ruler);
        _this._scheduleRulerCacheCleanup$0();
      }
      ++ruler._hitCount;
      return ruler;
    }
  };
  H.RulerManager__scheduleRulerCacheCleanup_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._rulerCacheCleanupScheduled = false;
      t1.cleanUpRulerCache$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.RulerManager__evictAllRulers_closure.prototype = {
    call$2: function(style, ruler) {
      ruler.dispose$0(0);
    },
    $signature: 785
  };
  H.RulerManager_cleanUpRulerCache_closure.prototype = {
    call$2: function(a, b) {
      return b._hitCount - a._hitCount;
    },
    $signature: 772
  };
  H.TextMeasurementService.prototype = {
    measure$2: function(_, paragraph, constraints) {
      var ruler = $.TextMeasurementService_rulerManager.findOrCreateRuler$1(paragraph._geometricStyle),
        result = ruler.cacheLookup$2(paragraph, constraints);
      if (result != null)
        return result;
      result = this._doMeasure$3(paragraph, constraints, ruler);
      ruler.cacheMeasurement$2(paragraph, result);
      return result;
    }
  };
  H.DomTextMeasurementService.prototype = {
    _doMeasure$3: function(paragraph, constraints, ruler) {
      var plainText, t1, t2, t3, width, t4, t5, alphabeticBaseline, height, maxIntrinsicWidth, alignOffset, lines, result, naturalHeight, maxLines, lineHeight, _null = null;
      ruler._paragraph = paragraph;
      plainText = paragraph._plainText;
      ruler.measureAsSingleLine$0();
      t1 = ruler.minIntrinsicDimensions;
      t2 = ruler._paragraph;
      t2.toString;
      t1.updateText$2(t2, ruler.style);
      ruler.measureWithConstraints$1(constraints);
      t2 = plainText == null;
      t3 = t2 ? _null : C.JSString_methods.contains$1(plainText, "\n");
      if (t3 !== true) {
        t3 = ruler.singleLineDimensions._readAndCacheMetrics$0().width;
        t3.toString;
        t3 = t3 <= constraints.width;
      } else
        t3 = false;
      width = constraints.width;
      t4 = ruler.singleLineDimensions;
      if (t3) {
        t1 = t1._readAndCacheMetrics$0().width;
        t1.toString;
        t3 = t4._readAndCacheMetrics$0().width;
        t3.toString;
        t5 = ruler.get$_textHeightRuler();
        alphabeticBaseline = t5.get$alphabeticBaseline(t5);
        height = t4.get$height(t4);
        maxIntrinsicWidth = H.DomTextMeasurementService__applySubPixelRoundingHack(t1, t3);
        if (!t2) {
          alignOffset = H._calculateAlignOffsetForLine(maxIntrinsicWidth, width, paragraph);
          t2 = plainText.length;
          lines = H._setArrayType([H.EngineLineMetrics$withText(plainText, t2, H._excludeTrailing(plainText, 0, t2, H._engine___newlinePredicate$closure()), true, alignOffset, 0, 0, maxIntrinsicWidth, maxIntrinsicWidth)], type$.JSArray_EngineLineMetrics);
        } else
          lines = _null;
        result = H.MeasurementResult$(width, alphabeticBaseline, height, alphabeticBaseline * 1.1662499904632568, true, height, lines, maxIntrinsicWidth, t1, height, ruler.measurePlaceholderBoxes$0(), paragraph._textAlign, paragraph.__engine$_textDirection, width);
      } else {
        t1 = t1._readAndCacheMetrics$0().width;
        t1.toString;
        t4 = t4._readAndCacheMetrics$0().width;
        t4.toString;
        t2 = ruler.get$_textHeightRuler();
        alphabeticBaseline = t2.get$alphabeticBaseline(t2);
        t2 = ruler.constrainedDimensions;
        naturalHeight = t2.get$height(t2);
        maxLines = paragraph._geometricStyle.maxLines;
        if (maxLines == null) {
          lineHeight = _null;
          height = naturalHeight;
        } else {
          t2 = ruler.get$_textHeightRuler();
          lineHeight = t2.get$height(t2);
          height = Math.min(H.checkNum(naturalHeight), maxLines * lineHeight);
        }
        result = H.MeasurementResult$(width, alphabeticBaseline, height, alphabeticBaseline * 1.1662499904632568, false, lineHeight, _null, H.DomTextMeasurementService__applySubPixelRoundingHack(t1, t4), t1, naturalHeight, ruler.measurePlaceholderBoxes$0(), paragraph._textAlign, paragraph.__engine$_textDirection, width);
      }
      ruler.didMeasure$0();
      return result;
    },
    measureSubstringWidth$3: function(paragraph, start, end) {
      var text,
        style = paragraph._geometricStyle,
        ruler = $.TextMeasurementService_rulerManager.findOrCreateRuler$1(style),
        t1 = paragraph._plainText;
      t1.toString;
      text = C.JSString_methods.substring$2(t1, start, end);
      ruler._paragraph = new H.DomParagraph(type$.HtmlElement._as(paragraph._paragraphElement.cloneNode(true)), style, text, paragraph._paint, paragraph._textAlign, paragraph.__engine$_textDirection, paragraph._background, paragraph.placeholderCount);
      ruler.measureAsSingleLine$0();
      ruler.didMeasure$0();
      t1 = ruler.singleLineDimensions._readAndCacheMetrics$0().width;
      t1.toString;
      return t1;
    },
    getTextPositionForOffset$3: function(paragraph, constraints, offset) {
      var position,
        ruler = $.TextMeasurementService_rulerManager.findOrCreateRuler$1(paragraph._geometricStyle);
      ruler._paragraph = paragraph;
      constraints.toString;
      position = ruler.hitTest$2(constraints, offset);
      ruler.didMeasure$0();
      return new P.TextPosition(position, C.TextAffinity_1);
    },
    get$isCanvas: function() {
      return false;
    }
  };
  H.CanvasTextMeasurementService.prototype = {
    _doMeasure$3: function(paragraph, constraints, ruler) {
      var style, t2, t3, linesCalculator, maxIntrinsicCalculator, t4, reachedEndOfText, i, t5, t6, brk, chunkEnd, width, alphabeticBaseline, lineCount, lineHeight, naturalHeight, maxLines, height,
        t1 = paragraph._plainText;
      t1.toString;
      style = paragraph._geometricStyle;
      t2 = this._canvasContext;
      t2.font = style.get$cssFontString();
      t3 = constraints.width;
      linesCalculator = new H.LinesCalculator(t2, paragraph, t3, H._setArrayType([], type$.JSArray_EngineLineMetrics), C.LineBreakResult_4QF, C.LineBreakResult_4QF);
      maxIntrinsicCalculator = new H.MaxIntrinsicCalculator(t2, t1, style);
      for (t4 = style.letterSpacing, reachedEndOfText = false, i = 0, t5 = 0, t6 = 0; !reachedEndOfText; t6 = chunkEnd, i = t6) {
        brk = H.nextLineBreak(t1, i, null);
        linesCalculator.update$1(0, brk);
        chunkEnd = brk.index;
        width = H._measureSubstring(t2, t1, t6, brk.indexWithoutTrailingSpaces, t4);
        if (width > t5)
          t5 = width;
        maxIntrinsicCalculator.update$1(0, brk);
        if (brk.type === C.LineBreakType_3)
          reachedEndOfText = true;
      }
      t1 = ruler.get$_textHeightRuler();
      alphabeticBaseline = t1.get$alphabeticBaseline(t1);
      t1 = linesCalculator.lines;
      lineCount = t1.length;
      t2 = ruler.get$_textHeightRuler();
      lineHeight = t2.get$height(t2);
      naturalHeight = lineCount * lineHeight;
      maxLines = style.maxLines;
      height = maxLines == null ? naturalHeight : Math.min(lineCount, maxLines) * lineHeight;
      return H.MeasurementResult$(t3, alphabeticBaseline, height, alphabeticBaseline * 1.1662499904632568, lineCount === 1, lineHeight, t1, maxIntrinsicCalculator.value, t5, naturalHeight, H._setArrayType([], type$.JSArray_TextBox), paragraph._textAlign, paragraph.__engine$_textDirection, t3);
    },
    measureSubstringWidth$3: function(paragraph, start, end) {
      var style, t2,
        t1 = paragraph._plainText;
      t1.toString;
      style = paragraph._geometricStyle;
      t2 = this._canvasContext;
      t2.font = style.get$cssFontString();
      return H._measureSubstring(t2, t1, start, end, style.letterSpacing);
    },
    getTextPositionForOffset$3: function(paragraph, constraints, offset) {
      return C.TextPosition_0_TextAffinity_1;
    },
    get$isCanvas: function() {
      return true;
    }
  };
  H.LinesCalculator.prototype = {
    update$1: function(_, brk) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, isLastLine, breakingPoint, widthOfResultingLine, alignOffset, _this = this,
        chunkEnd = brk.index,
        chunkEndWithoutNewlines = brk.indexWithoutTrailingNewlines,
        chunkEndWithoutSpace = brk.indexWithoutTrailingSpaces;
      for (t1 = _this._paragraph, t2 = t1._geometricStyle, t3 = t2.ellipsis, t4 = t3 != null, t5 = _this._maxWidth, t6 = _this._canvasContext, t7 = t1._plainText, t8 = t2.letterSpacing, t2 = t2.maxLines, t9 = t2 == null, t10 = _this.lines; !_this._reachedMaxLines;) {
        t11 = _this._lastTakenBreak;
        t7.toString;
        if (H._measureSubstring(t6, t7, t11.index, chunkEndWithoutSpace, t8) <= t5)
          break;
        t11 = _this._lastBreak;
        t12 = _this._lastTakenBreak.index;
        isLastLine = t4 && t9 || t10.length + 1 === t2;
        _this._reachedMaxLines = isLastLine;
        if (isLastLine && t4) {
          t11 = _this._cachedEllipsisWidth;
          if (t11 == null)
            t11 = _this._cachedEllipsisWidth = C.JSNumber_methods.round$0(t6.measureText(t3).width * 100) / 100;
          breakingPoint = _this.forceBreakSubstring$3$end$maxWidth$start(chunkEndWithoutSpace, t5 - t11, _this._lastTakenBreak.index);
          t11 = H._measureSubstring(t6, t7, _this._lastTakenBreak.index, breakingPoint, t8);
          t12 = _this._cachedEllipsisWidth;
          widthOfResultingLine = t11 + (t12 == null ? _this._cachedEllipsisWidth = C.JSNumber_methods.round$0(t6.measureText(t3).width * 100) / 100 : t12);
          alignOffset = H._calculateAlignOffsetForLine(widthOfResultingLine, t5, t1);
          t11 = _this._lastTakenBreak.index;
          t10.push(new H.EngineLineMetrics(C.JSString_methods.substring$2(t7, t11, breakingPoint) + t3, null, t11, chunkEnd, chunkEndWithoutNewlines, null, false, 1 / 0, 1 / 0, 1 / 0, widthOfResultingLine, widthOfResultingLine, alignOffset, 1 / 0, t10.length));
        } else if (t11.index === t12) {
          breakingPoint = _this.forceBreakSubstring$3$end$maxWidth$start(chunkEndWithoutSpace, t5, t12);
          if (breakingPoint === chunkEndWithoutSpace)
            break;
          _this._addLineBreak$1(new H.LineBreakResult(breakingPoint, breakingPoint, breakingPoint, C.LineBreakType_0));
        } else
          _this._addLineBreak$1(t11);
      }
      if (_this._reachedMaxLines)
        return;
      t1 = brk.type;
      if (t1 === C.LineBreakType_2 || t1 === C.LineBreakType_3)
        _this._addLineBreak$1(brk);
      _this._lastBreak = brk;
    },
    _addLineBreak$1: function(brk) {
      var t5, t6, _this = this,
        t1 = _this.lines,
        lineNumber = t1.length,
        lineWidth = _this.measureSubstring$2(_this._lastTakenBreak.index, brk.indexWithoutTrailingSpaces),
        t2 = brk.indexWithoutTrailingNewlines,
        lineWidthWithTrailingSpaces = _this.measureSubstring$2(_this._lastTakenBreak.index, t2),
        t3 = _this._paragraph,
        alignOffset = H._calculateAlignOffsetForLine(lineWidth, _this._maxWidth, t3),
        t4 = t3._plainText;
      t4.toString;
      t5 = _this._lastTakenBreak.index;
      t4 = C.JSString_methods.substring$2(t4, t5, t2);
      t6 = brk.type;
      t6 = t6 === C.LineBreakType_2 || t6 === C.LineBreakType_3;
      t1.push(H.EngineLineMetrics$withText(t4, brk.index, t2, t6, alignOffset, lineNumber, t5, lineWidth, lineWidthWithTrailingSpaces));
      _this._lastTakenBreak = _this._lastBreak = brk;
      if (t1.length === t3._geometricStyle.maxLines)
        _this._reachedMaxLines = true;
    },
    measureSubstring$2: function(start, end) {
      var t1 = this._paragraph,
        t2 = t1._plainText;
      t2.toString;
      return H._measureSubstring(this._canvasContext, t2, start, end, t1._geometricStyle.letterSpacing);
    },
    forceBreakSubstring$3$end$maxWidth$start: function(end, maxWidth, start) {
      var mid, width,
        low = this._paragraph._geometricStyle.ellipsis != null ? start : start + 1,
        high = end;
      do {
        mid = C.JSInt_methods._tdivFast$1(low + high, 2);
        width = this.measureSubstring$2(start, mid);
        if (width < maxWidth)
          low = mid;
        else {
          low = width > maxWidth ? low : mid;
          high = mid;
        }
      } while (high - low > 1);
      return low;
    }
  };
  H.MaxIntrinsicCalculator.prototype = {
    update$1: function(_, brk) {
      var lineWidth, _this = this,
        t1 = brk.type;
      if (!(t1 === C.LineBreakType_2 || t1 === C.LineBreakType_3))
        return;
      lineWidth = H._measureSubstring(_this._canvasContext, _this.__engine$_text, _this._lastHardLineEnd, brk.indexWithoutTrailingNewlines, _this._style.letterSpacing);
      if (lineWidth > _this.value)
        _this.value = lineWidth;
      _this._lastHardLineEnd = brk.index;
    }
  };
  H.TextPaintService.prototype = {
    paint$2: function(canvas, offset) {
      var t1, _i, line, t2, t3, _i0,
        lines = this.paragraph.get$_layoutService().lines;
      for (t1 = lines.length, _i = 0; _i < lines.length; lines.length === t1 || (0, H.throwConcurrentModificationError)(lines), ++_i) {
        line = lines[_i];
        for (t2 = line.boxes, t3 = t2.length, _i0 = 0; _i0 < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i0)
          this._paintBox$4(canvas, offset, line, t2[_i0]);
      }
    },
    _paintBox$4: function(canvas, offset, line, box) {
      var t1, background, t2, foreground, paint, t3, t4, t5, x, y, text, letterSpacing, len, charX, i, char, ctx, ellipsis;
      if (box instanceof H.SpanBox) {
        t1 = box.span.style;
        background = type$.nullable_SurfacePaint._as(t1._background);
        if (background != null) {
          t2 = box.intersect$3(line, box.start.index, box.end.index);
          t2 = new P.Rect(t2.left, t2.top, t2.right, t2.bottom).shift$1(offset);
          background._frozen = true;
          canvas.drawRect$2(0, t2, background._paintData);
        }
        foreground = t1._foreground;
        if (foreground != null) {
          type$.SurfacePaint._as(foreground);
          paint = foreground;
        } else {
          t2 = H._detectRenderer();
          t2 = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
          t3 = t1._color;
          t3.toString;
          t2.set$color(0, t3);
          type$.SurfacePaint._as(t2);
          paint = t2;
        }
        canvas.setCssFont$1(t1.get$cssFontString());
        t2 = paint._frozen = true;
        t3 = paint._paintData;
        t4 = canvas._canvasPool;
        t4.get$contextHandle().setUpPaint$2(t3, null);
        t3 = offset._dx + line.left;
        t5 = box.left;
        x = t3 + t5;
        y = offset._dy + line.baseline;
        text = C.JSString_methods.substring$2(this.paragraph.plainText, box.start.index, box.end.indexWithoutTrailingNewlines);
        letterSpacing = t1._letterSpacing;
        if (letterSpacing != null ? letterSpacing === 0 : t2)
          canvas.fillText$4$shadows(0, text, x, y, t1._shadows);
        else {
          len = text.length;
          for (t1 = t1._shadows, charX = x, i = 0; i < len; ++i) {
            char = text[i];
            canvas.fillText$4$shadows(0, char, C.JSNumber_methods.roundToDouble$0(charX), y, t1);
            ctx = t4._context;
            if (ctx == null) {
              t4._createCanvas$0();
              t2 = t4._context;
              t2.toString;
              ctx = t2;
            }
            t2 = ctx.measureText(char).width;
            t2.toString;
            charX += letterSpacing + t2;
          }
        }
        ellipsis = line.ellipsis;
        if (ellipsis != null) {
          t1 = line.boxes;
          t1.toString;
          t1 = box === C.JSArray_methods.get$last(t1);
        } else
          t1 = false;
        if (t1)
          canvas.fillText$3(0, ellipsis, t3 + (t5 + box.width), y);
        t4.get$contextHandle().tearDownPaint$0();
      }
    }
  };
  H.EngineLineMetrics.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.displayText, _this.startIndex, _this.endIndex, _this.hardBreak, _this.ascent, _this.descent, 1 / 0, _this.height, _this.width, _this.left, _this.baseline, _this.lineNumber, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof H.EngineLineMetrics)
        if (other.displayText == _this.displayText)
          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;
      else
        t1 = false;
      return t1;
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.DomParagraph.prototype = {
    get$_hasLineMetrics: function() {
      var t1 = this._measurementResult;
      return (t1 == null ? null : t1.lines) != null;
    },
    get$width: function(_) {
      var t1 = this._measurementResult;
      t1 = t1 == null ? null : t1.width;
      return t1 == null ? -1 : t1;
    },
    get$height: function(_) {
      var t1 = this._measurementResult;
      t1 = t1 == null ? null : t1.height;
      return t1 == null ? 0 : t1;
    },
    get$_lineHeight: function(_) {
      var t1 = this._measurementResult;
      t1 = t1 == null ? null : t1.lineHeight;
      return t1 == null ? 0 : t1;
    },
    get$longestLine: function() {
      var t1, t2, maxWidth, _i, maxWidth0;
      if (this.get$_hasLineMetrics()) {
        for (t1 = this._measurementResult.lines, t2 = t1.length, maxWidth = 0, _i = 0; _i < t2; ++_i) {
          maxWidth0 = t1[_i].width;
          if (maxWidth < maxWidth0)
            maxWidth = maxWidth0;
        }
        return maxWidth;
      }
      return 0;
    },
    get$minIntrinsicWidth: function() {
      var t1 = this._measurementResult;
      t1 = t1 == null ? null : t1.minIntrinsicWidth;
      return t1 == null ? 0 : t1;
    },
    get$maxIntrinsicWidth: function() {
      var t1 = this._measurementResult;
      t1 = t1 == null ? null : t1.maxIntrinsicWidth;
      return t1 == null ? 0 : t1;
    },
    get$alphabeticBaseline: function(_) {
      var t1 = this._measurementResult;
      t1 = t1 == null ? null : t1.alphabeticBaseline;
      return t1 == null ? -1 : t1;
    },
    get$ideographicBaseline: function(_) {
      var t1 = this._measurementResult;
      t1 = t1 == null ? null : t1.ideographicBaseline;
      return t1 == null ? -1 : t1;
    },
    get$didExceedMaxLines: function(_) {
      return this._didExceedMaxLines;
    },
    layout$1: function(_, constraints) {
      var t2, _this = this,
        t1 = constraints.width;
      t1.toString;
      t1 = Math.floor(t1);
      constraints = new P.ParagraphConstraints(t1);
      if (constraints.$eq(0, _this._lastUsedConstraints))
        return;
      H._Cell$named("stopwatch");
      t2 = H.TextMeasurementService_forParagraph(_this).measure$2(0, _this, constraints);
      _this._measurementResult = t2;
      _this._lastUsedConstraints = constraints;
      if (_this._geometricStyle.maxLines != null) {
        t2 = t2.naturalHeight;
        if (t2 == null)
          t2 = 0;
        _this._didExceedMaxLines = t2 > _this.get$height(_this);
      } else
        _this._didExceedMaxLines = false;
      if (_this._measurementResult.isSingleLine)
        switch (_this._textAlign) {
          case C.TextAlign_2:
            _this._alignOffset = (t1 - _this.get$maxIntrinsicWidth()) / 2;
            break;
          case C.TextAlign_1:
            _this._alignOffset = t1 - _this.get$maxIntrinsicWidth();
            break;
          case C.TextAlign_4:
            _this._alignOffset = _this.__engine$_textDirection === C.TextDirection_0 ? t1 - _this.get$maxIntrinsicWidth() : 0;
            break;
          case C.TextAlign_5:
            _this._alignOffset = _this.__engine$_textDirection === C.TextDirection_1 ? t1 - _this.get$maxIntrinsicWidth() : 0;
            break;
          default:
            _this._alignOffset = 0;
            break;
        }
    },
    get$hasArbitraryPaint: function() {
      return this._geometricStyle.ellipsis != null;
    },
    paint$2: function(canvas, offset) {
      var t1, t2, t3, t4, y, len, i, _this = this,
        background = _this._background;
      if (background != null) {
        t1 = offset._dx;
        t2 = offset._dy;
        t3 = _this.get$width(_this);
        t4 = _this.get$height(_this);
        background._frozen = true;
        canvas.drawRect$2(0, new P.Rect(t1, t2, t1 + t3, t2 + t4), background._paintData);
      }
      t1 = _this._measurementResult.lines;
      t1.toString;
      canvas.setCssFont$1(_this._geometricStyle.get$cssFontString());
      t2 = _this._paint;
      t2._frozen = true;
      t2 = t2._paintData;
      t3 = canvas._canvasPool;
      t3.get$contextHandle().setUpPaint$2(t2, null);
      y = offset._dy + _this.get$alphabeticBaseline(_this);
      len = t1.length;
      for (t2 = offset._dx, i = 0; i < len; ++i) {
        _this._paintLine$4(canvas, t1[i], t2, y);
        t4 = _this._measurementResult;
        t4 = t4 == null ? null : t4.lineHeight;
        y += t4 == null ? 0 : t4;
      }
      t3.get$contextHandle().tearDownPaint$0();
    },
    _paintLine$4: function(canvas, line, x, y) {
      var letterSpacing, t1, t2, len, i, char, ctx, t3;
      x += line.left;
      letterSpacing = this._geometricStyle.letterSpacing;
      t1 = letterSpacing == null || letterSpacing === 0;
      t2 = line.displayText;
      if (t1) {
        t2.toString;
        canvas.fillText$3(0, t2, x, y);
      } else {
        len = t2.length;
        for (t1 = canvas._canvasPool, i = 0; i < len; ++i) {
          char = t2[i];
          canvas.fillText$3(0, char, x, y);
          ctx = t1._context;
          if (ctx == null) {
            t1._createCanvas$0();
            t3 = t1._context;
            t3.toString;
            ctx = t3;
          }
          t3 = ctx.measureText(char).width;
          t3.toString;
          x += letterSpacing + t3;
        }
      }
    },
    toDomElement$0: function() {
      var style, _this = this,
        paragraphElement = type$.HtmlElement._as(_this._paragraphElement.cloneNode(true)),
        paragraphStyle = paragraphElement.style,
        t1 = H.S(_this.get$height(_this)) + "px";
      paragraphStyle.height = t1;
      t1 = H.S(_this.get$width(_this)) + "px";
      paragraphStyle.width = t1;
      paragraphStyle.position = "absolute";
      paragraphStyle.whiteSpace = "pre-wrap";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(paragraphStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(paragraphStyle, "overflow-wrap"), "break-word", "");
      paragraphStyle.overflow = "hidden";
      style = _this._geometricStyle;
      if (style.ellipsis != null) {
        t1 = style.maxLines;
        t1 = t1 == null || t1 === 1;
      } else
        t1 = false;
      if (t1) {
        paragraphStyle.whiteSpace = "pre";
        C.CssStyleDeclaration_methods._setPropertyHelper$3(paragraphStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(paragraphStyle, "text-overflow"), "ellipsis", "");
      }
      return paragraphElement;
    },
    getBoxesForPlaceholders$0: function() {
      return this._measurementResult.placeholderBoxes;
    },
    get$drawOnCanvas: function() {
      var t1, _this = this;
      if (!_this.get$_hasLineMetrics())
        return false;
      if (H.TextMeasurementService_forParagraph(_this).get$isCanvas() ? true : _this._geometricStyle.ellipsis == null) {
        t1 = _this._geometricStyle;
        t1 = t1.decoration == null && t1.wordSpacing == null && t1.shadows == null;
      } else
        t1 = false;
      return t1;
    },
    get$isLaidOut: function() {
      return this._measurementResult != null;
    },
    getBoxesForRange$4$boxHeightStyle$boxWidthStyle: function(start, end, boxHeightStyle, boxWidthStyle) {
      var t1, $length, t2, t3, startLine, endLine, boxes, i, t4, t5, widthBeforeBox, widthAfterBox, t6, t7, $top, _this = this;
      if (start == end || start < 0 || end < 0)
        return H._setArrayType([], type$.JSArray_TextBox);
      t1 = _this._plainText;
      if (t1 == null)
        return H._setArrayType([new P.TextBox(0, 0, 0, _this.get$_lineHeight(_this), _this.__engine$_textDirection)], type$.JSArray_TextBox);
      $length = t1.length;
      if (start > $length || end > $length)
        return H._setArrayType([], type$.JSArray_TextBox);
      if (!_this.get$_hasLineMetrics()) {
        H.TextMeasurementService_forParagraph(_this);
        t2 = _this._lastUsedConstraints;
        t2.toString;
        t3 = _this._alignOffset;
        return $.TextMeasurementService_rulerManager.findOrCreateRuler$1(_this._geometricStyle).measureBoxesForRange$6$alignOffset$end$start$textDirection(t1, t2, t3, end, start, _this.__engine$_textDirection);
      }
      t1 = _this._measurementResult.lines;
      t1.toString;
      if (start >= C.JSArray_methods.get$last(t1).endIndex)
        return H._setArrayType([], type$.JSArray_TextBox);
      startLine = _this._getLineForIndex$1(start);
      endLine = _this._getLineForIndex$1(end);
      if (end === endLine.startIndex)
        endLine = t1[endLine.lineNumber - 1];
      boxes = H._setArrayType([], type$.JSArray_TextBox);
      for (i = startLine.lineNumber, t2 = endLine.lineNumber, t3 = _this.__engine$_textDirection; i <= t2; ++i) {
        t4 = t1[i];
        t5 = t4.startIndex;
        widthBeforeBox = start <= t5 ? 0 : H.TextMeasurementService_forParagraph(_this).measureSubstringWidth$3(_this, t5, start);
        t5 = t4.endIndexWithoutNewlines;
        widthAfterBox = end >= t5 ? 0 : H.TextMeasurementService_forParagraph(_this).measureSubstringWidth$3(_this, end, t5);
        t5 = _this._measurementResult;
        t6 = t5 == null;
        t7 = t6 ? null : t5.lineHeight;
        if (t7 == null)
          t7 = 0;
        $top = t4.lineNumber * t7;
        t7 = t4.left;
        t5 = t6 ? null : t5.lineHeight;
        if (t5 == null)
          t5 = 0;
        boxes.push(new P.TextBox(t7 + widthBeforeBox, $top, t7 + t4.widthWithTrailingSpaces - widthAfterBox, $top + t5, t3));
      }
      return boxes;
    },
    getBoxesForRange$3$boxHeightStyle: function(start, end, boxHeightStyle) {
      return this.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(start, end, boxHeightStyle, C.BoxWidthStyle_0);
    },
    getPositionForOffset$1: function(offset) {
      var t1, t2, lineNumber, lineMetrics, lineLeft, dx, instance, low, high, low0, current, width, _this = this,
        lines = _this._measurementResult.lines;
      if (!_this.get$_hasLineMetrics())
        return H.TextMeasurementService_forParagraph(_this).getTextPositionForOffset$3(_this, _this._lastUsedConstraints, offset);
      t1 = offset._dy;
      if (t1 < 0)
        return new P.TextPosition(0, C.TextAffinity_1);
      t2 = _this._measurementResult.lineHeight;
      t2.toString;
      lineNumber = C.JSNumber_methods.$tdiv(t1, t2);
      if (lineNumber >= lines.length)
        return new P.TextPosition(_this._plainText.length, C.TextAffinity_0);
      lineMetrics = lines[lineNumber];
      lineLeft = lineMetrics.left;
      t1 = offset._dx;
      if (t1 <= lineLeft)
        return new P.TextPosition(lineMetrics.startIndex, C.TextAffinity_1);
      if (t1 >= lineLeft + lineMetrics.width)
        return new P.TextPosition(lineMetrics.endIndexWithoutNewlines, C.TextAffinity_0);
      dx = t1 - lineLeft;
      instance = H.TextMeasurementService_forParagraph(_this);
      low = lineMetrics.startIndex;
      high = lineMetrics.endIndexWithoutNewlines;
      low0 = low;
      do {
        current = C.JSInt_methods._tdivFast$1(low0 + high, 2);
        width = instance.measureSubstringWidth$3(_this, low, current);
        if (width < dx)
          low0 = current;
        else {
          low0 = width > dx ? low0 : current;
          high = current;
        }
      } while (high - low0 > 1);
      if (low0 === high)
        return new P.TextPosition(high, C.TextAffinity_0);
      if (dx - instance.measureSubstringWidth$3(_this, low, low0) < instance.measureSubstringWidth$3(_this, low, high) - dx)
        return new P.TextPosition(low0, C.TextAffinity_1);
      else
        return new P.TextPosition(high, C.TextAffinity_0);
    },
    getWordBoundary$1: function(_, position) {
      var t1,
        text = this._plainText;
      if (text == null) {
        t1 = position.offset;
        return new P.TextRange(t1, t1);
      }
      t1 = position.offset;
      return new P.TextRange(H.WordBreaker__findBreakIndex(C._FindBreakDirection_m1, text, t1 + 1), H.WordBreaker__findBreakIndex(C._FindBreakDirection_1, text, t1));
    },
    _getLineForIndex$1: function(index) {
      var t1, i, line,
        lines = this._measurementResult.lines;
      for (t1 = lines.length, i = 0; i < t1; ++i) {
        line = lines[i];
        if (index >= line.startIndex && index < line.endIndex)
          return line;
      }
      return C.JSArray_methods.get$last(lines);
    },
    getLineBoundary$1: function(position) {
      var line;
      if (this.get$_hasLineMetrics()) {
        line = this._getLineForIndex$1(position.offset);
        return new P.TextRange(line.startIndex, line.endIndex);
      }
      return C.TextRange_m1_m1;
    },
    $isEngineParagraph: 1
  };
  H.EngineParagraphStyle.prototype = {
    get$_effectiveFontFamily: function() {
      var fontFamily = this._fontFamily;
      if (fontFamily == null || fontFamily.length === 0)
        return "sans-serif";
      return fontFamily;
    },
    get$_lineHeight: function(_) {
      var t2,
        t1 = this._strutStyle;
      if (t1 != null) {
        t2 = t1.__engine$_height;
        t2 = t2 == null || t2 === 0;
      } else
        t2 = true;
      if (t2)
        return this.__engine$_height;
      if (t1._forceStrutHeight === true)
        return t1.__engine$_height;
      t1 = t1.__engine$_height;
      t1.toString;
      t2 = this.__engine$_height;
      if (t2 == null)
        t2 = 0;
      return Math.max(t1, t2);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof H.EngineParagraphStyle && other._textAlign == _this._textAlign && other.__engine$_textDirection == _this.__engine$_textDirection && other._fontWeight == _this._fontWeight && other._fontStyle == _this._fontStyle && other._maxLines == _this._maxLines && other._fontFamily == _this._fontFamily && other._fontSize == _this._fontSize && other.__engine$_height == _this.__engine$_height && J.$eq$(other._textHeightBehavior, _this._textHeightBehavior) && other._ellipsis == _this._ellipsis && J.$eq$(other._locale, _this._locale);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this._textAlign, _this.__engine$_textDirection, _this._fontWeight, _this._fontStyle, _this._maxLines, _this._fontFamily, _this._fontSize, _this.__engine$_height, _this._textHeightBehavior, _this._ellipsis, _this._locale, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.EngineTextStyle.prototype = {
    get$_effectiveFontFamily: function() {
      var t1 = this._fontFamily;
      if (t1.length === 0)
        return "sans-serif";
      return t1;
    },
    get$cssFontString: function() {
      var _this = this,
        t1 = _this._cssFontString;
      return t1 == null ? _this._cssFontString = H._buildCssFontString(_this.get$_effectiveFontFamily(), _this._fontSize, _this._fontStyle, _this._fontWeight) : t1;
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof H.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.__engine$_height == _this.__engine$_height && J.$eq$(other._locale, _this._locale) && other._background == _this._background && other._foreground == _this._foreground && H.listEquals(other._shadows, _this._shadows) && H.listEquals(other._fontFamilyFallback, _this._fontFamilyFallback);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_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.__engine$_height, _this._locale, _this._background, _this._foreground, _this._shadows, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.EngineStrutStyle.prototype = {
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof H.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 && H.listEquals(other._fontFamilyFallback, _this._fontFamilyFallback);
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this._fontFamily, _this._fontFamilyFallback, _this._fontSize, _this.__engine$_height, _this._leading, _this._leadingDistribution, _this._fontWeight, _this._fontStyle, _this._forceStrutHeight, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  H.DomParagraphBuilder.prototype = {
    pushStyle$1: function(_, style) {
      this._ops.push(style);
    },
    get$placeholderScales: function() {
      return this._placeholderScales;
    },
    pop$0: function(_) {
      this._ops.push($.$get$DomParagraphBuilder__paragraphBuilderPop());
    },
    addText$1: function(_, text) {
      this._ops.push(text);
    },
    build$0: function(_) {
      var t1 = this._tryBuildPlainText$0();
      return t1 == null ? this._buildRichText$0() : t1;
    },
    _tryBuildPlainText$0: function() {
      var fontSize, textAlign, t2, textAlign0, textDirection, t3, textDirection0, locale, t4, t5, shadows, foreground, background, height, wordSpacing, letterSpacing, fontFamilyFallback, textBaseline, decorationThickness, decorationStyle, decorationColor, decoration, color, i, style, color0, decoration0, decorationColor0, decorationStyle0, decorationThickness0, fontWeight0, fontStyle0, textBaseline0, fontFamilyFallback0, fontSize0, letterSpacing0, wordSpacing0, height0, locale0, background0, foreground0, shadows0, cumulativeStyle, paint, plainTextBuffer, plainText, t6, _this = this, _null = null,
        t1 = _this._paragraphStyle,
        fontWeight = t1._fontWeight,
        fontStyle = t1._fontStyle,
        fontFamily = t1._fontFamily;
      if (fontFamily == null)
        fontFamily = "sans-serif";
      fontSize = t1._fontSize;
      if (fontSize == null)
        fontSize = 14;
      textAlign = t1._textAlign;
      t2 = textAlign == null;
      textAlign0 = t2 ? C.TextAlign_4 : textAlign;
      textDirection = t1.__engine$_textDirection;
      t3 = textDirection == null;
      textDirection0 = t3 ? C.TextDirection_1 : textDirection;
      locale = t1._locale;
      t4 = _this._ops;
      t5 = t4.length;
      shadows = _null;
      foreground = shadows;
      background = foreground;
      height = background;
      wordSpacing = height;
      letterSpacing = wordSpacing;
      fontFamilyFallback = letterSpacing;
      textBaseline = fontFamilyFallback;
      decorationThickness = textBaseline;
      decorationStyle = decorationThickness;
      decorationColor = decorationStyle;
      decoration = decorationColor;
      color = decoration;
      i = 0;
      while (true) {
        if (!(i < t5 && t4[i] instanceof H.EngineTextStyle))
          break;
        style = t4[i];
        color0 = style._color;
        if (color0 != null)
          color = color0;
        decoration0 = style._decoration;
        if (decoration0 != null)
          decoration = decoration0;
        decorationColor0 = style._decorationColor;
        if (decorationColor0 != null)
          decorationColor = decorationColor0;
        decorationStyle0 = style._decorationStyle;
        if (decorationStyle0 != null)
          decorationStyle = decorationStyle0;
        decorationThickness0 = style._decorationThickness;
        if (decorationThickness0 != null)
          decorationThickness = decorationThickness0;
        fontWeight0 = style._fontWeight;
        if (fontWeight0 != null)
          fontWeight = fontWeight0;
        fontStyle0 = style._fontStyle;
        if (fontStyle0 != null)
          fontStyle = fontStyle0;
        textBaseline0 = style._textBaseline;
        if (textBaseline0 != null)
          textBaseline = textBaseline0;
        fontFamily = style._fontFamily;
        fontFamilyFallback0 = style._fontFamilyFallback;
        if (fontFamilyFallback0 != null)
          fontFamilyFallback = fontFamilyFallback0;
        fontSize0 = style._fontSize;
        if (fontSize0 != null)
          fontSize = fontSize0;
        letterSpacing0 = style._letterSpacing;
        if (letterSpacing0 != null)
          letterSpacing = letterSpacing0;
        wordSpacing0 = style._wordSpacing;
        if (wordSpacing0 != null)
          wordSpacing = wordSpacing0;
        height0 = style.__engine$_height;
        if (height0 != null)
          height = height0;
        locale0 = style._locale;
        if (locale0 != null)
          locale = locale0;
        background0 = style._background;
        if (background0 != null)
          background = background0;
        foreground0 = style._foreground;
        if (foreground0 != null)
          foreground = foreground0;
        shadows0 = style._shadows;
        if (shadows0 != null)
          shadows = shadows0;
        ++i;
      }
      if (color == null && foreground == null)
        color = C.Color_4294901760;
      cumulativeStyle = H.EngineTextStyle$only(background, color, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, _null, fontSize, fontStyle, fontWeight, foreground, height, letterSpacing, locale, shadows, textBaseline, wordSpacing);
      if (foreground != null)
        paint = foreground;
      else {
        t5 = H._detectRenderer();
        paint = t5 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        color.toString;
        paint.set$color(0, color);
      }
      if (i >= t4.length) {
        t4 = _this._paragraphElement;
        H._applyTextStyleToElement(t4, false, cumulativeStyle);
        t3 = t3 ? C.TextDirection_1 : textDirection;
        t2 = t2 ? C.TextAlign_4 : textAlign;
        t5 = type$.nullable_SurfacePaint;
        return new H.DomParagraph(t4, new H.ParagraphGeometricStyle(t3, t2, fontWeight, fontStyle, fontFamily, fontSize, height, t1._maxLines, letterSpacing, wordSpacing, H._textDecorationToCssString(decoration, decorationStyle), t1._ellipsis, shadows), "", t5._as(paint), textAlign0, textDirection0, t5._as(cumulativeStyle._background), 0);
      }
      if (typeof t4[i] != "string")
        return _null;
      plainTextBuffer = new P.StringBuffer("");
      t5 = "";
      while (true) {
        if (!(i < t4.length && typeof t4[i] == "string"))
          break;
        t5 += H.S(t4[i]);
        plainTextBuffer._contents = t5;
        ++i;
      }
      for (; i < t4.length; ++i)
        if (!J.$eq$(t4[i], $.$get$DomParagraphBuilder__paragraphBuilderPop()))
          return _null;
      t4 = plainTextBuffer._contents;
      plainText = t4.charCodeAt(0) == 0 ? t4 : t4;
      t4 = _this._paragraphElement;
      $.$get$domRenderer().toString;
      t4.toString;
      t4.appendChild(document.createTextNode(plainText));
      H._applyTextStyleToElement(t4, false, cumulativeStyle);
      t5 = cumulativeStyle._background;
      if (t5 != null)
        H._applyTextBackgroundToElement(t4, cumulativeStyle);
      t3 = t3 ? C.TextDirection_1 : textDirection;
      t2 = t2 ? C.TextAlign_4 : textAlign;
      t6 = type$.nullable_SurfacePaint;
      return new H.DomParagraph(t4, new H.ParagraphGeometricStyle(t3, t2, fontWeight, fontStyle, fontFamily, fontSize, height, t1._maxLines, letterSpacing, wordSpacing, H._textDecorationToCssString(decoration, decorationStyle), t1._ellipsis, shadows), plainText, t6._as(paint), textAlign0, textDirection0, t6._as(t5), 0);
    },
    _buildRichText$0: function() {
      var t1, t2, i, op, element, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, _this = this, _null = null,
        _s16_ = "background-color",
        elementStack = [],
        currentElement = new H.DomParagraphBuilder__buildRichText_currentElement(_this, elementStack);
      for (t1 = _this._ops, t2 = type$.SpanElement, i = 0; i < t1.length; ++i) {
        op = t1[i];
        if (op instanceof H.EngineTextStyle) {
          $.$get$domRenderer().toString;
          element = document.createElement("span");
          t2._as(element);
          H._applyTextStyleToElement(element, true, op);
          t3 = op._background;
          if (t3 != null) {
            t3 = H.colorToCssString(t3.get$color(t3));
            if (t3 == null)
              element.style.removeProperty(_s16_);
            else {
              t4 = element.style;
              t4.toString;
              t5 = C.CssStyleDeclaration_methods._browserPropertyName$1(t4, _s16_);
              t4.setProperty(t5, t3, "");
            }
          }
          currentElement.call$0().appendChild(element);
          elementStack.push(element);
        } else if (typeof op == "string") {
          t3 = $.$get$domRenderer();
          t4 = currentElement.call$0();
          t3.toString;
          t4.toString;
          t4.appendChild(document.createTextNode(op));
        } else {
          t3 = $.$get$DomParagraphBuilder__paragraphBuilderPop();
          if (op == null ? t3 == null : op === t3)
            elementStack.pop();
          else
            throw H.wrapException(P.UnsupportedError$("Unsupported ParagraphBuilder operation: " + H.S(op)));
        }
      }
      t1 = _this._paragraphStyle;
      t2 = t1.__engine$_textDirection;
      t3 = t2 == null;
      t4 = t3 ? C.TextDirection_1 : t2;
      t5 = t1._textAlign;
      t6 = t5 == null;
      t7 = t6 ? C.TextAlign_4 : t5;
      t8 = t1._fontFamily;
      t9 = t1._fontWeight;
      t10 = t1._fontStyle;
      t11 = t1._fontSize;
      t12 = t1.__engine$_height;
      t13 = t1._maxLines;
      t1 = t1._ellipsis;
      if (t6)
        t5 = C.TextAlign_4;
      if (t3)
        t2 = C.TextDirection_1;
      return new H.DomParagraph(_this._paragraphElement, new H.ParagraphGeometricStyle(t4, t7, t9, t10, t8, t11, t12, t13, _null, _null, _null, t1, _null), _null, _null, t5, t2, _null, 0);
    }
  };
  H.DomParagraphBuilder__buildRichText_currentElement.prototype = {
    call$0: function() {
      var t1 = this.elementStack;
      return t1.length !== 0 ? C.JSArray_methods.get$last(t1) : this.$this._paragraphElement;
    },
    $signature: 44
  };
  H.ParagraphGeometricStyle.prototype = {
    get$effectiveFontFamily: function() {
      var localFontFamily = this.fontFamily;
      if (localFontFamily == null || localFontFamily.length === 0)
        return "sans-serif";
      return localFontFamily;
    },
    get$cssFontString: function() {
      var _this = this,
        t1 = _this._cssFontString;
      return t1 == null ? _this._cssFontString = H._buildCssFontString(_this.get$effectiveFontFamily(), _this.fontSize, _this.fontStyle, _this.fontWeight) : t1;
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof H.ParagraphGeometricStyle && other.textDirection === _this.textDirection && other.textAlign === _this.textAlign && other.fontWeight == _this.fontWeight && other.fontStyle == _this.fontStyle && other.fontFamily == _this.fontFamily && other.fontSize == _this.fontSize && other.lineHeight == _this.lineHeight && other.maxLines == _this.maxLines && other.letterSpacing == _this.letterSpacing && other.wordSpacing == _this.wordSpacing && other.decoration == _this.decoration && other.ellipsis == _this.ellipsis;
    },
    get$hashCode: function(_) {
      var _this = this,
        t1 = _this._cachedHashCode;
      return t1 == null ? _this._cachedHashCode = P.hashValues(_this.textDirection, _this.textAlign, _this.fontWeight, _this.fontStyle, _this.fontFamily, _this.fontSize, _this.lineHeight, _this.maxLines, _this.letterSpacing, _this.wordSpacing, _this.decoration, _this.ellipsis, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd) : t1;
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.TextHeightStyle.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      return other instanceof H.TextHeightStyle && other.get$hashCode(other) == this.get$hashCode(this);
    },
    get$hashCode: function(_) {
      var _this = this,
        t1 = _this.__TextHeightStyle_hashCode;
      if (t1 === $) {
        t1 = P.hashValues(_this.fontFamily, _this.fontSize, _this.height, P.hashList(_this.fontFeatures), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
        if (_this.__TextHeightStyle_hashCode === $)
          _this.__TextHeightStyle_hashCode = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("hashCode"));
      }
      return t1;
    }
  };
  H.TextDimensions.prototype = {
    updateText$2: function(from, style) {
      var plainText, t1, copy;
      this._cachedBoundingClientRect = null;
      plainText = from._plainText;
      if (plainText != null) {
        t1 = this.__engine$_element;
        if (C.JSString_methods.endsWith$1(plainText, "\n"))
          t1.textContent = plainText + "\n";
        else
          t1.textContent = plainText;
      } else {
        copy = type$.Element._as(from._paragraphElement.cloneNode(true));
        copy.toString;
        new W._ChildNodeListLazy(this.__engine$_element).addAll$1(0, new W._ChildNodeListLazy(copy));
      }
    },
    updateConstraintWidth$2: function(width, ellipsis) {
      var t1, t2;
      this._cachedBoundingClientRect = null;
      width.toString;
      if (width == 1 / 0 || width == -1 / 0) {
        t1 = this.__engine$_element.style;
        t1.width = "";
        t1.whiteSpace = "pre";
      } else {
        t1 = this.__engine$_element;
        if (ellipsis != null) {
          t1 = t1.style;
          t2 = H.S(width) + "px";
          t1.width = t2;
          t1.whiteSpace = "pre";
        } else {
          t1 = t1.style;
          t2 = H.S(width) + "px";
          t1.width = t2;
          t1.whiteSpace = "pre-wrap";
        }
      }
    },
    applyStyle$1: function(style) {
      var decoration, _null = null,
        t1 = this.__engine$_element,
        elementStyle = t1.style,
        t2 = style.textDirection,
        t3 = H._textDirectionToCss(t2);
      elementStyle.toString;
      elementStyle.direction = t3 == null ? "" : t3;
      t2 = H.textAlignToCssValue(style.textAlign, t2);
      elementStyle.textAlign = t2;
      t2 = style.fontSize;
      t2 = t2 != null ? "" + C.JSNumber_methods.floor$0(t2) + "px" : _null;
      elementStyle.fontSize = t2 == null ? "" : t2;
      t2 = H.canonicalizeFontFamily(style.get$effectiveFontFamily());
      elementStyle.fontFamily = t2 == null ? "" : t2;
      t2 = style.fontWeight;
      t2 = t2 != null ? H.fontWeightToCss(t2) : _null;
      elementStyle.fontWeight = t2 == null ? "" : t2;
      t2 = style.fontStyle;
      if (t2 != null)
        t2 = t2 === C.FontStyle_0 ? "normal" : "italic";
      else
        t2 = _null;
      elementStyle.fontStyle = t2 == null ? "" : t2;
      t2 = style.letterSpacing;
      t2 = t2 != null ? H.S(t2) + "px" : _null;
      elementStyle.letterSpacing = t2 == null ? "" : t2;
      t2 = style.wordSpacing;
      t2 = t2 != null ? H.S(t2) + "px" : _null;
      elementStyle.wordSpacing = t2 == null ? "" : t2;
      decoration = style.decoration;
      t2 = $.$get$_browserEngine();
      if (t2 === C.BrowserEngine_1)
        H.DomRenderer_setElementStyle(t1, "-webkit-text-decoration", decoration);
      else
        elementStyle.textDecoration = decoration == null ? "" : decoration;
      t1 = style.lineHeight;
      if (t1 != null) {
        t1 = C.JSNumber_methods.toString$0(t1);
        elementStyle.lineHeight = t1;
      }
      this._cachedBoundingClientRect = null;
    },
    _readAndCacheMetrics$0: function() {
      var t1 = this._cachedBoundingClientRect;
      return t1 == null ? this._cachedBoundingClientRect = this.__engine$_element.getBoundingClientRect() : t1;
    },
    get$height: function(_) {
      var t2, cachedHeight,
        t1 = this._readAndCacheMetrics$0().height;
      t1.toString;
      t2 = $.$get$_browserEngine();
      if (t2 === C.BrowserEngine_2 && true)
        cachedHeight = t1 + 1;
      else
        cachedHeight = t1;
      return cachedHeight;
    }
  };
  H.TextHeightRuler.prototype = {
    get$__engine$_host: function() {
      var host, t2, fontFamily, fontSize, t3, style, t4, height, _this = this,
        t1 = _this.__TextHeightRuler__host;
      if (t1 === $) {
        host = document.createElement("div");
        t1 = host.style;
        t1.visibility = "hidden";
        t1.position = "absolute";
        t1.top = "0";
        t1.left = "0";
        t1.display = "flex";
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "flex-direction"), "row", "");
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "align-items"), "baseline", "");
        t1.margin = "0";
        t1.border = "0";
        t1.padding = "0";
        t1 = _this._dimensions;
        t2 = _this.textHeightStyle;
        fontFamily = t2.fontFamily;
        fontSize = t2.fontSize;
        t3 = t1.__engine$_element;
        style = t3.style;
        t4 = "" + C.JSNumber_methods.floor$0(fontSize) + "px";
        style.fontSize = t4;
        t4 = H.canonicalizeFontFamily(fontFamily);
        style.fontFamily = t4 == null ? "" : t4;
        height = t2.height;
        if (height != null) {
          t2 = C.JSNumber_methods.toString$0(height);
          style.lineHeight = t2;
        }
        t1._cachedBoundingClientRect = null;
        t2 = t3.style;
        t2.whiteSpace = "pre";
        t1._cachedBoundingClientRect = null;
        t3.textContent = " ";
        host.appendChild(t3);
        t1._cachedBoundingClientRect = null;
        _this.rulerHost._rulerHost.appendChild(host);
        if (_this.__TextHeightRuler__host === $) {
          _this.__TextHeightRuler__host = host;
          t1 = host;
        } else
          t1 = H.throwExpression(H.LateError$fieldADI("_host"));
      }
      return t1;
    },
    get$alphabeticBaseline: function(_) {
      var probe, _this = this,
        t1 = _this.__TextHeightRuler_alphabeticBaseline;
      if (t1 === $) {
        t1 = _this.__TextHeightRuler__probe;
        if (t1 === $) {
          probe = document.createElement("div");
          _this.get$__engine$_host().appendChild(probe);
          if (_this.__TextHeightRuler__probe === $) {
            _this.__TextHeightRuler__probe = probe;
            t1 = probe;
          } else
            t1 = H.throwExpression(H.LateError$fieldADI("_probe"));
        }
        t1 = t1.getBoundingClientRect().bottom;
        t1.toString;
        if (_this.__TextHeightRuler_alphabeticBaseline === $)
          _this.__TextHeightRuler_alphabeticBaseline = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("alphabeticBaseline"));
      }
      return t1;
    },
    get$height: function(_) {
      var _this = this,
        t1 = _this.__TextHeightRuler_height;
      if (t1 === $) {
        t1 = _this._dimensions;
        t1 = t1.get$height(t1);
        if (_this.__TextHeightRuler_height === $)
          _this.__TextHeightRuler_height = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("height"));
      }
      return t1;
    },
    _createHost$0: function() {
      var t2, fontFamily, fontSize, t3, style, t4, height,
        host = document.createElement("div"),
        t1 = host.style;
      t1.visibility = "hidden";
      t1.position = "absolute";
      t1.top = "0";
      t1.left = "0";
      t1.display = "flex";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "flex-direction"), "row", "");
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "align-items"), "baseline", "");
      t1.margin = "0";
      t1.border = "0";
      t1.padding = "0";
      t1 = this._dimensions;
      t2 = this.textHeightStyle;
      fontFamily = t2.fontFamily;
      fontSize = t2.fontSize;
      t3 = t1.__engine$_element;
      style = t3.style;
      t4 = "" + C.JSNumber_methods.floor$0(fontSize) + "px";
      style.fontSize = t4;
      t4 = H.canonicalizeFontFamily(fontFamily);
      style.fontFamily = t4 == null ? "" : t4;
      height = t2.height;
      if (height != null) {
        t2 = C.JSNumber_methods.toString$0(height);
        style.lineHeight = t2;
      }
      t1._cachedBoundingClientRect = null;
      t2 = t3.style;
      t2.whiteSpace = "pre";
      t1._cachedBoundingClientRect = null;
      t3.textContent = " ";
      host.appendChild(t3);
      t1._cachedBoundingClientRect = null;
      this.rulerHost._rulerHost.appendChild(host);
      return host;
    }
  };
  H.ParagraphRuler.prototype = {
    get$_textHeightRuler: function() {
      var style, t2, t3, _this = this,
        t1 = _this.__ParagraphRuler__textHeightRuler;
      if (t1 === $) {
        t1 = _this.style;
        style = t1._cachedHeightStyle;
        if (style == null) {
          t2 = t1.get$effectiveFontFamily();
          t3 = t1.fontSize;
          if (t3 == null)
            t3 = 14;
          style = t1._cachedHeightStyle = new H.TextHeightStyle(t2, t3, t1.lineHeight, null);
        }
        t1 = H.TextHeightRuler$(style, _this.rulerManager);
        if (_this.__ParagraphRuler__textHeightRuler === $)
          _this.__ParagraphRuler__textHeightRuler = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("_textHeightRuler"));
      }
      return t1;
    },
    measureAsSingleLine$0: function() {
      var t1 = this._paragraph,
        t2 = this.singleLineDimensions;
      if (t1._plainText === "") {
        t2._cachedBoundingClientRect = null;
        t2.__engine$_element.textContent = " ";
      } else
        t2.updateText$2(t1, this.style);
    },
    measureWithConstraints$1: function(constraints) {
      var t3,
        t1 = this.constrainedDimensions,
        t2 = this._paragraph;
      t2.toString;
      t3 = this.style;
      t1.updateText$2(t2, t3);
      t1.updateConstraintWidth$2(constraints.width + 0.5, t3.ellipsis);
    },
    measurePlaceholderBoxes$0: function() {
      var t1, placeholderElements, boxes, rect, t2, t3, t4, t5;
      if (this._paragraph.placeholderCount === 0)
        return C.List_empty3;
      t1 = type$._FrozenElementList_Element;
      placeholderElements = new W._FrozenElementList(this.constrainedDimensions.__engine$_element.querySelectorAll(".paragraph-placeholder"), t1);
      boxes = H._setArrayType([], type$.JSArray_TextBox);
      for (t1 = new H.ListIterator(placeholderElements, placeholderElements.get$length(placeholderElements), t1._eval$1("ListIterator<ListMixin.E>")); t1.moveNext$0();) {
        rect = t1.__internal$_current.getBoundingClientRect();
        t2 = rect.left;
        t2.toString;
        t3 = rect.top;
        t3.toString;
        t4 = rect.right;
        t4.toString;
        t5 = rect.bottom;
        t5.toString;
        boxes.push(new P.TextBox(t2, t3, t4, t5, this._paragraph.__engine$_textDirection));
      }
      return boxes;
    },
    hitTest$2: function(constraints, offset) {
      var el, textNodes, i, t1, bounds, dx, dy, t2, _this = this;
      _this.measureWithConstraints$1(constraints);
      el = _this.constrainedDimensions.__engine$_element;
      textNodes = H._setArrayType([], type$.JSArray_Node);
      _this._collectTextNodes$2(el.childNodes, textNodes);
      for (i = textNodes.length - 1, t1 = type$.Element; i >= 0; --i) {
        bounds = t1._as(textNodes[i].parentNode).getBoundingClientRect();
        dx = offset._dx;
        dy = offset._dy;
        t2 = bounds.left;
        t2.toString;
        if (dx >= t2) {
          t2 = bounds.right;
          t2.toString;
          if (dx < t2) {
            t2 = bounds.top;
            t2.toString;
            if (dy >= t2) {
              t2 = bounds.bottom;
              t2.toString;
              t2 = dy < t2;
            } else
              t2 = false;
          } else
            t2 = false;
        } else
          t2 = false;
        if (t2)
          return _this._countTextPosition$2(el.childNodes, textNodes[i]);
      }
      return 0;
    },
    _collectTextNodes$2: function(nodes, textNodes) {
      var childNodes, t1, _i, node;
      if (J.get$isEmpty$asx(nodes))
        return;
      childNodes = H._setArrayType([], type$.JSArray_Node);
      for (t1 = nodes.length, _i = 0; _i < nodes.length; nodes.length === t1 || (0, H.throwConcurrentModificationError)(nodes), ++_i) {
        node = nodes[_i];
        if (node.nodeType === 3)
          textNodes.push(node);
        C.JSArray_methods.addAll$1(childNodes, node.childNodes);
      }
      this._collectTextNodes$2(childNodes, textNodes);
    },
    _countTextPosition$2: function(nodes, endNode) {
      var position, node,
        t1 = H.instanceType(nodes)._eval$1("ReversedListIterable<ListMixin.E>"),
        stack = P.List_List$of(new H.ReversedListIterable(nodes, t1), true, t1._eval$1("ListIterable.E"));
      for (position = 0; true;) {
        node = C.JSArray_methods.removeLast$0(stack);
        t1 = node.childNodes;
        C.JSArray_methods.addAll$1(stack, new H.ReversedListIterable(t1, H.instanceType(t1)._eval$1("ReversedListIterable<ListMixin.E>")));
        if (node === endNode)
          break;
        if (node.nodeType === 3)
          position += node.textContent.length;
      }
      return position;
    },
    didMeasure$0: function() {
      var t1, _this = this;
      if (_this._paragraph._plainText == null) {
        t1 = $.$get$domRenderer();
        t1.clearDom$1(_this.singleLineDimensions.__engine$_element);
        t1.clearDom$1(_this.minIntrinsicDimensions.__engine$_element);
        t1.clearDom$1(_this.constrainedDimensions.__engine$_element);
      }
      _this._paragraph = null;
    },
    measureBoxesForRange$6$alignOffset$end$start$textDirection: function(plainText, constraints, alignOffset, end, start, textDirection) {
      var t2, t3, value, boxes, maxLinesLimit, previousRect, _i, rect, t4, t5, t6,
        before = J.substring$2$s(plainText, 0, start),
        rangeText = C.JSString_methods.substring$2(plainText, start, end),
        after = C.JSString_methods.substring$1(plainText, end),
        t1 = document,
        rangeSpan = t1.createElement("span");
      rangeSpan.textContent = rangeText;
      t2 = this.constrainedDimensions;
      t3 = t2.__engine$_element;
      $.$get$domRenderer().clearDom$1(t3);
      t3.appendChild(t1.createTextNode(before));
      t3.appendChild(rangeSpan);
      t3.appendChild(t1.createTextNode(after));
      t2.updateConstraintWidth$2(constraints.width, null);
      value = rangeSpan.getClientRects();
      if (value.prototype == null)
        value.prototype = Object.create(null);
      boxes = H._setArrayType([], type$.JSArray_TextBox);
      t1 = this.style.maxLines;
      if (t1 == null)
        maxLinesLimit = 1 / 0;
      else {
        t2 = this.get$_textHeightRuler();
        maxLinesLimit = t1 * t2.get$height(t2);
      }
      for (t1 = value.length, previousRect = null, _i = 0; _i < value.length; value.length === t1 || (0, H.throwConcurrentModificationError)(value), ++_i) {
        rect = value[_i];
        t2 = J.getInterceptor$x(rect);
        t4 = t2.get$top(rect);
        if (t4 == (previousRect == null ? null : J.get$top$x(previousRect)) && t2.get$left(rect) == t2.get$right(rect))
          continue;
        if (t2.get$top(rect) >= maxLinesLimit)
          break;
        t4 = t2.get$left(rect);
        t4.toString;
        t5 = t2.get$top(rect);
        t6 = t2.get$right(rect);
        t6.toString;
        boxes.push(new P.TextBox(t4 + alignOffset, t5, t6 + alignOffset, t2.get$bottom(rect), textDirection));
        previousRect = rect;
      }
      $.$get$domRenderer().clearDom$1(t3);
      return boxes;
    },
    dispose$0: function(_) {
      var _this = this;
      C.DivElement_methods.remove$0(_this._singleLineHost);
      C.DivElement_methods.remove$0(_this._minIntrinsicHost);
      C.DivElement_methods.remove$0(_this._constrainedHost);
      J.remove$0$ax(_this.get$_textHeightRuler().get$__engine$_host());
    },
    cacheMeasurement$2: function(paragraph, item) {
      var t2, i,
        plainText = paragraph._plainText,
        t1 = this._measurementCache,
        constraintCache = t1.$index(0, plainText);
      if (constraintCache == null) {
        constraintCache = H._setArrayType([], type$.JSArray_nullable_MeasurementResult);
        t1.$indexSet(0, plainText, constraintCache);
      }
      constraintCache.push(item);
      if (constraintCache.length > 8)
        C.JSArray_methods.removeAt$1(constraintCache, 0);
      t2 = this._mruList;
      t2.push(plainText);
      if (t2.length > 2400) {
        for (i = 0; i < 100; ++i)
          t1.remove$1(0, t2[i]);
        C.JSArray_methods.removeRange$2(t2, 0, 100);
      }
    },
    cacheLookup$2: function(paragraph, constraints) {
      var constraintCache, len, t1, t2, t3, i, t4,
        plainText = paragraph._plainText;
      if (plainText == null)
        return null;
      constraintCache = this._measurementCache.$index(0, plainText);
      if (constraintCache == null)
        return null;
      len = constraintCache.length;
      for (t1 = constraints.width, t2 = paragraph._textAlign, t3 = paragraph.__engine$_textDirection, i = 0; i < len; ++i) {
        t4 = constraintCache[i];
        t4.toString;
        if (t4.constraintWidth == t1 && t4.textAlign === t2 && t4.textDirection === t3)
          return t4;
      }
      return null;
    }
  };
  H.MeasurementResult.prototype = {};
  H._ComparisonResult.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.UnicodeRange.prototype = {
    compare$1: function(value) {
      if (value < this.start)
        return C._ComparisonResult_2;
      if (value > this.end)
        return C._ComparisonResult_1;
      return C._ComparisonResult_0;
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  H.UnicodePropertyLookup.prototype = {
    find$2: function(_, text, index) {
      var codePoint = H.getCodePoint(text, index);
      return codePoint == null ? this.defaultProperty : this.findForChar$1(codePoint);
    },
    findForChar$1: function(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: function(value) {
      var min, mid,
        t1 = this.ranges,
        max = t1.length;
      for (min = 0; min < max;) {
        mid = min + C.JSInt_methods._shrOtherPositive$1(max - min, 1);
        switch (t1[mid].compare$1(value)) {
          case C._ComparisonResult_1:
            min = mid + 1;
            break;
          case C._ComparisonResult_2:
            max = mid;
            break;
          case C._ComparisonResult_0:
            return mid;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      }
      return -1;
    }
  };
  H.WordCharProperty.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H._FindBreakDirection.prototype = {};
  H.BrowserAutofillHints.prototype = {};
  H.EngineInputType.prototype = {
    get$submitActionOnEnter: function() {
      return true;
    },
    createDomElement$0: function() {
      return W.InputElement_InputElement(null);
    },
    configureInputMode$1: function(domElement) {
      var t1;
      if (this.get$inputmodeAttribute() == null)
        return;
      t1 = $.$get$_operatingSystem();
      if (t1 !== C.OperatingSystem_0)
        t1 = t1 === C.OperatingSystem_1;
      else
        t1 = true;
      if (t1) {
        t1 = this.get$inputmodeAttribute();
        t1.toString;
        domElement.setAttribute("inputmode", t1);
      }
    }
  };
  H.TextInputType0.prototype = {
    get$inputmodeAttribute: function() {
      return "text";
    }
  };
  H.NumberInputType.prototype = {
    get$inputmodeAttribute: function() {
      return "numeric";
    }
  };
  H.DecimalInputType.prototype = {
    get$inputmodeAttribute: function() {
      return "decimal";
    }
  };
  H.PhoneInputType.prototype = {
    get$inputmodeAttribute: function() {
      return "tel";
    }
  };
  H.EmailInputType.prototype = {
    get$inputmodeAttribute: function() {
      return "email";
    }
  };
  H.UrlInputType.prototype = {
    get$inputmodeAttribute: function() {
      return "url";
    }
  };
  H.MultilineInputType.prototype = {
    get$submitActionOnEnter: function() {
      return false;
    },
    createDomElement$0: function() {
      return document.createElement("textarea");
    },
    get$inputmodeAttribute: function() {
      return null;
    }
  };
  H.TextCapitalization.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.TextCapitalizationConfig.prototype = {
    setAutocapitalizeAttribute$1: function(domElement) {
      var t1, autocapitalize,
        _s9_ = "sentences",
        _s14_ = "autocapitalize";
      switch (this.textCapitalization) {
        case C.TextCapitalization_0:
          t1 = $.$get$_browserEngine();
          autocapitalize = t1 === C.BrowserEngine_1 ? _s9_ : "words";
          break;
        case C.TextCapitalization_2:
          autocapitalize = "characters";
          break;
        case C.TextCapitalization_1:
          autocapitalize = _s9_;
          break;
        case C.TextCapitalization_3:
        default:
          autocapitalize = "off";
          break;
      }
      if (type$.InputElement._is(domElement))
        domElement.setAttribute(_s14_, autocapitalize);
      else if (type$.TextAreaElement._is(domElement))
        domElement.setAttribute(_s14_, autocapitalize);
    }
  };
  H.EngineAutofillForm.prototype = {
    addInputEventListeners$0: function() {
      var t1 = this.elements,
        keys = t1.get$keys(t1),
        subscriptions = H._setArrayType([], type$.JSArray_StreamSubscription_Event);
      keys.forEach$1(0, new H.EngineAutofillForm_addInputEventListeners_closure(this, subscriptions));
      return subscriptions;
    }
  };
  H.EngineAutofillForm_fromFrameworkMessage_closure.prototype = {
    call$1: function(e) {
      e.preventDefault();
    },
    $signature: 9
  };
  H.EngineAutofillForm_addInputEventListeners_closure.prototype = {
    call$1: function(key) {
      var t1 = this.$this,
        t2 = t1.elements.$index(0, key);
      t2.toString;
      this.subscriptions.push(W._EventStreamSubscription$(t2, "input", new H.EngineAutofillForm_addInputEventListeners__closure(t1, key, t2), false, type$._ElementEventStreamImpl_legacy_Event._precomputed1));
    },
    $signature: 122
  };
  H.EngineAutofillForm_addInputEventListeners__closure.prototype = {
    call$1: function(e) {
      var autofillInfo, newEditingState,
        t1 = this.$this.items,
        t2 = this.key;
      if (t1.$index(0, t2) == null)
        throw H.wrapException(P.StateError$("Autofill would not work withuot Autofill value set"));
      else {
        autofillInfo = t1.$index(0, t2);
        newEditingState = H.EditingState_EditingState$fromDomElement(this.element, autofillInfo.textCapitalization);
        t1 = autofillInfo.uniqueIdentifier;
        $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/textinput", C.C_JSONMethodCodec.encodeMethodCall$1(new H.MethodCall0(string$.TextIn, [0, P.LinkedHashMap_LinkedHashMap$_literal([t1, newEditingState.toFlutter$0()], type$.nullable_String, type$.dynamic)])), H._engine___emptyCallback$closure());
      }
    },
    $signature: 10
  };
  H.AutofillInfo.prototype = {
    applyToDomElement$2$focusedElement: function(domElement, focusedElement) {
      var _s8_ = "password",
        t1 = this.hint;
      domElement.id = t1;
      if (type$.InputElement._is(domElement)) {
        domElement.name = t1;
        domElement.id = t1;
        domElement.autocomplete = t1;
        if (J.contains$1$asx(t1, _s8_))
          domElement.type = _s8_;
        else
          domElement.type = "text";
      } else if (type$.TextAreaElement._is(domElement)) {
        domElement.name = t1;
        domElement.id = t1;
        domElement.setAttribute("autocomplete", t1);
      }
    },
    applyToDomElement$1: function(domElement) {
      return this.applyToDomElement$2$focusedElement(domElement, false);
    }
  };
  H.EditingState.prototype = {
    toFlutter$0: function() {
      return P.LinkedHashMap_LinkedHashMap$_literal(["text", this.text, "selectionBase", this.baseOffset, "selectionExtent", this.extentOffset], type$.String, type$.dynamic);
    },
    get$hashCode: function(_) {
      return P.hashValues(this.text, this.baseOffset, this.extentOffset, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (H.getRuntimeType(_this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof H.EditingState && other.text == _this.text && other.baseOffset === _this.baseOffset && other.extentOffset === _this.extentOffset;
    },
    toString$0: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    },
    applyToDomElement$1: function(domElement) {
      var _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
        throw H.wrapException(P.UnsupportedError$("Unsupported DOM element type: <" + H.S(domElement == null ? null : domElement.tagName) + "> (" + J.get$runtimeType$(domElement).toString$0(0) + ")"));
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  H.InputConfiguration.prototype = {};
  H.GloballyPositionedTextEditingStrategy.prototype = {
    placeElement$0: function() {
      var _this = this,
        t1 = _this.get$_inputConfiguration().autofillGroup,
        t2 = _this._geometry;
      if (t1 != null) {
        if (t2 != null) {
          t1 = _this.get$focusedFormElement();
          t1.toString;
          t2.applyToDomElement$1(t1);
        }
        _this.placeForm$0();
        t1 = _this._lastEditingState;
        if (t1 != null)
          t1.applyToDomElement$1(_this.domElement);
        _this.get$focusedFormElement().focus();
        _this.domElement.focus();
      } else if (t2 != null) {
        t1 = _this.domElement;
        t1.toString;
        t2.applyToDomElement$1(t1);
      }
    }
  };
  H.SafariDesktopTextEditingStrategy.prototype = {
    placeElement$0: function() {
      var t2, _this = this,
        t1 = _this._geometry;
      if (t1 != null) {
        t2 = _this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
      if (_this.get$_inputConfiguration().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: function() {
      this.domElement.focus();
    }
  };
  H.DefaultTextEditingStrategy.prototype = {
    get$_inputConfiguration: function() {
      var t1 = this.__DefaultTextEditingStrategy__inputConfiguration;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_inputConfiguration")) : t1;
    },
    get$focusedFormElement: function() {
      var t1 = this.get$_inputConfiguration().autofillGroup;
      return t1 == null ? null : t1.formElement;
    },
    initializeTextEditing$3$onAction$onChange: function(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";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "align-content"), "center", "");
      elementStyle.position = "absolute";
      elementStyle.top = "0";
      elementStyle.left = "0";
      elementStyle.padding = "0";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "opacity"), "1", "");
      elementStyle.color = _s11_;
      elementStyle.backgroundColor = _s11_;
      elementStyle.background = _s11_;
      elementStyle.outline = _s4_;
      elementStyle.border = _s4_;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "resize"), _s4_, "");
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "text-shadow"), _s11_, "");
      elementStyle.overflow = "hidden";
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "transform-origin"), "0 0 0", "");
      t2 = $.$get$_browserEngine();
      if (t2 !== C.BrowserEngine_0)
        if (t2 !== C.BrowserEngine_5)
          t2 = t2 === C.BrowserEngine_1;
        else
          t2 = true;
      else
        t2 = true;
      if (t2)
        t1.classList.add("transparentTextEditing");
      C.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, C.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "caret-color"), _s11_, null);
      t1 = _this._style;
      if (t1 != null) {
        t2 = _this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
      if (_this.get$_inputConfiguration().autofillGroup == null) {
        t1 = $.$get$domRenderer()._glassPaneShadow;
        t1.toString;
        t2 = _this.domElement;
        t2.toString;
        t1.appendChild(t2);
        _this._appendedToForm = false;
      }
      _this.initializeElementPlacement$0();
      _this.isEnabled = true;
      _this._onChange = onChange;
      _this._onAction = onAction;
    },
    _applyConfiguration$1: function(config) {
      var t1, t2, autocorrectValue, _this = this,
        _s8_ = "readonly";
      _this.__DefaultTextEditingStrategy__inputConfiguration = config;
      t1 = config.readOnly;
      t2 = _this.domElement;
      if (t1)
        t2.setAttribute(_s8_, _s8_);
      else
        t2.removeAttribute(_s8_);
      if (config.obscureText)
        _this.domElement.setAttribute("type", "password");
      t1 = config.autofill;
      if (t1 != null) {
        t2 = _this.domElement;
        t2.toString;
        t1.applyToDomElement$2$focusedElement(t2, true);
      }
      autocorrectValue = config.autocorrect ? "on" : "off";
      _this.domElement.setAttribute("autocorrect", autocorrectValue);
    },
    initializeElementPlacement$0: function() {
      this.placeElement$0();
    },
    addEventHandlers$0: function() {
      var t1, t2, t3, _this = this;
      if (_this.get$_inputConfiguration().autofillGroup != null)
        C.JSArray_methods.addAll$1(_this._subscriptions, _this.get$_inputConfiguration().autofillGroup.addInputEventListeners$0());
      t1 = _this._subscriptions;
      t2 = _this.domElement;
      t2.toString;
      t3 = _this.get$_handleChange();
      t1.push(W._EventStreamSubscription$(t2, "input", t3, false, type$._ElementEventStreamImpl_legacy_Event._precomputed1));
      t2 = _this.domElement;
      t2.toString;
      t1.push(W._EventStreamSubscription$(t2, "keydown", _this.get$_maybeSendAction(), false, type$._ElementEventStreamImpl_legacy_KeyboardEvent._precomputed1));
      t1.push(W._EventStreamSubscription$(document, "selectionchange", t3, false, type$.legacy_Event));
      t3 = _this.domElement;
      t3.toString;
      t3 = J.get$onBlur$x(t3);
      t1.push(W._EventStreamSubscription$(t3._html$_target, t3._eventType, new H.DefaultTextEditingStrategy_addEventHandlers_closure(_this), false, t3.$ti._precomputed1));
      _this.preventDefaultForMouseEvents$0();
    },
    updateElementPlacement$1: function(geometry) {
      this._geometry = geometry;
      if (this.isEnabled)
        this.placeElement$0();
    },
    updateElementStyle$1: function(style) {
      var t1;
      this._style = style;
      if (this.isEnabled) {
        style.toString;
        t1 = this.domElement;
        t1.toString;
        style.applyToDomElement$1(t1);
      }
    },
    disable$0: function(_) {
      var t2, i, t3, _this = this,
        t1 = _this.isEnabled = false;
      _this._geometry = _this._style = _this._lastEditingState = null;
      for (t2 = _this._subscriptions, i = 0; i < t2.length; ++i)
        J.cancel$0$z(t2[i]);
      C.JSArray_methods.set$length(t2, 0);
      if (_this._appendedToForm) {
        t1 = _this.get$_inputConfiguration().autofillGroup;
        t1 = (t1 == null ? null : t1.formElement) != null;
      }
      t2 = _this.domElement;
      if (t1) {
        t2.blur();
        t1 = _this.domElement;
        t1.toString;
        H._hideAutofillElements(t1, true);
        t1 = _this.get$_inputConfiguration().autofillGroup;
        if (t1 != null) {
          t2 = $.$get$formsOnTheDom();
          t3 = t1.formIdentifier;
          t1 = t1.formElement;
          t2.$indexSet(0, t3, t1);
          H._hideAutofillElements(t1, true);
        }
      } else {
        t2.toString;
        J.remove$0$ax(t2);
      }
      _this.domElement = null;
    },
    setEditingState$1: function(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: function() {
      this.domElement.focus();
    },
    placeForm$0: function() {
      var t2,
        t1 = this.get$_inputConfiguration().autofillGroup;
      t1.toString;
      t2 = this.domElement;
      t2.toString;
      t1 = t1.formElement;
      t1.appendChild(t2);
      $.$get$domRenderer()._glassPaneShadow.appendChild(t1);
      this._appendedToForm = true;
    },
    _handleChange$1: function($event) {
      var newEditingState, _this = this,
        t1 = _this.domElement;
      t1.toString;
      newEditingState = H.EditingState_EditingState$fromDomElement(t1, _this.get$_inputConfiguration().textCapitalization);
      if (!newEditingState.$eq(0, _this._lastEditingState)) {
        _this._lastEditingState = newEditingState;
        _this._onChange.call$1(newEditingState);
      }
    },
    _maybeSendAction$1: function($event) {
      var t1;
      if (type$.KeyboardEvent._is($event))
        if (this.get$_inputConfiguration().inputType.get$submitActionOnEnter() && $event.keyCode === 13) {
          $event.preventDefault();
          t1 = this._onAction;
          t1.toString;
          t1.call$1(this.get$_inputConfiguration().inputAction);
        }
    },
    enable$3$onAction$onChange: function(_, 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: function() {
      var t3, _this = this,
        t1 = _this._subscriptions,
        t2 = _this.domElement;
      t2.toString;
      t3 = type$._ElementEventStreamImpl_legacy_MouseEvent._precomputed1;
      t1.push(W._EventStreamSubscription$(t2, "mousedown", new H.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure(), false, t3));
      t2 = _this.domElement;
      t2.toString;
      t1.push(W._EventStreamSubscription$(t2, "mouseup", new H.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure0(), false, t3));
      t2 = _this.domElement;
      t2.toString;
      t1.push(W._EventStreamSubscription$(t2, "mousemove", new H.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure1(), false, t3));
    }
  };
  H.DefaultTextEditingStrategy_addEventHandlers_closure.prototype = {
    call$1: function(_) {
      this.$this.domElement.focus();
    },
    $signature: 10
  };
  H.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure.prototype = {
    call$1: function(_) {
      _.preventDefault();
    },
    $signature: 97
  };
  H.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure0.prototype = {
    call$1: function(_) {
      _.preventDefault();
    },
    $signature: 97
  };
  H.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure1.prototype = {
    call$1: function(_) {
      _.preventDefault();
    },
    $signature: 97
  };
  H.IOSTextEditingStrategy.prototype = {
    initializeTextEditing$3$onAction$onChange: function(inputConfig, onAction, onChange) {
      var t1, t2, _this = this;
      _this.super$DefaultTextEditingStrategy$initializeTextEditing(inputConfig, onAction, onChange);
      t1 = inputConfig.inputType;
      t2 = _this.domElement;
      t2.toString;
      t1.configureInputMode$1(t2);
      if (_this.get$_inputConfiguration().autofillGroup != null)
        _this.placeForm$0();
      t1 = inputConfig.textCapitalization;
      t2 = _this.domElement;
      t2.toString;
      t1.setAutocapitalizeAttribute$1(t2);
    },
    initializeElementPlacement$0: function() {
      var t1 = this.domElement.style;
      t1.toString;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), "translate(-9999px, -9999px)", "");
      this._canPosition = false;
    },
    addEventHandlers$0: function() {
      var t1, t2, t3, _this = this;
      if (_this.get$_inputConfiguration().autofillGroup != null)
        C.JSArray_methods.addAll$1(_this._subscriptions, _this.get$_inputConfiguration().autofillGroup.addInputEventListeners$0());
      t1 = _this._subscriptions;
      t2 = _this.domElement;
      t2.toString;
      t3 = _this.get$_handleChange();
      t1.push(W._EventStreamSubscription$(t2, "input", t3, false, type$._ElementEventStreamImpl_legacy_Event._precomputed1));
      t2 = _this.domElement;
      t2.toString;
      t1.push(W._EventStreamSubscription$(t2, "keydown", _this.get$_maybeSendAction(), false, type$._ElementEventStreamImpl_legacy_KeyboardEvent._precomputed1));
      t1.push(W._EventStreamSubscription$(document, "selectionchange", t3, false, type$.legacy_Event));
      t3 = _this.domElement;
      t3.toString;
      t3 = J.get$onFocus$x(t3);
      t1.push(W._EventStreamSubscription$(t3._html$_target, t3._eventType, new H.IOSTextEditingStrategy_addEventHandlers_closure(_this), false, t3.$ti._precomputed1));
      _this._addTapListener$0();
      t3 = _this.domElement;
      t3.toString;
      t3 = J.get$onBlur$x(t3);
      t1.push(W._EventStreamSubscription$(t3._html$_target, t3._eventType, new H.IOSTextEditingStrategy_addEventHandlers_closure0(_this), false, t3.$ti._precomputed1));
    },
    updateElementPlacement$1: function(geometry) {
      var _this = this;
      _this._geometry = geometry;
      if (_this.isEnabled && _this._canPosition)
        _this.placeElement$0();
    },
    disable$0: function(_) {
      var t1;
      this.super$DefaultTextEditingStrategy$disable(0);
      t1 = this._positionInputElementTimer;
      if (t1 != null)
        t1.cancel$0(0);
      this._positionInputElementTimer = null;
    },
    _addTapListener$0: function() {
      var t1 = this.domElement;
      t1.toString;
      this._subscriptions.push(W._EventStreamSubscription$(t1, "click", new H.IOSTextEditingStrategy__addTapListener_closure(this), false, type$._ElementEventStreamImpl_legacy_MouseEvent._precomputed1));
    },
    _schedulePlacement$0: function() {
      var t1 = this._positionInputElementTimer;
      if (t1 != null)
        t1.cancel$0(0);
      this._positionInputElementTimer = P.Timer_Timer(C.Duration_100000, new H.IOSTextEditingStrategy__schedulePlacement_closure(this));
    },
    placeElement$0: function() {
      var t1, t2;
      this.domElement.focus();
      t1 = this._geometry;
      if (t1 != null) {
        t2 = this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
    }
  };
  H.IOSTextEditingStrategy_addEventHandlers_closure.prototype = {
    call$1: function(_) {
      this.$this._schedulePlacement$0();
    },
    $signature: 10
  };
  H.IOSTextEditingStrategy_addEventHandlers_closure0.prototype = {
    call$1: function(_) {
      this.$this.owner.sendTextConnectionClosedToFrameworkIfAny$0();
    },
    $signature: 10
  };
  H.IOSTextEditingStrategy__addTapListener_closure.prototype = {
    call$1: function(_) {
      var t2,
        t1 = this.$this;
      if (t1._canPosition) {
        t2 = t1.domElement.style;
        t2.toString;
        C.CssStyleDeclaration_methods._setPropertyHelper$3(t2, C.CssStyleDeclaration_methods._browserPropertyName$1(t2, "transform"), "translate(-9999px, -9999px)", "");
        t1._canPosition = false;
        t1._schedulePlacement$0();
      }
    },
    $signature: 97
  };
  H.IOSTextEditingStrategy__schedulePlacement_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._canPosition = true;
      t1.placeElement$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.AndroidTextEditingStrategy.prototype = {
    initializeTextEditing$3$onAction$onChange: function(inputConfig, onAction, onChange) {
      var t1, t2, _this = this;
      _this.super$DefaultTextEditingStrategy$initializeTextEditing(inputConfig, onAction, onChange);
      t1 = inputConfig.inputType;
      t2 = _this.domElement;
      t2.toString;
      t1.configureInputMode$1(t2);
      if (_this.get$_inputConfiguration().autofillGroup != null)
        _this.placeForm$0();
      else {
        t1 = $.$get$domRenderer()._glassPaneShadow;
        t1.toString;
        t2 = _this.domElement;
        t2.toString;
        t1.appendChild(t2);
      }
      t1 = inputConfig.textCapitalization;
      t2 = _this.domElement;
      t2.toString;
      t1.setAutocapitalizeAttribute$1(t2);
    },
    addEventHandlers$0: function() {
      var t1, t2, t3, _this = this;
      if (_this.get$_inputConfiguration().autofillGroup != null)
        C.JSArray_methods.addAll$1(_this._subscriptions, _this.get$_inputConfiguration().autofillGroup.addInputEventListeners$0());
      t1 = _this._subscriptions;
      t2 = _this.domElement;
      t2.toString;
      t3 = _this.get$_handleChange();
      t1.push(W._EventStreamSubscription$(t2, "input", t3, false, type$._ElementEventStreamImpl_legacy_Event._precomputed1));
      t2 = _this.domElement;
      t2.toString;
      t1.push(W._EventStreamSubscription$(t2, "keydown", _this.get$_maybeSendAction(), false, type$._ElementEventStreamImpl_legacy_KeyboardEvent._precomputed1));
      t1.push(W._EventStreamSubscription$(document, "selectionchange", t3, false, type$.legacy_Event));
      t3 = _this.domElement;
      t3.toString;
      t3 = J.get$onBlur$x(t3);
      t1.push(W._EventStreamSubscription$(t3._html$_target, t3._eventType, new H.AndroidTextEditingStrategy_addEventHandlers_closure(_this), false, t3.$ti._precomputed1));
    },
    placeElement$0: function() {
      var t1, t2;
      this.domElement.focus();
      t1 = this._geometry;
      if (t1 != null) {
        t2 = this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
    }
  };
  H.AndroidTextEditingStrategy_addEventHandlers_closure.prototype = {
    call$1: function(_) {
      var t1, t2;
      $.$get$domRenderer().toString;
      t1 = document;
      t1 = t1.hasFocus.apply(t1, []);
      if (t1 == null)
        t1 = false;
      t2 = this.$this;
      if (t1)
        t2.domElement.focus();
      else
        t2.owner.sendTextConnectionClosedToFrameworkIfAny$0();
    },
    $signature: 10
  };
  H.FirefoxTextEditingStrategy.prototype = {
    initializeTextEditing$3$onAction$onChange: function(inputConfig, onAction, onChange) {
      this.super$DefaultTextEditingStrategy$initializeTextEditing(inputConfig, onAction, onChange);
      if (this.get$_inputConfiguration().autofillGroup != null)
        this.placeForm$0();
    },
    addEventHandlers$0: function() {
      var t1, t2, t3, t4, t5, _this = this;
      if (_this.get$_inputConfiguration().autofillGroup != null)
        C.JSArray_methods.addAll$1(_this._subscriptions, _this.get$_inputConfiguration().autofillGroup.addInputEventListeners$0());
      t1 = _this._subscriptions;
      t2 = _this.domElement;
      t2.toString;
      t3 = _this.get$_handleChange();
      t4 = type$._ElementEventStreamImpl_legacy_Event._precomputed1;
      t1.push(W._EventStreamSubscription$(t2, "input", t3, false, t4));
      t2 = _this.domElement;
      t2.toString;
      t5 = type$._ElementEventStreamImpl_legacy_KeyboardEvent._precomputed1;
      t1.push(W._EventStreamSubscription$(t2, "keydown", _this.get$_maybeSendAction(), false, t5));
      t2 = _this.domElement;
      t2.toString;
      t1.push(W._EventStreamSubscription$(t2, "keyup", new H.FirefoxTextEditingStrategy_addEventHandlers_closure(_this), false, t5));
      t5 = _this.domElement;
      t5.toString;
      t1.push(W._EventStreamSubscription$(t5, "select", t3, false, t4));
      t4 = _this.domElement;
      t4.toString;
      t4 = J.get$onBlur$x(t4);
      t1.push(W._EventStreamSubscription$(t4._html$_target, t4._eventType, new H.FirefoxTextEditingStrategy_addEventHandlers_closure0(_this), false, t4.$ti._precomputed1));
      _this.preventDefaultForMouseEvents$0();
    },
    _postponeFocus$0: function() {
      P.Timer_Timer(C.Duration_0, new H.FirefoxTextEditingStrategy__postponeFocus_closure(this));
    },
    placeElement$0: function() {
      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);
      }
    }
  };
  H.FirefoxTextEditingStrategy_addEventHandlers_closure.prototype = {
    call$1: function($event) {
      this.$this._handleChange$1($event);
    },
    $signature: 697
  };
  H.FirefoxTextEditingStrategy_addEventHandlers_closure0.prototype = {
    call$1: function(_) {
      this.$this._postponeFocus$0();
    },
    $signature: 10
  };
  H.FirefoxTextEditingStrategy__postponeFocus_closure.prototype = {
    call$0: function() {
      this.$this.domElement.focus();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.TextInputCommand.prototype = {};
  H.TextInputSetClient.prototype = {
    run$1: function(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;
    }
  };
  H.TextInputUpdateConfig.prototype = {
    run$1: function(textEditing) {
      var t1 = textEditing.get$strategy(),
        t2 = textEditing.configuration;
      t2.toString;
      t1._applyConfiguration$1(t2);
    }
  };
  H.TextInputSetEditingState.prototype = {
    run$1: function(textEditing) {
      textEditing.get$strategy().setEditingState$1(this.state);
    }
  };
  H.TextInputShow.prototype = {
    run$1: function(textEditing) {
      if (!textEditing.isEditing)
        textEditing._startEditing$0();
    }
  };
  H.TextInputSetEditableSizeAndTransform.prototype = {
    run$1: function(textEditing) {
      textEditing.get$strategy().updateElementPlacement$1(this.geometry);
    }
  };
  H.TextInputSetStyle.prototype = {
    run$1: function(textEditing) {
      textEditing.get$strategy().updateElementStyle$1(this.style);
    }
  };
  H.TextInputClearClient.prototype = {
    run$1: function(textEditing) {
      if (textEditing.isEditing) {
        textEditing.isEditing = false;
        textEditing.get$strategy().disable$0(0);
      }
    }
  };
  H.TextInputHide.prototype = {
    run$1: function(textEditing) {
      if (textEditing.isEditing) {
        textEditing.isEditing = false;
        textEditing.get$strategy().disable$0(0);
      }
    }
  };
  H.TextInputSetMarkedTextRect.prototype = {
    run$1: function(textEditing) {
    }
  };
  H.TextInputSetCaretRect.prototype = {
    run$1: function(textEditing) {
    }
  };
  H.TextInputFinishAutofillContext.prototype = {
    run$1: function(textEditing) {
      textEditing.sendTextConnectionClosedToFrameworkIfAny$0();
      if (this.saveForm)
        H.saveForms();
      H.cleanForms();
    }
  };
  H.saveForms_closure.prototype = {
    call$2: function(identifier, form) {
      type$.InputElement._as(J.get$first$ax(form.getElementsByClassName("submitBtn"))).click();
    },
    $signature: 633
  };
  H.TextEditingChannel.prototype = {
    handleTextInput$2: function(data, callback) {
      var t1, t2, transformList, textAlignIndex, textDirectionIndex, fontWeightIndex, fontWeight,
        $call = C.C_JSONMethodCodec.decodeMethodCall$1(data),
        command = H._Cell$named("command");
      switch ($call.method) {
        case "TextInput.setClient":
          t1 = $call.$arguments;
          t2 = J.getInterceptor$asx(t1);
          command.set$finalLocalValue(new H.TextInputSetClient(t2.$index(t1, 0), H.InputConfiguration$fromFrameworkMessage(t2.$index(t1, 1))));
          break;
        case "TextInput.updateConfig":
          this.implementation.configuration = H.InputConfiguration$fromFrameworkMessage($call.$arguments);
          command.set$finalLocalValue(new H.TextInputUpdateConfig());
          break;
        case "TextInput.setEditingState":
          command.set$finalLocalValue(new H.TextInputSetEditingState(H.EditingState_EditingState$fromFrameworkMessage($call.$arguments)));
          break;
        case "TextInput.show":
          command.set$finalLocalValue(C.C_TextInputShow);
          break;
        case "TextInput.setEditableSizeAndTransform":
          t1 = $call.$arguments;
          t2 = J.getInterceptor$asx(t1);
          transformList = P.List_List$from(t2.$index(t1, "transform"), true, type$.double);
          command.set$finalLocalValue(new H.TextInputSetEditableSizeAndTransform(new H.EditableTextGeometry(t2.$index(t1, "width"), t2.$index(t1, "height"), new Float32Array(H._ensureNativeList(transformList)))));
          break;
        case "TextInput.setStyle":
          t1 = $call.$arguments;
          t2 = J.getInterceptor$asx(t1);
          textAlignIndex = t2.$index(t1, "textAlignIndex");
          textDirectionIndex = t2.$index(t1, "textDirectionIndex");
          fontWeightIndex = t2.$index(t1, "fontWeightIndex");
          fontWeight = fontWeightIndex != null ? H.fontWeightIndexToCss(fontWeightIndex) : "normal";
          command.set$finalLocalValue(new H.TextInputSetStyle(new H.EditableTextStyle(t2.$index(t1, "fontSize"), fontWeight, t2.$index(t1, "fontFamily"), C.List_WPl[textAlignIndex], C.List_TextDirection_0_TextDirection_1[textDirectionIndex])));
          break;
        case "TextInput.clearClient":
          command.set$finalLocalValue(C.C_TextInputClearClient);
          break;
        case "TextInput.hide":
          command.set$finalLocalValue(C.C_TextInputHide);
          break;
        case "TextInput.requestAutofill":
          break;
        case "TextInput.finishAutofillContext":
          command.set$finalLocalValue(new H.TextInputFinishAutofillContext(H._asBoolS($call.$arguments)));
          break;
        case "TextInput.setMarkedTextRect":
          command.set$finalLocalValue(C.C_TextInputSetMarkedTextRect);
          break;
        case "TextInput.setCaretRect":
          command.set$finalLocalValue(C.C_TextInputSetCaretRect);
          break;
        default:
          $.$get$EnginePlatformDispatcher__instance()._replyToPlatformMessage$2(callback, null);
          return;
      }
      t1 = command._readLocal$0();
      t1.run$1(this.implementation);
      new H.TextEditingChannel_handleTextInput_closure(callback).call$0();
    }
  };
  H.TextEditingChannel_handleTextInput_closure.prototype = {
    call$0: function() {
      $.$get$EnginePlatformDispatcher__instance()._replyToPlatformMessage$2(this.callback, C.C_JSONMessageCodec0.encodeMessage$1([true]));
    },
    $signature: 0
  };
  H.HybridTextEditing.prototype = {
    get$channel: function(_) {
      var t1 = this.__HybridTextEditing_channel;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("channel")) : t1;
    },
    get$strategy: function() {
      var t2, t3, strategy, _this = this,
        t1 = _this.__HybridTextEditing_strategy;
      if (t1 === $) {
        t1 = $.EngineSemanticsOwner__instance;
        if ((t1 == null ? $.EngineSemanticsOwner__instance = H.EngineSemanticsOwner$_() : t1)._semanticsEnabled)
          t1 = H.SemanticsTextEditingStrategy_ensureInitialized(_this);
        else {
          t1 = $.$get$_browserEngine();
          t2 = t1 === C.BrowserEngine_1;
          if (t2) {
            t3 = $.$get$_operatingSystem();
            t3 = t3 === C.OperatingSystem_0;
          } else
            t3 = false;
          if (t3)
            strategy = new H.IOSTextEditingStrategy(_this, H._setArrayType([], type$.JSArray_StreamSubscription_Event));
          else if (t2)
            strategy = new H.SafariDesktopTextEditingStrategy(_this, H._setArrayType([], type$.JSArray_StreamSubscription_Event));
          else {
            if (t1 === C.BrowserEngine_0) {
              t2 = $.$get$_operatingSystem();
              t2 = t2 === C.OperatingSystem_1;
            } else
              t2 = false;
            if (t2)
              strategy = new H.AndroidTextEditingStrategy(_this, H._setArrayType([], type$.JSArray_StreamSubscription_Event));
            else {
              t2 = type$.JSArray_StreamSubscription_Event;
              strategy = t1 === C.BrowserEngine_2 ? new H.FirefoxTextEditingStrategy(_this, H._setArrayType([], t2)) : new H.GloballyPositionedTextEditingStrategy(_this, H._setArrayType([], t2));
            }
          }
          t1 = strategy;
        }
        if (_this.__HybridTextEditing_strategy === $)
          _this.__HybridTextEditing_strategy = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("strategy"));
      }
      return t1;
    },
    _startEditing$0: function() {
      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 H.HybridTextEditing__startEditing_closure(_this), new H.HybridTextEditing__startEditing_closure0(_this));
    },
    sendTextConnectionClosedToFrameworkIfAny$0: function() {
      var t1, t2, _this = this;
      if (_this.isEditing) {
        _this.isEditing = false;
        _this.get$strategy().disable$0(0);
        t1 = _this.get$channel(_this);
        t2 = _this._clientId;
        t1.toString;
        $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/textinput", C.C_JSONMethodCodec.encodeMethodCall$1(new H.MethodCall0("TextInputClient.onConnectionClosed", [t2])), H._engine___emptyCallback$closure());
      }
    }
  };
  H.HybridTextEditing__startEditing_closure0.prototype = {
    call$1: function(editingState) {
      var t1 = this.$this,
        t2 = t1.get$channel(t1);
      t1 = t1._clientId;
      t2.toString;
      $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/textinput", C.C_JSONMethodCodec.encodeMethodCall$1(new H.MethodCall0("TextInputClient.updateEditingState", [t1, editingState.toFlutter$0()])), H._engine___emptyCallback$closure());
    },
    $signature: 632
  };
  H.HybridTextEditing__startEditing_closure.prototype = {
    call$1: function(inputAction) {
      var t1 = this.$this,
        t2 = t1.get$channel(t1);
      t1 = t1._clientId;
      t2.toString;
      $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/textinput", C.C_JSONMethodCodec.encodeMethodCall$1(new H.MethodCall0("TextInputClient.performAction", [t1, inputAction])), H._engine___emptyCallback$closure());
    },
    $signature: 202
  };
  H.EditableTextStyle.prototype = {
    applyToDomElement$1: function(domElement) {
      var _this = this,
        t1 = domElement.style,
        t2 = H.textAlignToCssValue(_this.textAlign, _this.textDirection);
      t1.textAlign = t2;
      t2 = _this.fontWeight + " " + H.S(_this.fontSize) + "px " + H.S(H.canonicalizeFontFamily(_this.fontFamily));
      t1.font = t2;
    }
  };
  H.EditableTextGeometry.prototype = {
    applyToDomElement$1: function(domElement) {
      var cssTransform = H.float64ListToCssTransform(this.globalTransform),
        t1 = domElement.style,
        t2 = H.S(this.width) + "px";
      t1.width = t2;
      t2 = H.S(this.height) + "px";
      t1.height = t2;
      C.CssStyleDeclaration_methods._setPropertyHelper$3(t1, C.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), cssTransform, "");
    }
  };
  H.TransformKind.prototype = {
    toString$0: function(_) {
      return this.__engine$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  H.Matrix40.prototype = {
    index$2: function(_, row, col) {
      return col.$mul(0, 4).$add(0, row);
    },
    setFrom$1: function(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: function(_, i) {
      return this.__engine$_m4storage[i];
    },
    $indexSet: function(_, i, v) {
      this.__engine$_m4storage[i] = v;
    },
    translate$3: function(_, 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: function($receiver, x, y) {
      return this.translate$3($receiver, x, y, 0);
    },
    scale$3: function(_, x, y, z) {
      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: function($receiver, x) {
      return this.scale$3($receiver, x, null, null);
    },
    scale$2: function($receiver, x, y) {
      return this.scale$3($receiver, x, y, null);
    },
    $mul: function(_, arg) {
      var t1;
      if (typeof arg == "number") {
        t1 = new H.Matrix40(new Float32Array(16));
        t1.setFrom$1(this);
        t1.scale$3(0, arg, null, null);
        return t1;
      }
      if (arg instanceof H.Matrix40)
        return this.multiplied$1(arg);
      throw H.wrapException(P.ArgumentError$(arg));
    },
    isIdentity$0: function(_) {
      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;
    },
    isIdentityOrTranslation$0: function() {
      var t1 = this.__engine$_m4storage;
      return 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;
    },
    rotate$2: function(_, 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: function(x, y, z) {
      var t1 = this.__engine$_m4storage;
      t1[14] = z;
      t1[13] = y;
      t1[12] = x;
    },
    copyInverse$1: function(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: function(_, 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: function(arg) {
      var t1 = new H.Matrix40(new Float32Array(16));
      t1.setFrom$1(this);
      t1.multiply$1(0, arg);
      return t1;
    },
    transform2$1: function(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: function(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  H.Vector30.prototype = {
    $index: function(_, i) {
      return this.__engine$_v3storage[i];
    },
    $indexSet: function(_, i, v) {
      this.__engine$_v3storage[i] = v;
    },
    get$length: function(_) {
      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: function() {
      var t1 = this.__engine$_v3storage,
        t2 = t1[0],
        t3 = t1[1];
      t1 = t1[2];
      return t2 * t2 + t3 * t3 + t1 * t1;
    },
    add$1: function(_, arg) {
      var argStorage = arg.__engine$_v3storage,
        t1 = this.__engine$_v3storage;
      t1[0] = t1[0] + argStorage[0];
      t1[1] = t1[1] + argStorage[1];
      t1[2] = t1[2] + argStorage[2];
    }
  };
  H.WebExperiments.prototype = {
    WebExperiments$_$0: function() {
      $.$get$_context().$indexSet(0, "_flutter_internal_update_experiment", this.get$updateExperiment());
      $._hotRestartListeners.push(new H.WebExperiments$__closure());
    },
    updateExperiment$2: function($name, enabled) {
      switch ($name) {
        case "useCanvasText":
          this._useCanvasText = enabled !== false;
          break;
        case "useCanvasRichText":
          this._useCanvasRichText = enabled !== false;
          break;
      }
    }
  };
  H.WebExperiments$__closure.prototype = {
    call$0: function() {
      $.$get$_context().$indexSet(0, "_flutter_internal_update_experiment", null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.EngineFlutterWindow.prototype = {
    EngineFlutterWindow$2: function(_windowId, platformDispatcher) {
      var _this = this,
        engineDispatcher = _this.platformDispatcher,
        t1 = _this._windowId;
      engineDispatcher._windows.$indexSet(0, t1, _this);
      engineDispatcher._windowConfigurations.$indexSet(0, t1, P.ViewConfiguration$());
      if ($._isUrlStrategySet)
        _this._browserHistory = H.MultiEntriesBrowserHistory$($._customUrlStrategy);
      $._hotRestartListeners.push(new H.EngineFlutterWindow_closure());
    },
    get$browserHistory: function() {
      var urlStrategy,
        t1 = this._browserHistory;
      if (t1 == null) {
        if ($._isUrlStrategySet)
          urlStrategy = $._customUrlStrategy;
        else
          urlStrategy = C.C_HashUrlStrategy;
        $._isUrlStrategySet = true;
        t1 = this._browserHistory = H.MultiEntriesBrowserHistory$(urlStrategy);
      }
      return t1;
    },
    _useSingleEntryBrowserHistory$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, urlStrategy, strategy, t1;
      var $async$_useSingleEntryBrowserHistory$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._browserHistory;
              if (t1 instanceof H.SingleEntryBrowserHistory) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              if ($._isUrlStrategySet)
                urlStrategy = $._customUrlStrategy;
              else
                urlStrategy = C.C_HashUrlStrategy;
              $._isUrlStrategySet = true;
              strategy = urlStrategy;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              strategy = t1.get$urlStrategy();
              t1 = $async$self._browserHistory;
              $async$goto = 6;
              return P._asyncAwait(t1 == null ? null : t1.tearDown$0(), $async$_useSingleEntryBrowserHistory$0);
            case 6:
              // returning from await.
            case 4:
              // join
              t1 = new H.SingleEntryBrowserHistory(strategy, P.LinkedHashMap_LinkedHashMap$_literal(["flutter", true], type$.String, type$.bool));
              t1.SingleEntryBrowserHistory$1$urlStrategy(strategy);
              $async$self._browserHistory = t1;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_useSingleEntryBrowserHistory$0, $async$completer);
    },
    _useMultiEntryBrowserHistory$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, urlStrategy, strategy, t1;
      var $async$_useMultiEntryBrowserHistory$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._browserHistory;
              if (t1 instanceof H.MultiEntriesBrowserHistory) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              if ($._isUrlStrategySet)
                urlStrategy = $._customUrlStrategy;
              else
                urlStrategy = C.C_HashUrlStrategy;
              $._isUrlStrategySet = true;
              strategy = urlStrategy;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              strategy = t1.get$urlStrategy();
              t1 = $async$self._browserHistory;
              $async$goto = 6;
              return P._asyncAwait(t1 == null ? null : t1.tearDown$0(), $async$_useMultiEntryBrowserHistory$0);
            case 6:
              // returning from await.
            case 4:
              // join
              $async$self._browserHistory = H.MultiEntriesBrowserHistory$(strategy);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_useMultiEntryBrowserHistory$0, $async$completer);
    },
    resetHistory$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$resetHistory$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._browserHistory;
              $async$goto = 2;
              return P._asyncAwait(t1 == null ? null : t1.tearDown$0(), $async$resetHistory$0);
            case 2:
              // returning from await.
              $async$self._browserHistory = null;
              $._isUrlStrategySet = false;
              $._customUrlStrategy = null;
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$resetHistory$0, $async$completer);
    },
    handleNavigationMessage$1: function(data) {
      return this.handleNavigationMessage$body$EngineFlutterWindow(data);
    },
    handleNavigationMessage$body$EngineFlutterWindow: function(data) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, decoded, $arguments;
      var $async$handleNavigationMessage$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              decoded = new H.JSONMethodCodec().decodeMethodCall$1(data);
              $arguments = 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 P._asyncAwait($async$self._useMultiEntryBrowserHistory$0(), $async$handleNavigationMessage$1);
            case 9:
              // returning from await.
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 6:
              // case
              $async$goto = 10;
              return P._asyncAwait($async$self._useSingleEntryBrowserHistory$0(), $async$handleNavigationMessage$1);
            case 10:
              // returning from await.
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 7:
              // case
              $async$goto = 11;
              return P._asyncAwait($async$self._useSingleEntryBrowserHistory$0(), $async$handleNavigationMessage$1);
            case 11:
              // returning from await.
              t1 = $async$self.get$browserHistory();
              $arguments.toString;
              t1.setRouteName$1(J.$index$asx($arguments, "routeName"));
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 8:
              // case
              t1 = $async$self.get$browserHistory();
              $arguments.toString;
              t2 = J.getInterceptor$asx($arguments);
              t3 = t2.$index($arguments, "location");
              t4 = t2.$index($arguments, "state");
              t2 = t2.$index($arguments, "replace");
              t1.setRouteName$3$replace$state(t3, t2 == null ? false : t2, 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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$handleNavigationMessage$1, $async$completer);
    },
    get$viewConfiguration: function() {
      var t1 = this.platformDispatcher._windowConfigurations.$index(0, this._windowId);
      return t1 == null ? P.ViewConfiguration$() : t1;
    },
    get$physicalSize: function() {
      if (this._physicalSize == null)
        this._computePhysicalSize$0();
      var t1 = this._physicalSize;
      t1.toString;
      return t1;
    },
    _computePhysicalSize$0: function() {
      var t1, t2, t3, windowInnerWidth, windowInnerHeight, _this = this,
        viewport = window.visualViewport;
      if (viewport != null) {
        t1 = $.$get$_operatingSystem();
        t2 = _this._debugDevicePixelRatio;
        if (t1 === C.OperatingSystem_0) {
          t1 = document.documentElement;
          t3 = t1.clientWidth;
          t3.toString;
          t1 = t1.clientHeight;
          t1.toString;
          windowInnerWidth = t3 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
          t2 = _this._debugDevicePixelRatio;
          windowInnerHeight = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        } else {
          t1 = viewport.width;
          t1.toString;
          windowInnerWidth = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
          t1 = viewport.height;
          t1.toString;
          t2 = _this._debugDevicePixelRatio;
          windowInnerHeight = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        }
      } else {
        t1 = window.innerWidth;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        windowInnerWidth = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        t1 = window.innerHeight;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        windowInnerHeight = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
      }
      _this._physicalSize = new P.Size(windowInnerWidth, windowInnerHeight);
    },
    computeOnScreenKeyboardInsets$1: function(isEditingOnMobile) {
      var t1, t2, windowInnerHeight, _this = this,
        viewport = window.visualViewport;
      if (viewport != null) {
        t1 = $.$get$_operatingSystem();
        t1 = t1 === C.OperatingSystem_0 && !isEditingOnMobile;
        t2 = _this._debugDevicePixelRatio;
        if (t1) {
          t1 = document.documentElement.clientHeight;
          windowInnerHeight = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        } else {
          t1 = viewport.height;
          t1.toString;
          windowInnerHeight = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        }
      } else {
        t1 = window.innerHeight;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        windowInnerHeight = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
      }
      _this._viewInsets = new H.WindowPadding(0, 0, 0, _this._physicalSize._dy - windowInnerHeight);
    },
    isRotation$0: function() {
      var height, width, _this = this,
        t1 = window.visualViewport,
        t2 = _this._debugDevicePixelRatio;
      if (t1 != null) {
        t1 = window.visualViewport.height;
        t1.toString;
        height = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        t1 = window.visualViewport.width;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        width = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
      } else {
        t1 = window.innerHeight;
        t1.toString;
        height = t1 * (t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        t1 = window.innerWidth;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        width = t1 * (t2 == null ? H.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;
    }
  };
  H.EngineFlutterWindow_closure.prototype = {
    call$0: function() {
      $.$get$window().resetHistory$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  H.EngineSingletonFlutterWindow.prototype = {
    get$devicePixelRatio: function(_) {
      var t1 = this._debugDevicePixelRatio;
      return t1 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t1;
    }
  };
  H.WindowPadding.prototype = {};
  H._DomCanvas_EngineCanvas_SaveElementStackTracking.prototype = {};
  H._PersistedClipRRect_PersistedContainerSurface__DomClip.prototype = {
    adoptElements$1: function(oldSurface) {
      this.super$PersistedSurface$adoptElements(oldSurface);
      this._DomClip__childContainer = oldSurface._DomClip__childContainer;
      oldSurface._DomClip__childContainer = null;
    },
    discard$0: function() {
      this.super$PersistedContainerSurface$discard();
      this._DomClip__childContainer = null;
    }
  };
  H._PersistedClipRect_PersistedContainerSurface__DomClip.prototype = {
    adoptElements$1: function(oldSurface) {
      this.super$PersistedSurface$adoptElements(oldSurface);
      this._DomClip__childContainer = oldSurface._DomClip__childContainer;
      oldSurface._DomClip__childContainer = null;
    },
    discard$0: function() {
      this.super$PersistedContainerSurface$discard();
      this._DomClip__childContainer = null;
    }
  };
  H._PersistedPhysicalShape_PersistedContainerSurface__DomClip.prototype = {
    adoptElements$1: function(oldSurface) {
      this.super$PersistedSurface$adoptElements(oldSurface);
      this._DomClip__childContainer = oldSurface._DomClip__childContainer;
      oldSurface._DomClip__childContainer = null;
    },
    discard$0: function() {
      this.super$PersistedContainerSurface$discard();
      this._DomClip__childContainer = null;
    }
  };
  H.__MouseAdapter__BaseAdapter__WheelEventListenerMixin.prototype = {};
  H.__PointerAdapter__BaseAdapter__WheelEventListenerMixin.prototype = {};
  H.JS_CONST.prototype = {};
  J.Interceptor.prototype = {
    $eq: function(receiver, other) {
      return receiver === other;
    },
    get$hashCode: function(receiver) {
      return H.Primitives_objectHashCode(receiver);
    },
    toString$0: function(receiver) {
      return "Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'";
    },
    noSuchMethod$1: function(receiver, invocation) {
      throw H.wrapException(P.NoSuchMethodError$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
    },
    get$runtimeType: function(receiver) {
      return H.getRuntimeType(receiver);
    }
  };
  J.JSBool.prototype = {
    toString$0: function(receiver) {
      return String(receiver);
    },
    $or: function(receiver, other) {
      if (!H._isBool(other))
        H.throwExpression(H.argumentErrorValue(other));
      return other || receiver;
    },
    $xor: function(receiver, other) {
      return receiver;
    },
    get$hashCode: function(receiver) {
      return receiver ? 519018 : 218159;
    },
    get$runtimeType: function(receiver) {
      return C.Type_bool_lhE;
    },
    $isbool: 1
  };
  J.JSNull.prototype = {
    $eq: function(receiver, other) {
      return null == other;
    },
    toString$0: function(receiver) {
      return "null";
    },
    get$hashCode: function(receiver) {
      return 0;
    },
    get$runtimeType: function(receiver) {
      return C.Type_Null_Yyn;
    },
    noSuchMethod$1: function(receiver, invocation) {
      return this.super$Interceptor$noSuchMethod(receiver, invocation);
    },
    $isNull: 1
  };
  J.JavaScriptObject.prototype = {
    get$hashCode: function(receiver) {
      return 0;
    },
    get$runtimeType: function(receiver) {
      return C.Type_JSObject_8k0;
    },
    toString$0: function(receiver) {
      return String(receiver);
    },
    $isJSObject: 1,
    $isCanvasKit: 1,
    $isSkFontSlant: 1,
    $isSkFontWeight: 1,
    $isSkTextDirection: 1,
    $isSkTextAlign: 1,
    $isSkTextHeightBehavior: 1,
    $isSkRectHeightStyle: 1,
    $isSkRectWidthStyle: 1,
    $isSkClipOp: 1,
    $isSkFillType: 1,
    $isSkBlurStyle: 1,
    $isSkStrokeCap: 1,
    $isSkPaintStyle: 1,
    $isSkBlendMode: 1,
    $isSkStrokeJoin: 1,
    $isSkFilterQuality: 1,
    $isSkTileMode: 1,
    $isSkAnimatedImage: 1,
    $isSkImage: 1,
    $isSkShader: 1,
    $isSkPaint: 1,
    $isSkMaskFilter: 1,
    $isSkColorFilter: 1,
    $isSkImageFilter: 1,
    $isSkPath: 1,
    $isSkPicture: 1,
    $isSkTextStyle: 1,
    $isSkTextDecorationStyle: 1,
    $isSkTextBaseline: 1,
    $isSkTextShadow: 1,
    $isSkFontFeature: 1,
    $isSkTypeface: 1,
    $isSkParagraph: 1,
    $isSkDeletable: 1,
    $isJsUrlStrategy: 1,
    get$BlendMode: function(obj) {
      return obj.BlendMode;
    },
    get$PaintStyle: function(obj) {
      return obj.PaintStyle;
    },
    get$StrokeCap: function(obj) {
      return obj.StrokeCap;
    },
    get$StrokeJoin: function(obj) {
      return obj.StrokeJoin;
    },
    get$FilterQuality: function(obj) {
      return obj.FilterQuality;
    },
    get$BlurStyle: function(obj) {
      return obj.BlurStyle;
    },
    get$TileMode: function(obj) {
      return obj.TileMode;
    },
    get$FilterMode: function(obj) {
      return obj.FilterMode;
    },
    get$MipmapMode: function(obj) {
      return obj.MipmapMode;
    },
    get$FillType: function(obj) {
      return obj.FillType;
    },
    get$AlphaType: function(obj) {
      return obj.AlphaType;
    },
    get$ColorType: function(obj) {
      return obj.ColorType;
    },
    get$ClipOp: function(obj) {
      return obj.ClipOp;
    },
    get$RectHeightStyle: function(obj) {
      return obj.RectHeightStyle;
    },
    get$RectWidthStyle: function(obj) {
      return obj.RectWidthStyle;
    },
    get$TextAlign: function(obj) {
      return obj.TextAlign;
    },
    get$TextHeightBehavior: function(obj) {
      return obj.TextHeightBehavior;
    },
    get$TextDirection: function(obj) {
      return obj.TextDirection;
    },
    get$FontWeight: function(obj) {
      return obj.FontWeight;
    },
    get$FontSlant: function(obj) {
      return obj.FontSlant;
    },
    MakeAnimatedImageFromEncoded$1: function(receiver, p0) {
      return receiver.MakeAnimatedImageFromEncoded(p0);
    },
    get$Shader: function(obj) {
      return obj.Shader;
    },
    get$MaskFilter: function(obj) {
      return obj.MaskFilter;
    },
    get$ColorFilter: function(obj) {
      return obj.ColorFilter;
    },
    get$Path: function(obj) {
      return obj.Path;
    },
    computeTonalColors$1: function(receiver, p0) {
      return receiver.computeTonalColors(p0);
    },
    get$ParagraphBuilder: function(obj) {
      return obj.ParagraphBuilder;
    },
    ParagraphStyle$1: function(receiver, p0) {
      return receiver.ParagraphStyle(p0);
    },
    TextStyle$1: function(receiver, p0) {
      return receiver.TextStyle(p0);
    },
    get$NoDecoration: function(obj) {
      return obj.NoDecoration;
    },
    get$UnderlineDecoration: function(obj) {
      return obj.UnderlineDecoration;
    },
    get$OverlineDecoration: function(obj) {
      return obj.OverlineDecoration;
    },
    get$LineThroughDecoration: function(obj) {
      return obj.LineThroughDecoration;
    },
    get$DecorationStyle: function(obj) {
      return obj.DecorationStyle;
    },
    get$TextBaseline: function(obj) {
      return obj.TextBaseline;
    },
    get$FontMgr: function(obj) {
      return obj.FontMgr;
    },
    get$TypefaceFontProvider: function(obj) {
      return obj.TypefaceFontProvider;
    },
    GetWebGLContext$2: function(receiver, p0, p1) {
      return receiver.GetWebGLContext(p0, p1);
    },
    MakeGrContext$1: function(receiver, p0) {
      return receiver.MakeGrContext(p0);
    },
    MakeOnScreenGLSurface$4: function(receiver, p0, p1, p2, p3) {
      return receiver.MakeOnScreenGLSurface(p0, p1, p2, p3);
    },
    MakeSWCanvasSurface$1: function(receiver, p0) {
      return receiver.MakeSWCanvasSurface(p0);
    },
    setCurrentContext$1: function(receiver, p0) {
      return receiver.setCurrentContext(p0);
    },
    MakeImage$3: function(receiver, p0, p1, p2) {
      return receiver.MakeImage(p0, p1, p2);
    },
    then$1$1: function(receiver, p0) {
      return receiver.then(p0);
    },
    then$1: function(receiver, p0) {
      return receiver.then(p0);
    },
    getCanvas$0: function(receiver) {
      return receiver.getCanvas();
    },
    flush$0: function(receiver) {
      return receiver.flush();
    },
    get$width: function(obj) {
      return obj.width;
    },
    width$0: function(receiver) {
      return receiver.width();
    },
    get$height: function(obj) {
      return obj.height;
    },
    height$0: function(receiver) {
      return receiver.height();
    },
    get$dispose: function(obj) {
      return obj.dispose;
    },
    dispose$0: function(receiver) {
      return receiver.dispose();
    },
    setResourceCacheLimitBytes$1: function(receiver, p0) {
      return receiver.setResourceCacheLimitBytes(p0);
    },
    releaseResourcesAndAbandonContext$0: function(receiver) {
      return receiver.releaseResourcesAndAbandonContext();
    },
    delete$0: function(receiver) {
      return receiver.delete();
    },
    get$Upright: function(obj) {
      return obj.Upright;
    },
    get$Italic: function(obj) {
      return obj.Italic;
    },
    get$value: function(obj) {
      return obj.value;
    },
    get$Thin: function(obj) {
      return obj.Thin;
    },
    get$ExtraLight: function(obj) {
      return obj.ExtraLight;
    },
    get$Light: function(obj) {
      return obj.Light;
    },
    get$Normal: function(obj) {
      return obj.Normal;
    },
    get$Medium: function(obj) {
      return obj.Medium;
    },
    get$SemiBold: function(obj) {
      return obj.SemiBold;
    },
    get$Bold: function(obj) {
      return obj.Bold;
    },
    get$ExtraBold: function(obj) {
      return obj.ExtraBold;
    },
    get$ExtraBlack: function(obj) {
      return obj.ExtraBlack;
    },
    get$RTL: function(obj) {
      return obj.RTL;
    },
    get$LTR: function(obj) {
      return obj.LTR;
    },
    get$Left: function(obj) {
      return obj.Left;
    },
    get$Right: function(obj) {
      return obj.Right;
    },
    get$Center: function(obj) {
      return obj.Center;
    },
    get$Justify: function(obj) {
      return obj.Justify;
    },
    get$Start: function(obj) {
      return obj.Start;
    },
    get$End: function(obj) {
      return obj.End;
    },
    get$All: function(obj) {
      return obj.All;
    },
    get$DisableFirstAscent: function(obj) {
      return obj.DisableFirstAscent;
    },
    get$DisableLastDescent: function(obj) {
      return obj.DisableLastDescent;
    },
    get$DisableAll: function(obj) {
      return obj.DisableAll;
    },
    get$Tight: function(obj) {
      return obj.Tight;
    },
    get$Max: function(obj) {
      return obj.Max;
    },
    get$IncludeLineSpacingMiddle: function(obj) {
      return obj.IncludeLineSpacingMiddle;
    },
    get$IncludeLineSpacingTop: function(obj) {
      return obj.IncludeLineSpacingTop;
    },
    get$IncludeLineSpacingBottom: function(obj) {
      return obj.IncludeLineSpacingBottom;
    },
    get$Strut: function(obj) {
      return obj.Strut;
    },
    get$Difference: function(obj) {
      return obj.Difference;
    },
    get$Intersect: function(obj) {
      return obj.Intersect;
    },
    get$Winding: function(obj) {
      return obj.Winding;
    },
    get$EvenOdd: function(obj) {
      return obj.EvenOdd;
    },
    get$Solid: function(obj) {
      return obj.Solid;
    },
    get$Outer: function(obj) {
      return obj.Outer;
    },
    get$Inner: function(obj) {
      return obj.Inner;
    },
    get$Butt: function(obj) {
      return obj.Butt;
    },
    get$Round: function(obj) {
      return obj.Round;
    },
    get$Square: function(obj) {
      return obj.Square;
    },
    get$Stroke: function(obj) {
      return obj.Stroke;
    },
    get$Fill: function(obj) {
      return obj.Fill;
    },
    get$Clear: function(obj) {
      return obj.Clear;
    },
    get$Src: function(obj) {
      return obj.Src;
    },
    get$Dst: function(obj) {
      return obj.Dst;
    },
    get$SrcOver: function(obj) {
      return obj.SrcOver;
    },
    get$DstOver: function(obj) {
      return obj.DstOver;
    },
    get$SrcIn: function(obj) {
      return obj.SrcIn;
    },
    get$DstIn: function(obj) {
      return obj.DstIn;
    },
    get$SrcOut: function(obj) {
      return obj.SrcOut;
    },
    get$DstOut: function(obj) {
      return obj.DstOut;
    },
    get$SrcATop: function(obj) {
      return obj.SrcATop;
    },
    get$DstATop: function(obj) {
      return obj.DstATop;
    },
    get$Xor: function(obj) {
      return obj.Xor;
    },
    get$Plus: function(obj) {
      return obj.Plus;
    },
    get$Modulate: function(obj) {
      return obj.Modulate;
    },
    get$Screen: function(obj) {
      return obj.Screen;
    },
    get$Overlay: function(obj) {
      return obj.Overlay;
    },
    get$Darken: function(obj) {
      return obj.Darken;
    },
    get$Lighten: function(obj) {
      return obj.Lighten;
    },
    get$ColorDodge: function(obj) {
      return obj.ColorDodge;
    },
    get$ColorBurn: function(obj) {
      return obj.ColorBurn;
    },
    get$HardLight: function(obj) {
      return obj.HardLight;
    },
    get$SoftLight: function(obj) {
      return obj.SoftLight;
    },
    get$Exclusion: function(obj) {
      return obj.Exclusion;
    },
    get$Multiply: function(obj) {
      return obj.Multiply;
    },
    get$Hue: function(obj) {
      return obj.Hue;
    },
    get$Saturation: function(obj) {
      return obj.Saturation;
    },
    get$Color: function(obj) {
      return obj.Color;
    },
    get$Luminosity: function(obj) {
      return obj.Luminosity;
    },
    get$Miter: function(obj) {
      return obj.Miter;
    },
    get$Bevel: function(obj) {
      return obj.Bevel;
    },
    get$None: function(obj) {
      return obj.None;
    },
    get$Low: function(obj) {
      return obj.Low;
    },
    get$High: function(obj) {
      return obj.High;
    },
    get$Clamp: function(obj) {
      return obj.Clamp;
    },
    get$Repeat: function(obj) {
      return obj.Repeat;
    },
    get$Mirror: function(obj) {
      return obj.Mirror;
    },
    get$Decal: function(obj) {
      return obj.Decal;
    },
    get$Nearest: function(obj) {
      return obj.Nearest;
    },
    get$Linear: function(obj) {
      return obj.Linear;
    },
    get$Premul: function(obj) {
      return obj.Premul;
    },
    get$RGBA_8888: function(obj) {
      return obj.RGBA_8888;
    },
    getFrameCount$0: function(receiver) {
      return receiver.getFrameCount();
    },
    getRepetitionCount$0: function(receiver) {
      return receiver.getRepetitionCount();
    },
    decodeNextFrame$0: function(receiver) {
      return receiver.decodeNextFrame();
    },
    makeImageAtCurrentFrame$0: function(receiver) {
      return receiver.makeImageAtCurrentFrame();
    },
    isDeleted$0: function(receiver) {
      return receiver.isDeleted();
    },
    readPixels$3: function(receiver, p0, p1, p2) {
      return receiver.readPixels(p0, p1, p2);
    },
    encodeToBytes$0: function(receiver) {
      return receiver.encodeToBytes();
    },
    isAliasOf$1: function(receiver, p0) {
      return receiver.isAliasOf(p0);
    },
    MakeLinearGradient$6: function(receiver, p0, p1, p2, p3, p4, p5) {
      return receiver.MakeLinearGradient(p0, p1, p2, p3, p4, p5);
    },
    MakeBlur$3: function(receiver, p0, p1, p2) {
      return receiver.MakeBlur(p0, p1, p2);
    },
    setBlendMode$1: function(receiver, p0) {
      return receiver.setBlendMode(p0);
    },
    setStyle$1: function(receiver, p0) {
      return receiver.setStyle(p0);
    },
    setStrokeWidth$1: function(receiver, p0) {
      return receiver.setStrokeWidth(p0);
    },
    setStrokeCap$1: function(receiver, p0) {
      return receiver.setStrokeCap(p0);
    },
    setStrokeJoin$1: function(receiver, p0) {
      return receiver.setStrokeJoin(p0);
    },
    setAntiAlias$1: function(receiver, p0) {
      return receiver.setAntiAlias(p0);
    },
    setColorInt$1: function(receiver, p0) {
      return receiver.setColorInt(p0);
    },
    setShader$1: function(receiver, p0) {
      return receiver.setShader(p0);
    },
    setMaskFilter$1: function(receiver, p0) {
      return receiver.setMaskFilter(p0);
    },
    setFilterQuality$1: function(receiver, p0) {
      return receiver.setFilterQuality(p0);
    },
    setColorFilter$1: function(receiver, p0) {
      return receiver.setColorFilter(p0);
    },
    setStrokeMiter$1: function(receiver, p0) {
      return receiver.setStrokeMiter(p0);
    },
    setImageFilter$1: function(receiver, p0) {
      return receiver.setImageFilter(p0);
    },
    MakeBlend$2: function(receiver, p0, p1) {
      return receiver.MakeBlend(p0, p1);
    },
    MakeFromCmds$1: function(receiver, p0) {
      return receiver.MakeFromCmds(p0);
    },
    toTypedArray$0: function(receiver) {
      return receiver.toTypedArray();
    },
    setFillType$1: function(receiver, p0) {
      return receiver.setFillType(p0);
    },
    addArc$3: function(receiver, p0, p1, p2) {
      return receiver.addArc(p0, p1, p2);
    },
    addOval$3: function(receiver, p0, p1, p2) {
      return receiver.addOval(p0, p1, p2);
    },
    addRRect$2: function(receiver, p0, p1) {
      return receiver.addRRect(p0, p1);
    },
    addRect$1: function(receiver, p0) {
      return receiver.addRect(p0);
    },
    arcToOval$4: function(receiver, p0, p1, p2, p3) {
      return receiver.arcToOval(p0, p1, p2, p3);
    },
    get$close: function(obj) {
      return obj.close;
    },
    close$0: function(receiver) {
      return receiver.close();
    },
    get$contains: function(obj) {
      return obj.contains;
    },
    contains$2: function(receiver, p0, p1) {
      return receiver.contains(p0, p1);
    },
    cubicTo$6: function(receiver, p0, p1, p2, p3, p4, p5) {
      return receiver.cubicTo(p0, p1, p2, p3, p4, p5);
    },
    getBounds$0: function(receiver) {
      return receiver.getBounds();
    },
    lineTo$2: function(receiver, p0, p1) {
      return receiver.lineTo(p0, p1);
    },
    moveTo$2: function(receiver, p0, p1) {
      return receiver.moveTo(p0, p1);
    },
    quadTo$4: function(receiver, p0, p1, p2, p3) {
      return receiver.quadTo(p0, p1, p2, p3);
    },
    rMoveTo$2: function(receiver, p0, p1) {
      return receiver.rMoveTo(p0, p1);
    },
    reset$0: function(receiver) {
      return receiver.reset();
    },
    get$isEmpty: function(obj) {
      return obj.isEmpty;
    },
    copy$0: function(receiver) {
      return receiver.copy();
    },
    get$transform: function(obj) {
      return obj.transform;
    },
    transform$9: function(receiver, p0, p1, p2, p3, p4, p5, p6, p7, p8) {
      return receiver.transform(p0, p1, p2, p3, p4, p5, p6, p7, p8);
    },
    toCmds$0: function(receiver) {
      return receiver.toCmds();
    },
    get$next: function(obj) {
      return obj.next;
    },
    get$length: function(obj) {
      return obj.length;
    },
    beginRecording$1: function(receiver, p0) {
      return receiver.beginRecording(p0);
    },
    finishRecordingAsPicture$0: function(receiver) {
      return receiver.finishRecordingAsPicture();
    },
    clipPath$3: function(receiver, p0, p1, p2) {
      return receiver.clipPath(p0, p1, p2);
    },
    clipRRect$3: function(receiver, p0, p1, p2) {
      return receiver.clipRRect(p0, p1, p2);
    },
    clipRect$3: function(receiver, p0, p1, p2) {
      return receiver.clipRect(p0, p1, p2);
    },
    drawArc$5: function(receiver, p0, p1, p2, p3, p4) {
      return receiver.drawArc(p0, p1, p2, p3, p4);
    },
    drawCircle$4: function(receiver, p0, p1, p2, p3) {
      return receiver.drawCircle(p0, p1, p2, p3);
    },
    drawDRRect$3: function(receiver, p0, p1, p2) {
      return receiver.drawDRRect(p0, p1, p2);
    },
    drawImageRectCubic$6: function(receiver, p0, p1, p2, p3, p4, p5) {
      return receiver.drawImageRectCubic(p0, p1, p2, p3, p4, p5);
    },
    drawImageRectOptions$6: function(receiver, p0, p1, p2, p3, p4, p5) {
      return receiver.drawImageRectOptions(p0, p1, p2, p3, p4, p5);
    },
    drawLine$5: function(receiver, p0, p1, p2, p3, p4) {
      return receiver.drawLine(p0, p1, p2, p3, p4);
    },
    drawOval$2: function(receiver, p0, p1) {
      return receiver.drawOval(p0, p1);
    },
    drawPaint$1: function(receiver, p0) {
      return receiver.drawPaint(p0);
    },
    drawPath$2: function(receiver, p0, p1) {
      return receiver.drawPath(p0, p1);
    },
    drawRRect$2: function(receiver, p0, p1) {
      return receiver.drawRRect(p0, p1);
    },
    drawRect$2: function(receiver, p0, p1) {
      return receiver.drawRect(p0, p1);
    },
    drawShadow$7: function(receiver, p0, p1, p2, p3, p4, p5, p6) {
      return receiver.drawShadow(p0, p1, p2, p3, p4, p5, p6);
    },
    save$0: function(receiver) {
      return receiver.save();
    },
    saveLayer$4: function(receiver, p0, p1, p2, p3) {
      return receiver.saveLayer(p0, p1, p2, p3);
    },
    restore$0: function(receiver) {
      return receiver.restore();
    },
    restoreToCount$1: function(receiver, p0) {
      return receiver.restoreToCount(p0);
    },
    rotate$3: function(receiver, p0, p1, p2) {
      return receiver.rotate(p0, p1, p2);
    },
    scale$2: function(receiver, p0, p1) {
      return receiver.scale(p0, p1);
    },
    concat$1: function(receiver, p0) {
      return receiver.concat(p0);
    },
    translate$2: function(receiver, p0, p1) {
      return receiver.translate(p0, p1);
    },
    drawPicture$1: function(receiver, p0) {
      return receiver.drawPicture(p0);
    },
    drawParagraph$3: function(receiver, p0, p1, p2) {
      return receiver.drawParagraph(p0, p1, p2);
    },
    MakeFromFontProvider$2: function(receiver, p0, p1) {
      return receiver.MakeFromFontProvider(p0, p1);
    },
    addText$1: function(receiver, p0) {
      return receiver.addText(p0);
    },
    pushStyle$1: function(receiver, p0) {
      return receiver.pushStyle(p0);
    },
    pushPaintStyle$3: function(receiver, p0, p1, p2) {
      return receiver.pushPaintStyle(p0, p1, p2);
    },
    pop$0: function(receiver) {
      return receiver.pop();
    },
    addPlaceholder$5: function(receiver, p0, p1, p2, p3, p4) {
      return receiver.addPlaceholder(p0, p1, p2, p3, p4);
    },
    get$build: function(obj) {
      return obj.build;
    },
    build$0: function(receiver) {
      return receiver.build();
    },
    set$textAlign: function(obj, v) {
      return obj.textAlign = v;
    },
    set$textDirection: function(obj, v) {
      return obj.textDirection = v;
    },
    set$textHeightBehavior: function(obj, v) {
      return obj.textHeightBehavior = v;
    },
    set$maxLines: function(obj, v) {
      return obj.maxLines = v;
    },
    set$ellipsis: function(obj, v) {
      return obj.ellipsis = v;
    },
    set$strutStyle: function(obj, v) {
      return obj.strutStyle = v;
    },
    get$Double: function(obj) {
      return obj.Double;
    },
    get$Dotted: function(obj) {
      return obj.Dotted;
    },
    get$Dashed: function(obj) {
      return obj.Dashed;
    },
    get$Wavy: function(obj) {
      return obj.Wavy;
    },
    get$Alphabetic: function(obj) {
      return obj.Alphabetic;
    },
    get$Ideographic: function(obj) {
      return obj.Ideographic;
    },
    set$color: function(obj, v) {
      return obj.color = v;
    },
    set$decoration: function(obj, v) {
      return obj.decoration = v;
    },
    set$textBaseline: function(obj, v) {
      return obj.textBaseline = v;
    },
    set$locale: function(obj, v) {
      return obj.locale = v;
    },
    set$offset: function(obj, v) {
      return obj.offset = v;
    },
    set$value: function(obj, v) {
      return obj.value = v;
    },
    getGlyphIDs$1: function(receiver, p0) {
      return receiver.getGlyphIDs(p0);
    },
    getGlyphBounds$3: function(receiver, p0, p1, p2) {
      return receiver.getGlyphBounds(p0, p1, p2);
    },
    MakeTypefaceFromData$1: function(receiver, p0) {
      return receiver.MakeTypefaceFromData(p0);
    },
    registerFont$2: function(receiver, p0, p1) {
      return receiver.registerFont(p0, p1);
    },
    get$startIndex: function(obj) {
      return obj.startIndex;
    },
    get$endIndex: function(obj) {
      return obj.endIndex;
    },
    getAlphabeticBaseline$0: function(receiver) {
      return receiver.getAlphabeticBaseline();
    },
    get$didExceedMaxLines: function(obj) {
      return obj.didExceedMaxLines;
    },
    didExceedMaxLines$0: function(receiver) {
      return receiver.didExceedMaxLines();
    },
    getHeight$0: function(receiver) {
      return receiver.getHeight();
    },
    getIdeographicBaseline$0: function(receiver) {
      return receiver.getIdeographicBaseline();
    },
    getLineMetrics$0: function(receiver) {
      return receiver.getLineMetrics();
    },
    getLongestLine$0: function(receiver) {
      return receiver.getLongestLine();
    },
    getMaxIntrinsicWidth$0: function(receiver) {
      return receiver.getMaxIntrinsicWidth();
    },
    getMinIntrinsicWidth$0: function(receiver) {
      return receiver.getMinIntrinsicWidth();
    },
    getMaxWidth$0: function(receiver) {
      return receiver.getMaxWidth();
    },
    getRectsForRange$4: function(receiver, p0, p1, p2, p3) {
      return receiver.getRectsForRange(p0, p1, p2, p3);
    },
    getRectsForPlaceholders$0: function(receiver) {
      return receiver.getRectsForPlaceholders();
    },
    getGlyphPositionAtCoordinate$2: function(receiver, p0, p1) {
      return receiver.getGlyphPositionAtCoordinate(p0, p1);
    },
    getWordBoundary$1: function(receiver, p0) {
      return receiver.getWordBoundary(p0);
    },
    layout$1: function(receiver, p0) {
      return receiver.layout(p0);
    },
    get$affinity: function(obj) {
      return obj.affinity;
    },
    get$pos: function(obj) {
      return obj.pos;
    },
    get$start: function(obj) {
      return obj.start;
    },
    start$1: function(receiver, p0) {
      return receiver.start(p0);
    },
    get$end: function(obj) {
      return obj.end;
    },
    get$ambient: function(obj) {
      return obj.ambient;
    },
    get$spot: function(obj) {
      return obj.spot;
    },
    RefDefault$0: function(receiver) {
      return receiver.RefDefault();
    },
    Make$0: function(receiver) {
      return receiver.Make();
    },
    constructor$0: function(receiver) {
      return receiver.constructor();
    },
    get$name: function(obj) {
      return obj.name;
    },
    register$2: function(receiver, p0, p1) {
      return receiver.register(p0, p1);
    },
    get$size: function(obj) {
      return obj.size;
    },
    addPopStateListener$1: function(receiver, p0) {
      return receiver.addPopStateListener(p0);
    },
    getPath$0: function(receiver) {
      return receiver.getPath();
    },
    getState$0: function(receiver) {
      return receiver.getState();
    },
    pushState$3: function(receiver, p0, p1, p2) {
      return receiver.pushState(p0, p1, p2);
    },
    replaceState$3: function(receiver, p0, p1, p2) {
      return receiver.replaceState(p0, p1, p2);
    },
    go$1: function(receiver, p0) {
      return receiver.go(p0);
    },
    get$description: function(obj) {
      return obj.description;
    }
  };
  J.PlainJavaScriptObject.prototype = {};
  J.UnknownJavaScriptObject.prototype = {};
  J.JavaScriptFunction.prototype = {
    toString$0: function(receiver) {
      var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()];
      if (dartClosure == null)
        return this.super$JavaScriptObject$toString(receiver);
      return "JavaScript function for " + H.S(J.toString$0$(dartClosure));
    },
    $isFunction: 1
  };
  J.JSArray.prototype = {
    cast$1$0: function(receiver, $R) {
      return new H.CastList(receiver, H._arrayInstanceType(receiver)._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>"));
    },
    add$1: function(receiver, value) {
      if (!!receiver.fixed$length)
        H.throwExpression(P.UnsupportedError$("add"));
      receiver.push(value);
    },
    removeAt$1: function(receiver, index) {
      if (!!receiver.fixed$length)
        H.throwExpression(P.UnsupportedError$("removeAt"));
      if (index < 0 || index >= receiver.length)
        throw H.wrapException(P.RangeError$value(index, null, null));
      return receiver.splice(index, 1)[0];
    },
    insert$2: function(receiver, index, value) {
      if (!!receiver.fixed$length)
        H.throwExpression(P.UnsupportedError$("insert"));
      if (index < 0 || index > receiver.length)
        throw H.wrapException(P.RangeError$value(index, null, null));
      receiver.splice(index, 0, value);
    },
    insertAll$2: function(receiver, index, iterable) {
      var insertionLength, end;
      if (!!receiver.fixed$length)
        H.throwExpression(P.UnsupportedError$("insertAll"));
      P.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);
    },
    removeLast$0: function(receiver) {
      if (!!receiver.fixed$length)
        H.throwExpression(P.UnsupportedError$("removeLast"));
      if (receiver.length === 0)
        throw H.wrapException(H.diagnoseIndexError(receiver, -1));
      return receiver.pop();
    },
    remove$1: function(receiver, element) {
      var i;
      if (!!receiver.fixed$length)
        H.throwExpression(P.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: function(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 H.wrapException(P.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: function(receiver, f) {
      return new H.WhereIterable(receiver, f, H._arrayInstanceType(receiver)._eval$1("WhereIterable<1>"));
    },
    addAll$1: function(receiver, collection) {
      var t1;
      if (!!receiver.fixed$length)
        H.throwExpression(P.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: function(receiver, array) {
      var i,
        len = array.length;
      if (len === 0)
        return;
      if (receiver === array)
        throw H.wrapException(P.ConcurrentModificationError$(receiver));
      for (i = 0; i < len; ++i)
        receiver.push(array[i]);
    },
    clear$0: function(receiver) {
      this.set$length(receiver, 0);
    },
    forEach$1: function(receiver, f) {
      var i,
        end = receiver.length;
      for (i = 0; i < end; ++i) {
        f.call$1(receiver[i]);
        if (receiver.length !== end)
          throw H.wrapException(P.ConcurrentModificationError$(receiver));
      }
    },
    map$1$1: function(receiver, f, $T) {
      return new H.MappedListIterable(receiver, f, H._arrayInstanceType(receiver)._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
    },
    map$1: function($receiver, f) {
      return this.map$1$1($receiver, f, type$.dynamic);
    },
    join$1: function(receiver, separator) {
      var i,
        list = P.List_List$filled(receiver.length, "", false, type$.String);
      for (i = 0; i < receiver.length; ++i)
        list[i] = H.S(receiver[i]);
      return list.join(separator);
    },
    join$0: function($receiver) {
      return this.join$1($receiver, "");
    },
    take$1: function(receiver, n) {
      return H.SubListIterable$(receiver, 0, H.checkNotNullable(n, "count", type$.int), H._arrayInstanceType(receiver)._precomputed1);
    },
    skip$1: function(receiver, n) {
      return H.SubListIterable$(receiver, n, null, H._arrayInstanceType(receiver)._precomputed1);
    },
    reduce$1: function(receiver, combine) {
      var value, i,
        $length = receiver.length;
      if ($length === 0)
        throw H.wrapException(H.IterableElementError_noElement());
      value = receiver[0];
      for (i = 1; i < $length; ++i) {
        value = combine.call$2(value, receiver[i]);
        if ($length !== receiver.length)
          throw H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      return value;
    },
    fold$1$2: function(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 H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      return value;
    },
    fold$2: function($receiver, initialValue, combine) {
      return this.fold$1$2($receiver, initialValue, combine, type$.dynamic);
    },
    firstWhere$2$orElse: function(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 H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      if (orElse != null)
        return orElse.call$0();
      throw H.wrapException(H.IterableElementError_noElement());
    },
    firstWhere$1: function($receiver, test) {
      return this.firstWhere$2$orElse($receiver, test, null);
    },
    lastWhere$2$orElse: function(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 H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      if (orElse != null)
        return orElse.call$0();
      throw H.wrapException(H.IterableElementError_noElement());
    },
    lastWhere$1: function($receiver, test) {
      return this.lastWhere$2$orElse($receiver, test, null);
    },
    singleWhere$2$orElse: function(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 H.wrapException(H.IterableElementError_tooMany());
          match = element;
          matchFound = true;
        }
        if ($length !== receiver.length)
          throw H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      if (matchFound)
        return match;
      return orElse.call$0();
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    sublist$2: function(receiver, start, end) {
      if (start < 0 || start > receiver.length)
        throw H.wrapException(P.RangeError$range(start, 0, receiver.length, "start", null));
      if (end == null)
        end = receiver.length;
      else if (end < start || end > receiver.length)
        throw H.wrapException(P.RangeError$range(end, start, receiver.length, "end", null));
      if (start === end)
        return H._setArrayType([], H._arrayInstanceType(receiver));
      return H._setArrayType(receiver.slice(start, end), H._arrayInstanceType(receiver));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    getRange$2: function(receiver, start, end) {
      P.RangeError_checkValidRange(start, end, receiver.length);
      return H.SubListIterable$(receiver, start, end, H._arrayInstanceType(receiver)._precomputed1);
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(H.IterableElementError_noElement());
    },
    get$last: function(receiver) {
      var t1 = receiver.length;
      if (t1 > 0)
        return receiver[t1 - 1];
      throw H.wrapException(H.IterableElementError_noElement());
    },
    get$single: function(receiver) {
      var t1 = receiver.length;
      if (t1 === 1)
        return receiver[0];
      if (t1 === 0)
        throw H.wrapException(H.IterableElementError_noElement());
      throw H.wrapException(H.IterableElementError_tooMany());
    },
    removeRange$2: function(receiver, start, end) {
      if (!!receiver.fixed$length)
        H.throwExpression(P.UnsupportedError$("removeRange"));
      P.RangeError_checkValidRange(start, end, receiver.length);
      receiver.splice(start, end - start);
    },
    setRange$4: function(receiver, start, end, iterable, skipCount) {
      var $length, otherList, otherStart, t1, i;
      if (!!receiver.immutable$list)
        H.throwExpression(P.UnsupportedError$("setRange"));
      P.RangeError_checkValidRange(start, end, receiver.length);
      $length = end - start;
      if ($length === 0)
        return;
      P.RangeError_checkNotNegative(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 H.wrapException(H.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: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    fillRange$3: function(receiver, start, end, fillValue) {
      var i;
      if (!!receiver.immutable$list)
        H.throwExpression(P.UnsupportedError$("fill range"));
      P.RangeError_checkValidRange(start, end, receiver.length);
      for (i = start; i < end; ++i)
        receiver[i] = fillValue;
    },
    replaceRange$3: function(receiver, start, end, replacement) {
      var removeLength, insertLength, t1, insertEnd, delta, newLength, _this = this;
      if (!!receiver.fixed$length)
        H.throwExpression(P.UnsupportedError$("replaceRange"));
      P.RangeError_checkValidRange(start, end, receiver.length);
      if (!type$.EfficientLengthIterable_dynamic._is(replacement))
        replacement = J.toList$0$ax(replacement);
      removeLength = end - start;
      insertLength = J.get$length$asx(replacement);
      t1 = receiver.length;
      insertEnd = start + insertLength;
      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: function(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 H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      return false;
    },
    every$1: function(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 H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      return true;
    },
    sort$1: function(receiver, compare) {
      if (!!receiver.immutable$list)
        H.throwExpression(P.UnsupportedError$("sort"));
      H.Sort_sort(receiver, compare == null ? J._interceptors_JSArray__compareAny$closure() : compare);
    },
    sort$0: function($receiver) {
      return this.sort$1($receiver, null);
    },
    indexOf$1: function(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: function(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: function(receiver, other) {
      var i;
      for (i = 0; i < receiver.length; ++i)
        if (J.$eq$(receiver[i], other))
          return true;
      return false;
    },
    get$isEmpty: function(receiver) {
      return receiver.length === 0;
    },
    get$isNotEmpty: function(receiver) {
      return receiver.length !== 0;
    },
    toString$0: function(receiver) {
      return P.IterableBase_iterableToFullString(receiver, "[", "]");
    },
    toList$1$growable: function(receiver, growable) {
      var t1 = H._arrayInstanceType(receiver);
      return growable ? H._setArrayType(receiver.slice(0), t1) : J.JSArray_JSArray$markFixed(receiver.slice(0), t1._precomputed1);
    },
    toList$0: function($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0: function(receiver) {
      return P.LinkedHashSet_LinkedHashSet$from(receiver, H._arrayInstanceType(receiver)._precomputed1);
    },
    get$iterator: function(receiver) {
      return new J.ArrayIterator(receiver, receiver.length, H._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>"));
    },
    get$hashCode: function(receiver) {
      return H.Primitives_objectHashCode(receiver);
    },
    get$length: function(receiver) {
      return receiver.length;
    },
    set$length: function(receiver, newLength) {
      if (!!receiver.fixed$length)
        H.throwExpression(P.UnsupportedError$("set length"));
      if (newLength < 0)
        throw H.wrapException(P.RangeError$range(newLength, 0, null, "newLength", null));
      receiver.length = newLength;
    },
    $index: function(receiver, index) {
      if (!H._isInt(index))
        throw H.wrapException(H.diagnoseIndexError(receiver, index));
      if (index >= receiver.length || index < 0)
        throw H.wrapException(H.diagnoseIndexError(receiver, index));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      if (!!receiver.immutable$list)
        H.throwExpression(P.UnsupportedError$("indexed set"));
      if (!H._isInt(index))
        throw H.wrapException(H.diagnoseIndexError(receiver, index));
      if (index >= receiver.length || index < 0)
        throw H.wrapException(H.diagnoseIndexError(receiver, index));
      receiver[index] = value;
    },
    $add: function(receiver, other) {
      var t1 = P.List_List$of(receiver, true, H._arrayInstanceType(receiver)._precomputed1);
      this.addAll$1(t1, other);
      return t1;
    },
    indexWhere$1: function(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$1: function(receiver, test) {
      var i,
        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;
    },
    set$last: function(receiver, element) {
      var t1 = receiver.length;
      if (t1 === 0)
        throw H.wrapException(H.IterableElementError_noElement());
      this.$indexSet(receiver, t1 - 1, element);
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  J.JSUnmodifiableArray.prototype = {};
  J.ArrayIterator.prototype = {
    get$current: function(_) {
      return this.__interceptors$_current;
    },
    moveNext$0: function() {
      var t2, _this = this,
        t1 = _this._iterable,
        $length = t1.length;
      if (_this.__interceptors$_length !== $length)
        throw H.wrapException(H.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: function(receiver, b) {
      var bIsNegative;
      if (typeof b != "number")
        throw H.wrapException(H.argumentErrorValue(b));
      if (receiver < b)
        return -1;
      else if (receiver > b)
        return 1;
      else if (receiver === b) {
        if (receiver === 0) {
          bIsNegative = this.get$isNegative(b);
          if (this.get$isNegative(receiver) === bIsNegative)
            return 0;
          if (this.get$isNegative(receiver))
            return -1;
          return 1;
        }
        return 0;
      } else if (isNaN(receiver)) {
        if (isNaN(b))
          return 0;
        return 1;
      } else
        return -1;
    },
    get$isNegative: function(receiver) {
      return receiver === 0 ? 1 / receiver < 0 : receiver < 0;
    },
    remainder$1: function(receiver, b) {
      return receiver % b;
    },
    get$sign: function(receiver) {
      var t1;
      if (receiver > 0)
        t1 = 1;
      else
        t1 = receiver < 0 ? -1 : receiver;
      return t1;
    },
    toInt$0: function(receiver) {
      var t1;
      if (receiver >= -2147483648 && receiver <= 2147483647)
        return receiver | 0;
      if (isFinite(receiver)) {
        t1 = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver);
        return t1 + 0;
      }
      throw H.wrapException(P.UnsupportedError$("" + receiver + ".toInt()"));
    },
    ceil$0: function(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 H.wrapException(P.UnsupportedError$("" + receiver + ".ceil()"));
    },
    floor$0: function(receiver) {
      var truncated, d;
      if (receiver >= 0) {
        if (receiver <= 2147483647)
          return receiver | 0;
      } else if (receiver >= -2147483648) {
        truncated = receiver | 0;
        return receiver === truncated ? truncated : truncated - 1;
      }
      d = Math.floor(receiver);
      if (isFinite(d))
        return d;
      throw H.wrapException(P.UnsupportedError$("" + receiver + ".floor()"));
    },
    round$0: function(receiver) {
      if (receiver > 0) {
        if (receiver !== 1 / 0)
          return Math.round(receiver);
      } else if (receiver > -1 / 0)
        return 0 - Math.round(0 - receiver);
      throw H.wrapException(P.UnsupportedError$("" + receiver + ".round()"));
    },
    roundToDouble$0: function(receiver) {
      if (receiver < 0)
        return -Math.round(-receiver);
      else
        return Math.round(receiver);
    },
    clamp$2: function(receiver, lowerLimit, upperLimit) {
      if (typeof lowerLimit != "number")
        throw H.wrapException(H.argumentErrorValue(lowerLimit));
      if (typeof upperLimit != "number")
        throw H.wrapException(H.argumentErrorValue(upperLimit));
      if (this.compareTo$1(lowerLimit, upperLimit) > 0)
        throw H.wrapException(H.argumentErrorValue(lowerLimit));
      if (this.compareTo$1(receiver, lowerLimit) < 0)
        return lowerLimit;
      if (this.compareTo$1(receiver, upperLimit) > 0)
        return upperLimit;
      return receiver;
    },
    toDouble$0: function(receiver) {
      return receiver;
    },
    toStringAsFixed$1: function(receiver, fractionDigits) {
      var result;
      if (fractionDigits > 20)
        throw H.wrapException(P.RangeError$range(fractionDigits, 0, 20, "fractionDigits", null));
      result = receiver.toFixed(fractionDigits);
      if (receiver === 0 && this.get$isNegative(receiver))
        return "-" + result;
      return result;
    },
    toStringAsPrecision$1: function(receiver, precision) {
      var result;
      if (!H._isInt(precision))
        H.throwExpression(H.argumentErrorValue(precision));
      if (precision < 1 || precision > 21)
        throw H.wrapException(P.RangeError$range(precision, 1, 21, "precision", null));
      result = receiver.toPrecision(precision);
      if (receiver === 0 && this.get$isNegative(receiver))
        return "-" + result;
      return result;
    },
    toRadixString$1: function(receiver, radix) {
      var result, match, exponent, t1;
      if (radix < 2 || radix > 36)
        throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null));
      result = receiver.toString(radix);
      if (C.JSString_methods.codeUnitAt$1(result, result.length - 1) !== 41)
        return result;
      match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result);
      if (match == null)
        H.throwExpression(P.UnsupportedError$("Unexpected toString result: " + result));
      result = match[1];
      exponent = +match[3];
      t1 = match[2];
      if (t1 != null) {
        result += t1;
        exponent -= t1.length;
      }
      return result + C.JSString_methods.$mul("0", exponent);
    },
    toString$0: function(receiver) {
      if (receiver === 0 && 1 / receiver < 0)
        return "-0.0";
      else
        return "" + receiver;
    },
    get$hashCode: function(receiver) {
      var absolute, floorLog2, factor, scaled,
        intValue = receiver | 0;
      if (receiver === intValue)
        return intValue & 536870911;
      absolute = Math.abs(receiver);
      floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0;
      factor = Math.pow(2, floorLog2);
      scaled = absolute < 1 ? absolute / factor : factor / absolute;
      return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911;
    },
    $add: function(receiver, other) {
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      return receiver + other;
    },
    $sub: function(receiver, other) {
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      return receiver - other;
    },
    $div: function(receiver, other) {
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      return receiver / other;
    },
    $mul: function(receiver, other) {
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      return receiver * other;
    },
    $mod: function(receiver, other) {
      var result;
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      result = receiver % other;
      if (result === 0)
        return 0;
      if (result > 0)
        return result;
      if (other < 0)
        return result - other;
      else
        return result + other;
    },
    $tdiv: function(receiver, other) {
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      if ((receiver | 0) === receiver)
        if (other >= 1 || other < -1)
          return receiver / other | 0;
      return this._tdivSlow$1(receiver, other);
    },
    _tdivFast$1: function(receiver, other) {
      return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other);
    },
    _tdivSlow$1: function(receiver, other) {
      var quotient = receiver / other;
      if (quotient >= -2147483648 && quotient <= 2147483647)
        return quotient | 0;
      if (quotient > 0) {
        if (quotient !== 1 / 0)
          return Math.floor(quotient);
      } else if (quotient > -1 / 0)
        return Math.ceil(quotient);
      throw H.wrapException(P.UnsupportedError$("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + H.S(other)));
    },
    $shl: function(receiver, other) {
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      if (other < 0)
        throw H.wrapException(H.argumentErrorValue(other));
      return other > 31 ? 0 : receiver << other >>> 0;
    },
    _shlPositive$1: function(receiver, other) {
      return other > 31 ? 0 : receiver << other >>> 0;
    },
    $shr: function(receiver, other) {
      var t1;
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      if (other < 0)
        throw H.wrapException(H.argumentErrorValue(other));
      if (receiver > 0)
        t1 = this._shrBothPositive$1(receiver, other);
      else {
        t1 = other > 31 ? 31 : other;
        t1 = receiver >> t1 >>> 0;
      }
      return t1;
    },
    _shrOtherPositive$1: function(receiver, other) {
      var t1;
      if (receiver > 0)
        t1 = this._shrBothPositive$1(receiver, other);
      else {
        t1 = other > 31 ? 31 : other;
        t1 = receiver >> t1 >>> 0;
      }
      return t1;
    },
    _shrReceiverPositive$1: function(receiver, other) {
      if (0 > other)
        throw H.wrapException(H.argumentErrorValue(other));
      return this._shrBothPositive$1(receiver, other);
    },
    _shrBothPositive$1: function(receiver, other) {
      return other > 31 ? 0 : receiver >>> other;
    },
    $lt: function(receiver, other) {
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      return receiver < other;
    },
    $gt: function(receiver, other) {
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      return receiver > other;
    },
    $le: function(receiver, other) {
      if (typeof other != "number")
        throw H.wrapException(H.argumentErrorValue(other));
      return receiver <= other;
    },
    get$runtimeType: function(receiver) {
      return C.Type_num_cv7;
    },
    $isComparable: 1,
    $isdouble: 1,
    $isnum: 1
  };
  J.JSInt.prototype = {
    get$sign: function(receiver) {
      var t1;
      if (receiver > 0)
        t1 = 1;
      else
        t1 = receiver < 0 ? -1 : receiver;
      return t1;
    },
    toSigned$1: function(receiver, width) {
      var signMask = this.$shl(1, width - 1);
      return ((receiver & signMask - 1) >>> 0) - ((receiver & signMask) >>> 0);
    },
    get$runtimeType: function(receiver) {
      return C.Type_int_tHn;
    },
    $isint: 1
  };
  J.JSNumNotInt.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_double_K1J;
    }
  };
  J.JSString.prototype = {
    codeUnitAt$1: function(receiver, index) {
      if (!H._isInt(index))
        throw H.wrapException(H.diagnoseIndexError(receiver, index));
      if (index < 0)
        throw H.wrapException(H.diagnoseIndexError(receiver, index));
      if (index >= receiver.length)
        H.throwExpression(H.diagnoseIndexError(receiver, index));
      return receiver.charCodeAt(index);
    },
    _codeUnitAt$1: function(receiver, index) {
      if (index >= receiver.length)
        throw H.wrapException(H.diagnoseIndexError(receiver, index));
      return receiver.charCodeAt(index);
    },
    allMatches$2: function(receiver, string, start) {
      var t1;
      if (typeof string != "string")
        H.throwExpression(H.argumentErrorValue(string));
      t1 = string.length;
      if (start > t1)
        throw H.wrapException(P.RangeError$range(start, 0, t1, null, null));
      return new H._StringAllMatchesIterable(string, receiver, start);
    },
    allMatches$1: function($receiver, string) {
      return this.allMatches$2($receiver, string, 0);
    },
    matchAsPrefix$2: function(receiver, string, start) {
      var t1, i, _null = null;
      if (start < 0 || start > string.length)
        throw H.wrapException(P.RangeError$range(start, 0, string.length, _null, _null));
      t1 = receiver.length;
      if (start + t1 > string.length)
        return _null;
      for (i = 0; i < t1; ++i)
        if (this.codeUnitAt$1(string, start + i) !== this._codeUnitAt$1(receiver, i))
          return _null;
      return new H.StringMatch(start, receiver);
    },
    $add: function(receiver, other) {
      if (typeof other != "string")
        throw H.wrapException(P.ArgumentError$value(other, null, null));
      return receiver + other;
    },
    endsWith$1: function(receiver, other) {
      var otherLength, t1;
      if (typeof other != "string")
        H.throwExpression(H.argumentErrorValue(other));
      otherLength = other.length;
      t1 = receiver.length;
      if (otherLength > t1)
        return false;
      return other === this.substring$1(receiver, t1 - otherLength);
    },
    replaceFirst$2: function(receiver, from, to) {
      P.RangeError_checkValueInInterval(0, 0, receiver.length, "startIndex");
      return H.stringReplaceFirstUnchecked(receiver, from, to, 0);
    },
    split$1: function(receiver, pattern) {
      if (pattern == null)
        H.throwExpression(H.argumentErrorValue(pattern));
      if (typeof pattern == "string")
        return H._setArrayType(receiver.split(pattern), type$.JSArray_String);
      else if (pattern instanceof H.JSSyntaxRegExp && pattern.get$_nativeAnchoredVersion().exec("").length - 2 === 0)
        return H._setArrayType(receiver.split(pattern._nativeRegExp), type$.JSArray_String);
      else
        return this._defaultSplit$1(receiver, pattern);
    },
    replaceRange$3: function(receiver, start, end, replacement) {
      var e = P.RangeError_checkValidRange(start, end, receiver.length);
      if (!H._isInt(e))
        H.throwExpression(H.argumentErrorValue(e));
      return H.stringReplaceRangeUnchecked(receiver, start, e, replacement);
    },
    _defaultSplit$1: function(receiver, pattern) {
      var t1, start, $length, match, matchStart, matchEnd,
        result = H._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: function(receiver, pattern, index) {
      var endIndex;
      if (index < 0 || index > receiver.length)
        throw H.wrapException(P.RangeError$range(index, 0, receiver.length, null, null));
      if (typeof pattern == "string") {
        endIndex = index + pattern.length;
        if (endIndex > receiver.length)
          return false;
        return pattern === receiver.substring(index, endIndex);
      }
      return J.matchAsPrefix$2$s(pattern, receiver, index) != null;
    },
    startsWith$1: function($receiver, pattern) {
      return this.startsWith$2($receiver, pattern, 0);
    },
    substring$2: function(receiver, startIndex, endIndex) {
      var _null = null;
      if (!H._isInt(startIndex))
        H.throwExpression(H.argumentErrorValue(startIndex));
      if (endIndex == null)
        endIndex = receiver.length;
      if (startIndex < 0)
        throw H.wrapException(P.RangeError$value(startIndex, _null, _null));
      if (startIndex > endIndex)
        throw H.wrapException(P.RangeError$value(startIndex, _null, _null));
      if (endIndex > receiver.length)
        throw H.wrapException(P.RangeError$value(endIndex, _null, _null));
      return receiver.substring(startIndex, endIndex);
    },
    substring$1: function($receiver, startIndex) {
      return this.substring$2($receiver, startIndex, null);
    },
    toLowerCase$0: function(receiver) {
      return receiver.toLowerCase();
    },
    trim$0: function(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: function(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: function(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: function(receiver, times) {
      var s, result;
      if (0 >= times)
        return "";
      if (times === 1 || receiver.length === 0)
        return receiver;
      if (times !== times >>> 0)
        throw H.wrapException(C.C_OutOfMemoryError);
      for (s = receiver, result = ""; true;) {
        if ((times & 1) === 1)
          result = s + result;
        times = times >>> 1;
        if (times === 0)
          break;
        s += s;
      }
      return result;
    },
    padLeft$2: function(receiver, width, padding) {
      var delta = width - receiver.length;
      if (delta <= 0)
        return receiver;
      return this.$mul(padding, delta) + receiver;
    },
    padLeft$1: function($receiver, width) {
      return this.padLeft$2($receiver, width, " ");
    },
    padRight$1: function(receiver, width) {
      var delta = width - receiver.length;
      if (delta <= 0)
        return receiver;
      return receiver + this.$mul(" ", delta);
    },
    indexOf$2: function(receiver, pattern, start) {
      var t1;
      if (start < 0 || start > receiver.length)
        throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null));
      t1 = receiver.indexOf(pattern, start);
      return t1;
    },
    indexOf$1: function($receiver, pattern) {
      return this.indexOf$2($receiver, pattern, 0);
    },
    lastIndexOf$2: function(receiver, pattern, start) {
      var t1, t2, i;
      if (pattern == null)
        H.throwExpression(H.argumentErrorValue(pattern));
      if (start == null)
        start = receiver.length;
      else if (start < 0 || start > receiver.length)
        throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null));
      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: function($receiver, pattern) {
      return this.lastIndexOf$2($receiver, pattern, null);
    },
    contains$2: function(receiver, other, startIndex) {
      var t1;
      if (other == null)
        H.throwExpression(H.argumentErrorValue(other));
      t1 = receiver.length;
      if (startIndex > t1)
        throw H.wrapException(P.RangeError$range(startIndex, 0, t1, null, null));
      return H.stringContainsUnchecked(receiver, other, startIndex);
    },
    contains$1: function($receiver, other) {
      return this.contains$2($receiver, other, 0);
    },
    compareTo$1: function(receiver, other) {
      var t1;
      if (typeof other != "string")
        throw H.wrapException(H.argumentErrorValue(other));
      if (receiver === other)
        t1 = 0;
      else
        t1 = receiver < other ? -1 : 1;
      return t1;
    },
    toString$0: function(receiver) {
      return receiver;
    },
    get$hashCode: function(receiver) {
      var t1, hash, i;
      for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) {
        hash = hash + receiver.charCodeAt(i) & 536870911;
        hash = hash + ((hash & 524287) << 10) & 536870911;
        hash ^= hash >> 6;
      }
      hash = hash + ((hash & 67108863) << 3) & 536870911;
      hash ^= hash >> 11;
      return hash + ((hash & 16383) << 15) & 536870911;
    },
    get$runtimeType: function(receiver) {
      return C.Type_String_k8F;
    },
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (!H._isInt(index))
        throw H.wrapException(H.diagnoseIndexError(receiver, index));
      if (index >= receiver.length || index < 0)
        throw H.wrapException(H.diagnoseIndexError(receiver, index));
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isComparable: 1,
    $isPattern: 1,
    $isString: 1
  };
  H.CastStream.prototype = {
    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
      var t1 = this._source.listen$3$cancelOnError$onDone(null, cancelOnError, onDone),
        t2 = this.$ti;
      t2 = new H.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$3$onDone$onError: function(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$3$cancelOnError$onDone: function(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    listen$2$onDone: function(onData, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null);
    },
    listen$2$cancelOnError: function(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    cast$1$0: function(_, $R) {
      return new H.CastStream(this._source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastStream<1,2>"));
    }
  };
  H.CastStreamSubscription.prototype = {
    cancel$0: function(_) {
      return this._source.cancel$0(0);
    },
    onData$1: function(handleData) {
      this.__internal$_handleData = handleData == null ? null : this.__internal$_zone.registerUnaryCallback$2$1(handleData, type$.dynamic, this.$ti._rest[1]);
    },
    onError$1: function(_, 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 H.wrapException(P.ArgumentError$(string$.handle));
    },
    __internal$_onData$1: function(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 = H.unwrapException(exception);
        stack = H.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: function(_, resumeSignal) {
      this._source.pause$1(0, resumeSignal);
    },
    pause$0: function($receiver) {
      return this.pause$1($receiver, null);
    },
    resume$0: function(_) {
      this._source.resume$0(0);
    },
    asFuture$1$1: function(futureValue, $E) {
      return this._source.asFuture$1$1(futureValue, $E);
    },
    $isStreamSubscription: 1
  };
  H.CastStreamTransformer.prototype = {
    cast$2$0: function(_, RS, RT) {
      var t1 = this.$ti;
      return new H.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>"));
    }
  };
  H.CastConverter.prototype = {
    convert$1: function(input) {
      var t1 = this.$ti;
      return t1._rest[3]._as(this._source.convert$1(t1._precomputed1._as(input)));
    },
    cast$2$0: function(_, RS, RT) {
      var t1 = this.$ti;
      return new H.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>"));
    }
  };
  H._CastIterableBase.prototype = {
    get$iterator: function(_) {
      var t1 = H._instanceType(this);
      return new H.CastIterator(J.get$iterator$ax(this.get$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>"));
    },
    get$length: function(_) {
      return J.get$length$asx(this.get$_source());
    },
    get$isEmpty: function(_) {
      return J.get$isEmpty$asx(this.get$_source());
    },
    get$isNotEmpty: function(_) {
      return J.get$isNotEmpty$asx(this.get$_source());
    },
    skip$1: function(_, count) {
      var t1 = H._instanceType(this);
      return H.CastIterable_CastIterable(J.skip$1$ax(this.get$_source(), count), t1._precomputed1, t1._rest[1]);
    },
    take$1: function(_, count) {
      var t1 = H._instanceType(this);
      return H.CastIterable_CastIterable(J.take$1$ax(this.get$_source(), count), t1._precomputed1, t1._rest[1]);
    },
    elementAt$1: function(_, index) {
      return H._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$_source(), index));
    },
    get$first: function(_) {
      return H._instanceType(this)._rest[1]._as(J.get$first$ax(this.get$_source()));
    },
    get$last: function(_) {
      return H._instanceType(this)._rest[1]._as(J.get$last$ax(this.get$_source()));
    },
    contains$1: function(_, other) {
      return J.contains$1$asx(this.get$_source(), other);
    },
    toString$0: function(_) {
      return J.toString$0$(this.get$_source());
    }
  };
  H.CastIterator.prototype = {
    moveNext$0: function() {
      return this._source.moveNext$0();
    },
    get$current: function(_) {
      var t1 = this._source;
      return this.$ti._rest[1]._as(t1.get$current(t1));
    }
  };
  H.CastIterable.prototype = {
    cast$1$0: function(_, $R) {
      return H.CastIterable_CastIterable(this._source, H._instanceType(this)._precomputed1, $R);
    },
    get$_source: function() {
      return this._source;
    }
  };
  H._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1};
  H._CastListBase.prototype = {
    $index: function(_, index) {
      return this.$ti._rest[1]._as(J.$index$asx(this._source, index));
    },
    $indexSet: function(_, index, value) {
      J.$indexSet$ax(this._source, index, this.$ti._precomputed1._as(value));
    },
    set$length: function(_, $length) {
      J.set$length$asx(this._source, $length);
    },
    add$1: function(_, value) {
      J.add$1$ax(this._source, this.$ti._precomputed1._as(value));
    },
    addAll$1: function(_, values) {
      var t1 = this.$ti;
      J.addAll$1$ax(this._source, H.CastIterable_CastIterable(values, t1._rest[1], t1._precomputed1));
    },
    sort$1: function(_, compare) {
      var t1 = compare == null ? null : new H._CastListBase_sort_closure(this, compare);
      J.sort$1$ax(this._source, t1);
    },
    remove$1: function(_, value) {
      return J.remove$1$ax(this._source, value);
    },
    removeAt$1: function(_, index) {
      return this.$ti._rest[1]._as(J.removeAt$1$ax(this._source, index));
    },
    removeLast$0: function(_) {
      return this.$ti._rest[1]._as(J.removeLast$0$ax(this._source));
    },
    getRange$2: function(_, start, end) {
      var t1 = this.$ti;
      return H.CastIterable_CastIterable(J.getRange$2$ax(this._source, start, end), t1._precomputed1, t1._rest[1]);
    },
    setRange$4: function(_, start, end, iterable, skipCount) {
      var t1 = this.$ti;
      J.setRange$4$ax(this._source, start, end, H.CastIterable_CastIterable(iterable, t1._rest[1], t1._precomputed1), skipCount);
    },
    setRange$3: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    removeRange$2: function(_, start, end) {
      J.removeRange$2$ax(this._source, start, end);
    },
    fillRange$3: function(_, start, end, fillValue) {
      J.fillRange$3$ax(this._source, start, end, this.$ti._precomputed1._as(fillValue));
    },
    $isEfficientLengthIterable: 1,
    $isList: 1
  };
  H._CastListBase_sort_closure.prototype = {
    call$2: function(v1, v2) {
      var t1 = this.$this.$ti._rest[1];
      return this.compare.call$2(t1._as(v1), t1._as(v2));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: function() {
      return this.$this.$ti._eval$1("int(1,1)");
    }
  };
  H.CastList.prototype = {
    cast$1$0: function(_, $R) {
      return new H.CastList(this._source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>"));
    },
    get$_source: function() {
      return this._source;
    }
  };
  H.CastSet.prototype = {
    cast$1$0: function(_, $R) {
      return new H.CastSet(this._source, this._emptySet, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastSet<1,2>"));
    },
    add$1: function(_, value) {
      return this._source.add$1(0, this.$ti._precomputed1._as(value));
    },
    addAll$1: function(_, elements) {
      var t1 = this.$ti;
      this._source.addAll$1(0, H.CastIterable_CastIterable(elements, t1._rest[1], t1._precomputed1));
    },
    remove$1: function(_, object) {
      return this._source.remove$1(0, object);
    },
    removeWhere$1: function(_, test) {
      this._source.removeWhere$1(0, new H.CastSet_removeWhere_closure(this, test));
    },
    intersection$1: function(_, other) {
      var t1, _this = this;
      if (_this._emptySet != null)
        return _this._conditionalAdd$2(other, true);
      t1 = _this.$ti;
      return new H.CastSet(_this._source.intersection$1(0, other), null, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastSet<1,2>"));
    },
    difference$1: function(other) {
      var t1, _this = this;
      if (_this._emptySet != null)
        return _this._conditionalAdd$2(other, false);
      t1 = _this.$ti;
      return new H.CastSet(_this._source.difference$1(other), null, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastSet<1,2>"));
    },
    _conditionalAdd$2: function(other, otherContains) {
      var castElement,
        emptySet = this._emptySet,
        t1 = this.$ti,
        t2 = t1._rest[1],
        result = emptySet == null ? P.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: function() {
      var emptySet = this._emptySet,
        t1 = this.$ti._rest[1],
        result = emptySet == null ? P.LinkedHashSet_LinkedHashSet(t1) : emptySet.call$1$0(t1);
      result.addAll$1(0, this);
      return result;
    },
    toSet$0: function(_) {
      return this.__internal$_clone$0();
    },
    $isEfficientLengthIterable: 1,
    $isSet: 1,
    get$_source: function() {
      return this._source;
    }
  };
  H.CastSet_removeWhere_closure.prototype = {
    call$1: function(element) {
      return this.test.call$1(this.$this.$ti._rest[1]._as(element));
    },
    $signature: function() {
      return this.$this.$ti._eval$1("bool(1)");
    }
  };
  H.CastMap.prototype = {
    cast$2$0: function(_, RK, RV) {
      var t1 = this.$ti;
      return new H.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: function(_, key) {
      return J.containsKey$1$x(this._source, key);
    },
    $index: function(_, key) {
      return this.$ti._eval$1("4?")._as(J.$index$asx(this._source, key));
    },
    $indexSet: function(_, key, value) {
      var t1 = this.$ti;
      J.$indexSet$ax(this._source, t1._precomputed1._as(key), t1._rest[1]._as(value));
    },
    putIfAbsent$2: function(_, key, ifAbsent) {
      var t1 = this.$ti;
      return t1._rest[3]._as(J.putIfAbsent$2$x(this._source, t1._precomputed1._as(key), new H.CastMap_putIfAbsent_closure(this, ifAbsent)));
    },
    addAll$1: function(_, other) {
      var t1 = this.$ti;
      J.addAll$1$ax(this._source, new H.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: function(_, key) {
      return this.$ti._eval$1("4?")._as(J.remove$1$ax(this._source, key));
    },
    clear$0: function(_) {
      J.clear$0$ax(this._source);
    },
    forEach$1: function(_, f) {
      J.forEach$1$ax(this._source, new H.CastMap_forEach_closure(this, f));
    },
    get$keys: function(_) {
      var t1 = this.$ti;
      return H.CastIterable_CastIterable(J.get$keys$x(this._source), t1._precomputed1, t1._rest[2]);
    },
    get$values: function(_) {
      var t1 = this.$ti;
      return H.CastIterable_CastIterable(J.get$values$x(this._source), t1._rest[1], t1._rest[3]);
    },
    get$length: function(_) {
      return J.get$length$asx(this._source);
    },
    get$isEmpty: function(_) {
      return J.get$isEmpty$asx(this._source);
    },
    get$isNotEmpty: function(_) {
      return J.get$isNotEmpty$asx(this._source);
    },
    get$entries: function(_) {
      var t1 = J.get$entries$x(this._source);
      return t1.map$1$1(t1, new H.CastMap_entries_closure(this), this.$ti._eval$1("MapEntry<3,4>"));
    }
  };
  H.CastMap_putIfAbsent_closure.prototype = {
    call$0: function() {
      return this.$this.$ti._rest[1]._as(this.ifAbsent.call$0());
    },
    $signature: function() {
      return this.$this.$ti._eval$1("2()");
    }
  };
  H.CastMap_forEach_closure.prototype = {
    call$2: function(key, value) {
      var t1 = this.$this.$ti;
      this.f.call$2(t1._rest[2]._as(key), t1._rest[3]._as(value));
    },
    $signature: function() {
      return this.$this.$ti._eval$1("~(1,2)");
    }
  };
  H.CastMap_entries_closure.prototype = {
    call$1: function(e) {
      var t1 = this.$this.$ti,
        t2 = t1._rest[3];
      return new P.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: function() {
      return this.$this.$ti._eval$1("MapEntry<3,4>(MapEntry<1,2>)");
    }
  };
  H.CastQueue.prototype = {
    cast$1$0: function(_, $R) {
      return new H.CastQueue(this._source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastQueue<1,2>"));
    },
    add$1: function(_, value) {
      this._source.add$1(0, this.$ti._precomputed1._as(value));
    },
    addAll$1: function(_, elements) {
      var t1 = this.$ti;
      this._source.addAll$1(0, H.CastIterable_CastIterable(elements, t1._rest[1], t1._precomputed1));
    },
    $isEfficientLengthIterable: 1,
    get$_source: function() {
      return this._source;
    }
  };
  H.LateError.prototype = {
    toString$0: function(_) {
      var t1 = "LateInitializationError: " + this._message;
      return t1;
    }
  };
  H.ReachabilityError.prototype = {
    toString$0: function(_) {
      var t1 = "ReachabilityError: " + this._message;
      return t1;
    }
  };
  H.CodeUnits.prototype = {
    get$length: function(_) {
      return this._string.length;
    },
    $index: function(_, i) {
      return C.JSString_methods.codeUnitAt$1(this._string, i);
    }
  };
  H.nullFuture_closure.prototype = {
    call$0: function() {
      return P.Future_Future$value(null, type$.Null);
    },
    $signature: 101
  };
  H.NotNullableError.prototype = {
    toString$0: function(_) {
      return "Null is not a valid value for the parameter '" + this.__internal$_name + "' of type '" + H.createRuntimeType(this.$ti._precomputed1).toString$0(0) + "'";
    }
  };
  H.EfficientLengthIterable.prototype = {};
  H.ListIterable.prototype = {
    get$iterator: function(_) {
      var _this = this;
      return new H.ListIterator(_this, _this.get$length(_this), H._instanceType(_this)._eval$1("ListIterator<ListIterable.E>"));
    },
    forEach$1: function(_, 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 H.wrapException(P.ConcurrentModificationError$(_this));
      }
    },
    get$isEmpty: function(_) {
      return this.get$length(this) === 0;
    },
    get$first: function(_) {
      if (this.get$length(this) === 0)
        throw H.wrapException(H.IterableElementError_noElement());
      return this.elementAt$1(0, 0);
    },
    get$last: function(_) {
      var _this = this;
      if (_this.get$length(_this) === 0)
        throw H.wrapException(H.IterableElementError_noElement());
      return _this.elementAt$1(0, _this.get$length(_this) - 1);
    },
    contains$1: function(_, element) {
      var 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 H.wrapException(P.ConcurrentModificationError$(_this));
      }
      return false;
    },
    firstWhere$2$orElse: function(_, test, orElse) {
      var i, element, _this = this,
        $length = _this.get$length(_this);
      for (i = 0; i < $length; ++i) {
        element = _this.elementAt$1(0, i);
        if (test.call$1(element))
          return element;
        if ($length !== _this.get$length(_this))
          throw H.wrapException(P.ConcurrentModificationError$(_this));
      }
      return orElse.call$0();
    },
    join$1: function(_, separator) {
      var first, t1, i, _this = this,
        $length = _this.get$length(_this);
      if (separator.length !== 0) {
        if ($length === 0)
          return "";
        first = H.S(_this.elementAt$1(0, 0));
        if ($length != _this.get$length(_this))
          throw H.wrapException(P.ConcurrentModificationError$(_this));
        for (t1 = first, i = 1; i < $length; ++i) {
          t1 = t1 + separator + H.S(_this.elementAt$1(0, i));
          if ($length !== _this.get$length(_this))
            throw H.wrapException(P.ConcurrentModificationError$(_this));
        }
        return t1.charCodeAt(0) == 0 ? t1 : t1;
      } else {
        for (i = 0, t1 = ""; i < $length; ++i) {
          t1 += H.S(_this.elementAt$1(0, i));
          if ($length !== _this.get$length(_this))
            throw H.wrapException(P.ConcurrentModificationError$(_this));
        }
        return t1.charCodeAt(0) == 0 ? t1 : t1;
      }
    },
    join$0: function($receiver) {
      return this.join$1($receiver, "");
    },
    where$1: function(_, test) {
      return this.super$Iterable$where(0, test);
    },
    map$1$1: function(_, toElement, $T) {
      return new H.MappedListIterable(this, toElement, H._instanceType(this)._eval$1("@<ListIterable.E>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
    },
    map$1: function($receiver, toElement) {
      return this.map$1$1($receiver, toElement, type$.dynamic);
    },
    reduce$1: function(_, combine) {
      var value, i, _this = this,
        $length = _this.get$length(_this);
      if ($length === 0)
        throw H.wrapException(H.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 H.wrapException(P.ConcurrentModificationError$(_this));
      }
      return value;
    },
    fold$1$2: function(_, 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 H.wrapException(P.ConcurrentModificationError$(_this));
      }
      return value;
    },
    fold$2: function($receiver, initialValue, combine) {
      return this.fold$1$2($receiver, initialValue, combine, type$.dynamic);
    },
    skip$1: function(_, count) {
      return H.SubListIterable$(this, count, null, H._instanceType(this)._eval$1("ListIterable.E"));
    },
    take$1: function(_, count) {
      return H.SubListIterable$(this, 0, H.checkNotNullable(count, "count", type$.int), H._instanceType(this)._eval$1("ListIterable.E"));
    },
    toList$1$growable: function(_, growable) {
      return P.List_List$of(this, growable, H._instanceType(this)._eval$1("ListIterable.E"));
    },
    toList$0: function($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0: function(_) {
      var i, _this = this,
        result = P.LinkedHashSet_LinkedHashSet(H._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;
    }
  };
  H.SubListIterable.prototype = {
    SubListIterable$3: function(_iterable, _start, _endOrLength, $E) {
      var endOrLength,
        t1 = this._start;
      P.RangeError_checkNotNegative(t1, "start");
      endOrLength = this._endOrLength;
      if (endOrLength != null) {
        P.RangeError_checkNotNegative(endOrLength, "end");
        if (t1 > endOrLength)
          throw H.wrapException(P.RangeError$range(t1, 0, endOrLength, "start", null));
      }
    },
    get$_endIndex: function() {
      var $length = J.get$length$asx(this.__internal$_iterable),
        endOrLength = this._endOrLength;
      if (endOrLength == null || endOrLength > $length)
        return $length;
      return endOrLength;
    },
    get$_startIndex: function() {
      var $length = J.get$length$asx(this.__internal$_iterable),
        t1 = this._start;
      if (t1 > $length)
        return $length;
      return t1;
    },
    get$length: function(_) {
      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: function(_, index) {
      var _this = this,
        realIndex = _this.get$_startIndex() + index;
      if (index < 0 || realIndex >= _this.get$_endIndex())
        throw H.wrapException(P.IndexError$(index, _this, "index", null, null));
      return J.elementAt$1$ax(_this.__internal$_iterable, realIndex);
    },
    skip$1: function(_, count) {
      var newStart, endOrLength, _this = this;
      P.RangeError_checkNotNegative(count, "count");
      newStart = _this._start + count;
      endOrLength = _this._endOrLength;
      if (endOrLength != null && newStart >= endOrLength)
        return new H.EmptyIterable(_this.$ti._eval$1("EmptyIterable<1>"));
      return H.SubListIterable$(_this.__internal$_iterable, newStart, endOrLength, _this.$ti._precomputed1);
    },
    take$1: function(_, count) {
      var endOrLength, t1, newEnd, _this = this;
      P.RangeError_checkNotNegative(count, "count");
      endOrLength = _this._endOrLength;
      t1 = _this._start;
      newEnd = t1 + count;
      if (endOrLength == null)
        return H.SubListIterable$(_this.__internal$_iterable, t1, newEnd, _this.$ti._precomputed1);
      else {
        if (endOrLength < newEnd)
          return _this;
        return H.SubListIterable$(_this.__internal$_iterable, t1, newEnd, _this.$ti._precomputed1);
      }
    },
    toList$1$growable: function(_, 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 = P.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 H.wrapException(P.ConcurrentModificationError$(_this));
      }
      return result;
    },
    toList$0: function($receiver) {
      return this.toList$1$growable($receiver, true);
    }
  };
  H.ListIterator.prototype = {
    get$current: function(_) {
      return this.__internal$_current;
    },
    moveNext$0: function() {
      var t3, _this = this,
        t1 = _this.__internal$_iterable,
        t2 = J.getInterceptor$asx(t1),
        $length = t2.get$length(t1);
      if (_this.__internal$_length != $length)
        throw H.wrapException(P.ConcurrentModificationError$(t1));
      t3 = _this.__internal$_index;
      if (t3 >= $length) {
        _this.__internal$_current = null;
        return false;
      }
      _this.__internal$_current = t2.elementAt$1(t1, t3);
      ++_this.__internal$_index;
      return true;
    }
  };
  H.MappedIterable.prototype = {
    get$iterator: function(_) {
      var t1 = H._instanceType(this);
      return new H.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: function(_) {
      return J.get$length$asx(this.__internal$_iterable);
    },
    get$isEmpty: function(_) {
      return J.get$isEmpty$asx(this.__internal$_iterable);
    },
    get$first: function(_) {
      return this._f.call$1(J.get$first$ax(this.__internal$_iterable));
    },
    get$last: function(_) {
      return this._f.call$1(J.get$last$ax(this.__internal$_iterable));
    },
    elementAt$1: function(_, index) {
      return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index));
    }
  };
  H.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1};
  H.MappedIterator.prototype = {
    moveNext$0: function() {
      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: function(_) {
      return this.__internal$_current;
    }
  };
  H.MappedListIterable.prototype = {
    get$length: function(_) {
      return J.get$length$asx(this._source);
    },
    elementAt$1: function(_, index) {
      return this._f.call$1(J.elementAt$1$ax(this._source, index));
    }
  };
  H.WhereIterable.prototype = {
    get$iterator: function(_) {
      return new H.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("WhereIterator<1>"));
    },
    map$1$1: function(_, toElement, $T) {
      return new H.MappedIterable(this, toElement, this.$ti._eval$1("@<1>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
    },
    map$1: function($receiver, toElement) {
      return this.map$1$1($receiver, toElement, type$.dynamic);
    }
  };
  H.WhereIterator.prototype = {
    moveNext$0: function() {
      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: function(_) {
      var t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  H.ExpandIterable.prototype = {
    get$iterator: function(_) {
      var t1 = this.$ti;
      return new H.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, C.C_EmptyIterator, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("ExpandIterator<1,2>"));
    }
  };
  H.ExpandIterator.prototype = {
    get$current: function(_) {
      return this.__internal$_current;
    },
    moveNext$0: function() {
      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;
    }
  };
  H.TakeIterable.prototype = {
    get$iterator: function(_) {
      return new H.TakeIterator(J.get$iterator$ax(this.__internal$_iterable), this._takeCount, H._instanceType(this)._eval$1("TakeIterator<1>"));
    }
  };
  H.EfficientLengthTakeIterable.prototype = {
    get$length: function(_) {
      var iterableLength = J.get$length$asx(this.__internal$_iterable),
        t1 = this._takeCount;
      if (iterableLength > t1)
        return t1;
      return iterableLength;
    },
    $isEfficientLengthIterable: 1
  };
  H.TakeIterator.prototype = {
    moveNext$0: function() {
      if (--this._remaining >= 0)
        return this._iterator.moveNext$0();
      this._remaining = -1;
      return false;
    },
    get$current: function(_) {
      var t1;
      if (this._remaining < 0)
        return null;
      t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  H.SkipIterable.prototype = {
    skip$1: function(_, count) {
      P.RangeError_checkNotNegative(count, "count");
      return new H.SkipIterable(this.__internal$_iterable, this._skipCount + count, H._instanceType(this)._eval$1("SkipIterable<1>"));
    },
    get$iterator: function(_) {
      return new H.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount, H._instanceType(this)._eval$1("SkipIterator<1>"));
    }
  };
  H.EfficientLengthSkipIterable.prototype = {
    get$length: function(_) {
      var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount;
      if ($length >= 0)
        return $length;
      return 0;
    },
    skip$1: function(_, count) {
      P.RangeError_checkNotNegative(count, "count");
      return new H.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti);
    },
    $isEfficientLengthIterable: 1
  };
  H.SkipIterator.prototype = {
    moveNext$0: function() {
      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: function(_) {
      var t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  H.SkipWhileIterable.prototype = {
    get$iterator: function(_) {
      return new H.SkipWhileIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("SkipWhileIterator<1>"));
    }
  };
  H.SkipWhileIterator.prototype = {
    moveNext$0: function() {
      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: function(_) {
      var t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  H.EmptyIterable.prototype = {
    get$iterator: function(_) {
      return C.C_EmptyIterator;
    },
    forEach$1: function(_, action) {
    },
    get$isEmpty: function(_) {
      return true;
    },
    get$length: function(_) {
      return 0;
    },
    get$first: function(_) {
      throw H.wrapException(H.IterableElementError_noElement());
    },
    get$last: function(_) {
      throw H.wrapException(H.IterableElementError_noElement());
    },
    elementAt$1: function(_, index) {
      throw H.wrapException(P.RangeError$range(index, 0, 0, "index", null));
    },
    contains$1: function(_, element) {
      return false;
    },
    firstWhere$2$orElse: function(_, test, orElse) {
      var t1 = orElse.call$0();
      return t1;
    },
    where$1: function(_, test) {
      return this;
    },
    map$1$1: function(_, toElement, $T) {
      return new H.EmptyIterable($T._eval$1("EmptyIterable<0>"));
    },
    map$1: function($receiver, toElement) {
      return this.map$1$1($receiver, toElement, type$.dynamic);
    },
    skip$1: function(_, count) {
      P.RangeError_checkNotNegative(count, "count");
      return this;
    },
    take$1: function(_, count) {
      P.RangeError_checkNotNegative(count, "count");
      return this;
    },
    toList$1$growable: function(_, growable) {
      var t1 = this.$ti._precomputed1;
      return growable ? J.JSArray_JSArray$growable(0, t1) : J.JSArray_JSArray$fixed(0, t1);
    },
    toList$0: function($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0: function(_) {
      return P.LinkedHashSet_LinkedHashSet(this.$ti._precomputed1);
    }
  };
  H.EmptyIterator.prototype = {
    moveNext$0: function() {
      return false;
    },
    get$current: function(_) {
      throw H.wrapException(H.IterableElementError_noElement());
    }
  };
  H.FollowedByIterable.prototype = {
    get$iterator: function(_) {
      return new H.FollowedByIterator(J.get$iterator$ax(this.__internal$_first), this._second, H._instanceType(this)._eval$1("FollowedByIterator<1>"));
    },
    get$length: function(_) {
      var t1 = this._second;
      return J.get$length$asx(this.__internal$_first) + t1.get$length(t1);
    },
    get$isEmpty: function(_) {
      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: function(_) {
      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: function(_, value) {
      return J.contains$1$asx(this.__internal$_first, value) || this._second.contains$1(0, value);
    },
    get$first: function(_) {
      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: function(_) {
      var last,
        t1 = this._second,
        t2 = t1.$ti,
        iterator = new H.ExpandIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, C.C_EmptyIterator, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("ExpandIterator<1,2>"));
      if (iterator.moveNext$0()) {
        last = iterator.__internal$_current;
        for (; iterator.moveNext$0();)
          last = iterator.__internal$_current;
        return last;
      }
      return J.get$last$ax(this.__internal$_first);
    }
  };
  H.FollowedByIterator.prototype = {
    moveNext$0: function() {
      var t1, t2, _this = this;
      if (_this._currentIterator.moveNext$0())
        return true;
      t1 = _this._nextIterable;
      if (t1 != null) {
        t2 = t1.$ti;
        t2 = new H.ExpandIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, C.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: function(_) {
      var t1 = this._currentIterator;
      return t1.get$current(t1);
    }
  };
  H.WhereTypeIterable.prototype = {
    get$iterator: function(_) {
      return new H.WhereTypeIterator(J.get$iterator$ax(this._source), this.$ti._eval$1("WhereTypeIterator<1>"));
    }
  };
  H.WhereTypeIterator.prototype = {
    moveNext$0: function() {
      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: function(_) {
      var t1 = this._source;
      return this.$ti._precomputed1._as(t1.get$current(t1));
    }
  };
  H.FixedLengthListMixin.prototype = {
    set$length: function(receiver, newLength) {
      throw H.wrapException(P.UnsupportedError$("Cannot change the length of a fixed-length list"));
    },
    add$1: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot add to a fixed-length list"));
    },
    addAll$1: function(receiver, iterable) {
      throw H.wrapException(P.UnsupportedError$("Cannot add to a fixed-length list"));
    },
    remove$1: function(receiver, element) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from a fixed-length list"));
    },
    clear$0: function(receiver) {
      throw H.wrapException(P.UnsupportedError$("Cannot clear a fixed-length list"));
    },
    removeAt$1: function(receiver, index) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from a fixed-length list"));
    },
    removeLast$0: function(receiver) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from a fixed-length list"));
    },
    removeRange$2: function(receiver, start, end) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from a fixed-length list"));
    }
  };
  H.UnmodifiableListMixin.prototype = {
    $indexSet: function(_, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
    },
    set$length: function(_, newLength) {
      throw H.wrapException(P.UnsupportedError$("Cannot change the length of an unmodifiable list"));
    },
    add$1: function(_, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot add to an unmodifiable list"));
    },
    addAll$1: function(_, iterable) {
      throw H.wrapException(P.UnsupportedError$("Cannot add to an unmodifiable list"));
    },
    remove$1: function(_, element) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from an unmodifiable list"));
    },
    sort$1: function(_, compare) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
    },
    clear$0: function(_) {
      throw H.wrapException(P.UnsupportedError$("Cannot clear an unmodifiable list"));
    },
    removeAt$1: function(_, index) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from an unmodifiable list"));
    },
    removeLast$0: function(_) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from an unmodifiable list"));
    },
    setRange$4: function(_, start, end, iterable, skipCount) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
    },
    setRange$3: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    removeRange$2: function(_, start, end) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from an unmodifiable list"));
    },
    fillRange$3: function(_, start, end, fillValue) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
    }
  };
  H.UnmodifiableListBase.prototype = {};
  H._ListIndicesIterable.prototype = {
    get$length: function(_) {
      return J.get$length$asx(this._backedList);
    },
    elementAt$1: function(_, index) {
      P.RangeError_checkValidIndex(index, this, null, null);
      return index;
    }
  };
  H.ListMapView.prototype = {
    $index: function(_, key) {
      return this.containsKey$1(0, key) ? J.$index$asx(this._values, H._asIntS(key)) : null;
    },
    get$length: function(_) {
      return J.get$length$asx(this._values);
    },
    get$values: function(_) {
      return H.SubListIterable$(this._values, 0, null, this.$ti._precomputed1);
    },
    get$keys: function(_) {
      return new H._ListIndicesIterable(this._values);
    },
    get$isEmpty: function(_) {
      return J.get$isEmpty$asx(this._values);
    },
    get$isNotEmpty: function(_) {
      return J.get$isNotEmpty$asx(this._values);
    },
    containsKey$1: function(_, key) {
      return H._isInt(key) && key >= 0 && key < J.get$length$asx(this._values);
    },
    forEach$1: function(_, 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 H.wrapException(P.ConcurrentModificationError$(t1));
      }
    }
  };
  H.ReversedListIterable.prototype = {
    get$length: function(_) {
      return J.get$length$asx(this._source);
    },
    elementAt$1: function(_, index) {
      var t1 = this._source,
        t2 = J.getInterceptor$asx(t1);
      return t2.elementAt$1(t1, t2.get$length(t1) - 1 - index);
    }
  };
  H.Symbol.prototype = {
    get$hashCode: function(_) {
      var hash = this._hashCode;
      if (hash != null)
        return hash;
      hash = 664597 * J.get$hashCode$(this.__internal$_name) & 536870911;
      this._hashCode = hash;
      return hash;
    },
    toString$0: function(_) {
      return 'Symbol("' + H.S(this.__internal$_name) + '")';
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof H.Symbol && this.__internal$_name == other.__internal$_name;
    },
    $isSymbol0: 1
  };
  H.__CastListBase__CastIterableBase_ListMixin.prototype = {};
  H.ConstantMapView.prototype = {};
  H.ConstantMap.prototype = {
    cast$2$0: function(_, RK, RV) {
      var t1 = H._instanceType(this);
      return P.Map_castFrom(this, t1._precomputed1, t1._rest[1], RK, RV);
    },
    get$isEmpty: function(_) {
      return this.get$length(this) === 0;
    },
    get$isNotEmpty: function(_) {
      return this.get$length(this) !== 0;
    },
    toString$0: function(_) {
      return P.MapBase_mapToString(this);
    },
    $indexSet: function(_, key, val) {
      H.ConstantMap__throwUnmodifiable();
      H.ReachabilityError$(string$.x60null_t);
    },
    putIfAbsent$2: function(_, key, ifAbsent) {
      H.ConstantMap__throwUnmodifiable();
      H.ReachabilityError$(string$.x60null_t);
    },
    remove$1: function(_, key) {
      H.ConstantMap__throwUnmodifiable();
      H.ReachabilityError$(string$.x60null_t);
    },
    clear$0: function(_) {
      H.ConstantMap__throwUnmodifiable();
      return H.ReachabilityError$(string$.x60null_t);
    },
    addAll$1: function(_, other) {
      H.ConstantMap__throwUnmodifiable();
      return H.ReachabilityError$(string$.x60null_t);
    },
    get$entries: function(_) {
      return this.entries$body$ConstantMap(0, H._instanceType(this)._eval$1("MapEntry<1,2>"));
    },
    entries$body$ConstantMap: function($async$_, $async$type) {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var _ = $async$_;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, key, t3;
        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 = H._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);
                t3 = $async$self.$index(0, key);
                t3.toString;
                $async$goto = 4;
                return new P.MapEntry(key, t3, t2);
              case 4:
                // after yield
                // goto for condition
                $async$goto = 2;
                break;
              case 3:
                // after for
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, $async$type);
    },
    map$2$1: function(_, transform, K2, V2) {
      var result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
      this.forEach$1(0, new H.ConstantMap_map_closure(this, transform, result));
      return result;
    },
    map$1: function($receiver, transform) {
      return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
    },
    $isMap: 1
  };
  H.ConstantMap_map_closure.prototype = {
    call$2: function(key, value) {
      var entry = this.transform.call$2(key, value);
      this.result.$indexSet(0, entry.get$key(entry), entry.get$value(entry));
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(1,2)");
    }
  };
  H.ConstantStringMap.prototype = {
    get$length: function(_) {
      return this._length;
    },
    containsKey$1: function(_, key) {
      if (typeof key != "string")
        return false;
      if ("__proto__" === key)
        return false;
      return this._jsObject.hasOwnProperty(key);
    },
    $index: function(_, key) {
      if (!this.containsKey$1(0, key))
        return null;
      return this._fetch$1(key);
    },
    _fetch$1: function(key) {
      return this._jsObject[key];
    },
    forEach$1: function(_, f) {
      var t1, i, key,
        keys = this.__js_helper$_keys;
      for (t1 = keys.length, i = 0; i < t1; ++i) {
        key = keys[i];
        f.call$2(key, this._fetch$1(key));
      }
    },
    get$keys: function(_) {
      return new H._ConstantMapKeyIterable(this, H._instanceType(this)._eval$1("_ConstantMapKeyIterable<1>"));
    },
    get$values: function(_) {
      var t1 = H._instanceType(this);
      return H.MappedIterable_MappedIterable(this.__js_helper$_keys, new H.ConstantStringMap_values_closure(this), t1._precomputed1, t1._rest[1]);
    }
  };
  H.ConstantStringMap_values_closure.prototype = {
    call$1: function(key) {
      return this.$this._fetch$1(key);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("2(1)");
    }
  };
  H._ConstantMapKeyIterable.prototype = {
    get$iterator: function(_) {
      var t1 = this._map.__js_helper$_keys;
      return new J.ArrayIterator(t1, t1.length, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
    },
    get$length: function(_) {
      return this._map.__js_helper$_keys.length;
    }
  };
  H.GeneralConstantMap.prototype = {
    _getMap$0: function() {
      var t1, _this = this,
        backingMap = _this.$map;
      if (backingMap == null) {
        t1 = _this.$ti;
        backingMap = new H.JsLinkedHashMap(t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("JsLinkedHashMap<1,2>"));
        H.fillLiteralMap(_this._jsData, backingMap);
        _this.$map = backingMap;
      }
      return backingMap;
    },
    containsKey$1: function(_, key) {
      return this._getMap$0().containsKey$1(0, key);
    },
    $index: function(_, key) {
      return this._getMap$0().$index(0, key);
    },
    forEach$1: function(_, f) {
      this._getMap$0().forEach$1(0, f);
    },
    get$keys: function(_) {
      var t1 = this._getMap$0();
      return t1.get$keys(t1);
    },
    get$values: function(_) {
      var t1 = this._getMap$0();
      return t1.get$values(t1);
    },
    get$length: function(_) {
      var t1 = this._getMap$0();
      return t1.get$length(t1);
    }
  };
  H.Instantiation.prototype = {
    Instantiation$1: function(_genericClosure) {
      if (false)
        H.instantiatedGenericFunctionType(0, 0);
    },
    toString$0: function(_) {
      var types = "<" + C.JSArray_methods.join$1([H.createRuntimeType(this.$ti._precomputed1)], ", ") + ">";
      return H.S(this._genericClosure) + " with " + types;
    }
  };
  H.Instantiation1.prototype = {
    call$1: function(a0) {
      return this._genericClosure.call$1$1(a0, this.$ti._rest[0]);
    },
    call$2: function(a0, a1) {
      return this._genericClosure.call$1$2(a0, a1, this.$ti._rest[0]);
    },
    call$0: function() {
      return this._genericClosure.call$1$0(this.$ti._rest[0]);
    },
    call$4: function(a0, a1, a2, a3) {
      return this._genericClosure.call$1$4(a0, a1, a2, a3, this.$ti._rest[0]);
    },
    $signature: function() {
      return H.instantiatedGenericFunctionType(H.closureFunctionType(this._genericClosure), this.$ti);
    }
  };
  H.JSInvocationMirror.prototype = {
    get$memberName: function() {
      var t1 = this.__js_helper$_memberName;
      return t1;
    },
    get$positionalArguments: function() {
      var t1, argumentCount, list, index, _this = this;
      if (_this.__js_helper$_kind === 1)
        return C.List_empty2;
      t1 = _this._arguments;
      argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount;
      if (argumentCount === 0)
        return C.List_empty2;
      list = [];
      for (index = 0; index < argumentCount; ++index)
        list.push(t1[index]);
      return J.JSArray_markUnmodifiableList(list);
    },
    get$namedArguments: function() {
      var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, _this = this;
      if (_this.__js_helper$_kind !== 0)
        return C.Map_empty;
      t1 = _this._namedArgumentNames;
      namedArgumentCount = t1.length;
      t2 = _this._arguments;
      namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount;
      if (namedArgumentCount === 0)
        return C.Map_empty;
      map = new H.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic);
      for (i = 0; i < namedArgumentCount; ++i)
        map.$indexSet(0, new H.Symbol(t1[i]), t2[namedArgumentsStartIndex + i]);
      return new H.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic);
    }
  };
  H.Primitives_initTicker_closure.prototype = {
    call$0: function() {
      return C.JSNumber_methods.floor$0(1000 * this.performance.now());
    },
    $signature: 116
  };
  H.Primitives_functionNoSuchMethod_closure.prototype = {
    call$2: function($name, argument) {
      var t1 = this._box_0;
      t1.names = t1.names + "$" + H.S($name);
      this.namedArgumentList.push($name);
      this.$arguments.push(argument);
      ++t1.argumentCount;
    },
    $signature: 27
  };
  H.TypeErrorDecoder.prototype = {
    matchTypeError$1: function(message) {
      var result, t1, _this = this,
        match = new RegExp(_this._pattern).exec(message);
      if (match == null)
        return null;
      result = Object.create(null);
      t1 = _this._arguments;
      if (t1 !== -1)
        result.arguments = match[t1 + 1];
      t1 = _this._argumentsExpr;
      if (t1 !== -1)
        result.argumentsExpr = match[t1 + 1];
      t1 = _this._expr;
      if (t1 !== -1)
        result.expr = match[t1 + 1];
      t1 = _this._method;
      if (t1 !== -1)
        result.method = match[t1 + 1];
      t1 = _this._receiver;
      if (t1 !== -1)
        result.receiver = match[t1 + 1];
      return result;
    }
  };
  H.NullError.prototype = {
    toString$0: function(_) {
      var t1 = this._method;
      if (t1 == null)
        return "NoSuchMethodError: " + H.S(this.__js_helper$_message);
      return "NoSuchMethodError: method not found: '" + t1 + "' on null";
    }
  };
  H.JsNoSuchMethodError.prototype = {
    toString$0: function(_) {
      var t2, _this = this,
        _s38_ = "NoSuchMethodError: method not found: '",
        t1 = _this._method;
      if (t1 == null)
        return "NoSuchMethodError: " + H.S(_this.__js_helper$_message);
      t2 = _this._receiver;
      if (t2 == null)
        return _s38_ + t1 + "' (" + H.S(_this.__js_helper$_message) + ")";
      return _s38_ + t1 + "' on '" + t2 + "' (" + H.S(_this.__js_helper$_message) + ")";
    }
  };
  H.UnknownJsTypeError.prototype = {
    toString$0: function(_) {
      var t1 = this.__js_helper$_message;
      return t1.length === 0 ? "Error" : "Error: " + t1;
    }
  };
  H.NullThrownFromJavaScriptException.prototype = {
    toString$0: function(_) {
      return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)";
    },
    $isException: 1
  };
  H.ExceptionAndStackTrace.prototype = {};
  H._StackTrace.prototype = {
    toString$0: function(_) {
      var trace,
        t1 = this._trace;
      if (t1 != null)
        return t1;
      t1 = this._exception;
      trace = t1 !== null && typeof t1 === "object" ? t1.stack : null;
      return this._trace = trace == null ? "" : trace;
    },
    $isStackTrace: 1
  };
  H.Closure.prototype = {
    toString$0: function(_) {
      var $constructor = this.constructor,
        $name = $constructor == null ? null : $constructor.name;
      return "Closure '" + H.unminifyOrTag($name == null ? "unknown" : $name) + "'";
    },
    $isFunction: 1,
    get$$call: function() {
      return this;
    },
    "call*": "call$1",
    $requiredArgCount: 1,
    $defaultValues: null
  };
  H.TearOffClosure.prototype = {};
  H.StaticClosure.prototype = {
    toString$0: function(_) {
      var $name = this.$static_name;
      if ($name == null)
        return "Closure of unknown static method";
      return "Closure '" + H.unminifyOrTag($name) + "'";
    }
  };
  H.BoundClosure.prototype = {
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (!(other instanceof H.BoundClosure))
        return false;
      return _this._self === other._self && _this._target === other._target && _this._receiver === other._receiver;
    },
    get$hashCode: function(_) {
      var receiverHashCode,
        t1 = this._receiver;
      if (t1 == null)
        receiverHashCode = H.Primitives_objectHashCode(this._self);
      else
        receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1);
      return (receiverHashCode ^ H.Primitives_objectHashCode(this._target)) >>> 0;
    },
    toString$0: function(_) {
      var receiver = this._receiver;
      if (receiver == null)
        receiver = this._self;
      return "Closure '" + H.S(this._name) + "' of " + ("Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'");
    }
  };
  H.RuntimeError.prototype = {
    toString$0: function(_) {
      return "RuntimeError: " + this.message;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  H._Required.prototype = {};
  H.JsLinkedHashMap.prototype = {
    get$length: function(_) {
      return this._length;
    },
    get$isEmpty: function(_) {
      return this._length === 0;
    },
    get$isNotEmpty: function(_) {
      return !this.get$isEmpty(this);
    },
    get$keys: function(_) {
      return new H.LinkedHashMapKeyIterable(this, H._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>"));
    },
    get$values: function(_) {
      var _this = this,
        t1 = H._instanceType(_this);
      return H.MappedIterable_MappedIterable(_this.get$keys(_this), new H.JsLinkedHashMap_values_closure(_this), t1._precomputed1, t1._rest[1]);
    },
    containsKey$1: function(_, key) {
      var strings, nums, _this = this;
      if (typeof key == "string") {
        strings = _this._strings;
        if (strings == null)
          return false;
        return _this._containsTableEntry$2(strings, key);
      } else if (typeof key == "number" && (key & 0x3ffffff) === key) {
        nums = _this._nums;
        if (nums == null)
          return false;
        return _this._containsTableEntry$2(nums, key);
      } else
        return _this.internalContainsKey$1(key);
    },
    internalContainsKey$1: function(key) {
      var _this = this,
        rest = _this.__js_helper$_rest;
      if (rest == null)
        return false;
      return _this.internalFindBucketIndex$2(_this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key)), key) >= 0;
    },
    containsValue$1: function(_, value) {
      return this.get$keys(this).any$1(0, new H.JsLinkedHashMap_containsValue_closure(this, value));
    },
    addAll$1: function(_, other) {
      J.forEach$1$ax(other, new H.JsLinkedHashMap_addAll_closure(this));
    },
    $index: function(_, key) {
      var strings, cell, t1, nums, _this = this, _null = null;
      if (typeof key == "string") {
        strings = _this._strings;
        if (strings == null)
          return _null;
        cell = _this._getTableCell$2(strings, key);
        t1 = cell == null ? _null : cell.hashMapCellValue;
        return t1;
      } else if (typeof key == "number" && (key & 0x3ffffff) === key) {
        nums = _this._nums;
        if (nums == null)
          return _null;
        cell = _this._getTableCell$2(nums, key);
        t1 = cell == null ? _null : cell.hashMapCellValue;
        return t1;
      } else
        return _this.internalGet$1(key);
    },
    internalGet$1: function(key) {
      var bucket, index, _this = this,
        rest = _this.__js_helper$_rest;
      if (rest == null)
        return null;
      bucket = _this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key));
      index = _this.internalFindBucketIndex$2(bucket, key);
      if (index < 0)
        return null;
      return bucket[index].hashMapCellValue;
    },
    $indexSet: function(_, 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 & 0x3ffffff) === 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: function(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 = _this._getTableBucket$2(rest, hash);
      if (bucket == null)
        _this._setTableEntry$3(rest, hash, [_this._newLinkedCell$2(key, value)]);
      else {
        index = _this.internalFindBucketIndex$2(bucket, key);
        if (index >= 0)
          bucket[index].hashMapCellValue = value;
        else
          bucket.push(_this._newLinkedCell$2(key, value));
      }
    },
    putIfAbsent$2: function(_, key, ifAbsent) {
      var value;
      if (this.containsKey$1(0, key))
        return this.$index(0, key);
      value = ifAbsent.call$0();
      this.$indexSet(0, key, value);
      return value;
    },
    remove$1: function(_, key) {
      var _this = this;
      if (typeof key == "string")
        return _this._removeHashTableEntry$2(_this._strings, key);
      else if (typeof key == "number" && (key & 0x3ffffff) === key)
        return _this._removeHashTableEntry$2(_this._nums, key);
      else
        return _this.internalRemove$1(key);
    },
    internalRemove$1: function(key) {
      var hash, bucket, index, cell, _this = this,
        rest = _this.__js_helper$_rest;
      if (rest == null)
        return null;
      hash = _this.internalComputeHashCode$1(key);
      bucket = _this._getTableBucket$2(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)
        _this._deleteTableEntry$2(rest, hash);
      return cell.hashMapCellValue;
    },
    clear$0: function(_) {
      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: function(_, 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 H.wrapException(P.ConcurrentModificationError$(_this));
        cell = cell._next;
      }
    },
    _addHashTableEntry$3: function(table, key, value) {
      var cell = this._getTableCell$2(table, key);
      if (cell == null)
        this._setTableEntry$3(table, key, this._newLinkedCell$2(key, value));
      else
        cell.hashMapCellValue = value;
    },
    _removeHashTableEntry$2: function(table, key) {
      var cell;
      if (table == null)
        return null;
      cell = this._getTableCell$2(table, key);
      if (cell == null)
        return null;
      this._unlinkCell$1(cell);
      this._deleteTableEntry$2(table, key);
      return cell.hashMapCellValue;
    },
    _modified$0: function() {
      this._modifications = this._modifications + 1 & 67108863;
    },
    _newLinkedCell$2: function(key, value) {
      var t1, _this = this,
        cell = new H.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: function(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: function(key) {
      return J.get$hashCode$(key) & 0x3ffffff;
    },
    internalFindBucketIndex$2: function(bucket, key) {
      var $length, i;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (i = 0; i < $length; ++i)
        if (J.$eq$(bucket[i].hashMapCellKey, key))
          return i;
      return -1;
    },
    toString$0: function(_) {
      return P.MapBase_mapToString(this);
    },
    _getTableCell$2: function(table, key) {
      return table[key];
    },
    _getTableBucket$2: function(table, key) {
      return table[key];
    },
    _setTableEntry$3: function(table, key, value) {
      table[key] = value;
    },
    _deleteTableEntry$2: function(table, key) {
      delete table[key];
    },
    _containsTableEntry$2: function(table, key) {
      return this._getTableCell$2(table, key) != null;
    },
    _newHashTable$0: function() {
      var _s20_ = "<non-identifier-key>",
        table = Object.create(null);
      this._setTableEntry$3(table, _s20_, table);
      this._deleteTableEntry$2(table, _s20_);
      return table;
    },
    $isLinkedHashMap: 1
  };
  H.JsLinkedHashMap_values_closure.prototype = {
    call$1: function(each) {
      return this.$this.$index(0, each);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("2(1)");
    }
  };
  H.JsLinkedHashMap_containsValue_closure.prototype = {
    call$1: function(each) {
      return J.$eq$(this.$this.$index(0, each), this.value);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("bool(1)");
    }
  };
  H.JsLinkedHashMap_addAll_closure.prototype = {
    call$2: function(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(1,2)");
    }
  };
  H.LinkedHashMapCell.prototype = {};
  H.LinkedHashMapKeyIterable.prototype = {
    get$length: function(_) {
      return this._map._length;
    },
    get$isEmpty: function(_) {
      return this._map._length === 0;
    },
    get$iterator: function(_) {
      var t1 = this._map,
        t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications, this.$ti._eval$1("LinkedHashMapKeyIterator<1>"));
      t2._cell = t1._first;
      return t2;
    },
    contains$1: function(_, element) {
      return this._map.containsKey$1(0, element);
    },
    forEach$1: function(_, f) {
      var t1 = this._map,
        cell = t1._first,
        modifications = t1._modifications;
      for (; cell != null;) {
        f.call$1(cell.hashMapCellKey);
        if (modifications !== t1._modifications)
          throw H.wrapException(P.ConcurrentModificationError$(t1));
        cell = cell._next;
      }
    }
  };
  H.LinkedHashMapKeyIterator.prototype = {
    get$current: function(_) {
      return this.__js_helper$_current;
    },
    moveNext$0: function() {
      var cell, _this = this,
        t1 = _this._map;
      if (_this._modifications !== t1._modifications)
        throw H.wrapException(P.ConcurrentModificationError$(t1));
      cell = _this._cell;
      if (cell == null) {
        _this.__js_helper$_current = null;
        return false;
      } else {
        _this.__js_helper$_current = cell.hashMapCellKey;
        _this._cell = cell._next;
        return true;
      }
    }
  };
  H.initHooks_closure.prototype = {
    call$1: function(o) {
      return this.getTag(o);
    },
    $signature: 43
  };
  H.initHooks_closure0.prototype = {
    call$2: function(o, tag) {
      return this.getUnknownTag(o, tag);
    },
    $signature: 397
  };
  H.initHooks_closure1.prototype = {
    call$1: function(tag) {
      return this.prototypeForTag(tag);
    },
    $signature: 388
  };
  H.JSSyntaxRegExp.prototype = {
    toString$0: function(_) {
      return "RegExp/" + H.S(this.pattern) + "/" + this._nativeRegExp.flags;
    },
    get$_nativeGlobalVersion: function() {
      var _this = this,
        t1 = _this._nativeGlobalRegExp;
      if (t1 != null)
        return t1;
      t1 = _this._nativeRegExp;
      return _this._nativeGlobalRegExp = H.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true);
    },
    get$_nativeAnchoredVersion: function() {
      var _this = this,
        t1 = _this._nativeAnchoredRegExp;
      if (t1 != null)
        return t1;
      t1 = _this._nativeRegExp;
      return _this._nativeAnchoredRegExp = H.JSSyntaxRegExp_makeNative(H.S(_this.pattern) + "|()", t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true);
    },
    firstMatch$1: function(string) {
      var m;
      if (typeof string != "string")
        H.throwExpression(H.argumentErrorValue(string));
      m = this._nativeRegExp.exec(string);
      if (m == null)
        return null;
      return new H._MatchImplementation(m);
    },
    stringMatch$1: function(string) {
      var match = this.firstMatch$1(string);
      if (match != null)
        return match._match[0];
      return null;
    },
    allMatches$2: function(_, string, start) {
      var t1;
      if (typeof string != "string")
        H.throwExpression(H.argumentErrorValue(string));
      t1 = string.length;
      if (start > t1)
        throw H.wrapException(P.RangeError$range(start, 0, t1, null, null));
      return new H._AllMatchesIterable(this, string, start);
    },
    allMatches$1: function($receiver, string) {
      return this.allMatches$2($receiver, string, 0);
    },
    _execGlobal$2: function(string, start) {
      var match,
        regexp = this.get$_nativeGlobalVersion();
      regexp.lastIndex = start;
      match = regexp.exec(string);
      if (match == null)
        return null;
      return new H._MatchImplementation(match);
    },
    _execAnchored$2: function(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 H._MatchImplementation(match);
    },
    matchAsPrefix$2: function(_, string, start) {
      if (start < 0 || start > string.length)
        throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
      return this._execAnchored$2(string, start);
    },
    $isPattern: 1,
    $isRegExp: 1
  };
  H._MatchImplementation.prototype = {
    get$start: function(_) {
      return this._match.index;
    },
    get$end: function(_) {
      var t1 = this._match;
      return t1.index + t1[0].length;
    },
    group$1: function(index) {
      return this._match[index];
    },
    $index: function(_, index) {
      return this._match[index];
    },
    get$groupCount: function() {
      return this._match.length - 1;
    },
    $isMatch: 1,
    $isRegExpMatch: 1
  };
  H._AllMatchesIterable.prototype = {
    get$iterator: function(_) {
      return new H._AllMatchesIterator(this._re, this.__js_helper$_string, this.__js_helper$_start);
    }
  };
  H._AllMatchesIterator.prototype = {
    get$current: function(_) {
      return this.__js_helper$_current;
    },
    moveNext$0: function() {
      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 = C.JSString_methods.codeUnitAt$1(string, t1);
                if (t1 >= 55296 && t1 <= 56319) {
                  t1 = C.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;
    }
  };
  H.StringMatch.prototype = {
    get$end: function(_) {
      return this.start + this.pattern.length;
    },
    $index: function(_, g) {
      if (g !== 0)
        H.throwExpression(P.RangeError$value(g, null, null));
      return this.pattern;
    },
    get$groupCount: function() {
      return 0;
    },
    group$1: function(group_) {
      if (group_ !== 0)
        throw H.wrapException(P.RangeError$value(group_, null, null));
      return this.pattern;
    },
    $isMatch: 1,
    get$start: function(receiver) {
      return this.start;
    }
  };
  H._StringAllMatchesIterable.prototype = {
    get$iterator: function(_) {
      return new H._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index);
    },
    get$first: function(_) {
      var t1 = this._pattern,
        index = this._input.indexOf(t1, this.__js_helper$_index);
      if (index >= 0)
        return new H.StringMatch(index, t1);
      throw H.wrapException(H.IterableElementError_noElement());
    }
  };
  H._StringAllMatchesIterator.prototype = {
    moveNext$0: function() {
      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 H.StringMatch(index, t2);
      _this.__js_helper$_index = end === _this.__js_helper$_index ? end + 1 : end;
      return true;
    },
    get$current: function(_) {
      var t1 = this.__js_helper$_current;
      t1.toString;
      return t1;
    }
  };
  H._Cell.prototype = {
    readField$1$0: function() {
      var t1 = this.__late_helper$_value;
      if (t1 === this)
        H.throwExpression(H.LateError$fieldNI(this.__late_helper$_name));
      return t1;
    },
    readField$0: function() {
      return this.readField$1$0(type$.dynamic);
    },
    _readLocal$0: function() {
      var t1 = this.__late_helper$_value;
      if (t1 === this)
        throw H.wrapException(new H.LateError("Local '" + this.__late_helper$_name + "' has not been initialized."));
      return t1;
    },
    _readField$0: function() {
      var t1 = this.__late_helper$_value;
      if (t1 === this)
        throw H.wrapException(H.LateError$fieldNI(this.__late_helper$_name));
      return t1;
    },
    set$finalLocalValue: function(v) {
      var _this = this;
      if (_this.__late_helper$_value !== _this)
        throw H.wrapException(new H.LateError("Local '" + _this.__late_helper$_name + "' has already been initialized."));
      _this.__late_helper$_value = v;
    }
  };
  H.NativeByteBuffer.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_ByteBuffer_RkP;
    },
    asUint8List$2: function(receiver, offsetInBytes, $length) {
      H._checkViewArguments(receiver, offsetInBytes, $length);
      return $length == null ? new Uint8Array(receiver, offsetInBytes) : new Uint8Array(receiver, offsetInBytes, $length);
    },
    asUint8List$0: function($receiver) {
      return this.asUint8List$2($receiver, 0, null);
    },
    asUint32List$2: function(receiver, offsetInBytes, $length) {
      var t1;
      H._checkViewArguments(receiver, offsetInBytes, $length);
      t1 = receiver.byteLength;
      $length = C.JSInt_methods._tdivFast$1(t1 - offsetInBytes, 4);
      return new Uint32Array(receiver, offsetInBytes, $length);
    },
    asInt32List$2: function(receiver, offsetInBytes, $length) {
      H._checkViewArguments(receiver, offsetInBytes, $length);
      if ($length == null)
        $length = C.JSInt_methods._tdivFast$1(receiver.byteLength - offsetInBytes, 4);
      return new Int32Array(receiver, offsetInBytes, $length);
    },
    asInt64List$2: function(receiver, offsetInBytes, $length) {
      throw H.wrapException(P.UnsupportedError$("Int64List not supported by dart2js."));
    },
    asFloat64List$2: function(receiver, offsetInBytes, $length) {
      H._checkViewArguments(receiver, offsetInBytes, $length);
      if ($length == null)
        $length = C.JSInt_methods._tdivFast$1(receiver.byteLength - offsetInBytes, 8);
      return new Float64Array(receiver, offsetInBytes, $length);
    },
    asByteData$2: function(receiver, offsetInBytes, $length) {
      H._checkViewArguments(receiver, offsetInBytes, $length);
      return $length == null ? new DataView(receiver, offsetInBytes) : new DataView(receiver, offsetInBytes, $length);
    },
    asByteData$0: function($receiver) {
      return this.asByteData$2($receiver, 0, null);
    },
    $isNativeByteBuffer: 1,
    $isByteBuffer: 1
  };
  H.NativeFloat32x4List.prototype = {
    get$runtimeType: function(_) {
      return C.Type_Float32x4List_0ez;
    },
    get$buffer: function(_) {
      return this.__native_typed_data$_storage.buffer;
    },
    get$lengthInBytes: function(_) {
      return this.__native_typed_data$_storage.byteLength;
    },
    get$offsetInBytes: function(_) {
      return this.__native_typed_data$_storage.byteOffset;
    },
    get$length: function(_) {
      return this.__native_typed_data$_storage.length / 4 | 0;
    },
    $index: function(_, index) {
      var t2,
        t1 = this.__native_typed_data$_storage;
      H._checkValidIndex(index, this, t1.length / 4 | 0);
      t2 = index * 4;
      return new H.NativeFloat32x4(t1[t2], t1[t2 + 1], t1[t2 + 2], t1[t2 + 3]);
    },
    $indexSet: function(_, index, value) {
      var t2,
        t1 = this.__native_typed_data$_storage;
      H._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: function(_, start, end) {
      var t1 = this.__native_typed_data$_storage;
      return new H.NativeFloat32x4List(C.NativeFloat32List_methods.sublist$2(t1, start * 4, H._checkValidRange(start, end, t1.length / 4 | 0) * 4));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1,
    $isTypedData: 1
  };
  H.NativeInt32x4List.prototype = {
    get$runtimeType: function(_) {
      return C.Type_Int32x4List_pCi;
    },
    get$buffer: function(_) {
      return this.__native_typed_data$_storage.buffer;
    },
    get$lengthInBytes: function(_) {
      return this.__native_typed_data$_storage.byteLength;
    },
    get$offsetInBytes: function(_) {
      return this.__native_typed_data$_storage.byteOffset;
    },
    get$length: function(_) {
      return this.__native_typed_data$_storage.length / 4 | 0;
    },
    $index: function(_, index) {
      var t2,
        t1 = this.__native_typed_data$_storage;
      H._checkValidIndex(index, this, t1.length / 4 | 0);
      t2 = index * 4;
      return new H.NativeInt32x4(t1[t2], t1[t2 + 1], t1[t2 + 2], t1[t2 + 3]);
    },
    $indexSet: function(_, index, value) {
      var t2,
        t1 = this.__native_typed_data$_storage;
      H._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: function(_, start, end) {
      var t1 = this.__native_typed_data$_storage;
      return new H.NativeInt32x4List(C.NativeInt32List_methods.sublist$2(t1, start * 4, H._checkValidRange(start, end, t1.length / 4 | 0) * 4));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1,
    $isTypedData: 1
  };
  H.NativeFloat64x2List.prototype = {
    get$runtimeType: function(_) {
      return C.Type_Float64x2List_0ez;
    },
    get$buffer: function(_) {
      return this.__native_typed_data$_storage.buffer;
    },
    get$lengthInBytes: function(_) {
      return this.__native_typed_data$_storage.byteLength;
    },
    get$offsetInBytes: function(_) {
      return this.__native_typed_data$_storage.byteOffset;
    },
    get$length: function(_) {
      return this.__native_typed_data$_storage.length / 2 | 0;
    },
    $index: function(_, index) {
      var t2, _x, _y,
        t1 = this.__native_typed_data$_storage;
      H._checkValidIndex(index, this, t1.length / 2 | 0);
      t2 = index * 2;
      _x = t1[t2];
      _y = t1[t2 + 1];
      return new H.NativeFloat64x2(_x, _y);
    },
    $indexSet: function(_, index, value) {
      var t2,
        t1 = this.__native_typed_data$_storage;
      H._checkValidIndex(index, this, t1.length / 2 | 0);
      t2 = index * 2;
      t1[t2] = value.x;
      t1[t2 + 1] = value.y;
    },
    sublist$2: function(_, start, end) {
      var t1 = this.__native_typed_data$_storage;
      return new H.NativeFloat64x2List(C.NativeFloat64List_methods.sublist$2(t1, start * 2, H._checkValidRange(start, end, t1.length / 2 | 0) * 2));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1,
    $isTypedData: 1
  };
  H.NativeTypedData.prototype = {
    get$buffer: function(receiver) {
      return receiver.buffer;
    },
    get$lengthInBytes: function(receiver) {
      return receiver.byteLength;
    },
    get$offsetInBytes: function(receiver) {
      return receiver.byteOffset;
    },
    _invalidPosition$3: function(receiver, position, $length, $name) {
      if (!H._isInt(position))
        throw H.wrapException(P.ArgumentError$value(position, $name, "Invalid list position"));
      else
        throw H.wrapException(P.RangeError$range(position, 0, $length, $name, null));
    },
    _checkPosition$3: function(receiver, position, $length, $name) {
      if (position >>> 0 !== position || position > $length)
        this._invalidPosition$3(receiver, position, $length, $name);
    },
    $isNativeTypedData: 1,
    $isTypedData: 1
  };
  H.NativeByteData.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_ByteData_zNC;
    },
    getFloat64$2: function(receiver, byteOffset, endian) {
      return receiver.getFloat64(byteOffset, C.C_Endian === endian);
    },
    getInt32$2: function(receiver, byteOffset, endian) {
      return receiver.getInt32(byteOffset, C.C_Endian === endian);
    },
    getInt64$2: function(receiver, byteOffset, endian) {
      throw H.wrapException(P.UnsupportedError$("Int64 accessor not supported by dart2js."));
    },
    getInt8$1: function(receiver, byteOffset) {
      return receiver.getInt8(byteOffset);
    },
    getUint16$2: function(receiver, byteOffset, endian) {
      return receiver.getUint16(byteOffset, C.C_Endian === endian);
    },
    getUint32$2: function(receiver, byteOffset, endian) {
      return receiver.getUint32(byteOffset, C.C_Endian === endian);
    },
    getUint8$1: function(receiver, byteOffset) {
      return receiver.getUint8(byteOffset);
    },
    setInt64$3: function(receiver, byteOffset, value, endian) {
      throw H.wrapException(P.UnsupportedError$("Int64 accessor not supported by dart2js."));
    },
    $isByteData: 1
  };
  H.NativeTypedArray.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    _setRangeFast$4: function(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 H.wrapException(P.RangeError$range(start, 0, end, null, null));
      count = end - start;
      if (skipCount < 0)
        throw H.wrapException(P.ArgumentError$(skipCount));
      sourceLength = source.length;
      if (sourceLength - skipCount < count)
        throw H.wrapException(P.StateError$("Not enough elements"));
      if (skipCount !== 0 || sourceLength !== count)
        source = source.subarray(skipCount, skipCount + count);
      receiver.set(source, start);
    },
    $isJSIndexable: 1,
    $isJavaScriptIndexingBehavior: 1
  };
  H.NativeTypedArrayOfDouble.prototype = {
    $index: function(receiver, index) {
      H._checkValidIndex(index, receiver, receiver.length);
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      H._checkValidIndex(index, receiver, receiver.length);
      receiver[index] = value;
    },
    setRange$4: function(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: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  H.NativeTypedArrayOfInt.prototype = {
    $indexSet: function(receiver, index, value) {
      H._checkValidIndex(index, receiver, receiver.length);
      receiver[index] = value;
    },
    setRange$4: function(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: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  H.NativeFloat32List.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_Float32List_LB7;
    },
    sublist$2: function(receiver, start, end) {
      return new Float32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    }
  };
  H.NativeFloat64List.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_Float64List_LB7;
    },
    sublist$2: function(receiver, start, end) {
      return new Float64Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isFloat64List: 1
  };
  H.NativeInt16List.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_Int16List_uXf;
    },
    $index: function(receiver, index) {
      H._checkValidIndex(index, receiver, receiver.length);
      return receiver[index];
    },
    sublist$2: function(receiver, start, end) {
      return new Int16Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isInt16List: 1
  };
  H.NativeInt32List.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_Int32List_O50;
    },
    $index: function(receiver, index) {
      H._checkValidIndex(index, receiver, receiver.length);
      return receiver[index];
    },
    sublist$2: function(receiver, start, end) {
      return new Int32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isInt32List: 1
  };
  H.NativeInt8List.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_Int8List_ekJ;
    },
    $index: function(receiver, index) {
      H._checkValidIndex(index, receiver, receiver.length);
      return receiver[index];
    },
    sublist$2: function(receiver, start, end) {
      return new Int8Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    }
  };
  H.NativeUint16List.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_Uint16List_2bx;
    },
    $index: function(receiver, index) {
      H._checkValidIndex(index, receiver, receiver.length);
      return receiver[index];
    },
    sublist$2: function(receiver, start, end) {
      return new Uint16Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    }
  };
  H.NativeUint32List.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_Uint32List_2bx;
    },
    $index: function(receiver, index) {
      H._checkValidIndex(index, receiver, receiver.length);
      return receiver[index];
    },
    sublist$2: function(receiver, start, end) {
      return new Uint32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isUint32List: 1
  };
  H.NativeUint8ClampedList.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_Uint8ClampedList_Jik;
    },
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      H._checkValidIndex(index, receiver, receiver.length);
      return receiver[index];
    },
    sublist$2: function(receiver, start, end) {
      return new Uint8ClampedArray(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    }
  };
  H.NativeUint8List.prototype = {
    get$runtimeType: function(receiver) {
      return C.Type_Uint8List_WLA;
    },
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      H._checkValidIndex(index, receiver, receiver.length);
      return receiver[index];
    },
    sublist$2: function(receiver, start, end) {
      return new Uint8Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isNativeUint8List: 1,
    $isUint8List: 1
  };
  H.NativeFloat32x4.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "[" + H.S(_this.x) + ", " + H.S(_this.y) + ", " + H.S(_this.z) + ", " + H.S(_this.w) + "]";
    },
    $add: function(_, other) {
      var _this = this;
      return H.NativeFloat32x4$_doubles(_this.x + other.x, _this.y + other.y, _this.z + other.z, _this.w + other.w);
    },
    $sub: function(_, other) {
      var _this = this;
      return H.NativeFloat32x4$_doubles(_this.x - other.x, _this.y - other.y, _this.z - other.z, _this.w - other.w);
    },
    $mul: function(_, other) {
      var _this = this;
      return H.NativeFloat32x4$_doubles(C.JSNumber_methods.$mul(_this.x, other.get$x(other)), C.JSNumber_methods.$mul(_this.y, other.get$y(other)), C.JSNumber_methods.$mul(_this.z, other.get$z(other)), C.JSNumber_methods.$mul(_this.w, other.get$w(other)));
    },
    $div: function(_, other) {
      var _this = this;
      return H.NativeFloat32x4$_doubles(C.JSNumber_methods.$div(_this.x, other.get$x(other)), C.JSNumber_methods.$div(_this.y, other.get$y(other)), C.JSNumber_methods.$div(_this.z, other.get$z(other)), C.JSNumber_methods.$div(_this.w, other.get$w(other)));
    },
    $isFloat32x4: 1
  };
  H.NativeInt32x4.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "[" + _this.x + ", " + _this.y + ", " + _this.z + ", " + _this.w + "]";
    },
    $add: function(_, other) {
      var _this = this;
      return new H.NativeInt32x4(_this.x + other.x | 0, _this.y + other.y | 0, _this.z + other.z | 0, _this.w + other.w | 0);
    },
    $sub: function(_, other) {
      var _this = this;
      return new H.NativeInt32x4(_this.x - other.x | 0, _this.y - other.y | 0, _this.z - other.z | 0, _this.w - other.w | 0);
    },
    $isInt32x4: 1
  };
  H.NativeFloat64x2.prototype = {
    toString$0: function(_) {
      return "[" + H.S(this.x) + ", " + H.S(this.y) + "]";
    },
    $add: function(_, other) {
      return new H.NativeFloat64x2(this.x + other.x, this.y + other.y);
    },
    $sub: function(_, other) {
      return new H.NativeFloat64x2(this.x - other.x, this.y - other.y);
    },
    $mul: function(_, other) {
      return new H.NativeFloat64x2(C.JSNumber_methods.$mul(this.x, other.get$x(other)), C.JSNumber_methods.$mul(this.y, other.get$y(other)));
    },
    $div: function(_, other) {
      return new H.NativeFloat64x2(C.JSNumber_methods.$div(this.x, other.get$x(other)), C.JSNumber_methods.$div(this.y, other.get$y(other)));
    },
    $isFloat64x2: 1
  };
  H._NativeFloat32x4List_Object_ListMixin.prototype = {};
  H._NativeFloat32x4List_Object_ListMixin_FixedLengthListMixin.prototype = {};
  H._NativeFloat64x2List_Object_ListMixin.prototype = {};
  H._NativeFloat64x2List_Object_ListMixin_FixedLengthListMixin.prototype = {};
  H._NativeInt32x4List_Object_ListMixin.prototype = {};
  H._NativeInt32x4List_Object_ListMixin_FixedLengthListMixin.prototype = {};
  H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {};
  H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
  H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {};
  H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
  H.Rti.prototype = {
    _eval$1: function(recipe) {
      return H._Universe_evalInEnvironment(init.typeUniverse, this, recipe);
    },
    _bind$1: function(typeOrTuple) {
      return H._Universe_bind(init.typeUniverse, this, typeOrTuple);
    }
  };
  H._FunctionParameters.prototype = {};
  H._Type.prototype = {
    toString$0: function(_) {
      return H._rtiToString(this._rti, null);
    },
    $isType: 1
  };
  H._Error.prototype = {
    toString$0: function(_) {
      return this.__rti$_message;
    }
  };
  H._TypeError.prototype = {
    get$message: function(_) {
      return this.__rti$_message;
    }
  };
  P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = {
    call$1: function(_) {
      var t1 = this._box_0,
        f = t1.storedCallback;
      t1.storedCallback = null;
      f.call$0();
    },
    $signature: 5
  };
  P._AsyncRun__initializeScheduleImmediate_closure.prototype = {
    call$1: function(callback) {
      var t1, t2;
      this._box_0.storedCallback = callback;
      t1 = this.div;
      t2 = this.span;
      t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
    },
    $signature: 355
  };
  P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
    call$0: function() {
      this.callback.call$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
    call$0: function() {
      this.callback.call$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  P._TimerImpl.prototype = {
    _TimerImpl$2: function(milliseconds, callback) {
      if (self.setTimeout != null)
        this._handle = self.setTimeout(H.convertDartClosureToJS(new P._TimerImpl_internalCallback(this, callback), 0), milliseconds);
      else
        throw H.wrapException(P.UnsupportedError$("`setTimeout()` not found."));
    },
    _TimerImpl$periodic$2: function(milliseconds, callback) {
      if (self.setTimeout != null)
        this._handle = self.setInterval(H.convertDartClosureToJS(new P._TimerImpl$periodic_closure(this, milliseconds, Date.now(), callback), 0), milliseconds);
      else
        throw H.wrapException(P.UnsupportedError$("Periodic timer."));
    },
    get$isActive: function() {
      return this._handle != null;
    },
    cancel$0: function(_) {
      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 H.wrapException(P.UnsupportedError$("Canceling a timer."));
    },
    $isTimer: 1
  };
  P._TimerImpl_internalCallback.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._handle = null;
      t1._tick = 1;
      this.callback.call$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._TimerImpl$periodic_closure.prototype = {
    call$0: function() {
      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 = C.JSInt_methods.$tdiv(duration, t2);
      }
      t1._tick = tick;
      _this.callback.call$1(t1);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  P._AsyncAwaitCompleter.prototype = {
    complete$1: function(_, value) {
      var t1, _this = this;
      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: function($receiver) {
      return this.complete$1($receiver, null);
    },
    completeError$2: function(e, st) {
      var t1;
      if (st == null)
        st = P.AsyncError_defaultStackTrace(e);
      t1 = this._future;
      if (this.isSync)
        t1._completeError$2(e, st);
      else
        t1._asyncCompleteError$2(e, st);
    },
    get$future: function() {
      return this._future;
    },
    get$isCompleted: function() {
      return this._future._state !== 0;
    },
    $isCompleter: 1
  };
  P._awaitOnObject_closure.prototype = {
    call$1: function(result) {
      return this.bodyFunction.call$2(0, result);
    },
    $signature: 13
  };
  P._awaitOnObject_closure0.prototype = {
    call$2: function(error, stackTrace) {
      this.bodyFunction.call$2(1, new H.ExceptionAndStackTrace(error, stackTrace));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 352
  };
  P._wrapJsFunctionForAsync_closure.prototype = {
    call$2: function(errorCode, result) {
      this.$protected(errorCode, result);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 364
  };
  P._asyncStarHelper_closure.prototype = {
    call$0: function() {
      var t1 = this.controller;
      if (t1.get$controller(t1).get$isPaused()) {
        t1.isSuspended = true;
        return;
      }
      this.bodyFunction.call$2(0, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._asyncStarHelper_closure0.prototype = {
    call$1: function(_) {
      var errorCode = this.controller.cancelationFuture != null ? 2 : 0;
      this.bodyFunction.call$2(errorCode, null);
    },
    $signature: 5
  };
  P._AsyncStarStreamController.prototype = {
    get$controller: function(_) {
      var t1 = this.___AsyncStarStreamController_controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("controller")) : t1;
    },
    add$1: function(_, $event) {
      return this.get$controller(this).add$1(0, $event);
    },
    _AsyncStarStreamController$1: function(body, $T) {
      var t1 = new P._AsyncStarStreamController__resumeBody(body);
      this.___AsyncStarStreamController_controller = P.StreamController_StreamController(new P._AsyncStarStreamController_closure(this, body), new P._AsyncStarStreamController_closure0(t1), new P._AsyncStarStreamController_closure1(this, t1), false, $T);
    }
  };
  P._AsyncStarStreamController__resumeBody.prototype = {
    call$0: function() {
      P.scheduleMicrotask(new P._AsyncStarStreamController__resumeBody_closure(this.body));
    },
    $signature: 1
  };
  P._AsyncStarStreamController__resumeBody_closure.prototype = {
    call$0: function() {
      this.body.call$2(0, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._AsyncStarStreamController_closure0.prototype = {
    call$0: function() {
      this._resumeBody.call$0();
    },
    $signature: 0
  };
  P._AsyncStarStreamController_closure1.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (t1.isSuspended) {
        t1.isSuspended = false;
        this._resumeBody.call$0();
      }
    },
    $signature: 0
  };
  P._AsyncStarStreamController_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.get$controller(t1);
      if (!t2.get$isClosed(t2)) {
        t1.cancelationFuture = new P._Future($.Zone__current, type$._Future_dynamic);
        if (t1.isSuspended) {
          t1.isSuspended = false;
          P.scheduleMicrotask(new P._AsyncStarStreamController__closure(this.body));
        }
        return t1.cancelationFuture;
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 373
  };
  P._AsyncStarStreamController__closure.prototype = {
    call$0: function() {
      this.body.call$2(2, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._IterationMarker.prototype = {
    toString$0: function(_) {
      return "IterationMarker(" + this.state + ", " + H.S(this.value) + ")";
    }
  };
  P._SyncStarIterator.prototype = {
    get$current: function(_) {
      var nested = this._nestedIterator;
      if (nested == null)
        return this._async$_current;
      return nested.get$current(nested);
    },
    moveNext$0: function() {
      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 P._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 P._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;
    }
  };
  P._SyncStarIterable.prototype = {
    get$iterator: function(_) {
      return new P._SyncStarIterator(this._outerHelper(), this.$ti._eval$1("_SyncStarIterator<1>"));
    }
  };
  P.AsyncError.prototype = {
    toString$0: function(_) {
      return H.S(this.error);
    },
    $isError0: 1,
    get$stackTrace: function() {
      return this.stackTrace;
    }
  };
  P._BroadcastStream.prototype = {
    get$isBroadcast: function() {
      return true;
    }
  };
  P._BroadcastSubscription.prototype = {
    _onPause$0: function() {
    },
    _onResume$0: function() {
    }
  };
  P._BroadcastStreamController.prototype = {
    get$stream: function(_) {
      return new P._BroadcastStream(this, H._instanceType(this)._eval$1("_BroadcastStream<1>"));
    },
    get$sink: function() {
      return new P._StreamSinkWrapper(this, H._instanceType(this)._eval$1("_StreamSinkWrapper<1>"));
    },
    get$isClosed: function(_) {
      return (this._state & 4) !== 0;
    },
    get$isPaused: function() {
      return false;
    },
    get$_mayAddEvent: function() {
      return this._state < 4;
    },
    _ensureDoneFuture$0: function() {
      var t1 = this._doneFuture;
      return t1 == null ? this._doneFuture = new P._Future($.Zone__current, type$._Future_void) : t1;
    },
    _async$_removeListener$1: function(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: function(onData, onError, onDone, cancelOnError) {
      var t1, t2, t3, subscription, oldLast, _this = this;
      if ((_this._state & 4) !== 0)
        return P._DoneStreamSubscription$(onDone, H._instanceType(_this)._precomputed1);
      t1 = H._instanceType(_this);
      t2 = $.Zone__current;
      t3 = cancelOnError ? 1 : 0;
      subscription = new P._BroadcastSubscription(_this, P._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._precomputed1), P._BufferingStreamSubscription__registerErrorHandler(t2, onError), P._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)
        P._runGuarded(_this.onListen);
      return subscription;
    },
    _recordCancel$1: function(sub) {
      var t1, _this = this;
      H._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: function(subscription) {
    },
    _recordResume$1: function(subscription) {
    },
    _addEventError$0: function() {
      if ((this._state & 4) !== 0)
        return new P.StateError("Cannot add new events after calling close");
      return new P.StateError("Cannot add new events while doing an addStream");
    },
    add$1: function(_, data) {
      if (!this.get$_mayAddEvent())
        throw H.wrapException(this._addEventError$0());
      this._sendData$1(data);
    },
    addError$2: function(error, stackTrace) {
      var replacement;
      H.checkNotNullable(error, "error", type$.Object);
      if (!this.get$_mayAddEvent())
        throw H.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 = P.AsyncError_defaultStackTrace(error);
      this._sendError$2(error, stackTrace);
    },
    addError$1: function(error) {
      return this.addError$2(error, null);
    },
    close$0: function(_) {
      var t1, doneFuture, _this = this;
      if ((_this._state & 4) !== 0) {
        t1 = _this._doneFuture;
        t1.toString;
        return t1;
      }
      if (!_this.get$_mayAddEvent())
        throw H.wrapException(_this._addEventError$0());
      _this._state |= 4;
      doneFuture = _this._ensureDoneFuture$0();
      _this._sendDone$0();
      return doneFuture;
    },
    get$done: function() {
      return this._ensureDoneFuture$0();
    },
    addStream$2$cancelOnError: function(_, stream, cancelOnError) {
      var addStreamState, _this = this;
      if (!_this.get$_mayAddEvent())
        throw H.wrapException(_this._addEventError$0());
      _this._state |= 8;
      addStreamState = P._AddStreamState$(_this, stream, cancelOnError === true, H._instanceType(_this)._precomputed1);
      _this._addStreamState = addStreamState;
      return addStreamState.addStreamFuture;
    },
    addStream$1: function($receiver, stream) {
      return this.addStream$2$cancelOnError($receiver, stream, null);
    },
    _async$_add$1: function(_, data) {
      this._sendData$1(data);
    },
    _addError$2: function(error, stackTrace) {
      this._sendError$2(error, stackTrace);
    },
    _close$0: function() {
      var t1 = this._addStreamState;
      t1.toString;
      this._addStreamState = null;
      this._state &= 4294967287;
      t1.addStreamFuture._asyncComplete$1(null);
    },
    _forEachListener$1: function(action) {
      var subscription, id, next, _this = this,
        t1 = _this._state;
      if ((t1 & 2) !== 0)
        throw H.wrapException(P.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: function() {
      if ((this._state & 4) !== 0) {
        var doneFuture = this._doneFuture;
        if (doneFuture._state === 0)
          doneFuture._asyncComplete$1(null);
      }
      P._runGuarded(this.onCancel);
    },
    $isStreamController: 1
  };
  P._SyncBroadcastStreamController.prototype = {
    get$_mayAddEvent: function() {
      return P._BroadcastStreamController.prototype.get$_mayAddEvent.call(this) && (this._state & 2) === 0;
    },
    _addEventError$0: function() {
      if ((this._state & 2) !== 0)
        return new P.StateError(string$.Cannotf);
      return this.super$_BroadcastStreamController$_addEventError();
    },
    _sendData$1: function(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 P._SyncBroadcastStreamController__sendData_closure(_this, data));
    },
    _sendError$2: function(error, stackTrace) {
      if (this._firstSubscription == null)
        return;
      this._forEachListener$1(new P._SyncBroadcastStreamController__sendError_closure(this, error, stackTrace));
    },
    _sendDone$0: function() {
      var _this = this;
      if (_this._firstSubscription != null)
        _this._forEachListener$1(new P._SyncBroadcastStreamController__sendDone_closure(_this));
      else
        _this._doneFuture._asyncComplete$1(null);
    }
  };
  P._SyncBroadcastStreamController__sendData_closure.prototype = {
    call$1: function(subscription) {
      subscription._async$_add$1(0, this.data);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(_BufferingStreamSubscription<1>)");
    }
  };
  P._SyncBroadcastStreamController__sendError_closure.prototype = {
    call$1: function(subscription) {
      subscription._addError$2(this.error, this.stackTrace);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(_BufferingStreamSubscription<1>)");
    }
  };
  P._SyncBroadcastStreamController__sendDone_closure.prototype = {
    call$1: function(subscription) {
      subscription._close$0();
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(_BufferingStreamSubscription<1>)");
    }
  };
  P._AsyncBroadcastStreamController.prototype = {
    _sendData$1: function(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 P._DelayedData(data, t1));
    },
    _sendError$2: function(error, stackTrace) {
      var subscription;
      for (subscription = this._firstSubscription; subscription != null; subscription = subscription._async$_next)
        subscription._addPending$1(new P._DelayedError(error, stackTrace));
    },
    _sendDone$0: function() {
      var subscription = this._firstSubscription;
      if (subscription != null)
        for (; subscription != null; subscription = subscription._async$_next)
          subscription._addPending$1(C.C__DelayedDone);
      else
        this._doneFuture._asyncComplete$1(null);
    }
  };
  P._AsBroadcastStreamController.prototype = {
    _addPendingEvent$1: function($event) {
      var t1 = this._pending;
      (t1 == null ? this._pending = new P._StreamImplEvents(this.$ti._eval$1("_StreamImplEvents<1>")) : t1).add$1(0, $event);
    },
    add$1: function(_, data) {
      var _this = this,
        t1 = _this._state;
      if ((t1 & 4) === 0 && (t1 & 2) !== 0) {
        _this._addPendingEvent$1(new P._DelayedData(data, _this.$ti._eval$1("_DelayedData<1>")));
        return;
      }
      _this.super$_BroadcastStreamController$add(0, data);
      _this._flushPending$0();
    },
    addError$2: function(error, stackTrace) {
      var t1, _this = this;
      H.checkNotNullable(error, "error", type$.Object);
      if (stackTrace == null)
        stackTrace = P.AsyncError_defaultStackTrace(error);
      t1 = _this._state;
      if ((t1 & 4) === 0 && (t1 & 2) !== 0) {
        _this._addPendingEvent$1(new P._DelayedError(error, stackTrace));
        return;
      }
      if (!(P._BroadcastStreamController.prototype.get$_mayAddEvent.call(_this) && (_this._state & 2) === 0))
        throw H.wrapException(_this._addEventError$0());
      _this._sendError$2(error, stackTrace);
      _this._flushPending$0();
    },
    addError$1: function(error) {
      return this.addError$2(error, null);
    },
    _flushPending$0: function() {
      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: function(_) {
      var _this = this,
        t1 = _this._state;
      if ((t1 & 4) === 0 && (t1 & 2) !== 0) {
        _this._addPendingEvent$1(C.C__DelayedDone);
        _this._state |= 4;
        return P._BroadcastStreamController.prototype.get$done.call(_this);
      }
      return _this.super$_BroadcastStreamController$close(0);
    },
    _callOnCancel$0: function() {
      var pending = this._pending;
      if (pending != null) {
        if (pending._state === 1)
          pending._state = 3;
        this._pending = pending.firstPendingEvent = pending.lastPendingEvent = null;
      }
      this.super$_BroadcastStreamController$_callOnCancel();
    }
  };
  P.Future_Future_closure.prototype = {
    call$0: function() {
      var e, s, exception;
      try {
        this.result._complete$1(this.computation.call$0());
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        P._completeWithErrorCallback(this.result, e, s);
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P.Future_Future$microtask_closure.prototype = {
    call$0: function() {
      var e, s, exception;
      try {
        this.result._complete$1(this.computation.call$0());
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        P._completeWithErrorCallback(this.result, e, s);
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P.Future_Future$delayed_closure.prototype = {
    call$0: function() {
      var e, s, exception, _this = this,
        t1 = _this.computation;
      if (t1 == null)
        _this.result._complete$1(null);
      else
        try {
          _this.result._complete$1(t1.call$0());
        } catch (exception) {
          e = H.unwrapException(exception);
          s = H.getTraceFromException(exception);
          P._completeWithErrorCallback(_this.result, e, s);
        }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P.Future_wait_handleError.prototype = {
    call$2: function(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());
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 50
  };
  P.Future_wait_closure.prototype = {
    call$1: function(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(P.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: function() {
      return this.T._eval$1("Null(0)");
    }
  };
  P.Future_any_onValue.prototype = {
    call$1: function(value) {
      var t1 = this.completer;
      if (t1.future._state === 0)
        t1.complete$1(0, value);
    },
    $signature: function() {
      return this.T._eval$1("~(0)");
    }
  };
  P.Future_any_onError.prototype = {
    call$2: function(error, stack) {
      var t1 = this.completer;
      if (t1.future._state === 0)
        t1.completeError$2(error, stack);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 50
  };
  P.Future_forEach_closure.prototype = {
    call$0: function() {
      var result,
        t1 = this.iterator;
      if (!t1.moveNext$0())
        return false;
      result = this.action.call$1(t1.__interceptors$_current);
      if (type$.Future_dynamic._is(result))
        return result.then$1$1(0, P.async_Future__kTrue$closure(), type$.bool);
      return true;
    },
    $signature: 399
  };
  P.Future_doWhile_closure.prototype = {
    call$1: function(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 = H.unwrapException(exception);
          stackTrace = H.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 ? P.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)
            H.throwExpression(H.LateError$localNI(t2.__late_helper$_name));
          J.then$1$2$onError$x(t1, t3, _this.doneSignal.get$_completeError(), type$.void);
          return;
        }
        keepGoing = H._asBoolS(result);
      }
      _this.doneSignal._complete$1(null);
    },
    $signature: 11
  };
  P.TimeoutException.prototype = {
    toString$0: function(_) {
      var t1 = this.duration,
        result = (t1 != null ? "TimeoutException after " + t1.toString$0(0) : "TimeoutException") + ": " + this.message;
      return result;
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    },
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  P._Completer.prototype = {
    completeError$2: function(error, stackTrace) {
      var replacement;
      H.checkNotNullable(error, "error", type$.Object);
      if (this.future._state !== 0)
        throw H.wrapException(P.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 = P.AsyncError_defaultStackTrace(error);
      this._completeError$2(error, stackTrace);
    },
    completeError$1: function(error) {
      return this.completeError$2(error, null);
    },
    get$isCompleted: function() {
      return this.future._state !== 0;
    },
    $isCompleter: 1,
    get$future: function() {
      return this.future;
    }
  };
  P._AsyncCompleter.prototype = {
    complete$1: function(_, value) {
      var t1 = this.future;
      if (t1._state !== 0)
        throw H.wrapException(P.StateError$("Future already completed"));
      t1._asyncComplete$1(value);
    },
    complete$0: function($receiver) {
      return this.complete$1($receiver, null);
    },
    _completeError$2: function(error, stackTrace) {
      this.future._asyncCompleteError$2(error, stackTrace);
    }
  };
  P._SyncCompleter.prototype = {
    complete$1: function(_, value) {
      var t1 = this.future;
      if (t1._state !== 0)
        throw H.wrapException(P.StateError$("Future already completed"));
      t1._complete$1(value);
    },
    complete$0: function($receiver) {
      return this.complete$1($receiver, null);
    },
    _completeError$2: function(error, stackTrace) {
      this.future._completeError$2(error, stackTrace);
    }
  };
  P._FutureListener.prototype = {
    matchesErrorTest$1: function(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: function(asyncError) {
      var errorCallback = this.errorCallback,
        t1 = type$.dynamic,
        t2 = type$.Object,
        t3 = this.result._zone;
      if (type$.dynamic_Function_Object_StackTrace._is(errorCallback))
        return t3.runBinary$3$3(errorCallback, asyncError.error, asyncError.stackTrace, t1, t2, type$.StackTrace);
      else
        return t3.runUnary$2$2(errorCallback, asyncError.error, t1, t2);
    }
  };
  P._Future.prototype = {
    then$1$2$onError: function(_, f, onError, $R) {
      var result, t1,
        currentZone = $.Zone__current;
      if (currentZone !== C.C__RootZone) {
        f = currentZone.registerUnaryCallback$2$1(f, $R._eval$1("0/"), this.$ti._precomputed1);
        if (onError != null)
          onError = P._registerErrorHandler(onError, currentZone);
      }
      result = new P._Future($.Zone__current, $R._eval$1("_Future<0>"));
      t1 = onError == null ? 1 : 3;
      this._addListener$1(new P._FutureListener(result, t1, f, onError, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>")));
      return result;
    },
    then$1$1: function($receiver, f, $R) {
      return this.then$1$2$onError($receiver, f, null, $R);
    },
    then$1: function($receiver, f) {
      return this.then$1$2$onError($receiver, f, null, type$.dynamic);
    },
    _thenAwait$1$2: function(f, onError, $E) {
      var result = new P._Future($.Zone__current, $E._eval$1("_Future<0>"));
      this._addListener$1(new P._FutureListener(result, 19, f, onError, this.$ti._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>")));
      return result;
    },
    catchError$2$test: function(onError, test) {
      var t1 = this.$ti,
        t2 = $.Zone__current,
        result = new P._Future(t2, t1);
      if (t2 !== C.C__RootZone) {
        onError = P._registerErrorHandler(onError, t2);
        if (test != null)
          test = t2.registerUnaryCallback$2$1(test, type$.bool, type$.Object);
      }
      t2 = test == null ? 2 : 6;
      this._addListener$1(new P._FutureListener(result, t2, test, onError, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
      return result;
    },
    catchError$1: function(onError) {
      return this.catchError$2$test(onError, null);
    },
    whenComplete$1: function(action) {
      var t1 = this.$ti,
        t2 = $.Zone__current,
        result = new P._Future(t2, t1);
      if (t2 !== C.C__RootZone)
        action = t2.registerCallback$1$1(action, type$.dynamic);
      this._addListener$1(new P._FutureListener(result, 8, action, null, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
      return result;
    },
    _addListener$1: function(listener) {
      var t2, _this = this,
        t1 = _this._state;
      if (t1 <= 1) {
        listener._nextListener = _this._resultOrListeners;
        _this._resultOrListeners = listener;
      } else {
        if (t1 === 2) {
          t1 = _this._resultOrListeners;
          t2 = t1._state;
          if (t2 < 4) {
            t1._addListener$1(listener);
            return;
          }
          _this._state = t2;
          _this._resultOrListeners = t1._resultOrListeners;
        }
        _this._zone.scheduleMicrotask$1(new P._Future__addListener_closure(_this, listener));
      }
    },
    _prependListeners$1: function(listeners) {
      var t1, existingListeners, next, cursor, next0, t2, _this = this, _box_0 = {};
      _box_0.listeners = listeners;
      if (listeners == null)
        return;
      t1 = _this._state;
      if (t1 <= 1) {
        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 === 2) {
          t1 = _this._resultOrListeners;
          t2 = t1._state;
          if (t2 < 4) {
            t1._prependListeners$1(listeners);
            return;
          }
          _this._state = t2;
          _this._resultOrListeners = t1._resultOrListeners;
        }
        _box_0.listeners = _this._reverseListeners$1(listeners);
        _this._zone.scheduleMicrotask$1(new P._Future__prependListeners_closure(_box_0, _this));
      }
    },
    _removeListeners$0: function() {
      var current = this._resultOrListeners;
      this._resultOrListeners = null;
      return this._reverseListeners$1(current);
    },
    _reverseListeners$1: function(listeners) {
      var current, prev, next;
      for (current = listeners, prev = null; current != null; prev = current, current = next) {
        next = current._nextListener;
        current._nextListener = prev;
      }
      return prev;
    },
    _chainForeignFuture$1: function(source) {
      var e, s, exception, _this = this;
      _this._state = 1;
      try {
        source.then$1$2$onError(0, new P._Future__chainForeignFuture_closure(_this), new P._Future__chainForeignFuture_closure0(_this), type$.Null);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(_this, e, s));
      }
    },
    _complete$1: function(value) {
      var listeners, _this = this,
        t1 = _this.$ti;
      if (t1._eval$1("Future<1>")._is(value))
        if (t1._is(value))
          P._Future__chainCoreFuture(value, _this);
        else
          _this._chainForeignFuture$1(value);
      else {
        listeners = _this._removeListeners$0();
        _this._state = 4;
        _this._resultOrListeners = value;
        P._Future__propagateToListeners(_this, listeners);
      }
    },
    _completeWithValue$1: function(value) {
      var _this = this,
        listeners = _this._removeListeners$0();
      _this._state = 4;
      _this._resultOrListeners = value;
      P._Future__propagateToListeners(_this, listeners);
    },
    _completeError$2: function(error, stackTrace) {
      var _this = this,
        listeners = _this._removeListeners$0(),
        t1 = P.AsyncError$(error, stackTrace);
      _this._state = 8;
      _this._resultOrListeners = t1;
      P._Future__propagateToListeners(_this, listeners);
    },
    _asyncComplete$1: function(value) {
      if (this.$ti._eval$1("Future<1>")._is(value)) {
        this._chainFuture$1(value);
        return;
      }
      this._asyncCompleteWithValue$1(value);
    },
    _asyncCompleteWithValue$1: function(value) {
      this._state = 1;
      this._zone.scheduleMicrotask$1(new P._Future__asyncCompleteWithValue_closure(this, value));
    },
    _chainFuture$1: function(value) {
      var _this = this;
      if (_this.$ti._is(value)) {
        if (value._state === 8) {
          _this._state = 1;
          _this._zone.scheduleMicrotask$1(new P._Future__chainFuture_closure(_this, value));
        } else
          P._Future__chainCoreFuture(value, _this);
        return;
      }
      _this._chainForeignFuture$1(value);
    },
    _asyncCompleteError$2: function(error, stackTrace) {
      this._state = 1;
      this._zone.scheduleMicrotask$1(new P._Future__asyncCompleteError_closure(this, error, stackTrace));
    },
    timeout$2$onTimeout: function(_, timeLimit, onTimeout) {
      var t2, t3, _future, _this = this, t1 = {};
      if (_this._state >= 4) {
        t1 = new P._Future($.Zone__current, _this.$ti);
        t1._asyncComplete$1(_this);
        return t1;
      }
      t2 = _this.$ti;
      t3 = $.Zone__current;
      _future = new P._Future(t3, t2);
      t1.timer = null;
      if (onTimeout == null)
        t1.timer = P.Timer_Timer(timeLimit, new P._Future_timeout_closure(_future, timeLimit));
      else
        t1.timer = P.Timer_Timer(timeLimit, new P._Future_timeout_closure0(_this, _future, t3, t3.registerCallback$1$1(onTimeout, t2._eval$1("1/"))));
      _this.then$1$2$onError(0, new P._Future_timeout_closure1(t1, _this, _future), new P._Future_timeout_closure2(t1, _future), type$.Null);
      return _future;
    },
    timeout$1: function($receiver, timeLimit) {
      return this.timeout$2$onTimeout($receiver, timeLimit, null);
    },
    $isFuture: 1
  };
  P._Future__addListener_closure.prototype = {
    call$0: function() {
      P._Future__propagateToListeners(this.$this, this.listener);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._Future__prependListeners_closure.prototype = {
    call$0: function() {
      P._Future__propagateToListeners(this.$this, this._box_0.listeners);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._Future__chainForeignFuture_closure.prototype = {
    call$1: function(value) {
      var error, stackTrace, exception,
        t1 = this.$this;
      t1._state = 0;
      try {
        t1._completeWithValue$1(t1.$ti._precomputed1._as(value));
      } catch (exception) {
        error = H.unwrapException(exception);
        stackTrace = H.getTraceFromException(exception);
        t1._completeError$2(error, stackTrace);
      }
    },
    $signature: 5
  };
  P._Future__chainForeignFuture_closure0.prototype = {
    call$2: function(error, stackTrace) {
      this.$this._completeError$2(error, stackTrace);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  P._Future__chainForeignFuture_closure1.prototype = {
    call$0: function() {
      this.$this._completeError$2(this.e, this.s);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._Future__asyncCompleteWithValue_closure.prototype = {
    call$0: function() {
      this.$this._completeWithValue$1(this.value);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._Future__chainFuture_closure.prototype = {
    call$0: function() {
      P._Future__chainCoreFuture(this.value, this.$this);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._Future__asyncCompleteError_closure.prototype = {
    call$0: function() {
      this.$this._completeError$2(this.error, this.stackTrace);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = {
    call$0: function() {
      var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;
      try {
        t1 = _this._box_0.listener;
        completeResult = t1.result._zone.run$1$1(t1.callback, type$.dynamic);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        if (_this.hasError) {
          t1 = _this._box_1.source._resultOrListeners.error;
          t2 = e;
          t2 = t1 == null ? t2 == null : t1 === t2;
          t1 = t2;
        } else
          t1 = false;
        t2 = _this._box_0;
        if (t1)
          t2.listenerValueOrError = _this._box_1.source._resultOrListeners;
        else
          t2.listenerValueOrError = P.AsyncError$(e, s);
        t2.listenerHasError = true;
        return;
      }
      if (completeResult instanceof P._Future && completeResult._state >= 4) {
        if (completeResult._state === 8) {
          t1 = _this._box_0;
          t1.listenerValueOrError = completeResult._resultOrListeners;
          t1.listenerHasError = true;
        }
        return;
      }
      if (type$.Future_dynamic._is(completeResult)) {
        originalSource = _this._box_1.source;
        t1 = _this._box_0;
        t1.listenerValueOrError = J.then$1$1$x(completeResult, new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic);
        t1.listenerHasError = false;
      }
    },
    $signature: 0
  };
  P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = {
    call$1: function(_) {
      return this.originalSource;
    },
    $signature: 406
  };
  P._Future__propagateToListeners_handleValueCallback.prototype = {
    call$0: function() {
      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 = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        t1 = this._box_0;
        t1.listenerValueOrError = P.AsyncError$(e, s);
        t1.listenerHasError = true;
      }
    },
    $signature: 0
  };
  P._Future__propagateToListeners_handleError.prototype = {
    call$0: function() {
      var asyncError, e, s, t1, exception, t2, t3, t4, _this = this;
      try {
        asyncError = _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 = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        t1 = _this._box_1.source._resultOrListeners;
        t2 = t1.error;
        t3 = e;
        t4 = _this._box_0;
        if (t2 == null ? t3 == null : t2 === t3)
          t4.listenerValueOrError = t1;
        else
          t4.listenerValueOrError = P.AsyncError$(e, s);
        t4.listenerHasError = true;
      }
    },
    $signature: 0
  };
  P._Future_timeout_closure.prototype = {
    call$0: function() {
      this._future._completeError$2(new P.TimeoutException("Future not completed", this.timeLimit), C._StringStackTrace_3uE);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._Future_timeout_closure0.prototype = {
    call$0: function() {
      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 = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        _this._future._completeError$2(e, s);
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._Future_timeout_closure1.prototype = {
    call$1: function(v) {
      var t1 = this._box_0;
      if (t1.timer.get$isActive()) {
        t1.timer.cancel$0(0);
        this._future._completeWithValue$1(v);
      }
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Null(1)");
    }
  };
  P._Future_timeout_closure2.prototype = {
    call$2: function(e, s) {
      var t1 = this._box_0;
      if (t1.timer.get$isActive()) {
        t1.timer.cancel$0(0);
        this._future._completeError$2(e, s);
      }
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  P._AsyncCallbackEntry.prototype = {};
  P.Stream.prototype = {
    get$isBroadcast: function() {
      return false;
    },
    map$1$1: function(_, convert, $S) {
      return new P._MapStream(convert, this, H._instanceType(this)._eval$1("@<Stream.T>")._bind$1($S)._eval$1("_MapStream<1,2>"));
    },
    map$1: function($receiver, convert) {
      return this.map$1$1($receiver, convert, type$.dynamic);
    },
    pipe$1: function(streamConsumer) {
      return streamConsumer.addStream$1(0, this).then$1$1(0, new P.Stream_pipe_closure(streamConsumer), type$.dynamic);
    },
    contains$1: function(_, needle) {
      var future = new P._Future($.Zone__current, type$._Future_bool),
        subscription = this.listen$4$cancelOnError$onDone$onError(null, true, new P.Stream_contains_closure(future), future.get$_completeError());
      subscription.onData$1(new P.Stream_contains_closure0(this, needle, subscription, future));
      return future;
    },
    get$length: function(_) {
      var t1 = {},
        future = new P._Future($.Zone__current, type$._Future_int);
      t1.count = 0;
      this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1, this), true, new P.Stream_length_closure0(t1, future), future.get$_completeError());
      return future;
    },
    cast$1$0: function(_, $R) {
      return new H.CastStream(this, H._instanceType(this)._eval$1("@<Stream.T>")._bind$1($R)._eval$1("CastStream<1,2>"));
    },
    toList$0: function(_) {
      var t1 = H._instanceType(this),
        result = H._setArrayType([], t1._eval$1("JSArray<Stream.T>")),
        future = new P._Future($.Zone__current, t1._eval$1("_Future<List<Stream.T>>"));
      this.listen$4$cancelOnError$onDone$onError(new P.Stream_toList_closure(this, result), true, new P.Stream_toList_closure0(future, result), future.get$_completeError());
      return future;
    },
    drain$1$0: function($E) {
      return this.listen$2$cancelOnError(null, true).asFuture$1$1(null, $E);
    },
    get$first: function(_) {
      var future = new P._Future($.Zone__current, H._instanceType(this)._eval$1("_Future<Stream.T>")),
        subscription = this.listen$4$cancelOnError$onDone$onError(null, true, new P.Stream_first_closure(future), future.get$_completeError());
      subscription.onData$1(new P.Stream_first_closure0(this, subscription, future));
      return future;
    }
  };
  P.Stream_Stream$fromIterable_closure.prototype = {
    call$0: function() {
      return new P._IterablePendingEvents(J.get$iterator$ax(this.elements), this.T._eval$1("_IterablePendingEvents<0>"));
    },
    $signature: function() {
      return this.T._eval$1("_IterablePendingEvents<0>()");
    }
  };
  P.Stream_pipe_closure.prototype = {
    call$1: function(_) {
      return this.streamConsumer.close$0(0);
    },
    $signature: 345
  };
  P.Stream_contains_closure.prototype = {
    call$0: function() {
      this.future._complete$1(false);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P.Stream_contains_closure0.prototype = {
    call$1: function(element) {
      var t1 = this.subscription,
        t2 = this.future;
      P._runUserCode(new P.Stream_contains__closure(element, this.needle), new P.Stream_contains__closure0(t1, t2), P._cancelAndErrorClosure(t1, t2));
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(Stream.T)");
    }
  };
  P.Stream_contains__closure.prototype = {
    call$0: function() {
      return J.$eq$(this.element, this.needle);
    },
    $signature: 150
  };
  P.Stream_contains__closure0.prototype = {
    call$1: function(isMatch) {
      if (isMatch)
        P._cancelAndValue(this.subscription, this.future, true);
    },
    $signature: 114
  };
  P.Stream_length_closure.prototype = {
    call$1: function(_) {
      ++this._box_0.count;
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(Stream.T)");
    }
  };
  P.Stream_length_closure0.prototype = {
    call$0: function() {
      this.future._complete$1(this._box_0.count);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P.Stream_toList_closure.prototype = {
    call$1: function(data) {
      this.result.push(data);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(Stream.T)");
    }
  };
  P.Stream_toList_closure0.prototype = {
    call$0: function() {
      this.future._complete$1(this.result);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P.Stream_first_closure.prototype = {
    call$0: function() {
      var e, s, t1, exception;
      try {
        t1 = H.IterableElementError_noElement();
        throw H.wrapException(t1);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        P._completeWithErrorCallback(this.future, e, s);
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P.Stream_first_closure0.prototype = {
    call$1: function(value) {
      P._cancelAndValue(this.subscription, this.future, value);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(Stream.T)");
    }
  };
  P.StreamSubscription.prototype = {};
  P.StreamView.prototype = {
    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
      return this._stream.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError);
    },
    listen$3$onDone$onError: function(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$3$cancelOnError$onDone: function(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    listen$2$onDone: function(onData, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null);
    },
    listen$2$cancelOnError: function(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    }
  };
  P.StreamTransformerBase.prototype = {
    cast$2$0: function(_, RS, RT) {
      var t1 = H._instanceType(this);
      return new H.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>"));
    }
  };
  P._StreamController.prototype = {
    get$stream: function(_) {
      return new P._ControllerStream(this, H._instanceType(this)._eval$1("_ControllerStream<1>"));
    },
    get$sink: function() {
      return new P._StreamSinkWrapper(this, H._instanceType(this)._eval$1("_StreamSinkWrapper<1>"));
    },
    get$isClosed: function(_) {
      return (this._state & 4) !== 0;
    },
    get$isPaused: function() {
      var t1 = this._state;
      return (t1 & 1) !== 0 ? (this.get$_subscription()._state & 4) !== 0 : (t1 & 2) === 0;
    },
    get$_pendingEvents: function() {
      if ((this._state & 8) === 0)
        return this._varData;
      return this._varData.varData;
    },
    _ensurePendingEvents$0: function() {
      var events, state, _this = this;
      if ((_this._state & 8) === 0) {
        events = _this._varData;
        return events == null ? _this._varData = new P._StreamImplEvents(H._instanceType(_this)._eval$1("_StreamImplEvents<1>")) : events;
      }
      state = _this._varData;
      events = state.varData;
      return events == null ? state.varData = new P._StreamImplEvents(H._instanceType(_this)._eval$1("_StreamImplEvents<1>")) : events;
    },
    get$_subscription: function() {
      var varData = this._varData;
      return (this._state & 8) !== 0 ? varData.varData : varData;
    },
    _badEventState$0: function() {
      if ((this._state & 4) !== 0)
        return new P.StateError("Cannot add event after closing");
      return new P.StateError("Cannot add event while adding a stream");
    },
    addStream$2$cancelOnError: function(_, source, cancelOnError) {
      var t2, t3, t4, _this = this,
        t1 = _this._state;
      if (t1 >= 4)
        throw H.wrapException(_this._badEventState$0());
      if ((t1 & 2) !== 0) {
        t1 = new P._Future($.Zone__current, type$._Future_dynamic);
        t1._asyncComplete$1(null);
        return t1;
      }
      t1 = _this._varData;
      t2 = cancelOnError === true;
      t3 = new P._Future($.Zone__current, type$._Future_dynamic);
      t4 = t2 ? P._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 P._StreamControllerAddStreamState(t1, t3, t4, H._instanceType(_this)._eval$1("_StreamControllerAddStreamState<1>"));
      _this._state |= 8;
      return t3;
    },
    addStream$1: function($receiver, source) {
      return this.addStream$2$cancelOnError($receiver, source, null);
    },
    get$done: function() {
      return this._ensureDoneFuture$0();
    },
    _ensureDoneFuture$0: function() {
      var t1 = this._doneFuture;
      if (t1 == null)
        t1 = this._doneFuture = (this._state & 2) !== 0 ? $.$get$Future__nullFuture() : new P._Future($.Zone__current, type$._Future_void);
      return t1;
    },
    add$1: function(_, value) {
      if (this._state >= 4)
        throw H.wrapException(this._badEventState$0());
      this._async$_add$1(0, value);
    },
    addError$2: function(error, stackTrace) {
      var replacement;
      H.checkNotNullable(error, "error", type$.Object);
      if (this._state >= 4)
        throw H.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 = P.AsyncError_defaultStackTrace(error);
      this._addError$2(error, stackTrace);
    },
    addError$1: function(error) {
      return this.addError$2(error, null);
    },
    close$0: function(_) {
      var _this = this,
        t1 = _this._state;
      if ((t1 & 4) !== 0)
        return _this._ensureDoneFuture$0();
      if (t1 >= 4)
        throw H.wrapException(_this._badEventState$0());
      t1 = _this._state = t1 | 4;
      if ((t1 & 1) !== 0)
        _this._sendDone$0();
      else if ((t1 & 3) === 0)
        _this._ensurePendingEvents$0().add$1(0, C.C__DelayedDone);
      return _this._ensureDoneFuture$0();
    },
    _async$_add$1: function(_, 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 P._DelayedData(value, H._instanceType(_this)._eval$1("_DelayedData<1>")));
    },
    _addError$2: function(error, stackTrace) {
      var t1 = this._state;
      if ((t1 & 1) !== 0)
        this._sendError$2(error, stackTrace);
      else if ((t1 & 3) === 0)
        this._ensurePendingEvents$0().add$1(0, new P._DelayedError(error, stackTrace));
    },
    _close$0: function() {
      var addState = this._varData;
      this._varData = addState.varData;
      this._state &= 4294967287;
      addState.addStreamFuture._asyncComplete$1(null);
    },
    _subscribe$4: function(onData, onError, onDone, cancelOnError) {
      var subscription, pendingEvents, t1, addState, _this = this;
      if ((_this._state & 3) !== 0)
        throw H.wrapException(P.StateError$("Stream has already been listened to."));
      subscription = P._ControllerSubscription$(_this, onData, onError, onDone, cancelOnError, H._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 P._StreamController__subscribe_closure(_this));
      return subscription;
    },
    _recordCancel$1: function(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 = H.unwrapException(exception);
            s = H.getTraceFromException(exception);
            result0 = new P._Future($.Zone__current, type$._Future_void);
            result0._asyncCompleteError$2(e, s);
            result = result0;
          }
        else
          result = result.whenComplete$1(onCancel);
      t1 = new P._StreamController__recordCancel_complete(_this);
      if (result != null)
        result = result.whenComplete$1(t1);
      else
        t1.call$0();
      return result;
    },
    _recordPause$1: function(subscription) {
      if ((this._state & 8) !== 0)
        this._varData.addSubscription.pause$0(0);
      P._runGuarded(this.onPause);
    },
    _recordResume$1: function(subscription) {
      if ((this._state & 8) !== 0)
        this._varData.addSubscription.resume$0(0);
      P._runGuarded(this.onResume);
    },
    $isStreamController: 1
  };
  P._StreamController__subscribe_closure.prototype = {
    call$0: function() {
      P._runGuarded(this.$this.onListen);
    },
    $signature: 0
  };
  P._StreamController__recordCancel_complete.prototype = {
    call$0: function() {
      var doneFuture = this.$this._doneFuture;
      if (doneFuture != null && doneFuture._state === 0)
        doneFuture._asyncComplete$1(null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._SyncStreamControllerDispatch.prototype = {
    _sendData$1: function(data) {
      this.get$_subscription()._async$_add$1(0, data);
    },
    _sendError$2: function(error, stackTrace) {
      this.get$_subscription()._addError$2(error, stackTrace);
    },
    _sendDone$0: function() {
      this.get$_subscription()._close$0();
    }
  };
  P._AsyncStreamControllerDispatch.prototype = {
    _sendData$1: function(data) {
      this.get$_subscription()._addPending$1(new P._DelayedData(data, this.$ti._eval$1("_DelayedData<1>")));
    },
    _sendError$2: function(error, stackTrace) {
      this.get$_subscription()._addPending$1(new P._DelayedError(error, stackTrace));
    },
    _sendDone$0: function() {
      this.get$_subscription()._addPending$1(C.C__DelayedDone);
    }
  };
  P._AsyncStreamController.prototype = {};
  P._SyncStreamController.prototype = {};
  P._ControllerStream.prototype = {
    _createSubscription$4: function(onData, onError, onDone, cancelOnError) {
      return this._controller._subscribe$4(onData, onError, onDone, cancelOnError);
    },
    get$hashCode: function(_) {
      return (H.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      return other instanceof P._ControllerStream && other._controller === this._controller;
    }
  };
  P._ControllerSubscription.prototype = {
    _onCancel$0: function() {
      return this._controller._recordCancel$1(this);
    },
    _onPause$0: function() {
      this._controller._recordPause$1(this);
    },
    _onResume$0: function() {
      this._controller._recordResume$1(this);
    }
  };
  P._StreamSinkWrapper.prototype = {
    add$1: function(_, data) {
      this._async$_target.add$1(0, data);
    },
    addError$2: function(error, stackTrace) {
      this._async$_target.addError$2(error, stackTrace);
    },
    addError$1: function(error) {
      return this.addError$2(error, null);
    },
    close$0: function(_) {
      return this._async$_target.close$0(0);
    },
    addStream$1: function(_, source) {
      return this._async$_target.addStream$1(0, source);
    },
    get$done: function() {
      return this._async$_target.get$done();
    }
  };
  P._AddStreamState.prototype = {
    cancel$0: function(_) {
      var cancel = this.addSubscription.cancel$0(0);
      if (cancel == null) {
        this.addStreamFuture._asyncComplete$1(null);
        return $.$get$Future__nullFuture();
      }
      return cancel.whenComplete$1(new P._AddStreamState_cancel_closure(this));
    }
  };
  P._AddStreamState_makeErrorHandler_closure.prototype = {
    call$2: function(e, s) {
      var t1 = this.controller;
      t1._addError$2(e, s);
      t1._close$0();
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  P._AddStreamState_cancel_closure.prototype = {
    call$0: function() {
      this.$this.addStreamFuture._asyncComplete$1(null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  P._StreamControllerAddStreamState.prototype = {};
  P._BufferingStreamSubscription.prototype = {
    _setPendingEvents$1: function(pendingEvents) {
      var _this = this;
      if (pendingEvents == null)
        return;
      _this._pending = pendingEvents;
      if (!pendingEvents.get$isEmpty(pendingEvents)) {
        _this._state = (_this._state | 64) >>> 0;
        pendingEvents.schedule$1(_this);
      }
    },
    onData$1: function(handleData) {
      this._async$_onData = P._BufferingStreamSubscription__registerDataHandler(this._zone, handleData, H._instanceType(this)._eval$1("_BufferingStreamSubscription.T"));
    },
    onError$1: function(_, handleError) {
      this._onError = P._BufferingStreamSubscription__registerErrorHandler(this._zone, handleError);
    },
    onDone$1: function(handleDone) {
      this._onDone = P._BufferingStreamSubscription__registerDoneHandler(this._zone, handleDone);
    },
    pause$1: function(_, 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: function($receiver) {
      return this.pause$1($receiver, null);
    },
    resume$0: function(_) {
      var _this = this,
        t1 = _this._state;
      if ((t1 & 8) !== 0)
        return;
      if (t1 >= 128) {
        t1 = _this._state = t1 - 128;
        if (t1 < 128) {
          if ((t1 & 64) !== 0) {
            t1 = _this._pending;
            t1 = !t1.get$isEmpty(t1);
          } else
            t1 = false;
          if (t1)
            _this._pending.schedule$1(_this);
          else {
            t1 = (_this._state & 4294967291) >>> 0;
            _this._state = t1;
            if ((t1 & 32) === 0)
              _this._guardCallback$1(_this.get$_onResume());
          }
        }
      }
    },
    cancel$0: function(_) {
      var _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: function(futureValue, $E) {
      var result, t1 = {};
      t1.resultValue = null;
      t1.resultValue = futureValue;
      result = new P._Future($.Zone__current, $E._eval$1("_Future<0>"));
      this._onDone = new P._BufferingStreamSubscription_asFuture_closure(t1, result);
      this._onError = new P._BufferingStreamSubscription_asFuture_closure0(this, result);
      return result;
    },
    get$isPaused: function() {
      return this._state >= 128;
    },
    _cancel$0: function() {
      var t2, _this = this,
        t1 = _this._state = (_this._state | 8) >>> 0;
      if ((t1 & 64) !== 0) {
        t2 = _this._pending;
        if (t2._state === 1)
          t2._state = 3;
      }
      if ((t1 & 32) === 0)
        _this._pending = null;
      _this._cancelFuture = _this._onCancel$0();
    },
    _async$_add$1: function(_, data) {
      var _this = this,
        t1 = _this._state;
      if ((t1 & 8) !== 0)
        return;
      if (t1 < 32)
        _this._sendData$1(data);
      else
        _this._addPending$1(new P._DelayedData(data, H._instanceType(_this)._eval$1("_DelayedData<_BufferingStreamSubscription.T>")));
    },
    _addError$2: function(error, stackTrace) {
      var t1 = this._state;
      if ((t1 & 8) !== 0)
        return;
      if (t1 < 32)
        this._sendError$2(error, stackTrace);
      else
        this._addPending$1(new P._DelayedError(error, stackTrace));
    },
    _close$0: function() {
      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(C.C__DelayedDone);
    },
    _onPause$0: function() {
    },
    _onResume$0: function() {
    },
    _onCancel$0: function() {
      return null;
    },
    _addPending$1: function($event) {
      var t1, _this = this,
        pending = _this._pending;
      if (pending == null)
        pending = new P._StreamImplEvents(H._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: function(data) {
      var _this = this,
        t1 = _this._state;
      _this._state = (t1 | 32) >>> 0;
      _this._zone.runUnaryGuarded$1$2(_this._async$_onData, data, H._instanceType(_this)._eval$1("_BufferingStreamSubscription.T"));
      _this._state = (_this._state & 4294967263) >>> 0;
      _this._checkState$1((t1 & 4) !== 0);
    },
    _sendError$2: function(error, stackTrace) {
      var cancelFuture, _this = this,
        t1 = _this._state,
        t2 = new P._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace);
      if ((t1 & 1) !== 0) {
        _this._state = (t1 | 16) >>> 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: function() {
      var cancelFuture, _this = this,
        t1 = new P._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: function(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: function(wasInputPaused) {
      var t1, isInputPaused, _this = this;
      if ((_this._state & 64) !== 0) {
        t1 = _this._pending;
        t1 = t1.get$isEmpty(t1);
      } else
        t1 = false;
      if (t1) {
        t1 = _this._state = (_this._state & 4294967231) >>> 0;
        if ((t1 & 4) !== 0)
          if (t1 < 128) {
            t1 = _this._pending;
            t1 = t1 == null ? null : t1.get$isEmpty(t1);
            t1 = t1 !== false;
          } else
            t1 = false;
        else
          t1 = false;
        if (t1)
          _this._state = (_this._state & 4294967291) >>> 0;
      }
      for (; true; wasInputPaused = isInputPaused) {
        t1 = _this._state;
        if ((t1 & 8) !== 0) {
          _this._pending = null;
          return;
        }
        isInputPaused = (t1 & 4) !== 0;
        if (wasInputPaused === isInputPaused)
          break;
        _this._state = (t1 ^ 32) >>> 0;
        if (isInputPaused)
          _this._onPause$0();
        else
          _this._onResume$0();
        _this._state = (_this._state & 4294967263) >>> 0;
      }
      t1 = _this._state;
      if ((t1 & 64) !== 0 && t1 < 128)
        _this._pending.schedule$1(_this);
    },
    $isStreamSubscription: 1
  };
  P._BufferingStreamSubscription_asFuture_closure.prototype = {
    call$0: function() {
      this.result._complete$1(this._box_0.resultValue);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._BufferingStreamSubscription_asFuture_closure0.prototype = {
    call$2: function(error, stackTrace) {
      var cancelFuture = this.$this.cancel$0(0),
        t1 = this.result;
      if (cancelFuture != $.$get$Future__nullFuture())
        cancelFuture.whenComplete$1(new P._BufferingStreamSubscription_asFuture__closure(t1, error, stackTrace));
      else
        t1._completeError$2(error, stackTrace);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  P._BufferingStreamSubscription_asFuture__closure.prototype = {
    call$0: function() {
      this.result._completeError$2(this.error, this.stackTrace);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  P._BufferingStreamSubscription__sendError_sendError.prototype = {
    call$0: function() {
      var onError, t3, t4,
        t1 = this.$this,
        t2 = t1._state;
      if ((t2 & 8) !== 0 && (t2 & 16) === 0)
        return;
      t1._state = (t2 | 32) >>> 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;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._BufferingStreamSubscription__sendDone_sendDone.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._state;
      if ((t2 & 16) === 0)
        return;
      t1._state = (t2 | 42) >>> 0;
      t1._zone.runGuarded$1(t1._onDone);
      t1._state = (t1._state & 4294967263) >>> 0;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._StreamImpl.prototype = {
    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
      return this._createSubscription$4(onData, onError, onDone, cancelOnError === true);
    },
    listen$3$onDone$onError: function(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$1: function(onData) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null);
    },
    listen$3$cancelOnError$onDone: function(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    listen$2$onDone: function(onData, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null);
    },
    listen$2$cancelOnError: function(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    _createSubscription$4: function(onData, onError, onDone, cancelOnError) {
      return P._BufferingStreamSubscription$(onData, onError, onDone, cancelOnError, H._instanceType(this)._precomputed1);
    }
  };
  P._GeneratedStreamImpl.prototype = {
    _createSubscription$4: function(onData, onError, onDone, cancelOnError) {
      var t1, _this = this;
      if (_this._isUsed)
        throw H.wrapException(P.StateError$("Stream has already been listened to."));
      _this._isUsed = true;
      t1 = P._BufferingStreamSubscription$(onData, onError, onDone, cancelOnError, _this.$ti._precomputed1);
      t1._setPendingEvents$1(_this._pending.call$0());
      return t1;
    }
  };
  P._IterablePendingEvents.prototype = {
    get$isEmpty: function(_) {
      return this._async$_iterator == null;
    },
    handleNext$1: function(dispatch) {
      var movedNext, e, s, exception,
        iterator = this._async$_iterator;
      if (iterator == null)
        throw H.wrapException(P.StateError$("No events pending."));
      movedNext = false;
      try {
        if (iterator.moveNext$0()) {
          movedNext = true;
          dispatch._sendData$1(J.get$current$z(iterator));
        } else {
          this._async$_iterator = null;
          dispatch._sendDone$0();
        }
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        if (!movedNext)
          this._async$_iterator = C.C_EmptyIterator;
        dispatch._sendError$2(e, s);
      }
    }
  };
  P._DelayedEvent.prototype = {
    get$next: function(receiver) {
      return this.next;
    },
    set$next: function(receiver, val) {
      return this.next = val;
    }
  };
  P._DelayedData.prototype = {
    perform$1: function(dispatch) {
      dispatch._sendData$1(this.value);
    }
  };
  P._DelayedError.prototype = {
    perform$1: function(dispatch) {
      dispatch._sendError$2(this.error, this.stackTrace);
    }
  };
  P._DelayedDone.prototype = {
    perform$1: function(dispatch) {
      dispatch._sendDone$0();
    },
    get$next: function(_) {
      return null;
    },
    set$next: function(_, _0) {
      throw H.wrapException(P.StateError$("No events after a done."));
    }
  };
  P._PendingEvents.prototype = {
    schedule$1: function(dispatch) {
      var _this = this,
        t1 = _this._state;
      if (t1 === 1)
        return;
      if (t1 >= 1) {
        _this._state = 1;
        return;
      }
      P.scheduleMicrotask(new P._PendingEvents_schedule_closure(_this, dispatch));
      _this._state = 1;
    }
  };
  P._PendingEvents_schedule_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        oldState = t1._state;
      t1._state = 0;
      if (oldState === 3)
        return;
      t1.handleNext$1(this.dispatch);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._StreamImplEvents.prototype = {
    get$isEmpty: function(_) {
      return this.lastPendingEvent == null;
    },
    add$1: function(_, $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: function(dispatch) {
      var $event = this.firstPendingEvent,
        nextEvent = $event.get$next($event);
      this.firstPendingEvent = nextEvent;
      if (nextEvent == null)
        this.lastPendingEvent = null;
      $event.perform$1(dispatch);
    }
  };
  P._DoneStreamSubscription.prototype = {
    get$isPaused: function() {
      return this._state >= 4;
    },
    _schedule$0: function() {
      var _this = this;
      if ((_this._state & 2) !== 0)
        return;
      _this._zone.scheduleMicrotask$1(_this.get$_sendDone());
      _this._state = (_this._state | 2) >>> 0;
    },
    onData$1: function(handleData) {
    },
    onError$1: function(_, handleError) {
    },
    onDone$1: function(handleDone) {
      this._onDone = handleDone;
    },
    pause$1: function(_, resumeSignal) {
      this._state += 4;
    },
    pause$0: function($receiver) {
      return this.pause$1($receiver, null);
    },
    resume$0: function(_) {
      var t1 = this._state;
      if (t1 >= 4) {
        t1 = this._state = t1 - 4;
        if (t1 < 4 && (t1 & 1) === 0)
          this._schedule$0();
      }
    },
    cancel$0: function(_) {
      return $.$get$Future__nullFuture();
    },
    asFuture$1$1: function(futureValue, $E) {
      var result, t1 = {};
      t1.resultValue = null;
      t1.resultValue = futureValue;
      result = new P._Future($.Zone__current, $E._eval$1("_Future<0>"));
      this._onDone = new P._DoneStreamSubscription_asFuture_closure(t1, result);
      return result;
    },
    _sendDone$0: function() {
      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
  };
  P._DoneStreamSubscription_asFuture_closure.prototype = {
    call$0: function() {
      this.result._completeWithValue$1(this._box_0.resultValue);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._AsBroadcastStream.prototype = {
    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
      var t1, t2, _this = this,
        controller = _this._controller;
      if (controller == null || (controller._state & 4) !== 0)
        return P._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$3$onDone$onError: function(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$3$cancelOnError$onDone: function(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    listen$2$onDone: function(onData, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null);
    },
    listen$2$cancelOnError: function(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    _onCancel$0: function() {
      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 P._BroadcastSubscriptionWrapper(_this, t1), type$.void, t1);
      }
      if (shutdown) {
        subscription = _this._subscription;
        if (subscription != null) {
          subscription.cancel$0(0);
          _this._subscription = null;
        }
      }
    },
    _onListen$0: function() {
      var t1, _this = this,
        listenHandler = _this._onListenHandler;
      if (listenHandler != null) {
        t1 = _this.$ti._eval$1("_BroadcastSubscriptionWrapper<1>");
        _this._zone.runUnary$2$2(listenHandler, new P._BroadcastSubscriptionWrapper(_this, t1), type$.void, t1);
      }
    }
  };
  P._BroadcastSubscriptionWrapper.prototype = {
    onData$1: function(handleData) {
      throw H.wrapException(P.UnsupportedError$(string$.Cannotch));
    },
    onError$1: function(_, handleError) {
      throw H.wrapException(P.UnsupportedError$(string$.Cannotch));
    },
    pause$1: function(_, resumeSignal) {
      var t1 = this._stream._subscription;
      if (t1 != null)
        t1.pause$1(0, resumeSignal);
    },
    pause$0: function($receiver) {
      return this.pause$1($receiver, null);
    },
    resume$0: function(_) {
      var t1 = this._stream._subscription;
      if (t1 != null)
        t1.resume$0(0);
    },
    cancel$0: function(_) {
      var t1 = this._stream,
        subscription = t1._subscription;
      if (subscription != null) {
        t1._controller = t1._subscription = null;
        subscription.cancel$0(0);
      }
      return $.$get$Future__nullFuture();
    },
    asFuture$1$1: function(futureValue) {
      throw H.wrapException(P.UnsupportedError$(string$.Cannotch));
    },
    $isStreamSubscription: 1
  };
  P._StreamIterator.prototype = {};
  P._EmptyStream.prototype = {
    get$isBroadcast: function() {
      return true;
    },
    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
      return P._DoneStreamSubscription$(onDone, this.$ti._precomputed1);
    },
    listen$3$onDone$onError: function(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$1: function(onData) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null);
    },
    listen$3$cancelOnError$onDone: function(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    listen$2$cancelOnError: function(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    }
  };
  P._cancelAndError_closure.prototype = {
    call$0: function() {
      return this.future._completeError$2(this.error, this.stackTrace);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._cancelAndErrorClosure_closure.prototype = {
    call$2: function(error, stackTrace) {
      P._cancelAndError(this.subscription, this.future, error, stackTrace);
    },
    $signature: 50
  };
  P._cancelAndValue_closure.prototype = {
    call$0: function() {
      return this.future._complete$1(this.value);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._ForwardingStream.prototype = {
    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
      var t1 = H._instanceType(this),
        t2 = t1._eval$1("_ForwardingStream.T"),
        t3 = $.Zone__current,
        t4 = cancelOnError === true ? 1 : 0;
      t2 = new P._ForwardingStreamSubscription(this, P._BufferingStreamSubscription__registerDataHandler(t3, onData, t2), P._BufferingStreamSubscription__registerErrorHandler(t3, onError), P._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$3$onDone$onError: function(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$1: function(onData) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null);
    },
    listen$3$cancelOnError$onDone: function(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    listen$2$onDone: function(onData, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null);
    },
    listen$2$cancelOnError: function(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    _handleError$3: function(error, stackTrace, sink) {
      sink._addError$2(error, stackTrace);
    }
  };
  P._ForwardingStreamSubscription.prototype = {
    _async$_add$1: function(_, data) {
      if ((this._state & 2) !== 0)
        return;
      this.super$_BufferingStreamSubscription$_add(0, data);
    },
    _addError$2: function(error, stackTrace) {
      if ((this._state & 2) !== 0)
        return;
      this.super$_BufferingStreamSubscription$_addError(error, stackTrace);
    },
    _onPause$0: function() {
      var t1 = this._subscription;
      if (t1 != null)
        t1.pause$0(0);
    },
    _onResume$0: function() {
      var t1 = this._subscription;
      if (t1 != null)
        t1.resume$0(0);
    },
    _onCancel$0: function() {
      var subscription = this._subscription;
      if (subscription != null) {
        this._subscription = null;
        return subscription.cancel$0(0);
      }
      return null;
    },
    _handleData$1: function(data) {
      this._stream._handleData$2(data, this);
    },
    _handleError$2: function(error, stackTrace) {
      this._stream._handleError$3(error, stackTrace, this);
    },
    _handleDone$0: function() {
      this._close$0();
    }
  };
  P._WhereStream.prototype = {
    _handleData$2: function(inputEvent, sink) {
      var e, s, exception, satisfies = null;
      try {
        satisfies = this._test.call$1(inputEvent);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        P._addErrorWithReplacement(sink, e, s);
        return;
      }
      if (satisfies)
        sink._async$_add$1(0, inputEvent);
    }
  };
  P._MapStream.prototype = {
    _handleData$2: function(inputEvent, sink) {
      var e, s, exception, outputEvent = null;
      try {
        outputEvent = this._async$_transform.call$1(inputEvent);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        P._addErrorWithReplacement(sink, e, s);
        return;
      }
      sink._async$_add$1(0, outputEvent);
    }
  };
  P._HandleErrorStream.prototype = {
    _handleData$2: function(data, sink) {
      sink._async$_add$1(0, data);
    },
    _handleError$3: function(error, stackTrace, sink) {
      var e, s, e0, s0, exception, t1,
        matches = true,
        test = this._test;
      if (test != null)
        try {
          matches = test.call$1(error);
        } catch (exception) {
          e = H.unwrapException(exception);
          s = H.getTraceFromException(exception);
          P._addErrorWithReplacement(sink, e, s);
          return;
        }
      if (matches)
        try {
          P._invokeErrorHandler(this._async$_transform, error, stackTrace);
        } catch (exception) {
          e0 = H.unwrapException(exception);
          s0 = H.getTraceFromException(exception);
          t1 = e0;
          if (t1 == null ? error == null : t1 === error)
            sink._addError$2(error, stackTrace);
          else
            P._addErrorWithReplacement(sink, e0, s0);
          return;
        }
      else
        sink._addError$2(error, stackTrace);
    }
  };
  P._ZoneFunction.prototype = {};
  P._RunNullaryZoneFunction.prototype = {};
  P._RunUnaryZoneFunction.prototype = {};
  P._RunBinaryZoneFunction.prototype = {};
  P._RegisterNullaryZoneFunction.prototype = {};
  P._RegisterUnaryZoneFunction.prototype = {};
  P._RegisterBinaryZoneFunction.prototype = {};
  P._ZoneSpecification.prototype = {$isZoneSpecification: 1};
  P._ZoneDelegate.prototype = {$isZoneDelegate: 1};
  P._Zone.prototype = {
    _processUncaughtError$3: function(zone, error, stackTrace) {
      var handler, parentDelegate, parentZone, currentZone, e, s, t1, exception,
        implementation = this.get$_handleUncaughtError(),
        implZone = implementation.zone;
      if (implZone === C.C__RootZone) {
        P._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 = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        $.Zone__current = currentZone;
        t1 = e;
        t1 = (error == null ? t1 == null : error === t1) ? stackTrace : s;
        parentZone._processUncaughtError$3(implZone, e, t1);
      }
    },
    $isZone: 1
  };
  P._CustomZone.prototype = {
    get$_delegate: function() {
      var t1 = this._delegateCache;
      return t1 == null ? this._delegateCache = new P._ZoneDelegate(this) : t1;
    },
    get$_parentDelegate: function() {
      return this.parent.get$_delegate();
    },
    get$errorZone: function() {
      return this._handleUncaughtError.zone;
    },
    runGuarded$1: function(f) {
      var e, s, exception;
      try {
        this.run$1$1(f, type$.void);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        this._processUncaughtError$3(this, e, s);
      }
    },
    runUnaryGuarded$1$2: function(f, arg, $T) {
      var e, s, exception;
      try {
        this.runUnary$2$2(f, arg, type$.void, $T);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        this._processUncaughtError$3(this, e, s);
      }
    },
    runBinaryGuarded$2$3: function(f, arg1, arg2, T1, T2) {
      var e, s, exception;
      try {
        this.runBinary$3$3(f, arg1, arg2, type$.void, T1, T2);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        this._processUncaughtError$3(this, e, s);
      }
    },
    bindCallback$1$1: function(f, $R) {
      return new P._CustomZone_bindCallback_closure(this, this.registerCallback$1$1(f, $R), $R);
    },
    bindUnaryCallback$2$1: function(f, $R, $T) {
      return new P._CustomZone_bindUnaryCallback_closure(this, this.registerUnaryCallback$2$1(f, $R, $T), $T, $R);
    },
    bindCallbackGuarded$1: function(f) {
      return new P._CustomZone_bindCallbackGuarded_closure(this, this.registerCallback$1$1(f, type$.void));
    },
    bindUnaryCallbackGuarded$1$1: function(f, $T) {
      return new P._CustomZone_bindUnaryCallbackGuarded_closure(this, this.registerUnaryCallback$2$1(f, type$.void, $T), $T);
    },
    $index: function(_, 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: function(error, stackTrace) {
      this._processUncaughtError$3(this, error, stackTrace);
    },
    fork$2$specification$zoneValues: function(specification, zoneValues) {
      var implementation = this._fork,
        t1 = implementation.zone;
      return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, specification, zoneValues);
    },
    fork$1$specification: function(specification) {
      return this.fork$2$specification$zoneValues(specification, null);
    },
    run$1$1: function(f) {
      var implementation = this._run,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, f);
    },
    runUnary$2$2: function(f, arg) {
      var implementation = this._runUnary,
        t1 = implementation.zone;
      return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, f, arg);
    },
    runBinary$3$3: function(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: function(callback) {
      var implementation = this._registerCallback,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, callback);
    },
    registerUnaryCallback$2$1: function(callback) {
      var implementation = this._registerUnaryCallback,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, callback);
    },
    registerBinaryCallback$3$1: function(callback) {
      var implementation = this._registerBinaryCallback,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, callback);
    },
    errorCallback$2: function(error, stackTrace) {
      var implementation, implementationZone;
      H.checkNotNullable(error, "error", type$.Object);
      implementation = this._errorCallback;
      implementationZone = implementation.zone;
      if (implementationZone === C.C__RootZone)
        return null;
      return implementation.$function.call$5(implementationZone, implementationZone.get$_parentDelegate(), this, error, stackTrace);
    },
    scheduleMicrotask$1: function(f) {
      var implementation = this._scheduleMicrotask,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, f);
    },
    createTimer$2: function(duration, f) {
      var implementation = this._createTimer,
        t1 = implementation.zone;
      return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, duration, f);
    },
    createPeriodicTimer$2: function(duration, f) {
      var implementation = this._createPeriodicTimer,
        t1 = implementation.zone;
      return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, duration, f);
    },
    print$1: function(_, line) {
      var implementation = this._print,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, line);
    },
    get$_run: function() {
      return this._run;
    },
    get$_runUnary: function() {
      return this._runUnary;
    },
    get$_runBinary: function() {
      return this._runBinary;
    },
    get$_registerCallback: function() {
      return this._registerCallback;
    },
    get$_registerUnaryCallback: function() {
      return this._registerUnaryCallback;
    },
    get$_registerBinaryCallback: function() {
      return this._registerBinaryCallback;
    },
    get$_errorCallback: function() {
      return this._errorCallback;
    },
    get$_scheduleMicrotask: function() {
      return this._scheduleMicrotask;
    },
    get$_createTimer: function() {
      return this._createTimer;
    },
    get$_createPeriodicTimer: function() {
      return this._createPeriodicTimer;
    },
    get$_print: function() {
      return this._print;
    },
    get$_fork: function() {
      return this._fork;
    },
    get$_handleUncaughtError: function() {
      return this._handleUncaughtError;
    },
    get$parent: function(receiver) {
      return this.parent;
    },
    get$_async$_map: function() {
      return this._async$_map;
    }
  };
  P._CustomZone_bindCallback_closure.prototype = {
    call$0: function() {
      return this.$this.run$1$1(this.registered, this.R);
    },
    $signature: function() {
      return this.R._eval$1("0()");
    }
  };
  P._CustomZone_bindUnaryCallback_closure.prototype = {
    call$1: function(arg) {
      var _this = this;
      return _this.$this.runUnary$2$2(_this.registered, arg, _this.R, _this.T);
    },
    $signature: function() {
      return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(2)");
    }
  };
  P._CustomZone_bindCallbackGuarded_closure.prototype = {
    call$0: function() {
      return this.$this.runGuarded$1(this.registered);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._CustomZone_bindUnaryCallbackGuarded_closure.prototype = {
    call$1: function(arg) {
      return this.$this.runUnaryGuarded$1$2(this.registered, arg, this.T);
    },
    $signature: function() {
      return this.T._eval$1("~(0)");
    }
  };
  P._rootHandleError_closure.prototype = {
    call$0: function() {
      var error = H.wrapException(this.error);
      error.stack = J.toString$0$(this.stackTrace);
      throw error;
    },
    $signature: 0
  };
  P._RootZone.prototype = {
    get$_run: function() {
      return C._RunNullaryZoneFunction__RootZone__rootRun;
    },
    get$_runUnary: function() {
      return C._RunUnaryZoneFunction__RootZone__rootRunUnary;
    },
    get$_runBinary: function() {
      return C._RunBinaryZoneFunction__RootZone__rootRunBinary;
    },
    get$_registerCallback: function() {
      return C._RegisterNullaryZoneFunction__RootZone__rootRegisterCallback;
    },
    get$_registerUnaryCallback: function() {
      return C._RegisterUnaryZoneFunction_Bqo;
    },
    get$_registerBinaryCallback: function() {
      return C._RegisterBinaryZoneFunction_kGu;
    },
    get$_errorCallback: function() {
      return C._ZoneFunction__RootZone__rootErrorCallback;
    },
    get$_scheduleMicrotask: function() {
      return C._ZoneFunction__RootZone__rootScheduleMicrotask;
    },
    get$_createTimer: function() {
      return C._ZoneFunction__RootZone__rootCreateTimer;
    },
    get$_createPeriodicTimer: function() {
      return C._ZoneFunction_3bB;
    },
    get$_print: function() {
      return C._ZoneFunction__RootZone__rootPrint;
    },
    get$_fork: function() {
      return C._ZoneFunction__RootZone__rootFork;
    },
    get$_handleUncaughtError: function() {
      return C._ZoneFunction_NMc;
    },
    get$parent: function(_) {
      return null;
    },
    get$_async$_map: function() {
      return $.$get$_RootZone__rootMap();
    },
    get$_delegate: function() {
      var t1 = $._RootZone__rootDelegate;
      return t1 == null ? $._RootZone__rootDelegate = new P._ZoneDelegate(this) : t1;
    },
    get$_parentDelegate: function() {
      var t1 = $._RootZone__rootDelegate;
      return t1 == null ? $._RootZone__rootDelegate = new P._ZoneDelegate(this) : t1;
    },
    get$errorZone: function() {
      return this;
    },
    runGuarded$1: function(f) {
      var e, s, exception;
      try {
        if (C.C__RootZone === $.Zone__current) {
          f.call$0();
          return;
        }
        P._rootRun(null, null, this, f);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        P._rootHandleError(e, s);
      }
    },
    runUnaryGuarded$1$2: function(f, arg) {
      var e, s, exception;
      try {
        if (C.C__RootZone === $.Zone__current) {
          f.call$1(arg);
          return;
        }
        P._rootRunUnary(null, null, this, f, arg);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        P._rootHandleError(e, s);
      }
    },
    runBinaryGuarded$2$3: function(f, arg1, arg2) {
      var e, s, exception;
      try {
        if (C.C__RootZone === $.Zone__current) {
          f.call$2(arg1, arg2);
          return;
        }
        P._rootRunBinary(null, null, this, f, arg1, arg2);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        P._rootHandleError(e, s);
      }
    },
    bindCallback$1$1: function(f, $R) {
      return new P._RootZone_bindCallback_closure(this, f, $R);
    },
    bindUnaryCallback$2$1: function(f, $R, $T) {
      return new P._RootZone_bindUnaryCallback_closure(this, f, $T, $R);
    },
    bindCallbackGuarded$1: function(f) {
      return new P._RootZone_bindCallbackGuarded_closure(this, f);
    },
    bindUnaryCallbackGuarded$1$1: function(f, $T) {
      return new P._RootZone_bindUnaryCallbackGuarded_closure(this, f, $T);
    },
    $index: function(_, key) {
      return null;
    },
    handleUncaughtError$2: function(error, stackTrace) {
      P._rootHandleError(error, stackTrace);
    },
    fork$2$specification$zoneValues: function(specification, zoneValues) {
      return P._rootFork(null, null, this, specification, zoneValues);
    },
    fork$1$specification: function(specification) {
      return this.fork$2$specification$zoneValues(specification, null);
    },
    run$1$1: function(f) {
      if ($.Zone__current === C.C__RootZone)
        return f.call$0();
      return P._rootRun(null, null, this, f);
    },
    runUnary$2$2: function(f, arg) {
      if ($.Zone__current === C.C__RootZone)
        return f.call$1(arg);
      return P._rootRunUnary(null, null, this, f, arg);
    },
    runBinary$3$3: function(f, arg1, arg2) {
      if ($.Zone__current === C.C__RootZone)
        return f.call$2(arg1, arg2);
      return P._rootRunBinary(null, null, this, f, arg1, arg2);
    },
    registerCallback$1$1: function(f) {
      return f;
    },
    registerUnaryCallback$2$1: function(f) {
      return f;
    },
    registerBinaryCallback$3$1: function(f) {
      return f;
    },
    errorCallback$2: function(error, stackTrace) {
      return null;
    },
    scheduleMicrotask$1: function(f) {
      P._rootScheduleMicrotask(null, null, this, f);
    },
    createTimer$2: function(duration, f) {
      return P.Timer__createTimer(duration, f);
    },
    createPeriodicTimer$2: function(duration, f) {
      return P.Timer__createPeriodicTimer(duration, f);
    },
    print$1: function(_, line) {
      H.printString(H.S(line));
    }
  };
  P._RootZone_bindCallback_closure.prototype = {
    call$0: function() {
      return this.$this.run$1$1(this.f, this.R);
    },
    $signature: function() {
      return this.R._eval$1("0()");
    }
  };
  P._RootZone_bindUnaryCallback_closure.prototype = {
    call$1: function(arg) {
      var _this = this;
      return _this.$this.runUnary$2$2(_this.f, arg, _this.R, _this.T);
    },
    $signature: function() {
      return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(2)");
    }
  };
  P._RootZone_bindCallbackGuarded_closure.prototype = {
    call$0: function() {
      return this.$this.runGuarded$1(this.f);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P._RootZone_bindUnaryCallbackGuarded_closure.prototype = {
    call$1: function(arg) {
      return this.$this.runUnaryGuarded$1$2(this.f, arg, this.T);
    },
    $signature: function() {
      return this.T._eval$1("~(0)");
    }
  };
  P.runZonedGuarded_closure.prototype = {
    call$5: function($self, $parent, zone, error, stackTrace) {
      var e, s, exception, t1, t2;
      try {
        this.parentZone.runBinary$3$3(this.onError, error, stackTrace, type$.void, type$.Object, type$.StackTrace);
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        t1 = e;
        t2 = $parent._delegationTarget;
        if (t1 == null ? error == null : t1 === error)
          t2._processUncaughtError$3(zone, error, stackTrace);
        else
          t2._processUncaughtError$3(zone, e, s);
      }
    },
    $signature: 333
  };
  P._HashMap.prototype = {
    get$length: function(_) {
      return this._collection$_length;
    },
    get$isEmpty: function(_) {
      return this._collection$_length === 0;
    },
    get$isNotEmpty: function(_) {
      return this._collection$_length !== 0;
    },
    get$keys: function(_) {
      return new P._HashMapKeyIterable(this, H._instanceType(this)._eval$1("_HashMapKeyIterable<1>"));
    },
    get$values: function(_) {
      var t1 = H._instanceType(this);
      return H.MappedIterable_MappedIterable(new P._HashMapKeyIterable(this, t1._eval$1("_HashMapKeyIterable<1>")), new P._HashMap_values_closure(this), t1._precomputed1, t1._rest[1]);
    },
    containsKey$1: function(_, key) {
      var strings, nums;
      if (typeof key == "string" && key !== "__proto__") {
        strings = this._collection$_strings;
        return strings == null ? false : strings[key] != null;
      } else if (typeof key == "number" && (key & 1073741823) === key) {
        nums = this._collection$_nums;
        return nums == null ? false : nums[key] != null;
      } else
        return this._containsKey$1(key);
    },
    _containsKey$1: function(key) {
      var rest = this._collection$_rest;
      if (rest == null)
        return false;
      return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0;
    },
    addAll$1: function(_, other) {
      other.forEach$1(0, new P._HashMap_addAll_closure(this));
    },
    $index: function(_, key) {
      var strings, t1, nums;
      if (typeof key == "string" && key !== "__proto__") {
        strings = this._collection$_strings;
        t1 = strings == null ? null : P._HashMap__getTableEntry(strings, key);
        return t1;
      } else if (typeof key == "number" && (key & 1073741823) === key) {
        nums = this._collection$_nums;
        t1 = nums == null ? null : P._HashMap__getTableEntry(nums, key);
        return t1;
      } else
        return this._get$1(0, key);
    },
    _get$1: function(_, 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: function(_, 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 = P._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 = P._HashMap__newHashTable() : nums, key, value);
      } else
        _this._set$2(key, value);
    },
    _set$2: function(key, value) {
      var hash, bucket, index, _this = this,
        rest = _this._collection$_rest;
      if (rest == null)
        rest = _this._collection$_rest = P._HashMap__newHashTable();
      hash = _this._computeHashCode$1(key);
      bucket = rest[hash];
      if (bucket == null) {
        P._HashMap__setTableEntry(rest, hash, [key, value]);
        ++_this._collection$_length;
        _this._keys = null;
      } else {
        index = _this._findBucketIndex$2(bucket, key);
        if (index >= 0)
          bucket[index + 1] = value;
        else {
          bucket.push(key, value);
          ++_this._collection$_length;
          _this._keys = null;
        }
      }
    },
    putIfAbsent$2: function(_, 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: function(_, 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: function(_, 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._keys = null;
      result = bucket.splice(index, 2)[1];
      if (0 === bucket.length)
        delete rest[hash];
      return result;
    },
    clear$0: function(_) {
      var _this = this;
      if (_this._collection$_length > 0) {
        _this._collection$_strings = _this._collection$_nums = _this._collection$_rest = _this._keys = null;
        _this._collection$_length = 0;
      }
    },
    forEach$1: function(_, action) {
      var $length, i, key, _this = this,
        keys = _this._computeKeys$0();
      for ($length = keys.length, i = 0; i < $length; ++i) {
        key = keys[i];
        action.call$2(key, _this.$index(0, key));
        if (keys !== _this._keys)
          throw H.wrapException(P.ConcurrentModificationError$(_this));
      }
    },
    _computeKeys$0: function() {
      var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
        result = _this._keys;
      if (result != null)
        return result;
      result = P.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._keys = result;
    },
    _collection$_addHashTableEntry$3: function(table, key, value) {
      if (table[key] == null) {
        ++this._collection$_length;
        this._keys = null;
      }
      P._HashMap__setTableEntry(table, key, value);
    },
    _collection$_removeHashTableEntry$2: function(table, key) {
      var value;
      if (table != null && table[key] != null) {
        value = P._HashMap__getTableEntry(table, key);
        delete table[key];
        --this._collection$_length;
        this._keys = null;
        return value;
      } else
        return null;
    },
    _computeHashCode$1: function(key) {
      return J.get$hashCode$(key) & 1073741823;
    },
    _getBucket$2: function(table, key) {
      return table[this._computeHashCode$1(key)];
    },
    _findBucketIndex$2: function(bucket, key) {
      var $length, i;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (i = 0; i < $length; i += 2)
        if (J.$eq$(bucket[i], key))
          return i;
      return -1;
    }
  };
  P._HashMap_values_closure.prototype = {
    call$1: function(each) {
      return this.$this.$index(0, each);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("2(1)");
    }
  };
  P._HashMap_addAll_closure.prototype = {
    call$2: function(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(1,2)");
    }
  };
  P._IdentityHashMap.prototype = {
    _computeHashCode$1: function(key) {
      return H.objectHashCode(key) & 1073741823;
    },
    _findBucketIndex$2: function(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;
    }
  };
  P._CustomHashMap.prototype = {
    $index: function(_, key) {
      if (!this._validKey.call$1(key))
        return null;
      return this.super$_HashMap$_get(0, key);
    },
    $indexSet: function(_, key, value) {
      this.super$_HashMap$_set(key, value);
    },
    containsKey$1: function(_, key) {
      if (!this._validKey.call$1(key))
        return false;
      return this.super$_HashMap$_containsKey(key);
    },
    remove$1: function(_, key) {
      if (!this._validKey.call$1(key))
        return null;
      return this.super$_HashMap$_remove(0, key);
    },
    _computeHashCode$1: function(key) {
      return this._hashCode.call$1(key) & 1073741823;
    },
    _findBucketIndex$2: function(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;
    }
  };
  P._CustomHashMap_closure.prototype = {
    call$1: function(v) {
      return this.K._is(v);
    },
    $signature: 54
  };
  P._HashMapKeyIterable.prototype = {
    get$length: function(_) {
      return this._collection$_map._collection$_length;
    },
    get$isEmpty: function(_) {
      return this._collection$_map._collection$_length === 0;
    },
    get$iterator: function(_) {
      var t1 = this._collection$_map;
      return new P._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>"));
    },
    contains$1: function(_, element) {
      return this._collection$_map.containsKey$1(0, element);
    },
    forEach$1: function(_, 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._keys)
          throw H.wrapException(P.ConcurrentModificationError$(t1));
      }
    }
  };
  P._HashMapKeyIterator.prototype = {
    get$current: function(_) {
      return this._collection$_current;
    },
    moveNext$0: function() {
      var _this = this,
        keys = _this._keys,
        offset = _this._offset,
        t1 = _this._collection$_map;
      if (keys !== t1._keys)
        throw H.wrapException(P.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;
      }
    }
  };
  P._LinkedIdentityHashMap.prototype = {
    internalComputeHashCode$1: function(key) {
      return H.objectHashCode(key) & 1073741823;
    },
    internalFindBucketIndex$2: function(bucket, key) {
      var $length, i, t1;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (i = 0; i < $length; ++i) {
        t1 = bucket[i].hashMapCellKey;
        if (t1 == null ? key == null : t1 === key)
          return i;
      }
      return -1;
    }
  };
  P._LinkedCustomHashMap.prototype = {
    $index: function(_, key) {
      if (!this._validKey.call$1(key))
        return null;
      return this.super$JsLinkedHashMap$internalGet(key);
    },
    $indexSet: function(_, key, value) {
      this.super$JsLinkedHashMap$internalSet(key, value);
    },
    containsKey$1: function(_, key) {
      if (!this._validKey.call$1(key))
        return false;
      return this.super$JsLinkedHashMap$internalContainsKey(key);
    },
    remove$1: function(_, key) {
      if (!this._validKey.call$1(key))
        return null;
      return this.super$JsLinkedHashMap$internalRemove(key);
    },
    internalComputeHashCode$1: function(key) {
      return this._hashCode.call$1(key) & 1073741823;
    },
    internalFindBucketIndex$2: function(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;
    }
  };
  P._LinkedCustomHashMap_closure.prototype = {
    call$1: function(v) {
      return this.K._is(v);
    },
    $signature: 54
  };
  P._HashSet.prototype = {
    _newSet$0: function() {
      return new P._HashSet(H._instanceType(this)._eval$1("_HashSet<1>"));
    },
    _newSimilarSet$1$0: function($R) {
      return new P._HashSet($R._eval$1("_HashSet<0>"));
    },
    _newSimilarSet$0: function() {
      return this._newSimilarSet$1$0(type$.dynamic);
    },
    get$iterator: function(_) {
      return new P._HashSetIterator(this, this._computeElements$0(), H._instanceType(this)._eval$1("_HashSetIterator<1>"));
    },
    get$length: function(_) {
      return this._collection$_length;
    },
    get$isEmpty: function(_) {
      return this._collection$_length === 0;
    },
    get$isNotEmpty: function(_) {
      return this._collection$_length !== 0;
    },
    contains$1: function(_, object) {
      var strings, nums;
      if (typeof object == "string" && object !== "__proto__") {
        strings = this._collection$_strings;
        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: function(object) {
      var rest = this._collection$_rest;
      if (rest == null)
        return false;
      return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;
    },
    add$1: function(_, 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 = P._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 = P._HashSet__newHashTable() : nums, element);
      } else
        return _this._add$1(0, element);
    },
    _add$1: function(_, element) {
      var hash, bucket, _this = this,
        rest = _this._collection$_rest;
      if (rest == null)
        rest = _this._collection$_rest = P._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: function(_, objects) {
      var t1;
      for (t1 = J.get$iterator$ax(objects); t1.moveNext$0();)
        this.add$1(0, t1.get$current(t1));
    },
    remove$1: function(_, 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: function(_, 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: function(_) {
      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: function() {
      var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
        result = _this._elements;
      if (result != null)
        return result;
      result = P.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: function(table, element) {
      if (table[element] != null)
        return false;
      table[element] = 0;
      ++this._collection$_length;
      this._elements = null;
      return true;
    },
    _collection$_removeHashTableEntry$2: function(table, element) {
      if (table != null && table[element] != null) {
        delete table[element];
        --this._collection$_length;
        this._elements = null;
        return true;
      } else
        return false;
    },
    _computeHashCode$1: function(element) {
      return J.get$hashCode$(element) & 1073741823;
    },
    _findBucketIndex$2: function(bucket, element) {
      var $length, i;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (i = 0; i < $length; ++i)
        if (J.$eq$(bucket[i], element))
          return i;
      return -1;
    }
  };
  P._HashSetIterator.prototype = {
    get$current: function(_) {
      return this._collection$_current;
    },
    moveNext$0: function() {
      var _this = this,
        elements = _this._elements,
        offset = _this._offset,
        t1 = _this._set;
      if (elements !== t1._elements)
        throw H.wrapException(P.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;
      }
    }
  };
  P._LinkedHashSet.prototype = {
    _newSet$0: function() {
      return new P._LinkedHashSet(H._instanceType(this)._eval$1("_LinkedHashSet<1>"));
    },
    _newSimilarSet$1$0: function($R) {
      return new P._LinkedHashSet($R._eval$1("_LinkedHashSet<0>"));
    },
    _newSimilarSet$0: function() {
      return this._newSimilarSet$1$0(type$.dynamic);
    },
    get$iterator: function(_) {
      var _this = this,
        t1 = new P._LinkedHashSetIterator(_this, _this._collection$_modifications, H._instanceType(_this)._eval$1("_LinkedHashSetIterator<1>"));
      t1._collection$_cell = _this._collection$_first;
      return t1;
    },
    get$length: function(_) {
      return this._collection$_length;
    },
    get$isEmpty: function(_) {
      return this._collection$_length === 0;
    },
    get$isNotEmpty: function(_) {
      return this._collection$_length !== 0;
    },
    contains$1: function(_, object) {
      var strings, nums;
      if (typeof object == "string" && object !== "__proto__") {
        strings = this._collection$_strings;
        if (strings == null)
          return false;
        return strings[object] != null;
      } else if (typeof object == "number" && (object & 1073741823) === object) {
        nums = this._collection$_nums;
        if (nums == null)
          return false;
        return nums[object] != null;
      } else
        return this._contains$1(object);
    },
    _contains$1: function(object) {
      var rest = this._collection$_rest;
      if (rest == null)
        return false;
      return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;
    },
    forEach$1: function(_, action) {
      var _this = this,
        cell = _this._collection$_first,
        modifications = _this._collection$_modifications;
      for (; cell != null;) {
        action.call$1(cell._collection$_element);
        if (modifications !== _this._collection$_modifications)
          throw H.wrapException(P.ConcurrentModificationError$(_this));
        cell = cell._collection$_next;
      }
    },
    get$first: function(_) {
      var first = this._collection$_first;
      if (first == null)
        throw H.wrapException(P.StateError$("No elements"));
      return first._collection$_element;
    },
    get$last: function(_) {
      var last = this._collection$_last;
      if (last == null)
        throw H.wrapException(P.StateError$("No elements"));
      return last._collection$_element;
    },
    add$1: function(_, 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 = P._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 = P._LinkedHashSet__newHashTable() : nums, element);
      } else
        return _this._add$1(0, element);
    },
    _add$1: function(_, element) {
      var hash, bucket, _this = this,
        rest = _this._collection$_rest;
      if (rest == null)
        rest = _this._collection$_rest = P._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: function(_, 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: function(_, 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: function(_, test) {
      this._filterWhere$2(test, true);
    },
    _filterWhere$2: function(test, removeMatching) {
      var element, next, modifications, t1, _this = this,
        cell = _this._collection$_first;
      for (; cell != null; cell = next) {
        element = cell._collection$_element;
        next = cell._collection$_next;
        modifications = _this._collection$_modifications;
        t1 = test.call$1(element);
        if (modifications !== _this._collection$_modifications)
          throw H.wrapException(P.ConcurrentModificationError$(_this));
        if (true === t1)
          _this.remove$1(0, element);
      }
    },
    clear$0: function(_) {
      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: function(table, element) {
      if (table[element] != null)
        return false;
      table[element] = this._collection$_newLinkedCell$1(element);
      return true;
    },
    _collection$_removeHashTableEntry$2: function(table, element) {
      var cell;
      if (table == null)
        return false;
      cell = table[element];
      if (cell == null)
        return false;
      this._collection$_unlinkCell$1(cell);
      delete table[element];
      return true;
    },
    _collection$_modified$0: function() {
      this._collection$_modifications = this._collection$_modifications + 1 & 1073741823;
    },
    _collection$_newLinkedCell$1: function(element) {
      var t1, _this = this,
        cell = new P._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: function(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: function(element) {
      return J.get$hashCode$(element) & 1073741823;
    },
    _findBucketIndex$2: function(bucket, element) {
      var $length, i;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (i = 0; i < $length; ++i)
        if (J.$eq$(bucket[i]._collection$_element, element))
          return i;
      return -1;
    },
    $isLinkedHashSet: 1
  };
  P._LinkedHashSetCell.prototype = {};
  P._LinkedHashSetIterator.prototype = {
    get$current: function(_) {
      return this._collection$_current;
    },
    moveNext$0: function() {
      var _this = this,
        cell = _this._collection$_cell,
        t1 = _this._set;
      if (_this._collection$_modifications !== t1._collection$_modifications)
        throw H.wrapException(P.ConcurrentModificationError$(t1));
      else if (cell == null) {
        _this._collection$_current = null;
        return false;
      } else {
        _this._collection$_current = cell._collection$_element;
        _this._collection$_cell = cell._collection$_next;
        return true;
      }
    }
  };
  P.UnmodifiableListView.prototype = {
    cast$1$0: function(_, $R) {
      return new P.UnmodifiableListView(J.cast$1$0$ax(this._collection$_source, $R), $R._eval$1("UnmodifiableListView<0>"));
    },
    get$length: function(_) {
      return J.get$length$asx(this._collection$_source);
    },
    $index: function(_, index) {
      return J.elementAt$1$ax(this._collection$_source, index);
    }
  };
  P.HashMap_HashMap$from_closure.prototype = {
    call$2: function(k, v) {
      this.result.$indexSet(0, this.K._as(k), this.V._as(v));
    },
    $signature: 86
  };
  P.IterableMixin.prototype = {
    cast$1$0: function(_, $R) {
      return H.CastIterable_CastIterable(this, this.$ti._precomputed1, $R);
    },
    map$1$1: function(_, toElement, $T) {
      return H.MappedIterable_MappedIterable(this, toElement, this.$ti._precomputed1, $T);
    },
    map$1: function($receiver, toElement) {
      return this.map$1$1($receiver, toElement, type$.dynamic);
    },
    where$1: function(_, test) {
      return new H.WhereIterable(this, test, this.$ti._eval$1("WhereIterable<1>"));
    },
    contains$1: function(_, element) {
      var t1;
      for (t1 = this.$ti, t1 = new P._SplayTreeKeyIterator(this, H._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: function(_, action) {
      var t1;
      for (t1 = this.$ti, t1 = new P._SplayTreeKeyIterator(this, H._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: function(_, growable) {
      return P.List_List$from(this, true, this.$ti._precomputed1);
    },
    toList$0: function($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0: function(_) {
      return P.LinkedHashSet_LinkedHashSet$from(this, this.$ti._precomputed1);
    },
    get$length: function(_) {
      var count,
        t1 = this.$ti,
        it = new P._SplayTreeKeyIterator(this, H._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: function(_) {
      var t1 = this.$ti;
      return !new P._SplayTreeKeyIterator(this, H._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: function(_) {
      return this._collection$_root != null;
    },
    take$1: function(_, count) {
      return H.TakeIterable_TakeIterable(this, count, this.$ti._precomputed1);
    },
    skip$1: function(_, count) {
      return H.SkipIterable_SkipIterable(this, count, this.$ti._precomputed1);
    },
    get$first: function(_) {
      var t1 = this.$ti,
        it = new P._SplayTreeKeyIterator(this, H._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 H.wrapException(H.IterableElementError_noElement());
      return it.get$current(it);
    },
    get$last: function(_) {
      var result,
        t1 = this.$ti,
        it = new P._SplayTreeKeyIterator(this, H._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 H.wrapException(H.IterableElementError_noElement());
      do
        result = it.get$current(it);
      while (it.moveNext$0());
      return result;
    },
    elementAt$1: function(_, index) {
      var t1, elementIndex, element, _this = this, _s5_ = "index";
      H.checkNotNullable(index, _s5_, type$.int);
      P.RangeError_checkNotNegative(index, _s5_);
      for (t1 = _this.$ti, t1 = new P._SplayTreeKeyIterator(_this, H._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 H.wrapException(P.IndexError$(index, _this, _s5_, null, elementIndex));
    },
    toString$0: function(_) {
      return P.IterableBase_iterableToShortString(this, "(", ")");
    }
  };
  P.IterableBase.prototype = {};
  P.LinkedHashMap_LinkedHashMap$from_closure.prototype = {
    call$2: function(k, v) {
      this.result.$indexSet(0, this.K._as(k), this.V._as(v));
    },
    $signature: 86
  };
  P.LinkedList.prototype = {
    add$1: function(_, entry) {
      this._insertBefore$3$updateFirst(this._collection$_first, entry, false);
    },
    addAll$1: function(_, entries) {
      entries.forEach$1(0, this.get$add(this));
    },
    contains$1: function(_, entry) {
      return entry instanceof P.LinkedListEntry && this === entry._collection$_list;
    },
    get$iterator: function(_) {
      var _this = this;
      return new P._LinkedListIterator(_this, _this._modificationCount, _this._collection$_first, _this.$ti._eval$1("_LinkedListIterator<1>"));
    },
    get$length: function(_) {
      return this._collection$_length;
    },
    clear$0: function(_) {
      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: function(_) {
      var t1;
      if (this._collection$_length === 0)
        throw H.wrapException(P.StateError$("No such element"));
      t1 = this._collection$_first;
      t1.toString;
      return t1;
    },
    get$last: function(_) {
      var t1;
      if (this._collection$_length === 0)
        throw H.wrapException(P.StateError$("No such element"));
      t1 = this._collection$_first._collection$_previous;
      t1.toString;
      return t1;
    },
    forEach$1: function(_, 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 H.wrapException(P.ConcurrentModificationError$(_this));
        t1 = current._collection$_next;
        t1.toString;
        if (t1 !== _this._collection$_first) {
          current = t1;
          continue;
        } else
          break;
      } while (true);
    },
    get$isEmpty: function(_) {
      return this._collection$_length === 0;
    },
    _insertBefore$3$updateFirst: function(entry, newEntry, updateFirst) {
      var t1, t2, _this = this;
      if (newEntry._collection$_list != null)
        throw H.wrapException(P.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: function(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;
    }
  };
  P._LinkedListIterator.prototype = {
    get$current: function(_) {
      return this._collection$_current;
    },
    moveNext$0: function() {
      var _this = this,
        t1 = _this._collection$_list;
      if (_this._modificationCount !== t1._modificationCount)
        throw H.wrapException(P.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;
    }
  };
  P.LinkedListEntry.prototype = {
    get$next: function(_) {
      var t1 = this._collection$_list;
      if (t1 == null || t1.get$first(t1) == this._collection$_next)
        return null;
      return this._collection$_next;
    }
  };
  P.ListBase.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
  P.ListMixin.prototype = {
    get$iterator: function(receiver) {
      return new H.ListIterator(receiver, this.get$length(receiver), H.instanceType(receiver)._eval$1("ListIterator<ListMixin.E>"));
    },
    elementAt$1: function(receiver, index) {
      return this.$index(receiver, index);
    },
    forEach$1: function(receiver, action) {
      var i,
        $length = this.get$length(receiver);
      for (i = 0; i < $length; ++i) {
        action.call$1(this.$index(receiver, i));
        if ($length !== this.get$length(receiver))
          throw H.wrapException(P.ConcurrentModificationError$(receiver));
      }
    },
    get$isEmpty: function(receiver) {
      return this.get$length(receiver) === 0;
    },
    get$isNotEmpty: function(receiver) {
      return !this.get$isEmpty(receiver);
    },
    get$first: function(receiver) {
      if (this.get$length(receiver) === 0)
        throw H.wrapException(H.IterableElementError_noElement());
      return this.$index(receiver, 0);
    },
    get$last: function(receiver) {
      if (this.get$length(receiver) === 0)
        throw H.wrapException(H.IterableElementError_noElement());
      return this.$index(receiver, this.get$length(receiver) - 1);
    },
    contains$1: function(receiver, element) {
      var 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 H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      return false;
    },
    any$1: function(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 H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      return false;
    },
    firstWhere$2$orElse: function(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 H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      return orElse.call$0();
    },
    lastWhere$2$orElse: function(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 H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      if (orElse != null)
        return orElse.call$0();
      throw H.wrapException(H.IterableElementError_noElement());
    },
    join$1: function(receiver, separator) {
      var t1;
      if (this.get$length(receiver) === 0)
        return "";
      t1 = P.StringBuffer__writeAll("", receiver, separator);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    where$1: function(receiver, test) {
      return new H.WhereIterable(receiver, test, H.instanceType(receiver)._eval$1("WhereIterable<ListMixin.E>"));
    },
    map$1$1: function(receiver, f, $T) {
      return new H.MappedListIterable(receiver, f, H.instanceType(receiver)._eval$1("@<ListMixin.E>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
    },
    map$1: function($receiver, f) {
      return this.map$1$1($receiver, f, type$.dynamic);
    },
    fold$1$2: function(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 H.wrapException(P.ConcurrentModificationError$(receiver));
      }
      return value;
    },
    fold$2: function($receiver, initialValue, combine) {
      return this.fold$1$2($receiver, initialValue, combine, type$.dynamic);
    },
    skip$1: function(receiver, count) {
      return H.SubListIterable$(receiver, count, null, H.instanceType(receiver)._eval$1("ListMixin.E"));
    },
    take$1: function(receiver, count) {
      return H.SubListIterable$(receiver, 0, H.checkNotNullable(count, "count", type$.int), H.instanceType(receiver)._eval$1("ListMixin.E"));
    },
    toList$1$growable: function(receiver, growable) {
      var t1, first, result, i, _this = this;
      if (_this.get$isEmpty(receiver)) {
        t1 = H.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 = P.List_List$filled(_this.get$length(receiver), first, growable, H.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: function($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0: function(receiver) {
      var i,
        result = P.LinkedHashSet_LinkedHashSet(H.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: function(receiver, element) {
      var t1 = this.get$length(receiver);
      this.set$length(receiver, t1 + 1);
      this.$indexSet(receiver, t1, element);
    },
    addAll$1: function(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: function(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: function(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: function(receiver) {
      this.set$length(receiver, 0);
    },
    cast$1$0: function(receiver, $R) {
      return new H.CastList(receiver, H.instanceType(receiver)._eval$1("@<ListMixin.E>")._bind$1($R)._eval$1("CastList<1,2>"));
    },
    removeLast$0: function(receiver) {
      var result, _this = this;
      if (_this.get$length(receiver) === 0)
        throw H.wrapException(H.IterableElementError_noElement());
      result = _this.$index(receiver, _this.get$length(receiver) - 1);
      _this.set$length(receiver, _this.get$length(receiver) - 1);
      return result;
    },
    sort$1: function(receiver, compare) {
      H.Sort_sort(receiver, compare == null ? P.collection_ListMixin__compareAny$closure() : compare);
    },
    $add: function(receiver, other) {
      var t1 = P.List_List$of(receiver, true, H.instanceType(receiver)._eval$1("ListMixin.E"));
      C.JSArray_methods.addAll$1(t1, other);
      return t1;
    },
    sublist$2: function(receiver, start, end) {
      var listLength = this.get$length(receiver);
      if (end == null)
        end = listLength;
      if (end == null)
        throw H.wrapException("!");
      P.RangeError_checkValidRange(start, end, listLength);
      return P.List_List$from(this.getRange$2(receiver, start, end), true, H.instanceType(receiver)._eval$1("ListMixin.E"));
    },
    sublist$1: function($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    getRange$2: function(receiver, start, end) {
      P.RangeError_checkValidRange(start, end, this.get$length(receiver));
      return H.SubListIterable$(receiver, start, end, H.instanceType(receiver)._eval$1("ListMixin.E"));
    },
    removeRange$2: function(receiver, start, end) {
      P.RangeError_checkValidRange(start, end, this.get$length(receiver));
      if (end > start)
        this._closeGap$2(receiver, start, end);
    },
    fillRange$3: function(receiver, start, end, fill) {
      var i;
      P.RangeError_checkValidRange(start, end, this.get$length(receiver));
      for (i = start; i < end; ++i)
        this.$indexSet(receiver, i, fill);
    },
    setRange$4: function(receiver, start, end, iterable, skipCount) {
      var $length, otherStart, otherList, t1, i;
      P.RangeError_checkValidRange(start, end, this.get$length(receiver));
      $length = end - start;
      if ($length === 0)
        return;
      P.RangeError_checkNotNegative(skipCount, "skipCount");
      if (H.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 H.wrapException(H.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: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    indexOf$1: function(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: function(receiver, index) {
      var result = this.$index(receiver, index);
      this._closeGap$2(receiver, index, index + 1);
      return result;
    },
    setAll$2: function(receiver, index, iterable) {
      var t1, index0;
      if (type$.List_dynamic._is(iterable))
        this.setRange$3(receiver, index, index + iterable.length, 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: function(receiver) {
      return P.IterableBase_iterableToFullString(receiver, "[", "]");
    }
  };
  P.MapBase.prototype = {};
  P.MapBase_mapToString_closure.prototype = {
    call$2: function(k, v) {
      var t2,
        t1 = this._box_0;
      if (!t1.first)
        this.result._contents += ", ";
      t1.first = false;
      t1 = this.result;
      t2 = t1._contents += H.S(k);
      t1._contents = t2 + ": ";
      t1._contents += H.S(v);
    },
    $signature: 105
  };
  P.MapMixin.prototype = {
    cast$2$0: function(receiver, RK, RV) {
      var t1 = H.instanceType(receiver);
      return P.Map_castFrom(receiver, t1._eval$1("MapMixin.K"), t1._eval$1("MapMixin.V"), RK, RV);
    },
    forEach$1: function(receiver, action) {
      var t1, key;
      for (t1 = J.get$iterator$ax(this.get$keys(receiver)); t1.moveNext$0();) {
        key = t1.get$current(t1);
        action.call$2(key, this.$index(receiver, key));
      }
    },
    addAll$1: function(receiver, other) {
      var t1, key;
      for (t1 = other.get$keys(other), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        key = t1.get$current(t1);
        this.$indexSet(receiver, key, other.$index(0, key));
      }
    },
    putIfAbsent$2: function(receiver, key, ifAbsent) {
      var t1;
      if (this.containsKey$1(receiver, key))
        return this.$index(receiver, key);
      t1 = ifAbsent.call$0();
      this.$indexSet(receiver, key, t1);
      return t1;
    },
    update$3$ifAbsent: function(receiver, key, update, ifAbsent) {
      var t1, _this = this;
      if (_this.containsKey$1(receiver, key)) {
        t1 = update.call$1(_this.$index(receiver, key));
        _this.$indexSet(receiver, key, t1);
        return t1;
      }
      if (ifAbsent != null) {
        t1 = ifAbsent.call$0();
        _this.$indexSet(receiver, key, t1);
        return t1;
      }
      throw H.wrapException(P.ArgumentError$value(key, "key", "Key not in map."));
    },
    update$2: function($receiver, key, update) {
      return this.update$3$ifAbsent($receiver, key, update, null);
    },
    get$entries: function(receiver) {
      return J.map$1$1$ax(this.get$keys(receiver), new P.MapMixin_entries_closure(receiver), H.instanceType(receiver)._eval$1("MapEntry<MapMixin.K,MapMixin.V>"));
    },
    map$2$1: function(receiver, transform, K2, V2) {
      var t1, key, entry,
        result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
      for (t1 = J.get$iterator$ax(this.get$keys(receiver)); t1.moveNext$0();) {
        key = t1.get$current(t1);
        entry = transform.call$2(key, this.$index(receiver, key));
        result.$indexSet(0, entry.get$key(entry), entry.get$value(entry));
      }
      return result;
    },
    map$1: function($receiver, transform) {
      return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
    },
    addEntries$1: function(receiver, newEntries) {
      var t1, t2;
      for (t1 = newEntries.get$iterator(newEntries); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        this.$indexSet(receiver, t2.get$key(t2), t2.get$value(t2));
      }
    },
    removeWhere$1: function(receiver, test) {
      var t1, key, _i,
        keysToRemove = H._setArrayType([], H.instanceType(receiver)._eval$1("JSArray<MapMixin.K>"));
      for (t1 = J.get$iterator$ax(this.get$keys(receiver)); t1.moveNext$0();) {
        key = t1.get$current(t1);
        if (test.call$2(key, this.$index(receiver, key)))
          keysToRemove.push(key);
      }
      for (t1 = keysToRemove.length, _i = 0; _i < keysToRemove.length; keysToRemove.length === t1 || (0, H.throwConcurrentModificationError)(keysToRemove), ++_i)
        this.remove$1(receiver, keysToRemove[_i]);
    },
    containsKey$1: function(receiver, key) {
      return J.contains$1$asx(this.get$keys(receiver), key);
    },
    get$length: function(receiver) {
      return J.get$length$asx(this.get$keys(receiver));
    },
    get$isEmpty: function(receiver) {
      return J.get$isEmpty$asx(this.get$keys(receiver));
    },
    get$isNotEmpty: function(receiver) {
      return J.get$isNotEmpty$asx(this.get$keys(receiver));
    },
    get$values: function(receiver) {
      var t1 = H.instanceType(receiver);
      return new P._MapBaseValueIterable(receiver, t1._eval$1("@<MapMixin.K>")._bind$1(t1._eval$1("MapMixin.V"))._eval$1("_MapBaseValueIterable<1,2>"));
    },
    toString$0: function(receiver) {
      return P.MapBase_mapToString(receiver);
    },
    $isMap: 1
  };
  P.MapMixin_entries_closure.prototype = {
    call$1: function(key) {
      var t1 = this.$this,
        t2 = H.instanceType(t1);
      return new P.MapEntry(key, J.$index$asx(t1, key), t2._eval$1("@<MapMixin.K>")._bind$1(t2._eval$1("MapMixin.V"))._eval$1("MapEntry<1,2>"));
    },
    $signature: function() {
      return H.instanceType(this.$this)._eval$1("MapEntry<MapMixin.K,MapMixin.V>(MapMixin.K)");
    }
  };
  P.UnmodifiableMapBase.prototype = {};
  P._MapBaseValueIterable.prototype = {
    get$length: function(_) {
      return J.get$length$asx(this._collection$_map);
    },
    get$isEmpty: function(_) {
      return J.get$isEmpty$asx(this._collection$_map);
    },
    get$isNotEmpty: function(_) {
      return J.get$isNotEmpty$asx(this._collection$_map);
    },
    get$first: function(_) {
      var t1 = this._collection$_map,
        t2 = J.getInterceptor$x(t1);
      return t2.$index(t1, J.get$first$ax(t2.get$keys(t1)));
    },
    get$last: function(_) {
      var t1 = this._collection$_map,
        t2 = J.getInterceptor$x(t1);
      return t2.$index(t1, J.get$last$ax(t2.get$keys(t1)));
    },
    get$iterator: function(_) {
      var t1 = this._collection$_map,
        t2 = this.$ti;
      return new P._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>"));
    }
  };
  P._MapBaseValueIterator.prototype = {
    moveNext$0: function() {
      var _this = this,
        t1 = _this._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: function(_) {
      return this._collection$_current;
    }
  };
  P._UnmodifiableMapMixin.prototype = {
    $indexSet: function(_, key, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
    },
    addAll$1: function(_, other) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
    },
    clear$0: function(_) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
    },
    remove$1: function(_, key) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
    },
    putIfAbsent$2: function(_, key, ifAbsent) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
    }
  };
  P.MapView.prototype = {
    cast$2$0: function(_, RK, RV) {
      return J.cast$2$0$ax(this._collection$_map, RK, RV);
    },
    $index: function(_, key) {
      return J.$index$asx(this._collection$_map, key);
    },
    $indexSet: function(_, key, value) {
      J.$indexSet$ax(this._collection$_map, key, value);
    },
    addAll$1: function(_, other) {
      J.addAll$1$ax(this._collection$_map, other);
    },
    clear$0: function(_) {
      J.clear$0$ax(this._collection$_map);
    },
    putIfAbsent$2: function(_, key, ifAbsent) {
      return J.putIfAbsent$2$x(this._collection$_map, key, ifAbsent);
    },
    containsKey$1: function(_, key) {
      return J.containsKey$1$x(this._collection$_map, key);
    },
    forEach$1: function(_, action) {
      J.forEach$1$ax(this._collection$_map, action);
    },
    get$isEmpty: function(_) {
      return J.get$isEmpty$asx(this._collection$_map);
    },
    get$isNotEmpty: function(_) {
      return J.get$isNotEmpty$asx(this._collection$_map);
    },
    get$length: function(_) {
      return J.get$length$asx(this._collection$_map);
    },
    get$keys: function(_) {
      return J.get$keys$x(this._collection$_map);
    },
    remove$1: function(_, key) {
      return J.remove$1$ax(this._collection$_map, key);
    },
    toString$0: function(_) {
      return J.toString$0$(this._collection$_map);
    },
    get$values: function(_) {
      return J.get$values$x(this._collection$_map);
    },
    get$entries: function(_) {
      return J.get$entries$x(this._collection$_map);
    },
    map$2$1: function(_, transform, K2, V2) {
      return J.map$2$1$ax(this._collection$_map, transform, K2, V2);
    },
    map$1: function($receiver, transform) {
      return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
    },
    $isMap: 1
  };
  P.UnmodifiableMapView.prototype = {
    cast$2$0: function(_, RK, RV) {
      return new P.UnmodifiableMapView(J.cast$2$0$ax(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>"));
    }
  };
  P._DoubleLink.prototype = {
    _link$2: function(previous, next) {
      var _this = this;
      _this._nextLink = next;
      _this._previousLink = previous;
      if (previous != null)
        previous._nextLink = H._instanceType(_this)._eval$1("_DoubleLink.0")._as(_this);
      if (next != null)
        next._previousLink = H._instanceType(_this)._eval$1("_DoubleLink.0")._as(_this);
    },
    _unlink$0: function() {
      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;
    }
  };
  P.DoubleLinkedQueueEntry.prototype = {
    remove$0: function(_) {
      this._unlink$0();
      return this.get$_collection$_element();
    }
  };
  P._DoubleLinkedQueueEntry.prototype = {
    get$_collection$_element: function() {
      return this._collection$_element;
    },
    nextEntry$0: function() {
      return H._instanceType(this)._eval$1("_DoubleLinkedQueueEntry<1>")._as(this._nextLink)._asNonSentinelEntry$0();
    }
  };
  P._DoubleLinkedQueueElement.prototype = {
    _remove$0: function(_) {
      this._queue = null;
      this._unlink$0();
      return this.get$_collection$_element();
    },
    remove$0: function(_) {
      var _this = this,
        t1 = _this._queue;
      if (t1 != null)
        --t1._elementCount;
      _this._queue = null;
      _this._unlink$0();
      return _this.get$_collection$_element();
    },
    _asNonSentinelEntry$0: function() {
      return this;
    }
  };
  P._DoubleLinkedQueueSentinel.prototype = {
    _asNonSentinelEntry$0: function() {
      return null;
    },
    _remove$0: function(_) {
      throw H.wrapException(H.IterableElementError_noElement());
    },
    get$_collection$_element: function() {
      throw H.wrapException(H.IterableElementError_noElement());
    }
  };
  P.DoubleLinkedQueue.prototype = {
    get$_sentinel: function() {
      var _this = this,
        t1 = _this.__DoubleLinkedQueue__sentinel;
      if (t1 === $) {
        t1 = new P._DoubleLinkedQueueSentinel(_this, null, _this.$ti._eval$1("_DoubleLinkedQueueSentinel<1>"));
        t1._previousLink = t1;
        _this.__DoubleLinkedQueue__sentinel = t1._nextLink = t1;
      }
      return t1;
    },
    cast$1$0: function(_, $R) {
      return new H.CastQueue(this, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastQueue<1,2>"));
    },
    get$length: function(_) {
      return this._elementCount;
    },
    addFirst$1: function(value) {
      var t1 = this.get$_sentinel();
      new P._DoubleLinkedQueueElement(t1._queue, value, H._instanceType(t1)._eval$1("_DoubleLinkedQueueElement<1>"))._link$2(t1, t1._nextLink);
      ++this._elementCount;
    },
    add$1: function(_, value) {
      var t1 = this.get$_sentinel();
      new P._DoubleLinkedQueueElement(t1._queue, value, H._instanceType(t1)._eval$1("_DoubleLinkedQueueElement<1>"))._link$2(t1._previousLink, t1);
      ++this._elementCount;
    },
    addAll$1: function(_, iterable) {
      var t1, t2, t3, value, t4, t5, t6, t7, _this = this;
      for (t1 = J.get$iterator$ax(iterable._source), t2 = H._instanceType(iterable), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1])._rest[1], t3 = _this.$ti._eval$1("_DoubleLinkedQueueSentinel<1>"); t1.moveNext$0();) {
        value = t2._as(t1.get$current(t1));
        t4 = _this.__DoubleLinkedQueue__sentinel;
        if (t4 === $) {
          t4 = new P._DoubleLinkedQueueSentinel(_this, null, t3);
          t4._previousLink = t4;
          _this.__DoubleLinkedQueue__sentinel = t4._nextLink = t4;
        }
        t5 = H._instanceType(t4)._eval$1("_DoubleLinkedQueueElement<1>");
        t6 = new P._DoubleLinkedQueueElement(t4._queue, value, t5);
        t7 = t4._previousLink;
        t6._nextLink = t4;
        t6._previousLink = t7;
        if (t7 != null)
          t7._nextLink = t5._eval$1("_DoubleLink.0")._as(t6);
        t4._previousLink = t5._eval$1("_DoubleLink.0")._as(t6);
        ++_this._elementCount;
      }
    },
    get$first: function(_) {
      return this.get$_sentinel()._nextLink.get$_collection$_element();
    },
    get$last: function(_) {
      return this.get$_sentinel()._previousLink.get$_collection$_element();
    },
    get$isEmpty: function(_) {
      return this.get$_sentinel()._nextLink == this.get$_sentinel();
    },
    clear$0: function(_) {
      var _this = this;
      _this.get$_sentinel()._nextLink = _this.get$_sentinel();
      _this.get$_sentinel()._previousLink = _this.get$_sentinel();
      _this._elementCount = 0;
    },
    get$iterator: function(_) {
      var t1 = this.get$_sentinel();
      return new P._DoubleLinkedQueueIterator(t1, t1._nextLink, this.$ti._eval$1("_DoubleLinkedQueueIterator<1>"));
    },
    toString$0: function(_) {
      return P.IterableBase_iterableToFullString(this, "{", "}");
    },
    $isEfficientLengthIterable: 1
  };
  P._DoubleLinkedQueueIterator.prototype = {
    moveNext$0: function() {
      var _this = this,
        t1 = _this._nextEntry,
        t2 = _this._sentinel;
      if (t1 == t2) {
        _this._sentinel = _this._nextEntry = _this._collection$_current = null;
        return false;
      }
      _this.$ti._eval$1("_DoubleLinkedQueueEntry<1>")._as(t1);
      t2 = t2._queue;
      if (t2 != t1._queue)
        throw H.wrapException(P.ConcurrentModificationError$(t2));
      _this._collection$_current = t1.get$_collection$_element();
      _this._nextEntry = t1._nextLink;
      return true;
    },
    get$current: function(_) {
      return this._collection$_current;
    }
  };
  P.ListQueue.prototype = {
    cast$1$0: function(_, $R) {
      return new H.CastQueue(this, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastQueue<1,2>"));
    },
    get$iterator: function(_) {
      var _this = this;
      return new P._ListQueueIterator(_this, _this._tail, _this._modificationCount, _this._head, _this.$ti._eval$1("_ListQueueIterator<1>"));
    },
    forEach$1: function(_, f) {
      var i, _this = this,
        modificationCount = _this._modificationCount;
      for (i = _this._head; i !== _this._tail; i = (i + 1 & _this._table.length - 1) >>> 0) {
        f.call$1(_this._table[i]);
        if (modificationCount !== _this._modificationCount)
          H.throwExpression(P.ConcurrentModificationError$(_this));
      }
    },
    get$isEmpty: function(_) {
      return this._head === this._tail;
    },
    get$length: function(_) {
      return (this._tail - this._head & this._table.length - 1) >>> 0;
    },
    get$first: function(_) {
      var t1 = this._head;
      if (t1 === this._tail)
        throw H.wrapException(H.IterableElementError_noElement());
      return this._table[t1];
    },
    get$last: function(_) {
      var t1 = this._head,
        t2 = this._tail;
      if (t1 === t2)
        throw H.wrapException(H.IterableElementError_noElement());
      t1 = this._table;
      return t1[(t2 - 1 & t1.length - 1) >>> 0];
    },
    elementAt$1: function(_, index) {
      var t1;
      P.RangeError_checkValidIndex(index, this, null, null);
      t1 = this._table;
      return t1[(this._head + index & t1.length - 1) >>> 0];
    },
    toList$1$growable: function(_, growable) {
      var t1, list, t2, i, _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);
      }
      list = P.List_List$filled($length, _this.get$first(_this), growable, _this.$ti._precomputed1);
      for (t1 = _this._table, t2 = _this._head, i = 0; i < $length; ++i)
        list[i] = t1[(t2 + i & mask) >>> 0];
      return list;
    },
    toList$0: function($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    add$1: function(_, value) {
      this._add$1(0, value);
    },
    addAll$1: function(_, 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 = P.List_List$filled(P.ListQueue__nextPowerOf2(t2 + C.JSInt_methods._shrOtherPositive$1(t2, 1)), null, false, t1._eval$1("1?"));
          _this._tail = _this._writeToList$1(newTable);
          _this._table = newTable;
          _this._head = 0;
          C.JSArray_methods.setRange$4(newTable, $length, t2, elements, 0);
          _this._tail += addCount;
        } else {
          t1 = _this._tail;
          endSpace = t4 - t1;
          if (addCount < endSpace) {
            C.JSArray_methods.setRange$4(t3, t1, t1 + addCount, elements, 0);
            _this._tail += addCount;
          } else {
            preSpace = addCount - endSpace;
            C.JSArray_methods.setRange$4(t3, t1, t1 + endSpace, elements, 0);
            C.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: function(_) {
      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: function(_) {
      return P.IterableBase_iterableToFullString(this, "{", "}");
    },
    addFirst$1: function(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: function() {
      var t2, result, _this = this,
        t1 = _this._head;
      if (t1 === _this._tail)
        throw H.wrapException(H.IterableElementError_noElement());
      ++_this._modificationCount;
      t2 = _this._table;
      result = t2[t1];
      t2[t1] = null;
      _this._head = (t1 + 1 & t2.length - 1) >>> 0;
      return result;
    },
    removeLast$0: function(_) {
      var result, _this = this,
        t1 = _this._head,
        t2 = _this._tail;
      if (t1 === t2)
        throw H.wrapException(H.IterableElementError_noElement());
      ++_this._modificationCount;
      t1 = _this._table;
      t2 = _this._tail = (t2 - 1 & t1.length - 1) >>> 0;
      result = t1[t2];
      t1[t2] = null;
      return result;
    },
    _add$1: function(_, 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: function() {
      var _this = this,
        newTable = P.List_List$filled(_this._table.length * 2, null, false, _this.$ti._eval$1("1?")),
        t1 = _this._table,
        t2 = _this._head,
        split = t1.length - t2;
      C.JSArray_methods.setRange$4(newTable, 0, split, t1, t2);
      C.JSArray_methods.setRange$4(newTable, split, split + _this._head, _this._table, 0);
      _this._head = 0;
      _this._tail = _this._table.length;
      _this._table = newTable;
    },
    _writeToList$1: function(target) {
      var $length, firstPartSize, _this = this,
        t1 = _this._head,
        t2 = _this._tail,
        t3 = _this._table;
      if (t1 <= t2) {
        $length = t2 - t1;
        C.JSArray_methods.setRange$4(target, 0, $length, t3, t1);
        return $length;
      } else {
        firstPartSize = t3.length - t1;
        C.JSArray_methods.setRange$4(target, 0, firstPartSize, t3, t1);
        C.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this._tail, _this._table, 0);
        return _this._tail + firstPartSize;
      }
    }
  };
  P._ListQueueIterator.prototype = {
    get$current: function(_) {
      return this._collection$_current;
    },
    moveNext$0: function() {
      var t2, _this = this,
        t1 = _this._queue;
      if (_this._modificationCount !== t1._modificationCount)
        H.throwExpression(P.ConcurrentModificationError$(t1));
      t2 = _this._collection$_position;
      if (t2 === _this._end) {
        _this._collection$_current = null;
        return false;
      }
      t1 = t1._table;
      _this._collection$_current = t1[t2];
      _this._collection$_position = (t2 + 1 & t1.length - 1) >>> 0;
      return true;
    }
  };
  P.SetMixin.prototype = {
    get$isEmpty: function(_) {
      return this.get$length(this) === 0;
    },
    get$isNotEmpty: function(_) {
      return this.get$length(this) !== 0;
    },
    cast$1$0: function(_, $R) {
      return P.Set_castFrom(this, null, H._instanceType(this)._eval$1("SetMixin.E"), $R);
    },
    addAll$1: function(_, elements) {
      var t1;
      for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
        this.add$1(0, t1.get$current(t1));
    },
    removeAll$1: function(elements) {
      var t1, _i;
      for (t1 = elements.length, _i = 0; _i < elements.length; elements.length === t1 || (0, H.throwConcurrentModificationError)(elements), ++_i)
        this.remove$1(0, elements[_i]);
    },
    removeWhere$1: function(_, 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: function(other) {
      var t1 = this.toSet$0(0);
      t1.addAll$1(0, other);
      return t1;
    },
    intersection$1: function(_, 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;
    },
    difference$1: function(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: function(_, growable) {
      return P.List_List$of(this, growable, H._instanceType(this)._eval$1("SetMixin.E"));
    },
    toList$0: function($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    map$1$1: function(_, f, $T) {
      return new H.EfficientLengthMappedIterable(this, f, H._instanceType(this)._eval$1("@<SetMixin.E>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
    },
    map$1: function($receiver, f) {
      return this.map$1$1($receiver, f, type$.dynamic);
    },
    toString$0: function(_) {
      return P.IterableBase_iterableToFullString(this, "{", "}");
    },
    where$1: function(_, f) {
      return new H.WhereIterable(this, f, H._instanceType(this)._eval$1("WhereIterable<SetMixin.E>"));
    },
    forEach$1: function(_, f) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        f.call$1(t1.get$current(t1));
    },
    any$1: function(_, 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: function(_, n) {
      return H.TakeIterable_TakeIterable(this, n, H._instanceType(this)._eval$1("SetMixin.E"));
    },
    skip$1: function(_, n) {
      return H.SkipIterable_SkipIterable(this, n, H._instanceType(this)._eval$1("SetMixin.E"));
    },
    get$first: function(_) {
      var it = this.get$iterator(this);
      if (!it.moveNext$0())
        throw H.wrapException(H.IterableElementError_noElement());
      return it.get$current(it);
    },
    get$last: function(_) {
      var result,
        it = this.get$iterator(this);
      if (!it.moveNext$0())
        throw H.wrapException(H.IterableElementError_noElement());
      do
        result = it.get$current(it);
      while (it.moveNext$0());
      return result;
    },
    firstWhere$2$orElse: function(_, test, orElse) {
      var t1, element;
      for (t1 = this.get$iterator(this); t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (test.call$1(element))
          return element;
      }
      return orElse.call$0();
    },
    elementAt$1: function(_, index) {
      var t1, elementIndex, element, _s5_ = "index";
      H.checkNotNullable(index, _s5_, type$.int);
      P.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 H.wrapException(P.IndexError$(index, this, _s5_, null, elementIndex));
    }
  };
  P._SetBase.prototype = {
    cast$1$0: function(_, $R) {
      return P.Set_castFrom(this, this.get$_newSimilarSet(), H._instanceType(this)._precomputed1, $R);
    },
    difference$1: function(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: function(_, 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: function(_) {
      var t1 = this._newSet$0();
      t1.addAll$1(0, this);
      return t1;
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isSet: 1
  };
  P._UnmodifiableSetMixin.prototype = {
    add$1: function(_, value) {
      P._UnmodifiableSetMixin__throwUnmodifiable();
      return H.ReachabilityError$(string$.x60null_t);
    },
    addAll$1: function(_, elements) {
      P._UnmodifiableSetMixin__throwUnmodifiable();
      return H.ReachabilityError$(string$.x60null_t);
    },
    removeAll$1: function(elements) {
      P._UnmodifiableSetMixin__throwUnmodifiable();
      return H.ReachabilityError$(string$.x60null_t);
    },
    removeWhere$1: function(_, test) {
      P._UnmodifiableSetMixin__throwUnmodifiable();
      return H.ReachabilityError$(string$.x60null_t);
    },
    remove$1: function(_, value) {
      P._UnmodifiableSetMixin__throwUnmodifiable();
      return H.ReachabilityError$(string$.x60null_t);
    }
  };
  P._UnmodifiableSet.prototype = {
    _newSet$0: function() {
      return P.LinkedHashSet_LinkedHashSet(this.$ti._precomputed1);
    },
    _newSimilarSet$1$0: function($R) {
      return P.LinkedHashSet_LinkedHashSet($R);
    },
    _newSimilarSet$0: function() {
      return this._newSimilarSet$1$0(type$.dynamic);
    },
    contains$1: function(_, element) {
      return J.containsKey$1$x(this._collection$_map, element);
    },
    get$iterator: function(_) {
      return J.get$iterator$ax(J.get$keys$x(this._collection$_map));
    },
    get$length: function(_) {
      return J.get$length$asx(this._collection$_map);
    }
  };
  P._SplayTreeNode.prototype = {
    get$key: function(receiver) {
      return this.key;
    }
  };
  P._SplayTreeSetNode.prototype = {};
  P._SplayTreeMapNode.prototype = {
    _replaceValue$1: function(value) {
      var _this = this,
        t1 = _this.$ti;
      t1 = new P._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: function(_) {
      return "MapEntry(" + H.S(this.key) + ": " + H.S(this.value) + ")";
    },
    $isMapEntry: 1,
    get$value: function(receiver) {
      return this.value;
    }
  };
  P._SplayTree.prototype = {
    _splay$1: function(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: function(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: function(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: function(_, 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: function(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: function() {
      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: function() {
      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: function(_) {
      this.set$_collection$_root(null);
      this._count = 0;
      ++this._modificationCount;
    },
    _containsKey$1: function(key) {
      return this._validKey$1(key) && this._splay$1(key) === 0;
    },
    _compare$2: function(arg0, arg1) {
      return this.get$_compare().call$2(arg0, arg1);
    },
    _validKey$1: function(arg0) {
      return this.get$_validKey().call$1(arg0);
    }
  };
  P.SplayTreeMap.prototype = {
    $index: function(_, 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: function(_, 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: function(_, 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 P._SplayTreeMapNode(value, key, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_SplayTreeMapNode<1,2>")), comp);
    },
    putIfAbsent$2: function(_, 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 H.wrapException(P.ConcurrentModificationError$(_this));
      if (splayCount !== _this._splayCount)
        comp = _this._splay$1(key);
      t1 = _this.$ti;
      _this._addNewRoot$2(new P._SplayTreeMapNode(value, key, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_SplayTreeMapNode<1,2>")), comp);
      return value;
    },
    addAll$1: function(_, other) {
      other.forEach$1(0, new P.SplayTreeMap_addAll_closure(this));
    },
    get$isEmpty: function(_) {
      return this._collection$_root == null;
    },
    get$isNotEmpty: function(_) {
      return this._collection$_root != null;
    },
    forEach$1: function(_, f) {
      var nodes, node,
        t1 = this.$ti;
      t1 = t1._eval$1("@<1>")._bind$1(t1._rest[1]);
      nodes = new P._SplayTreeMapEntryIterator(this, H._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: function(_) {
      return this._count;
    },
    clear$0: function(_) {
      this._clear$0(0);
    },
    containsKey$1: function(_, key) {
      return this._containsKey$1(key);
    },
    get$keys: function(_) {
      var t1 = this.$ti;
      return new P._SplayTreeKeyIterable(this, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeMapNode<1,2>"))._eval$1("_SplayTreeKeyIterable<1,2>"));
    },
    get$values: function(_) {
      var t1 = this.$ti;
      return new P._SplayTreeValueIterable(this, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_SplayTreeValueIterable<1,2>"));
    },
    get$entries: function(_) {
      var t1 = this.$ti;
      return new P._SplayTreeMapEntryIterable(this, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_SplayTreeMapEntryIterable<1,2>"));
    },
    firstKey$0: function() {
      if (this._collection$_root == null)
        return null;
      return this.get$_collection$_first().key;
    },
    lastKey$0: function() {
      if (this._collection$_root == null)
        return null;
      return this.get$_collection$_last().key;
    },
    lastKeyBefore$1: function(key) {
      var node, nodeRight, nodeRight0, _this = this;
      if (key == null)
        throw H.wrapException(P.ArgumentError$(key));
      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: function(key) {
      var node, nodeLeft, nodeLeft0, _this = this;
      if (key == null)
        throw H.wrapException(P.ArgumentError$(key));
      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: function(arg0, arg1) {
      return this._compare.call$2(arg0, arg1);
    },
    _validKey$1: function(arg0) {
      return this._validKey.call$1(arg0);
    },
    get$_collection$_root: function() {
      return this._collection$_root;
    },
    get$_compare: function() {
      return this._compare;
    },
    set$_collection$_root: function(val) {
      return this._collection$_root = val;
    }
  };
  P.SplayTreeMap_closure.prototype = {
    call$1: function(a) {
      return this.K._is(a);
    },
    $signature: 54
  };
  P.SplayTreeMap_addAll_closure.prototype = {
    call$2: function(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("~(1,2)");
    }
  };
  P._SplayTreeIterator.prototype = {
    get$current: function(_) {
      var t1 = this._collection$_path;
      if (t1.length === 0)
        return null;
      return this._getValue$1(C.JSArray_methods.get$last(t1));
    },
    moveNext$0: function() {
      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 H.wrapException(P.ConcurrentModificationError$(t2));
      }
      t1 = _this._collection$_path;
      if (t1.length === 0)
        return false;
      if (_this._splayCount !== t2._splayCount) {
        t3 = C.JSArray_methods.get$last(t1).key;
        C.JSArray_methods.set$length(t1, 0);
        t2._splay$1(t3);
        t3 = t2.get$_collection$_root();
        t3.toString;
        t1.push(t3);
        _this._splayCount = t2._splayCount;
      }
      node = C.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 && C.JSArray_methods.get$last(t1)._collection$_right == node))
          break;
        node = t1.pop();
      }
      return t1.length !== 0;
    }
  };
  P._SplayTreeKeyIterable.prototype = {
    get$length: function(_) {
      return this._tree._count;
    },
    get$isEmpty: function(_) {
      return this._tree._count === 0;
    },
    get$iterator: function(_) {
      var t1 = this._tree,
        t2 = this.$ti;
      return new P._SplayTreeKeyIterator(t1, H._setArrayType([], t2._eval$1("JSArray<2>")), t1._splayCount, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_SplayTreeKeyIterator<1,2>"));
    },
    contains$1: function(_, o) {
      return this._tree._containsKey$1(o);
    },
    toSet$0: function(_) {
      var t1 = this._tree,
        t2 = this.$ti,
        set = P.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;
    }
  };
  P._SplayTreeValueIterable.prototype = {
    get$length: function(_) {
      return this._collection$_map._count;
    },
    get$isEmpty: function(_) {
      return this._collection$_map._count === 0;
    },
    get$iterator: function(_) {
      var t1 = this._collection$_map,
        t2 = this.$ti;
      t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]);
      return new P._SplayTreeValueIterator(t1, H._setArrayType([], t2._eval$1("JSArray<_SplayTreeMapNode<1,2>>")), t1._splayCount, t2._eval$1("_SplayTreeValueIterator<1,2>"));
    }
  };
  P._SplayTreeMapEntryIterable.prototype = {
    get$length: function(_) {
      return this._collection$_map._count;
    },
    get$isEmpty: function(_) {
      return this._collection$_map._count === 0;
    },
    get$iterator: function(_) {
      var t1 = this._collection$_map,
        t2 = this.$ti;
      t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]);
      return new P._SplayTreeMapEntryIterator(t1, H._setArrayType([], t2._eval$1("JSArray<_SplayTreeMapNode<1,2>>")), t1._splayCount, t2._eval$1("_SplayTreeMapEntryIterator<1,2>"));
    }
  };
  P._SplayTreeKeyIterator.prototype = {
    _getValue$1: function(node) {
      return node.key;
    }
  };
  P._SplayTreeValueIterator.prototype = {
    _getValue$1: function(node) {
      return node.value;
    }
  };
  P._SplayTreeMapEntryIterator.prototype = {
    _getValue$1: function(node) {
      return node;
    }
  };
  P.SplayTreeSet.prototype = {
    _newSet$1$0: function($T) {
      return P.SplayTreeSet$(new P.SplayTreeSet__newSet_closure(this, $T), this._validKey, $T);
    },
    _newSet$0: function() {
      return this._newSet$1$0(type$.dynamic);
    },
    cast$1$0: function(_, $R) {
      return P.Set_castFrom(this, this.get$_newSet(), this.$ti._precomputed1, $R);
    },
    get$iterator: function(_) {
      var t1 = this.$ti;
      return new P._SplayTreeKeyIterator(this, H._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: function(_) {
      return this._count;
    },
    get$isEmpty: function(_) {
      return this._collection$_root == null;
    },
    get$isNotEmpty: function(_) {
      return this._collection$_root != null;
    },
    get$first: function(_) {
      if (this._count === 0)
        throw H.wrapException(H.IterableElementError_noElement());
      return this.get$_collection$_first().key;
    },
    get$last: function(_) {
      if (this._count === 0)
        throw H.wrapException(H.IterableElementError_noElement());
      return this.get$_collection$_last().key;
    },
    contains$1: function(_, element) {
      return this._validKey.call$1(element) && this._splay$1(this.$ti._precomputed1._as(element)) === 0;
    },
    add$1: function(_, element) {
      return this._add$1(0, element);
    },
    _add$1: function(_, element) {
      var compare = this._splay$1(element);
      if (compare === 0)
        return false;
      this._addNewRoot$2(new P._SplayTreeSetNode(element, this.$ti._eval$1("_SplayTreeSetNode<1>")), compare);
      return true;
    },
    remove$1: function(_, object) {
      if (!this._validKey.call$1(object))
        return false;
      return this._remove$1(0, this.$ti._precomputed1._as(object)) != null;
    },
    addAll$1: function(_, elements) {
      var t1;
      for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
        this._add$1(0, t1.get$current(t1));
    },
    removeAll$1: function(elements) {
      var t1, t2, _i, element;
      for (t1 = elements.length, t2 = this.$ti._precomputed1, _i = 0; _i < elements.length; elements.length === t1 || (0, H.throwConcurrentModificationError)(elements), ++_i) {
        element = elements[_i];
        if (this._validKey.call$1(element))
          this._remove$1(0, t2._as(element));
      }
    },
    intersection$1: function(_, other) {
      var element, _this = this,
        t1 = _this.$ti,
        result = P.SplayTreeSet$(_this._compare, _this._validKey, t1._precomputed1);
      for (t1 = new P._SplayTreeKeyIterator(_this, H._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;
    },
    difference$1: function(other) {
      var element, _this = this,
        t1 = _this.$ti,
        result = P.SplayTreeSet$(_this._compare, _this._validKey, t1._precomputed1);
      for (t1 = new P._SplayTreeKeyIterator(_this, H._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: function() {
      var _this = this,
        t1 = _this.$ti,
        set = P.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: function(node, $Node) {
      var result;
      if (node == null)
        return null;
      result = new P._SplayTreeSetNode(node.key, this.$ti._eval$1("_SplayTreeSetNode<1>"));
      new P.SplayTreeSet__copyNode_copyChildren(this, $Node).call$2(node, result);
      return result;
    },
    toSet$0: function(_) {
      return this._clone$0();
    },
    toString$0: function(_) {
      return P.IterableBase_iterableToFullString(this, "{", "}");
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isSet: 1,
    _compare$2: function(arg0, arg1) {
      return this._compare.call$2(arg0, arg1);
    },
    _validKey$1: function(arg0) {
      return this._validKey.call$1(arg0);
    },
    get$_collection$_root: function() {
      return this._collection$_root;
    },
    get$_compare: function() {
      return this._compare;
    },
    set$_collection$_root: function(val) {
      return this._collection$_root = val;
    }
  };
  P.SplayTreeSet_closure.prototype = {
    call$1: function(v) {
      return this.E._is(v);
    },
    $signature: 54
  };
  P.SplayTreeSet__newSet_closure.prototype = {
    call$2: function(a, b) {
      var t1 = this.$this,
        t2 = t1.$ti._precomputed1;
      t2._as(a);
      t2._as(b);
      return t1._compare.call$2(a, b);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: function() {
      return this.T._eval$1("int(0,0)");
    }
  };
  P.SplayTreeSet__copyNode_copyChildren.prototype = {
    call$2: function(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 P._SplayTreeSetNode(left.key, t1);
          dest._collection$_left = newLeft;
          this.call$2(left, newLeft);
        }
        t2 = right != null;
        if (t2) {
          newRight = new P._SplayTreeSetNode(right.key, t1);
          dest._collection$_right = newRight;
          dest = newRight;
          node = right;
        }
      } while (t2);
    },
    $signature: function() {
      return this.$this.$ti._bind$1(this.Node)._eval$1("~(1,_SplayTreeSetNode<2>)");
    }
  };
  P._ListBase_Object_ListMixin.prototype = {};
  P._SplayTreeMap__SplayTree_MapMixin.prototype = {};
  P._SplayTreeSet__SplayTree_IterableMixin.prototype = {};
  P._SplayTreeSet__SplayTree_IterableMixin_SetMixin.prototype = {};
  P._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {};
  P.__SetBase_Object_SetMixin.prototype = {};
  P.__UnmodifiableSet__SetBase__UnmodifiableSetMixin.prototype = {};
  P._JsonMap.prototype = {
    $index: function(_, key) {
      var result,
        t1 = this._processed;
      if (t1 == null)
        return this._data.$index(0, key);
      else if (typeof key != "string")
        return null;
      else {
        result = t1[key];
        return typeof result == "undefined" ? this._process$1(key) : result;
      }
    },
    get$length: function(_) {
      var t1;
      if (this._processed == null) {
        t1 = this._data;
        t1 = t1.get$length(t1);
      } else
        t1 = this._convert$_computeKeys$0().length;
      return t1;
    },
    get$isEmpty: function(_) {
      return this.get$length(this) === 0;
    },
    get$isNotEmpty: function(_) {
      return this.get$length(this) > 0;
    },
    get$keys: function(_) {
      var t1;
      if (this._processed == null) {
        t1 = this._data;
        return t1.get$keys(t1);
      }
      return new P._JsonMapKeyIterable(this);
    },
    get$values: function(_) {
      var t1, _this = this;
      if (_this._processed == null) {
        t1 = _this._data;
        return t1.get$values(t1);
      }
      return H.MappedIterable_MappedIterable(_this._convert$_computeKeys$0(), new P._JsonMap_values_closure(_this), type$.String, type$.dynamic);
    },
    $indexSet: function(_, 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: function(_, other) {
      other.forEach$1(0, new P._JsonMap_addAll_closure(this));
    },
    containsKey$1: function(_, 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: function(_, 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: function(_, key) {
      if (this._processed != null && !this.containsKey$1(0, key))
        return null;
      return this._upgrade$0().remove$1(0, key);
    },
    clear$0: function(_) {
      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 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      }
    },
    forEach$1: function(_, 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 = P._convertJsonToDartLazy(_this._original[key]);
          _this._processed[key] = value;
        }
        f.call$2(key, value);
        if (keys !== _this._data)
          throw H.wrapException(P.ConcurrentModificationError$(_this));
      }
    },
    _convert$_computeKeys$0: function() {
      var keys = this._data;
      if (keys == null)
        keys = this._data = H._setArrayType(Object.keys(this._original), type$.JSArray_String);
      return keys;
    },
    _upgrade$0: function() {
      var result, keys, i, t1, key, _this = this;
      if (_this._processed == null)
        return _this._data;
      result = P.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
        C.JSArray_methods.set$length(keys, 0);
      _this._original = _this._processed = null;
      return _this._data = result;
    },
    _process$1: function(key) {
      var result;
      if (!Object.prototype.hasOwnProperty.call(this._original, key))
        return null;
      result = P._convertJsonToDartLazy(this._original[key]);
      return this._processed[key] = result;
    }
  };
  P._JsonMap_values_closure.prototype = {
    call$1: function(each) {
      return this.$this.$index(0, each);
    },
    $signature: 323
  };
  P._JsonMap_addAll_closure.prototype = {
    call$2: function(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature: 27
  };
  P._JsonMapKeyIterable.prototype = {
    get$length: function(_) {
      var t1 = this._parent;
      return t1.get$length(t1);
    },
    elementAt$1: function(_, index) {
      var t1 = this._parent;
      return t1._processed == null ? t1.get$keys(t1).elementAt$1(0, index) : t1._convert$_computeKeys$0()[index];
    },
    get$iterator: function(_) {
      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, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
      }
      return t1;
    },
    contains$1: function(_, key) {
      return this._parent.containsKey$1(0, key);
    }
  };
  P.Utf8Decoder__decoder_closure.prototype = {
    call$0: function() {
      var t1, exception;
      try {
        t1 = new TextDecoder("utf-8", {fatal: true});
        return t1;
      } catch (exception) {
        H.unwrapException(exception);
      }
      return null;
    },
    $signature: 44
  };
  P.Utf8Decoder__decoderNonfatal_closure.prototype = {
    call$0: function() {
      var t1, exception;
      try {
        t1 = new TextDecoder("utf-8", {fatal: false});
        return t1;
      } catch (exception) {
        H.unwrapException(exception);
      }
      return null;
    },
    $signature: 44
  };
  P.AsciiCodec.prototype = {
    get$name: function(_) {
      return "us-ascii";
    },
    encode$1: function(source) {
      return C.AsciiEncoder_127.convert$1(source);
    },
    decode$1: function(_, bytes) {
      var t1 = C.AsciiDecoder_false_127.convert$1(bytes);
      return t1;
    },
    get$encoder: function() {
      return C.AsciiEncoder_127;
    }
  };
  P._UnicodeSubsetEncoder.prototype = {
    convert$1: function(string) {
      var t1, t2, i, codeUnit,
        $length = P.RangeError_checkValidRange(0, null, string.length) - 0,
        result = new Uint8Array($length);
      for (t1 = ~this._subsetMask, t2 = J.getInterceptor$s(string), i = 0; i < $length; ++i) {
        codeUnit = t2._codeUnitAt$1(string, i);
        if ((codeUnit & t1) !== 0)
          throw H.wrapException(P.ArgumentError$value(string, "string", "Contains invalid characters."));
        result[i] = codeUnit;
      }
      return result;
    }
  };
  P.AsciiEncoder.prototype = {};
  P._UnicodeSubsetDecoder.prototype = {
    convert$1: function(bytes) {
      var t2, i, byte,
        t1 = J.getInterceptor$asx(bytes),
        end = P.RangeError_checkValidRange(0, null, t1.get$length(bytes));
      for (t2 = ~this._subsetMask, i = 0; i < end; ++i) {
        byte = t1.$index(bytes, i);
        if ((byte & t2) >>> 0 !== 0) {
          if (!this._allowInvalid)
            throw H.wrapException(P.FormatException$("Invalid value in input: " + H.S(byte), null, null));
          return this._convertInvalid$3(bytes, 0, end);
        }
      }
      return P.String_String$fromCharCodes(bytes, 0, end);
    },
    _convertInvalid$3: function(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 += H.Primitives_stringFromCharCode((value & t1) >>> 0 !== 0 ? 65533 : value);
      }
      return t3.charCodeAt(0) == 0 ? t3 : t3;
    }
  };
  P.AsciiDecoder.prototype = {};
  P.Base64Codec.prototype = {
    get$encoder: function() {
      return C.C_Base64Encoder;
    },
    normalize$3: function(_, source, start, end) {
      var inverseAlphabet, t1, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, char0, value, t2, t3, endLength, $length,
        _s31_ = "Invalid base64 encoding length ";
      end = P.RangeError_checkValidRange(start, end, source.length);
      inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet();
      for (t1 = J.getInterceptor$asx(source), i = start, sliceStart = i, buffer = null, firstPadding = -1, firstPaddingSourceIndex = -1, paddingCount = 0; i < end; i = i0) {
        i0 = i + 1;
        char = t1._codeUnitAt$1(source, i);
        if (char === 37) {
          i1 = i0 + 2;
          if (i1 <= end) {
            char0 = H.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 = C.JSString_methods.codeUnitAt$1(string$.ABCDEF, value);
            if (char0 === char)
              continue;
            char = char0;
          } else {
            if (value === -1) {
              if (firstPadding < 0) {
                t2 = buffer == null ? null : buffer._contents.length;
                if (t2 == null)
                  t2 = 0;
                firstPadding = t2 + (i - sliceStart);
                firstPaddingSourceIndex = i;
              }
              ++paddingCount;
              if (char === 61)
                continue;
            }
            char = char0;
          }
          if (value !== -2) {
            if (buffer == null) {
              buffer = new P.StringBuffer("");
              t2 = buffer;
            } else
              t2 = buffer;
            t3 = t2._contents += C.JSString_methods.substring$2(source, sliceStart, i);
            t2._contents = t3 + H.Primitives_stringFromCharCode(char);
            sliceStart = i0;
            continue;
          }
        }
        throw H.wrapException(P.FormatException$("Invalid base64 data", source, i));
      }
      if (buffer != null) {
        t1 = buffer._contents += t1.substring$2(source, sliceStart, end);
        t2 = t1.length;
        if (firstPadding >= 0)
          P.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, t2);
        else {
          endLength = C.JSInt_methods.$mod(t2 - 1, 4) + 1;
          if (endLength === 1)
            throw H.wrapException(P.FormatException$(_s31_, source, end));
          for (; endLength < 4;) {
            t1 += "=";
            buffer._contents = t1;
            ++endLength;
          }
        }
        t1 = buffer._contents;
        return C.JSString_methods.replaceRange$3(source, start, end, t1.charCodeAt(0) == 0 ? t1 : t1);
      }
      $length = end - start;
      if (firstPadding >= 0)
        P.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, $length);
      else {
        endLength = C.JSInt_methods.$mod($length, 4);
        if (endLength === 1)
          throw H.wrapException(P.FormatException$(_s31_, source, end));
        if (endLength > 1)
          source = t1.replaceRange$3(source, end, end, endLength === 2 ? "==" : "=");
      }
      return source;
    }
  };
  P.Base64Encoder.prototype = {
    convert$1: function(input) {
      var t1 = J.getInterceptor$asx(input);
      if (t1.get$isEmpty(input))
        return "";
      t1 = new P._Base64Encoder(string$.ABCDEF).encode$4(input, 0, t1.get$length(input), true);
      t1.toString;
      return P.String_String$fromCharCodes(t1, 0, null);
    }
  };
  P._Base64Encoder.prototype = {
    createBuffer$1: function(_, bufferLength) {
      return new Uint8Array(bufferLength);
    },
    encode$4: function(bytes, start, end, isLast) {
      var output, _this = this,
        byteCount = (_this._convert$_state & 3) + (end - start),
        fullChunks = C.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 = P._Base64Encoder_encodeChunk(_this._alphabet, bytes, start, end, isLast, output, 0, _this._convert$_state);
      if (bufferLength > 0)
        return output;
      return null;
    }
  };
  P.Base64Decoder.prototype = {
    convert$2: function(input, start) {
      var decoder, t1,
        end = P.RangeError_checkValidRange(start, null, input.length);
      if (start === end)
        return new Uint8Array(0);
      decoder = new P._Base64Decoder();
      t1 = decoder.decode$3(0, input, start, end);
      t1.toString;
      decoder.close$2(0, input, end);
      return t1;
    },
    convert$1: function(input) {
      return this.convert$2(input, 0);
    }
  };
  P._Base64Decoder.prototype = {
    decode$3: function(_, input, start, end) {
      var buffer, _this = this,
        t1 = _this._convert$_state;
      if (t1 < 0) {
        _this._convert$_state = P._Base64Decoder__checkPadding(input, start, end, t1);
        return null;
      }
      if (start === end)
        return new Uint8Array(0);
      buffer = P._Base64Decoder__allocateBuffer(input, start, end, t1);
      _this._convert$_state = P._Base64Decoder_decodeChunk(input, start, end, buffer, 0, _this._convert$_state);
      return buffer;
    },
    close$2: function(_, input, end) {
      var t1 = this._convert$_state;
      if (t1 < -1)
        throw H.wrapException(P.FormatException$("Missing padding character", input, end));
      if (t1 > 0)
        throw H.wrapException(P.FormatException$("Invalid length, must be multiple of four", input, end));
      this._convert$_state = -1;
    }
  };
  P.ByteConversionSink.prototype = {};
  P.ByteConversionSinkBase.prototype = {};
  P._ByteCallbackSink.prototype = {
    add$1: function(_, 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 |= C.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;
        C.NativeUint8List_methods.setRange$3(grown, 0, t1.length, t1);
        _this._buffer = grown;
      }
      t1 = _this._buffer;
      t2 = _this._bufferIndex;
      C.NativeUint8List_methods.setRange$3(t1, t2, t2 + t3.get$length(chunk), chunk);
      _this._bufferIndex = _this._bufferIndex + t3.get$length(chunk);
    },
    close$0: function(_) {
      this._convert$_callback.call$1(C.NativeUint8List_methods.sublist$2(this._buffer, 0, this._bufferIndex));
    }
  };
  P.ChunkedConversionSink.prototype = {};
  P.Codec0.prototype = {
    encode$1: function(input) {
      return this.get$encoder().convert$1(input);
    }
  };
  P.Converter.prototype = {
    cast$2$0: function(_, RS, RT) {
      var t1 = H._instanceType(this);
      return new H.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>"));
    }
  };
  P.Encoding.prototype = {};
  P.JsonUnsupportedObjectError.prototype = {
    toString$0: function(_) {
      var safeString = P.Error_safeToString(this.unsupportedObject);
      return (this.cause != null ? "Converting object to an encodable object failed:" : "Converting object did not return an encodable object:") + " " + safeString;
    }
  };
  P.JsonCyclicError.prototype = {
    toString$0: function(_) {
      return "Cyclic error in JSON stringify";
    }
  };
  P.JsonCodec.prototype = {
    decode$2$reviver: function(_, source, reviver) {
      var t1 = P._parseJson(source, this.get$decoder()._reviver);
      return t1;
    },
    decode$1: function($receiver, source) {
      return this.decode$2$reviver($receiver, source, null);
    },
    encode$2$toEncodable: function(value, toEncodable) {
      var t1;
      if (toEncodable == null)
        toEncodable = null;
      if (toEncodable == null) {
        t1 = this.get$encoder();
        return P._JsonStringStringifier_stringify(value, t1._toEncodable, t1.indent);
      }
      return P._JsonStringStringifier_stringify(value, toEncodable, null);
    },
    encode$1: function(value) {
      return this.encode$2$toEncodable(value, null);
    },
    get$encoder: function() {
      return C.JsonEncoder_null_null;
    },
    get$decoder: function() {
      return C.JsonDecoder_null;
    }
  };
  P.JsonEncoder.prototype = {
    convert$1: function(object) {
      var t1,
        output = new P.StringBuffer("");
      P._JsonStringStringifier_printOn(object, output, this._toEncodable, this.indent);
      t1 = output._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  P.JsonDecoder.prototype = {
    convert$1: function(input) {
      return P._parseJson(input, this._reviver);
    }
  };
  P._JsonStringifier.prototype = {
    writeStringContent$1: function(s) {
      var t1, offset, i, charCode, t2, t3, _this = this,
        $length = s.length;
      for (t1 = J.getInterceptor$s(s), offset = 0, i = 0; i < $length; ++i) {
        charCode = t1._codeUnitAt$1(s, i);
        if (charCode > 92) {
          if (charCode >= 55296) {
            t2 = charCode & 64512;
            if (t2 === 55296) {
              t3 = i + 1;
              t3 = !(t3 < $length && (C.JSString_methods._codeUnitAt$1(s, t3) & 64512) === 56320);
            } else
              t3 = false;
            if (!t3)
              if (t2 === 56320) {
                t2 = i - 1;
                t2 = !(t2 >= 0 && (C.JSString_methods.codeUnitAt$1(s, t2) & 64512) === 55296);
              } else
                t2 = false;
            else
              t2 = true;
            if (t2) {
              if (i > offset)
                _this.writeStringSlice$3(s, offset, i);
              offset = i + 1;
              _this.writeCharCode$1(92);
              _this.writeCharCode$1(117);
              _this.writeCharCode$1(100);
              t2 = charCode >>> 8 & 15;
              _this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
              t2 = charCode >>> 4 & 15;
              _this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
              t2 = charCode & 15;
              _this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
            }
          }
          continue;
        }
        if (charCode < 32) {
          if (i > offset)
            _this.writeStringSlice$3(s, offset, i);
          offset = i + 1;
          _this.writeCharCode$1(92);
          switch (charCode) {
            case 8:
              _this.writeCharCode$1(98);
              break;
            case 9:
              _this.writeCharCode$1(116);
              break;
            case 10:
              _this.writeCharCode$1(110);
              break;
            case 12:
              _this.writeCharCode$1(102);
              break;
            case 13:
              _this.writeCharCode$1(114);
              break;
            default:
              _this.writeCharCode$1(117);
              _this.writeCharCode$1(48);
              _this.writeCharCode$1(48);
              t2 = charCode >>> 4 & 15;
              _this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
              t2 = charCode & 15;
              _this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
              break;
          }
        } else if (charCode === 34 || charCode === 92) {
          if (i > offset)
            _this.writeStringSlice$3(s, offset, i);
          offset = i + 1;
          _this.writeCharCode$1(92);
          _this.writeCharCode$1(charCode);
        }
      }
      if (offset === 0)
        _this.writeString$1(s);
      else if (offset < $length)
        _this.writeStringSlice$3(s, offset, $length);
    },
    _checkCycle$1: function(object) {
      var t1, t2, i, t3;
      for (t1 = this._seen, t2 = t1.length, i = 0; i < t2; ++i) {
        t3 = t1[i];
        if (object == null ? t3 == null : object === t3)
          throw H.wrapException(new P.JsonCyclicError(object, null));
      }
      t1.push(object);
    },
    writeObject$1: function(object) {
      var customJson, e, t1, exception, _this = this;
      if (_this.writeJsonValue$1(object))
        return;
      _this._checkCycle$1(object);
      try {
        customJson = _this._toEncodable.call$1(object);
        if (!_this.writeJsonValue$1(customJson)) {
          t1 = P.JsonUnsupportedObjectError$(object, null, _this.get$_partialResult());
          throw H.wrapException(t1);
        }
        _this._seen.pop();
      } catch (exception) {
        e = H.unwrapException(exception);
        t1 = P.JsonUnsupportedObjectError$(object, e, _this.get$_partialResult());
        throw H.wrapException(t1);
      }
    },
    writeJsonValue$1: function(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: function(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: function(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 = P.List_List$filled(t2, null, false, type$.nullable_Object);
      i = _box_0.i = 0;
      _box_0.allStringKeys = true;
      t1.forEach$1(map, new P._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(H._asStringS(keyValueList[i]));
        _this.writeString$1('":');
        _this.writeObject$1(keyValueList[i + 1]);
      }
      _this.writeString$1("}");
      return true;
    }
  };
  P._JsonStringifier_writeMap_closure.prototype = {
    call$2: function(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
  };
  P._JsonPrettyPrintMixin.prototype = {
    writeList$1: function(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: function(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 = P.List_List$filled(t2, null, false, type$.nullable_Object);
      i = _box_0.i = 0;
      _box_0.allStringKeys = true;
      t1.forEach$1(map, new P._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(H._asStringS(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;
    }
  };
  P._JsonPrettyPrintMixin_writeMap_closure.prototype = {
    call$2: function(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
  };
  P._JsonStringStringifier.prototype = {
    get$_partialResult: function() {
      var t1 = this._sink;
      return t1 instanceof P.StringBuffer ? t1.toString$0(0) : null;
    },
    writeNumber$1: function(number) {
      this._sink.write$1(0, C.JSNumber_methods.toString$0(number));
    },
    writeString$1: function(string) {
      this._sink.write$1(0, string);
    },
    writeStringSlice$3: function(string, start, end) {
      this._sink.write$1(0, C.JSString_methods.substring$2(string, start, end));
    },
    writeCharCode$1: function(charCode) {
      this._sink.writeCharCode$1(charCode);
    }
  };
  P._JsonStringStringifierPretty.prototype = {
    writeIndentation$1: function(count) {
      var t1, t2, i;
      for (t1 = this._indent, t2 = this._sink, i = 0; i < count; ++i)
        t2.write$1(0, t1);
    }
  };
  P.Latin1Codec.prototype = {
    get$name: function(_) {
      return "iso-8859-1";
    },
    encode$1: function(source) {
      return C.Latin1Encoder_255.convert$1(source);
    },
    decode$1: function(_, bytes) {
      var t1 = C.Latin1Decoder_false_255.convert$1(bytes);
      return t1;
    },
    get$encoder: function() {
      return C.Latin1Encoder_255;
    }
  };
  P.Latin1Encoder.prototype = {};
  P.Latin1Decoder.prototype = {};
  P.Utf8Codec.prototype = {
    get$name: function(_) {
      return "utf-8";
    },
    decode$1: function(_, codeUnits) {
      return (this._allowMalformed ? C.Utf8Decoder_true : C.Utf8Decoder_false).convert$1(codeUnits);
    },
    get$encoder: function() {
      return C.C_Utf8Encoder;
    }
  };
  P.Utf8Encoder.prototype = {
    convert$1: function(string) {
      var t1, encoder,
        end = P.RangeError_checkValidRange(0, null, string.length),
        $length = end - 0;
      if ($length === 0)
        return new Uint8Array(0);
      t1 = new Uint8Array($length * 3);
      encoder = new P._Utf8Encoder(t1);
      if (encoder._fillBuffer$3(string, 0, end) !== end) {
        J.codeUnitAt$1$s(string, end - 1);
        encoder._writeReplacementCharacter$0();
      }
      return C.NativeUint8List_methods.sublist$2(t1, 0, encoder._bufferIndex);
    }
  };
  P._Utf8Encoder.prototype = {
    _writeReplacementCharacter$0: function() {
      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: function(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: function(str, start, end) {
      var t1, t2, t3, stringIndex, codeUnit, t4, stringIndex0, t5, _this = this;
      if (start !== end && (J.codeUnitAt$1$s(str, end - 1) & 64512) === 55296)
        --end;
      for (t1 = _this._buffer, t2 = t1.length, t3 = J.getInterceptor$s(str), stringIndex = start; stringIndex < end; ++stringIndex) {
        codeUnit = t3._codeUnitAt$1(str, stringIndex);
        if (codeUnit <= 127) {
          t4 = _this._bufferIndex;
          if (t4 >= t2)
            break;
          _this._bufferIndex = t4 + 1;
          t1[t4] = codeUnit;
        } else {
          t4 = codeUnit & 64512;
          if (t4 === 55296) {
            if (_this._bufferIndex + 4 > t2)
              break;
            stringIndex0 = stringIndex + 1;
            if (_this._writeSurrogate$2(codeUnit, C.JSString_methods._codeUnitAt$1(str, stringIndex0)))
              stringIndex = stringIndex0;
          } else if (t4 === 56320) {
            if (_this._bufferIndex + 3 > t2)
              break;
            _this._writeReplacementCharacter$0();
          } else if (codeUnit <= 2047) {
            t4 = _this._bufferIndex;
            t5 = t4 + 1;
            if (t5 >= t2)
              break;
            _this._bufferIndex = t5;
            t1[t4] = codeUnit >>> 6 | 192;
            _this._bufferIndex = t5 + 1;
            t1[t5] = codeUnit & 63 | 128;
          } else {
            t4 = _this._bufferIndex;
            if (t4 + 2 >= t2)
              break;
            t5 = _this._bufferIndex = t4 + 1;
            t1[t4] = codeUnit >>> 12 | 224;
            t4 = _this._bufferIndex = t5 + 1;
            t1[t5] = codeUnit >>> 6 & 63 | 128;
            _this._bufferIndex = t4 + 1;
            t1[t4] = codeUnit & 63 | 128;
          }
        }
      }
      return stringIndex;
    }
  };
  P.Utf8Decoder.prototype = {
    convert$1: function(codeUnits) {
      var t1 = this._allowMalformed,
        result = P.Utf8Decoder__convertIntercepted(t1, codeUnits, 0, null);
      if (result != null)
        return result;
      return new P._Utf8Decoder(t1).convertGeneral$4(codeUnits, 0, null, true);
    }
  };
  P._Utf8Decoder.prototype = {
    convertGeneral$4: function(codeUnits, start, maybeEnd, single) {
      var bytes, errorOffset, result, t1, message, _this = this,
        end = P.RangeError_checkValidRange(start, maybeEnd, J.get$length$asx(codeUnits));
      if (start === end)
        return "";
      if (type$.Uint8List._is(codeUnits)) {
        bytes = codeUnits;
        errorOffset = 0;
      } else {
        bytes = P._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 = P._Utf8Decoder_errorDescription(t1);
        _this._convert$_state = 0;
        throw H.wrapException(P.FormatException$(message, codeUnits, errorOffset + _this._charOrIndex));
      }
      return result;
    },
    _convertRecursive$4: function(bytes, start, end, single) {
      var mid, s1, _this = this;
      if (end - start > 1000) {
        mid = C.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: function(bytes, start, end, single) {
      var t2, type, t3, i0, markEnd, i1, m, _this = this, _65533 = 65533,
        state = _this._convert$_state,
        char = _this._charOrIndex,
        buffer = new P.StringBuffer(""),
        i = start + 1,
        t1 = J.getInterceptor$asx(bytes),
        byte = t1.$index(bytes, start);
      $label0$0:
        for (t2 = _this.allowMalformed; true;) {
          for (; true; i = i0) {
            type = C.JSString_methods._codeUnitAt$1("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE", byte) & 31;
            char = state <= 32 ? byte & 61694 >>> type : (byte & 63 | char << 6) >>> 0;
            state = C.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 += H.Primitives_stringFromCharCode(char);
              if (i === end)
                break $label0$0;
              break;
            } else if ((state & 1) !== 0) {
              if (t2)
                switch (state) {
                  case 69:
                  case 67:
                    buffer._contents += H.Primitives_stringFromCharCode(_65533);
                    break;
                  case 65:
                    buffer._contents += H.Primitives_stringFromCharCode(_65533);
                    --i;
                    break;
                  default:
                    t3 = buffer._contents += H.Primitives_stringFromCharCode(_65533);
                    buffer._contents = t3 + H.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 = t1.$index(bytes, i);
          }
          i0 = i + 1;
          byte = t1.$index(bytes, i);
          if (byte < 128) {
            while (true) {
              if (!(i0 < end)) {
                markEnd = end;
                break;
              }
              i1 = i0 + 1;
              byte = t1.$index(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 += H.Primitives_stringFromCharCode(t1.$index(bytes, m));
            else
              buffer._contents += P.String_String$fromCharCodes(bytes, i, markEnd);
            if (markEnd === end)
              break $label0$0;
            i = i0;
          } else
            i = i0;
        }
      if (single && state > 32)
        if (t2)
          buffer._contents += H.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;
    }
  };
  P.__JsonStringStringifierPretty__JsonStringStringifier__JsonPrettyPrintMixin.prototype = {};
  P.NoSuchMethodError_toString_closure.prototype = {
    call$2: function(key, value) {
      var t3,
        t1 = this.sb,
        t2 = this._box_0;
      t1._contents += t2.comma;
      t3 = t1._contents += H.S(key.__internal$_name);
      t1._contents = t3 + ": ";
      t1._contents += P.Error_safeToString(value);
      t2.comma = ", ";
    },
    $signature: 501
  };
  P.Comparable.prototype = {};
  P.DateTime.prototype = {
    add$1: function(_, duration) {
      return P.DateTime$_withValue(this._core$_value + C.JSInt_methods._tdivFast$1(duration._duration, 1000), this.isUtc);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof P.DateTime && this._core$_value === other._core$_value && this.isUtc === other.isUtc;
    },
    compareTo$1: function(_, other) {
      return C.JSInt_methods.compareTo$1(this._core$_value, other._core$_value);
    },
    DateTime$_withValue$2$isUtc: function(_value, isUtc) {
      var t2,
        t1 = this._core$_value;
      if (Math.abs(t1) <= 864e13)
        t2 = false;
      else
        t2 = true;
      if (t2)
        throw H.wrapException(P.ArgumentError$("DateTime is outside valid range: " + t1));
      H.checkNotNullable(this.isUtc, "isUtc", type$.bool);
    },
    get$hashCode: function(_) {
      var t1 = this._core$_value;
      return (t1 ^ C.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823;
    },
    toLocal$0: function() {
      if (this.isUtc)
        return P.DateTime$_withValue(this._core$_value, false);
      return this;
    },
    toUtc$0: function() {
      if (this.isUtc)
        return this;
      return P.DateTime$_withValue(this._core$_value, true);
    },
    toString$0: function(_) {
      var _this = this,
        y = P.DateTime__fourDigits(H.Primitives_getYear(_this)),
        m = P.DateTime__twoDigits(H.Primitives_getMonth(_this)),
        d = P.DateTime__twoDigits(H.Primitives_getDay(_this)),
        h = P.DateTime__twoDigits(H.Primitives_getHours(_this)),
        min = P.DateTime__twoDigits(H.Primitives_getMinutes(_this)),
        sec = P.DateTime__twoDigits(H.Primitives_getSeconds(_this)),
        ms = P.DateTime__threeDigits(H.Primitives_getMilliseconds(_this));
      if (_this.isUtc)
        return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z";
      else
        return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms;
    },
    $isComparable: 1
  };
  P.DateTime_parse_parseIntOrZero.prototype = {
    call$1: function(matched) {
      if (matched == null)
        return 0;
      return P.int_parse(matched, null);
    },
    $signature: 308
  };
  P.DateTime_parse_parseMilliAndMicroseconds.prototype = {
    call$1: function(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 += C.JSString_methods._codeUnitAt$1(matched, i) ^ 48;
      }
      return result;
    },
    $signature: 308
  };
  P.Duration.prototype = {
    $add: function(_, other) {
      return new P.Duration(this._duration + other._duration);
    },
    $sub: function(_, other) {
      return new P.Duration(this._duration - other._duration);
    },
    $mul: function(_, factor) {
      return new P.Duration(C.JSNumber_methods.round$0(this._duration * factor));
    },
    $tdiv: function(_, quotient) {
      if (quotient === 0)
        throw H.wrapException(new P.IntegerDivisionByZeroException());
      return new P.Duration(C.JSInt_methods.$tdiv(this._duration, quotient));
    },
    $lt: function(_, other) {
      return this._duration < other._duration;
    },
    $gt: function(_, other) {
      return this._duration > other._duration;
    },
    get$inMinutes: function() {
      return C.JSInt_methods._tdivFast$1(this._duration, 60000000);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof P.Duration && this._duration === other._duration;
    },
    get$hashCode: function(_) {
      return C.JSInt_methods.get$hashCode(this._duration);
    },
    compareTo$1: function(_, other) {
      return C.JSInt_methods.compareTo$1(this._duration, other._duration);
    },
    toString$0: function(_) {
      var twoDigitMinutes, twoDigitSeconds, sixDigitUs,
        t1 = new P.Duration_toString_twoDigits(),
        t2 = this._duration;
      if (t2 < 0)
        return "-" + new P.Duration(0 - t2).toString$0(0);
      twoDigitMinutes = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 60000000) % 60);
      twoDigitSeconds = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 1000000) % 60);
      sixDigitUs = new P.Duration_toString_sixDigits().call$1(t2 % 1000000);
      return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + H.S(twoDigitMinutes) + ":" + H.S(twoDigitSeconds) + "." + H.S(sixDigitUs);
    },
    $isComparable: 1
  };
  P.Duration_toString_sixDigits.prototype = {
    call$1: function(n) {
      if (n >= 100000)
        return "" + n;
      if (n >= 10000)
        return "0" + n;
      if (n >= 1000)
        return "00" + n;
      if (n >= 100)
        return "000" + n;
      if (n >= 10)
        return "0000" + n;
      return "00000" + n;
    },
    $signature: 305
  };
  P.Duration_toString_twoDigits.prototype = {
    call$1: function(n) {
      if (n >= 10)
        return "" + n;
      return "0" + n;
    },
    $signature: 305
  };
  P.Error0.prototype = {
    get$stackTrace: function() {
      return H.getTraceFromException(this.$thrownJsError);
    }
  };
  P.AssertionError.prototype = {
    toString$0: function(_) {
      var t1 = this.message;
      if (t1 != null)
        return "Assertion failed: " + P.Error_safeToString(t1);
      return "Assertion failed";
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  P.TypeError.prototype = {};
  P.NullThrownError.prototype = {
    toString$0: function(_) {
      return "Throw of null.";
    }
  };
  P.ArgumentError.prototype = {
    get$_errorName: function() {
      return "Invalid argument" + (!this._hasValue ? "(s)" : "");
    },
    get$_errorExplanation: function() {
      return "";
    },
    toString$0: function(_) {
      var explanation, errorValue, _this = this,
        $name = _this.name,
        nameString = $name == null ? "" : " (" + $name + ")",
        message = _this.message,
        messageString = message == null ? "" : ": " + H.S(message),
        prefix = _this.get$_errorName() + nameString + messageString;
      if (!_this._hasValue)
        return prefix;
      explanation = _this.get$_errorExplanation();
      errorValue = P.Error_safeToString(_this.invalidValue);
      return prefix + explanation + ": " + errorValue;
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  P.RangeError.prototype = {
    get$_errorName: function() {
      return "RangeError";
    },
    get$_errorExplanation: function() {
      var explanation,
        start = this.start,
        end = this.end;
      if (start == null)
        explanation = end != null ? ": Not less than or equal to " + H.S(end) : "";
      else if (end == null)
        explanation = ": Not greater than or equal to " + H.S(start);
      else if (end > start)
        explanation = ": Not in inclusive range " + H.S(start) + ".." + H.S(end);
      else
        explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + H.S(start);
      return explanation;
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  P.IndexError.prototype = {
    get$start: function(_) {
      return 0;
    },
    get$end: function(_) {
      return this.length - 1;
    },
    get$_errorName: function() {
      return "RangeError";
    },
    get$_errorExplanation: function() {
      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 " + H.S(t1);
    },
    get$length: function(receiver) {
      return this.length;
    }
  };
  P.FallThroughError.prototype = {
    toString$0: function(_) {
      return this.super$Object$toString(0);
    }
  };
  P.NoSuchMethodError.prototype = {
    toString$0: function(_) {
      var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, _box_0 = {},
        sb = new P.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 += P.Error_safeToString(argument);
        _box_0.comma = ", ";
      }
      _this._namedArguments.forEach$1(0, new P.NoSuchMethodError_toString_closure(_box_0, sb));
      receiverText = P.Error_safeToString(_this._core$_receiver);
      actualParameters = sb.toString$0(0);
      t1 = "NoSuchMethodError: method not found: '" + H.S(_this._memberName.__internal$_name) + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
      return t1;
    }
  };
  P.UnsupportedError.prototype = {
    toString$0: function(_) {
      return "Unsupported operation: " + this.message;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  P.UnimplementedError.prototype = {
    toString$0: function(_) {
      var message = this.message;
      return message != null ? "UnimplementedError: " + message : "UnimplementedError";
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  P.StateError.prototype = {
    toString$0: function(_) {
      return "Bad state: " + this.message;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  P.ConcurrentModificationError.prototype = {
    toString$0: function(_) {
      var t1 = this.modifiedObject;
      if (t1 == null)
        return "Concurrent modification during iteration.";
      return "Concurrent modification during iteration: " + P.Error_safeToString(t1) + ".";
    }
  };
  P.OutOfMemoryError.prototype = {
    toString$0: function(_) {
      return "Out of Memory";
    },
    get$stackTrace: function() {
      return null;
    },
    $isError0: 1
  };
  P.StackOverflowError.prototype = {
    toString$0: function(_) {
      return "Stack Overflow";
    },
    get$stackTrace: function() {
      return null;
    },
    $isError0: 1
  };
  P.CyclicInitializationError.prototype = {
    toString$0: function(_) {
      var variableName = this.variableName;
      return variableName == null ? "Reading static variable during its initialization" : "Reading static variable '" + variableName + "' during its initialization";
    }
  };
  P._Exception.prototype = {
    toString$0: function(_) {
      var message = this.message;
      if (message == null)
        return "Exception";
      return "Exception: " + H.S(message);
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    }
  };
  P.FormatException.prototype = {
    toString$0: function(_) {
      var t1, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix, slice,
        message = this.message,
        report = message != null && "" !== message ? "FormatException: " + H.S(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 = C.JSString_methods.substring$2(source, 0, 75) + "...";
          return report + "\n" + source;
        }
        for (lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++i) {
          char = C.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 = C.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 = "";
        }
        slice = C.JSString_methods.substring$2(source, start, end);
        return report + prefix + slice + postfix + "\n" + C.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n";
      } else
        return offset != null ? report + (" (at offset " + H.S(offset) + ")") : report;
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    },
    get$source: function(receiver) {
      return this.source;
    },
    get$offset: function(receiver) {
      return this.offset;
    }
  };
  P.IntegerDivisionByZeroException.prototype = {
    toString$0: function(_) {
      return "IntegerDivisionByZeroException";
    },
    $isException: 1
  };
  P.Expando.prototype = {
    $index: function(_, object) {
      if (object == null || H._isBool(object) || typeof object == "number" || typeof object == "string")
        H.throwExpression(P.ArgumentError$value(object, string$.Expand, null));
      return this._jsWeakMap.get(object);
    },
    $indexSet: function(_, object, value) {
      this._jsWeakMap.set(object, value);
    },
    toString$0: function(_) {
      return "Expando:null";
    },
    get$name: function() {
      return null;
    }
  };
  P.Iterable.prototype = {
    cast$1$0: function(_, $R) {
      return H.CastIterable_CastIterable(this, H._instanceType(this)._eval$1("Iterable.E"), $R);
    },
    followedBy$1: function(_, other) {
      var _this = this,
        t1 = H._instanceType(_this);
      if (t1._eval$1("EfficientLengthIterable<Iterable.E>")._is(_this))
        return H.FollowedByIterable_FollowedByIterable$firstEfficient(_this, other, t1._eval$1("Iterable.E"));
      return new H.FollowedByIterable(_this, other, t1._eval$1("FollowedByIterable<Iterable.E>"));
    },
    map$1$1: function(_, toElement, $T) {
      return H.MappedIterable_MappedIterable(this, toElement, H._instanceType(this)._eval$1("Iterable.E"), $T);
    },
    map$1: function($receiver, toElement) {
      return this.map$1$1($receiver, toElement, type$.dynamic);
    },
    where$1: function(_, test) {
      return new H.WhereIterable(this, test, H._instanceType(this)._eval$1("WhereIterable<Iterable.E>"));
    },
    contains$1: function(_, 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: function(_, action) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        action.call$1(t1.get$current(t1));
    },
    fold$1$2: function(_, 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: function($receiver, initialValue, combine) {
      return this.fold$1$2($receiver, initialValue, combine, type$.dynamic);
    },
    every$1: function(_, test) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        if (!test.call$1(t1.get$current(t1)))
          return false;
      return true;
    },
    join$1: function(_, separator) {
      var t1,
        iterator = this.get$iterator(this);
      if (!iterator.moveNext$0())
        return "";
      if (separator === "") {
        t1 = "";
        do
          t1 += H.S(J.toString$0$(iterator.get$current(iterator)));
        while (iterator.moveNext$0());
      } else {
        t1 = H.S(J.toString$0$(iterator.get$current(iterator)));
        for (; iterator.moveNext$0();)
          t1 = t1 + separator + H.S(J.toString$0$(iterator.get$current(iterator)));
      }
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    any$1: function(_, 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: function(_, growable) {
      return P.List_List$of(this, growable, H._instanceType(this)._eval$1("Iterable.E"));
    },
    toList$0: function($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0: function(_) {
      return P.LinkedHashSet_LinkedHashSet$of(this, H._instanceType(this)._eval$1("Iterable.E"));
    },
    get$length: function(_) {
      var count,
        it = this.get$iterator(this);
      for (count = 0; it.moveNext$0();)
        ++count;
      return count;
    },
    get$isEmpty: function(_) {
      return !this.get$iterator(this).moveNext$0();
    },
    get$isNotEmpty: function(_) {
      return !this.get$isEmpty(this);
    },
    take$1: function(_, count) {
      return H.TakeIterable_TakeIterable(this, count, H._instanceType(this)._eval$1("Iterable.E"));
    },
    skip$1: function(_, count) {
      return H.SkipIterable_SkipIterable(this, count, H._instanceType(this)._eval$1("Iterable.E"));
    },
    skipWhile$1: function(_, test) {
      return new H.SkipWhileIterable(this, test, H._instanceType(this)._eval$1("SkipWhileIterable<Iterable.E>"));
    },
    get$first: function(_) {
      var it = this.get$iterator(this);
      if (!it.moveNext$0())
        throw H.wrapException(H.IterableElementError_noElement());
      return it.get$current(it);
    },
    get$last: function(_) {
      var result,
        it = this.get$iterator(this);
      if (!it.moveNext$0())
        throw H.wrapException(H.IterableElementError_noElement());
      do
        result = it.get$current(it);
      while (it.moveNext$0());
      return result;
    },
    get$single: function(_) {
      var result,
        it = this.get$iterator(this);
      if (!it.moveNext$0())
        throw H.wrapException(H.IterableElementError_noElement());
      result = it.get$current(it);
      if (it.moveNext$0())
        throw H.wrapException(H.IterableElementError_tooMany());
      return result;
    },
    firstWhere$2$orElse: function(_, test, orElse) {
      var t1, element;
      for (t1 = this.get$iterator(this); t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (test.call$1(element))
          return element;
      }
      return orElse.call$0();
    },
    elementAt$1: function(_, index) {
      var t1, elementIndex, element;
      P.RangeError_checkNotNegative(index, "index");
      for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (index === elementIndex)
          return element;
        ++elementIndex;
      }
      throw H.wrapException(P.IndexError$(index, this, "index", null, elementIndex));
    },
    toString$0: function(_) {
      return P.IterableBase_iterableToShortString(this, "(", ")");
    },
    single$0: function($receiver) {
      return this.get$single(this).call$0();
    }
  };
  P._GeneratorIterable.prototype = {
    elementAt$1: function(_, index) {
      P.RangeError_checkValidIndex(index, this, null, null);
      return this._generator.call$1(index);
    },
    get$length: function(receiver) {
      return this.length;
    }
  };
  P.Iterator.prototype = {};
  P.MapEntry.prototype = {
    toString$0: function(_) {
      return "MapEntry(" + H.S(this.key) + ": " + H.S(this.value) + ")";
    },
    get$key: function(receiver) {
      return this.key;
    },
    get$value: function(receiver) {
      return this.value;
    }
  };
  P.Null.prototype = {
    get$hashCode: function(_) {
      return P.Object.prototype.get$hashCode.call(this, this);
    },
    toString$0: function(_) {
      return "null";
    }
  };
  P.Object.prototype = {constructor: P.Object, $isObject: 1,
    $eq: function(_, other) {
      return this === other;
    },
    get$hashCode: function(_) {
      return H.Primitives_objectHashCode(this);
    },
    toString$0: function(_) {
      return "Instance of '" + H.S(H.Primitives_objectTypeName(this)) + "'";
    },
    noSuchMethod$1: function(_, invocation) {
      throw H.wrapException(P.NoSuchMethodError$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
    },
    get$runtimeType: function(_) {
      return H.getRuntimeType(this);
    },
    toString: function() {
      return this.toString$0(this);
    }
  };
  P._StringStackTrace.prototype = {
    toString$0: function(_) {
      return this._stackTrace;
    },
    $isStackTrace: 1
  };
  P.Stopwatch.prototype = {
    get$elapsedMicroseconds: function() {
      var ticks = this.get$elapsedTicks();
      if ($.$get$Stopwatch__frequency() === 1000000)
        return ticks;
      return ticks * 1000;
    },
    start$0: function(_) {
      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: function(_) {
      var t1 = this._stop;
      this._core$_start = t1 == null ? $.Primitives_timerTicks.call$0() : t1;
    },
    get$elapsedTicks: function() {
      var t1 = this._stop;
      if (t1 == null)
        t1 = $.Primitives_timerTicks.call$0();
      return t1 - this._core$_start;
    }
  };
  P.Runes.prototype = {
    get$iterator: function(_) {
      return new P.RuneIterator(this.string);
    },
    get$last: function(_) {
      var code, previousCode,
        t1 = this.string,
        t2 = t1.length;
      if (t2 === 0)
        throw H.wrapException(P.StateError$("No elements."));
      code = C.JSString_methods.codeUnitAt$1(t1, t2 - 1);
      if ((code & 64512) === 56320 && t2 > 1) {
        previousCode = C.JSString_methods.codeUnitAt$1(t1, t2 - 2);
        if ((previousCode & 64512) === 55296)
          return P._combineSurrogatePair(previousCode, code);
      }
      return code;
    }
  };
  P.RuneIterator.prototype = {
    get$current: function(_) {
      return this._currentCodePoint;
    },
    moveNext$0: function() {
      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 = C.JSString_methods._codeUnitAt$1(t2, t1);
      nextPosition = t1 + 1;
      if ((codeUnit & 64512) === 55296 && nextPosition < t3) {
        nextCodeUnit = C.JSString_methods._codeUnitAt$1(t2, nextPosition);
        if ((nextCodeUnit & 64512) === 56320) {
          _this._nextPosition = nextPosition + 1;
          _this._currentCodePoint = P._combineSurrogatePair(codeUnit, nextCodeUnit);
          return true;
        }
      }
      _this._nextPosition = nextPosition;
      _this._currentCodePoint = codeUnit;
      return true;
    }
  };
  P.StringBuffer.prototype = {
    get$length: function(_) {
      return this._contents.length;
    },
    write$1: function(_, obj) {
      this._contents += H.S(obj);
    },
    writeCharCode$1: function(charCode) {
      this._contents += H.Primitives_stringFromCharCode(charCode);
    },
    toString$0: function(_) {
      var t1 = this._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  P.Uri_splitQueryString_closure.prototype = {
    call$2: function(map, element) {
      var key, value, t1,
        index = J.indexOf$1$asx(element, "=");
      if (index === -1) {
        if (element !== "")
          J.$indexSet$ax(map, P._Uri__uriDecode(element, 0, element.length, this.encoding, true), "");
      } else if (index !== 0) {
        key = C.JSString_methods.substring$2(element, 0, index);
        value = C.JSString_methods.substring$1(element, index + 1);
        t1 = this.encoding;
        J.$indexSet$ax(map, P._Uri__uriDecode(key, 0, key.length, t1, true), P._Uri__uriDecode(value, 0, value.length, t1, true));
      }
      return map;
    },
    $signature: 529
  };
  P.Uri__parseIPv4Address_error.prototype = {
    call$2: function(msg, position) {
      throw H.wrapException(P.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
    },
    $signature: 547
  };
  P.Uri_parseIPv6Address_error.prototype = {
    call$2: function(msg, position) {
      throw H.wrapException(P.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
    },
    call$1: function(msg) {
      return this.call$2(msg, null);
    },
    $signature: 627
  };
  P.Uri_parseIPv6Address_parseHex.prototype = {
    call$2: function(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 = P.int_parse(C.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: 71
  };
  P._Uri.prototype = {
    get$_text: function() {
      var t2, t3, t4, _this = this,
        t1 = _this.___Uri__text;
      if (t1 === $) {
        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 + ":" + H.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;
        t1 = t1.charCodeAt(0) == 0 ? t1 : t1;
        if (_this.___Uri__text === $)
          _this.___Uri__text = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("_text"));
      }
      return t1;
    },
    get$pathSegments: function() {
      var pathToSplit, _this = this,
        t1 = _this.___Uri_pathSegments;
      if (t1 === $) {
        pathToSplit = _this.path;
        if (pathToSplit.length !== 0 && C.JSString_methods._codeUnitAt$1(pathToSplit, 0) === 47)
          pathToSplit = C.JSString_methods.substring$1(pathToSplit, 1);
        t1 = pathToSplit.length === 0 ? C.List_empty : P.List_List$unmodifiable(new H.MappedListIterable(H._setArrayType(pathToSplit.split("/"), type$.JSArray_String), P.core_Uri_decodeComponent$closure(), type$.MappedListIterable_String_dynamic), type$.String);
        if (_this.___Uri_pathSegments === $)
          _this.___Uri_pathSegments = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("pathSegments"));
      }
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this,
        t1 = _this.___Uri_hashCode;
      if (t1 === $) {
        t1 = J.get$hashCode$(_this.get$_text());
        if (_this.___Uri_hashCode === $)
          _this.___Uri_hashCode = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("hashCode"));
      }
      return t1;
    },
    get$queryParameters: function() {
      var _this = this,
        t1 = _this.___Uri_queryParameters;
      if (t1 === $) {
        t1 = _this._query;
        t1 = new P.UnmodifiableMapView(P.Uri_splitQueryString(t1 == null ? "" : t1), type$.UnmodifiableMapView_String_String);
        if (_this.___Uri_queryParameters === $)
          _this.___Uri_queryParameters = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("queryParameters"));
      }
      return t1;
    },
    get$userInfo: function() {
      return this._userInfo;
    },
    get$host: function(_) {
      var host = this._host;
      if (host == null)
        return "";
      if (C.JSString_methods.startsWith$1(host, "["))
        return C.JSString_methods.substring$2(host, 1, host.length - 1);
      return host;
    },
    get$port: function(_) {
      var t1 = this._port;
      return t1 == null ? P._Uri__defaultPort(this.scheme) : t1;
    },
    get$query: function(_) {
      var t1 = this._query;
      return t1 == null ? "" : t1;
    },
    get$fragment: function() {
      var t1 = this._fragment;
      return t1 == null ? "" : t1;
    },
    isScheme$1: function(scheme) {
      var thisScheme = this.scheme;
      if (scheme.length !== thisScheme.length)
        return false;
      return P._Uri__compareScheme(scheme, thisScheme);
    },
    replace$3$path$queryParameters$scheme: function(_, path, queryParameters, scheme) {
      var schemeChanged, isFile, userInfo, port, host, hasAuthority, t1, currentPath, query, _this = this,
        scheme0 = _this.scheme;
      if (scheme != null) {
        scheme = P._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 = P._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 = P._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 && !C.JSString_methods.startsWith$1(currentPath, "/"))
          currentPath = "/" + currentPath;
        path = currentPath;
      }
      if (queryParameters != null)
        query = P._Uri__makeQuery(null, 0, 0, queryParameters);
      else
        query = _this._query;
      return P._Uri$_internal(scheme, userInfo, host, port, path, query, _this._fragment);
    },
    replace$2$path$scheme: function($receiver, path, scheme) {
      return this.replace$3$path$queryParameters$scheme($receiver, path, null, scheme);
    },
    replace$1$scheme: function($receiver, scheme) {
      return this.replace$3$path$queryParameters$scheme($receiver, null, null, scheme);
    },
    replace$1$path: function($receiver, path) {
      return this.replace$3$path$queryParameters$scheme($receiver, path, null, null);
    },
    removeFragment$0: function() {
      var _this = this;
      if (_this._fragment == null)
        return _this;
      return P._Uri$_internal(_this.scheme, _this._userInfo, _this._host, _this._port, _this.path, _this._query, null);
    },
    get$isAbsolute: function() {
      if (this.scheme !== "") {
        var t1 = this._fragment;
        t1 = (t1 == null ? "" : t1) === "";
      } else
        t1 = false;
      return t1;
    },
    _mergePaths$2: function(base, reference) {
      var backCount, refStart, baseEnd, newEnd, delta, t1;
      for (backCount = 0, refStart = 0; C.JSString_methods.startsWith$2(reference, "../", refStart);) {
        refStart += 3;
        ++backCount;
      }
      baseEnd = C.JSString_methods.lastIndexOf$1(base, "/");
      while (true) {
        if (!(baseEnd > 0 && backCount > 0))
          break;
        newEnd = C.JSString_methods.lastIndexOf$2(base, "/", baseEnd - 1);
        if (newEnd < 0)
          break;
        delta = baseEnd - newEnd;
        t1 = delta !== 2;
        if (!t1 || delta === 3)
          if (C.JSString_methods.codeUnitAt$1(base, newEnd + 1) === 46)
            t1 = !t1 || C.JSString_methods.codeUnitAt$1(base, newEnd + 2) === 46;
          else
            t1 = false;
        else
          t1 = false;
        if (t1)
          break;
        --backCount;
        baseEnd = newEnd;
      }
      return C.JSString_methods.replaceRange$3(base, baseEnd + 1, null, C.JSString_methods.substring$1(reference, refStart - 3 * backCount));
    },
    resolve$1: function(reference) {
      return this.resolveUri$1(P.Uri_parse(reference, 0, null));
    },
    resolveUri$1: function(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 = P._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 = P._Uri__makePort(reference.get$hasPort() ? reference.get$port(reference) : _null, targetScheme);
          targetPath = P._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 = P._Uri__packageNameEnd(_this, targetPath);
            if (packageNameEnd > 0) {
              packageName = C.JSString_methods.substring$2(targetPath, 0, packageNameEnd);
              targetPath = reference.get$hasAbsolutePath() ? packageName + P._Uri__removeDotSegments(reference.get$path(reference)) : packageName + P._Uri__removeDotSegments(_this._mergePaths$2(C.JSString_methods.substring$1(targetPath, packageName.length), reference.get$path(reference)));
            } else if (reference.get$hasAbsolutePath())
              targetPath = P._Uri__removeDotSegments(reference.get$path(reference));
            else if (targetPath.length === 0)
              if (targetHost == null)
                targetPath = targetScheme.length === 0 ? reference.get$path(reference) : P._Uri__removeDotSegments(reference.get$path(reference));
              else
                targetPath = P._Uri__removeDotSegments("/" + reference.get$path(reference));
            else {
              mergedPath = _this._mergePaths$2(targetPath, reference.get$path(reference));
              t1 = targetScheme.length === 0;
              if (!t1 || targetHost != null || C.JSString_methods.startsWith$1(targetPath, "/"))
                targetPath = P._Uri__removeDotSegments(mergedPath);
              else
                targetPath = P._Uri__normalizeRelativePath(mergedPath, !t1 || targetHost != null);
            }
            targetQuery = reference.get$hasQuery() ? reference.get$query(reference) : _null;
          }
        }
      }
      return P._Uri$_internal(targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, reference.get$hasFragment() ? reference.get$fragment() : _null);
    },
    get$hasScheme: function() {
      return this.scheme.length !== 0;
    },
    get$hasAuthority: function() {
      return this._host != null;
    },
    get$hasPort: function() {
      return this._port != null;
    },
    get$hasQuery: function() {
      return this._query != null;
    },
    get$hasFragment: function() {
      return this._fragment != null;
    },
    get$hasAbsolutePath: function() {
      return C.JSString_methods.startsWith$1(this.path, "/");
    },
    toFilePath$0: function() {
      var pathSegments, _this = this,
        t1 = _this.scheme;
      if (t1 !== "" && t1 !== "file")
        throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a " + t1 + " URI"));
      t1 = _this._query;
      if ((t1 == null ? "" : t1) !== "")
        throw H.wrapException(P.UnsupportedError$(string$.Cannotefq));
      t1 = _this._fragment;
      if ((t1 == null ? "" : t1) !== "")
        throw H.wrapException(P.UnsupportedError$(string$.Cannoteff));
      t1 = $.$get$_Uri__isWindowsCached();
      if (t1)
        t1 = P._Uri__toWindowsFilePath(_this);
      else {
        if (_this._host != null && _this.get$host(_this) !== "")
          H.throwExpression(P.UnsupportedError$(string$.Cannoten));
        pathSegments = _this.get$pathSegments();
        P._Uri__checkNonWindowsPathReservedCharacters(pathSegments, false);
        t1 = P.StringBuffer__writeAll(C.JSString_methods.startsWith$1(_this.path, "/") ? "/" : "", pathSegments, "/");
        t1 = t1.charCodeAt(0) == 0 ? t1 : t1;
      }
      return t1;
    },
    toString$0: function(_) {
      return this.get$_text();
    },
    $eq: function(_, 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: function() {
      return this.scheme;
    },
    get$path: function(receiver) {
      return this.path;
    }
  };
  P._Uri__makePath_closure.prototype = {
    call$1: function(s) {
      return P._Uri__uriEncode(C.List_qg40, s, C.Utf8Codec_false, false);
    },
    $signature: 19
  };
  P._Uri__makeQuery_writeParameter.prototype = {
    call$2: function(key, value) {
      var t1 = this.result,
        t2 = this._box_0;
      t1._contents += t2.separator;
      t2.separator = "&";
      t2 = t1._contents += H.S(P._Uri__uriEncode(C.List_nxB, key, C.Utf8Codec_false, true));
      if (value != null && value.length !== 0) {
        t1._contents = t2 + "=";
        t1._contents += H.S(P._Uri__uriEncode(C.List_nxB, value, C.Utf8Codec_false, true));
      }
    },
    $signature: 631
  };
  P._Uri__makeQuery_closure.prototype = {
    call$2: function(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: 27
  };
  P.UriData.prototype = {
    get$uri: function() {
      var t2, queryIndex, end, query, _this = this, _null = null,
        t1 = _this._uriCache;
      if (t1 == null) {
        t1 = _this._text;
        t2 = _this._separatorIndices[0] + 1;
        queryIndex = C.JSString_methods.indexOf$2(t1, "?", t2);
        end = t1.length;
        if (queryIndex >= 0) {
          query = P._Uri__normalizeOrSubstring(t1, queryIndex + 1, end, C.List_CVk, false);
          end = queryIndex;
        } else
          query = _null;
        t1 = _this._uriCache = new P._DataUri(_this, "data", "", _null, _null, P._Uri__normalizeOrSubstring(t1, t2, end, C.List_qg4, false), query, _null);
      }
      return t1;
    },
    toString$0: function(_) {
      var t1 = this._text;
      return this._separatorIndices[0] === -1 ? "data:" + t1 : t1;
    }
  };
  P._createTables_build.prototype = {
    call$2: function(state, defaultTransition) {
      var t1 = this.tables[state];
      C.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition);
      return t1;
    },
    $signature: 687
  };
  P._createTables_setChars.prototype = {
    call$3: function(target, chars, transition) {
      var t1, i;
      for (t1 = chars.length, i = 0; i < t1; ++i)
        target[C.JSString_methods._codeUnitAt$1(chars, i) ^ 96] = transition;
    },
    $signature: 282
  };
  P._createTables_setRange.prototype = {
    call$3: function(target, range, transition) {
      var i, n;
      for (i = C.JSString_methods._codeUnitAt$1(range, 0), n = C.JSString_methods._codeUnitAt$1(range, 1); i <= n; ++i)
        target[(i ^ 96) >>> 0] = transition;
    },
    $signature: 282
  };
  P._SimpleUri.prototype = {
    get$hasScheme: function() {
      return this._schemeEnd > 0;
    },
    get$hasAuthority: function() {
      return this._hostStart > 0;
    },
    get$hasPort: function() {
      return this._hostStart > 0 && this._portStart + 1 < this._pathStart;
    },
    get$hasQuery: function() {
      return this._queryStart < this._fragmentStart;
    },
    get$hasFragment: function() {
      return this._fragmentStart < this._uri.length;
    },
    get$hasAbsolutePath: function() {
      return C.JSString_methods.startsWith$2(this._uri, "/", this._pathStart);
    },
    get$isAbsolute: function() {
      return this._schemeEnd > 0 && this._fragmentStart >= this._uri.length;
    },
    isScheme$1: function(scheme) {
      var t1 = scheme.length;
      if (t1 === 0)
        return this._schemeEnd < 0;
      if (t1 !== this._schemeEnd)
        return false;
      return P._Uri__compareScheme(scheme, this._uri);
    },
    get$scheme: function() {
      var t1 = this._schemeCache;
      return t1 == null ? this._schemeCache = this._computeScheme$0() : t1;
    },
    _computeScheme$0: function() {
      var t2, _this = this,
        t1 = _this._schemeEnd;
      if (t1 <= 0)
        return "";
      t2 = t1 === 4;
      if (t2 && C.JSString_methods.startsWith$1(_this._uri, "http"))
        return "http";
      if (t1 === 5 && C.JSString_methods.startsWith$1(_this._uri, "https"))
        return "https";
      if (t2 && C.JSString_methods.startsWith$1(_this._uri, "file"))
        return "file";
      if (t1 === 7 && C.JSString_methods.startsWith$1(_this._uri, "package"))
        return "package";
      return C.JSString_methods.substring$2(_this._uri, 0, t1);
    },
    get$userInfo: function() {
      var t1 = this._hostStart,
        t2 = this._schemeEnd + 3;
      return t1 > t2 ? C.JSString_methods.substring$2(this._uri, t2, t1 - 1) : "";
    },
    get$host: function(_) {
      var t1 = this._hostStart;
      return t1 > 0 ? C.JSString_methods.substring$2(this._uri, t1, this._portStart) : "";
    },
    get$port: function(_) {
      var t1, _this = this;
      if (_this.get$hasPort())
        return P.int_parse(C.JSString_methods.substring$2(_this._uri, _this._portStart + 1, _this._pathStart), null);
      t1 = _this._schemeEnd;
      if (t1 === 4 && C.JSString_methods.startsWith$1(_this._uri, "http"))
        return 80;
      if (t1 === 5 && C.JSString_methods.startsWith$1(_this._uri, "https"))
        return 443;
      return 0;
    },
    get$path: function(_) {
      return C.JSString_methods.substring$2(this._uri, this._pathStart, this._queryStart);
    },
    get$query: function(_) {
      var t1 = this._queryStart,
        t2 = this._fragmentStart;
      return t1 < t2 ? C.JSString_methods.substring$2(this._uri, t1 + 1, t2) : "";
    },
    get$fragment: function() {
      var t1 = this._fragmentStart,
        t2 = this._uri;
      return t1 < t2.length ? C.JSString_methods.substring$1(t2, t1 + 1) : "";
    },
    get$pathSegments: function() {
      var parts, i,
        start = this._pathStart,
        end = this._queryStart,
        t1 = this._uri;
      if (C.JSString_methods.startsWith$2(t1, "/", start))
        ++start;
      if (start === end)
        return C.List_empty;
      parts = H._setArrayType([], type$.JSArray_String);
      for (i = start; i < end; ++i)
        if (C.JSString_methods.codeUnitAt$1(t1, i) === 47) {
          parts.push(C.JSString_methods.substring$2(t1, start, i));
          start = i + 1;
        }
      parts.push(C.JSString_methods.substring$2(t1, start, end));
      return P.List_List$unmodifiable(parts, type$.String);
    },
    get$queryParameters: function() {
      var _this = this;
      if (_this._queryStart >= _this._fragmentStart)
        return C.Map_empty5;
      return new P.UnmodifiableMapView(P.Uri_splitQueryString(_this.get$query(_this)), type$.UnmodifiableMapView_String_String);
    },
    _isPort$1: function(port) {
      var portDigitStart = this._portStart + 1;
      return portDigitStart + port.length === this._pathStart && C.JSString_methods.startsWith$2(this._uri, port, portDigitStart);
    },
    removeFragment$0: function() {
      var _this = this,
        t1 = _this._fragmentStart,
        t2 = _this._uri;
      if (t1 >= t2.length)
        return _this;
      return new P._SimpleUri(C.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: function(_, path, queryParameters, scheme) {
      var schemeChanged, isFile, t1, userInfo, port, host, hasAuthority, query, t2, fragment, _this = this, _null = null;
      if (scheme != null) {
        scheme = P._Uri__makeScheme(scheme, 0, scheme.length);
        schemeChanged = !(_this._schemeEnd === scheme.length && C.JSString_methods.startsWith$1(_this._uri, scheme));
      } else {
        scheme = _this.get$scheme();
        schemeChanged = false;
      }
      isFile = scheme === "file";
      t1 = _this._hostStart;
      userInfo = t1 > 0 ? C.JSString_methods.substring$2(_this._uri, _this._schemeEnd + 3, t1) : "";
      port = _this.get$hasPort() ? _this.get$port(_this) : _null;
      if (schemeChanged)
        port = P._Uri__makePort(port, scheme);
      t1 = _this._hostStart;
      if (t1 > 0)
        host = C.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 = P._Uri__makePath(path, 0, t1 ? 0 : path.length, _null, scheme, hasAuthority);
      else {
        path = C.JSString_methods.substring$2(_this._uri, _this._pathStart, _this._queryStart);
        if (!isFile)
          t1 = hasAuthority && path.length !== 0;
        else
          t1 = true;
        if (t1 && !C.JSString_methods.startsWith$1(path, "/"))
          path = "/" + path;
      }
      if (queryParameters != null)
        query = P._Uri__makeQuery(_null, 0, 0, queryParameters);
      else {
        t1 = _this._queryStart;
        t2 = _this._fragmentStart;
        query = t1 < t2 ? C.JSString_methods.substring$2(_this._uri, t1 + 1, t2) : _null;
      }
      t1 = _this._fragmentStart;
      t2 = _this._uri;
      fragment = t1 < t2.length ? C.JSString_methods.substring$1(t2, t1 + 1) : _null;
      return P._Uri$_internal(scheme, userInfo, host, port, path, query, fragment);
    },
    replace$2$path$scheme: function($receiver, path, scheme) {
      return this.replace$3$path$queryParameters$scheme($receiver, path, null, scheme);
    },
    replace$1$scheme: function($receiver, scheme) {
      return this.replace$3$path$queryParameters$scheme($receiver, null, null, scheme);
    },
    replace$1$path: function($receiver, path) {
      return this.replace$3$path$queryParameters$scheme($receiver, path, null, null);
    },
    resolve$1: function(reference) {
      return this.resolveUri$1(P.Uri_parse(reference, 0, null));
    },
    resolveUri$1: function(reference) {
      if (reference instanceof P._SimpleUri)
        return this._simpleMerge$2(this, reference);
      return this._toNonSimple$0().resolveUri$1(reference);
    },
    _simpleMerge$2: function(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 && C.JSString_methods.startsWith$1(base._uri, "file"))
          isSimple = ref._pathStart !== ref._queryStart;
        else if (t4 && C.JSString_methods.startsWith$1(base._uri, "http"))
          isSimple = !ref._isPort$1("80");
        else
          isSimple = !(t3 === 5 && C.JSString_methods.startsWith$1(base._uri, "https")) || !ref._isPort$1("443");
        if (isSimple) {
          delta = t3 + 1;
          return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, delta) + C.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 P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.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 P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.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 (C.JSString_methods.startsWith$2(t2, "/", refStart)) {
        basePathStart = base._pathStart;
        packageNameEnd = P._SimpleUri__packageNameEnd(this);
        basePathStart0 = packageNameEnd > 0 ? packageNameEnd : basePathStart;
        delta = basePathStart0 - refStart;
        return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, basePathStart0) + C.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 (; C.JSString_methods.startsWith$2(t2, "../", refStart);)
          refStart += 3;
        delta = baseStart - refStart + 1;
        return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, baseStart) + "/" + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
      }
      baseUri = base._uri;
      packageNameEnd = P._SimpleUri__packageNameEnd(this);
      if (packageNameEnd >= 0)
        baseStart0 = packageNameEnd;
      else
        for (baseStart0 = baseStart; C.JSString_methods.startsWith$2(baseUri, "../", baseStart0);)
          baseStart0 += 3;
      backCount = 0;
      while (true) {
        refStart0 = refStart + 3;
        if (!(refStart0 <= t1 && C.JSString_methods.startsWith$2(t2, "../", refStart)))
          break;
        ++backCount;
        refStart = refStart0;
      }
      for (insert = ""; baseEnd > baseStart0;) {
        --baseEnd;
        if (C.JSString_methods.codeUnitAt$1(baseUri, baseEnd) === 47) {
          if (backCount === 0) {
            insert = "/";
            break;
          }
          --backCount;
          insert = "/";
        }
      }
      if (baseEnd === baseStart0 && base._schemeEnd <= 0 && !C.JSString_methods.startsWith$2(baseUri, "/", baseStart)) {
        refStart -= backCount * 3;
        insert = "";
      }
      delta = baseEnd - refStart + insert.length;
      return new P._SimpleUri(C.JSString_methods.substring$2(baseUri, 0, baseEnd) + insert + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
    },
    toFilePath$0: function() {
      var t2, t3, _this = this,
        t1 = _this._schemeEnd;
      if (t1 >= 0) {
        t2 = !(t1 === 4 && C.JSString_methods.startsWith$1(_this._uri, "file"));
        t1 = t2;
      } else
        t1 = false;
      if (t1)
        throw H.wrapException(P.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 H.wrapException(P.UnsupportedError$(string$.Cannotefq));
        throw H.wrapException(P.UnsupportedError$(string$.Cannoteff));
      }
      t3 = $.$get$_Uri__isWindowsCached();
      if (t3)
        t1 = P._Uri__toWindowsFilePath(_this);
      else {
        if (_this._hostStart < _this._portStart)
          H.throwExpression(P.UnsupportedError$(string$.Cannoten));
        t1 = C.JSString_methods.substring$2(t2, _this._pathStart, t1);
      }
      return t1;
    },
    get$hashCode: function(_) {
      var t1 = this._hashCodeCache;
      return t1 == null ? this._hashCodeCache = C.JSString_methods.get$hashCode(this._uri) : t1;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      return type$.Uri._is(other) && this._uri === other.toString$0(0);
    },
    _toNonSimple$0: function() {
      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 = C.JSString_methods.substring$2(t5, _this._pathStart, t6),
        t8 = _this._fragmentStart;
      t6 = t6 < t8 ? _this.get$query(_this) : _null;
      return P._Uri$_internal(t1, t2, t3, t4, t7, t6, t8 < t5.length ? _this.get$fragment() : _null);
    },
    toString$0: function(_) {
      return this._uri;
    },
    $isUri: 1
  };
  P._DataUri.prototype = {};
  P._FakeUserTag.prototype = {};
  P.ServiceExtensionResponse.prototype = {};
  P.TimelineTask.prototype = {
    start$2$arguments: function(_, $name, $arguments) {
      var t1, map, t2, key;
      if ($name == null)
        H.throwExpression(P.ArgumentError$notNull("name"));
      this._stack.push(new P._AsyncBlock($name, this._taskId));
      t1 = type$.nullable_Object;
      map = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      if ($arguments != null)
        for (t1 = J.getInterceptor$x($arguments), t2 = J.get$iterator$ax(t1.get$keys($arguments)); t2.moveNext$0();) {
          key = t2.get$current(t2);
          map.$indexSet(0, key, t1.$index($arguments, key));
        }
      t1 = this._developer$_parent;
      if (t1 != null)
        map.$indexSet(0, "parentId", C.JSInt_methods.toRadixString$1(t1._taskId, 16));
      P._argumentsAsJson(map);
    },
    start$1: function($receiver, $name) {
      return this.start$2$arguments($receiver, $name, null);
    },
    finish$1$arguments: function(_, $arguments) {
      var t1 = this._stack;
      if (t1.length === 0)
        throw H.wrapException(P.StateError$("Uneven calls to start and finish"));
      t1.pop();
      P._argumentsAsJson($arguments);
    }
  };
  P._AsyncBlock.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  W.HtmlElement.prototype = {$isHtmlElement: 1};
  W.AccessibleNode.prototype = {
    get$level: function(receiver) {
      return receiver.level;
    }
  };
  W.AccessibleNodeList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  W.AnchorElement.prototype = {
    toString$0: function(receiver) {
      return String(receiver);
    }
  };
  W.AnimationEffectTiming.prototype = {
    get$duration: function(receiver) {
      return receiver.duration;
    }
  };
  W.AnimationEffectTimingReadOnly.prototype = {
    get$duration: function(receiver) {
      return receiver.duration;
    }
  };
  W.ApplicationCacheErrorEvent.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    }
  };
  W.AreaElement.prototype = {
    toString$0: function(receiver) {
      return String(receiver);
    }
  };
  W.BaseElement.prototype = {$isBaseElement: 1};
  W.BatteryManager.prototype = {
    get$level: function(receiver) {
      return receiver.level;
    }
  };
  W.Blob.prototype = {$isBlob: 1};
  W.Body.prototype = {
    arrayBuffer$0: function(receiver) {
      return P.promiseToFuture(receiver.arrayBuffer(), type$.dynamic);
    },
    text$0: function(receiver) {
      return P.promiseToFuture(receiver.text(), type$.String);
    }
  };
  W.BodyElement.prototype = {
    get$onBlur: function(receiver) {
      return new W._ElementEventStreamImpl(receiver, "blur", false, type$._ElementEventStreamImpl_legacy_Event);
    },
    get$onFocus: function(receiver) {
      return new W._ElementEventStreamImpl(receiver, "focus", false, type$._ElementEventStreamImpl_legacy_Event);
    },
    $isBodyElement: 1
  };
  W.BroadcastChannel.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.ButtonElement.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.CacheStorage.prototype = {
    keys$0: function(receiver) {
      return P.promiseToFuture(receiver.keys(), type$.dynamic);
    }
  };
  W.CanvasElement.prototype = {
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    set$width: function(receiver, value) {
      receiver.width = value;
    },
    getContext$2: function(receiver, contextId, attributes) {
      if (attributes != null)
        return receiver.getContext(contextId, P.convertDartToNative_Dictionary(attributes));
      return receiver.getContext(contextId);
    },
    getContext$1: function($receiver, contextId) {
      return this.getContext$2($receiver, contextId, null);
    },
    $isCanvasElement: 1
  };
  W.CanvasRenderingContext2D.prototype = {
    fillText$3: function(receiver, text, x, y) {
      receiver.fillText(text, x, y);
    }
  };
  W.CharacterData.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  W.CloseEvent.prototype = {$isCloseEvent: 1};
  W.Credential.prototype = {};
  W.CredentialUserData.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.CssKeyframesRule.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.CssNumericValue.prototype = {
    add$1: function(receiver, value) {
      return receiver.add(value);
    }
  };
  W.CssPerspective.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  W.CssRule.prototype = {$isCssRule: 1};
  W.CssStyleDeclaration.prototype = {
    _browserPropertyName$1: function(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: function(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: function(receiver, propertyName, value, priority) {
      if (value == null)
        value = "";
      if (priority == null)
        priority = "";
      receiver.setProperty(propertyName, value, priority);
    },
    get$length: function(receiver) {
      return receiver.length;
    },
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    set$width: function(receiver, value) {
      receiver.width = value == null ? "" : value;
    }
  };
  W.CssStyleDeclarationBase.prototype = {
    set$height: function(receiver, value) {
      this._setPropertyHelper$3(receiver, this._browserPropertyName$1(receiver, "height"), value, "");
    },
    set$width: function(receiver, value) {
      this._setPropertyHelper$3(receiver, this._browserPropertyName$1(receiver, "width"), value, "");
    },
    get$zoom: function(receiver) {
      return receiver.getPropertyValue(this._browserPropertyName$1(receiver, "zoom"));
    }
  };
  W.CssStyleSheet.prototype = {$isCssStyleSheet: 1};
  W.CssStyleValue.prototype = {};
  W.CssTransformComponent.prototype = {};
  W.CssTransformValue.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  W.CssUnparsedValue.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  W.DataTransferItem.prototype = {
    get$kind: function(receiver) {
      return receiver.kind;
    }
  };
  W.DataTransferItemList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    add$1: function(receiver, data_OR_file) {
      return receiver.add(data_OR_file);
    },
    $index: function(receiver, index) {
      return receiver[index];
    }
  };
  W.DeprecationReport.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    }
  };
  W.DivElement.prototype = {};
  W.Document.prototype = {$isDocument: 1};
  W.DocumentFragment.prototype = {
    get$children: function(receiver) {
      var t1;
      if (receiver._docChildren == null)
        receiver._docChildren = new P.FilteredElementList(receiver, new W._ChildNodeListLazy(receiver));
      t1 = receiver._docChildren;
      t1.toString;
      return t1;
    }
  };
  W.DomError.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    },
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.DomException.prototype = {
    get$name: function(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: function(receiver) {
      return receiver.message;
    },
    toString$0: function(receiver) {
      return String(receiver);
    },
    $isDomException: 1
  };
  W.DomRectList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.DomRectReadOnly.prototype = {
    toString$0: function(receiver) {
      var t2,
        t1 = receiver.left;
      t1.toString;
      t1 = "Rectangle (" + H.S(t1) + ", ";
      t2 = receiver.top;
      t2.toString;
      return t1 + H.S(t2) + ") " + H.S(this.get$width(receiver)) + " x " + H.S(this.get$height(receiver));
    },
    $eq: function(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: function(receiver) {
      var t2,
        t1 = receiver.left;
      t1.toString;
      t1 = C.JSNumber_methods.get$hashCode(t1);
      t2 = receiver.top;
      t2.toString;
      return W._JenkinsSmiHash_hash4(t1, C.JSNumber_methods.get$hashCode(t2), J.get$hashCode$(this.get$width(receiver)), J.get$hashCode$(this.get$height(receiver)));
    },
    get$bottom: function(receiver) {
      var t1 = receiver.bottom;
      t1.toString;
      return t1;
    },
    get$_height: function(receiver) {
      return receiver.height;
    },
    get$height: function(receiver) {
      var t1 = this.get$_height(receiver);
      t1.toString;
      return t1;
    },
    get$left: function(receiver) {
      var t1 = receiver.left;
      t1.toString;
      return t1;
    },
    get$right: function(receiver) {
      var t1 = receiver.right;
      t1.toString;
      return t1;
    },
    get$top: function(receiver) {
      var t1 = receiver.top;
      t1.toString;
      return t1;
    },
    get$_width: function(receiver) {
      return receiver.width;
    },
    get$width: function(receiver) {
      var t1 = this.get$_width(receiver);
      t1.toString;
      return t1;
    },
    $isRectangle: 1
  };
  W.DomStringList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.DomTokenList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    add$1: function(receiver, tokens) {
      return receiver.add(tokens);
    },
    contains$1: function(receiver, token) {
      return receiver.contains(token);
    }
  };
  W._ChildrenElementList.prototype = {
    contains$1: function(_, element) {
      return J.contains$1$asx(this._childElements, element);
    },
    get$isEmpty: function(_) {
      return this._element.firstElementChild == null;
    },
    get$length: function(_) {
      return this._childElements.length;
    },
    $index: function(_, index) {
      return type$.Element._as(this._childElements[index]);
    },
    $indexSet: function(_, index, value) {
      this._element.replaceChild(value, this._childElements[index]);
    },
    set$length: function(_, newLength) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize element lists"));
    },
    add$1: function(_, value) {
      this._element.appendChild(value);
      return value;
    },
    get$iterator: function(_) {
      var t1 = this.toList$0(this);
      return new J.ArrayIterator(t1, t1.length, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
    },
    addAll$1: function(_, iterable) {
      W._ChildrenElementList__addAll(this._element, iterable);
    },
    sort$1: function(_, compare) {
      throw H.wrapException(P.UnsupportedError$("Cannot sort element lists"));
    },
    fillRange$3: function(_, start, end, fillValue) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    removeRange$2: function(_, start, end) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    setRange$4: function(_, start, end, iterable, skipCount) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    setRange$3: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    remove$1: function(_, object) {
      return W._ChildrenElementList__remove(this._element, object);
    },
    insert$2: function(_, index, element) {
      var t3, _this = this,
        t1 = _this._childElements,
        t2 = t1.length;
      if (index > t2)
        throw H.wrapException(P.RangeError$range(index, 0, _this.get$length(_this), null, null));
      t3 = _this._element;
      if (index === t2)
        t3.appendChild(element);
      else
        t3.insertBefore(element, type$.Element._as(t1[index]));
    },
    clear$0: function(_) {
      J._clearChildren$0$x(this._element);
    },
    removeAt$1: function(_, index) {
      var result = type$.Element._as(this._childElements[index]);
      this._element.removeChild(result);
      return result;
    },
    removeLast$0: function(_) {
      var result = this.get$last(this);
      this._element.removeChild(result);
      return result;
    },
    get$first: function(_) {
      return W._ChildrenElementList__first(this._element);
    },
    get$last: function(_) {
      var result = this._element.lastElementChild;
      if (result == null)
        throw H.wrapException(P.StateError$("No elements"));
      return result;
    }
  };
  W._FrozenElementList.prototype = {
    get$length: function(_) {
      return this._nodeList.length;
    },
    $index: function(_, index) {
      return this.$ti._precomputed1._as(this._nodeList[index]);
    },
    $indexSet: function(_, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify list"));
    },
    set$length: function(_, newLength) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify list"));
    },
    sort$1: function(_, compare) {
      throw H.wrapException(P.UnsupportedError$("Cannot sort list"));
    },
    get$first: function(_) {
      return this.$ti._precomputed1._as(C.NodeList_methods.get$first(this._nodeList));
    },
    get$last: function(_) {
      return this.$ti._precomputed1._as(C.NodeList_methods.get$last(this._nodeList));
    }
  };
  W.Element.prototype = {
    get$attributes: function(receiver) {
      return new W._ElementAttributeMap(receiver);
    },
    get$children: function(receiver) {
      return new W._ChildrenElementList(receiver, receiver.children);
    },
    toString$0: function(receiver) {
      return receiver.localName;
    },
    createFragment$3$treeSanitizer$validator: function(receiver, html, treeSanitizer, validator) {
      var t1, t2, contextElement, fragment;
      if (treeSanitizer == null) {
        t1 = $.Element__defaultValidator;
        if (t1 == null) {
          t1 = H._setArrayType([], type$.JSArray_NodeValidator);
          t2 = new W.NodeValidatorBuilder(t1);
          t1.push(W._Html5NodeValidator$(null));
          t1.push(W._TemplatingNodeValidator$());
          $.Element__defaultValidator = t2;
          validator = t2;
        } else
          validator = t1;
        t1 = $.Element__defaultSanitizer;
        if (t1 == null) {
          t1 = new W._ValidatingTreeSanitizer(validator);
          $.Element__defaultSanitizer = t1;
          treeSanitizer = t1;
        } else {
          t1.validator = validator;
          treeSanitizer = t1;
        }
      }
      if ($.Element__parseDocument == null) {
        t1 = document;
        t2 = t1.implementation.createHTMLDocument("");
        $.Element__parseDocument = t2;
        $.Element__parseRange = t2.createRange();
        t2 = $.Element__parseDocument.createElement("base");
        type$.BaseElement._as(t2);
        t1 = t1.baseURI;
        t1.toString;
        t2.href = t1;
        $.Element__parseDocument.head.appendChild(t2);
      }
      t1 = $.Element__parseDocument;
      if (t1.body == null) {
        t2 = t1.createElement("body");
        t1.body = type$.BodyElement._as(t2);
      }
      t1 = $.Element__parseDocument;
      if (type$.BodyElement._is(receiver)) {
        t1 = t1.body;
        t1.toString;
        contextElement = t1;
      } else {
        t1.toString;
        contextElement = t1.createElement(receiver.tagName);
        $.Element__parseDocument.body.appendChild(contextElement);
      }
      if ("createContextualFragment" in window.Range.prototype && !C.JSArray_methods.contains$1(C.List_ego, receiver.tagName)) {
        $.Element__parseRange.selectNodeContents(contextElement);
        t1 = $.Element__parseRange;
        t1.toString;
        fragment = t1.createContextualFragment(html == null ? "null" : html);
      } else {
        contextElement.innerHTML = html;
        fragment = $.Element__parseDocument.createDocumentFragment();
        for (; t1 = contextElement.firstChild, t1 != null;)
          fragment.appendChild(t1);
      }
      if (contextElement !== $.Element__parseDocument.body)
        J.remove$0$ax(contextElement);
      treeSanitizer.sanitizeTree$1(fragment);
      document.adoptNode(fragment);
      return fragment;
    },
    createFragment$2$treeSanitizer: function($receiver, html, treeSanitizer) {
      return this.createFragment$3$treeSanitizer$validator($receiver, html, treeSanitizer, null);
    },
    setInnerHtml$1: function(receiver, html) {
      receiver.textContent = null;
      receiver.appendChild(this.createFragment$3$treeSanitizer$validator(receiver, html, null, null));
    },
    click$0: function(receiver) {
      return receiver.click();
    },
    focus$0: function(receiver) {
      return receiver.focus();
    },
    get$className: function(receiver) {
      return receiver.className;
    },
    get$tagName: function(receiver) {
      return receiver.tagName;
    },
    get$onBlur: function(receiver) {
      return new W._ElementEventStreamImpl(receiver, "blur", false, type$._ElementEventStreamImpl_legacy_Event);
    },
    get$onFocus: function(receiver) {
      return new W._ElementEventStreamImpl(receiver, "focus", false, type$._ElementEventStreamImpl_legacy_Event);
    },
    $isElement: 1
  };
  W.Element_Element$html_closure.prototype = {
    call$1: function(e) {
      return type$.Element._is(e);
    },
    $signature: 281
  };
  W.EmbedElement.prototype = {
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    get$name: function(receiver) {
      return receiver.name;
    },
    set$width: function(receiver, value) {
      receiver.width = value;
    }
  };
  W.Entry.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    },
    _html$_remove$2: function(receiver, successCallback, errorCallback) {
      return receiver.remove(H.convertDartClosureToJS(successCallback, 0), H.convertDartClosureToJS(errorCallback, 1));
    },
    remove$0: function(receiver) {
      var t1 = new P._Future($.Zone__current, type$._Future_dynamic),
        completer = new P._AsyncCompleter(t1, type$._AsyncCompleter_dynamic);
      this._html$_remove$2(receiver, new W.Entry_remove_closure(completer), new W.Entry_remove_closure0(completer));
      return t1;
    }
  };
  W.Entry_remove_closure.prototype = {
    call$0: function() {
      this.completer.complete$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  W.Entry_remove_closure0.prototype = {
    call$1: function(error) {
      this.completer.completeError$1(error);
    },
    $signature: 693
  };
  W.ErrorEvent.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    },
    $isErrorEvent: 1
  };
  W.Event0.prototype = {
    get$target: function(receiver) {
      return W._convertNativeToDart_EventTarget(receiver.target);
    },
    $isEvent0: 1
  };
  W.EventSource.prototype = {};
  W.EventTarget.prototype = {
    addEventListener$3: function(receiver, type, listener, useCapture) {
      if (listener != null)
        this._addEventListener$3(receiver, type, listener, useCapture);
    },
    addEventListener$2: function($receiver, type, listener) {
      return this.addEventListener$3($receiver, type, listener, null);
    },
    removeEventListener$3: function(receiver, type, listener, useCapture) {
      if (listener != null)
        this._removeEventListener$3(receiver, type, listener, useCapture);
    },
    removeEventListener$2: function($receiver, type, listener) {
      return this.removeEventListener$3($receiver, type, listener, null);
    },
    _addEventListener$3: function(receiver, type, listener, options) {
      return receiver.addEventListener(type, H.convertDartClosureToJS(listener, 1), options);
    },
    _removeEventListener$3: function(receiver, type, listener, options) {
      return receiver.removeEventListener(type, H.convertDartClosureToJS(listener, 1), options);
    },
    $isEventTarget: 1
  };
  W.FederatedCredential.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.FieldSetElement.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.File.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    },
    $isFile: 1
  };
  W.FileList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1,
    $isFileList: 1
  };
  W.FileReader.prototype = {
    get$result: function(receiver) {
      var res = receiver.result;
      if (type$.ByteBuffer._is(res))
        return C.NativeByteBuffer_methods.asUint8List$2(res, 0, null);
      return res;
    },
    readAsText$1: function(receiver, blob) {
      return receiver.readAsText(blob);
    }
  };
  W.FileSystem.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.FileWriter.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  W.FontFace.prototype = {$isFontFace: 1};
  W.FontFaceSet.prototype = {
    add$1: function(receiver, arg) {
      return receiver.add(arg);
    }
  };
  W.FormElement.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    get$name: function(receiver) {
      return receiver.name;
    },
    $isFormElement: 1
  };
  W.Gamepad.prototype = {
    get$index: function(receiver) {
      return receiver.index;
    },
    $isGamepad: 1
  };
  W.History.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  W.HtmlCollection.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.HttpRequest.prototype = {
    get$responseHeaders: function(receiver) {
      var headersList, _i, header, t2, splitIdx, key, value,
        t1 = type$.String,
        headers = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1),
        headersString = receiver.getAllResponseHeaders();
      if (headersString == null)
        return headers;
      headersList = headersString.split("\r\n");
      for (t1 = headersList.length, _i = 0; _i < t1; ++_i) {
        header = headersList[_i];
        header.toString;
        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, H.S(headers.$index(0, key)) + ", " + value);
        else
          headers.$indexSet(0, key, value);
      }
      return headers;
    },
    open$3$async: function(receiver, method, url, async) {
      return receiver.open(method, url, true);
    },
    send$1: function(receiver, body_OR_data) {
      return receiver.send(body_OR_data);
    },
    setRequestHeader$2: function(receiver, $name, value) {
      return receiver.setRequestHeader($name, value);
    },
    $isHttpRequest: 1
  };
  W.HttpRequest_request_closure.prototype = {
    call$1: function(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: 695
  };
  W.HttpRequestEventTarget.prototype = {};
  W.IFrameElement.prototype = {
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    get$name: function(receiver) {
      return receiver.name;
    },
    set$width: function(receiver, value) {
      receiver.width = value;
    }
  };
  W.ImageData.prototype = {$isImageData: 1};
  W.ImageElement.prototype = {
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    set$width: function(receiver, value) {
      receiver.width = value;
    },
    $isImageElement: 1
  };
  W.InputElement.prototype = {
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    get$name: function(receiver) {
      return receiver.name;
    },
    set$width: function(receiver, value) {
      receiver.width = value;
    },
    $isInputElement: 1
  };
  W.InterventionReport.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    }
  };
  W.KeyboardEvent.prototype = {$isKeyboardEvent: 1};
  W.LabelElement.prototype = {};
  W.Location.prototype = {
    toString$0: function(receiver) {
      return String(receiver);
    }
  };
  W.MapElement.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.MediaDeviceInfo.prototype = {
    get$kind: function(receiver) {
      return receiver.kind;
    }
  };
  W.MediaElement.prototype = {
    get$duration: function(receiver) {
      return receiver.duration;
    }
  };
  W.MediaError.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    }
  };
  W.MediaKeyMessageEvent.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    }
  };
  W.MediaKeySession.prototype = {
    remove$0: function(receiver) {
      return P.promiseToFuture(receiver.remove(), type$.dynamic);
    }
  };
  W.MediaList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  W.MediaQueryList.prototype = {
    addListener$1: function(receiver, listener) {
      return receiver.addListener(H.convertDartClosureToJS(listener, 1));
    },
    removeListener$1: function(receiver, listener) {
      return receiver.removeListener(H.convertDartClosureToJS(listener, 1));
    }
  };
  W.MediaQueryListEvent.prototype = {$isMediaQueryListEvent: 1};
  W.MediaRecorder.prototype = {
    start$1: function(receiver, timeslice) {
      return receiver.start(timeslice);
    },
    start$0: function($receiver) {
      return $receiver.start();
    }
  };
  W.MediaSource.prototype = {
    get$duration: function(receiver) {
      return receiver.duration;
    }
  };
  W.MediaStreamTrack.prototype = {
    get$kind: function(receiver) {
      return receiver.kind;
    }
  };
  W.MessageEvent.prototype = {$isMessageEvent: 1};
  W.MessagePort.prototype = {
    addEventListener$3: function(receiver, type, listener, useCapture) {
      if (type === "message")
        receiver.start();
      this.super$EventTarget$addEventListener(receiver, type, listener, false);
    },
    $isMessagePort: 1
  };
  W.MetaElement.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    },
    $isMetaElement: 1
  };
  W.MidiInputMap.prototype = {
    addAll$1: function(receiver, other) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    containsKey$1: function(receiver, key) {
      return P.convertNativeToDart_Dictionary(receiver.get(key)) != null;
    },
    $index: function(receiver, key) {
      return P.convertNativeToDart_Dictionary(receiver.get(key));
    },
    forEach$1: function(receiver, f) {
      var entry,
        entries = receiver.entries();
      for (; true;) {
        entry = entries.next();
        if (entry.done)
          return;
        f.call$2(entry.value[0], P.convertNativeToDart_Dictionary(entry.value[1]));
      }
    },
    get$keys: function(receiver) {
      var keys = H._setArrayType([], type$.JSArray_String);
      this.forEach$1(receiver, new W.MidiInputMap_keys_closure(keys));
      return keys;
    },
    get$values: function(receiver) {
      var values = H._setArrayType([], type$.JSArray_Map_dynamic_dynamic);
      this.forEach$1(receiver, new W.MidiInputMap_values_closure(values));
      return values;
    },
    get$length: function(receiver) {
      return receiver.size;
    },
    get$isEmpty: function(receiver) {
      return receiver.size === 0;
    },
    get$isNotEmpty: function(receiver) {
      return receiver.size !== 0;
    },
    $indexSet: function(receiver, key, value) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    putIfAbsent$2: function(receiver, key, ifAbsent) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    remove$1: function(receiver, key) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    clear$0: function(receiver) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    $isMap: 1
  };
  W.MidiInputMap_keys_closure.prototype = {
    call$2: function(k, v) {
      return this.keys.push(k);
    },
    $signature: 27
  };
  W.MidiInputMap_values_closure.prototype = {
    call$2: function(k, v) {
      return this.values.push(v);
    },
    $signature: 27
  };
  W.MidiOutputMap.prototype = {
    addAll$1: function(receiver, other) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    containsKey$1: function(receiver, key) {
      return P.convertNativeToDart_Dictionary(receiver.get(key)) != null;
    },
    $index: function(receiver, key) {
      return P.convertNativeToDart_Dictionary(receiver.get(key));
    },
    forEach$1: function(receiver, f) {
      var entry,
        entries = receiver.entries();
      for (; true;) {
        entry = entries.next();
        if (entry.done)
          return;
        f.call$2(entry.value[0], P.convertNativeToDart_Dictionary(entry.value[1]));
      }
    },
    get$keys: function(receiver) {
      var keys = H._setArrayType([], type$.JSArray_String);
      this.forEach$1(receiver, new W.MidiOutputMap_keys_closure(keys));
      return keys;
    },
    get$values: function(receiver) {
      var values = H._setArrayType([], type$.JSArray_Map_dynamic_dynamic);
      this.forEach$1(receiver, new W.MidiOutputMap_values_closure(values));
      return values;
    },
    get$length: function(receiver) {
      return receiver.size;
    },
    get$isEmpty: function(receiver) {
      return receiver.size === 0;
    },
    get$isNotEmpty: function(receiver) {
      return receiver.size !== 0;
    },
    $indexSet: function(receiver, key, value) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    putIfAbsent$2: function(receiver, key, ifAbsent) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    remove$1: function(receiver, key) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    clear$0: function(receiver) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    $isMap: 1
  };
  W.MidiOutputMap_keys_closure.prototype = {
    call$2: function(k, v) {
      return this.keys.push(k);
    },
    $signature: 27
  };
  W.MidiOutputMap_values_closure.prototype = {
    call$2: function(k, v) {
      return this.values.push(v);
    },
    $signature: 27
  };
  W.MidiPort.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    },
    get$version: function(receiver) {
      return receiver.version;
    }
  };
  W.MimeType.prototype = {$isMimeType: 1};
  W.MimeTypeArray.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.MouseEvent.prototype = {
    get$offset: function(receiver) {
      var t1, t2, target, t3, t4, t5, point;
      if (!!receiver.offsetX)
        return new P.Point(receiver.offsetX, receiver.offsetY, type$.Point_num);
      else {
        t1 = receiver.target;
        t2 = type$.Element;
        if (!t2._is(W._convertNativeToDart_EventTarget(t1)))
          throw H.wrapException(P.UnsupportedError$("offsetX is only supported on elements"));
        target = t2._as(W._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 P.Point(t1, t2, t3).$sub(0, new P.Point(t5, t4, t3));
        return new P.Point(J.toInt$0$n(point.x), J.toInt$0$n(point.y), t3);
      }
    },
    $isMouseEvent: 1
  };
  W.NavigatorUserMediaError.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    },
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W._ChildNodeListLazy.prototype = {
    get$first: function(_) {
      var result = this._this.firstChild;
      if (result == null)
        throw H.wrapException(P.StateError$("No elements"));
      return result;
    },
    get$last: function(_) {
      var result = this._this.lastChild;
      if (result == null)
        throw H.wrapException(P.StateError$("No elements"));
      return result;
    },
    get$single: function(_) {
      var t1 = this._this,
        l = t1.childNodes.length;
      if (l === 0)
        throw H.wrapException(P.StateError$("No elements"));
      if (l > 1)
        throw H.wrapException(P.StateError$("More than one element"));
      t1 = t1.firstChild;
      t1.toString;
      return t1;
    },
    add$1: function(_, value) {
      this._this.appendChild(value);
    },
    addAll$1: function(_, iterable) {
      var t1, t2, len, i, t3;
      if (iterable instanceof W._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));
    },
    removeLast$0: function(_) {
      var result = this.get$last(this);
      this._this.removeChild(result);
      return result;
    },
    removeAt$1: function(_, index) {
      var t1 = this._this,
        result = t1.childNodes[index];
      t1.removeChild(result);
      return result;
    },
    remove$1: function(_, object) {
      var t1;
      if (!type$.Node._is(object))
        return false;
      t1 = this._this;
      if (t1 !== object.parentNode)
        return false;
      t1.removeChild(object);
      return true;
    },
    clear$0: function(_) {
      J._clearChildren$0$x(this._this);
    },
    $indexSet: function(_, index, value) {
      var t1 = this._this;
      t1.replaceChild(value, t1.childNodes[index]);
    },
    get$iterator: function(_) {
      var t1 = this._this.childNodes;
      return new W.FixedSizeListIterator(t1, t1.length, H.instanceType(t1)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
    },
    sort$1: function(_, compare) {
      throw H.wrapException(P.UnsupportedError$("Cannot sort Node list"));
    },
    setRange$4: function(_, start, end, iterable, skipCount) {
      throw H.wrapException(P.UnsupportedError$("Cannot setRange on Node list"));
    },
    setRange$3: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    fillRange$3: function(_, start, end, fill) {
      throw H.wrapException(P.UnsupportedError$("Cannot fillRange on Node list"));
    },
    removeRange$2: function(_, start, end) {
      throw H.wrapException(P.UnsupportedError$("Cannot removeRange on Node list"));
    },
    get$length: function(_) {
      return this._this.childNodes.length;
    },
    set$length: function(_, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot set length on immutable List."));
    },
    $index: function(_, index) {
      return this._this.childNodes[index];
    }
  };
  W.Node0.prototype = {
    remove$0: function(receiver) {
      var t1 = receiver.parentNode;
      if (t1 != null)
        t1.removeChild(receiver);
    },
    replaceWith$1: function(receiver, otherNode) {
      var $parent, t1, exception;
      try {
        t1 = receiver.parentNode;
        t1.toString;
        $parent = t1;
        J._replaceChild$2$x($parent, otherNode, receiver);
      } catch (exception) {
        H.unwrapException(exception);
      }
      return receiver;
    },
    _clearChildren$0: function(receiver) {
      var t1;
      for (; t1 = receiver.firstChild, t1 != null;)
        receiver.removeChild(t1);
    },
    toString$0: function(receiver) {
      var value = receiver.nodeValue;
      return value == null ? this.super$Interceptor$toString(receiver) : value;
    },
    get$parent: function(receiver) {
      return receiver.parentElement;
    },
    get$text: function(receiver) {
      return receiver.textContent;
    },
    contains$1: function(receiver, other) {
      return receiver.contains(other);
    },
    _replaceChild$2: function(receiver, node, child) {
      return receiver.replaceChild(node, child);
    },
    $isNode0: 1,
    text$0: function($receiver) {
      return this.get$text($receiver).call$0();
    }
  };
  W.NodeList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.Notification_requestPermission_closure.prototype = {
    call$1: function(value) {
      this.completer.complete$1(0, value);
    },
    $signature: 122
  };
  W.OListElement.prototype = {
    get$start: function(receiver) {
      return receiver.start;
    }
  };
  W.ObjectElement.prototype = {
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    get$name: function(receiver) {
      return receiver.name;
    },
    set$width: function(receiver, value) {
      receiver.width = value;
    }
  };
  W.OffscreenCanvas.prototype = {
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    set$width: function(receiver, value) {
      receiver.width = value;
    },
    getContext$2: function(receiver, contextType, attributes) {
      var t1 = receiver.getContext(contextType, P.convertDartToNative_Dictionary(attributes));
      return t1;
    }
  };
  W.OptionElement.prototype = {
    get$index: function(receiver) {
      return receiver.index;
    }
  };
  W.OutputElement.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.OverconstrainedError.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    },
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.ParagraphElement.prototype = {};
  W.ParamElement.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.PasswordCredential.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.PaymentInstruments.prototype = {
    keys$0: function(receiver) {
      return P.promiseToFuture(receiver.keys(), type$.List_dynamic);
    }
  };
  W.PerformanceEntry.prototype = {
    get$duration: function(receiver) {
      return receiver.duration;
    },
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.PerformanceServerTiming.prototype = {
    get$duration: function(receiver) {
      return receiver.duration;
    },
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.PermissionStatus.prototype = {$isPermissionStatus: 1};
  W.Permissions.prototype = {
    query$1: function(receiver, permission) {
      return P.promiseToFuture(receiver.query(P.convertDartToNative_Dictionary(permission)), type$.PermissionStatus);
    }
  };
  W.Plugin.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    get$name: function(receiver) {
      return receiver.name;
    },
    $isPlugin: 1
  };
  W.PluginArray.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.PointerEvent.prototype = {$isPointerEvent: 1};
  W.PositionError.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    }
  };
  W.PresentationConnection.prototype = {$isPresentationConnection: 1};
  W.PresentationConnectionCloseEvent.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    }
  };
  W.PresentationRequest.prototype = {
    start$0: function(receiver) {
      return P.promiseToFuture(receiver.start(), type$.PresentationConnection);
    }
  };
  W.ProgressEvent.prototype = {$isProgressEvent: 1};
  W.PushMessageData.prototype = {
    arrayBuffer$0: function(receiver) {
      return receiver.arrayBuffer();
    },
    text$0: function(receiver) {
      return receiver.text();
    }
  };
  W.Range0.prototype = {
    collapse$0: function(receiver) {
      return receiver.collapse();
    }
  };
  W.ReportBody.prototype = {};
  W.RtcDataChannelEvent.prototype = {
    get$channel: function(receiver) {
      return receiver.channel;
    }
  };
  W.RtcDtmfSender.prototype = {
    get$duration: function(receiver) {
      return receiver.duration;
    }
  };
  W.RtcStatsReport.prototype = {
    addAll$1: function(receiver, other) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    containsKey$1: function(receiver, key) {
      return P.convertNativeToDart_Dictionary(receiver.get(key)) != null;
    },
    $index: function(receiver, key) {
      return P.convertNativeToDart_Dictionary(receiver.get(key));
    },
    forEach$1: function(receiver, f) {
      var entry,
        entries = receiver.entries();
      for (; true;) {
        entry = entries.next();
        if (entry.done)
          return;
        f.call$2(entry.value[0], P.convertNativeToDart_Dictionary(entry.value[1]));
      }
    },
    get$keys: function(receiver) {
      var keys = H._setArrayType([], type$.JSArray_String);
      this.forEach$1(receiver, new W.RtcStatsReport_keys_closure(keys));
      return keys;
    },
    get$values: function(receiver) {
      var values = H._setArrayType([], type$.JSArray_Map_dynamic_dynamic);
      this.forEach$1(receiver, new W.RtcStatsReport_values_closure(values));
      return values;
    },
    get$length: function(receiver) {
      return receiver.size;
    },
    get$isEmpty: function(receiver) {
      return receiver.size === 0;
    },
    get$isNotEmpty: function(receiver) {
      return receiver.size !== 0;
    },
    $indexSet: function(receiver, key, value) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    putIfAbsent$2: function(receiver, key, ifAbsent) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    remove$1: function(receiver, key) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    clear$0: function(receiver) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    $isMap: 1
  };
  W.RtcStatsReport_keys_closure.prototype = {
    call$2: function(k, v) {
      return this.keys.push(k);
    },
    $signature: 27
  };
  W.RtcStatsReport_values_closure.prototype = {
    call$2: function(k, v) {
      return this.values.push(v);
    },
    $signature: 27
  };
  W.ScreenOrientation.prototype = {
    unlock$0: function(receiver) {
      return receiver.unlock();
    }
  };
  W.ScriptElement.prototype = {};
  W.SelectElement.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.Sensor.prototype = {
    start$0: function(receiver) {
      return receiver.start();
    }
  };
  W.SharedWorkerGlobalScope.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.SlotElement.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.SourceBuffer.prototype = {$isSourceBuffer: 1};
  W.SourceBufferList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.SpanElement.prototype = {$isSpanElement: 1};
  W.SpeechGrammar.prototype = {$isSpeechGrammar: 1};
  W.SpeechGrammarList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.SpeechRecognition.prototype = {
    start$0: function(receiver) {
      return receiver.start();
    }
  };
  W.SpeechRecognitionError.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    }
  };
  W.SpeechRecognitionResult.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $isSpeechRecognitionResult: 1
  };
  W.SpeechSynthesisEvent.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.SpeechSynthesisUtterance.prototype = {
    get$text: function(receiver) {
      return receiver.text;
    },
    text$0: function($receiver) {
      return this.get$text($receiver).call$0();
    }
  };
  W.SpeechSynthesisVoice.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  W.Storage.prototype = {
    addAll$1: function(receiver, other) {
      other.forEach$1(0, new W.Storage_addAll_closure(receiver));
    },
    containsKey$1: function(receiver, key) {
      return receiver.getItem(H._asStringS(key)) != null;
    },
    $index: function(receiver, key) {
      return receiver.getItem(H._asStringS(key));
    },
    $indexSet: function(receiver, key, value) {
      receiver.setItem(key, value);
    },
    putIfAbsent$2: function(receiver, key, ifAbsent) {
      if (receiver.getItem(key) == null)
        receiver.setItem(key, ifAbsent.call$0());
      return receiver.getItem(key);
    },
    remove$1: function(receiver, key) {
      var value;
      H._asStringS(key);
      value = receiver.getItem(key);
      receiver.removeItem(key);
      return value;
    },
    clear$0: function(receiver) {
      return receiver.clear();
    },
    forEach$1: function(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: function(receiver) {
      var keys = H._setArrayType([], type$.JSArray_String);
      this.forEach$1(receiver, new W.Storage_keys_closure(keys));
      return keys;
    },
    get$values: function(receiver) {
      var values = H._setArrayType([], type$.JSArray_String);
      this.forEach$1(receiver, new W.Storage_values_closure(values));
      return values;
    },
    get$length: function(receiver) {
      return receiver.length;
    },
    get$isEmpty: function(receiver) {
      return receiver.key(0) == null;
    },
    get$isNotEmpty: function(receiver) {
      return receiver.key(0) != null;
    },
    $isMap: 1
  };
  W.Storage_addAll_closure.prototype = {
    call$2: function(k, v) {
      this.$this.setItem(k, v);
    },
    $signature: 52
  };
  W.Storage_keys_closure.prototype = {
    call$2: function(k, v) {
      return this.keys.push(k);
    },
    $signature: 52
  };
  W.Storage_values_closure.prototype = {
    call$2: function(k, v) {
      return this.values.push(v);
    },
    $signature: 52
  };
  W.StyleElement.prototype = {};
  W.StyleSheet.prototype = {$isStyleSheet: 1};
  W.TableElement.prototype = {
    createFragment$3$treeSanitizer$validator: function(receiver, html, treeSanitizer, validator) {
      var table, fragment;
      if ("createContextualFragment" in window.Range.prototype)
        return this.super$Element$createFragment(receiver, html, treeSanitizer, validator);
      table = W.Element_Element$html("<table>" + html + "</table>", treeSanitizer, validator);
      fragment = document.createDocumentFragment();
      fragment.toString;
      table.toString;
      new W._ChildNodeListLazy(fragment).addAll$1(0, new W._ChildNodeListLazy(table));
      return fragment;
    }
  };
  W.TableRowElement.prototype = {
    createFragment$3$treeSanitizer$validator: function(receiver, html, treeSanitizer, validator) {
      var t1, fragment, section, row;
      if ("createContextualFragment" in window.Range.prototype)
        return this.super$Element$createFragment(receiver, html, treeSanitizer, validator);
      t1 = document;
      fragment = t1.createDocumentFragment();
      t1 = C.TableElement_methods.createFragment$3$treeSanitizer$validator(t1.createElement("table"), html, treeSanitizer, validator);
      t1.toString;
      t1 = new W._ChildNodeListLazy(t1);
      section = t1.get$single(t1);
      section.toString;
      t1 = new W._ChildNodeListLazy(section);
      row = t1.get$single(t1);
      fragment.toString;
      row.toString;
      new W._ChildNodeListLazy(fragment).addAll$1(0, new W._ChildNodeListLazy(row));
      return fragment;
    }
  };
  W.TableSectionElement.prototype = {
    createFragment$3$treeSanitizer$validator: function(receiver, html, treeSanitizer, validator) {
      var t1, fragment, section;
      if ("createContextualFragment" in window.Range.prototype)
        return this.super$Element$createFragment(receiver, html, treeSanitizer, validator);
      t1 = document;
      fragment = t1.createDocumentFragment();
      t1 = C.TableElement_methods.createFragment$3$treeSanitizer$validator(t1.createElement("table"), html, treeSanitizer, validator);
      t1.toString;
      t1 = new W._ChildNodeListLazy(t1);
      section = t1.get$single(t1);
      fragment.toString;
      section.toString;
      new W._ChildNodeListLazy(fragment).addAll$1(0, new W._ChildNodeListLazy(section));
      return fragment;
    }
  };
  W.TemplateElement.prototype = {$isTemplateElement: 1};
  W.TextAreaElement.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    },
    select$0: function(receiver) {
      return receiver.select();
    },
    $isTextAreaElement: 1
  };
  W.TextTrack.prototype = {
    get$kind: function(receiver) {
      return receiver.kind;
    },
    $isTextTrack: 1
  };
  W.TextTrackCue.prototype = {$isTextTrackCue: 1};
  W.TextTrackCueList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.TextTrackList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.TimeRanges.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    end$1: function(receiver, index) {
      return receiver.end(index);
    },
    start$1: function(receiver, index) {
      return receiver.start(index);
    }
  };
  W.Touch.prototype = {$isTouch: 1};
  W.TouchEvent.prototype = {$isTouchEvent: 1};
  W.TouchList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W.TrackDefaultList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  W.TrackElement.prototype = {
    get$kind: function(receiver) {
      return receiver.kind;
    }
  };
  W.UIEvent.prototype = {};
  W.UnderlyingSourceBase.prototype = {
    start$1: function(receiver, stream) {
      return P.promiseToFuture(receiver.start(stream), type$.dynamic);
    }
  };
  W.Url.prototype = {
    toString$0: function(receiver) {
      return String(receiver);
    }
  };
  W.VRSession.prototype = {
    end$0: function(receiver) {
      return P.promiseToFuture(receiver.end(), type$.dynamic);
    }
  };
  W.VideoElement.prototype = {
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    set$width: function(receiver, value) {
      receiver.width = value;
    }
  };
  W.VideoTrack.prototype = {
    get$kind: function(receiver) {
      return receiver.kind;
    }
  };
  W.VideoTrackList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  W.VttCue.prototype = {
    get$text: function(receiver) {
      return receiver.text;
    },
    text$0: function($receiver) {
      return this.get$text($receiver).call$0();
    }
  };
  W.VttRegion.prototype = {
    set$width: function(receiver, value) {
      receiver.width = value;
    }
  };
  W.WebSocket0.prototype = {
    send$1: function(receiver, data) {
      return receiver.send(data);
    }
  };
  W.WheelEvent.prototype = {
    get$deltaY: function(receiver) {
      var value = receiver.deltaY;
      if (value != null)
        return value;
      throw H.wrapException(P.UnsupportedError$("deltaY is not supported"));
    },
    get$deltaX: function(receiver) {
      var value = receiver.deltaX;
      if (value != null)
        return value;
      throw H.wrapException(P.UnsupportedError$("deltaX is not supported"));
    },
    get$deltaMode: function(receiver) {
      if (!!receiver.deltaMode)
        return receiver.deltaMode;
      return 0;
    },
    $isWheelEvent: 1
  };
  W.Window.prototype = {
    open$2: function(receiver, url, $name) {
      var t1 = W._DOMWindowCrossFrame__createSafe(receiver.open(url, $name));
      return t1;
    },
    requestAnimationFrame$1: function(receiver, callback) {
      var t1;
      this._ensureRequestAnimationFrame$0(receiver);
      t1 = W._wrapZone(callback, type$.num);
      t1.toString;
      return this._requestAnimationFrame$1(receiver, t1);
    },
    _requestAnimationFrame$1: function(receiver, callback) {
      return receiver.requestAnimationFrame(H.convertDartClosureToJS(callback, 1));
    },
    _ensureRequestAnimationFrame$0: function(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: function(receiver) {
      return receiver.name;
    },
    get$parent: function(receiver) {
      return W._convertNativeToDart_Window(receiver.parent);
    },
    fetch$1: function(receiver, input) {
      return P.promiseToFuture(receiver.fetch(input, null), type$.dynamic);
    },
    postMessage$2: function(receiver, message, targetOrigin) {
      receiver.postMessage(new P._StructuredCloneDart2Js([], []).walk$1(message), targetOrigin);
      return;
    },
    $isWindow: 1
  };
  W.WorkerGlobalScope.prototype = {$isWorkerGlobalScope: 1};
  W._Attr.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    },
    $is_Attr: 1
  };
  W._CssRuleList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W._DomRect.prototype = {
    toString$0: function(receiver) {
      var t2,
        t1 = receiver.left;
      t1.toString;
      t1 = "Rectangle (" + H.S(t1) + ", ";
      t2 = receiver.top;
      t2.toString;
      t2 = t1 + H.S(t2) + ") ";
      t1 = receiver.width;
      t1.toString;
      t1 = t2 + H.S(t1) + " x ";
      t2 = receiver.height;
      t2.toString;
      return t1 + H.S(t2);
    },
    $eq: function(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: function(receiver) {
      var t2, t3, t4,
        t1 = receiver.left;
      t1.toString;
      t1 = C.JSNumber_methods.get$hashCode(t1);
      t2 = receiver.top;
      t2.toString;
      t2 = C.JSNumber_methods.get$hashCode(t2);
      t3 = receiver.width;
      t3.toString;
      t3 = C.JSNumber_methods.get$hashCode(t3);
      t4 = receiver.height;
      t4.toString;
      return W._JenkinsSmiHash_hash4(t1, t2, t3, C.JSNumber_methods.get$hashCode(t4));
    },
    get$_height: function(receiver) {
      return receiver.height;
    },
    get$height: function(receiver) {
      var t1 = receiver.height;
      t1.toString;
      return t1;
    },
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    get$_width: function(receiver) {
      return receiver.width;
    },
    get$width: function(receiver) {
      var t1 = receiver.width;
      t1.toString;
      return t1;
    },
    set$width: function(receiver, value) {
      receiver.width = value;
    }
  };
  W._GamepadList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W._NamedNodeMap.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W._SpeechRecognitionResultList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W._StyleSheetList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  W._AttributeMap.prototype = {
    addAll$1: function(_, other) {
      other.forEach$1(0, new W._AttributeMap_addAll_closure(this));
    },
    cast$2$0: function(_, $K, $V) {
      var t1 = type$.String;
      return P.Map_castFrom(this, t1, t1, $K, $V);
    },
    putIfAbsent$2: function(_, key, ifAbsent) {
      if (!(typeof key == "string" && this._element.hasAttribute(key)))
        this._element.setAttribute(key, ifAbsent.call$0());
      return this._element.getAttribute(key);
    },
    clear$0: function(_) {
      var t1, t2, t3, _i, key;
      for (t1 = this.get$keys(this), t2 = t1.length, t3 = this._element, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        key = t1[_i];
        if (typeof key == "string")
          t3.removeAttribute(key);
      }
    },
    forEach$1: function(_, f) {
      var t1, t2, t3, _i, t4;
      for (t1 = this.get$keys(this), t2 = t1.length, t3 = this._element, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        t4 = H._asStringS(t1[_i]);
        f.call$2(t4, t3.getAttribute(t4));
      }
    },
    get$keys: function(_) {
      var keys, len, t2, i, attr, t3,
        t1 = this._element.attributes;
      t1.toString;
      keys = H._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: function(_) {
      var values, len, t2, i, attr, t3,
        t1 = this._element.attributes;
      t1.toString;
      values = H._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: function(_) {
      return this.get$keys(this).length === 0;
    },
    get$isNotEmpty: function(_) {
      return this.get$keys(this).length !== 0;
    }
  };
  W._AttributeMap_addAll_closure.prototype = {
    call$2: function(k, v) {
      this.$this._element.setAttribute(k, v);
    },
    $signature: 52
  };
  W._ElementAttributeMap.prototype = {
    containsKey$1: function(_, key) {
      return typeof key == "string" && this._element.hasAttribute(key);
    },
    $index: function(_, key) {
      return this._element.getAttribute(H._asStringS(key));
    },
    $indexSet: function(_, key, value) {
      this._element.setAttribute(key, value);
    },
    remove$1: function(_, key) {
      var t1, value;
      if (typeof key == "string") {
        t1 = this._element;
        value = t1.getAttribute(key);
        t1.removeAttribute(key);
        t1 = value;
      } else
        t1 = null;
      return t1;
    },
    get$length: function(_) {
      return this.get$keys(this).length;
    }
  };
  W.EventStreamProvider.prototype = {};
  W._EventStream.prototype = {
    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
      return W._EventStreamSubscription$(this._html$_target, this._eventType, onData, false, H._instanceType(this)._precomputed1);
    },
    listen$3$onDone$onError: function(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$3$cancelOnError$onDone: function(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    listen$2$cancelOnError: function(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    }
  };
  W._ElementEventStreamImpl.prototype = {};
  W._EventStreamSubscription.prototype = {
    cancel$0: function(_) {
      var _this = this;
      if (_this._html$_target == null)
        return $.$get$nullFuture();
      _this._unlisten$0();
      _this._onData = _this._html$_target = null;
      return $.$get$nullFuture();
    },
    onData$1: function(handleData) {
      var t1, _this = this;
      if (_this._html$_target == null)
        throw H.wrapException(P.StateError$("Subscription has been canceled."));
      _this._unlisten$0();
      t1 = W._wrapZone(new W._EventStreamSubscription_onData_closure(handleData), type$.Event);
      _this._onData = t1;
      _this._tryResume$0();
    },
    onError$1: function(_, handleError) {
    },
    pause$1: function(_, resumeSignal) {
      if (this._html$_target == null)
        return;
      ++this._pauseCount;
      this._unlisten$0();
    },
    pause$0: function($receiver) {
      return this.pause$1($receiver, null);
    },
    resume$0: function(_) {
      var _this = this;
      if (_this._html$_target == null || _this._pauseCount <= 0)
        return;
      --_this._pauseCount;
      _this._tryResume$0();
    },
    _tryResume$0: function() {
      var t2, _this = this,
        t1 = _this._onData;
      if (t1 != null && _this._pauseCount <= 0) {
        t2 = _this._html$_target;
        t2.toString;
        J.addEventListener$3$x(t2, _this._eventType, t1, false);
      }
    },
    _unlisten$0: function() {
      var t2,
        t1 = this._onData;
      if (t1 != null) {
        t2 = this._html$_target;
        t2.toString;
        J.removeEventListener$3$x(t2, this._eventType, t1, false);
      }
    },
    asFuture$1$1: function(futureValue, $E) {
      return new P._Future($.Zone__current, $E._eval$1("_Future<0>"));
    }
  };
  W._EventStreamSubscription_closure.prototype = {
    call$1: function(e) {
      return this.onData.call$1(e);
    },
    $signature: 10
  };
  W._EventStreamSubscription_onData_closure.prototype = {
    call$1: function(e) {
      return this.handleData.call$1(e);
    },
    $signature: 10
  };
  W._Html5NodeValidator.prototype = {
    _Html5NodeValidator$1$uriPolicy: function(uriPolicy) {
      var _i;
      if ($._Html5NodeValidator__attributeValidators.get$isEmpty($._Html5NodeValidator__attributeValidators)) {
        for (_i = 0; _i < 262; ++_i)
          $._Html5NodeValidator__attributeValidators.$indexSet(0, C.List_2Zi[_i], W.html__Html5NodeValidator__standardAttributeValidator$closure());
        for (_i = 0; _i < 12; ++_i)
          $._Html5NodeValidator__attributeValidators.$indexSet(0, C.List_yrN[_i], W.html__Html5NodeValidator__uriAttributeValidator$closure());
      }
    },
    allowsElement$1: function(element) {
      return $.$get$_Html5NodeValidator__allowedElements().contains$1(0, W.Element__safeTagName(element));
    },
    allowsAttribute$3: function(element, attributeName, value) {
      var validator = $._Html5NodeValidator__attributeValidators.$index(0, H.S(W.Element__safeTagName(element)) + "::" + attributeName);
      if (validator == null)
        validator = $._Html5NodeValidator__attributeValidators.$index(0, "*::" + attributeName);
      if (validator == null)
        return false;
      return validator.call$4(element, attributeName, value, this);
    },
    $isNodeValidator: 1
  };
  W.ImmutableListMixin.prototype = {
    get$iterator: function(receiver) {
      return new W.FixedSizeListIterator(receiver, this.get$length(receiver), H.instanceType(receiver)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
    },
    add$1: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot add to immutable List."));
    },
    addAll$1: function(receiver, iterable) {
      throw H.wrapException(P.UnsupportedError$("Cannot add to immutable List."));
    },
    sort$1: function(receiver, compare) {
      throw H.wrapException(P.UnsupportedError$("Cannot sort immutable List."));
    },
    removeAt$1: function(receiver, pos) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from immutable List."));
    },
    removeLast$0: function(receiver) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from immutable List."));
    },
    remove$1: function(receiver, object) {
      throw H.wrapException(P.UnsupportedError$("Cannot remove from immutable List."));
    },
    setRange$4: function(receiver, start, end, iterable, skipCount) {
      throw H.wrapException(P.UnsupportedError$("Cannot setRange on immutable List."));
    },
    setRange$3: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    removeRange$2: function(receiver, start, end) {
      throw H.wrapException(P.UnsupportedError$("Cannot removeRange on immutable List."));
    },
    fillRange$3: function(receiver, start, end, fillValue) {
      throw H.wrapException(P.UnsupportedError$("Cannot modify an immutable List."));
    }
  };
  W.NodeValidatorBuilder.prototype = {
    add$1: function(_, validator) {
      this._validators.push(validator);
    },
    allowsElement$1: function(element) {
      return C.JSArray_methods.any$1(this._validators, new W.NodeValidatorBuilder_allowsElement_closure(element));
    },
    allowsAttribute$3: function(element, attributeName, value) {
      return C.JSArray_methods.any$1(this._validators, new W.NodeValidatorBuilder_allowsAttribute_closure(element, attributeName, value));
    },
    $isNodeValidator: 1
  };
  W.NodeValidatorBuilder_allowsElement_closure.prototype = {
    call$1: function(v) {
      return v.allowsElement$1(this.element);
    },
    $signature: 276
  };
  W.NodeValidatorBuilder_allowsAttribute_closure.prototype = {
    call$1: function(v) {
      return v.allowsAttribute$3(this.element, this.attributeName, this.value);
    },
    $signature: 276
  };
  W._SimpleNodeValidator.prototype = {
    _SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes: function(uriPolicy, allowedAttributes, allowedElements, allowedUriAttributes) {
      var legalAttributes, extraUriAttributes, t1;
      this.allowedElements.addAll$1(0, allowedElements);
      legalAttributes = allowedAttributes.where$1(0, new W._SimpleNodeValidator_closure());
      extraUriAttributes = allowedAttributes.where$1(0, new W._SimpleNodeValidator_closure0());
      this.allowedAttributes.addAll$1(0, legalAttributes);
      t1 = this.allowedUriAttributes;
      t1.addAll$1(0, C.List_empty);
      t1.addAll$1(0, extraUriAttributes);
    },
    allowsElement$1: function(element) {
      return this.allowedElements.contains$1(0, W.Element__safeTagName(element));
    },
    allowsAttribute$3: function(element, attributeName, value) {
      var _this = this,
        tagName = W.Element__safeTagName(element),
        t1 = _this.allowedUriAttributes;
      if (t1.contains$1(0, H.S(tagName) + "::" + attributeName))
        return _this.uriPolicy.allowsUri$1(value);
      else if (t1.contains$1(0, "*::" + attributeName))
        return _this.uriPolicy.allowsUri$1(value);
      else {
        t1 = _this.allowedAttributes;
        if (t1.contains$1(0, H.S(tagName) + "::" + attributeName))
          return true;
        else if (t1.contains$1(0, "*::" + attributeName))
          return true;
        else if (t1.contains$1(0, H.S(tagName) + "::*"))
          return true;
        else if (t1.contains$1(0, "*::*"))
          return true;
      }
      return false;
    },
    $isNodeValidator: 1
  };
  W._SimpleNodeValidator_closure.prototype = {
    call$1: function(x) {
      return !C.JSArray_methods.contains$1(C.List_yrN, x);
    },
    $signature: 17
  };
  W._SimpleNodeValidator_closure0.prototype = {
    call$1: function(x) {
      return C.JSArray_methods.contains$1(C.List_yrN, x);
    },
    $signature: 17
  };
  W._TemplatingNodeValidator.prototype = {
    allowsAttribute$3: function(element, attributeName, value) {
      if (this.super$_SimpleNodeValidator$allowsAttribute(element, attributeName, value))
        return true;
      if (attributeName === "template" && value === "")
        return true;
      if (element.getAttribute("template") === "")
        return this._templateAttrs.contains$1(0, attributeName);
      return false;
    }
  };
  W._TemplatingNodeValidator_closure.prototype = {
    call$1: function(attr) {
      return "TEMPLATE::" + H.S(attr);
    },
    $signature: 19
  };
  W._SvgNodeValidator.prototype = {
    allowsElement$1: function(element) {
      var t1;
      if (type$.ScriptElement._is(element))
        return false;
      t1 = type$.SvgElement._is(element);
      if (t1 && W.Element__safeTagName(element) === "foreignObject")
        return false;
      if (t1)
        return true;
      return false;
    },
    allowsAttribute$3: function(element, attributeName, value) {
      if (attributeName === "is" || C.JSString_methods.startsWith$1(attributeName, "on"))
        return false;
      return this.allowsElement$1(element);
    },
    $isNodeValidator: 1
  };
  W.FixedSizeListIterator.prototype = {
    moveNext$0: function() {
      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: function(_) {
      return this._current;
    }
  };
  W.Console0.prototype = {
    warn$1: function(arg) {
      return typeof console != "undefined" ? window.console.warn(arg) : null;
    }
  };
  W._DOMWindowCrossFrame.prototype = {
    get$parent: function(_) {
      return W._DOMWindowCrossFrame__createSafe(this._html$_window.parent);
    },
    postMessage$2: function(_, message, targetOrigin) {
      this._html$_window.postMessage(new P._StructuredCloneDart2Js([], []).walk$1(message), targetOrigin);
    },
    $isEventTarget: 1
  };
  W._SameOriginUriPolicy.prototype = {};
  W._ValidatingTreeSanitizer.prototype = {
    sanitizeTree$1: function(node) {
      var previousTreeModifications,
        walk = new W._ValidatingTreeSanitizer_sanitizeTree_walk(this);
      do {
        previousTreeModifications = this.numTreeModifications;
        walk.call$2(node, null);
      } while (previousTreeModifications !== this.numTreeModifications);
    },
    _removeNode$2: function(node, $parent) {
      ++this.numTreeModifications;
      if ($parent == null || $parent !== node.parentNode)
        J.remove$0$ax(node);
      else
        $parent.removeChild(node);
    },
    _sanitizeUntrustedElement$2: function(element, $parent) {
      var corruptedTest1, elementText, elementTagName, exception, t1,
        corrupted = true,
        attrs = null, isAttr = null;
      try {
        attrs = J.get$attributes$x(element);
        isAttr = attrs._element.getAttribute("is");
        corruptedTest1 = function(element) {
          if (!(element.attributes instanceof NamedNodeMap))
            return true;
          if (element.id == 'lastChild' || element.name == 'lastChild' || element.id == 'previousSibling' || element.name == 'previousSibling' || element.id == 'children' || element.name == 'children')
            return true;
          var childNodes = element.childNodes;
          if (element.lastChild && element.lastChild !== childNodes[childNodes.length - 1])
            return true;
          if (element.children)
            if (!(element.children instanceof HTMLCollection || element.children instanceof NodeList))
              return true;
          var length = 0;
          if (element.children)
            length = element.children.length;
          for (var i = 0; i < length; i++) {
            var child = element.children[i];
            if (child.id == 'attributes' || child.name == 'attributes' || child.id == 'lastChild' || child.name == 'lastChild' || child.id == 'previousSibling' || child.name == 'previousSibling' || child.id == 'children' || child.name == 'children')
              return true;
          }
          return false;
        }(element);
        corrupted = corruptedTest1 ? true : !(element.attributes instanceof NamedNodeMap);
      } catch (exception) {
        H.unwrapException(exception);
      }
      elementText = "element unprintable";
      try {
        elementText = J.toString$0$(element);
      } catch (exception) {
        H.unwrapException(exception);
      }
      try {
        elementTagName = W.Element__safeTagName(element);
        this._sanitizeElement$7(element, $parent, corrupted, elementText, elementTagName, attrs, isAttr);
      } catch (exception) {
        if (H.unwrapException(exception) instanceof P.ArgumentError)
          throw exception;
        else {
          this._removeNode$2(element, $parent);
          window;
          t1 = "Removing corrupted element " + H.S(elementText);
          if (typeof console != "undefined")
            window.console.warn(t1);
        }
      }
    },
    _sanitizeElement$7: function(element, $parent, corrupted, text, tag, attrs, isAttr) {
      var t1, keys, i, $name, t2, t3, _this = this;
      if (corrupted) {
        _this._removeNode$2(element, $parent);
        window;
        t1 = "Removing element due to corrupted attributes on <" + text + ">";
        if (typeof console != "undefined")
          window.console.warn(t1);
        return;
      }
      if (!_this.validator.allowsElement$1(element)) {
        _this._removeNode$2(element, $parent);
        window;
        t1 = "Removing disallowed element <" + H.S(tag) + "> from " + H.S($parent);
        if (typeof console != "undefined")
          window.console.warn(t1);
        return;
      }
      if (isAttr != null)
        if (!_this.validator.allowsAttribute$3(element, "is", isAttr)) {
          _this._removeNode$2(element, $parent);
          window;
          t1 = "Removing disallowed type extension <" + H.S(tag) + ' is="' + isAttr + '">';
          if (typeof console != "undefined")
            window.console.warn(t1);
          return;
        }
      t1 = attrs.get$keys(attrs);
      keys = H._setArrayType(t1.slice(0), H._arrayInstanceType(t1));
      for (i = attrs.get$keys(attrs).length - 1, t1 = attrs._element; i >= 0; --i) {
        $name = keys[i];
        t2 = _this.validator;
        t3 = J.toLowerCase$0$s($name);
        H._asStringS($name);
        if (!t2.allowsAttribute$3(element, t3, t1.getAttribute($name))) {
          window;
          t2 = "Removing disallowed attribute <" + H.S(tag) + " " + $name + '="' + H.S(t1.getAttribute($name)) + '">';
          if (typeof console != "undefined")
            window.console.warn(t2);
          t1.removeAttribute($name);
        }
      }
      if (type$.TemplateElement._is(element)) {
        t1 = element.content;
        t1.toString;
        _this.sanitizeTree$1(t1);
      }
    }
  };
  W._ValidatingTreeSanitizer_sanitizeTree_walk.prototype = {
    call$2: function(node, $parent) {
      var child, nextChild, t2, t3, exception,
        t1 = this.$this;
      switch (node.nodeType) {
        case 1:
          t1._sanitizeUntrustedElement$2(node, $parent);
          break;
        case 8:
        case 11:
        case 3:
        case 4:
          break;
        default:
          t1._removeNode$2(node, $parent);
      }
      child = node.lastChild;
      for (; child != null;) {
        nextChild = null;
        try {
          nextChild = child.previousSibling;
          if (nextChild != null) {
            t2 = nextChild.nextSibling;
            t3 = child;
            t3 = t2 == null ? t3 != null : t2 !== t3;
            t2 = t3;
          } else
            t2 = false;
          if (t2) {
            t2 = P.StateError$("Corrupt HTML");
            throw H.wrapException(t2);
          }
        } catch (exception) {
          H.unwrapException(exception);
          t2 = child;
          ++t1.numTreeModifications;
          t3 = t2.parentNode;
          t3 = node == null ? t3 != null : node !== t3;
          if (t3) {
            t3 = t2.parentNode;
            if (t3 != null)
              t3.removeChild(t2);
          } else
            node.removeChild(t2);
          child = null;
          nextChild = node.lastChild;
        }
        if (child != null)
          this.call$2(child, node);
        child = nextChild;
      }
    },
    $signature: 722
  };
  W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase.prototype = {};
  W._DomRectList_Interceptor_ListMixin.prototype = {};
  W._DomRectList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W._DomStringList_Interceptor_ListMixin.prototype = {};
  W._DomStringList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W._FileList_Interceptor_ListMixin.prototype = {};
  W._FileList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W._HtmlCollection_Interceptor_ListMixin.prototype = {};
  W._HtmlCollection_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W._MidiInputMap_Interceptor_MapMixin.prototype = {};
  W._MidiOutputMap_Interceptor_MapMixin.prototype = {};
  W._MimeTypeArray_Interceptor_ListMixin.prototype = {};
  W._MimeTypeArray_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W._NodeList_Interceptor_ListMixin.prototype = {};
  W._NodeList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W._PluginArray_Interceptor_ListMixin.prototype = {};
  W._PluginArray_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W._RtcStatsReport_Interceptor_MapMixin.prototype = {};
  W._SourceBufferList_EventTarget_ListMixin.prototype = {};
  W._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin.prototype = {};
  W._SpeechGrammarList_Interceptor_ListMixin.prototype = {};
  W._SpeechGrammarList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W._Storage_Interceptor_MapMixin.prototype = {};
  W._TextTrackCueList_Interceptor_ListMixin.prototype = {};
  W._TextTrackCueList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W._TextTrackList_EventTarget_ListMixin.prototype = {};
  W._TextTrackList_EventTarget_ListMixin_ImmutableListMixin.prototype = {};
  W._TouchList_Interceptor_ListMixin.prototype = {};
  W._TouchList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W.__CssRuleList_Interceptor_ListMixin.prototype = {};
  W.__CssRuleList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W.__GamepadList_Interceptor_ListMixin.prototype = {};
  W.__GamepadList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W.__NamedNodeMap_Interceptor_ListMixin.prototype = {};
  W.__NamedNodeMap_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W.__SpeechRecognitionResultList_Interceptor_ListMixin.prototype = {};
  W.__SpeechRecognitionResultList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  W.__StyleSheetList_Interceptor_ListMixin.prototype = {};
  W.__StyleSheetList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  P._StructuredClone.prototype = {
    findSlot$1: function(value) {
      var i,
        t1 = this.values,
        $length = t1.length;
      for (i = 0; i < $length; ++i)
        if (t1[i] === value)
          return i;
      t1.push(value);
      this.copies.push(null);
      return $length;
    },
    walk$1: function(e) {
      var slot, t2, copy, _this = this, t1 = {};
      if (e == null)
        return e;
      if (H._isBool(e))
        return e;
      if (typeof e == "number")
        return e;
      if (typeof e == "string")
        return e;
      if (e instanceof P.DateTime)
        return new Date(e._core$_value);
      if (type$.RegExp._is(e))
        throw H.wrapException(P.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 P._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 P._StructuredClone_walk_closure0(t1, _this));
        return t1.copy;
      }
      throw H.wrapException(P.UnimplementedError$("structured clone of other type"));
    },
    copyList$2: function(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: function(receiver) {
      return this.values;
    }
  };
  P._StructuredClone_walk_closure.prototype = {
    call$2: function(key, value) {
      this._box_0.copy[key] = this.$this.walk$1(value);
    },
    $signature: 86
  };
  P._StructuredClone_walk_closure0.prototype = {
    call$2: function(key, value) {
      this._box_0.copy[key] = this.$this.walk$1(value);
    },
    $signature: 723
  };
  P._AcceptStructuredClone.prototype = {
    findSlot$1: function(value) {
      var i,
        t1 = this.values,
        $length = t1.length;
      for (i = 0; i < $length; ++i)
        if (t1[i] === value)
          return i;
      t1.push(value);
      this.copies.push(null);
      return $length;
    },
    walk$1: function(e) {
      var proto, slot, t1, copy, t2, l, $length, i, _this = this, _box_0 = {};
      if (e == null)
        return e;
      if (H._isBool(e))
        return e;
      if (typeof e == "number")
        return e;
      if (typeof e == "string")
        return e;
      if (e instanceof Date)
        return P.DateTime$fromMillisecondsSinceEpoch(e.getTime(), true);
      if (e instanceof RegExp)
        throw H.wrapException(P.UnimplementedError$("structured clone of RegExp"));
      if (typeof Promise != "undefined" && e instanceof Promise)
        return P.promiseToFuture(e, type$.dynamic);
      proto = Object.getPrototypeOf(e);
      if (proto === Object.prototype || proto === null) {
        slot = _this.findSlot$1(e);
        t1 = _this.copies;
        copy = _box_0.copy = t1[slot];
        if (copy != null)
          return copy;
        t2 = type$.dynamic;
        copy = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
        _box_0.copy = copy;
        t1[slot] = copy;
        _this.forEachJsField$2(e, new P._AcceptStructuredClone_walk_closure(_box_0, _this));
        return _box_0.copy;
      }
      if (e instanceof Array) {
        l = e;
        slot = _this.findSlot$1(l);
        t1 = _this.copies;
        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: function(object, mustCopy) {
      this.mustCopy = mustCopy;
      return this.walk$1(object);
    },
    get$values: function(receiver) {
      return this.values;
    }
  };
  P._AcceptStructuredClone_walk_closure.prototype = {
    call$2: function(key, value) {
      var t1 = this._box_0.copy,
        t2 = this.$this.walk$1(value);
      J.$indexSet$ax(t1, key, t2);
      return t2;
    },
    $signature: 725
  };
  P._convertDartToNative_Value_closure.prototype = {
    call$1: function(element) {
      this.array.push(P._convertDartToNative_Value(element));
    },
    $signature: 13
  };
  P.convertDartToNative_Dictionary_closure.prototype = {
    call$2: function(key, value) {
      this.object[key] = P._convertDartToNative_Value(value);
    },
    $signature: 86
  };
  P._StructuredCloneDart2Js.prototype = {
    forEachObjectKey$2: function(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]);
      }
    }
  };
  P._AcceptStructuredCloneDart2Js.prototype = {
    forEachJsField$2: function(object, action) {
      var t1, t2, _i, key;
      for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        key = t1[_i];
        action.call$2(key, object[key]);
      }
    }
  };
  P.FilteredElementList.prototype = {
    get$_html_common$_iterable: function() {
      var t1 = this._childNodes,
        t2 = H._instanceType(t1);
      return new H.MappedIterable(new H.WhereIterable(t1, new P.FilteredElementList__iterable_closure(), t2._eval$1("WhereIterable<ListMixin.E>")), new P.FilteredElementList__iterable_closure0(), t2._eval$1("MappedIterable<ListMixin.E,Element>"));
    },
    forEach$1: function(_, f) {
      C.JSArray_methods.forEach$1(P.List_List$from(this.get$_html_common$_iterable(), false, type$.Element), f);
    },
    $indexSet: function(_, 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: function(_, newLength) {
      var len = J.get$length$asx(this.get$_html_common$_iterable().__internal$_iterable);
      if (newLength >= len)
        return;
      else if (newLength < 0)
        throw H.wrapException(P.ArgumentError$("Invalid list length"));
      this.removeRange$2(0, newLength, len);
    },
    add$1: function(_, value) {
      this._childNodes._this.appendChild(value);
    },
    addAll$1: function(_, 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: function(_, needle) {
      if (!type$.Element._is(needle))
        return false;
      return needle.parentNode === this._node;
    },
    sort$1: function(_, compare) {
      throw H.wrapException(P.UnsupportedError$("Cannot sort filtered list"));
    },
    setRange$4: function(_, start, end, iterable, skipCount) {
      throw H.wrapException(P.UnsupportedError$("Cannot setRange on filtered list"));
    },
    setRange$3: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    fillRange$3: function(_, start, end, fillValue) {
      throw H.wrapException(P.UnsupportedError$("Cannot fillRange on filtered list"));
    },
    removeRange$2: function(_, start, end) {
      var t1 = this.get$_html_common$_iterable();
      t1 = H.SkipIterable_SkipIterable(t1, start, t1.$ti._eval$1("Iterable.E"));
      C.JSArray_methods.forEach$1(P.List_List$from(H.TakeIterable_TakeIterable(t1, end - start, H._instanceType(t1)._eval$1("Iterable.E")), true, type$.dynamic), new P.FilteredElementList_removeRange_closure());
    },
    clear$0: function(_) {
      J._clearChildren$0$x(this._childNodes._this);
    },
    removeLast$0: function(_) {
      var t1 = this.get$_html_common$_iterable(),
        result = t1._f.call$1(J.get$last$ax(t1.__internal$_iterable));
      if (result != null)
        J.remove$0$ax(result);
      return result;
    },
    insert$2: function(_, index, value) {
      var t1, element;
      if (index === J.get$length$asx(this.get$_html_common$_iterable().__internal$_iterable))
        this._childNodes._this.appendChild(value);
      else {
        t1 = this.get$_html_common$_iterable();
        element = t1._f.call$1(J.elementAt$1$ax(t1.__internal$_iterable, index));
        element.parentNode.insertBefore(value, element);
      }
    },
    removeAt$1: function(_, 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: function(_, element) {
      if (!type$.Element._is(element))
        return false;
      if (this.contains$1(0, element)) {
        J.remove$0$ax(element);
        return true;
      } else
        return false;
    },
    get$length: function(_) {
      return J.get$length$asx(this.get$_html_common$_iterable().__internal$_iterable);
    },
    $index: function(_, index) {
      var t1 = this.get$_html_common$_iterable();
      return t1._f.call$1(J.elementAt$1$ax(t1.__internal$_iterable, index));
    },
    get$iterator: function(_) {
      var t1 = P.List_List$from(this.get$_html_common$_iterable(), false, type$.Element);
      return new J.ArrayIterator(t1, t1.length, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
    }
  };
  P.FilteredElementList__iterable_closure.prototype = {
    call$1: function(n) {
      return type$.Element._is(n);
    },
    $signature: 281
  };
  P.FilteredElementList__iterable_closure0.prototype = {
    call$1: function(n) {
      return type$.Element._as(n);
    },
    $signature: 727
  };
  P.FilteredElementList_removeRange_closure.prototype = {
    call$1: function(el) {
      return J.remove$0$ax(el);
    },
    $signature: 13
  };
  P.Database.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    },
    get$version: function(receiver) {
      return receiver.version;
    }
  };
  P._completeRequest_closure.prototype = {
    call$1: function(e) {
      this.completer.complete$1(0, new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(this.request.result, false));
    },
    $signature: 10
  };
  P.Index.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    },
    $isIndex: 1
  };
  P.KeyRange.prototype = {$isKeyRange: 1};
  P.ObjectStore.prototype = {
    add$1: function(receiver, value) {
      var request, e, stacktrace, t1, exception, key = null;
      try {
        request = null;
        if (key != null)
          request = this._indexed_db$_add$2(receiver, value, key);
        else
          request = this._indexed_db$_add$1(receiver, value);
        t1 = P._completeRequest(request, type$.dynamic);
        return t1;
      } catch (exception) {
        e = H.unwrapException(exception);
        stacktrace = H.getTraceFromException(exception);
        t1 = P.Future_Future$error(e, stacktrace, type$.dynamic);
        return t1;
      }
    },
    get$name: function(receiver) {
      return receiver.name;
    },
    _indexed_db$_add$2: function(receiver, value, key) {
      return receiver.add(new P._StructuredCloneDart2Js([], []).walk$1(value));
    },
    _indexed_db$_add$1: function($receiver, value) {
      return this._indexed_db$_add$2($receiver, value, null);
    },
    index$1: function(receiver, $name) {
      return receiver.index($name);
    }
  };
  P.VersionChangeEvent.prototype = {
    get$target: function(receiver) {
      return receiver.target;
    }
  };
  P.JsObject__convertDataTree__convert.prototype = {
    call$1: function(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);
        C.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic));
        return convertedList;
      } else
        return P._convertToJS(o);
    },
    $signature: 323
  };
  P._convertToJS_closure.prototype = {
    call$1: function(o) {
      var jsFunction = function(_call, f, captureThis) {
        return function() {
          return _call(f, captureThis, this, Array.prototype.slice.apply(arguments));
        };
      }(P._callDartFunction, o, false);
      P._defineProperty(jsFunction, $.$get$DART_CLOSURE_PROPERTY_NAME(), o);
      return jsFunction;
    },
    $signature: 43
  };
  P._convertToJS_closure0.prototype = {
    call$1: function(o) {
      return new this.ctor(o);
    },
    $signature: 43
  };
  P._wrapToDart_closure.prototype = {
    call$1: function(o) {
      return new P.JsFunction(o);
    },
    $signature: 733
  };
  P._wrapToDart_closure0.prototype = {
    call$1: function(o) {
      return new P.JsArray(o, type$.JsArray_dynamic);
    },
    $signature: 735
  };
  P._wrapToDart_closure1.prototype = {
    call$1: function(o) {
      return new P.JsObject(o);
    },
    $signature: 740
  };
  P.JsObject.prototype = {
    $index: function(_, property) {
      if (typeof property != "string" && typeof property != "number")
        throw H.wrapException(P.ArgumentError$("property is not a String or num"));
      return P._convertToDart(this._js$_jsObject[property]);
    },
    $indexSet: function(_, property, value) {
      if (typeof property != "string" && typeof property != "number")
        throw H.wrapException(P.ArgumentError$("property is not a String or num"));
      this._js$_jsObject[property] = P._convertToJS(value);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof P.JsObject && this._js$_jsObject === other._js$_jsObject;
    },
    toString$0: function(_) {
      var t1, exception;
      try {
        t1 = String(this._js$_jsObject);
        return t1;
      } catch (exception) {
        H.unwrapException(exception);
        t1 = this.super$Object$toString(0);
        return t1;
      }
    },
    callMethod$2: function(method, args) {
      var t1 = this._js$_jsObject,
        t2 = args == null ? null : P.List_List$from(new H.MappedListIterable(args, P.js___convertToJS$closure(), H._arrayInstanceType(args)._eval$1("MappedListIterable<1,@>")), true, type$.dynamic);
      return P._convertToDart(t1[method].apply(t1, t2));
    },
    callMethod$1: function(method) {
      return this.callMethod$2(method, null);
    },
    get$hashCode: function(_) {
      return 0;
    }
  };
  P.JsFunction.prototype = {};
  P.JsArray.prototype = {
    _checkIndex$1: function(index) {
      var _this = this,
        t1 = index < 0 || index >= _this.get$length(_this);
      if (t1)
        throw H.wrapException(P.RangeError$range(index, 0, _this.get$length(_this), null, null));
    },
    $index: function(_, index) {
      if (H._isInt(index))
        this._checkIndex$1(index);
      return this.super$JsObject$$index(0, index);
    },
    $indexSet: function(_, index, value) {
      if (H._isInt(index))
        this._checkIndex$1(index);
      this.super$_JsArray_JsObject_ListMixin$$indexSet(0, index, value);
    },
    get$length: function(_) {
      var len = this._js$_jsObject.length;
      if (typeof len === "number" && len >>> 0 === len)
        return len;
      throw H.wrapException(P.StateError$("Bad JsArray length"));
    },
    set$length: function(_, $length) {
      this.super$_JsArray_JsObject_ListMixin$$indexSet(0, "length", $length);
    },
    add$1: function(_, value) {
      this.callMethod$2("push", [value]);
    },
    addAll$1: function(_, iterable) {
      this.callMethod$2("push", iterable instanceof Array ? iterable : P.List_List$from(iterable, true, type$.dynamic));
    },
    removeAt$1: function(_, index) {
      this._checkIndex$1(index);
      return J.$index$asx(this.callMethod$2("splice", [index, 1]), 0);
    },
    removeLast$0: function(_) {
      if (this.get$length(this) === 0)
        throw H.wrapException(P.RangeError$(-1));
      return this.callMethod$1("pop");
    },
    removeRange$2: function(_, start, end) {
      P.JsArray__checkRange(start, end, this.get$length(this));
      this.callMethod$2("splice", [start, end - start]);
    },
    setRange$4: function(_, start, end, iterable, skipCount) {
      var $length, args;
      P.JsArray__checkRange(start, end, this.get$length(this));
      $length = end - start;
      if ($length === 0)
        return;
      if (skipCount < 0)
        throw H.wrapException(P.ArgumentError$(skipCount));
      args = [start, $length];
      C.JSArray_methods.addAll$1(args, J.skip$1$ax(iterable, skipCount).take$1(0, $length));
      this.callMethod$2("splice", args);
    },
    setRange$3: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    sort$1: function(_, compare) {
      this.callMethod$2("sort", compare == null ? [] : [compare]);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  P._JsArray_JsObject_ListMixin.prototype = {
    $indexSet: function(_, property, value) {
      return this.super$JsObject$$indexSet(0, property, value);
    }
  };
  P.NullRejectionException.prototype = {
    toString$0: function(_) {
      return "Promise was rejected with a value of `" + (this.isUndefined ? "undefined" : "null") + "`.";
    },
    $isException: 1
  };
  P.promiseToFuture_closure.prototype = {
    call$1: function(r) {
      return this.completer.complete$1(0, r);
    },
    $signature: 13
  };
  P.promiseToFuture_closure0.prototype = {
    call$1: function(e) {
      if (e == null)
        return this.completer.completeError$1(new P.NullRejectionException(e === undefined));
      return this.completer.completeError$1(e);
    },
    $signature: 13
  };
  P._JSRandom.prototype = {
    nextInt$1: function(max) {
      if (max <= 0 || max > 4294967296)
        throw H.wrapException(P.RangeError$("max must be in range 0 < max \u2264 2^32, was " + max));
      return Math.random() * max >>> 0;
    }
  };
  P._JSSecureRandom.prototype = {
    _JSSecureRandom$0: function() {
      var $crypto = self.crypto;
      if ($crypto != null)
        if ($crypto.getRandomValues != null)
          return;
      throw H.wrapException(P.UnsupportedError$("No source of cryptographically secure random numbers available."));
    }
  };
  P.Point.prototype = {
    toString$0: function(_) {
      return "Point(" + H.S(this.x) + ", " + H.S(this.y) + ")";
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof P.Point && this.x == other.x && this.y == other.y;
    },
    get$hashCode: function(_) {
      var t1 = J.get$hashCode$(this.x),
        t2 = J.get$hashCode$(this.y);
      return H.SystemHash_finish(H.SystemHash_combine(H.SystemHash_combine(0, t1), t2));
    },
    $add: function(_, other) {
      var t1 = this.$ti,
        t2 = t1._precomputed1;
      return new P.Point(t2._as(this.x + other.x), t2._as(this.y + other.y), t1);
    },
    $sub: function(_, other) {
      var t1 = this.$ti,
        t2 = t1._precomputed1;
      return new P.Point(t2._as(this.x - other.x), t2._as(this.y - other.y), t1);
    },
    $mul: function(_, factor) {
      var t1 = this.$ti,
        t2 = t1._precomputed1;
      return new P.Point(t2._as(this.x * factor), t2._as(this.y * factor), t1);
    }
  };
  P.FEColorMatrixElement.prototype = {
    get$values: function(receiver) {
      return receiver.values;
    }
  };
  P.Length.prototype = {$isLength: 1};
  P.LengthList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver.getItem(index);
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return this.$index(receiver, index);
    },
    clear$0: function(receiver) {
      return receiver.clear();
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  P.Number.prototype = {$isNumber: 1};
  P.NumberList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver.getItem(index);
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return this.$index(receiver, index);
    },
    clear$0: function(receiver) {
      return receiver.clear();
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  P.PointList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  P.Rect0.prototype = {
    set$height: function(receiver, value) {
      receiver.height = value;
    },
    set$width: function(receiver, value) {
      receiver.width = value;
    }
  };
  P.ScriptElement0.prototype = {$isScriptElement0: 1};
  P.StringList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver.getItem(index);
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return this.$index(receiver, index);
    },
    clear$0: function(receiver) {
      return receiver.clear();
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  P.SvgElement.prototype = {
    get$children: function(receiver) {
      return new P.FilteredElementList(receiver, new W._ChildNodeListLazy(receiver));
    },
    createFragment$3$treeSanitizer$validator: function(receiver, svg, treeSanitizer, validator) {
      var html, t2, fragment, svgFragment, root,
        t1 = H._setArrayType([], type$.JSArray_NodeValidator);
      t1.push(W._Html5NodeValidator$(null));
      t1.push(W._TemplatingNodeValidator$());
      t1.push(new W._SvgNodeValidator());
      treeSanitizer = new W._ValidatingTreeSanitizer(new W.NodeValidatorBuilder(t1));
      html = '<svg version="1.1">' + svg + "</svg>";
      t1 = document;
      t2 = t1.body;
      t2.toString;
      fragment = C.BodyElement_methods.createFragment$2$treeSanitizer(t2, html, treeSanitizer);
      svgFragment = t1.createDocumentFragment();
      fragment.toString;
      t1 = new W._ChildNodeListLazy(fragment);
      root = t1.get$single(t1);
      for (; t1 = root.firstChild, t1 != null;)
        svgFragment.appendChild(t1);
      return svgFragment;
    },
    click$0: function(receiver) {
      throw H.wrapException(P.UnsupportedError$("Cannot invoke click SVG."));
    },
    focus$0: function(receiver) {
      return receiver.focus();
    },
    $isSvgElement: 1
  };
  P.Transform0.prototype = {$isTransform0: 1};
  P.TransformList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      return receiver.getItem(index);
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return this.$index(receiver, index);
    },
    clear$0: function(receiver) {
      return receiver.clear();
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  P._LengthList_Interceptor_ListMixin.prototype = {};
  P._LengthList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  P._NumberList_Interceptor_ListMixin.prototype = {};
  P._NumberList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  P._StringList_Interceptor_ListMixin.prototype = {};
  P._StringList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  P._TransformList_Interceptor_ListMixin.prototype = {};
  P._TransformList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  P.Endian.prototype = {};
  P.ClipOp.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.PathFillType.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P._ChannelCallbackRecord.prototype = {
    invoke$2: function(dataArg, callbackArg) {
      H.invoke2(this._callback, this._ui$_zone, dataArg, callbackArg);
    }
  };
  P._StoredMessage.prototype = {
    invoke$1: function(dataArg) {
      H.invoke1(this._callback, this._ui$_zone, dataArg, type$.nullable_ByteData);
    }
  };
  P._Channel.prototype = {
    get$length: function(_) {
      var t1 = this._ui$_queue;
      return t1.get$length(t1);
    },
    push$1: function(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._ui$_queue._add$1(0, message);
      return result;
    },
    _dropOverflowMessages$1: function(lengthLimit) {
      var t1, t2, result, message;
      for (t1 = this._ui$_queue, t2 = type$.nullable_ByteData, result = false; (t1._tail - t1._head & t1._table.length - 1) >>> 0 > lengthLimit; result = true) {
        message = t1.removeFirst$0();
        H.invoke1(message._callback, message._ui$_zone, null, t2);
      }
      return result;
    },
    _drainStep$0: function() {
      var t2, _this = this,
        t1 = _this._ui$_queue;
      if (!t1.get$isEmpty(t1) && _this._channelCallbackRecord != null) {
        t1 = t1.removeFirst$0();
        t2 = _this._channelCallbackRecord;
        t2.toString;
        t2.invoke$2(t1.data, t1.get$invoke());
        P.scheduleMicrotask(_this.get$_drainStep());
      } else
        _this._draining = false;
    }
  };
  P.ChannelBuffers.prototype = {
    push$3: function($name, data, callback) {
      this._channels.putIfAbsent$2(0, $name, new P.ChannelBuffers_push_closure()).push$1(new P._StoredMessage(data, callback, $.Zone__current));
    },
    setListener$2: function($name, callback) {
      var channel = this._channels.putIfAbsent$2(0, $name, new P.ChannelBuffers_setListener_closure()),
        t1 = channel._channelCallbackRecord;
      channel._channelCallbackRecord = new P._ChannelCallbackRecord(callback, $.Zone__current);
      if (t1 == null && !channel._draining) {
        channel._draining = true;
        P.scheduleMicrotask(channel.get$_drainStep());
      }
    },
    resize$2: function(_, $name, newSize) {
      var t1 = this._channels,
        channel = t1.$index(0, $name);
      if (channel == null)
        t1.$indexSet(0, $name, new P._Channel(P.ListQueue$(newSize, type$._StoredMessage), newSize));
      else {
        channel._capacity = newSize;
        channel._dropOverflowMessages$1(newSize);
      }
    }
  };
  P.ChannelBuffers_push_closure.prototype = {
    call$0: function() {
      return new P._Channel(P.ListQueue$(1, type$._StoredMessage), 1);
    },
    $signature: 275
  };
  P.ChannelBuffers_setListener_closure.prototype = {
    call$0: function() {
      return new P._Channel(P.ListQueue$(1, type$._StoredMessage), 1);
    },
    $signature: 275
  };
  P.OffsetBase.prototype = {
    $lt: function(_, other) {
      return C.JSNumber_methods.$lt(this._dx, other.get$_dx()) && C.JSNumber_methods.$lt(this._dy, other.get$_dy());
    },
    $gt: function(_, other) {
      return this._dx > other._dx && this._dy > other._dy;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof P.OffsetBase && other._dx == this._dx && other._dy == this._dy;
    },
    get$hashCode: function(_) {
      return P.hashValues(this._dx, this._dy, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "OffsetBase(" + J.toStringAsFixed$1$n(this._dx, 1) + ", " + J.toStringAsFixed$1$n(this._dy, 1) + ")";
    }
  };
  P.Offset.prototype = {
    get$distance: function() {
      var t1 = this._dx,
        t2 = this._dy;
      return Math.sqrt(t1 * t1 + t2 * t2);
    },
    get$distanceSquared: function() {
      var t1 = this._dx,
        t2 = this._dy;
      return t1 * t1 + t2 * t2;
    },
    $sub: function(_, other) {
      return new P.Offset(this._dx - other._dx, this._dy - other._dy);
    },
    $add: function(_, other) {
      return new P.Offset(this._dx + other._dx, this._dy + other._dy);
    },
    $mul: function(_, operand) {
      return new P.Offset(this._dx * operand, this._dy * operand);
    },
    $div: function(_, operand) {
      return new P.Offset(this._dx / operand, this._dy / operand);
    },
    $tdiv: function(_, operand) {
      return new P.Offset(C.JSNumber_methods.$tdiv(this._dx, operand), C.JSNumber_methods.$tdiv(this._dy, operand));
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof P.Offset && other._dx == this._dx && other._dy == this._dy;
    },
    get$hashCode: function(_) {
      return P.hashValues(this._dx, this._dy, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "Offset(" + J.toStringAsFixed$1$n(this._dx, 1) + ", " + J.toStringAsFixed$1$n(this._dy, 1) + ")";
    }
  };
  P.Size.prototype = {
    get$isEmpty: function(_) {
      return this._dx <= 0 || this._dy <= 0;
    },
    $sub: function(_, other) {
      var _this = this;
      if (other instanceof P.Size)
        return new P.Offset(_this._dx - other._dx, _this._dy - other._dy);
      if (other instanceof P.Offset)
        return new P.Size(_this._dx - other._dx, _this._dy - other._dy);
      throw H.wrapException(P.ArgumentError$(other));
    },
    $add: function(_, other) {
      return new P.Size(this._dx + other._dx, this._dy + other._dy);
    },
    $mul: function(_, operand) {
      return new P.Size(this._dx * operand, this._dy * operand);
    },
    $div: function(_, operand) {
      return new P.Size(this._dx / operand, this._dy / operand);
    },
    $tdiv: function(_, operand) {
      return new P.Size(C.JSNumber_methods.$tdiv(this._dx, operand), C.JSNumber_methods.$tdiv(this._dy, operand));
    },
    center$1: function(origin) {
      return new P.Offset(origin._dx + this._dx / 2, origin._dy + this._dy / 2);
    },
    bottomRight$1: function(_, origin) {
      return new P.Offset(origin._dx + this._dx, origin._dy + this._dy);
    },
    contains$1: function(_, 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: function(_, other) {
      if (other == null)
        return false;
      return other instanceof P.Size && other._dx == this._dx && other._dy == this._dy;
    },
    get$hashCode: function(_) {
      return P.hashValues(this._dx, this._dy, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "Size(" + J.toStringAsFixed$1$n(this._dx, 1) + ", " + J.toStringAsFixed$1$n(this._dy, 1) + ")";
    }
  };
  P.Rect.prototype = {
    get$size: function(_) {
      var _this = this;
      return new P.Size(_this.right - _this.left, _this.bottom - _this.top);
    },
    get$isFinite: function(_) {
      var _this = this,
        t1 = _this.left;
      t1.toString;
      if (isFinite(t1)) {
        t1 = _this.top;
        t1.toString;
        if (isFinite(t1)) {
          t1 = _this.right;
          t1.toString;
          if (isFinite(t1)) {
            t1 = _this.bottom;
            t1.toString;
            t1 = isFinite(t1);
          } else
            t1 = false;
        } else
          t1 = false;
      } else
        t1 = false;
      return t1;
    },
    get$isEmpty: function(_) {
      var _this = this;
      return _this.left >= _this.right || _this.top >= _this.bottom;
    },
    shift$1: function(offset) {
      var _this = this,
        t1 = offset._dx,
        t2 = offset._dy;
      return new P.Rect(_this.left + t1, _this.top + t2, _this.right + t1, _this.bottom + t2);
    },
    translate$2: function(_, translateX, translateY) {
      var _this = this;
      return new P.Rect(_this.left + translateX, _this.top + translateY, _this.right + translateX, _this.bottom + translateY);
    },
    inflate$1: function(delta) {
      var _this = this;
      return new P.Rect(_this.left - delta, _this.top - delta, _this.right + delta, _this.bottom + delta);
    },
    intersect$1: function(other) {
      var t2, t3, t4, _this = this,
        t1 = other.left;
      t1 = Math.max(H.checkNum(_this.left), H.checkNum(t1));
      t2 = other.top;
      t2 = Math.max(H.checkNum(_this.top), H.checkNum(t2));
      t3 = other.right;
      t3 = Math.min(H.checkNum(_this.right), H.checkNum(t3));
      t4 = other.bottom;
      return new P.Rect(t1, t2, t3, Math.min(H.checkNum(_this.bottom), H.checkNum(t4)));
    },
    expandToInclude$1: function(other) {
      var t2, t3, t4, _this = this,
        t1 = other.left;
      t1 = Math.min(H.checkNum(_this.left), H.checkNum(t1));
      t2 = other.top;
      t2 = Math.min(H.checkNum(_this.top), H.checkNum(t2));
      t3 = other.right;
      t3 = Math.max(H.checkNum(_this.right), H.checkNum(t3));
      t4 = other.bottom;
      return new P.Rect(t1, t2, t3, Math.max(H.checkNum(_this.bottom), H.checkNum(t4)));
    },
    overlaps$1: function(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: function() {
      var _this = this;
      return Math.min(Math.abs(_this.right - _this.left), Math.abs(_this.bottom - _this.top));
    },
    get$centerLeft: function() {
      var t1 = this.top;
      return new P.Offset(this.left, t1 + (this.bottom - t1) / 2);
    },
    get$center: function() {
      var _this = this,
        t1 = _this.left,
        t2 = _this.top;
      return new P.Offset(t1 + (_this.right - t1) / 2, t2 + (_this.bottom - t2) / 2);
    },
    contains$1: function(_, 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: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (H.getRuntimeType(_this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof P.Rect && other.left == _this.left && other.top == _this.top && other.right == _this.right && other.bottom == _this.bottom;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.left, _this.top, _this.right, _this.bottom, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var _this = this;
      return "Rect.fromLTRB(" + J.toStringAsFixed$1$n(_this.left, 1) + ", " + J.toStringAsFixed$1$n(_this.top, 1) + ", " + J.toStringAsFixed$1$n(_this.right, 1) + ", " + J.toStringAsFixed$1$n(_this.bottom, 1) + ")";
    }
  };
  P.Radius.prototype = {
    $sub: function(_, other) {
      return new P.Radius(this.x - other.x, this.y - other.y);
    },
    $add: function(_, other) {
      return new P.Radius(this.x + other.x, this.y + other.y);
    },
    $mul: function(_, operand) {
      return new P.Radius(this.x * operand, this.y * operand);
    },
    $div: function(_, operand) {
      return new P.Radius(this.x / operand, this.y / operand);
    },
    $tdiv: function(_, operand) {
      return new P.Radius(C.JSNumber_methods.$tdiv(this.x, operand), C.JSNumber_methods.$tdiv(this.y, operand));
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (H.getRuntimeType(_this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof P.Radius && other.x === _this.x && other.y === _this.y;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.x, this.y, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var t1 = this.x,
        t2 = this.y;
      return t1 === t2 ? "Radius.circular(" + C.JSNumber_methods.toStringAsFixed$1(t1, 1) + ")" : "Radius.elliptical(" + C.JSNumber_methods.toStringAsFixed$1(t1, 1) + ", " + C.JSNumber_methods.toStringAsFixed$1(t2, 1) + ")";
    }
  };
  P.RRect.prototype = {
    shift$1: function(offset) {
      var _this = this,
        t1 = offset._dx,
        t2 = offset._dy;
      return new P.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: function(delta) {
      var _this = this;
      return new P.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: function() {
      var _this = this;
      return Math.min(Math.abs(_this.right - _this.left), Math.abs(_this.bottom - _this.top));
    },
    _getMin$4: function(min, radius1, radius2, limit) {
      var sum = radius1 + radius2;
      if (sum > limit && sum !== 0)
        return Math.min(min, limit / sum);
      return min;
    },
    scaleRadii$0: function() {
      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 P.RRect(t2, t4, t1, t3, t7 * scale, t6 * scale, t8 * scale, t9 * scale, t11 * scale, t10 * scale, t12 * scale, t5 * scale, false);
      return new P.RRect(t2, t4, t1, t3, t7, t6, t8, t9, t11, t10, t12, t5, false);
    },
    contains$1: function(_, 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: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (H.getRuntimeType(_this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof P.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: function(_) {
      var _this = this;
      return P.hashValues(_this.left, _this.top, _this.right, _this.bottom, _this.tlRadiusX, _this.tlRadiusY, _this.trRadiusX, _this.trRadiusY, _this.blRadiusX, _this.blRadiusY, _this.brRadiusX, _this.brRadiusY, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var t5, t6, _this = this,
        rect = J.toStringAsFixed$1$n(_this.left, 1) + ", " + J.toStringAsFixed$1$n(_this.top, 1) + ", " + J.toStringAsFixed$1$n(_this.right, 1) + ", " + J.toStringAsFixed$1$n(_this.bottom, 1),
        t1 = _this.tlRadiusX,
        t2 = _this.tlRadiusY,
        t3 = _this.trRadiusX,
        t4 = _this.trRadiusY;
      if (new P.Radius(t1, t2).$eq(0, new P.Radius(t3, t4))) {
        t5 = _this.brRadiusX;
        t6 = _this.brRadiusY;
        t5 = new P.Radius(t3, t4).$eq(0, new P.Radius(t5, t6)) && new P.Radius(t5, t6).$eq(0, new P.Radius(_this.blRadiusX, _this.blRadiusY));
      } else
        t5 = false;
      if (t5) {
        if (t1 === t2)
          return "RRect.fromLTRBR(" + rect + ", " + C.JSNumber_methods.toStringAsFixed$1(t1, 1) + ")";
        return "RRect.fromLTRBXY(" + rect + ", " + C.JSNumber_methods.toStringAsFixed$1(t1, 1) + ", " + C.JSNumber_methods.toStringAsFixed$1(t2, 1) + ")";
      }
      return "RRect.fromLTRBAndCorners(" + rect + ", topLeft: " + new P.Radius(t1, t2).toString$0(0) + ", topRight: " + new P.Radius(t3, t4).toString$0(0) + ", bottomRight: " + new P.Radius(_this.brRadiusX, _this.brRadiusY).toString$0(0) + ", bottomLeft: " + new P.Radius(_this.blRadiusX, _this.blRadiusY).toString$0(0) + ")";
    }
  };
  P._HashEnd.prototype = {};
  P.webOnlyInitializePlatform_closure.prototype = {
    call$0: function() {
      $.$get$lineLookup();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  P.KeyEventType.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.KeyData.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "KeyData(type: " + P.KeyData__typeToString(_this.type) + ", physical: 0x" + J.toRadixString$1$n(_this.physical, 16) + ", logical: 0x" + J.toRadixString$1$n(_this.logical, 16) + ", character: " + H.S(_this.character) + ")";
    }
  };
  P.Color.prototype = {
    withOpacity$1: function(opacity) {
      var _this = this;
      return P.Color$fromARGB(C.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: function() {
      var _this = this;
      return 0.2126 * P.Color__linearizeColorComponent((_this.get$value(_this) >>> 16 & 255) / 255) + 0.7152 * P.Color__linearizeColorComponent((_this.get$value(_this) >>> 8 & 255) / 255) + 0.0722 * P.Color__linearizeColorComponent((_this.get$value(_this) & 255) / 255);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof P.Color && other.get$value(other) === _this.get$value(_this);
    },
    get$hashCode: function(_) {
      return C.JSInt_methods.get$hashCode(this.get$value(this));
    },
    toString$0: function(_) {
      return "Color(0x" + C.JSString_methods.padLeft$2(C.JSInt_methods.toRadixString$1(this.get$value(this), 16), 8, "0") + ")";
    },
    get$value: function(receiver) {
      return this.value;
    }
  };
  P.StrokeCap.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.StrokeJoin.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.PaintingStyle.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.BlendMode.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.Clip.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.BlurStyle.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.MaskFilter.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof P.MaskFilter && other._ui$_style === this._ui$_style && other._sigma === this._sigma;
    },
    get$hashCode: function(_) {
      return P.hashValues(this._ui$_style, this._sigma, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "MaskFilter.blur(" + this._ui$_style.toString$0(0) + ", " + C.JSNumber_methods.toStringAsFixed$1(this._sigma, 1) + ")";
    }
  };
  P.FilterQuality.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.ImageByteFormat.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.Shadow.prototype = {
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      return other instanceof P.Shadow && J.$eq$(other.color, _this.color) && J.$eq$(other.offset, _this.offset) && other.blurRadius == _this.blurRadius;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.color, this.offset, this.blurRadius, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "TextShadow(" + H.S(this.color) + ", " + H.S(this.offset) + ", " + H.S(this.blurRadius) + ")";
    }
  };
  P.PlatformDispatcher.prototype = {};
  P.PlatformConfiguration.prototype = {
    copyWith$3$locales$platformBrightness$semanticsEnabled: function(locales, platformBrightness, semanticsEnabled) {
      var _this = this,
        t1 = semanticsEnabled == null ? _this.semanticsEnabled : semanticsEnabled,
        t2 = platformBrightness == null ? _this.platformBrightness : platformBrightness,
        t3 = locales == null ? _this.locales : locales;
      return new P.PlatformConfiguration(_this.accessibilityFeatures, false, t1, t2, _this.textScaleFactor, t3, _this.defaultRouteName);
    },
    copyWith$1$platformBrightness: function(platformBrightness) {
      return this.copyWith$3$locales$platformBrightness$semanticsEnabled(null, platformBrightness, null);
    },
    copyWith$1$semanticsEnabled: function(semanticsEnabled) {
      return this.copyWith$3$locales$platformBrightness$semanticsEnabled(null, null, semanticsEnabled);
    },
    copyWith$1$locales: function(locales) {
      return this.copyWith$3$locales$platformBrightness$semanticsEnabled(locales, null, null);
    }
  };
  P.ViewConfiguration.prototype = {
    toString$0: function(_) {
      return H.getRuntimeType(this).toString$0(0) + "[window: null, geometry: " + C.Rect_0_0_0_0.toString$0(0) + "]";
    }
  };
  P.FrameTiming.prototype = {
    toString$0: function(_) {
      var t1 = this._timestamps;
      return H.getRuntimeType(this).toString$0(0) + "(buildDuration: " + (H.S((P.Duration$(t1[2], 0)._duration - P.Duration$(t1[1], 0)._duration) * 0.001) + "ms") + ", rasterDuration: " + (H.S((P.Duration$(t1[4], 0)._duration - P.Duration$(t1[3], 0)._duration) * 0.001) + "ms") + ", vsyncOverhead: " + (H.S((P.Duration$(t1[1], 0)._duration - P.Duration$(t1[0], 0)._duration) * 0.001) + "ms") + ", totalSpan: " + (H.S((P.Duration$(t1[4], 0)._duration - P.Duration$(t1[0], 0)._duration) * 0.001) + "ms") + ", frameNumber: " + C.JSArray_methods.get$last(t1) + ")";
    }
  };
  P.AppLifecycleState.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.Locale.prototype = {
    get$languageCode: function(_) {
      var t1 = this._languageCode,
        t2 = C.Map_YCOho.$index(0, t1);
      return t2 == null ? t1 : t2;
    },
    get$countryCode: function() {
      var t1 = this._countryCode,
        t2 = C.Map_0Agg9.$index(0, t1);
      return t2 == null ? t1 : t2;
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (other instanceof P.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: function(_) {
      return P.hashValues(this.get$languageCode(this), null, this.get$countryCode(), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return this._rawToString$1("_");
    },
    _rawToString$1: function(separator) {
      var _this = this,
        t1 = H.S(_this.get$languageCode(_this));
      if (_this._countryCode != null)
        t1 += separator + H.S(_this.get$countryCode());
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  P.PointerChange.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.PointerDeviceKind.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.PointerSignalKind.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.PointerData.prototype = {
    toString$0: function(_) {
      return "PointerData(x: " + H.S(this.physicalX) + ", y: " + H.S(this.physicalY) + ")";
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  P.PointerDataPacket.prototype = {};
  P.SemanticsAction.prototype = {
    toString$0: function(_) {
      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 "";
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.SemanticsFlag.prototype = {
    toString$0: function(_) {
      switch (this.index) {
        case 1:
          return "SemanticsFlag.hasCheckedState";
        case 2:
          return "SemanticsFlag.isChecked";
        case 4:
          return "SemanticsFlag.isSelected";
        case 8:
          return "SemanticsFlag.isButton";
        case 4194304:
          return "SemanticsFlag.isLink";
        case 16:
          return "SemanticsFlag.isTextField";
        case 2097152:
          return "SemanticsFlag.isFocusable";
        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 16777216:
          return "SemanticsFlag.isKeyboardKey";
      }
      return "";
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.SemanticsUpdateBuilder.prototype = {};
  P.FontStyle.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.PlaceholderAlignment.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.FontWeight.prototype = {
    toString$0: function(_) {
      var t1 = C.Map_yXAeS.$index(0, this.index);
      t1.toString;
      return t1;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.TextAlign.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.TextBaseline.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.TextDecoration.prototype = {
    contains$1: function(_, other) {
      var t1 = this._mask;
      return (t1 | other._mask) === t1;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof P.TextDecoration && other._mask === this._mask;
    },
    get$hashCode: function(_) {
      return C.JSInt_methods.get$hashCode(this._mask);
    },
    toString$0: function(_) {
      var values,
        t1 = this._mask;
      if (t1 === 0)
        return "TextDecoration.none";
      values = H._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([" + C.JSArray_methods.join$1(values, ", ") + "])";
    }
  };
  P.TextDecorationStyle.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.TextLeadingDistribution.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.TextDirection.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.TextBox.prototype = {
    get$start: function(_) {
      return this.direction === C.TextDirection_1 ? this.left : this.right;
    },
    get$end: function(_) {
      return this.direction === C.TextDirection_1 ? this.right : this.left;
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof P.TextBox && other.left == _this.left && other.top == _this.top && other.right == _this.right && other.bottom == _this.bottom && other.direction === _this.direction;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.left, _this.top, _this.right, _this.bottom, _this.direction, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var _this = this;
      return "TextBox.fromLTRBD(" + J.toStringAsFixed$1$n(_this.left, 1) + ", " + J.toStringAsFixed$1$n(_this.top, 1) + ", " + J.toStringAsFixed$1$n(_this.right, 1) + ", " + J.toStringAsFixed$1$n(_this.bottom, 1) + ", " + _this.direction.toString$0(0) + ")";
    }
  };
  P.TextAffinity.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.TextPosition.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof P.TextPosition && other.offset == this.offset && other.affinity === this.affinity;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.offset, this.affinity, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return H.getRuntimeType(this).toString$0(0) + "(offset: " + H.S(this.offset) + ", affinity: " + this.affinity.toString$0(0) + ")";
    }
  };
  P.TextRange.prototype = {
    get$isValid: function() {
      return this.start >= 0 && this.end >= 0;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      return other instanceof P.TextRange && other.start == this.start && other.end == this.end;
    },
    get$hashCode: function(_) {
      return P.hashValues(J.get$hashCode$(this.start), J.get$hashCode$(this.end), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "TextRange(start: " + H.S(this.start) + ", end: " + H.S(this.end) + ")";
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  P.ParagraphConstraints.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof P.ParagraphConstraints && other.width == this.width;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.width);
    },
    toString$0: function(_) {
      return H.getRuntimeType(this).toString$0(0) + "(width: " + H.S(this.width) + ")";
    }
  };
  P.BoxHeightStyle.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.BoxWidthStyle.prototype = {
    toString$0: function(_) {
      return "BoxWidthStyle.tight";
    },
    get$index: function() {
      return 0;
    }
  };
  P.TileMode.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.FlutterView.prototype = {};
  P.FlutterWindow.prototype = {};
  P.SingletonFlutterWindow.prototype = {};
  P.AccessibilityFeatures.prototype = {
    toString$0: function(_) {
      var features = H._setArrayType([], type$.JSArray_String);
      return "AccessibilityFeatures" + H.S(features);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof P.AccessibilityFeatures && true;
    },
    get$hashCode: function(_) {
      return C.JSInt_methods.get$hashCode(0);
    }
  };
  P.Brightness.prototype = {
    toString$0: function(_) {
      return this._ui$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  P.CallbackHandle.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      return this === other;
    },
    get$hashCode: function(_) {
      return P.Object.prototype.get$hashCode.call(this, this);
    }
  };
  P.PlatformViewRegistry.prototype = {};
  P.AudioBuffer.prototype = {
    get$duration: function(receiver) {
      return receiver.duration;
    },
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  P.AudioBufferSourceNode.prototype = {
    start$3: function(receiver, when, grainOffset, grainDuration) {
      return receiver.start(when, grainOffset, grainDuration);
    },
    start$1: function($receiver, when) {
      return $receiver.start(when);
    },
    start$2: function($receiver, when, grainOffset) {
      return $receiver.start(when, grainOffset);
    },
    start$0: function($receiver) {
      return $receiver.start();
    }
  };
  P.AudioNode.prototype = {};
  P.AudioParamMap.prototype = {
    addAll$1: function(receiver, other) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    containsKey$1: function(receiver, key) {
      return P.convertNativeToDart_Dictionary(receiver.get(key)) != null;
    },
    $index: function(receiver, key) {
      return P.convertNativeToDart_Dictionary(receiver.get(key));
    },
    forEach$1: function(receiver, f) {
      var entry,
        entries = receiver.entries();
      for (; true;) {
        entry = entries.next();
        if (entry.done)
          return;
        f.call$2(entry.value[0], P.convertNativeToDart_Dictionary(entry.value[1]));
      }
    },
    get$keys: function(receiver) {
      var keys = H._setArrayType([], type$.JSArray_String);
      this.forEach$1(receiver, new P.AudioParamMap_keys_closure(keys));
      return keys;
    },
    get$values: function(receiver) {
      var values = H._setArrayType([], type$.JSArray_Map_dynamic_dynamic);
      this.forEach$1(receiver, new P.AudioParamMap_values_closure(values));
      return values;
    },
    get$length: function(receiver) {
      return receiver.size;
    },
    get$isEmpty: function(receiver) {
      return receiver.size === 0;
    },
    get$isNotEmpty: function(receiver) {
      return receiver.size !== 0;
    },
    $indexSet: function(receiver, key, value) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    putIfAbsent$2: function(receiver, key, ifAbsent) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    remove$1: function(receiver, key) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    clear$0: function(receiver) {
      throw H.wrapException(P.UnsupportedError$("Not supported"));
    },
    $isMap: 1
  };
  P.AudioParamMap_keys_closure.prototype = {
    call$2: function(k, v) {
      return this.keys.push(k);
    },
    $signature: 27
  };
  P.AudioParamMap_values_closure.prototype = {
    call$2: function(k, v) {
      return this.values.push(v);
    },
    $signature: 27
  };
  P.AudioScheduledSourceNode.prototype = {};
  P.AudioTrack.prototype = {
    get$kind: function(receiver) {
      return receiver.kind;
    }
  };
  P.AudioTrackList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  P.BaseAudioContext.prototype = {};
  P.OfflineAudioContext.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    }
  };
  P._AudioParamMap_Interceptor_MapMixin.prototype = {};
  P.ActiveInfo.prototype = {
    get$name: function(receiver) {
      return receiver.name;
    }
  };
  P.SqlDatabase.prototype = {
    get$version: function(receiver) {
      return receiver.version;
    }
  };
  P.SqlError.prototype = {
    get$message: function(receiver) {
      return receiver.message;
    }
  };
  P.SqlResultSetRowList.prototype = {
    get$length: function(receiver) {
      return receiver.length;
    },
    $index: function(receiver, index) {
      var t1;
      if (index >>> 0 !== index || index >= receiver.length)
        throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
      t1 = P.convertNativeToDart_Dictionary(receiver.item(index));
      t1.toString;
      return t1;
    },
    $indexSet: function(receiver, index, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length: function(receiver, value) {
      throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
    },
    get$first: function(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      throw H.wrapException(P.StateError$("No elements"));
    },
    get$last: function(receiver) {
      var len = receiver.length;
      if (len > 0)
        return receiver[len - 1];
      throw H.wrapException(P.StateError$("No elements"));
    },
    elementAt$1: function(receiver, index) {
      return this.$index(receiver, index);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  P._SqlResultSetRowList_Interceptor_ListMixin.prototype = {};
  P._SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
  O.AnsiUp.prototype = {
    _setupPalettes$0: function() {
      var t3, levels, r, g, b, greyLevel, i, _this = this,
        _s9_ = "truecolor",
        t1 = type$.JSArray_legacy_int,
        t2 = type$.JSArray_legacy_AnsiUpColor;
      _this.ansiColors = H._setArrayType([H._setArrayType([new O.AnsiUpColor(H._setArrayType([0, 0, 0], t1), "ansi-black"), new O.AnsiUpColor(H._setArrayType([187, 0, 0], t1), "ansi-red"), new O.AnsiUpColor(H._setArrayType([0, 187, 0], t1), "ansi-green"), new O.AnsiUpColor(H._setArrayType([187, 187, 0], t1), "ansi-yellow"), new O.AnsiUpColor(H._setArrayType([0, 0, 187], t1), "ansi-blue"), new O.AnsiUpColor(H._setArrayType([187, 0, 187], t1), "ansi-magenta"), new O.AnsiUpColor(H._setArrayType([0, 187, 187], t1), "ansi-cyan"), new O.AnsiUpColor(H._setArrayType([255, 255, 255], t1), "ansi-white")], t2), H._setArrayType([new O.AnsiUpColor(H._setArrayType([85, 85, 85], t1), "ansi-bright-black"), new O.AnsiUpColor(H._setArrayType([255, 85, 85], t1), "ansi-bright-red"), new O.AnsiUpColor(H._setArrayType([0, 255, 0], t1), "ansi-bright-green"), new O.AnsiUpColor(H._setArrayType([255, 255, 85], t1), "ansi-bright-yellow"), new O.AnsiUpColor(H._setArrayType([85, 85, 255], t1), "ansi-bright-blue"), new O.AnsiUpColor(H._setArrayType([255, 85, 255], t1), "ansi-bright-magenta"), new O.AnsiUpColor(H._setArrayType([85, 255, 255], t1), "ansi-bright-cyan"), new O.AnsiUpColor(H._setArrayType([255, 255, 255], t1), "ansi-bright-white")], t2)], type$.JSArray_legacy_List_legacy_AnsiUpColor);
      t2 = H._setArrayType([], t2);
      _this.palette256 = t2;
      t3 = _this.ansiColors;
      (t3 && C.JSArray_methods).forEach$1(t3, C.JSArray_methods.get$addAll(t2));
      levels = [0, 95, 135, 175, 215, 255];
      for (r = 0; r < 6; ++r)
        for (g = 0; g < 6; ++g)
          for (b = 0; b < 6; ++b)
            _this.palette256.push(new O.AnsiUpColor(H._setArrayType([levels[r], levels[g], levels[b]], t1), _s9_));
      for (greyLevel = 8, i = 0; i < 24; ++i, greyLevel += 10)
        _this.palette256.push(new O.AnsiUpColor(H._setArrayType([greyLevel, greyLevel, greyLevel], t1), _s9_));
    },
    _getNextPacket$0: function() {
      var pos, nextChar, t2, spacesAndComments, match, match1, match3, rpos, _this = this,
        pkt = new O.TextPacket(C.PacketKind_0, "", ""),
        t1 = _this._ansi_up$_text,
        len = t1.length;
      if (len === 0)
        return pkt;
      pos = J.indexOf$1$asx(t1, "\x1b");
      if (pos === -1) {
        pkt.kind = C.PacketKind_1;
        pkt.text = t1;
        _this._ansi_up$_text = "";
        return pkt;
      }
      if (pos > 0) {
        pkt.kind = C.PacketKind_1;
        pkt.text = C.JSString_methods.substring$2(t1, 0, pos);
        _this._ansi_up$_text = C.JSString_methods.substring$1(t1, pos);
        return pkt;
      }
      if (pos === 0) {
        if (len === 1) {
          pkt.kind = C.PacketKind_2;
          return pkt;
        }
        nextChar = t1[1];
        t2 = nextChar === "[";
        if (!t2 && nextChar !== "]") {
          pkt.kind = C.PacketKind_3;
          pkt.text = C.JSString_methods.substring$2(t1, 0, 1);
          _this._ansi_up$_text = C.JSString_methods.substring$1(t1, 1);
          return pkt;
        }
        if (t2) {
          t1 = _this._csiRegex;
          if (t1 == null) {
            spacesAndComments = P.RegExp_RegExp("^\\s+|\\s+\\n|\\s*#[\\s\\S]*?\\n|\\n", true, true);
            t1 = _this._csiRegex = P.RegExp_RegExp(H.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);
          }
          match = t1.firstMatch$1(_this._ansi_up$_text);
          if (match == null) {
            pkt.kind = C.PacketKind_2;
            return pkt;
          }
          t1 = match._match;
          t2 = t1.length - 1;
          if (t2 > 4) {
            pkt.kind = C.PacketKind_3;
            t1 = _this._ansi_up$_text;
            pkt.text = J.substring$2$s(t1, 0, 1);
            _this._ansi_up$_text = C.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 = C.PacketKind_4;
          else
            pkt.kind = C.PacketKind_5;
          pkt.text = t2 > 2 ? t1[2] : null;
          rpos = t1[0].length;
          _this._ansi_up$_text = J.substring$1$s(_this._ansi_up$_text, rpos);
          return pkt;
        }
      }
      return pkt;
    },
    _processAnsi$1: function(textPacket) {
      var t1, index, t2, index0, num, t3, modeCmd, paletteIndex, t4, r, g, b, c, _this = this,
        sgrCmds = textPacket.text.split(";");
      for (t1 = type$.JSArray_legacy_int, index = 0; t2 = sgrCmds.length, index < t2;) {
        index0 = index + 1;
        num = H.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 = _this.ansiColors[0][num - 30];
          index = index0;
        } else if (num >= 40 && num < 48) {
          _this.bg = _this.ansiColors[0][num - 40];
          index = index0;
        } else if (num >= 90 && num < 98) {
          _this.fg = _this.ansiColors[1][num - 90];
          index = index0;
        } else if (num >= 100 && num < 108) {
          _this.bg = _this.ansiColors[1][num - 100];
          index = index0;
        } else {
          t3 = num === 38;
          if (t3 || num === 48)
            if (index0 < t2) {
              index = index0 + 1;
              modeCmd = sgrCmds[index0];
              if (modeCmd === "5" && index < t2) {
                index0 = index + 1;
                paletteIndex = H.Primitives_parseInt(sgrCmds[index], 10);
                if (paletteIndex >= 0 && paletteIndex <= 255) {
                  t4 = _this.palette256;
                  if (t3)
                    _this.fg = t4[paletteIndex];
                  else
                    _this.bg = t4[paletteIndex];
                }
                index = index0;
              }
              if (modeCmd === "2" && index + 2 < t2) {
                index0 = index + 1;
                r = H.Primitives_parseInt(sgrCmds[index], 10);
                index = index0 + 1;
                g = H.Primitives_parseInt(sgrCmds[index0], 10);
                index0 = index + 1;
                b = H.Primitives_parseInt(sgrCmds[index], 10);
                if (r >= 0 && r <= 255 && g >= 0 && g <= 255 && b >= 0 && b <= 255) {
                  c = new O.AnsiUpColor(H._setArrayType([r, g, b], t1), "truecolor");
                  if (t3)
                    _this.fg = c;
                  else
                    _this.bg = c;
                }
                index = index0;
              }
            } else
              index = index0;
          else
            index = index0;
        }
      }
    }
  };
  O.AnsiUpColor.prototype = {
    get$className: function(receiver) {
      return this.className;
    }
  };
  O.PacketKind.prototype = {
    toString$0: function(_) {
      return this._ansi_up$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  O.TextPacket.prototype = {
    text$0: function($receiver) {
      return this.text.call$0();
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  O.StyledText.prototype = {
    get$style: function(_) {
      var t3, t4, _this = this,
        t1 = _this.fgColor,
        t2 = t1 == null;
      if (t2 && _this.bgColor == null && !_this.bold)
        return "";
      t3 = H._setArrayType([], type$.JSArray_legacy_String);
      t4 = _this.bgColor;
      if (t4 != null)
        t3.push("background-color: " + ("rgb(" + C.JSArray_methods.join$1(t4, ",") + ")"));
      if (!t2)
        t3.push("color: " + ("rgb(" + C.JSArray_methods.join$1(t1, ",") + ")"));
      if (_this.bold)
        t3.push("font-weight: bold");
      return C.JSArray_methods.join$1(t3, ";");
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  R.ArchiveException.prototype = {};
  T.InputStreamBase.prototype = {};
  T.InputStream.prototype = {
    get$length: function(_) {
      var _this = this;
      return _this.get$_input_stream$_length(_this) - (_this.offset - _this.start);
    },
    get$isEOS: function() {
      var _this = this;
      return _this.offset >= _this.start + _this.get$_input_stream$_length(_this);
    },
    $index: function(_, index) {
      return J.$index$asx(this.buffer, this.offset + index);
    },
    indexOf$1: function(_, value) {
      var i, end, t1, t2, _this = this;
      for (i = _this.offset, end = i + _this.get$length(_this), t1 = _this.buffer, t2 = J.getInterceptor$asx(t1); i < end; ++i)
        if (J.$eq$(t2.$index(t1, i), value))
          return i - _this.start;
      return -1;
    },
    readByte$0: function() {
      return J.$index$asx(this.buffer, this.offset++);
    },
    readUint32$0: function() {
      var _this = this,
        t1 = _this.buffer,
        t2 = J.getInterceptor$asx(t1),
        b1 = t2.$index(t1, _this.offset++) & 255,
        b2 = t2.$index(t1, _this.offset++) & 255,
        b3 = t2.$index(t1, _this.offset++) & 255,
        b4 = t2.$index(t1, _this.offset++) & 255;
      if (_this.byteOrder === 1)
        return (b1 << 24 | b2 << 16 | b3 << 8 | b4) >>> 0;
      return (b4 << 24 | b3 << 16 | b2 << 8 | b1) >>> 0;
    },
    get$_input_stream$_length: function(_) {
      var t1 = this.__InputStream__length;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_length")) : t1;
    },
    get$start: function(receiver) {
      return this.start;
    }
  };
  Q.OutputStreamBase.prototype = {};
  Q.OutputStream.prototype = {
    get$length: function(_) {
      return this._output_stream$_length;
    },
    writeBytes$1: function(bytes) {
      var t1, t2, t3, t4, _this = this,
        len = J.get$length$asx(bytes);
      for (; t1 = _this._output_stream$_length, t2 = t1 + len, t3 = _this._output_stream$_buffer, t4 = t3.length, t2 > t4;)
        _this._output_stream$_expandBuffer$1(t2 - t4);
      C.NativeUint8List_methods.setRange$3(t3, t1, t2, bytes);
      _this._output_stream$_length += len;
    },
    writeInputStream$1: function(stream) {
      var t2, t3, t4, t5, t6, t7, _this = this,
        t1 = stream.start;
      while (true) {
        t2 = _this._output_stream$_length;
        t3 = stream.__InputStream__length;
        t4 = t3 === $ ? H.throwExpression(H.LateError$fieldNI("_length")) : t3;
        t5 = stream.offset - t1;
        t6 = _this._output_stream$_buffer;
        t7 = t6.length;
        if (!(t2 + (t4 - t5) > t7))
          break;
        _this._output_stream$_expandBuffer$1(t2 + (t3 - t5) - t7);
      }
      C.NativeUint8List_methods.setRange$4(t6, t2, t2 + stream.get$length(stream), stream.buffer, stream.offset);
      _this._output_stream$_length = _this._output_stream$_length + stream.get$length(stream);
    },
    subset$2: function(start, end) {
      var _this = this;
      if (start < 0)
        start = _this._output_stream$_length + start;
      if (end == null)
        end = _this._output_stream$_length;
      else if (end < 0)
        end = _this._output_stream$_length + end;
      return C.NativeByteBuffer_methods.asUint8List$2(_this._output_stream$_buffer.buffer, start, end - start);
    },
    subset$1: function(start) {
      return this.subset$2(start, null);
    },
    _output_stream$_expandBuffer$1: function(required) {
      var blockSize = required != null ? required > 32768 ? required : 32768 : 32768,
        t1 = this._output_stream$_buffer,
        t2 = t1.length,
        newBuffer = new Uint8Array((t2 + blockSize) * 2);
      C.NativeUint8List_methods.setRange$3(newBuffer, 0, t2, t1);
      this._output_stream$_buffer = newBuffer;
    },
    _output_stream$_expandBuffer$0: function() {
      return this._output_stream$_expandBuffer$1(null);
    }
  };
  G._ZLibDecoder.prototype = {
    decodeBuffer$2$verify: function(input, verify) {
      var t1, t2, t3, buffer,
        cmf = input.readByte$0(),
        flg = input.readByte$0(),
        method = cmf & 8;
      C.JSInt_methods._shrOtherPositive$1(cmf, 3);
      if (method !== 8)
        throw H.wrapException(R.ArchiveException$("Only DEFLATE compression supported: " + method));
      if (C.JSInt_methods.$mod((cmf << 8 >>> 0) + flg, 31) !== 0)
        throw H.wrapException(R.ArchiveException$("Invalid FCHECK"));
      if ((flg >>> 5 & 1) !== 0) {
        input.readUint32$0();
        throw H.wrapException(R.ArchiveException$("FDICT Encoding not currently supported"));
      }
      t1 = Y.HuffmanTable$(C.List_2Bc);
      t2 = Y.HuffmanTable$(C.List_X3d);
      t3 = Q.OutputStream$(null);
      t2 = new S.Inflate(input, t3, t1, t2);
      t2.inputSet = true;
      t2._inflate$0();
      buffer = type$.List_int._as(C.NativeByteBuffer_methods.asUint8List$2(t3._output_stream$_buffer.buffer, 0, t3._output_stream$_length));
      input.readUint32$0();
      return buffer;
    }
  };
  Y.HuffmanTable.prototype = {
    get$table: function() {
      var t1 = this.__HuffmanTable_table;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("table")) : t1;
    },
    HuffmanTable$1: function(lengths) {
      var i, t1, size, bitLength, code, skip, rtemp, reversed, j, t2, t3, _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;
      }
      size = C.JSInt_methods._shlPositive$1(1, _this.maxCodeLength);
      _this.__HuffmanTable_table = new Uint32Array(size);
      for (bitLength = 1, code = 0, skip = 2; bitLength <= _this.maxCodeLength;) {
        for (t1 = 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 (t2 = (t1 | i) >>> 0, j = reversed; j < size; j += skip) {
              t3 = _this.__HuffmanTable_table;
              J.$indexSet$ax(t3 === $ ? H.throwExpression(H.LateError$fieldNI("table")) : t3, j, t2);
            }
            ++code;
          }
        ++bitLength;
        code = code << 1 >>> 0;
        skip = skip << 1 >>> 0;
      }
    }
  };
  S.Inflate.prototype = {
    get$input: function() {
      var t1 = this.__Inflate_input;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("input")) : t1;
    },
    _inflate$0: function() {
      var t1, t2, t3, t4, t5, _this = this;
      _this._bitBufferLen = _this._bitBuffer = 0;
      if (!_this.inputSet)
        return;
      t1 = _this.__Inflate_input;
      t2 = t1 === $;
      while (true) {
        t3 = t2 ? H.throwExpression(H.LateError$fieldNI("input")) : t1;
        t4 = t3.offset;
        t5 = t3.start;
        t3 = t3.__InputStream__length;
        if (!(t4 < t5 + (t3 === $ ? H.throwExpression(H.LateError$fieldNI("_length")) : t3)))
          break;
        if (!_this._parseBlock$0())
          break;
      }
    },
    _parseBlock$0: function() {
      var hdr, btype, len, t1, t2, t3, bytes, _this = this;
      if (_this.get$input().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);
          t1 = _this._readBits$1(16);
          if (len !== 0 && len !== (t1 ^ 65535) >>> 0)
            H.throwExpression(R.ArchiveException$("Invalid uncompressed block header"));
          t1 = _this.get$input();
          if (len > t1.get$length(t1))
            H.throwExpression(R.ArchiveException$("Input buffer is broken"));
          t1 = _this.get$input();
          t2 = t1.offset;
          t3 = t1.start;
          bytes = T.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 H.wrapException(R.ArchiveException$("unknown BTYPE: " + btype));
      }
      return (hdr & 1) === 0;
    },
    _readBits$1: function($length) {
      var t1, t2, t3, t4, t5, _this = this;
      if ($length === 0)
        return 0;
      for (t1 = _this.__Inflate_input, t2 = t1 === $; t3 = _this._bitBufferLen, t3 < $length;) {
        t3 = t2 ? H.throwExpression(H.LateError$fieldNI("input")) : t1;
        t4 = t3.offset;
        t5 = t3.start;
        t3 = t3.__InputStream__length;
        if (t4 >= t5 + (t3 === $ ? H.throwExpression(H.LateError$fieldNI("_length")) : t3))
          throw H.wrapException(R.ArchiveException$("input buffer is broken"));
        t3 = J.$index$asx(t1.buffer, t1.offset++);
        t4 = _this._bitBuffer;
        t5 = _this._bitBufferLen;
        _this._bitBuffer = (t4 | C.JSInt_methods.$shl(t3, t5)) >>> 0;
        _this._bitBufferLen = t5 + 8;
      }
      t1 = _this._bitBuffer;
      t2 = C.JSInt_methods._shlPositive$1(1, $length);
      _this._bitBuffer = C.JSInt_methods._shrBothPositive$1(t1, $length);
      _this._bitBufferLen = t3 - $length;
      return (t1 & t2 - 1) >>> 0;
    },
    _readCodeByTable$1: function(table) {
      var t1, t2, t3, t4, t5, codeWithLength, codeLength, _this = this,
        codeTable = table.get$table(),
        maxCodeLength = table.maxCodeLength;
      for (t1 = _this.__Inflate_input, t2 = t1 === $; _this._bitBufferLen < maxCodeLength;) {
        t3 = t2 ? H.throwExpression(H.LateError$fieldNI("input")) : t1;
        t4 = t3.offset;
        t5 = t3.start;
        t3 = t3.__InputStream__length;
        if (t4 >= t5 + (t3 === $ ? H.throwExpression(H.LateError$fieldNI("_length")) : t3))
          break;
        t3 = J.$index$asx(t1.buffer, t1.offset++);
        t4 = _this._bitBuffer;
        t5 = _this._bitBufferLen;
        _this._bitBuffer = (t4 | C.JSInt_methods.$shl(t3, t5)) >>> 0;
        _this._bitBufferLen = t5 + 8;
      }
      codeWithLength = J.$index$asx(codeTable, (_this._bitBuffer & C.JSInt_methods._shlPositive$1(1, maxCodeLength) - 1) >>> 0);
      codeLength = codeWithLength >>> 16;
      _this._bitBuffer = C.JSInt_methods._shrBothPositive$1(_this._bitBuffer, codeLength);
      _this._bitBufferLen -= codeLength;
      return codeWithLength & 65535;
    },
    _parseDynamicHuffmanBlock$0: function() {
      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[C.List_uSC[i]] = _this._readBits$1(3);
      codeLengthsTable = Y.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(Y.HuffmanTable$(litlen), Y.HuffmanTable$(dist));
    },
    _decodeHuffman$2: function(litlen, dist) {
      var t1, code, ti, codeLength, distCode, distance, t2, t3, _this = this;
      for (t1 = _this.output; true;) {
        code = _this._readCodeByTable$1(litlen);
        if (code > 285)
          throw H.wrapException(R.ArchiveException$("Invalid Huffman Code " + code));
        if (code === 256)
          break;
        if (code < 256) {
          if (t1._output_stream$_length === t1._output_stream$_buffer.length)
            t1._output_stream$_expandBuffer$0();
          t1._output_stream$_buffer[t1._output_stream$_length++] = code & 255;
          continue;
        }
        ti = code - 257;
        codeLength = C.List_qQn[ti] + _this._readBits$1(C.List_eea[ti]);
        distCode = _this._readCodeByTable$1(dist);
        if (distCode <= 29) {
          distance = C.List_i3t[distCode] + _this._readBits$1(C.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 H.wrapException(R.ArchiveException$("Illegal unused distance symbol"));
      }
      for (t1 = _this.__Inflate_input, t2 = t1 === $; t3 = _this._bitBufferLen, t3 >= 8;) {
        _this._bitBufferLen = t3 - 8;
        t3 = t2 ? H.throwExpression(H.LateError$fieldNI("input")) : t1;
        if (--t3.offset < 0)
          t3.offset = 0;
      }
    },
    _decode$3: function(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 H.wrapException(R.ArchiveException$("Invalid Huffman Code: " + code));
            i0 = i + 1;
            lengths[i] = code;
            i = i0;
            prev = code;
            break;
        }
      }
      return lengths;
    }
  };
  Z.ZLibDecoderBase.prototype = {};
  Z.ZLibDecoder.prototype = {};
  S.AsyncMemoizer.prototype = {};
  E.CancelableOperation.prototype = {
    valueOrCancellation$0: function() {
      var t3,
        t1 = this.$ti,
        t2 = new P._Future($.Zone__current, t1._eval$1("_Future<1?>")),
        completer = new P._SyncCompleter(t2, t1._eval$1("_SyncCompleter<1?>"));
      t1 = this._cancelable_operation$_completer;
      t3 = completer.get$completeError();
      t1._cancelable_operation$_inner.future.then$1$2$onError(0, new E.CancelableOperation_valueOrCancellation_closure(this, completer), t3, type$.void);
      t1._cancelMemo._async_memoizer$_completer.future.then$1$2$onError(0, new E.CancelableOperation_valueOrCancellation_closure0(completer, null), t3, type$.Null);
      return t2;
    },
    then$1$1: function(_, onValue, $R) {
      var completer = E.CancelableCompleter$(null, $R);
      this.valueOrCancellation$0().then$1$2$onError(0, new E.CancelableOperation_then_closure(this, completer, onValue, null, $R), new E.CancelableOperation_then_closure0(completer, null, $R), type$.Null);
      return completer.get$operation();
    }
  };
  E.CancelableOperation_valueOrCancellation_closure.prototype = {
    call$1: function(result) {
      return this.completer.complete$1(0, result);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("~(1)");
    }
  };
  E.CancelableOperation_valueOrCancellation_closure0.prototype = {
    call$1: function(_) {
      this.completer.complete$1(0, this.cancellationValue);
    },
    $signature: 5
  };
  E.CancelableOperation_then_closure.prototype = {
    call$1: function(result) {
      var t2, t3, _this = this,
        t1 = _this.completer;
      if (!t1._isCanceled) {
        t2 = _this.$this;
        t3 = t2._cancelable_operation$_completer;
        if (t3._cancelable_operation$_inner.future._state !== 0 && !t3._isCanceled) {
          t3 = _this.R;
          t1.complete$1(0, P.Future_Future$sync(new E.CancelableOperation_then__closure(t2, _this.onValue, result, t3), t3));
        } else
          t1._cancelable_operation$_cancel$0();
      }
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Null(1?)");
    }
  };
  E.CancelableOperation_then__closure.prototype = {
    call$0: function() {
      return this.onValue.call$1(this.result);
    },
    $signature: function() {
      return this.R._eval$1("0/()");
    }
  };
  E.CancelableOperation_then_closure0.prototype = {
    call$2: function(error, stackTrace) {
      var t1 = this.completer;
      if (!t1._isCanceled)
        t1.completeError$2(error, stackTrace);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  E.CancelableCompleter.prototype = {
    get$operation: function() {
      var _this = this,
        t1 = _this.__CancelableCompleter_operation;
      if (t1 === $)
        t1 = _this.__CancelableCompleter_operation = new E.CancelableOperation(_this, _this.$ti._eval$1("CancelableOperation<1>"));
      return t1;
    },
    complete$1: function(_, value) {
      var _this = this;
      if (_this._isCompleted)
        throw H.wrapException(P.StateError$("Operation already completed"));
      _this._isCompleted = true;
      if (!type$.Future_dynamic._is(value)) {
        if (_this._isCanceled)
          return;
        _this._cancelable_operation$_inner.complete$1(0, value);
        return;
      }
      _this.$ti._eval$1("Future<1>")._as(value);
      if (_this._isCanceled) {
        value.catchError$1(new E.CancelableCompleter_complete_closure());
        return;
      }
      value.then$1$2$onError(0, new E.CancelableCompleter_complete_closure0(_this), new E.CancelableCompleter_complete_closure1(_this), type$.Null);
    },
    completeError$2: function(error, stackTrace) {
      var _this = this;
      if (_this._isCompleted)
        throw H.wrapException(P.StateError$("Operation already completed"));
      _this._isCompleted = true;
      if (_this._isCanceled)
        return;
      _this._cancelable_operation$_inner.completeError$2(error, stackTrace);
    },
    _cancelable_operation$_cancel$0: function() {
      var t1, t2, t3;
      if (this._cancelable_operation$_inner.future._state !== 0)
        return P.Future_Future$value(null, type$.dynamic);
      t1 = this._cancelMemo;
      t2 = t1._async_memoizer$_completer;
      t3 = t2.future;
      if (t3._state === 0)
        t2.complete$1(0, P.Future_Future$sync(new E.CancelableCompleter__cancel_closure(this), t1.$ti._precomputed1));
      return t3;
    }
  };
  E.CancelableCompleter_complete_closure.prototype = {
    call$1: function(_) {
    },
    $signature: 5
  };
  E.CancelableCompleter_complete_closure0.prototype = {
    call$1: function(result) {
      var t1 = this.$this;
      if (t1._isCanceled)
        return;
      t1._cancelable_operation$_inner.complete$1(0, result);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Null(1)");
    }
  };
  E.CancelableCompleter_complete_closure1.prototype = {
    call$2: function(error, stackTrace) {
      var t1 = this.$this;
      if (t1._isCanceled)
        return;
      t1._cancelable_operation$_inner.completeError$2(error, stackTrace);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  E.CancelableCompleter__cancel_closure.prototype = {
    call$0: function() {
      var onCancel,
        t1 = this.$this;
      t1._isCanceled = true;
      onCancel = t1._cancelable_operation$_onCancel;
      if (onCancel != null)
        return onCancel.call$0();
    },
    $signature: 44
  };
  O.DelegatingStreamSink.prototype = {
    get$done: function() {
      return this._stream_sink$_sink.get$done();
    },
    add$1: function(_, data) {
      this._stream_sink$_sink.add$1(0, data);
    },
    addError$2: function(error, stackTrace) {
      this._stream_sink$_sink.addError$2(error, stackTrace);
    },
    addError$1: function(error) {
      return this.addError$2(error, null);
    },
    addStream$1: function(_, stream) {
      return this._stream_sink$_sink.addStream$1(0, stream);
    },
    close$0: function(_) {
      return this._stream_sink$_sink.close$0(0);
    }
  };
  Y.DelegatingStreamSubscription.prototype = {
    onData$1: function(handleData) {
      this._stream_subscription$_source.onData$1(handleData);
    },
    onError$1: function(_, handleError) {
      this._stream_subscription$_source.onError$1(0, handleError);
    },
    onDone$1: function(handleDone) {
      this._stream_subscription$_source.onDone$1(handleDone);
    },
    pause$1: function(_, resumeFuture) {
      this._stream_subscription$_source.pause$1(0, resumeFuture);
    },
    pause$0: function($receiver) {
      return this.pause$1($receiver, null);
    },
    resume$0: function(_) {
      this._stream_subscription$_source.resume$0(0);
    },
    cancel$0: function(_) {
      return this._stream_subscription$_source.cancel$0(0);
    },
    asFuture$1$1: function(futureValue, $E) {
      return this._stream_subscription$_source.asFuture$1$1(futureValue, $E);
    },
    $isStreamSubscription: 1
  };
  V.ErrorResult.prototype = {
    complete$1: function(_, completer) {
      completer.completeError$2(this.error, this.stackTrace);
    },
    addTo$1: function(sink) {
      sink.addError$2(this.error, this.stackTrace);
    },
    get$hashCode: function(_) {
      return (J.get$hashCode$(this.error) ^ H.Primitives_objectHashCode(this.stackTrace) ^ 492929599) >>> 0;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof V.ErrorResult && J.$eq$(this.error, other.error) && this.stackTrace === other.stackTrace;
    },
    $isResult0: 1
  };
  F.ValueResult.prototype = {
    complete$1: function(_, completer) {
      completer.complete$1(0, this.value);
    },
    addTo$1: function(sink) {
      sink.add$1(0, this.value);
    },
    get$hashCode: function(_) {
      return (J.get$hashCode$(this.value) ^ 842997089) >>> 0;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof F.ValueResult && J.$eq$(this.value, other.value);
    },
    $isResult0: 1
  };
  Y.StreamCompleter.prototype = {
    setSourceStream$1: function(sourceStream) {
      var t1 = this._stream_completer$_stream;
      if (t1._sourceStream != null)
        throw H.wrapException(P.StateError$("Source stream already set"));
      t1._sourceStream = sourceStream;
      if (t1._stream_completer$_controller != null)
        t1._linkStreamToController$0();
    }
  };
  Y._CompleterStream.prototype = {
    listen$4$cancelOnError$onDone$onError: function(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 P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError);
    },
    listen$3$onDone$onError: function(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$3$cancelOnError$onDone: function(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    listen$2$cancelOnError: function(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    _linkStreamToController$0: function() {
      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: function() {
      var t1 = this._stream_completer$_controller;
      return t1 == null ? this._stream_completer$_controller = P.StreamController_StreamController(null, null, null, true, this.$ti._precomputed1) : t1;
    }
  };
  G.StreamQueue.prototype = {
    cancel$0: function(_) {
      var t1, _this = this;
      if (_this._isClosed)
        H.throwExpression(P.StateError$("Already cancelled"));
      _this._isClosed = true;
      t1 = new P._Future($.Zone__current, type$._Future_void);
      _this._addRequest$1(new G._CancelRequest(new P._AsyncCompleter(t1, type$._AsyncCompleter_void), _this, _this.$ti._eval$1("_CancelRequest<1>")));
      return t1;
    },
    _updateRequests$0: function() {
      var t1, t2, t3, _this = this;
      for (t1 = _this._requestQueue, t2 = _this._eventQueue; !t1.get$isEmpty(t1);) {
        t3 = t1._head;
        if (t3 === t1._tail)
          H.throwExpression(H.IterableElementError_noElement());
        if (J.update$2$x(t1._table[t3], t2, _this._stream_queue$_isDone))
          t1.removeFirst$0();
        else
          return;
      }
      if (!_this._stream_queue$_isDone)
        _this._stream_queue$_subscription.pause$0(0);
    },
    _extractStream$0: function() {
      var subscription, wasPaused, _this = this;
      if (_this._stream_queue$_isDone)
        return new P._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 T.SubscriptionStream(subscription, _this.$ti._eval$1("SubscriptionStream<1>"));
    },
    _ensureListening$0: function() {
      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 G.StreamQueue__ensureListening_closure(_this), new G.StreamQueue__ensureListening_closure0(_this), new G.StreamQueue__ensureListening_closure1(_this));
      else
        t1.resume$0(0);
    },
    _addResult$1: function(result) {
      ++this._eventsReceived;
      this._eventQueue._queue_list$_add$1(0, result);
      this._updateRequests$0();
    },
    _addRequest$1: function(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);
    }
  };
  G.StreamQueue__ensureListening_closure.prototype = {
    call$1: function(data) {
      var t1 = this.$this;
      t1._addResult$1(new F.ValueResult(data, t1.$ti._eval$1("ValueResult<1>")));
    },
    $signature: function() {
      return this.$this.$ti._eval$1("~(1)");
    }
  };
  G.StreamQueue__ensureListening_closure1.prototype = {
    call$2: function(error, stackTrace) {
      var t1 = stackTrace == null ? P.AsyncError_defaultStackTrace(error) : stackTrace;
      this.$this._addResult$1(new V.ErrorResult(error, t1));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  G.StreamQueue__ensureListening_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._stream_queue$_subscription = null;
      t1._stream_queue$_isDone = true;
      t1._updateRequests$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  G._PeekRequest.prototype = {
    update$2: function(_, 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 P.StateError("No elements"), P.StackTrace_current());
        return true;
      }
      return false;
    },
    $is_EventRequest: 1
  };
  G._CancelRequest.prototype = {
    update$2: function(_, 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
  };
  G._RestRequest.prototype = {
    update$2: function(_, events, isDone) {
      var t1, t2, controller, _this = this;
      if (events.get$length(events) === 0) {
        t1 = _this._streamQueue;
        t2 = _this._stream_queue$_completer;
        if (t1._stream_queue$_isDone) {
          t1 = t2._stream_completer$_stream;
          if (t1._sourceStream != null)
            H.throwExpression(P.StateError$("Source stream already set"));
          controller = t1._ensureController$0();
          t1._sourceStream = new P._ControllerStream(controller, H._instanceType(controller)._eval$1("_ControllerStream<1>"));
          controller.close$0(0);
        } else
          t2.setSourceStream$1(t1._extractStream$0());
      } else {
        controller = P.StreamController_StreamController(null, null, null, false, _this.$ti._precomputed1);
        for (t1 = new H.ListIterator(events, events.get$length(events), events.$ti._eval$1("ListIterator<ListMixin.E>")); t1.moveNext$0();)
          t1.__internal$_current.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 P._ControllerStream(controller, H._instanceType(controller)._eval$1("_ControllerStream<1>")));
      }
      return true;
    },
    $is_EventRequest: 1
  };
  T.SubscriptionStream.prototype = {
    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
      var result,
        subscription = this._subscription_stream$_source;
      if (subscription == null)
        throw H.wrapException(P.StateError$("Stream has already been listened to."));
      this._subscription_stream$_source = null;
      result = true === cancelOnError ? new T._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$3$onDone$onError: function(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$1: function(onData) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null);
    },
    listen$3$cancelOnError$onDone: function(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    listen$2$cancelOnError: function(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    }
  };
  T._CancelOnErrorSubscriptionWrapper.prototype = {
    onError$1: function(_, handleError) {
      this.super$DelegatingStreamSubscription$onError(0, new T._CancelOnErrorSubscriptionWrapper_onError_closure(this, handleError));
    }
  };
  T._CancelOnErrorSubscriptionWrapper_onError_closure.prototype = {
    call$2: function(error, stackTrace) {
      this.$this.super$DelegatingStreamSubscription$cancel(0).whenComplete$1(new T._CancelOnErrorSubscriptionWrapper_onError__closure(this.handleError, error, stackTrace));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 352
  };
  T._CancelOnErrorSubscriptionWrapper_onError__closure.prototype = {
    call$0: function() {
      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);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  T.StringCharacters.prototype = {
    get$iterator: function(_) {
      return new T.StringCharacterRange(this.string, 0, 0);
    },
    get$first: function(_) {
      var t1 = this.string,
        t2 = t1.length;
      return t2 === 0 ? H.throwExpression(P.StateError$("No element")) : C.JSString_methods.substring$2(t1, 0, new A.Breaks(t1, t2, 0, 176).nextBreak$0());
    },
    get$last: function(_) {
      var t1 = this.string,
        t2 = t1.length;
      return t2 === 0 ? H.throwExpression(P.StateError$("No element")) : C.JSString_methods.substring$1(t1, new A.BackBreaks(t1, 0, t2, 176).nextBreak$0());
    },
    get$isEmpty: function(_) {
      return this.string.length === 0;
    },
    get$isNotEmpty: function(_) {
      return this.string.length !== 0;
    },
    get$length: function(_) {
      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;
    },
    elementAt$1: function(_, index) {
      var t1, t2, breaks, count, start, end;
      P.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 C.JSString_methods.substring$2(t1, start, end);
          ++count;
        }
      } else
        count = 0;
      throw H.wrapException(P.IndexError$(index, this, "index", null, count));
    },
    contains$1: function(_, other) {
      var t1;
      if (typeof other == "string") {
        t1 = other.length;
        if (t1 === 0)
          return false;
        if (new A.Breaks(other, t1, 0, 176).nextBreak$0() !== t1)
          return false;
        t1 = this.string;
        return T._indexOf(t1, other, 0, t1.length) >= 0;
      }
      return false;
    },
    _skipIndices$3: function(count, cursor, breaks) {
      var t1, nextBreak;
      if (count === 0 || cursor === this.string.length)
        return cursor;
      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: function(_, count) {
      P.RangeError_checkNotNegative(count, "count");
      return this._skip$1(count);
    },
    _skip$1: function(count) {
      var start = this._skipIndices$3(count, 0, null),
        t1 = this.string;
      if (start === t1.length)
        return C.StringCharacters_ehH;
      return new T.StringCharacters(J.substring$1$s(t1, start));
    },
    take$1: function(_, count) {
      P.RangeError_checkNotNegative(count, "count");
      return this._take$1(count);
    },
    _take$1: function(count) {
      var end = this._skipIndices$3(count, 0, null),
        t1 = this.string;
      if (end === t1.length)
        return this;
      return new T.StringCharacters(J.substring$2$s(t1, 0, end));
    },
    skipWhile$1: function(_, test) {
      var breaks, startIndex, index,
        t1 = this.string,
        t2 = t1.length;
      if (t2 !== 0) {
        breaks = new A.Breaks(t1, t2, 0, 176);
        for (startIndex = 0; index = breaks.nextBreak$0(), index >= 0; startIndex = index)
          if (!test.call$1(C.JSString_methods.substring$2(t1, startIndex, index))) {
            if (startIndex === 0)
              return this;
            if (startIndex === t2)
              return C.StringCharacters_ehH;
            return new T.StringCharacters(C.JSString_methods.substring$1(t1, startIndex));
          }
      }
      return C.StringCharacters_ehH;
    },
    $add: function(_, characters) {
      return new T.StringCharacters(J.$add$ansx(this.string, characters.string));
    },
    toLowerCase$0: function(_) {
      return new T.StringCharacters(this.string.toLowerCase());
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.Characters._is(other) && this.string == other.string;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.string);
    },
    toString$0: function(_) {
      return this.string;
    },
    $isCharacters: 1
  };
  T.StringCharacterRange.prototype = {
    get$current: function(_) {
      var _this = this,
        t1 = _this._currentCache;
      return t1 == null ? _this._currentCache = J.substring$2$s(_this._characters_impl$_string, _this._characters_impl$_start, _this._characters_impl$_end) : t1;
    },
    moveNext$0: function() {
      return this._advanceEnd$2(1, this._characters_impl$_end);
    },
    _advanceEnd$2: function(count, newStart) {
      var index, t1, t2, t3, state, char, nextIndex, category, nextChar, t4, _this = this;
      if (count > 0) {
        index = _this._characters_impl$_end;
        for (t1 = _this._characters_impl$_string, t2 = t1.length, t3 = J.getInterceptor$s(t1), state = 176; index < t2; index = nextIndex) {
          char = t3.codeUnitAt$1(t1, index);
          nextIndex = index + 1;
          if ((char & 64512) !== 55296)
            category = S.low(char);
          else if (nextIndex < t2) {
            nextChar = C.JSString_methods.codeUnitAt$1(t1, nextIndex);
            if ((nextChar & 64512) === 56320) {
              ++nextIndex;
              category = S.high(char, nextChar);
            } else
              category = 2;
          } else
            category = 2;
          state = C.JSString_methods._codeUnitAt$1(string$.x200_000, state & 240 | category);
          if ((state & 1) === 0) {
            --count;
            t4 = count === 0;
          } else
            t4 = false;
          if (t4) {
            _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;
      }
    }
  };
  A.Breaks.prototype = {
    nextBreak$0: function() {
      var t1, t2, t3, t4, t5, char, nextChar, category, _this = this,
        _s192_ = string$.x200_000;
      for (t1 = _this.end, t2 = _this.base, t3 = J.getInterceptor$s(t2); t4 = _this.cursor, t4 < t1;) {
        t5 = _this.cursor = t4 + 1;
        char = t3._codeUnitAt$1(t2, t4);
        if ((char & 64512) !== 55296) {
          t5 = C.JSString_methods._codeUnitAt$1(_s192_, _this.state & 240 | S.low(char));
          _this.state = t5;
          if ((t5 & 1) === 0)
            return t4;
          continue;
        }
        if (t5 < t1) {
          nextChar = C.JSString_methods._codeUnitAt$1(t2, t5);
          if ((nextChar & 64512) === 56320) {
            category = S.high(char, nextChar);
            ++_this.cursor;
          } else
            category = 2;
        } else
          category = 2;
        t5 = C.JSString_methods._codeUnitAt$1(_s192_, _this.state & 240 | category);
        _this.state = t5;
        if ((t5 & 1) === 0)
          return t4;
      }
      t1 = C.JSString_methods._codeUnitAt$1(_s192_, _this.state & 240 | 15);
      _this.state = t1;
      if ((t1 & 1) === 0)
        return t4;
      return -1;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  A.BackBreaks.prototype = {
    nextBreak$0: function() {
      var t1, t2, t3, t4, t5, char, prevChar, category, t6, _this = this,
        _s208_ = string$.x10__0__;
      for (t1 = _this.start, t2 = _this.base, t3 = J.getInterceptor$s(t2); t4 = _this.cursor, t4 > t1;) {
        t5 = _this.cursor = t4 - 1;
        char = t3.codeUnitAt$1(t2, t5);
        if ((char & 64512) !== 56320) {
          t5 = _this.state = C.JSString_methods._codeUnitAt$1(_s208_, _this.state & 240 | S.low(char));
          if (((t5 >= 208 ? _this.state = A.lookAhead(t2, t1, _this.cursor, t5) : t5) & 1) === 0)
            return t4;
          continue;
        }
        if (t5 >= t1) {
          prevChar = C.JSString_methods.codeUnitAt$1(t2, t5 - 1);
          if ((prevChar & 64512) === 55296) {
            category = S.high(prevChar, char);
            t5 = --_this.cursor;
          } else
            category = 2;
        } else
          category = 2;
        t6 = _this.state = C.JSString_methods._codeUnitAt$1(_s208_, _this.state & 240 | category);
        if (((t6 >= 208 ? _this.state = A.lookAhead(t2, t1, t5, t6) : t6) & 1) === 0)
          return t4;
      }
      t3 = _this.state = C.JSString_methods._codeUnitAt$1(_s208_, _this.state & 240 | 15);
      if (((t3 >= 208 ? _this.state = A.lookAhead(t2, t1, t4, t3) : t3) & 1) === 0)
        return _this.cursor;
      return -1;
    },
    get$start: function(receiver) {
      return this.start;
    }
  };
  M.CanonicalizedMap.prototype = {
    $index: function(_, 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: function(_, 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 P.MapEntry(key, value, t1._eval$1("@<CanonicalizedMap.K>")._bind$1(t1._eval$1("CanonicalizedMap.V"))._eval$1("MapEntry<1,2>")));
    },
    addAll$1: function(_, other) {
      other.forEach$1(0, new M.CanonicalizedMap_addAll_closure(this));
    },
    cast$2$0: function(_, K2, V2) {
      var t1 = this._base;
      return t1.cast$2$0(t1, K2, V2);
    },
    clear$0: function(_) {
      this._base.clear$0(0);
    },
    containsKey$1: function(_, 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: function(_) {
      var t1 = this._base;
      return t1.get$entries(t1).map$1$1(0, new M.CanonicalizedMap_entries_closure(this), this.$ti._eval$1("MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>"));
    },
    forEach$1: function(_, f) {
      this._base.forEach$1(0, new M.CanonicalizedMap_forEach_closure(this, f));
    },
    get$isEmpty: function(_) {
      var t1 = this._base;
      return t1.get$isEmpty(t1);
    },
    get$isNotEmpty: function(_) {
      var t1 = this._base;
      return t1.get$isNotEmpty(t1);
    },
    get$keys: function(_) {
      var t1 = this._base;
      t1 = t1.get$values(t1);
      return H.MappedIterable_MappedIterable(t1, new M.CanonicalizedMap_keys_closure(this), H._instanceType(t1)._eval$1("Iterable.E"), this.$ti._eval$1("CanonicalizedMap.K"));
    },
    get$length: function(_) {
      var t1 = this._base;
      return t1.get$length(t1);
    },
    map$2$1: function(_, transform, K2, V2) {
      var t1 = this._base;
      return t1.map$2$1(t1, new M.CanonicalizedMap_map_closure(this, transform, K2, V2), K2, V2);
    },
    map$1: function($receiver, transform) {
      return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
    },
    putIfAbsent$2: function(_, key, ifAbsent) {
      return J.get$value$x(this._base.putIfAbsent$2(0, this._canonicalize.call$1(key), new M.CanonicalizedMap_putIfAbsent_closure(this, key, ifAbsent)));
    },
    remove$1: function(_, 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: function(_) {
      var t1 = this._base;
      t1 = t1.get$values(t1);
      return H.MappedIterable_MappedIterable(t1, new M.CanonicalizedMap_values_closure(this), H._instanceType(t1)._eval$1("Iterable.E"), this.$ti._eval$1("CanonicalizedMap.V"));
    },
    toString$0: function(_) {
      return P.MapBase_mapToString(this);
    },
    _isValidKey$1: function(key) {
      var t1;
      if (this.$ti._eval$1("CanonicalizedMap.K")._is(key))
        t1 = true;
      else
        t1 = false;
      return t1;
    },
    $isMap: 1
  };
  M.CanonicalizedMap_addAll_closure.prototype = {
    call$2: function(key, value) {
      this.$this.$indexSet(0, key, value);
      return value;
    },
    $signature: function() {
      return this.$this.$ti._eval$1("~(CanonicalizedMap.K,CanonicalizedMap.V)");
    }
  };
  M.CanonicalizedMap_entries_closure.prototype = {
    call$1: function(e) {
      var t1 = this.$this.$ti;
      return new P.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: function() {
      return this.$this.$ti._eval$1("MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>(MapEntry<CanonicalizedMap.C,MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>>)");
    }
  };
  M.CanonicalizedMap_forEach_closure.prototype = {
    call$2: function(key, pair) {
      return this.f.call$2(pair.get$key(pair), pair.get$value(pair));
    },
    $signature: function() {
      return this.$this.$ti._eval$1("~(CanonicalizedMap.C,MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>)");
    }
  };
  M.CanonicalizedMap_keys_closure.prototype = {
    call$1: function(pair) {
      return pair.get$key(pair);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("CanonicalizedMap.K(MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>)");
    }
  };
  M.CanonicalizedMap_map_closure.prototype = {
    call$2: function(_, pair) {
      return this.transform.call$2(pair.get$key(pair), pair.get$value(pair));
    },
    $signature: function() {
      return this.$this.$ti._bind$1(this.K2)._bind$1(this.V2)._eval$1("MapEntry<1,2>(CanonicalizedMap.C,MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>)");
    }
  };
  M.CanonicalizedMap_putIfAbsent_closure.prototype = {
    call$0: function() {
      var t1 = this.$this.$ti;
      return new P.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: function() {
      return this.$this.$ti._eval$1("MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>()");
    }
  };
  M.CanonicalizedMap_values_closure.prototype = {
    call$1: function(pair) {
      return pair.get$value(pair);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("CanonicalizedMap.V(MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>)");
    }
  };
  U.DefaultEquality.prototype = {};
  U.IterableEquality.prototype = {
    equals$2: function(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: function(_, 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;
    }
  };
  U.ListEquality.prototype = {
    equals$2: function(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: function(_, 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;
    }
  };
  U._UnorderedEquality.prototype = {
    equals$2: function(elements1, elements2) {
      var t1, counts, $length, e, count;
      if (elements1 === elements2)
        return true;
      t1 = this._elementEquality;
      counts = P.HashMap_HashMap(t1.get$equals(), t1.get$hash(t1), t1.get$isValidKey(), H._instanceType(this)._eval$1("_UnorderedEquality.E"), type$.dynamic);
      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, J.$add$ansx(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 || J.$eq$(count, 0))
          return false;
        counts.$indexSet(0, e, J.$sub$n(count, 1));
        --$length;
      }
      return $length === 0;
    },
    hash$1: function(_, 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;
    }
  };
  U.SetEquality.prototype = {};
  U._MapEntry.prototype = {
    get$hashCode: function(_) {
      var t1 = this.equality;
      return 3 * t1._keyEquality.hash$1(0, this.key) + 7 * t1._valueEquality.hash$1(0, this.value) & 2147483647;
    },
    $eq: function(_, other) {
      var t1;
      if (other == null)
        return false;
      if (other instanceof U._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;
    }
  };
  U.MapEquality.prototype = {
    equals$2: function(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 = P.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 U._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 U._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: function(_, map) {
      var t1, t2, t3, t4, hash, key;
      for (t1 = J.getInterceptor$x(map), t2 = J.get$iterator$ax(t1.get$keys(map)), t3 = this._keyEquality, t4 = this._valueEquality, hash = 0; t2.moveNext$0();) {
        key = t2.get$current(t2);
        hash = hash + 3 * t3.hash$1(0, key) + 7 * t4.hash$1(0, t1.$index(map, key)) & 2147483647;
      }
      hash = hash + (hash << 3 >>> 0) & 2147483647;
      hash ^= hash >>> 11;
      return hash + (hash << 15 >>> 0) & 2147483647;
    }
  };
  U.DeepCollectionEquality.prototype = {
    equals$2: function(e1, e2) {
      var _this = this,
        t1 = type$.Set_dynamic;
      if (t1._is(e1))
        return t1._is(e2) && new U.SetEquality(_this, type$.SetEquality_dynamic).equals$2(e1, e2);
      t1 = type$.Map_dynamic_dynamic;
      if (t1._is(e1))
        return t1._is(e2) && new U.MapEquality(_this, _this, type$.MapEquality_dynamic_dynamic).equals$2(e1, e2);
      t1 = type$.List_dynamic;
      if (t1._is(e1))
        return t1._is(e2) && new U.ListEquality(_this, type$.ListEquality_dynamic).equals$2(e1, e2);
      t1 = type$.Iterable_dynamic;
      if (t1._is(e1))
        return t1._is(e2) && new U.IterableEquality(_this, type$.IterableEquality_dynamic).equals$2(e1, e2);
      return J.$eq$(e1, e2);
    },
    hash$1: function(_, o) {
      var _this = this;
      if (type$.Set_dynamic._is(o))
        return new U.SetEquality(_this, type$.SetEquality_dynamic).hash$1(0, o);
      if (type$.Map_dynamic_dynamic._is(o))
        return new U.MapEquality(_this, _this, type$.MapEquality_dynamic_dynamic).hash$1(0, o);
      if (type$.List_dynamic._is(o))
        return new U.ListEquality(_this, type$.ListEquality_dynamic).hash$1(0, o);
      if (type$.Iterable_dynamic._is(o))
        return new U.IterableEquality(_this, type$.IterableEquality_dynamic).hash$1(0, o);
      return J.get$hashCode$(o);
    },
    isValidKey$1: function(o) {
      !type$.Iterable_dynamic._is(o);
      return true;
    }
  };
  Y.HeapPriorityQueue.prototype = {
    _elementAt$1: function(index) {
      var t1 = this._priority_queue$_queue[index];
      return t1 == null ? null : t1;
    },
    add$1: function(_, element) {
      ++this._priority_queue$_modificationCount;
      this._priority_queue$_add$1(0, element);
    },
    addAll$1: function(_, 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: function(_, object) {
      return this._locate$1(object) >= 0;
    },
    get$first: function(_) {
      if (this._priority_queue$_length === 0)
        throw H.wrapException(P.StateError$("No element"));
      return this._elementAt$1(0);
    },
    get$length: function(_) {
      return this._priority_queue$_length;
    },
    toList$0: function(_) {
      var t1 = this._toUnorderedList$0();
      C.JSArray_methods.sort$1(t1, this.comparison);
      return t1;
    },
    _toUnorderedList$0: function() {
      var i, t2,
        t1 = H._setArrayType([], this.$ti._eval$1("JSArray<1>"));
      for (i = 0; i < this._priority_queue$_length; ++i) {
        t2 = this._priority_queue$_queue[i];
        t1.push(t2 == null ? null : t2);
      }
      return t1;
    },
    toString$0: function(_) {
      var t1 = this._priority_queue$_queue;
      return P.IterableBase_iterableToShortString(H.SubListIterable$(t1, 0, H.checkNotNullable(this._priority_queue$_length, "count", type$.int), H._arrayInstanceType(t1)._precomputed1), "(", ")");
    },
    _priority_queue$_add$1: function(_, 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 = P.List_List$filled(newCapacity, null, false, _this.$ti._eval$1("1?"));
        C.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: function(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: function(element, index) {
      var t1, parentIndex, $parent, _this = this;
      for (t1 = _this.comparison; index > 0; index = parentIndex) {
        parentIndex = C.JSInt_methods._tdivFast$1(index - 1, 2);
        $parent = _this._priority_queue$_queue[parentIndex];
        if ($parent == null)
          $parent = null;
        if (t1.call$2(element, $parent) > 0)
          break;
        C.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, $parent);
      }
      C.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, element);
    },
    _bubbleDown$2: function(element, index) {
      var t1, t2, leftChildIndex, leftChild, rightChild, minChild, minChildIndex, child, _this = this,
        rightChildIndex = index * 2 + 2;
      for (t1 = _this.comparison; t2 = _this._priority_queue$_length, rightChildIndex < t2; index = minChildIndex) {
        leftChildIndex = rightChildIndex - 1;
        t2 = _this._priority_queue$_queue;
        leftChild = t2[leftChildIndex];
        if (leftChild == null)
          leftChild = null;
        rightChild = t2[rightChildIndex];
        if (rightChild == 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) {
          C.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, element);
          return;
        }
        C.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, minChild);
        rightChildIndex = minChildIndex * 2 + 2;
      }
      leftChildIndex = rightChildIndex - 1;
      if (leftChildIndex < t2) {
        child = _this._elementAt$1(leftChildIndex);
        if (t1.call$2(element, child) > 0) {
          C.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, child);
          index = leftChildIndex;
        }
      }
      C.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, element);
    }
  };
  Q.QueueList.prototype = {
    add$1: function(_, element) {
      this._queue_list$_add$1(0, element);
    },
    addAll$1: function(_, iterable) {
      var addCount, $length, t1, endSpace, t2, preSpace, _this = this;
      if (type$.List_dynamic._is(iterable)) {
        addCount = iterable.length;
        $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: function(_, $T) {
      return new Q._CastQueueList(this, J.cast$1$0$ax(this._queue_list$_table, $T), -1, -1, H._instanceType(this)._eval$1("@<QueueList.E>")._bind$1($T)._eval$1("_CastQueueList<1,2>"));
    },
    toString$0: function(_) {
      return P.IterableBase_iterableToFullString(this, "{", "}");
    },
    removeLast$0: function(_) {
      var result, _this = this;
      if (_this.get$_queue_list$_head(_this) === _this.get$_queue_list$_tail())
        throw H.wrapException(P.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());
      J.$indexSet$ax(_this._queue_list$_table, _this.get$_queue_list$_tail(), null);
      return result;
    },
    get$length: function(_) {
      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: function(_, value) {
      var delta, newTail, t1, t2, _this = this;
      if (value < 0)
        throw H.wrapException(P.RangeError$("Length " + value + " may not be negative."));
      if (value > _this.get$length(_this) && !H._instanceType(_this)._eval$1("QueueList.E")._is(null))
        throw H.wrapException(P.UnsupportedError$("The length can only be increased when the element type is nullable, but the current element type is `" + H.createRuntimeType(H._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: function(_, index) {
      var _this = this;
      if (index < 0 || index >= _this.get$length(_this))
        throw H.wrapException(P.RangeError$("Index " + H.S(index) + " must be in the range [0.." + _this.get$length(_this) + ")."));
      return J.$index$asx(_this._queue_list$_table, (_this.get$_queue_list$_head(_this) + index & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
    },
    $indexSet: function(_, index, value) {
      var _this = this;
      if (index < 0 || index >= _this.get$length(_this))
        throw H.wrapException(P.RangeError$("Index " + H.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: function(_, 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: function() {
      var _this = this,
        newTable = P.List_List$filled(J.get$length$asx(_this._queue_list$_table) * 2, null, false, H._instanceType(_this)._eval$1("QueueList.E?")),
        split = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_head(_this);
      C.JSArray_methods.setRange$4(newTable, 0, split, _this._queue_list$_table, _this.get$_queue_list$_head(_this));
      C.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: function(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);
        C.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);
        C.JSArray_methods.setRange$4(target, 0, firstPartSize, _this._queue_list$_table, _this.get$_queue_list$_head(_this));
        C.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: function(newElementCount) {
      var _this = this,
        newTable = P.List_List$filled(Q.QueueList__nextPowerOf2(newElementCount + C.JSInt_methods._shrOtherPositive$1(newElementCount, 1)), null, false, H._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: function(receiver) {
      return this._queue_list$_head;
    },
    get$_queue_list$_tail: function() {
      return this._queue_list$_tail;
    },
    set$_queue_list$_head: function(receiver, val) {
      return this._queue_list$_head = val;
    },
    set$_queue_list$_tail: function(val) {
      return this._queue_list$_tail = val;
    }
  };
  Q._CastQueueList.prototype = {
    get$_queue_list$_head: function(_) {
      var t1 = this._queue_list$_delegate;
      return t1.get$_queue_list$_head(t1);
    },
    set$_queue_list$_head: function(_, value) {
      this._queue_list$_delegate.set$_queue_list$_head(0, value);
    },
    get$_queue_list$_tail: function() {
      return this._queue_list$_delegate.get$_queue_list$_tail();
    },
    set$_queue_list$_tail: function(value) {
      this._queue_list$_delegate.set$_queue_list$_tail(value);
    }
  };
  Q._QueueList_Object_ListMixin.prototype = {};
  R.XFileBase.prototype = {
    get$name: function(_) {
      throw H.wrapException(P.UnimplementedError$(".name has not been implemented."));
    },
    length$0: function(_) {
      throw H.wrapException(P.UnimplementedError$(".length() has not been implemented."));
    }
  };
  A.XFile.prototype = {
    lastModified$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.DateTime),
        $async$returnValue, $async$self = this;
      var $async$lastModified$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = P.Future_Future$value($async$self._lastModified, type$.DateTime);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$lastModified$0, $async$completer);
    },
    get$_html1$_bytes: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Uint8List),
        $async$returnValue, $async$self = this, t1, response, $async$temp1;
      var $async$get$_html1$_bytes = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.__XFile_path;
              $async$temp1 = W;
              $async$goto = 3;
              return P._asyncAwait(W.HttpRequest_request(t1 === $ ? H.throwExpression(H.LateError$fieldNI("path")) : t1, null, "arraybuffer", null, null), $async$get$_html1$_bytes);
            case 3:
              // returning from await.
              response = $async$temp1._convertNativeToDart_XHR_Response($async$result.response);
              t1 = response == null ? null : J.asUint8List$0$x(response);
              if (t1 == null)
                t1 = new Uint8Array(0);
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$_html1$_bytes, $async$completer);
    },
    length$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.int),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$length$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._html1$_length;
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              $async$temp1 = J;
              $async$goto = 6;
              return P._asyncAwait($async$self.get$_html1$_bytes(), $async$length$0);
            case 6:
              // returning from await.
              $async$result = $async$temp1.get$length$asx($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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$length$0, $async$completer);
    },
    readAsString$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$readAsString$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = C.Utf8Codec_false;
              $async$goto = 3;
              return P._asyncAwait($async$self.get$_html1$_bytes(), $async$readAsString$0);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.decode$1(0, $async$result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$readAsString$0, $async$completer);
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  Z.DdsExtension_onEventWithHistory_closure0.prototype = {
    call$0: function() {
      return this.$call$body$DdsExtension_onEventWithHistory_closure();
    },
    $call$body$DdsExtension_onEventWithHistory_closure: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t5, $history, t6, t7, _box_0, t1, t2, t3, t4, $async$temp1;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              t1 = $async$self.streamEvents;
              t2 = $async$self._this;
              t3 = $async$self.stream;
              t4 = t2._getEventController$1(t3);
              t4 = new G.StreamQueue(new P._BroadcastStream(t4, H._instanceType(t4)._eval$1("_BroadcastStream<1>")), new Q.QueueList(P.List_List$filled(Q.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_Event), 0, 0, type$.QueueList_Result_Event), P.ListQueue$(null, type$._EventRequest_dynamic), type$.StreamQueue_Event);
              t4._ensureListening$0();
              t5 = t4._stream_queue$_subscription;
              t5.pause$0(0);
              t1.__late_helper$_value = t4;
              $async$temp1 = P;
              $async$goto = 2;
              return P._asyncAwait(Z.DdsExtension_getStreamHistory(t2, t3), $async$call$0);
            case 2:
              // returning from await.
              $history = new $async$temp1.UnmodifiableListView($async$result._vm_service_extensions$_history, type$.UnmodifiableListView_Event);
              _box_0.firstStreamEvent = null;
              t2 = t1._readLocal$0();
              if (t2._isClosed)
                H.throwExpression(P.StateError$("Already cancelled"));
              t3 = H.instanceType(t2);
              t4 = new P._Future($.Zone__current, t3._eval$1("_Future<1>"));
              t2._addRequest$1(new G._PeekRequest(new P._AsyncCompleter(t4, t3._eval$1("_AsyncCompleter<1>")), t3._eval$1("_PeekRequest<1>")));
              t4.then$1$1(0, new Z.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)
                  H.throwExpression(H.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)
                H.throwExpression(P.StateError$("Already cancelled"));
              t3 = H.instanceType(t1);
              t4 = new Y._CompleterStream(t3._eval$1("_CompleterStream<1>"));
              t1._isClosed = true;
              t1._addRequest$1(new G._RestRequest(new Y.StreamCompleter(t4, t3._eval$1("StreamCompleter<1>")), t1, t3._eval$1("_RestRequest<1>")));
              t2._async$_target.addStream$1(0, t4);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 88
  };
  Z.DdsExtension_onEventWithHistory__closure.prototype = {
    call$1: function(e) {
      this._box_0.firstStreamEvent = e;
    },
    $signature: 766
  };
  Z.DdsExtension_onEventWithHistory_closure.prototype = {
    call$0: function() {
      J.cancel$0$z(this.streamEvents._readLocal$0());
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  Z.DdsExtension__callHelper_closure.prototype = {
    call$1: function(e) {
      return this.T._as(e);
    },
    $signature: function() {
      return this.T._eval$1("0(Response0)");
    }
  };
  Z.StreamHistory.prototype = {
    get$type: function(_) {
      return "StreamHistory";
    }
  };
  Z.StreamHistory$_fromJson_closure.prototype = {
    call$1: function(e) {
      return e == null ? null : Q.Event$_fromJson(e);
    },
    $signature: 767
  };
  F.main_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        t3, t1, t2;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = S.defaultScreens();
              $async$goto = 2;
              return P._asyncAwait(R.analyticsProvider(), $async$call$0);
            case 2:
              // returning from await.
              t2 = $async$result;
              if ($.WidgetsBinding__instance == null)
                N.WidgetsFlutterBinding$();
              t3 = $.WidgetsBinding__instance;
              t3.scheduleAttachRootWidget$1(new N.ProviderScope(new S.DevToolsApp(t1, t2, null), C.List_ErrorLoggerObserver, null));
              t3.scheduleWarmUpFrame$0();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  F.GtagEventDevTools.prototype = {};
  F.GtagExceptionDevTools.prototype = {};
  G.AnalyticsPrompt.prototype = {
    createState$0: function() {
      return new G._AnalyticsPromptState(this.child, this.provider, C._StateLifecycle_0);
    }
  };
  G._AnalyticsPromptState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      var t1 = this._prompt$_provider;
      if (t1._isGtagsEnabled)
        if (t1._isFirstRun && !t1._isConfigured)
          this._isVisible = true;
        else if (t1._isEnabled)
          t1.setUpAnalytics$0();
    },
    build$1: function(_, context) {
      var _this = this, _null = null,
        textTheme = K.Theme_of(context).textTheme,
        t1 = type$.JSArray_legacy_Widget,
        t2 = H._setArrayType([], t1);
      if (_this._isVisible)
        t2.push(V.Card$(new T.Padding(C.EdgeInsets_16_16_16_16, T.Column$(H._setArrayType([L.Text$("Send usage statistics for DevTools?", _null, _null, _null, _null, _null, textTheme.headline5, _null, _null, _null), C.Padding_lAj, _this._analyticsDescription$1(textTheme), C.SizedBox_null_6_null_null, _this._actionButtons$0()], t1), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), _null), _null, _null, C.EdgeInsets_0_0_0_6, _null));
      t2.push(T.Expanded$(_this._prompt$_child, 1));
      return T.Column$(t2, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _analyticsDescription$1: function(textTheme) {
      var _null = null,
        t1 = textTheme.bodyText1,
        t2 = Q.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 = N.TapGestureRecognizer$(_null);
      t3.onTap = new G._AnalyticsPromptState__analyticsDescription_closure(this);
      return T.RichText$(_null, _null, C.TextOverflow_0, true, _null, Q.TextSpan$(H._setArrayType([t2, Q.TextSpan$(_null, t3, _null, C.TextStyle_cLz, "privacy policy"), Q.TextSpan$(_null, _null, _null, t1, ".")], type$.JSArray_legacy_InlineSpan), _null, _null, _null, _null), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0);
    },
    _actionButtons$0: function() {
      var _null = null;
      return T.Row$(H._setArrayType([D.ElevatedButton$(C.Text_A4L, new G._AnalyticsPromptState__actionButtons_closure(this), D.ElevatedButton_styleFrom(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.MaterialColor_Map_HFpTk_4288585374, _null, _null, _null, _null, _null, _null, _null)), C.Padding_lAj0, D.ElevatedButton$(C.Text_61d, new G._AnalyticsPromptState__actionButtons_closure0(this), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_1, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    }
  };
  G._AnalyticsPromptState__analyticsDescription_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._framework$_element;
      t1.toString;
      B.launchUrl("https://www.google.com/intl/en/policies/privacy", t1);
    },
    $signature: 1
  };
  G._AnalyticsPromptState__actionButtons_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._prompt$_provider._isConfigured = true;
      F.setAnalyticsEnabled(false);
      t1.setState$1(new G._AnalyticsPromptState__actionButtons__closure0(t1));
    },
    $signature: 1
  };
  G._AnalyticsPromptState__actionButtons__closure0.prototype = {
    call$0: function() {
      this.$this._isVisible = false;
    },
    $signature: 1
  };
  G._AnalyticsPromptState__actionButtons_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._prompt$_provider._isConfigured = true;
      F.setAnalyticsEnabled(true);
      t1.setState$1(new G._AnalyticsPromptState__actionButtons__closure(t1));
    },
    $signature: 1
  };
  G._AnalyticsPromptState__actionButtons__closure.prototype = {
    call$0: function() {
      this.$this._isVisible = false;
    },
    $signature: 1
  };
  R._RemoteAnalyticsProvider.prototype = {
    setUpAnalytics$0: function() {
      if (!this._isGtagsEnabled)
        return;
      self.initializeGA();
      self.hookupListenerForGA();
    },
    $isAnalyticsProvider: 1
  };
  S.DevToolsApp.prototype = {
    createState$0: function() {
      return new S.DevToolsAppState(C._StateLifecycle_0);
    }
  };
  S.DevToolsAppState.prototype = {
    get$_screens: function() {
      var t1 = this._widget.screens,
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Screen*>");
      return P.List_List$of(new H.MappedListIterable(t1, new S.DevToolsAppState__screens_closure(), t2), true, t2._eval$1("ListIterable.E"));
    },
    initState$0: function() {
      var ideValue, t1, _this = this;
      _this.super$State$initState();
      if (F.isGtagsEnabled() && !$._analyticsComputed && !$._computingDimensions) {
        $._computingDimensions = true;
        F.computeDevToolsCustomGTagsData();
        $._ideLaunched = "CLI";
        ideValue = J.$index$asx(B.devToolsQueryParams(J.toString$0$(window.location)), "ide");
        if (ideValue != null)
          $._ideLaunched = ideValue;
        F.computeFlutterClientId();
        $._analyticsComputed = true;
      }
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolateController;
      new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new S.DevToolsAppState_initState_closure(_this));
      _this._isDarkThemeEnabled = $.globals.$index(0, C.Type_PreferencesController_1KB)._darkModeTheme._value;
      $.globals.$index(0, C.Type_PreferencesController_1KB)._darkModeTheme.addListener$1(0, new S.DevToolsAppState_initState_closure0(_this));
      $.globals.$index(0, C.Type_PreferencesController_1KB).toString;
      $.globals.$index(0, C.Type_PreferencesController_1KB)._vmDeveloperMode.addListener$1(0, new S.DevToolsAppState_initState_closure1(_this));
      $.globals.$index(0, C.Type_PreferencesController_1KB).toString;
      $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode.addListener$1(0, new S.DevToolsAppState_initState_closure2(_this));
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._routes = null;
    },
    _getPage$3: function(context, page, args) {
      var t1, t2;
      if (this.get$pages().containsKey$1(0, page))
        return V.MaterialPage$(this.get$pages().$index(0, page).call$3(context, page, args), type$.dynamic);
      t1 = "'" + H.S(page) + "' not found.";
      t2 = $.globals.$index(0, C.Type_IdeTheme_NnV);
      return V.MaterialPage$(M.DevToolsScaffold$withChild(null, this._widget.analyticsProvider, new U.CenteredMessage(t1, null), t2, C.ValueKey_2bx), type$.dynamic);
    },
    _buildTabbedPage$3: function(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, C.Type_IdeTheme_NnV);
        t2 = this._widget.analyticsProvider;
        return M.DevToolsScaffold$withChild(H._setArrayType([new S.OpenSettingsAction(_null), new S.ReportFeedbackButton(_null), new S.OpenAboutAction(_null)], type$.JSArray_legacy_Widget), t2, new Y.LandingScreenBody(_null), t1, C.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 = P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_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, H.throwConcurrentModificationError)(t1), ++_i)
          t2.add$1(0, t1[_i]);
      return new B.Initializer(new S.DevToolsAppState__buildTabbedPage_closure(_box_0, this, embed, t2), vmServiceUri, !embed, _null);
    },
    get$pages: function() {
      var t2, t3, t4, _i, _this = this,
        t1 = _this._routes;
      if (t1 == null) {
        t1 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_legacy_Widget_Function_3_legacy_BuildContext_and_legacy_String_and_legacy_Map_of_legacy_String_and_legacy_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, H.throwConcurrentModificationError)(t3), ++_i)
          t1.$indexSet(0, t3[_i].screen.screenId, t2);
        t1.$indexSet(0, "snapshot", new S.DevToolsAppState_pages_closure(_this));
        t1.$indexSet(0, "appsize", new S.DevToolsAppState_pages_closure0(_this));
        _this._routes = t1;
      }
      return t1;
    },
    _providedControllers$2$child$offline: function(child, offline) {
      var t1 = this._widget.screens,
        t2 = H._arrayInstanceType(t1),
        t3 = t2._eval$1("MappedIterable<1,Provider<@>*>");
      return Y.MultiProvider$(child, P.List_List$of(new H.MappedIterable(new H.WhereIterable(t1, new S.DevToolsAppState__providedControllers_closure(offline), t2._eval$1("WhereIterable<1>")), new S.DevToolsAppState__providedControllers_closure0(), t3), true, t3._eval$1("Iterable.E")));
    },
    _providedControllers$1$child: function(child) {
      return this._providedControllers$2$child$offline(child, false);
    },
    build$1: function(_, context) {
      var colorTheme, t5, t6, _null = null,
        t1 = this._isDarkThemeEnabled,
        t2 = $.globals.$index(0, C.Type_IdeTheme_NnV),
        t3 = K.Theme_of(context),
        t4 = t2 == null;
      if (K.isValidDarkColor(t4 ? _null : t2.backgroundColor))
        colorTheme = K._darkTheme(t2);
      else if (K.isValidLightColor(t4 ? _null : t2.backgroundColor))
        colorTheme = K._lightTheme(t2);
      else
        colorTheme = t1 ? K._darkTheme(t2) : K._lightTheme(t2);
      t1 = t3 != null;
      t5 = colorTheme.primaryTextTheme;
      if (t1)
        t5 = t3.primaryTextTheme.merge$1(t5);
      if (t4)
        t6 = _null;
      else {
        t6 = t2.fontSize;
        t6 = t6 != null ? t6 / 14 : 1;
      }
      t5 = t5.apply$1$fontSizeFactor(t6 == null ? 1 : t6);
      t6 = colorTheme.textTheme;
      t1 = t1 ? t3.textTheme.merge$1(t6) : t6;
      if (t4)
        t2 = _null;
      else {
        t2 = t2.fontSize;
        t2 = t2 != null ? t2 / 14 : 1;
      }
      t1 = colorTheme.copyWith$2$primaryTextTheme$textTheme(t5, t1.apply$1$fontSizeFactor(t2 == null ? 1 : t2));
      t2 = P.ListQueue$(_null, type$.legacy_DevToolsRouteConfiguration);
      return new S.MaterialApp(new T.DevToolsRouteInformationParser(), new T.DevToolsRouterDelegate(new N.LabeledGlobalKey(_null, type$.LabeledGlobalKey_legacy_NavigatorState), this.get$_getPage(), t2, P.List_List$filled(0, _null, false, type$.nullable_void_Function)), new S.DevToolsAppState_build_closure(), t1, false, _null);
    }
  };
  S.DevToolsAppState__screens_closure.prototype = {
    call$1: function(s) {
      return s.screen;
    },
    $signature: 783
  };
  S.DevToolsAppState_initState_closure.prototype = {
    call$1: function(_) {
      var t1 = this.$this;
      t1.setState$1(new S.DevToolsAppState_initState__closure2(t1));
    },
    $signature: 65
  };
  S.DevToolsAppState_initState__closure2.prototype = {
    call$0: function() {
      this.$this._routes = null;
    },
    $signature: 1
  };
  S.DevToolsAppState_initState_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new S.DevToolsAppState_initState__closure1(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S.DevToolsAppState_initState__closure1.prototype = {
    call$0: function() {
      this.$this._isDarkThemeEnabled = $.globals.$index(0, C.Type_PreferencesController_1KB)._darkModeTheme._value;
    },
    $signature: 1
  };
  S.DevToolsAppState_initState_closure1.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new S.DevToolsAppState_initState__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S.DevToolsAppState_initState__closure0.prototype = {
    call$0: function() {
      $.globals.$index(0, C.Type_PreferencesController_1KB).toString;
    },
    $signature: 1
  };
  S.DevToolsAppState_initState_closure2.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new S.DevToolsAppState_initState__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S.DevToolsAppState_initState__closure.prototype = {
    call$0: function() {
      $.globals.$index(0, C.Type_PreferencesController_1KB).toString;
    },
    $signature: 1
  };
  S.DevToolsAppState__buildTabbedPage_closure.prototype = {
    call$1: function(_) {
      var _this = this;
      return N.ValueListenableBuilder$(new S.DevToolsAppState__buildTabbedPage__closure(_this._box_0, _this.$this, _this.embed, _this.hide), $.globals.$index(0, C.Type_PreferencesController_1KB)._vmDeveloperMode, type$.legacy_bool);
    },
    $signature: 786
  };
  S.DevToolsAppState__buildTabbedPage__closure.prototype = {
    call$3: function(_, __, ___) {
      var t4, t5, t6, tabs, _this = this, _null = null,
        t1 = _this.$this,
        t2 = t1.get$_screens(),
        t3 = H._arrayInstanceType(t2)._eval$1("WhereIterable<1>");
      t3 = P.List_List$of(new H.WhereIterable(t2, T.screen__shouldShowScreen$closure(), t3), true, t3._eval$1("Iterable.E"));
      t2 = _this._box_0;
      t4 = _this.embed;
      t5 = H._arrayInstanceType(t3)._eval$1("WhereIterable<1>");
      t6 = t5._eval$1("WhereIterable<Iterable.E>");
      tabs = P.List_List$of(new H.WhereIterable(new H.WhereIterable(t3, new S.DevToolsAppState__buildTabbedPage___closure(t2, t4), t5), new S.DevToolsAppState__buildTabbedPage___closure0(_this.hide), t6), true, t6._eval$1("Iterable.E"));
      if (tabs.length === 0) {
        t2 = t2.page;
        t2 = t2 != null ? 'The "' + t2 + '" screen is not available for this application.' : "No tabs available for this application.";
        t3 = $.globals.$index(0, C.Type_IdeTheme_NnV);
        return M.DevToolsScaffold$withChild(_null, t1._widget.analyticsProvider, new U.CenteredMessage(t2, _null), t3, _null);
      }
      $.globals.$index(0, C.Type_IdeTheme_NnV);
      t2 = t2.page;
      t3 = t1._widget.analyticsProvider;
      t5 = type$.JSArray_legacy_Widget;
      t6 = H._setArrayType([], t5);
      if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp)
        C.JSArray_methods.addAll$1(t6, H._setArrayType([new B.HotReloadButton(_null), new B.HotRestartButton(_null)], t5));
      t6.push(new S.OpenSettingsAction(_null));
      t6.push(new S.ReportFeedbackButton(_null));
      t6.push(new S.OpenAboutAction(_null));
      return t1._providedControllers$1$child(new M.DevToolsScaffold(tabs, t2, t4, t6, t3, _null));
    },
    $signature: 121
  };
  S.DevToolsAppState__buildTabbedPage___closure.prototype = {
    call$1: function(p) {
      return !(this.embed && this._box_0.page != null) || p.screenId === this._box_0.page;
    },
    $signature: 58
  };
  S.DevToolsAppState__buildTabbedPage___closure0.prototype = {
    call$1: function(p) {
      return !this.hide.contains$1(0, p.screenId);
    },
    $signature: 58
  };
  S.DevToolsAppState_pages_closure.prototype = {
    call$3: function(_, __, args) {
      var t1 = J.$index$asx(args, "screen"),
        t2 = this.$this;
      return M.DevToolsScaffold$withChild(null, t2._widget.analyticsProvider, t2._providedControllers$2$child$offline(new K.SnapshotScreenBody(new K.SnapshotArguments(t1), t2.get$_screens(), null), true), $.globals.$index(0, C.Type_IdeTheme_NnV), new N.UniqueKey());
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 253
  };
  S.DevToolsAppState_pages_closure0.prototype = {
    call$3: function(_, __, ___) {
      var t3,
        t1 = this.$this,
        t2 = t1._widget.analyticsProvider;
      t1 = t1._providedControllers$1$child(C.AppSizeBody_null);
      t3 = $.globals.$index(0, C.Type_IdeTheme_NnV);
      return M.DevToolsScaffold$withChild(H._setArrayType([new S.OpenSettingsAction(null), new S.ReportFeedbackButton(null), new S.OpenAboutAction(null)], type$.JSArray_legacy_Widget), t2, t1, t3, C.ValueKey_appsize);
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 253
  };
  S.DevToolsAppState__providedControllers_closure.prototype = {
    call$1: function(s) {
      var t1;
      if (s.createController != null || s.controller != null)
        t1 = !this.offline || s.supportsOffline;
      else
        t1 = false;
      return t1;
    },
    $signature: 829
  };
  S.DevToolsAppState__providedControllers_closure0.prototype = {
    call$1: function(s) {
      return s.get$controllerProvider();
    },
    $signature: 833
  };
  S.DevToolsAppState_build_closure.prototype = {
    call$2: function(context, child) {
      return new Y.Notifications(child, null);
    },
    $signature: 834
  };
  S.DevToolsScreen.prototype = {
    get$controllerProvider: function() {
      var _this = this,
        t1 = _this.controller;
      if (t1 != null)
        return Y.Provider$value(null, t1, _this.$ti._eval$1("1*"));
      return Y.Provider$(null, new S.DevToolsScreen_controllerProvider_closure(_this), _this.$ti._eval$1("1*"));
    }
  };
  S.DevToolsScreen_controllerProvider_closure.prototype = {
    call$1: function(_) {
      return this.$this.createController.call$0();
    },
    $signature: function() {
      return this.$this.$ti._eval$1("1*(BuildContext*)");
    }
  };
  S.OpenAboutAction.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return U.DevToolsTooltip$(R.InkWell$(false, true, M.Container$(C.Alignment_0_0, C.Icon_mRn, C.Clip_0, _null, _null, _null, _null, 48, _null, _null, _null, _null, _null, 48), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new S.OpenAboutAction_build_closure(context), _null, _null, _null, _null, _null), _null, "About DevTools");
    }
  };
  S.OpenAboutAction_build_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              E.showDialog(true, new S.OpenAboutAction_build__closure(), $async$self.context, type$.void);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  S.OpenAboutAction_build__closure.prototype = {
    call$1: function(context) {
      return new S.DevToolsAboutDialog(null);
    },
    $signature: 835
  };
  S.OpenSettingsAction.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return U.DevToolsTooltip$(R.InkWell$(false, true, M.Container$(C.Alignment_0_0, C.Icon_Lt0, C.Clip_0, _null, _null, _null, _null, 48, _null, _null, _null, _null, _null, 48), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new S.OpenSettingsAction_build_closure(context), _null, _null, _null, _null, _null), _null, "Settings");
    }
  };
  S.OpenSettingsAction_build_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              E.showDialog(true, new S.OpenSettingsAction_build__closure(), $async$self.context, type$.void);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  S.OpenSettingsAction_build__closure.prototype = {
    call$1: function(context) {
      return new S.SettingsDialog(null);
    },
    $signature: 837
  };
  S.ReportFeedbackButton.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return U.DevToolsTooltip$(R.InkWell$(false, true, M.Container$(C.Alignment_0_0, C.Icon_yDH, C.Clip_0, _null, _null, _null, _null, 48, _null, _null, _null, _null, _null, 48), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new S.ReportFeedbackButton_build_closure(context), _null, _null, _null, _null, _null), _null, "Report feedback");
    }
  };
  S.ReportFeedbackButton_build_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              F.select("main", "feedbackButton");
              $.globals.$index(0, C.Type_DevToolsExtensionPoints_RWS).toString;
              $async$goto = 2;
              return P._asyncAwait(B.launchUrl(string$.https_g, $async$self.context), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  S.DevToolsAboutDialog.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = K.Theme_of(context).textTheme,
        t2 = L.Text$("About DevTools", _null, _null, _null, _null, _null, t1.headline6, _null, _null, _null),
        t3 = type$.JSArray_legacy_Widget,
        t4 = H._setArrayType([C.SelectableText_I8B, C.SizedBox_null_16_null_null], t3);
      C.JSArray_methods.addAll$1(t4, H._setArrayType([L.Text$("Feedback", _null, _null, _null, _null, _null, t1.subtitle1, _null, _null, _null), C.PaddedDivider_wEo0], t3));
      t4.push(new T.Wrap(H._setArrayType([C.Text_jjt, this._createFeedbackLink$1(context), C.Text_23B], t3), _null));
      return new O.DevToolsDialog(t2, T.Column$(t4, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), true, H._setArrayType([new O.DialogCloseButton(_null)], t3), _null);
    },
    _createFeedbackLink$1: function(context) {
      var _null = null;
      $.globals.$index(0, C.Type_DevToolsExtensionPoints_RWS).toString;
      return R.InkWell$(false, true, L.Text$("github.com/flutter/devtools/issues", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(context).colorScheme.brightness === C.Brightness_1 ? C.Color_4279858898 : C.MaterialAccentColor_Map_iTyLX_4282434815, _null, C.TextDecoration_1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new S.DevToolsAboutDialog__createFeedbackLink_closure(C.C_Link, context), _null, _null, _null, _null, _null);
    }
  };
  S.DevToolsAboutDialog__createFeedbackLink_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              F.select("main", "feedback");
              $async$goto = 2;
              return P._asyncAwait(B.launchUrl(string$.https_g, $async$self.context), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  S.SettingsDialog.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = L.Text$("Settings", _null, _null, _null, _null, _null, K.Theme_of(context).textTheme.headline6, _null, _null, _null),
        t2 = type$.JSArray_legacy_Widget,
        t3 = H._setArrayType([_this._buildOption$3$label$listenable$toggle(C.Text_pK6, $.globals.$index(0, C.Type_PreferencesController_1KB)._darkModeTheme, $.globals.$index(0, C.Type_PreferencesController_1KB).get$toggleDarkModeTheme()), _this._buildOption$3$label$listenable$toggle(C.Text_SR3, $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode, $.globals.$index(0, C.Type_PreferencesController_1KB).get$toggleDenseMode())], t2);
      t3.push(_this._buildOption$3$label$listenable$toggle(C.Text_gkc, $.$get$_gaEnabledNotifier(), F.analytics__setAnalyticsEnabled$closure()));
      t3.push(_this._buildOption$3$label$listenable$toggle(C.Text_Ch9, $.globals.$index(0, C.Type_PreferencesController_1KB)._vmDeveloperMode, $.globals.$index(0, C.Type_PreferencesController_1KB).get$toggleVmDeveloperMode()));
      return new O.DevToolsDialog(t1, T.Column$(t3, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), true, H._setArrayType([new O.DialogCloseButton(_null)], t2), _null);
    },
    _buildOption$3$label$listenable$toggle: function(label, listenable, toggle) {
      var _null = null;
      return R.InkWell$(false, true, T.Row$(H._setArrayType([N.ValueListenableBuilder$(new S.SettingsDialog__buildOption_closure(toggle), listenable, type$.legacy_bool), label], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new S.SettingsDialog__buildOption_closure0(toggle, listenable), _null, _null, _null, _null, _null);
    }
  };
  S.SettingsDialog__buildOption_closure0.prototype = {
    call$0: function() {
      return this.toggle.call$1(!this.listenable._value);
    },
    $signature: 44
  };
  S.SettingsDialog__buildOption_closure.prototype = {
    call$3: function(context, value, _) {
      return K.Checkbox$(null, false, null, null, this.toggle, false, value);
    },
    $signature: 842
  };
  S.defaultScreens_closure.prototype = {
    call$0: function() {
      var t1 = type$.nullable_void_Function,
        t2 = type$.ValueNotifier_legacy_bool;
      return new Z.InspectorSettingsController(new B.ValueNotifier(false, P.List_List$filled(0, null, false, t1), t2), new B.ValueNotifier(true, P.List_List$filled(0, null, false, t1), t2));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 846
  };
  S.defaultScreens_closure0.prototype = {
    call$0: function() {
      var _null = null,
        t1 = type$.nullable_void_Function,
        t2 = type$.ValueNotifier_legacy_LegacyTimelineEvent,
        t3 = type$.ValueNotifier_legacy_bool,
        t4 = type$.legacy_int,
        t5 = type$.legacy_String,
        t6 = type$.ValueNotifier_legacy_double,
        t7 = type$.ValueNotifier_legacy_String,
        t8 = type$.ValueNotifier_legacy_int,
        t9 = type$.legacy_CpuProfileData,
        t10 = type$.ValueNotifier_legacy_CpuStackFrame;
      t8 = new B.LegacyPerformanceController(new R.ExportControllerWeb(), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_LegacyFlutterFrame), new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_LegacyFlutterFrame), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_LegacyFlutterFrame), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), H._setArrayType([$.$get$dartTimelineStream(), $.$get$embedderTimelineStream(), $.$get$gcTimelineStream(), $.$get$apiTimelineStream(), $.$get$compilerTimelineStream(), $.$get$compilerVerboseTimelineStream(), $.$get$debuggerTimelineStream(), $.$get$isolateTimelineStream(), $.$get$vmTimelineStream()], type$.JSArray_legacy_RecordedTimelineStream), P.LinkedHashMap_LinkedHashMap$_empty(t4, t5), H._setArrayType([], type$.JSArray_legacy_TraceEventWrapper), new B.ValueNotifier(60, P.List_List$filled(0, _null, false, t1), t6), new B.ValueNotifier("", P.List_List$filled(0, _null, false, t1), t7), 0, new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_LegacyTimelineEvent), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_LegacyTimelineEvent), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t8), new T.CpuProfilerController(new E.CpuProfileStore(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_TimeRange, t9)), new B.ValueNotifier($.$get$CpuProfilerController_baseStateCpuProfileData(), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_CpuProfileData), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t10), new B.ValueNotifier("none", P.List_List$filled(0, _null, false, t1), t7), P.LinkedHashMap_LinkedHashMap$_empty(t5, t9), new V.CpuProfileTransformer(new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t6)), new B.ValueNotifier("", P.List_List$filled(0, _null, false, t1), t7), 0, new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_CpuStackFrame), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_CpuStackFrame), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t10), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t8)));
      t8.processor = new X.LegacyTimelineEventProcessor(t8, new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t6), P.LinkedHashMap_LinkedHashMap$_empty(t5, type$.legacy_LegacyAsyncTimelineEvent), P.LinkedHashMap_LinkedHashMap$_empty(t4, type$.legacy_LegacySyncTimelineEvent), P.LinkedHashMap_LinkedHashMap$_empty(t4, type$.legacy_TraceEvent), P.LinkedHashMap_LinkedHashMap$_empty(t5, type$.legacy_LegacyFlutterFrame));
      t8._performance_controller0$_initHelper$0();
      return t8;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 850
  };
  S.defaultScreens_closure1.prototype = {
    call$0: function() {
      var _null = null,
        t1 = type$.nullable_void_Function,
        t2 = type$.ValueNotifier_legacy_TimelineEvent,
        t3 = type$.ValueNotifier_legacy_bool,
        t4 = type$.legacy_int,
        t5 = type$.legacy_String,
        t6 = type$.ValueNotifier_legacy_double,
        t7 = type$.ValueNotifier_legacy_String,
        t8 = type$.ValueNotifier_legacy_int,
        t9 = type$.legacy_CpuProfileData,
        t10 = type$.ValueNotifier_legacy_CpuStackFrame;
      t8 = new B.PerformanceController(new R.ExportControllerWeb(), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_FlutterFrame), new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_FlutterFrame), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_FlutterFrame), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), H._setArrayType([$.$get$dartTimelineStream(), $.$get$embedderTimelineStream(), $.$get$gcTimelineStream(), $.$get$apiTimelineStream(), $.$get$compilerTimelineStream(), $.$get$compilerVerboseTimelineStream(), $.$get$debuggerTimelineStream(), $.$get$isolateTimelineStream(), $.$get$vmTimelineStream()], type$.JSArray_legacy_RecordedTimelineStream), P.LinkedHashMap_LinkedHashMap$_empty(t4, t5), H._setArrayType([], type$.JSArray_legacy_TraceEventWrapper), new B.ValueNotifier(60, P.List_List$filled(0, _null, false, t1), t6), new B.ValueNotifier("", P.List_List$filled(0, _null, false, t1), t7), 0, new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_TimelineEvent), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_TimelineEvent), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t8), new T.CpuProfilerController(new E.CpuProfileStore(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_TimeRange, t9)), new B.ValueNotifier($.$get$CpuProfilerController_baseStateCpuProfileData(), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_CpuProfileData), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t10), new B.ValueNotifier("none", P.List_List$filled(0, _null, false, t1), t7), P.LinkedHashMap_LinkedHashMap$_empty(t5, t9), new V.CpuProfileTransformer(new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t6)), new B.ValueNotifier("", P.List_List$filled(0, _null, false, t1), t7), 0, new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_CpuStackFrame), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_CpuStackFrame), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t10), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t8)));
      t8.processor = new X.TimelineEventProcessor(t8, new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t6), P.LinkedHashMap_LinkedHashMap$_empty(t5, type$.legacy_AsyncTimelineEvent), P.LinkedHashMap_LinkedHashMap$_empty(t4, type$.legacy_SyncTimelineEvent), P.LinkedHashMap_LinkedHashMap$_empty(t4, type$.legacy_TraceEvent), P.LinkedHashMap_LinkedHashMap$_empty(t5, type$.legacy_FlutterFrame));
      t8._initHelper$0();
      return t8;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 864
  };
  S.defaultScreens_closure2.prototype = {
    call$0: function() {
      var _null = null,
        t1 = type$.nullable_void_Function,
        t2 = type$.ValueNotifier_legacy_bool,
        t3 = type$.legacy_CpuProfileData,
        t4 = type$.ValueNotifier_legacy_CpuStackFrame,
        t5 = type$.ValueNotifier_legacy_String;
      return new Z.ProfilerScreenController(new R.ExportControllerWeb(), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new T.CpuProfilerController(new E.CpuProfileStore(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_TimeRange, t3)), new B.ValueNotifier($.$get$CpuProfilerController_baseStateCpuProfileData(), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_CpuProfileData), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t4), new B.ValueNotifier("none", P.List_List$filled(0, _null, false, t1), t5), P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, t3), new V.CpuProfileTransformer(new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_double)), new B.ValueNotifier("", P.List_List$filled(0, _null, false, t1), t5), 0, new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_CpuStackFrame), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_CpuStackFrame), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t4), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_int)));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 866
  };
  S.defaultScreens_closure3.prototype = {
    call$0: function() {
      var _null = null,
        t1 = type$.nullable_void_Function,
        t2 = type$.ValueNotifier_legacy_bool,
        t3 = type$.ValueNotifier_legacy_DateTime,
        t4 = type$.ValueNotifier_legacy_String,
        t5 = type$.ValueNotifier_legacy_int,
        t6 = type$.legacy_String,
        t7 = type$.legacy_ClassRef,
        t8 = type$.JSArray_legacy_String;
      t4 = new T.MemoryController(new B.ValueNotifier(true, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(true, P.List_List$filled(0, _null, false, t1), t2), H._setArrayType([], type$.JSArray_legacy_Snapshot), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_HeapGraphElementLive), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_AnalysisInstance), H._setArrayType([], type$.JSArray_legacy_AnalysisSnapshotReference), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier("Live Feed", P.List_List$filled(0, _null, false, t1), t4), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t5), new B.ValueNotifier(C.ChartInterval_0, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_ChartInterval), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new T.SettingsModel(), new B.ValueNotifier(new S.Selection(_null, _null, false, type$.Selection_legacy_Reference), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_Selection_legacy_Reference), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t5), P.LinkedHashMap_LinkedHashMap$_empty(t6, t7), P.LinkedHashMap_LinkedHashMap$_empty(t7, type$.legacy_CpuSamples), H._setArrayType([], type$.JSArray_legacy_AllocationSamples), new S.FilteredLibraries(H._setArrayType(["dart:", "package:collection", "package:flutter", "package:intl", "package:vector_math"], t8)), P.LinkedHashMap_LinkedHashMap$_empty(t6, type$.legacy_List_legacy_LibraryFilter), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t5), new B.ValueNotifier(true, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(true, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(true, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier("Library", P.List_List$filled(0, _null, false, t1), t4), P.StreamController_StreamController$broadcast(false, type$.legacy_MemoryTracker), P.StreamController_StreamController$broadcast(false, type$.void), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t5), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_ClassHeapDetailStats), H._setArrayType([], type$.JSArray_legacy_ClassHeapDetailStats), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(H._setArrayType([], t8), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_String), new T.LayerLink(), _null, _null, new B.ValueNotifier("", P.List_List$filled(0, _null, false, t1), t4), 0, new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_DataSearchStateMixin), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_DataSearchStateMixin), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_DataSearchStateMixin), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t5), K.Disposer$());
      t8 = type$.JSArray_legacy_HeapSample;
      t4.memoryTimeline = new N.MemoryTimeline(t4, H._setArrayType([], t8), H._setArrayType([], t8), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_Event), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_HeapSample), H._setArrayType([], type$.JSArray_legacy_EventSample), C.ContinuesState_0, new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), t5), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), t2), H._setArrayType([], type$.JSArray_legacy_ExtensionEvent));
      t4.memoryLog = new T.MemoryLog(t4);
      t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
      t4.newSnapshotSemantics = t2._versionSupported$2$supportedVersion$version(new T.SemanticVersion(3, 43, 0, _null, _null), t2._protocolVersion);
      return t4;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 869
  };
  S.defaultScreens_closure4.prototype = {
    call$0: function() {
      return D.DebuggerController$();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 873
  };
  S.defaultScreens_closure5.prototype = {
    call$0: function() {
      var t2, t3, t4, t5, t6, t7, t8, t9, _null = null,
        t1 = type$.JSArray_legacy_String;
      t1 = P.LinkedHashMap_LinkedHashMap$_literal(["network-method-filter", new X.FilterArgument(H._setArrayType(["method", "m"], t1), C.List_empty), "network-status-filter", new X.FilterArgument(H._setArrayType(["status", "s"], t1), C.List_empty), "network-type-filter", new X.FilterArgument(H._setArrayType(["type", "t"], t1), C.List_empty)], type$.legacy_String, type$.legacy_FilterArgument);
      t2 = type$.nullable_void_Function;
      t3 = P.List_List$filled(0, _null, false, t2);
      t4 = P.List_List$filled(0, _null, false, t2);
      t5 = type$.ValueNotifier_legacy_NetworkRequest;
      t6 = P.List_List$filled(0, _null, false, t2);
      t7 = type$.JSArray_legacy_NetworkRequest;
      t8 = P.List_List$from(H._setArrayType([], t7), true, type$.legacy_NetworkRequest);
      t9 = new B.ListValueNotifier(t8, P.List_List$filled(0, _null, false, t2), type$.ListValueNotifier_legacy_NetworkRequest);
      t9._currentList = new B.ImmutableList(t8, t8.length, type$.ImmutableList_legacy_NetworkRequest);
      t2 = new Q.NetworkController(t1, new B.ValueNotifier(new S.NetworkRequests(C.List_empty17, C.Map_empty10), t3, type$.ValueNotifier_legacy_NetworkRequests), new B.ValueNotifier(_null, t4, t5), new B.ValueNotifier(false, t6, type$.ValueNotifier_legacy_bool), t9, new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t2), type$.ValueNotifier_legacy_QueryFilter_dynamic), new B.ValueNotifier("", P.List_List$filled(0, _null, false, t2), type$.ValueNotifier_legacy_String), 0, new B.ValueNotifier(H._setArrayType([], t7), P.List_List$filled(0, _null, false, t2), type$.ValueNotifier_legacy_List_legacy_NetworkRequest), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t2), t5), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t2), type$.ValueNotifier_legacy_int));
      t2._networkService = new D.NetworkService(t2);
      return t2;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 874
  };
  S.defaultScreens_closure6.prototype = {
    call$0: function() {
      var t3, t4, t5, t6, t7, t8, t9, t10, _null = null,
        t1 = type$.legacy_String,
        t2 = P.LinkedHashMap_LinkedHashMap$_literal(["logging-kind-filter", new X.FilterArgument(H._setArrayType(["kind", "k"], type$.JSArray_legacy_String), C.List_empty)], t1, type$.legacy_FilterArgument);
      t1 = P.StreamController_StreamController$broadcast(false, t1);
      t3 = type$.JSArray_legacy_LogData;
      t4 = H._setArrayType([], t3);
      t5 = type$.nullable_void_Function;
      t6 = P.List_List$filled(0, _null, false, t5);
      t7 = type$.ValueNotifier_legacy_LogData;
      t8 = K.Disposer$();
      t9 = P.List_List$from(H._setArrayType([], t3), true, type$.legacy_LogData);
      t10 = new B.ListValueNotifier(t9, P.List_List$filled(0, _null, false, t5), type$.ListValueNotifier_legacy_LogData);
      t10._currentList = new B.ImmutableList(t9, t9.length, type$.ImmutableList_legacy_LogData);
      t5 = new E.LoggingController(t2, t1, t4, new B.ValueNotifier(_null, t6, t7), t8, t10, new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_QueryFilter_dynamic), new B.ValueNotifier("", P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_String), 0, new B.ValueNotifier(H._setArrayType([], t3), P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_List_legacy_LogData), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t5), t7), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t5), type$.ValueNotifier_legacy_int));
      t7 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
      t8.autoDispose$1(new P._BroadcastStream(t7, H._instanceType(t7)._eval$1("_BroadcastStream<1>")).listen$1(t5.get$_logging_controller$_handleConnectionStart()));
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
      if (t1.service != null && t1.connectedApp != null && t1.connectedApp.get$connectedAppInitialized())
        t5._logging_controller$_handleConnectionStart$1($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service);
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectionClosedController;
      t8.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(t5.get$_logging_controller$_handleConnectionStop()));
      t5._handleBusEvents$0();
      return t5;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 887
  };
  S.defaultScreens_closure7.prototype = {
    call$0: function() {
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S.defaultScreens_closure8.prototype = {
    call$0: function() {
      var _null = null,
        t1 = type$.nullable_void_Function,
        t2 = type$.ValueNotifier_legacy_CallGraphNode,
        t3 = type$.ValueNotifier_legacy_TreemapNode,
        t4 = type$.ValueNotifier_legacy_DevToolsJsonFile;
      return new Y.AppSizeController(new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t2), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t4), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t3), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t4), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), t4), new B.ValueNotifier(C.DiffTreeType_2, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_DiffTreeType), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_bool));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 892
  };
  X.setupErrorHandling_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($.WidgetsBinding__instance == null)
                N.WidgetsFlutterBinding$();
              $.WidgetsBinding__instance.toString;
              $.FlutterError_onError = new X.setupErrorHandling__closure($.$get$FlutterError_onError());
              $async$returnValue = $async$self.appStartCallback.call$0();
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 118
  };
  X.setupErrorHandling__closure.prototype = {
    call$1: function(details) {
      var t1;
      X._reportError(details.exception, details.stack);
      t1 = this.oldHandler;
      if (t1 != null)
        t1.call$1(details);
    },
    $signature: 912
  };
  X.setupErrorHandling_closure0.prototype = {
    call$2: function(error, stack) {
      X._reportError(error, stack);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 230
  };
  Y.DiffTreeType.prototype = {
    toString$0: function(_) {
      return this._app_size_controller$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Y.AppSizeController.prototype = {
    changeAnalysisRoot$1: function(newRoot) {
      var t1, programInfoNode, _this = this, _null = null;
      _this._analysisRoot.set$value(0, newRoot);
      t1 = _this._analysisCallGraph;
      t1 = t1 == null ? _null : t1.program;
      programInfoNode = t1 == null ? _null : t1.lookup$1(newRoot.packagePath$0());
      if (programInfoNode == null) {
        t1 = _this._analysisCallGraph;
        t1 = t1 == null ? _null : t1.program;
        programInfoNode = t1 == null ? _null : t1.root;
      }
      if (programInfoNode != null)
        _this._analysisCallGraphRoot.set$value(0, _this._analysisCallGraph._graphNodeByEntityId[programInfoNode.id]);
    },
    changeDiffRoot$1: function(newRoot) {
      var packagePath, t1, newProgramInfoNode, newProgramInfoNodeRoot, oldProgramInfoNode, _this = this, _null = null;
      _this._diffRoot.set$value(0, newRoot);
      packagePath = newRoot.packagePath$0();
      t1 = _this._newDiffCallGraph;
      t1 = t1 == null ? _null : t1.program;
      newProgramInfoNode = t1 == null ? _null : t1.lookup$1(packagePath);
      t1 = _this._newDiffCallGraph;
      t1 = t1 == null ? _null : t1.program;
      newProgramInfoNodeRoot = t1 == null ? _null : t1.root;
      t1 = _this._oldDiffCallGraph;
      t1 = t1 == null ? _null : t1.program;
      oldProgramInfoNode = t1 == null ? _null : t1.lookup$1(packagePath);
      if (newProgramInfoNode != null)
        _this._diffCallGraphRoot.set$value(0, _this._newDiffCallGraph._graphNodeByEntityId[newProgramInfoNode.id]);
      else if (oldProgramInfoNode != null)
        _this._diffCallGraphRoot.set$value(0, _this._oldDiffCallGraph._graphNodeByEntityId[oldProgramInfoNode.id]);
      else if (newProgramInfoNodeRoot != null)
        _this._diffCallGraphRoot.set$value(0, _this._newDiffCallGraph._graphNodeByEntityId[newProgramInfoNodeRoot.id]);
    },
    get$_activeDiffRoot: function() {
      var _this = this;
      switch (_this._activeDiffTreeType._value) {
        case C.DiffTreeType_0:
          return _this._increasedDiffTreeRoot;
        case C.DiffTreeType_1:
          return _this._decreasedDiffTreeRoot;
        case C.DiffTreeType_2:
        default:
          return _this._combinedDiffTreeRoot;
      }
    },
    loadTreeFromJsonFile$2$jsonFile$onError: function(jsonFile, onError) {
      return this.loadTreeFromJsonFile$body$AppSizeController(jsonFile, onError);
    },
    loadTreeFromJsonFile$body$AppSizeController: function(jsonFile, onError) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$next = [], $async$self = this, processedJson, precompilerTrace, exception, t1;
      var $async$loadTreeFromJsonFile$2$jsonFile$onError = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._processingNotifier;
              t1.set$value(0, true);
              $async$goto = 3;
              return P._asyncAwait(B.delayForBatchProcessing(10000), $async$loadTreeFromJsonFile$2$jsonFile$onError);
            case 3:
              // returning from await.
              processedJson = null;
              if (Y.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(jsonFile)) {
                processedJson = jsonFile.data;
                precompilerTrace = J.remove$1$ax(processedJson, "precompiler-trace");
                if (precompilerTrace != null)
                  $async$self._analysisCallGraph = A.generateCallGraphWithDominators(precompilerTrace, C.NodeType_0);
              } else
                try {
                  processedJson = N.treemapFromJson(jsonFile.data);
                } catch (exception) {
                  H.unwrapException(exception);
                  onError.call$1(string$.Failed);
                  t1.set$value(0, false);
                  // goto return
                  $async$goto = 1;
                  break;
                }
              $async$self._analysisJsonFile.set$value(0, jsonFile);
              J.$indexSet$ax(processedJson, "n", "Root");
              $async$self.changeAnalysisRoot$1($async$self.generateTree$1(processedJson));
              t1.set$value(0, false);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$loadTreeFromJsonFile$2$jsonFile$onError, $async$completer);
    },
    loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError: function(newFile, oldFile, onError) {
      return this.loadDiffTreeFromJsonFiles$body$AppSizeController(newFile, oldFile, onError);
    },
    loadDiffTreeFromJsonFiles$body$AppSizeController: function(newFile, oldFile, onError) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$next = [], $async$self = this, diffMap, t1, t2, t3, oldApkProgramInfo, oldPrecompilerTrace, newApkProgramInfo, newPrecompilerTrace, exception;
      var $async$loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (oldFile == null || newFile == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (Y.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(oldFile) === Y.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(newFile)) {
                t1 = oldFile.data;
                t2 = type$.legacy_Map_of_legacy_String_and_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 P._asyncAwait(B.delayForBatchProcessing(10000), $async$loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError);
            case 3:
              // returning from await.
              diffMap = null;
              if (Y.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(oldFile) && Y.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(newFile)) {
                oldApkProgramInfo = D.ProgramInfo_ProgramInfo();
                t2 = oldFile.data;
                $async$self._apkJsonToProgramInfo$3$json$parent$program(t2, oldApkProgramInfo.root, oldApkProgramInfo);
                oldPrecompilerTrace = J.remove$1$ax(t2, "precompiler-trace");
                if (oldPrecompilerTrace != null)
                  $async$self._oldDiffCallGraph = A.generateCallGraphWithDominators(oldPrecompilerTrace, C.NodeType_0);
                newApkProgramInfo = D.ProgramInfo_ProgramInfo();
                t2 = newFile.data;
                $async$self._apkJsonToProgramInfo$3$json$parent$program(t2, newApkProgramInfo.root, newApkProgramInfo);
                newPrecompilerTrace = J.remove$1$ax(t2, "precompiler-trace");
                if (newPrecompilerTrace != null)
                  $async$self._newDiffCallGraph = A.generateCallGraphWithDominators(newPrecompilerTrace, C.NodeType_0);
                diffMap = N.treemapFromInfo(D.computeDiff(oldApkProgramInfo, newApkProgramInfo), C.TreemapFormat_0);
              } else
                try {
                  t2 = oldFile.data;
                  t3 = newFile.data;
                  diffMap = N.treemapFromInfo(D.computeDiff(L.loadProgramInfoFromJson(t2, false), L.loadProgramInfoFromJson(t3, false)), C.TreemapFormat_0);
                } catch (exception) {
                  H.unwrapException(exception);
                  onError.call$1(string$.Failed);
                  t1.set$value(0, false);
                  // goto return
                  $async$goto = 1;
                  break;
                }
              if (diffMap == null || J.get$isEmpty$asx(type$.legacy_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, C.DiffTreeType_2);
              $async$self._increasedDiffTreeRoot = $async$self.generateDiffTree$2(diffMap, C.DiffTreeType_0);
              $async$self._decreasedDiffTreeRoot = $async$self.generateDiffTree$2(diffMap, C.DiffTreeType_1);
              $async$self.changeDiffRoot$1($async$self.get$_activeDiffRoot());
              t1.set$value(0, false);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError, $async$completer);
    },
    _apkJsonToProgramInfo$3$json$parent$program: function(json, $parent, program) {
      var _s8_ = "children",
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, _s8_),
        node = program.makeNode$3$name$parent$type(t1.$index(json, "n"), $parent, C.NodeType_4);
      if (t2 != null)
        for (t1 = J.get$iterator$ax(type$.legacy_List_dynamic._as(t1.$index(json, _s8_))); t1.moveNext$0();)
          this._apkJsonToProgramInfo$3$json$parent$program(t1.get$current(t1), node, program);
      else {
        t1 = t1.$index(json, "value");
        node.size = t1 == null ? 0 : t1;
      }
      return node;
    },
    generateTree$1: function(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: function(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) {
          case C.DiffTreeType_0:
            if (J.$lt$n(byteSize, 0))
              return null;
            break;
          case C.DiffTreeType_1:
            if (J.$gt$n(byteSize, 0))
              return null;
            break;
          case C.DiffTreeType_2:
            break;
        }
        return this._buildNode$3$showDiff(treeJson, byteSize, true);
      }
    },
    _buildNodeWithChildren$3$diffTreeType$showDiff: function(treeJson, diffTreeType, showDiff) {
      var t1, totalByteSize, t2, childTreemapNode,
        rawChildren = J.$index$asx(treeJson, "children"),
        treemapNodeChildren = H._setArrayType([], type$.JSArray_legacy_TreemapNode);
      for (t1 = J.get$iterator$ax(rawChildren), totalByteSize = 0; t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        childTreemapNode = showDiff ? this.generateDiffTree$2(t2, diffTreeType) : 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: function(treeJson) {
      return this._buildNodeWithChildren$3$diffTreeType$showDiff(treeJson, null, false);
    },
    _buildNode$4$children$showDiff: function(treeJson, byteSize, children, showDiff) {
      var childrenMap, t1, _i, child,
        $name = J.$index$asx(treeJson, "n");
      if (J.$eq$($name, ""))
        $name = "Unnamed";
      childrenMap = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_TreemapNode);
      for (t1 = children.length, _i = 0; _i < children.length; children.length === t1 || (0, H.throwConcurrentModificationError)(children), ++_i) {
        child = children[_i];
        childrenMap.$indexSet(0, child.name, child);
      }
      t1 = new E.TreemapNode($name, childrenMap, byteSize, showDiff, H._setArrayType([], type$.JSArray_legacy_TreemapNode));
      C.JSArray_methods.forEach$1(children, t1.get$addChild());
      return t1;
    },
    _buildNode$3$showDiff: function(treeJson, byteSize, showDiff) {
      return this._buildNode$4$children$showDiff(treeJson, byteSize, C.List_empty22, showDiff);
    },
    _buildNode$2: function(treeJson, byteSize) {
      return this._buildNode$4$children$showDiff(treeJson, byteSize, C.List_empty22, false);
    }
  };
  R.AppSizeScreen.prototype = {
    get$docPageId: function() {
      return "app-size";
    },
    build$1: function(_, context) {
      return C.DragAndDrop_null_AppSizeBody_null_null;
    }
  };
  R.AppSizeBody.prototype = {
    createState$0: function() {
      return new R._AppSizeBodyState(null, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  R._AppSizeBodyState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      F.screen("app-size");
      t1 = U.TabController$(0, 2, _this);
      _this._app_size_screen$_tabController = t1;
      _this.addAutoDisposeListener$1(t1);
    },
    maybeLoadAppSizeFiles$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, baseAppSizeFile, testAppSizeFile, t2, queryParams, t1;
      var $async$maybeLoadAppSizeFiles$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              queryParams = B.devToolsQueryParams(J.toString$0$(window.location));
              t1 = J.getInterceptor$x(queryParams);
              $async$goto = t1.containsKey$1(queryParams, "appSizeBase") ? 2 : 3;
              break;
            case 2:
              // then
              $async$self.preLoadingData = true;
              $async$goto = 4;
              return P._asyncAwait(Q.requestBaseAppSizeFile(t1.$index(queryParams, "appSizeBase")), $async$maybeLoadAppSizeFiles$0);
            case 4:
              // returning from await.
              baseAppSizeFile = $async$result;
              $async$goto = t1.containsKey$1(queryParams, "appSizeTest") ? 5 : 7;
              break;
            case 5:
              // then
              $async$goto = 8;
              return P._asyncAwait(Q.requestTestAppSizeFile(t1.$index(queryParams, "appSizeTest")), $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.controller;
                if (testAppSizeFile != null) {
                  t2.loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError(testAppSizeFile, baseAppSizeFile, t1);
                  $async$self._app_size_screen$_tabController.animateTo$1(C.JSArray_methods.indexOf$1(C.List_Hd4, C.Tab_0));
                } else {
                  t2.loadTreeFromJsonFile$2$jsonFile$onError(baseAppSizeFile, t1);
                  $async$self._app_size_screen$_tabController.animateTo$1(C.JSArray_methods.indexOf$1(C.List_Hd4, C.Tab_hTW));
                }
              }
            case 3:
              // join
              if ($async$self.preLoadingData)
                $async$self.setState$1(new R._AppSizeBodyState_maybeLoadAppSizeFiles_closure($async$self));
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$maybeLoadAppSizeFiles$0, $async$completer);
    },
    dispose$0: function(_) {
      this.super$__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$dispose(0);
      this._app_size_screen$_tabController.dispose$0(0);
    },
    _pushErrorMessage$1: function(error) {
      var t1 = this._framework$_element;
      if (t1 != null)
        Y.Notifications_of(t1).push$1(error);
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_AppSizeController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      _this.maybeLoadAppSizeFiles$0();
      _this.addAutoDisposeListener$1(_this.controller._activeDiffTreeType);
    },
    build$1: function(_, context) {
      var currentTab, t1, t2, t3, t4, _this = this, _null = null;
      if (_this.preLoadingData) {
        $.globals.$index(0, C.Type_DevToolsExtensionPoints_RWS).toString;
        return T.Center$(T.Column$(H._setArrayType([L.Text$("Loading app size data. Please wait...", _null, _null, _null, _null, _null, _null, C.TextAlign_2, _null, _null), C.SizedBox_null_16_null_null, C.CircularProgressIndicator_MQk], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_0, C.VerticalDirection_1), _null, _null, _null);
      }
      currentTab = C.List_Hd4[_this._app_size_screen$_tabController._tab_controller$_index];
      t1 = K.Theme_of(context).textTheme.bodyText1.color;
      t1 = E.TabBar$(_this._app_size_screen$_tabController, true, t1, C.List_Hd4);
      t2 = type$.JSArray_legacy_Widget;
      t3 = H._setArrayType([], t2);
      t4 = currentTab.key;
      if (J.$eq$(t4, C.ValueKey_e0h))
        t3.push(_this._buildDiffTreeTypeDropdown$0());
      t3.push(C.SizedBox_16_null_null_null);
      t3.push(_this._buildClearButton$1(t4));
      return T.Column$(H._setArrayType([T.SizedBox$(T.Row$(H._setArrayType([t1, T.Row$(t3, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null), 32, _null), T.Expanded$(E.TabBarView$(C.List_AnalysisView_null_DiffView_null, _this._app_size_screen$_tabController, C.NeverScrollableScrollPhysics_null), 1)], t2), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _buildDiffTreeTypeDropdown$0: function() {
      var _null = null,
        t1 = this.controller._activeDiffTreeType._value,
        t2 = type$.legacy_DiffTreeType;
      return new K.DropdownButtonHideUnderline(K.DropdownButton$(_null, false, false, H._setArrayType([K.DropdownMenuItem$(L.Text$(R.DiffTreeTypeExtension_get_display(C.DiffTreeType_2), _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, C.DiffTreeType_2, t2), K.DropdownMenuItem$(L.Text$(R.DiffTreeTypeExtension_get_display(C.DiffTreeType_0), _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, C.DiffTreeType_0, t2), K.DropdownMenuItem$(L.Text$(R.DiffTreeTypeExtension_get_display(C.DiffTreeType_1), _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, C.DiffTreeType_1, t2)], type$.JSArray_legacy_DropdownMenuItem_legacy_DiffTreeType), _null, new R._AppSizeBodyState__buildDiffTreeTypeDropdown_closure(this), _null, _null, _null, t1, t2), C.ValueKey_Ia3);
    },
    _buildClearButton$1: function(activeTabKey) {
      return U.ClearButton$(null, null, new R._AppSizeBodyState__buildClearButton_closure(this, activeTabKey));
    }
  };
  R._AppSizeBodyState_maybeLoadAppSizeFiles_closure.prototype = {
    call$0: function() {
      this.$this.preLoadingData = false;
    },
    $signature: 1
  };
  R._AppSizeBodyState__buildDiffTreeTypeDropdown_closure.prototype = {
    call$1: function(newDiffTreeType) {
      var t1 = this.$this.controller;
      t1._activeDiffTreeType.set$value(0, newDiffTreeType);
      t1.changeDiffRoot$1(t1.get$_activeDiffRoot());
    },
    $signature: 940
  };
  R._AppSizeBodyState__buildClearButton_closure.prototype = {
    call$0: function() {
      var t3, _null = null,
        t1 = this.$this.controller,
        t2 = this.activeTabKey;
      t1.toString;
      t3 = J.getInterceptor$(t2);
      if (t3.$eq(t2, C.ValueKey_e0h)) {
        t1._diffRoot.set$value(0, _null);
        t1._oldDiffJsonFile.set$value(0, _null);
        t1._newDiffJsonFile.set$value(0, _null);
        t1._combinedDiffTreeRoot = t1._decreasedDiffTreeRoot = t1._increasedDiffTreeRoot = null;
        t1._diffCallGraphRoot.set$value(0, _null);
        t1._newDiffCallGraph = t1._oldDiffCallGraph = null;
      } else if (t3.$eq(t2, C.ValueKey_M88)) {
        t1._analysisRoot.set$value(0, _null);
        t1._analysisJsonFile.set$value(0, _null);
        t1._analysisCallGraphRoot.set$value(0, _null);
        t1._analysisCallGraph = null;
      }
      return _null;
    },
    $signature: 0
  };
  R.AnalysisView.prototype = {
    createState$0: function() {
      return new R._AnalysisViewState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  R._AnalysisViewState.prototype = {
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_AppSizeController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      t1 = newController._analysisRoot;
      _this.analysisRoot = t1._value;
      _this.addAutoDisposeListener$2(t1, new R._AnalysisViewState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$1(_this.controller._analysisJsonFile);
    },
    build$1: function(_, context) {
      var output, t1, t2, t3, treeColumn, sizeColumn, t4, t5, _this = this, _null = null;
      if (_this.analysisRoot != null) {
        output = Y.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(_this.controller._analysisJsonFile._value) ? "Total size analysis: " : "Dart AOT snapshot: ";
        t1 = _this.controller._analysisJsonFile._value;
        t1 = U.AreaPaneHeader$(C.List_empty11, 2, true, false, false, 4, false, L.Text$(output + (H.S(t1.path) + " - " + A.DateFormat$yMd().addPattern$1("jm").format$1(t1.lastModifiedTime)), _null, _null, _null, _null, _null, _null, _null, _null, _null));
        t2 = _this._buildTreemap$0();
        t3 = _this.analysisRoot;
        treeColumn = R._NameColumn$(t3.get$level(t3));
        sizeColumn = new R._SizeColumn("Size", _null, 100, _null, C.ColumnAlignment_1);
        t4 = type$.JSArray_legacy_Widget;
        t3 = H._setArrayType([new T.Flexible(1, C.FlexFit_1, new R.AppSizeAnalysisTable(t3, treeColumn, sizeColumn, P.List_List$unmodifiable([treeColumn, sizeColumn, new R._SizePercentageColumn(t3.get$root(t3).get$byteSize(), "% of Total Size", _null, 100, _null, C.ColumnAlignment_1)], type$.legacy_ColumnData_legacy_TreemapNode), _null), _null)], t4);
        t5 = _this.controller._analysisCallGraphRoot._value;
        if (t5 != null)
          t3.push(new T.Flexible(1, C.FlexFit_1, new O.CallGraphWithDominators(t5, _null), _null));
        t1 = new U.OutlineDecoration(T.Column$(H._setArrayType([t1, T.Expanded$(L.Split$(C.Axis_1, H._setArrayType([t2, T.Row$(t3, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null)], t4), C.List_O9m, _null, _null), 1)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
      } else
        t1 = _this._buildImportFileView$0();
      return T.Column$(H._setArrayType([T.Expanded$(t1, 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _buildTreemap$0: function() {
      return new A.LayoutBuilder(new R._AnalysisViewState__buildTreemap_closure(this), C.ValueKey_xwz);
    },
    _buildImportFileView$0: function() {
      return N.ValueListenableBuilder$(new R._AnalysisViewState__buildImportFileView_closure(this), this.controller._processingNotifier, type$.dynamic);
    }
  };
  R._AnalysisViewState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new R._AnalysisViewState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  R._AnalysisViewState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.analysisRoot = t1.controller._analysisRoot._value;
    },
    $signature: 1
  };
  R._AnalysisViewState__buildTreemap_closure.prototype = {
    call$2: function(context, constraints) {
      var t1 = this.$this,
        t2 = t1.analysisRoot,
        t3 = constraints.maxWidth;
      return E.Treemap$fromRoot(constraints.maxHeight, true, 2, t1.controller.get$changeAnalysisRoot(), t2, t3);
    },
    $signature: 147
  };
  R._AnalysisViewState__buildImportFileView_closure.prototype = {
    call$3: function(context, processing, _) {
      var _null = null;
      if (processing)
        return T.Center$(L.Text$(string$.Loadin, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(context).textTheme.headline1.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), C.TextAlign_2, _null, _null), _null, _null, _null);
      else
        return T.Column$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, D.FileImportContainer$("Analyze Size", "Drag and drop an AOT snapshot or size analysis file for debugging", new R._AnalysisViewState__buildImportFileView__closure(this.$this, context), _null, _null, "Size analysis"), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    $signature: 967
  };
  R._AnalysisViewState__buildImportFileView__closure.prototype = {
    call$1: function(jsonFile) {
      var t1 = this.$this;
      t1.controller.loadTreeFromJsonFile$2$jsonFile$onError(jsonFile, new R._AnalysisViewState__buildImportFileView___closure(t1, this.context));
    },
    $signature: 1010
  };
  R._AnalysisViewState__buildImportFileView___closure.prototype = {
    call$1: function(error) {
      if (this.$this._framework$_element != null)
        Y.Notifications_of(this.context).push$1(error);
    },
    $signature: 35
  };
  R.DiffView.prototype = {
    createState$0: function() {
      return new R._DiffViewState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  R._DiffViewState.prototype = {
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_AppSizeController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      t1 = newController._diffRoot;
      _this.diffRoot = t1._value;
      _this.addAutoDisposeListener$2(t1, new R._DiffViewState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$1(_this.controller._activeDiffTreeType);
      _this.addAutoDisposeListener$1(_this.controller._oldDiffJsonFile);
      _this.addAutoDisposeListener$1(_this.controller._newDiffJsonFile);
    },
    build$1: function(_, context) {
      var output, t1, t2, t3, treeColumn, diffColumn, t4, t5, _this = this, _null = null;
      if (_this.diffRoot != null) {
        output = "Diffing " + (Y.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(_this.controller._oldDiffJsonFile._value) ? "total size analyses: " : "Dart AOT snapshots: ");
        t1 = _this.controller._oldDiffJsonFile._value;
        output = output + (H.S(t1.path) + " - " + A.DateFormat$yMd().addPattern$1("jm").format$1(t1.lastModifiedTime)) + " (OLD)    vs    (NEW) ";
        t1 = _this.controller._newDiffJsonFile._value;
        t1 = U.AreaPaneHeader$(C.List_empty11, 2, true, false, false, 4, false, L.Text$(output + (H.S(t1.path) + " - " + A.DateFormat$yMd().addPattern$1("jm").format$1(t1.lastModifiedTime)), _null, _null, _null, _null, _null, _null, _null, _null, _null));
        t2 = _this._buildTreemap$0();
        t3 = _this.diffRoot;
        treeColumn = R._NameColumn$(t3.get$level(t3));
        diffColumn = new R._DiffColumn("Change", _null, 100, _null, C.ColumnAlignment_1);
        t4 = type$.JSArray_legacy_Widget;
        t3 = H._setArrayType([new T.Flexible(1, C.FlexFit_1, new R.AppSizeDiffTable(t3, treeColumn, diffColumn, P.List_List$unmodifiable([treeColumn, diffColumn], type$.legacy_ColumnData_legacy_TreemapNode), _null), _null)], t4);
        t5 = _this.controller._diffCallGraphRoot._value;
        if (t5 != null)
          t3.push(new T.Flexible(1, C.FlexFit_1, new O.CallGraphWithDominators(t5, _null), _null));
        t1 = new U.OutlineDecoration(T.Column$(H._setArrayType([t1, T.Expanded$(L.Split$(C.Axis_1, H._setArrayType([t2, T.Row$(t3, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null)], t4), C.List_O9m, _null, _null), 1)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
      } else
        t1 = _this._buildImportDiffView$0();
      return T.Column$(H._setArrayType([T.Expanded$(t1, 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _buildImportDiffView$0: function() {
      return N.ValueListenableBuilder$(new R._DiffViewState__buildImportDiffView_closure(this), this.controller._processingNotifier, type$.dynamic);
    },
    _buildTreemap$0: function() {
      return new A.LayoutBuilder(new R._DiffViewState__buildTreemap_closure(this), C.ValueKey_cMb);
    }
  };
  R._DiffViewState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new R._DiffViewState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  R._DiffViewState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.diffRoot = t1.controller._diffRoot._value;
    },
    $signature: 1
  };
  R._DiffViewState__buildImportDiffView_closure.prototype = {
    call$3: function(context, processing, _) {
      var _null = null,
        t1 = this.$this;
      if (processing) {
        t1 = t1._framework$_element;
        t1.toString;
        return T.Center$(L.Text$(string$.Loadin, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(t1).textTheme.headline1.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), C.TextAlign_2, _null, _null), _null, _null, _null);
      } else
        return T.Column$(H._setArrayType([T.Expanded$(new D.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 R._DiffViewState__buildImportDiffView__closure(t1), _null), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    $signature: 1046
  };
  R._DiffViewState__buildImportDiffView__closure.prototype = {
    call$3: function(oldFile, newFile, onError) {
      return this.$this.controller.loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError(newFile, oldFile, onError);
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 1049
  };
  R._DiffViewState__buildTreemap_closure.prototype = {
    call$2: function(context, constraints) {
      var t1 = this.$this,
        t2 = t1.diffRoot,
        t3 = constraints.maxWidth;
      return E.Treemap$fromRoot(constraints.maxHeight, true, 2, t1.controller.get$changeDiffRoot(), t2, t3);
    },
    $signature: 147
  };
  R.__AnalysisViewState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  R.__AppSizeBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  R.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$__AppSizeBodyState_State_AutoDisposeMixin$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  R.__DiffViewState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  R.AppSizeAnalysisTable.prototype = {
    build$1: function(_, context) {
      var _this = this;
      return S.TreeTable$(true, _this.columns, H._setArrayType([_this.rootNode], type$.JSArray_legacy_TreemapNode), null, new R.AppSizeAnalysisTable_build_closure(), null, _this.sortColumn, C.SortDirection_1, _this.treeColumn, type$.legacy_TreemapNode);
    }
  };
  R.AppSizeAnalysisTable_build_closure.prototype = {
    call$1: function(node) {
      return new S.PageStorageKey(node.name, type$.PageStorageKey_legacy_String);
    },
    $signature: 329
  };
  R._NameColumn0.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.name;
    },
    getNodeIndentPx$1: function(dataObject) {
      return (dataObject.get$level(dataObject) - this.currentRootLevel) * 14;
    }
  };
  R._SizeColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.byteSize;
    },
    getDisplayValue$1: function(dataObject) {
      return B.prettyPrintBytes(dataObject.byteSize, true, 1, 1, 1);
    },
    compare$2: function(a, b) {
      return J.compareTo$1$ns(a.byteSize, b.byteSize);
    }
  };
  R._SizePercentageColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.byteSize / this.totalSize * 100;
    },
    getDisplayValue$1: function(dataObject) {
      return C.JSNumber_methods.toStringAsFixed$1(dataObject.byteSize / this.totalSize * 100, 2) + " %";
    },
    compare$2: function(a, b) {
      var t1 = this.totalSize;
      return C.JSNumber_methods.compareTo$1(a.byteSize / t1 * 100, b.byteSize / t1 * 100);
    }
  };
  R.AppSizeDiffTable.prototype = {
    build$1: function(_, context) {
      var _this = this;
      return S.TreeTable$(true, _this.columns, H._setArrayType([_this.rootNode], type$.JSArray_legacy_TreemapNode), null, new R.AppSizeDiffTable_build_closure(), null, _this.sortColumn, C.SortDirection_1, _this.treeColumn, type$.legacy_TreemapNode);
    }
  };
  R.AppSizeDiffTable_build_closure.prototype = {
    call$1: function(node) {
      return new S.PageStorageKey(node.name, type$.PageStorageKey_legacy_String);
    },
    $signature: 329
  };
  R._DiffColumn.prototype = {
    getValue$1: function(dataObject) {
      return Math.abs(dataObject.byteSize);
    },
    getDisplayValue$1: function(dataObject) {
      return dataObject.prettyByteSize$0();
    },
    compare$2: function(a, b) {
      return C.JSInt_methods.compareTo$1(Math.abs(a.byteSize), Math.abs(b.byteSize));
    },
    getTextColor$1: function(dataObject) {
      if (dataObject.byteSize < 0)
        return C.Color_4293797967;
      else
        return C.Color_4285775683;
    }
  };
  O.CallGraphWithDominators.prototype = {
    createState$0: function() {
      return new O._CallGraphWithDominatorsState(C._StateLifecycle_0);
    }
  };
  O._CallGraphWithDominatorsState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.dominatorTreeRoot = O.DominatorTreeNode_DominatorTreeNode$from(O.CallGraphNodeDisplay_get_dominatorRoot(this._widget.callGraphRoot));
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.callGraphRoot;
      t2 = this._widget.callGraphRoot;
      if (t1 != t2)
        this.dominatorTreeRoot = O.DominatorTreeNode_DominatorTreeNode$from(O.CallGraphNodeDisplay_get_dominatorRoot(t2));
    },
    build$1: function(_, context) {
      var t4, _this = this, _null = null,
        t1 = _this.showCallGraph,
        t2 = L.Text$(t1 ? "Call Graph" : "Dominator Tree", _null, _null, _null, _null, _null, _null, _null, _null, _null),
        t3 = type$.JSArray_legacy_Widget;
      t2 = U.AreaPaneHeader$(H._setArrayType([C.Text_tAL, N.Switch$(_this.get$_toggleShowCallGraph(), t1)], t3), 1, false, true, false, 4, false, t2);
      t1 = _this.showCallGraph;
      t4 = _this._widget;
      if (t1)
        t1 = new O.CallGraphView(t4.callGraphRoot, _null);
      else {
        t1 = type$.legacy_DominatorTreeNode;
        t1 = new O.DominatorTree(_this.dominatorTreeRoot, t4.callGraphRoot, new O._PackageColumn(P.StreamController_StreamController$broadcast(false, t1), P.StreamController_StreamController$broadcast(false, t1), "Package", _null, _null, _null, C.ColumnAlignment_0), _null);
      }
      return T.Column$(H._setArrayType([t2, T.Expanded$(t1, 1)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _toggleShowCallGraph$1: function(shouldShow) {
      this.setState$1(new O._CallGraphWithDominatorsState__toggleShowCallGraph_closure(this, shouldShow));
    }
  };
  O._CallGraphWithDominatorsState__toggleShowCallGraph_closure.prototype = {
    call$0: function() {
      this.$this.showCallGraph = this.shouldShow;
    },
    $signature: 1
  };
  O.CallGraphView.prototype = {
    createState$0: function() {
      var _null = null;
      return new O._CallGraphViewState(new O.FromColumn("From", _null, _null, _null, C.ColumnAlignment_0), new O.ToColumn("To", _null, _null, _null, C.ColumnAlignment_0), C._StateLifecycle_0);
    },
    get$node: function() {
      return this.node;
    }
  };
  O._CallGraphViewState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.selectedNode = this._widget.node;
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.node;
      t2 = this._widget.node;
      if (t1 != t2)
        this.selectedNode = t2;
    },
    build$1: function(_, context) {
      return new A.LayoutBuilder(new O._CallGraphViewState_build_closure(this), null);
    },
    _buildFromTable$0: function() {
      var _null = null,
        t1 = this._fromColumn;
      return S.FlatTable$(_null, false, H._setArrayType([t1], type$.JSArray_legacy_ColumnData_legacy_CallGraphNode), this.selectedNode.pred, C.ValueKey_8eb, new O._CallGraphViewState__buildFromTable_closure(), this.get$_selectMainNode(), _null, _null, _null, _null, t1, C.SortDirection_1, type$.legacy_CallGraphNode);
    },
    _buildToTable$0: function() {
      var _null = null,
        t1 = this._toColumn;
      return S.FlatTable$(_null, false, H._setArrayType([t1], type$.JSArray_legacy_ColumnData_legacy_CallGraphNode), this.selectedNode.succ, C.ValueKey_6ch, new O._CallGraphViewState__buildToTable_closure(), this.get$_selectMainNode(), _null, _null, _null, _null, t1, C.SortDirection_1, type$.legacy_CallGraphNode);
    },
    _selectMainNode$1: function(node) {
      this.setState$1(new O._CallGraphViewState__selectMainNode_closure(this, node));
    }
  };
  O._CallGraphViewState_build_closure.prototype = {
    call$2: function(context, constraints) {
      var t5, _null = null,
        t1 = this.$this,
        t2 = t1._buildFromTable$0(),
        t3 = constraints.maxHeight,
        t4 = type$.JSArray_legacy_Widget;
      t3 = T.Row$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, t2, _null), M.Container$(_null, _null, C.Clip_0, K.ThemeDataExtension_get_titleSolidBackgroundColor(K.Theme_of(context)), _null, _null, _null, t3, _null, _null, _null, _null, _null, 4), new T.Flexible(1, C.FlexFit_1, t1._buildToTable$0(), _null)], t4), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null);
      t2 = constraints.maxWidth;
      t5 = J.toString$0$(t1.selectedNode.data);
      return T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([t3, T.Positioned$(_null, T.Row$(H._setArrayType([C.Padding_ClQ, S.Tooltip$(M.Container$(_null, L.Text$(O.CallGraphNodeDisplay_get_display(t1.selectedNode), _null, _null, C.TextOverflow_2, _null, _null, _null, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_4_4_4, _null, _null, _null), _null, t5, _null, _null, C.Duration_500000), C.Padding_ClQ], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null), _null, _null, _null, _null, 0, t2)], t4), C.Clip_1, C.StackFit_0, _null, _null);
    },
    $signature: 115
  };
  O._CallGraphViewState__buildFromTable_closure.prototype = {
    call$1: function(node) {
      return new D.ValueKey(node, type$.ValueKey_legacy_CallGraphNode);
    },
    $signature: 293
  };
  O._CallGraphViewState__buildToTable_closure.prototype = {
    call$1: function(node) {
      return new D.ValueKey(node, type$.ValueKey_legacy_CallGraphNode);
    },
    $signature: 293
  };
  O._CallGraphViewState__selectMainNode_closure.prototype = {
    call$0: function() {
      this.$this.selectedNode = this.node;
    },
    $signature: 1
  };
  O.FromColumn.prototype = {
    getValue$1: function(dataObject) {
      return O.CallGraphNodeDisplay_get_display(dataObject);
    }
  };
  O.ToColumn.prototype = {
    get$alignment: function() {
      return C.ColumnAlignment_1;
    },
    getValue$1: function(dataObject) {
      return O.CallGraphNodeDisplay_get_display(dataObject);
    }
  };
  O.DominatorTree.prototype = {
    build$1: function(_, context) {
      var t1, t2;
      this._expandToSelected$0();
      t1 = H._setArrayType([this.dominatorTreeRoot], type$.JSArray_legacy_DominatorTreeNode);
      t2 = this._packageColumn;
      return S.TreeTable$(true, H._setArrayType([t2], type$.JSArray_legacy_ColumnData_legacy_DominatorTreeNode), t1, C.ValueKey_Ak1, new O.DominatorTree_build_closure(), null, t2, C.SortDirection_1, t2, type$.legacy_DominatorTreeNode);
    },
    _expandToSelected$0: function() {
      var selected,
        t1 = this.dominatorTreeRoot;
      t1.toString;
      selected = X.breadthFirstTraversal(t1, null, new O.DominatorTree__expandToSelected_closure(this), H._instanceType(t1)._eval$1("TreeNode.T*"));
      for (; selected != null;) {
        selected._isExpanded = true;
        selected = selected.parent;
      }
    }
  };
  O.DominatorTree_build_closure.prototype = {
    call$1: function(node) {
      return new S.PageStorageKey("" + node.callGraphNode.id, type$.PageStorageKey_legacy_String);
    },
    $signature: 1099
  };
  O.DominatorTree__expandToSelected_closure.prototype = {
    call$1: function(node) {
      return node.callGraphNode.id === this.$this.selectedNode.id;
    },
    $signature: 1116
  };
  O._PackageColumn.prototype = {
    getValue$1: function(dataObject) {
      return O.CallGraphNodeDisplay_get_display(dataObject.callGraphNode);
    }
  };
  O.DominatorTreeNode.prototype = {};
  K.Disposer.prototype = {
    autoDispose$1: function(subscription) {
      this._auto_dispose$_subscriptions.push(subscription);
    },
    addAutoDisposeListener$2: function(listenable, listener) {
      if (listenable == null || false)
        return;
      this._listenables.push(listenable);
      this._auto_dispose$_listeners.push(listener);
      listenable.addListener$1(0, listener);
    },
    cancel$0: function(_) {
      var t1, t2, _i, i;
      for (t1 = this._auto_dispose$_subscriptions, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].cancel$0(0);
      C.JSArray_methods.set$length(t1, 0);
      for (t1 = this._listenables, t2 = this._auto_dispose$_listeners, i = 0; i < t1.length; ++i)
        t1[i].removeListener$1(0, t2[i]);
      C.JSArray_methods.set$length(t1, 0);
      C.JSArray_methods.set$length(t2, 0);
    }
  };
  K.DisposableController.prototype = {
    dispose$0: function(_) {
    }
  };
  K.AutoDisposeControllerMixin.prototype = {};
  N.AutoDisposeMixin.prototype = {
    _refresh$0: function() {
      return this.setState$1(new N.AutoDisposeMixin__refresh_closure());
    },
    addAutoDisposeListener$2: function(listenable, listener) {
      var t1 = listener == null ? this.get$_refresh() : listener;
      this.AutoDisposeMixin__delegate.addAutoDisposeListener$2(listenable, t1);
    },
    addAutoDisposeListener$1: function(listenable) {
      return this.addAutoDisposeListener$2(listenable, null);
    }
  };
  N.AutoDisposeMixin__refresh_closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  O.BannerMessagesController.prototype = {
    addMessage$1: function(message) {
      $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new O.BannerMessagesController_addMessage_closure(this, message));
    },
    removeMessage$2$dismiss: function(message, dismiss) {
      $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new O.BannerMessagesController_removeMessage_closure(this, dismiss, message));
    },
    removeMessage$1: function(message) {
      return this.removeMessage$2$dismiss(message, false);
    },
    removeMessageByKey$2: function(key, screenId) {
      var messageWithKey = J.firstWhere$2$orElse$ax(this._messagesForScreen$1(screenId)._value, new O.BannerMessagesController_removeMessageByKey_closure(key), new O.BannerMessagesController_removeMessageByKey_closure0());
      if (messageWithKey != null)
        this.removeMessage$1(messageWithKey);
    },
    isMessageVisible$1: function(message) {
      var t1 = J.where$1$ax(this._messagesForScreen$1(message.screenId)._value, new O.BannerMessagesController_isMessageVisible_closure(message));
      return !t1.get$isEmpty(t1);
    },
    _messagesForScreen$1: function(screenId) {
      return this._messages.putIfAbsent$2(0, screenId, new O.BannerMessagesController__messagesForScreen_closure());
    }
  };
  O.BannerMessagesController_addMessage_closure.prototype = {
    call$1: function(_) {
      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._value, t2);
      messages.notifyListeners$0();
    },
    $signature: 51
  };
  O.BannerMessagesController_removeMessage_closure.prototype = {
    call$1: function(_) {
      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._value, t1);
      messages.notifyListeners$0();
    },
    $signature: 51
  };
  O.BannerMessagesController_removeMessageByKey_closure.prototype = {
    call$1: function(m) {
      return J.$eq$(m.key, this.key);
    },
    $signature: 325
  };
  O.BannerMessagesController_removeMessageByKey_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  O.BannerMessagesController_isMessageVisible_closure.prototype = {
    call$1: function(m) {
      return J.$eq$(m.key, this.message.key);
    },
    $signature: 325
  };
  O.BannerMessagesController__messagesForScreen_closure.prototype = {
    call$0: function() {
      return new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_BannerMessage), P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_List_legacy_BannerMessage);
    },
    $signature: 1160
  };
  O.BannerMessages.prototype = {
    build$1: function(_, context) {
      var controller = Y.Provider_of(context, true, type$.legacy_BannerMessagesController),
        messagesForScreen = controller == null ? null : controller._messagesForScreen$1(this.screen.screenId),
        t1 = H._setArrayType([], type$.JSArray_legacy_Widget);
      if (messagesForScreen != null)
        t1.push(N.ValueListenableBuilder$(new O.BannerMessages_build_closure(), messagesForScreen, type$.legacy_List_legacy_BannerMessage));
      t1.push(T.Expanded$(this.screen.build$1(0, context), 1));
      return T.Column$(t1, C.CrossAxisAlignment_2, null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    }
  };
  O.BannerMessages_build_closure.prototype = {
    call$3: function(context, messages, _) {
      return T.Column$(messages, C.CrossAxisAlignment_2, null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    $signature: 1256
  };
  O.BannerMessage.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.backgroundColor,
        t2 = _this.foregroundColor,
        t3 = type$.JSArray_legacy_Widget;
      return V.Card$(new T.Padding(C.EdgeInsets_16_16_16_16, T.Column$(H._setArrayType([T.Row$(H._setArrayType([L.Text$(_this.headerText, _null, _null, _null, _null, _null, K.Theme_of(context).textTheme.bodyText1.copyWith$1$color(t2), _null, _null, _null), C.SizedBox_16_null_null_null, T.Expanded$(T.RichText$(_null, _null, C.TextOverflow_0, true, _null, Q.TextSpan$(_this.textSpans, _null, _null, _null, _null), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0), 1), C.SizedBox_16_null_null_null, new U.CircularIconButton(C.IconData_57706_MaterialIcons_false, new O.BannerMessage_build_closure(_this, context), t1, t2, _null)], t3), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null)], t3), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), _null), t1, _null, C.EdgeInsets_0_0_0_6, _null);
    }
  };
  O.BannerMessage_build_closure.prototype = {
    call$0: function() {
      return Y.Provider_of(this.context, false, type$.legacy_BannerMessagesController).removeMessage$2$dismiss(this.$this, true);
    },
    $signature: 0
  };
  O._BannerError.prototype = {};
  O._BannerWarning.prototype = {};
  O.DebugModePerformanceMessage.prototype = {
    build$1: function(_, context) {
      var t1 = this.screenId,
        t2 = "DebugModePerformanceMessage - " + t1,
        t3 = N.TapGestureRecognizer$(null);
      t3.onTap = new O.DebugModePerformanceMessage_build_closure(context);
      return O._BannerError$(new D.ValueKey(t2, type$.ValueKey_String), t1, H._setArrayType([C.TextSpan_mQl, Q.TextSpan$(null, t3, null, C.TextStyle_6Xe, string$.relaun), C.TextSpan_EAA], type$.JSArray_legacy_TextSpan));
    }
  };
  O.DebugModePerformanceMessage_build_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(B.launchUrl(string$.https_ft, $async$self.context), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  O.ShaderJankMessage.prototype = {
    build$1: function(_, context) {
      var t4, _null = null,
        t1 = this.screenId,
        t2 = "ShaderJankMessage - " + t1,
        t3 = this.jankyFramesCount;
      t3 = Q.TextSpan$(_null, _null, _null, C.TextStyle_mR1, "Shader compilation jank detected. " + t3 + " " + B.pluralize("frame", t3) + " janked with a total of " + B.msText(this.jankDuration, 1) + " spent in shader compilation.\n\nTo pre-compile shaders, see the instructions at ");
      t4 = N.TapGestureRecognizer$(_null);
      t4.onTap = new O.ShaderJankMessage_build_closure(context);
      return O._BannerError$(new D.ValueKey(t2, type$.ValueKey_String), t1, H._setArrayType([t3, Q.TextSpan$(_null, t4, _null, C.TextStyle_6Xe, string$.https_fp), C.TextSpan_EAA], type$.JSArray_legacy_TextSpan));
    }
  };
  O.ShaderJankMessage_build_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(B.launchUrl(string$.https_fp, $async$self.context), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  O.HighProfileGranularityMessage.prototype = {
    build$1: function(_, context) {
      var t1 = N.TapGestureRecognizer$(null);
      t1.onTap = new O.HighProfileGranularityMessage_build_closure(context);
      return O._BannerWarning$(this.key, this.screenId, H._setArrayType([C.TextSpan_7T6, Q.TextSpan$(null, t1, null, C.TextStyle_6Xe, "documentation"), C.TextSpan_Qq8], type$.JSArray_legacy_TextSpan));
    }
  };
  O.HighProfileGranularityMessage_build_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(B.launchUrl("https://flutter.dev/docs/development/tools/devtools/performance#profile-granularity", $async$self.context), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  O.DebugModeMemoryMessage.prototype = {
    build$1: function(_, context) {
      var t1 = this.screenId,
        t2 = "DebugModeMemoryMessage - " + t1,
        t3 = N.TapGestureRecognizer$(null);
      t3.onTap = new O.DebugModeMemoryMessage_build_closure(context);
      return O._BannerWarning$(new D.ValueKey(t2, type$.ValueKey_String), t1, H._setArrayType([C.TextSpan_omC, Q.TextSpan$(null, t3, null, C.TextStyle_6Xe, string$.relaun), C.TextSpan_vwU], type$.JSArray_legacy_TextSpan));
    }
  };
  O.DebugModeMemoryMessage_build_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(B.launchUrl(string$.https_ft, $async$self.context), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  Z.BlockingActionMixin.prototype = {
    blockWhileInProgress$1: function(callback) {
      return this.blockWhileInProgress$body$BlockingActionMixin(callback);
    },
    blockWhileInProgress$body$BlockingActionMixin: function(callback) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this;
      var $async$blockWhileInProgress$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.setState$1(new Z.BlockingActionMixin_blockWhileInProgress_closure($async$self));
              $async$handler = 2;
              $async$goto = 5;
              return P._asyncAwait(P.Future_any(H._setArrayType([callback.call$0(), $async$self.BlockingActionMixin__disposed.future], type$.JSArray_legacy_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 === 0)
                $async$self.setState$1(new Z.BlockingActionMixin_blockWhileInProgress_closure0($async$self));
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 4:
              // after finally
              // implicit return
              return P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$blockWhileInProgress$1, $async$completer);
    }
  };
  Z.BlockingActionMixin_blockWhileInProgress_closure.prototype = {
    call$0: function() {
      this.$this.BlockingActionMixin__actionInProgress = true;
    },
    $signature: 1
  };
  Z.BlockingActionMixin_blockWhileInProgress_closure0.prototype = {
    call$0: function() {
      this.$this.BlockingActionMixin__actionInProgress = false;
    },
    $signature: 1
  };
  U.Chart.prototype = {
    createState$0: function() {
      return new U.ChartState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  U.ChartState.prototype = {
    _initSetup$0: function() {
      this.addAutoDisposeListener$2(this._widget.controller._traceNotifier, new U.ChartState__initSetup_closure(this));
    },
    initState$0: function() {
      this.super$State$initState();
      this._initSetup$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      if (oldWidget.controller != this._widget.controller)
        this._initSetup$0();
    },
    build$1: function(_, context) {
      return new T.RepaintBoundary(new A.LayoutBuilder(new U.ChartState_build_closure(this, K.Theme_of(context).colorScheme), null), null);
    }
  };
  U.ChartState__initSetup_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new U.ChartState__initSetup__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  U.ChartState__initSetup__closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._widget.controller;
      if (t2._zoomDuration == null)
        t2.computeZoomRatio$0();
      t1._widget.controller.computeChartArea$0();
    },
    $signature: 1
  };
  U.ChartState_build_closure.prototype = {
    call$2: function(_, constraints) {
      var _null = null,
        t1 = this.$this,
        t2 = constraints.maxWidth;
      return D.GestureDetector$(_null, M.Container$(_null, T.CustomPaint$(_null, _null, _null, new U.ChartPainter(t1._widget.controller, this.colorScheme, _null), C.Size_0_0), C.Clip_0, _null, _null, _null, _null, 1 / 0, _null, _null, _null, _null, _null, t2), C.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new U.ChartState_build__closure(t1), _null, _null, _null, _null);
    },
    $signature: 1159
  };
  U.ChartState_build__closure.prototype = {
    call$1: function(details) {
      var xLocalPosition = details.localPosition._dx,
        t1 = this.$this,
        timestampIndex = t1._widget.controller.xCoordToTimestampIndex$1(xLocalPosition),
        t2 = t1._widget.controller,
        timestamp = t2._chart_controller$_timestamps[t2.xCoordToTimestampIndex$1(xLocalPosition)];
      t1._widget.controller.tapLocation.set$value(0, new D.TapLocation(details, timestamp, timestampIndex));
    },
    $signature: 189
  };
  U.PointAndBase.prototype = {};
  U.ChartPainter.prototype = {
    paint$2: function(canvas, size) {
      var traces, t3, tracesDataIndex, t4, previousTracesData, currentTracesData, xTickIndex, endVisibleIndex, indexOffset, yTranslation, _box_0, currentTimestamp, tracesLength, leftSideSide, topChartSide, index, traceDataIndex, trace, traceData, t5, t6, yValue, xTimestamp, xCanvasCoord, tapLocation, t7, tp, _this = this, _box_1 = {},
        t1 = Date.now(),
        t2 = H._detectRenderer(),
        axis = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      axis.set$strokeWidth(2);
      axis.set$color(0, C.MaterialColor_Map_HFpTk_4288585374);
      t2 = _this.chartController;
      if (!J.$eq$(size, t2.size)) {
        t2.size = size;
        t2.computeChartArea$0();
      }
      U.drawTranslate(canvas, t2.xCanvasChart, t2.yCanvasChart, new U.ChartPainter_paint_closure(_this, canvas, size, axis));
      traces = t2.traces;
      t3 = type$.legacy_int;
      tracesDataIndex = P.List_List$generate(traces.length, new U.ChartPainter_paint_closure0(traces), true, t3);
      t4 = type$.legacy_PointAndBase;
      previousTracesData = P.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
      currentTracesData = P.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
      _box_1.visibleYMax = 0;
      t4 = t2._chart_controller$_timestamps;
      xTickIndex = t4.length;
      t3 = t2.visibleTicks;
      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 (!C.JSArray_methods.any$1(tracesDataIndex, new U.ChartPainter_paint_closure1()))
          continue;
        canvas.save$0(0);
        leftSideSide = t2.xCanvasChart;
        topChartSide = t2.yCanvasChart;
        canvas.clipRect$2$clipOp(0, new P.Rect(leftSideSide, topChartSide, t2.canvasChartWidth + leftSideSide - t2.xPaddingRight, topChartSide + t2.canvasChartHeight), C.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];
            if (trace.stacked) {
              t5 = _box_0.stackedY;
              t6 = traceData.y;
              yValue = t5 + t6;
              t5 = t6;
            } else {
              yValue = traceData.y;
              t5 = yValue;
            }
            xTimestamp = traceData.timestamp;
            xCanvasCoord = t2.timestampToXCanvasCoord$1(xTimestamp);
            if (currentTimestamp == xTimestamp) {
              canvas.save$0(0);
              canvas.translate$2(0, indexOffset, yTranslation);
              new U.ChartPainter_paint_closure2(_box_1, _box_0, _this, xCanvasCoord, yValue, traceData, currentTracesData, index, trace, previousTracesData, tracesDataIndex).call$1(canvas);
              canvas.restore$0(0);
              tapLocation = t3._value;
              t6 = tapLocation == null;
              if ((t6 ? null : tapLocation.index) !== xTickIndex) {
                t7 = (t6 ? null : tapLocation.timestamp) == currentTimestamp;
                t6 = t7;
              } else
                t6 = true;
              if (t6) {
                canvas.save$0(0);
                canvas.translate$2(0, indexOffset, yTranslation);
                new U.ChartPainter_paint_closure3(_this, canvas, xCanvasCoord).call$1(canvas);
                canvas.restore$0(0);
              }
            }
            if (trace.stacked)
              _box_0.stackedY = _box_0.stackedY + t5;
          }
          previousTracesData.addAll$1(0, currentTracesData);
          currentTracesData.clear$0(0);
        }
        canvas.restore$0(0);
      }
      t2.computeChartArea$0();
      t2.buildLabelTimestamps$0();
      if (t2.displayXAxis || t2.displayXLabels) {
        U.drawTranslate(canvas, indexOffset, t2.yCanvasChart + t2.canvasChartHeight + 1, new U.ChartPainter_paint_closure4(_this, axis));
        U.drawTranslate(canvas, t2.xCanvasChart, yTranslation, new U.ChartPainter_paint_closure5(_box_1, _this, axis));
      }
      tp = _this.createText$2(t2._chart_controller$_title, 1.5);
      t3 = size._dx;
      t4 = tp.get$width(tp);
      t5 = tp._text_painter$_paragraph;
      t5.toString;
      canvas.drawParagraph$2(0, t5, new P.Offset(t3 / 2 - t4 / 2, 0));
      C.JSInt_methods._tdivFast$1(P.Duration$(0, Date.now() - new P.DateTime(t1, false)._core$_value)._duration, 1000);
      t2.dirty = false;
    },
    drawYTicks$3: function(canvas, chartController, axis) {
      var labelIndex, t1, unit, yCoord, labelValue, unitExponent, label, labelName, tp, t2, t3, t4,
        yScale = chartController.yScale;
      for (labelIndex = yScale.labelTicks; labelIndex >= 0; --labelIndex) {
        t1 = yScale.labelUnitExponent;
        H.checkNum(t1);
        unit = C.JSNumber_methods.floor$0(Math.pow(10, t1));
        t1 = chartController.yScale._tickSpacing;
        t1 = labelIndex * unit / t1;
        t1 = t1 < 0 ? Math.ceil(t1) : Math.floor(t1);
        yCoord = -t1;
        labelValue = C.JSNumber_methods.floor$0(labelIndex);
        unitExponent = J.floor$0$n(yScale.labelUnitExponent);
        switch (unitExponent) {
          case 0:
          case 1:
          case 2:
          case 3:
            labelValue *= Math.pow(10, unitExponent);
            unit = "";
            break;
          case 4:
          case 5:
            labelValue *= Math.pow(10, unitExponent - 4);
            unit = "K";
            break;
          case 6:
          case 7:
          case 8:
            labelValue *= Math.pow(10, unitExponent - 6);
            unit = "M";
            break;
          case 9:
          case 10:
          case 11:
            labelValue *= Math.pow(10, unitExponent - 9);
            unit = "B";
            break;
          case 12:
          case 13:
          case 14:
            labelValue *= Math.pow(10, unitExponent - 12);
            unit = "T";
            break;
          default:
            unit = "e+" + unitExponent;
        }
        label = C.JSInt_methods.toInt$0(labelValue);
        labelName = label === 0 ? "0" : "" + label + unit;
        t1 = chartController.xCanvasChart;
        tp = this.createText$2(labelName, 1);
        t2 = tp._textWidthBasis;
        t3 = tp._text_painter$_paragraph;
        t2 = t2 === C.TextWidthBasis_1 ? t3.get$longestLine() : t3.get$width(t3);
        t2.toString;
        t2 = Math.ceil(t2);
        t3 = tp._text_painter$_paragraph;
        t3 = t3.get$height(t3);
        t3.toString;
        t3 = Math.ceil(t3);
        t4 = tp._text_painter$_paragraph;
        t4.toString;
        canvas.drawParagraph$2(0, t4, new P.Offset(-t1 / 2 + -t2 / 2, yCoord - t3 / 2));
        canvas.drawLine$3(0, new P.Offset(0, yCoord), new P.Offset(-6, yCoord), axis);
      }
    },
    createText$2: function(textValue, scale) {
      var _null = null,
        tp = U.TextPainter$(_null, _null, _null, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, C.Map_HFpTk.$index(0, 600), _null, _null, _null, _null, _null, _null, _null, _null, 10, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), textValue), C.TextAlign_1, C.TextDirection_1, _null, scale, C.TextWidthBasis_0);
      tp.layout$0(0);
      return tp;
    },
    drawSymbol$6: function(canvas, characteristics, x, y, aggregateEvents, symbolPathToDraw) {
      var secondStyle, firstStyle, t2, paintFirst, paintSecond, _null = null,
        t1 = characteristics.symbol;
      switch (t1) {
        case C.ChartSymbol_1:
        case C.ChartSymbol_4:
        case C.ChartSymbol_6:
        case C.ChartSymbol_8:
          secondStyle = _null;
          firstStyle = C.PaintingStyle_0;
          break;
        case C.ChartSymbol_0:
        case C.ChartSymbol_3:
        case C.ChartSymbol_5:
        case C.ChartSymbol_7:
          secondStyle = _null;
          firstStyle = C.PaintingStyle_1;
          break;
        case C.ChartSymbol_2:
          firstStyle = C.PaintingStyle_1;
          secondStyle = C.PaintingStyle_0;
          break;
        case C.ChartSymbol_9:
          secondStyle = _null;
          firstStyle = secondStyle;
          break;
        default:
          secondStyle = _null;
          firstStyle = secondStyle;
      }
      t2 = H._detectRenderer();
      paintFirst = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paintFirst.set$style(0, firstStyle);
      paintFirst.set$strokeWidth(characteristics.strokeWidth);
      paintFirst.set$color(0, aggregateEvents ? characteristics.colorAggregate : characteristics.color);
      switch (t1) {
        case C.ChartSymbol_9:
          this.drawLine$5(0, canvas, characteristics, x, y, this.chartController._tickWidth - 4);
          break;
        case C.ChartSymbol_1:
        case C.ChartSymbol_0:
          canvas.drawCircle$3(0, new P.Offset(x, y), characteristics.diameter, paintFirst);
          break;
        case C.ChartSymbol_2:
          canvas.drawCircle$3(0, new P.Offset(x, y), characteristics.diameter, paintFirst);
          t1 = H._detectRenderer();
          paintSecond = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
          paintSecond.set$style(0, secondStyle);
          paintSecond.set$strokeWidth(0);
          paintSecond.set$color(0, aggregateEvents ? characteristics.colorAggregate : characteristics.concentricCenterColor);
          canvas.drawCircle$3(0, new P.Offset(x, y), characteristics.concentricCenterDiameter, paintSecond);
          break;
        case C.ChartSymbol_4:
        case C.ChartSymbol_6:
        case C.ChartSymbol_8:
        case C.ChartSymbol_3:
        case C.ChartSymbol_5:
        case C.ChartSymbol_7:
          canvas.drawPath$2(0, symbolPathToDraw.shift$1(new P.Offset(x - characteristics.width / 2, y - characteristics.height / 2)), paintFirst);
          break;
        default:
          B.log("Unknown symbol " + t1.toString$0(0), C.LogLevel_2);
      }
    },
    drawLine$5: function(_, canvas, characteristics, x, y, tickWidth) {
      var t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$style(0, C.PaintingStyle_1);
      paint.set$strokeWidth(characteristics.strokeWidth);
      paint.set$color(0, characteristics.color);
      canvas.drawLine$3(0, new P.Offset(x, y), new P.Offset(x + tickWidth, y), paint);
    },
    shouldRepaint$1: function(oldDelegate) {
      return this.chartController.dirty;
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  U.ChartPainter_paint_closure.prototype = {
    call$1: function(canavas) {
      var t1 = this.canvas,
        t2 = this.axis,
        t3 = this.$this.chartController,
        t4 = t3.displayXAxis,
        t5 = t3.displayTopLine,
        chartWidthPosition = t3.canvasChartWidth - t3.xPaddingRight,
        chartHeight = t3.canvasChartHeight;
      if (t5)
        t1.drawLine$3(0, C.Offset_0_0, new P.Offset(chartWidthPosition, 0), t2);
      t1.drawLine$3(0, C.Offset_0_0, new P.Offset(0, chartHeight), t2);
      if (t4)
        t1.drawLine$3(0, new P.Offset(0, chartHeight), new P.Offset(chartWidthPosition, chartHeight), t2);
    },
    $signature: 79
  };
  U.ChartPainter_paint_closure0.prototype = {
    call$1: function(index) {
      var $length = this.traces[index]._chart_trace$_data.length;
      return $length > 0 ? $length - 1 : -1;
    },
    $signature: 1132
  };
  U.ChartPainter_paint_closure1.prototype = {
    call$1: function(element) {
      return element >= 0;
    },
    $signature: 190
  };
  U.ChartPainter_paint_closure2.prototype = {
    call$1: function(canvas) {
      var yCoord, hasMultipleExtensionEvents, t5, t6, t7, t8, t9, paint, t10, fillArea, _this = this,
        xCoord = _this.xCanvasCoord,
        t1 = _this.$this,
        t2 = t1.chartController,
        t3 = _this.yValue,
        t4 = t2.yScale._tickSpacing;
      t4 = t3 / t4;
      t4 = t4 < 0 ? Math.ceil(t4) : Math.floor(t4);
      yCoord = -t4;
      t4 = _this.traceData;
      hasMultipleExtensionEvents = t4 instanceof F.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;
      t5 /= t6;
      t5 = t5 < 0 ? Math.ceil(t5) : Math.floor(t5);
      t3.$indexSet(0, t4, new U.PointAndBase(xCoord, yCoord, -t5));
      t5 = _this.trace;
      t6 = t5._chartType;
      if (t6 === C.ChartType_0)
        t1.drawSymbol$6(canvas, t5.characteristics, xCoord, yCoord, hasMultipleExtensionEvents, t5.get$symbolPath());
      else if (t6 === C.ChartType_1) {
        t6 = t5.characteristics;
        if (t6.symbol === C.ChartSymbol_9)
          t1.drawLine$5(0, canvas, t6, xCoord, yCoord, t2._tickWidth - 4);
        else {
          t2 = _this.previousTracesData;
          if (t2.$index(0, t4) != null) {
            t7 = t2.$index(0, t4).x;
            t8 = t2.$index(0, t4).y;
            t9 = H._detectRenderer();
            paint = t9 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
            paint.set$style(0, C.PaintingStyle_1);
            t9 = t6.strokeWidth;
            paint.set$strokeWidth(t9);
            t10 = t6.color;
            paint.set$color(0, t10);
            canvas.drawLine$3(0, new P.Offset(xCoord, yCoord), new P.Offset(t7, t8), paint);
            t1.drawSymbol$6(canvas, t6, xCoord, yCoord, hasMultipleExtensionEvents, t5.get$symbolPath());
            t5 = t2.$index(0, t4).x;
            t6 = t2.$index(0, t4).y;
            t2 = t2.$index(0, t4).base;
            t1 = t3.$index(0, t4).x;
            t8 = t3.$index(0, t4).y;
            t3 = t3.$index(0, t4).base;
            t7 = H._detectRenderer();
            paint = t7 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
            paint.set$style(0, C.PaintingStyle_0);
            paint.set$strokeWidth(t9);
            paint.set$color(0, P.Color$fromARGB(140, t10.get$value(t10) >>> 16 & 255, t10.get$value(t10) >>> 8 & 255, t10.get$value(t10) & 255));
            fillArea = P.Path_Path();
            fillArea.moveTo$2(0, t5, t2);
            fillArea.lineTo$2(0, t5, t6);
            fillArea.lineTo$2(0, t1, t8);
            fillArea.lineTo$2(0, t1, t3);
            fillArea.lineTo$2(0, t5, t2);
            fillArea.close$0(0);
            canvas.drawPath$2(0, 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: 79
  };
  U.ChartPainter_paint_closure3.prototype = {
    call$1: function(canavas) {
      var t4, paint,
        t1 = this.$this,
        t2 = this.xCanvasCoord,
        t3 = t1.chartController;
      t3.toString;
      t4 = H._detectRenderer();
      paint = t4 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$strokeWidth(2);
      paint.set$color(0, t1.colorScheme.brightness === C.Brightness_1 ? C.Map_JNQQJ.$index(0, 600) : C.MaterialAccentColor_Map_iTwHq_4294967040);
      this.canvas.drawLine$3(0, new P.Offset(t2, 0), new P.Offset(t2, -t3.canvasChartHeight), paint);
    },
    $signature: 79
  };
  U.ChartPainter_paint_closure4.prototype = {
    call$1: function(canvas) {
      var t1, t2, t3, t4, t5, _i, timestamp, xCoord, timestampDT, tp, t6, t7, t8;
      for (t1 = this.$this, t2 = t1.chartController, t3 = t2.labelTimestamps, t4 = t3.length, t5 = this.axis, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
        timestamp = t3[_i];
        xCoord = t2.timestampToXCanvasCoord$1(timestamp);
        canvas.drawLine$3(0, new P.Offset(xCoord, 0), new P.Offset(xCoord, 2), t5);
        timestampDT = new P.DateTime(timestamp, false);
        timestampDT.DateTime$_withValue$2$isUtc(timestamp, false);
        tp = t1.createText$2(A.DateFormat$Hms().format$1(timestampDT), 1);
        t6 = tp._textWidthBasis;
        t7 = tp._text_painter$_paragraph;
        t6 = t6 === C.TextWidthBasis_1 ? t7.get$longestLine() : t7.get$width(t7);
        t6.toString;
        t6 = C.JSNumber_methods._tdivFast$1(Math.ceil(t6), 2);
        t7 = tp._text_painter$_paragraph;
        t7 = t7.get$height(t7);
        t7.toString;
        t7 = C.JSNumber_methods._tdivFast$1(Math.ceil(t7), 2);
        t8 = tp._text_painter$_paragraph;
        t8.toString;
        canvas.drawParagraph$2(0, t8, new P.Offset(xCoord - t6, 15 - t7));
      }
    },
    $signature: 79
  };
  U.ChartPainter_paint_closure5.prototype = {
    call$1: function(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: 79
  };
  U._ChartState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  D.ChartController.prototype = {
    ChartController$6$displayTopLine$displayXAxis$displayXLabels$displayYLabels$name$sharedLabelimestamps: function(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: function(value) {
      var _this = this;
      if (value > _this._yMaxValue) {
        _this._yMaxValue = value;
        _this.yScale = F.AxisScale$(0, value, _this.canvasChartHeight);
      }
    },
    computeZoomRatio$0: function() {
      var _this = this;
      if (_this.size == null)
        return;
      if (_this._zoomDuration == null)
        _this._tickWidth = _this.canvasChartWidth / _this._chart_controller$_timestamps.length;
    },
    set$zoomDuration: function(duration) {
      var t1, t2, firstDT, lastDT, startOfLastNMinutes, $length, _this = this;
      if (duration != null) {
        t1 = C.JSInt_methods._tdivFast$1(duration._duration, 60000000);
        if (t1 === 0)
          _this._tickWidth = 10;
        else {
          t2 = _this._chart_controller$_timestamps;
          if (t2.length !== 0 && t1 > 0) {
            firstDT = P.DateTime$fromMillisecondsSinceEpoch(C.JSArray_methods.get$first(t2), false);
            lastDT = P.DateTime$fromMillisecondsSinceEpoch(C.JSArray_methods.get$last(t2), false);
            if (C.JSInt_methods._tdivFast$1(P.Duration$(0, lastDT._core$_value - firstDT._core$_value)._duration, 60000000) >= t1) {
              startOfLastNMinutes = new H.ReversedListIterable(t2, H._arrayInstanceType(t2)._eval$1("ReversedListIterable<1>")).firstWhere$2$orElse(0, new D.ChartController_zoomDuration_closure(lastDT, duration), new D.ChartController_zoomDuration_closure0());
              t1 = t2.length;
              t2 = C.JSArray_methods.indexOf$1(t2, startOfLastNMinutes);
              _this._tickWidth = _this.canvasChartWidth / (t1 - t2);
            } else {
              $length = t2.length;
              if ($length > 1) {
                t2 = C.JSInt_methods._tdivFast$1(P.Duration$(0, P.DateTime$fromMillisecondsSinceEpoch(C.JSArray_methods.get$last(t2), false)._core$_value - P.DateTime$fromMillisecondsSinceEpoch(t2[$length - 2], false)._core$_value)._duration, 1000);
                _this._tickWidth = _this.canvasChartWidth / (60000 / t2 * t1);
              }
            }
          }
        }
      }
      _this._zoomDuration = duration;
      _this.computeZoomRatio$0();
      _this.computeChartArea$0();
      _this.computeLabelInterval$0();
      _this.dirty = true;
    },
    computeLabelInterval$0: function() {
      var firstDT, totalHours, totalMinutes, rangeInMinutes, _this = this,
        t1 = _this._zoomDuration,
        t2 = t1 == null;
      if (t2 && _this._chart_controller$_timestamps.length !== 0) {
        t1 = _this._chart_controller$_timestamps;
        firstDT = P.DateTime$fromMillisecondsSinceEpoch(C.JSArray_methods.get$first(t1), false);
        t1 = P.Duration$(0, P.DateTime$fromMillisecondsSinceEpoch(C.JSArray_methods.get$last(t1), false)._core$_value - firstDT._core$_value)._duration;
        totalHours = C.JSInt_methods._tdivFast$1(t1, 3600000000);
        if (totalHours === 0) {
          totalMinutes = C.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 : C.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: function(refresh) {
      var leftMostTimestamp, t1, lastTimestamp, lastLabelDT, index, currentTimestamp, currentDT, t2, leftEdge, rightLabelTimestamp, rightMostLableDT, nSeconds, t3, foundTimestamp, startIndex, _this = this, _1000000 = 1000000;
      if (_this._labelsShared || _this._chart_controller$_timestamps.length === 0)
        return;
      if (refresh) {
        C.JSArray_methods.set$length(_this.labelTimestamps, 0);
        leftMostTimestamp = _this.get$leftMostVisibleTimestampIndex();
        t1 = _this._chart_controller$_timestamps;
        lastTimestamp = t1[leftMostTimestamp];
        _this.labelTimestamps.push(lastTimestamp);
        lastLabelDT = P.DateTime$fromMillisecondsSinceEpoch(lastTimestamp, false);
        for (index = leftMostTimestamp; index < t1.length; ++index) {
          currentTimestamp = t1[index];
          currentDT = new P.DateTime(currentTimestamp, false);
          currentDT.DateTime$_withValue$2$isUtc(currentTimestamp, false);
          if (C.JSInt_methods._tdivFast$1(1000 * (currentTimestamp - lastLabelDT._core$_value), _1000000) >= _this.labelInterval) {
            _this.labelTimestamps.push(currentTimestamp);
            lastLabelDT = currentDT;
          }
        }
        return;
      }
      t1 = _this.labelTimestamps;
      if (t1.length === 0) {
        t2 = _this._chart_controller$_timestamps;
        t1.push(C.JSArray_methods.get$last(t2));
        t1 = t2;
      } else {
        leftEdge = _this.get$leftMostVisibleTimestampIndex();
        t1 = _this._chart_controller$_timestamps;
        if (C.JSArray_methods.get$first(_this.labelTimestamps) < t1[leftEdge])
          C.JSArray_methods.removeAt$1(_this.labelTimestamps, 0);
      }
      t2 = _this.labelTimestamps;
      if (t2.length === 0)
        return;
      rightLabelTimestamp = C.JSArray_methods.get$last(t2);
      rightMostLableDT = P.DateTime$fromMillisecondsSinceEpoch(rightLabelTimestamp, false);
      t2 = P.DateTime$fromMillisecondsSinceEpoch(C.JSArray_methods.get$last(t1), false)._core$_value;
      nSeconds = C.JSInt_methods._tdivFast$1(P.Duration$(0, t2 - rightMostLableDT._core$_value)._duration, _1000000);
      t3 = _this.labelInterval;
      if (nSeconds >= t3) {
        if (nSeconds === t3)
          foundTimestamp = C.JSArray_methods.get$last(t1);
        else {
          startIndex = C.JSArray_methods.indexOf$1(t1, rightLabelTimestamp);
          for (index = startIndex, foundTimestamp = null; index < t1.length; ++index) {
            foundTimestamp = t1[index];
            new P.DateTime(foundTimestamp, false).DateTime$_withValue$2$isUtc(foundTimestamp, false);
            if (C.JSInt_methods._tdivFast$1(1000 * (foundTimestamp - t2), _1000000) >= _this.labelInterval)
              break;
          }
        }
        _this.labelTimestamps.push(foundTimestamp);
      }
    },
    buildLabelTimestamps$0: function() {
      return this.buildLabelTimestamps$1$refresh(false);
    },
    reset$0: function(_) {
      var t1, t2, _i, trace, _this = this;
      for (t1 = _this.traces, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        trace = t1[_i];
        C.JSArray_methods.set$length(trace._chart_trace$_data, 0);
        trace.controller.dirty = true;
      }
      C.JSArray_methods.set$length(_this._chart_controller$_timestamps, 0);
      _this.dirty = true;
      C.JSArray_methods.set$length(_this.labelTimestamps, 0);
    },
    computeChartArea$0: function() {
      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 = C.JSNumber_methods.toInt$0(width / t2);
      _this.visibleTicks = t3;
      t2 = t3 * t2;
      _this.canvasChartWidth = t2;
      _this.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)
        _this.yScale = F.AxisScale$(t1, _this._fixedMaxY, t2);
      else
        _this.yScale = F.AxisScale$(0, _this._yMaxValue, t2 - 5);
    },
    createTrace$4$name$stacked: function(chartType, characteristics, $name, stacked) {
      var maxY,
        t1 = this.traces,
        traceIndex = t1.length,
        trace = new F.Trace0(this, chartType, characteristics, H._setArrayType([], type$.JSArray_legacy_Data)),
        minY = characteristics.fixedMinY;
      if (minY == null)
        minY = 0;
      maxY = characteristics.fixedMaxY;
      F.AxisScale$(minY, maxY == null ? 0 : maxY, 30);
      trace.stacked = stacked;
      trace.name = $name;
      t1.push(trace);
      return traceIndex;
    },
    createTrace$3$name: function(chartType, characteristics, $name) {
      return this.createTrace$4$name$stacked(chartType, characteristics, $name, false);
    },
    get$leftVisibleIndex: function() {
      var t1 = this._chart_controller$_timestamps.length,
        t2 = this.visibleTicks,
        leftIndex = t1 - t2;
      if (leftIndex > 0)
        return leftIndex;
      return t2 - t1;
    },
    normalizeTimestampIndex$1: function(index) {
      var firstVisibleIndex, _this = this,
        leftMostIndex = _this.get$leftVisibleIndex(),
        t1 = _this._chart_controller$_timestamps;
      if (t1.length - _this.visibleTicks <= 0 || index >= leftMostIndex) {
        firstVisibleIndex = _this.get$leftVisibleIndex();
        if (t1.length - _this.visibleTicks < 0)
          return index;
        else if (index >= firstVisibleIndex)
          return index - firstVisibleIndex;
      }
      return -1;
    },
    get$leftMostVisibleTimestampIndex: function() {
      var t1 = this._chart_controller$_timestamps.length,
        t2 = this.visibleTicks;
      return t1 > t2 ? t1 - t2 : 0;
    },
    timestampToXCanvasCoord$1: function(timestamp) {
      var visibleIndex,
        index = C.JSArray_methods.indexOf$1(this._chart_controller$_timestamps, timestamp);
      if (index >= 0) {
        visibleIndex = this.normalizeTimestampIndex$1(index);
        if (visibleIndex >= 0)
          return visibleIndex * this._tickWidth;
      }
      return -1;
    },
    xCoordToTimestampIndex$1: function(xCoord) {
      var timestampedIndex, _this = this,
        firstVisibleIndex = _this.get$leftVisibleIndex(),
        index = C.JSNumber_methods.$tdiv(xCoord - 50, _this._tickWidth),
        t1 = _this._chart_controller$_timestamps.length - _this.visibleTicks;
      if (t1 < 0)
        timestampedIndex = index + t1;
      else
        timestampedIndex = index >= firstVisibleIndex ? index - firstVisibleIndex : index + firstVisibleIndex;
      return timestampedIndex >= 0 ? timestampedIndex : 0;
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  D.ChartController_zoomDuration_closure.prototype = {
    call$1: function(timestamp) {
      if (C.JSInt_methods._tdivFast$1(P.Duration$(0, this.lastDT._core$_value - P.DateTime$fromMillisecondsSinceEpoch(timestamp, false)._core$_value)._duration, 60000000) >= C.JSInt_methods._tdivFast$1(this.duration._duration, 60000000))
        return true;
      return false;
    },
    $signature: 190
  };
  D.ChartController_zoomDuration_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  D.TapLocation.prototype = {
    get$index: function(receiver) {
      return this.index;
    }
  };
  D._ChartController_DisposableController_AutoDisposeControllerMixin.prototype = {};
  F.Data.prototype = {};
  F.DataAggregate.prototype = {};
  F.PaintCharacteristics.prototype = {
    set$height: function(receiver, val) {
      return this.height = val;
    },
    set$width: function(receiver, val) {
      return this.width = val;
    }
  };
  F.Trace0.prototype = {
    get$symbolPath: function() {
      var t2, width, height, _this = this,
        t1 = _this._symbolPath;
      if (t1 != null)
        return t1;
      t1 = _this.characteristics;
      switch (t1.symbol) {
        case C.ChartSymbol_4:
        case C.ChartSymbol_3:
          t2 = P.Path_Path();
          _this._symbolPath = t2;
          t2.addRect$1(0, new P.Rect(0, 0, t1.width, t1.height));
          _this._symbolPath.close$0(0);
          t1 = _this._symbolPath;
          break;
        case C.ChartSymbol_6:
        case C.ChartSymbol_5:
          width = t1.width;
          height = t1.height;
          t1 = P.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;
          break;
        case C.ChartSymbol_8:
        case C.ChartSymbol_7:
          width = t1.width;
          height = t1.height;
          t1 = P.Path_Path();
          _this._symbolPath = t1;
          t1.lineTo$2(0, width, 0);
          _this._symbolPath.lineTo$2(0, width / 2, height);
          _this._symbolPath.close$0(0);
          t1 = _this._symbolPath;
          break;
        default:
          t1 = _this._symbolPath = null;
      }
      return t1;
    },
    addDatum$1: function(datum) {
      var t1, t2, t3, _this = this;
      _this._chart_trace$_data.push(datum);
      t1 = _this.controller;
      t1.dirty = true;
      if (_this.characteristics.fixedMaxY == null) {
        t2 = datum.y;
        t3 = _this.dataYMax;
        if (t2 > t3) {
          t2.toString;
          _this.dataYMax = t2;
          F.AxisScale$(0, t2, 30);
        }
      }
      t2 = datum.y;
      t3 = t1._yMaxValue;
      if (t2 > t3)
        t1.set$yMaxValue(t2);
      C.JSArray_methods.indexOf$1(t1.traces, _this);
      t1._traceNotifier.set$value(0, new F.TraceNotifier());
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  F.TraceNotifier.prototype = {};
  F.ChartType.prototype = {
    toString$0: function(_) {
      return this._chart_trace$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.ChartSymbol.prototype = {
    toString$0: function(_) {
      return this._chart_trace$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.AxisScale.prototype = {
    _exponentFraction$1: function(range) {
      var t1, exponent;
      if (range === 0) {
        t1 = type$.dynamic;
        return P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      }
      exponent = C.JSNumber_methods.floor$0(Math.log(H.checkNum(range)) / 2.302585092994046);
      t1 = type$.dynamic;
      return P.LinkedHashMap_LinkedHashMap$_literal(["exponent", exponent, "fraction", range / Math.pow(10, exponent)], t1, t1);
    },
    _niceNum$2: function(range, round) {
      var exponent, fraction, niceFraction;
      if (range === 0)
        return 0;
      exponent = C.JSNumber_methods.floor$0(Math.log(H.checkNum(range)) / 2.302585092994046);
      fraction = range / Math.pow(10, exponent);
      if (fraction <= 1)
        niceFraction = 1;
      else if (fraction <= 2)
        niceFraction = 2;
      else if (fraction <= 3)
        niceFraction = 3;
      else if (fraction <= 5)
        niceFraction = 5;
      else if (fraction <= 7)
        niceFraction = 7;
      else
        niceFraction = fraction <= 10 ? 10 : null;
      return niceFraction * Math.pow(10, exponent);
    }
  };
  S.FlameChart.prototype = {
    get$startingContentWidth: function() {
      return this.containerWidth - this.startInset - this.endInset;
    },
    get$data: function(receiver) {
      return this.data;
    },
    get$time: function(receiver) {
      return this.time;
    },
    get$containerWidth: function() {
      return this.containerWidth;
    },
    get$startInset: function() {
      return this.startInset;
    },
    get$endInset: function() {
      return this.endInset;
    },
    get$selectionNotifier: function() {
      return this.selectionNotifier;
    },
    get$searchMatchesNotifier: function() {
      return this.searchMatchesNotifier;
    },
    get$activeSearchMatchNotifier: function() {
      return this.activeSearchMatchNotifier;
    }
  };
  S.FlameChartState.prototype = {
    get$rowOffsetForTopPadding: function() {
      return 2;
    },
    get$widthWithZoom: function() {
      var _this = this;
      return _this._widget.get$startingContentWidth() * _this.currentZoom + _this._widget.get$startInset() + _this._widget.get$endInset();
    },
    get$visibleTimeRange: function() {
      var t2, t3, startMicros, t4, t5, t6, t7, t8, _this = this,
        t1 = _this.horizontalControllerGroup.get$_attachedControllers();
      t1 = t1.get$first(t1);
      t1.toString;
      t1 = J.get$position$x(t1)._pixels;
      t1.toString;
      t2 = _this._widget.get$startInset();
      t3 = _this._widget;
      startMicros = t1 < t2 ? t3.get$time(t3)._utils$_start._duration : t3.get$time(t3)._utils$_start._duration + (t1 - _this._widget.get$startInset()) / _this.currentZoom / _this.get$startingPxPerMicro();
      t2 = _this._widget;
      t2 = t2.get$time(t2)._utils$_start._duration;
      t3 = _this._widget.get$startInset();
      t4 = _this._widget.get$containerWidth();
      t5 = _this.currentZoom;
      t6 = _this.get$startingPxPerMicro();
      t7 = new B.TimeRange(true);
      t8 = P.Duration$(C.JSNumber_methods.round$0(startMicros), 0);
      t7._utils$_start = t8;
      t1 = P.Duration$(C.JSNumber_methods.round$0(t2 + (t1 - t3 + t4) / t5 / t6), 0);
      t7._utils$_end = t1;
      return t7;
    },
    get$startingPxPerMicro: function() {
      var t3,
        t1 = this._widget.get$startingContentWidth(),
        t2 = this._widget;
      t2 = t2.get$time(t2);
      t3 = t2._utils$_end;
      t2 = t2._utils$_start;
      return t1 / (t3._duration - t2._duration);
    },
    get$maxZoomLevel: function() {
      var t2,
        t1 = this._widget;
      t1 = t1.get$time(t1);
      t2 = t1._utils$_end;
      t1 = t1._utils$_start;
      return 150 * (t2._duration - t1._duration) / this._widget.get$startingContentWidth();
    },
    buildChartOverlays$2: function(constraints, buildContext) {
      return C.List_empty11;
    },
    initState$0: function() {
      var t1, t2, t3, _this = this, _null = null;
      _this.super$State$initState();
      _this.initFlameChartElements$0();
      t1 = type$.JSArray_legacy__LinkedScrollController;
      t2 = new T.LinkedScrollControllerGroup(H._setArrayType([], t1));
      t3 = type$.nullable_void_Function;
      t2._offsetNotifier = new T._LinkedScrollControllerGroupOffsetNotifier(t2, P.List_List$filled(0, _null, false, t3));
      _this.horizontalControllerGroup = t2;
      t1 = new T.LinkedScrollControllerGroup(H._setArrayType([], t1));
      t1._offsetNotifier = new T._LinkedScrollControllerGroupOffsetNotifier(t1, P.List_List$filled(0, _null, false, t3));
      _this.verticalControllerGroup = t1;
      _this.addAutoDisposeListener$2(_this.horizontalControllerGroup._offsetNotifier, new S.FlameChartState_initState_closure(_this));
      _this.addAutoDisposeListener$2(_this.verticalControllerGroup._offsetNotifier, new S.FlameChartState_initState_closure0(_this));
      _this._flameChartScrollController = _this.verticalControllerGroup.addAndGet$0();
      t1 = G.AnimationController$(_null, _null, 1, _null, _this.get$maxZoomLevel(), 1, _this);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalListenersMixin__listeners;
      t2._isDirty = true;
      t2._observer_list$_list.push(_this.get$_handleZoomControllerValueUpdate());
      _this.zoomController = t1;
      t3 = new A.FixedExtentDelegate(new S.FlameChartState_initState_closure1(_this), new S.FlameChartState_initState_closure2(_this), new A._ExtentDelegateChangeNotifier(P.List_List$filled(0, _null, false, t3)));
      t3.recompute$0();
      t3.recompute$0();
      _this.verticalExtentDelegate = t3;
      if (_this._widget.get$activeSearchMatchNotifier() != null)
        _this.addAutoDisposeListener$2(_this._widget.get$activeSearchMatchNotifier(), new S.FlameChartState_initState_closure3(_this));
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this,
        t1 = _this._widget;
      if (!J.$eq$(t1.get$data(t1), oldWidget.get$data(oldWidget))) {
        _this.initFlameChartElements$0();
        _this.horizontalControllerGroup.jumpTo$1(0);
        _this.verticalControllerGroup.jumpTo$1(0);
        t1 = _this.zoomController;
        t1.set$value(0, t1.lowerBound);
        _this.verticalExtentDelegate.recompute$0();
      }
      t1 = _this._framework$_element;
      t1.toString;
      L.FocusScope_of(t1).requestFocus$1(_this.focusNode);
      _this.super$State$didUpdateWidget(oldWidget);
    },
    dispose$0: function(_) {
      this.zoomController.dispose$0(0);
      this.super$_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin$dispose(0);
    },
    build$1: function(_, context) {
      var _this = this, _null = null;
      return new T.MouseRegion(_null, _this.get$_handleMouseHover(), _null, C.C__DeferringMouseCursor, true, O.RawKeyboardListener$(true, E.Scrollbar$(new A.LayoutBuilder(new S.FlameChartState_build_closure(_this), _null), _this._flameChartScrollController, true), _this.focusNode, new S.FlameChartState_build_closure0(_this)), _null);
    },
    _buildFlameChart$1: function(constraints) {
      var _this = this,
        t1 = _this._flameChartScrollController,
        t2 = _this.verticalExtentDelegate;
      return A.ExtentDelegateListView$(new G.SliverChildBuilderDelegate(new S.FlameChartState__buildFlameChart_closure(_this, constraints), _this.rows.length, false, true, true, G.sliver0___kDefaultSemanticIndexCallback$closure()), t1, _this.get$_handlePointerSignal(), t2, C.ClampingScrollPhysics_null, C.Axis_1);
    },
    initFlameChartElements$0: function() {
      C.JSArray_methods.set$length(this.rows, 0);
      C.JSArray_methods.set$length(this.sections, 0);
    },
    expandRows$1: function(newRowLength) {
      var t2, t3, i,
        t1 = this.rows,
        currentLength = t1.length;
      for (t2 = H._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 S.FlameChartRow(H._setArrayType([], t3), i, t2));
    },
    _handleMouseHover$1: function($event) {
      this.mouseHoverX = $event.get$localPosition()._dx;
    },
    _handlePointerSignal$1: function($event) {
      return this._handlePointerSignal$body$FlameChartState($event);
    },
    _handlePointerSignal$body$FlameChartState: function($event) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, deltaY, t2, t3, t4, newZoomLevel;
      var $async$_handlePointerSignal$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = type$.legacy_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.verticalControllerGroup;
              t2 = t1.get$_attachedControllers();
              t2 = t2.get$first(t2);
              t2.toString;
              t2 = J.get$position$x(t2)._pixels;
              t2.toString;
              t3 = $async$self.verticalControllerGroup.get$_attachedControllers();
              t3 = t3.get$first(t3);
              t3.toString;
              t4 = J.getInterceptor$x(t3);
              t3 = F.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 = C.JSNumber_methods.clamp$2(deltaY, -20, 20);
              t1 = $async$self.currentZoom;
              newZoomLevel = C.JSNumber_methods.clamp$2(t1 + deltaY * (0.01 * t1), 1, $async$self.get$maxZoomLevel());
              $async$goto = 9;
              return P._asyncAwait($async$self.zoomTo$2$jump(newZoomLevel, true), $async$_handlePointerSignal$1);
            case 9:
              // returning from await.
              if (newZoomLevel === 1) {
                t1 = $async$self.horizontalControllerGroup.get$_attachedControllers();
                t1 = t1.get$first(t1);
                t1.toString;
                t1 = J.get$position$x(t1)._pixels;
                t1.toString;
                t1 = t1 !== 0;
              } else
                t1 = false;
              $async$goto = t1 ? 10 : 11;
              break;
            case 10:
              // then
              $async$goto = 12;
              return P._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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handlePointerSignal$1, $async$completer);
    },
    _handleZoomControllerValueUpdate$0: function() {
      var t1, safeMouseHoverX, fixedX, newScrollOffset, _this = this,
        previousZoom = _this.currentZoom,
        newZoom = _this.zoomController.get$_animation_controller$_value();
      if (previousZoom == newZoom)
        return;
      t1 = _this.horizontalControllerGroup.get$_attachedControllers();
      t1 = t1.get$first(t1);
      t1.toString;
      t1 = J.get$position$x(t1)._pixels;
      t1.toString;
      safeMouseHoverX = _this.mouseHoverX;
      if (safeMouseHoverX == null)
        safeMouseHoverX = _this._widget.get$containerWidth() / 2;
      fixedX = safeMouseHoverX + t1 - _this._widget.get$startInset();
      if (fixedX >= 0)
        newScrollOffset = fixedX * newZoom / previousZoom + _this._widget.get$startInset() - safeMouseHoverX;
      else
        newScrollOffset = t1;
      _this.setState$1(new S.FlameChartState__handleZoomControllerValueUpdate_closure(_this, newScrollOffset));
    },
    zoomTo$3$forceMouseX$jump: function(zoom, forceMouseX, jump) {
      return this.zoomTo$body$FlameChartState(zoom, forceMouseX, jump);
    },
    zoomTo$1: function(zoom) {
      return this.zoomTo$3$forceMouseX$jump(zoom, null, false);
    },
    zoomTo$2$jump: function(zoom, jump) {
      return this.zoomTo$3$forceMouseX$jump(zoom, null, jump);
    },
    zoomTo$body$FlameChartState: function(zoom, forceMouseX, jump) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3;
      var $async$zoomTo$3$forceMouseX$jump = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (forceMouseX != null)
                $async$self.mouseHoverX = forceMouseX;
              t1 = $async$self.zoomController;
              t2 = C.JSNumber_methods.clamp$2(zoom, 1, $async$self.get$maxZoomLevel());
              t3 = jump ? C.Duration_0 : C.Duration_50000;
              t1._direction = C._AnimationDirection_0;
              $async$goto = 2;
              return P._asyncAwait(t1._animateToInternal$3$curve$duration(t2, C.C__Linear, t3), $async$zoomTo$3$forceMouseX$jump);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$zoomTo$3$forceMouseX$jump, $async$completer);
    },
    scrollToX$2$jump: function(offset, jump) {
      return this.scrollToX$body$FlameChartState(offset, jump);
    },
    scrollToX$1: function(offset) {
      return this.scrollToX$2$jump(offset, false);
    },
    scrollToX$body$FlameChartState: function(offset, jump) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t2, target, t1;
      var $async$scrollToX$2$jump = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.horizontalControllerGroup.get$_attachedControllers();
              t1 = t1.get$first(t1);
              t1.toString;
              t2 = J.getInterceptor$x(t1);
              t1 = F.ScrollController.prototype.get$position.call(t2, t1)._maxScrollExtent;
              t1.toString;
              target = J.clamp$2$n(offset, 0, t1);
              t1 = $async$self.horizontalControllerGroup;
              $async$goto = jump ? 2 : 4;
              break;
            case 2:
              // then
              t1.jumpTo$1(target);
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              $async$goto = 5;
              return P._asyncAwait(t1.animateTo$3$curve$duration(target, C.Cubic_oKc, C.Duration_50000), $async$scrollToX$2$jump);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$scrollToX$2$jump, $async$completer);
    },
    scrollVerticallyToData$1: function(data) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t4, t1, t2, t3;
      var $async$scrollVerticallyToData$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.verticalControllerGroup;
              t2 = $async$self.topYForData$1(data);
              t3 = $async$self.verticalControllerGroup.get$_attachedControllers();
              t3 = t3.get$first(t3);
              t3.toString;
              t4 = J.getInterceptor$x(t3);
              t3 = F.ScrollController.prototype.get$position.call(t4, t3)._maxScrollExtent;
              t3.toString;
              $async$goto = 2;
              return P._asyncAwait(t1.animateTo$3$curve$duration(C.JSNumber_methods.clamp$2(t2 - 54, 0, t3), C.Cubic_oKc, C.Duration_50000), $async$scrollVerticallyToData$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$scrollVerticallyToData$1, $async$completer);
    },
    scrollHorizontallyToData$1: function(data) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$scrollHorizontallyToData$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.scrollToX$1($async$self.startXForData$1(data) + $async$self._widget.get$startInset() - $async$self._widget.get$containerWidth() * 0.1), $async$scrollHorizontallyToData$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$scrollHorizontallyToData$1, $async$completer);
    },
    zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros: function(data, durationMicros, jumpZoom, scrollVertically, startMicros) {
      return this.zoomAndScrollToData$body$FlameChartState(data, durationMicros, true, scrollVertically, startMicros);
    },
    zoomAndScrollToData$4$data$durationMicros$jumpZoom$startMicros: function(data, durationMicros, jumpZoom, startMicros) {
      return this.zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros(data, durationMicros, jumpZoom, true, startMicros);
    },
    zoomAndScrollToData$body$FlameChartState: function(data, durationMicros, jumpZoom, scrollVertically, startMicros) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._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 S.FlameChartState_zoomAndScrollToData_closure($async$self, data, scrollVertically));
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros, $async$completer);
    },
    zoomToTimeRange$3$durationMicros$jump$startMicros: function(durationMicros, jump, startMicros) {
      return this.zoomToTimeRange$body$FlameChartState(durationMicros, true, startMicros);
    },
    zoomToTimeRange$body$FlameChartState: function(durationMicros, jump, startMicros) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t1, targetWidth;
      var $async$zoomToTimeRange$3$durationMicros$jump$startMicros = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._widget;
              targetWidth = t1.get$containerWidth() * 0.8;
              t1 = $async$self.get$startingPxPerMicro();
              t2 = $async$self._widget;
              $async$goto = 2;
              return P._asyncAwait($async$self.zoomTo$3$forceMouseX$jump(targetWidth / (durationMicros * t1), (startMicros - t2.get$time(t2)._utils$_start._duration + durationMicros / 2) * $async$self.get$startingPxPerMicro() + $async$self._widget.get$startInset(), true), $async$zoomToTimeRange$3$durationMicros$jump$startMicros);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$zoomToTimeRange$3$durationMicros$jump$startMicros, $async$completer);
    },
    get$horizontalScrollOffset: function() {
      return this.horizontalScrollOffset;
    }
  };
  S.FlameChartState_initState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new S.FlameChartState_initState__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S.FlameChartState_initState__closure0.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.horizontalControllerGroup.get$_attachedControllers();
      t2 = t2.get$first(t2);
      t2.toString;
      t2 = J.get$position$x(t2)._pixels;
      t2.toString;
      t1.horizontalScrollOffset = t2;
    },
    $signature: 1
  };
  S.FlameChartState_initState_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new S.FlameChartState_initState__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S.FlameChartState_initState__closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.verticalControllerGroup.get$_attachedControllers();
      t2 = t2.get$first(t2);
      t2.toString;
      t2 = J.get$position$x(t2)._pixels;
      t2.toString;
      t1.verticalScrollOffset = t2;
    },
    $signature: 1
  };
  S.FlameChartState_initState_closure1.prototype = {
    call$1: function(index) {
      return this.$this.rows[index].nodes.length === 0 ? 16 : 27;
    },
    $signature: 37
  };
  S.FlameChartState_initState_closure2.prototype = {
    call$0: function() {
      return this.$this.rows.length;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 103
  };
  S.FlameChartState_initState_closure3.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$returnValue, $async$self = this, t1, activeSearch;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              activeSearch = t1._widget.get$activeSearchMatchNotifier()._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 P._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 P._asyncAwait(t1.scrollHorizontallyToData$1(activeSearch), $async$call$0);
            case 8:
              // returning from await.
            case 7:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 8
  };
  S.FlameChartState_build_closure0.prototype = {
    call$1: function($event) {
      var t2, t3, keyLabel,
        t1 = this.$this;
      $event.toString;
      t2 = $.$get$RawKeyboard_instance()._keysPressed;
      t3 = t2.get$values(t2);
      if (!P.LinkedHashSet_LinkedHashSet$of(t3, H._instanceType(t3)._eval$1("Iterable.E")).contains$1(0, C.LogicalKeyboardKey_3298534883586)) {
        t2 = t2.get$values(t2);
        t2 = P.LinkedHashSet_LinkedHashSet$of(t2, H._instanceType(t2)._eval$1("Iterable.E")).contains$1(0, C.LogicalKeyboardKey_4398046511362);
      } else
        t2 = true;
      if (t2)
        t1._altKeyPressed = true;
      else
        t1._altKeyPressed = false;
      if ($event instanceof B.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.horizontalControllerGroup.get$_attachedControllers();
          t2 = t2.get$first(t2);
          t2.toString;
          t2 = J.get$position$x(t2)._pixels;
          t2.toString;
          t1.scrollToX$1(t2 - t1._widget.get$containerWidth() * 0.25);
        } else if (keyLabel === "d") {
          t2 = t1.horizontalControllerGroup.get$_attachedControllers();
          t2 = t2.get$first(t2);
          t2.toString;
          t2 = J.get$position$x(t2)._pixels;
          t2.toString;
          t1.scrollToX$1(t2 + t1._widget.get$containerWidth() * 0.25);
        }
      }
      return null;
    },
    $signature: 1093
  };
  S.FlameChartState_build_closure.prototype = {
    call$2: function(context, constraints) {
      var t1 = this.$this,
        chartOverlays = t1.buildChartOverlays$2(constraints, context),
        flameChart = t1._buildFlameChart$1(constraints);
      if (chartOverlays.length !== 0) {
        t1 = H._setArrayType([flameChart], type$.JSArray_legacy_Widget);
        C.JSArray_methods.addAll$1(t1, chartOverlays);
        t1 = T.Stack$(C.AlignmentDirectional_m1_m1, t1, C.Clip_1, C.StackFit_0, null, null);
      } else
        t1 = flameChart;
      return t1;
    },
    $signature: 78
  };
  S.FlameChartState__buildFlameChart_closure.prototype = {
    call$2: function(context, index) {
      var rowBackgroundColor, i, t3, t4,
        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 = C.Color_0;
            break;
          }
          t3 = t2[i].nodes;
          if (t3.length !== 0) {
            t2 = C.JSArray_methods.get$first(t3).sectionIndex;
            t3 = K.Theme_of(context).colorScheme;
            if (C.JSInt_methods.$mod(t2, 2) === 1)
              rowBackgroundColor = t3.brightness === C.Brightness_1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
            else if (t3.brightness === C.Brightness_1) {
              t2 = C.Map_HFpTk.$index(0, 50);
              t2 = U.ColorExtension_darken(t2, 0.05);
              rowBackgroundColor = t2;
            } else {
              t2 = C.Map_HFpTk.$index(0, 850);
              t2 = U.ColorExtension_brighten(t2);
              rowBackgroundColor = t2;
            }
            break;
          }
          --i;
        }
      } else if (nodes.length !== 0) {
        t2 = C.JSArray_methods.get$first(nodes).sectionIndex;
        t3 = K.Theme_of(context).colorScheme;
        if (C.JSInt_methods.$mod(t2, 2) === 1)
          rowBackgroundColor = t3.brightness === C.Brightness_1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
        else if (t3.brightness === C.Brightness_1) {
          t2 = C.Map_HFpTk.$index(0, 50);
          t2 = U.ColorExtension_darken(t2, 0.05);
          rowBackgroundColor = t2;
        } else {
          t2 = C.Map_HFpTk.$index(0, 850);
          t2 = U.ColorExtension_brighten(t2);
          rowBackgroundColor = t2;
        }
      } else
        rowBackgroundColor = C.Color_0;
      t2 = t1.horizontalControllerGroup;
      t3 = this.constraints.maxWidth;
      t4 = t1.get$widthWithZoom();
      return new S.ScrollingFlameChartRow(t2, nodes, Math.max(H.checkNum(t3), t4), t1._widget.get$startInset(), t1._widget.get$selectionNotifier(), t1._widget.get$searchMatchesNotifier(), t1._widget.get$activeSearchMatchNotifier(), t1.focusNode.get$requestFocus(), rowBackgroundColor, t1.currentZoom, null, H._instanceType(t1)._eval$1("ScrollingFlameChartRow<FlameChartState.V*>"));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("ScrollingFlameChartRow<FlameChartState.V*>*(BuildContext*,int*)");
    }
  };
  S.FlameChartState__handleZoomControllerValueUpdate_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.currentZoom = t1.zoomController.get$_animation_controller$_value();
      t1.scrollToX$2$jump(this.newScrollOffset, true);
    },
    $signature: 1
  };
  S.FlameChartState_zoomAndScrollToData_closure.prototype = {
    call$1: function(_) {
      return this.$call$body$FlameChartState_zoomAndScrollToData_closure(_);
    },
    $call$body$FlameChartState_zoomAndScrollToData_closure: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.data;
              t3 = H._setArrayType([t1.scrollHorizontallyToData$1(t2)], type$.JSArray_legacy_Future_void);
              if ($async$self.scrollVertically)
                t3.push(t1.scrollVerticallyToData$1(t2));
              $async$goto = 2;
              return P._asyncAwait(P.Future_wait(t3, type$.void), $async$call$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 1090
  };
  S.ScrollingFlameChartRow.prototype = {
    createState$0: function() {
      return new S.ScrollingFlameChartRowState(K.Disposer$(), C._StateLifecycle_0, this.$ti._eval$1("ScrollingFlameChartRowState<1*>"));
    },
    onTapUp$0: function() {
      return this.onTapUp.call$0();
    },
    get$startInset: function() {
      return this.startInset;
    },
    get$selectionNotifier: function() {
      return this.selectionNotifier;
    },
    get$searchMatchesNotifier: function() {
      return this.searchMatchesNotifier;
    },
    get$activeSearchMatchNotifier: function() {
      return this.activeSearchMatchNotifier;
    },
    get$zoom: function(receiver) {
      return this.zoom;
    }
  };
  S.ScrollingFlameChartRowState.prototype = {
    initState$0: function() {
      var t1, t2, t3, _this = this;
      _this.super$State$initState();
      _this.scrollController = _this._widget.linkedScrollControllerGroup.addAndGet$0();
      t1 = _this._widget;
      t2 = t1.nodes;
      t3 = t1.zoom;
      t3 = S.NodeListExtension_toPaddedZoomedIntervals(t2, t1.startInset, t1.width, t3);
      t1 = _this._widget.zoom;
      t2 = new A._ExtentDelegateChangeNotifier(P.List_List$filled(0, null, false, type$.nullable_void_Function));
      t2.notifyListeners$0();
      _this.extentDelegate = new S._ScrollingFlameChartRowExtentDelegate(t3, t1, t2);
      _this._initNodeDataList$0();
      t2 = _this._widget.selectionNotifier;
      _this.selected = t2._value;
      _this.addAutoDisposeListener$2(t2, new S.ScrollingFlameChartRowState_initState_closure(_this));
      t1 = _this._widget.searchMatchesNotifier;
      if (t1 != null)
        _this.addAutoDisposeListener$1(t1);
      t1 = _this._widget.activeSearchMatchNotifier;
      if (t1 != null)
        _this.addAutoDisposeListener$1(t1);
    },
    didUpdateWidget$1: function(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.extentDelegate;
        t4 = t2.zoom;
        t4 = S.NodeListExtension_toPaddedZoomedIntervals(t3, t2.startInset, t2.width, t4);
        t2 = _this._widget.zoom;
        t1.nodeIntervals = t4;
        t1.zoom = t2;
        t1._layoutDirty.notifyListeners$0();
      }
      _this.hovered = null;
    },
    dispose$0: function(_) {
      var t1;
      this.super$_ScrollingFlameChartRowState_State_AutoDisposeMixin$dispose(0);
      t1 = this.scrollController;
      C.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
      t1.super$ScrollController$dispose(0);
      this.hovered = null;
    },
    _initNodeDataList$0: function() {
      var _this = this,
        t1 = _this._widget.nodes,
        t2 = H._arrayInstanceType(t1)._eval$1("@<1>")._bind$1(_this.$ti._eval$1("1*"))._eval$1("MappedListIterable<1,2>");
      _this._nodeData = P.List_List$of(new H.MappedListIterable(t1, new S.ScrollingFlameChartRowState__initNodeDataList_closure(_this), t2), true, t2._eval$1("ListIterable.E"));
    },
    build$1: function(_, context) {
      var t3, _this = this, _null = null,
        t1 = _this._widget,
        t2 = t1.nodes.length;
      if (t2 === 0)
        return new S.EmptyFlameChartRow(16, t1.width, t1.backgroundColor, _null);
      t3 = t1.width;
      t1 = t1.backgroundColor;
      return new T.MouseRegion(_null, _this.get$_handleMouseHover(), _null, C.C__DeferringMouseCursor, true, D.GestureDetector$(C.HitTestBehavior_1, M.Container$(_null, A.ExtentDelegateListView$(new G.SliverChildBuilderDelegate(new S.ScrollingFlameChartRowState_build_closure(_this), t2, false, false, true, G.sliver0___kDefaultSemanticIndexCallback$closure()), _this.scrollController, _null, _this.extentDelegate, _null, C.Axis_0), C.Clip_0, t1, _null, _null, _null, 27, _null, _null, _null, _null, _null, t3), C.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_flame_chart$_handleTapUp(), _null, _null, _null), _null);
    },
    _handleMouseHover$1: function($event) {
      var hoverNodeData, _this = this,
        t1 = $event.get$localPosition()._dx,
        t2 = _this.scrollController;
      t2 = t2.get$position(t2)._pixels;
      t2.toString;
      t2 = _this.binarySearchForNode$1(t1 + t2);
      hoverNodeData = t2 == null ? null : t2.data;
      if (hoverNodeData != _this.hovered)
        _this.setState$1(new S.ScrollingFlameChartRowState__handleMouseHover_closure(_this, hoverNodeData));
    },
    _flame_chart$_handleTapUp$1: function(details) {
      var nodeToSelect, _this = this,
        tapPosition = _this._framework$_element.get$renderObject().globalToLocal$1(details.globalPosition),
        t1 = _this.scrollController;
      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: function(x) {
      var min, mid, t1, node, zoomedNodeRect,
        max = this._widget.nodes.length;
      for (min = 0; min < max;) {
        mid = min + C.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;
    }
  };
  S.ScrollingFlameChartRowState_initState_closure.prototype = {
    call$0: function() {
      var containsNewSelected,
        t1 = this.$this,
        t2 = t1._nodeData,
        containsPreviousSelected = (t2 && C.JSArray_methods).contains$1(t2, t1.selected);
      t2 = t1._nodeData;
      containsNewSelected = (t2 && C.JSArray_methods).contains$1(t2, t1._widget.selectionNotifier._value);
      t1.selected = t1._widget.selectionNotifier._value;
      if (containsPreviousSelected || containsNewSelected)
        t1.setState$1(new S.ScrollingFlameChartRowState_initState__closure());
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S.ScrollingFlameChartRowState_initState__closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  S.ScrollingFlameChartRowState__initNodeDataList_closure.prototype = {
    call$1: function(node) {
      return node.data;
    },
    $signature: function() {
      return this.$this.$ti._eval$1("1*(FlameChartNode<1*>*)");
    }
  };
  S.ScrollingFlameChartRowState_build_closure.prototype = {
    call$2: function(context, index) {
      var t5, t6, t7, t8,
        t1 = this.$this,
        t2 = t1._widget,
        t3 = t2.nodes,
        node = t3[index],
        t4 = t2.zoom;
      t4 = S.FlameChartUtils_leftPaddingForNode(index, t3, t2.startInset, t4);
      t2 = t1._widget;
      t3 = t2.nodes;
      t5 = t2.zoom;
      t5 = S.FlameChartUtils_rightPaddingForNode(index, t3, t2.startInset, t2.width, t5);
      t2 = node.data;
      t3 = t1.selected;
      t6 = t1.hovered;
      t7 = t2.DataSearchStateMixin_isSearchMatch;
      t8 = t2.DataSearchStateMixin_isActiveSearchMatch;
      t1 = t1._widget.zoom;
      return new T.Padding(new V.EdgeInsets(t4, 0, t5, 2), node.buildWidget$5$activeSearchMatch$hovered$searchMatch$selected$zoom(t8, t2 === t6, t7, t2 === t3, t1), null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  S.ScrollingFlameChartRowState__handleMouseHover_closure.prototype = {
    call$0: function() {
      this.$this.hovered = this.hoverNodeData;
    },
    $signature: 1
  };
  S.FlameChartSection.prototype = {
    get$index: function(receiver) {
      return this.index;
    }
  };
  S.FlameChartRow.prototype = {
    addNode$1: function(node) {
      this.nodes.push(node);
      node.row = this;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  S.FlameChartDataMixin.prototype = {$isTreeNode: 1, $isDataSearchStateMixin: 1};
  S.FlameChartNode.prototype = {
    buildWidget$5$activeSearchMatch$hovered$searchMatch$selected$zoom: function(activeSearchMatch, 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 T.SizedBox$(_null, _null, zoomedWidth);
      t2 = hovered ? _null : _this.key;
      t3 = _this._flame_chart$_backgroundColor$3$activeSearchMatch$searchMatch$selected(0, activeSearchMatch, searchMatch, selected);
      t4 = zoomedWidth >= 30 ? L.Text$(_this.text, _null, _null, C.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, _this._flame_chart$_textColor$3$activeSearchMatch$searchMatch$selected(activeSearchMatch, searchMatch, selected), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), C.TextAlign_0, _null, _null) : C.SizedBox_null_null_null_null;
      node = M.Container$(C.Alignment_m1_0, t4, C.Clip_0, t3, _null, _null, _null, t1.bottom - t1.top, t2, _null, C.EdgeInsets_6_0_6_0, _null, _null, zoomedWidth);
      if (hovered || false)
        return S.Tooltip$(node, _this.key, _this.data.get$tooltip(), _null, false, C.Duration_500000);
      else
        return node;
    },
    _flame_chart$_backgroundColor$3$activeSearchMatch$searchMatch$selected: function(_, activeSearchMatch, searchMatch, selected) {
      if (selected)
        return C.Color_4281779956;
      if (activeSearchMatch)
        return C.MaterialAccentColor_Map_iTsEs_4294945600;
      if (searchMatch)
        return C.MaterialColor_Map_JNHRl_4294961979;
      return this.backgroundColor;
    },
    _flame_chart$_textColor$3$activeSearchMatch$searchMatch$selected: function(activeSearchMatch, searchMatch, selected) {
      if (selected || searchMatch || activeSearchMatch)
        return C.Color_4278190080;
      return this.textColor;
    },
    zoomedRect$2: function(zoom, chartStartInset) {
      var t1 = this.rect,
        t2 = t1.left,
        zoomedLeft = Math.max(0, (t2 - chartStartInset) * zoom + chartStartInset),
        t3 = t1.top;
      return new P.Rect(zoomedLeft, t3, zoomedLeft + Math.max(0, (t1.right - t2) * zoom), t3 + (t1.bottom - t3));
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  S.FlameChartColorMixin.prototype = {};
  S._ScrollingFlameChartRowExtentDelegate.prototype = {
    itemExtent$1: function(index) {
      var t1 = this.nodeIntervals;
      if (index >= t1.length)
        return 0;
      t1 = t1[index];
      return t1.end - t1.begin;
    },
    layoutOffset$1: function(index) {
      var t1;
      if (index <= 0)
        return 0;
      t1 = this.nodeIntervals;
      if (index >= t1.length)
        return C.JSArray_methods.get$last(t1).end;
      return t1[index].begin;
    },
    get$length: function(_) {
      return this.nodeIntervals.length;
    },
    minChildIndexForScrollOffset$1: function(scrollOffset) {
      var t1,
        index = Q.lowerBound(this.nodeIntervals, new B.Range(scrollOffset, scrollOffset + 1), new S._ScrollingFlameChartRowExtentDelegate_minChildIndexForScrollOffset_closure(), type$.legacy_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: function(endScrollOffset) {
      var index = Q.lowerBound(this.nodeIntervals, new B.Range(endScrollOffset, endScrollOffset + 1), new S._ScrollingFlameChartRowExtentDelegate_maxChildIndexForScrollOffset_closure(), type$.legacy_Range);
      if (index === 0)
        return 0;
      return index - 1;
    },
    get$zoom: function(receiver) {
      return this.zoom;
    }
  };
  S._ScrollingFlameChartRowExtentDelegate_minChildIndexForScrollOffset_closure.prototype = {
    call$2: function(a, b) {
      return C.JSNumber_methods.compareTo$1(a.begin, b.begin);
    },
    $signature: 193
  };
  S._ScrollingFlameChartRowExtentDelegate_maxChildIndexForScrollOffset_closure.prototype = {
    call$2: function(a, b) {
      return C.JSNumber_methods.compareTo$1(a.begin, b.begin);
    },
    $signature: 193
  };
  S.FlameChartPainter.prototype = {
    get$visibleRect: function() {
      var t1 = this.horizontalScrollOffset,
        t2 = this.verticalScrollOffset,
        t3 = this.constraints;
      return new P.Rect(t1, t2, t1 + t3.maxWidth, t2 + t3.maxHeight);
    },
    shouldRepaint$1: function(oldDelegate) {
      var _this = this;
      if (oldDelegate instanceof S.FlameChartPainter)
        return _this.verticalScrollOffset != oldDelegate.verticalScrollOffset || _this.horizontalScrollOffset != oldDelegate.horizontalScrollOffset || !J.$eq$(_this.constraints, oldDelegate.constraints) || _this.zoom != oldDelegate.zoom || _this.chartStartInset !== oldDelegate.chartStartInset || !oldDelegate.colorScheme.$eq(0, _this.colorScheme);
      return true;
    },
    get$zoom: function(receiver) {
      return this.zoom;
    },
    get$constraints: function() {
      return this.constraints;
    },
    get$horizontalScrollOffset: function() {
      return this.horizontalScrollOffset;
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  S.TimelineGridPainter.prototype = {
    paint$2: function(canvas, size) {
      var t3, t4, t5, intervalWidth, contentWidth, numCompleteIntervals, microsPerInterval, timestampMicros, lineX, timestampText, textPainter, xOffset, _this = this, _null = null,
        visible = _this.get$visibleRect(),
        t1 = _this.constraints,
        t2 = t1.maxWidth;
      t1 = t1.maxHeight;
      t3 = Math.min(H.checkNum(t1), 25);
      t4 = H._detectRenderer();
      t4 = t4 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t5 = _this.colorScheme.brightness === C.Brightness_1;
      t4.set$color(0, t5 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850));
      canvas.drawRect$2(0, new P.Rect(0, 0, 0 + t2, 0 + t3), t4);
      t3 = _this.zoom;
      intervalWidth = 150 / Math.pow(2, C.JSNumber_methods.floor$0(Math.log(H.checkNum(t3)) / Math.log(2))) * t3;
      t3 = _this.chartStartInset;
      contentWidth = _this.flameChartWidth - t3 - _this.chartEndInset;
      numCompleteIntervals = C.JSNumber_methods.$tdiv(contentWidth, intervalWidth);
      t4 = _this.duration._duration;
      microsPerInterval = C.JSNumber_methods.round$0((t4 - (contentWidth - numCompleteIntervals * intervalWidth) * t4 / contentWidth) / numCompleteIntervals);
      t4 = _this.horizontalScrollOffset;
      timestampMicros = (t4 < t3 ? 0 : C.JSNumber_methods.$tdiv(t4 - t3, intervalWidth) + 1) * microsPerInterval;
      t4 = visible.left;
      lineX = t4 <= t3 ? t3 - t4 : intervalWidth - C.JSNumber_methods.$mod(t4 - t3, intervalWidth);
      for (; lineX < t2;) {
        t3 = timestampMicros === 0 ? 1 : 3;
        t3 = C.JSNumber_methods.toStringAsFixed$1(timestampMicros / 1000, t3);
        timestampText = t3 + " ms";
        t3 = t5 ? C.Color_4278190080 : C.Color_4294967295;
        textPainter = new U.TextPainter(new Q.TextSpan(timestampText, _null, _null, C.C__DeferringMouseCursor, _null, new A.TextStyle(true, t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)), C.TextAlign_1, C.TextDirection_1, 1, _null, _null, _null, _null, C.TextWidthBasis_0, _null);
        textPainter.layout$1$maxWidth(0, intervalWidth);
        t3 = textPainter._textWidthBasis;
        t4 = textPainter._text_painter$_paragraph;
        t3 = t3 === C.TextWidthBasis_1 ? t4.get$longestLine() : t4.get$width(t4);
        t3.toString;
        xOffset = lineX - Math.ceil(t3) - 6;
        if (xOffset > 0) {
          t3 = textPainter._text_painter$_paragraph;
          t3.toString;
          canvas.drawParagraph$2(0, t3, new P.Offset(xOffset, 5));
        }
        t3 = H._detectRenderer();
        t3 = t3 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        t3.set$color(0, t5 ? C.Color_4291611852 : C.Color_4283979864);
        canvas.drawLine$3(0, new P.Offset(lineX, 0), new P.Offset(lineX, t1), t3);
        lineX += intervalWidth;
        timestampMicros += microsPerInterval;
      }
    },
    shouldRepaint$1: function(oldDelegate) {
      return !this.$eq(0, oldDelegate);
    },
    $eq: function(_, other) {
      var t1, t2, t3, _this = this;
      if (other == null)
        return false;
      t1 = _this.zoom;
      t2 = J.getInterceptor$x(other);
      t3 = t2.get$zoom(other);
      return (t1 == null ? t3 == null : t1 === t3) && J.$eq$(_this.constraints, other.get$constraints()) && _this.flameChartWidth === other.get$flameChartWidth() && _this.horizontalScrollOffset == other.get$horizontalScrollOffset() && _this.duration.$eq(0, t2.get$duration(other)) && _this.colorScheme.$eq(0, other.get$colorScheme());
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.zoom, _this.constraints, _this.flameChartWidth, _this.horizontalScrollOffset, _this.duration, _this.colorScheme, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    get$flameChartWidth: function() {
      return this.flameChartWidth;
    },
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  S.FlameChartHelpButton.prototype = {
    build$1: function(_, context) {
      return new U.HelpButton(new S.FlameChartHelpButton_build_closure(context), null);
    }
  };
  S.FlameChartHelpButton_build_closure.prototype = {
    call$0: function() {
      return E.showDialog(true, new S.FlameChartHelpButton_build__closure(), this.context, type$.dynamic);
    },
    $signature: 118
  };
  S.FlameChartHelpButton_build__closure.prototype = {
    call$1: function(context) {
      return new S._FlameChartHelpDialog(null);
    },
    $signature: 1078
  };
  S._FlameChartHelpDialog.prototype = {
    build$1: function(_, context) {
      var t6, t7, _null = null,
        _s10_ = "RobotoMono",
        _s22_ = "Pan chart left / right",
        _s13_ = "zoom in / out",
        theme = K.Theme_of(context),
        t1 = theme.textTheme,
        t2 = L.Text$("Flame Chart Help", _null, _null, _null, _null, _null, t1.headline6, _null, _null, _null),
        t3 = t1.subtitle1,
        t4 = type$.JSArray_legacy_Widget,
        t5 = P.List_List$of(H._setArrayType([L.Text$("Navigation", _null, _null, _null, _null, _null, t3, _null, _null, _null), C.PaddedDivider_wEo0], t4), true, type$.legacy_Widget);
      t1 = t1.bodyText2;
      t6 = T.SizedBox$(T.Column$(H._setArrayType([L.Text$("click + drag \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null), L.Text$("click + fling \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null), L.Text$("alt/option + scroll \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null), L.Text$("scroll left / right \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null), L.Text$("a / d \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null)], t4), C.CrossAxisAlignment_1, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null, 190);
      t7 = theme.unselectedWidgetColor;
      t5.push(T.Row$(H._setArrayType([t6, T.Column$(H._setArrayType([L.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, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null), L.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, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null), L.Text$("Pan chart up / down", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _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), L.Text$(_s22_, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _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), L.Text$(_s22_, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _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)], t4), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null));
      t5.push(C.SizedBox_null_8_null_null);
      C.JSArray_methods.addAll$1(t5, H._setArrayType([L.Text$("Zoom", _null, _null, _null, _null, _null, t3, _null, _null, _null), C.PaddedDivider_wEo0], t4));
      t5.push(T.Row$(H._setArrayType([T.SizedBox$(T.Column$(H._setArrayType([L.Text$("scroll up / down \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null), L.Text$("w / s \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null)], t4), C.CrossAxisAlignment_1, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null, 190), T.Column$(H._setArrayType([L.Text$(_s13_, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _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), L.Text$(_s13_, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _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)], t4), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null));
      return new O.DevToolsDialog(t2, T.Column$(t5, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), false, H._setArrayType([new O.DialogCloseButton(_null)], t4), _null);
    }
  };
  S.EmptyFlameChartRow.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return M.Container$(_null, _null, C.Clip_0, this.backgroundColor, _null, _null, _null, this.height, _null, _null, _null, _null, _null, this.width);
    }
  };
  S._FlameChartState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  S._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin.prototype = {};
  S._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$_FlameChartState_State_AutoDisposeMixin$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  S._ScrollingFlameChartRowState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  E.PivotType.prototype = {
    toString$0: function(_) {
      return this._treemap0$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  E.Treemap.prototype = {
    createState$0: function() {
      return new E._TreemapState(C._StateLifecycle_0);
    },
    onRootChangedCallback$1: function(arg0) {
      return this.onRootChangedCallback.call$1(arg0);
    }
  };
  E._TreemapState.prototype = {
    computeByteSizeForNodes$3$endIndex$nodes$startIndex: function(endIndex, nodes, startIndex) {
      var i, sum, t1;
      if (endIndex == null)
        endIndex = nodes.length - 1;
      for (i = startIndex, sum = 0; i <= endIndex; ++i) {
        t1 = nodes[i].byteSize;
        sum += Math.abs(t1);
      }
      return sum;
    },
    computeByteSizeForNodes$1$nodes: function(nodes) {
      return this.computeByteSizeForNodes$3$endIndex$nodes$startIndex(null, nodes, 0);
    },
    computePivot$1: function(children) {
      var t1, pivotIndex, maxSize, i, maxSize0;
      switch (C.PivotType_0) {
        case C.PivotType_0:
          return C.JSNumber_methods.floor$0(children.length / 2);
        case C.PivotType_1:
          for (t1 = children.length, pivotIndex = -1, maxSize = -1 / 0, i = 0; i < t1; ++i) {
            maxSize0 = Math.abs(children[i].byteSize);
            if (maxSize0 > maxSize) {
              maxSize = maxSize0;
              pivotIndex = i;
            }
          }
          return pivotIndex;
        default:
          return -1;
      }
    },
    buildTreemaps$5$children$height$width$x$y: function(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 H._setArrayType([], type$.JSArray_legacy_PositionedCell);
      C.JSArray_methods.sort$1(children, new E._TreemapState_buildTreemaps_closure());
      if (children.length <= 2) {
        positionedChildren = H._setArrayType([], type$.JSArray_legacy_PositionedCell);
        for (t1 = children.length, offset = 0, _i = 0; _i < children.length; children.length === t1 || (0, H.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(E.PositionedCell$(new E.Treemap(child, null, t4.levelsVisible - 1, false, newWidth, newHeight, t4.onRootChangedCallback, null), child, new P.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 = C.JSArray_methods.sublist$2(children, 0, pivotIndex);
      list1ByteSize = _this.computeByteSizeForNodes$1$nodes(list1);
      list3 = H._setArrayType([], type$.JSArray_legacy_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 = C.JSArray_methods.sublist$2(children, i, t1);
        _this.computeByteSizeForNodes$1$nodes(list2);
        list3 = C.JSArray_methods.sublist$1(children, t1);
        list3ByteSize = _this.computeByteSizeForNodes$1$nodes(list3);
      } else {
        list2 = C.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 = H._setArrayType([], type$.JSArray_legacy_PositionedCell);
      list1SizeRatio = list1ByteSize / totalByteSize;
      list1Width = isHorizontalRectangle ? width * list1SizeRatio : width;
      list1Height = isHorizontalRectangle ? height : height * list1SizeRatio;
      if (list1.length !== 0)
        C.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)
        C.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(E.PositionedCell$(E.Treemap$fromRoot(height, false, t3.levelsVisible - 1, t3.onRootChangedCallback, pivotNode, width), pivotNode, new P.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)
        C.JSArray_methods.addAll$1(positionedTreemaps, _this.buildTreemaps$5$children$height$width$x$y(list3, list3Height, list3Width, x + list3XCoord, y + list3YCoord));
      return positionedTreemaps;
    },
    build$1: function(_, 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: function() {
      return new A.LayoutBuilder(new E._TreemapState_buildSubTreemaps_closure(this), null);
    },
    buildTreemap$1: function(context) {
      var t2, t3, t4, t5, _this = this, _null = null,
        t1 = type$.JSArray_legacy_Widget;
      if (_this._widget.rootNode.children.length !== 0) {
        t1 = H._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(T.Expanded$(new E.Treemap(_null, t3, t4, false, t2.width, t2.height, t5, _null), 1));
        return new T.Padding(C.EdgeInsets_1_1_1_1, T.Column$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
      } else {
        t1 = H._setArrayType([], t1);
        if (_this._widget.isOutermostLevel)
          t1.push(_this.buildTitleText$1(context));
        t1.push(T.Expanded$(_this._widget.isOutermostLevel ? _this.buildCell$0() : _this.buildSelectable$1$child(_this.buildCell$0()), 1));
        return T.Column$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
      }
    },
    buildCell$0: function() {
      var t4, _null = null,
        t1 = this._widget.rootNode.get$displayColor(),
        t2 = F.Border_Border$all(C.Color_3707764736, 1),
        t3 = this._widget;
      if (t3.height > 50) {
        t4 = this.buildNameAndSizeText$2$oneLine$textColor(false, t3.rootNode.showDiff ? C.Color_4294967295 : C.Color_4278190080);
        t3 = t4;
      } else
        t3 = C.SizedBox_null_null_null_null;
      return M.Container$(_null, T.Center$(t3, _null, _null, _null), C.Clip_0, _null, _null, new S.BoxDecoration(t1, _null, t2, _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    },
    buildTitleText$1: function(context) {
      var t1, _this = this, _null = null;
      if (_this._widget.isOutermostLevel)
        return _this.buildBreadcrumbNavigator$0();
      else {
        t1 = F.Border_Border$all(C.Color_3707764736, 1);
        return _this.buildSelectable$1$child(M.Container$(_null, _this.buildNameAndSizeText$2$oneLine$textColor(true, K.Theme_of(context).textTheme.bodyText2.color), C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, t1, _null, _null, _null, _null, C.BoxShape_0), _null, 20, _null, _null, _null, _null, _null, 1 / 0));
      }
    },
    buildNameAndSizeText$2$oneLine$textColor: function(oneLine, textColor) {
      var _null = null;
      return L.Text$(this._widget.rootNode.displayText$1$oneLine(oneLine), _null, _null, C.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, textColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), C.TextAlign_2, _null, _null);
    },
    buildBreadcrumbNavigator$0: function() {
      var pathFromRoot = this._widget.rootNode.pathFromRoot$0();
      return new T.Padding(C.EdgeInsets_0_0_0_6, new U.BreadcrumbNavigator(pathFromRoot.length, new E._TreemapState_buildBreadcrumbNavigator_closure(this, pathFromRoot), null), null);
    },
    buildSelectable$1$child: function(child) {
      var newRoot, t2, _null = null, t1 = {};
      t1.newRoot = newRoot;
      t1.newRoot = null;
      t2 = this._widget;
      t1.newRoot = t2.rootNode;
      t2 = this._widget.rootNode.displayText$0();
      return S.Tooltip$(R.InkWell$(false, true, child, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new E._TreemapState_buildSelectable_closure(t1, this), _null, _null, _null, _null, _null), _null, t2, _null, false, C.Duration_1000000);
    },
    _onHover$2: function($event, positionedCells) {
      var t1, _i, cell,
        touchPoint = new P.Offset($event.get$localPosition()._dx, $event.get$localPosition()._dy);
      for (t1 = positionedCells.length, _i = 0; _i < positionedCells.length; positionedCells.length === t1 || (0, H.throwConcurrentModificationError)(positionedCells), ++_i) {
        cell = positionedCells[_i];
        if (cell.rect.contains$1(0, touchPoint)) {
          new E._TreemapState__onHover_closure(this, cell).call$0();
          this._framework$_element.markNeedsBuild$0();
        }
      }
    }
  };
  E._TreemapState_buildTreemaps_closure.prototype = {
    call$2: function(a, b) {
      return C.JSInt_methods.compareTo$1(Math.abs(b.byteSize), Math.abs(a.byteSize));
    },
    $signature: 1067
  };
  E._TreemapState_buildSubTreemaps_closure.prototype = {
    call$2: function(context, constraints) {
      var t2, t3, t4, positionedChildren, tooltipMessage, _null = null,
        t1 = constraints.maxHeight;
      if (t1 === 0 || constraints.maxWidth === 0)
        return C.SizedBox_null_null_null_null;
      t2 = this.$this;
      t3 = t2._widget.nodes;
      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 S.Tooltip$(new T.MouseRegion(_null, new E._TreemapState_buildSubTreemaps__closure(t2, positionedChildren), _null, C.SystemMouseCursor_click, true, D.GestureDetector$(_null, T.CustomPaint$(_null, _null, _null, new E.MultiCellPainter(positionedChildren, _null), new P.Size(t4, t1)), C.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new E._TreemapState_buildSubTreemaps__closure0(t2), _null, _null, _null, _null), _null), new D.ValueKey(tooltipMessage, type$.ValueKey_String), tooltipMessage, _null, false, C.Duration_1000000);
      } else
        return T.Stack$(C.AlignmentDirectional_m1_m1, positionedChildren, C.Clip_1, C.StackFit_0, _null, _null);
    },
    $signature: 78
  };
  E._TreemapState_buildSubTreemaps__closure.prototype = {
    call$1: function($event) {
      return this.$this._onHover$2($event, this.positionedChildren);
    },
    $signature: 96
  };
  E._TreemapState_buildSubTreemaps__closure0.prototype = {
    call$1: function(details) {
      var t1 = this.$this;
      t1._widget.onRootChangedCallback$1(t1.hoveredNode);
    },
    $signature: 189
  };
  E._TreemapState_buildBreadcrumbNavigator_closure.prototype = {
    call$2: function(context, index) {
      var t1 = this.pathFromRoot,
        node = t1[index];
      t1 = index < t1.length - 1 ? node.name : node.displayText$0();
      return new U.Breadcrumb(t1, index === 0, new E._TreemapState_buildBreadcrumbNavigator__closure(this.$this, node), null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 1066
  };
  E._TreemapState_buildBreadcrumbNavigator__closure.prototype = {
    call$0: function() {
      return this.$this._widget.onRootChangedCallback$1(this.node);
    },
    $signature: 0
  };
  E._TreemapState_buildSelectable_closure.prototype = {
    call$0: function() {
      this.$this._widget.onRootChangedCallback$1(this._box_0.newRoot);
    },
    $signature: 1
  };
  E._TreemapState__onHover_closure.prototype = {
    call$0: function() {
      this.$this.hoveredNode = this.cell.node;
    },
    $signature: 1
  };
  E.TreemapNode.prototype = {
    get$displayColor: function() {
      if (!this.showDiff)
        return C.Color_4287148510;
      if (this.byteSize < 0)
        return C.Color_4285993007;
      else
        return C.Color_4282365257;
    },
    displayText$1$oneLine: function(oneLine) {
      var t2, separator,
        displayName = this.name,
        t1 = this.parent;
      if (t1 != null) {
        t2 = t1.name;
        t2 = J.startsWith$1$s(displayName, t2) && displayName !== t2;
      } else
        t2 = false;
      if (t2) {
        displayName = J.replaceFirst$2$s(displayName, t1.name, "");
        if (C.JSString_methods.startsWith$1(displayName, "/"))
          displayName = C.JSString_methods.replaceFirst$2(displayName, "/", "");
      }
      separator = oneLine ? " " : "\n";
      return H.S(displayName) + separator + "[" + this.prettyByteSize$0() + "]";
    },
    displayText$0: function() {
      return this.displayText$1$oneLine(true);
    },
    prettyByteSize$0: function() {
      var plusSign = this.showDiff && this.byteSize > 0 ? "+" : "";
      return plusSign + H.S(B.prettyPrintBytes(this.byteSize, true, 1, 1, 1));
    },
    pathFromRoot$0: function() {
      var node, t1,
        path = H._setArrayType([], type$.JSArray_legacy_TreemapNode);
      for (node = this; node != null;) {
        path.push(node);
        node = node.parent;
      }
      t1 = type$.ReversedListIterable_legacy_TreemapNode;
      return P.List_List$of(new H.ReversedListIterable(path, t1), true, t1._eval$1("ListIterable.E"));
    },
    packagePath$0: function() {
      var current, t2, t3,
        t1 = type$.JSArray_legacy_String,
        reversedPath = H._setArrayType([], t1);
      for (current = this; current != null;) {
        t2 = current.name;
        t2.toString;
        if (H.stringContainsUnchecked(t2, "(Dart AOT)", 0)) {
          t1 = type$.ReversedListIterable_legacy_String;
          return P.List_List$of(new H.ReversedListIterable(reversedPath, t1), true, t1._eval$1("ListIterable.E"));
        }
        if (C.JSString_methods.startsWith$1(t2, "package:") || C.JSString_methods.startsWith$1(t2, "dart:"))
          t3 = reversedPath.length === 0 || C.JSArray_methods.get$last(reversedPath) !== t2;
        else
          t3 = false;
        if (t3)
          reversedPath.push(t2);
        current = current.parent;
      }
      return H._setArrayType([], t1);
    },
    toString$0: function(_) {
      return "{name: " + H.S(this.name) + ", size: " + H.S(this.byteSize) + "}";
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$byteSize: function() {
      return this.byteSize;
    }
  };
  E.PositionedCell.prototype = {
    get$node: function() {
      return this.node;
    }
  };
  E.MultiCellPainter.prototype = {
    paint$2: function(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, H.throwConcurrentModificationError)(t1), ++_i) {
        positionedCell = t1[_i];
        t3 = positionedCell.width;
        t4 = positionedCell.height;
        node = positionedCell.node;
        t5 = positionedCell.left;
        t6 = positionedCell.top;
        t7 = t5 + t3;
        t8 = t6 + t4;
        bounds = new P.Rect(t5, t6, t7, t8);
        t9 = H._detectRenderer();
        rectPaint = t9 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        rectPaint.set$color(0, node.get$displayColor());
        canvas.drawRect$2(0, bounds, rectPaint);
        t9 = H._detectRenderer();
        borderPaint = t9 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        borderPaint.set$color(0, C.Color_1929379840);
        borderPaint.set$style(0, C.PaintingStyle_1);
        canvas.drawRect$2(0, bounds, borderPaint);
        if (t3 > 40 && t4 > 50) {
          t4 = node.displayText$1$oneLine(false);
          t9 = node.showDiff ? C.Color_4294967295 : C.Color_4278190080;
          textPainter = new U.TextPainter(new Q.TextSpan(t4, _null, _null, C.C__DeferringMouseCursor, _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)), C.TextAlign_2, C.TextDirection_1, 1, "...", _null, _null, _null, C.TextWidthBasis_0, _null);
          textPainter.layout$1$maxWidth(0, t3);
          t3 = textPainter._textWidthBasis;
          t4 = textPainter._text_painter$_paragraph;
          t3 = t3 === C.TextWidthBasis_1 ? t4.get$longestLine() : t4.get$width(t4);
          t3.toString;
          t3 = Math.ceil(t3);
          t4 = textPainter._text_painter$_paragraph;
          t4 = t4.get$height(t4);
          t4.toString;
          t4 = Math.ceil(t4);
          t9 = textPainter._text_painter$_paragraph;
          t9.toString;
          canvas.drawParagraph$2(0, t9, new P.Offset(t5 + (t7 - t5) / 2 - t3 / 2, t6 + (t8 - t6) / 2 - t4 / 2));
        }
      }
    },
    shouldRepaint$1: function(oldDelegate) {
      return false;
    }
  };
  D.CollapsibleAnimationMixin.prototype = {
    setExpanded$1: function(expanded) {
      this.setState$1(new D.CollapsibleAnimationMixin_setExpanded_closure(this, expanded));
    }
  };
  D.CollapsibleAnimationMixin_setExpanded_closure.prototype = {
    call$0: function() {
      var t1 = this.expanded,
        t2 = this.$this,
        t3 = t2.CollapsibleAnimationMixin_expandController;
      if (t1)
        t3.forward$0(0);
      else
        t3.reverse$0(0);
      t2.onExpandChanged$1(t1);
    },
    $signature: 1
  };
  U.PaddedDivider.prototype = {
    build$1: function(_, context) {
      return new T.Padding(this.padding, C.Divider_null_1_null_null, null);
    }
  };
  U.IconLabelButton.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.includeTextWidth,
        t2 = !(t1 == null || context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.size._dx > t1) ? 36 : _null;
      return T.SizedBox$(B.OutlinedButton$(false, new U.MaterialIconLabel(_this.icon, _null, _this.label, t1, _null), _null, _this.onPressed, K.denseAwareOutlinedButtonStyle(context, t1)), 32, t2);
    }
  };
  U.PauseButton.prototype = {};
  U.ResumeButton.prototype = {};
  U.ClearButton.prototype = {};
  U.RefreshButton.prototype = {};
  U.RecordButton.prototype = {
    build$1: function(_, context) {
      var t1 = this.recording ? null : this.onPressed;
      return new U.IconLabelButton(C.IconData_57957_MaterialIcons_false, "Record", this.includeTextWidth, t1, false, null);
    }
  };
  U.StopRecordingButton.prototype = {
    build$1: function(_, context) {
      var t1 = !this.recording ? null : this.onPressed;
      return new U.IconLabelButton(C.IconData_58886_MaterialIcons_false, "Stop", this.includeTextWidth, t1, false, null);
    }
  };
  U.SettingsOutlinedButton.prototype = {
    build$1: function(_, context) {
      return new U.IconLabelButton(C.IconData_58751_MaterialIcons_false, this.label, 20000, this.onPressed, false, null);
    }
  };
  U.HelpButton.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return U.TextButton$(M.Container$(_null, C.Icon_mRn0, C.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, 32), this.onPressed, _null);
    }
  };
  U.ExpandAllButton.prototype = {
    build$1: function(_, context) {
      return B.OutlinedButton$(false, C.Text_Isw, null, this.onPressed, null);
    }
  };
  U.CollapseAllButton.prototype = {
    build$1: function(_, context) {
      return B.OutlinedButton$(false, C.Text_3Kn, null, this.onPressed, null);
    }
  };
  U.RecordingInfo.prototype = {
    build$1: function(_, context) {
      var child, t1, _this = this, _null = null;
      if (_this.processing)
        child = new U.ProcessingInfo(_this.progressValue, _this.recordedObject, _null);
      else {
        t1 = _this.recordedObject;
        child = _this.recording ? new U.RecordingStatus(t1, _this.recordingStatusKey) : new U.RecordingInstructions(t1, false, _this.instructionsKey);
      }
      return T.Center$(child, _null, _null, _null);
    }
  };
  U.RecordingStatus.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return T.Column$(H._setArrayType([L.Text$("Recording " + this.recordedObject, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(context).unselectedWidgetColor, _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), C.SizedBox_null_16_null_null, C.CircularProgressIndicator_MQk], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1);
    }
  };
  U.RecordingInstructions.prototype = {
    build$1: function(_, context) {
      var _null = null,
        stopOrPauseRow = T.Row$(C.List_AiQ, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null),
        t1 = type$.JSArray_legacy_Widget;
      return T.Column$(H._setArrayType([T.Row$(H._setArrayType([C.Text_wAS, C.Icon_NYu0, L.Text$(" to start recording " + this.recordedObject + ".", _null, _null, _null, _null, _null, _null, _null, _null, _null)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null), stopOrPauseRow], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1);
    }
  };
  U.ProcessingInfo.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return T.Center$(T.Column$(H._setArrayType([L.Text$("Processing " + this.processedObject, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(context).unselectedWidgetColor, _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), C.SizedBox_null_16_null_null, T.SizedBox$(new U.LinearProgressIndicator(this.progressValue, _null, _null, _null, _null, _null, _null), 16, 200)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1), _null, _null, _null);
    }
  };
  U.ExitOfflineButton.prototype = {
    build$1: function(_, context) {
      return B.OutlinedButton$(false, C.MaterialIconLabel_q91, C.ValueKey_OhV, this.onPressed, null);
    }
  };
  U.BulletSpacer.prototype = {
    build$1: function(_, context) {
      var textTheme, textStyle, t1, t2, mutedColor, _null = null,
        theme = K.Theme_of(context);
      if (this.useAccentColor) {
        textTheme = theme.appBarTheme.textTheme;
        if (textTheme == null)
          textTheme = theme.primaryTextTheme;
      } else
        textTheme = theme.textTheme;
      textStyle = textTheme.bodyText2;
      t1 = textStyle == null;
      t2 = t1 ? _null : textStyle.color;
      mutedColor = t2 == null ? _null : P.Color$fromARGB(144, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
      return M.Container$(C.Alignment_0_0, L.Text$("\u2022", _null, _null, _null, _null, _null, t1 ? _null : textStyle.copyWith$1$color(mutedColor), _null, _null, _null), C.Clip_0, _null, _null, _null, _null, 48, _null, _null, _null, _null, _null, 24);
    }
  };
  U.Badge.prototype = {
    build$1: function(_, context) {
      var _null = null,
        theme = K.Theme_of(context),
        t1 = theme.primaryColor,
        t2 = K.BorderRadius$circular(12);
      return M.Container$(_null, L.Text$(this.text, _null, _null, _null, _null, _null, theme.primaryTextTheme.bodyText2.apply$1$fontSizeDelta(-1), _null, _null, _null), C.Clip_0, _null, _null, new S.BoxDecoration(t1, _null, _null, t2, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, C.EdgeInsets_6_2_6_2, _null, _null, _null);
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  U.DevToolsTooltip.prototype = {
    build$1: function(_, context) {
      return S.Tooltip$(this.child, null, this.tooltip, this.padding, false, C.Duration_500000);
    }
  };
  U.ToolbarAction.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = U.TextButton_styleFrom(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_0_0_0_0, _null, _null, _null, _null, _null, C.MaterialTapTargetSize_1, _null, _null),
        button = U.TextButton$(L.Icon$(this.icon, _null, 20), this.onPressed, t1);
      t1 = this.tooltip;
      return t1 == null ? button : S.Tooltip$(button, _null, t1, _null, _null, C.Duration_500000);
    }
  };
  U.AreaPaneHeader.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        theme = K.Theme_of(context),
        t1 = _this.tall ? 44 : 36,
        t2 = _this.needsTopBorder ? new Y.BorderSide(theme.focusColor, 1, C.BorderStyle_1) : C.BorderSide_06g,
        t3 = _this.needsBottomBorder ? new Y.BorderSide(theme.focusColor, 1, C.BorderStyle_1) : C.BorderSide_06g,
        t4 = _this.needsLeftBorder ? new Y.BorderSide(theme.focusColor, 1, C.BorderStyle_1) : C.BorderSide_06g,
        t5 = K.ThemeDataExtension_get_titleSolidBackgroundColor(theme),
        t6 = H._setArrayType([T.Expanded$(L.DefaultTextStyle$(_this.title, _null, _this.maxLines, C.TextOverflow_2, true, theme.textTheme.subtitle2, _null, _null, C.TextWidthBasis_0), 1)], type$.JSArray_legacy_Widget);
      C.JSArray_methods.addAll$1(t6, _this.actions);
      return T.SizedBox$fromSize(M.Container$(C.Alignment_m1_0, T.Row$(t6, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, new S.BoxDecoration(t5, _null, new F.Border(t2, C.BorderSide_06g, t3, t4), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, new V.EdgeInsets(16, 0, _this.rightPadding, 0), _null, _null, _null), new P.Size(1 / 0, t1));
    },
    get$preferredSize: function() {
      return new P.Size(1 / 0, this.tall ? 44 : 36);
    },
    $isPreferredSizeWidget: 1
  };
  U.ExportButton.prototype = {
    build$1: function(_, context) {
      return new U.IconLabelButton(C.IconData_57962_MaterialIcons_false, "Export", this.includeTextWidth, this.onPressed, false, this.key);
    }
  };
  U.FilterButton.prototype = {
    build$1: function(_, context) {
      var t2, _null = null,
        theme = K.Theme_of(context),
        t1 = this.isFilterActive;
      if (t1)
        t2 = theme.colorScheme.brightness === C.Brightness_1 ? C.Color_4292931322 : C.Color_4281220168;
      else
        t2 = C.Color_0;
      t2 = U.TextButton_styleFrom(_null, _null, t2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      if (t1) {
        theme.toString;
        t1 = C.Color_4280391411;
      } else
        t1 = theme.colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4293980400;
      return U.DevToolsTooltip$(T.SizedBox$(B.OutlinedButton$(false, L.Icon$(C.IconData_57984_MaterialIcons_false, t1, 16), this.key, this.onPressed, t2), 32, _null), _null, "Filter");
    }
  };
  U.RoundedDropDownButton.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null;
      return new U.RoundedOutlinedBorder(T.Center$(M.Container$(_null, new K.DropdownButtonHideUnderline(K.DropdownButton$(_null, true, false, _this.items, _null, _this.onChanged, _this.selectedItemBuilder, _this.style, _null, _this.value, _this.$ti._eval$1("1*")), _null), C.Clip_0, _null, _null, _null, _null, 30, _null, _null, C.EdgeInsets_16_0_2_0, _null, _null, _null), _null, _null, _null), _null);
    }
  };
  U.OutlinedRowGroup.prototype = {
    build$1: function(_, context) {
      var t2, i, t3, _null = null,
        color = this.borderColor,
        t1 = type$.JSArray_legacy_Widget,
        childrenWithOutlines = H._setArrayType([], t1);
      for (t2 = this.children, i = 0; i < t2.length; ++i) {
        t3 = i === 0 ? new Y.BorderSide(color, 1, C.BorderStyle_1) : C.BorderSide_06g;
        C.JSArray_methods.addAll$1(childrenWithOutlines, H._setArrayType([M.Container$(_null, t2[i], C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, new F.Border(new Y.BorderSide(color, 1, C.BorderStyle_1), new Y.BorderSide(color, 1, C.BorderStyle_1), new Y.BorderSide(color, 1, C.BorderStyle_1), t3), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null)], t1));
      }
      return T.Row$(childrenWithOutlines, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null);
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  U.OutlineDecoration.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return M.Container$(_null, this.child, C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, F.Border_Border$all(K.Theme_of(context).focusColor, 1), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  U.RoundedOutlinedBorder.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return M.Container$(_null, this.child, C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, F.Border_Border$all(K.Theme_of(context).focusColor, 1), K.BorderRadius$circular(4), _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  U.LeftBorder.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return M.Container$(_null, this.child, C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, new F.Border(C.BorderSide_06g, C.BorderSide_06g, C.BorderSide_06g, new Y.BorderSide(K.Theme_of(context).focusColor, 1, C.BorderStyle_1)), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  U.CenteredMessage.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return T.Center$(L.Text$(this.message, _null, _null, _null, _null, _null, K.Theme_of(context).textTheme.headline6, _null, _null, _null), _null, _null, _null);
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  U.CenteredCircularProgressIndicator.prototype = {
    build$1: function(_, context) {
      return C.Center_mtF;
    }
  };
  U.CircularIconButton.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = K.Theme_of(context).hoverColor,
        t2 = K.BorderRadius$circular(20),
        t3 = _this.foregroundColor;
      return Z.RawMaterialButton$(false, L.Icon$(_this.icon, t3, 16), C.Clip_0, C.BoxConstraints_20_20_20_20, 0, 0, true, _this.backgroundColor, _null, 4, _null, _null, 8, t1, 4, C.MaterialTapTargetSize_1, _null, _this.onPressed, new X.RoundedRectangleBorder(t2, new Y.BorderSide(t3, 2, C.BorderStyle_1)), _null, _null);
    }
  };
  U.BreadcrumbNavigator.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return M.Container$(C.Alignment_m1_0, B.ListView$builder(_null, this.builder, this.itemCount, _null, _null, _null, _null, C.Axis_0, false), C.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, _null);
    }
  };
  U.Breadcrumb.prototype = {
    build$1: function(_, context) {
      var t2, caretWidth, breadcrumbWidth, _null = null,
        t1 = K.Theme_of(context).colorScheme,
        textPainter = U.TextPainter$(_null, _null, _null, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t1.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4294967295, _null, C.TextDecoration_1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), this.text), C.TextAlign_1, C.TextDirection_1, _null, 1, C.TextWidthBasis_0);
      textPainter.layout$0(0);
      t2 = this.isRoot;
      caretWidth = t2 ? 4 : 8;
      breadcrumbWidth = textPainter.get$width(textPainter) + caretWidth + 8;
      return R.InkWell$(false, true, M.Container$(_null, T.CustomPaint$(_null, _null, _null, new U._BreadcrumbPainter(textPainter, t2, breadcrumbWidth, t1, _null), C.Size_0_0), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.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);
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  U._BreadcrumbPainter.prototype = {
    paint$2: function(canvas, size) {
      var path, t2, t3, textXOffset, _this = this,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, _this.colorScheme.brightness === C.Brightness_1 ? C.Color_4291611852 : C.Color_4283979864);
      path = P.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(0, path, paint);
      textXOffset = t1 ? 4 : 8;
      t1 = _this.textPainter;
      t2 = t1._text_painter$_paragraph;
      t2 = t2.get$height(t2);
      t2.toString;
      t2 = Math.ceil(t2);
      t1 = t1._text_painter$_paragraph;
      t1.toString;
      canvas.drawParagraph$2(0, t1, new P.Offset(textXOffset, (28 - t2) / 2));
    },
    shouldRepaint$1: function(oldDelegate) {
      var _this = this;
      return _this.textPainter !== oldDelegate.textPainter || _this.isRoot !== oldDelegate.isRoot || _this.breadcrumbWidth !== oldDelegate.breadcrumbWidth || !_this.colorScheme.$eq(0, oldDelegate.colorScheme);
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  U.FormattedJson.prototype = {
    build$1: function(_, context) {
      var _null = null,
        _s10_ = "RobotoMono",
        theme = K.Theme_of(context),
        t1 = this.json;
      t1 = t1 != null ? P._JsonStringStringifier_stringify(t1, _null, "  ") : this.formattedString;
      return O.SelectableText$(t1, _null, _null, this.useSubtleStyle ? theme.textTheme.bodyText2.copyWith$1$fontFamily(_s10_).copyWith$1$color(theme.unselectedWidgetColor) : theme.textTheme.bodyText2.copyWith$1$fontFamily(_s10_), _null);
    }
  };
  U.Link.prototype = {};
  T.DragAndDropManagerWeb.prototype = {
    init$0: function() {
      var t1, t2, t3, _this = this;
      _this.super$DragAndDropManager$init();
      t1 = document;
      t2 = t1.body;
      t2.toString;
      t3 = type$._ElementEventStreamImpl_legacy_MouseEvent._precomputed1;
      _this.onDragOverSubscription = W._EventStreamSubscription$(t2, "dragover", _this.get$_onDragOver(), false, t3);
      t2 = t1.body;
      t2.toString;
      _this.onDragLeaveSubscription = W._EventStreamSubscription$(t2, "dragleave", _this.get$_onDragLeave(), false, t3);
      t1 = t1.body;
      t1.toString;
      _this.onDropSubscription = W._EventStreamSubscription$(t1, "drop", _this.get$_onDrop(), false, t3);
    },
    _onDragOver$1: function($event) {
      var t2,
        t1 = J.getInterceptor$x($event);
      this.hitTestAndUpdateActiveId$2(t1.get$offset($event).x, t1.get$offset($event).y);
      t1 = this.activeState;
      if (t1 != null) {
        t2 = t1._dragging;
        t1 = t1._isActive;
        t2.set$value(0, t1 === true);
      }
      $event.preventDefault();
      $event.dataTransfer.dropEffect = "move";
    },
    _onDragLeave$1: function($event) {
      var t1 = this.activeState;
      if (t1 != null)
        t1._dragging.set$value(0, false);
    },
    _onDrop$1: function($event) {
      return this._onDrop$body$DragAndDropManagerWeb($event);
    },
    _onDrop$body$DragAndDropManagerWeb: function($event) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$next = [], $async$self = this, droppedFile, reader, e, t2, files, exception, t1;
      var $async$_onDrop$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.activeState;
              if (t1 != null)
                t1._dragging.set$value(0, false);
              $event.preventDefault();
              t1 = $async$self.activeState;
              if (t1 == null)
                t2 = null;
              else {
                t2 = t1._widget;
                t2.toString;
              }
              if ((t2 == null ? null : t2.handleDrop) == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              files = $event.dataTransfer.files;
              if (files.length > 1) {
                t1.notifications.push$1("You cannot import more than one file.");
                // goto return
                $async$goto = 1;
                break;
              }
              droppedFile = C.FileList_methods.get$first(files);
              if (droppedFile.type !== "application/json") {
                $async$self.activeState.notifications.push$1(H.S(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();
              W._EventStreamSubscription$(reader, "load", new T.DragAndDropManagerWeb__onDrop_closure($async$self, reader, droppedFile), false, type$.legacy_ProgressEvent);
              try {
                J.readAsText$1$x(reader, droppedFile);
              } catch (exception) {
                e = H.unwrapException(exception);
                t1 = $async$self.activeState;
                t1.notifications.push$1("Could not import file: " + H.S(e));
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_onDrop$1, $async$completer);
    }
  };
  T.DragAndDropManagerWeb__onDrop_closure.prototype = {
    call$1: function(_) {
      var json, devToolsJsonFile, e, t1, exception, _this = this;
      try {
        json = C.C_JsonCodec.decode$2$reviver(0, C.FileReader_methods.get$result(_this.reader), null);
        t1 = _this.droppedFile;
        devToolsJsonFile = new B.DevToolsJsonFile(t1.name, P.DateTime$fromMillisecondsSinceEpoch(t1.lastModifiedDate.getTime(), true), json);
        _this.$this.activeState._widget.handleDrop$1(devToolsJsonFile);
      } catch (exception) {
        t1 = H.unwrapException(exception);
        if (type$.legacy_FormatException._is(t1)) {
          e = t1;
          _this.$this.activeState.notifications.push$1('JSON syntax error in imported file: "' + H.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: 1257
  };
  V.DragAndDropManager.prototype = {
    init$0: function() {
      $.DragAndDropManager__instance = this;
    },
    hitTestAndUpdateActiveId$2: function(x, y) {
      var _i, result, target, newActiveState, previousActiveState,
        hitTestResult = O.HitTestResult$(),
        t1 = $.RendererBinding__instance,
        t2 = new P.Offset(x, y);
      t1.get$_pipelineOwner()._rootNode.hitTest$2$position(hitTestResult, t2);
      t1.super$GestureBinding$hitTest(hitTestResult, t2);
      for (t1 = hitTestResult._path, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        result = t1[_i];
        target = result.get$target(result);
        if (target instanceof E.RenderMetaData) {
          newActiveState = target.metaData.state;
          previousActiveState = this.activeState;
          if (previousActiveState != null) {
            previousActiveState._isActive = false;
            previousActiveState._dragging.set$value(0, false);
          }
          this.activeState = newActiveState;
          newActiveState._isActive = true;
          return;
        }
      }
    }
  };
  V.DragAndDrop.prototype = {
    createState$0: function() {
      return new V.DragAndDropState(new B.ValueNotifier(false, P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_bool), C._StateLifecycle_0);
    },
    handleDrop$1: function(arg0) {
      return this.handleDrop.call$1(arg0);
    }
  };
  V.DragAndDropState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      var t1 = $.DragAndDropManager__instance;
      (t1 == null ? T.DragAndDropManagerWeb$() : t1)._dragAndDropStates.add$1(0, this);
    },
    didChangeDependencies$0: function() {
      this.super$State$didChangeDependencies();
      var t1 = this._framework$_element;
      t1.toString;
      this.notifications = Y.Notifications_of(t1);
    },
    dispose$0: function(_) {
      var t1 = $.DragAndDropManager__instance;
      (t1 == null ? T.DragAndDropManagerWeb$() : t1)._dragAndDropStates.remove$1(0, this);
      this.super$State$dispose(0);
    },
    build$1: function(_, context) {
      var _this = this,
        t1 = _this._widget;
      t1 = t1.handleDrop != null ? N.ValueListenableBuilder$(new V.DragAndDropState_build_closure(_this), _this._dragging, type$.legacy_bool) : t1.child;
      return new T.MetaData(new V.DragAndDropMetaData(_this), t1, null);
    }
  };
  V.DragAndDropState_build_closure.prototype = {
    call$3: function(context, dragging, _) {
      var t1 = dragging ? 0.5 : 1;
      return T.Opacity$(false, this.$this._widget.child, t1);
    },
    $signature: 1060
  };
  V.DragAndDropMetaData.prototype = {};
  O.FileSystemWeb.prototype = {
    writeStringToFile$3$isMemory: function(filename, contents, isMemory) {
      this._files.putIfAbsent$2(0, filename, new O.FileSystemWeb_writeStringToFile_closure(contents));
    }
  };
  O.FileSystemWeb_writeStringToFile_closure.prototype = {
    call$0: function() {
      return this.contents;
    },
    $signature: 38
  };
  Y.initializePlatform_closure.prototype = {
    call$1: function($event) {
      Y._sendKeyPressToParent($event);
      if (!$event.metaKey)
        return;
      if (!J.contains$1$asx(window.navigator.userAgent, "Macintosh"))
        return;
      if ($event.key === "p")
        $event.preventDefault();
    },
    $signature: 1056
  };
  Y.ServerConnectionStorage.prototype = {
    getValue$1: function(key) {
      return this.getValue$body$ServerConnectionStorage(key);
    },
    getValue$body$ServerConnectionStorage: function(key) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_String),
        $async$returnValue, $async$self = this, t1;
      var $async$getValue$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_String;
              $async$returnValue = $async$self.connection._callMethod$1$2("getPreferenceValue", P.LinkedHashMap_LinkedHashMap$_literal(["key", key], t1, type$.dynamic), t1);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getValue$1, $async$completer);
    },
    setValue$2: function(key, value) {
      return this.setValue$body$ServerConnectionStorage(key, value);
    },
    setValue$body$ServerConnectionStorage: function(key, value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$setValue$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.connection.setPreferenceValue$2(key, value), $async$setValue$2);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setValue$2, $async$completer);
    }
  };
  Y.BrowserStorage.prototype = {
    getValue$1: function(key) {
      return this.getValue$body$BrowserStorage(key);
    },
    getValue$body$BrowserStorage: function(key) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_String),
        $async$returnValue;
      var $async$getValue$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = window.localStorage.getItem(key);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getValue$1, $async$completer);
    },
    setValue$2: function(key, value) {
      return this.setValue$body$BrowserStorage(key, value);
    },
    setValue$body$BrowserStorage: function(key, value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$setValue$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              window.localStorage.setItem(key, value);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setValue$2, $async$completer);
    }
  };
  N.HostPlatform.prototype = {};
  L.IdeTheme.prototype = {};
  R.ExportControllerWeb.prototype = {
    downloadFile$1: function(contents) {
      var t1 = document,
        element = t1.createElement("a"),
        t2 = Date.now(),
        now = new P.DateTime(t2, false),
        fileName = "dart_devtools_" + ("" + H.Primitives_getYear(now) + "_" + H.Primitives_getMonth(now) + "_" + H.Primitives_getDay(now) + "-" + 1000 * t2) + ".json";
      element.setAttribute("href", (self.URL || self.webkitURL).createObjectURL(W.Blob_Blob([contents])));
      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;
    }
  };
  D.ImportController.prototype = {
    importData$1: function(jsonFile) {
      var activeScreenId, _this = this,
        json = jsonFile.data,
        t1 = Date.now(),
        t2 = _this.previousImportTime;
      if (t2 != null && Math.abs(t1 - t2._core$_value) < 500)
        return;
      _this.previousImportTime = new P.DateTime(t1, false);
      t1 = type$.legacy_Map_of_legacy_String_and_dynamic;
      if (!(t1._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._as(json);
      activeScreenId = J.$index$asx(json, "activeScreenId");
      $.offlineDataJson = json;
      _this._notifications.push$1('Attempting to import file for screen with id "' + H.S(activeScreenId) + '".');
      _this._import_export$_pushSnapshotScreenForImport.call$1(activeScreenId);
    }
  };
  D.ExportController.prototype = {
    encode$2: function(activeScreenId, contents) {
      var _s11_ = "traceEvents",
        t1 = type$.legacy_String,
        t2 = type$.legacy_Object,
        t3 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      t3.$indexSet(0, "devToolsSnapshot", true);
      t3.$indexSet(0, "activeScreenId", activeScreenId);
      t3.$indexSet(0, "devtoolsVersion", "2.3.3-dev.1");
      if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._flutterVersion != null)
        t3.$indexSet(0, "flutterVersion", $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._flutterVersion.version);
      if (activeScreenId === "performance" || activeScreenId === "legacy-performance") {
        t3.$indexSet(0, _s11_, P.List_List$from(contents.$index(0, _s11_), true, type$.legacy_Map_of_legacy_String_and_dynamic));
        contents.remove$1(0, _s11_);
      }
      t3.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal([activeScreenId, contents], t1, t2));
      return C.C_JsonCodec.encode$2$toEncodable(t3, null);
    }
  };
  T.allowedError_closure.prototype = {
    call$1: function(error) {
      var t1, errorLines;
      if (this.logError) {
        t1 = J.getInterceptor$(error);
        errorLines = H._setArrayType(t1.toString$0(error).split("\n"), type$.JSArray_String);
        window;
        t1 = "[" + t1.get$runtimeType(error).toString$0(0) + "] " + H.S(C.JSArray_methods.get$first(errorLines));
        if (typeof console != "undefined")
          window.console.groupCollapsed(t1);
        window;
        t1 = H.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: 1045
  };
  F.LogLevel.prototype = {
    toString$0: function(_) {
      return this._logger$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  E.Notification.prototype = {};
  L.ConnectedApp.prototype = {
    get$connectedAppInitialized: function() {
      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: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$self = this, t1;
      var $async$get$isFlutterApp = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._isFlutterApp;
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return P._asyncAwait($.globals.$index(0, C.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$isFlutterApp, $async$completer);
    },
    get$isProfileBuild: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$self = this, t1;
      var $async$get$isProfileBuild = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._isProfileBuild;
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return P._asyncAwait($async$self._connectedToProfileBuild$0(), $async$get$isProfileBuild);
            case 6:
              // returning from await.
              $async$result = $async$self._isProfileBuild = $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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$isProfileBuild, $async$completer);
    },
    get$isDartWebApp: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$self = this, t1;
      var $async$get$isDartWebApp = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._isDartWebApp;
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return P._asyncAwait($.globals.$index(0, C.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$isDartWebApp, $async$completer);
    },
    _connectedToProfileBuild$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, value;
      var $async$_connectedToProfileBuild$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vm.name === "ChromeDebugProxy") {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait(B.EvalOnDartLibrary$(H._setArrayType(["dart:io"], type$.JSArray_legacy_String), $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service, 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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_connectedToProfileBuild$0, $async$completer);
    },
    initializeValues$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, flutterVersionServiceListenable, listener;
      var $async$initializeValues$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(P.Future_wait(H._setArrayType([$async$self.get$isFlutterApp(), $async$self.get$isProfileBuild(), $async$self.get$isDartWebApp()], type$.JSArray_legacy_Future_legacy_bool), type$.legacy_bool), $async$initializeValues$0);
            case 2:
              // returning from await.
              $async$goto = $async$self._isFlutterApp && !$async$self._isDartWebApp ? 3 : 4;
              break;
            case 3:
              // then
              flutterVersionServiceListenable = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).registeredServiceListenable$1("flutterVersion");
              listener = new L.ConnectedApp_initializeValues_closure($async$self, flutterVersionServiceListenable);
              flutterVersionServiceListenable.toString;
              flutterVersionServiceListenable.super$ChangeNotifier$addListener(0, listener);
              listener.call$0();
              $async$goto = 5;
              return P._asyncAwait($async$self._flutterVersionCompleter.future.timeout$2$onTimeout(0, C.Duration_3000000, new L.ConnectedApp_initializeValues_closure0()), $async$initializeValues$0);
            case 5:
              // returning from await.
              $async$self._flutterVersion = $async$result;
              flutterVersionServiceListenable.removeListener$1(0, listener);
            case 4:
              // join
              U.generateDevToolsTitle();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$initializeValues$0, $async$completer);
    }
  };
  L.ConnectedApp_initializeValues_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, $async$temp1, $async$temp2;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = $async$self.flutterVersionServiceListenable._value ? 2 : 3;
              break;
            case 2:
              // then
              $async$temp1 = $async$self.$this._flutterVersionCompleter;
              $async$temp2 = T;
              $async$goto = 4;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).get$flutterVersion(), $async$call$0);
            case 4:
              // returning from await.
              $async$temp1.complete$1(0, $async$temp2.FlutterVersion_FlutterVersion$parse($async$result.json));
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 8
  };
  L.ConnectedApp_initializeValues_closure0.prototype = {
    call$0: function() {
      B.log("Timed out trying to fetch flutter version from `ConnectedApp.initializeValues`.", C.LogLevel_0);
      return P.Future_Future$value(null, type$.legacy_FlutterVersion);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1043
  };
  G.Console.prototype = {
    build$1: function(_, context) {
      return new G.ConsoleFrame(this.title, new G._ConsoleOutput(this.lines, null), null, null);
    }
  };
  G.ConsoleFrame.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = type$.JSArray_legacy_Widget,
        t2 = H._setArrayType([], t1);
      t2.push(this.title);
      t1 = H._setArrayType([this.child], t1);
      t2.push(T.Expanded$(M.Material$(C.Duration_200000, true, _null, T.Stack$(C.AlignmentDirectional_m1_m1, t1, C.Clip_1, C.StackFit_0, _null, _null), C.Clip_0, _null, 0, _null, _null, _null, _null, C.MaterialType_0), 1));
      return T.Column$(t2, C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    }
  };
  G._ConsoleOutput.prototype = {
    createState$0: function() {
      return new G._ConsoleOutputState(F.ScrollController$(0), C._StateLifecycle_0);
    }
  };
  G._ConsoleOutputState.prototype = {
    didUpdateWidget$1: function(oldWidget) {
      var pos, t3,
        t1 = this._scroll,
        t2 = t1._positions;
      if (t2.length !== 0) {
        pos = C.JSArray_methods.get$single(t2);
        t2 = pos._pixels;
        t2.toString;
        t3 = pos._maxScrollExtent;
        t3.toString;
        t3 = t2 === t3;
        t2 = t3;
      } else
        t2 = false;
      if (t2)
        U.ScrollControllerAutoScroll_autoScrollToBottom(t1);
      this.super$State$didUpdateWidget(oldWidget);
    },
    build$1: function(_, context) {
      var _null = null,
        theme = K.Theme_of(context),
        t1 = this._scroll,
        t2 = this._widget.lines;
      t2 = t2 == null ? _null : J.get$length$asx(t2);
      if (t2 == null)
        t2 = 0;
      return E.Scrollbar$(B.ListView$builder(t1, new G._ConsoleOutputState_build_closure(this, theme), t2, _null, C.EdgeInsets_8_8_8_8, _null, _null, C.Axis_1, false), t1, _null);
    }
  };
  G._ConsoleOutputState_build_closure.prototype = {
    call$2: function(context, index) {
      var _null = null,
        line = J.$index$asx(this.$this._widget.lines, index);
      if (line instanceof D.TextConsoleLine)
        return O.SelectableText$rich(Q.TextSpan$(B.processAnsiTerminalCodes(line.text, this.theme.textTheme.bodyText2.copyWith$1$fontFamily("RobotoMono")), _null, _null, _null, _null), _null, _null, _null);
      else if (line instanceof D.VariableConsoleLine)
        return new K.ExpandableVariable(new B.ValueNotifier(line.variable, P.List_List$filled(0, _null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_Variable), _null, _null);
      else
        return C.SizedBox_null_null_null_null;
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  G.DeleteControl.prototype = {
    build$1: function(_, context) {
      return new U.ToolbarAction(C.IconData_57785_MaterialIcons_false, this.tooltip, this.onPressed, this.buttonKey);
    }
  };
  G.CopyToClipboardControl.prototype = {
    build$1: function(_, context) {
      var t1 = this.dataProvider == null ? null : new G.CopyToClipboardControl_build_closure(this, context);
      return new U.ToolbarAction(C.IconData_57744_MaterialIcons_false, "Copy to clipboard", t1, this.buttonKey);
    }
  };
  G.CopyToClipboardControl_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      return B.copyToClipboard(t1.dataProvider.call$0(), t1.successMessage, this.context);
    },
    $signature: 3
  };
  A.BusEvent.prototype = {
    toString$0: function(_) {
      return this.type;
    }
  };
  A.MessageBus.prototype = {
    onEvent$1$type: function(type) {
      var t1 = this._message_bus$_controller,
        t2 = H._instanceType(t1);
      if (type == null)
        return new P._BroadcastStream(t1, t2._eval$1("_BroadcastStream<1>"));
      else {
        t2 = t2._eval$1("_BroadcastStream<1>");
        return new P._WhereStream(new A.MessageBus_onEvent_closure(type), new P._BroadcastStream(t1, t2), t2._eval$1("_WhereStream<Stream.T>"));
      }
    },
    onEvent$0: function() {
      return this.onEvent$1$type(null);
    }
  };
  A.MessageBus_onEvent_closure.prototype = {
    call$1: function($event) {
      return $event.type === this.type;
    },
    $signature: 127
  };
  F.CustomPointerScrollView.prototype = {
    build$1: function(_, context) {
      var _this = this,
        slivers = _this.buildSlivers$1(context),
        axisDirection = T.getAxisDirectionFromAxisReverseAndDirectionality(context, _this.scrollDirection, false),
        t1 = _this.primary,
        scrollController = t1 ? E.PrimaryScrollController_of(context) : _this.controller,
        scrollable = new F.CustomPointerScrollable(axisDirection, scrollController, _this.physics, new F.CustomPointerScrollView_build_closure(_this, axisDirection, slivers), _this.semanticChildCount, _this.dragStartBehavior, _this.customPointerSignalHandler, null);
      return t1 && scrollController != null ? E.PrimaryScrollController$none(scrollable) : scrollable;
    }
  };
  F.CustomPointerScrollView_build_closure.prototype = {
    call$2: function(context, offset) {
      return this.$this.buildViewport$4(context, offset, this.axisDirection, this.slivers);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 1029
  };
  F.CustomPointerScrollable.prototype = {
    createState$0: function() {
      var _null = null,
        t1 = type$.LabeledGlobalKey_legacy_State_legacy_StatefulWidget;
      return new F._CustomPointerScrollableState(new N.LabeledGlobalKey(_null, t1), new N.LabeledGlobalKey(_null, type$.LabeledGlobalKey_legacy_RawGestureDetectorState), new N.LabeledGlobalKey(_null, t1), C.Map_empty7, _null, C._StateLifecycle_0);
    },
    viewportBuilder$2: function(arg0, arg1) {
      return this.viewportBuilder.call$2(arg0, arg1);
    }
  };
  F._CustomPointerScrollableState.prototype = {
    get$axisDirection: function() {
      return this._widget.axisDirection;
    },
    _custom_pointer_scroll_view$_updatePosition$0: function() {
      var t2, controller, oldPosition, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = K.ScrollConfiguration_of(t1);
      _this._custom_pointer_scroll_view$_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);
        P.scheduleMicrotask(oldPosition.get$dispose(oldPosition));
      }
      t1 = controller == null;
      t2 = t1 ? null : controller.createScrollPosition$3(_this._custom_pointer_scroll_view$_physics, _this, oldPosition);
      if (t2 == null)
        t2 = R.ScrollPositionWithSingleContext$(_this, null, 0, true, oldPosition, _this._custom_pointer_scroll_view$_physics);
      _this._custom_pointer_scroll_view$_position = t2;
      if (!t1)
        controller.attach$1(t2);
    },
    saveOffset$1: function(offset) {
    },
    didChangeDependencies$0: function() {
      this._custom_pointer_scroll_view$_updatePosition$0();
      this.super$__CustomPointerScrollableState_State_TickerProviderStateMixin$didChangeDependencies();
    },
    _custom_pointer_scroll_view$_shouldUpdatePosition$1: function(oldWidget) {
      var t1, t2, t3, _null = null,
        newPhysics = this._widget.physics,
        oldPhysics = oldWidget.physics;
      do {
        t1 = newPhysics == null;
        t2 = t1 ? _null : H.getRuntimeType(newPhysics);
        t3 = oldPhysics == null;
        if (t2 != (t3 ? _null : H.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 : H.getRuntimeType(t1);
      t2 = oldWidget.controller;
      return t1 != (t2 == null ? _null : H.getRuntimeType(t2));
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.controller;
      t2 = oldWidget.controller;
      if (t1 != t2) {
        if (t2 != null)
          t2.detach$1(0, _this._custom_pointer_scroll_view$_position);
        t1 = _this._widget.controller;
        if (t1 != null)
          t1.attach$1(_this._custom_pointer_scroll_view$_position);
      }
      if (_this._custom_pointer_scroll_view$_shouldUpdatePosition$1(oldWidget))
        _this._custom_pointer_scroll_view$_updatePosition$0();
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._widget.controller;
      if (t1 != null)
        t1.detach$1(0, _this._custom_pointer_scroll_view$_position);
      _this._custom_pointer_scroll_view$_position.dispose$0(0);
      _this.super$__CustomPointerScrollableState_State_TickerProviderStateMixin$dispose(0);
    },
    setSemanticsActions$1: function(actions) {
      var t1 = this._custom_pointer_scroll_view$_gestureDetectorKey;
      if (t1.get$currentState() != null)
        t1.get$currentState().replaceSemanticsActions$1(actions);
    },
    setCanDrag$1: function(canDrag) {
      var t1, _this = this;
      if (canDrag === _this._custom_pointer_scroll_view$_lastCanDrag)
        t1 = !canDrag || G.axisDirectionToAxis(_this._widget.axisDirection) === _this._custom_pointer_scroll_view$_lastAxisDirection;
      else
        t1 = false;
      if (t1)
        return;
      if (!canDrag)
        _this._custom_pointer_scroll_view$_gestureRecognizers = C.Map_empty7;
      else {
        switch (G.axisDirectionToAxis(_this._widget.axisDirection)) {
          case C.Axis_1:
            _this._custom_pointer_scroll_view$_gestureRecognizers = P.LinkedHashMap_LinkedHashMap$_literal([C.Type_mLh, new D.GestureRecognizerFactoryWithHandlers(new F._CustomPointerScrollableState_setCanDrag_closure(), new F._CustomPointerScrollableState_setCanDrag_closure0(_this), type$.GestureRecognizerFactoryWithHandlers_legacy_VerticalDragGestureRecognizer)], type$.legacy_Type, type$.legacy_GestureRecognizerFactory_legacy_GestureRecognizer);
            break;
          case C.Axis_0:
            _this._custom_pointer_scroll_view$_gestureRecognizers = P.LinkedHashMap_LinkedHashMap$_literal([C.Type_Vq1, new D.GestureRecognizerFactoryWithHandlers(new F._CustomPointerScrollableState_setCanDrag_closure1(), new F._CustomPointerScrollableState_setCanDrag_closure2(_this), type$.GestureRecognizerFactoryWithHandlers_legacy_HorizontalDragGestureRecognizer)], type$.legacy_Type, type$.legacy_GestureRecognizerFactory_legacy_GestureRecognizer);
            break;
        }
        canDrag = true;
      }
      _this._custom_pointer_scroll_view$_lastCanDrag = canDrag;
      _this._custom_pointer_scroll_view$_lastAxisDirection = G.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: function() {
      return this;
    },
    setIgnorePointer$1: function(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$.legacy_RenderIgnorePointer._as($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject()).set$ignoring(_this._custom_pointer_scroll_view$_shouldIgnorePointer);
    },
    get$notificationContext: function() {
      return $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this._custom_pointer_scroll_view$_gestureDetectorKey);
    },
    get$storageContext: function() {
      var t1 = this._framework$_element;
      t1.toString;
      return t1;
    },
    _custom_pointer_scroll_view$_handleDragDown$1: function(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: function(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: function(details) {
      var t1 = this._custom_pointer_scroll_view$_drag;
      if (t1 != null)
        t1.update$1(0, details);
    },
    _custom_pointer_scroll_view$_handleDragEnd$1: function(details) {
      var t1 = this._custom_pointer_scroll_view$_drag;
      if (t1 != null)
        t1.end$1(0, details);
    },
    _custom_pointer_scroll_view$_handleDragCancel$0: function() {
      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: function() {
      this._custom_pointer_scroll_view$_hold = null;
    },
    _custom_pointer_scroll_view$_disposeDrag$0: function() {
      this._custom_pointer_scroll_view$_drag = null;
    },
    _custom_pointer_scroll_view$_targetScrollOffsetForPointerScroll$1: function($event) {
      var t1, t2, t3,
        delta = G.axisDirectionToAxis(this._widget.axisDirection) === C.Axis_0 ? $event.get$scrollDelta()._dx : $event.get$scrollDelta()._dy;
      if (G.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: function($event) {
      var targetScrollOffset, t1, _this = this;
      if (type$.legacy_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: function($event) {
      var targetScrollOffset, t2, _this = this,
        t1 = _this._custom_pointer_scroll_view$_physics;
      if (t1 != null && !t1.shouldAcceptUserOffset$1(_this._custom_pointer_scroll_view$_position))
        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: function(_, context) {
      var t4, t5, result, _this = this, _null = null,
        t1 = _this._custom_pointer_scroll_view$_position,
        t2 = _this._widget,
        t3 = t2.customPointerSignalHandler;
      if (t3 == null)
        t3 = _this.get$_custom_pointer_scroll_view$_receivedPointerSignal();
      t4 = _this._custom_pointer_scroll_view$_gestureRecognizers;
      t3 = T.Listener$(C.HitTestBehavior_0, new D.RawGestureDetector(T.Semantics$(_null, _null, new T.IgnorePointer(_this._custom_pointer_scroll_view$_shouldIgnorePointer, false, t2.viewportBuilder$2(context, t1), _this._custom_pointer_scroll_view$_ignorePointerKey), false, _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), t4, C.HitTestBehavior_1, false, _null, _this._custom_pointer_scroll_view$_gestureDetectorKey), _null, _null, t3, _null);
      t2 = _this._widget;
      t4 = _this._custom_pointer_scroll_view$_position;
      t5 = t2.physics;
      t5 = t5 != null || _null;
      if (t5 == null) {
        _this._custom_pointer_scroll_view$_physics.toString;
        t5 = true;
      }
      result = new F._ScrollSemantics0(t4, t5, t2.semanticChildCount, new F._ScrollableScope0(t1, t3, _null), _this._custom_pointer_scroll_view$_scrollSemanticsKey);
      t1 = _this._custom_pointer_scroll_view$_configuration;
      t3 = t2.controller;
      return t1.buildOverscrollIndicator$3(context, result, new F.ScrollableDetails(t2.axisDirection, t3));
    }
  };
  F._CustomPointerScrollableState_setCanDrag_closure.prototype = {
    call$0: function() {
      return O.VerticalDragGestureRecognizer$(null, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 997
  };
  F._CustomPointerScrollableState_setCanDrag_closure0.prototype = {
    call$1: function(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: 996
  };
  F._CustomPointerScrollableState_setCanDrag_closure1.prototype = {
    call$0: function() {
      return O.HorizontalDragGestureRecognizer$(null, null, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 958
  };
  F._CustomPointerScrollableState_setCanDrag_closure2.prototype = {
    call$1: function(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: 953
  };
  F._ScrollableScope0.prototype = {
    updateShouldNotify$1: function(old) {
      return this.position != old.position;
    }
  };
  F._ScrollSemantics0.prototype = {
    createRenderObject$1: function(context) {
      var t1 = this.position,
        t2 = new F._RenderScrollSemantics0(t1, true, this.semanticChildCount, null);
      t2.get$isRepaintBoundary();
      t2.get$alwaysNeedsCompositing();
      t2.__RenderObject__needsCompositing = false;
      t2.set$child(null);
      t1.addListener$1(0, t2.get$markNeedsSemanticsUpdate());
      return t2;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$allowImplicitScrolling(true);
      renderObject.set$position(0, this.position);
      renderObject.set$semanticChildCount(this.semanticChildCount);
    }
  };
  F._RenderScrollSemantics0.prototype = {
    set$position: function(_, 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: function(value) {
      return;
    },
    set$semanticChildCount: function(value) {
      if (value == this._custom_pointer_scroll_view$_semanticChildCount)
        return;
      this._custom_pointer_scroll_view$_semanticChildCount = value;
      this.markNeedsSemanticsUpdate$0();
    },
    describeSemanticsConfiguration$1: function(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(C.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: function(node, config, children) {
      var t1, t2, excluded, included, firstVisibleIndex, _i, child, _this = this;
      if (children.length !== 0) {
        t1 = C.JSArray_methods.get$first(children).tags;
        t1 = !(t1 != null && t1.contains$1(0, C.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._semantics$_rect;
      t1.set$rect(0, new P.Rect(0, 0, 0 + (t2.right - t2.left), 0 + (t2.bottom - t2.top)));
      t2 = type$.JSArray_legacy_SemanticsNode;
      excluded = H._setArrayType([_this._custom_pointer_scroll_view$_innerNode], t2);
      included = H._setArrayType([], t2);
      for (t1 = children.length, firstVisibleIndex = null, _i = 0; _i < children.length; children.length === t1 || (0, H.throwConcurrentModificationError)(children), ++_i) {
        child = children[_i];
        t2 = child.tags;
        if (t2 != null && t2.contains$1(0, C.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: function() {
      this.super$RenderObject$clearSemantics();
      this._custom_pointer_scroll_view$_innerNode = null;
    }
  };
  F.__CustomPointerScrollableState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  F.Breakpoints.prototype = {
    createState$0: function() {
      return new F._BreakpointsState(C._StateLifecycle_0);
    }
  };
  F._BreakpointsState.prototype = {
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_DebuggerController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
    },
    build$1: function(_, context) {
      return N.ValueListenableBuilder$(new F._BreakpointsState_build_closure(this), this.controller._breakpointsWithLocation, type$.legacy_List_legacy_BreakpointAndSourcePosition);
    },
    buildBreakpoint$2: function(bp, selectedBreakpoint) {
      var theme, isSelected, t2, t3, t4, t5, _null = null,
        t1 = this._framework$_element;
      t1.toString;
      theme = K.Theme_of(t1);
      t1 = bp.breakpoint.id;
      isSelected = t1 == (selectedBreakpoint == null ? _null : selectedBreakpoint.breakpoint.id);
      t1 = isSelected ? theme.selectedRowColor : _null;
      t2 = M.Container$(_null, _null, C.Clip_0, _null, _null, new S.BoxDecoration((isSelected ? A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.textTheme.bodyText2.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null)).color, _null, _null, _null, _null, _null, _null, C.BoxShape_1), _null, 6, _null, _null, _null, _null, _null, 6);
      t3 = H.S(C.JSArray_methods.get$last(bp.get$scriptUri().split("/"))) + ":" + H.S(bp.get$line(bp));
      t4 = isSelected ? A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.textTheme.bodyText2.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      t5 = " (" + H.S(bp.get$scriptUri()) + ")";
      return M.Material$(C.Duration_200000, true, _null, R.InkWell$(false, true, new T.Padding(C.EdgeInsets_2_2_2_2, T.Row$(H._setArrayType([new T.Padding(C.EdgeInsets_2_0_4_0, t2, _null), new T.Flexible(1, C.FlexFit_1, T.RichText$(_null, 1, C.TextOverflow_2, true, _null, Q.TextSpan$(H._setArrayType([Q.TextSpan$(_null, _null, _null, isSelected ? A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, _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, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), t5)], type$.JSArray_legacy_InlineSpan), _null, _null, t4, t3), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new F._BreakpointsState_buildBreakpoint_closure(this, bp), _null, _null, _null, _null, _null), C.Clip_0, t1, 0, _null, _null, _null, _null, C.MaterialType_0);
    }
  };
  F._BreakpointsState_build_closure.prototype = {
    call$3: function(context, breakpoints, _) {
      var t1 = this.$this;
      return N.ValueListenableBuilder$(new F._BreakpointsState_build__closure(t1, breakpoints), t1.controller._selectedBreakpoint, type$.legacy_BreakpointAndSourcePosition);
    },
    $signature: 950
  };
  F._BreakpointsState_build__closure.prototype = {
    call$3: function(context, selectedBreakpoint, _) {
      var _null = null,
        t1 = this.breakpoints;
      return B.ListView$builder(_null, new F._BreakpointsState_build___closure(this.$this, t1, selectedBreakpoint), J.get$length$asx(t1), 28, _null, _null, _null, C.Axis_1, false);
    },
    $signature: 926
  };
  F._BreakpointsState_build___closure.prototype = {
    call$2: function(_, index) {
      return this.$this.buildBreakpoint$2(J.$index$asx(this.breakpoints, index), this.selectedBreakpoint);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  F._BreakpointsState_buildBreakpoint_closure.prototype = {
    call$0: function() {
      var t3,
        t1 = this.bp,
        t2 = this.$this.controller;
      t2._selectedBreakpoint.set$value(0, t1);
      t3 = t1.sourcePosition;
      if (t3 == null)
        t2.showScriptLocation$1(new E.ScriptLocation(t1.get$scriptRef(), null));
      else
        t2.showScriptLocation$1(new E.ScriptLocation(t1.get$scriptRef(), t3));
      return null;
    },
    $signature: 0
  };
  F.BreakpointsCountBadge.prototype = {
    build$1: function(_, context) {
      return new U.Badge($.$get$nf().format$1(J.get$length$asx(this.breakpoints)), null);
    }
  };
  N.CallStack.prototype = {
    createState$0: function() {
      return new N._CallStackState(C._StateLifecycle_0);
    }
  };
  N._CallStackState.prototype = {
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_DebuggerController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
    },
    build$1: function(_, context) {
      return N.ValueListenableBuilder$(new N._CallStackState_build_closure(this), this.controller._stackFramesWithLocation, type$.legacy_List_legacy_StackFrameAndSourcePosition);
    },
    _buildStackFrame$2: function(frame, selected) {
      var theme, t2, asyncMarker, asyncFrame, noLineInfo, frameDescription, locationDescription, child, t3, result, _this = this, _null = null,
        _s21_ = "AsyncSuspensionMarker",
        t1 = _this._framework$_element;
      t1.toString;
      theme = K.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 = _this._descriptionFor$1(frame);
      locationDescription = _this._locationFor$1(frame);
      if (asyncMarker)
        child = T.Row$(H._setArrayType([C.SizedBox_Otz, new T.Padding(C.EdgeInsets_4_0_4_0, L.Text$(frameDescription, _null, _null, _null, _null, _null, selected ? A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, _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, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null), _null), C.Expanded_CpJ], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
      else {
        if (selected)
          t2 = A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        else
          t2 = asyncFrame || noLineInfo ? A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.textTheme.bodyText2.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        t3 = " " + H.S(locationDescription);
        child = T.RichText$(_null, 1, C.TextOverflow_2, true, _null, Q.TextSpan$(H._setArrayType([Q.TextSpan$(_null, _null, _null, selected ? A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, _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, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), t3)], type$.JSArray_legacy_InlineSpan), _null, _null, t2, frameDescription), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0);
      }
      t1 = t1.kind;
      t2 = selected ? theme.selectedRowColor : _null;
      result = M.Material$(C.Duration_200000, true, _null, R.InkWell$(false, true, M.Container$(C.Alignment_m1_0, child, C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_0_4_0, _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new N._CallStackState__buildStackFrame_closure(_this, frame), _null, _null, _null, _null, _null), C.Clip_0, t2, 0, _null, _null, _null, _null, C.MaterialType_0);
      if (t1 === _s21_)
        return result;
      else
        return S.Tooltip$(result, _null, locationDescription == null ? frameDescription : frameDescription + " " + locationDescription, _null, _null, C.Duration_1000000);
    },
    _onStackFrameSelected$1: function(frame) {
      return this._onStackFrameSelected$body$_CallStackState(frame);
    },
    _onStackFrameSelected$body$_CallStackState: function(frame) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_onStackFrameSelected$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.controller.selectStackFrame$1(frame);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_onStackFrameSelected$1, $async$completer);
    },
    _descriptionFor$1: function(frame) {
      var $name,
        t1 = frame.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 (C.JSString_methods.startsWith$1($name, "[Unoptimized] "))
        $name = C.JSString_methods.substring$1($name, 14);
      $name = H.stringReplaceAllUnchecked($name, "<anonymous closure>", "<closure>");
      return $name === "<none>" ? $name : $name + "()";
    },
    _locationFor$1: function(frame) {
      var uri, file, t2, t3, _null = null,
        t1 = frame.frame.location;
      t1 = t1 == null ? _null : t1.script;
      uri = t1 == null ? _null : t1.get$uri();
      if (uri == null)
        return uri;
      file = C.JSArray_methods.get$last(uri.split("/"));
      t1 = frame.position;
      t2 = t1 == null;
      if ((t2 ? _null : t1.line) == null)
        t1 = file;
      else {
        t3 = H.S(file) + " ";
        t1 = t3 + H.S(t2 ? _null : t1.line);
      }
      return t1;
    }
  };
  N._CallStackState_build_closure.prototype = {
    call$3: function(context, stackFrames, _) {
      var t1 = this.$this;
      return N.ValueListenableBuilder$(new N._CallStackState_build__closure(t1, stackFrames), t1.controller._selectedStackFrame, type$.legacy_StackFrameAndSourcePosition);
    },
    $signature: 925
  };
  N._CallStackState_build__closure.prototype = {
    call$3: function(context, selectedFrame, _) {
      var _null = null,
        t1 = this.stackFrames;
      return B.ListView$builder(_null, new N._CallStackState_build___closure(this.$this, t1, selectedFrame), J.get$length$asx(t1), 28, _null, _null, _null, C.Axis_1, false);
    },
    $signature: 924
  };
  N._CallStackState_build___closure.prototype = {
    call$2: function(_, index) {
      var frame = J.$index$asx(this.stackFrames, index);
      return this.$this._buildStackFrame$2(frame, frame == this.selectedFrame);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  N._CallStackState__buildStackFrame_closure.prototype = {
    call$0: function() {
      return this.$this._onStackFrameSelected$1(this.frame);
    },
    $signature: 3
  };
  K.CodeView.prototype = {
    createState$0: function() {
      var _null = null;
      return new K._CodeViewState(_null, _null, _null, _null, 769, 772, 13, 27, 9, 458792, 458795, K.Disposer$(), C._StateLifecycle_0);
    },
    onSelected$2: function(arg0, arg1) {
      return this.onSelected.call$2(arg0, arg1);
    }
  };
  K._CodeViewState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin$initState();
      t1 = new T.LinkedScrollControllerGroup(H._setArrayType([], type$.JSArray_legacy__LinkedScrollController));
      t1._offsetNotifier = new T._LinkedScrollControllerGroupOffsetNotifier(t1, P.List_List$filled(0, null, false, type$.nullable_void_Function));
      _this.verticalController = t1;
      _this.gutterController = t1.addAndGet$0();
      _this.textController = _this.verticalController.addAndGet$0();
      _this.addAutoDisposeListener$2(_this._widget.controller._scriptLocation, _this.get$_handleScriptLocationChanged());
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.controller != oldWidget.controller) {
        _this.AutoDisposeMixin__delegate.cancel$0(0);
        _this.addAutoDisposeListener$2(_this._widget.controller._scriptLocation, _this.get$_handleScriptLocationChanged());
      }
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this.gutterController;
      C.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
      t1.super$ScrollController$dispose(0);
      t1 = _this.textController;
      C.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
      t1.super$ScrollController$dispose(0);
      _this._widget.controller._scriptLocation.removeListener$1(0, _this.get$_handleScriptLocationChanged());
      _this.super$__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin$dispose(0);
    },
    _handleScriptLocationChanged$0: function() {
      if (this._framework$_element != null)
        this._codeview$_updateScrollPosition$0();
    },
    _codeview$_updateScrollPosition$1$animate: function(animate) {
      var $location, extent, scrollPosition, _this = this,
        t1 = _this._widget,
        t2 = t1.controller._scriptLocation._value;
      t2 = t2 == null ? null : t2.scriptRef;
      if (!J.$eq$(t2, t1.scriptRef))
        return;
      t1 = _this._widget.controller._scriptLocation._value;
      $location = t1 == null ? null : t1.location;
      if (($location == null ? null : $location.line) == null)
        return;
      t1 = _this.verticalController.get$_attachedControllers();
      if (t1.get$isEmpty(t1)) {
        B.log("LinkedScrollControllerGroup has no attached controllers", C.LogLevel_0);
        return;
      }
      t1 = _this.verticalController.get$_attachedControllers();
      t1 = t1.get$first(t1);
      t1.toString;
      t2 = J.getInterceptor$x(t1);
      extent = F.ScrollController.prototype.get$position.call(t2, t1).get$extentInside();
      if (_this._widget.parsedScript.lines.length * B.scaleByFontFactor(20) > extent) {
        scrollPosition = ($location.line - 1) * B.scaleByFontFactor(20) - (extent - B.scaleByFontFactor(20)) / 2;
        t1 = _this.verticalController;
        if (animate)
          t1.animateTo$3$curve$duration(scrollPosition, C.Cubic_oKc, C.Duration_400000);
        else
          t1.jumpTo$1(scrollPosition);
      }
    },
    _codeview$_updateScrollPosition$0: function() {
      return this._codeview$_updateScrollPosition$1$animate(true);
    },
    _codeview$_onPressed$1: function(line) {
      var t1 = this._widget;
      t1.onSelected$2(t1.scriptRef, line);
    },
    build$1: function(_, context) {
      var _null = null,
        theme = K.Theme_of(context),
        t1 = this._widget;
      if (t1.scriptRef == null)
        return T.Center$(L.Text$("No script selected", _null, _null, _null, _null, _null, theme.textTheme.subtitle1, _null, _null, _null), _null, _null, _null);
      if (t1.parsedScript == null)
        return C.CenteredCircularProgressIndicator_null;
      return N.ValueListenableBuilder$(new K._CodeViewState_build_closure(this), t1.controller._showSearchInFileField, type$.legacy_bool);
    },
    buildCodeArea$1: function(context) {
      var highlighted, _i, line, t4, t5, _this = this, _null = null,
        _s10_ = "RobotoMono",
        _box_0 = {},
        theme = K.Theme_of(context),
        t1 = type$.JSArray_legacy_TextSpan,
        lines = H._setArrayType([], t1),
        t2 = _this._widget.parsedScript,
        t3 = t2.script.source;
      if (t3 != null)
        if (t3.length < 500000 && true) {
          highlighted = t2.highlighter.highlight$1(0, context);
          _box_0.currentLine = H._setArrayType([], t1);
          highlighted.visitChildren$1(new K._CodeViewState_buildCodeArea_closure(_box_0, lines, theme));
          t1 = theme.textTheme.bodyText2.copyWith$1$fontFamily(_s10_);
          lines.push(Q.TextSpan$(_box_0.currentLine, _null, _null, t1, _null));
        } else {
          t1 = H._setArrayType([], t1);
          for (t2 = _this._widget.parsedScript.script.source.split("\n"), t3 = t2.length, _i = 0; _i < t3; ++_i) {
            line = t2[_i];
            t4 = theme.textTheme.bodyText2.copyWith$1$fontFamily(_s10_);
            t1.push(new Q.TextSpan(line, _null, _null, C.C__DeferringMouseCursor, _null, t4));
          }
          C.JSArray_methods.addAll$1(lines, t1);
        }
      t1 = B.scaleByFontFactor(16);
      t2 = B.scaleByFontFactor(16);
      t3 = 0.001 + Math.log(Math.max(lines.length, 100)) / 2.302585092994046;
      t3 = t3 < 0 ? Math.ceil(t3) : Math.floor(t3);
      _this._codeview$_updateScrollPosition$1$animate(false);
      t4 = _this._widget.controller;
      t5 = t4.scriptsHistory;
      return new G.HistoryViewport(t5, new K._CodeViewState_buildCodeArea_closure0(), H._setArrayType([new K.ScriptPopupMenu(t4, _null), new K.ScriptHistoryPopupMenu(_this.get$_buildScriptMenuFromHistory(), new K._CodeViewState_buildCodeArea_closure1(_this), t5._openedScripts._collection$_length !== 0, _null)], type$.JSArray_legacy_Widget), new K._CodeViewState_buildCodeArea_closure2(_this, lines, theme, t1 * 1.5 + t2 * t3), _null, type$.HistoryViewport_legacy_ScriptRef);
    },
    buildSearchInFileField$0: function() {
      var t2, t3, t4, t5, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = K.Theme_of(t1).scaffoldBackgroundColor;
      t2 = K.BorderRadius$circular(4);
      t3 = _this._widget;
      t4 = t3.controller;
      t5 = $.$get$debuggerCodeViewSearchKey();
      return V.Card$(M.Container$(_null, _this.buildSearchField$6$controller$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(t4, new K._CodeViewState_buildSearchInFileField_closure(_this), t3.parsedScript != null, t5, true, true), C.Clip_0, _null, _null, _null, _null, 48, _null, _null, C.EdgeInsets_8_8_8_8, _null, _null, 400), t1, 4, _null, new X.RoundedRectangleBorder(t2, C.BorderSide_06g));
    },
    _buildScriptMenuFromHistory$1: function(context) {
      var t2,
        t1 = this._widget.controller.scriptsHistory._openedScripts;
      t1 = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("SetMixin.E"));
      t2 = H._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
      t2 = H.SubListIterable$(new H.ReversedListIterable(t1, t2), 0, H.checkNotNullable(16, "count", type$.int), t2._eval$1("ListIterable.E"));
      t1 = t2.$ti._eval$1("MappedListIterable<ListIterable.E,PopupMenuItem<ScriptRef*>*>");
      return P.List_List$of(new H.MappedListIterable(t2, new K._CodeViewState__buildScriptMenuFromHistory_closure(context), t1), true, t1._eval$1("ListIterable.E"));
    }
  };
  K._CodeViewState_build_closure.prototype = {
    call$3: function(context, showSearch, _) {
      var _null = null,
        t1 = this.$this,
        t2 = H._setArrayType([t1.buildCodeArea$1(context)], type$.JSArray_legacy_Widget);
      if (showSearch)
        t2.push(T.Positioned$(_null, t1.buildSearchInFileField$0(), _null, _null, _null, 75, 8, _null));
      return T.Stack$(C.AlignmentDirectional_m1_m1, t2, C.Clip_1, C.StackFit_0, _null, _null);
    },
    $signature: 910
  };
  K._CodeViewState_buildCodeArea_closure.prototype = {
    call$1: function(span) {
      var t2,
        t1 = this._box_0;
      t1.currentLine.push(span);
      if (span.toPlainText$0() === "\n") {
        t2 = this.theme.textTheme.bodyText2.copyWith$1$fontFamily("RobotoMono");
        this.lines.push(Q.TextSpan$(t1.currentLine, null, null, t2, null));
        t1.currentLine = H._setArrayType([], type$.JSArray_legacy_TextSpan);
      }
      return true;
    },
    $signature: 909
  };
  K._CodeViewState_buildCodeArea_closure0.prototype = {
    call$1: function(script) {
      return script.get$uri();
    },
    $signature: 62
  };
  K._CodeViewState_buildCodeArea_closure1.prototype = {
    call$1: function(scriptRef) {
      this.$this._widget.controller.showScriptLocation$1(new E.ScriptLocation(scriptRef, null));
    },
    $signature: 907
  };
  K._CodeViewState_buildCodeArea_closure2.prototype = {
    call$2: function(context, script) {
      var t3, t4, _this = this, _null = null,
        t1 = _this.lines,
        t2 = _this.theme;
      if (t1.length !== 0) {
        t2 = t2.textTheme.bodyText2.copyWith$1$fontFamily("RobotoMono");
        t3 = _this.$this;
        t4 = t3.textController;
        return L.DefaultTextStyle$(T.Expanded$(E.Scrollbar$(N.ValueListenableBuilder$(new K._CodeViewState_buildCodeArea__closure(t3, _this.gutterWidth, t1), t3._widget.controller._selectedStackFrame, type$.legacy_StackFrameAndSourcePosition), t4, _null), 1), _null, _null, C.TextOverflow_0, true, t2, _null, _null, C.TextWidthBasis_0);
      } else
        return T.Expanded$(T.Center$(L.Text$("No source available", _null, _null, _null, _null, _null, t2.textTheme.subtitle1, _null, _null, _null), _null, _null, _null), 1);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 895
  };
  K._CodeViewState_buildCodeArea__closure.prototype = {
    call$3: function(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 T.Row$(H._setArrayType([N.ValueListenableBuilder$(new K._CodeViewState_buildCodeArea___closure(t1, _this.gutterWidth, t2, pausedFrame), t1._widget.controller._breakpointsWithLocation, type$.legacy_List_legacy_BreakpointAndSourcePosition), C.SizedBox_8_null_null_null, T.Expanded$(new A.LayoutBuilder(new K._CodeViewState_buildCodeArea___closure0(t1, t2, pausedFrame), _null), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    $signature: 880
  };
  K._CodeViewState_buildCodeArea___closure.prototype = {
    call$3: function(context, breakpoints, _) {
      var t5, _this = this,
        t1 = _this.$this,
        t2 = t1.gutterController,
        t3 = _this.lines.length,
        t4 = J.where$1$ax(breakpoints, new K._CodeViewState_buildCodeArea____closure(t1));
      t4 = P.List_List$of(t4, true, t4.$ti._eval$1("Iterable.E"));
      t5 = t1._widget;
      return new K.Gutter(_this.gutterWidth, t2, t3, _this.pausedFrame, t4, t5.parsedScript.executableLines, t1.get$_codeview$_onPressed(), !t5.controller.get$isSystemIsolate(), null);
    },
    $signature: 867
  };
  K._CodeViewState_buildCodeArea____closure.prototype = {
    call$1: function(bp) {
      return J.$eq$(bp.get$scriptRef(), this.$this._widget.scriptRef);
    },
    $signature: 125
  };
  K._CodeViewState_buildCodeArea___closure0.prototype = {
    call$2: function(context, constraints) {
      var t1 = this.$this,
        t2 = t1.textController;
      t1 = t1._widget.controller;
      return new K.Lines(constraints, t2, this.lines, this.pausedFrame, t1.SearchControllerMixin__searchMatches, t1.SearchControllerMixin__activeSearchMatch, null);
    },
    $signature: 865
  };
  K._CodeViewState_buildSearchInFileField_closure.prototype = {
    call$0: function() {
      return this.$this._widget.controller.toggleSearchInFileVisibility$1(false);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  K._CodeViewState__buildScriptMenuFromHistory_closure.prototype = {
    call$1: function(scriptRef) {
      var _null = null,
        t1 = P.Uri_parse(scriptRef.get$uri(), 0, _null);
      return Z.PopupMenuItem$(T.Column$(H._setArrayType([L.Text$(C.JSArray_methods.get$last(t1.get$path(t1).split("/")), _null, 1, C.TextOverflow_2, _null, _null, _null, _null, _null, _null), L.Text$(scriptRef.get$uri(), _null, 1, C.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(this.context).unselectedWidgetColor, _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)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1), scriptRef, type$.legacy_ScriptRef);
    },
    $signature: 861
  };
  K.Gutter.prototype = {
    build$1: function(_, context) {
      var t2, _this = this, _null = null,
        t1 = _this.breakpoints,
        bpLineSet = P.LinkedHashSet_LinkedHashSet$from(new H.MappedListIterable(t1, new K.Gutter_build_closure(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,@>")), type$.dynamic);
      t1 = K.Theme_of(context).focusColor;
      t2 = K.ThemeDataExtension_get_titleSolidBackgroundColor(K.Theme_of(context));
      return M.Container$(_null, B.ListView$builder(_this.scrollController, new K.Gutter_build_closure0(_this, bpLineSet), _this.lineCount, B.scaleByFontFactor(20), _null, _null, _null, C.Axis_1, false), C.Clip_0, _null, _null, new S.BoxDecoration(t2, _null, new F.Border(C.BorderSide_06g, new Y.BorderSide(t1, 1, C.BorderStyle_1), C.BorderSide_06g, C.BorderSide_06g), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _this.gutterWidth);
    }
  };
  K.Gutter_build_closure.prototype = {
    call$1: function(bp) {
      return bp.get$line(bp);
    },
    $signature: 860
  };
  K.Gutter_build_closure0.prototype = {
    call$2: function(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 K.GutterItem(lineNum, t2, t3, t1.allowInteraction, t4 === lineNum, new K.Gutter_build__closure(t1, lineNum), null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 857
  };
  K.Gutter_build__closure.prototype = {
    call$0: function() {
      return this.$this.onPressed.call$1(this.lineNum);
    },
    $signature: 0
  };
  K.GutterItem.prototype = {
    build$1: function(_, context) {
      var t5, _this = this, _null = null,
        theme = K.Theme_of(context),
        foregroundColor = theme.colorScheme.brightness === C.Brightness_0 ? theme.textTheme.bodyText2.color : theme.primaryColor,
        subtleColor = theme.unselectedWidgetColor,
        t1 = _this.allowInteraction,
        t2 = t1 ? _null : C.SystemMouseCursor_basic,
        t3 = B.scaleByFontFactor(20),
        t4 = H._setArrayType([], type$.JSArray_legacy_Widget);
      if (t1)
        t1 = _this.isExecutable || _this.isBreakpoint;
      else
        t1 = false;
      if (t1) {
        t1 = _this.isBreakpoint;
        t5 = t1 ? 6 : 1.5;
        t1 = t1 ? foregroundColor : subtleColor;
        t5 = S.BoxConstraints$tightFor(t5, t5);
        t4.push(new T.Align(C.Alignment_m1_0, _null, _null, T.SizedBox$(T.Center$(new G.AnimatedContainer(new S.BoxDecoration(t1, _null, _null, _null, _null, _null, _null, C.BoxShape_1), t5, C.Cubic_oKc, C.Duration_200000, _null, _null), _null, _null, _null), 12, 12), _null));
      }
      t4.push(L.Text$("" + _this.lineNumber, _null, _null, _null, _null, _null, _null, C.TextAlign_5, _null, _null));
      t1 = _this.isPausedHere ? 1 : 0;
      t4.push(M.Container$(C.Alignment_m1_0, G.AnimatedOpacity$(false, L.Icon$(C.IconData_58208_MaterialIcons_true, foregroundColor, 16), C.Cubic_oKc, C.Duration_200000, _null, t1), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_10_0_0_0, _null, _null, _null));
      return R.InkWell$(false, true, M.Container$(_null, T.Stack$(C.AlignmentDirectional_m1_0, t4, C.Clip_1, C.StackFit_1, _null, _null), C.Clip_0, _null, _null, _null, _null, t3, _null, _null, C.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);
    }
  };
  K.Lines.prototype = {
    createState$0: function() {
      return new K._LinesState(K.Disposer$(), C._StateLifecycle_0);
    },
    get$constraints: function() {
      return this.constraints;
    },
    get$searchMatchesNotifier: function() {
      return this.searchMatchesNotifier;
    },
    get$activeSearchMatchNotifier: function() {
      return this.activeSearchMatchNotifier;
    }
  };
  K._LinesState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      t1 = _this._widget.searchMatchesNotifier;
      _this.searchMatches = t1._value;
      _this.addAutoDisposeListener$2(t1, new K._LinesState_initState_closure(_this));
      t1 = _this._widget.activeSearchMatchNotifier;
      _this.activeSearch = t1._value;
      _this.addAutoDisposeListener$2(t1, new K._LinesState_initState_closure0(_this));
    },
    build$1: function(_, 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.scaleByFontFactor(20);
      return B.ListView$builder(t1, new K._LinesState_build_closure(this, pausedLine), this._widget.lines.length, t2, _null, _null, _null, C.Axis_1, false);
    },
    searchMatchesForLine$1: function(index) {
      var t1 = J.where$1$ax(this.searchMatches, new K._LinesState_searchMatchesForLine_closure(index));
      return P.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
    }
  };
  K._LinesState_initState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new K._LinesState_initState__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  K._LinesState_initState__closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.searchMatches = t1._widget.searchMatchesNotifier._value;
    },
    $signature: 1
  };
  K._LinesState_initState_closure0.prototype = {
    call$0: function() {
      var t2, t3, t4, t5, t6, t7, t8, isOutOfViewBottom, targetOffset,
        t1 = this.$this;
      t1.setState$1(new K._LinesState_initState__closure(t1));
      t2 = t1.activeSearch;
      if (t2 != null) {
        t2 = t2.position;
        t3 = B.scaleByFontFactor(20);
        t4 = t1._widget.scrollController;
        t4 = t4.get$position(t4)._pixels;
        t4.toString;
        t5 = B.scaleByFontFactor(20);
        t6 = t1.activeSearch.position;
        t7 = B.scaleByFontFactor(20);
        t8 = t1._widget.scrollController;
        t8 = t8.get$position(t8)._pixels;
        t8.toString;
        isOutOfViewBottom = t6.line * t7 > t8 + t1._widget.constraints.maxHeight - B.scaleByFontFactor(20);
        if (t2.line * t3 < t4 + t5 || isOutOfViewBottom) {
          t2 = t1.activeSearch.position;
          t3 = B.scaleByFontFactor(20);
          t1 = t1._widget;
          targetOffset = Math.max(t2.line * t3 - t1.constraints.maxHeight / 2, 0);
          t1.scrollController.animateTo$3$curve$duration(targetOffset, C.Cubic_oKc, C.Duration_200000);
        }
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  K._LinesState_initState__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.activeSearch = t1._widget.activeSearchMatchNotifier._value;
    },
    $signature: 1
  };
  K._LinesState_build_closure.prototype = {
    call$2: function(context, index) {
      var t4, t5, _null = null,
        t1 = this.$this,
        t2 = t1._widget,
        t3 = t2.lines[index];
      t2 = this.pausedLine === index + 1 ? t2.pausedFrame : _null;
      t4 = t1.searchMatchesForLine$1(index);
      t1 = t1.activeSearch;
      t5 = t1 == null ? _null : t1.position;
      return new K.LineItem(t3, t2, t4, (t5 == null ? _null : t5.line) === index ? t1 : _null, _null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 849
  };
  K._LinesState_searchMatchesForLine_closure.prototype = {
    call$1: function(searchToken) {
      return searchToken.position.line === this.index;
    },
    $signature: 838
  };
  K.LineItem.prototype = {
    createState$0: function() {
      return new K._LineItemState(C._StateLifecycle_0);
    }
  };
  K._LineItemState.prototype = {
    _onHoverExit$0: function() {
      var _this = this,
        t1 = _this._codeview$_showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._hasMouseExited = true;
      _this._removeTimer = P.Timer_Timer(C.Duration_50000, new K._LineItemState__onHoverExit_closure(_this));
    },
    _codeview$_onHover$2: function($event, context) {
      var _this = this,
        t1 = _this._codeview$_showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this._removeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._hasMouseExited = false;
      if (!_this._debuggerController._isPaused._value)
        return;
      _this._codeview$_showTimer = P.Timer_Timer(C.Duration_150000, new K._LineItemState__onHover_closure(_this, $event, context));
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._codeview$_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.super$State$dispose(0);
    },
    build$1: function(_, context) {
      var t1, t2, column, foregroundColor, child, backgroundColor, _this = this, _null = null,
        theme = K.Theme_of(context),
        darkTheme = theme.colorScheme.brightness === C.Brightness_0;
      _this._debuggerController = Y.Provider_of(context, true, type$.legacy_DebuggerController);
      t1 = _this._widget;
      t2 = t1.pausedFrame;
      if (t2 != null) {
        t2 = t2.position;
        column = t2 == null ? _null : t2.column;
        foregroundColor = darkTheme ? theme.textTheme.bodyText2.color : theme.primaryColor;
        t2 = type$.JSArray_legacy_Widget;
        child = T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([T.Row$(H._setArrayType([T.Opacity$(false, T.RichText$(_null, _null, C.TextOverflow_0, true, _null, B.truncateTextSpan(t1.lineContents, column - 1), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0), 0), T.Transform$translate(T.Transform$rotate(C.Alignment_0_0, -1.5707963267948966, L.Icon$(C.IconData_58209_MaterialIcons_true, foregroundColor, 13), _null), C.Offset_m3_13)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _this._hoverableLine$0()], t2), C.Clip_1, C.StackFit_0, _null, _null);
      } else
        child = _this._hoverableLine$0();
      if (_this._widget.pausedFrame != null) {
        t1 = theme.canvasColor;
        backgroundColor = darkTheme ? U.ColorExtension_brighten(t1) : U.ColorExtension_darken(t1, 0.05);
      } else
        backgroundColor = _null;
      return M.Container$(C.Alignment_m1_0, child, C.Clip_0, backgroundColor, _null, _null, _null, B.scaleByFontFactor(20), _null, _null, _null, _null, _null, _null);
    },
    _contentsWithMatch$3: function(startingContents, match, matchColor) {
      var t2, t3, startColumnForSpan, t4, buffer, t5, spanText, startColumnForMatch, matchStartInSpan, t6, matchEndInSpan, t7, matchStyle, matchText, trailingText, remainingMatchLength, _null = null,
        t1 = type$.JSArray_legacy_TextSpan,
        contentsWithMatch = H._setArrayType([], t1);
      for (t2 = J.get$iterator$ax(startingContents), t3 = type$.DefaultTextStyle, startColumnForSpan = 0; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        buffer = new P.StringBuffer("");
        t4.computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, true, true);
        t5 = buffer._contents;
        spanText = t5.charCodeAt(0) == 0 ? t5 : t5;
        t5 = match.position;
        startColumnForMatch = t5.column;
        if (startColumnForSpan <= startColumnForMatch && startColumnForSpan + spanText.length > startColumnForMatch) {
          matchStartInSpan = startColumnForMatch - startColumnForSpan;
          t6 = match.length;
          matchEndInSpan = matchStartInSpan + t6;
          t7 = C.JSString_methods.substring$2(spanText, 0, matchStartInSpan);
          t4 = t4.style;
          contentsWithMatch.push(new Q.TextSpan(t7, _null, _null, C.C__DeferringMouseCursor, _null, t4));
          if (t4 == null) {
            t7 = this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(t3);
            t7 = (t7 == null ? C.DefaultTextStyle_kWM : t7).style;
          } else
            t7 = t4;
          matchStyle = t7.copyWith$2$backgroundColor$color(matchColor, C.Color_4278190080);
          t7 = spanText.length;
          if (matchEndInSpan <= t7) {
            matchText = C.JSString_methods.substring$2(spanText, matchStartInSpan, matchEndInSpan);
            trailingText = C.JSString_methods.substring$1(spanText, matchEndInSpan);
            t5 = H._setArrayType([new Q.TextSpan(matchText, _null, _null, C.C__DeferringMouseCursor, _null, matchStyle)], t1);
            if (trailingText.length !== 0)
              t5.push(new Q.TextSpan(trailingText, _null, _null, C.C__DeferringMouseCursor, _null, t4));
            C.JSArray_methods.addAll$1(contentsWithMatch, t5);
          } else {
            t4 = C.JSString_methods.substring$1(spanText, matchStartInSpan);
            contentsWithMatch.push(new Q.TextSpan(t4, _null, _null, C.C__DeferringMouseCursor, _null, matchStyle));
            remainingMatchLength = t6 - (t7 - matchStartInSpan);
            match = new E.SourceToken(new E.SourcePosition(t5.line, startColumnForMatch + t6 - remainingMatchLength, _null), remainingMatchLength, false, false);
          }
        } else
          contentsWithMatch.push(t4);
        startColumnForSpan += spanText.length;
      }
      return contentsWithMatch;
    },
    _activeSearchAwareLineContents$1: function(startingContents) {
      var t1 = this._widget.activeSearchMatch;
      if (t1 == null)
        return startingContents;
      return this._contentsWithMatch$3(startingContents, t1, C.MaterialAccentColor_Map_iTsEs_4294945600);
    },
    _searchMatchAwareLineContents$1: function(startingContents) {
      var searchMatchesToFind, contentsWithMatch, _i,
        t1 = this._widget.searchMatches;
      if (t1.length === 0)
        return startingContents;
      searchMatchesToFind = P.List_List$from(t1, true, type$.legacy_SourceToken);
      C.JSArray_methods.remove$1(searchMatchesToFind, this._widget.activeSearchMatch);
      for (t1 = searchMatchesToFind.length, contentsWithMatch = startingContents, _i = 0; _i < searchMatchesToFind.length; searchMatchesToFind.length === t1 || (0, H.throwConcurrentModificationError)(searchMatchesToFind), ++_i)
        contentsWithMatch = this._contentsWithMatch$3(contentsWithMatch, searchMatchesToFind[_i], C.MaterialColor_Map_JNHRl_4294961979);
      return contentsWithMatch;
    },
    _hoverableLine$0: function() {
      var _this = this, _null = null;
      return new T.MouseRegion(_null, new K._LineItemState__hoverableLine_closure(_this), new K._LineItemState__hoverableLine_closure0(_this), C.C__DeferringMouseCursor, true, O.SelectableText$rich(Q.TextSpan$(_this._searchMatchAwareLineContents$1(_this._activeSearchAwareLineContents$1(_this._widget.lineContents.children)), _null, _null, _this._widget.lineContents.style, _null), 1, _null, C.NeverScrollableScrollPhysics_null), _null);
    }
  };
  K._LineItemState__onHoverExit_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._hoverCard;
      if (t2 != null)
        if (!t2._hasMouseEntered)
          t2.remove$0(0);
      t1._previousHoverWord = "";
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  K._LineItemState__onHover_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, response, variable, t3, exception, t1, t2, word, $async$exception;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.event;
              t2 = $async$self.$this;
              word = U.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._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 P._asyncAwait(t2._debuggerController.evalAtCurrentFrame$1(word), $async$call$0);
            case 9:
              // returning from await.
              response = $async$result;
              if (!type$.legacy_InstanceRef._is(response)) {
                // goto return
                $async$goto = 1;
                break;
              }
              variable = E.Variable_Variable$fromRef(response);
              $async$goto = 10;
              return P._asyncAwait(t2._debuggerController.buildVariablesTree$1(variable), $async$call$0);
            case 10:
              // returning from await.
              if (t2._hasMouseExited) {
                // goto return
                $async$goto = 1;
                break;
              }
              t3 = t2._hoverCard;
              if (t3 != null)
                t3.remove$0(0);
              t3 = t2._debuggerController;
              t2._hoverCard = U.HoverCard$(E.SingleChildScrollView$(M.Container$(null, M.Material$(C.Duration_200000, true, null, new K.ExpandableVariable(new B.ValueNotifier(variable, P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_Variable), t3, null), C.Clip_0, null, 0, null, null, null, null, C.MaterialType_0), C.Clip_0, null, C.BoxConstraints_CWG, null, null, null, null, null, null, null, null, null), null, C.DragStartBehavior_1, null, null, false, C.Axis_1), $async$self.context, t1, word, 400);
              $async$handler = 2;
              // goto after finally
              $async$goto = 8;
              break;
            case 6:
              // catch
              $async$handler = 5;
              $async$exception = $async$currentError;
              H.unwrapException($async$exception);
              // 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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 8
  };
  K._LineItemState__hoverableLine_closure0.prototype = {
    call$1: function(_) {
      return this.$this._onHoverExit$0();
    },
    $signature: 196
  };
  K._LineItemState__hoverableLine_closure.prototype = {
    call$1: function(e) {
      var t1 = this.$this,
        t2 = t1._framework$_element;
      t2.toString;
      return t1._codeview$_onHover$2(e, t2);
    },
    $signature: 96
  };
  K.ScriptPopupMenu.prototype = {
    build$1: function(_, context) {
      return Z.PopupMenuButton$(C.Icon_Ulp0, true, new K.ScriptPopupMenu_build_closure(context), C.Offset_0_0, new K.ScriptPopupMenu_build_closure0(this, context), null, type$.legacy_ScriptPopupMenuOption);
    }
  };
  K.ScriptPopupMenu_build_closure0.prototype = {
    call$1: function(option) {
      return option.onSelected.call$2(this.context, this.$this._codeview$_controller);
    },
    $signature: 827
  };
  K.ScriptPopupMenu_build_closure.prototype = {
    call$1: function(_) {
      var t2, t3, _i,
        t1 = H._setArrayType([], type$.JSArray_legacy_PopupMenuEntry_legacy_ScriptPopupMenuOption);
      for (t2 = $.$get$defaultScriptPopupMenuOptions(), t3 = this.context, _i = 0; _i < 2; ++_i)
        t1.push(t2[_i].build$1(0, t3));
      $.globals.$index(0, C.Type_DevToolsExtensionPoints_RWS).toString;
      t2 = [];
      _i = 0;
      for (; false; ++_i)
        t1.push(t2[_i].build$1(0, t3));
      return t1;
    },
    $signature: 826
  };
  K.ScriptHistoryPopupMenu.prototype = {
    build$1: function(_, context) {
      return Z.PopupMenuButton$(C.Icon_QQ3, this.enabled, this.itemBuilder, C.Offset_28_44, this.onSelected, "Select recent script", type$.legacy_ScriptRef);
    }
  };
  K.ScriptPopupMenuOption.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = H._setArrayType([L.Text$(this.label, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(context).textTheme.bodyText2.color, _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)], type$.JSArray_legacy_Widget);
      t1.push(L.Icon$(this.icon, _null, 20));
      return Z.PopupMenuItem$(T.Row$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null), this, type$.legacy_ScriptPopupMenuOption);
    }
  };
  K.copyScriptNameOption_closure.prototype = {
    call$2: function(_, controller) {
      var t1 = controller._scriptLocation._value;
      t1 = t1 == null ? null : t1.scriptRef;
      return T.Clipboard_setData(new T.ClipboardData(t1 == null ? null : t1.get$uri()));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 825
  };
  K.showGoToLineDialog_closure.prototype = {
    call$1: function(context) {
      return new K.GoToLineDialog(this.controller, null);
    },
    $signature: 824
  };
  K.GoToLineDialog.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = L.Text$("Go To", _null, _null, _null, _null, _null, K.Theme_of(context).textTheme.headline6, _null, _null, _null),
        t2 = B.scaleByFontFactor(5);
      return new O.DevToolsDialog(t1, T.Column$(H._setArrayType([Z.TextField$(true, _null, _null, L.InputDecoration$(_null, _null, _null, new V.EdgeInsets(t2, t2, t2, t2), _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, false, _null, _null, "Line Number", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, H._setArrayType([$.$get$FilteringTextInputFormatter_digitsOnly()], type$.JSArray_legacy_TextInputFormatter), _null, C.TextInputType_2_false_false, _null, _null, new K.GoToLineDialog_build_closure(this, context), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), true, C.List_DialogCancelButton_null_null, _null);
    }
  };
  K.GoToLineDialog_build_closure.prototype = {
    call$1: function(value) {
      var line, t1;
      if (value.length !== 0) {
        K.Navigator_of(this.context, false).pop$1(0, "dialog");
        line = P.int_parse(value, null);
        t1 = this.$this._debuggerController;
        t1.showScriptLocation$1(new E.ScriptLocation(t1._scriptLocation._value.scriptRef, new E.SourcePosition(line, 0, null)));
      }
    },
    $signature: 35
  };
  K.__CodeViewState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  K.__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.SearchFieldMixin__searchFieldFocusNode = O.FocusNode$(true, null, true, null, false);
      this.SearchFieldMixin_searchTextFieldController = D.TextEditingController$(null);
    },
    dispose$0: function(_) {
      var t1;
      this.super$__CodeViewState_State_AutoDisposeMixin$dispose(0);
      t1 = this.SearchFieldMixin__searchFieldFocusNode;
      if (t1 != null)
        t1.dispose$0(0);
    }
  };
  K.__LinesState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  G.DebuggerConsole.prototype = {
    createState$0: function() {
      return new G._DebuggerConsoleState(H._setArrayType([], type$.JSArray_legacy_ConsoleLine), C._StateLifecycle_0);
    }
  };
  G._DebuggerConsoleState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = _this._widget.controller._stdio;
      _this._console$_lines = t1._value;
      t1.addListener$1(0, _this.get$_onStdioChanged());
    },
    _onStdioChanged$0: function() {
      this.setState$1(new G._DebuggerConsoleState__onStdioChanged_closure(this));
    },
    dispose$0: function(_) {
      this._widget.controller._stdio.removeListener$1(0, this.get$_onStdioChanged());
      this.super$State$dispose(0);
    },
    build$1: function(_, context) {
      var t2, t3, _this = this, _null = null,
        numLines = J.get$length$asx(_this._console$_lines),
        disabled = numLines === 0,
        t1 = disabled ? _null : new G._DebuggerConsoleState_build_closure(_this);
      t1 = G.CopyToClipboardControl$(C.ValueKey_TGU, t1, "Copied " + H.S(numLines) + " " + B.pluralize("line", numLines) + ".");
      t2 = disabled ? _null : _this._widget.controller.get$clearStdio();
      t3 = type$.JSArray_legacy_Widget;
      return new U.OutlineDecoration(T.Column$(H._setArrayType([T.Expanded$(new G.Console(U.AreaPaneHeader$(H._setArrayType([t1, new G.DeleteControl(t2, "Clear console output", C.ValueKey_U8E, _null)], t3), 1, true, false, false, 4, false, C.Text_nj4), _this._console$_lines, _null), 1), new R.ExpressionEvalField(_this._widget.controller, _null)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
    }
  };
  G._DebuggerConsoleState__onStdioChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._console$_lines = t1._widget.controller._stdio._value;
    },
    $signature: 1
  };
  G._DebuggerConsoleState_build_closure.prototype = {
    call$0: function() {
      return J.join$1$ax(this.$this._console$_lines, "\n");
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 38
  };
  K.DebuggingControls.prototype = {
    createState$0: function() {
      return new K._DebuggingControlsState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  K._DebuggingControlsState.prototype = {
    didChangeDependencies$0: function() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = Y.Provider_of(t1, true, type$.legacy_DebuggerController);
      _this.controller = t1;
      _this.addAutoDisposeListener$1(t1._isPaused);
      _this.addAutoDisposeListener$1(_this.controller._resuming);
      _this.addAutoDisposeListener$1(_this.controller._stackFramesWithLocation);
    },
    build$1: function(_, context) {
      var t2, t3, t4, t5, _this = this, _null = null,
        t1 = _this.controller,
        isPaused = t1._isPaused._value,
        resuming = t1._resuming._value,
        hasStackFrames = J.get$isNotEmpty$asx(t1._stackFramesWithLocation._value),
        isSystemIsolate = _this.controller.get$isSystemIsolate(),
        canStep = isPaused && !resuming && hasStackFrames && !isSystemIsolate;
      isSystemIsolate = _this.controller.get$isSystemIsolate();
      if (isPaused || isSystemIsolate)
        t1 = _null;
      else {
        t1 = _this.controller;
        t1 = t1.get$pause(t1);
      }
      if (isPaused && !resuming && !isSystemIsolate) {
        t2 = _this.controller;
        t2 = t2.get$resume(t2);
      } else
        t2 = _null;
      t3 = type$.JSArray_legacy_Widget;
      t2 = T.Row$(H._setArrayType([new K.DebuggerButton("Pause", C.IconData_60113_Codicon_false, t1, true, _null), new U.LeftBorder(new K.DebuggerButton("Resume", C.IconData_60111_Codicon_false, t2, false, _null), _null)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
      t1 = canStep ? _this.controller.get$stepIn() : _null;
      t4 = canStep ? _this.controller.get$stepOver() : _null;
      t5 = canStep ? _this.controller.get$stepOut() : _null;
      return T.SizedBox$(T.Row$(H._setArrayType([new U.RoundedOutlinedBorder(t2, _null), C.SizedBox_8_null_null_null, new U.RoundedOutlinedBorder(T.Row$(H._setArrayType([new K.DebuggerButton("Step In", C.IconData_60116_Codicon_false, t1, false, _null), new U.LeftBorder(new K.DebuggerButton("Step Over", C.IconData_60118_Codicon_false, t4, false, _null), _null), new U.LeftBorder(new K.DebuggerButton("Step Out", C.IconData_60117_Codicon_false, t5, false, _null), _null)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null), C.SizedBox_8_null_null_null, new K.BreakOnExceptionsControl(_this.controller, _null), C.Expanded_9Fi, _this._librariesButton$0()], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), 32, _null);
    },
    _librariesButton$0: function() {
      return N.ValueListenableBuilder$(new K._DebuggingControlsState__librariesButton_closure(this), this.controller._librariesVisible, type$.legacy_bool);
    }
  };
  K._DebuggingControlsState__librariesButton_closure.prototype = {
    call$3: function(context, visible, _) {
      var _null = null,
        t1 = visible ? K.Theme_of(context).highlightColor : _null;
      return new U.RoundedOutlinedBorder(M.Container$(_null, new K.DebuggerButton("Libraries", C.IconData_58175_MaterialIcons_false, this.$this.controller.get$toggleLibrariesVisible(), false, _null), C.Clip_0, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null);
    },
    $signature: 816
  };
  K.BreakOnExceptionsControl.prototype = {
    build$1: function(_, context) {
      return N.ValueListenableBuilder$(new K.BreakOnExceptionsControl_build_closure(this), this.controller._exceptionPauseMode, type$.legacy_String);
    }
  };
  K.BreakOnExceptionsControl_build_closure.prototype = {
    call$3: function(context, modeId, _) {
      var t3, t4, t5, _i, mode, _null = null,
        t1 = K.ExceptionMode_from(modeId),
        t2 = this.$this;
      t2 = t2.controller.get$isSystemIsolate() ? _null : new K.BreakOnExceptionsControl_build__closure(t2);
      t3 = H._setArrayType([], type$.JSArray_legacy_DropdownMenuItem_legacy_ExceptionMode);
      for (t4 = $.$get$ExceptionMode_modes(), t5 = type$.DropdownMenuItem_legacy_ExceptionMode, _i = 0; _i < 3; ++_i) {
        mode = t4[_i];
        t3.push(new K.DropdownMenuItem(mode, new L.Text(mode.description, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), C.AlignmentDirectional_m1_0, _null, t5));
      }
      return new U.RoundedDropDownButton(t1, t2, true, _null, new K.BreakOnExceptionsControl_build__closure0(), t3, _null, type$.RoundedDropDownButton_legacy_ExceptionMode);
    },
    $signature: 813
  };
  K.BreakOnExceptionsControl_build__closure.prototype = {
    call$1: function(mode) {
      this.$this.controller.setExceptionPauseMode$1(mode.id);
    },
    $signature: 811
  };
  K.BreakOnExceptionsControl_build__closure0.prototype = {
    call$1: function(context) {
      var t2, t3, _i, mode, _null = null,
        t1 = H._setArrayType([], type$.JSArray_legacy_Widget);
      for (t2 = $.$get$ExceptionMode_modes(), t3 = type$.DropdownMenuItem_legacy_ExceptionMode, _i = 0; _i < 3; ++_i) {
        mode = t2[_i];
        t1.push(new K.DropdownMenuItem(mode, new L.Text(mode.name, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), C.AlignmentDirectional_m1_0, _null, t3));
      }
      return t1;
    },
    $signature: 197
  };
  K.ExceptionMode.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  K.ExceptionMode_from_closure.prototype = {
    call$1: function(mode) {
      return mode.id === this.id;
    },
    $signature: 805
  };
  K.ExceptionMode_from_closure0.prototype = {
    call$0: function() {
      return C.JSArray_methods.get$first($.$get$ExceptionMode_modes());
    },
    $signature: 788
  };
  K.DebuggerButton.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.title;
      return U.DevToolsTooltip$(B.OutlinedButton$(_this.autofocus, new U.MaterialIconLabel(_this.icon, _null, t1, 1000, _null), _null, _this.onPressed, B.OutlinedButton_styleFrom(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.ContinuousRectangleBorder_up3, C.BorderSide_06g, _null, _null, _null, _null)), _null, t1);
    }
  };
  K.__DebuggingControlsState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  D.ConsoleLine.prototype = {};
  D.TextConsoleLine.prototype = {
    toString$0: function(_) {
      return this.text;
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  D.VariableConsoleLine.prototype = {
    toString$0: function(_) {
      return this.variable.toString$0(0);
    }
  };
  D.DebuggerController.prototype = {
    DebuggerController$1$initialSwitchToIsolate: function(initialSwitchToIsolate) {
      var t2, _this = this,
        t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
      _this.switchToIsolate$1(t1._isolateManager._selectedIsolate);
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolateController;
      t2 = _this.AutoDisposeControllerMixin__delegate;
      t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$switchToIsolate()));
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service._vmService._getEventController$1("Debug");
      t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_debugger_controller$_handleDebugEvent()));
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service._vmService._getEventController$1("Isolate");
      t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_debugger_controller$_handleIsolateEvent()));
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service._vmService._getEventController$1("Stdout");
      t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_handleStdoutEvent()));
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service._vmService._getEventController$1("Stderr");
      t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_handleStderrEvent()));
      t1 = new D.DebuggerController_closure(_this);
      _this._scriptHistoryListener = t1;
      _this.scriptsHistory._history_manager$_current.addListener$1(0, t1);
    },
    showScriptLocation$1: function(scriptLocation) {
      var t1, t2, _this = this;
      _this._showScriptLocation$1(scriptLocation);
      t1 = _this.scriptsHistory;
      t2 = t1._history_manager$_current;
      t2.removeListener$1(0, _this._scriptHistoryListener);
      t1.pushEntry$1(scriptLocation.scriptRef);
      t2.addListener$1(0, _this._scriptHistoryListener);
    },
    _showScriptLocation$1: function(scriptLocation) {
      var t1;
      this._currentScriptRef.set$value(0, scriptLocation.scriptRef);
      this._parseCurrentScript$0();
      t1 = this._scriptLocation;
      t1.set$value(0, null);
      t1.set$value(0, scriptLocation);
    },
    getScriptForRef$1: function(ref) {
      return this.getScriptForRef$body$DebuggerController(ref);
    },
    getScriptForRef$body$DebuggerController: function(ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Script),
        $async$returnValue, $async$self = this, t1, t2, t3, cachedScript;
      var $async$getScriptForRef$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._scriptCache;
              t2 = t1._scripts;
              t3 = ref == null;
              cachedScript = t2.$index(0, t3 ? null : ref.get$id(ref));
              $async$goto = cachedScript == null && !t3 ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return P._asyncAwait(t1.getScript$3($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service, $async$self.isolateRef, 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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getScriptForRef$1, $async$completer);
    },
    _parseCurrentScript$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, script, executableLines, positions, e, t3, t4, exception, t5, t6, t1, t2, $async$exception;
      var $async$_parseCurrentScript$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.parsedScript;
              t2 = t1._value;
              t2 = t2 == null ? null : t2.script;
              t2 = t2 == null ? null : t2.id;
              t3 = $async$self._currentScriptRef;
              t4 = t3._value;
              if (t2 == (t4 == null ? null : J.get$id$x(t4))) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait($async$self.getScriptForRef$1(t3._value), $async$_parseCurrentScript$0);
            case 3:
              // returning from await.
              script = $async$result;
              t2 = script;
              t2 = t2 == null ? null : t2.source;
              if (t2 == null)
                t2 = "";
              t3 = P.ListQueue$(null, type$.legacy_ScopeSpan);
              t4 = type$.legacy_int;
              executableLines = P.LinkedHashSet_LinkedHashSet$_empty(t4);
              $async$goto = script != null ? 4 : 5;
              break;
            case 4:
              // then
              $async$handler = 7;
              $async$goto = 10;
              return P._asyncAwait($async$self.getBreakablePositions$1(script), $async$_parseCurrentScript$0);
            case 10:
              // returning from await.
              positions = $async$result;
              executableLines = P.LinkedHashSet_LinkedHashSet$from(J.map$1$1$ax(positions, new D.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 = H.unwrapException($async$exception);
              B.log(H.S(e), C.LogLevel_0);
              // goto after finally
              $async$goto = 9;
              break;
            case 6:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 9:
              // after finally
            case 5:
              // join
              t4 = script;
              t5 = executableLines;
              t6 = t4.source;
              t6 = t6 == null ? null : H._setArrayType(t6.split("\n"), type$.JSArray_String);
              if (t6 == null)
                t6 = C.List_empty;
              t6 = H._setArrayType(t6.slice(0), H._arrayInstanceType(t6));
              t1.set$value(0, new D.ParsedScript(t4, new U.SyntaxHighlighter(t2, t3), t5, t6));
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_parseCurrentScript$0, $async$completer);
    },
    findOwnerLibrary$1: function(ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_LibraryRef),
        $async$returnValue, $async$self = this, clazz;
      var $async$findOwnerLibrary$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (type$.legacy_LibraryRef._is(ref)) {
                $async$returnValue = ref;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = type$.legacy_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 P._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$.legacy_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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$findOwnerLibrary$1, $async$completer);
    },
    classFor$1: function(classRef) {
      return this.classFor$body$DebuggerController(classRef);
    },
    classFor$body$DebuggerController: function(classRef) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Class),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, t1, exception, $async$exception;
      var $async$classFor$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait($async$self.getObject$1(0, classRef), $async$classFor$1);
            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;
              H.unwrapException($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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$classFor$1, $async$completer);
    },
    get$frameForEval: function() {
      var t1 = this._selectedStackFrame._value;
      t1 = t1 == null ? null : t1.frame;
      return t1 == null ? J.get$first$ax(this._stackFramesWithLocation._value).frame : t1;
    },
    toggleLibrariesVisible$0: function() {
      var t1 = this._librariesVisible;
      t1.set$value(0, !t1._value);
    },
    get$isSystemIsolate: function() {
      var t1 = this.isolateRef;
      t1 = t1 == null ? null : t1.get$isSystemIsolate();
      return t1 === true;
    },
    clearStdio$0: function() {
      this._stdio.set$value(0, H._setArrayType([], type$.JSArray_legacy_ConsoleLine));
    },
    appendStdio$1: function(text) {
      var t2,
        t1 = this._stdio,
        lines = J.toList$0$ax(t1._value),
        newLines = H._setArrayType(text.split("\n"), type$.JSArray_String),
        last = C.JSArray_methods.get$isNotEmpty(lines) ? C.JSArray_methods.get$last(lines) : null;
      if (lines.length !== 0 && !this._stdioTrailingNewline && last instanceof D.TextConsoleLine) {
        C.JSArray_methods.set$last(lines, new D.TextConsoleLine(H.S(last.text) + H.S(C.JSArray_methods.get$first(newLines))));
        if (newLines.length > 1) {
          t2 = C.JSArray_methods.sublist$1(newLines, 1);
          C.JSArray_methods.addAll$1(lines, new H.MappedListIterable(t2, new D.DebuggerController_appendStdio_closure(), H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,ConsoleLine*>")));
        }
      } else
        C.JSArray_methods.addAll$1(lines, new H.MappedListIterable(newLines, new D.DebuggerController_appendStdio_closure0(), type$.MappedListIterable_of_String_and_legacy_ConsoleLine));
      this._stdioTrailingNewline = C.JSString_methods.endsWith$1(text, "\n");
      last = C.JSArray_methods.get$isNotEmpty(lines) ? C.JSArray_methods.get$last(lines) : null;
      t2 = lines.length;
      if (t2 !== 0 && last instanceof D.TextConsoleLine && last.text.length === 0)
        lines = C.JSArray_methods.sublist$2(lines, 0, t2 - 1);
      t2 = lines.length;
      t1.set$value(0, t2 > 5500 ? C.JSArray_methods.sublist$1(lines, t2 - 5000) : lines);
    },
    switchToIsolate$1: function(ref) {
      return this.switchToIsolate$body$DebuggerController(ref);
    },
    switchToIsolate$body$DebuggerController: function(ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, isolate;
      var $async$switchToIsolate$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.isolateRef = ref;
              $async$self._isPaused.set$value(0, false);
              $async$goto = 3;
              return P._asyncAwait($async$self._pause$1(false), $async$switchToIsolate$1);
            case 3:
              // returning from await.
              t1 = $async$self._scriptCache;
              t1._scripts = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Script);
              t1._inProgress.clear$0(0);
              $async$self._lastEvent = null;
              $async$self._breakPositionsMap.clear$0(0);
              $async$self._stdio.set$value(0, H._setArrayType([], type$.JSArray_legacy_ConsoleLine));
              $async$self._uriToScriptMap.clear$0(0);
              $async$self.libraryMemberAutocompleteCache.clear$0(0);
              $async$self.libraryMemberAndImportsAutocompleteCache.clear$0(0);
              $async$goto = ref == null ? 4 : 5;
              break;
            case 4:
              // then
              $async$self._breakpoints.set$value(0, H._setArrayType([], type$.JSArray_legacy_Breakpoint));
              $async$self._breakpointsWithLocation.set$value(0, H._setArrayType([], type$.JSArray_legacy_BreakpointAndSourcePosition));
              t1 = $async$self._getStackOperation;
              $async$goto = 6;
              return P._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(H._setArrayType([], type$.JSArray_legacy_StackFrameAndSourcePosition), false);
              // goto return
              $async$goto = 1;
              break;
            case 5:
              // join
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $async$self.isolateRef;
              t2 = t2.get$id(t2);
              t3 = t1._vmService;
              t3.toString;
              t4 = type$.dynamic;
              $async$goto = 7;
              return P._asyncAwait(t1.trackFuture$1$2("getIsolate", t3._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), type$.Isolate), type$.legacy_Isolate), $async$switchToIsolate$1);
            case 7:
              // returning from await.
              isolate = $async$result;
              t1 = isolate.pauseEvent;
              $async$goto = t1 != null && t1.kind !== "Resume" ? 8 : 9;
              break;
            case 8:
              // then
              $async$self._lastEvent = t1;
              $async$goto = 10;
              return P._asyncAwait($async$self._pause$2$pauseEvent(true, t1), $async$switchToIsolate$1);
            case 10:
              // returning from await.
            case 9:
              // join
              t1 = $async$self._breakpoints;
              t1.set$value(0, isolate.breakpoints);
              t1 = t1._value;
              if (t1 != null)
                P.Future_wait(J.map$1$1$ax(t1, $async$self.get$_createBreakpointWithLocation(), type$.legacy_Future_legacy_BreakpointAndSourcePosition), type$.legacy_BreakpointAndSourcePosition).then$1$1(0, new D.DebuggerController_switchToIsolate_closure($async$self), type$.Null);
              $async$self._exceptionPauseMode.set$value(0, isolate.exceptionPauseMode);
              $async$goto = 11;
              return P._asyncAwait($async$self._populateScripts$1(isolate), $async$switchToIsolate$1);
            case 11:
              // returning from await.
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$switchToIsolate$1, $async$completer);
    },
    pause$0: function(_) {
      var t3, t4,
        t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service,
        t2 = this.isolateRef;
      t2 = t2.get$id(t2);
      t3 = t1._vmService;
      t3.toString;
      t4 = type$.dynamic;
      return t1.trackFuture$1$2("pause", t3._call$1$2(0, "pause", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), type$.Success), type$.legacy_Success);
    },
    resume$0: function(_) {
      var t1, t2;
      $.$get$_log().log$1("resume()");
      this._resuming.set$value(0, true);
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
      t2 = this.isolateRef;
      return t1.resume$1(0, t2.get$id(t2));
    },
    stepOver$0: function() {
      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, C.Type_ServiceConnectionManager_qdG).service;
      t3 = this.isolateRef;
      t3 = t3.get$id(t3);
      return t2.resume$2$step(0, t3, t1 === true ? "OverAsyncSuspension" : "Over").whenComplete$1(new D.DebuggerController_stepOver_closure());
    },
    stepIn$0: function() {
      var t1, t2;
      this._resuming.set$value(0, true);
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
      t2 = this.isolateRef;
      return t1.resume$2$step(0, t2.get$id(t2), "Into");
    },
    stepOut$0: function() {
      var t1, t2;
      this._resuming.set$value(0, true);
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
      t2 = this.isolateRef;
      return t1.resume$2$step(0, t2.get$id(t2), "Out");
    },
    evalAtCurrentFrame$1: function(expression) {
      return this.evalAtCurrentFrame$body$DebuggerController(expression);
    },
    evalAtCurrentFrame$body$DebuggerController: function(expression) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Response),
        $async$returnValue, $async$self = this, t1, t2, frame, t3, t4, t5, t6;
      var $async$evalAtCurrentFrame$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (!$async$self._isPaused._value) {
                $async$returnValue = P.Future_Future$error(Q.RPCError$withDetails("evaluateInFrame", -32602, "Isolate not paused", null), null, type$.legacy_Response);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._stackFramesWithLocation;
              if (J.get$isEmpty$asx(t1._value)) {
                $async$returnValue = P.Future_Future$error(Q.RPCError$withDetails("evaluateInFrame", -32602, "No frames available", null), null, type$.legacy_Response);
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = $async$self._selectedStackFrame._value;
              frame = t2 == null ? null : t2.frame;
              if (frame == null)
                frame = J.get$first$ax(t1._value).frame;
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $async$self.isolateRef;
              t2 = t2.get$id(t2);
              t3 = frame.index;
              t4 = "evaluateInFrame " + expression;
              t5 = t1._vmService;
              t5.toString;
              t6 = type$.dynamic;
              t6 = P.LinkedHashMap_LinkedHashMap$_empty(t6, t6);
              t6.$indexSet(0, "isolateId", t2);
              t6.$indexSet(0, "frameIndex", t3);
              t6.$indexSet(0, "expression", expression);
              t6.$indexSet(0, "disableBreakpoints", true);
              $async$returnValue = t1.trackFuture$1$2(t4, t5._call$1$2(0, "evaluateInFrame", t6, type$.Response), type$.legacy_Response);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$evalAtCurrentFrame$1, $async$completer);
    },
    clearBreakpoints$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$clearBreakpoints$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(P.Future_forEach(J.toList$0$ax($async$self._breakpoints._value), new D.DebuggerController_clearBreakpoints_closure($async$self)), $async$clearBreakpoints$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$clearBreakpoints$0, $async$completer);
    },
    setExceptionPauseMode$1: function(mode) {
      return this.setExceptionPauseMode$body$DebuggerController(mode);
    },
    setExceptionPauseMode$body$DebuggerController: function(mode) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t3, t4, t1, t2;
      var $async$setExceptionPauseMode$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $async$self.isolateRef;
              t2 = t2.get$id(t2);
              t3 = t1._vmService;
              t3.toString;
              t4 = type$.dynamic;
              $async$goto = 2;
              return P._asyncAwait(t1.trackFuture$1$2("setExceptionPauseMode", t3._call$1$2(0, "setExceptionPauseMode", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2, "mode", mode], t4, t4), type$.Success), type$.legacy_Success), $async$setExceptionPauseMode$1);
            case 2:
              // returning from await.
              $async$self._exceptionPauseMode.set$value(0, mode);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setExceptionPauseMode$1, $async$completer);
    },
    _debugger_controller$_handleDebugEvent$1: function($event) {
      var t2, t3, t4, id, breakpoint, _this = this, _null = null,
        t1 = $.$get$_log();
      t1.log$1("event: " + H.S($event.kind));
      t2 = _this._resuming;
      if (t2._value) {
        t3 = $event.isolate;
        t3 = t3.get$id(t3);
        t4 = _this.isolateRef;
        t3 = t3 != (t4 == null ? _null : t4.get$id(t4)) && $event.kind === "PauseStart";
      } else
        t3 = false;
      if (t3) {
        t3 = $event.isolate;
        id = t3.get$id(t3);
        t1.log$1("resume() " + H.S(id));
        $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.resume$1(0, id);
      }
      t1 = $event.isolate;
      t1 = t1.get$id(t1);
      t3 = _this.isolateRef;
      if (t1 != (t3 == null ? _null : t3.get$id(t3)))
        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 = _this._breakpoints;
          t2 = P.List_List$of(t1._value, true, type$.legacy_Breakpoint);
          t2.push($event.breakpoint);
          t1.set$value(0, t2);
          _this._createBreakpointWithLocation$1($event.breakpoint).then$1$1(0, new D.DebuggerController__handleDebugEvent_closure(_this), type$.Null);
          break;
        case "BreakpointResolved":
          t1 = _this._breakpoints;
          t2 = H._setArrayType([], type$.JSArray_legacy_Breakpoint);
          for (t3 = J.get$iterator$ax(t1._value); t3.moveNext$0();) {
            t4 = t3.get$current(t3);
            if (!J.$eq$(t4, $event.breakpoint))
              t2.push(t4);
          }
          t2.push($event.breakpoint);
          t1.set$value(0, t2);
          _this._createBreakpointWithLocation$1($event.breakpoint).then$1$1(0, new D.DebuggerController__handleDebugEvent_closure0(_this), type$.Null);
          break;
        case "BreakpointRemoved":
          breakpoint = $event.breakpoint;
          t1 = _this._selectedBreakpoint;
          t2 = t1._value;
          if (J.$eq$(t2 == null ? _null : t2.breakpoint, breakpoint))
            t1.set$value(0, _null);
          t1 = _this._breakpoints;
          t2 = H._setArrayType([], type$.JSArray_legacy_Breakpoint);
          for (t3 = J.get$iterator$ax(t1._value); t3.moveNext$0();) {
            t4 = t3.get$current(t3);
            if (!J.$eq$(t4, breakpoint))
              t2.push(t4);
          }
          t1.set$value(0, t2);
          t1 = _this._breakpointsWithLocation;
          t2 = H._setArrayType([], type$.JSArray_legacy_BreakpointAndSourcePosition);
          for (t3 = J.get$iterator$ax(t1._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: function($event) {
      var t2,
        t1 = $event.isolate;
      t1 = t1.get$id(t1);
      t2 = this.isolateRef;
      if (t1 != (t2 == null ? null : t2.get$id(t2)))
        return;
      switch ($event.kind) {
        case "IsolateReload":
          this._updateAfterIsolateReload$1($event);
          break;
      }
    },
    _handleStdoutEvent$1: function($event) {
      this.appendStdio$1(C.Utf8Codec_false.decode$1(0, C.C_Base64Decoder.convert$1($event.bytes)));
    },
    _handleStderrEvent$1: function($event) {
      this.appendStdio$1(C.Utf8Codec_false.decode$1(0, C.C_Base64Decoder.convert$1($event.bytes)));
    },
    _retrieveAndSortScripts$1: function(ref) {
      return this._retrieveAndSortScripts$body$DebuggerController(ref);
    },
    _retrieveAndSortScripts$body$DebuggerController: function(ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_ScriptRef),
        $async$returnValue, $async$self = this, t3, t4, scriptRefs, t1, t2, $async$temp1;
      var $async$_retrieveAndSortScripts$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $async$self.isolateRef;
              t2 = t2.get$id(t2);
              t3 = t1._vmService;
              t3.toString;
              t4 = type$.dynamic;
              $async$temp1 = P;
              $async$goto = 3;
              return P._asyncAwait(t1.trackFuture$1$2("getScripts", t3._call$1$2(0, "getScripts", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), type$.ScriptList), type$.legacy_ScriptList), $async$_retrieveAndSortScripts$1);
            case 3:
              // returning from await.
              t4 = $async$temp1.LinkedHashSet_LinkedHashSet$of($async$result.scripts, type$.legacy_ScriptRef);
              scriptRefs = P.List_List$of(t4, true, H._instanceType(t4)._eval$1("SetMixin.E"));
              C.JSArray_methods.sort$1(scriptRefs, new D.DebuggerController__retrieveAndSortScripts_closure());
              $async$returnValue = scriptRefs;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_retrieveAndSortScripts$1, $async$completer);
    },
    _updateAfterIsolateReload$1: function(reloadEvent) {
      return this._updateAfterIsolateReload$body$DebuggerController(reloadEvent);
    },
    _updateAfterIsolateReload$body$DebuggerController: function(reloadEvent) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, scriptRefs, t1, t2, t3, removedScripts, addedScripts, count, newScriptRef;
      var $async$_updateAfterIsolateReload$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.libraryMemberAutocompleteCache.clear$0(0);
              $async$self.libraryMemberAndImportsAutocompleteCache.clear$0(0);
              $async$goto = 2;
              return P._asyncAwait($async$self._retrieveAndSortScripts$1($async$self.isolateRef), $async$_updateAfterIsolateReload$1);
            case 2:
              // returning from await.
              scriptRefs = $async$result;
              for (t1 = J.get$iterator$ax(scriptRefs), t2 = $async$self._uriToScriptMap; t1.moveNext$0();) {
                t3 = t1.get$current(t1);
                t2.$indexSet(0, t3.get$uri(), t3);
              }
              t1 = $async$self._sortedScripts;
              t2 = type$.legacy_ScriptRef;
              t3 = type$.legacy_Object;
              removedScripts = P.LinkedHashSet_LinkedHashSet$of(t1._value, t2).difference$1(P.LinkedHashSet_LinkedHashSet$of(scriptRefs, t3));
              addedScripts = P.LinkedHashSet_LinkedHashSet$of(scriptRefs, t2).difference$1(P.LinkedHashSet_LinkedHashSet$of(t1._value, t3));
              t1.set$value(0, scriptRefs);
              count = removedScripts.get$length(removedScripts) + addedScripts.get$length(addedScripts);
              t1 = $.globals.$index(0, C.Type_MessageBus_MAi);
              t3 = $.$get$nf().format$1(count) + " " + B.pluralize("script", count) + " updated.";
              t1._message_bus$_controller.add$1(0, new A.BusEvent("toast", t3));
              $async$self._updateBreakpointsAfterReload$2(removedScripts, addedScripts);
              t1 = $async$self._currentScriptRef;
              if (removedScripts.contains$1(0, t1._value)) {
                newScriptRef = addedScripts.firstWhere$2$orElse(0, new D.DebuggerController__updateAfterIsolateReload_closure(t1._value.get$uri()), new D.DebuggerController__updateAfterIsolateReload_closure0());
                if (newScriptRef != null)
                  $async$self._populateScriptAndShowLocation$1(newScriptRef);
              }
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_updateAfterIsolateReload$1, $async$completer);
    },
    _populateScriptAndShowLocation$1: function(scriptRef) {
      this._scriptCache.getScript$3($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service, this.isolateRef, scriptRef).then$1$1(0, new D.DebuggerController__populateScriptAndShowLocation_closure(this, scriptRef), type$.Null);
    },
    _updateBreakpointsAfterReload$2: function(removedScripts, addedScripts) {
      var t1, t2, t3, t4, t5, _i, bp, t6, t7, t8,
        _s16_ = "removeBreakpoint",
        breakpointsToRemove = H._setArrayType([], type$.JSArray_legacy_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._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, t4 = type$.legacy_Success, _i = 0; _i < breakpointsToRemove.length; breakpointsToRemove.length === t1 || (0, H.throwConcurrentModificationError)(breakpointsToRemove), ++_i) {
        bp = breakpointsToRemove[_i];
        t5 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
        t6 = this.isolateRef;
        t6 = t6.get$id(t6);
        t7 = bp.breakpoint.id;
        t8 = t5._vmService;
        t8.toString;
        t5.trackFuture$1$2(_s16_, t8._call$1$2(0, _s16_, P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t6, "breakpointId", t7], t2, t2), t3), t4);
      }
      for (t1 = addedScripts.get$iterator(addedScripts), t2 = type$.legacy_Breakpoint; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        for (t4 = breakpointsToRemove.length, _i = 0; _i < breakpointsToRemove.length; breakpointsToRemove.length === t4 || (0, H.throwConcurrentModificationError)(breakpointsToRemove), ++_i) {
          bp = breakpointsToRemove[_i];
          if (t3.get$uri() == bp.get$scriptUri()) {
            t5 = t3.get$id(t3);
            t6 = bp.get$line(bp);
            t7 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
            t8 = this.isolateRef;
            t8 = t8.get$id(t8);
            t7.trackFuture$1$2("addBreakpoint", t7._vmService.addBreakpoint$4$column(t8, t5, t6, null), t2);
          }
        }
      }
    },
    _pause$2$pauseEvent: function(paused, pauseEvent) {
      return this._pause$body$DebuggerController(paused, pauseEvent);
    },
    _pause$1: function(paused) {
      return this._pause$2$pauseEvent(paused, null);
    },
    _pause$body$DebuggerController: function(paused, pauseEvent) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, stackInfo, t2, t1, $async$temp1;
      var $async$_pause$2$pauseEvent = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._getStackOperation;
              $async$goto = 3;
              return P._asyncAwait(t1 == null ? null : t1._cancelable_operation$_completer._cancelable_operation$_cancel$0(), $async$_pause$2$pauseEvent);
            case 3:
              // returning from await.
              $async$self._isPaused.set$value(0, paused);
              t1 = !paused;
              $.$get$_log().log$1("_pause(running: " + t1 + ")");
              if (t1) {
                $async$self._populateFrameInfo$2$truncated(H._setArrayType([], type$.JSArray_legacy_StackFrameAndSourcePosition), false);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 6;
              return P._asyncAwait($.globals.$index(0, C.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
              $async$temp1 = H;
              $async$goto = 7;
              return P._asyncAwait($async$self._createStackFrameWithLocation$1(pauseEvent.topFrame), $async$_pause$2$pauseEvent);
            case 7:
              // returning from await.
              $async$self._populateFrameInfo$2$truncated($async$temp1._setArrayType([$async$result], type$.JSArray_legacy_StackFrameAndSourcePosition), true);
              $async$self._getFullStack$0();
              // goto return
              $async$goto = 1;
              break;
            case 5:
              // join
              t1 = E.CancelableOperation_CancelableOperation$fromFuture($async$self._getStackInfo$1$limit(12), type$.legacy__StackInfo);
              $async$self._getStackOperation = t1;
              $async$goto = 8;
              return P._asyncAwait(t1._cancelable_operation$_completer._cancelable_operation$_inner.future, $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 === true);
              if (t2)
                $async$self._getFullStack$0();
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_pause$2$pauseEvent, $async$completer);
    },
    _getStackInfo$1$limit: function(limit) {
      return this._getStackInfo$body$DebuggerController(limit);
    },
    _getStackInfo$0: function() {
      return this._getStackInfo$1$limit(null);
    },
    _getStackInfo$body$DebuggerController: function(limit) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy__StackInfo),
        $async$returnValue, $async$self = this, t2, t3, stack, $frames, frames0, frame, newFrame, t1, $async$temp1;
      var $async$_getStackInfo$1$limit = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.$get$_log();
              t1.log$1("getStack() with limit: " + H.S(limit));
              t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t3 = $async$self.isolateRef;
              $async$goto = 3;
              return P._asyncAwait(t2.getStack$2$limit(t3.get$id(t3), limit), $async$_getStackInfo$1$limit);
            case 3:
              // returning from await.
              stack = $async$result;
              t1.log$1("getStack() completed (frames: " + stack.frames.length + ")");
              $frames = stack.frames;
              frames0 = stack.asyncCausalFrames;
              t1 = $async$self._lastEvent;
              t1 = t1 == null ? null : t1.exception;
              $frames = frames0 == null ? $frames : frames0;
              if (t1 != null && $frames.length !== 0) {
                frame = ($frames && C.JSArray_methods).get$first($frames);
                newFrame = new Q.Frame1(frame.index, frame.$function, frame.code, frame.location, frame.kind, null);
                t2 = type$.JSArray_legacy_BoundVariable;
                t1 = H._setArrayType([new Q.BoundVariable("<exception>", t1, null, null, null, null)], t2);
                t3 = frame.vars;
                C.JSArray_methods.addAll$1(t1, t3 == null ? H._setArrayType([], t2) : t3);
                newFrame.vars = t1;
                t1 = H._setArrayType([newFrame], type$.JSArray_legacy_Frame);
                C.JSArray_methods.addAll$1(t1, C.JSArray_methods.sublist$1($frames, 1));
                $frames = t1;
              }
              $frames.toString;
              $async$temp1 = D;
              $async$goto = 4;
              return P._asyncAwait(P.Future_wait(new H.MappedListIterable($frames, $async$self.get$_createStackFrameWithLocation(), H._arrayInstanceType($frames)._eval$1("MappedListIterable<1,Future<StackFrameAndSourcePosition*>*>")), type$.legacy_StackFrameAndSourcePosition), $async$_getStackInfo$1$limit);
            case 4:
              // returning from await.
              $async$returnValue = new $async$temp1._StackInfo($async$result, stack.truncated);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_getStackInfo$1$limit, $async$completer);
    },
    _populateFrameInfo$2$truncated: function($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: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, stackInfo, t1;
      var $async$_getFullStack$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._getStackOperation;
              $async$goto = 2;
              return P._asyncAwait(t1 == null ? null : t1._cancelable_operation$_completer._cancelable_operation$_cancel$0(), $async$_getFullStack$0);
            case 2:
              // returning from await.
              t1 = E.CancelableOperation_CancelableOperation$fromFuture($async$self._getStackInfo$0(), type$.legacy__StackInfo);
              $async$self._getStackOperation = t1;
              $async$goto = 3;
              return P._asyncAwait(t1._cancelable_operation$_completer._cancelable_operation$_inner.future, $async$_getFullStack$0);
            case 3:
              // returning from await.
              stackInfo = $async$result;
              $async$self._populateFrameInfo$2$truncated(stackInfo.frames, stackInfo.truncated);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_getFullStack$0, $async$completer);
    },
    getObject$1: function(_, objRef) {
      var t3,
        t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service,
        t2 = this.isolateRef;
      t2 = t2.get$id(t2);
      t3 = objRef.get$id(objRef);
      return t1.trackFuture$1$2("getObject", t1._vmService.getObject$2(0, t2, t3), type$.legacy_Obj);
    },
    _populateScripts$1: function(isolate) {
      return this._populateScripts$body$DebuggerController(isolate);
    },
    _populateScripts$body$DebuggerController: function(isolate) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, t4, scriptRefs;
      var $async$_populateScripts$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self._retrieveAndSortScripts$1($async$self.isolateRef), $async$_populateScripts$1);
            case 2:
              // returning from await.
              scriptRefs = $async$result;
              $async$self._sortedScripts.set$value(0, scriptRefs);
              for (t1 = J.getInterceptor$ax(scriptRefs), t2 = t1.get$iterator(scriptRefs), t3 = $async$self._uriToScriptMap; t2.moveNext$0();) {
                t4 = t2.get$current(t2);
                t3.$indexSet(0, t4.get$uri(), t4);
              }
              $async$self._populateScriptAndShowLocation$1(t1.firstWhere$2$orElse(scriptRefs, new D.DebuggerController__populateScripts_closure(isolate), new D.DebuggerController__populateScripts_closure0()));
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_populateScripts$1, $async$completer);
    },
    calculatePosition$2: function(script, tokenPos) {
      if (script.tokenPosTable == null)
        return null;
      return new E.SourcePosition(script._tokenToLine.$index(0, tokenPos), script._tokenToColumn.$index(0, tokenPos), tokenPos);
    },
    _createBreakpointWithLocation$1: function(breakpoint) {
      return this._createBreakpointWithLocation$body$DebuggerController(breakpoint);
    },
    _createBreakpointWithLocation$body$DebuggerController: function(breakpoint) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_BreakpointAndSourcePosition),
        $async$returnValue, $async$self = this, bp, t1;
      var $async$_createBreakpointWithLocation$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (breakpoint.resolved) {
                bp = E.BreakpointAndSourcePosition_BreakpointAndSourcePosition$create(breakpoint, null);
                t1 = bp.get$scriptRef();
                $async$returnValue = $async$self._scriptCache.getScript$3($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service, $async$self.isolateRef, t1).then$1$1(0, new D.DebuggerController__createBreakpointWithLocation_closure($async$self, bp, breakpoint), type$.legacy_BreakpointAndSourcePosition);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = E.BreakpointAndSourcePosition_BreakpointAndSourcePosition$create(breakpoint, null);
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_createBreakpointWithLocation$1, $async$completer);
    },
    _createStackFrameWithLocation$1: function(frame) {
      return this._createStackFrameWithLocation$body$DebuggerController(frame);
    },
    _createStackFrameWithLocation$body$DebuggerController: function(frame) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_StackFrameAndSourcePosition),
        $async$returnValue, $async$self = this, t1, $location, $async$temp1, $async$temp2;
      var $async$_createStackFrameWithLocation$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $location = frame.location;
              if ($location == null) {
                $async$returnValue = new E.StackFrameAndSourcePosition(frame, null);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $location.script;
              $async$temp1 = E;
              $async$temp2 = frame;
              $async$goto = 3;
              return P._asyncAwait($async$self._scriptCache.getScript$3($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service, $async$self.isolateRef, t1), $async$_createStackFrameWithLocation$1);
            case 3:
              // returning from await.
              $async$returnValue = new $async$temp1.StackFrameAndSourcePosition($async$temp2, $async$self.calculatePosition$2($async$result, $location.tokenPos));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_createStackFrameWithLocation$1, $async$completer);
    },
    selectStackFrame$1: function(frame) {
      var t1, t2, _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, H._setArrayType([], type$.JSArray_legacy_Variable));
      if ((t1 ? null : frame.get$scriptRef()) != null)
        _this.showScriptLocation$1(new E.ScriptLocation(frame.get$scriptRef(), frame.position));
    },
    _createVariablesForFrame$1: function(frame) {
      var t2, variables,
        t1 = frame.vars;
      if (t1 == null)
        return H._setArrayType([], type$.JSArray_legacy_Variable);
      t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Variable*>");
      variables = P.List_List$of(new H.MappedListIterable(t1, new D.DebuggerController__createVariablesForFrame_closure(), t2), true, t2._eval$1("ListIterable.E"));
      C.JSArray_methods.forEach$1(variables, this.get$buildVariablesTree());
      C.JSArray_methods.sort$1(variables, new D.DebuggerController__createVariablesForFrame_closure0());
      return variables;
    },
    buildVariablesTree$1: function(variable) {
      return this.buildVariablesTree$body$DebuggerController(variable);
    },
    buildVariablesTree$body$DebuggerController: function(variable) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, instanceRef, result, exception, $async$exception;
      var $async$buildVariablesTree$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (!variable.get$isExpandable() || variable.treeInitialized || !type$.legacy_InstanceRef._is(variable.boundVar.value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              instanceRef = variable.boundVar.value;
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait($async$self.getObject$1(0, instanceRef), $async$buildVariablesTree$1);
            case 7:
              // returning from await.
              result = $async$result;
              if (result instanceof Q.Instance)
                if (result.associations != null)
                  C.JSArray_methods.forEach$1($async$self._createVariablesForAssociations$1(result), variable.get$addChild());
                else if (result.elements != null)
                  C.JSArray_methods.forEach$1($async$self._createVariablesForElements$1(result), variable.get$addChild());
                else if (result.bytes != null)
                  C.JSArray_methods.forEach$1($async$self._createVariablesForBytes$1(result), variable.get$addChild());
                else if (result.fields != null)
                  C.JSArray_methods.forEach$1($async$self._createVariablesForFields$1(result), variable.get$addChild());
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              if (!(H.unwrapException($async$exception) instanceof Q.SentinelException))
                throw $async$exception;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              variable.treeInitialized = true;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$buildVariablesTree$1, $async$completer);
    },
    _createVariablesForAssociations$1: function(instance) {
      var t2, i, t3, association, t4, t5, t6, variable, _null = null,
        t1 = type$.JSArray_legacy_Variable,
        variables = H._setArrayType([], t1);
      for (t2 = type$.legacy_InstanceRef, i = 0; t3 = instance.associations, i < t3.length; ++i) {
        association = t3[i];
        t3 = association.key;
        if (!t2._is(t3))
          continue;
        t4 = association.value;
        t5 = "[Entry " + i + "]";
        t6 = H._setArrayType([], t1);
        t3 = new E.Variable(_null, new Q.BoundVariable("[key]", t3, _null, _null, _null, _null), H._setArrayType([], t1));
        t6.push(t3);
        variable = t3.parent = new E.Variable(_null, new Q.BoundVariable(t5, "", _null, _null, _null, _null), t6);
        t3.index = t6.length - 1;
        t4 = new E.Variable(_null, new Q.BoundVariable("[value]", t4, _null, _null, _null, _null), H._setArrayType([], t1));
        t6.push(t4);
        t4.parent = variable;
        t4.index = t6.length - 1;
        variables.push(variable);
      }
      return variables;
    },
    _createVariablesForBytes$1: function(instance) {
      var result, t1, t2, $length, i, _null = null,
        bytes = C.C_Base64Decoder.convert$1(instance.bytes),
        boundVariables = H._setArrayType([], type$.JSArray_legacy_BoundVariable);
      switch (instance.kind) {
        case "Uint8ClampedList":
        case "Uint8List":
          result = bytes;
          break;
        case "Uint16List":
          t1 = bytes.buffer;
          H._checkViewArguments(t1, 0, _null);
          t2 = t1.byteLength;
          $length = C.JSInt_methods._tdivFast$1(t2 - 0, 2);
          result = new Uint16Array(t1, 0, $length);
          break;
        case "Uint32List":
          result = C.NativeByteBuffer_methods.asUint32List$2(bytes.buffer, 0, _null);
          break;
        case "Uint64List":
          t1 = H._setArrayType([], type$.JSArray_legacy_Variable);
          return t1;
        case "Int8List":
          result = H.NativeInt8List_NativeInt8List$view(bytes.buffer, 0, _null);
          break;
        case "Int16List":
          result = H.NativeInt16List_NativeInt16List$view(bytes.buffer, 0, _null);
          break;
        case "Int32List":
          result = H.NativeInt32List_NativeInt32List$view(bytes.buffer, 0, _null);
          break;
        case "Int64List":
          t1 = H._setArrayType([], type$.JSArray_legacy_Variable);
          return t1;
        case "Float32List":
          result = H.NativeFloat32List_NativeFloat32List$view(bytes.buffer, 0, _null);
          break;
        case "Float64List":
          result = H.NativeFloat64List_NativeFloat64List$view(bytes.buffer, 0, _null);
          break;
        case "Int32x4List":
          t1 = bytes.buffer;
          t2 = t1.byteLength;
          result = new H.NativeInt32x4List(H.NativeInt32List_NativeInt32List$view(t1, 0, C.JSInt_methods._tdivFast$1(t2 - 0, 16) * 4));
          break;
        case "Float32x4List":
          t1 = bytes.buffer;
          t2 = t1.byteLength;
          result = new H.NativeFloat32x4List(H.NativeFloat32List_NativeFloat32List$view(t1, 0, C.JSInt_methods._tdivFast$1(t2 - 0, 16) * 4));
          break;
        case "Float64x2List":
          t1 = bytes.buffer;
          t2 = t1.byteLength;
          result = new H.NativeFloat64x2List(H.NativeFloat64List_NativeFloat64List$view(t1, 0, C.JSInt_methods._tdivFast$1(t2 - 0, 16) * 2));
          break;
        default:
          result = bytes;
      }
      for (t1 = J.getInterceptor$asx(result), i = 0; i < t1.get$length(result); ++i)
        boundVariables.push(new Q.BoundVariable("[" + i + "]", t1.$index(result, i), _null, _null, _null, _null));
      t1 = type$.MappedListIterable_of_legacy_BoundVariable_and_legacy_Variable;
      return P.List_List$of(new H.MappedListIterable(boundVariables, new D.DebuggerController__createVariablesForBytes_closure(), t1), true, t1._eval$1("ListIterable.E"));
    },
    _createVariablesForElements$1: function(instance) {
      var i, t1, _null = null,
        boundVariables = H._setArrayType([], type$.JSArray_legacy_BoundVariable);
      for (i = 0; i < instance.elements.length; ++i)
        boundVariables.push(new Q.BoundVariable("[" + i + "]", instance.elements[i], _null, _null, _null, _null));
      t1 = type$.MappedListIterable_of_legacy_BoundVariable_and_legacy_Variable;
      return P.List_List$of(new H.MappedListIterable(boundVariables, new D.DebuggerController__createVariablesForElements_closure(), t1), true, t1._eval$1("ListIterable.E"));
    },
    _createVariablesForFields$1: function(instance) {
      var t2, t3,
        t1 = instance.fields;
      t1.toString;
      t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,BoundVariable*>");
      t3 = t2._eval$1("MappedListIterable<ListIterable.E,Variable*>");
      return P.List_List$of(new H.MappedListIterable(new H.MappedListIterable(t1, new D.DebuggerController__createVariablesForFields_closure(), t2), new D.DebuggerController__createVariablesForFields_closure0(), t3), true, t3._eval$1("ListIterable.E"));
    },
    getBreakablePositions$1: function(script) {
      return this.getBreakablePositions$body$DebuggerController(script);
    },
    getBreakablePositions$body$DebuggerController: function(script) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_SourcePosition),
        $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2;
      var $async$getBreakablePositions$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._breakPositionsMap;
              $async$goto = !t1.containsKey$1(0, script.id) ? 3 : 4;
              break;
            case 3:
              // then
              $async$temp1 = t1;
              $async$temp2 = script.id;
              $async$goto = 5;
              return P._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
              $async$returnValue = t1.$index(0, script.id);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getBreakablePositions$1, $async$completer);
    },
    _getBreakablePositions$1: function(script) {
      return this._getBreakablePositions$body$DebuggerController(script);
    },
    _getBreakablePositions$body$DebuggerController: function(script) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_SourcePosition),
        $async$returnValue, $async$self = this, _i, t3, t4, _i0, t1, t2, report, positions;
      var $async$_getBreakablePositions$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $async$self.isolateRef;
              $async$goto = 3;
              return P._asyncAwait(t1.getSourceReport$4$forceCompile$scriptId(t2.get$id(t2), H._setArrayType(["PossibleBreakpoints"], type$.JSArray_legacy_String), true, script.id), $async$_getBreakablePositions$1);
            case 3:
              // returning from await.
              report = $async$result;
              positions = H._setArrayType([], type$.JSArray_legacy_SourcePosition);
              for (t1 = report.ranges, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
                t3 = t1[_i].possibleBreakpoints;
                if (t3 != null)
                  for (t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i0)
                    positions.push($async$self.calculatePosition$2(script, t3[_i0]));
              }
              $async$returnValue = positions;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_getBreakablePositions$1, $async$completer);
    },
    toggleSearchInFileVisibility$1: function(visible) {
      var t1, _this = this;
      _this._showSearchInFileField.set$value(0, visible);
      if (!visible) {
        t1 = _this.SearchControllerMixin__searchNotifier;
        t1.set$value(0, "");
        _this.updateMatches$1(_this.matchesForSearch$1(t1._value));
      }
    },
    matchesForSearch$1: function(search) {
      var matches, caseInsensitiveSearch, t1, t2, i, matchesForLine;
      if (search == null || search.length === 0 || this.parsedScript._value == null)
        return H._setArrayType([], type$.JSArray_legacy_SourceToken);
      matches = H._setArrayType([], type$.JSArray_legacy_SourceToken);
      caseInsensitiveSearch = search.toLowerCase();
      for (t1 = this.parsedScript._value.lines, t2 = type$.legacy_SourceToken, i = 0; i < t1.length; ++i) {
        matchesForLine = C.JSString_methods.allMatches$1(caseInsensitiveSearch, t1[i].toLowerCase());
        if (!matchesForLine.get$isEmpty(matchesForLine))
          C.JSArray_methods.addAll$1(matches, H.MappedIterable_MappedIterable(matchesForLine, new D.DebuggerController_matchesForSearch_closure(i), H._instanceType(matchesForLine)._eval$1("Iterable.E"), t2));
      }
      return matches;
    }
  };
  D.DebuggerController_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._showScriptLocation$1(new E.ScriptLocation(t1.scriptsHistory._history_manager$_current._value, null));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.DebuggerController__parseCurrentScript_closure.prototype = {
    call$1: function(p) {
      return p.line;
    },
    $signature: 765
  };
  D.DebuggerController_appendStdio_closure.prototype = {
    call$1: function(text) {
      return new D.TextConsoleLine(text);
    },
    $signature: 199
  };
  D.DebuggerController_appendStdio_closure0.prototype = {
    call$1: function(text) {
      return new D.TextConsoleLine(text);
    },
    $signature: 199
  };
  D.DebuggerController_switchToIsolate_closure.prototype = {
    call$1: function(list) {
      var t1 = J.toList$0$ax(list);
      C.JSArray_methods.sort$0(t1);
      this.$this._breakpointsWithLocation.set$value(0, t1);
    },
    $signature: 762
  };
  D.DebuggerController_stepOver_closure.prototype = {
    call$0: function() {
      return $.$get$_log().log$1("stepOver() completed");
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  D.DebuggerController_clearBreakpoints_closure.prototype = {
    call$1: function(breakpoint) {
      var t3, t4, t5,
        _s16_ = "removeBreakpoint",
        t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service,
        t2 = this.$this.isolateRef;
      t2 = t2.get$id(t2);
      t3 = breakpoint.id;
      t4 = t1._vmService;
      t4.toString;
      t5 = type$.dynamic;
      return t1.trackFuture$1$2(_s16_, t4._call$1$2(0, _s16_, P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2, "breakpointId", t3], t5, t5), type$.Success), type$.legacy_Success);
    },
    $signature: 759
  };
  D.DebuggerController__handleDebugEvent_closure.prototype = {
    call$1: function(bp) {
      var t1 = this.$this._breakpointsWithLocation,
        t2 = P.List_List$of(t1._value, true, type$.legacy_BreakpointAndSourcePosition);
      t2.push(bp);
      C.JSArray_methods.sort$0(t2);
      t1.set$value(0, t2);
    },
    $signature: 200
  };
  D.DebuggerController__handleDebugEvent_closure0.prototype = {
    call$1: function(bp) {
      var t1 = this.$this._breakpointsWithLocation,
        list = J.toList$0$ax(t1._value);
      if (!!list.fixed$length)
        H.throwExpression(P.UnsupportedError$("removeWhere"));
      C.JSArray_methods._removeWhere$2(list, new D.DebuggerController__handleDebugEvent__closure(bp), true);
      C.JSArray_methods.add$1(list, bp);
      C.JSArray_methods.sort$0(list);
      t1.set$value(0, list);
    },
    $signature: 200
  };
  D.DebuggerController__handleDebugEvent__closure.prototype = {
    call$1: function(breakpoint) {
      this.bp.toString;
      return true;
    },
    $signature: 125
  };
  D.DebuggerController__retrieveAndSortScripts_closure.prototype = {
    call$2: function(a, b) {
      return C.JSString_methods.compareTo$1(a.get$uri().toUpperCase(), b.get$uri().toUpperCase());
    },
    $signature: 758
  };
  D.DebuggerController__updateAfterIsolateReload_closure.prototype = {
    call$1: function(script) {
      return script.get$uri() == this.uri;
    },
    $signature: 128
  };
  D.DebuggerController__updateAfterIsolateReload_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  D.DebuggerController__populateScriptAndShowLocation_closure.prototype = {
    call$1: function(script) {
      this.$this.showScriptLocation$1(new E.ScriptLocation(this.scriptRef, null));
    },
    $signature: 201
  };
  D.DebuggerController__populateScripts_closure.prototype = {
    call$1: function(ref) {
      return ref.get$uri() == this.isolate.rootLib.get$uri();
    },
    $signature: 128
  };
  D.DebuggerController__populateScripts_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  D.DebuggerController__createBreakpointWithLocation_closure.prototype = {
    call$1: function(script) {
      return E.BreakpointAndSourcePosition_BreakpointAndSourcePosition$create(this.breakpoint, this.$this.calculatePosition$2(script, this.bp.get$tokenPos()));
    },
    $signature: 752
  };
  D.DebuggerController__createVariablesForFrame_closure.prototype = {
    call$1: function(v) {
      return new E.Variable(null, v, H._setArrayType([], type$.JSArray_legacy_Variable));
    },
    $signature: 119
  };
  D.DebuggerController__createVariablesForFrame_closure0.prototype = {
    call$2: function(a, b) {
      return B.sortFieldsByName(a.boundVar.name, b.boundVar.name);
    },
    $signature: 748
  };
  D.DebuggerController__createVariablesForBytes_closure.prototype = {
    call$1: function(bv) {
      return new E.Variable(null, bv, H._setArrayType([], type$.JSArray_legacy_Variable));
    },
    $signature: 119
  };
  D.DebuggerController__createVariablesForElements_closure.prototype = {
    call$1: function(bv) {
      return new E.Variable(null, bv, H._setArrayType([], type$.JSArray_legacy_Variable));
    },
    $signature: 119
  };
  D.DebuggerController__createVariablesForFields_closure.prototype = {
    call$1: function(field) {
      var _null = null,
        t1 = field.decl;
      return new Q.BoundVariable(t1.get$name(t1), field.value, _null, _null, _null, _null);
    },
    $signature: 716
  };
  D.DebuggerController__createVariablesForFields_closure0.prototype = {
    call$1: function(bv) {
      return new E.Variable(null, bv, H._setArrayType([], type$.JSArray_legacy_Variable));
    },
    $signature: 119
  };
  D.DebuggerController_matchesForSearch_closure.prototype = {
    call$1: function(m) {
      return new E.SourceToken(new E.SourcePosition(this.i, m.get$start(m), null), m.get$end(m) - m.get$start(m), false, false);
    },
    $signature: 709
  };
  D.ScriptCache.prototype = {
    getScript$3: function(vmService, isolateRef, scriptRef) {
      var t1, scripts, t2, t3, scriptFuture, _this = this;
      if (_this._scripts.containsKey$1(0, scriptRef.get$id(scriptRef)))
        return P.Future_Future$value(_this._scripts.$index(0, scriptRef.get$id(scriptRef)), type$.legacy_Script);
      t1 = _this._inProgress;
      if (t1.containsKey$1(0, scriptRef.get$id(scriptRef)))
        return t1.$index(0, scriptRef.get$id(scriptRef));
      scripts = _this._scripts;
      t2 = isolateRef.get$id(isolateRef);
      t3 = scriptRef.get$id(scriptRef);
      scriptFuture = vmService.trackFuture$1$2("getObject", vmService._vmService.getObject$2(0, t2, t3), type$.legacy_Obj).then$1$1(0, new D.ScriptCache_getScript_closure(), type$.legacy_Script);
      t1.$indexSet(0, scriptRef.get$id(scriptRef), scriptFuture);
      scriptFuture.then$1$1(0, new D.ScriptCache_getScript_closure0(scripts, scriptRef), type$.void);
      return scriptFuture;
    }
  };
  D.ScriptCache_getScript_closure.prototype = {
    call$1: function(obj) {
      return type$.legacy_Script._as(obj);
    },
    $signature: 708
  };
  D.ScriptCache_getScript_closure0.prototype = {
    call$1: function(script) {
      var t1 = this.scriptRef;
      this.scripts.$indexSet(0, t1.get$id(t1), script);
    },
    $signature: 201
  };
  D.ScriptsHistory.prototype = {
    pushEntry$1: function(ref) {
      var t2, t3, t4, _this = this,
        t1 = _this._history_manager$_current;
      if (J.$eq$(ref, t1._value))
        return;
      t2 = _this._history_manager$_history;
      while (true) {
        t3 = t2.length;
        t4 = t3 === 0;
        if (!(!t4 && _this._historyIndex < t3 - 1))
          break;
        if (t4)
          H.throwExpression(P.StateError$("no history available"));
        t2.pop();
        t3 = t2.length;
        t4 = _this._historyIndex;
        if (t3 === t4) {
          t3 = t4 - 1;
          _this._historyIndex = t3;
          t1.set$value(0, t2[t3]);
        }
      }
      t3 = _this._openedScripts;
      t3.remove$1(0, ref);
      t3.add$1(0, ref);
      t2.push(ref);
      t3 = t2.length - 1;
      _this._historyIndex = t3;
      t1.set$value(0, t2[t3]);
    }
  };
  D.EvalHistory.prototype = {
    pushEvalHistory$1: function(expression) {
      var t1 = this._evalHistory;
      if (t1.length !== 0 && C.JSArray_methods.get$last(t1) === expression)
        return;
      t1.push(expression);
      this._historyPosition = -1;
    },
    get$currentText: function() {
      var t1 = this._historyPosition;
      return t1 === -1 ? null : this._evalHistory[t1];
    }
  };
  D._StackInfo.prototype = {};
  D.ParsedScript.prototype = {};
  D._DebuggerController_DisposableController_AutoDisposeControllerMixin.prototype = {};
  D._DebuggerController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin.prototype = {};
  E.ScriptLocation.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof E.ScriptLocation && J.$eq$(other.scriptRef, this.scriptRef) && J.$eq$(other.location, this.location);
    },
    get$hashCode: function(_) {
      return P.hashValues(this.scriptRef, this.location, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return H.S(this.scriptRef.get$uri()) + " " + H.S(this.location);
    }
  };
  E.SourcePosition.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof E.SourcePosition && other.line == this.line && other.column == this.column && other.tokenPos == this.tokenPos;
    },
    get$hashCode: function(_) {
      return (this.line << 7 ^ this.column) >>> 0;
    },
    toString$0: function(_) {
      return H.S(this.line) + ":" + H.S(this.column);
    }
  };
  E.SourceToken.prototype = {
    toString$0: function(_) {
      var t1 = this.position;
      return t1.toString$0(0) + "-" + (t1.column + this.length);
    },
    get$length: function(receiver) {
      return this.length;
    }
  };
  E.BreakpointAndSourcePosition.prototype = {
    get$hashCode: function(_) {
      return J.get$hashCode$(this.breakpoint.id);
    },
    $eq: function(_, other) {
      var t1;
      if (other == null)
        return false;
      if (other instanceof E.BreakpointAndSourcePosition)
        t1 = other.breakpoint.id == this.breakpoint.id;
      else
        t1 = false;
      return t1;
    },
    compareTo$1: function(_, other) {
      var t1, _this = this,
        result = J.compareTo$1$ns(_this.get$scriptUri(), other.get$scriptUri());
      if (result !== 0)
        return result;
      t1 = _this.breakpoint.resolved;
      if (t1 != other.breakpoint.resolved)
        return t1 ? 1 : -1;
      if (t1)
        return _this.get$tokenPos() - other.get$tokenPos();
      else
        return _this.get$line(_this) - other.get$line(other);
    },
    $isComparable: 1
  };
  E._BreakpointAndSourcePositionResolved.prototype = {
    get$scriptRef: function() {
      return this.location.script;
    },
    get$scriptUri: function() {
      return this.location.script.get$uri();
    },
    get$tokenPos: function() {
      return this.location.tokenPos;
    },
    get$line: function(_) {
      var t1 = this.sourcePosition;
      return t1 == null ? null : t1.line;
    }
  };
  E._BreakpointAndSourcePositionUnresolved.prototype = {
    get$scriptRef: function() {
      return this.location.script;
    },
    get$scriptUri: function() {
      var t1 = this.location,
        t2 = t1.script;
      t2 = t2 == null ? null : t2.get$uri();
      return t2 == null ? t1.scriptUri : t2;
    },
    get$tokenPos: function() {
      return this.location.tokenPos;
    },
    get$line: function(_) {
      var t1 = this.sourcePosition;
      t1 = t1 == null ? null : t1.line;
      return t1 == null ? this.location.line : t1;
    }
  };
  E.StackFrameAndSourcePosition.prototype = {
    get$scriptRef: function() {
      var t1 = this.frame.location;
      return t1 == null ? null : t1.script;
    }
  };
  E.Variable.prototype = {
    get$isExpandable: function() {
      if (this.children.length === 0) {
        var t1 = this.boundVar.value;
        t1 = type$.legacy_InstanceRef._is(t1) && t1.get$valueAsString(t1) == null;
      } else
        t1 = true;
      return t1;
    },
    get$displayValue: function() {
      var t1, valueStr, t2, _s4_ = "item",
        value = this.boundVar.value;
      if (type$.legacy_InstanceRef._is(value)) {
        if (value.get$valueAsString(value) == null) {
          t1 = value.get$classRef();
          valueStr = t1.get$name(t1);
        } else {
          valueStr = value.get$valueAsString(value);
          if (value.get$valueAsStringIsTruncated() === true)
            valueStr = J.$add$ansx(valueStr, "...");
          if (value.get$kind(value) === "String")
            valueStr = "'" + H.S(valueStr) + "'";
        }
        if (value.get$kind(value) === "List") {
          t1 = H.S(valueStr) + " (";
          t2 = value.get$length(value);
          valueStr = t1 + ($.$get$nf().format$1(t2) + " " + B.pluralize(_s4_, t2)) + ")";
        } else if (value.get$kind(value) === "Map") {
          t1 = H.S(valueStr) + " (";
          t2 = value.get$length(value);
          valueStr = t1 + ($.$get$nf().format$1(t2) + " " + B.pluralize(_s4_, t2)) + ")";
        } else if (value.get$kind(value) != null && J.endsWith$1$s(value.get$kind(value), "List")) {
          t1 = H.S(valueStr) + " (";
          t2 = value.get$length(value);
          valueStr = t1 + ($.$get$nf().format$1(t2) + " " + B.pluralize(_s4_, t2)) + ")";
        }
      } else if (value instanceof Q.Sentinel)
        valueStr = value.valueAsString;
      else
        valueStr = type$.legacy_TypeArgumentsRef._is(value) ? value.get$name(value) : J.toString$0$(value);
      return valueStr;
    },
    toString$0: function(_) {
      var t1 = this.boundVar,
        value = t1.value;
      if (type$.legacy_InstanceRef._is(value))
        value = value.get$valueAsString(value);
      return H.S(t1.name) + " - " + H.S(value);
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  E.FileNode.prototype = {
    _getCreateChild$1: function($name) {
      return this._childrenAsMap.putIfAbsent$2(0, $name, new E.FileNode__getCreateChild_closure(this, $name));
    },
    _trimChildrenAsMapEntries$0: function() {
      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, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i]._trimChildrenAsMapEntries$0();
    },
    get$hashCode: function(_) {
      var t1 = this.scriptRef;
      t1 = t1 == null ? null : t1.get$hashCode(t1);
      return t1 == null ? J.get$hashCode$(this.name) : t1;
    },
    $eq: function(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (!(other instanceof E.FileNode))
        return false;
      t1 = this.scriptRef;
      if (t1 == null)
        return other.scriptRef != null ? false : this.name == other.name;
      else {
        t2 = other.scriptRef;
        return t2 == null ? false : t1.$eq(0, t2);
      }
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  E.FileNode__getCreateChild_closure.prototype = {
    call$0: function() {
      var child = new E.FileNode(this.name, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_FileNode), H._setArrayType([], type$.JSArray_legacy_FileNode)),
        t1 = this.$this;
      child.parent = t1;
      t1.children.push(child);
      return child;
    },
    $signature: 698
  };
  E.ScriptRefUtils_splitDirectoryParts_closure.prototype = {
    call$1: function(part) {
      return part.length !== 0;
    },
    $signature: 14
  };
  E._SourceToken_Object_DataSearchStateMixin.prototype = {
    set$isActiveSearchMatch: function(val) {
      return this.DataSearchStateMixin_isActiveSearchMatch = val;
    }
  };
  A.DebuggerScreen.prototype = {
    get$docPageId: function() {
      return this.screenId;
    },
    get$showIsolateSelector: function() {
      return C.FixedValueListenable_true;
    },
    build$1: function(_, context) {
      return C.DebuggerScreenBody_null;
    },
    buildStatus$2: function(context, textTheme) {
      return new A.DebuggerStatus(Y.Provider_of(context, true, type$.legacy_DebuggerController), null);
    }
  };
  A.DebuggerScreenBody.prototype = {
    createState$0: function() {
      return new A.DebuggerScreenBodyState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  A.DebuggerScreenBodyState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._libraryFilterFocusNode = O.FocusNode$(true, null, true, null, false);
      F.screen("debugger");
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_DebuggerController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
    },
    dispose$0: function(_) {
      this._libraryFilterFocusNode.dispose$0(0);
      this.super$_DebuggerScreenBodyState_State_AutoDisposeMixin$dispose(0);
    },
    _onLocationSelected$1: function($location) {
      this.controller.showScriptLocation$1($location);
    },
    _toggleBreakpoint$2: function(script, line) {
      return this._toggleBreakpoint$body$DebuggerScreenBodyState(script, line);
    },
    _toggleBreakpoint$body$DebuggerScreenBodyState: function(script, line) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, bp, t1, t2, t3, t4, t5, exception, $async$exception;
      var $async$_toggleBreakpoint$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate.get$isSystemIsolate()) {
                // goto return
                $async$goto = 1;
                break;
              }
              bp = J.firstWhere$2$orElse$ax($async$self.controller._breakpointsWithLocation._value, new A.DebuggerScreenBodyState__toggleBreakpoint_closure(script, line), new A.DebuggerScreenBodyState__toggleBreakpoint_closure0());
              $async$goto = bp != null ? 3 : 5;
              break;
            case 3:
              // then
              t1 = $async$self.controller;
              t2 = bp.breakpoint;
              t1.toString;
              t3 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t1 = t1.isolateRef;
              t1 = t1.get$id(t1);
              t2 = t2.id;
              t4 = t3._vmService;
              t4.toString;
              t5 = type$.dynamic;
              $async$goto = 6;
              return P._asyncAwait(t3.trackFuture$1$2("removeBreakpoint", t4._call$1$2(0, "removeBreakpoint", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t1, "breakpointId", t2], t5, t5), type$.Success), type$.legacy_Success), $async$_toggleBreakpoint$2);
            case 6:
              // returning from await.
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$handler = 8;
              t1 = $async$self.controller;
              t2 = script.get$id(script);
              t1.toString;
              t3 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t1 = t1.isolateRef;
              $async$goto = 11;
              return P._asyncAwait(t3.addBreakpoint$3(t1.get$id(t1), t2, 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;
              H.unwrapException($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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_toggleBreakpoint$2, $async$completer);
    },
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.controller,
        codeArea = N.ValueListenableBuilder$(new A.DebuggerScreenBodyState_build_closure(_this, N.ValueListenableBuilder$(new A.DebuggerScreenBodyState_build_closure0(_this), t1._currentScriptRef, type$.legacy_ScriptRef)), t1._librariesVisible, type$.legacy_bool),
        t2 = type$.JSArray_of_void_Function_Action_Intent,
        t3 = type$.ObserverList_of_void_Function_Action_Intent,
        t4 = type$.JSArray_legacy_Widget;
      return new X.Shortcuts(P.LinkedHashMap_LinkedHashMap$_literal([$.$get$focusLibraryFilterKeySet(), new A.FocusLibraryFilterIntent(t1), $.$get$goToLineNumberKeySet(), new A.GoToLineNumberIntent(context, t1), $.$get$searchInFileKeySet(), new A.SearchInFileIntent(t1), $.$get$escapeKeySet(), new A.EscapeIntent(context, t1)], type$.legacy_LogicalKeySet, type$.legacy_Intent), new U.Actions(P.LinkedHashMap_LinkedHashMap$_literal([C.Type_FocusLibraryFilterIntent_WHs, new A.FocusLibraryFilterAction(new R.ObserverList(H._setArrayType([], t2), t3)), C.Type_GoToLineNumberIntent_RkP, new A.GoToLineNumberAction(new R.ObserverList(H._setArrayType([], t2), t3)), C.Type_SearchInFileIntent_K4v, new A.SearchInFileAction(new R.ObserverList(H._setArrayType([], t2), t3)), C.Type_EscapeIntent_2GA, new A.EscapeAction(new R.ObserverList(H._setArrayType([], t2), t3))], type$.legacy_Type, type$.legacy_Action_legacy_Intent), L.Split$(C.Axis_0, H._setArrayType([new U.OutlineDecoration(_this.debuggerPanes$0(), _null), T.Column$(H._setArrayType([C.DebuggingControls_null, C.SizedBox_null_6_null_null, T.Expanded$(L.Split$(C.Axis_1, H._setArrayType([codeArea, new G.DebuggerConsole(_this.controller, _null)], t4), C.List_sxw, _null, _null), 1)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t4), C.List_O9m2, _null, _null), _null), _null, _null);
    },
    debuggerPanes$0: function() {
      return new A.LayoutBuilder(new A.DebuggerScreenBodyState_debuggerPanes_closure(this), null);
    },
    _breakpointsRightChild$0: function() {
      return N.ValueListenableBuilder$(new A.DebuggerScreenBodyState__breakpointsRightChild_closure(this), this.controller._breakpointsWithLocation, type$.legacy_List_legacy_BreakpointAndSourcePosition);
    }
  };
  A.DebuggerScreenBodyState__toggleBreakpoint_closure.prototype = {
    call$1: function(bp) {
      return J.$eq$(bp.get$scriptRef(), this.script) && bp.get$line(bp) == this.line;
    },
    $signature: 125
  };
  A.DebuggerScreenBodyState__toggleBreakpoint_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  A.DebuggerScreenBodyState_build_closure0.prototype = {
    call$3: function(context, scriptRef, _) {
      var t1 = this.$this;
      return N.ValueListenableBuilder$(new A.DebuggerScreenBodyState_build__closure0(t1, scriptRef), t1.controller.parsedScript, type$.legacy_ParsedScript);
    },
    $signature: 678
  };
  A.DebuggerScreenBodyState_build__closure0.prototype = {
    call$3: function(context, parsedScript, _) {
      var t1 = $.$get$DebuggerScreenBody_codeViewKey(),
        t2 = this.$this;
      return new K.CodeView(t2.controller, this.scriptRef, parsedScript, t2.get$_toggleBreakpoint(), t1);
    },
    $signature: 672
  };
  A.DebuggerScreenBodyState_build_closure.prototype = {
    call$3: function(context, visible, _) {
      var t2,
        t1 = this.codeView;
      if (visible) {
        t2 = this.$this;
        t2._libraryFilterFocusNode.requestFocus$0();
        return L.Split$(C.Axis_0, H._setArrayType([t1, N.ValueListenableBuilder$(new A.DebuggerScreenBodyState_build__closure(t2), t2.controller._sortedScripts, type$.legacy_List_legacy_ScriptRef)], type$.JSArray_legacy_Widget), C.List_ynv, null, null);
      } else
        return t1;
    },
    $signature: 654
  };
  A.DebuggerScreenBodyState_build__closure.prototype = {
    call$3: function(context, scripts, _) {
      var t1 = $.$get$DebuggerScreenBody_scriptViewKey(),
        t2 = this.$this;
      return new Z.ScriptPicker(t2.controller, scripts, t2.get$_onLocationSelected(), t2._libraryFilterFocusNode, t1);
    },
    $signature: 647
  };
  A.DebuggerScreenBodyState_debuggerPanes_closure.prototype = {
    call$2: function(context, constraints) {
      var t4,
        t1 = constraints.maxHeight,
        t2 = type$.JSArray_legacy_Widget,
        t3 = H._setArrayType([C.AreaPaneHeader_0ec, C.AreaPaneHeader_2jN, U.AreaPaneHeader$(H._setArrayType([this.$this._breakpointsRightChild$0()], t2), 1, true, false, true, 0, false, C.Text_btK)], type$.JSArray_legacy_PreferredSizeWidget);
      t2 = H._setArrayType([T.Column$(H._setArrayType([t3[0], T.Expanded$(C.CallStack_null, 1)], t2), C.CrossAxisAlignment_2, null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t2);
      C.JSArray_methods.addAll$1(t2, C.JSArray_methods.sublist$1(C.List_ES1, 1));
      t1 = X.FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader(C.List_a1A, t3, t1);
      t4 = H._setArrayType([t3[0].tall ? 44 : 36], type$.JSArray_legacy_double);
      C.JSArray_methods.addAll$1(t4, C.JSArray_methods.sublist$1(C.List_0_0_0, 1));
      return new X.FlexSplitColumn(t3, t2, t1, t4, null);
    },
    $signature: 646
  };
  A.DebuggerScreenBodyState__breakpointsRightChild_closure.prototype = {
    call$3: function(context, breakpoints, _) {
      var _null = null;
      return T.Row$(H._setArrayType([new F.BreakpointsCountBadge(breakpoints, _null), U.DevToolsTooltip$(new U.ToolbarAction(C.IconData_57785_MaterialIcons_false, _null, J.get$isNotEmpty$asx(breakpoints) ? this.$this.controller.get$clearBreakpoints() : _null, _null), _null, "Remove all breakpoints")], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    $signature: 61
  };
  A.FocusLibraryFilterIntent.prototype = {};
  A.FocusLibraryFilterAction.prototype = {
    invoke$1: function(intent) {
      var t1 = intent.debuggerController._librariesVisible;
      t1.set$value(0, !t1._value);
    }
  };
  A.GoToLineNumberIntent.prototype = {};
  A.GoToLineNumberAction.prototype = {
    invoke$1: function(intent) {
      K.showGoToLineDialog(intent._debugger_screen$_context, intent._debugger_screen$_controller);
    }
  };
  A.SearchInFileIntent.prototype = {};
  A.SearchInFileAction.prototype = {
    invoke$1: function(intent) {
      intent._debugger_screen$_controller.toggleSearchInFileVisibility$1(true);
    }
  };
  A.EscapeIntent.prototype = {};
  A.EscapeAction.prototype = {
    invoke$1: function(intent) {
      K.Navigator_of(intent._debugger_screen$_context, false).pop$1(0, "dialog");
      intent._debugger_screen$_controller.toggleSearchInFileVisibility$1(false);
    }
  };
  A.DebuggerStatus.prototype = {
    createState$0: function() {
      return new A._DebuggerStatusState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  A._DebuggerStatusState.prototype = {
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this.addAutoDisposeListener$2(_this._widget.controller._isPaused, _this.get$_updateStatus());
      _this._debugger_screen$_status = "";
      _this._updateStatus$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      _this.addAutoDisposeListener$2(_this._widget.controller._isPaused, _this.get$_updateStatus());
    },
    build$1: function(_, context) {
      var _null = null;
      return L.Text$(this._debugger_screen$_status, _null, 1, C.TextOverflow_2, _null, _null, _null, _null, _null, _null);
    },
    _updateStatus$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, $status;
      var $async$_updateStatus$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_updateStatus$0, $async$completer);
    },
    _computeStatus$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_String),
        $async$returnValue, $async$self = this, $event, frame, reason, fileName, t2, script, pos, t1;
      var $async$_computeStatus$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._widget.controller;
              if (!t1._isPaused._value) {
                $async$returnValue = "running";
                // goto return
                $async$goto = 1;
                break;
              }
              $event = t1._lastEvent;
              frame = $event.topFrame;
              reason = $event.kind === "PauseException" ? " on exception" : "";
              if (frame == null) {
                $async$returnValue = "paused" + reason;
                // goto return
                $async$goto = 1;
                break;
              }
              fileName = C.JSString_methods.$add(" at ", C.JSArray_methods.get$last(frame.location.script.get$uri().split("/")));
              t1 = $async$self._widget.controller;
              t2 = frame.location.script;
              $async$goto = 3;
              return P._asyncAwait(t1._scriptCache.getScript$3($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service, t1.isolateRef, t2), $async$_computeStatus$0);
            case 3:
              // returning from await.
              script = $async$result;
              pos = $async$self._widget.controller.calculatePosition$2(script, frame.location.tokenPos);
              $async$returnValue = "paused" + reason + fileName + " " + H.S(pos);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_computeStatus$0, $async$completer);
    }
  };
  A._DebuggerStatusState__updateStatus_closure.prototype = {
    call$0: function() {
      this.$this._debugger_screen$_status = this.status;
    },
    $signature: 1
  };
  A.FloatingDebuggerControls.prototype = {
    createState$0: function() {
      return new A._FloatingDebuggerControlsState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  A._FloatingDebuggerControlsState.prototype = {
    didChangeDependencies$0: function() {
      var t1, t2, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = Y.Provider_of(t1, true, type$.legacy_DebuggerController);
      _this.controller = t1;
      t1 = t1._isPaused;
      t2 = t1._value;
      _this.paused = t2;
      _this.controlHeight = t2 ? 32 : 0;
      _this.addAutoDisposeListener$2(t1, new A._FloatingDebuggerControlsState_didChangeDependencies_closure(_this));
    },
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.paused ? 1 : 0,
        t2 = _this.controlHeight,
        t3 = P.Color$fromARGB(31, 0, 0, 0),
        t4 = M.Container$(C.Alignment_m1_0, C.Text_Rcp, C.Clip_0, _null, _null, _null, _null, 32, _null, _null, C.EdgeInsets_16_0_16_0, _null, _null, _null),
        t5 = _this.controller;
      return G.AnimatedOpacity$(false, M.Container$(_null, new U.OutlinedRowGroup(H._setArrayType([t4, U.DevToolsTooltip$(U.TextButton$(C.Icon_vlu, t5.get$resume(t5), _null), _null, "Resume"), U.DevToolsTooltip$(U.TextButton$(C.Icon_M1p, t5.get$stepOver(), _null), _null, "Step over")], type$.JSArray_legacy_Widget), t3, _null), C.Clip_0, C.Color_4294834901, _null, _null, _null, t2, _null, _null, _null, _null, _null, _null), C.C__Linear, C.Duration_400000, new A._FloatingDebuggerControlsState_build_closure(_this), t1);
    }
  };
  A._FloatingDebuggerControlsState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new A._FloatingDebuggerControlsState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  A._FloatingDebuggerControlsState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.controller._isPaused._value;
      t1.paused = t2;
      if (t2)
        t1.controlHeight = 32;
    },
    $signature: 1
  };
  A._FloatingDebuggerControlsState_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (!t1.paused)
        t1.setState$1(new A._FloatingDebuggerControlsState_build__closure(t1));
    },
    $signature: 1
  };
  A._FloatingDebuggerControlsState_build__closure.prototype = {
    call$0: function() {
      this.$this.controlHeight = 0;
    },
    $signature: 1
  };
  A._DebuggerScreenBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  A.__DebuggerStatusState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  A.__FloatingDebuggerControlsState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  R.ExpressionEvalField.prototype = {
    createState$0: function() {
      var _null = null;
      return new R._ExpressionEvalFieldState(new N.LabeledGlobalKey("evalTextFieldKey", type$.LabeledGlobalKey_legacy_State_legacy_StatefulWidget), K.Disposer$(), _null, _null, _null, _null, 769, 772, 13, 27, 9, 458792, 458795, C._StateLifecycle_0);
    }
  };
  R._ExpressionEvalFieldState.prototype = {
    initState$0: function() {
      var t1, t2, t3, t4, t5, _this = this, _null = null;
      _this.super$__ExpressionEvalFieldState_State_SearchFieldMixin$initState();
      t1 = type$.nullable_void_Function;
      t2 = P.List_List$filled(0, _null, false, t1);
      t3 = H._setArrayType([], type$.JSArray_legacy_String);
      t4 = P.List_List$filled(0, _null, false, t1);
      t5 = new B.ValueNotifier("", P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_String);
      _this._autoCompleteController = new S.AutoCompleteController(new B.ValueNotifier(false, t2, type$.ValueNotifier_legacy_bool), new B.ValueNotifier(t3, t4, type$.ValueNotifier_legacy_List_legacy_String), new T.LayerLink(), _null, _null, t5, 0, new B.ValueNotifier(H._setArrayType([], type$.JSArray_legacy_DataSearchStateMixin), P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_List_legacy_DataSearchStateMixin), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_DataSearchStateMixin), new B.ValueNotifier(0, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_legacy_int));
      _this.addAutoDisposeListener$2(t5, new R._ExpressionEvalFieldState_initState_closure(_this));
      t5 = _this.get$_handleSearch();
      _this.addAutoDisposeListener$2(_this._autoCompleteController.AutoCompleteSearchControllerMixin_selectTheSearchNotifier, t5);
      _this.addAutoDisposeListener$2(_this._autoCompleteController.SearchControllerMixin__searchNotifier, t5);
    },
    _handleSearch$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, parts, matches, t1, t2, t3, isField;
      var $async$_handleSearch$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._autoCompleteController;
              t2 = t1.SearchControllerMixin__searchNotifier;
              t3 = t2._value;
              isField = J.endsWith$1$s(t3, ".");
              $async$goto = t3.length !== 0 ? 3 : 5;
              break;
            case 3:
              // then
              if (t1.AutoCompleteSearchControllerMixin_selectTheSearchNotifier._value) {
                t2.set$value(0, "");
                t1.updateMatches$1(t1.matchesForSearch$1(t2._value));
                // goto return
                $async$goto = 1;
                break;
              }
              parts = S.AutoCompleteSearchControllerMixin_activeEdtingParts(t3, $async$self.SearchFieldMixin_searchTextFieldController._value.selection, isField);
              t1 = parts.activeWord;
              if (t1.length === 0 && !J.endsWith$1$s(parts.leftSide, ".")) {
                t1 = $async$self._autoCompleteController;
                t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, H._setArrayType([], type$.JSArray_legacy_String));
                t1.AutoCompleteSearchControllerMixin_currentDefaultIndex = 0;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 6;
              return P._asyncAwait(R.autoCompleteResultsFor(parts, $async$self._widget.controller), $async$_handleSearch$0);
            case 6:
              // returning from await.
              matches = $async$result;
              t2 = J.getInterceptor$asx(matches);
              t1 = t2.get$length(matches) === 1 && J.$eq$(t2.get$first(matches), t1);
              t3 = $async$self._autoCompleteController;
              if (t1) {
                t3.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, H._setArrayType([], type$.JSArray_legacy_String));
                t3.AutoCompleteSearchControllerMixin_currentDefaultIndex = 0;
              } else {
                t3.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, t2.sublist$2(matches, 0, Math.min(10, H.checkNum(t2.get$length(matches)))));
                $async$self._autoCompleteController.AutoCompleteSearchControllerMixin_currentDefaultIndex = 0;
              }
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              t1.closeAutoCompleteOverlay$0();
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleSearch$0, $async$completer);
    },
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = K.Theme_of(context).focusColor;
      return M.Container$(_null, T.Row$(H._setArrayType([C.Text_8TW, C.SizedBox_8_null_null_null, T.Expanded$(L.Focus$(false, _null, _this.buildAutoCompleteSearchField$8$controller$decoration$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportClearField$tracking(_this._autoCompleteController, C.InputDecoration_L6o, _this.get$_onSelection(), true, _this.evalTextFieldKey, false, true, true), _null, true, _null, true, _null, _null, new R._ExpressionEvalFieldState_build_closure(_this), _null), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, new F.Border(new Y.BorderSide(t1, 1, C.BorderStyle_1), C.BorderSide_06g, C.BorderSide_06g, C.BorderSide_06g), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, C.EdgeInsets_8_8_8_8, _null, _null, _null);
    },
    _onSelection$1: function(word) {
      this.setState$1(new R._ExpressionEvalFieldState__onSelection_closure(this, word));
    },
    _handleExpressionEval$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, response, value, e, t2, lines, variable, exception, t1, expressionText, $async$exception;
      var $async$_handleExpressionEval$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.SearchFieldMixin_searchTextFieldController;
              expressionText = J.trim$0$s(t1._value.text);
              t1.set$text(0, "");
              $async$self.SearchFieldMixin_searchTextFieldController.set$selection(X.TextSelection$collapsed(C.TextAffinity_1, 0));
              $async$self.clearSearchField$2$force($async$self._autoCompleteController, true);
              if (J.get$length$asx(expressionText) === 0) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._widget.controller;
              if (!t1._isPaused._value) {
                t1 = $async$self._framework$_element;
                t1.toString;
                Y.Notifications_of(t1).push$1("Application must be paused to support expression evaluation.");
                // goto return
                $async$goto = 1;
                break;
              }
              t1.appendStdio$1("> " + H.S(expressionText) + "\n");
              $async$self.setState$1(new R._ExpressionEvalFieldState__handleExpressionEval_closure($async$self, expressionText));
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait($async$self._widget.controller.evalAtCurrentFrame$1(expressionText), $async$_handleExpressionEval$0);
            case 7:
              // returning from await.
              response = $async$result;
              if (type$.legacy_InstanceRef._is(response)) {
                t1 = $async$self._widget.controller;
                t1._stdioTrailingNewline = false;
                t2 = t1._stdio;
                lines = J.toList$0$ax(t2._value);
                variable = E.Variable_Variable$fromRef(response);
                t1.buildVariablesTree$1(variable);
                C.JSArray_methods.add$1(lines, new D.VariableConsoleLine(variable));
                t2.set$value(0, lines);
              } else {
                value = J.toString$0$(response);
                if (type$.legacy_ErrorRef._is(response))
                  value = J.get$message$x(response);
                else if (response instanceof Q.Sentinel)
                  value = response.valueAsString;
                $async$self._emitToConsole$1(value);
              }
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              e = H.unwrapException($async$exception);
              $async$self._emitToConsole$1(H.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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleExpressionEval$0, $async$completer);
    },
    _emitToConsole$1: function(text) {
      var t1 = this._widget.controller;
      text.toString;
      t1.appendStdio$1("  " + H.stringReplaceAllUnchecked(text, "\n", "\n  ") + "\n");
    },
    dispose$0: function(_) {
      this._autoCompleteController.toString;
      this.super$__ExpressionEvalFieldState_State_SearchFieldMixin_AutoDisposeMixin$dispose(0);
    },
    _historyNavUp$0: function() {
      var evalHistory = this._widget.controller.evalHistory;
      if (!(evalHistory._evalHistory.length !== 0 && evalHistory._historyPosition !== 0))
        return;
      this.setState$1(new R._ExpressionEvalFieldState__historyNavUp_closure(this, evalHistory));
    },
    _historyNavDown$0: function() {
      var evalHistory = this._widget.controller.evalHistory;
      if (!(evalHistory._evalHistory.length !== 0 && evalHistory._historyPosition !== -1))
        return;
      this.setState$1(new R._ExpressionEvalFieldState__historyNavDown_closure(this, evalHistory));
    }
  };
  R._ExpressionEvalFieldState_initState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._autoCompleteController,
        t3 = t1._framework$_element;
      t3.toString;
      t2.handleAutoCompleteOverlay$5$bottom$context$maxWidth$onTap$searchFieldKey(false, t3, false, t1.get$_onSelection(), t1.evalTextFieldKey);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  R._ExpressionEvalFieldState_build_closure.prototype = {
    call$2: function(_, $event) {
      var t1, t2;
      $event.toString;
      t1 = $.$get$RawKeyboard_instance()._keysPressed;
      t2 = t1.get$values(t1);
      if (P.LinkedHashSet_LinkedHashSet$of(t2, H._instanceType(t2)._eval$1("Iterable.E")).contains$1(0, C.LogicalKeyboardKey_68719477508)) {
        this.$this._historyNavUp$0();
        return C.KeyEventResult_0;
      } else {
        t2 = t1.get$values(t1);
        if (P.LinkedHashSet_LinkedHashSet$of(t2, H._instanceType(t2)._eval$1("Iterable.E")).contains$1(0, C.LogicalKeyboardKey_68719477505)) {
          this.$this._historyNavDown$0();
          return C.KeyEventResult_0;
        } else {
          t1 = t1.get$values(t1);
          if (P.LinkedHashSet_LinkedHashSet$of(t1, H._instanceType(t1)._eval$1("Iterable.E")).contains$1(0, C.LogicalKeyboardKey_68719476749)) {
            this.$this._handleExpressionEval$0();
            return C.KeyEventResult_0;
          }
        }
      }
      return C.KeyEventResult_1;
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 76
  };
  R._ExpressionEvalFieldState__onSelection_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = this.word,
        textFieldEditingValue = t1.SearchFieldMixin_searchTextFieldController._value,
        parts = S.AutoCompleteSearchControllerMixin_activeEdtingParts(textFieldEditingValue.text, textFieldEditingValue.selection, J.endsWith$1$s(t1._autoCompleteController.SearchControllerMixin__searchNotifier._value, ".")),
        t3 = parts.leftSide,
        newValue = H.S(t3) + H.S(t2) + H.S(parts.rightSide),
        t4 = t1.SearchFieldMixin_searchTextFieldController;
      t2 = X.TextSelection$fromPosition(new P.TextPosition(t3.length + t2.length, C.TextAffinity_1));
      t4.toString;
      t4.super$ValueNotifier$value(0, new N.TextEditingValue(newValue, t2, C.TextRange_m1_m1));
      t1._autoCompleteController.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, false);
      t1._autoCompleteController.closeAutoCompleteOverlay$0();
    },
    $signature: 1
  };
  R._ExpressionEvalFieldState__handleExpressionEval_closure.prototype = {
    call$0: function() {
      this.$this._widget.controller.evalHistory.pushEvalHistory$1(this.expressionText);
    },
    $signature: 1
  };
  R._ExpressionEvalFieldState__historyNavUp_closure.prototype = {
    call$0: function() {
      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();
      t1 = this.$this.SearchFieldMixin_searchTextFieldController;
      t2 = X.TextSelection$collapsed(C.TextAffinity_1, text.length);
      t1.toString;
      t1.super$ValueNotifier$value(0, new N.TextEditingValue(text, t2, C.TextRange_m1_m1));
    },
    $signature: 1
  };
  R._ExpressionEvalFieldState__historyNavDown_closure.prototype = {
    call$0: function() {
      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_searchTextFieldController;
      t2 = X.TextSelection$collapsed(C.TextAffinity_1, text.length);
      t1.toString;
      t1.super$ValueNotifier$value(0, new N.TextEditingValue(text, t2, C.TextRange_m1_m1));
    },
    $signature: 1
  };
  R.autoCompleteResultsFor_closure.prototype = {
    call$1: function(variable) {
      return variable.boundVar.name;
    },
    $signature: 614
  };
  R.autoCompleteResultsFor_closure0.prototype = {
    call$1: function(variable) {
      return variable.boundVar.name === "this";
    },
    $signature: 596
  };
  R.autoCompleteResultsFor_closure1.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  R.autoCompleteResultsFor_closure2.prototype = {
    call$1: function($name) {
      return J.startsWith$1$s($name, this.parts.activeWord);
    },
    $signature: 14
  };
  R.libraryMemberAndImportsAutocompletes_closure.prototype = {
    call$0: function() {
      return R._libraryMemberAndImportsAutocompletes(this.libraryRef, this.controller);
    },
    $signature: 136
  };
  R.libraryMemberAutocompletes_closure.prototype = {
    call$0: function() {
      return R._libraryMemberAutocompletes(this.controller, this.libraryRef);
    },
    $signature: 136
  };
  R.libraryMemberAutocompletes_closure0.prototype = {
    call$1: function($name) {
      return !J.startsWith$1$s($name, "_");
    },
    $signature: 14
  };
  R._libraryMemberAutocompletes_closure.prototype = {
    call$1: function(field) {
      return field.get$name(field);
    },
    $signature: 203
  };
  R._libraryMemberAutocompletes_closure0.prototype = {
    call$1: function(funcRef) {
      var t1 = funcRef.get$name(funcRef);
      t1.toString;
      return H.stringReplaceAllUnchecked(t1, "=", "");
    },
    $signature: 591
  };
  R._libraryMemberAutocompletes_closure1.prototype = {
    call$1: function(clazz) {
      return clazz.get$name(clazz);
    },
    $signature: 587
  };
  R._addAllInstanceMembersToAutocompleteList_closure.prototype = {
    call$1: function(field) {
      return !field.decl.get$isStatic();
    },
    $signature: 142
  };
  R._addAllInstanceMembersToAutocompleteList_closure0.prototype = {
    call$1: function(field) {
      var t1 = field.decl;
      return t1.get$name(t1);
    },
    $signature: 563
  };
  R._addAllInstanceMembersToAutocompleteList_closure1.prototype = {
    call$1: function(member) {
      return R._isAccessible(member, this.clazz, this.controller);
    },
    $signature: 14
  };
  R._autoCompleteMembersFor_closure.prototype = {
    call$1: function(f) {
      return f.get$isStatic() === this.staticContext;
    },
    $signature: 559
  };
  R._autoCompleteMembersFor_closure0.prototype = {
    call$1: function(field) {
      return field.get$name(field);
    },
    $signature: 203
  };
  R._autoCompleteMembersFor_closure1.prototype = {
    call$1: function(member) {
      return !R._isAccessible(member, this.clazz, this.controller);
    },
    $signature: 14
  };
  R.__ExpressionEvalFieldState_State_SearchFieldMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.SearchFieldMixin__searchFieldFocusNode = O.FocusNode$(true, null, true, null, false);
      this.SearchFieldMixin_searchTextFieldController = D.TextEditingController$(null);
    },
    dispose$0: function(_) {
      var t1;
      this.super$State$dispose(0);
      t1 = this.SearchFieldMixin__searchFieldFocusNode;
      if (t1 != null)
        t1.dispose$0(0);
    }
  };
  R.__ExpressionEvalFieldState_State_SearchFieldMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$__ExpressionEvalFieldState_State_SearchFieldMixin$dispose(0);
    }
  };
  U.HoverCard.prototype = {
    HoverCard$5$contents$context$event$title$width: function(contents, context, $event, title, width) {
      var _null = null,
        result = context.findAncestorStateOfType$1$0(type$.OverlayState),
        colorScheme = K.Theme_of(context).colorScheme,
        focusColor = K.Theme_of(context).focusColor,
        hoverHeading = A.TextStyle$(_null, _null, colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4290493371, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, 15, _null, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        t1 = X.OverlayEntry$(new U.HoverCard_closure(this, $event.get$position($event), width, colorScheme, focusColor, title, hoverHeading, contents), false, false);
      this._hover$_overlayEntry = t1;
      result.insert$1(0, t1);
    },
    remove$0: function(_) {
      if (!this._isRemoved)
        this._hover$_overlayEntry.remove$0(0);
      this._isRemoved = true;
    }
  };
  U.HoverCard_closure.prototype = {
    call$1: function(context) {
      var _this = this, _null = null,
        t1 = _this.position,
        t2 = _this.width,
        t3 = Math.max(0, t1._dx - t2 / 2),
        t4 = _this.$this,
        t5 = _this.colorScheme.brightness === C.Brightness_1,
        t6 = t5 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850),
        t7 = F.Border_Border$all(_this.focusColor, 2),
        t8 = K.BorderRadius$circular(4),
        t9 = T.SizedBox$(L.Text$(_this.title, _null, _null, C.TextOverflow_2, _null, _null, _this.hoverHeading, C.TextAlign_2, _null, _null), _null, t2);
      return T.Positioned$(_null, new T.MouseRegion(new U.HoverCard__closure(t4), _null, new U.HoverCard__closure0(t4), C.C__DeferringMouseCursor, true, M.Container$(_null, T.Column$(H._setArrayType([t9, Z.Divider$(A.TextStyle$(_null, _null, t5 ? C.Color_4278190080 : C.Color_4290493371, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, 11.5, _null, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null).color, _null), _this.contents], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, _null, _null, new S.BoxDecoration(t6, _null, t7, t8, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, C.EdgeInsets_8_8_8_8, _null, _null, t2), _null), _null, _null, t3, _null, t1._dy + 10, _null);
    },
    $signature: 143
  };
  U.HoverCard__closure0.prototype = {
    call$1: function(_) {
      this.$this.remove$0(0);
    },
    $signature: 545
  };
  U.HoverCard__closure.prototype = {
    call$1: function(_) {
      this.$this._hasMouseEntered = true;
    },
    $signature: 544
  };
  Z.ScriptPicker.prototype = {
    createState$0: function() {
      var t1 = type$.JSArray_legacy_ObjRef;
      return new Z.ScriptPickerState(D.TextEditingController$(null), H._setArrayType([], t1), H._setArrayType([], t1), C._StateLifecycle_0);
    },
    onSelected$1: function(arg0) {
      return this.onSelected.call$1(arg0);
    }
  };
  Z.ScriptPickerState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._updateFiltered$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.setState$1(this.get$_updateFiltered());
    },
    build$1: function(_, context) {
      var t1, t2, t3, t4, t5, _this = this, _null = null,
        theme = K.Theme_of(context),
        isMacOS = $.$get$HostPlatform_instance()._isMacOS;
      if (_this._rootScriptNodes == null)
        _this._rootScriptNodes = E.FileNode_createRootsFrom(_this._filteredItems);
      t1 = type$.JSArray_legacy_Widget;
      t2 = U.AreaPaneHeader$(H._setArrayType([new Z.CountBadge(_this._filteredItems, _this._items, _null)], t1), 1, true, false, false, 4, false, C.Text_uhb);
      t3 = theme.focusColor;
      t4 = L.InputDecoration$(_null, C.OutlineInputBorder_BOY, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, false, _null, _null, "Filter (" + B.LogicalKeySetExtension_describeKeys($.$get$focusLibraryFilterKeySet(), isMacOS) + ")", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      t5 = K.Theme_of(context).textTheme;
      t1 = H._setArrayType([t2, M.Container$(_null, new T.Padding(C.EdgeInsets_8_8_8_8, T.SizedBox$(Z.TextField$(false, _this._filterController, _null, t4, _null, _this._widget.libraryFilterFocusNode, _null, _null, _null, new Z.ScriptPickerState_build_closure(_this), _null, _null, t5.bodyText2), 32, _null), _null), C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, new F.Border(C.BorderSide_06g, C.BorderSide_06g, new Y.BorderSide(t3, 1, C.BorderStyle_1), C.BorderSide_06g), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null)], t1);
      if (J.get$isEmpty$asx(_this._widget.scripts))
        t1.push(C.CenteredCircularProgressIndicator_null);
      if (!J.get$isEmpty$asx(_this._widget.scripts))
        t1.push(T.Expanded$(new Y.TreeView(_this._rootScriptNodes, false, new Z.ScriptPickerState_build_closure0(_this, context), _null, 40, new Z.ScriptPickerState_build_closure1(_this), _null, type$.TreeView_legacy_FileNode), 1));
      return new U.OutlineDecoration(T.Column$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
    },
    _displayProvider$3: function(context, node, onTap) {
      var _null = null,
        t1 = node.name,
        t2 = L.Icon$(node.scriptRef != null ? C.IconData_58175_MaterialIcons_false : C.IconData_58019_MaterialIcons_false, _null, 16),
        t3 = type$.JSArray_legacy_Widget,
        t4 = H._setArrayType([], t3),
        t5 = node.scriptRef;
      if (t5 == null)
        t4.push(L.Text$(t1, _null, 1, C.TextOverflow_2, _null, _null, _null, _null, _null, _null));
      else
        C.JSArray_methods.addAll$1(t4, H._setArrayType([L.Text$(node._fileName, _null, 1, C.TextOverflow_2, _null, _null, _null, _null, _null, _null), L.Text$(t5.get$uri(), _null, 1, C.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(context).unselectedWidgetColor, _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)], t3));
      return S.Tooltip$(M.Material$(C.Duration_200000, true, _null, R.InkWell$(false, true, T.Row$(H._setArrayType([t2, C.SizedBox_4_null_null_null, T.Expanded$(T.Column$(t4, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1), 1)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new Z.ScriptPickerState__displayProvider_closure(this, node, onTap), _null, _null, _null, _null, _null), C.Clip_0, _null, 0, _null, _null, _null, _null, C.MaterialType_0), _null, t1, _null, false, C.Duration_500000);
    },
    _updateFiltered$0: function() {
      var _this = this,
        t1 = J.trim$0$s(_this._filterController._value.text),
        t2 = _this._widget.scripts;
      _this._items = t2;
      t1 = J.where$1$ax(t2, new Z.ScriptPickerState__updateFiltered_closure(t1.toLowerCase()));
      _this._filteredItems = P.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
      _this._rootScriptNodes = null;
    },
    _handleSelected$1: function(ref) {
      return this._handleSelected$body$ScriptPickerState(ref);
    },
    _handleSelected$body$ScriptPickerState: function(ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$_handleSelected$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (type$.legacy_ScriptRef._is(ref))
                $async$self._widget.onSelected$1(new E.ScriptLocation(ref, null));
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleSelected$1, $async$completer);
    }
  };
  Z.ScriptPickerState_build_closure.prototype = {
    call$1: function(value) {
      var t1 = this.$this;
      t1.setState$1(t1.get$_updateFiltered());
      return null;
    },
    $signature: 32
  };
  Z.ScriptPickerState_build_closure1.prototype = {
    call$1: function(node) {
      if (this.$this._filterController._value.text.length !== 0 && node.children.length <= 3)
        node._isExpanded = true;
    },
    $signature: 530
  };
  Z.ScriptPickerState_build_closure0.prototype = {
    call$2: function(item, onTap) {
      return this.$this._displayProvider$3(this.context, item, onTap);
    },
    $signature: 526
  };
  Z.ScriptPickerState__displayProvider_closure.prototype = {
    call$0: function() {
      var t1 = this.node.scriptRef;
      if (t1 != null)
        this.$this._handleSelected$1(t1);
      this.onTap.call$0();
    },
    $signature: 1
  };
  Z.ScriptPickerState__updateFiltered_closure.prototype = {
    call$1: function(ref) {
      return B.StringExtension_caseInsensitiveFuzzyMatch(ref.get$uri(), this.filterText);
    },
    $signature: 128
  };
  Z.CountBadge.prototype = {
    build$1: function(_, context) {
      var t4,
        t1 = this.filteredItems,
        t2 = this.items,
        t3 = J.getInterceptor$asx(t2);
      if (t1.length === t3.get$length(t2))
        return new U.Badge($.$get$nf().format$1(t3.get$length(t2)), null);
      else {
        t4 = $.$get$nf();
        return new U.Badge(t4.format$1(t1.length) + " of " + t4.format$1(t3.get$length(t2)), null);
      }
    }
  };
  R.Grammar.prototype = {
    toString$0: function(_) {
      var t2, _this = this,
        t1 = _this.topLevelMatchers;
      t1.toString;
      t2 = H._instanceType(t1)._eval$1("MappedListIterable<ListMixin.E,Map<String*,@>*>");
      return P._JsonStringStringifier_stringify(P.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "scopeName", _this.scopeName, "patterns", P.List_List$of(new H.MappedListIterable(t1, new R.Grammar_toString_closure(), t2), true, t2._eval$1("ListIterable.E")), "repository", _this.repository.toJson$0()], type$.legacy_String, type$.legacy_Object), null, "  ");
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  R.Grammar_Grammar$fromJson_closure.prototype = {
    call$1: function(e) {
      return R._Matcher__Matcher$parse(e);
    },
    $signature: 204
  };
  R.Grammar_toString_closure.prototype = {
    call$1: function(e) {
      return e.toJson$0();
    },
    $signature: 146
  };
  R.ScopeSpan.prototype = {
    get$length: function(_) {
      return this._span_parser$_end - this._span_parser$_start;
    },
    contains$1: function(_, token) {
      return this._span_parser$_start <= token && token < this._span_parser$_end;
    },
    split$2: function(_, scanner, cond) {
      var t5, t6, _this = this,
        splitSpans = H._setArrayType([], type$.JSArray_legacy_ScopeSpan),
        t1 = _this._span_parser$_start,
        splitScanner = Z.LineScanner$(scanner.substring$2(0, 0, _this._span_parser$_end), t1),
        t2 = _this.scopes,
        t3 = H._arrayInstanceType(t2),
        t4 = H._setArrayType(t2.slice(0), t3),
        current = new R.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 = H._setArrayType(t2.slice(0), t3);
          current = new R.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: function(_) {
      var _this = this,
        t1 = _this._span_parser$_start;
      return "[" + t1 + ", " + _this._span_parser$_end + ", " + _this.line + ":" + _this.column + " (len: " + (_this._span_parser$_end - t1) + ")] = " + H.S(_this.scopes);
    }
  };
  R.Repository.prototype = {
    Repository$build$1: function(grammarJson) {
      var t1, t2, t3, t4, subRepo, t5, t6,
        repositoryJson = J.cast$2$0$ax(J.$index$asx(grammarJson, "repository"), type$.legacy_String, type$.dynamic);
      for (t1 = J.get$iterator$ax(repositoryJson.get$keys(repositoryJson)), t2 = type$.legacy_Map_of_legacy_String_and_dynamic, t3 = this.patterns, t4 = type$.JSArray_legacy__Matcher; t1.moveNext$0();) {
        subRepo = t1.get$current(t1);
        t5 = H._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(R._Matcher__Matcher$parse(t6.get$current(t6)));
        t3.$indexSet(0, subRepo, t5);
      }
    },
    toJson$0: function() {
      var t2, t3, t4,
        t1 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic);
      for (t2 = this.patterns, t2 = t2.get$entries(t2), t2 = t2.get$iterator(t2), t3 = type$.legacy_Map_of_legacy_String_and_dynamic; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        t1.$indexSet(0, t4.get$key(t4), J.map$1$1$ax(t4.get$value(t4), new R.Repository_toJson_closure(), t3).toList$0(0));
      }
      return t1;
    }
  };
  R.Repository_toJson_closure.prototype = {
    call$1: function(e) {
      return e.toJson$0();
    },
    $signature: 146
  };
  R._Matcher.prototype = {
    _applyCapture$4: function(scanner, captures, line, column) {
      var end, match, t2, t3, i, capture, startOffset, t4, t5, t6, t7,
        spans = H._setArrayType([], type$.JSArray_legacy_ScopeSpan),
        t1 = scanner.get$lastMatch(),
        start = t1.get$start(t1);
      t1 = scanner.get$lastMatch();
      end = t1.get$end(t1);
      if (captures != null)
        if (scanner.get$lastMatch().get$groupCount() <= 1)
          spans.push(R.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$.legacy_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, C.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 = C.JSString_methods.indexOf$1(match, capture);
                t4 = J.$index$asx(t1.$index(captures, C.JSInt_methods.toString$0(i)), "name");
                t5 = start + startOffset;
                t6 = capture.length;
                t7 = P.List_List$of($.$get$ScopeSpan__scopeStack().toList$0(0), true, t3);
                if (t4 != null)
                  t7.push(t4);
                spans.push(new R.ScopeSpan(t5, t5 + t6, t2, column + startOffset + 1, t7));
              }
            ++i;
          }
        }
      else
        spans.push(R.ScopeSpan$(column + 1, end, line + 1, null, start));
      return spans;
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  R._SimpleMatcher.prototype = {
    scan$2: function(grammar, scanner) {
      var line = scanner._line,
        column = scanner._column;
      if (scanner.scan$1(this.match))
        return R.ScopeSpan_applyScope(this, new R._SimpleMatcher_scan_closure(this, scanner, line, column));
      return null;
    },
    toJson$0: function() {
      var t1 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_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;
    }
  };
  R._SimpleMatcher_scan_closure.prototype = {
    call$0: function() {
      var _this = this,
        t1 = _this.$this;
      return t1._applyCapture$4(_this.scanner, t1.captures, _this.line, _this.column);
    },
    $signature: 205
  };
  R._MultilineMatcher.prototype = {
    _scanToEndOfLine$2: function(grammar, scanner) {
      var t1, t2, foundMatch, t3, result,
        results = H._setArrayType([], type$.JSArray_legacy_ScopeSpan);
      for (t1 = scanner.string.length, t2 = this.patterns; scanner._string_scanner$_position !== t1;) {
        if (H.Primitives_stringFromCharCode(scanner.peekChar$0()) === "\n") {
          scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
          break;
        }
        t3 = new H.ListIterator(t2, t2.get$length(t2), H._instanceType(t2)._eval$1("ListIterator<ListMixin.E>"));
        while (true) {
          if (!t3.moveNext$0()) {
            foundMatch = false;
            break;
          }
          result = t3.__internal$_current.scan$2(grammar, scanner);
          if (result != null) {
            C.JSArray_methods.addAll$1(results, result);
            foundMatch = true;
            break;
          }
        }
        if (!foundMatch)
          scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
      }
      return results;
    },
    _scanUpToEndMatch$2: function(grammar, scanner) {
      var t6, foundMatch, result,
        results = H._setArrayType([], type$.JSArray_legacy_ScopeSpan),
        t1 = this.patterns,
        t2 = t1 != null,
        t3 = scanner.string,
        t4 = t3.length,
        t5 = this.end;
      while (true) {
        t6 = scanner._string_scanner$_position;
        if (t6 !== t4) {
          t6 = t5.matchAsPrefix$2(0, t3, t6);
          scanner._lastMatch = t6;
          scanner._lastMatchPosition = scanner._string_scanner$_position;
          t6 = t6 == null;
        } else
          t6 = false;
        if (!t6)
          break;
        if (t2) {
          t6 = new H.ListIterator(t1, t1.get$length(t1), H._instanceType(t1)._eval$1("ListIterator<ListMixin.E>"));
          while (true) {
            if (!t6.moveNext$0()) {
              foundMatch = false;
              break;
            }
            result = t6.__internal$_current.scan$2(grammar, scanner);
            if (result != null) {
              C.JSArray_methods.addAll$1(results, result);
              foundMatch = true;
              break;
            }
          }
        } else
          foundMatch = false;
        if (!foundMatch)
          scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
      }
      return results;
    },
    _scanEnd$1: function(scanner) {
      var line = scanner._line,
        column = scanner._column;
      if (!scanner.scan$1(this.end))
        return null;
      return this._processCaptureHelper$4(scanner, this.beginCaptures, line, column);
    },
    _processCaptureHelper$4: function(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 H._setArrayType([], type$.JSArray_legacy_ScopeSpan);
    },
    scan$2: function(grammar, scanner) {
      if (!scanner.matches$1(0, this.begin))
        return null;
      return R.ScopeSpan_applyScope(this, new R._MultilineMatcher_scan_closure(this, scanner, grammar));
    },
    toJson$0: function() {
      var t3, _this = this,
        t1 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_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 = H._instanceType(t2)._eval$1("MappedListIterable<ListMixin.E,Map<String*,@>*>");
        t1.$indexSet(0, "patterns", P.List_List$of(new H.MappedListIterable(t2, new R._MultilineMatcher_toJson_closure(), t3), true, t3._eval$1("ListIterable.E")));
      }
      return t1;
    },
    get$begin: function() {
      return this.begin;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  R._MultilineMatcher_closure.prototype = {
    call$1: function(e) {
      return R._Matcher__Matcher$parse(e);
    },
    $signature: 204
  };
  R._MultilineMatcher_scan_closure.prototype = {
    call$0: function() {
      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))
        H.throwExpression(P.StateError$("Expected " + H.S(t3.pattern) + " to match."));
      t3 = t1.beginCaptures;
      beginSpans = t1._processCaptureHelper$4(t2, t3, line, column);
      t4 = type$.JSArray_legacy_ScopeSpan;
      t5 = H._setArrayType([], t4);
      t6 = t1.contentName;
      t7 = t6 == null;
      if (t7)
        C.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(R.ScopeSpan$(t8 + 1, t2._string_scanner$_position, t7 + 1, t6, start));
        } else
          C.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)
          C.JSArray_methods.get$first(beginSpans)._span_parser$_end = t2._string_scanner$_position;
        else if (endSpans != null)
          C.JSArray_methods.addAll$1(t5, endSpans);
        return t5;
      } else {
        t3 = t1.whileCond;
        if (t3 != null) {
          start = t2._string_scanner$_position;
          t2.scan$1(P.RegExp_RegExp(".*\n", true, false));
          t6 = t2.string.length;
          while (true) {
            if (!(t2._string_scanner$_position !== t6 && t2.scan$1(t3)))
              break;
            t2.scan$1(P.RegExp_RegExp(".*\n", true, false));
          }
          end = t2._string_scanner$_position;
          contentScanner = Z.LineScanner$(t2.substring$2(0, 0, end), start);
          contentResults = H._setArrayType([], t4);
          t4 = _this.grammar;
          C.JSArray_methods.addAll$1(contentResults, t1._scanToEndOfLine$2(t4, contentScanner));
          t6 = contentScanner.string.length;
          while (true) {
            if (!(contentScanner._string_scanner$_position !== t6 && contentScanner.scan$1(t3)))
              break;
            C.JSArray_methods.addAll$1(contentResults, t1._scanToEndOfLine$2(t4, contentScanner));
          }
          C.JSArray_methods.addAll$1(t5, new H.ExpandIterable(contentResults, new R._MultilineMatcher_scan__closure(t1, t2), type$.ExpandIterable_of_legacy_ScopeSpan_and_legacy_ScopeSpan));
          if (beginSpans.length !== 0)
            C.JSArray_methods.get$first(beginSpans)._span_parser$_end = end;
          return t5;
        } else
          throw H.wrapException(P.StateError$("One of 'end' or 'while' must be provided for rule: " + H.S(t1.name)));
      }
    },
    $signature: 205
  };
  R._MultilineMatcher_scan__closure.prototype = {
    call$1: function(e) {
      return e.split$2(0, this.scanner, this.$this.whileCond);
    },
    $signature: 511
  };
  R._MultilineMatcher_toJson_closure.prototype = {
    call$1: function(e) {
      return e.toJson$0();
    },
    $signature: 146
  };
  R._IncludeMatcher.prototype = {
    scan$2: function(grammar, scanner) {
      var result,
        t1 = this.include,
        patterns = grammar.repository.patterns.$index(0, t1);
      if (patterns == null)
        throw H.wrapException(P.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: function() {
      return P.LinkedHashMap_LinkedHashMap$_literal(["include", this.include], type$.legacy_String, type$.dynamic);
    }
  };
  U.SyntaxHighlighter.prototype = {
    highlight$1: function(_, context) {
      var _this = this, _null = null;
      _this._scopeStyles = _this._buildSyntaxColorTable$1(K.Theme_of(context));
      _this._currentPosition = 0;
      return Q.TextSpan$(_this._highlightLoopHelper$3$currentScope$loopCondition$scopes(_null, new U.SyntaxHighlighter_highlight_closure(_this), R.SpanParser_parse($.SyntaxHighlighter__grammar, _this.source)), _null, _null, _null, _null);
    },
    _getStyleForSpan$0: function() {
      var scopes, style, _i, scope, t2,
        t1 = this._spanStack;
      if (t1._head === t1._tail)
        return C.TextStyle_zIQ1;
      scopes = t1.get$last(t1).scopes;
      t1 = scopes.length;
      if (t1 === 0)
        return C.TextStyle_zIQ1;
      else if (t1 === 1) {
        t1 = this._scopeStyles.$index(0, C.JSArray_methods.get$first(scopes));
        return t1 == null ? C.TextStyle_zIQ1 : t1;
      } else {
        for (style = C.TextStyle_zIQ1, _i = 0; _i < scopes.length; scopes.length === t1 || (0, H.throwConcurrentModificationError)(scopes), ++_i) {
          scope = scopes[_i];
          t2 = this._scopeStyles.$index(0, scope);
          style = style.merge$1(t2 == null ? C.TextStyle_zIQ1 : t2);
        }
        return style;
      }
    },
    _scope$2: function(currentScope, scopes) {
      return this._highlightLoopHelper$3$currentScope$loopCondition$scopes(currentScope, new U.SyntaxHighlighter__scope_closure(this, currentScope), scopes);
    },
    _highlightLoopHelper$3$currentScope$loopCondition$scopes: function(currentScope, loopCondition, scopes) {
      var t2, t3, t4, text, _this = this, _null = null,
        sourceSpans = H._setArrayType([], type$.JSArray_legacy_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 = C.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 = C.JSString_methods.substring$2(t2, currentScopeBegin, _this._currentPosition);
          if (text.length !== 0) {
            t3 = _this._getStyleForSpan$0();
            sourceSpans.push(new Q.TextSpan(text, _null, _null, C.C__DeferringMouseCursor, _null, t3));
          }
          C.JSArray_methods.addAll$1(sourceSpans, _this._scope$2(C.JSArray_methods.removeAt$1(scopes, 0), scopes));
          currentScopeBegin = _this._currentPosition;
        } else {
          t3 = _this._currentPosition;
          if (H.Primitives_stringFromCharCode(C.JSString_methods.codeUnitAt$1(t2, t3)) === "\n")
            currentScopeBegin = _this._processNewlines$2(sourceSpans, currentScopeBegin);
          else
            _this._currentPosition = t3 + 1;
        }
      }
      text = C.JSString_methods.substring$2(t2, currentScopeBegin, _this._currentPosition);
      if (text.length !== 0)
        sourceSpans.push(Q.TextSpan$(_null, _null, _null, _this._getStyleForSpan$0(), text));
      if (t1)
        _this._spanStack.removeLast$0(0);
      return sourceSpans;
    },
    _processNewlines$2: function(sourceSpans, currentScopeBegin) {
      var t2, t3, _this = this,
        t1 = _this.source;
      if (C.JSString_methods.substring$2(t1, currentScopeBegin, _this._currentPosition).length !== 0)
        sourceSpans.push(Q.TextSpan$(null, null, null, _this._getStyleForSpan$0(), C.JSString_methods.substring$2(t1, currentScopeBegin, _this._currentPosition)));
      t2 = t1.length;
      do {
        sourceSpans.push(C.TextSpan_mpm);
        t3 = _this._currentPosition = _this._currentPosition + 1;
      } while (t3 < t2 && H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(t1, t3)) === "\n");
      return t3;
    },
    _buildSyntaxColorTable$1: function(theme) {
      var t3, _null = null,
        t1 = theme.colorScheme.brightness === C.Brightness_1,
        commentStyle = A.TextStyle$(_null, _null, t1 ? C.Color_4278222848 : C.Color_4285176149, _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 ? C.Color_4286144038 : C.Color_4292664490, _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 ? C.Color_4280713113 : C.Color_4283353520, _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 ? C.Color_4278190335 : C.Color_4283866326, _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 ? C.Color_4289659099 : C.Color_4291135168, _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 ? C.Color_4278194304 : C.Color_4288470270, _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 ? C.Color_4289855489 : C.Color_4292382323, _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 ? C.Color_4278814296 : C.Color_4290105000, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        _scopeTextStyleMapper = new U.SyntaxHighlighter__buildSyntaxColorTable__scopeTextStyleMapper(),
        t2 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_TextStyle);
      for (t1 = J.get$entries$x(_scopeTextStyleMapper.call$2(C.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(C.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(C.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(C.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(C.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(C.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(C.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(C.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;
    }
  };
  U.SyntaxHighlighter_highlight_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      return t1._currentPosition < t1.source.length;
    },
    $signature: 31
  };
  U.SyntaxHighlighter__scope_closure.prototype = {
    call$0: function() {
      var t1 = this.currentScope,
        t2 = this.$this._currentPosition;
      return t1._span_parser$_start <= t2 && t2 < t1._span_parser$_end;
    },
    $signature: 31
  };
  U.SyntaxHighlighter__buildSyntaxColorTable__scopeTextStyleMapper.prototype = {
    call$2: function(scopes, style) {
      var t2, _i,
        t1 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_TextStyle);
      for (t2 = scopes.length, _i = 0; _i < t2; ++_i)
        t1.$indexSet(0, scopes[_i], style);
      return t1;
    },
    $signature: 508
  };
  K.Variables.prototype = {
    build$1: function(_, context) {
      var controller = Y.Provider_of(context, true, type$.legacy_DebuggerController);
      return N.ValueListenableBuilder$(new K.Variables_build_closure(this, controller), controller._variables, type$.legacy_List_legacy_Variable);
    }
  };
  K.Variables_build_closure.prototype = {
    call$3: function(context, variables, _) {
      if (J.get$isEmpty$asx(variables))
        return C.SizedBox_null_null_null_null;
      return new Y.TreeView(variables, false, new K.Variables_build__closure(context), new K.Variables_build__closure0(this.$this, this.controller), null, null, null, type$.TreeView_legacy_Variable);
    },
    $signature: 507
  };
  K.Variables_build__closure.prototype = {
    call$2: function(variable, onPressed) {
      return K.displayProvider(this.context, variable, onPressed);
    },
    $signature: 206
  };
  K.Variables_build__closure0.prototype = {
    call$1: function(variable) {
      if (variable._isExpanded)
        C.JSArray_methods.forEach$1(variable.children, this.controller.get$buildVariablesTree());
      return null;
    },
    $signature: 207
  };
  K.ExpandableVariable.prototype = {
    build$1: function(_, context) {
      return N.ValueListenableBuilder$(new K.ExpandableVariable_build_closure(this), this.variable, type$.legacy_Variable);
    }
  };
  K.ExpandableVariable_build_closure.prototype = {
    call$3: function(context, variable, _) {
      var t1 = this.$this,
        controller = t1.debuggerController;
      if (controller == null)
        controller = Y.Provider_of(context, true, type$.legacy_DebuggerController);
      if (variable == null)
        return C.SizedBox_null_null_null_null;
      return new Y.TreeView(H._setArrayType([variable], type$.JSArray_legacy_Variable), true, new K.ExpandableVariable_build__closure(context), new K.ExpandableVariable_build__closure0(t1, controller), null, null, null, type$.TreeView_legacy_Variable);
    },
    $signature: 506
  };
  K.ExpandableVariable_build__closure.prototype = {
    call$2: function(variable, onPressed) {
      return K.displayProvider(this.context, variable, onPressed);
    },
    $signature: 206
  };
  K.ExpandableVariable_build__closure0.prototype = {
    call$1: function(variable) {
      if (variable._isExpanded)
        C.JSArray_methods.forEach$1(variable.children, this.controller.get$buildVariablesTree());
      return null;
    },
    $signature: 207
  };
  F.DeviceDialog.prototype = {
    build$1: function(_, context) {
      var version, t1, bits, items, t2, t3, t4, t5, t6, t7, _null = null,
        theme = K.Theme_of(context),
        vm = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vm;
      if (vm == null)
        return C.SizedBox_null_null_null_null;
      version = vm.version;
      if (J.contains$1$asx(version, " "))
        version = C.JSString_methods.substring$2(version, 0, C.JSString_methods.indexOf$1(version, " "));
      t1 = vm.architectureBits;
      bits = t1 !== -1 ? "-" + H.S(t1) : "";
      t1 = type$.legacy_String;
      items = P.LinkedHashMap_LinkedHashMap$_literal(["Dart Version", version, "CPU / OS", H.S(vm.targetCPU) + bits + " / " + H.S(vm.operatingSystem)], t1, t1);
      t1 = this.flutterVersion;
      if (t1 != null) {
        items.$indexSet(0, "Flutter Version", H.S(t1.version) + " / " + H.S(t1.channel));
        items.$indexSet(0, "Framework / Engine", H.S(t1.frameworkRevision) + " / " + H.S(t1.engineRevision));
      }
      $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.toString;
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
      items.$indexSet(0, "VM Service Connection", t1.service._connectedUri.get$_text());
      t1 = L.Text$("Device Info", _null, _null, _null, _null, _null, theme.textTheme.headline6, _null, _null, _null);
      t2 = type$.JSArray_legacy_Widget;
      t3 = H._setArrayType([], t2);
      for (t4 = items.get$keys(items), t4 = t4.get$iterator(t4), t5 = theme.unselectedWidgetColor; t4.moveNext$0();) {
        t6 = t4.get$current(t4);
        t7 = H.S(t6) + ": ";
        t6 = items.$index(0, t6);
        t3.push(new T.Padding(C.EdgeInsets_0_0_0_6, T.Row$(H._setArrayType([new L.Text(t7, _null, C.TextStyle_oqK, _null, _null, _null, _null, _null, _null, _null, _null), new L.Text(t6, _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, _null, _null, _null, _null, _null, _null, _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null));
      }
      t3 = T.Column$(t3, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1);
      t2 = H._setArrayType([this._connectToNewAppButton$1(context)], t2);
      if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vm.name !== "ChromeDebugProxy")
        t2.push(new F._ViewVMFlagsButton(_null));
      t2.push(new O.DialogCloseButton(_null));
      return new O.DevToolsDialog(t1, t3, true, t2, _null);
    },
    _connectToNewAppButton$1: function(context) {
      var _null = null;
      return D.ElevatedButton$(L.Text$("Connect to a new app".toUpperCase(), _null, _null, _null, _null, _null, _null, _null, _null, _null), new F.DeviceDialog__connectToNewAppButton_closure(context), _null);
    }
  };
  F.DeviceDialog__connectToNewAppButton_closure.prototype = {
    call$0: function() {
      var t1 = this.context,
        t2 = type$.legacy_String;
      Z.Router_of(t1, type$.legacy_Object).routerDelegate.navigate$2(0, "", P.LinkedHashMap_LinkedHashMap$_literal(["uri", null], t2, t2));
      K.Navigator_of(t1, true).pop$1(0, "dialog");
    },
    $signature: 1
  };
  F._ViewVMFlagsButton.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return new O.DialogTextButton(new F._ViewVMFlagsButton_build_closure(context), L.Text$("View VM Flags".toUpperCase(), _null, _null, _null, _null, _null, _null, _null, _null, _null), _null);
    }
  };
  F._ViewVMFlagsButton_build_closure.prototype = {
    call$0: function() {
      var t1 = this.context;
      K.Navigator_of(t1, true).pop$1(0, "dialog");
      E.showDialog(true, new F._ViewVMFlagsButton_build__closure(), t1, type$.void);
    },
    $signature: 1
  };
  F._ViewVMFlagsButton_build__closure.prototype = {
    call$1: function(context) {
      return new F.VMFlagsDialog(null);
    },
    $signature: 504
  };
  F.VMFlagsDialog.prototype = {
    createState$0: function() {
      var t1 = type$.JSArray_legacy__DialogFlag;
      return new F._VMFlagsDialogState(H._setArrayType([], t1), H._setArrayType([], t1), K.Disposer$(), C._StateLifecycle_0);
    }
  };
  F._VMFlagsDialogState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = new T.InfoController(new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic), new B.ValueNotifier(null, P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_FlutterVersion), K.Disposer$());
      t1._listenForFlutterVersionChanges$0();
      _this.infoController = t1;
      t1 = D.TextEditingController$(null);
      _this.filterController = t1;
      t1.addListener$1(0, new F._VMFlagsDialogState_initState_closure(_this));
      _this._updateFromController$0();
      _this.infoController.toString;
      _this.addAutoDisposeListener$2($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager._service_manager$_flags, new F._VMFlagsDialogState_initState_closure0(_this));
    },
    _updateFromController$0: function() {
      var t1, t2;
      this.infoController.toString;
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager._service_manager$_flags._value.flags;
      t1.toString;
      t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,_DialogFlag*>");
      this.flags = P.List_List$of(new H.MappedListIterable(t1, new F._VMFlagsDialogState__updateFromController_closure(), t2), true, t2._eval$1("ListIterable.E"));
      this._refilter$0();
    },
    _refilter$0: function() {
      var t2, _this = this,
        filter = J.trim$0$s(_this.filterController._value.text).toLowerCase(),
        t1 = _this.flags;
      if (filter.length === 0)
        _this.filteredFlags = t1;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
        _this.filteredFlags = P.List_List$of(new H.WhereIterable(t1, new F._VMFlagsDialogState__refilter_closure(filter), t2), true, t2._eval$1("Iterable.E"));
      }
    },
    build$1: function(_, context) {
      var _null = null,
        t1 = type$.JSArray_legacy_Widget;
      return new O.DevToolsDialog(T.Row$(H._setArrayType([L.Text$("VM Flags", _null, _null, _null, _null, _null, K.Theme_of(context).textTheme.headline6, _null, _null, _null), C.Expanded_9Fi, M.Container$(_null, Z.TextField$(false, this.filterController, _null, C.InputDecoration_aL3, _null, _null, _null, _null, _null, _null, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, 200)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), T.Column$(H._setArrayType([T.SizedBox$(new F._FlagTable(this.filteredFlags, new F._NameColumn("Name", _null, 180, _null, C.ColumnAlignment_0), new F._DescriptionColumn("Description", _null, _null, 100, C.ColumnAlignment_0), new F._ValueColumn("Value", _null, 160, _null, C.ColumnAlignment_1), _null), 375, 875)], t1), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), true, H._setArrayType([new O.DialogCloseButton(_null)], t1), _null);
    },
    dispose$0: function(_) {
      var t1 = this.infoController;
      t1.AutoDisposeControllerMixin__delegate.cancel$0(0);
      t1.super$DisposableController$dispose(0);
      this.super$__VMFlagsDialogState_State_AutoDisposeMixin$dispose(0);
    }
  };
  F._VMFlagsDialogState_initState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new F._VMFlagsDialogState_initState__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  F._VMFlagsDialogState_initState__closure0.prototype = {
    call$0: function() {
      this.$this._refilter$0();
    },
    $signature: 1
  };
  F._VMFlagsDialogState_initState_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new F._VMFlagsDialogState_initState__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  F._VMFlagsDialogState_initState__closure.prototype = {
    call$0: function() {
      this.$this._updateFromController$0();
    },
    $signature: 1
  };
  F._VMFlagsDialogState__updateFromController_closure.prototype = {
    call$1: function(flag) {
      var t2,
        t1 = flag.name;
      t1 = H.S(t1 == null ? null : t1.toLowerCase()) + "\n";
      t2 = flag.comment;
      t1 = t1 + H.S(t2 == null ? null : t2.toLowerCase()) + "\n";
      t2 = flag.valueAsString;
      return new F._DialogFlag(flag, t1 + H.S(t2 == null ? null : t2.toLowerCase()));
    },
    $signature: 495
  };
  F._VMFlagsDialogState__refilter_closure.prototype = {
    call$1: function(flag) {
      return C.JSString_methods.contains$1(flag.filterText, this.filter);
    },
    $signature: 493
  };
  F._FlagTable.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.name;
      return new U.OutlineDecoration(S.FlatTable$(_null, false, H._setArrayType([t1, _this.description, _this.value], type$.JSArray_legacy_ColumnData_legacy__DialogFlag), _this.flags, _null, new F._FlagTable_build_closure(), new F._FlagTable_build_closure0(), _null, _null, _null, _null, t1, C.SortDirection_0, type$.legacy__DialogFlag), _null);
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  F._FlagTable_build_closure.prototype = {
    call$1: function(flag) {
      return new D.ValueKey(flag.flag.name, type$.ValueKey_legacy_String);
    },
    $signature: 492
  };
  F._FlagTable_build_closure0.prototype = {
    call$1: function(_) {
      return null;
    },
    $signature: 488
  };
  F._NameColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.flag.name;
    }
  };
  F._DescriptionColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.flag.comment;
    }
  };
  F._ValueColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.flag.valueAsString;
    }
  };
  F._DialogFlag.prototype = {
    get$name: function(_) {
      return this.flag.name;
    }
  };
  F.__VMFlagsDialogState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  O.DevToolsDialog.prototype = {
    build$1: function(_, context) {
      var _this = this,
        t1 = _this.includeDivider ? C.PaddedDivider_wEo0 : C.SizedBox_null_16_null_null;
      return new E.AlertDialog(T.Column$(H._setArrayType([_this.title, t1], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _this.content, C.EdgeInsets_24_0_24_24, _this.actions, C.EdgeInsets_16_0_16_0, true, null);
    }
  };
  O.DialogCloseButton.prototype = {
    build$1: function(_, context) {
      return new O.DialogTextButton(new O.DialogCloseButton_build_closure(context), C.Text_Db0, null);
    }
  };
  O.DialogCloseButton_build_closure.prototype = {
    call$0: function() {
      K.Navigator_of(this.context, true).pop$1(0, "dialog");
    },
    $signature: 1
  };
  O.DialogCancelButton.prototype = {
    build$1: function(_, context) {
      return new O.DialogTextButton(new O.DialogCancelButton_build_closure(this, context), C.Text_xK4, null);
    }
  };
  O.DialogCancelButton_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this.cancelAction;
      if (t1 != null)
        t1.call$0();
      K.Navigator_of(this.context, false).pop$1(0, "dialog");
    },
    $signature: 1
  };
  O.DialogApplyButton.prototype = {
    build$1: function(_, context) {
      return new O.DialogTextButton(new O.DialogApplyButton_build_closure(this, context), C.Text_NIe, null);
    }
  };
  O.DialogApplyButton_build_closure.prototype = {
    call$0: function() {
      this.$this.onPressed.call$0();
      K.Navigator_of(this.context, false).pop$1(0, "dialog");
    },
    $signature: 1
  };
  O.DialogTextButton.prototype = {
    build$1: function(_, context) {
      return T.SizedBox$(U.TextButton$(this.child, this.onPressed, null), 32, null);
    }
  };
  T.EnumUtils.prototype = {
    EnumUtils$1: function(enumValues, $T) {
      var t1, t2, t3, _i, val, description, enumDescription;
      for (t1 = enumValues.length, t2 = this._lookupTable, t3 = this._reverseLookupTable, _i = 0; _i < t1; ++_i) {
        val = enumValues[_i];
        description = J.toString$0$(val);
        enumDescription = C.JSString_methods.substring$1(description, J.indexOf$1$asx(description, ".") + 1);
        t2.$indexSet(0, enumDescription, val);
        t3.$indexSet(0, val, enumDescription);
      }
    },
    name$1: function(_, enumEntry) {
      return this._reverseLookupTable.$index(0, enumEntry);
    }
  };
  G.ErrorBadgeManager.prototype = {
    _error_badge_manager$_handleExtensionEvent$1: function(e) {
      return this._handleExtensionEvent$body$ErrorBadgeManager(e);
    },
    _handleExtensionEvent$body$ErrorBadgeManager: function(e) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, inspectableError;
      var $async$_error_badge_manager$_handleExtensionEvent$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_error_badge_manager$_handleExtensionEvent$1, $async$completer);
    },
    _extractInspectableError$1: function(error) {
      var devToolsUrlNode, queryParams, _null = null,
        node = new M.RemoteDiagnosticsNode(_null, _null, error.extensionData.data, false),
        t1 = node.get$inlineProperties(),
        errorSummaryNode = t1 == null ? _null : C.JSArray_methods.firstWhere$2$orElse(t1, new G.ErrorBadgeManager__extractInspectableError_closure(), new G.ErrorBadgeManager__extractInspectableError_closure0()),
        errorMessage = errorSummaryNode == null ? _null : H._asStringS(J.$index$asx(errorSummaryNode.json, "description"));
      if (errorMessage == null)
        return _null;
      t1 = node.get$inlineProperties();
      devToolsUrlNode = t1 == null ? _null : C.JSArray_methods.firstWhere$2$orElse(t1, new G.ErrorBadgeManager__extractInspectableError_closure1(), new G.ErrorBadgeManager__extractInspectableError_closure2());
      if (devToolsUrlNode == null)
        return _null;
      queryParams = B.devToolsQueryParams(H._asStringS(J.$index$asx(devToolsUrlNode.json, "value")));
      return new G.InspectableWidgetError(errorMessage, queryParams != null ? J.$index$asx(queryParams, "inspectorRef") : _null, false);
    },
    _handleStdErr$1: function(e) {
      this.incrementBadgeCount$1("logging");
    },
    incrementBadgeCount$1: function(screenId) {
      var notifier = this._activeErrorCounts.$index(0, screenId);
      if (notifier == null)
        return;
      notifier.set$value(0, notifier._value + 1);
    },
    appendError$2: function(screenId, error) {
      var newValue,
        errors = this._activeErrors.$index(0, screenId);
      if (errors == null)
        return;
      newValue = P.LinkedHashMap_LinkedHashMap$from(errors._value, type$.legacy_String, type$.legacy_DevToolsError);
      newValue.$indexSet(0, error.id, error);
      errors.set$value(0, newValue);
    },
    erroredItemsForPage$1: function(screenId) {
      var t1 = this._activeErrors.$index(0, screenId);
      return t1 == null ? new A.FixedValueListenable(P.LinkedHashMap_LinkedHashMap(null, null, type$.legacy_String, type$.legacy_DevToolsError), type$.FixedValueListenable_legacy_LinkedHashMap_of_legacy_String_and_legacy_DevToolsError) : t1;
    },
    clearErrors$1: function(screenId) {
      var t1 = this._activeErrorCounts.$index(0, screenId);
      if (t1 != null)
        t1.set$value(0, 0);
    },
    filterErrors$2: function(screenId, isValid) {
      var oldCount, newValue,
        errors = this._activeErrors.$index(0, screenId);
      if (errors == null)
        return;
      oldCount = J.get$length$asx(errors._value);
      newValue = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_DevToolsError);
      newValue.addEntries$1(newValue, J.get$entries$x(errors._value).where$1(0, new G.ErrorBadgeManager_filterErrors_closure(isValid)));
      if (newValue.get$length(newValue) !== oldCount)
        errors.set$value(0, newValue);
    },
    markErrorAsRead$2: function(screenId, error) {
      var t1, t2,
        errors = this._activeErrors.$index(0, screenId);
      if (errors == null)
        return;
      t1 = J.$index$asx(errors._value, error.id);
      t1 = t1 == null ? null : t1.read;
      if (t1 !== false)
        return;
      t1 = J.get$entries$x(errors._value).map$1$1(0, new G.ErrorBadgeManager_markErrorAsRead_closure(error), type$.legacy_MapEntry_of_legacy_String_and_legacy_DevToolsError);
      t2 = P.LinkedHashMap_LinkedHashMap(null, null, type$.legacy_String, type$.legacy_DevToolsError);
      t2.addEntries$1(t2, t1);
      errors.set$value(0, t2);
    }
  };
  G.ErrorBadgeManager__extractInspectableError_closure.prototype = {
    call$1: function(p) {
      return H._asStringS(J.$index$asx(p.json, "type")) === "ErrorSummary";
    },
    $signature: 208
  };
  G.ErrorBadgeManager__extractInspectableError_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  G.ErrorBadgeManager__extractInspectableError_closure1.prototype = {
    call$1: function(p) {
      var t1 = p.json,
        t2 = J.getInterceptor$asx(t1);
      return H._asStringS(t2.$index(t1, "type")) === "DevToolsDeepLinkProperty" && H._asStringS(t2.$index(t1, "value")) != null;
    },
    $signature: 208
  };
  G.ErrorBadgeManager__extractInspectableError_closure2.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  G.ErrorBadgeManager_filterErrors_closure.prototype = {
    call$1: function(e) {
      return this.isValid.call$1(e.get$key(e));
    },
    $signature: 485
  };
  G.ErrorBadgeManager_markErrorAsRead_closure.prototype = {
    call$1: function(e) {
      if (!J.$eq$(e.get$value(e), this.error))
        return e;
      return new P.MapEntry(e.get$key(e), e.get$value(e).asRead$0(), type$.MapEntry_of_legacy_String_and_legacy_DevToolsError);
    },
    $signature: 484
  };
  G.DevToolsError.prototype = {
    asRead$0: function() {
      return new G.DevToolsError(this.errorMessage, this.id, true);
    }
  };
  G.InspectableWidgetError.prototype = {
    asRead$0: function() {
      return new G.InspectableWidgetError(this.errorMessage, this.id, true);
    }
  };
  G._ErrorBadgeManager_DisposableController_AutoDisposeControllerMixin.prototype = {};
  B.Disposable.prototype = {
    dispose$0: function(_) {
      this.disposed = true;
    },
    get$disposed: function() {
      return this.disposed;
    }
  };
  B.EvalOnDartLibrary.prototype = {
    _init$1: function(isolateRef) {
      var t1, _this = this;
      if (J.$eq$(_this._isolateRef, isolateRef))
        return;
      t1 = ++_this._currentRequestId;
      _this._isolateRef = isolateRef;
      if (_this._libraryRef.future._state !== 0)
        _this._libraryRef = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_legacy_LibraryRef), type$._AsyncCompleter_legacy_LibraryRef);
      if (isolateRef != null)
        _this._eval_on_dart_library$_initialize$2(isolateRef, t1);
    },
    dispose$0: function(_) {
      this.selectedIsolateStreamSubscription.cancel$0(0);
      this._eval_on_dart_library$_disposed = true;
    },
    _eval_on_dart_library$_initialize$2: function(isolateRef, requestId) {
      return this._initialize$body$EvalOnDartLibrary(isolateRef, requestId);
    },
    _initialize$body$EvalOnDartLibrary: function(isolateRef, requestId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, isolate, library, e, stack, t1, t2, t3, t4, t5, _i, exception, $async$exception;
      var $async$_eval_on_dart_library$_initialize$2 = P._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;
                t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager;
                t2 = t1._isolates;
                t3 = t2.$index(0, isolateRef);
                if (t3 == null) {
                  t1 = t1._service;
                  t3 = isolateRef.get$id(isolateRef);
                  t4 = t1._vmService;
                  t4.toString;
                  t5 = type$.dynamic;
                  t5 = t1.trackFuture$1$2("getIsolate", t4._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t3], t5, t5), type$.Isolate), type$.legacy_Isolate);
                  t2.$indexSet(0, isolateRef, t5);
                  t1 = t5;
                } else
                  t1 = t3;
                $async$goto = 7;
                return P._asyncAwait(t1, $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;
                if (isolate == null) {
                  $async$self._libraryRef.completeError$1(new B.LibraryNotFound(H._setArrayType([], type$.JSArray_legacy_String)));
                  // goto return
                  $async$goto = 1;
                  break;
                }
                for (t1 = isolate.libraries, t2 = t1.length, t3 = $async$self._candidateLibraryNames, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
                  library = t1[_i];
                  if (t3.contains$1(0, library.get$uri())) {
                    t1 = $async$self._libraryRef.future;
                    if (t1._state !== 0)
                      H.throwExpression(P.StateError$("Future already completed"));
                    t1._asyncComplete$1(library);
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  }
                }
                $async$self._libraryRef.completeError$1(new B.LibraryNotFound(t3));
                $async$handler = 2;
                // goto after finally
                $async$goto = 6;
                break;
              case 4:
                // catch
                $async$handler = 3;
                $async$exception = $async$currentError;
                e = H.unwrapException($async$exception);
                stack = H.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 P._asyncReturn($async$returnValue, $async$completer);
              case 2:
                // rethrow
                return P._asyncRethrow($async$currentError, $async$completer);
            }
      });
      return P._asyncStartSync($async$_eval_on_dart_library$_initialize$2, $async$completer);
    },
    eval$3$isAlive$shouldLogError: function(expression, isAlive, shouldLogError) {
      return this.eval$body$EvalOnDartLibrary(expression, isAlive, shouldLogError);
    },
    eval$2$isAlive: function(expression, isAlive) {
      return this.eval$3$isAlive$shouldLogError(expression, isAlive, true);
    },
    eval$body$EvalOnDartLibrary: function(expression, isAlive, shouldLogError) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InstanceRef),
        $async$returnValue, $async$self = this;
      var $async$eval$3$isAlive$shouldLogError = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.addRequest$1$2(isAlive, new B.EvalOnDartLibrary_eval_closure($async$self, expression, null, shouldLogError), type$.legacy_InstanceRef), $async$eval$3$isAlive$shouldLogError);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$eval$3$isAlive$shouldLogError, $async$completer);
    },
    _waitForLibraryRef$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_LibraryRef),
        $async$returnValue, $async$self = this, id, libraryRef;
      var $async$_waitForLibraryRef$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
            case 3:
              // for condition
              // trivial condition
              id = $async$self._currentRequestId;
              $async$goto = 5;
              return P._asyncAwait($async$self._libraryRef.future, $async$_waitForLibraryRef$0);
            case 5:
              // returning from await.
              libraryRef = $async$result;
              if ($async$self._libraryRef.future._state !== 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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_waitForLibraryRef$0, $async$completer);
    },
    _eval_on_dart_library$_eval$3$scope$shouldLogError: function(expression, scope, shouldLogError) {
      return this._eval$body$EvalOnDartLibrary(expression, scope, shouldLogError);
    },
    _eval$body$EvalOnDartLibrary: function(expression, scope, shouldLogError) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InstanceRef),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, libraryRef, result, e, stack, t1, exception, $async$exception;
      var $async$_eval_on_dart_library$_eval$3$scope$shouldLogError = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._eval_on_dart_library$_disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait($async$self._waitForLibraryRef$0(), $async$_eval_on_dart_library$_eval$3$scope$shouldLogError);
            case 7:
              // returning from await.
              libraryRef = $async$result;
              if (libraryRef == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._isolateRef;
              $async$goto = 8;
              return P._asyncAwait($async$self.service.evaluate$5$disableBreakpoints$scope(0, t1.get$id(t1), J.get$id$x(libraryRef), expression, true, scope), $async$_eval_on_dart_library$_eval$3$scope$shouldLogError);
            case 8:
              // returning from await.
              result = $async$result;
              if (result instanceof Q.Sentinel) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if (type$.legacy_ErrorRef._is(result))
                throw H.wrapException(result);
              $async$returnValue = result;
              // 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 = H.unwrapException($async$exception);
              stack = H.getTraceFromException($async$exception);
              if (shouldLogError)
                $async$self._eval_on_dart_library$_handleError$2(H.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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_eval_on_dart_library$_eval$3$scope$shouldLogError, $async$completer);
    },
    _eval_on_dart_library$_handleError$2: function(e, stack) {
      var t1;
      if (this._eval_on_dart_library$_disposed)
        return;
      t1 = J.getInterceptor$(e);
      switch (t1.get$runtimeType(e)) {
        case C.Type_RPCError_Tnu:
          B.log("RPCError: " + H.S(e), C.LogLevel_2);
          break;
        case C.Type_Error_9Cx:
          B.log(H.S(t1.get$kind(e)) + ": " + H.S(t1.get$message(e)), C.LogLevel_2);
          break;
        default:
          B.log("Unrecognized error: " + H.S(e), C.LogLevel_2);
      }
      if (stack != null)
        B.log(stack.toString$0(0), C.LogLevel_2);
    },
    getInstance$2: function(instanceRefFuture, isAlive) {
      return this.getInstance$body$EvalOnDartLibrary(instanceRefFuture, isAlive);
    },
    getInstance$body$EvalOnDartLibrary: function(instanceRefFuture, isAlive) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Instance),
        $async$returnValue, $async$self = this;
      var $async$getInstance$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 4;
              return P._asyncAwait(instanceRefFuture, $async$getInstance$2);
            case 4:
              // returning from await.
              $async$goto = 3;
              return P._asyncAwait($async$self.getObjHelper$1$2($async$result, isAlive, type$.legacy_Instance), $async$getInstance$2);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getInstance$2, $async$completer);
    },
    getHashCode$2$isAlive: function(instance, isAlive) {
      return this.getHashCode$body$EvalOnDartLibrary(instance, isAlive);
    },
    getHashCode$body$EvalOnDartLibrary: function(instance, isAlive) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_int),
        $async$returnValue, $async$self = this, hash, t1;
      var $async$getHashCode$2$isAlive = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = instance.identityHashCode;
              if (t1 !== -1) {
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = type$.legacy_String;
              $async$goto = 3;
              return P._asyncAwait($async$self.evalInstance$3$isAlive$scope("instance.hashCode", isAlive, P.LinkedHashMap_LinkedHashMap$_literal(["instance", instance.id], t1, t1)), $async$getHashCode$2$isAlive);
            case 3:
              // returning from await.
              hash = $async$result;
              $async$returnValue = P.int_parse(hash.get$valueAsString(hash), null);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getHashCode$2$isAlive, $async$completer);
    },
    evalInstance$3$isAlive$scope: function(expression, isAlive, scope) {
      return this.evalInstance$body$EvalOnDartLibrary(expression, isAlive, scope);
    },
    evalInstance$2$isAlive: function(expression, isAlive) {
      return this.evalInstance$3$isAlive$scope(expression, isAlive, null);
    },
    evalInstance$body$EvalOnDartLibrary: function(expression, isAlive, scope) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Instance),
        $async$returnValue, $async$self = this;
      var $async$evalInstance$3$isAlive$scope = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = $async$self.getInstance$2($async$self.safeEval$3$isAlive$scope(expression, isAlive, scope), isAlive);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$evalInstance$3$isAlive$scope, $async$completer);
    },
    safeEval$3$isAlive$scope: function(expression, isAlive, scope) {
      return this.safeEval$body$EvalOnDartLibrary(expression, isAlive, scope);
    },
    safeEval$2$isAlive: function(expression, isAlive) {
      return this.safeEval$3$isAlive$scope(expression, isAlive, null);
    },
    safeEval$body$EvalOnDartLibrary: function(expression, isAlive, scope) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InstanceRef),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, err, stack, t1, exception, result, $async$exception;
      var $async$safeEval$3$isAlive$scope = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              result = null;
              $async$handler = 4;
              if ($async$self._eval_on_dart_library$_disposed) {
                t1 = P.StateError$("Called `safeEval` on a disposed `EvalOnDartLibrary` instance");
                throw H.wrapException(t1);
              }
              $async$goto = 7;
              return P._asyncAwait($async$self.addRequest$1$2(isAlive, new B.EvalOnDartLibrary_safeEval_closure($async$self, expression, scope), type$.legacy_Object), $async$safeEval$3$isAlive$scope);
            case 7:
              // returning from await.
              result = $async$result;
              if (!type$.legacy_InstanceRef._is(result)) {
                if (type$.legacy_ErrorRef._is(result)) {
                  t1 = result;
                  throw H.wrapException(new B.EvalErrorException(t1, expression));
                }
                if (result instanceof Q.Sentinel) {
                  t1 = result;
                  throw H.wrapException(new B.EvalSentinelException(expression, t1));
                }
                t1 = result;
                throw H.wrapException(new B.UnknownEvalException(expression, t1));
              }
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              err = H.unwrapException($async$exception);
              stack = H.getTraceFromException($async$exception);
              if (isAlive.disposed)
                throw H.wrapException(new B.CancelledException("safeEval"));
              $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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$safeEval$3$isAlive$scope, $async$completer);
    },
    addRequest$1$2: function(isAlive, request, $T) {
      return this.addRequest$body$EvalOnDartLibrary(isAlive, request, $T, $T._eval$1("0*"));
    },
    addRequest$body$EvalOnDartLibrary: function(isAlive, request, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, previousDone, e, t2, response, t3, t4, exception, t1, $async$exception;
      var $async$addRequest$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = 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 P._Future($.Zone__current, $T._eval$1("_Future<0*>"));
              response = new P._AsyncCompleter(t2, $T._eval$1("_AsyncCompleter<0*>"));
              t3 = new B.EvalOnDartLibrary_addRequest_wrappedRequest($async$self, isAlive, response, request);
              t4 = $async$self.allPendingRequestsDone;
              $async$goto = t4 == null || t4.future._state !== 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 P._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 = H.unwrapException($async$exception);
              if (!$async$self._eval_on_dart_library$_disposed)
                B.log(J.toString$0$(e), C.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 = t2;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$addRequest$1$2, $async$completer);
    },
    getObjHelper$1$2: function(instance, isAlive, $T) {
      return this.addRequest$1$2(isAlive, new B.EvalOnDartLibrary_getObjHelper_closure(this, instance, null, null, $T), $T._eval$1("0*"));
    }
  };
  B.EvalOnDartLibrary_eval_closure.prototype = {
    call$0: function() {
      var _this = this;
      return _this.$this._eval_on_dart_library$_eval$3$scope$shouldLogError(_this.expression, _this.scope, _this.shouldLogError);
    },
    $signature: 483
  };
  B.EvalOnDartLibrary_safeEval_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Response),
        $async$returnValue, $async$self = this, t1, libraryRef, t2;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 3;
              return P._asyncAwait(t1._waitForLibraryRef$0(), $async$call$0);
            case 3:
              // returning from await.
              libraryRef = $async$result;
              t2 = t1._isolateRef;
              $async$goto = 4;
              return P._asyncAwait(t1.service.evaluate$5$disableBreakpoints$scope(0, t2.get$id(t2), J.get$id$x(libraryRef), $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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 481
  };
  B.EvalOnDartLibrary_addRequest_wrappedRequest.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, value, e, t3, t4, exception, t1, t2, $async$exception;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.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 P._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 Q.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 = H.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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 0
  };
  B.EvalOnDartLibrary_getObjHelper_closure.prototype = {
    call$0: function() {
      return this.$call$body$EvalOnDartLibrary_getObjHelper_closure(this.T._eval$1("0*"));
    },
    $call$body$EvalOnDartLibrary_getObjHelper_closure: function($async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, t3, t1, t2;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = t1.service;
              t1 = t1._isolateRef;
              t1 = t1.get$id(t1);
              t3 = $async$self.instance;
              t3 = t3.get$id(t3);
              $async$goto = 3;
              return P._asyncAwait(t2.trackFuture$1$2("getObject", t2._vmService.getObject$2(0, t1, t3), type$.legacy_Obj), $async$call$0);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: function() {
      return this.T._eval$1("Future<0*>*()");
    }
  };
  B.LibraryNotFound.prototype = {
    get$message: function(_) {
      return "Library matchining one of " + H.S(this.candidateNames) + " not found";
    },
    $isException: 1
  };
  B.CancelledException.prototype = {
    toString$0: function(_) {
      return "The operation " + this.operationName + " was cancelled";
    },
    $isException: 1
  };
  B.UnknownEvalException.prototype = {
    toString$0: function(_) {
      return "Unknown error during the evaluation of `" + this.expression + "`: " + H.S(this.exception);
    },
    $isException: 1
  };
  B.SentinelException0.prototype = {
    toString$0: function(_) {
      return "SentinelException(sentinel: " + this.sentinel.toString$0(0) + ")";
    },
    $isException: 1
  };
  B.EvalSentinelException.prototype = {
    toString$0: function(_) {
      return "Evaluation `" + this.expression + "` returned the Sentinel " + this.sentinel.toString$0(0);
    }
  };
  B.EvalErrorException.prototype = {
    toString$0: function(_) {
      return "Evaluation `" + this.expression + "` failed with " + this.errorRef.toString$0(0);
    },
    $isException: 1
  };
  A.ExternalDevToolsExtensionPoints.prototype = {};
  A._ExtentDelegateChangeNotifier.prototype = {};
  A.ExtentDelegate.prototype = {
    recompute$0: function() {
      this._layoutDirty.notifyListeners$0();
    }
  };
  A.FixedExtentDelegateBase.prototype = {
    get$length: function(_) {
      return this._extent_delegate_list$_offsets.length - 1;
    },
    recompute$0: function() {
      var offset, i, _this = this,
        t1 = _this._computeLength.call$0(),
        t2 = P.List_List$filled(t1 + 1, 0, false, type$.legacy_double);
      _this._extent_delegate_list$_offsets = t2;
      t2[0] = 0;
      for (t2 = _this._computeExtent, offset = 0, i = 0; i < t1;) {
        offset += t2.call$1(i);
        ++i;
        _this._extent_delegate_list$_offsets[i] = offset;
      }
      _this.super$ExtentDelegate$recompute();
    },
    itemExtent$1: function(index) {
      var t1 = this._extent_delegate_list$_offsets;
      if (index >= t1.length - 1)
        return 0;
      return t1[index + 1] - t1[index];
    },
    layoutOffset$1: function(index) {
      var t1 = this._extent_delegate_list$_offsets;
      if (index >= t1.length)
        return (t1 && C.JSArray_methods).get$last(t1);
      return t1[index];
    },
    minChildIndexForScrollOffset$1: function(scrollOffset) {
      var t1,
        index = Q.lowerBound(this._extent_delegate_list$_offsets, scrollOffset, null, type$.legacy_double);
      if (index === 0)
        return 0;
      t1 = this._extent_delegate_list$_offsets;
      return index >= t1.length || Math.abs(t1[index] - scrollOffset) > 1e-10 ? index - 1 : index;
    },
    maxChildIndexForScrollOffset$1: function(endScrollOffset) {
      var index = Q.lowerBound(this._extent_delegate_list$_offsets, endScrollOffset, null, type$.legacy_double);
      if (index === 0)
        return 0;
      return index - 1;
    }
  };
  A.FixedExtentDelegate.prototype = {};
  A.ExtentDelegateListView.prototype = {
    buildChildLayout$1: function(context) {
      return new A.SliverExtentDelegateList(this.extentDelegate, this.childrenDelegate, null);
    }
  };
  A.SliverExtentDelegateList.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new A.RenderSliverExtentDelegateBoxAdaptor(context, P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.RenderBox), 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1._markNeedsLayout = t1.get$markNeedsLayout();
      t1.set$extentDelegate(this.extentDelegate);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.markNeedsLayout$0();
      renderObject.set$extentDelegate(this.extentDelegate);
    }
  };
  A.RenderSliverExtentDelegateBoxAdaptor.prototype = {
    set$extentDelegate: function(delegate) {
      var _this = this,
        t1 = _this._extentDelegate;
      if (delegate == t1)
        return;
      if (t1 != null)
        t1._layoutDirty.removeListener$1(0, _this._markNeedsLayout);
      delegate._layoutDirty.addListener$1(0, _this._markNeedsLayout);
      _this._extentDelegate = delegate;
    },
    _extent_delegate_list$_calculateLeadingGarbage$1: function(firstIndex) {
      var t3,
        walker = this.ContainerRenderObjectMixin__firstChild,
        t1 = H._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: function(targetLastIndex) {
      var t3,
        walker = this.ContainerRenderObjectMixin__lastChild,
        t1 = H._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;
    },
    buildChildConstraints$1: function(index) {
      var currentItemExtent = this._extentDelegate.itemExtent$1(index);
      return type$.SliverConstraints._as(K.RenderObject.prototype.get$constraints.call(this)).asBoxConstraints$2$maxExtent$minExtent(currentItemExtent, currentItemExtent);
    },
    performLayout$0: function() {
      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(K.RenderObject.prototype.get$constraints.call(_this)).scrollOffset + t2._as(K.RenderObject.prototype.get$constraints.call(_this)).cacheOrigin;
      targetEndScrollOffset = scrollOffset + t2._as(K.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))) {
          t1.get$childCount();
          max = _this._extentDelegate.layoutOffset$1(t1.get$childCount());
          t2 = _this._extentDelegate;
          _this._sliver$_geometry = G.SliverGeometry$(_null, false, _null, _null, max, 0, 0, t2.layoutOffset$1(t2.get$length(t2)), _null);
          t1.didFinishLayout$0();
          return;
        }
      t3 = _this.ContainerRenderObjectMixin__firstChild.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(K.RenderObject.prototype.get$constraints.call(_this)).asBoxConstraints$2$maxExtent$minExtent(currentItemExtent, currentItemExtent));
        if (child == null) {
          _this._sliver$_geometry = G.SliverGeometry$(_null, false, _null, _null, 0, 0, 0, 0, _this._extentDelegate.layoutOffset$1(index));
          return;
        }
        child.parentData.layoutOffset = _this._extentDelegate.layoutOffset$1(index);
        if (trailingChildWithLayout == null)
          trailingChildWithLayout = child;
      }
      if (trailingChildWithLayout == null) {
        _this.ContainerRenderObjectMixin__firstChild.layout$1(0, _this.buildChildConstraints$1(firstIndex));
        _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 = H._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(K.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(0, t2._as(K.RenderObject.prototype.get$constraints.call(_this)).asBoxConstraints$2$maxExtent$minExtent(currentItemExtent, currentItemExtent));
        }
        childParentData = child.parentData;
        childParentData.layoutOffset = _this._extentDelegate.layoutOffset$1(childParentData.index);
        ++index;
        trailingChildWithLayout = child;
      }
      t3 = _this.ContainerRenderObjectMixin__lastChild.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(K.RenderObject.prototype.get$constraints.call(_this)), firstIndex, t3, leadingScrollOffset, trailingScrollOffset));
      paintExtent = _this.calculatePaintOffset$3$from$to(t2._as(K.RenderObject.prototype.get$constraints.call(_this)), leadingScrollOffset, trailingScrollOffset);
      cacheExtent = _this.calculateCacheOffset$3$from$to(t2._as(K.RenderObject.prototype.get$constraints.call(_this)), leadingScrollOffset, trailingScrollOffset);
      targetEndScrollOffsetForPaint = t2._as(K.RenderObject.prototype.get$constraints.call(_this)).scrollOffset + t2._as(K.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._sliver$_geometry = G.SliverGeometry$(cacheExtent, targetLastIndexForPaint != null && t3 >= targetLastIndexForPaint || t2._as(K.RenderObject.prototype.get$constraints.call(_this)).scrollOffset > 0, _null, _null, estimatedMaxScrollOffset, paintExtent, 0, t4, _null);
      if (estimatedMaxScrollOffset === trailingScrollOffset)
        t1._didUnderflow = true;
      t1.didFinishLayout$0();
    }
  };
  D.FileImportContainer.prototype = {
    createState$0: function() {
      return new D._FileImportContainerState(C._StateLifecycle_0);
    },
    onAction$1: function(arg0) {
      return this.onAction.call$1(arg0);
    },
    onFileSelected$1: function(arg0) {
      return this.onFileSelected.call$1(arg0);
    },
    onFileCleared$0: function() {
      return this.onFileCleared.call$0();
    }
  };
  D._FileImportContainerState.prototype = {
    build$1: function(_, context) {
      var t5, t6, t7, _this = this, _null = null,
        t1 = L.Text$(_this._widget.title, _null, _null, _null, _null, _null, C.TextStyle_zIQ, _null, _null, _null),
        t2 = K.Theme_of(context).scaffoldBackgroundColor,
        t3 = _this._widget.instructions,
        t4 = _this._framework$_element;
      t4.toString;
      t4 = L.Text$(t3, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(t4).textTheme.headline1.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), C.TextAlign_2, _null, _null);
      t3 = _this._framework$_element;
      t3.toString;
      t3 = K.Theme_of(t3).focusColor;
      t5 = _this.importedFile;
      t5 = t5 == null ? _null : t5.path;
      if (t5 == null)
        t5 = "No File Selected";
      t6 = _this._framework$_element;
      t6.toString;
      t7 = type$.JSArray_legacy_Widget;
      t6 = H._setArrayType([T.Expanded$(L.Text$(t5, _null, _null, C.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(t6).textTheme.headline1.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), C.TextAlign_0, _null, _null), 1)], t7);
      if (_this.importedFile != null)
        t6.push(U.inputDecorationSuffixButton(C.IconData_57704_MaterialIcons_false, _this.get$_clearFile()));
      t3 = H._setArrayType([new T.Padding(C.EdgeInsets_16_16_16_16, t4, _null), T.Row$(H._setArrayType([C.Flexible_sxw, new T.Flexible(4, C.FlexFit_0, M.Container$(_null, T.Row$(t6, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, new F.Border(new Y.BorderSide(t3, 1, C.BorderStyle_1), new Y.BorderSide(t3, 1, C.BorderStyle_1), new Y.BorderSide(t3, 1, C.BorderStyle_1), new Y.BorderSide(t3, 1, C.BorderStyle_1)), C.BorderRadius_tLn0, _null, _null, _null, C.BoxShape_0), _null, 37, _null, _null, C.EdgeInsets_8_8_8_8, _null, _null, _null), _null), C.SizedBox_8_null_null_null, new D.FileImportButton(_this.get$_file_import$_importFile(), _null), C.Flexible_sxw], t7), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null)], t7);
      t4 = _this._widget;
      if (t4.actionText != null && t4.onAction != null)
        t3.push(_this._buildActionButton$0());
      return T.Column$(H._setArrayType([t1, C.SizedBox_null_16_null_null, T.Expanded$(new V.DragAndDrop(_this.get$_handleImportedFile(), new U.RoundedOutlinedBorder(M.Container$(_null, T.Column$(t3, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, t2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null), _null), 1)], t7), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _buildActionButton$0: function() {
      var _null = null,
        t1 = this.importedFile != null ? new D._FileImportContainerState__buildActionButton_closure(this) : _null,
        t2 = type$.JSArray_legacy_Widget;
      return T.Column$(H._setArrayType([C.SizedBox_null_16_null_null, T.Row$(H._setArrayType([D.ElevatedButton$(new U.MaterialIconLabel(C.IconData_58128_MaterialIcons_false, _null, this._widget.actionText, _null, _null), t1, _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _file_import$_importFile$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_file_import$_importFile$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._widget.toString;
              $async$goto = 2;
              return P._asyncAwait(D.importFileFromPicker(C.List_json), $async$_file_import$_importFile$0);
            case 2:
              // returning from await.
              $async$self._handleImportedFile$1($async$result);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_file_import$_importFile$0, $async$completer);
    },
    _clearFile$0: function() {
      var t1, _this = this;
      if (_this._framework$_element != null)
        _this.setState$1(new D._FileImportContainerState__clearFile_closure(_this));
      t1 = _this._widget;
      if (t1.onFileCleared != null)
        t1.onFileCleared$0();
    },
    _handleImportedFile$1: function(file) {
      var t1, _this = this;
      if (_this._framework$_element != null)
        _this.setState$1(new D._FileImportContainerState__handleImportedFile_closure(_this, file));
      t1 = _this._widget;
      if (t1.onFileSelected != null)
        t1.onFileSelected$1(file);
    }
  };
  D._FileImportContainerState__buildActionButton_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      return t1._widget.onAction$1(t1.importedFile);
    },
    $signature: 0
  };
  D._FileImportContainerState__clearFile_closure.prototype = {
    call$0: function() {
      this.$this.importedFile = null;
    },
    $signature: 1
  };
  D._FileImportContainerState__handleImportedFile_closure.prototype = {
    call$0: function() {
      this.$this.importedFile = this.file;
    },
    $signature: 1
  };
  D.FileImportButton.prototype = {
    build$1: function(_, context) {
      return new U.IconLabelButton(C.IconData_57966_MaterialIcons_false, "Import File", null, this.onPressed, false, null);
    }
  };
  D.DualFileImportContainer.prototype = {
    createState$0: function() {
      return new D._DualFileImportContainerState(C._StateLifecycle_0);
    },
    onAction$3: function(arg0, arg1, arg2) {
      return this.onAction.call$3(arg0, arg1, arg2);
    }
  };
  D._DualFileImportContainerState.prototype = {
    build$1: function(_, context) {
      var t3, t4, _this = this, _null = null,
        t1 = _this._widget,
        t2 = t1.firstFileTitle;
      t2 = T.Expanded$(D.FileImportContainer$(_null, t1.firstInstructions, _null, _this.get$onFirstFileCleared(), _this.get$onFirstFileSelected(), t2), 1);
      t1 = T.Center$(_this._buildActionButton$0(), _null, _null, _null);
      t3 = _this._widget;
      t4 = t3.secondFileTitle;
      return T.Row$(H._setArrayType([t2, C.SizedBox_16_null_null_null, t1, C.SizedBox_16_null_null_null, T.Expanded$(D.FileImportContainer$(_null, t3.secondInstructions, _null, _this.get$onSecondFileCleared(), _this.get$onSecondFileSelected(), t4), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    onFirstFileSelected$1: function(selectedFile) {
      if (this._framework$_element != null)
        this.setState$1(new D._DualFileImportContainerState_onFirstFileSelected_closure(this, selectedFile));
    },
    onSecondFileSelected$1: function(selectedFile) {
      if (this._framework$_element != null)
        this.setState$1(new D._DualFileImportContainerState_onSecondFileSelected_closure(this, selectedFile));
    },
    onFirstFileCleared$0: function() {
      if (this._framework$_element != null)
        this.setState$1(new D._DualFileImportContainerState_onFirstFileCleared_closure(this));
    },
    onSecondFileCleared$0: function() {
      if (this._framework$_element != null)
        this.setState$1(new D._DualFileImportContainerState_onSecondFileCleared_closure(this));
    },
    _buildActionButton$0: function() {
      var notifications, t2, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      notifications = Y.Notifications_of(t1);
      t1 = _this.firstImportedFile != null && _this.secondImportedFile != null ? new D._DualFileImportContainerState__buildActionButton_closure(_this, notifications) : _null;
      t2 = type$.JSArray_legacy_Widget;
      return T.Column$(H._setArrayType([C.SizedBox_null_16_null_null, T.Row$(H._setArrayType([D.ElevatedButton$(new U.MaterialIconLabel(C.IconData_58128_MaterialIcons_false, _null, _this._widget.actionText, _null, _null), t1, _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1);
    }
  };
  D._DualFileImportContainerState_onFirstFileSelected_closure.prototype = {
    call$0: function() {
      this.$this.firstImportedFile = this.selectedFile;
    },
    $signature: 1
  };
  D._DualFileImportContainerState_onSecondFileSelected_closure.prototype = {
    call$0: function() {
      this.$this.secondImportedFile = this.selectedFile;
    },
    $signature: 1
  };
  D._DualFileImportContainerState_onFirstFileCleared_closure.prototype = {
    call$0: function() {
      this.$this.firstImportedFile = null;
    },
    $signature: 1
  };
  D._DualFileImportContainerState_onSecondFileCleared_closure.prototype = {
    call$0: function() {
      this.$this.secondImportedFile = null;
    },
    $signature: 1
  };
  D._DualFileImportContainerState__buildActionButton_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      return t1._widget.onAction$3(t1.firstImportedFile, t1.secondImportedFile, new D._DualFileImportContainerState__buildActionButton__closure(this.notifications));
    },
    $signature: 44
  };
  D._DualFileImportContainerState__buildActionButton__closure.prototype = {
    call$1: function(error) {
      return this.notifications.push$1(error);
    },
    $signature: 14
  };
  X.FlexSplitColumn.prototype = {
    build$1: function(_, context) {
      var _this = this;
      return L.Split$(C.Axis_1, _this._flex_split_column$_children, _this._initialFractions, _this._minSizes, C.JSArray_methods.sublist$1(_this.headers, 1));
    }
  };
  X.FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader_closure.prototype = {
    call$1: function(i) {
      var t1, _this = this;
      if (i === 0) {
        t1 = _this.intendedChildHeights[i];
        return (t1 + (_this.headers[0].tall ? 44 : 36)) / _this.trueContentHeight;
      }
      return _this.intendedChildHeights[i] / _this.trueContentHeight;
    },
    $signature: 37
  };
  T.LinkedScrollControllerGroup.prototype = {
    addAndGet$0: function() {
      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);
        t1.toString;
        t2 = J.getInterceptor$x(t1);
        t1 = F.ScrollController.prototype.get$position.call(t2, t1)._pixels;
        t1.toString;
        initialScrollOffset = t1;
      }
      controller = new T._LinkedScrollController(_this, initialScrollOffset, H._setArrayType([], type$.JSArray_ScrollPosition), P.List_List$filled(0, null, false, type$.nullable_void_Function));
      _this._allControllers.push(controller);
      controller.addListener$1(0, _this._offsetNotifier.get$notifyListeners());
      return controller;
    },
    get$_attachedControllers: function() {
      var t1 = this._allControllers;
      return new H.WhereIterable(t1, new T.LinkedScrollControllerGroup__attachedControllers_closure(), H._arrayInstanceType(t1)._eval$1("WhereIterable<1>"));
    },
    animateTo$3$curve$duration: function(offset, curve, duration) {
      return this.animateTo$body$LinkedScrollControllerGroup(offset, curve, duration);
    },
    animateTo$body$LinkedScrollControllerGroup: function(offset, curve, duration) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$animateTo$3$curve$duration = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$animateTo$3$curve$duration, $async$completer);
    },
    jumpTo$1: function(value) {
      var t1 = this.get$_attachedControllers();
      if (!t1.get$isEmpty(t1)) {
        t1 = this.get$_attachedControllers();
        t1.get$first(t1).jumpTo$1(value);
      }
    }
  };
  T.LinkedScrollControllerGroup__attachedControllers_closure.prototype = {
    call$1: function(controller) {
      return controller._positions.length !== 0;
    },
    $signature: 209
  };
  T._LinkedScrollControllerGroupOffsetNotifier.prototype = {
    notifyListeners$0: function() {
      var _this = this,
        t1 = _this.controllerGroup.get$_attachedControllers();
      t1 = t1.get$first(t1);
      t1.toString;
      t1 = J.get$position$x(t1)._pixels;
      t1.toString;
      if (t1 !== _this._cachedOffset) {
        _this._cachedOffset = t1;
        _this.super$ChangeNotifier$notifyListeners();
      }
    }
  };
  T._LinkedScrollController.prototype = {
    dispose$0: function(_) {
      C.JSArray_methods.remove$1(this._controllers._allControllers, this);
      this.super$ScrollController$dispose(0);
    },
    attach$1: function(position) {
      this.super$ScrollController$attach(position);
    },
    createScrollPosition$3: function(physics, context, oldPosition) {
      var _null = null,
        t1 = type$.nullable_void_Function;
      t1 = new T._LinkedScrollPosition(this, P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy__LinkedScrollActivity), C.ScrollDirection_0, physics, context, true, _null, new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_bool), P.List_List$filled(0, _null, false, 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: function(_) {
      return F.ScrollController.prototype.get$position.call(this, this);
    },
    get$_allPeersWithClients: function() {
      var t1 = this._controllers.get$_attachedControllers();
      return new H.WhereIterable(t1, new T._LinkedScrollController__allPeersWithClients_closure(this), t1.$ti._eval$1("WhereIterable<Iterable.E>"));
    },
    linkWithPeers$1: function(driver) {
      var t1 = this.get$_allPeersWithClients(),
        t2 = t1.$ti._eval$1("MappedIterable<1,Iterable<_LinkedScrollActivity*>*>");
      return new H.ExpandIterable(new H.MappedIterable(t1, new T._LinkedScrollController_linkWithPeers_closure(driver), t2), new T._LinkedScrollController_linkWithPeers_closure0(), t2._eval$1("ExpandIterable<Iterable.E,_LinkedScrollActivity*>"));
    },
    link$1: function(driver) {
      var t1, t2, t3, _i, t4, activity,
        activities = H._setArrayType([], type$.JSArray_legacy__LinkedScrollActivity);
      for (t1 = this._positions, t2 = t1.length, t3 = type$.legacy__LinkedScrollPosition, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        t4 = t1[_i];
        if (!(t4._activity instanceof T._LinkedScrollActivity))
          t4.beginActivity$1(new T._LinkedScrollActivity(P.LinkedHashSet_LinkedHashSet$_empty(t3), t4));
        activity = t4._activity;
        activity.drivers.add$1(0, driver);
        activities.push(activity);
      }
      return activities;
    }
  };
  T._LinkedScrollController__allPeersWithClients_closure.prototype = {
    call$1: function(peer) {
      return peer !== this.$this;
    },
    $signature: 209
  };
  T._LinkedScrollController_linkWithPeers_closure.prototype = {
    call$1: function(peer) {
      return peer.link$1(this.driver);
    },
    $signature: 479
  };
  T._LinkedScrollController_linkWithPeers_closure0.prototype = {
    call$1: function(e) {
      return e;
    },
    $signature: 477
  };
  T._LinkedScrollPosition.prototype = {
    hold$1: function(holdCancelCallback) {
      var t1, t2, t3;
      for (t1 = this.owner.get$_allPeersWithClients(), t2 = J.get$iterator$ax(t1.__internal$_iterable), t1 = new H.WhereIterator(t2, t1._f, t1.$ti._eval$1("WhereIterator<1>")); t1.moveNext$0();) {
        t3 = t2.get$current(t2);
        t3.toString;
        t3 = F.ScrollController.prototype.get$position.call(t3, t3);
        t3.toString;
        t3.super$ScrollPositionWithSingleContext$hold(null);
      }
      return this.super$ScrollPositionWithSingleContext$hold(holdCancelCallback);
    },
    beginActivity$1: function(newActivity) {
      var t1, t2, t3, t4;
      for (t1 = this._peerActivities, t2 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t2.moveNext$0();) {
        t3 = t2._collection$_current;
        t4 = t3.drivers;
        t4.remove$1(0, this);
        if (t4._collection$_length === 0) {
          t3 = M.ScrollActivity.prototype.get$delegate.call(t3);
          t3.beginActivity$1(new M.IdleScrollActivity(t3));
        }
      }
      t1.clear$0(0);
      this.super$ScrollPositionWithSingleContext$beginActivity(newActivity);
    },
    setPixels$1: function(newPixels) {
      var t2, _this = this,
        t1 = _this._pixels;
      t1.toString;
      if (newPixels === t1)
        return 0;
      _this.super$ScrollPositionWithSingleContext$updateUserScrollDirection(newPixels - t1 > 0 ? C.ScrollDirection_1 : C.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 = P._LinkedHashSetIterator$(t2, t2._collection$_modifications, H._instanceType(t2)._precomputed1); t1.moveNext$0();) {
          t2 = t1._collection$_current;
          t2._updateUserScrollDirection$0();
          M.ScrollActivity.prototype.get$delegate.call(t2).super$ScrollPositionWithSingleContext$setPixels(newPixels);
        }
      }
      return _this.super$ScrollPositionWithSingleContext$setPixels(newPixels);
    },
    forcePixels$1: function(value) {
      var t2, _this = this,
        t1 = _this._pixels;
      t1.toString;
      if (value === t1)
        return;
      _this.super$ScrollPositionWithSingleContext$updateUserScrollDirection(value - t1 > 0 ? C.ScrollDirection_1 : C.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 = P._LinkedHashSetIterator$(t2, t2._collection$_modifications, H._instanceType(t2)._precomputed1); t1.moveNext$0();) {
          t2 = t1._collection$_current;
          t2._updateUserScrollDirection$0();
          M.ScrollActivity.prototype.get$delegate.call(t2).super$ScrollPosition$forcePixels(value);
        }
      }
      _this.super$ScrollPosition$forcePixels(value);
    },
    updateUserScrollDirection$1: function(value) {
      this.super$ScrollPositionWithSingleContext$updateUserScrollDirection(value);
    },
    debugFillDescription$1: function(description) {
      this.super$ScrollPositionWithSingleContext$debugFillDescription(description);
      description.push("owner: " + this.owner.toString$0(0));
    }
  };
  T._LinkedScrollActivity.prototype = {
    get$shouldIgnorePointer: function() {
      return true;
    },
    get$isScrolling: function() {
      return true;
    },
    get$velocity: function() {
      return 0;
    },
    _updateUserScrollDirection$0: function() {
      var t1, commonDirection, t2;
      for (t1 = this.drivers, t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1), commonDirection = null; t1.moveNext$0();) {
        t2 = t1._collection$_current;
        if (commonDirection == null)
          commonDirection = t2._userScrollDirection;
        if (t2._userScrollDirection != commonDirection)
          commonDirection = C.ScrollDirection_0;
      }
      M.ScrollActivity.prototype.get$delegate.call(this).super$ScrollPositionWithSingleContext$updateUserScrollDirection(commonDirection);
    },
    dispose$0: function(_) {
      var t1;
      for (t1 = this.drivers, t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
        t1._collection$_current._peerActivities.remove$1(0, this);
      this.super$ScrollActivity$dispose(0);
    }
  };
  O.FrameworkController.prototype = {
    _framework_controller$_init$0: function() {
      $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectedState.addListener$1(0, new O.FrameworkController__init_closure(this));
    }
  };
  O.FrameworkController__init_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectedState._value.connected)
        t1._connectedController.add$1(0, $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service._connectedUri);
      else
        t1._disconnectedController.add$1(0, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  O.ConnectVmEvent.prototype = {
    get$serviceProtocolUri: function() {
      return this.serviceProtocolUri;
    },
    get$notify: function() {
      return this.notify;
    }
  };
  O.PageChangeEvent.prototype = {};
  N.LineSegment0.prototype = {
    toString$0: function(_) {
      return this.start.toString$0(0) + " --> " + this.end.toString$0(0);
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  N.HorizontalLineSegment.prototype = {
    crossAxisIntersects$1: function(rect) {
      var t1 = this.start._dy;
      return t1 >= rect.top && t1 <= rect.bottom;
    },
    compareTo$1: function(_, other) {
      var t1 = this.start,
        t2 = other.start,
        compare = J.compareTo$1$ns(t1._dy, t2._dy);
      if (compare === 0)
        return J.compareTo$1$ns(t1._dx, t2._dx);
      return compare;
    },
    toZoomed$3$unzoomableOffsetLineEnd$unzoomableOffsetLineStart$zoom: function(unzoomableOffsetLineEnd, unzoomableOffsetLineStart, zoom) {
      var t1 = this.start,
        t2 = this.end;
      return new N.HorizontalLineSegment(new P.Offset(N.LineSegment_zoomedXPosition(unzoomableOffsetLineStart, t1._dx, zoom), t1._dy), new P.Offset(N.LineSegment_zoomedXPosition(unzoomableOffsetLineEnd, t2._dx, zoom), t2._dy), this.opacity);
    },
    $isComparable: 1
  };
  N.VerticalLineSegment.prototype = {
    crossAxisIntersects$1: function(rect) {
      var t1 = this.start._dx;
      return t1 >= rect.left && t1 <= rect.right;
    },
    compareTo$1: function(_, other) {
      var t1 = this.start,
        t2 = other.start,
        compare = J.compareTo$1$ns(t1._dx, t2._dx);
      if (compare === 0)
        return J.compareTo$1$ns(t1._dy, t2._dy);
      return compare;
    },
    toZoomed$3$unzoomableOffsetLineEnd$unzoomableOffsetLineStart$zoom: function(unzoomableOffsetLineEnd, unzoomableOffsetLineStart, zoom) {
      var t1 = this.start,
        zoomedLineStartX = N.LineSegment_zoomedXPosition(unzoomableOffsetLineStart, t1._dx, zoom);
      return new N.VerticalLineSegment(new P.Offset(zoomedLineStartX, t1._dy), new P.Offset(zoomedLineStartX, this.end._dy), this.opacity);
    },
    $isComparable: 1
  };
  L.HistoryManager.prototype = {
    get$hasNext: function() {
      var t1 = this._history_manager$_history.length;
      return t1 !== 0 && this._historyIndex < t1 - 1;
    },
    moveForward$0: function() {
      var _this = this;
      if (!_this.get$hasNext())
        throw H.wrapException(P.StateError$("no next history item"));
      _this._history_manager$_current.set$value(0, _this._history_manager$_history[++_this._historyIndex]);
    },
    moveBack$0: function() {
      var _this = this,
        t1 = _this._history_manager$_history;
      if (!(t1.length !== 0 && _this._historyIndex > 0))
        throw H.wrapException(P.StateError$("no previous history item"));
      _this._history_manager$_current.set$value(0, t1[--_this._historyIndex]);
    }
  };
  G.HistoryViewport.prototype = {
    build$1: function(_, context) {
      return new U.OutlineDecoration(N.ValueListenableBuilder$(new G.HistoryViewport_build_closure(this, K.Theme_of(context)), this.history._history_manager$_current, this.$ti._eval$1("1*")), null);
    },
    _buildTitle$2: function(context, theme) {
      var t4, _i, _null = null,
        t1 = this.history,
        t2 = t1._history_manager$_history.length !== 0 && t1._historyIndex > 0 ? t1.get$moveBack() : _null,
        t3 = t1.get$hasNext() ? t1.get$moveForward() : _null;
      t1 = this.generateTitle.call$1(t1._history_manager$_current._value);
      t4 = type$.JSArray_legacy_Widget;
      t1 = H._setArrayType([new U.ToolbarAction(C.IconData_57694_MaterialIcons_true, _null, t2, _null), new U.ToolbarAction(C.IconData_57695_MaterialIcons_true, _null, t3, _null), C.SizedBox_8_null_null_null, C.VerticalDivider_null, C.SizedBox_16_null_null_null, T.Expanded$(L.Text$(t1, _null, _null, _null, _null, _null, theme.textTheme.subtitle2, _null, _null, _null), 1)], t4);
      t2 = H._setArrayType([C.SizedBox_8_null_null_null], t4);
      for (t3 = this.controls, _i = 0; _i < 2; ++_i)
        C.JSArray_methods.addAll$1(t2, H._setArrayType([t3[_i], C.SizedBox_8_null_null_null], t4));
      C.JSArray_methods.addAll$1(t1, t2);
      t1 = T.Row$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
      t2 = theme.focusColor;
      t3 = K.ThemeDataExtension_get_titleSolidBackgroundColor(theme);
      return M.Container$(C.Alignment_m1_0, t1, C.Clip_0, _null, _null, new S.BoxDecoration(t3, _null, new F.Border(C.BorderSide_06g, C.BorderSide_06g, new Y.BorderSide(t2, 1, C.BorderStyle_1), C.BorderSide_06g), _null, _null, _null, _null, C.BoxShape_0), _null, 36, _null, _null, C.EdgeInsets_16_0_0_0, _null, _null, _null);
    }
  };
  G.HistoryViewport_build_closure.prototype = {
    call$3: function(context, current, _) {
      var t1 = this.$this;
      return T.Column$(H._setArrayType([t1._buildTitle$2(context, this.theme), t1.contentBuilder.call$2(context, current)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    $signature: 210
  };
  O.Cookie.prototype = {
    get$name: function(_) {
      return this._http$_name;
    },
    _parseSetCookieValue$1: function(s) {
      var t2, _this = this, t1 = {};
      t1.index = 0;
      t2 = new O.Cookie__parseSetCookieValue_done(t1, s);
      _this._http$_name = O.Cookie__validateName(new O.Cookie__parseSetCookieValue_parseName(t1, t2, s).call$0());
      if (t2.call$0() || _this._http$_name.length === 0)
        throw H.wrapException(O.HttpException$("Failed to parse header value [" + H.S(s) + "]"));
      ++t1.index;
      _this._http$_value = O.Cookie__validateValue(new O.Cookie__parseSetCookieValue_parseValue(t1, t2, s).call$0());
      if (t2.call$0())
        return;
      ++t1.index;
      new O.Cookie__parseSetCookieValue_parseAttributes(t1, _this, t2, s).call$0();
    },
    toString$0: function(_) {
      var d, _this = this,
        t1 = H.S(_this._http$_name) + "=" + H.S(_this._http$_value),
        t2 = _this.expires;
      if (t2 != null) {
        t1 += "; Expires=";
        d = t2.toUtc$0();
        t2 = C.List_ECn[H.Primitives_getWeekday(d) - 1] + ", ";
        t2 = t2 + (H.Primitives_getDay(d) <= 9 ? "0" : "") + C.JSInt_methods.toString$0(H.Primitives_getDay(d)) + " " + C.List_h8w0[H.Primitives_getMonth(d) - 1] + " " + C.JSInt_methods.toString$0(H.Primitives_getYear(d));
        t2 = t2 + (H.Primitives_getHours(d) <= 9 ? " 0" : " ") + C.JSInt_methods.toString$0(H.Primitives_getHours(d));
        t2 = t2 + (H.Primitives_getMinutes(d) <= 9 ? ":0" : ":") + C.JSInt_methods.toString$0(H.Primitives_getMinutes(d));
        t2 = t2 + (H.Primitives_getSeconds(d) <= 9 ? ":0" : ":") + C.JSInt_methods.toString$0(H.Primitives_getSeconds(d)) + " GMT";
        t2 = t1 + (t2.charCodeAt(0) == 0 ? t2 : t2);
        t1 = t2;
      }
      t2 = _this.maxAge;
      if (t2 != null)
        t1 = t1 + "; Max-Age=" + H.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;
    }
  };
  O.Cookie__parseSetCookieValue_done.prototype = {
    call$0: function() {
      return this._box_0.index === this.s.length;
    },
    $signature: 31
  };
  O.Cookie__parseSetCookieValue_parseName.prototype = {
    call$0: function() {
      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 C.JSString_methods.trim$0(J.substring$2$s(t3, start, t1.index));
    },
    $signature: 38
  };
  O.Cookie__parseSetCookieValue_parseValue.prototype = {
    call$0: function() {
      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 C.JSString_methods.trim$0(J.substring$2$s(t3, start, t1.index));
    },
    $signature: 38
  };
  O.Cookie__parseSetCookieValue_parseAttributes.prototype = {
    call$0: function() {
      var t4, $name, value, _this = this,
        t1 = _this._box_0,
        t2 = _this.done,
        t3 = _this.s,
        parseAttributeName = new O.Cookie__parseSetCookieValue_parseAttributes_parseAttributeName(t1, t2, t3),
        parseAttributeValue = new O.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 = O.HttpDate__parseCookieDate(value);
        else if ($name === "max-age")
          t4.maxAge = P.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
  };
  O.Cookie__parseSetCookieValue_parseAttributes_parseAttributeName.prototype = {
    call$0: function() {
      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 C.JSString_methods.trim$0(J.substring$2$s(t3, start, t1.index)).toLowerCase();
    },
    $signature: 38
  };
  O.Cookie__parseSetCookieValue_parseAttributes_parseAttributeValue.prototype = {
    call$0: function() {
      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 C.JSString_methods.trim$0(J.substring$2$s(t3, start, t1.index)).toLowerCase();
    },
    $signature: 38
  };
  O.HttpDate__parseCookieDate_error.prototype = {
    call$0: function() {
      throw H.wrapException(O.HttpException$("Invalid cookie date " + this.date));
    },
    $signature: 0
  };
  O.HttpDate__parseCookieDate_isEnd.prototype = {
    call$0: function() {
      return this._box_0.position === this.date.length;
    },
    $signature: 31
  };
  O.HttpDate__parseCookieDate_isDelimiter.prototype = {
    call$1: function(s) {
      var char = C.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: 14
  };
  O.HttpDate__parseCookieDate_isNonDelimiter.prototype = {
    call$1: function(s) {
      var char = C.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: 14
  };
  O.HttpDate__parseCookieDate_isDigit.prototype = {
    call$1: function(s) {
      var char = J._codeUnitAt$1$s(s, 0);
      if (char > 47 && char < 58)
        return true;
      return false;
    },
    $signature: 14
  };
  O.HttpDate__parseCookieDate_getMonth.prototype = {
    call$1: function(month) {
      if (month.length < 3)
        return -1;
      return C.JSArray_methods.indexOf$1(C.List_UI5, J.substring$2$s(month, 0, 3));
    },
    $signature: 211
  };
  O.HttpDate__parseCookieDate_toInt.prototype = {
    call$1: function(s) {
      var t1 = s.length,
        t2 = this.isDigit,
        index = 0;
      while (true) {
        if (!(index < t1 && t2.call$1(s[index])))
          break;
        ++index;
      }
      return P.int_parse(C.JSString_methods.substring$2(s, 0, index), null);
    },
    $signature: 211
  };
  O.HttpException.prototype = {
    toString$0: function(_) {
      var t1 = "HttpException: " + this.message;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    get$message: function(receiver) {
      return this.message;
    },
    get$uri: function() {
      return null;
    }
  };
  E.TimelineHttpInstantEvent.prototype = {
    get$name: function(_) {
      return this._http_request_data$_event.name;
    },
    get$timestampMicros: function() {
      return this._http_request_data$_event.timestampMicros;
    }
  };
  E.DartIOHttpInstantEvent.prototype = {
    get$name: function(_) {
      return this._http_request_data$_event.event;
    },
    get$timestampMicros: function() {
      return this._http_request_data$_event.timestamp;
    }
  };
  E.HttpInstantEvent.prototype = {};
  E.HttpRequestData.prototype = {
    get$contentType: function(_) {
      var _this = this,
        _s12_ = "content-type";
      if (_this.get$responseHeaders(_this) == null || J.$index$asx(_this.get$responseHeaders(_this), _s12_) == null)
        return null;
      return J.toString$0$(J.$index$asx(_this.get$responseHeaders(_this), _s12_));
    },
    get$type: function(_) {
      var mime = this.get$contentType(this);
      if (mime == null)
        return "http";
      mime = C.JSArray_methods.get$first(mime.split(";"));
      if (J.startsWith$1$s(mime, "["))
        mime = C.JSString_methods.substring$1(mime, 1);
      return this._extensionFromMime$1(C.JSString_methods.endsWith$1(mime, "]") ? C.JSString_methods.substring$2(mime, 0, mime.length - 1) : mime);
    },
    _extensionFromMime$1: function(mime) {
      var extension = E.extensionFromMime(mime);
      if (extension === "jpe")
        return "jpeg";
      if (extension === "htm")
        return "html";
      if (extension === "conf")
        return "txt";
      return extension;
    },
    get$port: function(_) {
      var connectionInfo;
      if (this.get$general() == null)
        return null;
      connectionInfo = this.get$general().$index(0, "connectionInfo");
      return connectionInfo != null ? J.$index$asx(connectionInfo, "localPort") : null;
    },
    get$didFail: function() {
      var code, exception, _this = this;
      if (_this.get$status(_this) == null)
        return false;
      if (_this.get$status(_this) === "Error")
        return true;
      try {
        code = P.int_parse(_this.get$status(_this), null);
        if (code >= 400)
          return true;
      } catch (exception) {
        if (type$.legacy_Exception._is(H.unwrapException(exception))) {
          B.log("Could not parse HTTP request status: " + H.S(_this.get$status(_this)), C.LogLevel_2);
          return true;
        } else
          throw exception;
      }
      return false;
    }
  };
  E.HttpRequestData__parseCookies_closure.prototype = {
    call$1: function(cookie) {
      var t1 = new O.Cookie();
      t1._parseSetCookieValue$1(cookie);
      return t1;
    },
    $signature: 476
  };
  E.TimelineHttpRequestData.prototype = {
    get$duration: function(_) {
      var t1, t2, _this = this;
      if (_this._endEvent == null || !_this.get$isValid())
        return null;
      t1 = P.Duration$(_this._startEvent.timestampMicros, 0);
      t2 = P.Duration$(_this._endEvent.timestampMicros, 0);
      return new P.Duration(t2._duration - t1._duration);
    },
    get$isValid: function() {
      var t1 = this._startEvent;
      return t1 != null && !J.contains$1$asx(t1.name, "HTTP CLIENT response");
    },
    get$general: function() {
      var copy, _this = this,
        t1 = _this._general;
      if (t1 != null)
        return t1;
      if (!_this.get$isValid())
        return null;
      copy = P.LinkedHashMap_LinkedHashMap$from(_this._startEvent.args, type$.legacy_String, type$.dynamic);
      t1 = _this._endEvent;
      if (t1 != null)
        copy.addAll$1(0, t1.args);
      copy.remove$1(0, "requestHeaders");
      copy.remove$1(0, "responseHeaders");
      copy.remove$1(0, "filterKey");
      return _this._general = copy;
    },
    get$inProgress: function() {
      return this._endEvent == null;
    },
    get$instantEvents: function() {
      return this._instantEvents;
    },
    get$method: function(_) {
      if (!this.get$isValid())
        return null;
      return J.$index$asx(this._startEvent.args, "method");
    },
    get$requestCookies: function() {
      var t1,
        headers = this.get$requestHeaders();
      if (headers == null)
        return H._setArrayType([], type$.JSArray_legacy_Cookie);
      t1 = J.$index$asx(headers, "cookie");
      return E.HttpRequestData__parseCookies(t1 == null ? [] : t1);
    },
    get$requestHeaders: function() {
      if (this._endEvent == null || !this.get$isValid())
        return null;
      return J.$index$asx(this._endEvent.args, "requestHeaders");
    },
    get$startTimestamp: function() {
      if (!this.get$isValid())
        return null;
      return P.DateTime$fromMicrosecondsSinceEpoch(this._timelineMicrosBase + this._startEvent.timestampMicros);
    },
    get$endTimestamp: function() {
      var _this = this;
      if (_this._endEvent == null || !_this.get$isValid())
        return null;
      return P.DateTime$fromMicrosecondsSinceEpoch(_this._timelineMicrosBase + _this._endEvent.timestampMicros);
    },
    get$responseCookies: function() {
      var t1,
        headers = this.get$responseHeaders(this);
      if (headers == null)
        return H._setArrayType([], type$.JSArray_legacy_Cookie);
      t1 = J.$index$asx(headers, "set-cookie");
      return E.HttpRequestData__parseCookies(t1 == null ? [] : t1);
    },
    get$responseHeaders: function(_) {
      if (this._endEvent == null || !this.get$isValid())
        return null;
      return J.$index$asx(this._endEvent.args, "responseHeaders");
    },
    get$status: function(_) {
      var endArgs, t1, statusCode;
      if (this._endEvent == null || !this.get$isValid())
        return null;
      endArgs = this._endEvent.args;
      t1 = J.getInterceptor$x(endArgs);
      if (t1.containsKey$1(endArgs, "error"))
        statusCode = "Error";
      else {
        t1 = t1.$index(endArgs, "statusCode");
        statusCode = t1 == null ? null : J.toString$0$(t1);
      }
      return statusCode;
    },
    get$uri: function() {
      if (!this.get$isValid())
        return null;
      return J.$index$asx(this._startEvent.args, "uri");
    },
    merge$1: function(data) {
      var t1;
      type$.legacy_TimelineHttpRequestData._as(data);
      if (data.get$instantEvents().length !== 0)
        this._addInstantEvents$1(data.get$instantEvents());
      t1 = data._endEvent;
      if (t1 != null)
        this._endEvent = t1;
    },
    _addInstantEvents$1: function(events) {
      C.JSArray_methods.addAll$1(this._instantEvents, events);
      if (this._startEvent == null)
        return;
      this._recalculateInstantEventTimes$0();
    },
    _recalculateInstantEventTimes$0: function() {
      var t1, t2, _i, instant, instantTime, t3,
        lastTime = this._startEvent.timestampMicros;
      for (t1 = this._instantEvents, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i, lastTime = instantTime) {
        instant = t1[_i];
        instantTime = instant.get$timestampMicros();
        t3 = new B.TimeRange(true);
        t3._utils$_start = new P.Duration(lastTime);
        t3._utils$_end = new P.Duration(instantTime);
        instant._timeRange = t3;
      }
    },
    toString$0: function(_) {
      return H.S(this.get$method(this)) + " " + H.S(this.get$uri());
    },
    get$responseBody: function() {
      return this.responseBody;
    }
  };
  E.TimelineHttpRequestData_TimelineHttpRequestData$fromTimeline_closure.prototype = {
    call$1: function(e) {
      return new E.TimelineHttpInstantEvent(e);
    },
    $signature: 475
  };
  E.DartIOHttpRequestData.prototype = {
    getFullRequestData$0: function() {
      var t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service,
        t2 = this._request;
      return t1.getHttpProfileRequest$2(t2.isolateId, t2.id).then$1$1(0, new E.DartIOHttpRequestData_getFullRequestData_closure(this), type$.void);
    },
    get$duration: function(_) {
      var t1, t2;
      if (!this._request.get$isResponseComplete() || false)
        return null;
      t1 = this._request;
      t2 = P.Duration$(t1.startTime, 0);
      t1 = P.Duration$(t1.response.endTime, 0);
      return new P.Duration(t1._duration - t2._duration);
    },
    get$general: function() {
      var t4, _this = this,
        t1 = type$.legacy_String,
        t2 = type$.dynamic,
        t3 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      t3.$indexSet(0, "method", _this._request.method);
      t3.$indexSet(0, "uri", _this._request.uri.toString$0(0));
      t4 = _this._request.request._connectionInfo;
      t3.$indexSet(0, "connectionInfo", new P.UnmodifiableMapView(t4, type$.UnmodifiableMapView_String_dynamic));
      t4 = _this._request.request;
      t3.$indexSet(0, "contentLength", t4._returnIfNoError$1(t4._contentLength));
      t4 = _this._request.response;
      if (t4 != null)
        for (t1 = P.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$method: function(_) {
      return this._request.method;
    },
    get$inProgress: function() {
      return !this._request.get$isResponseComplete();
    },
    get$instantEvents: function() {
      var t1, t2, _this = this;
      if (_this._instantEvents == null) {
        t1 = H._setArrayType([], type$.JSArray_legacy_HttpInstantEvent);
        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 E.DartIOHttpInstantEvent(t2.get$current(t2)));
        _this._instantEvents = t1;
        _this._recalculateInstantEventTimes$0();
      }
      return _this._instantEvents;
    },
    get$requestCookies: function() {
      var t1 = this._request.request;
      return E.HttpRequestData__parseCookies(t1 == null ? null : t1._returnIfNoError$1(t1._cookies));
    },
    get$requestHeaders: function() {
      var t1 = this._request.request;
      return t1 == null ? null : new P.UnmodifiableMapView(t1._returnIfNoError$1(t1._headers), type$.UnmodifiableMapView_String_dynamic);
    },
    get$responseCookies: function() {
      var t1 = this._request.response;
      return E.HttpRequestData__parseCookies(t1 == null ? null : t1.cookies);
    },
    get$responseHeaders: function(_) {
      var t1 = this._request.response;
      return t1 == null ? null : t1.headers;
    },
    merge$1: function(data) {
      this._request = type$.legacy_DartIOHttpRequestData._as(data)._request;
    },
    get$endTimestamp: function() {
      var t1 = this._request;
      t1 = t1 == null ? null : t1.response;
      t1 = t1 == null ? null : t1.endTime;
      return P.DateTime$fromMicrosecondsSinceEpoch(this._timelineMicrosBase + t1);
    },
    get$startTimestamp: function() {
      return P.DateTime$fromMicrosecondsSinceEpoch(this._timelineMicrosBase + this._request.startTime);
    },
    get$status: function(_) {
      var t1 = this._request.response;
      t1 = t1 == null ? null : t1.statusCode;
      return t1 == null ? null : C.JSInt_methods.toString$0(t1);
    },
    get$uri: function() {
      return this._request.uri.toString$0(0);
    },
    get$responseBody: function() {
      var fullRequest, exception, _this = this,
        t1 = _this._request;
      if (!(t1 instanceof Q.HttpProfileRequest))
        return null;
      fullRequest = t1;
      try {
        if (!t1.get$isResponseComplete())
          return null;
        t1 = _this._responseBody;
        if (t1 != null)
          return t1;
        _this._responseBody = C.Utf8Codec_false.decode$1(0, fullRequest.responseBody);
        if (J.contains$1$asx(_this.get$contentType(_this), "json"))
          _this._responseBody = P._JsonStringStringifier_stringify(C.C_JsonCodec.decode$1(0, _this._responseBody), null, "  ");
        t1 = _this._responseBody;
        return t1;
      } catch (exception) {
        if (type$.legacy_FormatException._is(H.unwrapException(exception)))
          return "<binary data>";
        else
          throw exception;
      }
    },
    get$encodedResponse: function() {
      if (!this._request.get$isResponseComplete())
        return null;
      return this._request.responseBody;
    },
    _recalculateInstantEventTimes$0: function() {
      var t1, t2, _i, instant, instantTime, t3,
        lastTime = this._request.startTime;
      for (t1 = this.get$instantEvents(), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i, lastTime = instantTime) {
        instant = t1[_i];
        instantTime = instant.get$timestampMicros();
        t3 = new B.TimeRange(true);
        t3._utils$_start = new P.Duration(lastTime);
        t3._utils$_end = new P.Duration(instantTime);
        instant._timeRange = t3;
      }
    }
  };
  E.DartIOHttpRequestData_getFullRequestData_closure.prototype = {
    call$1: function(updated) {
      return this.$this._request = updated;
    },
    $signature: 466
  };
  E.HttpService_toggleHttpRequestLogging_closure.prototype = {
    call$1: function(isolate) {
      return this.$call$body$HttpService_toggleHttpRequestLogging_closure(isolate);
    },
    $call$body$HttpService_toggleHttpRequestLogging_closure: function(isolate) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 4;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.isHttpTimelineLoggingAvailable$1(isolate.get$id(isolate)), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = $async$result ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 5;
              return P._asyncAwait(B.timeout($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.httpEnableTimelineLogging$2(isolate.get$id(isolate), $async$self.state), 500, type$.legacy_HttpTimelineLoggingState), $async$call$1);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 55
  };
  T.InfoController.prototype = {
    _listenForFlutterVersionChanges$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, flutterVersionServiceListenable;
      var $async$_listenForFlutterVersionChanges$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp) {
                flutterVersionServiceListenable = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).registeredServiceListenable$1("flutterVersion");
                $async$self.AutoDisposeControllerMixin__delegate.addAutoDisposeListener$2(flutterVersionServiceListenable, new T.InfoController__listenForFlutterVersionChanges_closure($async$self, flutterVersionServiceListenable));
              } else
                $async$self._info_controller$_flutterVersion.set$value(0, null);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_listenForFlutterVersionChanges$0, $async$completer);
    }
  };
  T.InfoController_getFlutterVersion_closure.prototype = {
    call$1: function(response) {
      return T.FlutterVersion_FlutterVersion$parse(response.json);
    },
    $signature: 461
  };
  T.InfoController_getFlutterVersion_closure0.prototype = {
    call$1: function(e) {
      return null;
    },
    $signature: 5
  };
  T.InfoController__listenForFlutterVersionChanges_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, $async$temp1, $async$temp2;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.flutterVersionServiceListenable._value && $async$self.$this.flutterVersionServiceAvailable.future._state === 0;
              t2 = $async$self.$this;
              t3 = t2._info_controller$_flutterVersion;
              $async$goto = t1 ? 2 : 4;
              break;
            case 2:
              // then
              t2.flutterVersionServiceAvailable.complete$0(0);
              $async$temp1 = t3;
              $async$temp2 = T;
              $async$goto = 5;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).get$flutterVersion(), $async$call$0);
            case 5:
              // returning from await.
              $async$temp1.set$value(0, $async$temp2.FlutterVersion_FlutterVersion$parse($async$result.json));
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t3.set$value(0, null);
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 8
  };
  T._InfoController_DisposableController_AutoDisposeControllerMixin.prototype = {};
  B.Initializer.prototype = {
    createState$0: function() {
      return new B._InitializerState(K.Disposer$(), null, C._StateLifecycle_0);
    },
    builder$1: function(arg0) {
      return this.builder.call$1(arg0);
    }
  };
  B._InitializerState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      _this.addAutoDisposeListener$2($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectedState, new B._InitializerState_initState_closure(_this));
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
      _this.AutoDisposeMixin__delegate.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new B._InitializerState_initState_closure0(_this)));
      _this._attemptUrlConnection$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget.url;
      if (t1 != null && t1 !== oldWidget.url)
        this._attemptUrlConnection$0();
    },
    _attemptUrlConnection$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1;
      var $async$_attemptUrlConnection$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._widget.url;
              if (t1 == null) {
                $async$self._handleNoConnection$0();
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait(E.FrameworkCore_initVmService("", new B._InitializerState__attemptUrlConnection_closure($async$self), F.normalizeVmServiceUri(t1)), $async$_attemptUrlConnection$0);
            case 3:
              // returning from await.
              if (!$async$result)
                $async$self._handleNoConnection$0();
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_attemptUrlConnection$0, $async$completer);
    },
    _handleNoConnection$0: function() {
      $.WidgetsBinding__instance.scheduleFrameCallback$1(new B._InitializerState__handleNoConnection_closure(this));
    },
    hideDisconnectedOverlay$0: function() {
      var t1 = this.currentDisconnectedOverlay;
      if (t1 != null)
        t1.remove$0(0);
      this.currentDisconnectedOverlay = null;
    },
    _createDisconnectedOverlay$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      return this.currentDisconnectedOverlay = X.OverlayEntry$(new B._InitializerState__createDisconnectedOverlay_closure(this, K.Theme_of(t1)), false, false);
    },
    build$1: function(_, context) {
      var t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
      if (t1.service != null && t1.connectedApp != null)
        t1 = this._widget.builder$1(context);
      else
        t1 = M.Scaffold$(null, this.currentDisconnectedOverlay != null ? C.SizedBox_null_null_null_null : C.CenteredCircularProgressIndicator_null, null);
      return t1;
    }
  };
  B._InitializerState_initState_closure.prototype = {
    call$0: function() {
      var connectionState = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectedState._value;
      if (!connectionState.connected && !connectionState.userInitiatedConnectionState)
        this.$this._attemptUrlConnection$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  B._InitializerState_initState_closure0.prototype = {
    call$1: function(_) {
      return this.$this.setState$1(new B._InitializerState_initState__closure());
    },
    $signature: 149
  };
  B._InitializerState_initState__closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  B._InitializerState__attemptUrlConnection_closure.prototype = {
    call$2: function(message, error) {
      var t1 = this.$this._framework$_element;
      t1.toString;
      return Y.Notifications_of(t1).push$1(message + ", " + H.S(error));
    },
    $signature: 447
  };
  B._InitializerState__handleNoConnection_closure.prototype = {
    call$1: function(_) {
      var t2, result,
        t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
      if (!(t1.service != null && t1.connectedApp != null)) {
        t1 = this.$this;
        t2 = t1._framework$_element;
        t2.toString;
        t1 = T.ModalRoute_of(t2, type$.legacy_Object).get$isCurrent() && t1.currentDisconnectedOverlay == null;
      } else
        t1 = false;
      if (t1) {
        t1 = this.$this;
        result = t1._framework$_element.findAncestorStateOfType$1$0(type$.OverlayState);
        result.insert$1(0, t1._createDisconnectedOverlay$0());
        t1.addAutoDisposeListener$2($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectedState, new B._InitializerState__handleNoConnection__closure(t1));
      }
    },
    $signature: 51
  };
  B._InitializerState__handleNoConnection__closure.prototype = {
    call$0: function() {
      if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectedState._value.connected)
        this.$this.hideDisconnectedOverlay$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  B._InitializerState__createDisconnectedOverlay_closure.prototype = {
    call$1: function(context) {
      var _null = null,
        t1 = this.theme.textTheme,
        t2 = H._setArrayType([C.Spacer_null, L.Text$("Disconnected", _null, _null, _null, _null, _null, t1.headline3, _null, _null, _null), C.SizedBox_null_16_null_null], type$.JSArray_legacy_Widget),
        t3 = this.$this;
      if (t3._widget.allowConnectionScreenOnDisconnect)
        t2.push(D.ElevatedButton$(C.Text_Exl, new B._InitializerState__createDisconnectedOverlay__closure(t3, context), _null));
      else
        t2.push(L.Text$("Run a new debug session to reconnect", _null, _null, _null, _null, _null, t1.bodyText2, _null, _null, _null));
      t2.push(C.Spacer_null);
      t2.push(D.ElevatedButton$(C.Text_yzJ, t3.get$hideDisconnectedOverlay(), _null));
      t2.push(C.SizedBox_null_16_null_null);
      return M.Container$(_null, T.Center$(T.Column$(t2, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null, _null, _null), C.Clip_0, C.Color_2139127936, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    $signature: 437
  };
  B._InitializerState__createDisconnectedOverlay__closure.prototype = {
    call$0: function() {
      this.$this.hideDisconnectedOverlay$0();
      var t1 = type$.legacy_String;
      Z.Router_of(this.context, type$.legacy_Object).routerDelegate.navigate$2(0, "", P.LinkedHashMap_LinkedHashMap$_literal(["uri", null], t1, t1));
    },
    $signature: 1
  };
  B.__InitializerState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  B.__InitializerState_State_SingleTickerProviderStateMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$__InitializerState_State_SingleTickerProviderStateMixin$dispose(0);
    }
  };
  Y.DiagnosticsNodeDescription.prototype = {
    _buildDescriptionTextSpans$3: function(description, textStyle, colorScheme) {
      return this._buildDescriptionTextSpans$body$DiagnosticsNodeDescription(description, textStyle, colorScheme);
    },
    _buildDescriptionTextSpans$body$DiagnosticsNodeDescription: function($async$description, $async$textStyle, $async$colorScheme) {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var description = $async$description,
          textStyle = $async$textStyle,
          colorScheme = $async$colorScheme;
        var $async$goto = 0, $async$handler = 2, $async$currentError, match, t2, t1;
        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
                t1 = $async$self.diagnostic;
                $async$goto = t1.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 Q.TextSpan$(null, null, null, textStyle, t1[1]);
              case 8:
                // after yield
                t1 = t1[2];
                $async$goto = t1.length !== 0 ? 9 : 10;
                break;
              case 9:
                // then
                if (colorScheme.brightness === C.Brightness_1) {
                  t2 = C.Map_HFpTk.$index(0, 500);
                  t2.toString;
                } else {
                  t2 = C.Map_HFpTk.$index(0, 600);
                  t2.toString;
                }
                $async$goto = 11;
                return Q.TextSpan$(null, null, null, A.TextStyle$(null, null, t2, 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 = H._asStringS(J.$index$asx(t1.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 Q.TextSpan$(null, null, null, textStyle, t1[1]);
              case 16:
                // after yield
                $async$goto = 17;
                return Q.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 == null ? null : description.length !== 0) === true ? 18 : 19;
                break;
              case 18:
                // then
                $async$goto = 20;
                return Q.TextSpan$(null, null, null, textStyle, description);
              case 20:
                // after yield
              case 19:
                // join
              case 1:
                // return
                return P._IterationMarker_endOfIteration();
              case 2:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.legacy_TextSpan);
    },
    buildDescription$4$isProperty: function(description, textStyle, colorScheme, isProperty) {
      var _null = null,
        t1 = this._buildDescriptionTextSpans$3(description, textStyle, colorScheme);
      t1.toString;
      return T.RichText$(_null, _null, C.TextOverflow_2, true, _null, Q.TextSpan$(P.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E")), _null, _null, _null, _null), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0);
    },
    build$1: function(_, context) {
      var colorScheme, icon, t2, children, t3, t4, $name, t5, textStyle, propertyType, description, alpha, red, green, blue, color, codePoint, t6, t7, diagnosticDescription, _this = this, _null = null,
        _s8_ = "showName",
        _s13_ = "showSeparator",
        _s21_ = "createdByLocalProject",
        _s11_ = "description",
        t1 = _this.diagnostic;
      if (t1 == null)
        return C.SizedBox_null_null_null_null;
      colorScheme = K.Theme_of(context).colorScheme;
      icon = t1.get$icon(t1);
      t2 = type$.JSArray_legacy_Widget;
      children = H._setArrayType([], t2);
      if (icon != null)
        children.push(new T.Padding(C.EdgeInsets_0_0_5_0, icon, _null));
      t3 = t1.json;
      t4 = J.getInterceptor$asx(t3);
      $name = H._asStringS(t4.$index(t3, "name"));
      t5 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextStyle);
      if (t5 == null)
        t5 = C.DefaultTextStyle_kWM;
      textStyle = t5.style.merge$1(Z.textStyleForLevel(t1.getLevelMember$2("level", C.DiagnosticLevel_3), colorScheme));
      if (t1.isProperty) {
        propertyType = H._asStringS(t4.$index(t3, "propertyType"));
        t2 = t4.$index(t3, "valueProperties");
        if (($name == null ? _null : $name.length !== 0) === true && t1.getBooleanMember$2(_s8_, true)) {
          t5 = H.S($name);
          children.push(L.Text$(t5 + (t1.getBooleanMember$2(_s13_, true) ? ":" : "") + " ", _null, _null, _null, _null, _null, textStyle, _null, _null, _null));
        }
        if (t1.getBooleanMember$2(_s21_, false))
          textStyle = textStyle.merge$1(A.TextStyle$(_null, _null, colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4290493371, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.FontWeight_6, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null));
        description = H._asStringS(t4.$index(t3, _s11_));
        if (propertyType != null && t2 != null)
          switch (propertyType) {
            case "Color":
              alpha = B.JsonUtils_getIntMember(t2, "alpha");
              red = B.JsonUtils_getIntMember(t2, "red");
              green = B.JsonUtils_getIntMember(t2, "green");
              blue = B.JsonUtils_getIntMember(t2, "blue");
              t2 = new Y.DiagnosticsNodeDescription_build_radix();
              description = alpha === 255 ? "#" + H.S(t2.call$1(red)) + H.S(t2.call$1(green)) + H.S(t2.call$1(blue)) : "#" + H.S(t2.call$1(alpha)) + H.S(t2.call$1(red)) + H.S(t2.call$1(green)) + H.S(t2.call$1(blue));
              color = P.Color$fromARGB(alpha, red, green, blue);
              children.push(new T.Padding(C.EdgeInsets_0_0_5_0, $.$get$_colorIconMaker().getCustomIcon$1(color), _null));
              break;
            case "IconData":
              codePoint = B.JsonUtils_getIntMember(t2, "codePoint");
              if (codePoint > 0) {
                t2 = colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4290493371;
                children.push(new T.Padding(C.EdgeInsets_0_0_5_0, L.Icon$(new X.IconData(codePoint, _null, false), t2, _null), _null));
              }
              break;
          }
        children.push(new T.Flexible(1, C.FlexFit_1, _this.buildDescription$4$isProperty(description, textStyle, colorScheme, true), _null));
        if (t1.getLevelMember$2("level", C.DiagnosticLevel_3) === C.DiagnosticLevel_1 && t4.containsKey$1(t3, "defaultValue")) {
          children.push(C.Text_xXk);
          children.push(new T.Padding(C.EdgeInsets_0_0_5_0, $.$get$defaultIcon(), _null));
        }
      } else {
        if (($name == null ? _null : $name.length !== 0) === true && t1.getBooleanMember$2(_s8_, true) && $name !== "child") {
          if (J.startsWith$1$s($name, "child ")) {
            if (colorScheme.brightness === C.Brightness_1) {
              t5 = C.Map_HFpTk.$index(0, 500);
              t5.toString;
            } else {
              t5 = C.Map_HFpTk.$index(0, 600);
              t5.toString;
            }
            children.push(L.Text$($name, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t5, _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));
          } else
            children.push(L.Text$($name, _null, _null, _null, _null, _null, textStyle, _null, _null, _null));
          if (t1.getBooleanMember$2(_s13_, true)) {
            t5 = t1.getBooleanMember$2(_s13_, true) ? ":" : "";
            t6 = colorScheme.brightness === C.Brightness_1;
            if (t6) {
              t7 = C.Map_HFpTk.$index(0, 500);
              t7.toString;
            } else {
              t7 = C.Map_HFpTk.$index(0, 600);
              t7.toString;
            }
            children.push(L.Text$(t5, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _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));
            if ((t1.getBooleanMember$2(_s13_, true) ? ":" : "") !== " " && H._asStringS(t4.$index(t3, _s11_)).length !== 0) {
              if (t6) {
                t5 = C.Map_HFpTk.$index(0, 500);
                t5.toString;
              } else {
                t5 = C.Map_HFpTk.$index(0, 600);
                t5.toString;
              }
              children.push(L.Text$(" ", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t5, _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));
            }
          }
        }
        if (!t1.getBooleanMember$2("summaryTree", false) && t1.getBooleanMember$2(_s21_, false))
          textStyle = textStyle.merge$1(A.TextStyle$(_null, _null, colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4290493371, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.FontWeight_6, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null));
        diagnosticDescription = _this.buildDescription$4$isProperty(H._asStringS(t4.$index(t3, _s11_)), textStyle, colorScheme, false);
        t1 = _this.errorText;
        if (t1 != null) {
          if (_this.isSelected)
            t3 = C.TextStyle_zIQ2;
          else {
            if (colorScheme.brightness === C.Brightness_1) {
              t3 = C.Map_JNc9P.$index(0, 500);
              t3.toString;
            } else {
              t3 = C.Map_JNc9P.$index(0, 400);
              t3.toString;
            }
            t3 = A.TextStyle$(_null, _null, t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
          }
          diagnosticDescription = T.Row$(H._setArrayType([diagnosticDescription, new T.Flexible(1, C.FlexFit_1, T.RichText$(_null, _null, C.TextOverflow_2, true, _null, Q.TextSpan$(_null, _null, _null, t3, t1), C.TextAlign_1, _null, _null, 1, C.TextWidthBasis_0), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null);
        }
        children.push(T.Expanded$(diagnosticDescription, 1));
      }
      return T.Row$(children, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null);
    }
  };
  Y.DiagnosticsNodeDescription_build_radix.prototype = {
    call$1: function(chan) {
      return C.JSString_methods.padLeft$2(C.JSInt_methods.toRadixString$1(chan, 16), 2, "0");
    },
    $signature: 212
  };
  M.RemoteDiagnosticsNode.prototype = {
    get$renderObject: function() {
      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;
      return _this._diagnostics_node$_renderObject = new M.RemoteDiagnosticsNode(null, _this.inspectorService, data, false);
    },
    get$parentRenderElement: function() {
      var data = J.$index$asx(this.json, "parentRenderElement");
      if (data == null)
        return null;
      return this._parentRenderElement = new M.RemoteDiagnosticsNode(null, this.inspectorService, data, false);
    },
    get$constraints: function() {
      return M.RemoteDiagnosticsNode_deserializeConstraints(J.$index$asx(this.json, "constraints"));
    },
    $eq: function(_, other) {
      var _s8_ = "objectId";
      if (other == null)
        return false;
      if (!(other instanceof M.RemoteDiagnosticsNode))
        return false;
      return new E.InspectorInstanceRef(J.$index$asx(this.json, _s8_)).$eq(0, new E.InspectorInstanceRef(J.$index$asx(other.json, _s8_)));
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(J.$index$asx(this.json, "objectId"));
    },
    get$name: function(_) {
      return H._asStringS(J.$index$asx(this.json, "name"));
    },
    get$level: function(_) {
      return this.getLevelMember$2("level", C.DiagnosticLevel_3);
    },
    get$style: function(_) {
      var t1 = this._diagnostics_node$_style;
      return t1 == null ? this._diagnostics_node$_style = this.getStyleMember$2("style", C.DiagnosticsTreeStyle_1) : t1;
    },
    get$values: function(_) {
      var rawValues = J.$index$asx(this.json, "values");
      if (rawValues == null)
        return null;
      return P.List_List$from(rawValues, true, type$.legacy_String);
    },
    get$creationLocation: function() {
      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;
      return this._creationLocation = new M.InspectorSourceLocation(J.$index$asx(t1, _s16_), null);
    },
    getBooleanMember$2: function(memberName, defaultValue) {
      var t1 = this.json,
        t2 = J.getInterceptor$asx(t1);
      if (t2.$index(t1, memberName) == null)
        return defaultValue;
      return t2.$index(t1, memberName);
    },
    getLevelMember$2: function(memberName, defaultValue) {
      var level,
        value = J.$index$asx(this.json, memberName);
      if (value == null)
        return defaultValue;
      level = $.$get$diagnosticLevelUtils()._lookupTable.$index(0, value);
      return level == null ? defaultValue : level;
    },
    getStyleMember$2: function(memberName, defaultValue) {
      var value, style,
        t1 = this.json,
        t2 = J.getInterceptor$x(t1);
      if (!t2.containsKey$1(t1, memberName))
        return defaultValue;
      value = t2.$index(t1, memberName);
      if (value == null)
        return defaultValue;
      style = $.$get$treeStyleUtils()._lookupTable.$index(0, value);
      return style == null ? defaultValue : style;
    },
    get$hasChildren: function() {
      var children = J.$index$asx(this.json, "children");
      if (children != null)
        return J.get$isNotEmpty$asx(children);
      return this.getBooleanMember$2("hasChildren", false);
    },
    get$childrenReady: function() {
      return J.containsKey$1$x(this.json, "children") || this._diagnostics_node$_children != null || !this.get$hasChildren();
    },
    get$children: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, t1;
      var $async$get$children = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._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 P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$children, $async$completer);
    },
    _computeChildren$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, t1;
      var $async$_computeChildren$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $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 P._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 P._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 = H._setArrayType([], type$.JSArray_legacy_RemoteDiagnosticsNode);
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 8:
              // after finally
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_computeChildren$0, $async$completer);
    },
    _getChildrenHelper$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$_getChildrenHelper$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.inspectorService, $async$_getChildrenHelper$0);
            case 3:
              // returning from await.
              t1 = $async$result;
              if (t1 == null)
                t1 = null;
              else {
                t2 = J.$index$asx($async$self.json, "objectId");
                t3 = $async$self.getBooleanMember$2("summaryTree", false) ? "getChildrenSummaryTree" : "getChildrenDetailsSubtree";
                t3 = t1.getListHelper$3(new E.InspectorInstanceRef(t2), t3, $async$self);
                t1 = t3;
              }
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_getChildrenHelper$0, $async$completer);
    },
    _maybePopulateChildren$0: function() {
      var jsonArray, nodes, t1, t2, t3, child, _this = this;
      if (!_this.get$hasChildren() || _this._diagnostics_node$_children != null)
        return;
      jsonArray = J.$index$asx(_this.json, "children");
      if ((jsonArray == null ? null : J.get$isNotEmpty$asx(jsonArray)) === true) {
        nodes = H._setArrayType([], type$.JSArray_legacy_RemoteDiagnosticsNode);
        for (t1 = J.get$iterator$ax(jsonArray), t2 = _this.inspectorService; t1.moveNext$0();) {
          t3 = t1.get$current(t1);
          child = new M.RemoteDiagnosticsNode(_this.parent, t2, t3, false);
          child.parent = _this;
          nodes.push(child);
        }
        _this._diagnostics_node$_children = nodes;
      }
    },
    get$inlineProperties: function() {
      var t1, t2, t3, _this = this,
        _s10_ = "properties";
      if (_this.cachedProperties == null) {
        _this.cachedProperties = H._setArrayType([], type$.JSArray_legacy_RemoteDiagnosticsNode);
        t1 = _this.json;
        t2 = J.getInterceptor$x(t1);
        if (t2.containsKey$1(t1, _s10_))
          for (t1 = J.get$iterator$ax(t2.$index(t1, _s10_)), t2 = _this.inspectorService; t1.moveNext$0();) {
            t3 = t1.get$current(t1);
            _this.cachedProperties.push(new M.RemoteDiagnosticsNode(_this.parent, t2, t3, true));
          }
      }
      return _this.cachedProperties;
    },
    get$icon: function(_) {
      if (this.isProperty)
        return null;
      return $.$get$RemoteDiagnosticsNode_iconMaker().fromWidgetName$1(H._asStringS(J.$index$asx(this.json, "widgetRuntimeType")));
    },
    debugDescribeChildren$0: function() {
      var children, regularChildren, t1, t2, t3;
      this._maybePopulateChildren$0();
      children = this._diagnostics_node$_children;
      if (children == null || J.get$isEmpty$asx(children))
        return C.List_empty0;
      regularChildren = H._setArrayType([], type$.JSArray_legacy_DiagnosticsNode);
      for (t1 = J.get$iterator$ax(children); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t3 = H._asStringS(J.$index$asx(t2.json, "name"));
        regularChildren.push(t2.super$DiagnosticableTree$toDiagnosticsNode(t3, C.DiagnosticsTreeStyle_1));
      }
      return regularChildren;
    },
    toDiagnosticsNode$2$name$style: function($name, style) {
      var t1 = H._asStringS(J.$index$asx(this.json, "name"));
      return this.super$DiagnosticableTree$toDiagnosticsNode(t1, style == null ? C.DiagnosticsTreeStyle_1 : style);
    },
    toDiagnosticsNode$0: function() {
      return this.toDiagnosticsNode$2$name$style(null, null);
    },
    toStringShort$0: function() {
      return H._asStringS(J.$index$asx(this.json, "description"));
    },
    setSelectionInspector$1: function(uiAlreadyUpdated) {
      return this.setSelectionInspector$body$RemoteDiagnosticsNode(true);
    },
    setSelectionInspector$body$RemoteDiagnosticsNode: function(uiAlreadyUpdated) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$setSelectionInspector$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.inspectorService, $async$setSelectionInspector$1);
            case 2:
              // returning from await.
              t1 = $async$result;
              $async$goto = 3;
              return P._asyncAwait(t1 == null ? null : t1.setSelectionInspector$2(new E.InspectorInstanceRef(J.$index$asx($async$self.json, "valueId")), true), $async$setSelectionInspector$1);
            case 3:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setSelectionInspector$1, $async$completer);
    },
    get$parent: function(receiver) {
      return this.parent;
    },
    set$parent: function(receiver, val) {
      return this.parent = val;
    }
  };
  M.InspectorSourceLocation.prototype = {
    get$parent: function(receiver) {
      return this.parent;
    }
  };
  Z.InspectorSettingsController.prototype = {};
  Z.InspectorController.prototype = {
    InspectorController$8$detailsTree$inspectorService$inspectorTree$isSummaryTree$onExpandCollapseSupported$onLayoutExplorerSupported$parent$treeType: function(detailsTree, inspectorService, inspectorTree, isSummaryTree, onExpandCollapseSupported, onLayoutExplorerSupported, $parent, treeType) {
      var _this = this;
      _this._refreshRateLimiter = new B.RateLimiter(_this.get$refresh(_this), 200);
      _this.inspectorTree.InspectorTreeController__config = new K.InspectorTreeConfig(_this.get$_onNodeAdded(), _this.get$selectionChanged(), _this.get$_onClientChange(), _this.get$_onExpand());
      if (_this.isSummaryTree)
        _this.details = Z.InspectorController$(null, _this.inspectorService, detailsTree, false, null, null, _this, _this.treeType);
      else
        _this.details = null;
      _this.flutterIsolateSubscription = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager.getSelectedIsolate$1(new Z.InspectorController_closure(_this));
      _this._checkForExpandCollapseSupport$0();
      _this._checkForLayoutExplorerSupport$0();
      if (_this.parent == null)
        _this.AutoDisposeControllerMixin__delegate.addAutoDisposeListener$2($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager._hasServiceExtension$1($.$get$toggleSelectWidgetMode().extension), new Z.InspectorController_closure0(_this));
    },
    _onClientChange$1: function(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: function() {
      var t1 = this._selectedNode._value;
      return t1 == null ? null : t1._diagnostic;
    },
    setVisibleToUser$1: function(visible) {
      var t1, _this = this;
      if (_this.visibleToUser === visible)
        return;
      _this.visibleToUser = visible;
      t1 = _this.details;
      if (t1 != null)
        t1.setVisibleToUser$1(visible);
      if (_this.visibleToUser) {
        if (_this.parent == null)
          _this.maybeLoadUI$0();
      } else
        _this.shutdownTree$1(false);
    },
    highlightShowNode$1: function(node) {
      var t1 = this.parent;
      if (t1 != null)
        node = this.findMatchingInspectorTreeNode$1(t1.get$selectedDiagnostic());
      this.inspectorTree.set$hover(node);
      return true;
    },
    findMatchingInspectorTreeNode$1: function(node) {
      if ((node == null ? null : new E.InspectorInstanceRef(J.$index$asx(node.json, "valueId"))) == null)
        return null;
      return this.valueToInspectorTreeNode.$index(0, new E.InspectorInstanceRef(J.$index$asx(node.json, "valueId")));
    },
    getPendingUpdateDone$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$getPendingUpdateDone$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._inspector_controller$_selectionGroups;
              $async$goto = 2;
              return P._asyncAwait(t1 == null ? null : t1.get$pendingUpdateDone(), $async$getPendingUpdateDone$0);
            case 2:
              // returning from await.
              t1 = $async$self._treeGroups;
              $async$goto = 3;
              return P._asyncAwait(t1 == null ? null : t1.get$pendingUpdateDone(), $async$getPendingUpdateDone$0);
            case 3:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$getPendingUpdateDone$0, $async$completer);
    },
    refresh$0: function(_) {
      var _this = this;
      if (!_this.visibleToUser)
        return P.Future_Future$value(null, type$.void);
      if (_this.details != null)
        return P.Future_wait(H._setArrayType([_this.getPendingUpdateDone$0(), _this.details.getPendingUpdateDone$0()], type$.JSArray_legacy_Future_void), type$.void);
      else
        return _this.getPendingUpdateDone$0();
    },
    shutdownTree$1: function(isolateStopped) {
      var t1, t2, _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;
      t2 = H._setArrayType([], type$.JSArray_legacy_InspectorTreeNode);
      t1.set$root(0, new K.InspectorTreeNode(t2));
      t1 = _this.details;
      if (t1 != null)
        t1.shutdownTree$1(isolateStopped);
      _this.programaticSelectionChangeInProgress = false;
      _this.valueToInspectorTreeNode.clear$0(0);
    },
    onIsolateStopped$0: function() {
      this.treeLoadStarted = this.flutterAppFrameReady = false;
      this.shutdownTree$1(true);
    },
    onForceRefresh$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this;
      var $async$onForceRefresh$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (!$async$self.visibleToUser || $async$self._inspector_controller$_disposed) {
                $async$returnValue = P.Future_Future$value(null, type$.void);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait($async$self.recomputeTreeRoot$3(null, null, false), $async$onForceRefresh$0);
            case 3:
              // returning from await.
              $async$self.filterErrors$0();
              $async$returnValue = $async$self.getPendingUpdateDone$0();
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$onForceRefresh$0, $async$completer);
    },
    filterErrors$0: function() {
      if (this.isSummaryTree)
        $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.filterErrors$2("inspector", new Z.InspectorController_filterErrors_closure(this));
    },
    setActivate$1: function(enabled) {
      var _this = this;
      if (!enabled) {
        _this.onIsolateStopped$0();
        _this.isActive = false;
        return;
      }
      if (_this.isActive)
        return;
      _this.isActive = true;
      _this.inspectorService.clients.add$1(0, _this);
      _this.maybeLoadUI$0();
    },
    maybeLoadUI$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, queryParams;
      var $async$maybeLoadUI$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self.parent != null) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (!$async$self.visibleToUser || !$async$self.isActive) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.inspectorService;
              $async$goto = $async$self.flutterAppFrameReady ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return P._asyncAwait(t1.inferPubRootDirectoryIfNeeded$0(), $async$maybeLoadUI$0);
            case 6:
              // returning from await.
              queryParams = B.devToolsQueryParams(J.toString$0$(window.location));
              t1 = J.getInterceptor$x(queryParams);
              $async$goto = 7;
              return P._asyncAwait($async$self.updateSelectionFromService$2$firstFrame$inspectorRef(true, t1.containsKey$1(queryParams, "inspectorRef") ? t1.$index(queryParams, "inspectorRef") : null), $async$maybeLoadUI$0);
            case 7:
              // returning from await.
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = 8;
              return P._asyncAwait(t1.invokeBoolServiceMethodNoArgs$1("isWidgetTreeReady"), $async$maybeLoadUI$0);
            case 8:
              // returning from await.
              t1 = $async$self.flutterAppFrameReady = $async$result;
              $async$goto = $async$self.isActive && t1 ? 9 : 10;
              break;
            case 9:
              // then
              $async$goto = 11;
              return P._asyncAwait($async$self.maybeLoadUI$0(), $async$maybeLoadUI$0);
            case 11:
              // returning from await.
            case 10:
              // join
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$maybeLoadUI$0, $async$completer);
    },
    recomputeTreeRoot$4$subtreeDepth: function(newSelection, detailsSelection, setSubtreeRoot, subtreeDepth) {
      return this.recomputeTreeRoot$body$InspectorController(newSelection, detailsSelection, setSubtreeRoot, subtreeDepth);
    },
    recomputeTreeRoot$3: function(newSelection, detailsSelection, setSubtreeRoot) {
      return this.recomputeTreeRoot$4$subtreeDepth(newSelection, detailsSelection, setSubtreeRoot, 2);
    },
    recomputeTreeRoot$body$InspectorController: function(newSelection, detailsSelection, setSubtreeRoot, subtreeDepth) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, group, node, rootNode, error, t1, t2, exception, $async$exception;
      var $async$recomputeTreeRoot$4$subtreeDepth = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._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) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._treeGroups.promoteNext$0();
              $async$self.valueToInspectorTreeNode.clear$0(0);
              t1 = type$.JSArray_legacy_InspectorTreeNode;
              t2 = $async$self.inspectorTree;
              if (node != null) {
                t2.toString;
                rootNode = t2.setupInspectorTreeNode$4$expandChildren$expandProperties(new K.InspectorTreeNode(H._setArrayType([], t1)), node, true, false);
                t2.set$root(0, rootNode);
              } else {
                t2.toString;
                t2.set$root(0, new K.InspectorTreeNode(H._setArrayType([], t1)));
              }
              $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 = H.unwrapException($async$exception);
              B.log(J.toString$0$(error), C.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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$recomputeTreeRoot$4$subtreeDepth, $async$completer);
    },
    setSubtreeRoot$2: function(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: function() {
      var t1 = this.subtreeRoot;
      if (t1 == null)
        return null;
      return this.valueToInspectorTreeNode.$index(0, new E.InspectorInstanceRef(J.$index$asx(t1.json, "valueId")));
    },
    refreshSelection$3: function(newSelection, detailsSelection, setSubtreeRoot) {
      var _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);
      if (_this.details != null)
        if (_this.subtreeRoot != null && _this.getSubtreeRootNode$0() == null) {
          _this.subtreeRoot = newSelection;
          _this.details.setSubtreeRoot$2(newSelection, detailsSelection);
        }
      _this.syncTreeSelection$0();
    },
    syncTreeSelection$0: function() {
      var t1, t2, _this = this;
      _this.programaticSelectionChangeInProgress = true;
      t1 = _this.inspectorTree;
      t2 = _this._selectedNode;
      t1.set$selection(t2._value);
      t1.expandPath$1(t2._value);
      _this.programaticSelectionChangeInProgress = false;
      _this.animateTo$1(t2._value);
    },
    selectAndShowNode$1: function(node) {
      if (node == null)
        return;
      this.selectAndShowInspectorInstanceRef$1(new E.InspectorInstanceRef(J.$index$asx(node.json, "valueId")));
    },
    selectAndShowInspectorInstanceRef$1: function(ref) {
      var node = this.valueToInspectorTreeNode.$index(0, ref);
      if (node == null)
        return;
      this.setSelectedNode$1(node);
      this.syncTreeSelection$0();
    },
    onFlutterFrame$0: function() {
      var _this = this;
      _this.flutterAppFrameReady = true;
      if (!_this.visibleToUser)
        return;
      if (!_this.treeLoadStarted) {
        _this.treeLoadStarted = true;
        _this.maybeLoadUI$0();
      }
      _this._refreshRateLimiter.scheduleRequest$0();
    },
    onInspectorSelectionChanged$0: function() {
      if (!this.visibleToUser)
        return;
      if (this.parent != null)
        return;
      this.updateSelectionFromService$1$firstFrame(false);
    },
    updateSelectionFromService$2$firstFrame$inspectorRef: function(firstFrame, inspectorRef) {
      return this.updateSelectionFromService$body$InspectorController(firstFrame, inspectorRef);
    },
    updateSelectionFromService$1$firstFrame: function(firstFrame) {
      return this.updateSelectionFromService$2$firstFrame$inspectorRef(firstFrame, null);
    },
    updateSelectionFromService$body$InspectorController: function(firstFrame, inspectorRef) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, group, pendingSelectionFuture, pendingDetailsFuture, newSelection, detailsSelection, error, t1, t2, exception, $async$exception;
      var $async$updateSelectionFromService$2$firstFrame$inspectorRef = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncAwait(group.setSelectionInspector$2(new E.InspectorInstanceRef(inspectorRef), false), $async$updateSelectionFromService$2$firstFrame$inspectorRef);
            case 5:
              // returning from await.
            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 P._asyncAwait(pendingSelectionFuture, $async$updateSelectionFromService$2$firstFrame$inspectorRef);
            case 10:
              // returning from await.
              newSelection = $async$result;
              if (group.disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              detailsSelection = null;
              $async$goto = pendingDetailsFuture != null ? 11 : 12;
              break;
            case 11:
              // then
              $async$goto = 13;
              return P._asyncAwait(pendingDetailsFuture, $async$updateSelectionFromService$2$firstFrame$inspectorRef);
            case 13:
              // returning from await.
              detailsSelection = $async$result;
              if (group.disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
            case 12:
              // join
              if (!firstFrame) {
                t1 = detailsSelection;
                t1 = t1 == null ? null : new E.InspectorInstanceRef(J.$index$asx(t1.json, "valueId"));
                t2 = $async$self.details;
                t2 = t2 == null ? null : t2.get$selectedDiagnostic();
                if (J.$eq$(t1, t2 == null ? null : new E.InspectorInstanceRef(J.$index$asx(t2.json, "valueId")))) {
                  t1 = newSelection;
                  t1 = t1 == null ? null : new E.InspectorInstanceRef(J.$index$asx(t1.json, "valueId"));
                  t2 = $async$self.get$selectedDiagnostic();
                  t1 = J.$eq$(t1, t2 == null ? null : new E.InspectorInstanceRef(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 = H.unwrapException($async$exception);
              t1 = $async$self._inspector_controller$_selectionGroups;
              t1 = t1.get$next(t1);
              t2 = group;
              if (t1 == null ? t2 == null : t1 === t2) {
                B.log(J.toString$0$(error), C.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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$updateSelectionFromService$2$firstFrame$inspectorRef, $async$completer);
    },
    applyNewSelection$3: function(newSelection, detailsSelection, setSubtreeRoot) {
      if (this.findMatchingInspectorTreeNode$1(newSelection) == null)
        this.recomputeTreeRoot$3(newSelection, detailsSelection, setSubtreeRoot);
      this.refreshSelection$3(newSelection, detailsSelection, setSubtreeRoot);
    },
    animateTo$1: function(node) {
      var targets, node0, t1, t2, _i, child, diagnosticsNode;
      if (node == null)
        return;
      targets = H._setArrayType([node], type$.JSArray_legacy_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, H.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: function(newSelection) {
      var inspectorRef, errors, errorIndex, _this = this, _null = null,
        _s9_ = "inspector",
        t1 = _this._selectedNode,
        t2 = t1._value;
      if (newSelection == null ? t2 == null : newSelection === t2)
        return;
      t1.set$value(0, newSelection);
      _this.highlightShowNode$1(_null);
      t2 = _this.details;
      if (t2 != null)
        t2.highlightShowNode$1(_null);
      else {
        t2 = _this.parent;
        if (t2 != null)
          t2.highlightShowNode$1(_null);
      }
      t2 = t1._value;
      t2 = t2 == null ? _null : t2._diagnostic;
      t2 = t2 == null ? _null : new E.InspectorInstanceRef(J.$index$asx(t2.json, "valueId"));
      inspectorRef = t2 == null ? _null : t2.id;
      t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.erroredItemsForPage$1(_s9_);
      errors = t2.get$value(t2);
      if (inspectorRef != null) {
        t2 = errors.get$keys(errors);
        errorIndex = C.JSArray_methods.indexOf$1(P.List_List$of(t2, true, H._instanceType(t2)._eval$1("Iterable.E")), inspectorRef);
      } else
        errorIndex = _null;
      if (errorIndex === -1)
        errorIndex = _null;
      _this._selectedErrorIndex.set$value(0, errorIndex);
      if (errorIndex != null) {
        $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.markErrorAsRead$2(_s9_, errors.$index(0, inspectorRef));
        $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1(_s9_);
      }
      _this.animateTo$1(t1._value);
    },
    selectErrorByIndex$1: function(index) {
      var t1, errors;
      this._selectedErrorIndex.set$value(0, index);
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.erroredItemsForPage$1("inspector");
      errors = t1.get$value(t1);
      this.updateSelectionFromService$2$firstFrame$inspectorRef(false, errors.get$keys(errors).elementAt$1(0, index));
    },
    _onExpand$1: function(node) {
      this.inspectorTree.maybePopulateChildren$1(node);
    },
    selectionChanged$0: function() {
      var t1, node, t2, t3, maybeReroot, _this = this;
      if (!_this.visibleToUser)
        return;
      t1 = _this.inspectorTree;
      node = t1.InspectorTreeController__selection;
      t2 = node != null;
      if (t2)
        t1.maybePopulateChildren$1(node);
      if (_this.programaticSelectionChangeInProgress)
        return;
      if (t2) {
        _this.setSelectedNode$1(node);
        t1 = _this.isSummaryTree;
        if (t1)
          if (_this.details != null) {
            if (_this.get$selectedDiagnostic() != null) {
              t2 = _this.details;
              t3 = J.$index$asx(_this.get$selectedDiagnostic().json, "valueId");
              t3 = !t2.valueToInspectorTreeNode.containsKey$1(0, new E.InspectorInstanceRef(t3));
              t2 = t3;
            } 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)
          if (t1 && _this.details != null)
            _this.details.selectAndShowNode$1(_this.get$selectedDiagnostic());
          else {
            t1 = _this.parent;
            if (t1 != null)
              t1.selectAndShowNode$1(_this.firstAncestorInParentTree$1(_this._selectedNode._value));
          }
      }
    },
    firstAncestorInParentTree$1: function(node) {
      var diagnostic, t1, t2;
      if (this.parent == null)
        return node._diagnostic;
      for (; node != null;) {
        diagnostic = node._diagnostic;
        if (diagnostic != null) {
          t1 = this.parent;
          t2 = J.$index$asx(diagnostic.json, "valueId");
          t2 = t1.valueToInspectorTreeNode.containsKey$1(0, new E.InspectorInstanceRef(t2));
          t1 = t2;
        } else
          t1 = false;
        if (t1) {
          t1 = this.parent;
          t2 = J.$index$asx(diagnostic.json, "valueId");
          t2 = t1.valueToInspectorTreeNode.$index(0, new E.InspectorInstanceRef(t2));
          return t2 == null ? null : t2._diagnostic;
        }
        node = node._inspector_tree$_parent;
      }
      return null;
    },
    syncSelectionHelper$3$detailsSelection$maybeRerootDetailsTree$selection: function(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._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: function(_) {
      var t1, _this = this;
      _this._inspector_controller$_disposed = true;
      _this.flutterIsolateSubscription.cancel$0(0);
      if (_this.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(0);
      _this.super$_InspectorController_DisposableController_AutoDisposeControllerMixin$dispose(0);
    },
    _onNodeAdded$2: function(node, diagnosticsNode) {
      var t1 = J.$index$asx(diagnosticsNode.json, "valueId");
      if (t1 != null && !diagnosticsNode.isProperty)
        this.valueToInspectorTreeNode.$indexSet(0, new E.InspectorInstanceRef(t1), node);
    },
    expandAllNodesInDetailsTree$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t3, t4, t1, t2;
      var $async$expandAllNodesInDetailsTree$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.details;
              t2 = $async$self.inspectorTree.InspectorTreeController__selection;
              t2 = t2 == null ? null : t2._diagnostic;
              t3 = t1.inspectorTree;
              t4 = t3.InspectorTreeController__selection;
              t4 = t4 == null ? null : t4._diagnostic;
              if (t4 == null) {
                t3 = t3.InspectorTreeController__root;
                t3 = t3 == null ? null : t3._diagnostic;
              } else
                t3 = t4;
              $async$goto = 2;
              return P._asyncAwait(t1.recomputeTreeRoot$4$subtreeDepth(t2, t3, false, $.$get$maxJsInt()), $async$expandAllNodesInDetailsTree$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$expandAllNodesInDetailsTree$0, $async$completer);
    },
    collapseDetailsToSelected$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$collapseDetailsToSelected$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.details.inspectorTree.collapseToSelected$0();
              t1 = $async$self.details;
              t1.animateTo$1(t1.inspectorTree.InspectorTreeController__selection);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$collapseDetailsToSelected$0, $async$completer);
    },
    _onVersionSupported$2: function(version, callback) {
      var flutterVersionServiceListenable = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).registeredServiceListenable$1("flutterVersion");
      this.AutoDisposeControllerMixin__delegate.addAutoDisposeListener$2(flutterVersionServiceListenable, new Z.InspectorController__onVersionSupported_closure(flutterVersionServiceListenable, version, callback));
    },
    _checkForExpandCollapseSupport$0: function() {
      var t1 = this.onExpandCollapseSupported;
      if (t1 == null)
        return;
      this._onVersionSupported$2(new T.SemanticVersion(1, 10, 1, null, null), t1);
    },
    _checkForLayoutExplorerSupport$0: function() {
      var t1 = this.onLayoutExplorerSupported;
      if (t1 == null)
        return;
      this._onVersionSupported$2(new T.SemanticVersion(1, 13, 1, null, null), t1);
    },
    $isInspectorServiceClient: 1,
    get$parent: function(receiver) {
      return this.parent;
    },
    set$parent: function(receiver, val) {
      return this.parent = val;
    }
  };
  Z.InspectorController_closure.prototype = {
    call$1: function(flutterIsolate) {
      var t1 = this.$this,
        t2 = t1._activeIsolate;
      if (t2 != null && !t2.$eq(0, flutterIsolate))
        t1.onIsolateStopped$0();
      t1._activeIsolate = flutterIsolate;
    },
    $signature: 65
  };
  Z.InspectorController_closure0.prototype = {
    call$0: function() {
      if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager._hasServiceExtension$1($.$get$toggleSelectWidgetMode().extension)._value)
        $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager.setServiceExtensionState$3($.$get$enableOnDeviceInspector().extension, true, true);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  Z.InspectorController_filterErrors_closure.prototype = {
    call$1: function(id) {
      return this.$this.valueToInspectorTreeNode.containsKey$1(0, new E.InspectorInstanceRef(id));
    },
    $signature: 14
  };
  Z.InspectorController__onVersionSupported_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, $async$temp1;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = $async$self.flutterVersionServiceListenable._value ? 2 : 3;
              break;
            case 2:
              // then
              $async$temp1 = T;
              $async$goto = 4;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).get$flutterVersion(), $async$call$0);
            case 4:
              // returning from await.
              if ($async$temp1.FlutterVersion_FlutterVersion$parse($async$result.json).compareTo$1(0, $async$self.version) >= 0)
                $async$self.callback.call$0();
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 8
  };
  Z._InspectorController_DisposableController_AutoDisposeControllerMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeControllerMixin__delegate.cancel$0(0);
      this.super$DisposableController$dispose(0);
    }
  };
  N.computeRenderSizes_transformToRenderSize.prototype = {
    call$1: function(largestRenderSize) {
      var t2, t3, t4, t5, t6, _i, _this = this,
        t1 = H._setArrayType([], type$.JSArray_legacy_double);
      for (t2 = _this.sizes, t3 = t2.length, t4 = _this.smallestSize, t5 = _this.smallestRenderSize, t6 = _this.largestSize, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
        t1.push((t2[_i] - t4) * (largestRenderSize - t5) / (t6 - t4) + t5);
      return t1;
    },
    $signature: 424
  };
  N.LayoutProperties.prototype = {
    LayoutProperties$2$copyLevel: function(node, copyLevel) {
      var _i,
        t1 = this.children,
        t2 = t1 == null ? null : t1.length !== 0;
      if (t2 === true)
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
          J.set$parent$x(t1[_i], this);
    },
    LayoutProperties$values$8$children$constraints$description$flexFactor$flexFit$isFlex$node$size: function(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, H.throwConcurrentModificationError)(t1), ++_i)
        J.set$parent$x(t1[_i], this);
    },
    get$displayChildren: function() {
      return this.children;
    },
    get$hasFlexFactor: function() {
      var t1 = this.flexFactor;
      return t1 != null && t1 > 0;
    },
    get$hasChildren: function() {
      var t1 = this.children;
      t1 = t1 == null ? null : t1.length !== 0;
      return t1 === true;
    },
    get$width: function(_) {
      var t1 = this.size;
      return t1 == null ? null : t1._dx;
    },
    dimension$1: function(axis) {
      var t1 = this.size;
      if (axis === C.Axis_0)
        t1 = t1 == null ? null : t1._dx;
      else
        t1 = t1 == null ? null : t1._dy;
      return t1;
    },
    childrenDimensions$1: function(axis) {
      var t1 = this.get$displayChildren();
      t1 = t1 == null ? null : new H.MappedListIterable(t1, new N.LayoutProperties_childrenDimensions_closure(axis), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,double*>"));
      return t1 == null ? null : P.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E"));
    },
    get$childrenWidths: function() {
      return this.childrenDimensions$1(C.Axis_0);
    },
    get$childrenHeights: function() {
      return this.childrenDimensions$1(C.Axis_1);
    },
    describeWidthConstraints$0: function() {
      var t2,
        t1 = this.constraints;
      if (t1 == null)
        return "";
      t2 = t1.maxWidth;
      return t2 < 1 / 0 ? N.LayoutProperties_describeAxis(t1.minWidth, t2, "w") : "width is unconstrained";
    },
    describeHeightConstraints$0: function() {
      var t2,
        t1 = this.constraints;
      if (t1 == null)
        return "";
      t2 = t1.maxHeight;
      return t2 < 1 / 0 ? N.LayoutProperties_describeAxis(t1.minHeight, t2, "h") : "height is unconstrained";
    },
    describeWidth$0: function() {
      return "w=" + J.toStringAsFixed$1$n(this.size._dx, 1);
    },
    describeHeight$0: function() {
      return "h=" + J.toStringAsFixed$1$n(this.size._dy, 1);
    },
    get$isOverflowWidth: function() {
      var parentWidth, parentData, widthUsed,
        t1 = this.parent;
      if (t1 == null)
        parentWidth = null;
      else {
        t1 = t1.size;
        parentWidth = t1 == null ? null : t1._dx;
      }
      if (parentWidth == null)
        return false;
      parentData = M.RemoteDiagnosticsNode_deserializeParentData(J.$index$asx(this.node.json, "parentData"));
      t1 = this.size;
      widthUsed = t1 == null ? null : t1._dx;
      if (parentData != null)
        widthUsed += parentData.offset._dx;
      return widthUsed > parentWidth + 0.1;
    },
    get$isOverflowHeight: function() {
      var parentHeight, parentData, heightUsed,
        t1 = this.parent;
      if (t1 == null)
        parentHeight = null;
      else {
        t1 = t1.size;
        parentHeight = t1 == null ? null : t1._dy;
      }
      if (parentHeight == null)
        return false;
      parentData = M.RemoteDiagnosticsNode_deserializeParentData(J.$index$asx(this.node.json, "parentData"));
      t1 = this.size;
      heightUsed = t1 == null ? null : t1._dy;
      if (parentData != null)
        heightUsed += parentData.offset._dy;
      return heightUsed > parentHeight + 0.1;
    },
    get$parent: function(receiver) {
      return this.parent;
    },
    get$node: function() {
      return this.node;
    },
    get$children: function(receiver) {
      return this.children;
    },
    get$constraints: function() {
      return this.constraints;
    },
    get$description: function(receiver) {
      return this.description;
    },
    get$flexFactor: function() {
      return this.flexFactor;
    },
    get$flexFit: function() {
      return this.flexFit;
    },
    get$isFlex: function() {
      return this.isFlex;
    },
    get$size: function(receiver) {
      return this.size;
    },
    set$parent: function(receiver, val) {
      return this.parent = val;
    }
  };
  N.LayoutProperties_closure.prototype = {
    call$1: function(child) {
      return N.LayoutProperties$(child, this.copyLevel - 1);
    },
    $signature: 421
  };
  N.LayoutProperties_childrenDimensions_closure.prototype = {
    call$1: function(child) {
      return child.dimension$1(this.axis);
    },
    $signature: 419
  };
  N.OverflowSide.prototype = {
    toString$0: function(_) {
      return this._inspector_data_models$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.FlexLayoutProperties.prototype = {
    copyWith$2$crossAxisAlignment$mainAxisAlignment: function(crossAxisAlignment, mainAxisAlignment) {
      var _this = this,
        t1 = mainAxisAlignment == null ? _this.mainAxisAlignment : mainAxisAlignment,
        t2 = crossAxisAlignment == null ? _this.crossAxisAlignment : crossAxisAlignment;
      return N.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: function(mainAxisAlignment) {
      return this.copyWith$2$crossAxisAlignment$mainAxisAlignment(null, mainAxisAlignment);
    },
    copyWith$1$crossAxisAlignment: function(crossAxisAlignment) {
      return this.copyWith$2$crossAxisAlignment$mainAxisAlignment(crossAxisAlignment, null);
    },
    get$displayChildren: function() {
      var t2, _this = this,
        t1 = _this._displayChildren;
      if (t1 != null)
        return t1;
      t1 = _this.children;
      if (!_this.get$startIsTopLeft()) {
        t1.toString;
        t2 = H._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
        t2 = P.List_List$of(new H.ReversedListIterable(t1, t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      return _this._displayChildren = t1;
    },
    get$isMainAxisHorizontal: function() {
      return this.direction === C.Axis_0;
    },
    get$isMainAxisVertical: function() {
      return this.direction === C.Axis_1;
    },
    get$horizontalDirectionDescription: function() {
      return this.direction === C.Axis_0 ? "Main Axis" : "Cross Axis";
    },
    get$verticalDirectionDescription: function() {
      return this.direction === C.Axis_1 ? "Main Axis" : "Cross Axis";
    },
    get$type: function(_) {
      return B.AxisExtension_get_flexType(this.direction);
    },
    get$totalFlex: function() {
      var t1 = this.children,
        t2 = t1 == null ? null : t1.length === 0;
      if (t2 !== false)
        return 0;
      t2 = this._totalFlex;
      if (t2 == null) {
        t1.toString;
        t1 = this._totalFlex = J.toInt$0$n(new H.MappedListIterable(t1, new N.FlexLayoutProperties_totalFlex_closure(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,num*>")).reduce$1(0, new N.FlexLayoutProperties_totalFlex_closure0()));
      } else
        t1 = t2;
      return t1;
    },
    get$isOverflowWidth: function() {
      var t1, _this = this;
      if (_this.direction === C.Axis_0) {
        t1 = _this.size;
        t1 = t1 == null ? null : t1._dx;
        return t1 + 0.1 < V.sum(_this.childrenDimensions$1(C.Axis_0));
      }
      t1 = _this.size;
      t1 = t1 == null ? null : t1._dx;
      return t1 + 0.1 < V.max(_this.childrenDimensions$1(C.Axis_0));
    },
    get$isOverflowHeight: function() {
      var t1, _this = this;
      if (_this.direction === C.Axis_1) {
        t1 = _this.size;
        t1 = t1 == null ? null : t1._dy;
        return t1 + 0.1 < V.sum(_this.childrenDimensions$1(C.Axis_1));
      }
      t1 = _this.size;
      t1 = t1 == null ? null : t1._dy;
      return t1 + 0.1 < V.max(_this.childrenDimensions$1(C.Axis_1));
    },
    get$startIsTopLeft: function() {
      switch (this.direction) {
        case C.Axis_0:
          switch (this.textDirection) {
            case C.TextDirection_1:
              return true;
            case C.TextDirection_0:
              return false;
          }
          break;
        case C.Axis_1:
          switch (this.verticalDirection) {
            case C.VerticalDirection_1:
              return true;
            case C.VerticalDirection_0:
              return false;
          }
          break;
      }
      return true;
    },
    childrenRenderProperties$5$largestRenderHeight$largestRenderWidth$maxSizeAvailable$smallestRenderHeight$smallestRenderWidth: function(largestRenderHeight, largestRenderWidth, maxSizeAvailable, smallestRenderHeight, smallestRenderWidth) {
      var t4, freeSpace, displayMainAxisAlignment, 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 === C.Axis_0,
        t3 = _this.size;
      if (t2)
        t4 = t3 == null ? _null : t3._dx;
      else
        t4 = t3 == null ? _null : t3._dy;
      freeSpace = t4 - V.sum(_this.childrenDimensions$1(t1));
      displayMainAxisAlignment = _this.mainAxisAlignment;
      displayMainAxisAlignment = _this.get$startIsTopLeft() ? displayMainAxisAlignment : N.MainAxisAlignmentExtension_get_reversed(displayMainAxisAlignment);
      leadingSpace = new N.FlexLayoutProperties_childrenRenderProperties_leadingSpace(_this, displayMainAxisAlignment);
      betweenSpace = new N.FlexLayoutProperties_childrenRenderProperties_betweenSpace(_this, displayMainAxisAlignment);
      renderSizes = new N.FlexLayoutProperties_childrenRenderProperties_renderSizes(_this, freeSpace, new N.FlexLayoutProperties_childrenRenderProperties_smallestRenderSize(smallestRenderWidth, smallestRenderHeight), new N.FlexLayoutProperties_childrenRenderProperties_largestRenderSize(_this, largestRenderWidth, largestRenderHeight, maxSizeAvailable), maxSizeAvailable);
      widths = renderSizes.call$1(C.Axis_0);
      heights = renderSizes.call$1(C.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_legacy_RenderProperties;
      childrenRenderProps = H._setArrayType([], t4);
      calculateMainAxisOffset = new N.FlexLayoutProperties_childrenRenderProperties_calculateMainAxisOffset(new N.FlexLayoutProperties_childrenRenderProperties_lastMainAxisOffset(childrenRenderProps), new N.FlexLayoutProperties_childrenRenderProperties_lastMainAxisDimension(childrenRenderProps), new N.FlexLayoutProperties_childrenRenderProperties_space(displayMainAxisAlignment, renderLeadingSpace, renderBetweenSpace));
      calculateCrossAxisOffset = new N.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 = N.RenderProperties$(t1, false, _null, C.Offset_0_0, J.get$size$x(_this.get$displayChildren()[i]), new P.Size(t8, t9));
        t8 = calculateMainAxisOffset.call$1(i);
        t10 = t9.axis === C.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 = H._setArrayType([], t4);
      actualLeadingSpace = leadingSpace.call$1(freeSpace);
      actualBetweenSpace = betweenSpace.call$1(freeSpace);
      renderPropsWithFullCrossAxisDimension = N.RenderProperties$(t1, false, _null, _null, _null, _null);
      renderPropsWithFullCrossAxisDimension.set$crossAxisDimension(maxSizeAvailable.call$1(t2 ? C.Axis_1 : C.Axis_0));
      if ((t2 ? C.Axis_1 : C.Axis_0) === C.Axis_0)
        t1 = t3 == null ? _null : t3._dx;
      else
        t1 = t3 == null ? _null : t3._dy;
      renderPropsWithFullCrossAxisDimension.set$crossAxisRealDimension(t1);
      renderPropsWithFullCrossAxisDimension.set$crossAxisOffset(0);
      renderPropsWithFullCrossAxisDimension.isFreeSpace = true;
      renderPropsWithFullCrossAxisDimension.layoutProperties = _this;
      t1 = actualLeadingSpace > 0;
      if (t1 && displayMainAxisAlignment !== C.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 = N.RenderProperties$(t2, renderPropsWithFullCrossAxisDimension.isFreeSpace, t9, new P.Offset(t5, t6), new P.Size(t7, t8), new P.Size(t3, t4));
          t3 = t4.axis === C.Axis_0;
          if (t3)
            t4.width = renderBetweenSpace;
          else
            t4.height = renderBetweenSpace;
          if (t3)
            t4.realWidth = actualBetweenSpace;
          else
            t4.realHeight = actualBetweenSpace;
          t5 = child.axis === C.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 !== C.MainAxisAlignment_1) {
        t1 = renderPropsWithFullCrossAxisDimension.clone$0(0);
        t2 = C.JSArray_methods.get$last(childrenRenderProps);
        t2 = t2.axis === C.Axis_0 ? t2.width : t2.height;
        t3 = C.JSArray_methods.get$last(childrenRenderProps);
        t1.set$mainAxisOffset(t2 + (t3.axis === C.Axis_0 ? t3.dx : t3.dy));
        t1.set$mainAxisDimension(renderLeadingSpace);
        t1.set$mainAxisRealDimension(actualLeadingSpace);
        spaces.push(t1);
      }
      t1 = P.List_List$of(childrenRenderProps, true, type$.legacy_RenderProperties);
      C.JSArray_methods.addAll$1(t1, spaces);
      return t1;
    },
    crossAxisSpaces$2$childrenRenderProperties$maxSizeAvailable: function(childrenRenderProperties, maxSizeAvailable) {
      var spaces, t2, t3, t4, t5, i, t6, t7, renderProperties, t8, t9, t10, t11, t12, t13, space, t14, _this = this, _null = null,
        t1 = _this.crossAxisAlignment;
      if (t1 === C.CrossAxisAlignment_3)
        return H._setArrayType([], type$.JSArray_legacy_RenderProperties);
      spaces = H._setArrayType([], type$.JSArray_legacy_RenderProperties);
      for (t2 = _this.children, t3 = t1 === C.CrossAxisAlignment_1, t1 = t1 === C.CrossAxisAlignment_2, t4 = _this.direction === C.Axis_0, t5 = _this.size, i = 0; i < t2.length; ++i) {
        if ((t4 ? C.Axis_1 : C.Axis_0) === C.Axis_0)
          t6 = t5 == null ? _null : t5._dx;
        else
          t6 = t5 == null ? _null : t5._dy;
        t7 = _this.get$displayChildren()[i];
        if (t6 != t7.dimension$1(t4 ? C.Axis_1 : C.Axis_0)) {
          t6 = childrenRenderProperties[i];
          t6 = t6.axis === C.Axis_0 ? t6.height : t6.width;
          t7 = maxSizeAvailable.call$1(t4 ? C.Axis_1 : C.Axis_0);
          t7 = t6 == null ? t7 == null : t6 === t7;
          t6 = t7;
        } else
          t6 = true;
        if (t6)
          continue;
        renderProperties = childrenRenderProperties[i];
        t6 = renderProperties.axis;
        t7 = renderProperties.width;
        t8 = renderProperties.height;
        t9 = renderProperties.dx;
        t10 = renderProperties.dy;
        t11 = renderProperties.realWidth;
        t12 = renderProperties.realHeight;
        t13 = renderProperties.layoutProperties;
        space = N.RenderProperties$(t6, renderProperties.isFreeSpace, t13, new P.Offset(t9, t10), new P.Size(t11, t12), new P.Size(t7, t8));
        space.isFreeSpace = true;
        if ((t4 ? C.Axis_1 : C.Axis_0) === C.Axis_0)
          t7 = t5 == null ? _null : t5._dx;
        else
          t7 = t5 == null ? _null : t5._dy;
        t8 = space.axis;
        t9 = t8 === C.Axis_0;
        t7 -= t9 ? space.realHeight : space.realWidth;
        if (t9)
          space.realHeight = t7;
        else
          space.realWidth = t7;
        t7 = maxSizeAvailable.call$1(t4 ? C.Axis_1 : C.Axis_0);
        t7 -= t9 ? space.height : space.width;
        if (t9)
          space.height = t7;
        else
          space.width = t7;
        if ((t9 ? space.height : space.width) <= 0)
          continue;
        if (t1) {
          t7 = (t9 ? space.height : space.width) * 0.5;
          if (t9)
            space.height = t7;
          else
            space.width = t7;
          t7 = (t9 ? space.realHeight : space.realWidth) * 0.5;
          if (t9)
            space.realHeight = t7;
          else
            space.realWidth = t7;
          t7 = space.width;
          t9 = space.height;
          t10 = space.dx;
          t11 = space.dy;
          t12 = space.realWidth;
          t13 = space.realHeight;
          t14 = space.layoutProperties;
          t9 = N.RenderProperties$(t8, space.isFreeSpace, t14, new P.Offset(t10, t11), new P.Size(t12, t13), new P.Size(t7, t9));
          if (t9.axis === C.Axis_0)
            t9.dy = 0;
          else
            t9.dx = 0;
          spaces.push(t9);
          t7 = space.width;
          t9 = space.height;
          t10 = space.dx;
          t11 = space.dy;
          t12 = space.realWidth;
          t13 = space.realHeight;
          t14 = space.layoutProperties;
          t9 = N.RenderProperties$(t8, space.isFreeSpace, t14, new P.Offset(t10, t11), new P.Size(t12, t13), new P.Size(t7, t9));
          t6 = t6 === C.Axis_0;
          t7 = t6 ? renderProperties.height : renderProperties.width;
          t7 += t6 ? renderProperties.dy : renderProperties.dx;
          if (t9.axis === C.Axis_0)
            t9.dy = t7;
          else
            t9.dx = t7;
          spaces.push(t9);
        } else {
          if (t3)
            t6 = 0;
          else
            t6 = t6 === C.Axis_0 ? renderProperties.height : renderProperties.width;
          if (t9)
            space.dy = t6;
          else
            space.dx = t6;
          spaces.push(space);
        }
      }
      return spaces;
    },
    get$direction: function(receiver) {
      return this.direction;
    },
    get$mainAxisAlignment: function() {
      return this.mainAxisAlignment;
    },
    get$crossAxisAlignment: function() {
      return this.crossAxisAlignment;
    },
    get$mainAxisSize: function() {
      return this.mainAxisSize;
    },
    get$textDirection: function(receiver) {
      return this.textDirection;
    },
    get$verticalDirection: function() {
      return this.verticalDirection;
    },
    get$textBaseline: function(receiver) {
      return this.textBaseline;
    }
  };
  N.FlexLayoutProperties__buildNode_closure.prototype = {
    call$1: function(property) {
      return J.$index$asx(property, "name");
    },
    $signature: 62
  };
  N.FlexLayoutProperties__buildNode_closure0.prototype = {
    call$1: function(property) {
      return J.$index$asx(property, "description");
    },
    $signature: 43
  };
  N.FlexLayoutProperties_totalFlex_closure.prototype = {
    call$1: function(child) {
      var t1 = child.get$flexFactor();
      return t1 == null ? 0 : t1;
    },
    $signature: 411
  };
  N.FlexLayoutProperties_totalFlex_closure0.prototype = {
    call$2: function(value, element) {
      return value + element;
    },
    $signature: 407
  };
  N.FlexLayoutProperties_childrenRenderProperties_leadingSpace.prototype = {
    call$1: function(freeSpace) {
      var t1 = this.$this.children.length;
      if (t1 === 0)
        return 0;
      switch (this.displayMainAxisAlignment) {
        case C.MainAxisAlignment_0:
        case C.MainAxisAlignment_1:
          return freeSpace;
        case C.MainAxisAlignment_2:
          return freeSpace * 0.5;
        case C.MainAxisAlignment_3:
          return 0;
        case C.MainAxisAlignment_4:
          return freeSpace / t1 * 0.5;
        case C.MainAxisAlignment_5:
          return freeSpace / (t1 + 1);
        default:
          return 0;
      }
    },
    $signature: 59
  };
  N.FlexLayoutProperties_childrenRenderProperties_betweenSpace.prototype = {
    call$1: function(freeSpace) {
      var t1 = this.$this.children.length;
      if (t1 === 0)
        return 0;
      switch (this.displayMainAxisAlignment) {
        case C.MainAxisAlignment_0:
        case C.MainAxisAlignment_1:
        case C.MainAxisAlignment_2:
          return 0;
        case C.MainAxisAlignment_3:
          if (t1 === 1)
            return freeSpace;
          return freeSpace / (t1 - 1);
        case C.MainAxisAlignment_4:
          return freeSpace / t1;
        case C.MainAxisAlignment_5:
          return freeSpace / (t1 + 1);
        default:
          return 0;
      }
    },
    $signature: 59
  };
  N.FlexLayoutProperties_childrenRenderProperties_smallestRenderSize.prototype = {
    call$1: function(axis) {
      return axis === C.Axis_0 ? this.smallestRenderWidth : this.smallestRenderHeight;
    },
    $signature: 152
  };
  N.FlexLayoutProperties_childrenRenderProperties_largestRenderSize.prototype = {
    call$1: function(axis) {
      var _this = this,
        lrs = axis === C.Axis_0 ? _this.largestRenderWidth : _this.largestRenderHeight;
      return axis === _this.$this.direction ? lrs : _this.maxSizeAvailable.call$1(axis);
    },
    $signature: 152
  };
  N.FlexLayoutProperties_childrenRenderProperties_renderSizes.prototype = {
    call$1: function(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)
        (sizes && C.JSArray_methods).add$1(sizes, t3);
      smallestSize = V.min(sizes);
      largestSize = V.max(sizes);
      if (axis !== t2.direction)
        t3 = t2.crossAxisAlignment !== C.CrossAxisAlignment_3 && smallestSize != largestSize;
      else
        t3 = true;
      if (t3) {
        t1 = _this.smallestRenderSize.call$1(axis);
        return N.computeRenderSizes(_this.largestRenderSize.call$1(axis), largestSize, _this.maxSizeAvailable.call$1(axis), sizes, t1, smallestSize);
      } else {
        if (t2.crossAxisAlignment === C.CrossAxisAlignment_3)
          size = _this.maxSizeAvailable.call$1(axis);
        else {
          t2 = t2.size;
          if (axis === C.Axis_0)
            t2 = t2 == null ? null : t2._dx;
          else
            t2 = t2 == null ? null : t2._dy;
          size = largestSize / Math.max(H.checkNum(t2), 1) * _this.maxSizeAvailable.call$1(axis);
        }
        t1.size = size;
        t2 = _this.smallestRenderSize.call$1(axis);
        t1.size = Math.max(H.checkNum(size), H.checkNum(t2));
        sizes.toString;
        t2 = H._arrayInstanceType(sizes)._eval$1("MappedListIterable<1,double*>");
        return P.List_List$of(new H.MappedListIterable(sizes, new N.FlexLayoutProperties_childrenRenderProperties_renderSizes_closure(t1), t2), true, t2._eval$1("ListIterable.E"));
      }
    },
    $signature: 382
  };
  N.FlexLayoutProperties_childrenRenderProperties_renderSizes_closure.prototype = {
    call$1: function(_) {
      return this._box_0.size;
    },
    $signature: 59
  };
  N.FlexLayoutProperties_childrenRenderProperties_lastMainAxisOffset.prototype = {
    call$0: function() {
      var t1 = this.childrenRenderProps;
      if (t1.length === 0)
        return 0;
      t1 = C.JSArray_methods.get$last(t1);
      return t1.axis === C.Axis_0 ? t1.dx : t1.dy;
    },
    $signature: 214
  };
  N.FlexLayoutProperties_childrenRenderProperties_lastMainAxisDimension.prototype = {
    call$0: function() {
      var t1 = this.childrenRenderProps;
      if (t1.length === 0)
        return 0;
      t1 = C.JSArray_methods.get$last(t1);
      return t1.axis === C.Axis_0 ? t1.width : t1.height;
    },
    $signature: 214
  };
  N.FlexLayoutProperties_childrenRenderProperties_space.prototype = {
    call$1: function(index) {
      if (index === 0) {
        if (this.displayMainAxisAlignment === C.MainAxisAlignment_0)
          return 0;
        return this.renderLeadingSpace;
      }
      return this.renderBetweenSpace;
    },
    $signature: 37
  };
  N.FlexLayoutProperties_childrenRenderProperties_calculateMainAxisOffset.prototype = {
    call$1: function(i) {
      return this.lastMainAxisOffset.call$0() + this.lastMainAxisDimension.call$0() + this.space.call$1(i);
    },
    $signature: 37
  };
  N.FlexLayoutProperties_childrenRenderProperties_calculateCrossAxisOffset.prototype = {
    call$1: function(i) {
      var emptySpace, _this = this,
        t1 = _this.$this,
        t2 = t1.direction === C.Axis_0,
        t3 = t2 ? C.Axis_1 : C.Axis_0,
        maxDimension = _this.maxSizeAvailable.call$1(t3),
        usedDimension = (t2 ? C.Axis_1 : C.Axis_0) === C.Axis_0 ? _this.widths[i] : _this.heights[i];
      t1 = t1.crossAxisAlignment;
      if (t1 === C.CrossAxisAlignment_0 || t1 === C.CrossAxisAlignment_3 || maxDimension == usedDimension)
        return 0;
      emptySpace = Math.max(0, maxDimension - usedDimension);
      if (t1 === C.CrossAxisAlignment_1)
        return emptySpace;
      return emptySpace * 0.5;
    },
    $signature: 37
  };
  N.RenderProperties.prototype = {
    set$mainAxisDimension: function(dim) {
      if (this.axis === C.Axis_0)
        this.width = dim;
      else
        this.height = dim;
    },
    set$crossAxisDimension: function(dim) {
      if (this.axis === C.Axis_0)
        this.height = dim;
      else
        this.width = dim;
    },
    set$mainAxisOffset: function(offset) {
      if (this.axis === C.Axis_0)
        this.dx = offset;
      else
        this.dy = offset;
    },
    set$crossAxisOffset: function(offset) {
      if (this.axis === C.Axis_0)
        this.dy = offset;
      else
        this.dx = offset;
    },
    set$mainAxisRealDimension: function(newVal) {
      if (this.axis === C.Axis_0)
        this.realWidth = newVal;
      else
        this.realHeight = newVal;
    },
    set$crossAxisRealDimension: function(newVal) {
      if (this.axis === C.Axis_0)
        this.realHeight = newVal;
      else
        this.realWidth = newVal;
    },
    clone$0: function(_) {
      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 N.RenderProperties$(_this.axis, _this.isFreeSpace, t7, new P.Offset(t3, t4), new P.Size(t5, t6), new P.Size(t1, t2));
    },
    get$hashCode: function(_) {
      var _this = this,
        t1 = J.get$hashCode$(_this.axis),
        t2 = P.hashValues(_this.width, _this.height, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd),
        t3 = P.hashValues(_this.dx, _this.dy, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd),
        t4 = P.hashValues(_this.realWidth, _this.realHeight, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd),
        t5 = _this.isFreeSpace ? 519018 : 218159;
      return (t1 ^ t2 ^ t3 ^ t4 ^ t5) >>> 0;
    },
    $eq: function(_, other) {
      var t1, t2, t3, t4, _this = this;
      if (other == null)
        return false;
      if (other instanceof N.RenderProperties)
        if (_this.axis == other.axis)
          if (N._extension_0_closeTo(new P.Size(_this.width, _this.height), new P.Size(other.width, other.height))) {
            t1 = _this.dx;
            t2 = _this.dy;
            t3 = other.dx;
            t4 = other.dy;
            t1 = J.toStringAsPrecision$1$n(t1, 1) === J.toStringAsPrecision$1$n(t3, 1) && J.toStringAsPrecision$1$n(t2, 1) === J.toStringAsPrecision$1$n(t4, 1) && N._extension_0_closeTo(new P.Size(_this.realWidth, _this.realHeight), new P.Size(other.realWidth, other.realHeight)) && _this.isFreeSpace === other.isFreeSpace;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    toString$0: function(_) {
      var _this = this;
      return "{ axis: " + H.S(_this.axis) + ", size: " + new P.Size(_this.width, _this.height).toString$0(0) + ", offset: " + new P.Offset(_this.dx, _this.dy).toString$0(0) + ", realSize: " + new P.Size(_this.realWidth, _this.realHeight).toString$0(0) + ", isFreeSpace: " + _this.isFreeSpace + " }";
    },
    set$width: function(receiver, val) {
      return this.width = val;
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  B.InspectorScreen.prototype = {
    get$docPageId: function() {
      return this.screenId;
    },
    build$1: function(_, context) {
      return C.InspectorScreenBody_null;
    }
  };
  B.InspectorScreenBody.prototype = {
    createState$0: function() {
      return new B.InspectorScreenBodyState(K.Disposer$(), false, new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_legacy_bool), type$._AsyncCompleter_legacy_bool), C._StateLifecycle_0);
    }
  };
  B.InspectorScreenBodyState.prototype = {
    initState$0: function() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      F.screen("inspector");
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
      t2 = _this.AutoDisposeMixin__delegate;
      t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_inspector_screen$_handleConnectionStart()));
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
      if (t1.service != null && t1.connectedApp != null && t1.connectedApp.get$connectedAppInitialized())
        _this._inspector_screen$_handleConnectionStart$1($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service);
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectionClosedController;
      t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_inspector_screen$_handleConnectionStop()));
    },
    dispose$0: function(_) {
      var t1 = this.inspectorService;
      if (t1 != null) {
        t1.inspectorLibrary.dispose$0(0);
        t1.super$_InspectorService_DisposableController_AutoDisposeControllerMixin$dispose(0);
      }
      t1 = this.inspectorController;
      if (t1 != null)
        t1.dispose$0(0);
      this.super$_InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin$dispose(0);
    },
    _onExpandClick$0: function() {
      this.blockWhileInProgress$1(this.inspectorController.get$expandAllNodesInDetailsTree());
    },
    _onResetClick$0: function() {
      this.blockWhileInProgress$1(this.inspectorController.get$collapseDetailsToSelected());
    },
    build$1: function(_, context) {
      var t4, _this = this, _null = null,
        summaryTree = _this._buildSummaryTreeColumn$0(),
        t1 = _this.detailsTreeController,
        splitAxis = L.Split_axisFor(context, 0.85),
        t2 = type$.JSArray_legacy_ToggleableServiceExtensionDescription_dynamic,
        t3 = type$.JSArray_legacy_Widget;
      t2 = T.Row$(H._setArrayType([N.ValueListenableBuilder$(new B.InspectorScreenBodyState_build_closure(), $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager._hasServiceExtension$1($.$get$toggleSelectWidgetMode().extension), type$.legacy_bool), C.SizedBox_8_null_null_null, new U.IconLabelButton(C.IconData_58644_MaterialIcons_false, "Refresh Tree", 900, _this.get$_refreshInspector(), false, _null), C.Spacer_null, T.Row$(H._setArrayType([new B.ServiceExtensionButtonGroup(1050, H._setArrayType([$.$get$slowAnimations()], t2), _null), C.SizedBox_8_null_null_null, new B.ServiceExtensionButtonGroup(1050, H._setArrayType([$.$get$debugPaint(), $.$get$debugPaintBaselines()], t2), _null), C.SizedBox_8_null_null_null, new B.ServiceExtensionButtonGroup(1250, H._setArrayType([$.$get$repaintRainbow(), $.$get$invertOversizedImages()], t2), _null)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null)], t3), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
      t4 = _this.inspectorController;
      return T.Column$(H._setArrayType([t2, C.SizedBox_null_6_null_null, T.Expanded$(L.Split$(splitAxis, H._setArrayType([summaryTree, new D.InspectorDetailsTabController(new X.InspectorTree(t1, false, _null, C.ValueKey_jvN), _this._expandCollapseButtons$0(), t4, _this._layoutExplorerSupported, _null)], t3), C.List_O9m0, _null, _null), 1)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _buildSummaryTreeColumn$0: function() {
      return new U.OutlineDecoration(N.ValueListenableBuilder$(new B.InspectorScreenBodyState__buildSummaryTreeColumn_closure(this), $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.erroredItemsForPage$1("inspector"), type$.legacy_LinkedHashMap_of_legacy_String_and_legacy_DevToolsError), null);
    },
    _expandCollapseButtons$0: function() {
      var t1, t2, _this = this, _null = null;
      if (!_this._expandCollapseSupported)
        return _null;
      t1 = !_this.BlockingActionMixin__actionInProgress;
      t2 = T.SizedBox$(new U.IconLabelButton(C.IconData_59022_MaterialIcons_false, "Expand all", 900, t1 && !_this.connectionInProgress ? _this.get$_onExpandClick() : _null, false, _null), _null, _null);
      return new T.Align(C.Alignment_1_0, _null, _null, T.Row$(H._setArrayType([t2, C.SizedBox_8_null_null_null, T.SizedBox$(new U.IconLabelButton(C.IconData_59021_MaterialIcons_false, "Collapse to selected", 900, t1 && !_this.connectionInProgress ? _this.get$_onResetClick() : _null, false, _null), _null, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_1, C.MainAxisSize_0, _null), _null);
    },
    _onExpandCollapseSupported$0: function() {
      this.setState$1(new B.InspectorScreenBodyState__onExpandCollapseSupported_closure(this));
    },
    _onLayoutExplorerSupported$0: function() {
      this.setState$1(new B.InspectorScreenBodyState__onLayoutExplorerSupported_closure(this));
    },
    _inspector_screen$_handleConnectionStart$1: function(service) {
      return this._handleConnectionStart$body$InspectorScreenBodyState(service);
    },
    _handleConnectionStart$body$InspectorScreenBodyState: function(service) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this;
      var $async$_inspector_screen$_handleConnectionStart$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.setState$1(new B.InspectorScreenBodyState__handleConnectionStart_closure($async$self));
              $async$handler = 3;
              $async$goto = 6;
              return P._asyncAwait(E.InspectorService_create(service).catchError$1(new B.InspectorScreenBodyState__handleConnectionStart_closure0()), $async$_inspector_screen$_handleConnectionStart$1);
            case 6:
              // returning from await.
              $async$self.inspectorService = $async$result;
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 3:
              // uncaught
              $async$next = [2];
            case 4:
              // finally
              $async$handler = 2;
              $async$self.setState$1(new B.InspectorScreenBodyState__handleConnectionStart_closure1($async$self));
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 5:
              // after finally
              if ($async$self.inspectorService == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.setState$1(new B.InspectorScreenBodyState__handleConnectionStart_closure2($async$self));
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_inspector_screen$_handleConnectionStart$1, $async$completer);
    },
    _inspector_screen$_handleConnectionStop$1: function($event) {
      var _this = this,
        t1 = _this.inspectorController;
      if (t1 != null)
        t1.setActivate$1(false);
      t1 = _this.inspectorController;
      if (t1 != null)
        t1.dispose$0(0);
      _this.setState$1(new B.InspectorScreenBodyState__handleConnectionStop_closure(_this));
    },
    _refreshInspector$0: function() {
      F.select("inspector", "refresh");
      this.blockWhileInProgress$1(new B.InspectorScreenBodyState__refreshInspector_closure(this));
    }
  };
  B.InspectorScreenBodyState_build_closure.prototype = {
    call$3: function(_, selectModeSupported, __) {
      return new B.ServiceExtensionButtonGroup(900, H._setArrayType([selectModeSupported ? $.$get$toggleSelectWidgetMode() : $.$get$toggleOnDeviceWidgetInspector()], type$.JSArray_legacy_ToggleableServiceExtensionDescription_dynamic), null);
    },
    $signature: 365
  };
  B.InspectorScreenBodyState__buildSummaryTreeColumn_closure.prototype = {
    call$3: function(_, errors, __) {
      var inspectableErrors = errors.map$2$1(errors, new B.InspectorScreenBodyState__buildSummaryTreeColumn__closure(), type$.legacy_String, type$.legacy_InspectableWidgetError),
        t1 = this.$this,
        t2 = H._setArrayType([new X.InspectorTree(t1.summaryTreeController, true, inspectableErrors, C.ValueKey_mDl)], type$.JSArray_legacy_Widget);
      if (errors.get$isNotEmpty(errors) && t1.inspectorController != null)
        t2.push(N.ValueListenableBuilder$(new B.InspectorScreenBodyState__buildSummaryTreeColumn__closure0(t1, inspectableErrors), t1.inspectorController._selectedErrorIndex, type$.legacy_int));
      return T.Stack$(C.AlignmentDirectional_m1_m1, t2, C.Clip_1, C.StackFit_0, null, null);
    },
    $signature: 362
  };
  B.InspectorScreenBodyState__buildSummaryTreeColumn__closure.prototype = {
    call$2: function(key, value) {
      return new P.MapEntry(key, type$.legacy_InspectableWidgetError._as(value), type$.MapEntry_of_legacy_String_and_legacy_InspectableWidgetError);
    },
    $signature: 360
  };
  B.InspectorScreenBodyState__buildSummaryTreeColumn__closure0.prototype = {
    call$3: function(_, selectedErrorIndex, __) {
      var _null = null;
      return T.Positioned$(_null, new B.ErrorNavigator(this.inspectableErrors, selectedErrorIndex, this.$this.inspectorController.get$selectErrorByIndex(), _null), _null, _null, _null, 0, 0, _null);
    },
    $signature: 358
  };
  B.InspectorScreenBodyState__onExpandCollapseSupported_closure.prototype = {
    call$0: function() {
      this.$this._expandCollapseSupported = true;
    },
    $signature: 1
  };
  B.InspectorScreenBodyState__onLayoutExplorerSupported_closure.prototype = {
    call$0: function() {
      this.$this._layoutExplorerSupported = true;
    },
    $signature: 1
  };
  B.InspectorScreenBodyState__handleConnectionStart_closure.prototype = {
    call$0: function() {
      this.$this.connectionInProgress = true;
    },
    $signature: 1
  };
  B.InspectorScreenBodyState__handleConnectionStart_closure0.prototype = {
    call$1: function(e) {
      return null;
    },
    $signature: 5
  };
  B.InspectorScreenBodyState__handleConnectionStart_closure1.prototype = {
    call$0: function() {
      this.$this.connectionInProgress = false;
    },
    $signature: 1
  };
  B.InspectorScreenBodyState__handleConnectionStart_closure2.prototype = {
    call$0: function() {
      var t3, _null = null,
        t1 = this.$this,
        t2 = t1.inspectorController;
      if (t2 != null)
        t2.dispose$0(0);
      t2 = type$.legacy_InspectorControllerClient;
      t3 = type$.JSArray_legacy_InspectorTreeRow;
      t1.summaryTreeController = new X.InspectorTreeControllerFlutter(P.LinkedHashSet_LinkedHashSet$_empty(t2), _null, _null, _null, _null, _null, _null, H._setArrayType([], t3), _null);
      t3 = new X.InspectorTreeControllerFlutter(P.LinkedHashSet_LinkedHashSet$_empty(t2), _null, _null, _null, _null, _null, _null, H._setArrayType([], t3), _null);
      t1.detailsTreeController = t3;
      t2 = t1.summaryTreeController;
      t1.inspectorController = Z.InspectorController$(t3, t1.inspectorService, t2, true, t1.get$_onExpandCollapseSupported(), t1.get$_onLayoutExplorerSupported(), _null, C.FlutterTreeType_0);
      $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1("inspector");
      t1.inspectorController.filterErrors$0();
      if (!t1.displayedWidgetTrackingNotice)
        t1.inspectorService.invokeBoolServiceMethodNoArgs$1("isWidgetCreationTracked").then$1$1(0, new B.InspectorScreenBodyState__handleConnectionStart__closure(t1), type$.Null);
    },
    $signature: 1
  };
  B.InspectorScreenBodyState__handleConnectionStart__closure.prototype = {
    call$1: function(value) {
      if (value)
        return;
      this.$this.displayedWidgetTrackingNotice = true;
    },
    $signature: 73
  };
  B.InspectorScreenBodyState__handleConnectionStop_closure.prototype = {
    call$0: function() {
      this.$this.inspectorController = null;
    },
    $signature: 1
  };
  B.InspectorScreenBodyState__refreshInspector_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this.inspectorController;
              $async$goto = 2;
              return P._asyncAwait(t1 == null ? null : t1.onForceRefresh$0(), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  B.ErrorNavigator.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.errorIndex,
        t2 = _this.errors;
      return M.Container$(_null, new T.Padding(C.EdgeInsets_16_8_16_8, T.Row$(H._setArrayType([new T.Padding(C.EdgeInsets_0_0_8_0, L.Text$(t1 != null ? "Error " + (t1 + 1) + "/" + t2.get$length(t2) : "Errors: " + t2.get$length(t2), _null, _null, _null, _null, _null, _null, _null, _null, _null), _null), B.IconButton$(_null, C.BoxConstraints_mlX, true, C.Icon_us1, 24, _this.get$_previousError(), C.EdgeInsets_0_0_0_0, 16, _null), B.IconButton$(_null, C.BoxConstraints_mlX, true, C.Icon_udS, 24, _this.get$_nextError(), C.EdgeInsets_0_0_0_0, 16, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null), C.Clip_0, C.Color_4289675348, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    _previousError$0: function() {
      var newIndex, _this = this,
        t1 = _this.errorIndex;
      if (t1 == null) {
        t1 = _this.errors;
        newIndex = t1.get$length(t1) - 1;
      } else
        newIndex = t1 - 1;
      for (t1 = _this.errors; newIndex < 0;)
        newIndex += t1.get$length(t1);
      _this.onSelectError.call$1(newIndex);
    },
    _nextError$0: function() {
      var newIndex, t2,
        t1 = this.errorIndex;
      if (t1 == null)
        newIndex = 0;
      else {
        t2 = this.errors;
        newIndex = C.JSInt_methods.$mod(t1 + 1, t2.get$length(t2));
      }
      this.onSelectError.call$1(newIndex);
    }
  };
  B._InspectorScreenBodyState_State_BlockingActionMixin.prototype = {
    dispose$0: function(_) {
      this.BlockingActionMixin__actionInProgress = false;
      this.BlockingActionMixin__disposed.complete$1(0, true);
      this.super$State$dispose(0);
    }
  };
  B._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$_InspectorScreenBodyState_State_BlockingActionMixin$dispose(0);
    }
  };
  D.InspectorDetailsTabController.prototype = {
    createState$0: function() {
      return new D._InspectorDetailsTabControllerState(K.Disposer$(), null, C._StateLifecycle_0);
    }
  };
  D._InspectorDetailsTabControllerState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = U.TabController$(0, 2, _this);
      _this._tabControllerWithLayoutExplorer = t1;
      _this.addAutoDisposeListener$1(t1);
      t1 = U.TabController$(0, 1, _this);
      _this._tabControllerWithoutLayoutExplorer = t1;
      _this.addAutoDisposeListener$1(t1);
    },
    build$1: function(_, context) {
      var t2, t3, t4, _tabController, theme, focusColor, borderSide, hasActionButtons, t5, _this = this, _null = null,
        t1 = H._setArrayType([], type$.JSArray_legacy_Tab);
      if (_this._widget.layoutExplorerSupported)
        t1.push(E.Tab$(L.Text$("Layout Explorer", _null, _null, C.TextOverflow_2, _null, _null, _null, _null, _null, _null), _null));
      t1.push(E.Tab$(L.Text$("Details Tree", _null, _null, C.TextOverflow_2, _null, _null, _null, _null, _null, _null), _null));
      t2 = type$.JSArray_legacy_Widget;
      t3 = H._setArrayType([], t2);
      t4 = _this._widget;
      if (t4.layoutExplorerSupported)
        t3.push(new N.LayoutExplorerTab(t4.controller, _null));
      t3.push(_this._widget.detailsTree);
      _tabController = _this._widget.layoutExplorerSupported ? _this._tabControllerWithLayoutExplorer : _this._tabControllerWithoutLayoutExplorer;
      theme = K.Theme_of(context);
      focusColor = theme.focusColor;
      borderSide = new Y.BorderSide(focusColor, 1, C.BorderStyle_1);
      hasActionButtons = _this._widget.actionButtons != null && _tabController._tab_controller$_index === 1;
      if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
        t4 = $.globals.$index(0, C.Type_IdeTheme_NnV);
        t4 = (t4 == null ? _null : t4.embed) != null;
      } else
        t4 = true;
      t4 = t4 ? 2 : 8;
      t1 = M.Container$(_null, E.TabBar$(_tabController, true, theme.textTheme.bodyText1.color, t1), C.Clip_0, focusColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      t5 = hasActionButtons ? _this._widget.actionButtons : C.SizedBox_null_null_null_null;
      return T.Column$(H._setArrayType([T.SizedBox$(T.Row$(H._setArrayType([t1, T.Expanded$(M.Container$(C.Alignment_1_0, t5, C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, new F.Border(C.BorderSide_06g, C.BorderSide_06g, borderSide, C.BorderSide_06g), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null), 1)], t2), C.CrossAxisAlignment_1, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), 32 + t4, _null), T.Expanded$(M.Container$(_null, E.TabBarView$(t3, _tabController, C.NeverScrollableScrollPhysics_null), C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, new F.Border(C.BorderSide_06g, borderSide, borderSide, borderSide), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null), 1)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    }
  };
  D.__InspectorDetailsTabControllerState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  D.__InspectorDetailsTabControllerState_State_TickerProviderStateMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$__InspectorDetailsTabControllerState_State_TickerProviderStateMixin$dispose(0);
    }
  };
  E.RegistrableServiceExtension.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  E.InspectorService.prototype = {
    InspectorService$3: function(vmService, inspectorLibrary, supportedServiceMethods) {
      var _this = this,
        t1 = _this.vmService,
        t2 = _this.AutoDisposeControllerMixin__delegate;
      t2.autoDispose$1(t1.get$onExtensionEvent().listen$1(_this.get$onExtensionVmServiceRecieved()));
      t2.autoDispose$1(t1.get$onDebugEvent().listen$1(_this.get$onDebugVmServiceReceived()));
      t2.autoDispose$1($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager.getSelectedIsolate$1(new E.InspectorService_closure(_this)));
    },
    _trackClientSelfTriggeredSelection$1: function(ref) {
      J.add$1$ax(this._expectedSelectionChanges.putIfAbsent$2(0, ref, new E.InspectorService__trackClientSelfTriggeredSelection_closure()), Date.now());
    },
    _isClientTriggeredSelectionChange$1: function(ref) {
      var t2, times,
        t1 = Date.now();
      if (ref != null) {
        t2 = this._expectedSelectionChanges;
        if (t2.containsKey$1(0, ref)) {
          times = t2.remove$1(0, ref);
          for (t2 = J.getInterceptor$asx(times); t2.get$isNotEmpty(times);)
            if (t2.removeAt$1(times, 0) + 5000 >= t1)
              return true;
        }
      }
      return false;
    },
    _onRootDirectoriesChanged$1: function($directories) {
      return this._onRootDirectoriesChanged$body$InspectorService($directories);
    },
    _onRootDirectoriesChanged$body$InspectorService: function($directories) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, t4, parts, libIndex, path, google3Index, packageParts, google3PackageName;
      var $async$_onRootDirectoriesChanged$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._rootDirectories.set$value(0, $directories);
              $async$self._rootPackages = P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_String);
              $async$self._rootPackagePrefixes = H._setArrayType([], type$.JSArray_legacy_String);
              for (t1 = J.get$iterator$ax($directories), t2 = type$.JSArray_String, t3 = type$.WhereIterable_String, t4 = t3._eval$1("Iterable.E"); t1.moveNext$0();) {
                parts = P.List_List$of(new H.WhereIterable(H._setArrayType(t1.get$current(t1).split("/"), t2), new E.InspectorService__onRootDirectoriesChanged_closure(), t3), true, t4);
                libIndex = C.JSArray_methods.lastIndexOf$1(parts, "lib");
                path = libIndex > 0 ? C.JSArray_methods.sublist$2(parts, 0, libIndex) : parts;
                google3Index = C.JSArray_methods.lastIndexOf$1(path, "google3");
                if (google3Index !== -1 && google3Index + 1 < path.length) {
                  packageParts = C.JSArray_methods.sublist$1(path, google3Index + 1);
                  google3PackageName = C.JSArray_methods.join$1(J.$eq$(packageParts[0], "third_party") && packageParts.length >= 3 ? C.JSArray_methods.sublist$1(packageParts, 2) : packageParts, ".");
                  $async$self._rootPackages.add$1(0, google3PackageName);
                  $async$self._rootPackagePrefixes.push(google3PackageName + ".");
                } else
                  $async$self._rootPackages.add$1(0, C.JSArray_methods.get$last(path));
              }
              $async$goto = 2;
              return P._asyncAwait($async$self._updateLocalClasses$0(), $async$_onRootDirectoriesChanged$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_onRootDirectoriesChanged$1, $async$completer);
    },
    _updateLocalClasses$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, isolate, libraryRef, library, classRef, t2, t3, t4, t5, _i, t6, t7, _i0, exception, t1, $async$exception;
      var $async$_updateLocalClasses$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.localClasses;
              t1.clear$0(0);
              $async$goto = J.get$isNotEmpty$asx($async$self._rootDirectories._value) ? 2 : 3;
              break;
            case 2:
              // then
              t2 = $async$self.inspectorLibrary;
              isolate = t2._isolate;
              t3 = isolate.libraries, t4 = t3.length, t2 = t2.service, t5 = type$.legacy_Obj, _i = 0;
            case 4:
              // for condition
              if (!(_i < t3.length)) {
                // goto after for
                $async$goto = 6;
                break;
              }
              libraryRef = t3[_i];
              $async$goto = $async$self.isLocalUri$1(libraryRef.get$uri()) ? 7 : 8;
              break;
            case 7:
              // then
              $async$handler = 10;
              t6 = isolate.id;
              t7 = J.get$id$x(libraryRef);
              $async$goto = 13;
              return P._asyncAwait(t2.trackFuture$1$2("getObject", t2._vmService.getObject$2(0, t6, t7), t5), $async$_updateLocalClasses$0);
            case 13:
              // returning from await.
              library = $async$result;
              for (t6 = library.classes, t7 = t6.length, _i0 = 0; _i0 < t6.length; t6.length === t7 || (0, H.throwConcurrentModificationError)(t6), ++_i0) {
                classRef = t6[_i0];
                t1.$indexSet(0, J.get$name$x(classRef), classRef);
              }
              $async$handler = 1;
              // goto after finally
              $async$goto = 12;
              break;
            case 10:
              // catch
              $async$handler = 9;
              $async$exception = $async$currentError;
              H.unwrapException($async$exception);
              // goto after finally
              $async$goto = 12;
              break;
            case 9:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 12:
              // after finally
            case 8:
              // join
            case 5:
              // for update
              t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i;
              // goto for condition
              $async$goto = 4;
              break;
            case 6:
              // after for
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_updateLocalClasses$0, $async$completer);
    },
    isLocalUri$1: function(rawUri) {
      var packageName, t1,
        uri = P.Uri_parse(rawUri, 0, null);
      if (uri.get$scheme() !== "file" && uri.get$scheme() !== "dart") {
        packageName = J.get$first$ax(uri.get$pathSegments());
        if (this._rootPackages.contains$1(0, packageName))
          return true;
        t1 = this._rootPackagePrefixes;
        return (t1 && C.JSArray_methods).any$1(t1, new E.InspectorService_isLocalUri_closure(packageName));
      }
      for (t1 = J.get$iterator$ax(this._rootDirectories._value); t1.moveNext$0();)
        if (J.endsWith$1$s(t1.get$current(t1), rawUri))
          return true;
      return false;
    },
    inferPubRootDirectoryIfNeeded$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_String),
        $async$returnValue, $async$self = this, directory, $directories;
      var $async$inferPubRootDirectoryIfNeeded$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(E.ObjectGroup$("temp", $async$self).getPubRootDirectories$0(), $async$inferPubRootDirectoryIfNeeded$0);
            case 3:
              // returning from await.
              $directories = $async$result;
              if ($directories == null)
                $directories = H._setArrayType([], type$.JSArray_legacy_String);
              $async$goto = J.get$isEmpty$asx($directories) ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return P._asyncAwait($async$self.inferPubRootDirectoryIfNeededHelper$0(), $async$inferPubRootDirectoryIfNeeded$0);
            case 6:
              // returning from await.
              directory = $async$result;
              if (directory != null)
                $directories = H._setArrayType([directory], type$.JSArray_legacy_String);
            case 5:
              // join
              $async$goto = 7;
              return P._asyncAwait($async$self._onRootDirectoriesChanged$1($directories), $async$inferPubRootDirectoryIfNeeded$0);
            case 7:
              // returning from await.
              $async$returnValue = $directories;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$inferPubRootDirectoryIfNeeded$0, $async$completer);
    },
    inferPubRootDirectoryIfNeededHelper$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_String),
        $async$returnValue, $async$self = this, children, t1, path, parts, pubRootDirectory, i, part, group, root;
      var $async$inferPubRootDirectoryIfNeededHelper$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              group = E.ObjectGroup$("temp", $async$self);
              $async$goto = 3;
              return P._asyncAwait(group.getRoot$1(C.FlutterTreeType_0), $async$inferPubRootDirectoryIfNeededHelper$0);
            case 3:
              // returning from await.
              root = $async$result;
              $async$goto = root == null ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return P._asyncAwait(group.dispose$0(0), $async$inferPubRootDirectoryIfNeededHelper$0);
            case 6:
              // returning from await.
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 5:
              // join
              $async$goto = 7;
              return P._asyncAwait(root.get$children(root), $async$inferPubRootDirectoryIfNeededHelper$0);
            case 7:
              // returning from await.
              children = $async$result;
              t1 = children == null ? null : J.get$isEmpty$asx(children);
              $async$goto = t1 !== false ? 8 : 9;
              break;
            case 8:
              // then
              t1 = J.$index$asx(root.json, "objectId");
              $async$goto = 10;
              return P._asyncAwait(group.getListHelper$3(new E.InspectorInstanceRef(t1), "getChildrenDetailsSubtree", null), $async$inferPubRootDirectoryIfNeededHelper$0);
            case 10:
              // returning from await.
              children = $async$result;
            case 9:
              // join
              t1 = children == null ? null : J.get$isEmpty$asx(children);
              $async$goto = t1 !== false ? 11 : 12;
              break;
            case 11:
              // then
              $async$goto = 13;
              return P._asyncAwait(group.dispose$0(0), $async$inferPubRootDirectoryIfNeededHelper$0);
            case 13:
              // returning from await.
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 12:
              // join
              t1 = J.get$first$ax(children).get$creationLocation();
              path = t1 == null ? null : H._asStringS(J.$index$asx(t1.json, "file"));
              $async$goto = path == null ? 14 : 15;
              break;
            case 14:
              // then
              $async$goto = 16;
              return P._asyncAwait(group.dispose$0(0), $async$inferPubRootDirectoryIfNeededHelper$0);
            case 16:
              // returning from await.
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 15:
              // join
              parts = H._setArrayType(path.split("/"), type$.JSArray_String);
              i = parts.length - 1;
              while (true) {
                if (!(i >= 0)) {
                  pubRootDirectory = null;
                  break;
                }
                part = parts[i];
                if (part === "lib" || part === "web") {
                  pubRootDirectory = C.JSArray_methods.join$1(C.JSArray_methods.sublist$2(parts, 0, i), "/");
                  break;
                }
                if (part === "packages") {
                  pubRootDirectory = C.JSArray_methods.join$1(C.JSArray_methods.sublist$2(parts, 0, i + 1), "/");
                  break;
                }
                --i;
              }
              if (pubRootDirectory == null) {
                parts.pop();
                pubRootDirectory = C.JSArray_methods.join$1(parts, "/");
              }
              $async$goto = 17;
              return P._asyncAwait($async$self.invokeServiceMethodDaemonNoGroupArgs$2("setPubRootDirectories", H._setArrayType([pubRootDirectory], type$.JSArray_legacy_String)), $async$inferPubRootDirectoryIfNeededHelper$0);
            case 17:
              // returning from await.
              $async$goto = 18;
              return P._asyncAwait(group.dispose$0(0), $async$inferPubRootDirectoryIfNeededHelper$0);
            case 18:
              // returning from await.
              $async$returnValue = pubRootDirectory;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$inferPubRootDirectoryIfNeededHelper$0, $async$completer);
    },
    get$_selectionGroups: function() {
      var t1 = this._cachedSelectionGroups;
      return t1 == null ? this._cachedSelectionGroups = new E.InspectorObjectGroupManager(this, "selection") : t1;
    },
    notifySelectionChanged$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, group, pendingSelection;
      var $async$notifySelectionChanged$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.get$_selectionGroups().cancelNext$0();
              t1 = $async$self.get$_selectionGroups();
              group = t1.get$next(t1);
              $async$goto = 2;
              return P._asyncAwait(group.getSelection$3$isSummaryTree(0, $async$self._currentSelection, C.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 E.InspectorInstanceRef(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 = t1.get$iterator(t1); t1.moveNext$0();)
                  t1.get$current(t1).onInspectorSelectionChanged$0();
              }
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$notifySelectionChanged$0, $async$completer);
    },
    onDebugVmServiceReceived$1: function($event) {
      if ($event.kind === "Inspect")
        this.notifySelectionChanged$0();
    },
    onExtensionVmServiceRecieved$1: function(e) {
      var client, e0, t1, exception;
      if ("Flutter.Frame" === e.extensionKind)
        for (t1 = this.clients, t1 = t1.get$iterator(t1); t1.moveNext$0();) {
          client = t1.get$current(t1);
          try {
            client.onFlutterFrame$0();
          } catch (exception) {
            e0 = H.unwrapException(exception);
          }
        }
    },
    invokeBoolServiceMethodNoArgs$1: function(methodName) {
      return this.invokeBoolServiceMethodNoArgs$body$InspectorService(methodName);
    },
    invokeBoolServiceMethodNoArgs$body$InspectorService: function(methodName) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$invokeBoolServiceMethodNoArgs$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = J;
              $async$goto = 3;
              return P._asyncAwait($async$self.invokeServiceMethodDaemonNoGroupArgs$1(methodName), $async$invokeBoolServiceMethodNoArgs$1);
            case 3:
              // returning from await.
              t1 = $async$temp1.$eq$($async$result, true);
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeBoolServiceMethodNoArgs$1, $async$completer);
    },
    invokeServiceMethodDaemonNoGroupArgs$2: function(methodName, args) {
      var i,
        params = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Object);
      if (args != null)
        for (i = 0; i < 1; ++i)
          params.$indexSet(0, "arg" + i, args[i]);
      return this.invokeServiceMethodDaemonNoGroup$2(methodName, params);
    },
    invokeServiceMethodDaemonNoGroupArgs$1: function(methodName) {
      return this.invokeServiceMethodDaemonNoGroupArgs$2(methodName, null);
    },
    invokeServiceMethodDaemonNoGroup$2: function(methodName, args) {
      return this.invokeServiceMethodDaemonNoGroup$body$InspectorService(methodName, args);
    },
    invokeServiceMethodDaemonNoGroup$body$InspectorService: function(methodName, args) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Object),
        $async$returnValue, $async$self = this, t1, json, callMethodName;
      var $async$invokeServiceMethodDaemonNoGroup$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              callMethodName = "ext.flutter.inspector." + methodName;
              $async$goto = !$.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager.isServiceExtensionAvailable$1(callMethodName) ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager.waitForServiceExtensionAvailable$1(callMethodName), $async$invokeServiceMethodDaemonNoGroup$2);
            case 5:
              // returning from await.
              if (!$async$result) {
                $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["result", null], type$.legacy_String, type$.Null);
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // join
              t1 = $async$self.inspectorLibrary._isolateRef;
              $async$goto = 6;
              return P._asyncAwait($async$self.vmService.callServiceExtension$3$args$isolateId(callMethodName, args, t1.get$id(t1)), $async$invokeServiceMethodDaemonNoGroup$2);
            case 6:
              // returning from await.
              json = $async$result.json;
              t1 = J.getInterceptor$asx(json);
              if (t1.$index(json, "errorMessage") != null)
                throw H.wrapException(P.Exception_Exception(methodName + " -- " + H.S(t1.$index(json, "errorMessage"))));
              $async$returnValue = t1.$index(json, "result");
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeServiceMethodDaemonNoGroup$2, $async$completer);
    }
  };
  E.InspectorService_closure.prototype = {
    call$1: function(flutterIsolate) {
      var t2,
        t1 = this.$this;
      t1._currentSelection = null;
      t2 = t1._cachedSelectionGroups;
      if (t2 != null)
        t2.clear$1(0, true);
      t1._expectedSelectionChanges.clear$0(0);
    },
    $signature: 65
  };
  E.InspectorService_create_closure.prototype = {
    call$1: function(_) {
      return H.throwExpression(new E.FlutterInspectorLibraryNotFound(C.List_BmV));
    },
    $signature: 5
  };
  E.InspectorService_create_closure0.prototype = {
    call$1: function(e) {
      return e instanceof B.LibraryNotFound;
    },
    $signature: 163
  };
  E.InspectorService_create_lookupFunctionNames.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Set_legacy_String),
        $async$returnValue, $async$self = this, t1, t2, _i, classRef, functionNames;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.library.classes, t2 = t1.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t1.length)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              classRef = t1[_i];
              $async$goto = "WidgetInspectorService" === J.get$name$x(classRef) ? 6 : 7;
              break;
            case 6:
              // then
              functionNames = P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_String);
              $async$goto = 8;
              return P._asyncAwait($async$self.inspectorLibrary.getObjHelper$1$2(classRef, null, type$.legacy_Class), $async$call$0);
            case 8:
              // returning from await.
              t1 = $async$result.functions, t2 = t1.length, _i = 0;
            case 9:
              // for condition
              if (!(_i < t1.length)) {
                // goto after for
                $async$goto = 11;
                break;
              }
              functionNames.add$1(0, J.get$name$x(t1[_i]));
            case 10:
              // for update
              t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i;
              // goto for condition
              $async$goto = 9;
              break;
            case 11:
              // after for
              $async$returnValue = functionNames;
              // goto return
              $async$goto = 1;
              break;
            case 7:
              // join
            case 4:
              // for update
              t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 136
  };
  E.InspectorService__trackClientSelfTriggeredSelection_closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_legacy_int);
    },
    $signature: 357
  };
  E.InspectorService__onRootDirectoriesChanged_closure.prototype = {
    call$1: function(element) {
      return element.length !== 0;
    },
    $signature: 14
  };
  E.InspectorService_isLocalUri_closure.prototype = {
    call$1: function(prefix) {
      return J.startsWith$1$s(this.packageName, prefix);
    },
    $signature: 14
  };
  E.ObjectGroup.prototype = {
    dispose$0: function(_) {
      var disposeComplete = this.invokeVoidServiceMethod$2("disposeGroup", this.groupName);
      this.disposed = true;
      return disposeComplete;
    },
    getRoot$1: function(type) {
      switch (type) {
        case C.FlutterTreeType_0:
          return this.invokeServiceMethodReturningNode$1("getRootWidgetSummaryTree");
        case C.FlutterTreeType_1:
          return this.invokeServiceMethodReturningNode$1("getRootRenderObject");
      }
      throw H.wrapException(P.Exception_Exception("Unexpected FlutterTreeType"));
    },
    invokeServiceExtensionMethod$2: function(extension, parameters) {
      return this.invokeServiceExtensionMethod$body$ObjectGroup(extension, parameters);
    },
    invokeServiceExtensionMethod$body$ObjectGroup: function(extension, parameters) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Object),
        $async$returnValue, $async$self = this, $name, fullName;
      var $async$invokeServiceExtensionMethod$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $name = extension.name;
              fullName = "ext.flutter.inspector." + $name;
              $async$goto = !$.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager.isServiceExtensionAvailable$1(fullName) ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager.waitForServiceExtensionAvailable$1("ext.flutter.inspector.isWidgetCreationTracked"), $async$invokeServiceExtensionMethod$2);
            case 5:
              // returning from await.
              if ($async$self.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = !$.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager.isServiceExtensionAvailable$1(fullName) ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return P._asyncAwait(O.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeServiceExtensionMethod$2, $async$completer);
    },
    invokeServiceMethodDaemon$2: function(methodName, objectGroup) {
      return this.invokeServiceMethodDaemonParams$2(methodName, P.LinkedHashMap_LinkedHashMap$_literal(["objectGroup", objectGroup == null ? this.groupName : objectGroup], type$.legacy_String, type$.legacy_Object));
    },
    invokeServiceMethodDaemon$1: function(methodName) {
      return this.invokeServiceMethodDaemon$2(methodName, null);
    },
    _inspector_service$_callServiceExtension$2: function(extension, args) {
      var _this = this;
      if (_this.disposed)
        return P.Future_Future$value(null, type$.legacy_Object);
      return _this.inspectorService.inspectorLibrary.addRequest$1$2(_this, new E.ObjectGroup__callServiceExtension_closure(_this, extension, args), type$.legacy_Object);
    },
    invokeServiceMethodDaemonParams$2: function(methodName, params) {
      return this.invokeServiceMethodDaemonParams$body$ObjectGroup(methodName, params);
    },
    invokeServiceMethodDaemonParams$body$ObjectGroup: function(methodName, params) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Object),
        $async$returnValue, $async$self = this, callMethodName;
      var $async$invokeServiceMethodDaemonParams$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              callMethodName = "ext.flutter.inspector." + methodName;
              $async$goto = !$.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager.isServiceExtensionAvailable$1(callMethodName) ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager.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 P._asyncAwait($async$self._inspector_service$_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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeServiceMethodDaemonParams$2, $async$completer);
    },
    invokeServiceMethodDaemonInspectorRef$2: function(methodName, arg) {
      var t1 = arg == null ? null : arg.id,
        t2 = type$.legacy_String,
        args = P.LinkedHashMap_LinkedHashMap$_literal(["objectGroup", this.groupName], t2, t2);
      if (t1 != null)
        args.$indexSet(0, "arg", t1);
      return this.invokeServiceMethodDaemonParams$2(methodName, args);
    },
    parseDiagnosticsNodeDaemon$1: function(json) {
      return this.parseDiagnosticsNodeDaemon$body$ObjectGroup(json);
    },
    parseDiagnosticsNodeDaemon$body$ObjectGroup: function(json) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this;
      var $async$parseDiagnosticsNodeDaemon$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait(json, $async$parseDiagnosticsNodeDaemon$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$self.parseDiagnosticsNodeHelper$1($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$parseDiagnosticsNodeDaemon$1, $async$completer);
    },
    parseDiagnosticsNodeHelper$1: function(jsonElement) {
      if (this.disposed)
        return null;
      if (jsonElement == null)
        return null;
      return new M.RemoteDiagnosticsNode(null, this, jsonElement, false);
    },
    parseDiagnosticsNodesHelper$2: function(jsonObject, $parent) {
      var nodes, t1;
      if (this.disposed || jsonObject == null)
        return C.List_empty18;
      nodes = H._setArrayType([], type$.JSArray_legacy_RemoteDiagnosticsNode);
      for (t1 = J.get$iterator$ax(jsonObject); t1.moveNext$0();)
        nodes.push(new M.RemoteDiagnosticsNode($parent, this, t1.get$current(t1), false));
      return nodes;
    },
    parseDiagnosticsNodesDaemon$2: function(jsonFuture, $parent) {
      return this.parseDiagnosticsNodesDaemon$body$ObjectGroup(jsonFuture, $parent);
    },
    parseDiagnosticsNodesDaemon$body$ObjectGroup: function(jsonFuture, $parent) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this;
      var $async$parseDiagnosticsNodesDaemon$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self.disposed || jsonFuture == null) {
                $async$returnValue = C.List_empty18;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait(jsonFuture, $async$parseDiagnosticsNodesDaemon$2);
            case 3:
              // returning from await.
              $async$returnValue = $async$self.parseDiagnosticsNodesHelper$2($async$result, $parent);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$parseDiagnosticsNodesDaemon$2, $async$completer);
    },
    getListHelper$3: function(instanceRef, methodName, $parent) {
      return this.getListHelper$body$ObjectGroup(instanceRef, methodName, $parent);
    },
    getListHelper$body$ObjectGroup: function(instanceRef, methodName, $parent) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, t1;
      var $async$getListHelper$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self.disposed) {
                $async$returnValue = C.List_empty18;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.parseDiagnosticsNodesDaemon$2($async$self.invokeServiceMethodDaemonInspectorRef$2(methodName, instanceRef), $parent);
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getListHelper$3, $async$completer);
    },
    invokeServiceMethodReturningNode$1: function(methodName) {
      return this.invokeServiceMethodReturningNode$body$ObjectGroup(methodName);
    },
    invokeServiceMethodReturningNode$body$ObjectGroup: function(methodName) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, t1;
      var $async$invokeServiceMethodReturningNode$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.parseDiagnosticsNodeDaemon$1($async$self.invokeServiceMethodDaemon$1(methodName));
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeServiceMethodReturningNode$1, $async$completer);
    },
    invokeServiceMethodReturningNodeInspectorRef$2: function(methodName, ref) {
      var t1;
      if (this.disposed)
        return null;
      t1 = this.parseDiagnosticsNodeDaemon$1(this.invokeServiceMethodDaemonInspectorRef$2(methodName, ref));
      return t1;
    },
    invokeVoidServiceMethod$2: function(methodName, arg1) {
      return this.invokeVoidServiceMethod$body$ObjectGroup(methodName, arg1);
    },
    invokeVoidServiceMethod$body$ObjectGroup: function(methodName, arg1) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this;
      var $async$invokeVoidServiceMethod$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self.disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait($async$self.invokeServiceMethodDaemon$2(methodName, arg1), $async$invokeVoidServiceMethod$2);
            case 3:
              // returning from await.
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeVoidServiceMethod$2, $async$completer);
    },
    getSelection$3$isSummaryTree: function(_, previousSelection, treeType, isSummaryTree) {
      return this.getSelection$body$ObjectGroup(0, previousSelection, treeType, isSummaryTree);
    },
    getSelection$body$ObjectGroup: function(_, previousSelection, treeType, isSummaryTree) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, previousSelectionRef, newSelection;
      var $async$getSelection$3$isSummaryTree = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              previousSelectionRef = previousSelection != null ? new E.InspectorInstanceRef(J.$index$asx(previousSelection.json, "objectId")) : null;
            case 3:
              // switch
              switch (treeType) {
                case C.FlutterTreeType_0:
                  // goto case
                  $async$goto = 5;
                  break;
                case C.FlutterTreeType_1:
                  // goto case
                  $async$goto = 6;
                  break;
                default:
                  // goto default
                  $async$goto = 7;
                  break;
              }
              break;
            case 5:
              // case
              $async$goto = 8;
              return P._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 P._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 E.InspectorInstanceRef(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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getSelection$3$isSummaryTree, $async$completer);
    },
    setSelectionInspector$2: function(selection, uiAlreadyUpdated) {
      var t1, _this = this;
      if (_this.disposed)
        return P.Future_Future$value(null, type$.void);
      _this.inspectorService._trackClientSelfTriggeredSelection$1(selection);
      t1 = _this.handleSetSelectionDaemon$2(_this.invokeServiceMethodDaemonInspectorRef$2("setSelectionById", selection), uiAlreadyUpdated);
      return t1;
    },
    handleSetSelectionHelper$2: function(selectionChanged, uiAlreadyUpdated) {
      if (selectionChanged && !uiAlreadyUpdated && !this.disposed)
        this.inspectorService.notifySelectionChanged$0();
    },
    handleSetSelectionDaemon$2: function(setSelectionResult, uiAlreadyUpdated) {
      return this.handleSetSelectionDaemon$body$ObjectGroup(setSelectionResult, uiAlreadyUpdated);
    },
    handleSetSelectionDaemon$body$ObjectGroup: function(setSelectionResult, uiAlreadyUpdated) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, json;
      var $async$handleSetSelectionDaemon$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self.disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait(setSelectionResult, $async$handleSetSelectionDaemon$2);
            case 3:
              // returning from await.
              json = $async$result;
              if ($async$self.disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.handleSetSelectionHelper$2(json, uiAlreadyUpdated);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$handleSetSelectionDaemon$2, $async$completer);
    },
    getDetailsSubtree$2$subtreeDepth: function(node, subtreeDepth) {
      return this.getDetailsSubtree$body$ObjectGroup(node, subtreeDepth);
    },
    getDetailsSubtree$body$ObjectGroup: function(node, subtreeDepth) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, t1;
      var $async$getDetailsSubtree$2$subtreeDepth = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (node == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = type$.legacy_String;
              $async$goto = 3;
              return P._asyncAwait($async$self.invokeServiceMethodDaemonParams$2("getDetailsSubtree", P.LinkedHashMap_LinkedHashMap$_literal(["objectGroup", $async$self.groupName, "arg", J.$index$asx(node.json, "objectId"), "subtreeDepth", C.JSInt_methods.toString$0(subtreeDepth)], t1, t1)), $async$getDetailsSubtree$2$subtreeDepth);
            case 3:
              // returning from await.
              $async$returnValue = $async$self.parseDiagnosticsNodeHelper$1($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getDetailsSubtree$2$subtreeDepth, $async$completer);
    },
    invokeSetFlexProperties$3: function(ref, mainAxisAlignment, crossAxisAlignment) {
      return this.invokeSetFlexProperties$body$ObjectGroup(ref, mainAxisAlignment, crossAxisAlignment);
    },
    invokeSetFlexProperties$body$ObjectGroup: function(ref, mainAxisAlignment, crossAxisAlignment) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$invokeSetFlexProperties$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_String;
              $async$goto = 2;
              return P._asyncAwait($async$self.invokeServiceExtensionMethod$2(C.RegistrableServiceExtension_setFlexProperties, P.LinkedHashMap_LinkedHashMap$_literal(["id", ref.id, "mainAxisAlignment", H.S(mainAxisAlignment), "crossAxisAlignment", H.S(crossAxisAlignment)], t1, t1)), $async$invokeSetFlexProperties$3);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeSetFlexProperties$3, $async$completer);
    },
    invokeSetFlexFactor$2: function(ref, flexFactor) {
      return this.invokeSetFlexFactor$body$ObjectGroup(ref, flexFactor);
    },
    invokeSetFlexFactor$body$ObjectGroup: function(ref, flexFactor) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$invokeSetFlexFactor$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_String;
              $async$goto = 2;
              return P._asyncAwait($async$self.invokeServiceExtensionMethod$2(C.RegistrableServiceExtension_setFlexFactor, P.LinkedHashMap_LinkedHashMap$_literal(["id", ref.id, "flexFactor", H.S(flexFactor)], t1, t1)), $async$invokeSetFlexFactor$2);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeSetFlexFactor$2, $async$completer);
    },
    invokeSetFlexFit$2: function(ref, flexFit) {
      return this.invokeSetFlexFit$body$ObjectGroup(ref, flexFit);
    },
    invokeSetFlexFit$body$ObjectGroup: function(ref, flexFit) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$invokeSetFlexFit$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_String;
              $async$goto = 2;
              return P._asyncAwait($async$self.invokeServiceExtensionMethod$2(C.RegistrableServiceExtension_setFlexFit, P.LinkedHashMap_LinkedHashMap$_literal(["id", ref.id, "flexFit", H.S(flexFit)], t1, t1)), $async$invokeSetFlexFit$2);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeSetFlexFit$2, $async$completer);
    },
    getLayoutExplorerNode$1: function(node) {
      return this.getLayoutExplorerNode$body$ObjectGroup(node);
    },
    getLayoutExplorerNode$body$ObjectGroup: function(node) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, t1;
      var $async$getLayoutExplorerNode$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (node == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = type$.legacy_String;
              $async$returnValue = $async$self.parseDiagnosticsNodeDaemon$1($async$self.invokeServiceExtensionMethod$2(C.RegistrableServiceExtension_getLayoutExplorerNode, P.LinkedHashMap_LinkedHashMap$_literal(["groupName", $async$self.groupName, "id", J.$index$asx(node.json, "objectId"), "subtreeDepth", "1"], t1, t1)));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getLayoutExplorerNode$1, $async$completer);
    },
    getPubRootDirectories$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_String),
        $async$returnValue, $async$self = this, t1, $directories;
      var $async$getPubRootDirectories$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_String;
              $async$goto = 3;
              return P._asyncAwait($async$self.invokeServiceExtensionMethod$2(C.RegistrableServiceExtension_getPubRootDirectories, P.LinkedHashMap_LinkedHashMap$_empty(t1, t1)), $async$getPubRootDirectories$0);
            case 3:
              // returning from await.
              $directories = $async$result;
              $async$returnValue = P.List_List$from($directories == null ? [] : $directories, true, t1);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getPubRootDirectories$0, $async$completer);
    },
    get$disposed: function() {
      return this.disposed;
    }
  };
  E.ObjectGroup__callServiceExtension_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, json, t1, t2, t3, t4, r;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = t1.inspectorService;
              t3 = $async$self.extension;
              t4 = t2.inspectorLibrary._isolateRef;
              $async$goto = 3;
              return P._asyncAwait(t2.vmService.callServiceExtension$3$args$isolateId(t3, $async$self.args, t4.get$id(t4)), $async$call$0);
            case 3:
              // returning from await.
              r = $async$result;
              if (t1.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              json = r.json;
              t1 = J.getInterceptor$asx(json);
              if (t1.$index(json, "errorMessage") != null)
                throw H.wrapException(P.Exception_Exception(t3 + " -- " + H.S(t1.$index(json, "errorMessage"))));
              $async$returnValue = t1.$index(json, "result");
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 118
  };
  E.FlutterTreeType.prototype = {
    toString$0: function(_) {
      return this._inspector_service$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  E.InspectorInstanceRef.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (other instanceof E.InspectorInstanceRef)
        return this.id == other.id;
      return false;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    toString$0: function(_) {
      return this.id;
    }
  };
  E.InspectorObjectGroupManager.prototype = {
    get$pendingUpdateDone: function() {
      var t1 = this._pendingNext;
      if (t1 != null)
        return t1.future;
      if (this._inspector_service$_next == null)
        return P.Future_Future$value(null, type$.void);
      t1 = new P._Future($.Zone__current, type$._Future_void);
      this._pendingNext = new P._AsyncCompleter(t1, type$._AsyncCompleter_void);
      return t1;
    },
    get$next: function(_) {
      var _this = this,
        t1 = _this._inspector_service$_next;
      if (t1 == null) {
        t1 = _this.inspectorService;
        t1.toString;
        t1 = _this._inspector_service$_next = E.ObjectGroup$(_this.debugName, t1);
      }
      return t1;
    },
    clear$1: function(_, isolateStopped) {
      var _this = this;
      if (isolateStopped) {
        _this._inspector_service$_current = null;
        _this._setNextNull$0();
      } else {
        _this.clearCurrent$0();
        _this.cancelNext$0();
      }
    },
    promoteNext$0: function() {
      var _this = this;
      _this.clearCurrent$0();
      _this._inspector_service$_current = _this._inspector_service$_next;
      _this._setNextNull$0();
    },
    clearCurrent$0: function() {
      var t1 = this._inspector_service$_current;
      if (t1 != null) {
        t1.dispose$0(0);
        this._inspector_service$_current = null;
      }
    },
    cancelNext$0: function() {
      var t1 = this._inspector_service$_next;
      if (t1 != null) {
        t1.dispose$0(0);
        this._setNextNull$0();
      }
    },
    _setNextNull$0: function() {
      this._inspector_service$_next = null;
      var t1 = this._pendingNext;
      if (t1 != null) {
        t1.complete$1(0, null);
        this._pendingNext = null;
      }
    }
  };
  E.FlutterInspectorLibraryNotFound.prototype = {};
  E._InspectorService_DisposableController_AutoDisposeControllerMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeControllerMixin__delegate.cancel$0(0);
      this.super$DisposableController$dispose(0);
    }
  };
  K.InspectorTreeNode.prototype = {
    set$isDirty: function(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: function(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, H.throwConcurrentModificationError)(t1), ++_i)
          t1[_i].updateShouldShow$1(value);
      }
    },
    get$shouldShow: function() {
      var t1 = this._shouldShow;
      if (t1 == null) {
        t1 = this._inspector_tree$_parent;
        if (t1 != null)
          t1 = t1._inspector_tree$_isExpanded && t1.get$shouldShow();
        else
          t1 = true;
        t1 = this._shouldShow = t1;
      }
      return t1;
    },
    get$children: function(_) {
      return this._inspector_tree$_children;
    },
    get$isExpanded: function() {
      return this._inspector_tree$_isExpanded;
    },
    get$showExpandCollapse: function() {
      var t1 = this._diagnostic;
      return ((t1 == null ? null : t1.get$hasChildren()) === true || this._inspector_tree$_children.length !== 0) && true;
    },
    set$isExpanded: function(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, H.throwConcurrentModificationError)(t1), ++_i)
            t1[_i].updateShouldShow$1(value);
      }
    },
    get$parent: function(_) {
      return this._inspector_tree$_parent;
    },
    set$parent: function(_, value) {
      this._inspector_tree$_parent = value;
      if (value != null)
        value.set$isDirty(true);
    },
    get$childrenCount: function() {
      var t1, t2, count, _i, _this = this;
      if (!_this._inspector_tree$_isExpanded)
        _this._childrenCount = 0;
      t1 = _this._childrenCount;
      if (t1 != null)
        return t1;
      for (t1 = _this._inspector_tree$_children, t2 = t1.length, count = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        count += t1[_i].get$childrenCount() + 1;
      return _this._childrenCount = count;
    },
    get$hasPlaceholderChildren: function() {
      var t1 = this._inspector_tree$_children;
      return t1.length === 1 && C.JSArray_methods.get$first(t1)._diagnostic == null;
    },
    getRowIndex$1: function(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, H.throwConcurrentModificationError)(t1), ++_i) {
          sibling = t1[_i];
          if (J.$eq$(sibling, node))
            break;
          index += sibling.get$childrenCount() + 1;
        }
        ++index;
      }
      return index;
    },
    getRow$1: function(index) {
      var node, current, depth, t1, style, t2, indented, children, i, child, current0,
        ticks = H._setArrayType([], type$.JSArray_legacy_int);
      if (this.get$childrenCount() + 1 <= index)
        return null;
      for (node = this, current = 0, depth = 0; true;) {
        t1 = node._diagnostic;
        if (t1 == null)
          style = null;
        else {
          t2 = t1._diagnostics_node$_style;
          if (t2 == null) {
            t2 = t1.getStyleMember$2("style", C.DiagnosticsTreeStyle_1);
            t1._diagnostics_node$_style = t2;
            style = t2;
          } else
            style = t2;
        }
        indented = style !== C.DiagnosticsTreeStyle_7 && style !== C.DiagnosticsTreeStyle_5;
        if (current === index) {
          t1 = node._diagnostic;
          if (!(t1 == null || t1.isProperty))
            if (index !== 0) {
              t1 = node._inspector_tree$_parent._inspector_tree$_children;
              if (t1.length > 1) {
                t1 = C.JSArray_methods.get$last(t1)._diagnostic;
                t1 = !(t1 == null || t1.isProperty);
              } else
                t1 = false;
            } else
              t1 = false;
          else
            t1 = false;
          return new K.InspectorTreeRow(node, ticks, depth, index, t1);
        }
        ++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) {
                t1 = C.JSArray_methods.get$last(children)._diagnostic;
                t1 = !(t1 == null || t1.isProperty);
              } else
                t1 = false;
            else
              t1 = false;
            if (t1)
              if (indented)
                ticks.push(depth);
            node = child;
            break;
          }
        }
        if (indented)
          ++depth;
      }
      return null;
    },
    appendChild$1: function(_, child) {
      this._inspector_tree$_children.push(child);
      child.set$parent(0, this);
      this.set$isDirty(true);
    },
    shouldShow$0: function() {
      return this.get$shouldShow().call$0();
    }
  };
  K.InspectorTreeRow.prototype = {
    get$node: function() {
      return this.node;
    },
    get$depth: function() {
      return this.depth;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  K.InspectorTreeConfig.prototype = {};
  K.InspectorTreeController.prototype = {
    set$root: function(_, node) {
      this.setState$1(new K.InspectorTreeController_root_closure(this, node));
    },
    set$selection: function(node) {
      if (node == this.InspectorTreeController__selection)
        return;
      this.setState$1(new K.InspectorTreeController_selection_closure(this, node));
    },
    getCachedRow$1: function(index) {
      var t1, t2, _this = this;
      if (_this.InspectorTreeController__root._inspector_tree$_isDirty) {
        C.JSArray_methods.set$length(_this.InspectorTreeController_cachedRows, 0);
        _this.InspectorTreeController__root.set$isDirty(false);
        _this.InspectorTreeController_lastContentWidth = null;
      }
      for (t1 = _this.InspectorTreeController_cachedRows; t1.length <= index;)
        t1.push(null);
      t2 = t1[index];
      if (t2 == null) {
        t2 = _this.InspectorTreeController__root.getRow$1(index);
        t1[index] = t2;
        t1 = t2;
      } else
        t1 = t2;
      return t1;
    },
    set$hover: function(node) {
      if (node == this.InspectorTreeController__hover)
        return;
      this.setState$1(new K.InspectorTreeController_hover_closure(this, node));
    },
    navigateLeft$0: function() {
      var _this = this,
        t1 = _this.InspectorTreeController__selection;
      if (t1 == null) {
        _this._navigateHelper$1(-1);
        return;
      }
      if (t1._inspector_tree$_isExpanded) {
        _this.setState$1(new K.InspectorTreeController_navigateLeft_closure(_this));
        return;
      }
      t1 = t1._inspector_tree$_parent;
      if (t1 != null)
        _this.set$selection(t1);
    },
    navigateRight$0: function() {
      var _this = this,
        t1 = _this.InspectorTreeController__selection;
      if (t1 == null || t1._inspector_tree$_isExpanded) {
        _this._navigateHelper$1(1);
        return;
      }
      _this.setState$1(new K.InspectorTreeController_navigateRight_closure(_this));
    },
    _navigateHelper$1: function(indexOffset) {
      var t2, t3, _this = this,
        t1 = _this.InspectorTreeController__root;
      if ((t1 != null ? t1.get$childrenCount() + 1 : 0) === 0)
        return;
      t1 = _this.InspectorTreeController__selection;
      if (t1 == null) {
        _this.set$selection(_this.InspectorTreeController__root);
        return;
      }
      t2 = _this.InspectorTreeController__root;
      t1 = t2.getRowIndex$1(t1);
      t3 = _this.InspectorTreeController__root;
      t3 = t3 != null ? t3.get$childrenCount() + 1 : 0;
      t3 = t2.getRow$1(C.JSInt_methods.clamp$2(t1 + indexOffset, 0, t3 - 1));
      _this.set$selection(t3 == null ? null : t3.node);
    },
    getDepthIndent$1: function(depth) {
      var t1;
      if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
        t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
        t1 = (t1 == null ? null : t1.embed) != null;
      } else
        t1 = true;
      t1 = t1 ? 12 : 16;
      return (depth + 1) * t1 + 10;
    },
    nodeChanged$1: function(node) {
      this.setState$1(new K.InspectorTreeController_nodeChanged_closure(node));
    },
    removeNodeFromParent$1: function(node) {
      this.setState$1(new K.InspectorTreeController_removeNodeFromParent_closure(node));
    },
    appendChild$2: function(_, node, child) {
      this.setState$1(new K.InspectorTreeController_appendChild_closure(node, child));
    },
    expandPath$1: function(node) {
      this.setState$1(new K.InspectorTreeController_expandPath_closure(this, node));
    },
    _expandPath$1: function(node) {
      for (; node != null;) {
        if (!node._inspector_tree$_isExpanded)
          node.set$isExpanded(true);
        node = node._inspector_tree$_parent;
      }
    },
    collapseToSelected$0: function() {
      this.setState$1(new K.InspectorTreeController_collapseToSelected_closure(this));
    },
    _collapseAllNodes$1: function(root) {
      root.set$isExpanded(false);
      C.JSArray_methods.forEach$1(root._inspector_tree$_children, this.get$_collapseAllNodes());
    },
    onExpandRow$1: function(row) {
      this.setState$1(new K.InspectorTreeController_onExpandRow_closure(this, row));
    },
    onCollapseRow$1: function(row) {
      this.setState$1(new K.InspectorTreeController_onCollapseRow_closure(row));
    },
    expandPropertiesByDefault$1: function(style) {
      switch (style) {
        case C.DiagnosticsTreeStyle_0:
        case C.DiagnosticsTreeStyle_8:
        case C.DiagnosticsTreeStyle_9:
          return false;
        case C.DiagnosticsTreeStyle_1:
        case C.DiagnosticsTreeStyle_2:
        case C.DiagnosticsTreeStyle_3:
        case C.DiagnosticsTreeStyle_4:
        case C.DiagnosticsTreeStyle_5:
        case C.DiagnosticsTreeStyle_6:
        case C.DiagnosticsTreeStyle_7:
        case C.DiagnosticsTreeStyle_10:
        case C.DiagnosticsTreeStyle_11:
          return true;
      }
      return true;
    },
    setupInspectorTreeNode$4$expandChildren$expandProperties: function(node, diagnosticsNode, expandChildren, expandProperties) {
      var styleIsMultiline, t1, t2;
      node._diagnostic = diagnosticsNode;
      node._inspector_tree$_isExpanded = diagnosticsNode.get$childrenReady();
      node.set$isDirty(true);
      this.InspectorTreeController__config.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;
          t1._maybePopulateChildren$0();
          t1 = t1._diagnostics_node$_children;
          t2 = expandChildren && styleIsMultiline;
          this.setupChildren$5$expandChildren$expandProperties(diagnosticsNode, node, t1, t2, expandProperties && styleIsMultiline);
        } else {
          C.JSArray_methods.set$length(node._inspector_tree$_children, 0);
          node.set$isDirty(true);
          node.appendChild$1(0, new K.InspectorTreeNode(H._setArrayType([], type$.JSArray_legacy_InspectorTreeNode)));
        }
      return node;
    },
    setupChildren$5$expandChildren$expandProperties: function($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(C.JSArray_methods.get$first(t1));
      inlineProperties = $parent.get$inlineProperties();
      if (inlineProperties != null)
        for (t1 = inlineProperties.length, t2 = type$.JSArray_legacy_InspectorTreeNode, _i = 0; _i < inlineProperties.length; inlineProperties.length === t1 || (0, H.throwConcurrentModificationError)(inlineProperties), ++_i) {
          property = inlineProperties[_i];
          _this.appendChild$2(0, treeNode, _this.setupInspectorTreeNode$4$expandChildren$expandProperties(new K.InspectorTreeNode(H._setArrayType([], t2)), property, expandProperties, expandProperties));
        }
      if (children != null)
        for (t1 = J.get$iterator$ax(children), t2 = type$.JSArray_legacy_InspectorTreeNode; t1.moveNext$0();) {
          t3 = t1.get$current(t1);
          _this.appendChild$2(0, treeNode, _this.setupInspectorTreeNode$4$expandChildren$expandProperties(new K.InspectorTreeNode(H._setArrayType([], t2)), t3, expandChildren, expandProperties));
        }
    },
    maybePopulateChildren$1: function(treeNode) {
      return this.maybePopulateChildren$body$InspectorTreeController(treeNode);
    },
    maybePopulateChildren$body$InspectorTreeController: function(treeNode) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, children, e, t1, exception, diagnostic, $async$exception;
      var $async$maybePopulateChildren$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._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.InspectorTreeController__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 = H.unwrapException($async$exception);
              B.log(J.toString$0$(e), C.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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$maybePopulateChildren$1, $async$completer);
    }
  };
  K.InspectorTreeController_root_closure.prototype = {
    call$0: function() {
      this.$this.InspectorTreeController__root = this.node;
    },
    $signature: 1
  };
  K.InspectorTreeController_selection_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.InspectorTreeController__selection;
      if (t2 != null)
        t2.selected = false;
      t2 = t1.InspectorTreeController__selection = this.node;
      if (t2 != null)
        t2.selected = true;
      t1.InspectorTreeController__config.onSelectionChange.call$0();
    },
    $signature: 1
  };
  K.InspectorTreeController_hover_closure.prototype = {
    call$0: function() {
      this.$this.InspectorTreeController__hover = this.node;
    },
    $signature: 1
  };
  K.InspectorTreeController_navigateLeft_closure.prototype = {
    call$0: function() {
      this.$this.InspectorTreeController__selection.set$isExpanded(false);
    },
    $signature: 1
  };
  K.InspectorTreeController_navigateRight_closure.prototype = {
    call$0: function() {
      this.$this.InspectorTreeController__selection.set$isExpanded(true);
    },
    $signature: 1
  };
  K.InspectorTreeController_nodeChanged_closure.prototype = {
    call$0: function() {
      this.node.set$isDirty(true);
    },
    $signature: 1
  };
  K.InspectorTreeController_removeNodeFromParent_closure.prototype = {
    call$0: function() {
      var t1 = this.node,
        t2 = t1._inspector_tree$_parent;
      if (t2 != null) {
        t1.set$parent(0, null);
        C.JSArray_methods.remove$1(t2._inspector_tree$_children, t1);
        t2.set$isDirty(true);
      }
    },
    $signature: 1
  };
  K.InspectorTreeController_appendChild_closure.prototype = {
    call$0: function() {
      this.node.appendChild$1(0, this.child);
    },
    $signature: 1
  };
  K.InspectorTreeController_expandPath_closure.prototype = {
    call$0: function() {
      this.$this._expandPath$1(this.node);
    },
    $signature: 1
  };
  K.InspectorTreeController_collapseToSelected_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.InspectorTreeController__root;
      t2.set$isExpanded(false);
      C.JSArray_methods.forEach$1(t2._inspector_tree$_children, t1.get$_collapseAllNodes());
      t2 = t1.InspectorTreeController__selection;
      if (t2 == null)
        return;
      t1._expandPath$1(t2);
    },
    $signature: 1
  };
  K.InspectorTreeController_onExpandRow_closure.prototype = {
    call$0: function() {
      var t1 = this.row.node;
      t1.set$isExpanded(true);
      this.$this.InspectorTreeController__config.onExpand.call$1(t1);
    },
    $signature: 1
  };
  K.InspectorTreeController_onCollapseRow_closure.prototype = {
    call$0: function() {
      this.row.node.set$isExpanded(false);
    },
    $signature: 1
  };
  K.InspectorTreeFixedRowHeightController.prototype = {
    animateToTargets$1: function(targets) {
      var t1, targetRect, _i, target, row, t2, t3, t4, t5, rowRect, _null = null;
      for (t1 = targets.length, targetRect = _null, _i = 0; _i < targets.length; targets.length === t1 || (0, H.throwConcurrentModificationError)(targets), ++_i) {
        target = targets[_i];
        row = this.getCachedRow$1(this.InspectorTreeController__root.getRowIndex$1(target));
        if (row != null) {
          t2 = row.depth;
          if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
            t3 = $.globals.$index(0, C.Type_IdeTheme_NnV);
            t3 = (t3 == null ? _null : t3.embed) != null;
          } else
            t3 = true;
          t3 = t3 ? 12 : 16;
          t3 = (t2 + 1) * t3 + 10;
          t2 = row.index;
          if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
            t4 = $.globals.$index(0, C.Type_IdeTheme_NnV);
            t4 = (t4 == null ? _null : t4.embed) != null;
          } else
            t4 = true;
          t4 = t4 ? 20 : 24;
          t5 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          if (t5 == null)
            t5 = _null;
          else {
            t5 = t5.fontSize;
            t5 = t5 != null ? t5 / 14 : 1;
          }
          t4 = C.JSNumber_methods.roundToDouble$0(t4 * (t5 == null ? 1 : t5));
          t5 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          if (t5 == null)
            t5 = _null;
          else {
            t5 = t5.fontSize;
            t5 = t5 != null ? t5 / 14 : 1;
          }
          t2 = t4 * t2 + C.JSNumber_methods.roundToDouble$0(10 * (t5 == null ? 1 : t5));
          if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
            t4 = $.globals.$index(0, C.Type_IdeTheme_NnV);
            t4 = (t4 == null ? _null : t4.embed) != null;
          } else
            t4 = true;
          t4 = t4 ? 20 : 24;
          t5 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          if (t5 == null)
            t5 = _null;
          else {
            t5 = t5.fontSize;
            t5 = t5 != null ? t5 / 14 : 1;
          }
          rowRect = new P.Rect(t3, t2, t3 + 1200, t2 + C.JSNumber_methods.roundToDouble$0(t4 * (t5 == null ? 1 : t5)));
          targetRect = targetRect == null ? rowRect : targetRect.expandToInclude$1(rowRect);
        }
      }
      if (targetRect == null || targetRect.get$isEmpty(targetRect))
        return;
      this.scrollToRect$1(targetRect.inflate$1(20));
    }
  };
  X._InspectorTreeRowWidget.prototype = {
    get$node: function() {
      return this.row.node;
    },
    createState$0: function() {
      var _null = null;
      return new X._InspectorTreeRowState(_null, _null, _null, _null, C._StateLifecycle_0);
    }
  };
  X._InspectorTreeRowState.prototype = {
    build$1: function(_, context) {
      var t1, t2, t3, t4, t5, t6;
      if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
        t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
        t1 = (t1 == null ? null : t1.embed) != null;
      } else
        t1 = true;
      t2 = B.scaleByFontFactor(t1 ? 20 : 24);
      t3 = this._widget;
      t4 = t3.row;
      t5 = t3.error;
      t6 = this.CollapsibleAnimationMixin_expandArrowAnimation;
      return T.SizedBox$(new X.InspectorRowContent(t4, t3.inspectorTreeState._widget.controller, new X._InspectorTreeRowState_build_closure(this), t6, t3.scrollControllerX, t3.viewportWidth, t5, null), t2, null);
    },
    get$isExpanded: function() {
      return this._widget.row.node._inspector_tree$_isExpanded;
    },
    onExpandChanged$1: function(expanded) {
      this.setState$1(new X._InspectorTreeRowState_onExpandChanged_closure(this, expanded));
    },
    shouldShow$0: function() {
      return this._widget.row.node.get$shouldShow();
    }
  };
  X._InspectorTreeRowState_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setExpanded$1(!t1._widget.row.node._inspector_tree$_isExpanded);
    },
    $signature: 1
  };
  X._InspectorTreeRowState_onExpandChanged_closure.prototype = {
    call$0: function() {
      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: 1
  };
  X.InspectorTreeControllerFlutter.prototype = {
    removeClient$1: function(value) {
      var t1 = this._clients;
      t1.remove$1(0, value);
      if (t1._collection$_length === 0)
        this.InspectorTreeController__config.onClientActiveChange.call$1(false);
    },
    scrollToRect$1: function(targetRect) {
      var t1;
      for (t1 = this._clients, t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
        t1._collection$_current.scrollToRect$1(targetRect);
    },
    setState$1: function(fn) {
      var t1;
      fn.call$0();
      for (t1 = this._clients, t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
        t1._collection$_current.onChanged$0();
    },
    get$maxRowIndent: function() {
      var maxIndent, i, t1, row, t2, _this = this;
      if (_this.InspectorTreeController_lastContentWidth == null) {
        maxIndent = 0;
        i = 0;
        while (true) {
          t1 = _this.InspectorTreeController__root;
          if (!(i < (t1 != null ? t1.get$childrenCount() + 1 : 0)))
            break;
          row = _this.getCachedRow$1(i);
          if (row != null) {
            t1 = row.depth;
            if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
              t2 = $.globals.$index(0, C.Type_IdeTheme_NnV);
              t2 = (t2 == null ? null : t2.embed) != null;
            } else
              t2 = true;
            t2 = t2 ? 12 : 16;
            maxIndent = Math.max(maxIndent, (t1 + 1) * t2 + 10);
          }
          ++i;
        }
        _this.InspectorTreeController_lastContentWidth = maxIndent + maxIndent;
        _this._maxIndent = maxIndent;
      }
      return _this._maxIndent;
    },
    requestFocus$0: function() {
      for (var t1 = this._clients, t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
        t1._collection$_current._inspector_tree_flutter$_focusNode.requestFocus$0();
    }
  };
  X.InspectorTree.prototype = {
    createState$0: function() {
      return new X._InspectorTreeState(K.Disposer$(), null, null, C._StateLifecycle_0);
    }
  };
  X._InspectorTreeState.prototype = {
    initState$0: function() {
      var _this = this, _null = null;
      _this.super$__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin$initState();
      _this._scrollControllerX = F.ScrollController$(0);
      _this._scrollControllerY = F.ScrollController$(0);
      if (_this._widget.isSummaryTree)
        _this.constraintDisplayController = G.AnimationController$(_null, C.Duration_400000, 0, _null, 1, _null, _this);
      _this._inspector_tree_flutter$_focusNode = O.FocusNode$(true, _null, true, _null, false);
      _this._bindToController$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this,
        t1 = oldWidget.controller;
      if (t1 != _this._widget.controller) {
        if (t1 != null)
          t1.removeClient$1(_this);
        _this.AutoDisposeMixin__delegate.cancel$0(0);
        _this._bindToController$0();
      }
      _this.super$State$didUpdateWidget(oldWidget);
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this.super$__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin$dispose(0);
      t1 = _this._widget.controller;
      if (t1 != null)
        t1.removeClient$1(_this);
      _this._scrollControllerX.dispose$0(0);
      _this._scrollControllerY.dispose$0(0);
      t1 = _this.constraintDisplayController;
      if (t1 != null)
        t1.dispose$0(0);
      _this._inspector_tree_flutter$_focusNode.dispose$0(0);
    },
    _computeTargetX$1: function(y) {
      var t1, t2, rowIndex, i, requiredOffset, minOffset, row, rowOffset, _this = this, _null = null;
      _this._widget.controller.toString;
      t1 = B.scaleByFontFactor(10);
      if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
        t2 = $.globals.$index(0, C.Type_IdeTheme_NnV);
        t2 = (t2 == null ? _null : t2.embed) != null;
      } else
        t2 = true;
      rowIndex = C.JSNumber_methods.$tdiv(y - t1, B.scaleByFontFactor(t2 ? 20 : 24));
      t1 = _this._widget.controller.InspectorTreeController__root;
      if (rowIndex === (t1 != null ? t1.get$childrenCount() + 1 : 0))
        return 0;
      y += _this.get$safeViewportHeight();
      i = rowIndex;
      requiredOffset = _null;
      minOffset = 1 / 0;
      while (true) {
        t1 = _this._widget.controller.InspectorTreeController__root;
        if (!(i < (t1 != null ? t1.get$childrenCount() + 1 : 0)))
          break;
        c$0: {
          _this._widget.controller.toString;
          if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
            t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
            t1 = (t1 == null ? _null : t1.embed) != null;
          } else
            t1 = true;
          t1 = t1 ? 20 : 24;
          t2 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          if (t2 == null)
            t2 = _null;
          else {
            t2 = t2.fontSize;
            t2 = t2 != null ? t2 / 14 : 1;
          }
          t1 = C.JSNumber_methods.roundToDouble$0(t1 * (t2 == null ? 1 : t2));
          t2 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          if (t2 == null)
            t2 = _null;
          else {
            t2 = t2.fontSize;
            t2 = t2 != null ? t2 / 14 : 1;
          }
          if (t1 * i + C.JSNumber_methods.roundToDouble$0(10 * (t2 == null ? 1 : t2)) >= y)
            break;
          row = _this._widget.controller.getCachedRow$1(i);
          if (row == null)
            break c$0;
          t1 = _this._widget.controller.getCachedRow$1(i);
          t1 = t1 == null ? _null : t1.depth;
          if (t1 == null)
            t1 = 0;
          if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
            t2 = $.globals.$index(0, C.Type_IdeTheme_NnV);
            t2 = (t2 == null ? _null : t2.embed) != null;
          } else
            t2 = true;
          rowOffset = t1 * (t2 ? 12 : 16);
          if (row.node.selected)
            requiredOffset = rowOffset;
          minOffset = Math.min(minOffset, rowOffset);
        }
        ++i;
      }
      if (requiredOffset == null)
        return minOffset;
      return minOffset;
    },
    scrollToRect$1: function(rect) {
      return this.scrollToRect$body$_InspectorTreeState(rect);
    },
    scrollToRect$body$_InspectorTreeState: function(rect) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, targetY, t1, targetX, exception, $async$exception;
      var $async$scrollToRect$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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._scrollControllerY;
              if (t1._positions.length !== 0)
                $async$self.currentAnimateY = t1.animateTo$3$curve$duration(targetY, C.Cubic_oKc, C.Duration_400000);
              else {
                $async$self.currentAnimateY = null;
                $async$self._scrollControllerY = F.ScrollController$(targetY);
              }
              targetX = $async$self._computeTargetX$1(targetY);
              t1 = $async$self._scrollControllerX;
              if (t1._positions.length !== 0)
                t1.animateTo$3$curve$duration(targetX, C.Cubic_oKc, C.Duration_400000);
              else
                $async$self._scrollControllerX = F.ScrollController$(targetX);
              $async$handler = 4;
              $async$goto = 7;
              return P._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;
              H.unwrapException($async$exception);
              // 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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$scrollToRect$1, $async$completer);
    },
    get$safeViewportHeight: function() {
      var t1 = this._scrollControllerY._positions;
      if (t1.length !== 0) {
        t1 = C.JSArray_methods.get$single(t1)._viewportDimension;
        t1.toString;
      } else
        t1 = 1000;
      return t1;
    },
    _computeTargetOffsetY$2: function(minOffset, maxOffset) {
      var currentOffset, viewportDimension,
        t1 = this._scrollControllerY;
      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, H.checkNum(maxOffset));
      if (currentOffset <= minOffset && viewportDimension + currentOffset >= maxOffset)
        return currentOffset;
      if (currentOffset > minOffset)
        return minOffset;
      return maxOffset - viewportDimension;
    },
    _inspector_tree_flutter$_handleKeyEvent$2: function(_, $event) {
      var t1, _this = this;
      if (!($event instanceof B.RawKeyDownEvent))
        return C.KeyEventResult_1;
      t1 = $event.data;
      if (t1.get$logicalKey().$eq(0, C.LogicalKeyboardKey_68719477505)) {
        _this._widget.controller._navigateHelper$1(1);
        return C.KeyEventResult_0;
      } else if (t1.get$logicalKey().$eq(0, C.LogicalKeyboardKey_68719477508)) {
        _this._widget.controller._navigateHelper$1(-1);
        return C.KeyEventResult_0;
      } else if (t1.get$logicalKey().$eq(0, C.LogicalKeyboardKey_68719477506)) {
        _this._widget.controller.navigateLeft$0();
        return C.KeyEventResult_0;
      } else if (t1.get$logicalKey().$eq(0, C.LogicalKeyboardKey_68719477507)) {
        _this._widget.controller.navigateRight$0();
        return C.KeyEventResult_0;
      }
      return C.KeyEventResult_1;
    },
    _bindToController$0: function() {
      var t2, t3,
        t1 = this._widget.controller;
      if (t1 != null) {
        t2 = t1._clients;
        t3 = t2._collection$_length;
        t2.add$1(0, this);
        if (t3 === 0)
          t1.InspectorTreeController__config.onClientActiveChange.call$1(true);
      }
    },
    onChanged$0: function() {
      this.setState$1(new X._InspectorTreeState_onChanged_closure());
    },
    build$1: function(_, context) {
      var t1;
      this.super$AutomaticKeepAliveClientMixin$build(0, context);
      t1 = this._widget.controller;
      if (t1 == null)
        return C.CenteredCircularProgressIndicator_null;
      t1 = t1.InspectorTreeController__root;
      if ((t1 != null ? t1.get$childrenCount() + 1 : 0) === 0)
        return C.SizedBox_null_null_null_null;
      return new A.LayoutBuilder(new X._InspectorTreeState_build_closure(this), null);
    },
    get$wantKeepAlive: function() {
      return true;
    },
    $isInspectorControllerClient: 1
  };
  X._InspectorTreeState_onChanged_closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  X._InspectorTreeState_build_closure.prototype = {
    call$2: function(context, constraints) {
      var t9, t10, _null = null,
        viewportWidth = constraints.maxWidth,
        t1 = this.$this,
        t2 = t1._scrollControllerX,
        t3 = t1._widget.controller.get$maxRowIndent(),
        t4 = t1._inspector_tree_flutter$_focusNode,
        t5 = t4.get$requestFocus(),
        t6 = t1._widget.isSummaryTree,
        t7 = t1._scrollControllerY,
        t8 = t1._scrollControllerX;
      if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
        t9 = $.globals.$index(0, C.Type_IdeTheme_NnV);
        t9 = (t9 == null ? _null : t9.embed) != null;
      } else
        t9 = true;
      t10 = B.scaleByFontFactor(t9 ? 20 : 24);
      t9 = t1._widget.controller.InspectorTreeController__root;
      t9 = t9 != null ? t9.get$childrenCount() + 1 : 0;
      return E.Scrollbar$(E.SingleChildScrollView$(new T.ConstrainedBox(new S.BoxConstraints(0, 1200 + t3, 0, 1 / 0), D.GestureDetector$(_null, L.Focus$(t6, _null, new B.OffsetScrollbar(true, C.Axis_1, t7, t8, B.ListView$custom(new G.SliverChildBuilderDelegate(new X._InspectorTreeState_build__closure(t1, viewportWidth), t9 + 1, true, true, true, G.sliver0___kDefaultSemanticIndexCallback$closure()), t1._scrollControllerY, t10, _null), viewportWidth, _null), _null, true, t4, true, _null, _null, t1.get$_inspector_tree_flutter$_handleKeyEvent(), _null), C.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t5, _null, _null, _null, _null, _null, _null), _null), t2, C.DragStartBehavior_1, _null, _null, false, C.Axis_0), t2, true);
    },
    $signature: 307
  };
  X._InspectorTreeState_build__closure.prototype = {
    call$2: function(context, index) {
      var row, t3, inspectorRef, t4, _null = null,
        t1 = this.$this,
        t2 = t1._widget.controller.InspectorTreeController__root;
      if (index === (t2 != null ? t2.get$childrenCount() + 1 : 0)) {
        if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
          t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          t1 = (t1 == null ? _null : t1.embed) != null;
        } else
          t1 = true;
        return T.SizedBox$(_null, B.scaleByFontFactor(t1 ? 20 : 24), _null);
      }
      t2 = t1._widget.controller.InspectorTreeController__root;
      row = t2 == null ? _null : t2.getRow$1(index);
      t2 = row.node;
      t3 = t2._diagnostic;
      t3 = t3 == null ? _null : new E.InspectorInstanceRef(J.$index$asx(t3.json, "valueId"));
      inspectorRef = t3 == null ? _null : t3.id;
      t3 = t1._scrollControllerX;
      t4 = t1._widget.widgetErrors;
      t4 = t4 != null && inspectorRef != null ? t4.$index(0, inspectorRef) : _null;
      return new X._InspectorTreeRowWidget(t1, row, t3, this.viewportWidth, t4, new S.PageStorageKey(t2, type$.PageStorageKey_legacy_InspectorTreeNode));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  X._RowPainter.prototype = {
    paint$2: function(canvas, size) {
      var showExpandCollapse, t2, t3, t4, _i, tick, t5, t6, currentX, width, _null = null,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, this.colorScheme.brightness === C.Brightness_1 ? C.Color_2315255808 : C.Color_4291348680);
      paint.set$strokeWidth(1);
      t1 = this.row;
      showExpandCollapse = t1.node.get$showExpandCollapse();
      for (t2 = t1.ticks, t3 = t2.length, t4 = this._inspector_tree_flutter$_controller, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
        tick = t2[_i];
        t4.toString;
        if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
          t5 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          t5 = (t5 == null ? _null : t5.embed) != null;
        } else
          t5 = true;
        t5 = t5 ? 12 : 16;
        if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
          t6 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          t6 = (t6 == null ? _null : t6.embed) != null;
        } else
          t6 = true;
        t6 = t6 ? 12 : 16;
        currentX = (tick + 1) * t5 + 10 - t6 * 0.5;
        if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
          t5 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          t5 = (t5 == null ? _null : t5.embed) != null;
        } else
          t5 = true;
        t5 = t5 ? 20 : 24;
        t6 = $.globals.$index(0, C.Type_IdeTheme_NnV);
        if (t6 == null)
          t6 = _null;
        else {
          t6 = t6.fontSize;
          t6 = t6 != null ? t6 / 14 : 1;
        }
        canvas.drawLine$3(0, new P.Offset(currentX, 0), new P.Offset(currentX, C.JSNumber_methods.roundToDouble$0(t5 * (t6 == null ? 1 : t6))), paint);
      }
      if (t1.lineToParent) {
        t1 = t4.getDepthIndent$1(t1.depth - 1);
        if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
          t2 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          t2 = (t2 == null ? _null : t2.embed) != null;
        } else
          t2 = true;
        currentX = t1 - (t2 ? 12 : 16) * 0.5;
        if (showExpandCollapse) {
          if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
            t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
            t1 = (t1 == null ? _null : t1.embed) != null;
          } else
            t1 = true;
          width = (t1 ? 12 : 16) * 0.5;
        } else {
          if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
            t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
            t1 = (t1 == null ? _null : t1.embed) != null;
          } else
            t1 = true;
          width = t1 ? 12 : 16;
        }
        if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
          t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          t1 = (t1 == null ? _null : t1.embed) != null;
        } else
          t1 = true;
        canvas.drawLine$3(0, new P.Offset(currentX, 0), new P.Offset(currentX, B.scaleByFontFactor(t1 ? 20 : 24) * 0.5), paint);
        if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
          t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          t1 = (t1 == null ? _null : t1.embed) != null;
        } else
          t1 = true;
        t2 = B.scaleByFontFactor(t1 ? 20 : 24);
        if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
          t1 = $.globals.$index(0, C.Type_IdeTheme_NnV);
          t1 = (t1 == null ? _null : t1.embed) != null;
        } else
          t1 = true;
        canvas.drawLine$3(0, new P.Offset(currentX, t2 * 0.5), new P.Offset(currentX + width, B.scaleByFontFactor(t1 ? 20 : 24) * 0.5), paint);
      }
    },
    shouldRepaint$1: function(oldDelegate) {
      if (oldDelegate instanceof X._RowPainter)
        return oldDelegate.colorScheme.brightness === C.Brightness_1 !== (this.colorScheme.brightness === C.Brightness_1);
      return true;
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  X.InspectorRowContent.prototype = {
    build$1: function(_, context) {
      var t4, currentX, colorScheme, backgroundColor, t5, t6, t7, t8, t9, t10, t11, rowWidget, _this = this, _null = null,
        t1 = _this.controller,
        t2 = _this.row,
        t3 = t1.getDepthIndent$1(t2.depth);
      if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
        t4 = $.globals.$index(0, C.Type_IdeTheme_NnV);
        t4 = (t4 == null ? _null : t4.embed) != null;
      } else
        t4 = true;
      currentX = t3 - (t4 ? 12 : 16);
      colorScheme = K.Theme_of(context).colorScheme;
      t3 = t2.node;
      if (t3.selected)
        if (_this.error != null)
          backgroundColor = C.Color_4289675348;
        else
          backgroundColor = colorScheme.brightness === C.Brightness_1 ? C.Color_4291477317 : C.Color_4284704103;
      else if (t3 === t1.InspectorTreeController__hover)
        backgroundColor = colorScheme.brightness === C.Brightness_1 ? C.MaterialAccentColor_Map_iTwHq_4294967040 : C.Color_4282796364;
      else
        backgroundColor = _null;
      t4 = t3.get$showExpandCollapse() ? R.InkWell$(false, true, K.RotationTransition$(C.Icon_8aB, _this.expandArrowAnimation), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.onToggle, _null, _null, _null, _null, _null) : C.SizedBox_16_16_null_null;
      t5 = _this.error;
      t6 = t5 == null;
      t7 = !t6;
      t8 = t7 ? F.Border_Border$all(C.Color_4289675348, 1) : _null;
      if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
        t9 = $.globals.$index(0, C.Type_IdeTheme_NnV);
        t9 = (t9 == null ? _null : t9.embed) != null;
      } else
        t9 = true;
      t10 = B.scaleByFontFactor(t9 ? 20 : 24);
      t11 = t3._diagnostic;
      t3 = t3.selected;
      rowWidget = new T.Padding(new V.EdgeInsets(currentX, 0, 0, 0), T.Row$(H._setArrayType([t4, T.Expanded$(M.DecoratedBox$(R.InkWell$(false, true, M.Container$(_null, new Y.DiagnosticsNodeDescription(t11, t3, t6 ? _null : t5.errorMessage, _null), C.Clip_0, _null, _null, _null, _null, t10, _null, _null, C.EdgeInsets_4_0_4_0, _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new X.InspectorRowContent_build_closure(_this), _null, _null, _null, _null, _null), new S.BoxDecoration(backgroundColor, _null, t8, _null, _null, _null, _null, C.BoxShape_0), C.DecorationPosition_0), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null), _null);
      if (t7)
        rowWidget = U.DevToolsTooltip$(rowWidget, _null, t5.errorMessage);
      if (!($.globals.$index(0, C.Type_PreferencesController_1KB) != null && $.globals.$index(0, C.Type_PreferencesController_1KB)._denseMode._value)) {
        t3 = $.globals.$index(0, C.Type_IdeTheme_NnV);
        t3 = (t3 == null ? _null : t3.embed) != null;
      } else
        t3 = true;
      t4 = B.scaleByFontFactor(t3 ? 20 : 24);
      return T.CustomPaint$(new T.Align(C.Alignment_m1_m1, _null, _null, K.AnimatedBuilder$(_this.scrollControllerX, new X.InspectorRowContent_build_closure0(_this, currentX), rowWidget), _null), _null, _null, new X._RowPainter(t1, t2, colorScheme, _null), new P.Size(currentX, t4));
    }
  };
  X.InspectorRowContent_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.controller;
      t1 = t1.row.node;
      t2.set$selection(t1);
      t2.expandPath$1(t1);
      t2.requestFocus$0();
    },
    $signature: 1
  };
  X.InspectorRowContent_build_closure0.prototype = {
    call$2: function(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 T.SizedBox$(rowWidth > t1 ? child : C.SizedBox_null_null_null_null, null, t2);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 359
  };
  X._InspectorTreeControllerFlutter_Object_InspectorTreeController.prototype = {};
  X._InspectorTreeControllerFlutter_Object_InspectorTreeController_InspectorTreeFixedRowHeightController.prototype = {};
  X.__InspectorTreeRowState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  X.__InspectorTreeRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin.prototype = {
    initState$0: function() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _null, _this);
      _this.CollapsibleAnimationMixin_expandController = t1;
      t1 = S.CurvedAnimation$(C.Cubic_oKc, t1, _null);
      _this.CollapsibleAnimationMixin_expandCurve = t1;
      t2 = type$.Tween_legacy_double;
      _this.CollapsibleAnimationMixin_expandArrowAnimation = new R._AnimatedEvaluation(t1, new R.Tween(0.75, 1, t2), t2._eval$1("_AnimatedEvaluation<Animatable.T>"));
      if (_this._widget.row.node._inspector_tree$_isExpanded)
        _this.CollapsibleAnimationMixin_expandController.set$value(0, 1);
    },
    dispose$0: function(_) {
      this.CollapsibleAnimationMixin_expandController.dispose$0(0);
      this.super$__InspectorTreeRowState_State_TickerProviderStateMixin$dispose(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget.row.node._inspector_tree$_isExpanded;
      t2 = this.CollapsibleAnimationMixin_expandController;
      if (t1)
        t2.forward$0(0);
      else
        t2.reverse$0(0);
    }
  };
  X.__InspectorTreeState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  X.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._ensureKeepAlive$0();
    },
    deactivate$0: function() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  X.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$__InspectorTreeState_State_SingleTickerProviderStateMixin$dispose(0);
    }
  };
  S.BoxLayoutExplorerWidget.prototype = {
    createState$0: function() {
      var t1 = new S._BoxLayoutExplorerWidgetState(null, C._StateLifecycle_0);
      t1._onSelectionChangedCallback = t1.get$onSelectionChanged();
      return t1;
    }
  };
  S._BoxLayoutExplorerWidgetState.prototype = {
    getRoot$1: function(node) {
      if (this.get$selectedNode() == null)
        return null;
      return node;
    },
    shouldDisplay$1: function(node) {
      return this.get$selectedNode() != null;
    },
    computeAnimatedProperties$1: function(nextProperties) {
      var t1 = this._animatedProperties;
      t1 = t1 == null ? null : t1.copyWith$0();
      if (t1 == null)
        t1 = this.get$properties();
      return B.AnimatedLayoutProperties$(t1, nextProperties, this.changeAnimation, type$.legacy_LayoutProperties);
    },
    computeLayoutProperties$1: function(node) {
      return N.LayoutProperties$(node, 1);
    },
    updateHighlighted$1: function(newProperties) {
      this.setState$1(new S._BoxLayoutExplorerWidgetState_updateHighlighted_closure(this, newProperties));
    },
    build$1: function(_, context) {
      var _null = null;
      if (this.get$properties() == null)
        return C.SizedBox_null_null_null_null;
      return M.Container$(_null, K.AnimatedBuilder$(this.changeController, new S._BoxLayoutExplorerWidgetState_build_closure(this), _null), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_8_8_8_8, C.EdgeInsets_0_0_8_8, _null, _null, _null);
    },
    _buildChild$1: function(context) {
      var parentSize, t1, offset, _this = this, _null = null,
        colorScheme = K.Theme_of(context).colorScheme,
        parentProperties = _this.get$parentProperties();
      if (parentProperties == null)
        parentProperties = _this.get$properties();
      parentSize = parentProperties.get$size(parentProperties);
      t1 = _this.get$properties().get$node();
      offset = t1 == null ? _null : M.RemoteDiagnosticsNode_deserializeParentData(J.$index$asx(t1.json, "parentData"));
      if (offset == null)
        offset = new S.BoxParentData(C.Offset_0_0);
      if (J.get$size$x(_this.get$properties()) == null)
        return T.Center$(L.Text$("Visualizing layouts for " + H.S(J.get$description$x(_this.get$properties())) + " widgets is not yet supported.", _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null);
      return new A.LayoutBuilder(new S._BoxLayoutExplorerWidgetState__buildChild_closure(_this, offset, parentSize, colorScheme), _null);
    },
    get$parentProperties: function() {
      var parentElement, parentProperties, _null = null,
        t1 = this.get$properties();
      t1 = t1 == null ? _null : t1.get$node();
      parentElement = t1 == null ? _null : t1.get$parentRenderElement();
      if (parentElement == null)
        return _null;
      parentProperties = N.LayoutProperties$(parentElement, 1);
      if (parentProperties.size == null)
        return _null;
      return parentProperties;
    },
    _box0$_buildLayout$2: function(context, constraints) {
      var _null = null,
        maxHeight = constraints.maxHeight,
        maxWidth = constraints.maxWidth,
        widget = this._buildChild$1(context),
        parentProperties = this.get$parentProperties();
      if (parentProperties != null)
        widget = B.WidgetVisualizer$(new Q.VisualizeWidthAndHeightWithConstraints(new T.Padding(C.EdgeInsets_8_8_8_8, widget, _null), parentProperties, 16, false, _null), _null, false, true, parentProperties, _null, S.describeBoxName(parentProperties));
      return M.Container$(_null, widget, C.Clip_0, _null, new S.BoxConstraints(0, maxWidth, 0, maxHeight), _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  S._BoxLayoutExplorerWidgetState_updateHighlighted_closure.prototype = {
    call$0: function() {
      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: 1
  };
  S._BoxLayoutExplorerWidgetState_build_closure.prototype = {
    call$2: function(context, _) {
      return new A.LayoutBuilder(this.$this.get$_box0$_buildLayout(), null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 353
  };
  S._BoxLayoutExplorerWidgetState__buildChild_closure.prototype = {
    call$2: function(context, constraints) {
      var heights, displayWidths, displayHeights, widgetWidth, widgetHeight, t11, _this = this, _null = null,
        t1 = constraints.maxHeight,
        t2 = constraints.maxWidth,
        t3 = type$.JSArray_legacy_double,
        minFractions = H._setArrayType([0.2, 0.5, 0.2], t3),
        t4 = new S._BoxLayoutExplorerWidgetState__buildChild_closure_nullOutZero(),
        t5 = _this.offset,
        t6 = t4.call$1(t5.offset._dx),
        t7 = _this.$this,
        t8 = J.get$size$x(t7.get$properties())._dx,
        safeParentSize = _this.parentSize,
        t9 = safeParentSize == null,
        t10 = !t9,
        widths = H._setArrayType([t6, t8, t4.call$1(t10 ? safeParentSize._dx - (J.get$size$x(t7.get$properties())._dx + t5.offset._dx) : 0)], t3);
      t6 = t4.call$1(t5.offset._dy);
      t8 = J.get$size$x(t7.get$properties())._dy;
      heights = H._setArrayType([t6, t8, t4.call$1(t10 ? safeParentSize._dy - (J.get$size$x(t7.get$properties())._dy + t5.offset._dy) : 0)], t3);
      displayWidths = S._BoxLayoutExplorerWidgetState_minFractionLayout(t2 - 2, minFractions, widths);
      displayHeights = S._BoxLayoutExplorerWidgetState_minFractionLayout(t1 - 2, minFractions, heights);
      widgetWidth = displayWidths[1];
      widgetHeight = displayHeights[1];
      if (t9)
        safeParentSize = J.get$size$x(t7.get$properties());
      t3 = F.Border_Border$all(C.Color_4287148510, 1);
      t4 = H._setArrayType([new B.LayoutExplorerBackground(_this.colorScheme, _null)], type$.JSArray_legacy_Widget);
      t5 = widths[0];
      if (t5 != null) {
        t6 = displayWidths[0];
        t8 = displayHeights[0];
        t9 = safeParentSize._dy;
        t4.push(new U.PaddingVisualizerWidget(N.RenderProperties$(C.Axis_0, true, t7.get$properties(), new P.Offset(0, t8), new P.Size(t5, t9), new P.Size(t6, widgetHeight)), true, _null));
      }
      t5 = heights[0];
      if (t5 != null) {
        t6 = displayHeights[0];
        t8 = displayWidths[0];
        t9 = safeParentSize._dx;
        t4.push(new U.PaddingVisualizerWidget(N.RenderProperties$(C.Axis_0, true, t7.get$properties(), new P.Offset(t8, 0), new P.Size(t9, t5), new P.Size(widgetWidth, t6)), false, _null));
      }
      t5 = widths[2];
      if (t5 != null) {
        t6 = displayWidths[2];
        t8 = displayWidths[0];
        t9 = displayWidths[1];
        t10 = displayHeights[0];
        t11 = safeParentSize._dy;
        t4.push(new U.PaddingVisualizerWidget(N.RenderProperties$(C.Axis_0, true, t7.get$properties(), new P.Offset(t8 + t9, t10), new P.Size(t5, t11), new P.Size(t6, widgetHeight)), true, _null));
      }
      t5 = heights[2];
      if (t5 != null) {
        t6 = displayHeights[2];
        t8 = displayWidths[0];
        t9 = displayHeights[0];
        t10 = displayHeights[1];
        t11 = safeParentSize._dx;
        t4.push(new U.PaddingVisualizerWidget(N.RenderProperties$(C.Axis_0, true, t7.get$properties(), new P.Offset(t8, t9 + t10), new P.Size(t11, t5), new P.Size(widgetWidth, t6)), false, _null));
      }
      t5 = t7.get$properties();
      t6 = displayWidths[0];
      t8 = displayHeights[0];
      t9 = J.get$size$x(t7.get$properties());
      t4.push(new S.BoxChildVisualizer(t7, true, t5, N.RenderProperties$(C.Axis_0, false, t7.get$properties(), new P.Offset(t6, t8), t9, new P.Size(widgetWidth, widgetHeight)), _null));
      return M.Container$(_null, T.Stack$(C.AlignmentDirectional_m1_m1, t4, C.Clip_1, C.StackFit_0, _null, _null), C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, t3, _null, _null, _null, _null, C.BoxShape_0), _null, t1, _null, _null, _null, _null, _null, t2);
    },
    $signature: 361
  };
  S._BoxLayoutExplorerWidgetState__buildChild_closure_nullOutZero.prototype = {
    call$1: function(value) {
      return value !== 0 ? value : null;
    },
    $signature: 59
  };
  S.BoxChildVisualizer.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.renderProperties,
        t2 = t1.width,
        t3 = t1.height,
        t4 = t1.dx,
        t5 = t1.dy,
        t6 = B.safePositiveDouble(t2),
        t7 = B.safePositiveDouble(t3),
        t8 = _this.state.entranceController,
        t9 = S.describeBoxName(t1.layoutProperties);
      return T.Positioned$(_null, R.InkWell$(false, true, T.SizedBox$(K.AnimatedBuilder$(t8, new S.BoxChildVisualizer_build_buildEntranceAnimation(_this, new P.Size(t2, t3)), B.WidgetVisualizer$(new Q.VisualizeWidthAndHeightWithConstraints(_null, t1.layoutProperties, 8, false, _null), _null, true, true, _this.layoutProperties, _null, t9)), t7, t6), _null, true, _null, _null, _null, _null, _null, _null, new S.BoxChildVisualizer_build_closure(_this), _null, _null, _null, new S.BoxChildVisualizer_build_closure0(_this), new S.BoxChildVisualizer_build_closure1(_this), _null, _null, _null, _null, _null), _null, _null, t4, _null, t5, _null);
    }
  };
  S.BoxChildVisualizer_build_buildEntranceAnimation.prototype = {
    call$2: function(context, child) {
      var t2, t3,
        size = this.renderSize,
        t1 = this.$this.state.entranceCurve;
      t1 = V.min(H._setArrayType([t1.get$value(t1) * 5, 1], type$.JSArray_legacy_double));
      t2 = size._dx;
      t2 = Math.max(0, (t2 - t2) / 2);
      t3 = size._dy;
      t3 = Math.max(0, (t3 - t3) / 2);
      return T.Opacity$(false, new T.Padding(new V.EdgeInsets(t2, t3, t2, t3), child, null), t1);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 165
  };
  S.BoxChildVisualizer_build_closure1.prototype = {
    call$0: function() {
      var t1 = this.$this;
      return t1.state.onTap$1(t1.renderProperties.layoutProperties);
    },
    $signature: 3
  };
  S.BoxChildVisualizer_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.renderProperties.layoutProperties.get$node();
      t1.state._widget.get$inspectorController().refreshSelection$3(t2, t2, true);
      return null;
    },
    $signature: 0
  };
  S.BoxChildVisualizer_build_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.renderProperties.layoutProperties.get$node();
      t1.state._widget.get$inspectorController().refreshSelection$3(t2, t2, true);
      return null;
    },
    $signature: 0
  };
  F.FlexLayoutExplorerWidget.prototype = {
    createState$0: function() {
      var t1 = new F._FlexLayoutExplorerWidgetState(F.ScrollController$(0), null, C._StateLifecycle_0);
      t1._onSelectionChangedCallback = t1.get$onSelectionChanged();
      return t1;
    }
  };
  F._FlexLayoutExplorerWidgetState.prototype = {
    getRoot$1: function(node) {
      if (!F.FlexLayoutExplorerWidget_shouldDisplay(this.get$selectedNode()))
        return null;
      node.toString;
      if (C.JSArray_methods.contains$1(H._setArrayType(["Row", "Column", "Flex"], type$.JSArray_legacy_String), H._asStringS(J.$index$asx(node.json, "widgetRuntimeType"))))
        return node;
      return node.parent;
    },
    shouldDisplay$1: function(node) {
      return F.FlexLayoutExplorerWidget_shouldDisplay(this.get$selectedNode());
    },
    computeAnimatedProperties$1: function(nextProperties) {
      var t1 = this._animatedProperties;
      t1 = t1 == null ? null : t1.copyWith$0();
      if (t1 == null)
        t1 = this.get$properties();
      return B.AnimatedFlexLayoutProperties$(t1, nextProperties, this.changeAnimation);
    },
    computeLayoutProperties$1: function(node) {
      return N.FlexLayoutProperties_FlexLayoutProperties$fromDiagnostics(node);
    },
    updateHighlighted$1: function(newProperties) {
      this.setState$1(new F._FlexLayoutExplorerWidgetState_updateHighlighted_closure(this, newProperties));
    },
    _buildAxisAlignmentDropdown$2: function(axis, colorScheme) {
      var color, selected, alignmentEnumEntries, t1, t2, t3, t4, t5, t6, t7, _i, alignment, t8, description, t9, t10, t11, _this = this, _null = null, _box_0 = {};
      if (axis === J.get$direction$x(_this.get$properties()))
        color = C.Color_4279465404;
      else
        color = colorScheme.brightness === C.Brightness_1 ? C.Color_4284901164 : C.Color_4289974874;
      _box_0.alignmentEnumEntries = null;
      if (axis === J.get$direction$x(_this.get$properties())) {
        _box_0.alignmentEnumEntries = C.List_NT8;
        selected = _this.get$properties().get$mainAxisAlignment();
      } else {
        alignmentEnumEntries = H._setArrayType(C.List_sBE.slice(0), type$.JSArray_legacy_CrossAxisAlignment);
        _box_0.alignmentEnumEntries = alignmentEnumEntries;
        if (J.get$textBaseline$x(_this.get$properties()) == null)
          C.JSArray_methods.remove$1(alignmentEnumEntries, C.CrossAxisAlignment_4);
        selected = _this.get$properties().get$crossAxisAlignment();
      }
      t1 = axis === C.Axis_1 ? 3 : 0;
      if (axis === J.get$direction$x(_this.get$properties()))
        t2 = C.Color_4281097642;
      else
        t2 = C.Color_4287284818;
      t3 = H._setArrayType([], type$.JSArray_legacy_DropdownMenuItem_legacy_Object);
      for (t4 = _box_0.alignmentEnumEntries, t5 = t4.length, t6 = type$.JSArray_legacy_Widget, t7 = type$.DropdownMenuItem_legacy_Object, _i = 0; _i < t4.length; t4.length === t5 || (0, H.throwConcurrentModificationError)(t4), ++_i) {
        alignment = t4[_i];
        t8 = J.getInterceptor$(alignment);
        description = t8.toString$0(alignment);
        t9 = C.JSString_methods.substring$1(description, J.indexOf$1$asx(description, ".") + 1);
        t10 = _this._previousProperties;
        if (t10 == null)
          t10 = _this._animatedProperties;
        t10 = J.get$direction$x(t10 == null ? _this._layout_explorer_widget$_properties : t10);
        t11 = _this._previousProperties;
        if (axis === t10) {
          t10 = t11 == null ? _this._animatedProperties : t11;
          t10 = string$.assetsam + B.AxisExtension_get_flexType(J.get$direction$x(t10 == null ? _this._layout_explorer_widget$_properties : t10)).toLowerCase() + "_";
          description = t8.toString$0(alignment);
          t10 = t10 + C.JSString_methods.substring$1(description, C.JSString_methods.indexOf$1(description, ".") + 1) + ".png";
          t8 = t10;
        } else {
          t10 = t11 == null ? _this._animatedProperties : t11;
          t10 = string$.assetsac + B.AxisExtension_get_flexType(J.get$direction$x(t10 == null ? _this._layout_explorer_widget$_properties : t10)).toLowerCase() + "_";
          description = t8.toString$0(alignment);
          t10 = t10 + C.JSString_methods.substring$1(description, C.JSString_methods.indexOf$1(description, ".") + 1) + ".png";
          t8 = t10;
        }
        t3.push(new K.DropdownMenuItem(alignment, M.Container$(_null, T.Row$(H._setArrayType([new T.Expanded(1, C.FlexFit_0, new L.Text(t9, _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), C.TextAlign_2, _null, _null, C.TextOverflow_2, _null, _null, _null, _null), _null), new T.Flexible(1, C.FlexFit_1, U.Image$asset(t8, C.Alignment_0_0, color, C.BoxFit_4, _null, C.ImageRepeat_3), _null)], t6), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_1, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_0_8_0_8, _null, _null, _null), C.AlignmentDirectional_m1_0, _null, t7));
      }
      return new T.RotatedBox(t1, M.Container$(_null, K.DropdownButton$(t2, false, true, t3, _null, new F._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure(_this, axis), new F._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure0(_box_0, _this, color, axis), _null, C.SizedBox_null_null_null_null, selected, type$.legacy_Object), C.Clip_0, _null, C.BoxConstraints_0_220_0_220, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null);
    },
    build$1: function(_, context) {
      var _null = null;
      if (this.get$properties() == null)
        return C.SizedBox_null_null_null_null;
      return M.Container$(_null, K.AnimatedBuilder$(this.changeController, new F._FlexLayoutExplorerWidgetState_build_closure(this), _null), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_8_8_8_8, C.EdgeInsets_0_0_8_8, _null, _null, _null);
    },
    _flex0$_buildLayout$2: function(context, constraints) {
      var t7, _this = this, _null = null,
        colorScheme = K.Theme_of(context).colorScheme,
        maxHeight = constraints.maxHeight,
        maxWidth = constraints.maxWidth,
        t1 = J.get$type$x(_this.get$properties()),
        t2 = _this.get$properties(),
        t3 = _this.highlighted,
        t4 = _this.get$properties(),
        t5 = N.LayoutPropertiesExtension_get_overflowSide(_this.get$properties()),
        t6 = _this.get$properties();
      t6 = t6 == null ? _null : t6.get$totalFlex();
      t6 = M.Container$(_null, L.Text$("Total Flex Factor: " + H.S(t6 == null ? _null : C.JSNumber_methods.toInt$0(t6)), _null, _null, C.TextOverflow_2, _null, _null, C.TextStyle_0c4, _null, _null, 1.2), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_4_4_4, _null, _null, _null);
      t1 = M.Container$(_null, R.InkWell$(false, true, B.WidgetVisualizer$(new F.VisualizeFlexChildren(_this.get$properties(), _this.get$properties().get$displayChildren(), _this.highlighted, _this.scrollController, J.get$direction$x(_this.get$properties()), _this, _null), t6, t3 == null ? t4 == null : t3 === t4, false, t2, t5, t1), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new F._FlexLayoutExplorerWidgetState__buildLayout_closure(_this), _null, _null, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_56_48_0_0, _null, _null, _null, _null);
      if (_this.get$properties().get$isMainAxisVertical())
        t2 = C.Color_4281097642;
      else
        t2 = C.Color_4287284818;
      t3 = maxHeight <= 375;
      t4 = _this.get$properties().get$verticalDirectionDescription();
      if (_this.get$properties().get$isMainAxisVertical())
        t5 = C.Color_4279465404;
      else
        t5 = colorScheme.brightness === C.Brightness_1 ? C.Color_4284901164 : C.Color_4289974874;
      t6 = type$.JSArray_legacy_Widget;
      t3 = M.Container$(_null, T.Column$(H._setArrayType([T.Expanded$(V.ArrowWrapper$unidirectional(t2, new B.Truncateable(new T.RotatedBox(3, L.Text$(t4, _null, _null, C.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, t5, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), C.TextAlign_2, _null, 1.2), _null), t3, _null), C.ArrowType_3), 1), new B.Truncateable(_this._buildAxisAlignmentDropdown$2(C.Axis_1, colorScheme), t3, _null)], t6), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_0_56_0_0, _null, _null, _null, 48);
      if (_this.get$properties().get$isMainAxisHorizontal())
        t2 = C.Color_4281097642;
      else
        t2 = C.Color_4287284818;
      t4 = maxWidth <= 375;
      t5 = _this.get$properties().get$horizontalDirectionDescription();
      if (_this.get$properties().get$isMainAxisHorizontal())
        t7 = C.Color_4279465404;
      else
        t7 = colorScheme.brightness === C.Brightness_1 ? C.Color_4284901164 : C.Color_4289974874;
      return M.Container$(_null, T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([new T.Align(C.Alignment_m1_0, _null, _null, t1, _null), new T.Align(C.Alignment_m1_1, _null, _null, t3, _null), new T.Align(C.Alignment_1_m1, _null, _null, M.Container$(_null, T.Row$(H._setArrayType([T.Expanded$(V.ArrowWrapper$unidirectional(t2, new B.Truncateable(L.Text$(t5, _null, _null, C.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, t7, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), C.TextAlign_2, _null, 1.2), t4, _null), C.ArrowType_2), 1), new B.Truncateable(_this._buildAxisAlignmentDropdown$2(C.Axis_0, colorScheme), t4, _null)], t6), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, 48, _null, C.EdgeInsets_56_0_0_0, _null, _null, _null, _null), _null)], t6), C.Clip_1, C.StackFit_0, _null, _null), C.Clip_0, _null, new S.BoxConstraints(0, maxWidth, 0, maxHeight), _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  F._FlexLayoutExplorerWidgetState_updateHighlighted_closure.prototype = {
    call$0: function() {
      var idx,
        t1 = this.$this,
        t2 = t1.get$selectedNode();
      t2.toString;
      if (C.JSArray_methods.contains$1(H._setArrayType(["Row", "Column", "Flex"], type$.JSArray_legacy_String), H._asStringS(J.$index$asx(t2.json, "widgetRuntimeType"))))
        t1.highlighted = this.newProperties;
      else {
        t2 = t1.get$selectedNode();
        t2 = t2 == null ? null : t2.parent;
        if (t2 == null)
          t2 = null;
        else {
          t2._maybePopulateChildren$0();
          t2 = t2._diagnostics_node$_children;
        }
        idx = t2 == null ? null : J.indexOf$1$asx(t2, t1.get$selectedNode());
        if (idx == null)
          idx = -1;
        t2 = this.newProperties;
        if (t2 == null || t2.get$children(t2) == null)
          return;
        if (idx !== -1)
          t1.highlighted = t2.get$children(t2)[idx];
      }
    },
    $signature: 1
  };
  F._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure0.prototype = {
    call$1: function(context) {
      var t3, t4, t5, t6, t7, _i, alignment, t8, description, t9, t10, t11, _this = this, _null = null,
        t1 = type$.JSArray_legacy_Widget,
        t2 = H._setArrayType([], t1);
      for (t3 = _this._box_0.alignmentEnumEntries, t4 = t3.length, t5 = _this.color, t6 = _this.$this, t7 = _this.axis, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
        alignment = t3[_i];
        t8 = J.getInterceptor$(alignment);
        description = t8.toString$0(alignment);
        t9 = C.JSString_methods.substring$1(description, J.indexOf$1$asx(description, ".") + 1);
        t10 = t6._previousProperties;
        if (t10 == null)
          t10 = t6._animatedProperties;
        t10 = J.get$direction$x(t10 == null ? t6._layout_explorer_widget$_properties : t10);
        t11 = t6._previousProperties;
        if (t7 === t10) {
          t10 = t11 == null ? t6._animatedProperties : t11;
          t10 = string$.assetsam + B.AxisExtension_get_flexType(J.get$direction$x(t10 == null ? t6._layout_explorer_widget$_properties : t10)).toLowerCase() + "_";
          description = t8.toString$0(alignment);
          t10 = t10 + C.JSString_methods.substring$1(description, C.JSString_methods.indexOf$1(description, ".") + 1) + ".png";
          t8 = t10;
        } else {
          t10 = t11 == null ? t6._animatedProperties : t11;
          t10 = string$.assetsac + B.AxisExtension_get_flexType(J.get$direction$x(t10 == null ? t6._layout_explorer_widget$_properties : t10)).toLowerCase() + "_";
          description = t8.toString$0(alignment);
          t10 = t10 + C.JSString_methods.substring$1(description, C.JSString_methods.indexOf$1(description, ".") + 1) + ".png";
          t8 = t10;
        }
        t2.push(T.Row$(H._setArrayType([new T.Expanded(2, C.FlexFit_0, new L.Text(t9, _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), C.TextAlign_2, _null, _null, C.TextOverflow_2, _null, _null, _null, _null), _null), new T.Flexible(1, C.FlexFit_1, U.Image$asset(t8, C.Alignment_0_0, t5, C.BoxFit_4, 24, C.ImageRepeat_3), _null)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null));
      }
      return t2;
    },
    $signature: 197
  };
  F._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure.prototype = {
    call$1: function(newSelection) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, changedProperties, service, t2;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              changedProperties = $async$self.axis === J.get$direction$x(t1.get$properties()) ? t1.get$properties().copyWith$1$mainAxisAlignment(newSelection) : t1.get$properties().copyWith$1$crossAxisAlignment(newSelection);
              $async$goto = 2;
              return P._asyncAwait(t1.get$properties().get$node().inspectorService, $async$call$1);
            case 2:
              // returning from await.
              service = $async$result;
              t2 = J.$index$asx(t1.get$properties().get$node().json, "valueId");
              t1._layout_explorer_widget$_dirty = true;
              $async$goto = 3;
              return P._asyncAwait(service.invokeSetFlexProperties$3(new E.InspectorInstanceRef(t2), changedProperties.mainAxisAlignment, changedProperties.crossAxisAlignment), $async$call$1);
            case 3:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 363
  };
  F._FlexLayoutExplorerWidgetState_build_closure.prototype = {
    call$2: function(context, _) {
      return new A.LayoutBuilder(this.$this.get$_flex0$_buildLayout(), null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 353
  };
  F._FlexLayoutExplorerWidgetState__buildLayout_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      return t1.onTap$1(t1.get$properties());
    },
    $signature: 3
  };
  F.VisualizeFlexChildren.prototype = {
    createState$0: function() {
      return new F._VisualizeFlexChildrenState(C._StateLifecycle_0);
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  F._VisualizeFlexChildrenState.prototype = {
    build$1: function(_, 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 F._VisualizeFlexChildrenState_build_closure(_this));
      }
      if (!_this._widget.properties.get$hasChildren())
        return C.Center_Mi7;
      theme = K.Theme_of(context);
      return new Q.VisualizeWidthAndHeightWithConstraints(M.Container$(_null, new A.LayoutBuilder(new F._VisualizeFlexChildrenState_build_closure0(_this, theme.colorScheme), _null), C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, F.Border_Border$all(theme.primaryColorLight, 1), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, C.EdgeInsets_8_8_0_0, _null, _null, _null, _null), _this._widget.properties, 16, true, _null);
    }
  };
  F._VisualizeFlexChildrenState_build_closure.prototype = {
    call$1: function(_) {
      var selectedRenderObject,
        t1 = $.$get$_VisualizeFlexChildrenState_selectedChildKey();
      t1.toString;
      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)
        C.JSArray_methods.get$single(this.$this._widget.scrollController._positions).ensureVisible$3$alignment$duration(selectedRenderObject, 0.5, C.Duration_200000);
    },
    $signature: 51
  };
  F._VisualizeFlexChildrenState_build_closure0.prototype = {
    call$2: function(context, constraints) {
      var childrenRenderWidgets, i, t5, child, isSelected, t6, _i, t7, t8, _null = null,
        maxWidth = constraints.maxWidth,
        maxHeight = constraints.maxHeight,
        maxSizeAvailable = new F._VisualizeFlexChildrenState_build_closure_maxSizeAvailable(maxWidth, maxHeight),
        t1 = this.$this,
        childrenAndMainAxisSpacesRenderProps = t1._widget.properties.childrenRenderProperties$5$largestRenderHeight$largestRenderWidth$maxSizeAvailable$smallestRenderHeight$smallestRenderWidth(400, 400, maxSizeAvailable, 250, 250),
        t2 = H._arrayInstanceType(childrenAndMainAxisSpacesRenderProps),
        t3 = t2._eval$1("WhereIterable<1>"),
        t4 = t3._eval$1("Iterable.E"),
        renderProperties = P.List_List$of(new H.WhereIterable(childrenAndMainAxisSpacesRenderProps, new F._VisualizeFlexChildrenState_build__closure(), t3), true, t4),
        mainAxisSpaces = P.List_List$of(new H.WhereIterable(childrenAndMainAxisSpacesRenderProps, new F._VisualizeFlexChildrenState_build__closure0(), t3), true, t4),
        crossAxisSpaces = t1._widget.properties.crossAxisSpaces$2$childrenRenderProperties$maxSizeAvailable(renderProperties, maxSizeAvailable);
      t4 = type$.JSArray_legacy_Widget;
      childrenRenderWidgets = H._setArrayType([], t4);
      for (i = 0; t3 = t1._widget, t5 = t3.children, i < t5.length; ++i) {
        child = t5[i];
        isSelected = t3.highlighted == child;
        t5 = isSelected ? $.$get$_VisualizeFlexChildrenState_selectedChildKey() : _null;
        childrenRenderWidgets.push(new F.FlexChildVisualizer(t3.state, isSelected, child, renderProperties[i], t5));
      }
      t3 = H._setArrayType([], type$.JSArray_legacy_FreeSpaceVisualizerWidget);
      for (t5 = P.List_List$of(mainAxisSpaces, true, type$.legacy_RenderProperties), C.JSArray_methods.addAll$1(t5, crossAxisSpaces), t6 = t5.length, _i = 0; _i < t5.length; t5.length === t6 || (0, H.throwConcurrentModificationError)(t5), ++_i)
        t3.push(new U.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 === C.Axis_0 ? V.sum(new H.MappedListIterable(childrenAndMainAxisSpacesRenderProps, new F._VisualizeFlexChildrenState_build__closure1(), t2._eval$1("MappedListIterable<1,double*>"))) : maxWidth;
      t2 = new S.BoxConstraints(maxWidth, t7, maxHeight, t1._widget.direction === C.Axis_1 ? V.sum(new H.MappedListIterable(childrenAndMainAxisSpacesRenderProps, new F._VisualizeFlexChildrenState_build__closure2(), t2._eval$1("MappedListIterable<1,double*>"))) : maxHeight).normalize$0(0);
      t4 = H._setArrayType([new B.LayoutExplorerBackground(this.colorScheme, _null)], t4);
      C.JSArray_methods.addAll$1(t4, t3);
      C.JSArray_methods.addAll$1(t4, childrenRenderWidgets);
      return E.Scrollbar$(E.SingleChildScrollView$(new T.ConstrainedBox(t2, T.Stack$(C.AlignmentDirectional_m1_m1, t4, C.Clip_1, C.StackFit_0, _null, _null), _null), t8, C.DragStartBehavior_1, _null, _null, false, t5), t6, true);
    },
    $signature: 307
  };
  F._VisualizeFlexChildrenState_build_closure_maxSizeAvailable.prototype = {
    call$1: function(axis) {
      return axis === C.Axis_0 ? this.maxWidth : this.maxHeight;
    },
    $signature: 152
  };
  F._VisualizeFlexChildrenState_build__closure.prototype = {
    call$1: function(renderProps) {
      return !renderProps.isFreeSpace;
    },
    $signature: 166
  };
  F._VisualizeFlexChildrenState_build__closure0.prototype = {
    call$1: function(renderProps) {
      return renderProps.isFreeSpace;
    },
    $signature: 166
  };
  F._VisualizeFlexChildrenState_build__closure1.prototype = {
    call$1: function(renderSize) {
      return renderSize.width;
    },
    $signature: 351
  };
  F._VisualizeFlexChildrenState_build__closure2.prototype = {
    call$1: function(renderSize) {
      return renderSize.height;
    },
    $signature: 351
  };
  F.FlexChildVisualizer.prototype = {
    onChangeFlexFactor$1: function(newFlexFactor) {
      return this.onChangeFlexFactor$body$FlexChildVisualizer(newFlexFactor);
    },
    onChangeFlexFactor$body$FlexChildVisualizer: function(newFlexFactor) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, node, inspectorService;
      var $async$onChangeFlexFactor$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              node = $async$self.renderProperties.layoutProperties.get$node();
              $async$goto = 2;
              return P._asyncAwait(node.inspectorService, $async$onChangeFlexFactor$1);
            case 2:
              // returning from await.
              inspectorService = $async$result;
              $async$self.state._layout_explorer_widget$_dirty = true;
              $async$goto = 3;
              return P._asyncAwait(inspectorService.invokeSetFlexFactor$2(new E.InspectorInstanceRef(J.$index$asx(node.json, "valueId")), newFlexFactor), $async$onChangeFlexFactor$1);
            case 3:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$onChangeFlexFactor$1, $async$completer);
    },
    onChangeFlexFit$1: function(newFlexFit) {
      return this.onChangeFlexFit$body$FlexChildVisualizer(newFlexFit);
    },
    onChangeFlexFit$body$FlexChildVisualizer: function(newFlexFit) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, node, inspectorService;
      var $async$onChangeFlexFit$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              node = $async$self.renderProperties.layoutProperties.get$node();
              $async$goto = 2;
              return P._asyncAwait(node.inspectorService, $async$onChangeFlexFit$1);
            case 2:
              // returning from await.
              inspectorService = $async$result;
              $async$self.state._layout_explorer_widget$_dirty = true;
              $async$goto = 3;
              return P._asyncAwait(inspectorService.invokeSetFlexFit$2(new E.InspectorInstanceRef(J.$index$asx(node.json, "valueId")), newFlexFit), $async$onChangeFlexFit$1);
            case 3:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$onChangeFlexFit$1, $async$completer);
    },
    _buildFlexFactorChangerDropdown$1: function(maximumFlexFactor) {
      var t2, t3, i, _null = null,
        buildMenuItem = new F.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuItem(new F.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuitemChild(this)),
        t1 = this.renderProperties.layoutProperties.get$flexFactor();
      t1 = t1 == null ? _null : C.JSNumber_methods.toInt$0(t1);
      t1 = t1 == null ? _null : C.JSInt_methods.clamp$2(t1, 0, maximumFlexFactor);
      t2 = M.Container$(_null, _null, C.Clip_0, _null, _null, C.BoxDecoration_YOM, _null, 1, _null, _null, _null, _null, _null, _null);
      t3 = H._setArrayType([buildMenuItem.call$1(_null)], type$.JSArray_legacy_DropdownMenuItem_legacy_int);
      for (i = 0; i <= maximumFlexFactor; ++i)
        t3.push(buildMenuItem.call$1(i));
      return K.DropdownButton$(C.Color_4283790975, false, false, t3, _null, this.get$onChangeFlexFactor(), _null, _null, t2, t1, type$.legacy_int);
    },
    _buildFlexFitChangerDropdown$0: function() {
      var t4, t5, _null = null,
        t1 = new F.FlexChildVisualizer__buildFlexFitChangerDropdown_flexFitDescription(),
        t2 = this.renderProperties,
        t3 = t2.layoutProperties;
      if (t3.get$description(t3) === "Expanded")
        return t1.call$1(C.FlexFit_0);
      t1 = new F.FlexChildVisualizer__buildFlexFitChangerDropdown_buildMenuItem(t1);
      t3 = t2.layoutProperties.get$flexFit();
      t4 = M.Container$(_null, _null, C.Clip_0, _null, _null, C.BoxDecoration_YOM, _null, 1, _null, _null, _null, _null, _null, _null);
      t5 = H._setArrayType([t1.call$1(C.FlexFit_1)], type$.JSArray_legacy_DropdownMenuItem_legacy_FlexFit);
      t2 = t2.layoutProperties;
      if (t2.get$description(t2) !== "Expanded")
        t5.push(t1.call$1(C.FlexFit_0));
      return K.DropdownButton$(C.Color_4278229706, false, false, t5, _null, this.get$onChangeFlexFit(), _null, _null, t4, t3, type$.legacy_FlexFit);
    },
    build$1: function(_, context) {
      var t9, t10, t11, _this = this, _null = null,
        t1 = _this.renderProperties,
        t2 = t1.width,
        t3 = t1.height,
        t4 = t1.dx,
        t5 = t1.dy,
        colorScheme = K.Theme_of(context).colorScheme,
        t6 = _this.state,
        t7 = t6.entranceController,
        t8 = t1.layoutProperties;
      t8 = t8.get$description(t8);
      t9 = N.LayoutPropertiesExtension_get_overflowSide(t1.layoutProperties);
      t10 = H._setArrayType([new T.Flexible(1, C.FlexFit_1, _this._buildFlexFactorChangerDropdown$1(5), _null)], type$.JSArray_legacy_Widget);
      if (!t1.layoutProperties.get$hasFlexFactor()) {
        t11 = "unconstrained " + (t6.get$properties().get$isMainAxisHorizontal() ? "horizontal" : "vertical");
        t10.push(L.Text$(t11, _null, 2, C.TextOverflow_2, _null, true, A.TextStyle$(_null, _null, colorScheme.brightness === C.Brightness_1 ? C.Color_4294280299 : C.Color_4292780169, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.FontStyle_1, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), C.TextAlign_2, _null, 0.8));
      }
      t10.push(_this._buildFlexFitChangerDropdown$0());
      return T.Positioned$(_null, R.InkWell$(false, true, T.SizedBox$(K.AnimatedBuilder$(t7, new F.FlexChildVisualizer_build_buildEntranceAnimation(_this, new P.Size(t2, t3)), B.WidgetVisualizer$(new Q.VisualizeWidthAndHeightWithConstraints(new T.Align(C.Alignment_1_m1, _null, _null, M.Container$(_null, T.Column$(t10, C.CrossAxisAlignment_1, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_8_8_0_0, _null, _null, _null, _null), _null), t1.layoutProperties, 8, true, _null), _null, _this.isSelected, false, _this.layoutProperties, t9, t8)), t3, t2), _null, true, _null, _null, _null, _null, _null, _null, new F.FlexChildVisualizer_build_closure(_this), _null, _null, _null, new F.FlexChildVisualizer_build_closure0(_this), new F.FlexChildVisualizer_build_closure1(_this), _null, _null, _null, _null, _null), _null, _null, t4, _null, t5, _null);
    }
  };
  F.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuitemChild.prototype = {
    call$1: function(flexFactor) {
      var _null = null,
        t1 = "flex: " + H.S(flexFactor);
      return L.Text$(t1, _null, _null, _null, _null, _null, flexFactor == this.$this.renderProperties.layoutProperties.get$flexFactor() ? C.TextStyle_0c4 : C.TextStyle_sBE, _null, _null, _null);
    },
    $signature: 367
  };
  F.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuItem.prototype = {
    call$1: function(flexFactor) {
      return K.DropdownMenuItem$(this.buildMenuitemChild.call$1(flexFactor), null, flexFactor, type$.legacy_int);
    },
    $signature: 368
  };
  F.FlexChildVisualizer__buildFlexFitChangerDropdown_flexFitDescription.prototype = {
    call$1: function(flexFit) {
      var _null = null;
      return L.Text$("fit: " + Y.describeEnum(flexFit), _null, _null, _null, _null, _null, C.TextStyle_sBE, _null, _null, _null);
    },
    $signature: 369
  };
  F.FlexChildVisualizer__buildFlexFitChangerDropdown_buildMenuItem.prototype = {
    call$1: function(flexFit) {
      return K.DropdownMenuItem$(this.flexFitDescription.call$1(flexFit), null, flexFit, type$.legacy_FlexFit);
    },
    $signature: 370
  };
  F.FlexChildVisualizer_build_buildEntranceAnimation.prototype = {
    call$2: function(context, child) {
      var t3, t4, size0,
        t1 = this.$this,
        t2 = t1.state,
        vertical = t2.get$properties().get$isMainAxisVertical(),
        horizontal = t2.get$properties().get$isMainAxisHorizontal(),
        size = this.renderSize;
      if (t1.renderProperties.layoutProperties.get$hasFlexFactor()) {
        t1 = horizontal ? 200 : size._dx;
        t3 = vertical ? 200 : size._dy;
        t4 = t2.entranceCurve;
        size0 = new R.SizeTween(new P.Size(t1, t3), size).transform$1(0, t4.get$value(t4));
      } else
        size0 = size;
      t1 = t2.entranceCurve;
      t1 = V.min(H._setArrayType([t1.get$value(t1) * 5, 1], type$.JSArray_legacy_double));
      t2 = Math.max(0, (size._dx - size0._dx) / 2);
      t3 = Math.max(0, (size._dy - size0._dy) / 2);
      return T.Opacity$(false, new T.Padding(new V.EdgeInsets(t2, t3, t2, t3), child, null), t1);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 165
  };
  F.FlexChildVisualizer_build_closure1.prototype = {
    call$0: function() {
      var t1 = this.$this;
      return t1.state.onTap$1(t1.renderProperties.layoutProperties);
    },
    $signature: 3
  };
  F.FlexChildVisualizer_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.renderProperties.layoutProperties.get$node();
      t1.state._widget.get$inspectorController().refreshSelection$3(t2, t2, true);
      return null;
    },
    $signature: 0
  };
  F.FlexChildVisualizer_build_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.renderProperties.layoutProperties.get$node();
      t1.state._widget.get$inspectorController().refreshSelection$3(t2, t2, true);
      return null;
    },
    $signature: 0
  };
  B.AnimatedFlexLayoutProperties.prototype = {
    get$crossAxisAlignment: function() {
      return this.end.get$crossAxisAlignment();
    },
    get$mainAxisAlignment: function() {
      return this.end.get$mainAxisAlignment();
    },
    childrenRenderProperties$5$largestRenderHeight$largestRenderWidth$maxSizeAvailable$smallestRenderHeight$smallestRenderWidth: function(largestRenderHeight, largestRenderWidth, maxSizeAvailable, smallestRenderHeight, smallestRenderWidth) {
      var t4, beginProps, endProps, t, t5, t6, t7, _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 = H._setArrayType([], type$.JSArray_legacy_RenderProperties),
        t1 = _this._utils2$_children,
        t2 = _this.animation,
        t3 = type$.legacy_LayoutProperties,
        i = 0;
      while (true) {
        t4 = t1.length;
        if (!(i < t4))
          break;
        beginProps = beginRenderProperties[i];
        endProps = endRenderProperties[i];
        t = t2.get$value(t2);
        t4 = endProps.axis;
        t5 = P.Offset_lerp(new P.Offset(beginProps.dx, beginProps.dy), new P.Offset(endProps.dx, endProps.dy), t);
        t6 = P.Size_lerp(new P.Size(beginProps.width, beginProps.height), new P.Size(endProps.width, endProps.height), t);
        t7 = P.Size_lerp(new P.Size(beginProps.realWidth, beginProps.realHeight), new P.Size(endProps.realWidth, endProps.realHeight), t);
        result.push(N.RenderProperties$(t4, false, B.AnimatedLayoutProperties$(beginProps.layoutProperties, endProps.layoutProperties, t2, t3), t5, t7, t6));
        ++i;
      }
      C.JSArray_methods.addAll$1(result, new H.WhereIterable(endRenderProperties, new B.AnimatedFlexLayoutProperties_childrenRenderProperties_closure(), H._arrayInstanceType(endRenderProperties)._eval$1("WhereIterable<1>")));
      return result;
    },
    crossAxisSpaces$2$childrenRenderProperties$maxSizeAvailable: function(childrenRenderProperties, maxSizeAvailable) {
      return this.end.crossAxisSpaces$2$childrenRenderProperties$maxSizeAvailable(childrenRenderProperties, maxSizeAvailable);
    },
    get$direction: function(_) {
      var t1 = this.end;
      return t1.get$direction(t1);
    },
    get$horizontalDirectionDescription: function() {
      return this.end.get$horizontalDirectionDescription();
    },
    get$isMainAxisHorizontal: function() {
      return this.end.get$isMainAxisHorizontal();
    },
    get$isMainAxisVertical: function() {
      return this.end.get$isMainAxisVertical();
    },
    get$mainAxisSize: function() {
      return this.end.get$mainAxisSize();
    },
    get$textBaseline: function(_) {
      var t1 = this.end;
      return t1.get$textBaseline(t1);
    },
    get$textDirection: function(_) {
      var t1 = this.end;
      return t1.get$textDirection(t1);
    },
    get$totalFlex: function() {
      var t1 = this.animation;
      return P.lerpDouble(this.begin.get$totalFlex(), this.end.get$totalFlex(), t1.get$value(t1));
    },
    get$type: function(_) {
      var t1 = this.end;
      return t1.get$type(t1);
    },
    get$verticalDirection: function() {
      return this.end.get$verticalDirection();
    },
    get$verticalDirectionDescription: function() {
      return this.end.get$verticalDirectionDescription();
    },
    copyWith$2$crossAxisAlignment$mainAxisAlignment: function(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(t2),
        t13 = t2.get$verticalDirection();
      t2 = t2.get$textBaseline(t2);
      return N.FlexLayoutProperties$(_this._utils2$_children, t4, t11, t6, t8, t7, null, t5, t9, t10, t3, t1, t2, t12, t13);
    },
    copyWith$0: function() {
      return this.copyWith$2$crossAxisAlignment$mainAxisAlignment(null, null);
    },
    copyWith$1$mainAxisAlignment: function(mainAxisAlignment) {
      return this.copyWith$2$crossAxisAlignment$mainAxisAlignment(null, mainAxisAlignment);
    },
    copyWith$1$crossAxisAlignment: function(crossAxisAlignment) {
      return this.copyWith$2$crossAxisAlignment$mainAxisAlignment(crossAxisAlignment, null);
    },
    $isFlexLayoutProperties: 1
  };
  B.AnimatedFlexLayoutProperties_childrenRenderProperties_closure.prototype = {
    call$1: function(prop) {
      return prop.isFreeSpace;
    },
    $signature: 166
  };
  N.LayoutExplorerTab.prototype = {
    createState$0: function() {
      return new N._LayoutExplorerTabState(K.Disposer$(), null, C._StateLifecycle_0);
    }
  };
  N._LayoutExplorerTabState.prototype = {
    get$selected: function(_) {
      var t1 = this._widget.controller;
      t1 = t1 == null ? null : t1._selectedNode;
      t1 = t1 == null ? null : t1._value;
      return t1 == null ? null : t1._diagnostic;
    },
    rootWidget$1: function(node) {
      var _null = null;
      if (F.FlexLayoutExplorerWidget_shouldDisplay(node))
        return new F.FlexLayoutExplorerWidget(this._widget.controller, _null);
      if (node != null)
        return new S.BoxLayoutExplorerWidget(this._widget.controller, _null);
      return T.Center$(L.Text$("Select a widget to view its layout.", _null, _null, C.TextOverflow_0, _null, _null, _null, C.TextAlign_2, _null, _null), _null, _null, _null);
    },
    onSelectionChanged$0: function() {
      var _this = this;
      if (H.getRuntimeType(_this.rootWidget$1(_this.previousSelection)) !== H.getRuntimeType(_this.rootWidget$1(_this.get$selected(_this))))
        _this.setState$1(new N._LayoutExplorerTabState_onSelectionChanged_closure(_this));
    },
    initState$0: function() {
      var _this = this;
      _this.super$__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin$initState();
      _this.addAutoDisposeListener$2(_this._widget.controller._selectedNode, _this.get$onSelectionChanged());
    },
    build$1: function(_, context) {
      var _this = this;
      _this.super$AutomaticKeepAliveClientMixin$build(0, context);
      return _this.rootWidget$1(_this.get$selected(_this));
    },
    get$wantKeepAlive: function() {
      return true;
    }
  };
  N._LayoutExplorerTabState_onSelectionChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      return t1.previousSelection = t1.get$selected(t1);
    },
    $signature: 371
  };
  N.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._ensureKeepAlive$0();
    },
    deactivate$0: function() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  N.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  V.ArrowType.prototype = {
    toString$0: function(_) {
      return this._arrow$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  V.ArrowWrapper.prototype = {
    get$verticalMarginFromArrow: function() {
      if (this.child == null || this.direction === C.Axis_0)
        return 0;
      return this.childMarginFromArrow;
    },
    get$horizontalMarginFromArrow: function() {
      if (this.child == null || this.direction === C.Axis_1)
        return 0;
      return this.childMarginFromArrow;
    },
    build$1: function(_, 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 === C.ArrowType_1 || t6 === C.ArrowType_0;
      t1 = H._setArrayType([T.Expanded$(M.Container$(_null, V.ArrowWidget$(t3, t4, t8, t5, t6), C.Clip_0, _null, _null, _null, _null, _null, _null, new V.EdgeInsets(0, 0, t2, t1), _null, _null, _null, _null), 1)], type$.JSArray_legacy_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 === C.ArrowType_2 || t8 === C.ArrowType_3;
      t1.push(T.Expanded$(M.Container$(_null, V.ArrowWidget$(t3, t4, t7, t5, t8), C.Clip_0, _null, _null, _null, _null, _null, _null, new V.EdgeInsets(t6, t2, 0, 0), _null, _null, _null, _null), 1));
      return T.Flex$(t1, C.CrossAxisAlignment_2, _this.direction, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null, _null, C.VerticalDirection_1);
    }
  };
  V.ArrowWidget.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return T.CustomPaint$(M.Container$(_null, _null, C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, this._arrow$_painter, C.Size_0_0);
    }
  };
  V._ArrowPainter.prototype = {
    headIsGreaterThanConstraint$1: function(size) {
      var t1 = this.type;
      if (t1 === C.ArrowType_1 || t1 === C.ArrowType_2)
        return this.headHeight >= size._dx;
      return this.headHeight >= size._dy;
    },
    shouldRepaint$1: function(oldDelegate) {
      var _this = this;
      return !(oldDelegate instanceof V._ArrowPainter && _this.headSize === oldDelegate.headSize && _this.strokeWidth === oldDelegate.strokeWidth && _this.color.$eq(0, oldDelegate.color) && _this.type === oldDelegate.type);
    },
    paint$2: function(canvas, size) {
      var originX, t2, originY, headSizeDividedBy2, t3, p1, t4, p2, p3, startingX, startingY, path, lineStartingPoint, lineEndingPoint, _this = this,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.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;
        switch (t3) {
          case C.ArrowType_0:
            p1 = new P.Offset(originX, 0);
            t4 = _this.headHeight;
            p2 = new P.Offset(originX - headSizeDividedBy2, t4);
            p3 = new P.Offset(originX + headSizeDividedBy2, t4);
            break;
          case C.ArrowType_1:
            p1 = new P.Offset(0, originY);
            t4 = _this.headHeight;
            p2 = new P.Offset(t4, originY - headSizeDividedBy2);
            p3 = new P.Offset(t4, originY + headSizeDividedBy2);
            break;
          case C.ArrowType_2:
            startingX = t1 - _this.headHeight;
            p1 = new P.Offset(t1, originY);
            p2 = new P.Offset(startingX, originY - headSizeDividedBy2);
            p3 = new P.Offset(startingX, originY + headSizeDividedBy2);
            break;
          case C.ArrowType_3:
            startingY = t2 - _this.headHeight;
            p1 = new P.Offset(originX, t2);
            p2 = new P.Offset(originX - headSizeDividedBy2, startingY);
            p3 = new P.Offset(originX + headSizeDividedBy2, startingY);
            break;
          default:
            p1 = null;
            p2 = null;
            p3 = null;
        }
        path = P.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(0, path, paint);
        switch (t3) {
          case C.ArrowType_0:
            lineStartingPoint = new P.Offset(originX, _this.headHeight);
            lineEndingPoint = new P.Offset(originX, t2);
            break;
          case C.ArrowType_1:
            lineStartingPoint = new P.Offset(_this.headHeight, originY);
            lineEndingPoint = new P.Offset(t1, originY);
            break;
          case C.ArrowType_2:
            lineStartingPoint = new P.Offset(0, originY);
            lineEndingPoint = new P.Offset(t1 - _this.headHeight, originY);
            break;
          case C.ArrowType_3:
            lineStartingPoint = new P.Offset(originX, 0);
            lineEndingPoint = new P.Offset(originX, t2 - _this.headHeight);
            break;
          default:
            lineStartingPoint = C.Offset_0_0;
            lineEndingPoint = C.Offset_0_0;
        }
      } else
        switch (_this.type) {
          case C.ArrowType_0:
          case C.ArrowType_3:
            lineStartingPoint = new P.Offset(originX, 0);
            lineEndingPoint = new P.Offset(originX, t2);
            break;
          case C.ArrowType_1:
          case C.ArrowType_2:
            lineStartingPoint = new P.Offset(0, originY);
            lineEndingPoint = new P.Offset(t1, originY);
            break;
          default:
            lineStartingPoint = C.Offset_0_0;
            lineEndingPoint = C.Offset_0_0;
        }
      canvas.drawLine$3(0, lineStartingPoint, lineEndingPoint, paint);
    }
  };
  U.FreeSpaceVisualizerWidget.prototype = {
    build$1: function(_, context) {
      var t4, widthWidget, heightWidget, t5, t6, t7, _null = null,
        colorScheme = K.Theme_of(context).colorScheme,
        t1 = this.renderProperties,
        heightDescription = "h=" + J.toStringAsFixed$1$n(t1.realHeight, 1),
        widthDescription = "w=" + J.toStringAsFixed$1$n(t1.realWidth, 1),
        t2 = t1.realWidth,
        t3 = t1.layoutProperties;
      t3 = t3 == null ? _null : t3.get$width(t3);
      t4 = type$.JSArray_legacy_Widget;
      widthWidget = T.Column$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, X.dimensionDescription(Q.TextSpan$(_null, _null, _null, _null, widthDescription), false, colorScheme), _null), M.Container$(_null, V.ArrowWrapper$bidirectional(C.Color_4283790975, 8, 2, _null, 4, C.Axis_0), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_0_4_0_4, _null, _null, _null, _null)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1);
      heightWidget = M.Container$(_null, T.Row$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, X.dimensionDescription(Q.TextSpan$(_null, _null, _null, _null, heightDescription), false, colorScheme), _null), M.Container$(_null, V.ArrowWrapper$bidirectional(C.Color_4283790975, 8, 2, _null, 0, C.Axis_1), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_0_4_0, _null, _null, _null, _null)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, 72);
      t4 = t1.dx;
      t5 = t1.dy;
      t6 = t1.width;
      t1 = t1.height;
      t7 = widthDescription + "\n" + heightDescription;
      return T.Positioned$(_null, M.Container$(_null, S.Tooltip$(t2 != t3 ? widthWidget : heightWidget, _null, t7, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, t6), _null, _null, t4, _null, t5, _null);
    }
  };
  U.PaddingVisualizerWidget.prototype = {
    build$1: function(_, context) {
      var t3, t4, _null = null,
        colorScheme = K.Theme_of(context).colorScheme,
        t1 = this.renderProperties,
        heightDescription = "h=" + J.toStringAsFixed$1$n(t1.realHeight, 1),
        t2 = type$.JSArray_legacy_Widget,
        widthWidget = T.Column$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, X.dimensionDescription(Q.TextSpan$(_null, _null, _null, _null, "w=" + J.toStringAsFixed$1$n(t1.realWidth, 1)), false, colorScheme), _null), M.Container$(_null, V.ArrowWrapper$bidirectional(C.Color_4283790975, 8, 2, _null, 4, C.Axis_0), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_0_4_0_4, _null, _null, _null, _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1),
        heightWidget = M.Container$(_null, T.Row$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, X.dimensionDescription(Q.TextSpan$(_null, _null, _null, _null, heightDescription), false, colorScheme), _null), M.Container$(_null, V.ArrowWrapper$bidirectional(C.Color_4283790975, 8, 2, _null, 0, C.Axis_1), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_0_4_0, _null, _null, _null, _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, 72);
      t2 = t1.dx;
      t3 = t1.dy;
      t4 = B.safePositiveDouble(t1.width);
      t1 = B.safePositiveDouble(t1.height);
      return T.Positioned$(_null, M.Container$(_null, this.horizontal ? widthWidget : heightWidget, C.Clip_0, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, t4), _null, _null, t2, _null, t3, _null);
    }
  };
  E.LayoutExplorerWidget.prototype = {
    get$inspectorController: function() {
      return this.inspectorController;
    }
  };
  E.LayoutExplorerWidgetState.prototype = {
    get$properties: function() {
      var t1 = this._previousProperties;
      if (t1 == null)
        t1 = this._animatedProperties;
      return t1 == null ? this._layout_explorer_widget$_properties : t1;
    },
    get$selectedNode: function() {
      var t1 = this._widget.get$inspectorController();
      t1 = t1 == null ? null : t1._selectedNode;
      t1 = t1 == null ? null : t1._value;
      return t1 == null ? null : t1._diagnostic;
    },
    onSelectionChanged$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1;
      var $async$onSelectionChanged$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._framework$_element == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (!$async$self.shouldDisplay$1($async$self.get$selectedNode())) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._layout_explorer_widget$_properties;
              $async$goto = $async$self.id$1(0, t1 == null ? null : t1.get$node()) != $async$self.id$1(0, $async$self.getRoot$1($async$self.get$selectedNode())) ? 3 : 5;
              break;
            case 3:
              // then
              $async$self._layout_explorer_widget$_dirty = false;
              $async$goto = 6;
              return P._asyncAwait($async$self.fetchLayoutProperties$0(), $async$onSelectionChanged$0);
            case 6:
              // returning from await.
              $async$self._setProperties$1($async$result);
              // 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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$onSelectionChanged$0, $async$completer);
    },
    get$children: function(_) {
      return this.get$properties().get$displayChildren();
    },
    fetchLayoutProperties$0: function() {
      return this.fetchLayoutProperties$body$LayoutExplorerWidgetState(H._instanceType(this)._eval$1("LayoutExplorerWidgetState.L*"));
    },
    fetchLayoutProperties$body$LayoutExplorerWidgetState: function($async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, nextObjectGroup, node, t1;
      var $async$fetchLayoutProperties$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.objectGroupManager;
              if (t1 != null)
                t1.cancelNext$0();
              t1 = $async$self.objectGroupManager;
              nextObjectGroup = t1.get$next(t1);
              $async$goto = 3;
              return P._asyncAwait(nextObjectGroup.getLayoutExplorerNode$1($async$self.getRoot$1($async$self.get$selectedNode())), $async$fetchLayoutProperties$0);
            case 3:
              // returning from await.
              node = $async$result;
              if (!nextObjectGroup.disposed)
                $async$self.objectGroupManager.promoteNext$0();
              $async$returnValue = $async$self.computeLayoutProperties$1(node);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$fetchLayoutProperties$0, $async$completer);
    },
    id$1: function(_, node) {
      var t1 = node == null ? null : new E.InspectorInstanceRef(J.$index$asx(node.json, "objectId"));
      return t1 == null ? null : t1.id;
    },
    _registerInspectorControllerService$0: function() {
      var _this = this,
        t1 = _this._widget.get$inspectorController();
      t1 = t1 == null ? null : t1._selectedNode;
      if (t1 != null)
        t1.addListener$1(0, _this._onSelectionChangedCallback);
      t1 = _this._widget.get$inspectorController();
      t1 = t1 == null ? null : t1.inspectorService;
      if (t1 != null)
        t1.clients.add$1(0, _this);
    },
    _unregisterInspectorControllerService$0: function() {
      var _this = this,
        t1 = _this._widget.get$inspectorController();
      t1 = t1 == null ? null : t1._selectedNode;
      if (t1 != null)
        t1.removeListener$1(0, _this._onSelectionChangedCallback);
      t1 = _this._widget.get$inspectorController();
      t1 = t1 == null ? null : t1.inspectorService;
      if (t1 != null)
        t1.clients.remove$1(0, _this);
    },
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this.rateLimiter = new B.RateLimiter(_this.get$refresh(_this), 333);
      _this._registerInspectorControllerService$0();
      _this._initAnimationStates$0();
      _this._updateObjectGroupManager$0();
      _this._animateProperties$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      _this._updateObjectGroupManager$0();
      _this._animateProperties$0();
      if (oldWidget.get$inspectorController() != _this._widget.get$inspectorController()) {
        _this._unregisterInspectorControllerService$0();
        _this._registerInspectorControllerService$0();
      }
    },
    dispose$0: function(_) {
      var _this = this;
      _this.entranceController.dispose$0(0);
      _this.changeController.dispose$0(0);
      _this._unregisterInspectorControllerService$0();
      _this.super$_LayoutExplorerWidgetState_State_TickerProviderStateMixin$dispose(0);
    },
    _animateProperties$0: function() {
      var t1, t2, _this = this;
      if (_this._animatedProperties != null)
        _this.changeController.forward$0(0);
      t1 = _this._previousProperties;
      t2 = _this.entranceController;
      if (t1 != null)
        t2.reverse$0(0);
      else
        t2.forward$0(0);
    },
    setSelectionInspector$1: function(node) {
      return this.setSelectionInspector$body$LayoutExplorerWidgetState(node);
    },
    setSelectionInspector$body$LayoutExplorerWidgetState: function(node) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$setSelectionInspector$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(node.inspectorService, $async$setSelectionInspector$1);
            case 3:
              // returning from await.
              $async$goto = 2;
              return P._asyncAwait($async$result.setSelectionInspector$2(new E.InspectorInstanceRef(J.$index$asx(node.json, "valueId")), false), $async$setSelectionInspector$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setSelectionInspector$1, $async$completer);
    },
    onTap$1: function(properties) {
      return this.onTap$body$LayoutExplorerWidgetState(properties);
    },
    onTap$body$LayoutExplorerWidgetState: function(properties) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$onTap$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.setState$1(new E.LayoutExplorerWidgetState_onTap_closure($async$self, properties));
              $async$goto = 2;
              return P._asyncAwait($async$self.setSelectionInspector$1(properties.get$node()), $async$onTap$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$onTap$1, $async$completer);
    },
    refresh$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, updatedProperties;
      var $async$refresh$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (!$async$self._layout_explorer_widget$_dirty) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._layout_explorer_widget$_dirty = false;
              $async$goto = 3;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$refresh$0, $async$completer);
    },
    _changeProperties$1: function(nextProperties) {
      var _this = this;
      if (_this._framework$_element == null || false)
        return;
      _this.updateHighlighted$1(nextProperties);
      _this.setState$1(new E.LayoutExplorerWidgetState__changeProperties_closure(_this, nextProperties));
    },
    _setProperties$1: function(newProperties) {
      var _this = this;
      if (_this._framework$_element == null)
        return;
      _this.updateHighlighted$1(newProperties);
      if (J.$eq$(_this._layout_explorer_widget$_properties, newProperties))
        return;
      _this.setState$1(new E.LayoutExplorerWidgetState__setProperties_closure(_this, newProperties));
      _this._animateProperties$0();
    },
    _initAnimationStates$0: function() {
      var _this = this, _null = null,
        t1 = G.AnimationController$(_null, C.Duration_400000, 0, _null, 1, _null, _this);
      t1.addStatusListener$1(new E.LayoutExplorerWidgetState__initAnimationStates_closure(_this));
      _this.entranceController = t1;
      _this.entranceCurve = S.CurvedAnimation$(C.Cubic_oKc, t1, _null);
      t1 = G.AnimationController$(_null, C.Duration_400000, 0, _null, 1, _null, _this);
      t1.addStatusListener$1(new E.LayoutExplorerWidgetState__initAnimationStates_closure0(_this));
      _this.changeController = t1;
      _this.changeAnimation = S.CurvedAnimation$(C.Cubic_oKc, t1, _null);
    },
    _updateObjectGroupManager$0: function() {
      var _this = this,
        service = _this._widget.get$inspectorController().inspectorService,
        t1 = _this.objectGroupManager;
      if (service != (t1 == null ? null : t1.inspectorService))
        _this.objectGroupManager = new E.InspectorObjectGroupManager(service, "flex-layout");
      _this.onSelectionChanged$0();
    },
    onFlutterFrame$0: function() {
      if (this._framework$_element == null)
        return;
      if (this._layout_explorer_widget$_dirty)
        this.rateLimiter.scheduleRequest$0();
    },
    onInspectorSelectionChanged$0: function() {
      return null;
    },
    $isInspectorServiceClient: 1
  };
  E.LayoutExplorerWidgetState_onTap_closure.prototype = {
    call$0: function() {
      return this.$this.highlighted = this.properties;
    },
    $signature: 372
  };
  E.LayoutExplorerWidgetState__changeProperties_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._animatedProperties = t1.computeAnimatedProperties$1(this.nextProperties);
      t1.changeController.forward$1$from(0, 0);
    },
    $signature: 1
  };
  E.LayoutExplorerWidgetState__setProperties_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (t1._previousProperties == null)
        t1._previousProperties = t1._layout_explorer_widget$_properties;
      t1._layout_explorer_widget$_properties = this.newProperties;
    },
    $signature: 1
  };
  E.LayoutExplorerWidgetState__initAnimationStates_closure.prototype = {
    call$1: function($status) {
      var t1;
      if ($status === C.AnimationStatus_0) {
        t1 = this.$this;
        t1.setState$1(new E.LayoutExplorerWidgetState__initAnimationStates__closure0(t1));
      }
    },
    $signature: 110
  };
  E.LayoutExplorerWidgetState__initAnimationStates__closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._previousProperties = null;
      t1.entranceController.forward$0(0);
    },
    $signature: 1
  };
  E.LayoutExplorerWidgetState__initAnimationStates_closure0.prototype = {
    call$1: function($status) {
      var t1;
      if ($status === C.AnimationStatus_3) {
        t1 = this.$this;
        t1.setState$1(new E.LayoutExplorerWidgetState__initAnimationStates__closure(t1));
      }
    },
    $signature: 110
  };
  E.LayoutExplorerWidgetState__initAnimationStates__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._layout_explorer_widget$_properties = t1._animatedProperties.end;
      t1._animatedProperties = null;
      t1.changeController.set$value(0, 0);
    },
    $signature: 1
  };
  E._LayoutExplorerWidgetState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  X.OverflowIndicatorPainter.prototype = {
    paint$2: function(canvas, size) {
      var t1 = this.side,
        bottomOverflow = C.OverflowSide_1 === t1,
        width = bottomOverflow ? size._dx : this.size,
        height = !bottomOverflow ? size._dy : this.size,
        left = bottomOverflow ? 0 : size._dx - width,
        $top = t1 === C.OverflowSide_0 ? 0 : size._dy - height;
      canvas.drawRect$2(0, new P.Rect(left, $top, left + width, $top + height), $.$get$OverflowIndicatorPainter_indicatorPaint());
    },
    shouldRepaint$1: function(oldDelegate) {
      var t1;
      if (oldDelegate instanceof X.OverflowIndicatorPainter)
        t1 = this.side != oldDelegate.side || this.size !== oldDelegate.size;
      else
        t1 = false;
      return t1;
    }
  };
  B.BorderLayout.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.rightWidth,
        t2 = _this.bottomHeight,
        t3 = H._setArrayType([T.Center$(M.Container$(_null, _this.center, C.Clip_0, _null, _null, _null, _null, _null, _null, new V.EdgeInsets(0, 0, t1, t2), _null, _null, _null, _null), _null, _null, _null)], type$.JSArray_legacy_Widget);
      t3.push(new T.Align(C.Alignment_1_0, _null, _null, M.Container$(_null, _this.right, C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t1), _null));
      t3.push(new T.Align(C.Alignment_0_1, _null, _null, M.Container$(_null, _this.bottom, C.Clip_0, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, _null), _null));
      return T.Stack$(C.AlignmentDirectional_m1_m1, t3, C.Clip_1, C.StackFit_0, _null, _null);
    }
  };
  B.Truncateable.prototype = {
    build$1: function(_, context) {
      var t1 = this.truncate ? 1 : 0;
      return new T.Flexible(t1, C.FlexFit_1, this.child, null);
    }
  };
  B.WidgetVisualizer.prototype = {
    build$1: function(_, context) {
      var t1, borderColor, t2, t3, t4, t5, t6, t7, _this = this, _null = null,
        theme = K.Theme_of(context),
        colorScheme = theme.colorScheme,
        properties = _this.layoutProperties;
      if (type$.legacy_FlexLayoutProperties._is(properties)) {
        t1 = properties.get$direction(properties);
        borderColor = t1 === C.Axis_0 ? C.Color_4281097642 : C.Color_4286027597;
      } else
        borderColor = C.Color_4287148510;
      t1 = _this.isSelected;
      if (t1)
        borderColor = C.Color_4281779956;
      t2 = type$.JSArray_legacy_Widget;
      t3 = H._setArrayType([], t2);
      t4 = _this.overflowSide;
      if (t4 != null)
        t3.push(T.Positioned$fill(T.CustomPaint$(_null, _null, _null, new X.OverflowIndicatorPainter(t4, 20, _null), C.Size_0_0)));
      t5 = t4 === C.OverflowSide_0 ? 20 : 0;
      t4 = t4 === C.OverflowSide_1 ? 20 : 0;
      if (t1)
        t1 = colorScheme.brightness === C.Brightness_1 ? C.Color_1307438831 : C.Color_1296516935;
      else
        t1 = _null;
      t6 = _this.largeTitle ? 400 : 187.5;
      t6 = H._setArrayType([new T.Flexible(1, C.FlexFit_1, M.Container$(_null, T.Center$(L.Text$(_this.title, _null, _null, C.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, colorScheme.brightness === C.Brightness_1 ? C.Color_4294967295 : C.Color_4278190080, _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), C.Clip_0, _null, new S.BoxConstraints(0, t6, 0, 1 / 0), new S.BoxDecoration(borderColor, _null, _null, _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, C.EdgeInsets_4_4_4_4, _null, _null, _null), _null)], t2);
      t7 = _this.hint;
      if (t7 != null)
        t6.push(new T.Flexible(1, C.FlexFit_1, t7, _null));
      t2 = H._setArrayType([new T.IntrinsicHeight(T.Row$(t6, C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null), _null)], t2);
      t2.push(T.Expanded$(_this.child, 1));
      t3.push(M.Container$(_null, T.Column$(t2, C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), C.Clip_0, t1, _null, _null, _null, _null, _null, new V.EdgeInsets(0, 0, t5, t4), _null, _null, _null, _null));
      t1 = T.Stack$(C.AlignmentDirectional_m1_m1, t3, C.Clip_1, C.StackFit_0, _null, _null);
      t2 = F.Border_Border$all(borderColor, 1);
      return M.Container$(_null, t1, C.Clip_0, _null, _null, new S.BoxDecoration(U.ColorExtension_darken(theme.canvasColor, 0.05), _null, t2, _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  B.AnimatedLayoutProperties.prototype = {
    get$parent: function(_) {
      var t1 = this.end;
      return t1.get$parent(t1);
    },
    set$parent: function(_, _parent) {
      this.end.set$parent(0, _parent);
    },
    get$children: function(_) {
      return this._utils2$_children;
    },
    _lerpList$2: function(l1, l2) {
      var t2, t3, i,
        t1 = H._setArrayType([], type$.JSArray_legacy_double);
      for (t2 = this._utils2$_children, t3 = this.animation, i = 0; i < t2.length; ++i)
        t1.push(P.lerpDouble(l1[i], l2[i], t3.get$value(t3)));
      return t1;
    },
    get$childrenHeights: function() {
      return this._lerpList$2(this.begin.get$childrenHeights(), this.end.get$childrenHeights());
    },
    get$childrenWidths: function() {
      return this._lerpList$2(this.begin.get$childrenWidths(), this.end.get$childrenWidths());
    },
    get$constraints: function() {
      var t1, exception, _this = this;
      try {
        t1 = _this.animation;
        t1 = S.BoxConstraints_lerp(_this.begin.get$constraints(), _this.end.get$constraints(), t1.get$value(t1));
        return t1;
      } catch (exception) {
        H.unwrapException(exception);
        t1 = _this.end.get$constraints();
        return t1;
      }
    },
    describeWidthConstraints$0: function() {
      return this.get$constraints().maxWidth < 1 / 0 ? N.LayoutProperties_describeAxis(this.get$constraints().minWidth, this.get$constraints().maxWidth, "w") : "w=unconstrained";
    },
    describeHeightConstraints$0: function() {
      return this.get$constraints().maxHeight < 1 / 0 ? N.LayoutProperties_describeAxis(this.get$constraints().minHeight, this.get$constraints().maxHeight, "h") : "h=unconstrained";
    },
    describeWidth$0: function() {
      return "w=" + J.toStringAsFixed$1$n(this.get$size(this)._dx, 1);
    },
    describeHeight$0: function() {
      return "h=" + J.toStringAsFixed$1$n(this.get$size(this)._dy, 1);
    },
    get$description: function(_) {
      var t1 = this.end;
      return t1.get$description(t1);
    },
    dimension$1: function(axis) {
      var t1 = this.animation;
      return P.lerpDouble(this.begin.dimension$1(axis), this.end.dimension$1(axis), t1.get$value(t1));
    },
    get$flexFactor: function() {
      var t1 = this.animation;
      return P.lerpDouble(this.begin.get$flexFactor(), this.end.get$flexFactor(), t1.get$value(t1));
    },
    get$hasChildren: function() {
      return this._utils2$_children.length !== 0;
    },
    get$isFlex: function() {
      return this.begin.get$isFlex() && this.end.get$isFlex();
    },
    get$node: function() {
      return this.end.get$node();
    },
    get$size: function(_) {
      var t1 = this.begin,
        t2 = this.end,
        t3 = this.animation;
      return P.Size_lerp(t1.get$size(t1), t2.get$size(t2), t3.get$value(t3));
    },
    get$width: function(_) {
      return this.get$size(this)._dx;
    },
    get$hasFlexFactor: function() {
      return this.begin.get$hasFlexFactor() && this.end.get$hasFlexFactor();
    },
    copyWith$0: function() {
      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 N.LayoutProperties$values(_this._utils2$_children, t3, t4, t5, t6, t1, t2, t7);
    },
    get$isOverflowWidth: function() {
      return this.end.get$isOverflowWidth();
    },
    get$isOverflowHeight: function() {
      return this.end.get$isOverflowHeight();
    },
    get$flexFit: function() {
      return this.end.get$flexFit();
    },
    get$displayChildren: function() {
      return this.end.get$displayChildren();
    },
    $isLayoutProperties: 1,
    get$begin: function() {
      return this.begin;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  B.LayoutExplorerBackground.prototype = {
    build$1: function(_, context) {
      var t1 = this.colorScheme.brightness === C.Brightness_1,
        t2 = t1 ? 0.3 : 0.2;
      return T.Positioned$fill(T.Opacity$(false, U.Image$asset(t1 ? "assets/img/layout_explorer/negative_space_light.png" : "assets/img/layout_explorer/negative_space_dark.png", C.Alignment_m1_m1, null, C.BoxFit_5, null, C.ImageRepeat_0), t2));
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  Q.VisualizeWidthAndHeightWithConstraints.prototype = {
    build$1: function(_, context) {
      var t3, t4, t5, t6, right, _this = this, _null = null,
        t1 = _this.properties,
        t2 = type$.legacy_FlexLayoutProperties._is(t1),
        showChildrenWidthsSum = t2 && t1.get$isOverflowWidth(),
        colorScheme = K.Theme_of(context).colorScheme,
        showOverflowHeight = t2 && t1.get$isOverflowHeight();
      t2 = type$.JSArray_legacy_InlineSpan;
      t3 = H._setArrayType([Q.TextSpan$(_null, _null, _null, _null, t1.describeHeight$0())], t2);
      if (t1.get$constraints() != null) {
        t4 = H._setArrayType([], t2);
        if (!showOverflowHeight)
          t4.push(C.TextSpan_mpm);
        t5 = " (" + t1.describeHeightConstraints$0() + ")";
        if (t1.get$constraints().maxHeight < 1 / 0 || !_this.warnIfUnconstrained)
          t6 = _null;
        else
          t6 = A.TextStyle$(_null, _null, colorScheme.brightness === C.Brightness_1 ? C.Color_4294280299 : C.Color_4292780169, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        t4.push(Q.TextSpan$(_null, _null, _null, t6, t5));
        C.JSArray_methods.addAll$1(t3, t4);
      }
      if (showOverflowHeight)
        t3.push(Q.TextSpan$(_null, _null, _null, _null, "\nchildren take: " + J.toStringAsFixed$1$n(V.sum(t1.get$childrenHeights()), 1)));
      right = M.Container$(_null, new A.LayoutBuilder(new Q.VisualizeWidthAndHeightWithConstraints_build_closure(_this, new T.RotatedBox(1, X.dimensionDescription(Q.TextSpan$(t3, _null, _null, _null, _null), t1.get$isOverflowHeight(), colorScheme), _null)), _null), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_8_8_2_56, _null, _null, _null, _null);
      t3 = H._setArrayType([Q.TextSpan$(_null, _null, _null, _null, t1.describeWidth$0() + "; ")], t2);
      if (t1.get$constraints() != null) {
        t2 = H._setArrayType([], t2);
        if (!showChildrenWidthsSum)
          t2.push(C.TextSpan_mpm);
        t4 = "(" + t1.describeWidthConstraints$0() + ")";
        if (t1.get$constraints().maxWidth < 1 / 0 || !_this.warnIfUnconstrained)
          t5 = _null;
        else
          t5 = A.TextStyle$(_null, _null, colorScheme.brightness === C.Brightness_1 ? C.Color_4294280299 : C.Color_4292780169, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        t2.push(Q.TextSpan$(_null, _null, _null, t5, t4));
        C.JSArray_methods.addAll$1(t3, t2);
      }
      if (showChildrenWidthsSum)
        t3.push(Q.TextSpan$(_null, _null, _null, _null, "\nchildren take " + J.toStringAsFixed$1$n(V.sum(t1.get$childrenWidths()), 1)));
      return new B.BorderLayout(_this.child, right, M.Container$(_null, new A.LayoutBuilder(new Q.VisualizeWidthAndHeightWithConstraints_build_closure0(_this, X.dimensionDescription(Q.TextSpan$(t3, _null, _null, _null, _null), t1.get$isOverflowWidth(), colorScheme)), _null), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_8_8_48_2, _null, _null, _null, _null), 48, 56, _null);
    }
  };
  Q.VisualizeWidthAndHeightWithConstraints_build_closure.prototype = {
    call$2: function(context, constraints) {
      var _null = null,
        displayHeightOutsideArrow = constraints.maxHeight < 200,
        t1 = displayHeightOutsideArrow ? _null : this.heightDescription;
      t1 = H._setArrayType([new B.Truncateable(M.Container$(_null, V.ArrowWrapper$bidirectional(C.Color_4283790975, this.$this.arrowHeadSize, 1.5, t1, 4, C.Axis_1), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_0_4_0, _null, _null, _null, _null), !displayHeightOutsideArrow, _null)], type$.JSArray_legacy_Widget);
      if (displayHeightOutsideArrow)
        t1.push(new T.Flexible(1, C.FlexFit_1, this.heightDescription, _null));
      return T.Row$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    $signature: 374
  };
  Q.VisualizeWidthAndHeightWithConstraints_build_closure0.prototype = {
    call$2: function(context, constraints) {
      var _null = null,
        displayWidthOutsideArrow = constraints.maxWidth < 200,
        t1 = displayWidthOutsideArrow ? _null : this.widthDescription;
      t1 = H._setArrayType([new B.Truncateable(M.Container$(_null, V.ArrowWrapper$bidirectional(C.Color_4283790975, this.$this.arrowHeadSize, 1.5, t1, 4, C.Axis_0), C.Clip_0, _null, _null, _null, _null, _null, _null, C.EdgeInsets_0_4_0_4, _null, _null, _null, _null), !displayWidthOutsideArrow, _null)], type$.JSArray_legacy_Widget);
      if (displayWidthOutsideArrow)
        t1.push(new T.Flexible(1, C.FlexFit_1, M.Container$(_null, this.widthDescription, C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_0_2_0_0, _null, _null, _null), _null));
      return T.Column$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    $signature: 375
  };
  Y.LandingScreenBody.prototype = {
    createState$0: function() {
      return new Y._LandingScreenBodyState(false, new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_legacy_bool), type$._AsyncCompleter_legacy_bool), C._StateLifecycle_0);
    }
  };
  Y._LandingScreenBodyState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.connectDialogController = D.TextEditingController$(null);
    },
    dispose$0: function(_) {
      this.connectDialogController.toString;
      this.super$__LandingScreenBodyState_State_BlockingActionMixin$dispose(0);
    },
    build$1: function(_, context) {
      var t2, t3, t4, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = L.Text$("Connect to a Running App", _null, _null, _null, _null, _null, K.Theme_of(t1).textTheme.subtitle1, _null, _null, _null);
      t2 = _this._framework$_element;
      t2.toString;
      t3 = type$.JSArray_legacy_Widget;
      t2 = _this._buildSection$2$child$title(T.Column$(H._setArrayType([t1, C.SizedBox_null_6_null_null, L.Text$("Enter a URL to a running Dart or Flutter application", _null, _null, _null, _null, _null, K.Theme_of(t2).textTheme.caption, _null, _null, _null), C.Padding_lAj1, _this._buildConnectInput$0()], t3), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), "Connect");
      t1 = _this._framework$_element;
      t1.toString;
      t1 = L.Text$("Import a data file to use DevTools without an app connection.", _null, _null, _null, _null, _null, K.Theme_of(t1).textTheme.subtitle1, _null, _null, _null);
      t4 = _this._framework$_element;
      t4.toString;
      return E.Scrollbar$(B.ListView$(H._setArrayType([t2, C.SizedBox_null_16_null_null, _this._buildSection$2$child$title(T.Column$(H._setArrayType([t1, C.SizedBox_null_6_null_null, L.Text$("At this time, DevTools only supports importing files that were originally exported from DevTools.", _null, _null, _null, _null, _null, K.Theme_of(t4).textTheme.caption, _null, _null, _null), C.SizedBox_null_16_null_null, D.ElevatedButton$(C.MaterialIconLabel_kgK, _this.get$_importFile(), _null)], t3), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), "Load DevTools Data"), C.SizedBox_null_16_null_null, _this._buildAppSizeInstructions$0()], t3), _null, _null, _null, _null, _null, false), _null, _null);
    },
    _importFile$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, importedFile, t1;
      var $async$_importFile$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(D.importFileFromPicker(H._setArrayType(["json"], type$.JSArray_legacy_String)), $async$_importFile$0);
            case 2:
              // returning from await.
              importedFile = $async$result;
              t1 = $async$self._framework$_element;
              t1.toString;
              Y.Provider_of(t1, false, type$.legacy_ImportController).importData$1(importedFile);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_importFile$0, $async$completer);
    },
    _buildAppSizeInstructions$0: function() {
      var t2, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = L.Text$("Analyze and view diffs for your app's size", _null, _null, _null, _null, _null, K.Theme_of(t1).textTheme.subtitle1, _null, _null, _null);
      t2 = _this._framework$_element;
      t2.toString;
      return _this._buildSection$2$child$title(T.Column$(H._setArrayType([t1, C.SizedBox_null_6_null_null, L.Text$("Load Dart AOT snapshots or app size analysis files to track down size issues in your app.", _null, _null, _null, _null, _null, K.Theme_of(t2).textTheme.caption, _null, _null, _null), C.SizedBox_null_16_null_null, D.ElevatedButton$(C.Text_eT1, new Y._LandingScreenBodyState__buildAppSizeInstructions_closure(_this), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), "App Size Tooling");
    },
    _buildSection$2$child$title: function(child, title) {
      var _null = null,
        t1 = this._framework$_element;
      t1.toString;
      return T.Column$(H._setArrayType([L.Text$(title, _null, _null, _null, _null, _null, K.Theme_of(t1).textTheme.headline5, _null, _null, _null), C.PaddedDivider_wEo1, child, C.PaddedDivider_wEo2], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _buildConnectInput$0: function() {
      var t3, t4, _this = this, _null = null,
        t1 = _this.BlockingActionMixin__actionInProgress,
        t2 = t1 ? _null : new Y._LandingScreenBodyState__buildConnectInput_closure(_this);
      t2 = T.SizedBox$(Z.TextField$(true, _this.connectDialogController, _null, C.InputDecoration_eFJ, _null, _null, _null, _null, _null, _null, _null, t2, _null), _null, 350);
      t3 = type$.JSArray_legacy_Widget;
      t2 = T.Row$(H._setArrayType([t2, C.SizedBox_16_null_null_null, D.ElevatedButton$(C.Text_uwP, t1 ? _null : _this.get$_connect(_this), _null)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
      t4 = _this._framework$_element;
      t4.toString;
      return T.Column$(H._setArrayType([t2, new T.Padding(C.EdgeInsets_0_8_0_8, L.Text$("(e.g., http://127.0.0.1:12345/auth_code=...)", _null, _null, _null, _null, _null, K.Theme_of(t4).textTheme.caption, C.TextAlign_4, _null, _null), _null)], t3), C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _connect$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_connect$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.blockWhileInProgress$1($async$self.get$_connectHelper()), $async$_connect$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_connect$0, $async$completer);
    },
    _connectHelper$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, uri, routerDelegate, notifications, connectedUri, t1, t2;
      var $async$_connectHelper$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.connectDialogController._value.text;
              t2 = t1 == null ? null : t1.length === 0;
              if (t2 !== false) {
                t1 = $async$self._framework$_element;
                t1.toString;
                Y.Notifications_of(t1).push$1("Please enter a VM Service URL.");
                // goto return
                $async$goto = 1;
                break;
              }
              uri = F.normalizeVmServiceUri(t1);
              t1 = $async$self._framework$_element;
              t1.toString;
              routerDelegate = Z.Router_of(t1, type$.legacy_Object).routerDelegate;
              t1 = $async$self._framework$_element;
              t1.toString;
              notifications = Y.Notifications_of(t1);
              $async$goto = 3;
              return P._asyncAwait(E.FrameworkCore_initVmService("", new Y._LandingScreenBodyState__connectHelper_closure(notifications), uri), $async$_connectHelper$0);
            case 3:
              // returning from await.
              if ($async$result) {
                connectedUri = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service._connectedUri;
                t1 = type$.legacy_String;
                routerDelegate.updateArgsIfNotCurrent$1(P.LinkedHashMap_LinkedHashMap$_literal(["uri", connectedUri.toString$0(0)], t1, t1));
                notifications.push$1("Successfully connected to " + connectedUri.replace$1$path(0, "").toString$0(0) + ".");
              } else if (uri == null)
                notifications.push$1('Failed to connect to the VM Service at "' + H.S($async$self.connectDialogController._value.text) + '".\nThe link was not valid.');
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_connectHelper$0, $async$completer);
    }
  };
  Y._LandingScreenBodyState__buildAppSizeInstructions_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._framework$_element;
      t1.toString;
      return Z.Router_of(t1, type$.legacy_Object).routerDelegate.navigate$1(0, "appsize");
    },
    $signature: 0
  };
  Y._LandingScreenBodyState__buildConnectInput_closure.prototype = {
    call$1: function(str) {
      var t1 = this.$this;
      return t1.get$_connect(t1);
    },
    $signature: 376
  };
  Y._LandingScreenBodyState__connectHelper_closure.prototype = {
    call$2: function(message, error) {
      this.notifications.push$1(message + " " + H.S(error));
    },
    $signature: 377
  };
  Y.__LandingScreenBodyState_State_BlockingActionMixin.prototype = {
    dispose$0: function(_) {
      this.BlockingActionMixin__actionInProgress = false;
      this.BlockingActionMixin__disposed.complete$1(0, true);
      this.super$State$dispose(0);
    }
  };
  A.FixedValueListenable.prototype = {
    addListener$1: function(_, listener) {
      return null;
    },
    removeListener$1: function(_, listener) {
      return null;
    },
    get$value: function(_) {
      return this._listenable$_value;
    }
  };
  E._retrieveFullStringValue_closure.prototype = {
    call$1: function(truncatedValue) {
      return this.fallback;
    },
    $signature: 177
  };
  E.LoggingController.prototype = {
    selectLog$1: function(data) {
      this._selectedLog.set$value(0, data);
    },
    _logging_controller$_updateData$1: function(logs) {
      var t1, selected, _this = this;
      _this.data = logs;
      _this.filterData$1(_this.FilterControllerMixin_activeFilter._value);
      _this.updateMatches$1(_this.matchesForSearch$1(_this.SearchControllerMixin__searchNotifier._value));
      t1 = _this._selectedLog;
      selected = t1._value;
      if (selected != null) {
        logs = _this.FilterControllerMixin_filteredData._currentList;
        if (!logs.contains$1(logs, selected))
          t1.set$value(0, null);
      }
      _this._logStatusController.add$1(0, _this.get$statusText(_this));
    },
    get$statusText: function(_) {
      var label, t1,
        totalCount = this.data.length,
        showingCount = this.FilterControllerMixin_filteredData._currentList.length;
      if (totalCount === showingCount)
        label = $.$get$nf().format$1(totalCount);
      else {
        t1 = $.$get$nf();
        label = "showing " + t1.format$1(showingCount) + " of " + t1.format$1(totalCount);
      }
      return label + " " + B.pluralize("event", totalCount);
    },
    clear$0: function(_) {
      this.FilterControllerMixin_activeFilter.set$value(0, null);
      this._logging_controller$_updateData$1(H._setArrayType([], type$.JSArray_legacy_LogData));
      $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1("logging");
    },
    _logging_controller$_handleConnectionStart$1: function(service) {
      return this._handleConnectionStart$body$LoggingController(service);
    },
    _handleConnectionStart$body$LoggingController: function(service) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t2, t1;
      var $async$_logging_controller$_handleConnectionStart$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.AutoDisposeControllerMixin__delegate;
              t1.autoDispose$1(service.get$onStdoutEventWithHistory().listen$1(new E._StdoutEventHandler($async$self, "stdout", false).get$handle()));
              t1.autoDispose$1(service.get$onStderrEventWithHistory().listen$1(new E._StdoutEventHandler($async$self, "stderr", true).get$handle()));
              t2 = service._vmService._getEventController$1("GC");
              t1.autoDispose$1(new P._BroadcastStream(t2, H._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1($async$self.get$_logging_controller$_handleGCEvent()));
              t1.autoDispose$1(service.get$onLoggingEventWithHistory().listen$1($async$self.get$_handleDeveloperLogEvent()));
              t1.autoDispose$1(service.get$onExtensionEventWithHistory().listen$1($async$self.get$_logging_controller$_handleExtensionEvent()));
              t1 = $async$self.inspectorService;
              $async$goto = t1 == null ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return P._asyncAwait(E.InspectorService_create(service).catchError$2$test(new E.LoggingController__handleConnectionStart_closure(), new E.LoggingController__handleConnectionStart_closure0()), $async$_logging_controller$_handleConnectionStart$1);
            case 4:
              // returning from await.
              t1 = $async$self.inspectorService = $async$result;
            case 3:
              // join
              if (t1 != null)
                $async$self.objectGroup = E.ObjectGroup$("console-group", t1);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_logging_controller$_handleConnectionStart$1, $async$completer);
    },
    _logging_controller$_handleExtensionEvent$1: function(e) {
      return this._handleExtensionEvent$body$LoggingController(e);
    },
    _handleExtensionEvent$body$LoggingController: function(e) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, frameInfoText, images, _i, image, t5, file, t6, displaySizeInBytes, decodedSizeInBytes, t7, t8, t9, node, summary;
      var $async$_logging_controller$_handleExtensionEvent$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (J.containsKey$1$x(C.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);
                frameInfoText = "#" + H.S(t3) + " " + C.JSString_methods.padLeft$1(C.JSNumber_methods.toStringAsFixed$1(t4, 1), 4) + "ms ";
                t4 = e.extensionKind.toLowerCase();
                t3 = C.C_JsonCodec.encode$2$toEncodable(e.extensionData.data, null);
                $async$self.log$1(new E.LogData(t4, e.timestamp, false, frameInfoText, t3, null, false, false));
              } else if (t1 === "Flutter.ImageSizesForFrame") {
                images = E.ImageSizesForFrame_from(e.extensionData.data);
                for (t1 = images.length, _i = 0; _i < images.length; images.length === t1 || (0, H.throwConcurrentModificationError)(images), ++_i) {
                  image = images[_i];
                  t2 = e.extensionKind.toLowerCase();
                  t3 = image.rawJson;
                  t4 = C.C_JsonCodec.encode$2$toEncodable(t3, null);
                  t5 = e.timestamp;
                  file = X.ParsedPath_ParsedPath$parse(image.source, $.$get$context().style).get$basename();
                  t6 = J.getInterceptor$asx(t3);
                  displaySizeInBytes = t6.$index(t3, "displaySizeInBytes");
                  decodedSizeInBytes = t6.$index(t3, "decodedSizeInBytes");
                  t3 = decodedSizeInBytes == null ? 0 : decodedSizeInBytes;
                  t3 = Math.sqrt(t3);
                  t6 = displaySizeInBytes == null ? 1 : displaySizeInBytes;
                  t6 = Math.sqrt(t6);
                  t7 = "Image " + H.S(file) + " \u2022 displayed at ";
                  t8 = image.displaySize;
                  t9 = J.getInterceptor$asx(t8);
                  t8 = t7 + J.round$0$n(t9.$index(t8, "width")) + "x" + J.round$0$n(t9.$index(t8, "height")) + " \u2022 created at ";
                  t9 = image.imageSize;
                  t7 = J.getInterceptor$asx(t9);
                  $async$self.log$1(new E.LogData(t2, t5, false, t8 + J.round$0$n(t7.$index(t9, "width")) + "x" + J.round$0$n(t7.$index(t9, "height")) + " \u2022 " + C.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 = C.C_JsonCodec.encode$2$toEncodable(e.json, null);
                t4 = e.timestamp;
                $async$self.log$1(new E.LogData(t2, t4, false, t1 == null ? null : J.$index$asx(t1, "description"), t3, null, false, false));
              } else if (J.containsKey$1$x(C.Set_nPXOm._collection$_map, t1)) {
                t1 = e.extensionKind.toLowerCase();
                t2 = C.C_JsonCodec.encode$2$toEncodable(e.json, null);
                $async$self.log$1(new E.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 = C.C_JsonCodec.encode$2$toEncodable(e.json, null);
                  $async$self.log$1(new E.LogData(t2, e.timestamp, false, H.S(t3) + ": " + H.S(t1), t4, null, false, false));
                } else if (t1 === "Flutter.Error") {
                  t1 = e.extensionData.data;
                  node = new M.RemoteDiagnosticsNode(null, $async$self.objectGroup, t1, false);
                  node._diagnostics_node$_style = C.DiagnosticsTreeStyle_5;
                  summary = E.LoggingController__findFirstSummary(node);
                  if (summary == null)
                    summary = node;
                  t1 = e.extensionKind.toLowerCase();
                  t2 = C.C_JsonCodec.encode$2$toEncodable(e.extensionData.data, null);
                  $async$self.log$1(new E.LogData(t1, e.timestamp, false, summary.toDiagnosticsNode$0().super$Object$toString(0), t2, null, false, false));
                } else {
                  t1 = t1.toLowerCase();
                  t2 = C.C_JsonCodec.encode$2$toEncodable(e.json, null);
                  $async$self.log$1(new E.LogData(t1, e.timestamp, false, J.toString$0$(e.json), t2, null, false, false));
                }
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_logging_controller$_handleExtensionEvent$1, $async$completer);
    },
    _logging_controller$_handleGCEvent$1: function(e) {
      var oldSpace, isolateRef, t2, t3, t4, time, summary, message, _null = null,
        t1 = J.$index$asx(e.json, "new"),
        newSpace = t1 == null ? _null : L.HeapSpace$_fromJson(t1);
      t1 = J.$index$asx(e.json, "old");
      oldSpace = t1 == null ? _null : L.HeapSpace$_fromJson(t1);
      isolateRef = J.$index$asx(e.json, "isolate");
      t1 = newSpace.used;
      t2 = oldSpace.used;
      t3 = newSpace.capacity;
      t4 = oldSpace.capacity;
      time = C.JSNumber_methods.round$0((newSpace.time + oldSpace.time) * 1000);
      summary = H.S(J.$index$asx(isolateRef, "name")) + " \u2022 " + H.S(J.$index$asx(e.json, "reason")) + " collection in " + time + " ms \u2022 " + B.printMB(t1 + t2, 1, true) + " used of " + B.printMB(t3 + t4, 1, true);
      message = C.C_JsonCodec.encode$2$toEncodable(P.LinkedHashMap_LinkedHashMap$_literal(["reason", J.$index$asx(e.json, "reason"), "new", newSpace.json, "old", oldSpace.json, "isolate", isolateRef], type$.legacy_String, type$.dynamic), _null);
      this.log$1(new E.LogData("gc", e.timestamp, false, summary, message, _null, false, false));
    },
    _handleDeveloperLogEvent$1: function(e) {
      var level, messageRef, summary, error, stackTrace, detailsComputer, isError, _null = null,
        service = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service,
        logRecord = J.$index$asx(e.json, "logRecord"),
        t1 = J.getInterceptor$asx(logRecord),
        t2 = t1.$index(logRecord, "loggerName"),
        loggerName = E._valueAsString(t2 == null ? _null : Q.InstanceRef$_fromJson(t2));
      if (loggerName == null || loggerName.length === 0)
        loggerName = "log";
      level = t1.$index(logRecord, "level");
      t2 = t1.$index(logRecord, "message");
      messageRef = t2 == null ? _null : Q.InstanceRef$_fromJson(t2);
      summary = E._valueAsString(messageRef);
      if (messageRef.valueAsStringIsTruncated === true)
        summary = J.$add$ansx(summary, "...");
      t2 = t1.$index(logRecord, "error");
      error = t2 == null ? _null : Q.InstanceRef$_fromJson(t2);
      t1 = t1.$index(logRecord, "stackTrace");
      stackTrace = t1 == null ? _null : Q.InstanceRef$_fromJson(t1);
      if (messageRef.valueAsStringIsTruncated !== true)
        if (!(error != null && error.kind !== "Null"))
          t1 = stackTrace != null && stackTrace.kind !== "Null";
        else
          t1 = true;
      else
        t1 = true;
      detailsComputer = t1 ? new E.LoggingController__handleDeveloperLogEvent_closure(service, e, messageRef, error, stackTrace) : _null;
      isError = level != null && level >= 1000 && true;
      this.log$1(new E.LogData(loggerName, e.timestamp, isError, summary, summary, detailsComputer, false, false));
    },
    _logging_controller$_handleConnectionStop$1: function($event) {
    },
    log$1: function(log) {
      var t1, itemsToRemove,
        currentLogs = P.List_List$from(this.data, true, type$.legacy_LogData);
      currentLogs.push(log);
      t1 = currentLogs.length;
      if (t1 > 5500) {
        itemsToRemove = t1 - 5000;
        currentLogs = C.JSArray_methods.sublist$1(currentLogs, C.JSInt_methods.$mod(itemsToRemove, 2) === 1 ? itemsToRemove - 1 : itemsToRemove);
      }
      this._logging_controller$_updateData$1(currentLogs);
    },
    _handleBusEvents$0: function() {
      var t1, t2, _this = this;
      if ($.globals.$index(0, C.Type_MessageBus_MAi) != null) {
        t1 = _this.AutoDisposeControllerMixin__delegate;
        t1.autoDispose$1($.globals.$index(0, C.Type_MessageBus_MAi).onEvent$1$type("reload.end").listen$1(new E.LoggingController__handleBusEvents_closure(_this)));
        t1.autoDispose$1($.globals.$index(0, C.Type_MessageBus_MAi).onEvent$1$type("restart.end").listen$1(new E.LoggingController__handleBusEvents_closure0(_this)));
        t2 = $.globals.$index(0, C.Type_MessageBus_MAi).onEvent$0();
        t1.autoDispose$1(new P._WhereStream(new E.LoggingController__handleBusEvents_closure1(), t2, H._instanceType(t2)._eval$1("_WhereStream<Stream.T>")).listen$1(_this.get$_handleDebuggerEvent()));
        t2 = $.globals.$index(0, C.Type_MessageBus_MAi).onEvent$0();
        t1.autoDispose$1(new P._WhereStream(new E.LoggingController__handleBusEvents_closure2(), t2, H._instanceType(t2)._eval$1("_WhereStream<Stream.T>")).listen$1(_this.get$_handleDevToolsEvent()));
      }
    },
    _handleDebuggerEvent$1: function($event) {
      var t1, t2, t3, t4, t5,
        debuggerEvent = $event.data;
      if (debuggerEvent.kind === "ServiceExtensionAdded")
        return;
      t1 = $event.type;
      t2 = C.C_JsonCodec.encode$2$toEncodable(debuggerEvent.json, null);
      t3 = debuggerEvent.timestamp;
      t4 = H.S(debuggerEvent.kind) + " ";
      t5 = debuggerEvent.isolate;
      this.log$1(new E.LogData(t1, t3, false, t4 + H.S(t5.get$id(t5)), t2, null, false, false));
    },
    _handleDevToolsEvent$1: function($event) {
      var lines, summary,
        details = J.toString$0$($event.data);
      if (C.JSString_methods.contains$1(details, "\n")) {
        lines = H._setArrayType(details.split("\n"), type$.JSArray_String);
        summary = C.JSArray_methods.get$first(lines);
        details = C.JSArray_methods.join$1(C.JSArray_methods.sublist$1(lines, 1), "\n");
      } else
        summary = null;
      this.log$1(new E.LogData($event.type, Date.now(), false, summary, details, null, false, false));
    },
    matchesForSearch$1: function(search) {
      var matches, caseInsensitiveSearch, currentLogs, t1, t2, t3;
      if (search == null || search.length === 0)
        return H._setArrayType([], type$.JSArray_legacy_LogData);
      matches = H._setArrayType([], type$.JSArray_legacy_LogData);
      caseInsensitiveSearch = search.toLowerCase();
      currentLogs = this.FilterControllerMixin_filteredData._currentList;
      for (t1 = new H.ListIterator(currentLogs, currentLogs.length, currentLogs.$ti._eval$1("ListIterator<ListMixin.E>")); t1.moveNext$0();) {
        t2 = t1.__internal$_current;
        t3 = t2.summary;
        if (t3 != null) {
          t3 = t3.toLowerCase();
          t3 = H.stringContainsUnchecked(t3, caseInsensitiveSearch, 0);
        } else
          t3 = false;
        if (!t3) {
          t3 = t2._logging_controller$_details;
          if (t3 != null) {
            t3 = t3.toLowerCase();
            t3 = H.stringContainsUnchecked(t3, caseInsensitiveSearch, 0);
          } else
            t3 = false;
        } else
          t3 = true;
        if (t3) {
          matches.push(t2);
          t2.DataSearchStateMixin_isSearchMatch = true;
        } else
          t2.DataSearchStateMixin_isSearchMatch = false;
      }
      return matches;
    },
    filterData$1: function(filter) {
      var t2, t3, _this = this,
        t1 = _this.FilterControllerMixin_filteredData;
      if (filter == null) {
        t1.clear$0(0);
        t1.addAll$1(0, _this.data);
      } else {
        t1.clear$0(0);
        t2 = _this.data;
        t3 = H._arrayInstanceType(t2)._eval$1("WhereIterable<1>");
        t1.addAll$1(0, P.List_List$of(new H.WhereIterable(t2, new E.LoggingController_filterData_closure(filter), t3), true, t3._eval$1("Iterable.E")));
      }
      _this.FilterControllerMixin_activeFilter.set$value(0, filter);
    }
  };
  E.LoggingController__handleConnectionStart_closure.prototype = {
    call$1: function(e) {
      return null;
    },
    $signature: 5
  };
  E.LoggingController__handleConnectionStart_closure0.prototype = {
    call$1: function(e) {
      return e instanceof E.FlutterInspectorLibraryNotFound;
    },
    $signature: 163
  };
  E.LoggingController__handleDeveloperLogEvent_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_String),
        $async$returnValue, $async$self = this, t4, t5, toStringResult, t1, t2, result, t3, $async$temp1, $async$temp2, $async$temp3;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.service;
              t2 = $async$self.e;
              $async$goto = 3;
              return P._asyncAwait(E._retrieveFullStringValue(t1, t2.isolate, $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
              $async$temp1 = J;
              $async$temp2 = result;
              $async$temp3 = H;
              $async$goto = 9;
              return P._asyncAwait(E._retrieveFullStringValue(t1, t5, t3), $async$call$0);
            case 9:
              // returning from await.
              result = $async$temp1.$add$ansx($async$temp2, "\n\n" + $async$temp3.S($async$result));
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              $async$goto = 10;
              return P._asyncAwait(t1.invoke$5$disableBreakpoints(t5.get$id(t5), t3.id, "toString", H._setArrayType([], type$.JSArray_legacy_String), true), $async$call$0);
            case 10:
              // returning from await.
              toStringResult = $async$result;
              $async$goto = type$.legacy_ErrorRef._is(toStringResult) ? 11 : 13;
              break;
            case 11:
              // then
              result = J.$add$ansx(result, "\n\n" + H.S(E._valueAsString(t3)));
              // goto join
              $async$goto = 12;
              break;
            case 13:
              // else
              $async$goto = type$.legacy_InstanceRef._is(toStringResult) ? 14 : 15;
              break;
            case 14:
              // then
              $async$temp1 = J;
              $async$temp2 = result;
              $async$temp3 = H;
              $async$goto = 16;
              return P._asyncAwait(E._retrieveFullStringValue(t1, t2.isolate, toStringResult), $async$call$0);
            case 16:
              // returning from await.
              result = $async$temp1.$add$ansx($async$temp2, "\n\n" + $async$temp3.S($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" ? J.$add$ansx(result, "\n\n" + H.S(E._valueAsString(t1))) : result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 381
  };
  E.LoggingController__handleBusEvents_closure.prototype = {
    call$1: function($event) {
      var t1 = $event.data;
      this.$this.log$1(new E.LogData("hot.reload", Date.now(), false, null, t1, null, false, false));
    },
    $signature: 348
  };
  E.LoggingController__handleBusEvents_closure0.prototype = {
    call$1: function($event) {
      var t1 = $event.data;
      this.$this.log$1(new E.LogData("hot.restart", Date.now(), false, null, t1, null, false, false));
    },
    $signature: 348
  };
  E.LoggingController__handleBusEvents_closure1.prototype = {
    call$1: function($event) {
      var t1 = $event.type;
      return t1 === "debugger" || C.JSString_methods.startsWith$1(t1, "debugger.");
    },
    $signature: 127
  };
  E.LoggingController__handleBusEvents_closure2.prototype = {
    call$1: function($event) {
      return C.JSString_methods.startsWith$1($event.type, "devtools.");
    },
    $signature: 127
  };
  E.LoggingController_filterData_closure.prototype = {
    call$1: function(log) {
      var t2, _i, caseInsensitiveSubstring, t3, matchesKind, t4, matchesSummary, matchesDetails,
        t1 = this.filter,
        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 (_i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          caseInsensitiveSubstring = t1[_i].toLowerCase();
          t3 = log.kind;
          matchesKind = H.stringContainsUnchecked(t3.toLowerCase(), caseInsensitiveSubstring, 0);
          if (matchesKind)
            return true;
          t3 = log.summary;
          if (t3 != null) {
            t4 = t3.toLowerCase();
            matchesSummary = H.stringContainsUnchecked(t4, caseInsensitiveSubstring, 0);
          } else
            matchesSummary = false;
          if (matchesSummary)
            return true;
          if (log._logging_controller$_details != null) {
            t3 = t3.toLowerCase();
            matchesDetails = H.stringContainsUnchecked(t3, caseInsensitiveSubstring, 0);
          } else
            matchesDetails = false;
          if (matchesDetails)
            return true;
        }
        return false;
      }
      return true;
    },
    $signature: 383
  };
  E._StdoutEventHandler.prototype = {
    handle$1: function(e) {
      var t1, t2, t3, t4, summary, data, _this = this,
        message = C.Utf8Codec_false.decode$1(0, C.C_Base64Decoder.convert$1(e.bytes));
      if (_this.buffer != null) {
        t1 = _this.timer;
        if (t1 != null)
          t1.cancel$0(0);
        if (message === "\n") {
          t1 = _this.buffer;
          t2 = t1.kind;
          t1 = J.$add$ansx(t1._logging_controller$_details, message);
          t3 = _this.buffer;
          t4 = t3.timestamp;
          t3 = J.$add$ansx(t3.summary, message);
          _this.loggingController.log$1(new E.LogData(t2, t4, _this.buffer.isError, t3, t1, null, false, false));
          _this.buffer = null;
          return;
        }
        _this.loggingController.log$1(_this.buffer);
        _this.buffer = null;
      }
      summary = message.length > 200 ? C.JSString_methods.substring$2(message, 0, 200) : message;
      data = new E.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 = P.Timer_Timer(C.Duration_1000, new E._StdoutEventHandler_handle_closure(_this));
      }
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  E._StdoutEventHandler_handle_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.loggingController.log$1(t1.buffer);
      t1.buffer = null;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  E.LogData.prototype = {
    compute$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$compute$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$compute$0, $async$completer);
    },
    get$prettyPrinted: function() {
      var t1, exception, _this = this;
      if (_this.detailsComputer != null)
        return _this._logging_controller$_details;
      try {
        t1 = P._JsonStringStringifier_stringify(C.C_JsonCodec.decode$2$reviver(0, _this._logging_controller$_details, null), null, "  ");
        t1 = H.stringReplaceAllUnchecked(t1, "\\n", "\n");
        return t1;
      } catch (exception) {
        H.unwrapException(exception);
        t1 = _this._logging_controller$_details;
        return t1;
      }
    },
    toString$0: function(_) {
      return "LogData(" + this.kind + ", " + H.S(this.timestamp) + ")";
    },
    get$kind: function(receiver) {
      return this.kind;
    },
    get$node: function() {
      return null;
    }
  };
  E.ImageSizesForFrame.prototype = {
    toString$0: function(_) {
      var t1 = this.displaySize,
        t2 = J.getInterceptor$asx(t1);
      return H.S(this.source) + " " + H.S(t2.$index(t1, "width")) + "x" + H.S(t2.$index(t1, "height"));
    }
  };
  E.ImageSizesForFrame_from_closure.prototype = {
    call$1: function(entry) {
      var t1 = J.getInterceptor$asx(entry);
      return new E.ImageSizesForFrame(t1.$index(entry, "source"), t1.$index(entry, "displaySize"), t1.$index(entry, "imageSize"), entry);
    },
    $signature: 384
  };
  E._LogData_Object_DataSearchStateMixin.prototype = {
    set$isActiveSearchMatch: function(val) {
      return this.DataSearchStateMixin_isActiveSearchMatch = val;
    }
  };
  E._LoggingController_DisposableController_SearchControllerMixin.prototype = {};
  E._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin.prototype = {};
  E._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin_AutoDisposeControllerMixin.prototype = {};
  M.LoggingScreen.prototype = {
    get$docPageId: function() {
      return this.screenId;
    },
    build$1: function(_, context) {
      return C.LoggingScreenBody_null;
    },
    buildStatus$2: function(context, textTheme) {
      var controller = Y.Provider_of(context, true, type$.legacy_LoggingController),
        t1 = controller.get$statusText(controller),
        t2 = controller._logStatusController;
      return B.StreamBuilder$(new M.LoggingScreen_buildStatus_closure(), t1, new P._BroadcastStream(t2, H._instanceType(t2)._eval$1("_BroadcastStream<1>")), type$.legacy_String);
    }
  };
  M.LoggingScreen_buildStatus_closure.prototype = {
    call$2: function(context, snapshot) {
      var _null = null,
        t1 = snapshot.data;
      return L.Text$(t1 == null ? "" : t1, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 385
  };
  M.LoggingScreenBody.prototype = {
    createState$0: function() {
      var _null = null;
      return new M._LoggingScreenState(_null, _null, _null, _null, 769, 772, 13, 27, 9, 458792, 458795, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  M._LoggingScreenState.prototype = {
    initState$0: function() {
      this.super$__LoggingScreenState_State_AutoDisposeMixin_SearchFieldMixin$initState();
      F.screen("logging");
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_LoggingController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      t1 = _this.controller.FilterControllerMixin_filteredData;
      _this.filteredLogs = t1._currentList;
      _this.addAutoDisposeListener$2(t1, new M._LoggingScreenState_didChangeDependencies_closure(_this));
      t1 = _this.controller._selectedLog;
      _this.selected = t1._value;
      _this.addAutoDisposeListener$2(t1, new M._LoggingScreenState_didChangeDependencies_closure0(_this));
    },
    build$1: function(_, context) {
      var t2, t3, t4, _this = this, _null = null,
        t1 = _this.controller.FilterControllerMixin_filteredData._currentList;
      t1 = t1.get$isEmpty(t1);
      t2 = _this.controller;
      t3 = type$.JSArray_legacy_Widget;
      t1 = T.Row$(H._setArrayType([U.ClearButton$(_null, _null, t2.get$clear(t2)), C.Spacer_null, new B.StructuredErrorsToggle(_null), C.SizedBox_8_null_null_null, M.Container$(_null, _this.buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(t2, !t1, $.$get$loggingSearchFieldKey(), false, true), C.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, 400), C.SizedBox_8_null_null_null, new U.FilterButton(_this.get$_showFilterDialog(), _this.filteredLogs.length !== _this.controller.data.length, _null)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
      t2 = _this.filteredLogs;
      t4 = _this.controller;
      return T.Column$(H._setArrayType([t1, C.SizedBox_null_6_null_null, T.Expanded$(L.Split$(C.Axis_1, H._setArrayType([new U.OutlineDecoration(new M.LogsTable(t2, t4.get$selectLog(), t4._selectedLog, t4.SearchControllerMixin__searchMatches, t4.SearchControllerMixin__activeSearchMatch, new M._WhenColumn("When", _null, 120, _null, C.ColumnAlignment_0), new M._KindColumn("Kind", _null, 155, _null, C.ColumnAlignment_0), new M.MessageColumn("Message", _null, _null, _null, C.ColumnAlignment_0), _null), _null), new M.LogDetails(_this.selected, _null)], t3), C.List_sxw, _null, _null), 1)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _showFilterDialog$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      E.showDialog(true, new M._LoggingScreenState__showFilterDialog_closure(this), t1, type$.dynamic);
    }
  };
  M._LoggingScreenState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new M._LoggingScreenState_didChangeDependencies__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  M._LoggingScreenState_didChangeDependencies__closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.filteredLogs = t1.controller.FilterControllerMixin_filteredData._currentList;
    },
    $signature: 1
  };
  M._LoggingScreenState_didChangeDependencies_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new M._LoggingScreenState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  M._LoggingScreenState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.selected = t1.controller._selectedLog._value;
    },
    $signature: 1
  };
  M._LoggingScreenState__showFilterDialog_closure.prototype = {
    call$1: function(context) {
      var t1 = this.$this;
      return new X.FilterDialog(t1.controller, new M._LoggingScreenState__showFilterDialog__closure(t1), "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$.FilterDialog_legacy_LoggingController);
    },
    $signature: 386
  };
  M._LoggingScreenState__showFilterDialog__closure.prototype = {
    call$1: function(query) {
      var t1 = this.$this.controller;
      return t1.filterData$1(X.QueryFilter_QueryFilter$parse(query, t1._filterArgs, type$.dynamic));
    },
    $signature: 32
  };
  M.LogsTable.prototype = {
    build$1: function(_, context) {
      var _this = this,
        t1 = _this.when,
        t2 = _this.message;
      return S.FlatTable$(_this.activeSearchMatchNotifier, true, H._setArrayType([t1, _this.kind, t2], type$.JSArray_legacy_ColumnData_legacy_LogData), _this.data, null, new M.LogsTable_build_closure(), _this.onItemSelected, null, _this.searchMatchesNotifier, t2, _this.selectionNotifier, t1, C.SortDirection_0, type$.legacy_LogData);
    },
    get$kind: function(receiver) {
      return this.kind;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  M.LogsTable_build_closure.prototype = {
    call$1: function(data) {
      return new D.ValueKey(data, type$.ValueKey_legacy_LogData);
    },
    $signature: 387
  };
  M.LogDetails.prototype = {
    createState$0: function() {
      return new M._LogDetailsState(null, C._StateLifecycle_0);
    }
  };
  M._LogDetailsState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.scrollController = F.ScrollController$(0);
      this._computeLogDetails$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      if (this._widget.log != oldWidget.log)
        this._computeLogDetails$0();
    },
    _computeLogDetails$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2;
      var $async$_computeLogDetails$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncAwait(t1.compute$0(), $async$_computeLogDetails$0);
            case 4:
              // returning from await.
              $async$self.setState$1(new M._LogDetailsState__computeLogDetails_closure());
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_computeLogDetails$0, $async$completer);
    },
    build$1: function(_, context) {
      var _null = null,
        t1 = this._widget.log,
        t2 = H._setArrayType([this._buildSimpleLog$2(context, t1)], type$.JSArray_legacy_Widget);
      if (t1 != null && t1.detailsComputer != null)
        t2.push(C.CenteredCircularProgressIndicator_null);
      return M.Container$(_null, T.Stack$(C.AlignmentDirectional_m1_m1, t2, C.Clip_1, C.StackFit_0, _null, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    _buildSimpleLog$2: function(context, log) {
      var t2, t3, _this = this, _null = null,
        t1 = log == null,
        disabled = (t1 ? _null : log._logging_controller$_details) == null || log._logging_controller$_details.length === 0,
        details = t1 ? _null : log._logging_controller$_details;
      if (details != _this._logging_screen$_lastDetails) {
        t2 = _this.scrollController;
        if (t2._positions.length !== 0)
          t2.jumpTo$1(0);
        _this._logging_screen$_lastDetails = details;
      }
      t2 = U.AreaPaneHeader$(H._setArrayType([G.CopyToClipboardControl$(C.ValueKey_ebu, disabled ? _null : new M._LogDetailsState__buildSimpleLog_closure(log), "Copied to clipboard.")], type$.JSArray_legacy_Widget), 1, true, false, false, 4, false, C.Text_0);
      t3 = _this.scrollController;
      t1 = t1 ? _null : log.get$prettyPrinted();
      if (t1 == null)
        t1 = "";
      return new U.OutlineDecoration(new G.ConsoleFrame(t2, new T.Padding(C.EdgeInsets_8_8_8_8, E.SingleChildScrollView$(O.SelectableText$(t1, _null, _null, K.Theme_of(context).textTheme.bodyText2.copyWith$1$fontFamily("RobotoMono"), C.TextAlign_0), t3, C.DragStartBehavior_1, _null, _null, false, C.Axis_1), _null), _null, _null), _null);
    }
  };
  M._LogDetailsState__computeLogDetails_closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  M._LogDetailsState__buildSimpleLog_closure.prototype = {
    call$0: function() {
      var t1 = this.log;
      return t1 == null ? null : t1.get$prettyPrinted();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 38
  };
  M._WhenColumn.prototype = {
    getValue$1: function(dataObject) {
      var t1 = dataObject.timestamp;
      return t1 == null ? "" : $.$get$timeFormat().format$1(P.DateTime$fromMillisecondsSinceEpoch(t1, false));
    }
  };
  M._KindColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.kind;
    },
    build$3$isRowSelected: function(_, context, item, isRowSelected) {
      var color, textStyle, t1, _null = null,
        kind = item.kind;
      if (kind === "stderr" || item.isError || kind === "flutter.error")
        color = C.Color_4294198070;
      else if (kind === "stdout")
        color = C.Color_4286091420;
      else if (C.JSString_methods.startsWith$1(kind, "flutter"))
        color = C.Color_4278227434;
      else
        color = kind === "gc" ? C.Color_4282532418 : C.Color_4284572001;
      textStyle = K.Theme_of(context).textTheme.bodyText2.copyWith$1$fontFamily("RobotoMono");
      t1 = K.BorderRadius$circular(3);
      return M.Container$(_null, L.Text$(kind, _null, _null, C.TextOverflow_2, _null, _null, textStyle, _null, _null, _null), C.Clip_0, _null, _null, new S.BoxDecoration(color, _null, _null, t1, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, C.EdgeInsets_3_0_3_0, _null, _null, _null);
    },
    $isColumnRenderer: 1
  };
  M.MessageColumn.prototype = {
    getValue$1: function(dataObject) {
      var t1 = dataObject.summary;
      return t1 == null ? dataObject._logging_controller$_details : t1;
    },
    compare$2: function(a, b) {
      var valueB, regex, valueAIsFrameLog, valueBIsFrameLog, t1, t2,
        valueA = a.summary;
      if (valueA == null)
        valueA = a._logging_controller$_details;
      valueB = b.summary;
      if (valueB == null)
        valueB = b._logging_controller$_details;
      regex = P.RegExp_RegExp("#(\\d+)\\s+\\d+.\\d+ms\\s*", true, false);
      valueAIsFrameLog = J.startsWith$1$s(valueA, regex);
      valueBIsFrameLog = J.startsWith$1$s(valueB, regex);
      if (valueAIsFrameLog && valueBIsFrameLog) {
        t1 = regex.firstMatch$1(valueA)._match[1];
        t2 = regex.firstMatch$1(valueB)._match[1];
        return C.JSInt_methods.compareTo$1(P.int_parse(t1, null), P.int_parse(t2, null));
      } else if (valueAIsFrameLog && !valueBIsFrameLog)
        return -1;
      else if (!valueAIsFrameLog && valueBIsFrameLog)
        return 1;
      return C.JSString_methods.compareTo$1(valueA, valueB);
    },
    build$3$isRowSelected: function(_, context, data, isRowSelected) {
      var frameLength, micros, t1, text, exception, _null = null,
        textStyle = K.Theme_of(context).textTheme.bodyText2.copyWith$1$fontFamily("RobotoMono");
      if (isRowSelected)
        textStyle = textStyle.copyWith$1$color(C.Color_4294967295);
      t1 = data.kind;
      if (t1 === "flutter.frame") {
        text = L.Text$(J.toString$0$(this.getValue$1(data)), _null, _null, C.TextOverflow_2, _null, _null, textStyle, _null, _null, _null);
        frameLength = 0;
        try {
          micros = J.$index$asx(C.C_JsonCodec.decode$2$reviver(0, data._logging_controller$_details, _null), "elapsed");
          frameLength = micros * 3 / 1000;
        } catch (exception) {
          H.unwrapException(exception);
        }
        return T.Row$(H._setArrayType([text, new T.Flexible(1, C.FlexFit_1, M.Container$(_null, _null, C.Clip_0, _null, _null, C.BoxDecoration_5qh, _null, 12, _null, _null, _null, _null, _null, frameLength), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
      } else if (t1 === "stdout")
        return T.RichText$(_null, 1, C.TextOverflow_2, true, _null, Q.TextSpan$(B.processAnsiTerminalCodes(J.toString$0$(this.getValue$1(data)), textStyle), _null, _null, _null, _null), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0);
      else
        return _null;
    },
    $isColumnRenderer: 1
  };
  M.__LogDetailsState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  M.__LoggingScreenState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  M.__LoggingScreenState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.SearchFieldMixin__searchFieldFocusNode = O.FocusNode$(true, null, true, null, false);
      this.SearchFieldMixin_searchTextFieldController = D.TextEditingController$(null);
    },
    dispose$0: function(_) {
      var t1;
      this.super$__LoggingScreenState_State_AutoDisposeMixin$dispose(0);
      t1 = this.SearchFieldMixin__searchFieldFocusNode;
      if (t1 != null)
        t1.dispose$0(0);
    }
  };
  V.sum_closure.prototype = {
    call$2: function(sum, cur) {
      return sum + cur;
    },
    $signature: 178
  };
  V.min_closure.prototype = {
    call$2: function(minimum, cur) {
      return Math.min(H.checkNum(minimum), H.checkNum(cur));
    },
    $signature: 178
  };
  V.max_closure.prototype = {
    call$2: function(minimum, cur) {
      return Math.max(H.checkNum(minimum), H.checkNum(cur));
    },
    $signature: 178
  };
  X.FieldTrack.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.isStacktraced ? 1 : 0;
    },
    compare$2: function(a, b) {
      var valueA = a.isStacktraced ? 1 : 0;
      return C.JSInt_methods.compareTo$1(valueA, b.isStacktraced ? 1 : 0);
    },
    build$3$isRowSelected: function(_, context, item, isRowSelected) {
      return K.Checkbox$(null, false, null, null, new X.FieldTrack_build_closure(Y.Provider_of(context, true, type$.legacy_MemoryController), item), false, item.isStacktraced);
    },
    $isColumnRenderer: 1
  };
  X.FieldTrack_build_closure.prototype = {
    call$1: function(value) {
      this.controller.toggleAllocationTracking$2(this.item, value);
    },
    $signature: 73
  };
  X.FieldClassName.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.classRef.name;
    },
    getDisplayValue$1: function(dataObject) {
      return H.S(dataObject.classRef.name);
    },
    compare$2: function(a, b) {
      return J.compareTo$1$ns(a.classRef.name, b.classRef.name);
    }
  };
  X.FieldInstanceCountColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.instancesCurrent;
    },
    getDisplayValue$1: function(dataObject) {
      return H.S(dataObject.instancesCurrent);
    },
    get$numeric: function() {
      return true;
    },
    compare$2: function(a, b) {
      return J.compareTo$1$ns(a.instancesCurrent, b.instancesCurrent);
    }
  };
  X.FieldInstanceDeltaColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.instancesDelta;
    },
    getDisplayValue$1: function(dataObject) {
      return H.S(Math.max(0, H.checkNum(dataObject.instancesDelta)));
    },
    get$numeric: function() {
      return true;
    },
    compare$2: function(a, b) {
      return J.compareTo$1$ns(a.instancesDelta, b.instancesDelta);
    }
  };
  X.FieldSizeColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.bytesCurrent;
    },
    getDisplayValue$1: function(dataObject) {
      return H.S(dataObject.bytesCurrent);
    },
    get$numeric: function() {
      return true;
    },
    compare$2: function(a, b) {
      return J.compareTo$1$ns(a.bytesCurrent, b.bytesCurrent);
    }
  };
  X.FieldSizeDeltaColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.bytesDelta;
    },
    getDisplayValue$1: function(dataObject) {
      return H.S(Math.max(0, H.checkNum(dataObject.bytesDelta)));
    },
    get$numeric: function() {
      return true;
    },
    compare$2: function(a, b) {
      return J.compareTo$1$ns(a.bytesDelta, b.bytesDelta);
    }
  };
  O.AllocationTableView.prototype = {
    createState$0: function() {
      var _null = null,
        t1 = type$.legacy_Tracker;
      return new O.AllocationTableViewState(H._setArrayType([], type$.JSArray_legacy_ColumnData_legacy_ClassHeapDetailStats), P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_ClassRef, type$.legacy_CpuSamples), new R.TreeTracker(new R._TrackerClassColumn(P.StreamController_StreamController$broadcast(false, t1), P.StreamController_StreamController$broadcast(false, t1), "Tracking", _null, _null, _null, C.ColumnAlignment_0), new B.ValueNotifier(new S.Selection(_null, _null, false, type$.Selection_legacy_Tracker), P.List_List$filled(0, _null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_Selection_legacy_Tracker)), K.Disposer$(), C._StateLifecycle_0);
    }
  };
  O.AllocationTableViewState.prototype = {
    initState$0: function() {
      var _null = null;
      this.super$State$initState();
      C.JSArray_methods.addAll$1(this.columns, H._setArrayType([new X.FieldTrack("Track", "Track Class Allocations", 55, _null, C.ColumnAlignment_0), new X.FieldClassName("Class", _null, 200, _null, C.ColumnAlignment_0), new X.FieldInstanceCountColumn("Instances", _null, 100, _null, C.ColumnAlignment_1), new X.FieldInstanceDeltaColumn("Delta", _null, 100, _null, C.ColumnAlignment_1), new X.FieldSizeColumn("Bytes", _null, 100, _null, C.ColumnAlignment_1), new X.FieldSizeDeltaColumn("Delta", _null, 100, _null, C.ColumnAlignment_1)], type$.JSArray_legacy_ColumnData_legacy_ClassHeapDetailStats));
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_MemoryController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(_this.controller._selectedSnapshotNotifier, new O.AllocationTableViewState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.controller._updateClassStackTraces, new O.AllocationTableViewState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$1(_this.controller._treeChangedNotifier);
      _this.addAutoDisposeListener$1(_this.controller._monitorAllocationsNotifier);
      _this.addAutoDisposeListener$1(_this.trackerData.selectionNotifier);
      t1 = _this.get$_memory_allocation_table_view$_handleSearch();
      _this.addAutoDisposeListener$2(_this.controller.AutoCompleteSearchControllerMixin_selectTheSearchNotifier, t1);
      _this.addAutoDisposeListener$2(_this.controller.SearchControllerMixin__searchNotifier, t1);
    },
    _memory_allocation_table_view$_handleSearch$0: function() {
      var matches, sortedAllocationMatches, _this = this,
        t1 = _this.controller,
        t2 = t1.SearchControllerMixin__searchNotifier._value;
      if (t2.length !== 0) {
        if (t1.AutoCompleteSearchControllerMixin_selectTheSearchNotifier._value) {
          t1.selectItemInAllocationTable$1(t2);
          _this.controller.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, false);
          t1 = _this.controller;
          t2 = t1.SearchControllerMixin__searchNotifier;
          t2.set$value(0, "");
          t1.updateMatches$1(t1.matchesForSearch$1(t2._value));
          return;
        }
        t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, H._setArrayType([], type$.JSArray_legacy_String));
        t1.AutoCompleteSearchControllerMixin_currentDefaultIndex = 0;
        matches = _this._allocationMatches$1(t2);
        t1 = P.LinkedHashSet_LinkedHashSet$from(matches, H._arrayInstanceType(matches)._precomputed1);
        sortedAllocationMatches = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("SetMixin.E"));
        C.JSArray_methods.sort$0(sortedAllocationMatches);
        _this.controller.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, C.JSArray_methods.sublist$2(sortedAllocationMatches, 0, Math.min($.topMatchesLimit, sortedAllocationMatches.length)));
      }
    },
    _allocationMatches$1: function(searchingValue) {
      var knownName, t2,
        t1 = type$.JSArray_legacy_String,
        matches = H._setArrayType([], t1),
        lcSearchingValue = searchingValue.toLowerCase(),
        startMatches = H._setArrayType([], t1);
      for (t1 = J.get$iterator$ax(this.controller._monitorAllocations); t1.moveNext$0();) {
        knownName = t1.get$current(t1).classRef.name;
        if (J.startsWith$1$s(knownName, searchingValue))
          startMatches.push(knownName);
        else if (H.stringContainsUnchecked(knownName, searchingValue, 0))
          startMatches.push(knownName);
        else {
          t2 = knownName.toLowerCase();
          if (H.stringContainsUnchecked(t2, lcSearchingValue, 0))
            matches.push(knownName);
        }
      }
      C.JSArray_methods.insertAll$2(matches, 0, startMatches);
      return matches;
    },
    build$1: function(_, context) {
      var t2, t3, t4, _this = this, _null = null,
        t1 = _this.controller;
      if (t1.allocationsFieldsTable == null) {
        t1.sortedMonitorColumn = _this.columns[1];
        t1.sortedMonitorDirection = C.SortDirection_0;
      }
      if (J.get$isEmpty$asx(t1._monitorAllocations))
        return T.Center$(T.Row$(H._setArrayType([C.Text_Qs5, U.Image$(16, new L.AssetImage(K.Theme_of(context).colorScheme.brightness === C.Brightness_0 ? "icons/memory/communities_white.png" : "icons/memory/communities_black.png", _null, _null), 16), C.Text_9iK], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null), _null, _null, _null);
      _this.controller.searchMatchMonitorAllocationsNotifier.set$value(0, _null);
      t1 = _this.controller;
      t2 = t1._monitorAllocations;
      t3 = t1.sortedMonitorColumn;
      t4 = t1.sortedMonitorDirection;
      t4 = S.FlatTable$(t1.searchMatchMonitorAllocationsNotifier, false, _this.columns, t2, _null, new O.AllocationTableViewState_build_closure(), new O.AllocationTableViewState_build_closure0(_this), new O.AllocationTableViewState_build_closure1(_this), _null, _null, _null, t3, t4, type$.legacy_ClassHeapDetailStats);
      t1.allocationsFieldsTable = t4;
      return L.Split$(C.Axis_1, H._setArrayType([t4, _this.trackerData.createTrackingTable$3(context, t1, F.ScrollController$(0))], type$.JSArray_legacy_Widget), C.List_qFu, C.List_200_0, _null);
    }
  };
  O.AllocationTableViewState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new O.AllocationTableViewState_didChangeDependencies__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  O.AllocationTableViewState_didChangeDependencies__closure0.prototype = {
    call$0: function() {
      this.$this.controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 1
  };
  O.AllocationTableViewState_didChangeDependencies_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new O.AllocationTableViewState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  O.AllocationTableViewState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.controller;
      t1.trackerData.createTrackerTree$2(t2.trackAllocations, t2.allocationSamples);
    },
    $signature: 1
  };
  O.AllocationTableViewState_build_closure.prototype = {
    call$1: function(d) {
      return new D.ValueKey(d.classRef.name, type$.ValueKey_String);
    },
    $signature: 389
  };
  O.AllocationTableViewState_build_closure0.prototype = {
    call$1: function(ref) {
      return this.$this.controller.toggleAllocationTracking$2(ref, !ref.isStacktraced);
    },
    $signature: 390
  };
  O.AllocationTableViewState_build_closure1.prototype = {
    call$3$secondarySortColumn: function(column, direction, secondarySortColumn) {
      var t1 = this.$this.controller;
      t1.sortedMonitorColumn = column;
      t1.sortedMonitorDirection = direction;
    },
    call$2: function(column, direction) {
      return this.call$3$secondarySortColumn(column, direction, null);
    },
    $signature: 391
  };
  O._AllocationTableViewState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  Z.Bucket.prototype = {};
  Z.imageAnalysis_closure.prototype = {
    call$2: function(key, value) {
      var externalsNode, t1, t2, t3, t4, t5, liveExternal, t6, t7, objectNode, bucketSizes, childExternalSizes, _i, 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 = T.AnalysisReference$("Externals", _null, _null);
          this.analysisSnapshot.addChild$1(externalsNode);
          for (t1 = J.get$iterator$ax(value), t2 = externalsNode.children, t3 = type$.legacy_String, t4 = type$.legacy_Bucket; t1.moveNext$0();) {
            t5 = t1.get$current(t1);
            liveExternal = t5.liveExternal;
            t6 = H.S(t5.name);
            t7 = liveExternal.live.theClass._instances.length;
            objectNode = T.AnalysisReference$(t6, t7, _null);
            t2.push(objectNode);
            objectNode.parent = externalsNode;
            objectNode.index = t2.length - 1;
            bucketSizes = P.SplayTreeMap$(_null, t3, t4);
            for (t5 = t5.children, t6 = t5.length, childExternalSizes = 0, _i = 0; _i < t5.length; t5.length === t6 || (0, H.throwConcurrentModificationError)(t5), ++_i) {
              t7 = t5[_i].externalSize;
              if (t7 < 10000) {
                bucketSizes.putIfAbsent$2(0, _s6_, new Z.imageAnalysis__closure());
                ++bucketSizes.$index(0, _s6_).totalCount;
                bucketSizes.$index(0, _s6_).totalBytes += t7;
              } else if (t7 < 50000) {
                bucketSizes.putIfAbsent$2(0, _s8_, new Z.imageAnalysis__closure0());
                ++bucketSizes.$index(0, _s8_).totalCount;
                bucketSizes.$index(0, _s8_).totalBytes += t7;
              } else if (t7 < 100000) {
                bucketSizes.putIfAbsent$2(0, _s9_, new Z.imageAnalysis__closure1());
                ++bucketSizes.$index(0, _s9_).totalCount;
                bucketSizes.$index(0, _s9_).totalBytes += t7;
              } else if (t7 < 500000) {
                bucketSizes.putIfAbsent$2(0, _s10_, new Z.imageAnalysis__closure2());
                ++bucketSizes.$index(0, _s10_).totalCount;
                bucketSizes.$index(0, _s10_).totalBytes += t7;
              } else if (t7 < 1000000) {
                bucketSizes.putIfAbsent$2(0, _s8_0, new Z.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 Z.imageAnalysis__closure4());
                ++bucketSizes.$index(0, _s7_).totalCount;
                bucketSizes.$index(0, _s7_).totalBytes += t7;
              } else if (t7 < 50000000) {
                bucketSizes.putIfAbsent$2(0, _s8_1, new Z.imageAnalysis__closure5());
                ++bucketSizes.$index(0, _s8_1).totalCount;
                bucketSizes.$index(0, _s8_1).totalBytes += t7;
              } else {
                bucketSizes.putIfAbsent$2(0, _s4_, new Z.imageAnalysis__closure6());
                ++bucketSizes.$index(0, _s4_).totalCount;
                bucketSizes.$index(0, _s4_).totalBytes += t7;
              }
              childExternalSizes += t7;
            }
            bucketNode = T.AnalysisReference$("Buckets", _null, childExternalSizes);
            bucketSizes.forEach$1(0, new Z.imageAnalysis__closure7(bucketNode));
            t5 = objectNode.children;
            t5.push(bucketNode);
            bucketNode.parent = objectNode;
            bucketNode.index = t5.length - 1;
          }
          break;
        case "filters":
        case "libraries":
          librariesNode = T.AnalysisReference$("Library " + H.S(key), _null, _null);
          t1 = this.controller;
          imageCacheNode = Z.processMatches(t1, Z.drillIn(t1, librariesNode, value));
          if (imageCacheNode != null)
            librariesNode.addChild$1(imageCacheNode);
          this.analysisSnapshot.addChild$1(librariesNode);
          break;
      }
    },
    $signature: 392
  };
  Z.imageAnalysis__closure.prototype = {
    call$0: function() {
      return new Z.Bucket(0, 0);
    },
    $signature: 46
  };
  Z.imageAnalysis__closure0.prototype = {
    call$0: function() {
      return new Z.Bucket(0, 0);
    },
    $signature: 46
  };
  Z.imageAnalysis__closure1.prototype = {
    call$0: function() {
      return new Z.Bucket(0, 0);
    },
    $signature: 46
  };
  Z.imageAnalysis__closure2.prototype = {
    call$0: function() {
      return new Z.Bucket(0, 0);
    },
    $signature: 46
  };
  Z.imageAnalysis__closure3.prototype = {
    call$0: function() {
      return new Z.Bucket(0, 0);
    },
    $signature: 46
  };
  Z.imageAnalysis__closure4.prototype = {
    call$0: function() {
      return new Z.Bucket(0, 0);
    },
    $signature: 46
  };
  Z.imageAnalysis__closure5.prototype = {
    call$0: function() {
      return new Z.Bucket(0, 0);
    },
    $signature: 46
  };
  Z.imageAnalysis__closure6.prototype = {
    call$0: function() {
      return new Z.Bucket(0, 0);
    },
    $signature: 46
  };
  Z.imageAnalysis__closure7.prototype = {
    call$2: function(key, value) {
      this.bucketNode.addChild$1(T.AnalysisReference$(H.S(key), value.totalCount, value.totalBytes));
    },
    $signature: 394
  };
  Z.processMatches_closure.prototype = {
    call$2: function(key, values) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, _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_legacy_AnalysisField, t5 = t3.children, t6 = _this.cache, t7 = t6.children, t8 = _this.pending, t9 = t8.children; t2.moveNext$0();) {
        t10 = t2.get$current(t2);
        switch (fields[1]) {
          case "_pendingImages":
            ++t1.countPending;
            t10 = new T.AnalysisField("url", t10, H._setArrayType([], t4));
            t9.push(t10);
            t10.parent = t8;
            t10.index = t9.length - 1;
            break;
          case "_cache":
            ++t1.countCache;
            t10 = new T.AnalysisField("url", t10, H._setArrayType([], t4));
            t7.push(t10);
            t10.parent = t6;
            t10.index = t7.length - 1;
            break;
          case "_liveImages":
            ++t1.countLive;
            t10 = new T.AnalysisField("url", t10, H._setArrayType([], t4));
            t5.push(t10);
            t10.parent = t3;
            t10.index = t5.length - 1;
            break;
        }
      }
    },
    $signature: 395
  };
  Z.drillIn_closure.prototype = {
    call$3: function(className, fields, value) {
      var key = H.S(className) + "." + J.join$1$ax(fields, "."),
        t1 = this.result;
      t1.putIfAbsent$2(0, key, new Z.drillIn__closure());
      J.add$1$ax(t1.$index(0, key), value);
    },
    $signature: 396
  };
  Z.drillIn__closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_legacy_String);
    },
    $signature: 346
  };
  Z.AnalysisInstanceViewTable.prototype = {
    createState$0: function() {
      var t1 = type$.legacy_AnalysisField;
      return new Z.AnalysisInstanceViewState(new Z._AnalysisFieldNameColumn(P.StreamController_StreamController$broadcast(false, t1), P.StreamController_StreamController$broadcast(false, t1), "Name", null, null, null, C.ColumnAlignment_0), H._setArrayType([], type$.JSArray_legacy_ColumnData_legacy_AnalysisField), K.Disposer$(), C._StateLifecycle_0);
    }
  };
  Z.AnalysisInstanceViewState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      C.JSArray_methods.addAll$1(this.columns, H._setArrayType([this.treeColumn, new Z._AnalysisFieldValueColumn("Value", null, 350, null, C.ColumnAlignment_0)], type$.JSArray_legacy_ColumnData_legacy_AnalysisField));
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_MemoryController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(_this.controller._selectedSnapshotNotifier, new Z.AnalysisInstanceViewState_didChangeDependencies_closure(_this));
    },
    build$1: function(_, context) {
      var t1 = this.controller,
        t2 = this.columns;
      return t1.analysisFieldsTreeTable = S.TreeTable$(false, t2, t1._analysisInstanceRoot, null, new Z.AnalysisInstanceViewState_build_closure(), null, t2[0], C.SortDirection_0, this.treeColumn, type$.legacy_AnalysisField);
    }
  };
  Z.AnalysisInstanceViewState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new Z.AnalysisInstanceViewState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  Z.AnalysisInstanceViewState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      this.$this.controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 1
  };
  Z.AnalysisInstanceViewState_build_closure.prototype = {
    call$1: function(typeRef) {
      return new S.PageStorageKey(typeRef.name, type$.PageStorageKey_legacy_String);
    },
    $signature: 398
  };
  Z._AnalysisFieldNameColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.name;
    },
    getDisplayValue$1: function(dataObject) {
      return H.S(dataObject.name);
    },
    compare$2: function(a, b) {
      return J.compareTo$1$ns(a.name, b.name);
    },
    get$fixedWidthPx: function() {
      return 250;
    }
  };
  Z._AnalysisFieldValueColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.value;
    },
    getDisplayValue$1: function(dataObject) {
      var value = dataObject.value;
      return H.S(typeof value == "string" && value.length > 30 ? J.substring$2$s(value, 0, 13) + "\u2026" + C.JSString_methods.substring$1(value, value.length - 17) : value);
    },
    compare$2: function(a, b) {
      return J.compareTo$1$ns(a.value, b.value);
    }
  };
  Z.ClassFields.prototype = {
    get$length: function(_) {
      return this._fields.length;
    }
  };
  Z.ObjectMatcher.prototype = {
    findFieldMatch$2: function(classFields, value) {
      var t2, matched, _i, fieldsToMatch, index, index0,
        t1 = classFields._fields,
        className = t1[0],
        listOfFieldsToMatch = C.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;
    }
  };
  Z._AnalysisInstanceViewState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  G.AndroidChartController.prototype = {
    setupData$0: function() {
      var chartDataLength, t1, t2, dataLength, _this = this;
      if (_this.traces.length !== 0) {
        chartDataLength = _this._chart_controller$_timestamps.length;
        t1 = _this._memoryController.memoryTimeline;
        t2 = t1.controller.offline;
        dataLength = (t2 ? t1.offlineData : t1.liveData).length;
        t1 = t2 ? t1.offlineData : t1.liveData;
        P.RangeError_checkValidRange(chartDataLength, dataLength, t1.length);
        H.SubListIterable$(t1, chartDataLength, dataLength, H._arrayInstanceType(t1)._precomputed1).forEach$1(0, _this.get$addSample());
      }
    },
    addSample$1: function(sample) {
      var t1, adb, t2, t3, _this = this;
      if (_this._memoryController._paused._value)
        return;
      t1 = sample.timestamp;
      _this._chart_controller$_timestamps.push(t1);
      _this.dirty = true;
      adb = sample.adbMemoryInfo;
      t2 = adb.stack;
      t2.toString;
      t3 = _this.traces;
      t3[0].addDatum$1(new F.Data(t1, t2));
      t2 = adb.graphics;
      t2.toString;
      t3[3].addDatum$1(new F.Data(t1, t2));
      t2 = adb.nativeHeap;
      t2.toString;
      t3[4].addDatum$1(new F.Data(t1, t2));
      t2 = adb.javaHeap;
      t2.toString;
      t3[1].addDatum$1(new F.Data(t1, t2));
      t2 = adb.code;
      t2.toString;
      t3[2].addDatum$1(new F.Data(t1, t2));
      t2 = adb.other;
      t2.toString;
      t3[5].addDatum$1(new F.Data(t1, t2));
      t2 = adb.system;
      t2.toString;
      t3[6].addDatum$1(new F.Data(t1, t2));
      t2 = adb.total;
      t2.toString;
      t3[7].addDatum$1(new F.Data(t1, t2));
    }
  };
  G.MemoryAndroidChart.prototype = {
    createState$0: function() {
      var t2,
        t1 = C.Map_iTc0J.$index(0, 400);
      t1.toString;
      t2 = C.Map_JNy8A.$index(0, 100);
      t2.toString;
      return new G.MemoryAndroidChartState(t1, t2, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  G.MemoryAndroidChartState.prototype = {
    initState$0: function() {
      this.super$State$initState();
    },
    didChangeDependencies$0: function() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      _this._memoryController = Y.Provider_of(t1, true, type$.legacy_MemoryController);
      t1 = _this._framework$_element;
      t1.toString;
      _this.colorScheme = K.Theme_of(t1).colorScheme;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.setupTraces$0();
      _this._widget.chartController.setupData$0();
      _this.addAutoDisposeListener$2(_this._memoryController.memoryTimeline._sampleAddedNotifier, new G.MemoryAndroidChartState_didChangeDependencies_closure(_this));
    },
    build$1: function(_, context) {
      var _null = null,
        t1 = this._widget.chartController;
      if (t1 != null)
        if (t1._chart_controller$_timestamps.length !== 0)
          return M.Container$(_null, U.Chart$(t1), C.Clip_0, _null, _null, _null, _null, 150, _null, _null, _null, _null, _null, _null);
      return C.SizedBox_8_null_null_null;
    },
    setupTraces$0: function() {
      var _this = this, _null = null,
        t1 = _this._widget.chartController;
      if (t1.traces.length !== 0)
        return;
      t1.createTrace$4$name$stacked(C.ChartType_1, F.PaintCharacteristics$(C.MaterialAccentColor_Map_iTYZn_4284809178, _null, 1.5, _null, _null, 1, 1, C.ChartSymbol_1, 1), "TraceName.stack", true);
      _this._widget.chartController.createTrace$4$name$stacked(C.ChartType_1, F.PaintCharacteristics$(C.MaterialColor_Map_JNHRl_4294961979, _null, 1.5, _null, _null, 1, 1, C.ChartSymbol_1, 1), "TraceName.javaHeap", true);
      _this._widget.chartController.createTrace$4$name$stacked(C.ChartType_1, F.PaintCharacteristics$(C.Color_4289357516, _null, 1.5, _null, _null, 1, 1, C.ChartSymbol_1, 1), "TraceName.code", true);
      _this._widget.chartController.createTrace$4$name$stacked(C.ChartType_1, F.PaintCharacteristics$(_this.graphicColor, _null, 1.5, _null, _null, 1, 1, C.ChartSymbol_1, 1), "TraceName.graphics", true);
      _this._widget.chartController.createTrace$4$name$stacked(C.ChartType_1, F.PaintCharacteristics$(C.Color_4281578981, _null, 1.5, _null, _null, 1, 1, C.ChartSymbol_1, 1), "TraceName.nativeHeap", true);
      _this._widget.chartController.createTrace$4$name$stacked(C.ChartType_1, F.PaintCharacteristics$(C.Color_4294936576, _null, 1.5, _null, _null, 1, 1, C.ChartSymbol_1, 1), "TraceName.other", true);
      _this._widget.chartController.createTrace$4$name$stacked(C.ChartType_1, F.PaintCharacteristics$(C.Color_4284913920, _null, 1.5, _null, _null, 1, 1, C.ChartSymbol_1, 1), "TraceName.system", true);
      _this._widget.chartController.createTrace$3$name(C.ChartType_1, F.PaintCharacteristics$(_this.totalColor, _null, 1, _null, _null, 1, 2, C.ChartSymbol_9, 1), "TraceName.total");
    },
    _processHeapSample$1: function(sample) {
      if (this._memoryController._paused._value)
        return;
      this._widget.chartController.addSample$1(sample);
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  G.MemoryAndroidChartState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._processHeapSample$1(t1._memoryController.memoryTimeline._sampleAddedNotifier._value);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  G._MemoryAndroidChartState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  O.ChartsValues.prototype = {
    toJson$0: function() {
      var _this = this,
        t1 = _this.timestamp;
      return P.LinkedHashMap_LinkedHashMap$_literal(["index", _this.index, "timestamp", t1, "prettyTimestamp", B.prettyTimestamp(t1), "event", _this._memory_charts$_event, "vm", _this._vm, "android", _this._android], type$.legacy_String, type$.legacy_Object);
    },
    get$extensionEvents: function() {
      var t1 = this._memory_charts$_extensionEvents;
      if (t1.length === 0)
        C.JSArray_methods.addAll$1(t1, this._memory_charts$_event.$index(0, "extensionEvents"));
      return t1;
    },
    _getEventData$1: function(results) {
      var eventInfo, events, t2, t3, t4, _i, $event, t5, t6, t7,
        t1 = this.controller.memoryTimeline;
      t1 = t1.controller.offline ? 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 = H._setArrayType([], type$.JSArray_legacy_Map_of_legacy_String_and_legacy_Object);
        for (t1 = t1.theEvents, t2 = t1.length, t3 = type$.legacy_String, t4 = type$.legacy_Object, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          $event = t1[_i];
          t5 = $event.customEventName;
          t6 = $event.eventKind;
          t7 = $event.data;
          if (t5 != null)
            events.push(P.LinkedHashMap_LinkedHashMap$_literal(["name", t6, "custom", P.LinkedHashMap_LinkedHashMap$_literal(["name", t5, "data", t7], t3, t4)], t3, t4));
          else
            events.push(P.LinkedHashMap_LinkedHashMap$_literal(["name", t6, "data", t7], t3, t4));
        }
        if (events.length !== 0)
          results.$indexSet(0, "extensionEvents", events);
      }
    },
    formatNumeric$1: function(number) {
      return this.controller._unitDisplayed._value ? B.prettyPrintBytes(number, true, 1, 2, 0.7) : $.$get$nf().format$1(number);
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  T.ChartInterval.prototype = {
    toString$0: function(_) {
      return this._memory_controller$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  T.OfflineFileException.prototype = {
    toString$0: function(_) {
      return this.message;
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    }
  };
  T.AllocationStackTrace.prototype = {
    computeStacktrace$2$functions: function(cpuSample, functions) {
      var t2, t3, t4, t5, t6, stackIndex, profileFunc, t7, classRef, ownerName, libraryRef, fRef, functionName,
        t1 = cpuSample.stack.length;
      if (t1 !== 0)
        for (t2 = type$.legacy_FuncRef, t3 = type$.legacy_LibraryRef, t4 = type$.legacy_ClassRef, t5 = this.sources, t6 = this.stacktrace, stackIndex = 0; stackIndex < t1; ++stackIndex) {
          profileFunc = functions[cpuSample.stack[stackIndex]];
          t7 = profileFunc.$function;
          if (t2._is(t7)) {
            if (t4._is(t7.get$owner())) {
              classRef = t7.get$owner();
              ownerName = classRef.get$name(classRef);
            } else if (t3._is(t7.get$owner())) {
              libraryRef = t7.get$owner();
              ownerName = libraryRef.get$name(libraryRef);
            } else {
              fRef = t7.get$owner();
              ownerName = H.S(fRef.get$name(fRef)) + ".";
            }
            functionName = t7.get$name(t7);
          } else {
            functionName = t7.name;
            ownerName = "";
          }
          ownerName.toString;
          if (!H.stringContainsUnchecked(ownerName, "&", 0)) {
            this.timestamp = cpuSample.timestamp;
            if (ownerName === "<anonymous closure>." && functionName === "<anonymous closure>")
              t6.push(functionName);
            else
              t6.push(ownerName + "." + H.S(functionName));
            t5.push(profileFunc.resolvedUrl);
          }
        }
    }
  };
  T.AllocationSamples.prototype = {
    _computeCpuSamples$1: function(cpuSamples) {
      var t1, t2, index, cpuSample, t3, t4,
        samplesLength = cpuSamples.samples.length;
      for (t1 = this.stacktraces, t2 = type$.JSArray_legacy_String, index = 0; index < samplesLength; ++index) {
        cpuSample = cpuSamples.samples[index];
        if (cpuSample.stack.length !== 0) {
          t3 = cpuSamples.functions;
          t4 = new T.AllocationStackTrace(H._setArrayType([], t2), H._setArrayType([], t2));
          t4.computeStacktrace$2$functions(cpuSample, t3);
          t1.push(t4);
        }
      }
    }
  };
  T.MemoryController.prototype = {
    toggleLegendVisibility$0: function() {
      var t1 = this._legendVisibleNotifier,
        t2 = !t1._value;
      t1.set$value(0, t2);
      return t2;
    },
    updatedMemorySource$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$updatedMemorySource$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._memorySourceNotifier._value;
              $async$goto = t1 === "Live Feed" ? 2 : 4;
              break;
            case 2:
              // then
              if ($async$self.offline) {
                C.JSArray_methods.set$length($async$self.memoryTimeline.offlineData, 0);
                $async$self.offline = false;
              }
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              $async$goto = 5;
              return P._asyncAwait($async$self.memoryLog.loadOffline$1(t1).catchError$1(new T.MemoryController_updatedMemorySource_closure()), $async$updatedMemorySource$0);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$updatedMemorySource$0, $async$completer);
    },
    pauseLiveFeed$0: function() {
      this._paused.set$value(0, true);
    },
    resumeLiveFeed$0: function() {
      this._paused.set$value(0, false);
    },
    toggleAndroidChartVisibility$0: function() {
      var t1 = this._androidChartVisibleNotifier,
        t2 = !t1._value;
      t1.set$value(0, t2);
      return t2;
    },
    changeStackTraces$0: function() {
      var t1 = this._updateClassStackTraces;
      t1.set$value(0, t1._value + 1);
    },
    setTracking$2: function(classRef, enable) {
      var foundClass = J.firstWhere$2$orElse$ax(this._monitorAllocations, new T.MemoryController_setTracking_closure(classRef), new T.MemoryController_setTracking_closure0());
      if (foundClass != null) {
        foundClass.isStacktraced = enable;
        this._setTracking$2(foundClass.classRef, enable).catchError$1(new T.MemoryController_setTracking_closure1()).whenComplete$1(new T.MemoryController_setTracking_closure2(this));
      }
    },
    _setTracking$2: function(ref, enable) {
      return this._setTracking$body$MemoryController(ref, enable);
    },
    _setTracking$body$MemoryController: function(ref, enable) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$_setTracking$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate;
              $async$goto = 3;
              return P._asyncAwait($async$self.isIsolateLive$1(t1.get$id(t1)), $async$_setTracking$2);
            case 3:
              // returning from await.
              if (!$async$result) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate;
              $async$goto = 4;
              return P._asyncAwait(t1.setTraceClassAllocation$3(t2.get$id(t2), ref.id, enable), $async$_setTracking$2);
            case 4:
              // returning from await.
              $async$result.toString;
              if (enable) {
                t1 = $async$self.trackAllocations;
                if (t1.containsKey$1(0, ref.name)) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t1.$indexSet(0, ref.name, ref);
              } else
                $async$self.trackAllocations.remove$1(0, ref.name);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_setTracking$2, $async$completer);
    },
    getAllocationTraces$1: function(ref) {
      return this.getAllocationTraces$body$MemoryController(ref);
    },
    getAllocationTraces$body$MemoryController: function(ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_CpuSamples),
        $async$returnValue, $async$self = this, t2, t3, t4, t5, t1;
      var $async$getAllocationTraces$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate;
              $async$goto = 3;
              return P._asyncAwait($async$self.isIsolateLive$1(t1.get$id(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, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate;
              t2 = t2.get$id(t2);
              t3 = ref.get$id(ref);
              t4 = t1._vmService;
              t4.toString;
              t5 = type$.dynamic;
              t5 = P.LinkedHashMap_LinkedHashMap$_empty(t5, t5);
              t5.$indexSet(0, "isolateId", t2);
              if (t3 != null)
                t5.$indexSet(0, "classId", t3);
              $async$goto = 4;
              return P._asyncAwait(t1.trackFuture$1$2("getAllocationTraces", t4._call$1$2(0, "getAllocationTraces", t5, type$.CpuSamples), type$.legacy_CpuSamples), $async$getAllocationTraces$1);
            case 4:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getAllocationTraces$1, $async$completer);
    },
    computeAllAllocationSamples$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Map_of_legacy_ClassRef_and_legacy_CpuSamples),
        $async$returnValue, $async$self = this, t2, keys, t3, t4, samples, t1;
      var $async$computeAllAllocationSamples$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._allAllocationSamples;
              t1.clear$0(0);
              t2 = $async$self.trackAllocations;
              keys = t2.get$keys(t2);
              t3 = keys.get$iterator(keys);
            case 3:
              // for condition
              if (!t3.moveNext$0()) {
                // goto after for
                $async$goto = 4;
                break;
              }
              t4 = t3.get$current(t3);
              $async$goto = 5;
              return P._asyncAwait($async$self.getAllocationTraces$1(t2.$index(0, t4)), $async$computeAllAllocationSamples$0);
            case 5:
              // returning from await.
              samples = $async$result;
              if (samples != null)
                t1.$indexSet(0, t2.$index(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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$computeAllAllocationSamples$0, $async$completer);
    },
    get$libraryRoot: function() {
      var snapshot,
        t1 = this.selectionSnapshotNotifier._value;
      if (t1 == null) {
        t1 = this.snapshots;
        return (C.JSArray_methods.get$isNotEmpty(t1) ? C.JSArray_methods.get$last(t1) : null).libraryRoot;
      }
      snapshot = this.getSnapshot$1(t1.node);
      if (snapshot != null)
        return snapshot.libraryRoot;
      return null;
    },
    set$libraryRoot: function(newRoot) {
      var t1 = this.snapshots,
        snapshot = t1.length !== 0 ? C.JSArray_methods.get$isNotEmpty(t1) ? C.JSArray_methods.get$last(t1) : null : null;
      if (snapshot == null)
        snapshot = this.getSnapshot$1(this.selectionSnapshotNotifier._value.node);
      if (snapshot != null)
        snapshot.libraryRoot = newRoot;
    },
    get$activeSnapshot: function() {
      var t1, t2, t3, _i, topLevel, snapshot, t4, t5, _this = this;
      for (t1 = _this.groupByTreeTable.dataRoots, t2 = t1.length, t3 = _this.selectionSnapshotNotifier, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        topLevel = t1[_i];
        if (topLevel instanceof T.SnapshotReference) {
          snapshot = _this.getSnapshot$1(t3._value.node);
          if (snapshot != null) {
            t4 = topLevel.snapshot.collectedTimestamp;
            t5 = snapshot.collectedTimestamp;
            t4 = t4._core$_value === t5._core$_value && t4.isUtc === t5.isUtc;
          } else
            t4 = false;
          if (t4)
            return topLevel;
        }
      }
      t1 = _this.groupByTreeTable.dataRoots;
      return (t1 && C.JSArray_methods).get$isNotEmpty(t1) ? C.JSArray_methods.get$last(t1) : null;
    },
    getSnapshot$1: function(reference) {
      for (; reference != null;) {
        if (reference instanceof T.SnapshotReference)
          return reference.snapshot;
        reference = reference.parent;
      }
      return null;
    },
    _handleConnectionStart$1: function(serviceManager) {
      var t2, _this = this,
        t1 = new T.MemoryTracker(serviceManager, _this, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_MemoryUsage), P.StreamController_StreamController$broadcast(false, type$.void));
      _this._memoryTracker = t1;
      t1.start$0(0);
      t1 = serviceManager.service._vmService._getEventController$1("Extension");
      t2 = _this.AutoDisposeControllerMixin__delegate;
      t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new T.MemoryController__handleConnectionStart_closure(_this)));
      t1 = _this._memoryTracker._changeController;
      t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new T.MemoryController__handleConnectionStart_closure0(_this)));
      t1 = _this._memoryTracker._changeController;
      t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new T.MemoryController__handleConnectionStart_closure1(_this)));
      t1 = _this._memoryTrackerController;
      new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$2$onDone(new T.MemoryController__handleConnectionStart_closure2(), new T.MemoryController__handleConnectionStart_closure3(_this));
    },
    _handleConnectionStop$1: function($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: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2;
      var $async$startTimeline$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolateController;
              t2 = $async$self.AutoDisposeControllerMixin__delegate;
              t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new T.MemoryController_startTimeline_closure($async$self)));
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
              t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new T.MemoryController_startTimeline_closure0($async$self)));
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
              if (t1.service != null && t1.connectedApp != null && t1.connectedApp.get$connectedAppInitialized())
                $async$self._handleConnectionStart$1($.globals.$index(0, C.Type_ServiceConnectionManager_qdG));
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectionClosedController;
              t2.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1($async$self.get$_handleConnectionStop()));
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$startTimeline$0, $async$completer);
    },
    snapshotMemory$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_HeapSnapshotGraph),
        $async$returnValue, t2, t1;
      var $async$snapshotMemory$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
              t1 = t1 == null ? null : t1.service;
              if (t1 == null)
                t1 = null;
              else {
                t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
                t2 = t2 == null ? null : t2._isolateManager;
                t1 = t1.getHeapSnapshotGraph$1(t2 == null ? null : t2._selectedIsolate);
              }
              $async$goto = 3;
              return P._asyncAwait(t1, $async$snapshotMemory$0);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$snapshotMemory$0, $async$completer);
    },
    selectItemInAllocationTable$1: function(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: function(reference, search) {
      if (reference.classRef.name == search) {
        this.searchMatchMonitorAllocationsNotifier.set$value(0, reference);
        this.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, H._setArrayType([], type$.JSArray_legacy_String));
        this.AutoCompleteSearchControllerMixin_currentDefaultIndex = 0;
        return true;
      }
      return false;
    },
    set$monitorAllocations: function(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._value + 1);
      for (t1 = J.get$iterator$ax(_this._monitorAllocations), t2 = _this.trackAllocations; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        trackedClass = t2.get$entries(t2).firstWhere$2$orElse(0, new T.MemoryController_monitorAllocations_closure(t3), new T.MemoryController_monitorAllocations_closure0());
        if (trackedClass != null) {
          t3.isStacktraced = true;
          _this.setTracking$2(trackedClass.get$value(trackedClass), true);
        }
      }
    },
    toggleAllocationTracking$2: function(item, isStacktraced) {
      item.isStacktraced = isStacktraced;
      this.setTracking$2(item.classRef, isStacktraced);
      this.changeStackTraces$0();
    },
    getAllocationProfile$1$reset: function(reset) {
      return this.getAllocationProfile$body$MemoryController(reset);
    },
    getAllocationProfile$0: function() {
      return this.getAllocationProfile$1$reset(false);
    },
    getAllocationProfile$body$MemoryController: function(reset) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_ClassHeapDetailStats),
        $async$returnValue, $async$self = this, t2, allocationProfile, lastReset, resetTimestamp, allocations, allSamples, allClassRefTracked, t3, t4, t5, cpuSamples, t1;
      var $async$getAllocationProfile$1$reset = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate;
              $async$goto = 3;
              return P._asyncAwait($async$self.isIsolateLive$1(t1.get$id(t1)), $async$getAllocationProfile$1$reset);
            case 3:
              // returning from await.
              if (!$async$result) {
                $async$returnValue = H._setArrayType([], type$.JSArray_legacy_ClassHeapDetailStats);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate;
              $async$goto = 4;
              return P._asyncAwait(t1.getAllocationProfile$2$reset(t2.get$id(t2), reset), $async$getAllocationProfile$1$reset);
            case 4:
              // returning from await.
              allocationProfile = $async$result;
              lastReset = allocationProfile.dateLastAccumulatorReset;
              if (lastReset != null) {
                resetTimestamp = P.DateTime$fromMillisecondsSinceEpoch(lastReset, false);
                A.DateFormat$("MMM dd hh:mm:ss", null).format$1(resetTimestamp);
              }
              t1 = allocationProfile.members;
              t1.toString;
              t1 = new H.MappedListIterable(t1, new T.MemoryController_getAllocationProfile_closure(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ClassHeapDetailStats*>")).super$Iterable$where(0, new T.MemoryController_getAllocationProfile_closure0());
              allocations = P.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
              $async$goto = !reset ? 5 : 6;
              break;
            case 5:
              // then
              $async$goto = 7;
              return P._asyncAwait($async$self.computeAllAllocationSamples$0(), $async$getAllocationProfile$1$reset);
            case 7:
              // returning from await.
              allSamples = $async$result;
              t1 = J.getInterceptor$x(allSamples);
              allClassRefTracked = t1.get$keys(allSamples);
              t2 = $async$self.allocationSamples;
              C.JSArray_methods.set$length(t2, 0);
              for (t3 = J.get$iterator$ax(allClassRefTracked), t4 = type$.JSArray_legacy_AllocationStackTrace; t3.moveNext$0();) {
                t5 = t3.get$current(t3);
                cpuSamples = t1.$index(allSamples, t5);
                t5 = new T.AllocationSamples(t5, H._setArrayType([], t4));
                t5._computeCpuSamples$1(cpuSamples);
                t2.push(t5);
              }
            case 6:
              // join
              $async$returnValue = allocations;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getAllocationProfile$1$reset, $async$completer);
    },
    computeAllLibraries$2$graph$rebuild: function(graph, rebuild) {
      var snapshotGraph, t1, newLibraryRoot, t2, externalReferences, t3, t4, _i, liveExternal, t5, classLive, externalReference, t6, t7, t8, classInstance, filteredReference, groupBy, _this = this, _null = null;
      if (graph != null)
        snapshotGraph = graph;
      else {
        t1 = _this.snapshots;
        t1 = C.JSArray_methods.get$isNotEmpty(t1) ? C.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 = T.LibraryReference$(_this, "___LIBRARY___", _null);
      _this.classRoot = T.LibraryReference$(_this, "___CLASSES___", _null);
      t1 = type$.JSArray_legacy_Reference;
      t2 = H._setArrayType([], t1);
      externalReferences = new T.ExternalReferences(_this, _null, "External", false, false, false, false, false, true, false, false, false, false, _null, _null, t2);
      for (t3 = _this.heapGraph.externals, t4 = t3.length, _i = 0; _i < t4; ++_i) {
        liveExternal = t3[_i];
        t5 = liveExternal.live;
        classLive = t5.theClass;
        externalReference = t2.length !== 0 ? C.JSArray_methods.singleWhere$2$orElse(t2, new T.MemoryController_computeAllLibraries_closure(classLive), new T.MemoryController_computeAllLibraries_closure0()) : _null;
        if (externalReference == null) {
          externalReference = T.ExternalReference$(_this, classLive.origin._snapshot_graph$_name, liveExternal);
          t2.push(externalReference);
          externalReference.parent = externalReferences;
          externalReference.index = t2.length - 1;
        }
        t6 = externalReference.children;
        t7 = t6.length;
        t8 = liveExternal.externalProperty.externalSize;
        classInstance = new T.ExternalObjectReference(t8, t5, _this, _null, "Instance " + t7, false, false, false, false, false, false, false, false, false, true, _null, _null, H._setArrayType([], t1));
        externalReference.sumExternalSizes += t8;
        t6.push(classInstance);
        classInstance.parent = externalReference;
        classInstance.index = t6.length - 1;
      }
      newLibraryRoot.addChild$1(externalReferences);
      filteredReference = new T.FilteredReference(_this, _null, "Filtered", false, false, false, false, false, false, false, true, false, false, _null, _null, H._setArrayType([], t1));
      t1 = _this.heapGraph;
      _this.addAllToNode$2(filteredReference, t1.filteredLibraries);
      newLibraryRoot.addChild$1(filteredReference);
      t1 = _this.heapGraph;
      groupBy = t1.groupByLibrary;
      groupBy.forEach$1(0, new T.MemoryController_computeAllLibraries_closure1(_this, newLibraryRoot));
      _this.set$libraryRoot(newLibraryRoot);
      return newLibraryRoot;
    },
    computeAllLibraries$1$rebuild: function(rebuild) {
      return this.computeAllLibraries$2$graph$rebuild(null, rebuild);
    },
    computeAllLibraries$1$graph: function(graph) {
      return this.computeAllLibraries$2$graph$rebuild(graph, false);
    },
    addAllToNode$2: function(root, allItems) {
      allItems.forEach$1(0, new T.MemoryController_addAllToNode_closure(this, root));
    },
    findAnalysesNode$0: function() {
      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 T.AnalysesReference)
          return child;
      }
      return null;
    },
    createSnapshotEntries$1: function($parent) {
      var t1, t2, _i, snapshot, t3, snapshotNode, _null = null;
      for (t1 = this.snapshots, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        snapshot = t1[_i];
        t3 = $parent.children;
        if (C.JSArray_methods.firstWhere$2$orElse(t3, new T.MemoryController_createSnapshotEntries_closure(snapshot), new T.MemoryController_createSnapshotEntries_closure0()) == null) {
          snapshotNode = new T.SnapshotReference(snapshot, _null, _null, T.SnapshotReference_title(snapshot), false, false, false, true, false, false, false, false, false, false, _null, _null, H._setArrayType([], type$.JSArray_legacy_Reference));
          t3.push(snapshotNode);
          snapshotNode.parent = $parent;
          snapshotNode.index = t3.length - 1;
          C.JSArray_methods.forEach$1(this.computeAllLibraries$1$graph(snapshot.snapshotGraph).children, snapshotNode.get$addChild());
          return;
        }
      }
    },
    treeChanged$0: function() {
      var t1 = this._treeChangedNotifier;
      if (t1._value)
        t1.set$value(0, false);
      t1.set$value(0, true);
    },
    buildTreeFromAllData$0: function() {
      var analysesRoot, _this = this, _null = null,
        t1 = _this.topNode,
        oldChildren = t1 == null ? _null : t1.children,
        t2 = _this._treeChangedNotifier._value;
      if (t2) {
        _this.topNode = null;
        t1 = _null;
      }
      if (t1 == null)
        t1 = _this.topNode = T.LibraryReference$(_this, "___LIBRARY___", _null);
      if (t2 && oldChildren != null)
        C.JSArray_methods.forEach$1(oldChildren, t1.get$addChild());
      t1 = C.JSArray_methods.firstWhere$2$orElse(_this.topNode.children, new T.MemoryController_buildTreeFromAllData_closure(), new T.MemoryController_buildTreeFromAllData_closure0()) == null;
      if (_this.snapshots.length !== 0 && t1) {
        analysesRoot = new T.AnalysesReference(_null, _null, "Analysis", false, false, true, false, false, false, false, false, false, false, _null, _null, H._setArrayType([], type$.JSArray_legacy_Reference));
        analysesRoot.addChild$1(T.AnalysisReference$("", _null, _null));
        _this.topNode.addChild$1(analysesRoot);
      }
      _this.createSnapshotEntries$1(_this.topNode);
      return _this.topNode;
    },
    gc$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, t1, t2;
      var $async$gc$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._gcing = true;
              $async$handler = 2;
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate;
              $async$goto = 5;
              return P._asyncAwait(t1.getAllocationProfile$2$gc(t2.get$id(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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$gc$0, $async$completer);
    },
    isIsolateLive$1: function(isolateId) {
      return this.isIsolateLive$body$MemoryController(isolateId);
    },
    isIsolateLive$body$MemoryController: function(isolateId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], service, e, sentinelErr, message, t1, t2, t3, exception, $async$exception;
      var $async$isIsolateLive$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
              service = t1 == null ? null : t1.service;
              t1 = service;
              t2 = t1._vmService;
              t2.toString;
              t3 = type$.dynamic;
              $async$goto = 7;
              return P._asyncAwait(t1.trackFuture$1$2("getIsolate", t2._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t3, t3), type$.Isolate), type$.legacy_Isolate), $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 = H.unwrapException($async$exception);
              if (e instanceof Q.SentinelException) {
                sentinelErr = e;
                message = "isIsolateLive: Isolate sentinel " + H.S(isolateId) + " " + H.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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$isIsolateLive$1, $async$completer);
    }
  };
  T.MemoryController_updatedMemorySource_closure.prototype = {
    call$1: function(e) {
      throw H.wrapException(T.OfflineFileException$(J.toString$0$(e)));
    },
    $signature: 5
  };
  T.MemoryController_setTracking_closure.prototype = {
    call$1: function(element) {
      return J.$eq$(element.classRef, this.classRef);
    },
    $signature: 172
  };
  T.MemoryController_setTracking_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  T.MemoryController_setTracking_closure1.prototype = {
    call$1: function(e) {
      H.S(J.get$message$x(e));
    },
    $signature: 5
  };
  T.MemoryController_setTracking_closure2.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.changeStackTraces$0();
      t1.treeChanged$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  T.MemoryController__handleConnectionStart_closure.prototype = {
    call$1: function($event) {
      var customEventKind, extensionEventKind0, jsonData,
        _s15_ = "DevTools.Event_",
        extensionEventKind = $event.extensionKind;
      if (J.startsWith$1$s(extensionEventKind, _s15_)) {
        customEventKind = C.JSString_methods.substring$1(extensionEventKind, 15);
        extensionEventKind0 = _s15_;
      } else {
        extensionEventKind0 = extensionEventKind;
        customEventKind = null;
      }
      jsonData = $event.extensionData.data;
      switch (extensionEventKind0) {
        case "Flutter.ImageSizesForFrame":
          this.$this.memoryTimeline.addExtensionEvent$3($event.timestamp, extensionEventKind, jsonData);
          break;
        case "DevTools.Event_":
          this.$this.memoryTimeline.addExtensionEvent$4$customEventName($event.timestamp, "DevTools.Event", jsonData, customEventKind);
          break;
      }
    },
    $signature: 401
  };
  T.MemoryController__handleConnectionStart_closure0.prototype = {
    call$1: function(_) {
      var t1 = this.$this;
      t1._memoryTrackerController.add$1(0, t1._memoryTracker);
    },
    $signature: 23
  };
  T.MemoryController__handleConnectionStart_closure1.prototype = {
    call$1: function(_) {
      var t1 = this.$this;
      t1._memoryTrackerController.add$1(0, t1._memoryTracker);
    },
    $signature: 23
  };
  T.MemoryController__handleConnectionStart_closure2.prototype = {
    call$1: function(_) {
    },
    $signature: 402
  };
  T.MemoryController__handleConnectionStart_closure3.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._memoryTracker.stop$0(0);
      t1._memoryTracker = null;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  T.MemoryController_startTimeline_closure.prototype = {
    call$1: function(_) {
    },
    $signature: 65
  };
  T.MemoryController_startTimeline_closure0.prototype = {
    call$1: function(_) {
      return this.$this._handleConnectionStart$1($.globals.$index(0, C.Type_ServiceConnectionManager_qdG));
    },
    $signature: 149
  };
  T.MemoryController_monitorAllocations_closure.prototype = {
    call$1: function(trackRef) {
      return this.monitorAllocation.classRef.id == J.get$id$x(trackRef.get$value(trackRef));
    },
    $signature: 403
  };
  T.MemoryController_monitorAllocations_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  T.MemoryController_getAllocationProfile_closure.prototype = {
    call$1: function(stats) {
      return T.parseJsonClassHeapStats(stats.json);
    },
    $signature: 404
  };
  T.MemoryController_getAllocationProfile_closure0.prototype = {
    call$1: function(stats) {
      return stats.instancesCurrent > 0 || stats.instancesDelta > 0;
    },
    $signature: 172
  };
  T.MemoryController_computeAllLibraries_closure.prototype = {
    call$1: function(knownClass) {
      return knownClass.name === this.classLive.origin._snapshot_graph$_name;
    },
    $signature: 47
  };
  T.MemoryController_computeAllLibraries_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  T.MemoryController_computeAllLibraries_closure1.prototype = {
    call$2: function(libraryName, classes) {
      var t2, t3, t4, classRef, t5, t6, classRefClassGroupBy,
        t1 = this.newLibraryRoot,
        libReference = C.JSArray_methods.singleWhere$2$orElse(t1.children, new T.MemoryController_computeAllLibraries__closure(libraryName), new T.MemoryController_computeAllLibraries__closure0());
      if (libReference == null) {
        libReference = T.LibraryReference$(this.$this, libraryName, classes);
        t1.addChild$1(libReference);
      }
      for (t1 = libReference.actualClasses, t1 = t1.get$iterator(t1), t2 = this.$this, t3 = libReference.children; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        X.monitorClass(null, t4.origin._snapshot_graph$_name, "computeAllLibraries");
        classRef = T.ClassReference$(t2, t4);
        t5 = $.$get$Reference_empty();
        t6 = classRef.children;
        t6.push(t5);
        t5.parent = classRef;
        t5.index = t6.length - 1;
        t3.push(classRef);
        classRef.parent = libReference;
        classRef.index = t3.length - 1;
        classRefClassGroupBy = T.ClassReference$(t2, t4);
        t4 = $.$get$Reference_empty();
        t6 = classRefClassGroupBy.children;
        t6.push(t4);
        t4.parent = classRefClassGroupBy;
        t4.index = t6.length - 1;
        t6 = t2.classRoot;
        t4 = t6.children;
        t4.push(classRefClassGroupBy);
        classRefClassGroupBy.parent = t6;
        classRefClassGroupBy.index = t4.length - 1;
      }
    },
    $signature: 95
  };
  T.MemoryController_computeAllLibraries__closure.prototype = {
    call$1: function(library) {
      return this.libraryName == library.name;
    },
    $signature: 47
  };
  T.MemoryController_computeAllLibraries__closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  T.MemoryController_addAllToNode_closure.prototype = {
    call$2: function(libraryName, classes) {
      var t2, t3, t4, classRef, t5, t6, classRefClassGroupBy,
        t1 = this.root,
        libReference = C.JSArray_methods.singleWhere$2$orElse(t1.children, new T.MemoryController_addAllToNode__closure(libraryName), new T.MemoryController_addAllToNode__closure0());
      if (libReference == null)
        libReference = T.LibraryReference$(this.$this, libraryName, classes);
      t1.addChild$1(libReference);
      for (t1 = libReference.actualClasses, t1 = t1.get$iterator(t1), t2 = this.$this, t3 = libReference.children; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        X.monitorClass(null, t4.origin._snapshot_graph$_name, "computeAllLibraries");
        classRef = T.ClassReference$(t2, t4);
        t5 = $.$get$Reference_empty();
        t6 = classRef.children;
        t6.push(t5);
        t5.parent = classRef;
        t5.index = t6.length - 1;
        t3.push(classRef);
        classRef.parent = libReference;
        classRef.index = t3.length - 1;
        classRefClassGroupBy = T.ClassReference$(t2, t4);
        t4 = $.$get$Reference_empty();
        t6 = classRefClassGroupBy.children;
        t6.push(t4);
        t4.parent = classRefClassGroupBy;
        t4.index = t6.length - 1;
        t6 = t2.classRoot;
        t4 = t6.children;
        t4.push(classRefClassGroupBy);
        classRefClassGroupBy.parent = t6;
        classRefClassGroupBy.index = t4.length - 1;
      }
    },
    $signature: 95
  };
  T.MemoryController_addAllToNode__closure.prototype = {
    call$1: function(library) {
      return this.libraryName == library.name;
    },
    $signature: 47
  };
  T.MemoryController_addAllToNode__closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  T.MemoryController_createSnapshotEntries_closure.prototype = {
    call$1: function(element) {
      return element instanceof T.SnapshotReference && element.snapshot == this.snapshot;
    },
    $signature: 47
  };
  T.MemoryController_createSnapshotEntries_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  T.MemoryController_buildTreeFromAllData_closure.prototype = {
    call$1: function(reference) {
      return reference instanceof T.AnalysesReference;
    },
    $signature: 47
  };
  T.MemoryController_buildTreeFromAllData_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  T.SettingsModel.prototype = {};
  T.MemoryLog.prototype = {
    offlineFiles$0: function() {
      var memoryLogs,
        t1 = $.$get$MemoryLog__fs()._files;
      t1 = t1.get$keys(t1);
      memoryLogs = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("Iterable.E"));
      C.JSArray_methods.sort$1(memoryLogs, new T.MemoryLog_offlineFiles_closure());
      return memoryLogs;
    },
    loadOffline$1: function(filename) {
      return this.loadOffline$body$MemoryLog(filename);
    },
    loadOffline$body$MemoryLog: function(filename) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, e, t1, memoryJson;
      var $async$loadOffline$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.$get$MemoryLog__fs()._files;
              memoryJson = O.SamplesMemoryJson$decode(t1.containsKey$1(0, filename) ? t1.$index(0, filename) : null);
              if (memoryJson.get$_payloadVersion() !== 1) {
                e = "Error loading file " + H.S(filename) + " version " + H.S(memoryJson.get$_payloadVersion());
                B.log(e, C.LogLevel_1);
                throw H.wrapException(T.OfflineFileException$(e));
              }
              t1 = $async$self.controller;
              t1.offline = true;
              C.JSArray_methods.set$length(t1.memoryTimeline.offlineData, 0);
              C.JSArray_methods.addAll$1(t1.memoryTimeline.offlineData, memoryJson.data);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$loadOffline$1, $async$completer);
    }
  };
  T.MemoryLog_offlineFiles_closure.prototype = {
    call$2: function(a, b) {
      return J.compareTo$1$ns(b, a);
    },
    $signature: 170
  };
  T._MemoryController_DisposableController_AutoDisposeControllerMixin.prototype = {};
  T._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin.prototype = {};
  T._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin_AutoCompleteSearchControllerMixin.prototype = {};
  T.EventChartController.prototype = {
    setupData$0: function() {
      var chartDataLength = this._chart_controller$_timestamps.length,
        t1 = this._memory_events_pane$_memoryController.memoryTimeline,
        t2 = t1.controller.offline,
        dataLength = (t2 ? t1.offlineData : t1.liveData).length;
      t1 = t2 ? t1.offlineData : t1.liveData;
      P.RangeError_checkValidRange(chartDataLength, dataLength, t1.length);
      H.SubListIterable$(t1, chartDataLength, dataLength, H._arrayInstanceType(t1)._precomputed1).forEach$1(0, this.get$addSample());
    },
    addSample$1: function(sample) {
      var t1, events, t2, data, _this = this;
      if (_this._memory_events_pane$_memoryController._paused._value)
        return;
      t1 = sample.timestamp;
      _this._chart_controller$_timestamps.push(t1);
      _this.dirty = true;
      if (sample.isGC)
        _this.traces[6].addDatum$1(new F.Data(t1, 0.4));
      events = sample.memoryEventInfo;
      t2 = events.extensionEvents;
      if (t2 != null) {
        t2 = t2.theEvents.length;
        _this.traces[0].addDatum$1(new F.DataAggregate(t2, t1, 3.7));
      }
      data = new F.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 F.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);
      }
    }
  };
  T.MemoryEventsPane.prototype = {
    createState$0: function() {
      return new T.MemoryEventsPaneState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  T.MemoryEventsPaneState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      var t1 = this._widget.chartController;
      t1._fixedMinY = 0.4;
      t1._fixedMaxY = 3.7;
    },
    didChangeDependencies$0: function() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      _this._memory_events_pane$_memoryController = Y.Provider_of(t1, true, type$.legacy_MemoryController);
      t1 = _this._framework$_element;
      t1.toString;
      t1 = K.Theme_of(t1).colorScheme;
      _this.colorScheme = t1;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.setupTraces$1$isDarkMode(t1.brightness === C.Brightness_0);
      _this._widget.chartController.setupData$0();
      _this.addAutoDisposeListener$2(_this._memory_events_pane$_memoryController.memoryTimeline._sampleAddedNotifier, new T.MemoryEventsPaneState_didChangeDependencies_closure(_this));
    },
    build$1: function(_, context) {
      var t1 = this._widget.chartController;
      if (t1 != null)
        if (t1._chart_controller$_timestamps.length !== 0)
          return U.Chart$(t1);
      return C.SizedBox_8_null_null_null;
    },
    setupTraces$1$isDarkMode: function(isDarkMode) {
      var mainMonitorColor, _this = this, _null = null,
        t1 = _this._widget.chartController;
      if (t1.traces.length !== 0)
        return;
      t1.createTrace$3$name(C.ChartType_0, F.PaintCharacteristics$(C.Map_iT2jN.$index(0, 100), C.Map_iT2jN.$index(0, 400), 1, 3.7, 0.4, 20, 1, C.ChartSymbol_6, 20), "TraceName.extensionEvents");
      _this._widget.chartController.createTrace$3$name(C.ChartType_0, F.PaintCharacteristics$(C.MaterialColor_Map_JNEaM_4283215696, _null, 6, 3.7, 0.4, 1, 3, C.ChartSymbol_0, 1), "TraceName.snapshot");
      _this._widget.chartController.createTrace$3$name(C.ChartType_0, F.PaintCharacteristics$(C.MaterialColor_Map_JNc9P_4294198070, _null, 6, 3.7, 0.4, 1, 3, C.ChartSymbol_0, 1), "TraceName.autoSnapshot");
      _this._widget.chartController.createTrace$3$name(C.ChartType_0, F.PaintCharacteristics$(C.MaterialColor_Map_JNwaj_4280391411, _null, 6, 3.7, 0.4, 1, 3, C.ChartSymbol_0, 1), "TraceName.manualGC");
      if (isDarkMode)
        mainMonitorColor = C.MaterialAccentColor_Map_iTwHq_4294967040;
      else {
        t1 = C.Map_iTwHq.$index(0, 400);
        t1.toString;
        mainMonitorColor = t1;
      }
      _this._widget.chartController.createTrace$3$name(C.ChartType_0, F.PaintCharacteristics$(mainMonitorColor, _null, 6, 3.7, 0.4, 1, 3, C.ChartSymbol_0, 1), "TraceName.monitor");
      _this._widget.chartController.createTrace$3$name(C.ChartType_0, new F.PaintCharacteristics(0.4, 3.7, C.Map_HFpTk.$index(0, 600), mainMonitorColor, 4, _null, C.ChartSymbol_2, 4, 6, 1, 1), "TraceName.monitorReset");
      _this._widget.chartController.createTrace$3$name(C.ChartType_0, F.PaintCharacteristics$(C.MaterialColor_Map_JNwaj_4280391411, _null, 4, 3.7, 0.4, 1, 1, C.ChartSymbol_1, 1), "TraceName.gc");
    },
    _memory_events_pane$_processHeapSample$1: function(sample) {
      if (this._memory_events_pane$_memoryController._paused._value)
        return;
      this._widget.chartController.addSample$1(sample);
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  T.MemoryEventsPaneState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new T.MemoryEventsPaneState_didChangeDependencies__closure(t1));
      t1.addAutoDisposeListener$2(t1._memory_events_pane$_memoryController.memoryTimeline._eventFiredNotifier, new T.MemoryEventsPaneState_didChangeDependencies__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  T.MemoryEventsPaneState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._memory_events_pane$_processHeapSample$1(t1._memory_events_pane$_memoryController.memoryTimeline._sampleAddedNotifier._value);
    },
    $signature: 1
  };
  T.MemoryEventsPaneState_didChangeDependencies__closure0.prototype = {
    call$0: function() {
      this.$this.setState$1(new T.MemoryEventsPaneState_didChangeDependencies___closure());
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  T.MemoryEventsPaneState_didChangeDependencies___closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  T._MemoryEventsPaneState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  S.FilteredLibraries.prototype = {
    isLibraryFiltered$1: function(libraryName) {
      var _s15_ = "package:flutter",
        t1 = this._filteredLibraries;
      if (!(C.JSArray_methods.contains$1(t1, "dart:") && J.startsWith$1$s(libraryName, "dart:")))
        t1 = C.JSArray_methods.contains$1(t1, _s15_) && J.startsWith$1$s(libraryName, _s15_) || C.JSArray_methods.contains$1(t1, libraryName);
      else
        t1 = true;
      return t1;
    }
  };
  S.LibraryFilter.prototype = {};
  S.SnapshotFilterDialog.prototype = {
    createState$0: function() {
      return new S.SnapshotFilterState(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_bool), K.Disposer$(), C._StateLifecycle_0);
    }
  };
  S.SnapshotFilterState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      var t1 = new T.LinkedScrollControllerGroup(H._setArrayType([], type$.JSArray_legacy__LinkedScrollController));
      t1._offsetNotifier = new T._LinkedScrollControllerGroupOffsetNotifier(t1, P.List_List$filled(0, null, false, type$.nullable_void_Function));
      this._memory_filter$_controllers = t1;
      this._letters = t1.addAndGet$0();
    },
    didChangeDependencies$0: function() {
      var t1, t2, oldFiltered, t3, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this.controller;
      t2 = _this._widget.controller;
      if (t1 == t2)
        return;
      _this.controller = t2;
      _this.buildFilters$0();
      t1 = _this.controller;
      _this.oldFilterPrivateClassesValue = t1.filterPrivateClasses._value;
      _this.oldFilterZeroInstancesValue = t1.filterZeroInstances._value;
      _this.oldFilterLibraryNoInstancesValue = t1.filterLibraryNoInstances._value;
      oldFiltered = t1.filteredLibrariesByGroupName;
      for (t1 = oldFiltered.get$keys(oldFiltered), t1 = t1.get$iterator(t1), t2 = _this.oldFilteredLibraries; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3, J.get$first$ax(oldFiltered.$index(0, t3)).hide);
      }
      _this.AutoDisposeMixin__delegate.cancel$0(0);
    },
    addLibrary$2$hideState: function(libraryName, hideState) {
      var groupedName,
        t1 = this.controller,
        filteredGroup = t1.filteredLibrariesByGroupName,
        isFiltered = t1.libraryFilters.isLibraryFiltered$1(libraryName);
      if (isFiltered)
        if (J.startsWith$1$s(libraryName, "dart:"))
          groupedName = "dart:*";
        else
          groupedName = C.JSString_methods.startsWith$1(libraryName, "package:flutter") ? "package:flutter*" : libraryName;
      else
        groupedName = libraryName;
      if (filteredGroup.$index(0, groupedName) == null)
        filteredGroup.$indexSet(0, groupedName, H._setArrayType([], type$.JSArray_legacy_LibraryFilter));
      J.add$1$ax(filteredGroup.$index(0, groupedName), new S.LibraryFilter(isFiltered));
    },
    addLibrary$1: function(libraryName) {
      return this.addLibrary$2$hideState(libraryName, false);
    },
    buildFilters$0: function() {
      var t2, _i, libraries, _this = this,
        t1 = _this.controller;
      if (t1 == null)
        return;
      t1 = t1.filteredLibrariesByGroupName;
      if (t1.get$isEmpty(t1)) {
        t1 = _this.controller.libraryFilters._filteredLibraries;
        t1 = J.JSArray_JSArray$markFixed(t1.slice(0), H._arrayInstanceType(t1)._precomputed1);
        t2 = t1.length;
        _i = 0;
        for (; _i < t2; ++_i)
          _this.addLibrary$2$hideState(t1[_i], true);
        if (_this.controller.snapshots.length === 0)
          return;
      }
      t1 = _this.controller;
      if (t1.snapshots.length === 0)
        return;
      t1 = t1.get$libraryRoot();
      t2 = _this.controller;
      libraries = t1 == null ? t2.get$activeSnapshot().children : t2.get$libraryRoot().children;
      C.JSArray_methods.sort$1(libraries, new S.SnapshotFilterState_buildFilters_closure());
      for (t1 = libraries.length, _i = 0; _i < libraries.length; libraries.length === t1 || (0, H.throwConcurrentModificationError)(libraries), ++_i) {
        t2 = libraries[_i].name;
        if (t2 !== "External" && t2 !== "Filtered")
          _this.addLibrary$1(t2);
      }
    },
    cleanupFilteredLibrariesByGroupName$0: function() {
      var filteredGroup = this.controller.filteredLibrariesByGroupName;
      filteredGroup.removeWhere$1(filteredGroup, new S.SnapshotFilterState_cleanupFilteredLibrariesByGroupName_closure(J.get$first$ax(filteredGroup.$index(0, "dart:*")).hide, J.get$first$ax(filteredGroup.$index(0, "package:flutter*")).hide));
    },
    createLibraryListBox$1: function(constraints) {
      var _null = null,
        t1 = this.controller.filteredLibrariesByGroupName;
      t1 = t1.get$keys(t1);
      t1 = H.MappedIterable_MappedIterable(t1, new S.SnapshotFilterState_createLibraryListBox_closure(this), H._instanceType(t1)._eval$1("Iterable.E"), type$.legacy_CheckboxListTile);
      return T.SizedBox$(B.ListView$(P.List_List$of(t1, true, H._instanceType(t1)._eval$1("Iterable.E")), this._letters, _null, _null, _null, _null, false), constraints.maxHeight / 4, _null);
    },
    applyAndCancelButton$0: function() {
      var _null = null;
      return T.Row$(H._setArrayType([new O.DialogApplyButton(new S.SnapshotFilterState_applyAndCancelButton_closure(this), _null), C.SizedBox_16_null_null_null, new O.DialogCancelButton(new S.SnapshotFilterState_applyAndCancelButton_closure0(this), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_1, C.MainAxisSize_1, _null);
    },
    build$1: function(_, context) {
      var t4, t5, t6, _this = this, _null = null,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        t2 = K.Theme_of(context).textTheme,
        t3 = L.Text$("Memory Filter Libraries and Classes", _null, _null, _null, _null, _null, t2.headline6, _null, _null, _null);
      t2 = t2.subtitle1;
      t4 = type$.JSArray_legacy_Widget;
      t5 = P.List_List$of(H._setArrayType([L.Text$("Snapshot Filters", _null, _null, _null, _null, _null, t2, _null, _null, _null), C.PaddedDivider_wEo0], t4), true, type$.legacy_Widget);
      t5.push(T.Row$(H._setArrayType([new B.NotifierCheckbox(_this.controller.filterPrivateClasses, _null), C.DevToolsTooltip_UXN], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null));
      t5.push(T.Row$(H._setArrayType([new B.NotifierCheckbox(_this.controller.filterZeroInstances, _null), C.Text_A66], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null));
      t5.push(T.Row$(H._setArrayType([new B.NotifierCheckbox(_this.controller.filterLibraryNoInstances, _null), C.Text_yuM], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null));
      t5.push(C.SizedBox_null_16_null_null);
      t6 = _this.controller.filteredLibrariesByGroupName;
      C.JSArray_methods.addAll$1(t5, H._setArrayType([L.Text$("Hide Libraries or Packages (" + t6.get$length(t6) + ")", _null, _null, _null, _null, _null, t2, _null, _null, _null), C.PaddedDivider_wEo0], t4));
      t5.push(_this.createLibraryListBox$1(new S.BoxConstraints(0, 700, 0, t1.size._dy)));
      t5.push(_this.applyAndCancelButton$0());
      return new O.DevToolsDialog(t3, M.Container$(_null, new T.Padding(C.EdgeInsets_15_0_0_0, T.Column$(H._setArrayType([T.Column$(t5, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t4), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, 700), false, _null, _null);
    }
  };
  S.SnapshotFilterState_buildFilters_closure.prototype = {
    call$2: function(a, b) {
      return J.compareTo$1$ns(a.name, b.name);
    },
    $signature: 408
  };
  S.SnapshotFilterState_cleanupFilteredLibrariesByGroupName_closure.prototype = {
    call$2: function(groupName, libraryFilter) {
      if (this.dartGlobal && groupName !== "dart:*" && J.startsWith$1$s(groupName, "dart:"))
        return true;
      else if (this.flutterGlobal && groupName !== "package:flutter*" && J.startsWith$1$s(groupName, "package:flutter"))
        return true;
      return false;
    },
    $signature: 409
  };
  S.SnapshotFilterState_createLibraryListBox_closure.prototype = {
    call$1: function(key) {
      var _null = null,
        t1 = L.Text$(key, _null, _null, _null, _null, _null, _null, _null, _null, _null),
        t2 = this.$this,
        t3 = J.get$first$ax(t2.controller.filteredLibrariesByGroupName.$index(0, key));
      t3 = t3 == null ? _null : t3.hide;
      return new D.CheckboxListTile(t3, new S.SnapshotFilterState_createLibraryListBox__closure(t2, key), t1, true, _null);
    },
    $signature: 410
  };
  S.SnapshotFilterState_createLibraryListBox__closure.prototype = {
    call$1: function(value) {
      var t1 = this.$this;
      t1.setState$1(new S.SnapshotFilterState_createLibraryListBox___closure(t1, this.key, value));
    },
    $signature: 73
  };
  S.SnapshotFilterState_createLibraryListBox___closure.prototype = {
    call$0: function() {
      var t1, t2;
      for (t1 = J.get$iterator$ax(this.$this.controller.filteredLibrariesByGroupName.$index(0, this.key)), t2 = this.value; t1.moveNext$0();)
        t1.get$current(t1).hide = t2;
    },
    $signature: 1
  };
  S.SnapshotFilterState_applyAndCancelButton_closure.prototype = {
    call$0: function() {
      var t2, t3,
        t1 = this.$this;
      C.JSArray_methods.set$length(t1.controller.libraryFilters._filteredLibraries, 0);
      t1.controller.filteredLibrariesByGroupName.forEach$1(0, new S.SnapshotFilterState_applyAndCancelButton__closure0(t1));
      t1.controller.set$libraryRoot(null);
      t2 = t1.controller.snapshots;
      if ((C.JSArray_methods.get$isNotEmpty(t2) ? C.JSArray_methods.get$last(t2) : null) != null) {
        t1.controller.heapGraph.computeFilteredGroups$0();
        t2 = t1.controller;
        t3 = t2.snapshots;
        t2.computeAllLibraries$1$graph((C.JSArray_methods.get$isNotEmpty(t3) ? C.JSArray_methods.get$last(t3) : null).snapshotGraph);
      }
      t1.cleanupFilteredLibrariesByGroupName$0();
      t1 = t1.controller._filterNotifier;
      t1.set$value(0, t1._value + 1);
    },
    $signature: 1
  };
  S.SnapshotFilterState_applyAndCancelButton__closure0.prototype = {
    call$2: function(groupName, value) {
      var filteredName;
      if (J.get$first$ax(value).hide) {
        filteredName = J.endsWith$1$s(groupName, "*") ? C.JSString_methods.substring$2(groupName, 0, groupName.length - 1) : groupName;
        this.$this.controller.libraryFilters._filteredLibraries.push(filteredName);
      }
    },
    $signature: 344
  };
  S.SnapshotFilterState_applyAndCancelButton_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.controller.filterPrivateClasses.set$value(0, t1.oldFilterPrivateClassesValue);
      t1.controller.filterZeroInstances.set$value(0, t1.oldFilterZeroInstancesValue);
      t1.controller.filterLibraryNoInstances.set$value(0, t1.oldFilterLibraryNoInstancesValue);
      t1.controller.filteredLibrariesByGroupName.forEach$1(0, new S.SnapshotFilterState_applyAndCancelButton__closure(t1));
    },
    $signature: 1
  };
  S.SnapshotFilterState_applyAndCancelButton__closure.prototype = {
    call$2: function(key, values) {
      var t1,
        oldHide = this.$this.oldFilteredLibraries.$index(0, key);
      for (t1 = J.get$iterator$ax(values); t1.moveNext$0();)
        t1.get$current(t1).hide = oldHide;
    },
    $signature: 344
  };
  S._SnapshotFilterState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  X.LibraryClass.prototype = {
    $eq: function(_, other) {
      var t1;
      if (other == null)
        return false;
      t1 = J.getInterceptor$(other);
      if (t1.get$runtimeType(other) !== C.Type_LibraryClass_Bzp)
        return false;
      return this.libraryName == other.get$libraryName() && this.className === t1.get$className(other);
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.libraryName) ^ C.JSString_methods.get$hashCode(this.className);
    },
    get$libraryName: function() {
      return this.libraryName;
    },
    get$className: function(receiver) {
      return this.className;
    }
  };
  X.Predefined.prototype = {};
  X.convertHeapGraph_closure.prototype = {
    call$0: function() {
      return this.i;
    },
    $signature: 103
  };
  X.convertHeapGraph_closure0.prototype = {
    call$0: function() {
      var t1, t2, t3, t4, t5, t6, _i, refId, ref, _this = this;
      for (t1 = _this.o._snapshot_graph$_references, t2 = t1.length, t3 = _this.converted, t4 = _this.controller, t5 = _this.elements, t6 = type$.JSArray_legacy_HeapGraphElement, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        refId = t1[_i];
        if (refId === 0)
          ref = $.$get$HeapGraph_elementSentinel();
        else
          ref = t5[t4.newSnapshotSemantics ? refId : refId - 1];
        if (t3._references == null && t3.referencesFiller != null) {
          t3._references = H._setArrayType([], t6);
          t3.referencesFiller.call$0();
        }
        t3._references.push(ref);
      }
    },
    $signature: 1
  };
  X.HeapGraph.prototype = {
    normalizeLibraryName$1: function(theClass) {
      var uri = theClass.get$_libraryUri(),
        scheme = uri.get$scheme();
      if (scheme === "package" || scheme === "dart")
        return scheme + ":" + H.S(J.$index$asx(uri.get$pathSegments(), 0));
      return "src";
    },
    computeRawGroups$0: function() {
      var t2, t3, t4, t5, t6, _i, c, t7, libraryKey, librarySbToString, t8, t9, _i0, instance, t10, classSbToString, _this = this,
        t1 = _this.rawGroupByLibrary;
      if (!t1.get$isNotEmpty(t1)) {
        t2 = _this.rawGroupByClass;
        t2 = t2.get$isNotEmpty(t2);
      } else
        t2 = true;
      if (t2)
        return;
      for (t2 = _this.classes, t3 = t2.length, t4 = _this.rawGroupByClass, t5 = type$.legacy_HeapGraphElementLive, t6 = type$.legacy_HeapGraphClassLive, _i = 0; _i < t3; ++_i) {
        c = t2[_i];
        t7 = c.origin;
        libraryKey = _this.normalizeLibraryName$1(t7);
        librarySbToString = libraryKey.charCodeAt(0) == 0 ? libraryKey : libraryKey;
        if (t1.$index(0, librarySbToString) == null)
          t1.$indexSet(0, librarySbToString, P.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, H.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, P.LinkedHashSet_LinkedHashSet$_empty(t5));
          t4.$index(0, classSbToString).add$1(0, instance);
        }
      }
    },
    computeFilteredGroups$0: function() {
      var _this = this,
        t1 = _this.groupByClass;
      t1.clear$0(0);
      _this.rawGroupByClass.forEach$1(0, new X.HeapGraph_computeFilteredGroups_closure(_this));
      _this.filteredElements.clear$0(0);
      t1.removeWhere$1(t1, new X.HeapGraph_computeFilteredGroups_closure0(_this));
      t1 = _this.groupByLibrary;
      t1.clear$0(0);
      _this.rawGroupByLibrary.forEach$1(0, new X.HeapGraph_computeFilteredGroups_closure1(_this));
      _this.filteredLibraries.clear$0(0);
      t1.removeWhere$1(t1, new X.HeapGraph_computeFilteredGroups_closure2(_this));
    },
    computeInstancesForClasses$0: function() {
      var t1, t2, _i, instance;
      if (!this._instancesComputed) {
        for (t1 = this.elements, t2 = t1.length, _i = 0; _i < t2; ++_i) {
          instance = t1[_i];
          instance.theClass._instances.push(instance);
        }
        this._instancesComputed = true;
      }
    }
  };
  X.HeapGraph_computeFilteredGroups_closure.prototype = {
    call$2: function(key, value) {
      this.$this.groupByClass.$indexSet(0, key, value.cast$1$0(0, type$.legacy_HeapGraphElementLive).__internal$_clone$0());
    },
    $signature: 412
  };
  X.HeapGraph_computeFilteredGroups_closure0.prototype = {
    call$2: function(className, instances) {
      var remove,
        t1 = this.$this,
        t2 = t1.controller;
      if (!(t2.filterZeroInstances._value && instances.get$isEmpty(instances)))
        remove = t2.filterPrivateClasses._value && J.startsWith$1$s(className, "_") || className === "::";
      else
        remove = true;
      if (remove)
        t1.filteredElements.putIfAbsent$2(0, className, new X.HeapGraph_computeFilteredGroups__closure1(instances));
      return remove;
    },
    $signature: 413
  };
  X.HeapGraph_computeFilteredGroups__closure1.prototype = {
    call$0: function() {
      return this.instances;
    },
    $signature: 414
  };
  X.HeapGraph_computeFilteredGroups_closure1.prototype = {
    call$2: function(key, value) {
      this.$this.groupByLibrary.$indexSet(0, key, value.cast$1$0(0, type$.legacy_HeapGraphClassLive).__internal$_clone$0());
    },
    $signature: 95
  };
  X.HeapGraph_computeFilteredGroups_closure2.prototype = {
    call$2: function(libraryName, classes) {
      var t2, result,
        t1 = this.$this;
      classes.removeWhere$1(0, new X.HeapGraph_computeFilteredGroups__closure(t1));
      t2 = t1.controller;
      if (!t2.libraryFilters.isLibraryFiltered$1(libraryName))
        result = t2.filterLibraryNoInstances._value && classes.get$isEmpty(classes);
      else
        result = true;
      if (result)
        t1.filteredLibraries.putIfAbsent$2(0, libraryName, new X.HeapGraph_computeFilteredGroups__closure0(classes));
      return result;
    },
    $signature: 415
  };
  X.HeapGraph_computeFilteredGroups__closure.prototype = {
    call$1: function(actual) {
      var result,
        t1 = this.$this,
        t2 = t1.controller;
      if (!(t2.filterZeroInstances._value && actual.getInstances$1(t1).length === 0))
        result = t2.filterPrivateClasses._value && C.JSString_methods.startsWith$1(actual.origin._snapshot_graph$_name, "_") || actual.origin._snapshot_graph$_name === "::";
      else
        result = true;
      return result;
    },
    $signature: 416
  };
  X.HeapGraph_computeFilteredGroups__closure0.prototype = {
    call$0: function() {
      return this.classes;
    },
    $signature: 417
  };
  X.HeapGraphElement.prototype = {
    get$references: function() {
      var _this = this;
      if (_this._references == null && _this.referencesFiller != null) {
        _this._references = H._setArrayType([], type$.JSArray_legacy_HeapGraphElement);
        _this.referencesFiller.call$0();
      }
      return _this._references;
    }
  };
  X.HeapGraphElementSentinel.prototype = {
    get$isSentinel: function() {
      return true;
    },
    toString$0: function(_) {
      return "HeapGraphElementSentinel";
    }
  };
  X.HeapGraphElementLive.prototype = {
    get$isSentinel: function() {
      return false;
    },
    getFields$0: function() {
      var t2, t3, t4, _i, field, t5, t6, t7, t8, _this = this,
        result = H._setArrayType([], type$.JSArray_legacy_MapEntry_of_legacy_String_and_legacy_HeapGraphElement),
        t1 = _this.theClass;
      if (t1 instanceof X.HeapGraphClassLive)
        for (t1 = t1.origin._snapshot_graph$_fields, t2 = t1.length, t3 = type$.JSArray_legacy_HeapGraphElement, t4 = type$.MapEntry_of_legacy_String_and_legacy_HeapGraphElement, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          field = t1[_i];
          t5 = field._snapshot_graph$_index;
          if (_this._references == null && _this.referencesFiller != null) {
            _this._references = H._setArrayType([], t3);
            _this.referencesFiller.call$0();
          }
          t6 = _this._references;
          t7 = t6.length;
          t8 = field._snapshot_graph$_name;
          if (t5 < t7) {
            if (t6 == null && _this.referencesFiller != null) {
              _this._references = H._setArrayType([], t3);
              _this.referencesFiller.call$0();
            }
            result.push(new P.MapEntry(t8, _this._references[field._snapshot_graph$_index], t4));
          } else
            B.log("ERROR Field Range: name=" + t8 + ",index=" + field._snapshot_graph$_index, C.LogLevel_2);
        }
      return result;
    },
    toString$0: function(_) {
      var data, _this = this,
        t1 = _this.origin;
      if (t1.get$_snapshot_graph$_data() instanceof M.HeapSnapshotObjectNoData)
        return "Instance of " + H.S(_this.theClass);
      if (t1.get$_snapshot_graph$_data() instanceof M.HeapSnapshotObjectLengthData) {
        data = t1.get$_snapshot_graph$_data();
        return "Instance of " + H.S(_this.theClass) + " length = " + data.length;
      }
      return "Instance of " + H.S(_this.theClass) + "; data: '" + H.S(t1.get$_snapshot_graph$_data()) + "'";
    }
  };
  X.HeapGraphExternalLive.prototype = {
    get$isSentinel: function() {
      return false;
    },
    toString$0: function(_) {
      var data,
        t1 = this.live,
        t2 = t1.origin;
      if (t2.get$_snapshot_graph$_data() instanceof M.HeapSnapshotObjectNoData)
        return "Instance of " + H.S(t1.theClass);
      if (t2.get$_snapshot_graph$_data() instanceof M.HeapSnapshotObjectLengthData) {
        data = t2.get$_snapshot_graph$_data();
        return "Instance of " + H.S(t1.theClass) + " length = " + data.length;
      }
      return "Instance of " + H.S(t1.theClass) + "; data: '" + H.S(t2.get$_snapshot_graph$_data()) + "'";
    }
  };
  X.HeapGraphClass.prototype = {
    getInstances$1: function(graph) {
      return this._instances;
    }
  };
  X.HeapGraphClassSentinel.prototype = {
    toString$0: function(_) {
      return "HeapGraphClassSentinel";
    }
  };
  X.HeapGraphClassLive.prototype = {
    get$name: function(_) {
      return this.origin._snapshot_graph$_name;
    },
    toString$0: function(_) {
      return this.origin._snapshot_graph$_name;
    }
  };
  D.HeapTree.prototype = {
    createState$0: function() {
      var _null = null,
        t1 = new B.MovingAverage(P.ListQueue$(_null, type$.legacy_int), 100);
      t1.MovingAverage$3$averagePeriod$newDataSet$ratio(100, _null, 0.5);
      return new D.HeapTreeViewState(t1, C.SnapshotStatus_0, _null, _null, _null, _null, _null, 769, 772, 13, 27, 9, 458792, 458795, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  D.SnapshotStatus.prototype = {
    toString$0: function(_) {
      return this._memory_heap_tree_view$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  D.WildcardMatch.prototype = {
    toString$0: function(_) {
      return this._memory_heap_tree_view$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  D.buildRegExs_closure.prototype = {
    call$2: function(key, value) {
      var regEx,
        t1 = J.getInterceptor$asx(value);
      if (t1.get$isNotEmpty(value)) {
        switch (key) {
          case C.WildcardMatch_0:
            regEx = "^" + t1.join$1(value, "$|^") + "$";
            break;
          case C.WildcardMatch_1:
            regEx = "^" + t1.join$1(value, "|^");
            break;
          case C.WildcardMatch_2:
            regEx = "^[_A-Za-z0-9]*" + t1.join$1(value, "|[_A-Za-z0-9]*") + "$";
            break;
          case C.WildcardMatch_3:
            regEx = t1.join$1(value, "|");
            break;
          default:
            regEx = null;
        }
        t1 = this.resultRegEx;
        t1._contents += t1._contents.length === 0 ? "(" + H.S(regEx) : "|" + H.S(regEx);
      }
    },
    $signature: 418
  };
  D.HeapTreeViewState.prototype = {
    initState$0: function() {
      var t1, bubbleAnimation, _this = this;
      _this.super$_HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin$initState();
      t1 = U.TabController$(0, 2, _this);
      _this.tabController = t1;
      _this.addAutoDisposeListener$1(t1);
      bubbleAnimation = G.AnimationController$(null, C.Duration_500000, 0, C.Duration_500000, 15, null, _this);
      bubbleAnimation.addStatusListener$1(_this.get$_animationStatusListener());
      _this._memory_heap_tree_view$_animation = bubbleAnimation;
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$_HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_MemoryController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(_this.controller._selectedSnapshotNotifier, new D.HeapTreeViewState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.controller.selectionSnapshotNotifier, new D.HeapTreeViewState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$2(_this.controller._filterNotifier, new D.HeapTreeViewState_didChangeDependencies_closure1(_this));
      _this.addAutoDisposeListener$2(_this.controller._leafSelectedNotifier, new D.HeapTreeViewState_didChangeDependencies_closure2(_this));
      _this.addAutoDisposeListener$2(_this.controller._leafAnalysisSelectedNotifier, new D.HeapTreeViewState_didChangeDependencies_closure3(_this));
      _this.addAutoDisposeListener$2(_this.controller.SearchControllerMixin__searchNotifier, new D.HeapTreeViewState_didChangeDependencies_closure4(_this));
      _this.addAutoDisposeListener$2(_this.controller.AutoCompleteSearchControllerMixin_searchAutoComplete, new D.HeapTreeViewState_didChangeDependencies_closure5(_this));
      _this.addAutoDisposeListener$2(_this.controller._monitorAllocationsNotifier, new D.HeapTreeViewState_didChangeDependencies_closure6(_this));
      _this.addAutoDisposeListener$2(_this.controller.memoryTimeline._sampleAddedNotifier, new D.HeapTreeViewState_didChangeDependencies_closure7(_this));
      t1 = _this.controller._treeMapVisible;
      _this.treeMapVisible = t1._value;
      _this.addAutoDisposeListener$2(t1, new D.HeapTreeViewState_didChangeDependencies_closure8(_this));
      _this.addAutoDisposeListener$1(_this.controller.lastMonitorTimestamp);
    },
    dispose$0: function(_) {
      this._memory_heap_tree_view$_animation.dispose$0(0);
      this.super$_HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin$dispose(0);
    },
    build$1: function(_, context) {
      var t3, t4, _this = this, _null = null,
        themeData = K.Theme_of(context),
        t1 = _this.snapshotState,
        t2 = t1 === C.SnapshotStatus_4;
      if (!t2 && t1 !== C.SnapshotStatus_0) {
        _this.snapshotDisplay = C.CircularProgressIndicator_MQk;
        if (t1 === C.SnapshotStatus_1)
          t1 = "Processing...";
        else if (t1 === C.SnapshotStatus_2)
          t1 = "Graphing...";
        else if (t1 === C.SnapshotStatus_3)
          t1 = "Grouping...";
        else
          t1 = t2 ? "Done" : "...";
        _this.snapshotDisplay = T.Column$(H._setArrayType([C.SizedBox_null_50_null_null, C.CircularProgressIndicator_MQk, C.SizedBox_null_8_null_null, L.Text$(t1, _null, _null, _null, _null, _null, _null, _null, _null, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1);
      } else {
        t1 = _this.controller;
        if (t1.snapshotByLibraryData != null)
          _this.snapshotDisplay = _this.treeMapVisible ? new N.MemoryHeapTreemap(t1, _null) : new D.MemoryHeapTable(_null);
        else
          _this.snapshotDisplay = null;
      }
      t1 = themeData.textTheme;
      t2 = t1.bodyText1.color;
      t2 = E.TabBar$(_this.tabController, true, t2, C.List_MIo);
      t3 = $.$get$memorySearchFieldKey();
      t4 = type$.JSArray_legacy_Widget;
      t3 = T.Row$(H._setArrayType([t2, T.Row$(H._setArrayType([M.Container$(_null, _this.buildAutoCompleteSearchField$6$controller$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportClearField(_this.controller, _this.get$selectTheMatch(), _this.get$_isSearchable(), t3, _this.get$_isSearchable(), true), C.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, 400), C.SizedBox_8_null_null_null, new U.FilterButton(_this.get$_filter(_this), false, C.ValueKey_YAS)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_1, C.MainAxisSize_0, _null)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null);
      t2 = _this.tabController;
      return new T.Padding(C.EdgeInsets_0_6_0_0, T.Column$(H._setArrayType([C.SizedBox_null_16_null_null, t3, C.SizedBox_null_4_null_null, T.Expanded$(E.TabBarView$(H._setArrayType([T.Column$(H._setArrayType([_this._buildSnapshotControls$1(t1), C.SizedBox_null_6_null_null, T.Expanded$(new U.OutlineDecoration(_this.buildSnapshotTables$1(_this.snapshotDisplay), _null), 1)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), T.Column$(H._setArrayType([_this._buildAllocationsControls$0(), C.SizedBox_null_6_null_null, C.Expanded_ciW], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t4), t2, C.NeverScrollableScrollPhysics_null), 1)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
    },
    buildSnapshotTables$1: function(snapshotDisplay) {
      var t1, rightSideTable, _this = this, _null = null;
      if (snapshotDisplay == null)
        return T.Center$(T.Row$(C.List_O98, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null), _null, _null, _null);
      t1 = _this.controller;
      if (t1._leafSelectedNotifier._value != null)
        rightSideTable = new Y.InstanceTreeView(_null);
      else
        rightSideTable = t1._leafAnalysisSelectedNotifier._value != null ? T.Expanded$(new Z.AnalysisInstanceViewTable(_null), 1) : T.Column$(H._setArrayType([C.Text_Q8G, C.SizedBox_null_16_null_null, _this.tableExample$2(C.IconData_57926_MaterialIcons_false, "dart:collection"), _this.tableExample$2(C.IconData_57926_MaterialIcons_false, "SplayTreeMap"), C.SizedBox_null_6_null_null, _this.tableExample$2(_null, "Instance 0")], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1);
      return _this.treeMapVisible ? snapshotDisplay : L.Split$(C.Axis_0, H._setArrayType([snapshotDisplay, rightSideTable], type$.JSArray_legacy_Widget), C.List_O9m1, C.List_300_300, _null);
    },
    tableExample$2: function(iconData, entry) {
      var themeData, _null = null,
        _s10_ = "RobotoMono",
        t1 = this._framework$_element;
      t1.toString;
      themeData = K.Theme_of(t1);
      t1 = iconData == null ? L.Text$(" ", _null, _null, _null, _null, _null, themeData.textTheme.bodyText2.copyWith$1$fontFamily(_s10_), _null, _null, _null) : L.Icon$(iconData, _null, _null);
      return T.Row$(H._setArrayType([t1, L.Text$(entry, _null, _null, _null, _null, _null, themeData.textTheme.bodyText2.copyWith$1$fontFamily(_s10_), _null, _null, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null);
    },
    _groupByDropdown$1: function(textTheme) {
      var _null = null,
        t1 = type$.MappedListIterable_of_legacy_String_and_legacy_DropdownMenuItem_legacy_String;
      return new K.DropdownButtonHideUnderline(K.DropdownButton$(_null, false, false, P.List_List$of(new H.MappedListIterable(H._setArrayType(["Library", "Class", "Instance"], type$.JSArray_legacy_String), new D.HeapTreeViewState__groupByDropdown_closure(), t1), true, t1._eval$1("ListIterable.E")), C.ValueKey_I2O, new D.HeapTreeViewState__groupByDropdown_closure0(this), _null, textTheme.bodyText2, _null, this.controller.groupingBy._value, type$.legacy_String), _null);
    },
    _buildSnapshotControls$1: function(textTheme) {
      var _this = this, _null = null,
        t1 = _this.snapshotState,
        t2 = U.DevToolsTooltip$(B.OutlinedButton$(false, C.MaterialIconLabel_6pZ, C.ValueKey_Ygd, t1 !== C.SnapshotStatus_4 && t1 !== C.SnapshotStatus_0 ? _null : _this.get$_takeHeapSnapshot(), _null), _null, "Take a memory profile snapshot"),
        t3 = _this.treeMapVisible;
      t1 = type$.JSArray_legacy_Widget;
      t3 = H._setArrayType([t2, C.SizedBox_16_null_null_null, T.Row$(H._setArrayType([C.Text_00, N.Switch$(_this.controller.snapshotByLibraryData != null ? new D.HeapTreeViewState__buildSnapshotControls_closure(_this) : _null, t3)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null)], t1);
      if (!_this.treeMapVisible)
        C.JSArray_methods.addAll$1(t3, H._setArrayType([C.SizedBox_16_null_null_null, _this._groupByDropdown$1(textTheme), C.SizedBox_16_null_null_null, new U.ExpandAllButton(new D.HeapTreeViewState__buildSnapshotControls_closure0(_this), C.ValueKey_0kc), C.SizedBox_8_null_null_null, new U.CollapseAllButton(new D.HeapTreeViewState__buildSnapshotControls_closure1(_this), C.ValueKey_UqR)], t1));
      return T.SizedBox$(T.Row$(t3, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), 32, _null);
    },
    _animationStatusListener$1: function($status) {
      if ($status === C.AnimationStatus_3)
        this._memory_heap_tree_view$_animation.reverse$0(0);
    },
    displayTimestampUpdateBubble$0: function() {
      var t1 = this._memory_heap_tree_view$_animation,
        bubble = K.AnimatedBuilder$(t1, new D.HeapTreeViewState_displayTimestampUpdateBubble_closure(this), null);
      t1.forward$0(0);
      return bubble;
    },
    _buildAllocationsControls$0: function() {
      var t2, t3, _this = this, _null = null,
        updateCircle = _this.displayTimestampUpdateBubble$0(),
        t1 = _this._framework$_element;
      t1.toString;
      t2 = U.DevToolsTooltip$(B.OutlinedButton$(false, new U.MaterialIconLabel(_null, U.Image$(16, new L.AssetImage(K.Theme_of(t1).colorScheme.brightness === C.Brightness_0 ? "icons/memory/communities_white.png" : "icons/memory/communities_black.png", _null, _null), 16), "Track", _null, _null), C.ValueKey_Hxo, new D.HeapTreeViewState__buildAllocationsControls_closure(_this), _null), _null, "Collect Allocation Statistics");
      t3 = _this._framework$_element;
      t3.toString;
      return T.Row$(H._setArrayType([t2, C.SizedBox_8_null_null_null, U.DevToolsTooltip$(B.OutlinedButton$(false, new U.MaterialIconLabel(_null, U.Image$(16, new L.AssetImage(K.Theme_of(t3).colorScheme.brightness === C.Brightness_0 ? "icons/memory/reset_icon_white.png" : "icons/memory/reset_icon_black.png", _null, _null), 16), "Reset", _null, _null), C.ValueKey_anI, new D.HeapTreeViewState__buildAllocationsControls_closure0(_this), _null), _null, "Reset all accumulators"), C.Spacer_null, updateCircle], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    _allocationStart$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, currentAllocations, previousSize, t2, currentSize, previousIndex, currentIndex, previousAllocation, currentAllocation, t3, t4, instancesCurrent, bytesCurrent, t1;
      var $async$_allocationStart$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.controller.memoryTimeline;
              t1.toString;
              t1._eventSamples.push(new K.EventSample(Date.now(), false, false, false, new K.AllocationAccumulator(true, false, false), t1.get$extensionEvents()));
              t1 = Date.now();
              $async$goto = 2;
              return P._asyncAwait($async$self.controller.getAllocationProfile$0(), $async$_allocationStart$0);
            case 2:
              // returning from await.
              currentAllocations = $async$result;
              if (J.get$isNotEmpty$asx($async$self.controller._monitorAllocations)) {
                previousSize = J.get$length$asx($async$self.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.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 (J.firstWhere$2$orElse$ax($async$self.controller._monitorAllocations, new D.HeapTreeViewState__allocationStart_closure(t4), new D.HeapTreeViewState__allocationStart_closure0()) != null)
                    ++previousIndex;
                  else
                    ++currentIndex;
                }
              }
              t2 = $async$self.controller;
              t2.monitorTimestamp = new P.DateTime(t1, false);
              t2.set$monitorAllocations(currentAllocations);
              $async$self.controller.treeChanged$0();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_allocationStart$0, $async$completer);
    },
    _allocationReset$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, currentAllocations, t2, t1;
      var $async$_allocationReset$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.controller.memoryTimeline;
              t1.toString;
              t1._eventSamples.push(new K.EventSample(Date.now(), false, false, false, new K.AllocationAccumulator(false, false, true), t1.get$extensionEvents()));
              $async$goto = 2;
              return P._asyncAwait($async$self.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.controller.set$monitorAllocations(currentAllocations);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_allocationReset$0, $async$completer);
    },
    selectTheMatch$1: function(foundName) {
      var t1, t2, _this = this;
      L.MemoryScreen_gaAction(null, "MemorySearchFieldKey");
      _this.setState$1(new D.HeapTreeViewState_selectTheMatch_closure(_this, foundName));
      t1 = _this.controller;
      t2 = _this.SearchFieldMixin_searchTextFieldController;
      t2.toString;
      t2.super$ValueNotifier$value(0, C.TextEditingValue_4QF);
      t2 = t1.SearchControllerMixin__searchNotifier;
      t2.set$value(0, foundName);
      t1.updateMatches$1(t1.matchesForSearch$1(t2._value));
      _this.clearSearchField$2$force(t1, true);
      t1.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, true);
      t1.closeAutoCompleteOverlay$0();
      _this.clearSearchField$1(_this.controller);
    },
    get$_isSearchable: function() {
      var t1 = this.tabController._tab_controller$_index;
      if (!(t1 === 0 && !this.treeMapVisible))
        t1 = t1 === 1 && J.get$isNotEmpty$asx(this.controller._monitorAllocations);
      else
        t1 = true;
      return t1;
    },
    _takeHeapSnapshot$1$userGenerated: function(userGenerated) {
      return this._takeHeapSnapshot$body$HeapTreeViewState(userGenerated);
    },
    _takeHeapSnapshot$0: function() {
      return this._takeHeapSnapshot$1$userGenerated(true);
    },
    _takeHeapSnapshot$body$HeapTreeViewState: function(userGenerated) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2, snapshotTimestamp, graph, t3, t4, root, t5, snapshot, analysesNode, analyzeSnapshot, collectedData;
      var $async$_takeHeapSnapshot$1$userGenerated = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              L.MemoryScreen_gaAction(C.ValueKey_Ygd, null);
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.snapshotState;
              if (t1 !== C.SnapshotStatus_0 && t1 !== C.SnapshotStatus_4) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.controller.memoryTimeline;
              t2 = !userGenerated;
              t1.toString;
              t1._eventSamples.push(new K.EventSample(Date.now(), false, userGenerated, t2, null, t1.get$extensionEvents()));
              $async$self.setState$1(new D.HeapTreeViewState__takeHeapSnapshot_closure($async$self));
              t1 = Date.now();
              snapshotTimestamp = new P.DateTime(t1, false);
              $async$goto = 3;
              return P._asyncAwait($async$self.controller.snapshotMemory$0(), $async$_takeHeapSnapshot$1$userGenerated);
            case 3:
              // returning from await.
              graph = $async$result;
              if (graph == null) {
                $async$self.setState$1(new D.HeapTreeViewState__takeHeapSnapshot_closure0($async$self));
                t1 = $async$self.controller;
                t2 = Date.now();
                t1._selectedSnapshotNotifier.set$value(0, new P.DateTime(t2, false));
                // goto return
                $async$goto = 1;
                break;
              }
              t3 = Date.now();
              $async$self.setState$1(new D.HeapTreeViewState__takeHeapSnapshot_closure1($async$self));
              t4 = $async$self.controller;
              t4.heapGraph = X.convertHeapGraph(t4, graph, H._setArrayType([], type$.JSArray_legacy_String));
              t4 = Date.now();
              $async$self.setState$1(new D.HeapTreeViewState__takeHeapSnapshot_closure2($async$self));
              $async$goto = 4;
              return P._asyncAwait($async$self.doGroupBy$0(), $async$_takeHeapSnapshot$1$userGenerated);
            case 4:
              // returning from await.
              root = $async$self.controller.computeAllLibraries$1$graph(graph);
              t5 = $async$self.controller;
              snapshot = new T.Snapshot0(t2, t5, snapshotTimestamp, graph, root, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_LibraryReference));
              t5.snapshots.push(snapshot);
              t5 = Date.now();
              $async$self.controller._selectedSnapshotNotifier.set$value(0, snapshotTimestamp);
              H.S(C.JSInt_methods._tdivFast$1(P.Duration$(0, t5 - t1)._duration, 1000) / 1000);
              H.S(C.JSInt_methods._tdivFast$1(P.Duration$(0, t3 - t1)._duration, 1000) / 1000);
              H.S(C.JSInt_methods._tdivFast$1(P.Duration$(0, t4 - t3)._duration, 1000) / 1000);
              H.S(C.JSInt_methods._tdivFast$1(P.Duration$(0, t5 - t4)._duration, 1000) / 1000);
              $async$self.setState$1(new D.HeapTreeViewState__takeHeapSnapshot_closure3($async$self));
              $async$self.controller.buildTreeFromAllData$0();
              analysesNode = $async$self.controller.findAnalysesNode$0();
              t1 = analysesNode.children;
              if (t1.length === 1 && C.JSArray_methods.get$first(t1).name.length === 0)
                C.JSArray_methods.set$length(t1, 0);
              analyzeSnapshot = new T.AnalysisSnapshotReference(snapshotTimestamp, null, null, "Analyzed " + A.DateFormat$("MMM dd hh:mm:ss", null).format$1(snapshotTimestamp), false, false, true, false, false, false, false, false, false, false, null, null, H._setArrayType([], type$.JSArray_legacy_Reference));
              analysesNode.addChild$1(analyzeSnapshot);
              collectedData = Z.collect($async$self.controller, snapshot);
              Z.imageAnalysis($async$self.controller, analyzeSnapshot, collectedData);
              $async$self.controller.completedAnalyses.push(analyzeSnapshot);
              if (!analysesNode._isExpanded)
                analysesNode.expand$0(0);
              $async$self.controller.selectionSnapshotNotifier.set$value(0, new S.Selection(analyzeSnapshot, analyzeSnapshot.index, true, type$.Selection_legacy_Reference));
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_takeHeapSnapshot$1$userGenerated, $async$completer);
    },
    doGroupBy$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$doGroupBy$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.controller.heapGraph;
              t1.computeInstancesForClasses$0();
              t1.computeRawGroups$0();
              t1.computeFilteredGroups$0();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$doGroupBy$0, $async$completer);
    },
    _filter$0: function(_) {
      var t1;
      L.MemoryScreen_gaAction(null, "SnapshotFilterDialog");
      t1 = this._framework$_element;
      t1.toString;
      E.showDialog(false, new D.HeapTreeViewState__filter_closure(this), t1, type$.dynamic);
    }
  };
  D.HeapTreeViewState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new D.HeapTreeViewState_didChangeDependencies__closure5(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies__closure5.prototype = {
    call$0: function() {
      this.$this.controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new D.HeapTreeViewState_didChangeDependencies__closure4(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies__closure4.prototype = {
    call$0: function() {
      this.$this.controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies_closure1.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new D.HeapTreeViewState_didChangeDependencies__closure3(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies__closure3.prototype = {
    call$0: function() {
      this.$this.controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies_closure2.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new D.HeapTreeViewState_didChangeDependencies__closure2(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies__closure2.prototype = {
    call$0: function() {
      var root,
        t1 = this.$this.controller,
        t2 = t1._leafSelectedNotifier._value;
      if (t2 != null) {
        root = T.instanceToFieldNodes(t1, t2);
        t1._instanceRoot = root.length !== 0 ? root : H._setArrayType([$.$get$FieldReference_empty()], type$.JSArray_legacy_FieldReference);
      } else
        t1._instanceRoot = H._setArrayType([$.$get$FieldReference_empty()], type$.JSArray_legacy_FieldReference);
    },
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies_closure3.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new D.HeapTreeViewState_didChangeDependencies__closure1(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies__closure1.prototype = {
    call$0: function() {
      var analysisFields,
        t1 = this.$this.controller,
        t2 = t1._leafAnalysisSelectedNotifier._value;
      if (t2 != null) {
        analysisFields = t2.fieldsRoot.children;
        t1._analysisInstanceRoot = analysisFields.length !== 0 ? analysisFields : H._setArrayType([$.$get$AnalysisField_empty()], type$.JSArray_legacy_AnalysisField);
      } else
        t1._analysisInstanceRoot = H._setArrayType([$.$get$AnalysisField_empty()], type$.JSArray_legacy_AnalysisField);
    },
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies_closure4.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.controller.closeAutoCompleteOverlay$0();
      t1.controller.AutoCompleteSearchControllerMixin_currentDefaultIndex = 0;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies_closure5.prototype = {
    call$0: function() {
      var t1, t2, t3;
      L.MemoryScreen_gaAction(C.ValueKey_SnapshotFilterDialog, null);
      t1 = this.$this;
      t2 = t1.controller;
      t3 = t1._framework$_element;
      t3.toString;
      t2.handleAutoCompleteOverlay$3$context$onTap$searchFieldKey(t3, t1.get$selectTheMatch(), $.$get$memorySearchFieldKey());
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies_closure6.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new D.HeapTreeViewState_didChangeDependencies__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies__closure0.prototype = {
    call$0: function() {
      this.$this.controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies_closure7.prototype = {
    call$0: function() {
      var dateTimeFormat, t3, startDateTime, sampleTime, t4, t5, rssPercentIncrease, takeSnapshot, first, last, snapshotTime, _null = null,
        t1 = this.$this,
        heapSample = t1.controller.memoryTimeline._sampleAddedNotifier._value,
        heapSum = heapSample.external + heapSample.used,
        t2 = t1.heapMovingAverage;
      t2.add$1(0, heapSum);
      dateTimeFormat = A.DateFormat$("hh:mm:ss.mmm", _null);
      t3 = heapSample.timestamp;
      startDateTime = dateTimeFormat.format$1(P.DateTime$fromMillisecondsSinceEpoch(t3, false));
      sampleTime = P.Duration$(0, t3);
      t4 = heapSample.rss;
      if (t4 != null && heapSum > t4) {
        t5 = t1.lastSnapshotMemoryTotal;
        rssPercentIncrease = t5 > 0 ? (heapSum - t5) / t5 * 100 : 0;
        if (C.JSInt_methods._tdivFast$1(sampleTime._duration - P.Duration$(0, t1.rssSnapshotTime)._duration, 1000000) > 30)
          if (rssPercentIncrease > 30) {
            t1.rssSnapshotTime = t3;
            t1.lastSnapshotMemoryTotal = heapSum;
            H.S(rssPercentIncrease);
            takeSnapshot = true;
          } else
            takeSnapshot = false;
        else
          takeSnapshot = false;
      } else
        takeSnapshot = false;
      if (!takeSnapshot) {
        t5 = t2.dataSet;
        first = t5.get$isNotEmpty(t5) ? t5.get$first(t5) : _null;
        if (first == null)
          first = 0;
        last = t5.get$isNotEmpty(t5) ? t5.get$last(t5) : _null;
        if (last == null)
          last = 0;
        t5 = last - t2.get$mean() > first * 0.5;
      } else
        t5 = false;
      if (t5) {
        t5 = t1.spikeSnapshotTime;
        snapshotTime = P.Duration$(0, t5 == null ? t3 : t5);
        t1.spikeSnapshotTime = t3;
        B.log("AutoSnapshot - memory spike @ " + startDateTime + "} last snapshot " + C.JSInt_methods._tdivFast$1(sampleTime._duration - snapshotTime._duration, 1000000) + " seconds ago.", C.LogLevel_0);
        "" + t1.lastSnapshotMemoryTotal;
        "" + heapSum;
        H.S(t4);
        takeSnapshot = true;
      }
      if (takeSnapshot) {
        t2.dataSet.clear$0(0);
        t2.averageSum = 0;
        t1.lastSnapshotMemoryTotal = heapSum;
        t1._takeHeapSnapshot$1$userGenerated(false);
      } else {
        t3 = t2.dataSet;
        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;
          t1.lastSnapshotMemoryTotal = heapSum;
        }
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies_closure8.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new D.HeapTreeViewState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.treeMapVisible = t1.controller._treeMapVisible._value;
    },
    $signature: 1
  };
  D.HeapTreeViewState__groupByDropdown_closure.prototype = {
    call$1: function(value) {
      var _null = null;
      return K.DropdownMenuItem$(L.Text$("Group by " + H.S(value), C.ValueKey_qtp, _null, _null, _null, _null, _null, _null, _null, _null), C.ValueKey_yx3, value, type$.legacy_String);
    },
    $signature: 342
  };
  D.HeapTreeViewState__groupByDropdown_closure0.prototype = {
    call$1: function(newValue) {
      var t1 = this.$this;
      t1.setState$1(new D.HeapTreeViewState__groupByDropdown__closure(t1, newValue));
    },
    $signature: 35
  };
  D.HeapTreeViewState__groupByDropdown__closure.prototype = {
    call$0: function() {
      var t1, t2;
      type$.legacy_ValueKey_legacy_String._as(C.ValueKey_qtp);
      t1 = this.newValue;
      L.MemoryScreen_gaAction(null, H.S(C.ValueKey_qtp.value) + " " + H.S(t1));
      t2 = this.$this;
      t2.controller._leafSelectedNotifier.set$value(0, null);
      t2.controller.groupingBy.set$value(0, t1);
      if (t2.controller.snapshots.length !== 0)
        t2.doGroupBy$0();
    },
    $signature: 1
  };
  D.HeapTreeViewState__buildSnapshotControls_closure.prototype = {
    call$1: function(value) {
      this.$this.controller._treeMapVisible.set$value(0, value);
    },
    $signature: 73
  };
  D.HeapTreeViewState__buildSnapshotControls_closure0.prototype = {
    call$0: function() {
      var t1, t2;
      L.MemoryScreen_gaAction(C.ValueKey_0kc, null);
      t1 = this.$this;
      if (t1.snapshotDisplay instanceof D.MemoryHeapTable) {
        t2 = t1.controller.groupByTreeTable.dataRoots;
        (t2 && C.JSArray_methods).every$1(t2, new D.HeapTreeViewState__buildSnapshotControls__closure0());
      }
      t1.controller.treeChanged$0();
    },
    $signature: 1
  };
  D.HeapTreeViewState__buildSnapshotControls__closure0.prototype = {
    call$1: function(element) {
      element.expandCascading$0();
      return true;
    },
    $signature: 47
  };
  D.HeapTreeViewState__buildSnapshotControls_closure1.prototype = {
    call$0: function() {
      var t1, t2;
      L.MemoryScreen_gaAction(C.ValueKey_UqR, null);
      t1 = this.$this;
      if (t1.snapshotDisplay instanceof D.MemoryHeapTable) {
        t2 = t1.controller.groupByTreeTable.dataRoots;
        (t2 && C.JSArray_methods).every$1(t2, new D.HeapTreeViewState__buildSnapshotControls__closure());
        t2 = t1.controller;
        if (t2.instanceFieldsTreeTable != null)
          t2._leafSelectedNotifier.set$value(0, null);
        t1.controller.treeChanged$0();
      }
    },
    $signature: 1
  };
  D.HeapTreeViewState__buildSnapshotControls__closure.prototype = {
    call$1: function(element) {
      element.collapseCascading$0();
      return true;
    },
    $signature: 47
  };
  D.HeapTreeViewState_displayTimestampUpdateBubble_closure.prototype = {
    call$2: function(context, widget) {
      var t2, t3, t4, t5, t6, richTextWidget, renderObject, textWidth, _null = null,
        t1 = this.$this,
        circleSize = t1._memory_heap_tree_view$_animation.get$_animation_controller$_value();
      if (t1._memory_heap_tree_view$_animation.get$_status() === C.AnimationStatus_2 && t1._memory_heap_tree_view$_animation.get$_animation_controller$_value() < 8) {
        t1._memory_heap_tree_view$_animation.stop$0(0);
        t2 = t1.removeUpdateBubble;
        if (t2 != null)
          t2.cancel$0(0);
        t1.removeUpdateBubble = P.Timer_Timer(C.Duration_5000000, new D.HeapTreeViewState_displayTimestampUpdateBubble__closure(t1));
        circleSize = 8;
      }
      t2 = t1.controller.monitorTimestamp;
      if (t2 == null)
        t2 = "No allocations tracked";
      else
        t2 = "Allocations Tracked at " + A.DateFormat$("MMM dd hh:mm:ss", _null).format$1(t2);
      t3 = A.TextStyle$(_null, _null, K.Theme_of(context).colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4290493371, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, 14, C.FontStyle_1, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      t4 = t1.controller;
      t4 = J.$eq$(t4.lastMonitorTimestamp._value, t4.monitorTimestamp) ? 0 : circleSize;
      t5 = L.Text$rich(Q.TextSpan$(_null, _null, _null, _null, t2), _null, t3, _null);
      t6 = t1._framework$_element;
      t6.toString;
      richTextWidget = type$.legacy_RichText._as(t5.build$1(0, t6));
      t1 = t1._framework$_element;
      t1.toString;
      renderObject = richTextWidget.createRenderObject$1(t1);
      renderObject.layout$1(0, C.BoxConstraints_EcO0);
      textWidth = C.JSArray_methods.get$last(renderObject.getBoxesForSelection$1(X.TextSelection$(C.TextAffinity_1, 0, Q.TextSpan$(_null, _null, _null, _null, t2).toPlainText$0().length, false))).right;
      if (textWidth > 800)
        B.log("Computed text width > 800 (" + H.S(textWidth) + ")\nmessage=" + t2 + ".", C.LogLevel_1);
      return T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([T.Positioned$(_null, M.Container$(_null, L.Text$(t2, _null, _null, _null, _null, _null, t3, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, textWidth + 10), _null, _null, _null, _null, _null, _null), T.Positioned$(_null, M.Container$(C.Alignment_1_m1, C.Icon_NYu, C.Clip_0, _null, _null, new S.BoxDecoration(C.Map_JNwaj.$index(0, 400), _null, _null, _null, _null, _null, _null, C.BoxShape_1), _null, t4, _null, _null, _null, _null, _null, t4), _null, _null, _null, 0, _null, _null)], type$.JSArray_legacy_Widget), C.Clip_1, C.StackFit_0, _null, _null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 165
  };
  D.HeapTreeViewState_displayTimestampUpdateBubble__closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.controller;
      t2.lastMonitorTimestamp.set$value(0, t2.monitorTimestamp);
      t1.removeUpdateBubble = null;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.HeapTreeViewState__buildAllocationsControls_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              L.MemoryScreen_gaAction(C.ValueKey_Hxo, null);
              $async$goto = 2;
              return P._asyncAwait($async$self.$this._allocationStart$0(), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  D.HeapTreeViewState__buildAllocationsControls_closure0.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              L.MemoryScreen_gaAction(C.ValueKey_anI, null);
              $async$goto = 2;
              return P._asyncAwait($async$self.$this._allocationReset$0(), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  D.HeapTreeViewState__allocationStart_closure.prototype = {
    call$1: function(element) {
      return element.classRef.id == this.currentClassId;
    },
    $signature: 172
  };
  D.HeapTreeViewState__allocationStart_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  D.HeapTreeViewState_selectTheMatch_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.tabController._tab_controller$_index;
      if (t2 === 1)
        t1.controller.selectItemInAllocationTable$1(this.foundName);
      else if (t2 === 0 && t1.snapshotDisplay instanceof D.MemoryHeapTable) {
        t1 = t1.controller.groupByTreeTable.dataRoots;
        (t1 && C.JSArray_methods).every$1(t1, new D.HeapTreeViewState_selectTheMatch__closure());
      }
    },
    $signature: 1
  };
  D.HeapTreeViewState_selectTheMatch__closure.prototype = {
    call$1: function(element) {
      element.collapseCascading$0();
      return true;
    },
    $signature: 47
  };
  D.HeapTreeViewState__takeHeapSnapshot_closure.prototype = {
    call$0: function() {
      this.$this.snapshotState = C.SnapshotStatus_1;
    },
    $signature: 1
  };
  D.HeapTreeViewState__takeHeapSnapshot_closure0.prototype = {
    call$0: function() {
      this.$this.snapshotState = C.SnapshotStatus_4;
    },
    $signature: 1
  };
  D.HeapTreeViewState__takeHeapSnapshot_closure1.prototype = {
    call$0: function() {
      this.$this.snapshotState = C.SnapshotStatus_2;
    },
    $signature: 1
  };
  D.HeapTreeViewState__takeHeapSnapshot_closure2.prototype = {
    call$0: function() {
      this.$this.snapshotState = C.SnapshotStatus_3;
    },
    $signature: 1
  };
  D.HeapTreeViewState__takeHeapSnapshot_closure3.prototype = {
    call$0: function() {
      this.$this.snapshotState = C.SnapshotStatus_4;
    },
    $signature: 1
  };
  D.HeapTreeViewState__filter_closure.prototype = {
    call$1: function(context) {
      return new S.SnapshotFilterDialog(this.$this.controller, null);
    },
    $signature: 422
  };
  D.MemoryHeapTable.prototype = {
    createState$0: function() {
      var t1 = type$.legacy_Reference;
      return new D.MemoryHeapTableState(new D._LibraryRefColumn(P.StreamController_StreamController$broadcast(false, t1), P.StreamController_StreamController$broadcast(false, t1), "Library or Class", null, null, null, C.ColumnAlignment_0), H._setArrayType([], type$.JSArray_legacy_ColumnData_legacy_Reference), K.Disposer$(), C._StateLifecycle_0);
    }
  };
  D.MemoryHeapTableState.prototype = {
    initState$0: function() {
      var _null = null;
      this.super$State$initState();
      C.JSArray_methods.addAll$1(this.columns, H._setArrayType([this.treeColumn, new D._ClassOrInstanceCountColumn("Count", _null, 75, _null, C.ColumnAlignment_1), new D._ShallowSizeColumn("Shallow", _null, 100, _null, C.ColumnAlignment_1)], type$.JSArray_legacy_ColumnData_legacy_Reference));
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_MemoryController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(_this.controller._treeChangedNotifier, new D.MemoryHeapTableState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.controller._selectedSnapshotNotifier, new D.MemoryHeapTableState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$2(_this.controller._filterNotifier, new D.MemoryHeapTableState_didChangeDependencies_closure1(_this));
      _this.addAutoDisposeListener$1(_this.controller.AutoCompleteSearchControllerMixin_searchAutoComplete);
      t1 = _this.get$_memory_heap_tree_view$_handleSearch();
      _this.addAutoDisposeListener$2(_this.controller.AutoCompleteSearchControllerMixin_selectTheSearchNotifier, t1);
      _this.addAutoDisposeListener$2(_this.controller.SearchControllerMixin__searchNotifier, t1);
    },
    _memory_heap_tree_view$_handleSearch$0: function() {
      var matches, normalizedMatches, _this = this,
        t1 = _this.controller,
        t2 = t1.SearchControllerMixin__searchNotifier._value;
      if (t2.length !== 0) {
        if (t1.AutoCompleteSearchControllerMixin_selectTheSearchNotifier._value) {
          _this.selectItemInTree$1(t2);
          _this.controller.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, false);
          t1 = _this.controller;
          t2 = t1.SearchControllerMixin__searchNotifier;
          t2.set$value(0, "");
          t1.updateMatches$1(t1.matchesForSearch$1(t2._value));
          return;
        }
        t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, H._setArrayType([], type$.JSArray_legacy_String));
        t1.AutoCompleteSearchControllerMixin_currentDefaultIndex = 0;
        matches = _this._snapshotMatches$1(t2);
        t1 = P.LinkedHashSet_LinkedHashSet$from(matches, H._arrayInstanceType(matches)._precomputed1);
        normalizedMatches = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("SetMixin.E"));
        C.JSArray_methods.sort$0(normalizedMatches);
        _this.controller.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, C.JSArray_methods.sublist$2(normalizedMatches, 0, Math.min($.topMatchesLimit, normalizedMatches.length)));
      }
    },
    _snapshotMatches$1: function(searchingValue) {
      var t3, _i, reference, matches0, match, t4, t5, _i0, library, _this = this,
        t1 = type$.JSArray_legacy_String,
        matches = H._setArrayType([], t1),
        externalMatches = H._setArrayType([], t1),
        filteredMatches = H._setArrayType([], t1),
        t2 = _this.controller;
      switch (t2.groupingBy._value) {
        case "Library":
          for (t2 = t2.get$activeSnapshot().children, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
            reference = t2[_i];
            if (reference.isLibrary) {
              matches0 = H._setArrayType([], t1);
              match = _this.matchSearch$2(reference, searchingValue);
              if (match != null)
                matches0.push(match);
              C.JSArray_methods.addAll$1(matches0, _this.matchClasses$2(reference.children, searchingValue));
              C.JSArray_methods.addAll$1(matches, matches0);
            } else if (reference.isExternals)
              for (t4 = reference.children, t5 = t4.length, _i0 = 0; _i0 < t4.length; t4.length === t5 || (0, H.throwConcurrentModificationError)(t4), ++_i0) {
                match = _this.matchSearch$2(t4[_i0], searchingValue);
                if (match != null)
                  externalMatches.push(match);
              }
            else if (reference.isFiltered)
              for (t4 = reference.children, t5 = t4.length, _i0 = 0; _i0 < t4.length; t4.length === t5 || (0, H.throwConcurrentModificationError)(t4), ++_i0) {
                library = t4[_i0];
                matches0 = H._setArrayType([], t1);
                match = _this.matchSearch$2(library, searchingValue);
                if (match != null)
                  matches0.push(match);
                C.JSArray_methods.addAll$1(matches0, _this.matchClasses$2(library.children, searchingValue));
                C.JSArray_methods.addAll$1(filteredMatches, matches0);
              }
          }
          break;
        case "Class":
          C.JSArray_methods.addAll$1(matches, _this.matchClasses$2(t2.groupByTreeTable.dataRoots, searchingValue));
          break;
        case "Instance":
          break;
      }
      C.JSArray_methods.addAll$1(matches, externalMatches);
      C.JSArray_methods.addAll$1(matches, filteredMatches);
      return matches;
    },
    matchClasses$2: function(classReferences, searchingValue) {
      var t2, _i, t3, matches0, match,
        t1 = type$.JSArray_legacy_String,
        matches = H._setArrayType([], t1);
      for (t2 = classReferences.length, _i = 0; _i < classReferences.length; classReferences.length === t2 || (0, H.throwConcurrentModificationError)(classReferences), ++_i) {
        t3 = classReferences[_i];
        matches0 = H._setArrayType([], t1);
        match = this.matchSearch$2(t3, searchingValue);
        if (match != null)
          matches0.push(match);
        C.JSArray_methods.addAll$1(matches, matches0);
      }
      return matches;
    },
    matchSearch$2: function(ref, matchString) {
      var t1 = ref.name;
      if (C.JSString_methods.contains$1(t1.toLowerCase(), matchString.toLowerCase()))
        return t1;
      return null;
    },
    selectItemInTree$1: function(searchingValue) {
      var searchRoot, t2, _i, reference, t3, t4, _i0, _this = this,
        t1 = _this.controller;
      switch (t1.groupingBy._value) {
        case "Library":
          searchRoot = t1.get$activeSnapshot();
          t1 = _this.controller.selectionSnapshotNotifier;
          if (t1._value.node == null)
            t1.set$value(0, new S.Selection(searchRoot, searchRoot.index, true, type$.Selection_legacy_Reference));
          for (t1 = searchRoot.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
            reference = t1[_i];
            if (reference.isLibrary) {
              if (_this._selectItemInTree$2(reference, searchingValue))
                return true;
            } else if (reference.isFiltered) {
              for (t3 = reference.children, t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i0)
                if (_this._selectItemInTree$2(t3[_i0], searchingValue))
                  return true;
            } else if (reference.isExternals)
              for (t3 = reference.children, t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i0)
                if (_this._selectItemInTree$2(t3[_i0], searchingValue))
                  return true;
          }
          break;
        case "Class":
          for (t1 = t1.groupByTreeTable.dataRoots, t2 = t1.length, _i = 0; _i < t2; ++_i) {
            reference = t1[_i];
            if (reference.isClass)
              return _this._selecteClassInTree$2(reference, searchingValue);
          }
          break;
        case "Instance":
          break;
      }
      return false;
    },
    _selectInTree$2: function(reference, search) {
      var t1;
      if (reference.name === search) {
        this.controller.selectionSnapshotNotifier.set$value(0, new S.Selection(reference, reference.index, true, type$.Selection_legacy_Reference));
        t1 = this.controller;
        t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, H._setArrayType([], type$.JSArray_legacy_String));
        t1.AutoCompleteSearchControllerMixin_currentDefaultIndex = 0;
        return true;
      }
      return false;
    },
    _selectItemInTree$2: function(reference, searchingValue) {
      if (this._selectInTree$2(reference, searchingValue))
        return true;
      return this._selecteClassInTree$2(reference, searchingValue);
    },
    _selecteClassInTree$2: function(reference, searchingValue) {
      var t1, t2, _i;
      for (t1 = reference.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        if (this._selectInTree$2(t1[_i], searchingValue))
          return true;
      return false;
    },
    build$1: function(_, context) {
      var t1, t2, t3, t4, _this = this,
        root = _this.controller.buildTreeFromAllData$0();
      if (root != null && root.children.length !== 0) {
        t1 = _this.controller;
        t2 = root.children;
        t3 = _this.columns;
        t4 = t3[0];
        return t1.groupByTreeTable = S.TreeTable$(false, t3, t2, null, new D.MemoryHeapTableState_build_closure(), t1.selectionSnapshotNotifier, t4, C.SortDirection_0, _this.treeColumn, type$.legacy_Reference);
      } else
        return C.SizedBox_null_null_null_null;
    }
  };
  D.MemoryHeapTableState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (t1.controller._treeChangedNotifier._value)
        t1.setState$1(new D.MemoryHeapTableState_didChangeDependencies__closure1());
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.MemoryHeapTableState_didChangeDependencies__closure1.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  D.MemoryHeapTableState_didChangeDependencies_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new D.MemoryHeapTableState_didChangeDependencies__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.MemoryHeapTableState_didChangeDependencies__closure0.prototype = {
    call$0: function() {
      this.$this.controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 1
  };
  D.MemoryHeapTableState_didChangeDependencies_closure1.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new D.MemoryHeapTableState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  D.MemoryHeapTableState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      this.$this.controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 1
  };
  D.MemoryHeapTableState_build_closure.prototype = {
    call$1: function(libRef) {
      return new S.PageStorageKey(libRef.name, type$.PageStorageKey_legacy_String);
    },
    $signature: 423
  };
  D._LibraryRefColumn.prototype = {
    getValue$1: function(dataObject) {
      var splitValues, value;
      if (dataObject.isLibrary) {
        splitValues = type$.legacy_LibraryReference._as(dataObject).name.split("/");
        value = splitValues.length > 1 ? H.S(splitValues[0]) + "/" + H.S(splitValues[1]) : splitValues[0];
      } else
        value = dataObject.name;
      return value;
    },
    getDisplayValue$1: function(dataObject) {
      return this.getValue$1(dataObject);
    },
    get$fixedWidthPx: function() {
      return 250;
    }
  };
  D._ClassOrInstanceCountColumn.prototype = {
    getValue$1: function(dataObject) {
      var count, t2, _i,
        t1 = dataObject.name;
      if (t1 === "___LIBRARY___" || t1 === "___CLASSES___")
        return 0;
      if (dataObject.isExternal)
        count = dataObject.children.length;
      else if (dataObject.isAnalysis && dataObject instanceof T.AnalysisReference)
        count = dataObject.countNote;
      else if (dataObject.isSnapshot && dataObject instanceof T.SnapshotReference)
        for (t1 = dataObject.children, t2 = t1.length, count = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
          count += this._computeCount$1(t1[_i]);
      else
        count = this._computeCount$1(dataObject);
      return count;
    },
    _computeCount$1: function(ref) {
      var count, t2, _i, t3, t4,
        t1 = ref.count;
      if (t1 != null)
        return t1;
      if (ref.isClass)
        count = ref.actualClass._instances.length;
      else if (ref.isLibrary)
        for (t1 = 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 = ref.children, t2 = t1.length, count = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
          for (t3 = t1[_i].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 = t1.length, count = 0, _i = 0; _i < t2; ++_i)
          count += t1[_i].children.length;
      else
        count = ref.isExternal ? ref.children.length : 0;
      return ref.count = count;
    },
    getDisplayValue$1: function(dataObject) {
      var t1 = this.getValue$1(dataObject);
      return t1 == null ? "--" : H.S(t1);
    },
    compare$2: function(a, b) {
      var valueA = a.isAnalysis ? 0 : this.getValue$1(a);
      return J.compareTo$1$ns(valueA, b.isAnalysis ? 0 : this.getValue$1(b));
    }
  };
  D._ShallowSizeColumn.prototype = {
    sizeAllVisibleLibraries$1: function(references) {
      var t1, t2, sum, _i, ref, t3;
      for (t1 = references.length, t2 = type$.legacy_LibraryReference, sum = 0, _i = 0; _i < references.length; references.length === t1 || (0, H.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: function(dataObject) {
      var snapshotGraph, size, t2, sum, _i,
        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 T.AnalysisReference) {
        size = dataObject.sizeNote;
        return size == null ? "" : size;
      } else if (dataObject.isSnapshot && dataObject instanceof T.SnapshotReference) {
        for (t1 = dataObject.children, t2 = t1.length, sum = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
          sum += this._sumShallowSize$1(t1[_i]);
        return sum;
      } else {
        sum = this._sumShallowSize$1(dataObject);
        return sum == null ? "" : sum;
      }
    },
    _sumShallowSize$1: function(ref) {
      var t1, sum, size, snapshot;
      if (ref.isLibrary) {
        for (t1 = 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$.legacy_ClassReference._as(ref).actualClass.instancesTotalShallowSizes;
      else if (ref.isObject) {
        type$.legacy_ObjectReference._as(ref);
        size = ref.instance.origin._shallowSize;
        return ref instanceof T.ExternalObjectReference ? size + ref.externalSize : size;
      } else if (ref.isFiltered) {
        snapshot = ref.controller.getSnapshot$1(ref);
        t1 = snapshot == null ? null : snapshot.libraryRoot;
        sum = this.sizeAllVisibleLibraries$1(t1 == null ? null : t1.children);
        return snapshot.snapshotGraph._shallowSize - sum;
      } else if (ref.isExternals)
        return ref.controller.getSnapshot$1(ref).snapshotGraph._externalSize;
      else if (ref.isExternal)
        return type$.legacy_ExternalReference._as(ref).sumExternalSizes;
      return null;
    },
    getDisplayValue$1: function(dataObject) {
      var t1, style, t2, t3, formatted, withExtras,
        value = this.getValue$1(dataObject);
      if (!dataObject.isAnalysis)
        t1 = false;
      else
        t1 = true;
      if (t1 && !H._isInt(value))
        return "";
      t1 = S._CompactNumberFormat__CompactNumberFormat(C._CompactFormatType_0, null);
      style = t1._number_format$_style = t1._styleFor$1(value);
      t2 = style.pattern;
      if (!(t2 == null || t2 === "0")) {
        t2.toString;
        t3 = P.RegExp_RegExp("[0\xa0\xa4]", true, false);
        t2 = H.stringReplaceAllUnchecked(t2, t3, "").length === 0;
      } else
        t2 = true;
      formatted = t1.super$NumberFormat$format(t1._divide$2(value, t2 ? 1 : style.divisor));
      withExtras = H.S(style.prefix) + formatted + H.S(style.suffix);
      t1._number_format$_style = null;
      return withExtras;
    },
    compare$2: function(a, b) {
      var valueA = a.isAnalysis ? 0 : this.getValue$1(a);
      return J.compareTo$1$ns(valueA, b.isAnalysis ? 0 : this.getValue$1(b));
    }
  };
  D._HeapTreeViewState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  D._HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.SearchFieldMixin__searchFieldFocusNode = O.FocusNode$(true, null, true, null, false);
      this.SearchFieldMixin_searchTextFieldController = D.TextEditingController$(null);
    },
    dispose$0: function(_) {
      var t1;
      this.super$_HeapTreeViewState_State_AutoDisposeMixin$dispose(0);
      t1 = this.SearchFieldMixin__searchFieldFocusNode;
      if (t1 != null)
        t1.dispose$0(0);
    }
  };
  D._HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$_HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  D._MemoryHeapTableState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  N.MemoryHeapTreemap.prototype = {
    createState$0: function() {
      return new N.MemoryHeapTreemapState(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Function), this.controller, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  N.MemoryHeapTreemapState.prototype = {
    didChangeDependencies$0: function() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = _this.controller = Y.Provider_of(t1, true, type$.legacy_MemoryController);
      if (t1.heapGraph != null) {
        t1 = N.InstructionsSize_InstructionsSize$fromSnapshot(t1);
        _this.sizes = t1;
        _this.root = t1.root;
      }
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(_this.controller._selectedSnapshotNotifier, new N.MemoryHeapTreemapState_didChangeDependencies_closure(_this));
    },
    _onRootChanged$1: function(newRoot) {
      this.setState$1(new N.MemoryHeapTreemapState__onRootChanged_closure(this, newRoot));
    },
    build$1: function(_, context) {
      var _null = null;
      if (this.sizes == null)
        return T.Column$(H._setArrayType([C.SizedBox_null_6_null_null, T.Expanded$(new U.OutlineDecoration(T.Row$(C.List_KeE, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
      return new T.Padding(C.EdgeInsets_0_6_0_0, new A.LayoutBuilder(new N.MemoryHeapTreemapState_build_closure(this), _null), _null);
    }
  };
  N.MemoryHeapTreemapState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new N.MemoryHeapTreemapState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  N.MemoryHeapTreemapState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.controller.computeAllLibraries$1$rebuild(true);
      t1.sizes = N.InstructionsSize_InstructionsSize$fromSnapshot(t1.controller);
    },
    $signature: 1
  };
  N.MemoryHeapTreemapState__onRootChanged_closure.prototype = {
    call$0: function() {
      this.$this.root = this.newRoot;
    },
    $signature: 1
  };
  N.MemoryHeapTreemapState_build_closure.prototype = {
    call$2: function(context, constraints) {
      var t1 = this.$this,
        t2 = t1.root,
        t3 = constraints.maxWidth;
      return E.Treemap$fromRoot(constraints.maxHeight, true, 2, t1.get$_onRootChanged(), t2, t3);
    },
    $signature: 147
  };
  N.InstructionsSize.prototype = {};
  N.InstructionsSize_InstructionsSize$fromSnapshot_closure.prototype = {
    call$2: function(libraryGroup, value) {
      var t1, t2, t3, t4, currentChildren, t5, t6, shallowSize, className, t7, libraryName, predefined, parentReset, currentChildren0, _i, pathPart, t8;
      for (t1 = value.get$iterator(value), t2 = this._box_0, t3 = type$.JSArray_String, t4 = type$.JSArray_legacy_String, currentChildren = this.rootChildren, t5 = libraryGroup != null; t1.moveNext$0();) {
        t6 = t1.get$current(t1);
        shallowSize = t6.instancesTotalShallowSizes;
        t6 = t6.origin;
        className = t6._snapshot_graph$_name;
        if (shallowSize !== 0)
          if (t5)
            t7 = className === "::";
          else
            t7 = true;
        else
          t7 = true;
        if (t7)
          continue;
        t6 = t6.__HeapSnapshotClass__libraryUri;
        libraryName = J.toString$0$(t6 === $ ? H.throwExpression(H.LateError$fieldNI("_libraryUri")) : t6);
        if (libraryName.length === 0)
          libraryName = libraryGroup;
        predefined = $.$get$predefinedClasses().$index(0, new X.LibraryClass(libraryName, className));
        if (predefined != null)
          className = predefined.prettyName;
        t6 = "new " + className;
        parentReset = t2.currentParent;
        t7 = H._setArrayType([], t4);
        C.JSArray_methods.addAll$1(t7, H._setArrayType(libraryName.split("/"), t3));
        if (className.length !== 0)
          t7.push(className);
        t7.push(t6);
        t6 = t7.length;
        currentChildren0 = currentChildren;
        _i = 0;
        for (; _i < t7.length; t7.length === t6 || (0, H.throwConcurrentModificationError)(t7), ++_i) {
          pathPart = t7[_i];
          currentChildren0.putIfAbsent$2(0, pathPart, new N.InstructionsSize_InstructionsSize$fromSnapshot__closure(t2, pathPart));
          t8 = currentChildren0.$index(0, pathPart);
          t8.byteSize = t8.byteSize + shallowSize;
          t2.currentParent = currentChildren0.$index(0, pathPart);
          currentChildren0 = currentChildren0.$index(0, pathPart).childrenMap;
        }
        t2.currentParent = parentReset;
      }
    },
    $signature: 95
  };
  N.InstructionsSize_InstructionsSize$fromSnapshot__closure.prototype = {
    call$0: function() {
      var node = new E.TreemapNode(this.pathPart, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_TreemapNode), 0, false, H._setArrayType([], type$.JSArray_legacy_TreemapNode));
      this._box_0.currentParent.addChild$1(node);
      return node;
    },
    $signature: 341
  };
  N.InstructionsSize_InstructionsSize$fromSnapshot_closure0.prototype = {
    call$2: function(current, node) {
      return current + node.byteSize;
    },
    $signature: 425
  };
  N.InstructionsSize_InstructionsSize$fromSnapshot_closure1.prototype = {
    call$0: function() {
      var node = new E.TreemapNode("External Heap", P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_TreemapNode), 0, false, H._setArrayType([], type$.JSArray_legacy_TreemapNode));
      node.byteSize = this.snapshotGraph._externalSize;
      this.root.addChild$1(node);
      return node;
    },
    $signature: 341
  };
  N._MemoryHeapTreemapState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  Y.InstanceTreeView.prototype = {
    createState$0: function() {
      var t1 = type$.legacy_FieldReference;
      return new Y.InstanceTreeViewState(new Y._FieldTypeColumn(P.StreamController_StreamController$broadcast(false, t1), P.StreamController_StreamController$broadcast(false, t1), "Type", null, null, null, C.ColumnAlignment_0), H._setArrayType([], type$.JSArray_legacy_ColumnData_legacy_FieldReference), K.Disposer$(), C._StateLifecycle_0);
    }
  };
  Y.InstanceTreeViewState.prototype = {
    initState$0: function() {
      var _null = null;
      this.super$State$initState();
      C.JSArray_methods.addAll$1(this.columns, H._setArrayType([this.treeColumn, new Y._FieldNameColumn("Name", _null, 150, _null, C.ColumnAlignment_0), new Y._FieldValueColumn("Value", _null, 350, _null, C.ColumnAlignment_0)], type$.JSArray_legacy_ColumnData_legacy_FieldReference));
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_MemoryController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(_this.controller._selectedSnapshotNotifier, new Y.InstanceTreeViewState_didChangeDependencies_closure(_this));
    },
    build$1: function(_, context) {
      var t1 = this.controller,
        t2 = this.columns;
      return t1.instanceFieldsTreeTable = S.TreeTable$(false, t2, t1._instanceRoot, null, new Y.InstanceTreeViewState_build_closure(), null, t2[0], C.SortDirection_0, this.treeColumn, type$.legacy_FieldReference);
    }
  };
  Y.InstanceTreeViewState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new Y.InstanceTreeViewState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  Y.InstanceTreeViewState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      this.$this.controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 1
  };
  Y.InstanceTreeViewState_build_closure.prototype = {
    call$1: function(typeRef) {
      return new S.PageStorageKey(typeRef.name, type$.PageStorageKey_legacy_String);
    },
    $signature: 426
  };
  Y._FieldTypeColumn.prototype = {
    getValue$1: function(dataObject) {
      dataObject.toString;
      return dataObject === $.$get$FieldReference_empty() || dataObject === $.$get$FieldReference_sentinel() ? "" : dataObject.type;
    },
    getDisplayValue$1: function(dataObject) {
      return H.S(dataObject === $.$get$FieldReference_empty() || dataObject === $.$get$FieldReference_sentinel() ? "" : dataObject.type);
    },
    compare$2: function(a, b) {
      var t1, valueA;
      a.toString;
      t1 = $.$get$FieldReference_empty();
      valueA = a === t1 || a === $.$get$FieldReference_sentinel() ? "" : a.type;
      b.toString;
      return J.compareTo$1$ns(valueA, b === t1 || b === $.$get$FieldReference_sentinel() ? "" : b.type);
    },
    get$fixedWidthPx: function() {
      return 250;
    }
  };
  Y._FieldNameColumn.prototype = {
    getValue$1: function(dataObject) {
      dataObject.toString;
      return dataObject === $.$get$FieldReference_empty() ? "" : dataObject.name;
    },
    getDisplayValue$1: function(dataObject) {
      return H.S(dataObject === $.$get$FieldReference_empty() ? "" : dataObject.name);
    },
    compare$2: function(a, b) {
      var t1, valueA;
      a.toString;
      t1 = $.$get$FieldReference_empty();
      valueA = a === t1 ? "" : a.name;
      b.toString;
      return J.compareTo$1$ns(valueA, b === t1 ? "" : b.name);
    }
  };
  Y._FieldValueColumn.prototype = {
    getValue$1: function(dataObject) {
      dataObject.toString;
      return dataObject === $.$get$FieldReference_empty() || dataObject === $.$get$FieldReference_sentinel() ? "" : dataObject.value;
    },
    getDisplayValue$1: function(dataObject) {
      var value;
      if (dataObject instanceof T.ObjectFieldReference && !dataObject.isNull)
        return "";
      value = dataObject === $.$get$FieldReference_empty() || dataObject === $.$get$FieldReference_sentinel() ? "" : dataObject.value;
      return H.S(typeof value == "string" && value.length > 30 ? J.substring$2$s(value, 0, 13) + "\u2026" + C.JSString_methods.substring$1(value, value.length - 17) : value);
    },
    compare$2: function(a, b) {
      var t1, valueA;
      a.toString;
      t1 = $.$get$FieldReference_empty();
      valueA = a === t1 || a === $.$get$FieldReference_sentinel() ? "" : a.value;
      b.toString;
      return J.compareTo$1$ns(valueA, b === t1 || b === $.$get$FieldReference_sentinel() ? "" : b.value);
    }
  };
  Y._InstanceTreeViewState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  T.MemoryTracker.prototype = {
    start$0: function(_) {
      var t1 = this.memoryController._paused;
      this._updateLiveDataPolling$1(t1._value);
      t1.addListener$1(0, this.get$_updateLiveDataPolling());
    },
    _updateLiveDataPolling$1: function(paused) {
      var _this = this, _null = null,
        t1 = _this.serviceManager;
      if ((t1 == null ? _null : t1.service) == null)
        _this.memoryController._paused.set$value(0, true);
      if (_this._memory_protocol$_pollingTimer == null)
        _this._memory_protocol$_pollingTimer = P.Timer_Timer(C.Duration_500000, _this.get$_pollMemory());
      if (_this._gcStreamListener == null) {
        t1 = _this.serviceManager;
        t1 = t1 == null ? _null : t1.service;
        if (t1 == null)
          t1 = _null;
        else {
          t1 = t1._vmService._getEventController$1("GC");
          t1 = new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
        }
        _this._gcStreamListener = t1 == null ? _null : t1.listen$1(_this.get$_handleGCEvent());
      }
    },
    _updateLiveDataPolling$0: function() {
      return this._updateLiveDataPolling$1(null);
    },
    stop$0: function(_) {
      var t1, _this = this;
      _this._updateLiveDataPolling$1(false);
      _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.serviceManager = _this._memory_protocol$_pollingTimer = _this._gcStreamListener = null;
    },
    _handleGCEvent$1: function($event) {
      var oldHeap, t2, t3, t4, t5, t6, t7,
        t1 = J.$index$asx($event.json, "new"),
        newHeap = t1 == null ? null : L.HeapSpace$_fromJson(t1);
      t1 = J.$index$asx($event.json, "old");
      oldHeap = t1 == null ? null : L.HeapSpace$_fromJson(t1);
      t1 = newHeap.external;
      t2 = oldHeap.external;
      t3 = newHeap.capacity;
      t4 = oldHeap.capacity;
      t5 = newHeap.used;
      t6 = oldHeap.used;
      t7 = $event.isolate;
      this.isolateHeaps.$indexSet(0, t7.get$id(t7), new Q.MemoryUsage(t1 + t2, t3 + t4, t5 + t6, null));
      this._recalculate$1(true);
    },
    _pollMemory$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2, t3, isolateMemory, t4, t5, t6, _i, isolateRef, t7, t8, t9, vm, $async$temp1, $async$temp2;
      var $async$_pollMemory$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._memory_protocol$_pollingTimer = null;
              t1 = $async$self.serviceManager;
              if ((t1 == null ? null : t1.service) == null || $async$self.memoryController._memoryTracker == null) {
                B.log("VM service connection and/or MemoryTracker lost.", C.LogLevel_0);
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = type$.legacy_IsolateRef;
              t3 = type$.legacy_MemoryUsage;
              isolateMemory = P.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
              t1 = t1._isolateManager._isolates, t2 = P.List_List$unmodifiable(t1.get$keys(t1), t2), t1 = t2.length, t4 = $async$self.memoryController, t5 = type$.dynamic, t6 = type$.MemoryUsage, _i = 0;
            case 3:
              // for condition
              if (!(_i < t1)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              isolateRef = t2[_i];
              t7 = J.getInterceptor$x(isolateRef);
              $async$goto = 8;
              return P._asyncAwait(t4.isIsolateLive$1(t7.get$id(isolateRef)), $async$_pollMemory$0);
            case 8:
              // returning from await.
              $async$goto = $async$result ? 6 : 7;
              break;
            case 6:
              // then
              t8 = $async$self.serviceManager;
              t8 = t8 == null ? null : t8.service;
              t7 = t7.get$id(isolateRef);
              t9 = t8._vmService;
              t9.toString;
              $async$temp1 = isolateMemory;
              $async$temp2 = isolateRef;
              $async$goto = 9;
              return P._asyncAwait(t8.trackFuture$1$2("getMemoryUsage", t9._call$1$2(0, "getMemoryUsage", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t7], t5, t5), t6), t3), $async$_pollMemory$0);
            case 9:
              // returning from await.
              $async$temp1.$indexSet(0, $async$temp2, $async$result);
            case 7:
              // join
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              t1 = $async$self.serviceManager;
              $async$goto = (t1 == null ? null : t1.service) != null && t1.vm.operatingSystem === "android" && t4._androidCollectionEnabled._value ? 10 : 12;
              break;
            case 10:
              // then
              $async$goto = 13;
              return P._asyncAwait($async$self._fetchAdbInfo$0(), $async$_pollMemory$0);
            case 13:
              // returning from await.
              $async$self.adbMemoryInfo = $async$result;
              // goto join
              $async$goto = 11;
              break;
            case 12:
              // else
              $async$self.adbMemoryInfo = new M.AdbMemoryInfo(0, 0, 0, 0, 0, 0, 0, 0, 0);
            case 11:
              // join
              $async$goto = 14;
              return P._asyncAwait($async$self._fetchRasterCacheInfo$0(), $async$_pollMemory$0);
            case 14:
              // returning from await.
              $async$self.rasterCache = $async$result;
              t1 = $async$self.serviceManager;
              t1 = t1 == null ? null : t1.service;
              $async$goto = 15;
              return P._asyncAwait(t1.trackFuture$1$2("getVM", t1._vmService._call$1$1(0, "getVM", type$.VM), type$.legacy_VM), $async$_pollMemory$0);
            case 15:
              // returning from await.
              vm = $async$result;
              $async$self._update$2(0, vm, isolateMemory);
              if (J.containsKey$1$x(vm.json, "_FAKE_VM")) {
                // goto return
                $async$goto = 1;
                break;
              }
              if ($async$self._memory_protocol$_pollingTimer == null)
                $async$self._memory_protocol$_pollingTimer = P.Timer_Timer(C.Duration_500000, $async$self.get$_pollMemory());
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_pollMemory$0, $async$completer);
    },
    _update$2: function(_, vm, isolateMemory) {
      var t1, t2, t3;
      this.processRss = J.$index$asx(vm.json, "_currentRSS");
      t1 = this.isolateHeaps;
      t1.clear$0(0);
      for (t2 = isolateMemory.get$keys(isolateMemory), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.$indexSet(0, t3.get$id(t3), isolateMemory.$index(0, t3));
      }
      this._recalculate$0();
    },
    _fetchRasterCacheInfo$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_RasterCache),
        $async$returnValue, $async$self = this, t1, response;
      var $async$_fetchRasterCacheInfo$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.serviceManager.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 : K.RasterCache_RasterCache$fromJson(t1);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_fetchRasterCacheInfo$0, $async$completer);
    },
    _fetchAdbInfo$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_AdbMemoryInfo),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$_fetchAdbInfo$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.serviceManager.get$adbMemoryInfo(), $async$_fetchAdbInfo$0);
            case 3:
              // returning from await.
              t1 = $async$result.json;
              t2 = J.getInterceptor$asx(t1);
              $async$returnValue = new M.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_fetchAdbInfo$0, $async$completer);
    },
    _isolateMemoryUsage$2: function(id, usage) {
      return this._isolateMemoryUsage$body$MemoryTracker(id, usage);
    },
    _isolateMemoryUsage$body$MemoryTracker: function(id, usage) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_MemoryUsage),
        $async$returnValue, $async$self = this;
      var $async$_isolateMemoryUsage$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_isolateMemoryUsage$2, $async$completer);
    },
    _recalculate$1: function(fromGC) {
      return this._recalculate$body$MemoryTracker(fromGC);
    },
    _recalculate$0: function() {
      return this._recalculate$1(false);
    },
    _recalculate$body$MemoryTracker: function(fromGC) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, used, capacity, $external, index, isolateId, usage, memoryTimeline, time, eventSample, t3, sample, keysToRemove, t1, isolateCount, t2, keys;
      var $async$_recalculate$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              keysToRemove = H._setArrayType([], type$.JSArray_legacy_String);
              t1 = $async$self.isolateHeaps;
              isolateCount = t1.get$length(t1);
              t2 = t1.get$keys(t1);
              keys = P.List_List$of(t2, true, H._instanceType(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 P._asyncAwait($async$self._isolateMemoryUsage$2(isolateId, usage), $async$_recalculate$1);
            case 5:
              // returning from await.
              if ($async$result == null && !C.JSArray_methods.contains$1(keysToRemove, isolateId)) {
                keysToRemove.push(isolateId);
                usage = null;
              }
              if (usage != null) {
                used += usage.heapUsage;
                capacity += usage.heapCapacity;
                $external += usage.externalUsage;
              }
            case 3:
              // for update
              ++index;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              t1.removeWhere$1(t1, new T.MemoryTracker__recalculate_closure(keysToRemove));
              memoryTimeline = $async$self.memoryController.memoryTimeline;
              time = Date.now();
              t1 = memoryTimeline.controller;
              t2 = t1.offline;
              if ((t2 ? memoryTimeline.offlineData : memoryTimeline.liveData).length !== 0)
                time = Math.max(time, H.checkNum(C.JSArray_methods.get$last(t2 ? memoryTimeline.offlineData : memoryTimeline.liveData).timestamp));
              eventSample = $async$self.processEventSample$2(memoryTimeline, time);
              t2 = eventSample != null;
              if (t2 && eventSample.allocationAccumulator != null) {
                if (eventSample.allocationAccumulator._event_sample$_start)
                  memoryTimeline.monitorContinuesState = C.ContinuesState_2;
              } else if (memoryTimeline.monitorContinuesState === C.ContinuesState_3) {
                t3 = $async$self._monitorContinues;
                if (t3 != null) {
                  t3.cancel$0(0);
                  t3 = $async$self._monitorContinues = null;
                }
                if (t3 == null)
                  $async$self._monitorContinues = P.Timer_Timer(C.Duration_300000, $async$self.get$_recalculate());
              }
              sample = E.HeapSample$(time, $async$self.processRss, capacity + $external, used, $external, fromGC, $async$self.adbMemoryInfo, eventSample, $async$self.rasterCache);
              memoryTimeline.liveData.push(sample);
              if (!t1.offline) {
                memoryTimeline._sampleAddedNotifier.set$value(0, sample);
                t1 = memoryTimeline._sampleEventNotifier;
                t1.set$value(0, t1._value + 1);
              }
              $async$self._changeController.add$1(0, null);
              if (t2) {
                t1 = eventSample.allocationAccumulator;
                t1 = t1 != null && t1._event_sample$_start;
              } else
                t1 = false;
              if (t1)
                memoryTimeline.monitorContinuesState = C.ContinuesState_3;
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_recalculate$1, $async$completer);
    },
    pullClone$2: function(memoryTimeline, time) {
      var pulledEvent = memoryTimeline.pullEventSample$0(),
        extensionEvents = memoryTimeline.get$extensionEvents();
      return new K.EventSample(time, pulledEvent.isEventGC, pulledEvent.isEventSnapshot, pulledEvent.isEventSnapshotAuto, pulledEvent.allocationAccumulator, extensionEvents);
    },
    processEventSample$2: function(memoryTimeline, time) {
      var eventTime, t1, t2, compared, eventSample, ignoreEvent, _null = null;
      if (memoryTimeline.get$peekEventTimestamp() !== -1) {
        eventTime = memoryTimeline.get$peekEventTimestamp();
        t1 = P.Duration$(0, time)._duration;
        t2 = P.Duration$(0, eventTime)._duration;
        compared = C.JSInt_methods.compareTo$1(t1, t2);
        if (compared < 0)
          if (C.JSInt_methods.compareTo$1(t1 + 500000, t2) >= 0)
            eventSample = this.pullClone$2(memoryTimeline, time);
          else {
            ignoreEvent = memoryTimeline.pullEventSample$0();
            t1 = $.$get$MemoryTimeline__milliFormat();
            B.log("Event duration is lagging ignore eventtimestamp: " + t1.format$1(P.DateTime$fromMillisecondsSinceEpoch(time, false)) + " event: " + t1.format$1(P.DateTime$fromMillisecondsSinceEpoch(eventTime, false)) + "\n" + ignoreEvent.toString$0(0), C.LogLevel_0);
            eventSample = _null;
          }
        else if (compared > 0)
          if (time - eventTime > 500)
            eventSample = C.JSInt_methods.compareTo$1(t1 - 500000, t2) >= 0 ? this.pullClone$2(memoryTimeline, time) : _null;
          else
            eventSample = this.pullClone$2(memoryTimeline, time);
        else
          eventSample = _null;
      } else if (memoryTimeline._extensionEvents.length !== 0)
        eventSample = new K.EventSample(time, false, false, false, _null, memoryTimeline.get$extensionEvents());
      else
        eventSample = _null;
      return eventSample;
    }
  };
  T.MemoryTracker__recalculate_closure.prototype = {
    call$2: function(key, value) {
      return C.JSArray_methods.contains$1(this.keysToRemove, key);
    },
    $signature: 428
  };
  T.parseJsonClassHeapStats__update.prototype = {
    call$1: function(stats) {
      var t1 = this._box_0,
        t2 = J.getInterceptor$asx(stats);
      t1.instancesDelta = t1.instancesDelta + t2.$index(stats, 6);
      t1.bytesDelta = t1.bytesDelta + t2.$index(stats, 7);
      t1.instancesCurrent = t1.instancesCurrent + J.$add$ansx(t2.$index(stats, 2), t2.$index(stats, 4));
      t1.bytesCurrent = t1.bytesCurrent + J.$add$ansx(t2.$index(stats, 3), t2.$index(stats, 5));
    },
    $signature: 429
  };
  L.MemoryScreen.prototype = {
    get$docPageId: function() {
      return "memory";
    },
    build$1: function(_, context) {
      return C.MemoryBody_null;
    }
  };
  L.MemoryBody.prototype = {
    createState$0: function() {
      return new L.MemoryBodyState(new N.LabeledGlobalKey("Chart Hover", type$.LabeledGlobalKey_legacy_State_legacy_StatefulWidget), null, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  L.MemoryBodyState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      F.screen("memory");
    },
    didChangeDependencies$0: function() {
      var t1, newController, t2, t3, t4, t5, t6, t7, _this = this, _null = null,
        _s10_ = "Event Pane",
        _s9_ = "VM Memory";
      _this.super$_MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      O.maybePushDebugModeMemoryMessage(t1, "memory");
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_MemoryController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      t1 = type$.JSArray_legacy_int;
      t2 = type$.JSArray_legacy_Trace;
      t3 = type$.nullable_void_Function;
      t4 = type$.ValueNotifier_legacy_TraceNotifier;
      t5 = type$.ValueNotifier_legacy_TapLocation;
      t6 = new T.EventChartController(newController, _s10_, H._setArrayType([null, null, null], t1), true, false, false, false, H._setArrayType([], t1), H._setArrayType([], t2), new B.ValueNotifier(new F.TraceNotifier(), P.List_List$filled(0, _null, false, t3), t4), F.AxisScale$(0, 0, 30), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t3), t5), C.Duration_0, H._setArrayType([], t1), K.Disposer$());
      t6.ChartController$6$displayTopLine$displayXAxis$displayXLabels$displayYLabels$name$sharedLabelimestamps(true, false, false, false, _s10_, _null);
      _this.eventChartController = t6;
      t6 = new O.VMChartController(_this.controller, _s9_, H._setArrayType([null, null, null], t1), false, true, true, true, H._setArrayType([], t1), H._setArrayType([], t2), new B.ValueNotifier(new F.TraceNotifier(), P.List_List$filled(0, _null, false, t3), t4), F.AxisScale$(0, 0, 30), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t3), t5), C.Duration_0, H._setArrayType([], t1), K.Disposer$());
      t6.ChartController$6$displayTopLine$displayXAxis$displayXLabels$displayYLabels$name$sharedLabelimestamps(false, true, true, true, _s9_, _null);
      _this.vmChartController = t6;
      t7 = _this.controller;
      t6 = t6.labelTimestamps;
      t1 = new G.AndroidChartController(t7, "Android", H._setArrayType([null, null, null], t1), false, true, true, true, H._setArrayType([], t1), H._setArrayType([], t2), new B.ValueNotifier(new F.TraceNotifier(), P.List_List$filled(0, _null, false, t3), t4), F.AxisScale$(0, 0, 30), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, t3), t5), C.Duration_0, H._setArrayType([], t1), K.Disposer$());
      t1.ChartController$6$displayTopLine$displayXAxis$displayXLabels$displayYLabels$name$sharedLabelimestamps(false, true, true, true, "Android", t6);
      _this.androidChartController = t1;
      _this.addAutoDisposeListener$2(_this.controller._selectedSnapshotNotifier, new L.MemoryBodyState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.controller._memorySourceNotifier, new L.MemoryBodyState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$2(_this.controller._legendVisibleNotifier, new L.MemoryBodyState_didChangeDependencies_closure1(_this));
      _this.addAutoDisposeListener$2(_this.controller._androidChartVisibleNotifier, new L.MemoryBodyState_didChangeDependencies_closure2(_this));
      _this.addAutoDisposeListener$2(_this.eventChartController.tapLocation, new L.MemoryBodyState_didChangeDependencies_closure3(_this));
      _this.addAutoDisposeListener$2(_this.vmChartController.tapLocation, new L.MemoryBodyState_didChangeDependencies_closure4(_this));
      _this.addAutoDisposeListener$2(_this.androidChartController.tapLocation, new L.MemoryBodyState_didChangeDependencies_closure5(_this));
      _this.addAutoDisposeListener$2(_this.controller._androidCollectionEnabled, new L.MemoryBodyState_didChangeDependencies_closure6(_this));
      _this.addAutoDisposeListener$2(_this.controller._advancedSettingsEnabled, new L.MemoryBodyState_didChangeDependencies_closure7(_this));
      _this.addAutoDisposeListener$2(_this.controller._refreshCharts, new L.MemoryBodyState_didChangeDependencies_closure8(_this));
      _this._updateListeningState$0();
    },
    build$1: function(_, context) {
      var t3, t4, t5, t6, t7, _this = this, _null = null,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        textTheme = K.Theme_of(context).textTheme,
        t2 = _this.controller;
      t2.memorySourcePrefix = t1.size._dx > 950 ? "Source: " : "";
      t2 = O.FocusNode$(true, _null, true, _null, false);
      t3 = _this._buildPrimaryStateControls$1(textTheme);
      t4 = type$.JSArray_legacy_Widget;
      t5 = H._setArrayType([_this._memorySourceDropdown$1(textTheme), C.SizedBox_16_null_null_null], t4);
      _this.controller.toString;
      t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
      t1 = t1 == null ? _null : t1.vm;
      if ((t1 == null ? _null : t1.operatingSystem) !== "android") {
        t1 = _this.controller;
        if (t1.offline) {
          t1 = t1.memoryTimeline;
          t1 = C.JSArray_methods.get$first(t1.controller.offline ? t1.offlineData : t1.liveData).adbMemoryInfo.realtime > 0;
        } else
          t1 = false;
      } else
        t1 = true;
      if (t1) {
        t1 = _this.controller;
        t6 = t1._androidChartVisibleNotifier._value ? C.IconData_57706_MaterialIcons_false : C.IconData_58783_MaterialIcons_true;
        type$.legacy_ValueKey_legacy_String._as(C.ValueKey_vJZ);
        t1 = _this.isAndroidCollection ? t1.get$toggleAndroidChartVisibility() : _null;
        t5.push(new U.IconLabelButton(t6, C.ValueKey_vJZ.value, 900, t1, false, C.ValueKey_vJZ));
      }
      t5.push(C.SizedBox_8_null_null_null);
      if (_this.isAdvancedSettingsEnabled)
        t1 = T.Row$(H._setArrayType([new U.IconLabelButton(C.IconData_57785_MaterialIcons_false, "GC", 1100, _this.controller._gcing ? _null : _this.get$_gc(), false, C.ValueKey_8EN), C.SizedBox_8_null_null_null], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
      else
        t1 = C.SizedBox_null_null_null_null;
      t5.push(t1);
      t5.push(new U.IconLabelButton(C.IconData_57962_MaterialIcons_false, "Export", 1100, _this.controller.offline ? _null : _this.get$_exportToFile(), false, C.ValueKey_JLN));
      t5.push(C.SizedBox_8_null_null_null);
      t1 = $.$get$legendKey();
      t6 = _this.controller.get$toggleLegendVisibility();
      t5.push(new U.IconLabelButton(_this.legendOverlayEntry == null ? C.IconData_58889_MaterialIcons_false : C.IconData_57706_MaterialIcons_false, "Legend", 1100, t6, false, t1));
      t5.push(C.SizedBox_8_null_null_null);
      t5.push(new U.SettingsOutlinedButton(_this.get$_openSettingsDialog(), "Memory Configuration", _null));
      t1 = T.Row$(H._setArrayType([t3, C.Spacer_null, T.Row$(t5, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null);
      t3 = T.SizedBox$(new T.MemoryEventsPane(_this.eventChartController, C.ValueKey_EventPane), 70, _null);
      t5 = T.SizedBox$(new O.MemoryVMChart(_this.vmChartController, C.ValueKey_VMChart), _null, _null);
      t6 = _this.controller;
      t7 = t6._androidChartVisibleNotifier._value ? T.SizedBox$(new G.MemoryAndroidChart(_this.androidChartController, C.ValueKey_AndroidChart), 150, _null) : C.SizedBox_null_null_null_null;
      return O.RawKeyboardListener$(true, T.Column$(H._setArrayType([t1, C.SizedBox_null_6_null_null, t3, t5, t7, C.SizedBox_16_null_null_null, T.Expanded$(new D.HeapTree(t6, _null), 1)], t4), C.CrossAxisAlignment_2, _this.hoverKey, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), t2, new L.MemoryBodyState_build_closure(_this));
    },
    dispose$0: function(_) {
      this.hideHover$0();
      this.super$_MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$dispose(0);
    },
    _intervalDropdown$1: function(textTheme) {
      var t1 = this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        displayOneMinute = C.JSInt_methods.toString$0(1),
        t2 = $.$get$displayDurationsStrings(),
        t3 = H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,DropdownMenuItem<String*>*>"),
        _displayTypes = P.List_List$of(new H.MappedListIterable(t2, new L.MemoryBodyState__intervalDropdown_closure(displayOneMinute, t1.size._dx > 950), t3), true, t3._eval$1("ListIterable.E"));
      return new U.RoundedDropDownButton(t2[this.controller._displayIntervalNotifier._value.index], new L.MemoryBodyState__intervalDropdown_closure0(this), true, textTheme.bodyText2, null, _displayTypes, C.ValueKey_10O, type$.RoundedDropDownButton_legacy_String);
    },
    _memorySourceDropdown$1: function(textTheme) {
      var t2, allMemorySources, _this = this,
        files = _this.controller.memoryLog.offlineFiles$0(),
        t1 = _this.controller.memorySourcePrefix;
      C.JSArray_methods.insert$2(files, 0, "Live Feed");
      t2 = H._arrayInstanceType(files)._eval$1("MappedListIterable<1,DropdownMenuItem<String*>*>");
      allMemorySources = P.List_List$of(new H.MappedListIterable(files, new L.MemoryBodyState__memorySourceDropdown_closure(_this, t1 === "Source: "), t2), true, t2._eval$1("ListIterable.E"));
      return new U.RoundedDropDownButton(_this.controller._memorySourceNotifier._value, new L.MemoryBodyState__memorySourceDropdown_closure0(_this), true, textTheme.bodyText2, null, allMemorySources, C.ValueKey_pEq, type$.RoundedDropDownButton_legacy_String);
    },
    _updateListeningState$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$_updateListeningState$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceAvailable.future, $async$_updateListeningState$0);
            case 3:
              // returning from await.
              t1 = $async$self.controller;
              t2 = t1 != null;
              if (t2 && t1._memoryTracker != null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = t2 ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return P._asyncAwait(t1.startTimeline$0(), $async$_updateListeningState$0);
            case 6:
              // returning from await.
            case 5:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_updateListeningState$0, $async$completer);
    },
    _buildPrimaryStateControls$1: function(textTheme) {
      return N.ValueListenableBuilder$(new L.MemoryBodyState__buildPrimaryStateControls_closure(this, textTheme), this.controller._paused, type$.legacy_bool);
    },
    _exportToFile$0: function() {
      var liveData, pseudoData, jsonPayload, t2, outputPath, notificationsState,
        t1 = this.controller.memoryLog;
      t1.toString;
      L.MemoryScreen_gaAction(C.ValueKey_JLN, null);
      liveData = t1.controller.memoryTimeline.liveData;
      if (liveData.length === 0) {
        liveData.push(E.HeapSample$(Date.now(), 0, 0, 0, 0, false, new M.AdbMemoryInfo(0, 0, 0, 0, 0, 0, 0, 0, 0), new K.EventSample(-1, false, false, false, new K.AllocationAccumulator(false, false, false), null), new K.RasterCache(0, 0)));
        pseudoData = true;
      } else
        pseudoData = false;
      jsonPayload = O.SamplesMemoryJson_encodeList(liveData);
      t1 = $.$get$MemoryLog__fs();
      t2 = $.$get$_memoryLogFilename();
      t1.writeStringToFile$3$isMemory(t2, jsonPayload, true);
      if (pseudoData)
        C.JSArray_methods.set$length(liveData, 0);
      outputPath = ["LocalStorage", t2];
      t1 = this._framework$_element;
      t1.toString;
      notificationsState = Y.Notifications_of(t1);
      if (notificationsState != null)
        notificationsState.push$1("Successfully exported file " + C.JSArray_methods.get$last(outputPath) + " to " + C.JSArray_methods.get$first(outputPath) + " directory");
    },
    _openSettingsDialog$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      E.showDialog(true, new L.MemoryBodyState__openSettingsDialog_closure(this), t1, type$.dynamic);
    },
    legendRow$2$entry1$entry2: function(entry1, entry2) {
      var t2, t3, rowChildren, _null = null,
        t1 = this._framework$_element;
      t1.toString;
      t2 = new L.MemoryBodyState_legendRow_legendPart(A.TextStyle$(_null, _null, K.Theme_of(t1).colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4290493371, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, 10, _null, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null));
      t3 = new L.MemoryBodyState_legendRow_legendSymbol(this);
      rowChildren = H._setArrayType([], type$.JSArray_legacy_Widget);
      C.JSArray_methods.addAll$1(rowChildren, t2.call$2(entry1.get$key(entry1), t3.call$1(entry1.get$value(entry1))));
      if (entry2 != null)
        C.JSArray_methods.addAll$1(rowChildren, t2.call$3(entry2.get$key(entry2), t3.call$1(entry2.get$value(entry2)), 20));
      return T.Expanded$(M.Container$(_null, T.Row$(rowChildren, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_10_0_0_2, _null, _null, _null), 1);
    },
    legendRow$1$entry1: function(entry1) {
      return this.legendRow$2$entry1$entry2(entry1, null);
    },
    createDashWidget$1: function(color) {
      var _null = null,
        t1 = L.DashedLine$(15, color, 2, 4, 3);
      return M.Container$(_null, T.CustomPaint$(_null, L.DashedLine$(15, color, 2, 4, 3), _null, t1, C.Size_0_0), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_0_0_20_0, _null, _null, _null);
    },
    hoverRow$9$bold$colorPatch$dashed$hasNumeric$hasUnit$image$leftPadding$name$scaleImage: function(bold, colorPatch, dashed, hasNumeric, hasUnit, image, leftPadding, $name, scaleImage) {
      var hoverTitleEntry, t2, hoverValueEntry, hoverSmallEntry, rowChildren, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      hoverTitleEntry = A.TextStyle$(_null, _null, K.Theme_of(t1).colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4290493371, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, 11.5, _null, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      t2 = _this._framework$_element;
      t2.toString;
      hoverValueEntry = A.TextStyle$(_null, _null, K.Theme_of(t2).colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4293980400, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, 11.5, _null, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      t1 = _this._framework$_element;
      t1.toString;
      hoverSmallEntry = A.TextStyle$(_null, _null, K.Theme_of(t1).colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4290493371, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, 10, _null, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      rowChildren = H._setArrayType([], type$.JSArray_legacy_Widget);
      C.JSArray_methods.addAll$1(rowChildren, new L.MemoryBodyState_hoverRow_hoverPartImageLine(_this, hasNumeric, hasUnit, scaleImage, bold, hoverTitleEntry, hoverSmallEntry, hoverValueEntry).call$5$colorPatch$dashed$image$leftEdge($name, colorPatch, dashed, image, leftPadding));
      return M.Container$(_null, T.Row$(rowChildren, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_5_0_0_2, _null, _null, _null);
    },
    hoverRow$7$colorPatch$dashed$hasNumeric$hasUnit$image$name$scaleImage: function(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: function(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: function(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);
    },
    displayExtensionEventsInHover$1: function(chartsValues) {
      var eventLength, t3, t4, displayKey, t5, t6, _this = this, _null = null,
        _s15_ = "extensionEvents",
        t1 = type$.JSArray_legacy_Widget,
        widgets = H._setArrayType([], t1),
        t2 = type$.legacy_String,
        eventsDisplayed = P.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) {
          t3 = "" + eventLength;
          t4 = eventLength === 1;
          displayKey = t3 + (t4 ? " Event" : " Events");
          eventsDisplayed.$indexSet(0, displayKey, t4 ? "assets/img/legend/event_glyph.png" : "assets/img/legend/events_glyph.png");
        }
      }
      for (t3 = eventsDisplayed.get$entries(eventsDisplayed), t3 = t3.get$iterator(t3), t4 = chartsValues._memory_charts$_extensionEvents; t3.moveNext$0();) {
        t5 = t3.get$current(t3);
        if (J.endsWith$1$s(t5.get$key(t5), " Events")) {
          if (t4.length === 0)
            C.JSArray_methods.addAll$1(t4, t2.$index(0, _s15_));
          widgets.push(M.Container$(_null, B.ListView$(H._setArrayType([_this.listItem$3$allEvents$icon$title(t4, C.IconData_57777_MaterialIcons_false, t5.get$key(t5))], t1), _null, _null, _null, _null, false, true), C.Clip_0, _null, _null, _null, _null, 120, _null, _null, _null, _null, _null, _null));
        } else {
          t6 = t5.get$key(t5);
          widgets.push(_this.hoverRow$2$image$name(t5.get$value(t5), t6));
          if (t4.length === 0)
            C.JSArray_methods.addAll$1(t4, t2.$index(0, _s15_));
          widgets.push(_this.hoverRow$3$bold$leftPadding$name(false, 0, C.JSString_methods.trim$0(_this.displayEvent$2(_null, C.JSArray_methods.get$first(t4)))));
        }
      }
      return widgets;
    },
    displayEventsInHover$1: function(chartsValues) {
      var colorScheme, eventsDisplayed, t2, t3,
        results = H._setArrayType([], type$.JSArray_legacy_Widget),
        t1 = this._framework$_element;
      t1.toString;
      colorScheme = K.Theme_of(t1).colorScheme;
      t1 = type$.legacy_String;
      eventsDisplayed = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t1 = chartsValues._memory_charts$_event;
      if (t1.containsKey$1(0, "snapshot"))
        eventsDisplayed.$indexSet(0, "Snapshot", string$.assetsem);
      else if (t1.containsKey$1(0, "autoSnapshot"))
        eventsDisplayed.$indexSet(0, "Auto Snapshot", string$.assetsea);
      else if (t1.containsKey$1(0, "monitorStart"))
        eventsDisplayed.$indexSet(0, "Monitor Start", "assets/img/legend/monitor_glyph.png");
      else if (t1.containsKey$1(0, "monitorReset"))
        eventsDisplayed.$indexSet(0, "Monitor Reset", colorScheme.brightness === C.Brightness_1 ? "assets/img/legend/reset_glyph_light.png" : "assets/img/legend/reset_glyph_dark.png");
      if (chartsValues._vm.$index(0, "gc"))
        eventsDisplayed.$indexSet(0, "GC", "assets/img/legend/gc_vm_glyph.png");
      if (t1.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 = " " + H.S(t2.get$key(t2));
        results.push(this.hoverRow$2$image$name(t2.get$value(t2), t3));
      }
      return results;
    },
    longValueToShort$1: function(longValue) {
      var firstPart, endPart, value,
        t1 = longValue.length;
      if (t1 > 34) {
        firstPart = J.substring$2$s(longValue, 0, 9);
        endPart = C.JSString_methods.substring$1(longValue, t1 - 20);
        value = firstPart + "..." + endPart;
      } else
        value = longValue;
      return value;
    },
    decodeEventValues$1: function($event) {
      var data, key, t2, values, displaySize, decodeSize, outputSizes, t3, _s4_ = "name",
        t1 = J.getInterceptor$asx($event);
      if (J.$eq$(t1.$index($event, _s4_), "Flutter.ImageSizesForFrame")) {
        data = t1.$index($event, "data");
        t1 = J.getInterceptor$x(data);
        key = J.get$first$ax(t1.get$keys(data));
        t2 = H.S(this.longValueToShort$1(key)) + "\n";
        values = t1.$index(data, key);
        t1 = J.getInterceptor$asx(values);
        displaySize = t1.$index(values, "displaySizeInBytes");
        decodeSize = t1.$index(values, "decodedSizeInBytes");
        outputSizes = H.S(displaySize) + "/" + H.S(decodeSize);
        t1 = outputSizes.length > 10 ? t2 + "Display/Decode Size=\n" + ("    " + outputSizes) : t2 + ("Display/Decode Size=" + outputSizes);
      } else if (J.$eq$(t1.$index($event, _s4_), "DevTools.Event") && t1.containsKey$1($event, "custom")) {
        data = J.$index$asx(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 + (H.S(key) + "=") + (H.S(this.longValueToShort$1(t1.$index(data, key))) + "\n");
        }
        t1 = t3;
      } else
        t1 = "Unknown Event " + H.S(t1.$index($event, _s4_)) + "\n";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    displayEvent$2: function(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(t1.$index($event, "custom"), _s4_) : t1.$index($event, _s4_);
      t1 = H.S(index == null ? $name : H.S(index) + ". " + H.S($name)) + "\n" + this.decodeEventValues$1($event);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    listItem$3$allEvents$icon$title: function(allEvents, icon, title) {
      var t2, t3, index, _i, output, t4, t5, t6, hoverTextStyle, contrastForeground, collapsedColor, _null = null,
        t1 = type$.JSArray_legacy_Widget,
        widgets = H._setArrayType([], t1);
      for (t2 = allEvents.length, t3 = type$.JSArray_legacy_Color, index = 1, _i = 0; _i < allEvents.length; allEvents.length === t2 || (0, H.throwConcurrentModificationError)(allEvents), ++_i) {
        output = this.displayEvent$2(index, allEvents[_i]);
        t4 = this._framework$_element;
        t4.toString;
        t4 = K.Theme_of(t4).colorScheme.brightness === C.Brightness_1;
        t5 = t4 ? C.Color_4278190080 : C.Color_4290493371;
        t6 = t4 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
        t6 = H._setArrayType([t6, t4 ? C.Map_HFpTk.$index(0, 200) : C.Map_HFpTk.$index(0, 800)], t3);
        widgets.push(new T.Padding(C.EdgeInsets_0_0_0_8, M.Container$(_null, T.Row$(H._setArrayType([C.SizedBox_10_null_null_null, new L.Text(output, _null, new A.TextStyle(true, t5, _null, _null, _null, _null, 10, C.FontWeight_3, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, C.TextOverflow_2, _null, _null, _null, _null)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, _null, _null, _null, new T.LinearGradient(C.Alignment_0_m1, C.Alignment_0_1, C.TileMode_1, t6, _null, _null), _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, 225), _null));
        ++index;
      }
      t1 = this._framework$_element;
      t1.toString;
      t1 = K.Theme_of(t1).colorScheme.brightness === C.Brightness_1;
      hoverTextStyle = A.TextStyle$(_null, _null, t1 ? C.Color_4278190080 : C.Color_4290493371, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, 11.5, _null, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      contrastForeground = t1 ? C.Color_4278190080 : C.Color_4293980400;
      collapsedColor = t1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
      t1 = X.ThemeData_ThemeData(_null, contrastForeground);
      return M.Material$(C.Duration_200000, true, _null, new K.Theme(t1, O.ExpansionTile$(collapsedColor, widgets, C.EdgeInsets_0_0_0_0, collapsedColor, _null, false, _null, M.Container$(_null, U.Image$(_null, allEvents.length > 1 ? C.AssetImage_46y : C.AssetImage_usD, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_5_4_0_0, _null, _null, _null), C.EdgeInsets_0_0_0_0, L.Text$(title, _null, _null, _null, _null, _null, hoverTextStyle, _null, _null, _null)), _null), C.Clip_0, C.Color_0, 0, _null, _null, _null, _null, C.MaterialType_0);
    },
    _dataToDisplay$2$firstWidget: function(dataToDisplay, firstWidget) {
      var t1, t2, t3, image, color, dashedLine,
        results = H._setArrayType([], type$.JSArray_legacy_Widget);
      if (firstWidget != null)
        results.push(firstWidget);
      for (t1 = dataToDisplay.get$entries(dataToDisplay), t1 = t1.get$iterator(t1), t2 = type$.legacy_Color; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        image = J.contains$1$asx(J.get$keys$x(t3.get$value(t3)), "image") ? H._asStringS(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, dashedLine, true, this.controller._unitDisplayed._value, image, t3, true));
      }
      return results;
    },
    _dataToDisplay$1: function(dataToDisplay) {
      return this._dataToDisplay$2$firstWidget(dataToDisplay, null);
    },
    displayAndroidDataInHover$1: function(chartsValues) {
      var t1, androidDataDisplayed, data, _null = null;
      if (!this.controller._androidChartVisibleNotifier._value)
        return H._setArrayType([], type$.JSArray_legacy_Widget);
      t1 = this.androidChartController.traces;
      androidDataDisplayed = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Map_of_legacy_String_and_legacy_Object);
      if (chartsValues.controller._androidChartVisibleNotifier._value) {
        data = chartsValues._android;
        androidDataDisplayed.$indexSet(0, "Total " + H.S(chartsValues.formatNumeric$1(data.$index(0, "total"))), O.traceRender(t1[7].characteristics.color, true, _null));
        androidDataDisplayed.$indexSet(0, "Other " + H.S(chartsValues.formatNumeric$1(data.$index(0, "other"))), O.traceRender(t1[5].characteristics.color, false, _null));
        androidDataDisplayed.$indexSet(0, "Native " + H.S(chartsValues.formatNumeric$1(data.$index(0, "nativeHeap"))), O.traceRender(t1[4].characteristics.color, false, _null));
        androidDataDisplayed.$indexSet(0, "Graphics " + H.S(chartsValues.formatNumeric$1(data.$index(0, "graphics"))), O.traceRender(t1[3].characteristics.color, false, _null));
        androidDataDisplayed.$indexSet(0, "Code " + H.S(chartsValues.formatNumeric$1(data.$index(0, "code"))), O.traceRender(t1[2].characteristics.color, false, _null));
        androidDataDisplayed.$indexSet(0, "Java " + H.S(chartsValues.formatNumeric$1(data.$index(0, "javaHeap"))), O.traceRender(t1[1].characteristics.color, false, _null));
        androidDataDisplayed.$indexSet(0, "Stack " + H.S(chartsValues.formatNumeric$1(data.$index(0, "stack"))), O.traceRender(t1[0].characteristics.color, false, _null));
      }
      t1 = C.Map_HFpTk.$index(0, 600);
      t1.toString;
      return this._dataToDisplay$2$firstWidget(androidDataDisplayed, new T.Align(C.Alignment_m1_m1, _null, _null, new T.Padding(C.EdgeInsets_20_2_20_2, T.CustomPaint$(_null, _null, _null, L.DashedLine$(180, t1, 1, 5, 5), C.Size_0_0), _null), _null));
    },
    showHover$3: function(context, chartsValues, position) {
      var t3, t4, totalTraces, t5, displayTimestamp, hoverHeading, result, _this = this, _null = null,
        _s15_ = "extensionEvents",
        t1 = {},
        focusColor = K.Theme_of(context).focusColor,
        colorScheme = K.Theme_of(context).colorScheme,
        renderBoxWidth = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, _this.hoverKey).get$renderObject()._box$_size._dx,
        t2 = position._dx,
        xPosition = t2 + 10;
      t1.xPosition = xPosition;
      if (xPosition + 225 > renderBoxWidth)
        t1.xPosition = t2 - 225 - 10;
      t1.totalHoverHeight = null;
      t2 = chartsValues._vm;
      if (_this.controller._androidChartVisibleNotifier._value) {
        t3 = t2.get$entries(t2);
        t3 = t3.get$length(t3);
        t4 = chartsValues._android;
        t4 = t4.get$entries(t4);
        totalTraces = t3 - 1 + t4.get$length(t4);
      } else {
        t3 = t2.get$entries(t2);
        totalTraces = t3.get$length(t3) - 1;
      }
      t3 = chartsValues._memory_charts$_event;
      t4 = t3.get$entries(t3);
      t4 = t4.get$length(t4);
      t5 = (t3.containsKey$1(0, _s15_) ? chartsValues.get$extensionEvents().length : 0) > 0 ? 1 : 0;
      t2 = t2.$index(0, "gc") ? 1 : 0;
      t3 = t3.containsKey$1(0, _s15_) ? chartsValues.get$extensionEvents().length : 0;
      if (t3 > 0)
        t3 = t3 === 1 ? 82 : 120;
      else
        t3 = 0;
      t1.totalHoverHeight = 42 + (t4 - t5 + t2) * 18 + 2 + totalTraces * 18 + t3;
      displayTimestamp = B.prettyTimestamp(chartsValues.timestamp);
      hoverHeading = A.TextStyle$(_null, _null, colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4290493371, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, 15, _null, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      result = context.findAncestorStateOfType$1$0(type$.OverlayState);
      t2 = _this.hoverOverlayEntry;
      result.insert$1(0, t2 == null ? _this.hoverOverlayEntry = X.OverlayEntry$(new L.MemoryBodyState_showHover_closure(t1, _this, position, colorScheme, focusColor, displayTimestamp, hoverHeading, chartsValues), false, false) : t2);
    },
    hideHover$0: function() {
      var t1, _this = this;
      if (_this.hoverOverlayEntry != null) {
        _this.eventChartController.tapLocation.set$value(0, null);
        _this.vmChartController.tapLocation.set$value(0, null);
        _this.androidChartController.tapLocation.set$value(0, null);
        t1 = _this.hoverOverlayEntry;
        if (t1 != null)
          t1.remove$0(0);
        _this.hoverOverlayEntry = null;
      }
    },
    showLegend$1: function(context) {
      var box, colorScheme, legendHeading, position, legendRows, t2, t3, result, t4, iterator, leftEntry, traces, _this = this, _null = null,
        t1 = $.$get$legendKey();
      t1.toString;
      box = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      colorScheme = K.Theme_of(context).colorScheme;
      t1 = colorScheme.brightness === C.Brightness_1;
      legendHeading = A.TextStyle$(_null, _null, t1 ? C.Color_4278190080 : C.Color_4290493371, _null, C.TextDecoration_0, _null, _null, _null, _null, _null, _null, 11.5, _null, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      position = T.MatrixUtils_transformPoint(box.getTransformTo$1(0, _null), C.Offset_0_0);
      legendRows = H._setArrayType([], type$.JSArray_legacy_Widget);
      t2 = type$.legacy_String;
      t3 = type$.legacy_Map_of_legacy_String_and_legacy_Object;
      result = P.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
      result.$indexSet(0, "Snapshot", O.traceRender(_null, false, string$.assetsem));
      result.$indexSet(0, "Auto", O.traceRender(_null, false, string$.assetsea));
      result.$indexSet(0, "Monitor", O.traceRender(_null, false, "assets/img/legend/monitor_glyph.png"));
      result.$indexSet(0, "Reset", O.traceRender(_null, false, t1 ? "assets/img/legend/reset_glyph_light.png" : "assets/img/legend/reset_glyph_dark.png"));
      result.$indexSet(0, "GC VM", O.traceRender(_null, false, "assets/img/legend/gc_vm_glyph.png"));
      result.$indexSet(0, "Manual", O.traceRender(_null, false, "assets/img/legend/gc_manual_glyph.png"));
      result.$indexSet(0, "Event", O.traceRender(_null, false, "assets/img/legend/event_glyph.png"));
      result.$indexSet(0, "Events", O.traceRender(_null, false, "assets/img/legend/events_glyph.png"));
      legendRows.push(M.Container$(_null, L.Text$("Events Legend", _null, _null, _null, _null, _null, legendHeading, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_5_0_0_4, _null, _null, _null));
      t4 = result.get$entries(result);
      iterator = t4.get$iterator(t4);
      for (; iterator.moveNext$0();) {
        leftEntry = iterator.get$current(iterator);
        legendRows.push(_this.legendRow$2$entry1$entry2(leftEntry, iterator.moveNext$0() ? iterator.get$current(iterator) : _null));
      }
      result = P.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
      traces = _this.vmChartController.traces;
      result.$indexSet(0, "RSS", O.traceRender(traces[3].characteristics.color, true, _null));
      result.$indexSet(0, "Allocated", O.traceRender(traces[2].characteristics.color, true, _null));
      result.$indexSet(0, "Dart/Flutter", O.traceRender(traces[1].characteristics.color, false, _null));
      result.$indexSet(0, "Dart/Flutter Native", O.traceRender(traces[0].characteristics.color, false, _null));
      result.$indexSet(0, "Raster Layer", O.traceRender(traces[4].characteristics.color, true, _null));
      result.$indexSet(0, "Raster Picture", O.traceRender(traces[5].characteristics.color, true, _null));
      legendRows.push(M.Container$(_null, L.Text$("Memory Legend", _null, _null, _null, _null, _null, legendHeading, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_5_0_0_4, _null, _null, _null));
      t1 = result.get$entries(result);
      iterator = t1.get$iterator(t1);
      for (; iterator.moveNext$0();)
        legendRows.push(_this.legendRow$1$entry1(iterator.get$current(iterator)));
      if (_this.controller._androidChartVisibleNotifier._value) {
        result = P.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
        traces = _this.androidChartController.traces;
        result.$indexSet(0, "Total", O.traceRender(traces[7].characteristics.color, true, _null));
        result.$indexSet(0, "Other", O.traceRender(traces[5].characteristics.color, false, _null));
        result.$indexSet(0, "Native", O.traceRender(traces[4].characteristics.color, false, _null));
        result.$indexSet(0, "Graphics", O.traceRender(traces[3].characteristics.color, false, _null));
        result.$indexSet(0, "Code", O.traceRender(traces[2].characteristics.color, false, _null));
        result.$indexSet(0, "Java", O.traceRender(traces[1].characteristics.color, false, _null));
        result.$indexSet(0, "Stack", O.traceRender(traces[0].characteristics.color, false, _null));
        legendRows.push(M.Container$(_null, L.Text$("Android Legend", _null, _null, _null, _null, _null, legendHeading, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_5_0_0_4, _null, _null, _null));
        t1 = result.get$entries(result);
        iterator = t1.get$iterator(t1);
        for (; iterator.moveNext$0();)
          legendRows.push(_this.legendRow$1$entry1(iterator.get$current(iterator)));
      }
      result = context.findAncestorStateOfType$1$0(type$.OverlayState);
      t1 = _this.legendOverlayEntry;
      result.insert$1(0, t1 == null ? _this.legendOverlayEntry = X.OverlayEntry$(new L.MemoryBodyState_showLegend_closure(_this, position, box, colorScheme, legendRows), false, false) : t1);
    },
    hideLegend$0: function() {
      var t1 = this.legendOverlayEntry;
      if (t1 != null)
        t1.remove$0(0);
      this.legendOverlayEntry = null;
    },
    _clearTimeline$0: function() {
      var t1, _this = this, _null = null;
      L.MemoryScreen_gaAction(C.ValueKey_23h, _null);
      C.JSArray_methods.set$length(_this.controller.memoryTimeline.liveData, 0);
      _this.controller.set$monitorAllocations(H._setArrayType([], type$.JSArray_legacy_ClassHeapDetailStats));
      t1 = _this.controller;
      t1.monitorTimestamp = null;
      t1.lastMonitorTimestamp.set$value(0, _null);
      _this.controller.trackAllocations.clear$0(0);
      C.JSArray_methods.set$length(_this.controller.allocationSamples, 0);
      t1 = _this.controller;
      C.JSArray_methods.set$length(t1.snapshots, 0);
      t1.snapshotByLibraryData = null;
      t1 = _this.controller;
      t1.topNode = t1.classRoot = null;
      t1._selectedSnapshotNotifier.set$value(0, _null);
      _this.controller._leafSelectedNotifier.set$value(0, _null);
      t1 = _this.eventChartController;
      if (t1 != null)
        t1.reset$0(0);
      t1 = _this.vmChartController;
      if (t1 != null)
        t1.reset$0(0);
      t1 = _this.androidChartController;
      if (t1 != null)
        t1.reset$0(0);
    },
    _gc$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, e, t1, exception, $async$exception;
      var $async$_gc$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 3;
              L.MemoryScreen_gaAction(C.ValueKey_8EN, null);
              t1 = $async$self.controller.memoryTimeline;
              t1.toString;
              t1._eventSamples.push(new K.EventSample(Date.now(), true, false, false, null, t1.get$extensionEvents()));
              $async$goto = 6;
              return P._asyncAwait($async$self.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 = H.unwrapException($async$exception);
              B.log("Unable to GC " + H.S(J.toString$0$(e)), C.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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_gc$0, $async$completer);
    }
  };
  L.MemoryBodyState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new L.MemoryBodyState_didChangeDependencies__closure4(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies__closure4.prototype = {
    call$0: function() {
      var t2,
        t1 = this.$this.controller;
      if (t1.snapshotByLibraryData == null) {
        t2 = t1.snapshots;
        t2 = C.JSArray_methods.get$isNotEmpty(t2) ? C.JSArray_methods.get$last(t2) : null;
        t1.snapshotByLibraryData = t2 == null ? null : t2.librariesToList$0();
      }
    },
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies_closure0.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, e, errorMessage, notificationsState, exception, t1, t2, $async$exception;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait($async$self.$this.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 = H.unwrapException($async$exception);
              errorMessage = H.S(e);
              t1 = $async$self.$this;
              t2 = t1.controller;
              t2._memorySourceNotifier.set$value(0, "Live Feed");
              t1 = t1._framework$_element;
              t1.toString;
              notificationsState = Y.Notifications_of(t1);
              if (notificationsState != null)
                notificationsState.push$1(errorMessage);
              else
                throw H.wrapException(T.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.controller._refreshCharts;
              t1.set$value(0, t1._value + 1);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 8
  };
  L.MemoryBodyState_didChangeDependencies_closure1.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new L.MemoryBodyState_didChangeDependencies__closure3(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies__closure3.prototype = {
    call$0: function() {
      var t2,
        t1 = this.$this;
      if (t1.controller._legendVisibleNotifier._value) {
        L.MemoryScreen_gaAction(C.ValueKey_6aG, null);
        t2 = t1._framework$_element;
        t2.toString;
        t1.showLegend$1(t2);
      } else
        t1.hideLegend$0();
    },
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies_closure2.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new L.MemoryBodyState_didChangeDependencies__closure2(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies__closure2.prototype = {
    call$0: function() {
      var t2,
        t1 = this.$this;
      if (t1.controller._androidChartVisibleNotifier._value)
        L.MemoryScreen_gaAction(C.ValueKey_vJZ, null);
      if (t1.controller._legendVisibleNotifier._value) {
        t1.hideLegend$0();
        t2 = t1._framework$_element;
        t2.toString;
        t1.showLegend$1(t2);
      }
    },
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies_closure3.prototype = {
    call$0: function() {
      var tapLocation, index, timestamp, copied, allValues, t2,
        t1 = this.$this;
      if (t1.eventChartController.tapLocation._value != null) {
        if (t1.hoverOverlayEntry != null)
          t1.hideHover$0();
        tapLocation = t1.eventChartController.tapLocation._value;
        if ((tapLocation == null ? null : tapLocation.tapDownDetails) != null) {
          index = tapLocation.index;
          timestamp = tapLocation.timestamp;
          copied = new D.TapLocation(null, timestamp, index);
          t1.vmChartController.tapLocation.set$value(0, copied);
          t1.androidChartController.tapLocation.set$value(0, copied);
          allValues = O.ChartsValues$(t1.controller, index, timestamp);
          t2 = t1._framework$_element;
          t2.toString;
          t1.showHover$3(t2, allValues, tapLocation.tapDownDetails.globalPosition);
        }
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies_closure4.prototype = {
    call$0: function() {
      var tapLocation, index, timestamp, copied, allValues, t2,
        t1 = this.$this;
      if (t1.vmChartController.tapLocation._value != null) {
        if (t1.hoverOverlayEntry != null)
          t1.hideHover$0();
        tapLocation = t1.vmChartController.tapLocation._value;
        if ((tapLocation == null ? null : tapLocation.tapDownDetails) != null) {
          index = tapLocation.index;
          timestamp = tapLocation.timestamp;
          copied = new D.TapLocation(null, timestamp, index);
          t1.eventChartController.tapLocation.set$value(0, copied);
          t1.androidChartController.tapLocation.set$value(0, copied);
          allValues = O.ChartsValues$(t1.controller, index, timestamp);
          t2 = t1._framework$_element;
          t2.toString;
          t1.showHover$3(t2, allValues, tapLocation.tapDownDetails.globalPosition);
        }
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies_closure5.prototype = {
    call$0: function() {
      var tapLocation, index, timestamp, copied, allValues, t2,
        t1 = this.$this;
      if (t1.androidChartController.tapLocation._value != null) {
        if (t1.hoverOverlayEntry != null)
          t1.hideHover$0();
        tapLocation = t1.androidChartController.tapLocation._value;
        if ((tapLocation == null ? null : tapLocation.tapDownDetails) != null) {
          index = tapLocation.index;
          timestamp = tapLocation.timestamp;
          copied = new D.TapLocation(null, timestamp, index);
          t1.eventChartController.tapLocation.set$value(0, copied);
          t1.vmChartController.tapLocation.set$value(0, copied);
          allValues = O.ChartsValues$(t1.controller, index, timestamp);
          t2 = t1._framework$_element;
          t2.toString;
          t1.showHover$3(t2, allValues, tapLocation.tapDownDetails.globalPosition);
        }
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies_closure6.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.isAndroidCollection = t1.controller._androidCollectionEnabled._value;
      t1.setState$1(new L.MemoryBodyState_didChangeDependencies__closure1(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies__closure1.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (!t1.isAndroidCollection && t1.controller._androidChartVisibleNotifier._value) {
        t1 = t1.controller._androidChartVisibleNotifier;
        t1.set$value(0, !t1._value);
      }
    },
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies_closure7.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.isAdvancedSettingsEnabled = t1.controller._advancedSettingsEnabled._value;
      t1.setState$1(new L.MemoryBodyState_didChangeDependencies__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies__closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (!t1.isAdvancedSettingsEnabled && t1.controller._advancedSettingsEnabled._value) {
        t1 = t1.controller._advancedSettingsEnabled;
        t1.set$value(0, !t1._value);
      }
    },
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies_closure8.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new L.MemoryBodyState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  L.MemoryBodyState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.eventChartController;
      if (t2 != null)
        t2.reset$0(0);
      t2 = t1.vmChartController;
      if (t2 != null)
        t2.reset$0(0);
      t2 = t1.androidChartController;
      if (t2 != null)
        t2.reset$0(0);
      t1.eventChartController.setupData$0();
      t1.eventChartController.dirty = true;
      t1.vmChartController.setupData$0();
      t1.vmChartController.dirty = true;
      t1.androidChartController.setupData$0();
      t1.androidChartController.dirty = true;
    },
    $signature: 1
  };
  L.MemoryBodyState_build_closure.prototype = {
    call$1: function($event) {
      var t1;
      $event.toString;
      t1 = $.$get$RawKeyboard_instance()._keysPressed;
      t1 = t1.get$values(t1);
      if (P.LinkedHashSet_LinkedHashSet$of(t1, H._instanceType(t1)._eval$1("Iterable.E")).contains$1(0, C.LogicalKeyboardKey_68719476763))
        this.$this.hideHover$0();
    },
    $signature: 430
  };
  L.MemoryBodyState__intervalDropdown_closure.prototype = {
    call$1: function(value) {
      var unit, _null = null;
      if (value === "Default" || value === "All")
        unit = "";
      else
        unit = "Minute" + (value === this.displayOneMinute ? "" : "s");
      return K.DropdownMenuItem$(L.Text$((this.isVerboseDropdown ? "Display" : "") + " " + H.S(value) + " " + unit, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, value, type$.legacy_String);
    },
    $signature: 342
  };
  L.MemoryBodyState__intervalDropdown_closure0.prototype = {
    call$1: function(newValue) {
      var t1 = this.$this;
      t1.setState$1(new L.MemoryBodyState__intervalDropdown__closure(t1, newValue));
    },
    $signature: 35
  };
  L.MemoryBodyState__intervalDropdown__closure.prototype = {
    call$0: function() {
      var t1, t2, t3, duration;
      L.MemoryScreen_gaAction(C.ValueKey_10O, null);
      t1 = this.$this;
      t2 = t1.controller;
      t3 = T.chartInterval(this.newValue);
      t2._displayIntervalNotifier.set$value(0, t3);
      duration = C.List_sLJ[t1.controller._displayIntervalNotifier._value.index];
      t3 = t1.eventChartController;
      if (t3 != null)
        t3.set$zoomDuration(duration);
      t2 = t1.vmChartController;
      if (t2 != null)
        t2.set$zoomDuration(duration);
      t1 = t1.androidChartController;
      if (t1 != null)
        t1.set$zoomDuration(duration);
    },
    $signature: 1
  };
  L.MemoryBodyState__memorySourceDropdown_closure.prototype = {
    call$1: function(value) {
      var _null = null,
        displayValue = !this.isVerbose && J.startsWith$1$s(value, "memory_log_") ? J.substring$1$s(value, 11) : value;
      return new L.SourceDropdownMenuItem(value, L.Text$(H.S(this.$this.controller.memorySourcePrefix) + H.S(displayValue), C.ValueKey_Sources, _null, _null, _null, _null, _null, _null, _null, _null), C.AlignmentDirectional_m1_0, _null, type$.SourceDropdownMenuItem_legacy_String);
    },
    $signature: 431
  };
  L.MemoryBodyState__memorySourceDropdown_closure0.prototype = {
    call$1: function(newValue) {
      var t1 = this.$this;
      t1.setState$1(new L.MemoryBodyState__memorySourceDropdown__closure(t1, newValue));
    },
    $signature: 35
  };
  L.MemoryBodyState__memorySourceDropdown__closure.prototype = {
    call$0: function() {
      L.MemoryScreen_gaAction(C.ValueKey_pEq, null);
      this.$this.controller._memorySourceNotifier.set$value(0, this.newValue);
    },
    $signature: 1
  };
  L.MemoryBodyState__buildPrimaryStateControls_closure.prototype = {
    call$3: function(context, paused, _) {
      var _this = this, _null = null,
        t1 = U.PauseButton$(1100, C.ValueKey_UFj, paused ? _null : _this.$this.controller.get$pauseLiveFeed()),
        t2 = U.ResumeButton$(1100, C.ValueKey_2No, paused ? _this.$this.controller.get$resumeLiveFeed() : _null),
        t3 = _this.$this;
      return T.Row$(H._setArrayType([t1, C.SizedBox_8_null_null_null, t2, C.SizedBox_16_null_null_null, U.ClearButton$(1100, C.ValueKey_23h, t3.controller._memorySourceNotifier._value === "Live Feed" ? t3.get$_clearTimeline() : _null), C.SizedBox_16_null_null_null, t3._intervalDropdown$1(_this.textTheme)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null);
    },
    $signature: 61
  };
  L.MemoryBodyState__openSettingsDialog_closure.prototype = {
    call$1: function(context) {
      return new L.MemoryConfigurationsDialog(this.$this.controller, null);
    },
    $signature: 432
  };
  L.MemoryBodyState_legendRow_legendPart.prototype = {
    call$3: function($name, widget, leftEdge) {
      var _null = null,
        t1 = type$.JSArray_legacy_Widget,
        rightSide = H._setArrayType([], t1);
      if ($name != null && true)
        C.JSArray_methods.addAll$1(rightSide, H._setArrayType([T.Expanded$(M.Container$(_null, L.Text$($name, _null, _null, _null, _null, _null, this.legendEntry, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, new V.EdgeInsets(leftEdge, 0, 0, 2), _null, _null, 55 + leftEdge), 1), C.PaddedDivider_wEo4, widget], t1));
      return rightSide;
    },
    call$2: function($name, widget) {
      return this.call$3($name, widget, 5);
    },
    $signature: 433
  };
  L.MemoryBodyState_legendRow_legendSymbol.prototype = {
    call$1: function(dataToDisplay) {
      var traceColor, _null = null,
        t1 = J.getInterceptor$x(dataToDisplay),
        image = t1.containsKey$1(dataToDisplay, "image") ? H._asStringS(t1.$index(dataToDisplay, "image")) : _null,
        color = t1.containsKey$1(dataToDisplay, "color") ? type$.legacy_Color._as(t1.$index(dataToDisplay, "color")) : _null,
        dashedLine = t1.containsKey$1(dataToDisplay, "dashed") && t1.$index(dataToDisplay, "dashed");
      if (color != null)
        traceColor = dashedLine ? this.$this.createDashWidget$1(color) : new T.Padding(C.EdgeInsets_1_0_1_0, M.Container$(_null, _null, C.Clip_0, color, _null, _null, _null, 6, _null, _null, _null, _null, _null, 20), _null);
      else
        traceColor = image == null ? C.SizedBox_null_null_null_null : U.Image$(_null, new L.AssetImage(image, _null, _null), _null);
      return traceColor;
    },
    $signature: 434
  };
  L.MemoryBodyState_hoverRow_hoverPartImageLine.prototype = {
    call$5$colorPatch$dashed$image$leftEdge: function($name, colorPatch, dashed, image, leftEdge) {
      var startOfNumber, displayName, displayValue, traceColor, _this = this, _null = null;
      if (_this.hasNumeric) {
        startOfNumber = J.lastIndexOf$1$asx($name, " ");
        if (_this.hasUnit)
          if (H.Primitives_parseInt(C.JSString_methods.substring$1($name, startOfNumber + 1), _null) == null)
            startOfNumber = C.JSString_methods.lastIndexOf$2($name, " ", startOfNumber - 1);
        displayName = C.JSString_methods.substring$2($name, 0, startOfNumber) + " ";
        displayValue = C.JSString_methods.substring$1($name, startOfNumber + 1);
      } else {
        displayName = $name;
        displayValue = " ";
      }
      if (colorPatch != null)
        traceColor = dashed ? _this.$this.createDashWidget$1(colorPatch) : new T.Padding(C.EdgeInsets_1_0_1_0, M.Container$(_null, _null, C.Clip_0, colorPatch, _null, _null, _null, 6, _null, _null, _null, _null, _null, 20), _null);
      else if (image == null)
        traceColor = C.SizedBox_null_null_null_null;
      else
        traceColor = _this.scaleImage ? U.Image$(10, new L.AssetImage(image, _null, _null), 20) : U.Image$(_null, new L.AssetImage(image, _null, _null), _null);
      return H._setArrayType([traceColor, C.PaddedDivider_wEo4, L.Text$(displayName, _null, _null, _null, _null, _null, _this.bold ? _this.hoverTitleEntry : _this.hoverSmallEntry, _null, _null, _null), L.Text$(displayValue, _null, _null, _null, _null, _null, _this.hoverValueEntry, _null, _null, _null)], type$.JSArray_legacy_Widget);
    },
    call$1: function($name) {
      return this.call$5$colorPatch$dashed$image$leftEdge($name, null, false, null, 5);
    },
    $signature: 435
  };
  L.MemoryBodyState_showHover_closure.prototype = {
    call$1: function(context) {
      var t3, t4, t5, t6, t7, t8, t9, vmDataDisplayed, t10, _this = this, _null = null,
        t1 = _this._box_0,
        t2 = t1.xPosition;
      t1 = t1.totalHoverHeight;
      t3 = _this.colorScheme.brightness === C.Brightness_1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
      t4 = F.Border_Border$all(_this.focusColor, 2);
      t5 = K.BorderRadius$circular(10);
      t6 = H._setArrayType([M.Container$(_null, L.Text$("Time " + _this.displayTimestamp, _null, _null, _null, _null, _null, _this.hoverHeading, C.TextAlign_2, _null, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_0_0_0_4, _null, _null, 225)], type$.JSArray_legacy_Widget);
      t7 = _this.$this;
      t8 = _this.chartsValues;
      C.JSArray_methods.addAll$1(t6, t7.displayEventsInHover$1(t8));
      t9 = t7.vmChartController.traces;
      vmDataDisplayed = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Map_of_legacy_String_and_legacy_Object);
      t10 = t8._vm;
      vmDataDisplayed.$indexSet(0, "RSS " + H.S(t8.formatNumeric$1(t10.$index(0, "rss"))), O.traceRender(t9[3].characteristics.color, true, _null));
      vmDataDisplayed.$indexSet(0, "Allocated " + H.S(t8.formatNumeric$1(t10.$index(0, "capacity"))), O.traceRender(t9[2].characteristics.color, true, _null));
      vmDataDisplayed.$indexSet(0, "Dart/Flutter " + H.S(t8.formatNumeric$1(t10.$index(0, "used"))), O.traceRender(t9[1].characteristics.color, false, _null));
      vmDataDisplayed.$indexSet(0, "Dart/Flutter Native " + H.S(t8.formatNumeric$1(t10.$index(0, "external"))), O.traceRender(t9[0].characteristics.color, false, _null));
      vmDataDisplayed.$indexSet(0, "Raster Layer " + H.S(t8.formatNumeric$1(t10.$index(0, "rasterPicture"))), O.traceRender(t9[4].characteristics.color, true, _null));
      vmDataDisplayed.$indexSet(0, "Raster Picture " + H.S(t8.formatNumeric$1(t10.$index(0, "rasterLayer"))), O.traceRender(t9[5].characteristics.color, true, _null));
      C.JSArray_methods.addAll$1(t6, t7._dataToDisplay$1(vmDataDisplayed));
      C.JSArray_methods.addAll$1(t6, t7.displayAndroidDataInHover$1(t8));
      C.JSArray_methods.addAll$1(t6, t7.displayExtensionEventsInHover$1(t8));
      return T.Positioned$(_null, M.Container$(_null, T.Column$(t6, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, _null, _null, new S.BoxDecoration(t3, _null, t4, t5, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, C.EdgeInsets_0_5_0_8, _null, _null, 225), t1, _null, t2, _null, _this.position._dy + 0, _null);
    },
    $signature: 143
  };
  L.MemoryBodyState_showLegend_closure.prototype = {
    call$1: function(context) {
      var t4, t5, t6, t7, _this = this, _null = null,
        t1 = _this.position,
        t2 = _this.box._box$_size,
        t3 = t2._dy;
      t2 = t2._dx;
      t4 = _this.$this.controller._androidChartVisibleNotifier._value ? 323 : 200;
      t5 = _this.colorScheme.brightness === C.Brightness_1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
      t6 = F.Border_Border$all(C.MaterialColor_Map_JNHRl_4294961979, 1);
      t7 = K.BorderRadius$circular(10);
      return T.Positioned$(_null, M.Container$(_null, T.Column$(_this.legendRows, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, _null, _null, new S.BoxDecoration(t5, _null, t6, t7, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, C.EdgeInsets_0_5_5_8, _null, _null, 200), t4, _null, t1._dx - 200 + t2 - 20, _null, t1._dy + t3 + 7, _null);
    },
    $signature: 143
  };
  L.DashedLine.prototype = {
    paint$2: function(canvas, size) {
      var space, startX, _this = this,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, _this._memory_screen$_color);
      paint.set$strokeWidth(_this._dashHeight);
      for (t1 = _this._dashWidth, space = _this._dashSpace + t1, startX = 0; _this._totalWidth >= 0;) {
        canvas.drawLine$3(0, new P.Offset(startX, 0), new P.Offset(startX + t1, 0), paint);
        startX += space;
        _this._totalWidth -= space;
      }
    },
    shouldRepaint$1: function(oldDelegate) {
      return true;
    }
  };
  L.MemoryConfigurationsDialog.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = K.Theme_of(context).textTheme,
        t2 = L.Text$("Memory Settings", _null, _null, _null, _null, _null, t1.headline6, _null, _null, _null),
        t3 = t1.subtitle1,
        t4 = type$.JSArray_legacy_Widget,
        t5 = P.List_List$of(H._setArrayType([L.Text$("Android", _null, _null, _null, _null, _null, t3, _null, _null, _null), C.PaddedDivider_wEo0], t4), true, type$.legacy_Widget),
        t6 = this.controller,
        t7 = t6._androidCollectionEnabled;
      t1 = t1.bodyText2.color;
      t5.push(T.Column$(H._setArrayType([T.Row$(H._setArrayType([new B.NotifierCheckbox(t7, _null), T.RichText$(_null, _null, C.TextOverflow_3, true, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "Collect Android Memory Statistics using ADB"), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), T.Row$(H._setArrayType([new B.NotifierCheckbox(t6._unitDisplayed, _null), T.RichText$(_null, _null, C.TextOverflow_3, true, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "Display Data In Units (B, KB, MB, and GB)"), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1));
      t5.push(C.SizedBox_null_16_null_null);
      C.JSArray_methods.addAll$1(t5, H._setArrayType([L.Text$("General", _null, _null, _null, _null, _null, t3, _null, _null, _null), C.PaddedDivider_wEo0], t4));
      t5.push(T.Column$(H._setArrayType([T.Row$(H._setArrayType([new B.NotifierCheckbox(t6._advancedSettingsEnabled, _null), T.RichText$(_null, _null, C.TextOverflow_3, true, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "Enable advanced memory settings"), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1));
      return new O.DevToolsDialog(t2, M.Container$(_null, T.Column$(t5, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, 700), false, H._setArrayType([new O.DialogCloseButton(_null)], t4), _null);
    }
  };
  L.SourceDropdownMenuItem.prototype = {};
  L._MemoryBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  L._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$_MemoryBodyState_State_AutoDisposeMixin$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  T.Reference.prototype = {
    get$isEmptyReference: function() {
      return this === $.$get$Reference_empty();
    },
    expand$0: function(_) {
      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: function() {
      var t1, t2, _this = this;
      if (_this.isObject) {
        type$.legacy_ObjectReference._as(_this);
        t1 = _this.controller;
        t2 = t1._leafAnalysisSelectedNotifier;
        if (t2._value != null)
          t2.set$value(0, null);
        t1._leafSelectedNotifier.set$value(0, _this.instance);
      } else if (_this.isAnalysis && _this instanceof T.AnalysisInstance) {
        t1 = _this.controller;
        t2 = t1._leafSelectedNotifier;
        if (t2._value != null)
          t2.set$value(0, null);
        t1._leafAnalysisSelectedNotifier.set$value(0, _this);
      }
      _this.super$TreeNode$leaf();
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  T.AnalysesReference.prototype = {};
  T.AnalysisSnapshotReference.prototype = {};
  T.AnalysisReference.prototype = {};
  T.AnalysisInstance.prototype = {};
  T.AnalysisField.prototype = {
    get$isEmptyReference: function() {
      return this === $.$get$AnalysisField_empty();
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  T.SnapshotReference.prototype = {};
  T.LibraryReference.prototype = {};
  T.LibraryReference_closure.prototype = {
    call$1: function(reference) {
      var t2, t3, t4, t5, classRef,
        t1 = reference.children;
      if (t1.length !== 0 && C.JSArray_methods.get$first(t1).get$isEmptyReference()) {
        C.JSArray_methods.set$length(t1, 0);
        type$.legacy_LibraryReference._as(reference);
        for (t2 = reference.actualClasses, t2 = t2.get$iterator(t2), t3 = this.controller, t4 = type$.legacy_Reference; t2.moveNext$0();) {
          t5 = t2.get$current(t2);
          classRef = T.ClassReference$(t3, t5);
          t1.push(classRef);
          classRef.parent = reference;
          classRef.index = t1.length - 1;
          C.JSArray_methods.forEach$1(P.List_List$filled(t5.getInstances$1(t3.heapGraph).length, $.$get$Reference_empty(), false, t4), classRef.get$addChild());
        }
      }
    },
    $signature: 5
  };
  T.ExternalReferences.prototype = {};
  T.ExternalReference.prototype = {};
  T.ExternalReference_closure.prototype = {
    call$1: function(reference) {
      var t1 = reference.children;
      if (t1.length !== 0 && C.JSArray_methods.get$first(t1).get$isEmptyReference()) {
        C.JSArray_methods.set$length(t1, 0);
        type$.legacy_ExternalReference._as(reference);
        reference.addChild$1(T.ObjectReference$(this.controller, 0, reference.liveExternal.live));
      }
    },
    $signature: 5
  };
  T.FilteredReference.prototype = {};
  T.ClassReference.prototype = {};
  T.ClassReference_closure.prototype = {
    call$1: function(reference) {
      T.computeInstanceForClassReference(this.controller, reference);
    },
    $signature: 5
  };
  T.ObjectReference.prototype = {};
  T.ExternalObjectReference.prototype = {};
  T.Snapshot0.prototype = {
    librariesToList$0: function() {
      var t1 = this.libraries;
      return t1.get$entries(t1).map$1$1(0, new T.Snapshot_librariesToList_closure(), type$.legacy_LibraryReference).toList$0(0);
    }
  };
  T.Snapshot_librariesToList_closure.prototype = {
    call$1: function(entry) {
      return entry.get$value(entry);
    },
    $signature: 436
  };
  T.FieldReference.prototype = {
    get$isEmptyReference: function() {
      return this === $.$get$FieldReference_empty();
    },
    expand$0: function(_) {
      var t1 = this.onExpand;
      if (t1 != null)
        t1.call$1(this);
      this.super$TreeNode$expand(0);
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  T.ObjectFieldReference.prototype = {
    _expandObjectFieldRef$1: function(reference) {
      var t2, objFields, computedFields, t3, _i, ref, live, theClass, t4, t5, t6, predefined,
        t1 = reference.children;
      if (t1.length !== 0 && C.JSArray_methods.get$first(t1).get$isEmptyReference()) {
        C.JSArray_methods.set$length(t1, 0);
        if (reference.isScaler)
          return;
      }
      t2 = this.controller;
      objFields = T.instanceToFieldNodes(t2, reference.instance);
      if (objFields.length !== 0) {
        computedFields = H._setArrayType([], type$.JSArray_legacy_FieldReference);
        for (t3 = objFields.length, _i = 0; _i < objFields.length; objFields.length === t3 || (0, H.throwConcurrentModificationError)(objFields), ++_i) {
          ref = objFields[_i];
          if (C.JSArray_methods.singleWhere$2$orElse(t1, new T.ObjectFieldReference__expandObjectFieldRef_closure(ref), new T.ObjectFieldReference__expandObjectFieldRef_closure0()) == null)
            if (ref instanceof T.ObjectFieldReference && !ref.isNull)
              computedFields.push(ref);
            else if (ref instanceof T.FieldReference) {
              live = ref.instance;
              theClass = live.theClass;
              t4 = $.$get$predefinedClasses();
              t5 = theClass.origin;
              t6 = t5.__HeapSnapshotClass__libraryUri;
              predefined = t4.$index(0, new X.LibraryClass(J.toString$0$(t6 === $ ? H.throwExpression(H.LateError$fieldNI("_libraryUri")) : t6), t5._snapshot_graph$_name));
              if (predefined != null && predefined.isScalar)
                computedFields.push(T.createScalar(t2, ref.name, live));
            }
        }
        objFields = computedFields;
      }
      C.JSArray_methods.forEach$1(objFields, reference.get$addChild());
    }
  };
  T.ObjectFieldReference__expandObjectFieldRef_closure.prototype = {
    call$1: function(element) {
      return element.name == this.ref.name;
    },
    $signature: 337
  };
  T.ObjectFieldReference__expandObjectFieldRef_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  T.instanceToFieldNodes_closure.prototype = {
    call$1: function(e) {
      e.toString;
      return e === $.$get$FieldReference_sentinel();
    },
    $signature: 337
  };
  N.ContinuesState.prototype = {
    toString$0: function(_) {
      return this._memory_timeline$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.MemoryTimeline.prototype = {
    get$peekEventTimestamp: function() {
      var t1 = this._eventSamples,
        $event = C.JSArray_methods.get$isNotEmpty(t1) ? C.JSArray_methods.get$first(t1) : null;
      return $event != null ? $event.timestamp : -1;
    },
    pullEventSample$0: function() {
      var t1 = this._eventSamples,
        result = C.JSArray_methods.get$first(t1);
      C.JSArray_methods.removeAt$1(t1, 0);
      return result;
    },
    get$extensionEvents: function() {
      var t2, t3,
        t1 = this._extensionEvents;
      if (t1.length !== 0) {
        t2 = H._setArrayType(t1.slice(0), H._arrayInstanceType(t1));
        t3 = H._setArrayType([], type$.JSArray_ExtensionEvent);
        C.JSArray_methods.addAll$1(t3, t2);
        C.JSArray_methods.set$length(t1, 0);
        return new K.ExtensionEvents(t3);
      }
      return null;
    },
    addExtensionEvent$4$customEventName: function(timestamp, eventKind, json, customEventName) {
      var extensionEvent = customEventName == null ? new K.ExtensionEvent(timestamp, eventKind, json, null) : new K.ExtensionEvent(timestamp, eventKind, json, customEventName);
      this._extensionEvents.push(extensionEvent);
    },
    addExtensionEvent$3: function(timestamp, eventKind, json) {
      return this.addExtensionEvent$4$customEventName(timestamp, eventKind, json, null);
    }
  };
  R.Tracker.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  R.TrackerClass.prototype = {
    toString$0: function(_) {
      return this.name;
    }
  };
  R.TrackerAllocation.prototype = {
    toString$0: function(_) {
      return H.S(this.timestamp);
    }
  };
  R._TrackerClassColumn.prototype = {
    getValue$1: function(dataObject) {
      if (dataObject instanceof R.TrackerClass)
        return dataObject.name;
      else if (dataObject instanceof R.TrackerAllocation)
        return "Instance " + H.S(dataObject.index) + " @ " + B.prettyTimestamp(dataObject.timestamp);
    },
    compare$2: function(a, b) {
      var valueA = this.getValue$1(a),
        valueB = this.getValue$1(b);
      return J.compareTo$1$ns(valueA, valueB);
    },
    get$fixedWidthPx: function() {
      return 300;
    }
  };
  R._TrackerCountColumn.prototype = {
    getValue$1: function(dataObject) {
      if (dataObject instanceof R.TrackerClass)
        return "" + dataObject.children.length;
      return "";
    },
    get$fixedWidthPx: function() {
      return 100;
    }
  };
  R.TreeTracker.prototype = {
    createTrackerTree$2: function(classesTracked, allocationSamples) {
      var classesName, t3, t4, classEntry, t5, t6, allocationSample, _i, stacktrace, allocation,
        t1 = type$.JSArray_legacy_Tracker,
        t2 = H._setArrayType([], t1);
      this.tree1 = new R.TrackerClass("_ROOT_tracking", t2);
      C.JSArray_methods.set$length(t2, 0);
      classesName = classesTracked.get$keys(classesTracked);
      for (t2 = classesName.get$iterator(classesName); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t4 = H._setArrayType([], t1);
        classEntry = new R.TrackerClass(t3, t4);
        t5 = this.tree1;
        t6 = t5.children;
        t6.push(classEntry);
        classEntry.parent = t5;
        classEntry.index = t6.length - 1;
        allocationSample = C.JSArray_methods.singleWhere$2$orElse(allocationSamples, new R.TreeTracker_createTrackerTree_closure(J.get$id$x(classesTracked.$index(0, t3))), new R.TreeTracker_createTrackerTree_closure0());
        if (allocationSample != null)
          for (t3 = allocationSample.stacktraces, t5 = t3.length, _i = 0; _i < t3.length; t3.length === t5 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
            stacktrace = t3[_i];
            allocation = new R.TrackerAllocation(stacktrace.timestamp, stacktrace, null, H._setArrayType([], t1));
            t4.push(allocation);
            allocation.parent = classEntry;
            allocation.index = t4.length - 1;
          }
      }
    },
    displaySelectedStackTrace$4: function(context, controller, scroller, tracker) {
      var _null = null,
        colorScheme = K.Theme_of(context).colorScheme,
        allocationStacktrace = tracker.stacktrace,
        stackTrace = allocationStacktrace.stacktrace,
        callstackLength = stackTrace.length,
        titleBackground = K.ThemeDataExtension_get_titleSolidBackgroundColor(K.Theme_of(context));
      return T.Column$(H._setArrayType([T.SizedBox$(M.Container$(_null, new T.Align(C.Alignment_0_0, _null, _null, L.Text$(H.S(tracker.parent.name) + " Call Stack for Instance " + H.S(tracker.index) + " @ " + B.prettyTimestamp(tracker.timestamp), _null, _null, _null, _null, _null, A.TextStyle$(_null, titleBackground, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), C.TextAlign_2, _null, _null), _null), C.Clip_0, titleBackground, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), 36, 1 / 0), T.Expanded$(E.Scrollbar$(B.ListView$separated(scroller, new R.TreeTracker_displaySelectedStackTrace_closure(stackTrace, colorScheme, allocationStacktrace.sources), callstackLength, C.EdgeInsets_0_0_0_0, new R.TreeTracker_displaySelectedStackTrace_closure0(), true), scroller, true), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    createTrackingTable$3: function(context, controller, scroller) {
      var t2, widget, _this = this, _null = null,
        t1 = _this.selectionNotifier,
        trackerAllocation = t1._value.node;
      trackerAllocation = trackerAllocation instanceof R.TrackerAllocation ? trackerAllocation : _null;
      t2 = controller.trackAllocations;
      if (t2.get$isEmpty(t2)) {
        t1 = type$.JSArray_legacy_Widget;
        widget = T.Column$(H._setArrayType([C.Text_bUv, T.Row$(H._setArrayType([C.Text_Gxg, U.Image$(16, new L.AssetImage(K.Theme_of(context).colorScheme.brightness === C.Brightness_0 ? "icons/memory/communities_white.png" : "icons/memory/communities_black.png", _null, _null), 16)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null), C.Text_ECG], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1);
      } else {
        t2 = _this.treeColumn;
        t2 = S.TreeTable$(false, H._setArrayType([t2, new R._TrackerCountColumn("Count", _null, 100, _null, C.ColumnAlignment_1)], type$.JSArray_legacy_ColumnData_legacy_Tracker), _this.tree1.children, _null, new R.TreeTracker_createTrackingTable_closure(), t1, t2, C.SortDirection_0, t2, type$.legacy_Tracker);
        widget = L.Split$(C.Axis_0, H._setArrayType([t2, trackerAllocation == null ? T.Column$(C.List_5uR, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1) : _this.displaySelectedStackTrace$4(context, controller, scroller, trackerAllocation)], type$.JSArray_legacy_Widget), C.List_O9m1, C.List_200_280, _null);
      }
      return widget;
    }
  };
  R.TreeTracker_createTrackerTree_closure.prototype = {
    call$1: function(sample) {
      var allocationClassRef,
        t1 = sample.stacktraces.length;
      if (t1 === 0)
        return false;
      allocationClassRef = sample.classRef;
      return allocationClassRef.get$id(allocationClassRef) == this.trackedClassId;
    },
    $signature: 438
  };
  R.TreeTracker_createTrackerTree_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  R.TreeTracker_displaySelectedStackTrace_closure.prototype = {
    call$2: function(context, index) {
      var t3, _null = null,
        t1 = "#" + index + " " + H.S(this.stackTrace[index]),
        t2 = this.colorScheme.brightness === C.Brightness_1;
      t1 = L.Text$(t1, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t2 ? C.Color_4278190080 : C.Color_4290493371, _null, _null, _null, _null, _null, _null, _null, _null, 12, _null, C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null);
      t3 = this.sources[index];
      return T.Column$(H._setArrayType([t1, L.Text$(t3, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t2 ? C.Color_4278190080 : C.Color_4290493371, _null, _null, _null, _null, _null, _null, _null, _null, 12, _null, C.FontWeight_0, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    $signature: 439
  };
  R.TreeTracker_displaySelectedStackTrace_closure0.prototype = {
    call$2: function(context, index) {
      return Z.Divider$(C.Map_iTJgp.$index(0, 400), 12);
    },
    $signature: 440
  };
  R.TreeTracker_createTrackingTable_closure.prototype = {
    call$1: function(d) {
      return new D.ValueKey(d.name, type$.ValueKey_String);
    },
    $signature: 441
  };
  O.VMChartController.prototype = {
    setupData$0: function() {
      var chartDataLength = this._chart_controller$_timestamps.length,
        t1 = this._memory_vm_chart$_memoryController.memoryTimeline,
        t2 = t1.controller.offline,
        dataLength = (t2 ? t1.offlineData : t1.liveData).length;
      t1 = t2 ? t1.offlineData : t1.liveData;
      P.RangeError_checkValidRange(chartDataLength, dataLength, t1.length);
      H.SubListIterable$(t1, chartDataLength, dataLength, H._arrayInstanceType(t1)._precomputed1).forEach$1(0, this.get$addSample());
    },
    addSample$1: function(sample) {
      var t1, t2, t3, rssValue, t4, _this = this;
      if (_this._memory_vm_chart$_memoryController._paused._value)
        return;
      t1 = sample.timestamp;
      _this._chart_controller$_timestamps.push(t1);
      _this.dirty = true;
      t2 = sample.external;
      t2.toString;
      t3 = _this.traces;
      t3[0].addDatum$1(new F.Data(t1, t2));
      t2 = sample.used;
      t2.toString;
      t3[1].addDatum$1(new F.Data(t1, t2));
      t2 = sample.capacity;
      t2.toString;
      t3[2].addDatum$1(new F.Data(t1, t2));
      rssValue = sample.rss;
      if (rssValue == null)
        rssValue = null;
      t3[3].addDatum$1(new F.Data(t1, rssValue));
      t2 = sample.rasterCache;
      t4 = t2.layerBytes;
      t4.toString;
      t3[4].addDatum$1(new F.Data(t1, t4));
      t2 = t2.pictureBytes;
      t2.toString;
      t3[5].addDatum$1(new F.Data(t1, t2));
    }
  };
  O.MemoryVMChart.prototype = {
    createState$0: function() {
      var t2,
        t1 = C.Map_iTc0J.$index(0, 400);
      t1.toString;
      t2 = C.Map_JNZaB.$index(0, 700);
      t2.toString;
      return new O.MemoryVMChartState(t1, t2, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  O.MemoryVMChartState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.setupTraces$0();
    },
    didChangeDependencies$0: function() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      _this._memory_vm_chart$_memoryController = Y.Provider_of(t1, true, type$.legacy_MemoryController);
      t1 = _this._framework$_element;
      t1.toString;
      _this.colorScheme = K.Theme_of(t1).colorScheme;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.setupTraces$0();
      _this._widget.chartController.setupData$0();
      _this.addAutoDisposeListener$2(_this._memory_vm_chart$_memoryController.memoryTimeline._sampleAddedNotifier, new O.MemoryVMChartState_didChangeDependencies_closure(_this));
    },
    build$1: function(_, context) {
      var _null = null,
        t1 = this._widget.chartController;
      if (t1 != null)
        if (t1._chart_controller$_timestamps.length !== 0)
          return M.Container$(_null, U.Chart$(t1), C.Clip_0, _null, _null, _null, _null, 150, _null, _null, _null, _null, _null, _null);
      return C.SizedBox_8_null_null_null;
    },
    setupTraces$0: function() {
      var _this = this, _null = null,
        t1 = _this._widget.chartController;
      if (t1.traces.length !== 0)
        return;
      t1.createTrace$4$name$stacked(C.ChartType_1, F.PaintCharacteristics$(C.Color_4283293439, _null, 1.5, _null, _null, 1, 1, C.ChartSymbol_1, 1), "TraceName.external", true);
      _this._widget.chartController.createTrace$4$name$stacked(C.ChartType_1, F.PaintCharacteristics$(C.Color_4281578981, _null, 1.5, _null, _null, 1, 1, C.ChartSymbol_1, 1), "TraceName.used", true);
      _this._widget.chartController.createTrace$3$name(C.ChartType_1, F.PaintCharacteristics$($.$get$MemoryVMChartState_capacityColor(), _null, 0, _null, _null, 1, 1, C.ChartSymbol_9, 1), "TraceName.capacity");
      _this._widget.chartController.createTrace$3$name(C.ChartType_1, F.PaintCharacteristics$(_this.rssColor, _null, 1, _null, _null, 1, 2, C.ChartSymbol_9, 1), "TraceName.rSS");
      _this._widget.chartController.createTrace$3$name(C.ChartType_1, F.PaintCharacteristics$(_this.rasterLayerColor, _null, 1, _null, _null, 1, 2, C.ChartSymbol_9, 1), "TraceName.rasterLayer");
      _this._widget.chartController.createTrace$3$name(C.ChartType_1, F.PaintCharacteristics$(C.Color_4294919236, _null, 1, _null, _null, 1, 2, C.ChartSymbol_9, 1), "TraceName.rasterPicture");
    },
    _memory_vm_chart$_processHeapSample$1: function(sample) {
      if (this._memory_vm_chart$_memoryController._paused._value)
        return;
      this._widget.chartController.addSample$1(sample);
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  O.MemoryVMChartState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new O.MemoryVMChartState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  O.MemoryVMChartState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._memory_vm_chart$_processHeapSample$1(t1._memory_vm_chart$_memoryController.memoryTimeline._sampleAddedNotifier._value);
    },
    $signature: 1
  };
  O._MemoryVMChartState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  Q.NetworkController.prototype = {
    _processTimeline$5$currentValues$invalidRequests$outstandingRequestsMap$timeline$timelineMicrosOffset: function(currentValues, invalidRequests, outstandingRequestsMap, timeline, timelineMicrosOffset) {
      var _i, json, id, parentId, t2, t3, requestId, responseId, responseEvents, t4, requestData, outstandingRequest, _s4_ = "args",
        _s9_ = "filterKey",
        events = timeline.traceEvents,
        t1 = type$.legacy_String,
        httpEvents = P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_List_legacy_Map_of_legacy_String_and_legacy_Object),
        httpRequestIdToResponseId = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t1 = events.length, _i = 0; _i < events.length; events.length === t1 || (0, H.throwConcurrentModificationError)(events), ++_i) {
        json = events[_i].toJson$0();
        id = json.$index(0, "id");
        if (id == null)
          continue;
        if ((!J.containsKey$1$x(json.$index(0, _s4_), _s9_) || !J.$eq$(J.$index$asx(json.$index(0, _s4_), _s9_), "HTTP/client")) && !outstandingRequestsMap.containsKey$1(0, id))
          continue;
        parentId = J.$index$asx(json.$index(0, _s4_), "parentId");
        if (parentId != null)
          httpRequestIdToResponseId.$indexSet(0, parentId, id);
        J.add$1$ax(httpEvents.putIfAbsent$2(0, id, new Q.NetworkController__processTimeline_closure()), json);
      }
      for (t1 = httpEvents.get$entries(httpEvents), t1 = t1.get$iterator(t1), t2 = type$.JSArray_legacy_Map_of_legacy_String_and_legacy_Object; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        requestId = t3.get$key(t3);
        if (httpRequestIdToResponseId.get$values(httpRequestIdToResponseId).contains$1(0, requestId))
          continue;
        responseId = httpRequestIdToResponseId.$index(0, requestId);
        responseEvents = H._setArrayType([], t2);
        if (responseId != null) {
          t4 = httpEvents.$index(0, responseId);
          C.JSArray_methods.addAll$1(responseEvents, t4 == null ? H._setArrayType([], t2) : t4);
        }
        requestData = E.TimelineHttpRequestData_TimelineHttpRequestData$fromTimeline(t3.get$value(t3), responseEvents, timelineMicrosOffset);
        if (outstandingRequestsMap.containsKey$1(0, requestId)) {
          outstandingRequest = outstandingRequestsMap.$index(0, requestId);
          outstandingRequest.merge$1(requestData);
          if (!outstandingRequest.get$inProgress())
            outstandingRequestsMap.remove$1(0, requestId);
          continue;
        } else if (requestData._endEvent == null)
          outstandingRequestsMap.putIfAbsent$2(0, requestId, new Q.NetworkController__processTimeline_closure0(requestData));
        t3 = requestData._startEvent;
        if (t3 != null) {
          t3 = t3.name;
          t3.toString;
          t3 = !H.stringContainsUnchecked(t3, "HTTP CLIENT response", 0);
        } else
          t3 = false;
        if (t3)
          currentValues.push(requestData);
        else
          invalidRequests.push(requestData);
      }
    },
    _processHttpProfileRequests$3$currentValues$httpRequests$outstandingRequestsMap: function(currentValues, httpRequests, outstandingRequestsMap) {
      var t1, t2, t3, t4, wrapped, t5, id;
      for (t1 = J.get$iterator$ax(httpRequests), t2 = type$.void, t3 = type$.legacy_DartIOHttpRequestData; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        wrapped = new E.DartIOHttpRequestData(t4, this._timelineMicrosOffset, false, false);
        t5 = t4.response;
        t5 = t5 == null ? null : t5.endTime != null;
        if (t5 === true)
          wrapped.getFullRequestData$0();
        id = J.toString$0$(t4.id);
        if (outstandingRequestsMap.containsKey$1(0, id)) {
          outstandingRequestsMap.$index(0, id).merge$1(wrapped);
          if (!outstandingRequestsMap.$index(0, id).get$inProgress())
            t3._as(outstandingRequestsMap.remove$1(0, id)).getFullRequestData$0().then$1$1(0, new Q.NetworkController__processHttpProfileRequests_closure(this), t2);
          continue;
        } else {
          t4 = wrapped._request.response;
          t4 = t4 == null ? null : t4.endTime != null;
          if (t4 !== true)
            outstandingRequestsMap.putIfAbsent$2(0, id, new Q.NetworkController__processHttpProfileRequests_closure0(wrapped));
          else
            wrapped.getFullRequestData$0().then$1$1(0, new Q.NetworkController__processHttpProfileRequests_closure1(this), t2);
        }
        currentValues.push(wrapped);
      }
    },
    processNetworkTrafficHelper$7$currentValues$invalidRequests$outstandingRequestsMap: function(timeline, sockets, httpRequests, timelineMicrosOffset, currentValues, invalidRequests, outstandingRequestsMap) {
      var t1, t2, t3, webSocket, t4;
      if (!!currentValues.fixed$length)
        H.throwExpression(P.UnsupportedError$("removeWhere"));
      C.JSArray_methods._removeWhere$2(currentValues, new Q.NetworkController_processNetworkTrafficHelper_closure(), true);
      for (t1 = J.get$iterator$ax(sockets), t2 = this._selectedRequest; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        webSocket = new S.WebSocket(t3, timelineMicrosOffset, false, false);
        t4 = t2._value;
        if (t4 instanceof S.WebSocket && t4._socket.id == t3.id)
          t2.set$value(0, webSocket);
        currentValues.push(webSocket);
      }
      if (timeline != null)
        this._processTimeline$5$currentValues$invalidRequests$outstandingRequestsMap$timeline$timelineMicrosOffset(currentValues, invalidRequests, outstandingRequestsMap, timeline, timelineMicrosOffset);
      else
        this._processHttpProfileRequests$3$currentValues$httpRequests$outstandingRequestsMap(currentValues, httpRequests, outstandingRequestsMap);
      return new S.NetworkRequests(currentValues, outstandingRequestsMap);
    },
    _updatePollingState$1: function(recording) {
      var t1, _this = this;
      if (recording) {
        if (_this._pollingTimer == null)
          _this._pollingTimer = P.Timer_Timer$periodic(C.Duration_2000000, new Q.NetworkController__updatePollingState_closure(_this));
      } else {
        t1 = _this._pollingTimer;
        if (t1 != null)
          t1.cancel$0(0);
        _this._pollingTimer = null;
      }
    },
    startRecording$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$startRecording$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.recordingHttpTraffic$0(), $async$startRecording$0);
            case 3:
              // returning from await.
              $async$goto = 2;
              return P._asyncAwait($async$self._startRecording$1$alreadyRecordingHttp($async$result), $async$startRecording$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$startRecording$0, $async$completer);
    },
    _startRecording$1$alreadyRecordingHttp: function(alreadyRecordingHttp) {
      return this._startRecording$body$NetworkController(alreadyRecordingHttp);
    },
    _startRecording$body$NetworkController: function(alreadyRecordingHttp) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, timestamp;
      var $async$_startRecording$1$alreadyRecordingHttp = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._updatePollingState$1(false);
              $async$goto = 2;
              return P._asyncAwait($async$self._networkService.updateLastRefreshTime$1$alreadyRecordingHttp(alreadyRecordingHttp), $async$_startRecording$1$alreadyRecordingHttp);
            case 2:
              // returning from await.
              timestamp = $async$result;
              $async$self._timelineMicrosOffset = 1000 * Date.now() - timestamp;
              $async$goto = 3;
              return P._asyncAwait(T.allowedError($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.setVMTimelineFlags$1(H._setArrayType(["GC", "Dart", "Embedder"], type$.JSArray_legacy_String)), true), $async$_startRecording$1$alreadyRecordingHttp);
            case 3:
              // returning from await.
              $async$goto = 4;
              return P._asyncAwait(P.Future_wait(H._setArrayType([E.HttpService_toggleHttpRequestLogging(true), $async$self._networkService.toggleSocketProfiling$1(true)], type$.JSArray_legacy_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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_startRecording$1$alreadyRecordingHttp, $async$completer);
    },
    recordingHttpTraffic$0: function() {
      return this.recordingHttpTraffic$body$NetworkController();
    },
    recordingHttpTraffic$body$NetworkController: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, t1;
      var $async$recordingHttpTraffic$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              t1.enabled = true;
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.forEachIsolate$1(new Q.NetworkController_recordingHttpTraffic_closure(t1)), $async$recordingHttpTraffic$0);
            case 3:
              // returning from await.
              $async$returnValue = t1.enabled;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$recordingHttpTraffic$0, $async$completer);
    },
    clear$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$clear$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self._networkService.clearData$0(0), $async$clear$0);
            case 2:
              // returning from await.
              $async$self._requests.set$value(0, new S.NetworkRequests(C.List_empty17, C.Map_empty10));
              $async$self.FilterControllerMixin_activeFilter.set$value(0, null);
              $async$self._updateData$0();
              $async$self._updateSelection$0();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$clear$0, $async$completer);
    },
    _updateData$0: function() {
      var _this = this;
      _this.filterData$1(_this.FilterControllerMixin_activeFilter._value);
      _this.updateMatches$1(_this.matchesForSearch$1(_this.SearchControllerMixin__searchNotifier._value));
    },
    _updateSelection$0: function() {
      var requests,
        t1 = this._selectedRequest,
        selected = t1._value;
      if (selected != null) {
        requests = this.FilterControllerMixin_filteredData._currentList;
        if (!requests.contains$1(requests, selected))
          t1.set$value(0, null);
      }
    },
    matchesForSearch$1: function(search) {
      var matches, caseInsensitiveSearch, currentRequests, t1, t2, t3;
      if (search == null || search.length === 0)
        return H._setArrayType([], type$.JSArray_legacy_NetworkRequest);
      matches = H._setArrayType([], type$.JSArray_legacy_NetworkRequest);
      caseInsensitiveSearch = search.toLowerCase();
      currentRequests = this.FilterControllerMixin_filteredData._currentList;
      for (t1 = new H.ListIterator(currentRequests, currentRequests.length, currentRequests.$ti._eval$1("ListIterator<ListMixin.E>")); t1.moveNext$0();) {
        t2 = t1.__internal$_current;
        t3 = t2.get$uri().toLowerCase();
        if (H.stringContainsUnchecked(t3, caseInsensitiveSearch, 0)) {
          matches.push(t2);
          t2.DataSearchStateMixin_isSearchMatch = true;
        } else
          t2.DataSearchStateMixin_isSearchMatch = false;
      }
      return matches;
    },
    filterData$1: function(filter) {
      var t1, t2, t3, _this = this;
      $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1("network");
      t1 = _this.FilterControllerMixin_filteredData;
      t2 = _this._requests;
      if (filter == null) {
        C.JSArray_methods.forEach$1(t2._value.requests, _this.get$_checkForError());
        t1.clear$0(0);
        t1.addAll$1(0, t2._value.requests);
      } else {
        t1.clear$0(0);
        t2 = t2._value.requests;
        t3 = H._arrayInstanceType(t2)._eval$1("WhereIterable<1>");
        t1.addAll$1(0, P.List_List$of(new H.WhereIterable(t2, new Q.NetworkController_filterData_closure(_this, filter), t3), true, t3._eval$1("Iterable.E")));
      }
      _this.FilterControllerMixin_activeFilter.set$value(0, filter);
    },
    _checkForError$1: function(r) {
      if (r.get$didFail())
        $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.incrementBadgeCount$1("network");
    }
  };
  Q.NetworkController__processTimeline_closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_legacy_Map_of_legacy_String_and_legacy_Object);
    },
    $signature: 443
  };
  Q.NetworkController__processTimeline_closure0.prototype = {
    call$0: function() {
      return this.requestData;
    },
    $signature: 444
  };
  Q.NetworkController__processHttpProfileRequests_closure.prototype = {
    call$1: function(value) {
      return this.$this._updateData$0();
    },
    $signature: 164
  };
  Q.NetworkController__processHttpProfileRequests_closure0.prototype = {
    call$0: function() {
      return this.wrapped;
    },
    $signature: 446
  };
  Q.NetworkController__processHttpProfileRequests_closure1.prototype = {
    call$1: function(value) {
      return this.$this._updateData$0();
    },
    $signature: 164
  };
  Q.NetworkController_processNetworkTrafficHelper_closure.prototype = {
    call$1: function(value) {
      return value instanceof S.WebSocket;
    },
    $signature: 336
  };
  Q.NetworkController__updatePollingState_closure.prototype = {
    call$1: function(_) {
      return this.$this._networkService.refreshNetworkData$0();
    },
    $signature: 448
  };
  Q.NetworkController_recordingHttpTraffic_closure.prototype = {
    call$1: function(isolate) {
      return this.$call$body$NetworkController_recordingHttpTraffic_closure(isolate);
    },
    $call$body$NetworkController_recordingHttpTraffic_closure: function(isolate) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, state;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(B.timeout($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.httpEnableTimelineLogging$1(isolate.get$id(isolate)), 500, type$.legacy_HttpTimelineLoggingState), $async$call$1);
            case 2:
              // returning from await.
              state = $async$result;
              if (state == null || !state.enabled)
                $async$self._box_0.enabled = false;
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 55
  };
  Q.NetworkController_filterData_closure.prototype = {
    call$1: function(r) {
      var statusArg, t3, typeArg, _i, t4, t5,
        t1 = this.filter,
        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, H.throwConcurrentModificationError)(t1), ++_i) {
          t4 = new Q.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;
          t5 = r.get$status(r);
          if (t4.call$1(t5 == null ? "" : t5))
            return true;
          if (t4.call$1(r.get$type(r)))
            return true;
        }
        return false;
      }
      if (r.get$didFail())
        $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.incrementBadgeCount$1("network");
      return true;
    },
    $signature: 336
  };
  Q.NetworkController_filterData_closure_matches.prototype = {
    call$1: function(stringToMatch) {
      if (C.JSString_methods.contains$1(stringToMatch.toLowerCase(), this.caseInsensitiveSubstring)) {
        if (this.r.get$didFail())
          $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.incrementBadgeCount$1("network");
        return true;
      }
      return false;
    },
    $signature: 14
  };
  Q._NetworkController_Object_SearchControllerMixin.prototype = {};
  Q._NetworkController_Object_SearchControllerMixin_FilterControllerMixin.prototype = {};
  S.NetworkRequest.prototype = {
    toString$0: function(_) {
      return H.S(this.get$method(this)) + " " + H.S(this.get$uri());
    }
  };
  S.WebSocket.prototype = {
    get$duration: function(_) {
      var t1 = this._socket,
        t2 = t1.startTime;
      if (t2 == null || t1.endTime == null)
        return null;
      return P.Duration$(t1.endTime - t2, 0);
    },
    get$startTimestamp: function() {
      return P.DateTime$fromMicrosecondsSinceEpoch(this._timelineMicrosBase + this._socket.startTime);
    },
    get$endTimestamp: function() {
      var t1 = this._socket.endTime;
      return t1 != null ? P.DateTime$fromMicrosecondsSinceEpoch(this._timelineMicrosBase + t1) : null;
    },
    get$lastReadTimestamp: function() {
      var t1 = this._socket.lastReadTime;
      return t1 != null ? P.DateTime$fromMicrosecondsSinceEpoch(this._timelineMicrosBase + t1) : null;
    },
    get$contentType: function(_) {
      return "websocket";
    },
    get$type: function(_) {
      return "ws";
    },
    get$uri: function() {
      return this._socket.address;
    },
    get$port: function(_) {
      return this._socket.port;
    },
    get$didFail: function() {
      return false;
    },
    get$method: function(_) {
      return "GET";
    },
    get$status: function(_) {
      return "101";
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof S.WebSocket && this._socket.id == other._socket.id;
    },
    get$hashCode: function(_) {
      return this._socket.id;
    }
  };
  S.NetworkRequests.prototype = {};
  S._NetworkRequest_Object_DataSearchStateMixin.prototype = {
    set$isActiveSearchMatch: function(val) {
      return this.DataSearchStateMixin_isActiveSearchMatch = val;
    }
  };
  K.NetworkRequestInspector.prototype = {
    build$1: function(_, context) {
      var t6, tabbedContent,
        _s8_ = "Overview",
        _null = null,
        _s8_0 = "Response",
        t1 = type$.ValueKey_legacy_String,
        t2 = type$.JSArray_legacy_Tab,
        t3 = H._setArrayType([E.Tab$(L.Text$(_s8_, _null, _null, C.TextOverflow_2, _null, _null, _null, _null, _null, _null), new D.ValueKey(_s8_, t1))], t2),
        t4 = this.data,
        t5 = t4 instanceof E.HttpRequestData;
      if (t5) {
        t2 = H._setArrayType([E.Tab$(L.Text$("Headers", _null, _null, C.TextOverflow_2, _null, _null, _null, _null, _null, _null), new D.ValueKey("Headers", t1))], t2);
        if (t4.get$responseBody() != null)
          t2.push(E.Tab$(L.Text$(_s8_0, _null, _null, C.TextOverflow_2, _null, _null, _null, _null, _null, _null), new D.ValueKey(_s8_0, t1)));
        if (t4.get$requestCookies().length !== 0 || t4.get$responseCookies().length !== 0)
          t2.push(E.Tab$(L.Text$("Cookies", _null, _null, C.TextOverflow_2, _null, _null, _null, _null, _null, _null), new D.ValueKey("Cookies", t1)));
        C.JSArray_methods.addAll$1(t3, t2);
      }
      t1 = t3.length;
      t2 = type$.JSArray_legacy_Widget;
      t3 = T.Row$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, E.TabBar$(_null, false, K.Theme_of(context).textTheme.bodyText1.color, t3), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
      t6 = H._setArrayType([new D.NetworkRequestOverviewView(t4, _null)], t2);
      if (t5) {
        t5 = H._setArrayType([new D.HttpRequestHeadersView(t4, _null)], t2);
        if (t4.get$responseBody() != null)
          t5.push(new D.HttpResponseView(t4, _null));
        if (t4.get$requestCookies().length !== 0 || t4.get$responseCookies().length !== 0)
          t5.push(new D.HttpRequestCookiesView(t4, _null));
        C.JSArray_methods.addAll$1(t6, t5);
      }
      tabbedContent = new U.DefaultTabController(t1, T.Column$(H._setArrayType([t3, T.Expanded$(E.TabBarView$(t6, _null, C.NeverScrollableScrollPhysics_null), 1)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
      t1 = K.Theme_of(context).canvasColor;
      return V.Card$(new U.RoundedOutlinedBorder(t4 == null ? T.Center$(L.Text$("No request selected", C.ValueKey_CJJ, _null, _null, _null, _null, K.Theme_of(context).textTheme.headline6, _null, _null, _null), _null, _null, _null) : tabbedContent, _null), t1, _null, C.EdgeInsets_0_0_0_0, _null);
    }
  };
  D.HttpRequestHeadersView.prototype = {
    build$1: function(_, context) {
      return new A.LayoutBuilder(new D.HttpRequestHeadersView_build_closure(this), null);
    }
  };
  D.HttpRequestHeadersView_build_closure.prototype = {
    call$2: function(context, constraints) {
      var t3, t4, t5, t6, t7, t8, _null = null,
        t1 = type$.JSArray_legacy_Widget,
        t2 = H._setArrayType([], t1);
      for (t3 = this.$this.data, t4 = t3.get$general(), t4 = t4.get$entries(t4), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
        t5 = t4.get$current(t4);
        t6 = t5.get$key(t5);
        t5 = J.toString$0$(t5.get$value(t5));
        t7 = constraints.minWidth;
        t2.push(M.Container$(_null, T.Row$(H._setArrayType([O.SelectableText$(H.S(t6) + ": ", _null, _null, K.Theme_of(context).textTheme.subtitle2, _null), new T.Expanded(1, C.FlexFit_0, O.SelectableText$(t5, _null, 1, _null, _null), _null)], t1), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_30_0_0_15, _null, _null, t7));
      }
      t2 = O.ExpansionTile$(_null, t2, _null, _null, _null, true, C.ValueKey_General, _null, _null, L.Text$("General", _null, _null, _null, _null, _null, _null, _null, _null, _null));
      t4 = H._setArrayType([], t1);
      if (t3.get$responseHeaders(t3) != null)
        for (t5 = J.get$entries$x(t3.get$responseHeaders(t3)), 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));
          t8 = constraints.minWidth;
          t4.push(M.Container$(_null, T.Row$(H._setArrayType([O.SelectableText$(H.S(t7) + ": ", _null, _null, K.Theme_of(context).textTheme.subtitle2, _null), new T.Expanded(1, C.FlexFit_0, O.SelectableText$(t6, _null, 1, _null, _null), _null)], t1), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_30_0_0_15, _null, _null, t8));
        }
      t4 = O.ExpansionTile$(_null, t4, _null, _null, _null, true, C.ValueKey_QSK, _null, _null, L.Text$("Response Headers", _null, _null, _null, _null, _null, _null, _null, _null, _null));
      t5 = H._setArrayType([], t1);
      if (t3.get$requestHeaders() != null)
        for (t3 = J.get$entries$x(t3.get$requestHeaders()), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
          t6 = t3.get$current(t3);
          t7 = t6.get$key(t6);
          t6 = J.toString$0$(t6.get$value(t6));
          t8 = constraints.minWidth;
          t5.push(M.Container$(_null, T.Row$(H._setArrayType([O.SelectableText$(H.S(t7) + ": ", _null, _null, K.Theme_of(context).textTheme.subtitle2, _null), new T.Expanded(1, C.FlexFit_0, O.SelectableText$(t6, _null, 1, _null, _null), _null)], t1), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_30_0_0_15, _null, _null, t8));
        }
      return B.ListView$(H._setArrayType([t2, t4, O.ExpansionTile$(_null, t5, _null, _null, _null, true, C.ValueKey_A2Y, _null, _null, L.Text$("Request Headers", _null, _null, _null, _null, _null, _null, _null, _null, _null))], t1), _null, _null, _null, _null, _null, false);
    },
    $signature: 335
  };
  D.HttpResponseView.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = this.data;
      return new T.Padding(C.EdgeInsets_8_8_8_8, E.SingleChildScrollView$(t1 instanceof E.DartIOHttpRequestData && J.contains$1$asx(t1.get$contentType(t1), "image") ? new D.ImageResponseView(t1, _null) : new U.FormattedJson(_null, t1.get$responseBody(), false, _null), _null, C.DragStartBehavior_1, _null, _null, false, C.Axis_1), _null);
    }
  };
  D.ImageResponseView.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.data,
        img = N.decodeImage(t1.get$encodedResponse()),
        t2 = type$.JSArray_legacy_Widget;
      return T.Column$(H._setArrayType([O.ExpansionTile$(_null, H._setArrayType([new T.Padding(C.EdgeInsets_8_8_8_8, new U.Image(M.ResizeImage_resizeIfNeeded(_null, _null, new M.MemoryImage(t1.get$encodedResponse(), 1)), _null, _null, _null, _null, C.Alignment_0_0, C.ImageRepeat_3, _null), _null)], t2), _null, _null, _null, true, _null, _null, _null, L.Text$("Image Preview", _null, _null, _null, _null, _null, _null, _null, _null, _null)), O.ExpansionTile$(_null, H._setArrayType([_this._network_request_inspector_views$_buildRow$3(context, "Format", t1.get$type(t1)), _this._network_request_inspector_views$_buildRow$3(context, "Size", B.prettyPrintBytes(t1.get$encodedResponse().byteLength, true, 0, 1, 1)), _this._network_request_inspector_views$_buildRow$3(context, "Dimensions", H.S(img.width) + " x " + H.S(img.height))], t2), _null, _null, _null, true, _null, _null, _null, L.Text$("Metadata", _null, _null, _null, _null, _null, _null, _null, _null, _null))], t2), C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _network_request_inspector_views$_buildRow$3: function(context, key, value) {
      var _null = null;
      return new T.Padding(C.EdgeInsets_30_0_0_15, T.Row$(H._setArrayType([O.SelectableText$(key + ": ", _null, _null, K.Theme_of(context).textTheme.subtitle2, _null), T.Expanded$(O.SelectableText$(value, _null, _null, _null, _null), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null), _null);
    }
  };
  D.HttpRequestCookiesView.prototype = {
    _buildCookiesTable$6$requestCookies: function(context, title, cookies, constraints, key, requestCookies) {
      var t5, t6, i, t7, t8, t9, t10, t11, t12, t13, _null = null, _s2_ = "--",
        _buildColumn = new D.HttpRequestCookiesView__buildCookiesTable__buildColumn(K.Theme_of(context)),
        t1 = requestCookies ? C.BoxConstraints_mlX : new S.BoxConstraints(constraints.minWidth, 1 / 0, 0, 1 / 0),
        t2 = type$.JSArray_legacy_DataColumn,
        t3 = H._setArrayType([_buildColumn.call$1("Name"), _buildColumn.call$1("Value")], t2),
        t4 = !requestCookies;
      if (t4)
        C.JSArray_methods.addAll$1(t3, H._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")], t2));
      t2 = H._setArrayType([], type$.JSArray_legacy_DataRow);
      for (t5 = type$.ValueKey_nullable_int, t6 = type$.JSArray_legacy_DataCell, i = 0; i < cookies.length; ++i) {
        t7 = cookies[i];
        t8 = t7._http$_name;
        t8 = O.SelectableText$(t8 == null ? _s2_ : t8, _null, _null, _null, _null);
        t9 = t7._http$_value;
        t8 = H._setArrayType([new S.DataCell(t8), new S.DataCell(O.SelectableText$(t9 == null ? _s2_ : t9, _null, _null, _null, _null))], t6);
        if (t4) {
          t9 = t7.domain;
          t9 = O.SelectableText$(t9 == null ? _s2_ : t9, _null, _null, _null, _null);
          t10 = t7.path;
          t10 = O.SelectableText$(t10 == null ? _s2_ : t10, _null, _null, _null, _null);
          t11 = t7.expires;
          t11 = t11 == null ? _null : t11.toString$0(0);
          t11 = O.SelectableText$(t11 == null ? _s2_ : t11, _null, _null, _null, _null);
          t12 = C.JSInt_methods.toString$0(t7._http$_value.length);
          t12 = O.SelectableText$(t12, _null, _null, _null, _null);
          t13 = !t7.httpOnly ? C.IconData_57686_MaterialIcons_false : C.IconData_57706_MaterialIcons_false;
          t7 = !t7.secure ? C.IconData_57686_MaterialIcons_false : C.IconData_57706_MaterialIcons_false;
          C.JSArray_methods.addAll$1(t8, H._setArrayType([new S.DataCell(t9), new S.DataCell(t10), new S.DataCell(t11), new S.DataCell(t12), new S.DataCell(new L.Icon(t13, 16, _null, _null)), new S.DataCell(new L.Icon(t7, 16, _null, _null))], t6));
        }
        t2.push(new S.DataRow(new D.ValueKey(i, t5), t8));
      }
      return O.ExpansionTile$(_null, H._setArrayType([C.Divider_0_null_null_null, new T.Align(C.Alignment_m1_0, _null, _null, E.SingleChildScrollView$(new T.ConstrainedBox(t1, new S.DataTable(t3, 32, t2, S.DataTable__initOnlyTextColumn(t3), key), _null), _null, C.DragStartBehavior_1, _null, _null, false, C.Axis_0), _null)], type$.JSArray_legacy_Widget), _null, _null, _null, true, _null, _null, _null, L.Text$(title, _null, _null, _null, _null, _null, _null, _null, _null, _null));
    },
    _buildCookiesTable$5: function(context, title, cookies, constraints, key) {
      return this._buildCookiesTable$6$requestCookies(context, title, cookies, constraints, key, false);
    },
    build$1: function(_, context) {
      var t1 = this.data,
        requestCookies = t1.get$requestCookies();
      return new A.LayoutBuilder(new D.HttpRequestCookiesView_build_closure(this, t1.get$responseCookies(), requestCookies), null);
    }
  };
  D.HttpRequestCookiesView__buildCookiesTable__buildColumn.prototype = {
    call$2$numeric: function(title, numeric) {
      return new S.DataColumn(T.Expanded$(O.SelectableText$(title, null, null, this.theme.textTheme.subtitle1, null), 1), numeric);
    },
    call$1: function(title) {
      return this.call$2$numeric(title, false);
    },
    $signature: 450
  };
  D.HttpRequestCookiesView_build_closure.prototype = {
    call$2: function(context, constraints) {
      var _this = this, _null = null,
        t1 = H._setArrayType([], type$.JSArray_legacy_Widget),
        t2 = _this.responseCookies;
      if (t2.length !== 0)
        t1.push(_this.$this._buildCookiesTable$5(context, "Response Cookies", t2, constraints, C.ValueKey_GRu));
      if (t2.length !== 0 && _this.requestCookies.length !== 0)
        t1.push(C.Padding_lAj2);
      t2 = _this.requestCookies;
      if (t2.length !== 0)
        t1.push(_this.$this._buildCookiesTable$6$requestCookies(context, "Request Cookies", t2, constraints, C.ValueKey_8xL, true));
      return B.ListView$(t1, _null, _null, _null, _null, _null, false);
    },
    $signature: 335
  };
  D.NetworkRequestOverviewView.prototype = {
    build$1: function(_, context) {
      var t6, _this = this, _null = null,
        _s11_ = "h:mm:ss.S a",
        t1 = _this.data,
        t2 = _this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(t1.get$uri(), _null, 1, _null, _null), context, "Request uri"),
        t3 = _this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(t1.get$method(t1), _null, 1, _null, _null), context, "Method"),
        t4 = t1.get$status(t1),
        t5 = type$.JSArray_legacy_Widget;
      t4 = H._setArrayType([t2, C.SizedBox_null_16_null_null, t3, C.SizedBox_null_16_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(t4 == null ? "--" : t4, _null, 1, _null, _null), context, "Status"), C.SizedBox_null_16_null_null], t5);
      if (t1.get$port(t1) != null)
        C.JSArray_methods.addAll$1(t4, H._setArrayType([_this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(H.S(t1.get$port(t1)), _null, 1, _null, _null), context, "Port"), C.SizedBox_null_16_null_null], t5));
      if (t1.get$contentType(t1) != null) {
        t2 = t1.get$contentType(t1);
        C.JSArray_methods.addAll$1(t4, H._setArrayType([_this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(t2 == null ? "null" : t2, _null, 1, _null, _null), context, "Content type"), C.SizedBox_null_16_null_null], t5));
      }
      t2 = P.List_List$of(t4, true, type$.legacy_Widget);
      t3 = t1 instanceof S.WebSocket;
      if (t3) {
        t4 = t1._socket;
        C.JSArray_methods.addAll$1(t2, H._setArrayType([_this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(H.S(t4.id), _null, 1, _null, _null), context, "Socket id"), C.SizedBox_null_16_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(t4.socketType, _null, 1, _null, _null), context, "Socket type"), C.SizedBox_null_16_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(H.S(t4.readBytes), _null, 1, _null, _null), context, "Read bytes"), C.SizedBox_null_16_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(H.S(t4.writeBytes), _null, 1, _null, _null), context, "Write bytes"), C.SizedBox_null_16_null_null], t5));
      }
      t2.push(C.PaddedDivider_wEo0);
      t4 = _this._network_request_inspector_views$_buildRow$3$child$context$title(t3 ? M.Container$(_null, _null, C.Clip_0, C.Color_4287148510, _null, _null, _null, 18, C.ValueKey_AKA, _null, _null, _null, _null, _null) : _this._buildHttpTimeGraph$1(context), context, "Timing");
      t4 = H._setArrayType([t4, C.SizedBox_null_8_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$("Duration: " + (t1.get$duration(t1) != null ? B.msText(t1.get$duration(t1), 1) : "Pending"), _null, 1, _null, _null), context, _null), C.SizedBox_null_16_null_null], t5);
      if (t3) {
        type$.legacy_WebSocket._as(t1);
        if (t1.get$lastReadTimestamp() != null) {
          t3 = t1.get$lastReadTimestamp();
          t3 = O.SelectableText$(A.DateFormat$(_s11_, _null).format$1(t3), _null, 1, _null, _null);
        } else
          t3 = "--";
        t3 = _this._network_request_inspector_views$_buildRow$3$child$context$title(t3, context, "Last read time");
        t6 = t1._socket.lastWriteTime;
        t6 = t6 != null ? P.DateTime$fromMicrosecondsSinceEpoch(t1._timelineMicrosBase + t6) : _null;
        t5 = H._setArrayType([t3, C.SizedBox_null_16_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(A.DateFormat$(_s11_, _null).format$1(t6), _null, 1, _null, _null), context, "Last write time")], t5);
        t3 = t5;
      } else
        t3 = _this._buildHttpTimingRows$1(context);
      C.JSArray_methods.addAll$1(t4, t3);
      t4.push(C.SizedBox_null_16_null_null);
      t3 = t1.get$startTimestamp();
      t4.push(_this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(A.DateFormat$(_s11_, _null).format$1(t3), _null, 1, _null, _null), context, "Start time"));
      t4.push(C.SizedBox_null_16_null_null);
      if (t1.get$endTimestamp() != null) {
        t1 = t1.get$endTimestamp();
        t1 = A.DateFormat$(_s11_, _null).format$1(t1);
      } else
        t1 = "Pending";
      t4.push(_this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(t1, _null, 1, _null, _null), context, "End time"));
      C.JSArray_methods.addAll$1(t2, t4);
      return B.ListView$(t2, _null, _null, C.EdgeInsets_16_16_16_16, _null, _null, false);
    },
    _buildTimingRow$3: function(color, label, duration) {
      var _null = null,
        t1 = this.data,
        flex = C.JSNumber_methods.round$0(duration._duration / t1.get$duration(t1)._duration * 100);
      t1 = H.S(label) + " - " + B.msText(duration, 1);
      return new T.Flexible(flex, C.FlexFit_1, S.Tooltip$(M.Container$(_null, _null, C.Clip_0, color, _null, _null, _null, 18, _null, _null, _null, _null, _null, _null), _null, t1, _null, _null, C.Duration_500000), _null);
    },
    _buildHttpTimeGraph$1: function(context) {
      var _nextColor, timingWidgets, t1, t2, _i, instant, t3, t4, duration, _null = null, _box_0 = {},
        data = type$.legacy_HttpRequestData._as(this.data);
      if (data.get$duration(data) == null || data.get$instantEvents().length === 0)
        return M.Container$(_null, _null, C.Clip_0, C.Color_4281097642, _null, _null, _null, 18, C.ValueKey_JQR, _null, _null, _null, _null, _null);
      _box_0._colorIndex = 0;
      _nextColor = new D.NetworkRequestOverviewView__buildHttpTimeGraph__nextColor(_box_0);
      timingWidgets = H._setArrayType([], type$.JSArray_legacy_Widget);
      for (t1 = data.get$instantEvents(), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        instant = t1[_i];
        t3 = instant._timeRange;
        t4 = t3._utils$_end;
        t3 = t3._utils$_start;
        t4 = t4._duration;
        t3 = t3._duration;
        timingWidgets.push(this._buildTimingRow$3(_nextColor.call$0(), J.get$name$x(instant), new P.Duration(t4 - t3)));
      }
      t1 = data.get$endTimestamp()._core$_value;
      t2 = data.get$instantEvents();
      duration = P.Duration$(1000 * t1 - (t2 && C.JSArray_methods).get$last(t2).get$timestampMicros() - data._timelineMicrosBase, 0);
      timingWidgets.push(this._buildTimingRow$3(_nextColor.call$0(), "Response", duration));
      return T.Row$(timingWidgets, C.CrossAxisAlignment_2, C.ValueKey_JQR, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    _buildHttpTimingRows$1: function(context) {
      var t3, t4, _i, instant, t5, t6, t7, t8, t9,
        data = type$.legacy_HttpRequestData._as(this.data),
        t1 = type$.JSArray_legacy_Widget,
        t2 = H._setArrayType([], t1);
      for (t3 = data.get$instantEvents(), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
        instant = t3[_i];
        t5 = J.getInterceptor$x(instant);
        t6 = t5.get$name(instant);
        t7 = instant._timeRange._utils$_start;
        t8 = data.get$instantEvents();
        t8 = (t8 && C.JSArray_methods).get$first(t8)._timeRange._utils$_start;
        t8 = C.JSNumber_methods.toStringAsFixed$1((t7._duration - t8._duration) / 1000, 1);
        t7 = "[" + (t8 + " ms") + " - ";
        t8 = instant._timeRange._utils$_end;
        t9 = data.get$instantEvents();
        t9 = (t9 && C.JSArray_methods).get$first(t9)._timeRange._utils$_start;
        t9 = C.JSNumber_methods.toStringAsFixed$1((t8._duration - t9._duration) / 1000, 1);
        t7 = t7 + (t9 + " ms") + "] \u2192 ";
        t8 = instant._timeRange;
        t9 = t8._utils$_end;
        t8 = t8._utils$_start;
        t8 = C.JSNumber_methods.toStringAsFixed$1((t9._duration - t8._duration) / 1000, 1);
        t6 = H._setArrayType([this._network_request_inspector_views$_buildRow$3$child$context$title(O.SelectableText$(t7 + (t8 + " ms") + " total", null, 1, null, null), context, t6)], t1);
        t7 = data.get$instantEvents();
        if (!t5.$eq(instant, (t7 && C.JSArray_methods).get$last(t7)))
          t6.push(C.SizedBox_null_16_null_null);
        C.JSArray_methods.addAll$1(t2, t6);
      }
      return t2;
    },
    _network_request_inspector_views$_buildRow$3$child$context$title: function(child, context, title) {
      var _null = null,
        t1 = title != null ? title + ": " : "";
      return T.Row$(H._setArrayType([M.Container$(_null, O.SelectableText$(t1, _null, _null, K.Theme_of(context).textTheme.subtitle2, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, 110), T.Expanded$(child, 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    }
  };
  D.NetworkRequestOverviewView__buildHttpTimeGraph__nextColor.prototype = {
    call$0: function() {
      var t1 = this._box_0,
        t2 = t1._colorIndex,
        color = C.List_itQ[C.JSInt_methods.$mod(t2, 3)];
      t1._colorIndex = t2 + 1;
      return color;
    },
    $signature: 451
  };
  Y.NetworkScreen.prototype = {
    build$1: function(_, context) {
      return C.NetworkScreenBody_null;
    },
    buildStatus$2: function(context, textTheme) {
      var networkController = Y.Provider_of(context, true, type$.legacy_NetworkController);
      return N.ValueListenableBuilder$(new Y.NetworkScreen_buildStatus_closure(networkController, K.Theme_of(context).textTheme.bodyText2.color), networkController._recordingNotifier, type$.legacy_bool);
    }
  };
  Y.NetworkScreen_buildStatus_closure.prototype = {
    call$3: function(context, recording, _) {
      var t1 = this.networkController;
      return N.ValueListenableBuilder$(new Y.NetworkScreen_buildStatus__closure(t1, recording, this.color), t1._requests, type$.legacy_NetworkRequests);
    },
    $signature: 452
  };
  Y.NetworkScreen_buildStatus__closure.prototype = {
    call$3: function(context, networkRequests, _) {
      return N.ValueListenableBuilder$(new Y.NetworkScreen_buildStatus___closure(networkRequests, this.recording, this.color), this.networkController.FilterControllerMixin_filteredData, type$.legacy_List_legacy_NetworkRequest);
    },
    $signature: 453
  };
  Y.NetworkScreen_buildStatus___closure.prototype = {
    call$3: function(context, filteredRequests, _) {
      var _null = null,
        filteredCount = J.get$length$asx(filteredRequests),
        totalCount = this.networkRequests.requests.length,
        t1 = $.$get$nf();
      t1 = L.Text$("Showing " + t1.format$1(filteredCount) + " of " + t1.format$1(totalCount) + " " + B.pluralize("request", totalCount), _null, _null, _null, _null, _null, _null, _null, _null, _null);
      return T.Row$(H._setArrayType([t1, C.SizedBox_8_null_null_null, T.SizedBox$(this.recording ? U.CircularProgressIndicator$(2, new S.AlwaysStoppedAnimation(this.color, type$.AlwaysStoppedAnimation_legacy_Color)) : C.SizedBox_null_null_null_null, 12, 12)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null);
    },
    $signature: 454
  };
  Y.NetworkScreenBody.prototype = {
    createState$0: function() {
      var _null = null;
      return new Y._NetworkScreenBodyState(_null, _null, _null, _null, 769, 772, 13, 27, 9, 458792, 458795, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  Y._NetworkScreenBodyState.prototype = {
    initState$0: function() {
      this.super$__NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin$initState();
      F.screen("network");
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_NetworkController);
      if (newController == _this._networkController)
        return;
      _this._networkController = newController;
      newController.startRecording$0();
      t1 = _this._networkController._requests;
      _this.requests = t1._value;
      _this.addAutoDisposeListener$2(t1, new Y._NetworkScreenBodyState_didChangeDependencies_closure(_this));
      t1 = _this._networkController.FilterControllerMixin_filteredData;
      _this.filteredRequests = t1._currentList;
      _this.addAutoDisposeListener$2(t1, new Y._NetworkScreenBodyState_didChangeDependencies_closure0(_this));
    },
    dispose$0: function(_) {
      var t1 = this._networkController;
      if (t1 != null) {
        t1._updatePollingState$1(false);
        t1._recordingNotifier.set$value(0, false);
      }
      this.super$__NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin$dispose(0);
    },
    _buildProfilerControls$0: function() {
      var t1 = this.filteredRequests;
      return N.ValueListenableBuilder$(new Y._NetworkScreenBodyState__buildProfilerControls_closure(this, !t1.get$isEmpty(t1)), this._networkController._recordingNotifier, type$.legacy_bool);
    },
    _buildProfilerBody$0: function() {
      return N.ValueListenableBuilder$(new Y._NetworkScreenBodyState__buildProfilerBody_closure(this), this._networkController._selectedRequest, type$.legacy_NetworkRequest);
    },
    _network_screen$_showFilterDialog$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      E.showDialog(true, new Y._NetworkScreenBodyState__showFilterDialog_closure(this), t1, type$.dynamic);
    },
    build$1: function(_, context) {
      return T.Column$(H._setArrayType([this._buildProfilerControls$0(), C.SizedBox_null_6_null_null, this._buildProfilerBody$0()], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    }
  };
  Y._NetworkScreenBodyState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new Y._NetworkScreenBodyState_didChangeDependencies__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  Y._NetworkScreenBodyState_didChangeDependencies__closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.requests = t1._networkController._requests._value;
    },
    $signature: 1
  };
  Y._NetworkScreenBodyState_didChangeDependencies_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new Y._NetworkScreenBodyState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  Y._NetworkScreenBodyState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.filteredRequests = t1._networkController.FilterControllerMixin_filteredData._currentList;
    },
    $signature: 1
  };
  Y._NetworkScreenBodyState__buildProfilerControls_closure.prototype = {
    call$3: function(context, recording, _) {
      var _this = this, _null = null,
        t1 = U.PauseButton$(600, _null, recording ? new Y._NetworkScreenBodyState__buildProfilerControls__closure(_this.$this) : _null),
        t2 = _this.$this;
      return T.Row$(H._setArrayType([t1, C.SizedBox_8_null_null_null, U.ResumeButton$(600, _null, recording ? _null : new Y._NetworkScreenBodyState__buildProfilerControls__closure0(_this.$this)), C.SizedBox_8_null_null_null, U.ClearButton$(_null, _null, new Y._NetworkScreenBodyState__buildProfilerControls__closure1(t2)), C.Expanded_9Fi0, M.Container$(_null, t2.buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(t2._networkController, _this.hasRequests, $.$get$networkSearchFieldKey(), false, true), C.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, 400), C.SizedBox_8_null_null_null, new U.FilterButton(t2.get$_network_screen$_showFilterDialog(), t2.filteredRequests.length !== t2.requests.requests.length, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    $signature: 61
  };
  Y._NetworkScreenBodyState__buildProfilerControls__closure.prototype = {
    call$0: function() {
      var t1 = this.$this._networkController;
      t1._updatePollingState$1(false);
      t1._recordingNotifier.set$value(0, false);
      return null;
    },
    $signature: 0
  };
  Y._NetworkScreenBodyState__buildProfilerControls__closure0.prototype = {
    call$0: function() {
      var t1 = this.$this._networkController;
      t1._updatePollingState$1(true);
      t1._recordingNotifier.set$value(0, true);
      return null;
    },
    $signature: 0
  };
  Y._NetworkScreenBodyState__buildProfilerControls__closure1.prototype = {
    call$0: function() {
      this.$this._networkController.clear$0(0);
    },
    $signature: 1
  };
  Y._NetworkScreenBodyState__buildProfilerBody_closure.prototype = {
    call$3: function(context, selectedRequest, _) {
      var _null = null,
        t1 = this.$this,
        t2 = t1._networkController;
      return T.Expanded$(D.GestureDetector$(_null, L.Split$(C.Axis_0, H._setArrayType([new Y.NetworkRequestsTable(t2, t1.filteredRequests, t2.SearchControllerMixin__searchMatches, t2.SearchControllerMixin__activeSearchMatch, _null), new K.NetworkRequestInspector(selectedRequest, _null)], type$.JSArray_legacy_Widget), C.List_O9m1, C.List_200_200, _null), C.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new Y._NetworkScreenBodyState__buildProfilerBody__closure(context), _null, _null, _null, _null, _null, _null), 1);
    },
    $signature: 455
  };
  Y._NetworkScreenBodyState__buildProfilerBody__closure.prototype = {
    call$0: function() {
      var t1 = L.FocusScope_of(this.context).unfocus$0();
      return t1;
    },
    $signature: 0
  };
  Y._NetworkScreenBodyState__showFilterDialog_closure.prototype = {
    call$1: function(context) {
      var t1 = this.$this;
      return new X.FilterDialog(t1._networkController, new Y._NetworkScreenBodyState__showFilterDialog__closure(t1), "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$.FilterDialog_legacy_NetworkController);
    },
    $signature: 456
  };
  Y._NetworkScreenBodyState__showFilterDialog__closure.prototype = {
    call$1: function(query) {
      var t1 = this.$this._networkController;
      return t1.filterData$1(X.QueryFilter_QueryFilter$parse(query, t1._network_controller$_filterArgs, type$.dynamic));
    },
    $signature: 32
  };
  Y.NetworkRequestsTable.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null;
      return new U.OutlineDecoration(S.FlatTable$(_this.activeSearchMatchNotifier, true, H._setArrayType([$.$get$NetworkRequestsTable_methodColumn(), $.$get$NetworkRequestsTable_addressColumn(), $.$get$NetworkRequestsTable_statusColumn(), $.$get$NetworkRequestsTable_typeColumn(), $.$get$NetworkRequestsTable_durationColumn(), $.$get$NetworkRequestsTable_timestampColumn()], type$.JSArray_legacy_ColumnData_legacy_NetworkRequest), _this.requests, _null, new Y.NetworkRequestsTable_build_closure(), new Y.NetworkRequestsTable_build_closure0(_this), _null, _this.searchMatchesNotifier, _null, _this.networkController._selectedRequest, $.$get$NetworkRequestsTable_timestampColumn(), C.SortDirection_0, type$.legacy_NetworkRequest), _null);
    }
  };
  Y.NetworkRequestsTable_build_closure.prototype = {
    call$1: function(data) {
      return new D.ValueKey(data, type$.ValueKey_legacy_NetworkRequest);
    },
    $signature: 457
  };
  Y.NetworkRequestsTable_build_closure0.prototype = {
    call$1: function(item) {
      this.$this.networkController._selectedRequest.set$value(0, item);
    },
    $signature: 458
  };
  Y.UriColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.get$uri();
    },
    build$3$isRowSelected: function(_, context, data, isRowSelected) {
      var _null = null,
        value = J.toString$0$(this.getValue$1(data));
      return S.Tooltip$(O.SelectableText$(value, 1, _null, _null, _null), _null, value, _null, _null, C.Duration_500000);
    },
    $isColumnRenderer: 1
  };
  Y.MethodColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.get$method(dataObject);
    }
  };
  Y.StatusColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.get$status(dataObject);
    },
    getDisplayValue$1: function(dataObject) {
      return dataObject.get$status(dataObject) == null ? "--" : J.toString$0$(dataObject.get$status(dataObject));
    },
    build$3$isRowSelected: function(_, context, data, isRowSelected) {
      var _null = null,
        theme = K.Theme_of(context),
        t1 = data.get$status(data) == null ? "--" : J.toString$0$(data.get$status(data));
      return L.Text$(t1, _null, _null, _null, _null, _null, data.get$didFail() ? A.TextStyle$(_null, _null, theme.textTheme.bodyText2.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null).copyWith$1$color(C.Color_4289675348) : A.TextStyle$(_null, _null, theme.textTheme.bodyText2.color, _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);
    },
    $isColumnRenderer: 1
  };
  Y.TypeColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.get$type(dataObject);
    },
    getDisplayValue$1: function(dataObject) {
      return dataObject.get$type(dataObject) == null ? "--" : dataObject.get$type(dataObject);
    }
  };
  Y.DurationColumn.prototype = {
    getValue$1: function(dataObject) {
      var t1 = dataObject.get$duration(dataObject);
      return t1 == null ? null : C.JSInt_methods._tdivFast$1(t1._duration, 1000);
    },
    getDisplayValue$1: function(dataObject) {
      var t1 = dataObject.get$duration(dataObject),
        ms = t1 == null ? null : C.JSInt_methods._tdivFast$1(t1._duration, 1000);
      return ms == null ? "Pending" : B.msText(P.Duration$(0, ms), 0);
    }
  };
  Y.TimestampColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.get$startTimestamp();
    },
    getDisplayValue$1: function(dataObject) {
      var t1 = dataObject.get$startTimestamp();
      return A.DateFormat$("h:mm:ss.S a", null).format$1(t1);
    }
  };
  Y.__NetworkScreenBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  Y.__NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.SearchFieldMixin__searchFieldFocusNode = O.FocusNode$(true, null, true, null, false);
      this.SearchFieldMixin_searchTextFieldController = D.TextEditingController$(null);
    },
    dispose$0: function(_) {
      var t1;
      this.super$__NetworkScreenBodyState_State_AutoDisposeMixin$dispose(0);
      t1 = this.SearchFieldMixin__searchFieldFocusNode;
      if (t1 != null)
        t1.dispose$0(0);
    }
  };
  D.NetworkService.prototype = {
    updateLastRefreshTime$1$alreadyRecordingHttp: function(alreadyRecordingHttp) {
      return this.updateLastRefreshTime$body$NetworkService(alreadyRecordingHttp);
    },
    updateLastRefreshTime$0: function() {
      return this.updateLastRefreshTime$1$alreadyRecordingHttp(false);
    },
    updateLastRefreshTime$body$NetworkService: function(alreadyRecordingHttp) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_int),
        $async$returnValue, $async$self = this, timestamp;
      var $async$updateLastRefreshTime$1$alreadyRecordingHttp = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.getVMTimelineMicros$0(), $async$updateLastRefreshTime$1$alreadyRecordingHttp);
            case 3:
              // returning from await.
              timestamp = $async$result;
              if (!alreadyRecordingHttp)
                $async$self.networkController.lastRefreshMicros = timestamp.timestamp;
              $async$returnValue = timestamp.timestamp;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$updateLastRefreshTime$1$alreadyRecordingHttp, $async$completer);
    },
    refreshNetworkData$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, timestamp, sockets, t1, t2, httpRequests, timeline;
      var $async$refreshNetworkData$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.getVMTimelineMicros$0(), $async$refreshNetworkData$0);
            case 3:
              // returning from await.
              timestamp = $async$result;
              $async$goto = 4;
              return P._asyncAwait($async$self._refreshSockets$0(), $async$refreshNetworkData$0);
            case 4:
              // returning from await.
              sockets = $async$result;
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate;
              $async$goto = 8;
              return P._asyncAwait(t1.isDartIoVersionSupported$2$isolateId$supportedVersion(t2.get$id(t2), new T.SemanticVersion(1, 6, 0, null, null)), $async$refreshNetworkData$0);
            case 8:
              // returning from await.
              $async$goto = $async$result ? 5 : 7;
              break;
            case 5:
              // then
              $async$goto = 9;
              return P._asyncAwait($async$self._refreshHttpProfile$0(), $async$refreshNetworkData$0);
            case 9:
              // returning from await.
              httpRequests = $async$result;
              timeline = null;
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $async$self.networkController.lastRefreshMicros;
              $async$goto = 10;
              return P._asyncAwait(t1.getVMTimeline$2$timeExtentMicros$timeOriginMicros(timestamp.timestamp - t2, t2), $async$refreshNetworkData$0);
            case 10:
              // returning from await.
              timeline = $async$result;
              httpRequests = null;
            case 6:
              // join
              t1 = $async$self.networkController;
              t1.lastRefreshMicros = timestamp.timestamp;
              t2 = t1._requests;
              t2.set$value(0, t1.processNetworkTrafficHelper$7$currentValues$invalidRequests$outstandingRequestsMap(timeline, sockets, httpRequests, t1._timelineMicrosOffset, P.List_List$from(t2._value.requests, true, type$.legacy_NetworkRequest), H._setArrayType([], type$.JSArray_legacy_HttpRequestData), P.LinkedHashMap_LinkedHashMap$from(t2._value.outstandingHttpRequests, type$.legacy_String, type$.legacy_HttpRequestData)));
              t1._updateData$0();
              t1._updateSelection$0();
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$refreshNetworkData$0, $async$completer);
    },
    _refreshHttpProfile$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_HttpProfileRequest),
        $async$returnValue, $async$self = this, requests;
      var $async$_refreshHttpProfile$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service == null) {
                $async$returnValue = H._setArrayType([], type$.JSArray_legacy_HttpProfileRequest);
                // goto return
                $async$goto = 1;
                break;
              }
              requests = H._setArrayType([], type$.JSArray_legacy_HttpProfileRequest);
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.forEachIsolate$1(new D.NetworkService__refreshHttpProfile_closure($async$self, requests)), $async$_refreshHttpProfile$0);
            case 3:
              // returning from await.
              $async$returnValue = requests;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_refreshHttpProfile$0, $async$completer);
    },
    _refreshSockets$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_SocketStatistic),
        $async$returnValue, sockets;
      var $async$_refreshSockets$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service == null) {
                $async$returnValue = H._setArrayType([], type$.JSArray_legacy_SocketStatistic);
                // goto return
                $async$goto = 1;
                break;
              }
              sockets = H._setArrayType([], type$.JSArray_legacy_SocketStatistic);
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.forEachIsolate$1(new D.NetworkService__refreshSockets_closure(sockets)), $async$_refreshSockets$0);
            case 3:
              // returning from await.
              $async$returnValue = sockets;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_refreshSockets$0, $async$completer);
    },
    _clearSocketProfile$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue;
      var $async$_clearSocketProfile$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.forEachIsolate$1(new D.NetworkService__clearSocketProfile_closure()), $async$_clearSocketProfile$0);
            case 3:
              // returning from await.
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_clearSocketProfile$0, $async$completer);
    },
    toggleSocketProfiling$1: function(state) {
      return this.toggleSocketProfiling$body$NetworkService(true);
    },
    toggleSocketProfiling$body$NetworkService: function(state) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue;
      var $async$toggleSocketProfiling$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.forEachIsolate$1(new D.NetworkService_toggleSocketProfiling_closure(true)), $async$toggleSocketProfiling$1);
            case 3:
              // returning from await.
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$toggleSocketProfiling$1, $async$completer);
    },
    clearData$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$clearData$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.updateLastRefreshTime$0(), $async$clearData$0);
            case 2:
              // returning from await.
              $async$goto = 3;
              return P._asyncAwait($async$self._clearSocketProfile$0(), $async$clearData$0);
            case 3:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$clearData$0, $async$completer);
    }
  };
  D.NetworkService__refreshHttpProfile_closure.prototype = {
    call$1: function(isolate) {
      return this.$call$body$NetworkService__refreshHttpProfile_closure(isolate);
    },
    $call$body$NetworkService__refreshHttpProfile_closure: function(isolate) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, $async$temp1, $async$temp2;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = C.JSArray_methods;
              $async$temp2 = $async$self.requests;
              $async$goto = 2;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.getHttpProfile$2$updatedSince(isolate.get$id(isolate), $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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 55
  };
  D.NetworkService__refreshSockets_closure.prototype = {
    call$1: function(isolate) {
      return this.$call$body$NetworkService__refreshSockets_closure(isolate);
    },
    $call$body$NetworkService__refreshSockets_closure: function(isolate) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.getSocketProfile$1(isolate.get$id(isolate)), $async$call$1);
            case 2:
              // returning from await.
              t1 = $async$result.__SocketProfile_sockets;
              if (t1 === $)
                t1 = H.throwExpression(H.LateError$fieldNI("sockets"));
              C.JSArray_methods.addAll$1($async$self.sockets, t1);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 55
  };
  D.NetworkService__clearSocketProfile_closure.prototype = {
    call$1: function(isolate) {
      return this.$call$body$NetworkService__clearSocketProfile_closure(isolate);
    },
    $call$body$NetworkService__clearSocketProfile_closure: function(isolate) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null);
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 4;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.isSocketProfilingAvailable$1(isolate.get$id(isolate)), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = $async$result ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 5;
              return P._asyncAwait(B.timeout($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.clearSocketProfile$1(isolate.get$id(isolate)), 500, type$.legacy_Success), $async$call$1);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 55
  };
  D.NetworkService_toggleSocketProfiling_closure.prototype = {
    call$1: function(isolate) {
      return this.$call$body$NetworkService_toggleSocketProfiling_closure(isolate);
    },
    $call$body$NetworkService_toggleSocketProfiling_closure: function(isolate) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 4;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.isSocketProfilingAvailable$1(isolate.get$id(isolate)), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = $async$result ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 5;
              return P._asyncAwait(B.timeout($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.socketProfilingEnabled$2(isolate.get$id(isolate), $async$self.state), 500, type$.legacy_SocketProfilingState), $async$call$1);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 55
  };
  Y.Notifications.prototype = {
    build$1: function(_, context) {
      return new X.Overlay(H._setArrayType([X.OverlayEntry$(new Y.Notifications_build_closure(this), true, true)], type$.JSArray_legacy_OverlayEntry), null);
    }
  };
  Y.Notifications_build_closure.prototype = {
    call$1: function(context) {
      return new Y._NotificationsProvider(this.$this.child, null);
    },
    $signature: 459
  };
  Y._NotificationsProvider.prototype = {
    createState$0: function() {
      return new Y.NotificationsState(H._setArrayType([], type$.JSArray_legacy__Notification), C._StateLifecycle_0);
    }
  };
  Y._InheritedNotifications.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return oldWidget.data !== this.data;
    }
  };
  Y.NotificationsState.prototype = {
    didChangeDependencies$0: function() {
      var _this = this;
      _this.super$State$didChangeDependencies();
      if (_this._overlayEntry == null) {
        _this._overlayEntry = X.OverlayEntry$(_this.get$_notifications$_buildOverlay(), true, false);
        $.SchedulerBinding__instance.scheduleFrameCallback$1(new Y.NotificationsState_didChangeDependencies_closure(_this));
      }
    },
    dispose$0: function(_) {
      this._overlayEntry.remove$0(0);
      this.super$State$dispose(0);
    },
    push$4$actions$allowDuplicates$duration: function(message, actions, allowDuplicates, duration) {
      var t1;
      if (!allowDuplicates) {
        t1 = this._notifications$_notifications;
        if (t1.length !== 0) {
          t1 = new H.WhereIterable(t1, new Y.NotificationsState_push_closure(message), H._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 Y.NotificationsState_push_closure0(this, message, actions, duration));
      return true;
    },
    push$1: function(message) {
      return this.push$4$actions$allowDuplicates$duration(message, C.List_empty11, true, C.Duration_7000000);
    },
    dismiss$1: function(message) {
      var t2, didDismiss, _i, notification,
        t1 = this._notifications$_notifications,
        notifications = P.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)) {
          C.JSArray_methods.remove$1(t1, notification);
          didDismiss = true;
        }
      }
      if (didDismiss)
        this.setState$1(new Y.NotificationsState_dismiss_closure(this));
    },
    _removeNotification$1: function(notification) {
      this.setState$1(new Y.NotificationsState__removeNotification_closure(this, notification));
    },
    _notifications$_buildOverlay$1: function(context) {
      var _null = null,
        t1 = $.$get$_notificationWidth();
      return new T.Align(C.Alignment_1_1, _null, _null, new T.Padding(C.EdgeInsets_0_0_16_40, T.SizedBox$(E.SingleChildScrollView$(T.Column$(this._notifications$_notifications, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), _null, C.DragStartBehavior_1, _null, _null, true, C.Axis_1), _null, t1), _null), _null);
    },
    build$1: function(_, context) {
      return new Y._InheritedNotifications(this, this._widget.child, null);
    }
  };
  Y.NotificationsState_didChangeDependencies_closure.prototype = {
    call$1: function(_) {
      var t1 = this.$this,
        result = t1._framework$_element.findAncestorStateOfType$1$0(type$.OverlayState);
      result.insert$1(0, t1._overlayEntry);
    },
    $signature: 51
  };
  Y.NotificationsState_push_closure.prototype = {
    call$1: function(n) {
      return n.message == this.message;
    },
    $signature: 462
  };
  Y.NotificationsState_push_closure0.prototype = {
    call$0: function() {
      var _this = this,
        t1 = _this.$this;
      t1._notifications$_notifications.push(new Y._Notification(_this.duration, _this.message, _this.actions, t1.get$_removeNotification(), null));
      t1 = t1._overlayEntry;
      if (t1 != null)
        t1.markNeedsBuild$0();
    },
    $signature: 1
  };
  Y.NotificationsState_dismiss_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._overlayEntry;
      if (t1 != null)
        t1.markNeedsBuild$0();
    },
    $signature: 1
  };
  Y.NotificationsState__removeNotification_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (C.JSArray_methods.remove$1(t1._notifications$_notifications, this.notification)) {
        t1 = t1._overlayEntry;
        if (t1 != null)
          t1.markNeedsBuild$0();
      }
    },
    $signature: 1
  };
  Y._Notification.prototype = {
    createState$0: function() {
      return new Y._NotificationState(null, C._StateLifecycle_0);
    },
    remove$1: function($receiver, arg0) {
      return this.remove.call$1(arg0);
    },
    remove$0: function($receiver) {
      return this.remove.call$0();
    },
    get$duration: function(receiver) {
      return this.duration;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  Y._NotificationState.prototype = {
    initState$0: function() {
      var t1, _this = this, _null = null;
      _this.super$State$initState();
      t1 = G.AnimationController$(_null, C.Duration_400000, 0, _null, 1, _null, _this);
      _this.controller = t1;
      _this.curve = S.CurvedAnimation$(C.Cubic_QB2, t1, _null);
      _this._dismissTimer = P.Timer_Timer(_this._widget.duration, new Y._NotificationState_initState_closure(_this));
      _this.controller.forward$0(0);
    },
    dispose$0: function(_) {
      this.controller.dispose$0(0);
      this._dismissTimer.cancel$0(0);
      this.super$__NotificationState_State_SingleTickerProviderStateMixin$dispose(0);
    },
    build$1: function(_, context) {
      var t4, t5, _this = this, _null = null,
        theme = K.Theme_of(context),
        t1 = _this.controller,
        t2 = theme.snackBarTheme,
        t3 = t2.contentTextStyle;
      if (t3 == null)
        t3 = theme.primaryTextTheme.subtitle1;
      t4 = _this._widget.message;
      t5 = _this._framework$_element;
      t5.toString;
      return K.AnimatedBuilder$(t1, new Y._NotificationState_build_closure(_this), new T.Padding(C.EdgeInsets_8_8_8_8, V.Card$(L.DefaultTextStyle$(new T.Padding(C.EdgeInsets_8_8_8_8, T.Column$(H._setArrayType([L.Text$(t4, _null, 6, C.TextOverflow_3, _null, _null, K.Theme_of(t5).textTheme.bodyText1, _null, _null, _null), C.SizedBox_null_16_null_null, _this._buildActions$0()], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null), _null, _null, C.TextOverflow_0, true, t3, _null, _null, C.TextWidthBasis_0), t2.backgroundColor, _null, _null, _null), _null));
    },
    _buildActions$0: function() {
      var t1 = this._widget.actions;
      if (t1.length === 0)
        return C.SizedBox_null_null_null_null;
      return T.Row$(B.ListExtension_joinWith(t1, C.SizedBox_8_null_null_null, type$.legacy_Widget), C.CrossAxisAlignment_2, null, C.MainAxisAlignment_1, C.MainAxisSize_1, null);
    }
  };
  Y._NotificationState_initState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.controller.addStatusListener$1(new Y._NotificationState_initState__closure(t1));
      t1.controller.reverse$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  Y._NotificationState_initState__closure.prototype = {
    call$1: function($status) {
      var t1;
      if ($status === C.AnimationStatus_0) {
        t1 = this.$this._widget;
        t1.remove$1(0, t1);
      }
    },
    $signature: 110
  };
  Y._NotificationState_build_closure.prototype = {
    call$2: function(context, child) {
      var t1 = this.$this.curve;
      return T.Opacity$(false, child, t1.get$value(t1));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 463
  };
  Y.NotificationAction.prototype = {
    build$1: function(_, context) {
      var _null = null,
        labelText = L.Text$(this.label, _null, _null, _null, _null, _null, _null, _null, _null, _null),
        t1 = this.onAction;
      return this.isPrimary ? D.ElevatedButton$(labelText, t1, _null) : B.OutlinedButton$(false, labelText, _null, t1, _null);
    }
  };
  Y.__NotificationState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  F.EventDetails.prototype = {
    build$1: function(_, context) {
      var _null = null,
        controller = Y.Provider_of(context, true, type$.legacy_PerformanceController),
        theme = K.Theme_of(context),
        t1 = this.selectedEvent,
        t2 = U.AreaPaneHeader$(C.List_empty11, 1, true, false, false, 4, false, L.Text$(this._generateHeaderText$1(t1), _null, _null, _null, _null, _null, _null, _null, _null, _null));
      return new U.OutlineDecoration(T.Column$(H._setArrayType([t2, T.Expanded$(t1 != null ? this._buildDetails$1(controller) : T.Center$(L.Text$(string$.Select, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _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), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
    },
    _generateHeaderText$1: function($event) {
      var t2, t3,
        t1 = this.selectedEvent;
      if (t1 == null)
        return "[No event selected]";
      t2 = t1.type === C.TimelineEventType_0 ? "CPU Profile: " : "";
      t2 = t2 + H.S(C.JSArray_methods.get$first(t1.traceEvents).event.name) + " (";
      t1 = t1.time;
      t3 = t1._utils$_end;
      t1 = t1._utils$_start;
      return t2 + B.msText(new P.Duration(t3._duration - t1._duration), 1) + ")";
    },
    _buildDetails$1: function(controller) {
      var t1 = this.selectedEvent;
      if (t1.type === C.TimelineEventType_0) {
        if ($.offlineMode)
          return this._buildCpuProfiler$1(controller.CpuProfilerControllerProviderMixin_cpuProfilerController);
        controller.toString;
        return N.ValueListenableBuilder$(new F.EventDetails__buildDetails_closure(this, controller), $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profiler"), type$.legacy_Flag);
      }
      return F.EventSummary$(t1);
    },
    _buildCpuProfiler$1: function(cpuProfilerController) {
      return N.ValueListenableBuilder$(new F.EventDetails__buildCpuProfiler_closure(this, cpuProfilerController), cpuProfilerController._dataNotifier, type$.legacy_CpuProfileData);
    },
    _buildProcessingInfo$1: function(cpuProfilerController) {
      return N.ValueListenableBuilder$(new F.EventDetails__buildProcessingInfo_closure(), cpuProfilerController.transformer._progressNotifier, type$.dynamic);
    }
  };
  F.EventDetails__buildDetails_closure.prototype = {
    call$3: function(context, profilerFlag, _) {
      var t1 = this.controller.CpuProfilerControllerProviderMixin_cpuProfilerController;
      return profilerFlag.valueAsString === "true" ? this.$this._buildCpuProfiler$1(t1) : new V.CpuProfilerDisabled(t1, null);
    },
    $signature: 161
  };
  F.EventDetails__buildCpuProfiler_closure.prototype = {
    call$3: function(context, cpuProfileData, _) {
      var _this = this;
      if (cpuProfileData == null)
        return _this.$this._buildProcessingInfo$1(_this.cpuProfilerController);
      return V.CpuProfiler$(_this.cpuProfilerController, cpuProfileData, null, F.EventSummary$(_this.$this.selectedEvent));
    },
    $signature: 160
  };
  F.EventDetails__buildProcessingInfo_closure.prototype = {
    call$3: function(context, progress, _) {
      return new U.ProcessingInfo(progress, "CPU samples", null);
    },
    $signature: 332
  };
  F.EventSummary.prototype = {
    build$1: function(_, context) {
      var t4, t5, t6, asyncId, _this = this, _null = null,
        t1 = _this.event,
        t2 = t1.time,
        t3 = t2._utils$_end;
      t2 = t2._utils$_start;
      t2 = B.msText(new P.Duration(t3._duration - t2._duration), 1);
      t3 = "[" + t1.time._utils$_start._duration + " \u03bcs \u2014  " + t1.time._utils$_end._duration + " \u03bcs]";
      t4 = K.Theme_of(context);
      t4 = O.SelectableText$(t3, _null, _null, t4.textTheme.bodyText2.copyWith$1$fontFamily("RobotoMono").copyWith$1$color(t4.unselectedWidgetColor), _null);
      t3 = t1.traceEvents;
      t5 = type$.JSArray_legacy_Widget;
      t6 = H._setArrayType([new T.Flexible(1, C.FlexFit_0, new F.EventMetaData("Category", H.S(C.JSArray_methods.get$first(t3).event.category), _null, _null), _null)], t5);
      if (t1.type === C.TimelineEventType_2) {
        if (t1 instanceof Y.OfflineTimelineEvent)
          asyncId = J.$index$asx(C.JSArray_methods.get$first(t3).event.json, "id");
        else {
          type$.legacy_AsyncTimelineEvent._as(t1);
          asyncId = J.$index$asx(C.JSArray_methods.get$first(t3).event.json, "id");
        }
        t6.push(new T.Flexible(1, C.FlexFit_0, new F.EventMetaData("Async id", asyncId, _null, _null), _null));
      }
      t6.push(new T.Flexible(1, C.FlexFit_0, new F.EventMetaData("Thread id", H.S(C.JSArray_methods.get$first(t3).event.threadId), _null, _null), _null));
      t6.push(new T.Flexible(1, C.FlexFit_0, new F.EventMetaData("Process id", H.S(C.JSArray_methods.get$first(t3).event.processId), _null, _null), _null));
      t1 = H._setArrayType([new T.Padding(C.EdgeInsets_16_0_16_0, new F.EventMetaData("Time", t2, t4, _null), _null), new T.Padding(C.EdgeInsets_16_0_16_0, T.Row$(t6, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null)], t5);
      if (_this._connectedEvents.length !== 0)
        t1.push(_this._buildConnectedEvents$1(context));
      t2 = _this._eventArgs;
      if (t2.get$isNotEmpty(t2))
        t1.push(new F.ExpandingEventMetaData("Arguments", H._setArrayType([new U.FormattedJson(t2, _null, true, _null)], t5), _null));
      return B.ListView$(t1, _null, _null, C.EdgeInsets_0_8_0_8, _null, _null, false);
    },
    _buildConnectedEvents$1: function(context) {
      var t2, t3, t4, t5, t6, _i, e, t7, t8, eventArgs, _null = null,
        t1 = H._setArrayType([], type$.JSArray_legacy_Widget);
      for (t2 = this._connectedEvents, t3 = t2.length, t4 = type$.legacy_String, t5 = type$.legacy_Object, t6 = this.event, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
        e = t2[_i];
        t7 = e.time._utils$_start;
        t8 = t6.time._utils$_start;
        t8 = C.JSNumber_methods.toStringAsFixed$1((t7._duration - t8._duration) / 1000, 1);
        t7 = t8 + " ms";
        t8 = e.traceEvents;
        eventArgs = P.LinkedHashMap_LinkedHashMap$_literal(["startTime", t7, "args", C.JSArray_methods.get$first(t8).event.args], t4, t5);
        t1.push(new F.EventMetaData(C.JSArray_methods.get$first(t8).event.name, _null, new U.FormattedJson(eventArgs, _null, true, _null), _null));
      }
      return new F.ExpandingEventMetaData("Connected events", t1, _null);
    }
  };
  F.EventSummary_closure.prototype = {
    call$1: function(e) {
      return C.JSArray_methods.get$first(e.traceEvents).event.phase === "n";
    },
    $signature: 48
  };
  F.EventMetaData.prototype = {
    build$1: function(_, context) {
      var t4, t5, _null = null,
        theme = K.Theme_of(context),
        t1 = H.S(this.title),
        t2 = this.inlineValue,
        t3 = t2 != null;
      t1 += t3 ? ":  " : "";
      t4 = theme.textTheme;
      t5 = H._setArrayType([], type$.JSArray_legacy_InlineSpan);
      if (t3)
        t5.push(Q.TextSpan$(_null, _null, _null, t4.bodyText2.copyWith$1$fontFamily("RobotoMono").copyWith$1$color(theme.unselectedWidgetColor), t2));
      t2 = type$.JSArray_legacy_Widget;
      t1 = H._setArrayType([O.SelectableText$rich(Q.TextSpan$(t5, _null, _null, t4.subtitle2, t1), _null, _null, _null)], t2);
      t3 = this.child;
      if (t3 != null)
        C.JSArray_methods.addAll$1(t1, H._setArrayType([C.SizedBox_null_4_null_null, t3], t2));
      return new T.Padding(C.EdgeInsets_0_8_0_8, T.Column$(t1, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), _null);
    }
  };
  F.ExpandingEventMetaData.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return O.ExpansionTile$(_null, this.children, C.EdgeInsets_16_0_16_0, _null, C.Alignment_m1_m1, false, _null, _null, _null, L.Text$(this.title, _null, _null, _null, _null, _null, K.Theme_of(context).textTheme.subtitle2, _null, _null, _null));
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  S.FlutterFramesChart.prototype = {
    createState$0: function() {
      return new S._FlutterFramesChartState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  S._FlutterFramesChartState.prototype = {
    get$msPerPx: function() {
      return 1 / this._widget.displayRefreshRate * 1000 * 2 / 134;
    },
    initState$0: function() {
      this.super$State$initState();
      var t1 = F.ScrollController$(0);
      t1.addListener$1(0, new S._FlutterFramesChartState_initState_closure(this));
      this.scrollController = t1;
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_PerformanceController);
      if (newController == _this._flutter_frames_chart$_controller)
        return;
      _this._flutter_frames_chart$_controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(_this._flutter_frames_chart$_controller._selectedFrameNotifier, new S._FlutterFramesChartState_didChangeDependencies_closure(_this));
      _this._maybeShowShaderJankMessage$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, pos, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this.scrollController._positions;
      if (t1.length !== 0) {
        pos = C.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)
        U.ScrollControllerAutoScroll_autoScrollToBottom(_this.scrollController);
      if (!C.C_DeepCollectionEquality.equals$2(oldWidget.frames, _this._widget.frames))
        _this._maybeShowShaderJankMessage$0();
    },
    _maybeShowShaderJankMessage$0: function() {
      var shaderJankDuration, t2, t3, t4, _this = this,
        t1 = J.where$1$ax(_this._widget.frames, new S._FlutterFramesChartState__maybeShowShaderJankMessage_closure(_this)),
        shaderJankFrames = P.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
      if (shaderJankFrames.length !== 0) {
        shaderJankDuration = C.JSArray_methods.fold$2(shaderJankFrames, C.Duration_0, new S._FlutterFramesChartState__maybeShowShaderJankMessage_closure0());
        t1 = _this._framework$_element;
        t1.toString;
        t1 = Y.Provider_of(t1, true, type$.legacy_BannerMessagesController);
        t2 = $.offlineMode ? "simple" : "performance";
        t3 = shaderJankFrames.length;
        t4 = _this._framework$_element;
        t4.toString;
        t1.addMessage$1(new O.ShaderJankMessage(t2, t3, shaderJankDuration).build$1(0, t4));
      }
    },
    dispose$0: function(_) {
      this.scrollController.dispose$0(0);
      this.super$__FlutterFramesChartState_State_AutoDisposeMixin$dispose(0);
    },
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = T.Expanded$(_this._buildChart$0(), 1),
        t2 = type$.JSArray_legacy_Widget,
        t3 = H._setArrayType([T.Column$(H._setArrayType([_this._legendItem$2("Frame Time (UI)", C.Color_4287148510), C.SizedBox_null_6_null_null, _this._legendItem$2("Frame Time (Raster)", C.Color_4281097642), C.SizedBox_null_6_null_null, _this._legendItem$2("Jank (slow frame)", C.Color_4294280299), C.SizedBox_null_6_null_null, _this._legendItem$2("Shader Compilation", C.Color_4285993007)], t2), C.CrossAxisAlignment_0, C.ValueKey_I3N, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t2);
      if (J.get$isNotEmpty$asx(_this._widget.frames))
        t3.push(_this._buildAverageFps$0());
      return M.Container$(_null, T.Row$(H._setArrayType([t1, C.SizedBox_16_null_null_null, new T.Padding(C.EdgeInsets_0_0_0_10, T.Column$(t3, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, C.VerticalDirection_1), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, 160, _null, _null, C.EdgeInsets_8_0_8_16, _null, _null, _null);
    },
    _buildChart$0: function() {
      return new A.LayoutBuilder(new S._FlutterFramesChartState__buildChart_closure(this), null);
    },
    _buildFrame$1: function(frame) {
      var _this = this, _null = null;
      return R.InkWell$(false, true, new S.FlutterFramesChartItem(frame, frame == _this._flutter_frames_chart$_selectedFrame, _this.get$msPerPx(), 132, _this._widget.displayRefreshRate, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new S._FlutterFramesChartState__buildFrame_closure(_this, frame), _null, _null, _null, _null, _null);
    },
    _legendItem$2: function(description, color) {
      var _null = null;
      return T.Row$(H._setArrayType([M.Container$(_null, _null, C.Clip_0, color, _null, _null, _null, 16, _null, _null, _null, _null, _null, 16), C.SizedBox_8_null_null_null, L.Text$(description, _null, _null, _null, _null, _null, _null, _null, _null, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    _buildAverageFps$0: function() {
      var _null = null;
      return L.Text$("" + C.JSNumber_methods.round$0(1 / (J.fold$2$ax(this._widget.frames, 0, new S._FlutterFramesChartState__buildAverageFps_closure(this)) / J.get$length$asx(this._widget.frames)) * 1000) + " FPS (average)", _null, 2, _null, _null, _null, _null, _null, _null, _null);
    },
    get$horizontalScrollOffset: function() {
      return this.horizontalScrollOffset;
    }
  };
  S._FlutterFramesChartState_initState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.scrollController;
      t2 = t2.get$position(t2)._pixels;
      t2.toString;
      t1.horizontalScrollOffset = t2;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S._FlutterFramesChartState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new S._FlutterFramesChartState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S._FlutterFramesChartState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._flutter_frames_chart$_selectedFrame = t1._flutter_frames_chart$_controller._selectedFrameNotifier._value;
    },
    $signature: 1
  };
  S._FlutterFramesChartState__maybeShowShaderJankMessage_closure.prototype = {
    call$1: function(frame) {
      return frame.hasShaderJank$1(this.$this._widget.displayRefreshRate);
    },
    $signature: 155
  };
  S._FlutterFramesChartState__maybeShowShaderJankMessage_closure0.prototype = {
    call$2: function(prev, frame) {
      var t1 = frame.get$shaderDuration();
      return new P.Duration(prev._duration + t1._duration);
    },
    $signature: 469
  };
  S._FlutterFramesChartState__buildChart_closure.prototype = {
    call$2: function(context, constraints) {
      var _null = null,
        themeData = K.Theme_of(context),
        t1 = this.$this,
        t2 = t1.scrollController,
        chart = E.Scrollbar$(new T.Padding(C.EdgeInsets_0_0_0_10, new U.RoundedOutlinedBorder(B.ListView$builder(t2, new S._FlutterFramesChartState__buildChart__closure(t1), J.get$length$asx(t1._widget.frames), 40, _null, _null, _null, C.Axis_0, false), _null), _null), t2, true);
      return T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([T.CustomPaint$(_null, _null, _null, new S.ChartAxisPainter(constraints, t1._widget.displayRefreshRate, t1.get$msPerPx(), themeData, _null), C.Size_0_0), new T.Padding(C.EdgeInsets_48_0_0_0, chart, _null), T.CustomPaint$(_null, _null, _null, new S.FPSLinePainter(constraints, t1._widget.displayRefreshRate, t1.get$msPerPx(), themeData, _null), C.Size_0_0)], type$.JSArray_legacy_Widget), C.Clip_1, C.StackFit_0, _null, _null);
    },
    $signature: 115
  };
  S._FlutterFramesChartState__buildChart__closure.prototype = {
    call$2: function(context, index) {
      var t1 = this.$this;
      return t1._buildFrame$1(J.$index$asx(t1._widget.frames, index));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  S._FlutterFramesChartState__buildFrame_closure.prototype = {
    call$0: function() {
      return this.$this._flutter_frames_chart$_controller.toggleSelectedFrame$1(this.frame);
    },
    $signature: 3
  };
  S._FlutterFramesChartState__buildAverageFps_closure.prototype = {
    call$2: function(sum, frame) {
      return sum + Math.max(1000 / this.$this._widget.displayRefreshRate, Math.max(C.JSInt_methods._tdivFast$1(frame.get$uiDuration()._duration, 1000), C.JSInt_methods._tdivFast$1(frame.get$rasterDuration()._duration, 1000)));
    },
    $signature: 470
  };
  S.FlutterFramesChartItem.prototype = {
    build$1: function(_, context) {
      var t6, t7, t8, t9, t10, ui, shaderToRasterRatio, raster, _this = this, _null = null, _1000 = 1000,
        colorScheme = K.Theme_of(context).colorScheme,
        t1 = _this.frame,
        t2 = _this.displayRefreshRate,
        t3 = C.JSInt_methods._tdivFast$1(t1.get$uiDuration()._duration, _1000),
        t4 = 1 / t2 * 1000,
        t5 = C.JSInt_methods._tdivFast$1(t1.get$rasterDuration()._duration, _1000),
        hasShaderJank = t1.hasShaderJank$1(t2);
      t2 = t1.id;
      t6 = "frame " + t2 + " - ui";
      t7 = type$.ValueKey_String;
      t8 = _this.msPerPx;
      t9 = _this.availableChartHeight;
      t10 = C.JSNumber_methods.clamp$2(C.JSInt_methods._tdivFast$1(t1.get$uiDuration()._duration, _1000) / t8, 0, t9);
      t3 = t3 > t4 ? C.Color_4294280299 : C.Color_4287148510;
      ui = M.Container$(_null, _null, C.Clip_0, t3, _null, _null, _null, t10, new D.ValueKey(t6, t7), _null, _null, _null, _null, 16);
      shaderToRasterRatio = C.JSInt_methods._tdivFast$1(t1.get$shaderDuration()._duration, _1000) / C.JSInt_methods._tdivFast$1(t1.get$rasterDuration()._duration, _1000);
      t6 = "frame " + t2 + " - raster";
      t10 = C.JSNumber_methods.clamp$2((C.JSInt_methods._tdivFast$1(t1.get$rasterDuration()._duration, _1000) - C.JSInt_methods._tdivFast$1(t1.get$shaderDuration()._duration, _1000)) / t8, 0, t9 * (1 - shaderToRasterRatio));
      t3 = t5 > t4 ? C.Color_4290992474 : C.Color_4281097642;
      t4 = type$.JSArray_legacy_Widget;
      t6 = H._setArrayType([M.Container$(_null, _null, C.Clip_0, t3, _null, _null, _null, t10, new D.ValueKey(t6, t7), _null, _null, _null, _null, 16)], t4);
      if (!J.$eq$(t1.get$shaderDuration(), C.Duration_0)) {
        t2 = "frame " + t2 + " - shaders";
        t6.push(M.Container$(_null, _null, C.Clip_0, C.Color_4285993007, _null, _null, _null, C.JSNumber_methods.clamp$2(C.JSInt_methods._tdivFast$1(t1.get$shaderDuration()._duration, _1000) / t8, 0, t9 * shaderToRasterRatio), new D.ValueKey(t2, t7), _null, _null, _null, _null, 16));
      }
      raster = T.Column$(t6, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
      t2 = t1.eventFlows;
      t3 = t2[0].time;
      t5 = t3._utils$_end;
      t3 = t3._utils$_start;
      t3 = "UI: " + B.msText(new P.Duration(t5._duration - t3._duration), 1);
      t2 = t2[1].time;
      t5 = t2._utils$_end;
      t2 = t2._utils$_start;
      t2 = H._setArrayType([t3, "Raster: " + B.msText(new P.Duration(t5._duration - t2._duration), 1)], type$.JSArray_legacy_String);
      if (hasShaderJank)
        t2.push("Shader Compilation: " + B.msText(t1.get$shaderDuration(), 1));
      t1 = C.JSArray_methods.join$1(t2, "\n");
      t2 = _this.selected;
      if (t2)
        t3 = colorScheme.brightness === C.Brightness_1 ? C.Color_4292599261 : C.Color_4283322191;
      else
        t3 = _null;
      t4 = H._setArrayType([U.DevToolsTooltip$(M.Container$(_null, T.Column$(H._setArrayType([C.Expanded_9Fi0, T.Row$(H._setArrayType([ui, raster], t4), C.CrossAxisAlignment_1, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, t3, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_0_4_0, _null, _null, _null), C.EdgeInsets_8_8_8_8, t1)], t4);
      if (t2)
        t4.push(M.Container$(_null, _null, C.Clip_0, C.Color_4281779956, _null, _null, _null, 8, C.ValueKey_6y6, _null, _null, _null, _null, _null));
      if (hasShaderJank)
        t4.push(T.Row$(C.List_ShaderJankWarningIcon_null, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, _null));
      return T.Stack$(C.AlignmentDirectional_m1_m1, t4, C.Clip_1, C.StackFit_0, _null, _null);
    }
  };
  S.ShaderJankWarningIcon.prototype = {
    createState$0: function() {
      return new S._ShaderJankWarningIconState(C._StateLifecycle_0);
    }
  };
  S._ShaderJankWarningIconState.prototype = {
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this.showFirst = true;
      _this.timer = P.Timer_Timer$periodic(C.Duration_1000000, new S._ShaderJankWarningIconState_initState_closure(_this));
    },
    dispose$0: function(_) {
      this.timer.cancel$0(0);
      this.super$State$dispose(0);
    },
    build$1: function(_, context) {
      var _null = null,
        t1 = L.Icon$(C.IconData_983712_MaterialIcons_false, _null, _null),
        t2 = L.Icon$(C.IconData_983712_MaterialIcons_false, C.MaterialColor_Map_JNsy5_4294951175, _null);
      return new U.AnimatedCrossFade(t1, t2, this.showFirst ? C.CrossFadeState_0 : C.CrossFadeState_1, C.Duration_1000000, _null);
    }
  };
  S._ShaderJankWarningIconState_initState_closure.prototype = {
    call$1: function(timer) {
      var t1 = this.$this;
      t1.setState$1(new S._ShaderJankWarningIconState_initState__closure(t1));
    },
    $signature: 471
  };
  S._ShaderJankWarningIconState_initState__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.showFirst = !t1.showFirst;
    },
    $signature: 1
  };
  S.ChartAxisPainter.prototype = {
    get$colorScheme: function() {
      return this.themeData.colorScheme;
    },
    paint$2: function(canvas, size) {
      var t1 = this.constraints;
      this._paintYAxisLabels$2(canvas, new P.Rect(48, 0, 48 + (t1.maxWidth - 48), 0 + (t1.maxHeight - 10)));
    },
    _paintYAxisLabels$2: function(canvas, chartArea) {
      var timeMs, t3, t4, t5, t6, t7, _i, t8, labelText, tickY, t9, textPainter, t10, _this = this, _null = null,
        t1 = _this.msPerPx,
        totalMs = t1 * _this.constraints.maxHeight,
        timeUnitMs = C.JSNumber_methods._tdivFast$1(totalMs, 5),
        targetMsPerFrameRounded = C.JSNumber_methods.round$0(1 / _this.displayRefreshRate * 1000),
        t2 = H._setArrayType([0], type$.JSArray_legacy_int);
      for (timeMs = targetMsPerFrameRounded - timeUnitMs; timeMs > 0; timeMs -= timeUnitMs)
        t2.push(timeMs);
      t2.push(targetMsPerFrameRounded);
      for (timeMs = targetMsPerFrameRounded + timeUnitMs; timeMs < totalMs; timeMs += timeUnitMs)
        t2.push(timeMs);
      for (t3 = t2.length, t4 = chartArea.bottom, t5 = chartArea.top, t6 = _this.themeData, t7 = chartArea.left, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
        timeMs = t2[_i];
        t8 = C.JSNumber_methods.toStringAsFixed$1(1000 * timeMs / 1000, 0);
        labelText = t8 + " ms";
        tickY = t4 - t5 - timeMs / t1;
        t8 = H._detectRenderer();
        t8 = t8 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        t9 = t6.colorScheme.brightness === C.Brightness_1;
        t8.set$color(0, t9 ? C.Color_4291611852 : C.Color_4283979864);
        canvas.drawLine$3(0, new P.Offset(t7 - 4, tickY), new P.Offset(t7 + 4, tickY), t8);
        t8 = t9 ? C.Color_4288256409 : C.Color_4287269514;
        textPainter = new U.TextPainter(new Q.TextSpan(labelText, _null, _null, C.C__DeferringMouseCursor, _null, new A.TextStyle(true, t8, _null, _null, _null, _null, 12, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)), C.TextAlign_5, C.TextDirection_1, 1, _null, _null, _null, _null, C.TextWidthBasis_0, _null);
        textPainter.layout$0(0);
        t8 = textPainter._textWidthBasis;
        t9 = textPainter._text_painter$_paragraph;
        t8 = t8 === C.TextWidthBasis_1 ? t9.get$longestLine() : t9.get$width(t9);
        t8.toString;
        t8 = Math.ceil(t8);
        t9 = textPainter._text_painter$_paragraph;
        t9 = t9.get$height(t9);
        t9.toString;
        t9 = Math.ceil(t9);
        t10 = textPainter._text_painter$_paragraph;
        t10.toString;
        canvas.drawParagraph$2(0, t10, new P.Offset(40 - t8, tickY - t9 / 2 - 2));
      }
    },
    shouldRepaint$1: function(oldDelegate) {
      return this.themeData.colorScheme.brightness === C.Brightness_0 !== (oldDelegate.themeData.colorScheme.brightness === C.Brightness_0);
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  S.FPSLinePainter.prototype = {
    get$colorScheme: function() {
      return this.themeData.colorScheme;
    },
    paint$2: function(canvas, size) {
      var t4, textPainter, _this = this, _null = null,
        t1 = _this.constraints,
        t2 = 48 + (t1.maxWidth - 48),
        t3 = _this.displayRefreshRate,
        targetLineY = 0 + (t1.maxHeight - 10) - 0 - 1000 / t3 / _this.msPerPx;
      t1 = H._detectRenderer();
      t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t4 = _this.themeData.colorScheme.brightness === C.Brightness_1;
      t1.set$color(0, t4 ? C.Color_4291611852 : C.Color_4283979864);
      canvas.drawLine$3(0, new P.Offset(48, targetLineY), new P.Offset(t2, targetLineY), t1);
      t1 = C.JSNumber_methods.toStringAsFixed$1(t3, 0) + " FPS";
      textPainter = U.TextPainter$(_null, _null, _null, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t4 ? C.Color_4288256409 : C.Color_4287269514, _null, _null, _null, _null, _null, _null, _null, _null, 12, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), t1), C.TextAlign_1, C.TextDirection_1, _null, 1, C.TextWidthBasis_0);
      textPainter.layout$0(0);
      t1 = textPainter._text_painter$_paragraph;
      t1.toString;
      canvas.drawParagraph$2(0, t1, new P.Offset(t2 - 45, targetLineY + 2));
    },
    shouldRepaint$1: function(oldDelegate) {
      return this.themeData.colorScheme.brightness === C.Brightness_0 !== (oldDelegate.themeData.colorScheme.brightness === C.Brightness_0);
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  S.__FlutterFramesChartState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  F.EventDetails0.prototype = {
    build$1: function(_, context) {
      var _null = null,
        controller = Y.Provider_of(context, true, type$.legacy_LegacyPerformanceController),
        theme = K.Theme_of(context),
        t1 = this.selectedEvent,
        t2 = U.AreaPaneHeader$(C.List_empty11, 1, true, false, false, 4, false, L.Text$(this._event_details$_generateHeaderText$1(t1), _null, _null, _null, _null, _null, _null, _null, _null, _null));
      return new U.OutlineDecoration(T.Column$(H._setArrayType([t2, T.Expanded$(t1 != null ? this._event_details$_buildDetails$1(controller) : T.Center$(L.Text$(string$.Select, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _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), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
    },
    _event_details$_generateHeaderText$1: function($event) {
      var t2, t3,
        t1 = this.selectedEvent;
      if (t1 == null)
        return "[No event selected]";
      t2 = t1.type === C.TimelineEventType_0 ? "CPU Profile: " : "";
      t2 = t2 + H.S(C.JSArray_methods.get$first(t1.traceEvents).event.name) + " (";
      t1 = t1.time;
      t3 = t1._utils$_end;
      t1 = t1._utils$_start;
      return t2 + B.msText(new P.Duration(t3._duration - t1._duration), 1) + ")";
    },
    _event_details$_buildDetails$1: function(controller) {
      var t1 = this.selectedEvent;
      if (t1.type === C.TimelineEventType_0) {
        if ($.offlineMode)
          return this._event_details$_buildCpuProfiler$1(controller.CpuProfilerControllerProviderMixin_cpuProfilerController);
        controller.toString;
        return N.ValueListenableBuilder$(new F.EventDetails__buildDetails_closure0(this, controller), $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profiler"), type$.legacy_Flag);
      }
      return F.EventSummary$0(t1);
    },
    _event_details$_buildCpuProfiler$1: function(cpuProfilerController) {
      return N.ValueListenableBuilder$(new F.EventDetails__buildCpuProfiler_closure0(this, cpuProfilerController), cpuProfilerController._dataNotifier, type$.legacy_CpuProfileData);
    },
    _event_details$_buildProcessingInfo$1: function(cpuProfilerController) {
      return N.ValueListenableBuilder$(new F.EventDetails__buildProcessingInfo_closure0(), cpuProfilerController.transformer._progressNotifier, type$.dynamic);
    }
  };
  F.EventDetails__buildDetails_closure0.prototype = {
    call$3: function(context, profilerFlag, _) {
      var t1 = this.controller.CpuProfilerControllerProviderMixin_cpuProfilerController;
      return profilerFlag.valueAsString === "true" ? this.$this._event_details$_buildCpuProfiler$1(t1) : new V.CpuProfilerDisabled(t1, null);
    },
    $signature: 161
  };
  F.EventDetails__buildCpuProfiler_closure0.prototype = {
    call$3: function(context, cpuProfileData, _) {
      var _this = this;
      if (cpuProfileData == null)
        return _this.$this._event_details$_buildProcessingInfo$1(_this.cpuProfilerController);
      return V.CpuProfiler$(_this.cpuProfilerController, cpuProfileData, null, F.EventSummary$0(_this.$this.selectedEvent));
    },
    $signature: 160
  };
  F.EventDetails__buildProcessingInfo_closure0.prototype = {
    call$3: function(context, progress, _) {
      return new U.ProcessingInfo(progress, "CPU samples", null);
    },
    $signature: 332
  };
  F.EventSummary0.prototype = {
    build$1: function(_, context) {
      var t4, t5, t6, asyncId, _this = this, _null = null,
        t1 = _this.event,
        t2 = t1.time,
        t3 = t2._utils$_end;
      t2 = t2._utils$_start;
      t2 = B.msText(new P.Duration(t3._duration - t2._duration), 1);
      t3 = "[" + t1.time._utils$_start._duration + " \u03bcs \u2014  " + t1.time._utils$_end._duration + " \u03bcs]";
      t4 = K.Theme_of(context);
      t4 = O.SelectableText$(t3, _null, _null, t4.textTheme.bodyText2.copyWith$1$fontFamily("RobotoMono").copyWith$1$color(t4.unselectedWidgetColor), _null);
      t3 = t1.traceEvents;
      t5 = type$.JSArray_legacy_Widget;
      t6 = H._setArrayType([new T.Flexible(1, C.FlexFit_0, new F.EventMetaData0("Category", H.S(C.JSArray_methods.get$first(t3).event.category), _null, _null), _null)], t5);
      if (t1.type === C.TimelineEventType_2) {
        if (t1 instanceof Y.LegacyOfflineTimelineEvent)
          asyncId = J.$index$asx(C.JSArray_methods.get$first(t3).event.json, "id");
        else {
          type$.legacy_LegacyAsyncTimelineEvent._as(t1);
          asyncId = J.$index$asx(C.JSArray_methods.get$first(t3).event.json, "id");
        }
        t6.push(new T.Flexible(1, C.FlexFit_0, new F.EventMetaData0("Async id", asyncId, _null, _null), _null));
      }
      t6.push(new T.Flexible(1, C.FlexFit_0, new F.EventMetaData0("Thread id", H.S(C.JSArray_methods.get$first(t3).event.threadId), _null, _null), _null));
      t6.push(new T.Flexible(1, C.FlexFit_0, new F.EventMetaData0("Process id", H.S(C.JSArray_methods.get$first(t3).event.processId), _null, _null), _null));
      t1 = H._setArrayType([new T.Padding(C.EdgeInsets_16_0_16_0, new F.EventMetaData0("Time", t2, t4, _null), _null), new T.Padding(C.EdgeInsets_16_0_16_0, T.Row$(t6, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null)], t5);
      if (_this._event_details$_connectedEvents.length !== 0)
        t1.push(_this._event_details$_buildConnectedEvents$1(context));
      t2 = _this._event_details$_eventArgs;
      if (t2.get$isNotEmpty(t2))
        t1.push(new F.ExpandingEventMetaData0("Arguments", H._setArrayType([new U.FormattedJson(t2, _null, true, _null)], t5), _null));
      return B.ListView$(t1, _null, _null, C.EdgeInsets_0_8_0_8, _null, _null, false);
    },
    _event_details$_buildConnectedEvents$1: function(context) {
      var t2, t3, t4, t5, t6, _i, e, t7, t8, eventArgs, _null = null,
        t1 = H._setArrayType([], type$.JSArray_legacy_Widget);
      for (t2 = this._event_details$_connectedEvents, t3 = t2.length, t4 = type$.legacy_String, t5 = type$.legacy_Object, t6 = this.event, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
        e = t2[_i];
        t7 = e.time._utils$_start;
        t8 = t6.time._utils$_start;
        t8 = C.JSNumber_methods.toStringAsFixed$1((t7._duration - t8._duration) / 1000, 1);
        t7 = t8 + " ms";
        t8 = e.traceEvents;
        eventArgs = P.LinkedHashMap_LinkedHashMap$_literal(["startTime", t7, "args", C.JSArray_methods.get$first(t8).event.args], t4, t5);
        t1.push(new F.EventMetaData0(C.JSArray_methods.get$first(t8).event.name, _null, new U.FormattedJson(eventArgs, _null, true, _null), _null));
      }
      return new F.ExpandingEventMetaData0("Connected events", t1, _null);
    }
  };
  F.EventSummary_closure0.prototype = {
    call$1: function(e) {
      return C.JSArray_methods.get$first(e.traceEvents).event.phase === "n";
    },
    $signature: 49
  };
  F.EventMetaData0.prototype = {
    build$1: function(_, context) {
      var t4, t5, _null = null,
        theme = K.Theme_of(context),
        t1 = H.S(this.title),
        t2 = this.inlineValue,
        t3 = t2 != null;
      t1 += t3 ? ":  " : "";
      t4 = theme.textTheme;
      t5 = H._setArrayType([], type$.JSArray_legacy_InlineSpan);
      if (t3)
        t5.push(Q.TextSpan$(_null, _null, _null, t4.bodyText2.copyWith$1$fontFamily("RobotoMono").copyWith$1$color(theme.unselectedWidgetColor), t2));
      t2 = type$.JSArray_legacy_Widget;
      t1 = H._setArrayType([O.SelectableText$rich(Q.TextSpan$(t5, _null, _null, t4.subtitle2, t1), _null, _null, _null)], t2);
      t3 = this.child;
      if (t3 != null)
        C.JSArray_methods.addAll$1(t1, H._setArrayType([C.SizedBox_null_4_null_null, t3], t2));
      return new T.Padding(C.EdgeInsets_0_8_0_8, T.Column$(t1, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), _null);
    }
  };
  F.ExpandingEventMetaData0.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return O.ExpansionTile$(_null, this.children, C.EdgeInsets_16_0_16_0, _null, C.Alignment_m1_m1, false, _null, _null, _null, L.Text$(this.title, _null, _null, _null, _null, _null, K.Theme_of(context).textTheme.subtitle2, _null, _null, _null));
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  S.LegacyFlutterFramesChart.prototype = {
    createState$0: function() {
      return new S._LegacyFlutterFramesChartState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  S._LegacyFlutterFramesChartState.prototype = {
    get$msPerPx: function() {
      return 1 / this._widget.displayRefreshRate * 1000 * 2 / 134;
    },
    initState$0: function() {
      this.super$State$initState();
      var t1 = F.ScrollController$(0);
      t1.addListener$1(0, new S._LegacyFlutterFramesChartState_initState_closure(this));
      this.scrollController = t1;
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_LegacyPerformanceController);
      if (newController == _this._flutter_frames_chart0$_controller)
        return;
      _this._flutter_frames_chart0$_controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(_this._flutter_frames_chart0$_controller._performance_controller0$_selectedFrameNotifier, new S._LegacyFlutterFramesChartState_didChangeDependencies_closure(_this));
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, pos, t2;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this.scrollController._positions;
      if (t1.length !== 0) {
        pos = C.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)
        U.ScrollControllerAutoScroll_autoScrollToBottom(this.scrollController);
    },
    dispose$0: function(_) {
      this.scrollController.dispose$0(0);
      this.super$__LegacyFlutterFramesChartState_State_AutoDisposeMixin$dispose(0);
    },
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = T.Expanded$(_this._flutter_frames_chart0$_buildChart$0(), 1),
        t2 = type$.JSArray_legacy_Widget,
        t3 = H._setArrayType([T.Column$(H._setArrayType([_this._flutter_frames_chart0$_legendItem$2("Frame Time (UI)", C.Color_4287148510), C.SizedBox_null_6_null_null, _this._flutter_frames_chart0$_legendItem$2("Frame Time (Raster)", C.Color_4281097642), C.SizedBox_null_6_null_null, _this._flutter_frames_chart0$_legendItem$2("Jank (slow frame)", C.Color_4294280299)], t2), C.CrossAxisAlignment_0, C.ValueKey_I3N, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t2);
      if (J.get$isNotEmpty$asx(_this._widget.frames))
        t3.push(_this._flutter_frames_chart0$_buildAverageFps$0());
      return M.Container$(_null, T.Row$(H._setArrayType([t1, C.SizedBox_16_null_null_null, new T.Padding(C.EdgeInsets_0_0_0_10, T.Column$(t3, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, C.VerticalDirection_1), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, 160, _null, _null, C.EdgeInsets_8_0_8_16, _null, _null, _null);
    },
    _flutter_frames_chart0$_buildChart$0: function() {
      return new A.LayoutBuilder(new S._LegacyFlutterFramesChartState__buildChart_closure(this), null);
    },
    _flutter_frames_chart0$_buildFrame$1: function(frame) {
      var _this = this, _null = null;
      return R.InkWell$(false, true, new S.LegacyFlutterFramesChartItem(frame, frame == _this._flutter_frames_chart0$_selectedFrame, _this.get$msPerPx(), 132, _this._widget.displayRefreshRate, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new S._LegacyFlutterFramesChartState__buildFrame_closure(_this, frame), _null, _null, _null, _null, _null);
    },
    _flutter_frames_chart0$_legendItem$2: function(description, color) {
      var _null = null;
      return T.Row$(H._setArrayType([M.Container$(_null, _null, C.Clip_0, color, _null, _null, _null, 16, _null, _null, _null, _null, _null, 16), C.SizedBox_8_null_null_null, L.Text$(description, _null, _null, _null, _null, _null, _null, _null, _null, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    _flutter_frames_chart0$_buildAverageFps$0: function() {
      var _null = null;
      return L.Text$("" + C.JSNumber_methods.round$0(1 / (J.fold$2$ax(this._widget.frames, 0, new S._LegacyFlutterFramesChartState__buildAverageFps_closure(this)) / J.get$length$asx(this._widget.frames)) * 1000) + " FPS (average)", _null, 2, _null, _null, _null, _null, _null, _null, _null);
    },
    get$horizontalScrollOffset: function() {
      return this.horizontalScrollOffset;
    }
  };
  S._LegacyFlutterFramesChartState_initState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.scrollController;
      t2 = t2.get$position(t2)._pixels;
      t2.toString;
      t1.horizontalScrollOffset = t2;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S._LegacyFlutterFramesChartState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new S._LegacyFlutterFramesChartState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S._LegacyFlutterFramesChartState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._flutter_frames_chart0$_selectedFrame = t1._flutter_frames_chart0$_controller._performance_controller0$_selectedFrameNotifier._value;
    },
    $signature: 1
  };
  S._LegacyFlutterFramesChartState__buildChart_closure.prototype = {
    call$2: function(context, constraints) {
      var _null = null,
        themeData = K.Theme_of(context),
        t1 = this.$this,
        t2 = t1.scrollController,
        chart = E.Scrollbar$(new T.Padding(C.EdgeInsets_0_0_0_10, new U.RoundedOutlinedBorder(B.ListView$builder(t2, new S._LegacyFlutterFramesChartState__buildChart__closure(t1), J.get$length$asx(t1._widget.frames), 40, _null, _null, _null, C.Axis_0, false), _null), _null), t2, true);
      return T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([T.CustomPaint$(_null, _null, _null, new S.LegacyChartAxisPainter(constraints, t1._widget.displayRefreshRate, t1.get$msPerPx(), themeData, _null), C.Size_0_0), new T.Padding(C.EdgeInsets_48_0_0_0, chart, _null), T.CustomPaint$(_null, _null, _null, new S.LegacyFPSLinePainter(constraints, t1._widget.displayRefreshRate, t1.get$msPerPx(), themeData, _null), C.Size_0_0)], type$.JSArray_legacy_Widget), C.Clip_1, C.StackFit_0, _null, _null);
    },
    $signature: 115
  };
  S._LegacyFlutterFramesChartState__buildChart__closure.prototype = {
    call$2: function(context, index) {
      var t1 = this.$this;
      return t1._flutter_frames_chart0$_buildFrame$1(J.$index$asx(t1._widget.frames, index));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  S._LegacyFlutterFramesChartState__buildFrame_closure.prototype = {
    call$0: function() {
      return this.$this._flutter_frames_chart0$_controller.toggleSelectedFrame$1(this.frame);
    },
    $signature: 3
  };
  S._LegacyFlutterFramesChartState__buildAverageFps_closure.prototype = {
    call$2: function(sum, frame) {
      var t1 = this.$this._widget.displayRefreshRate,
        t2 = frame.get$uiDuration() != null ? frame.get$uiDuration() / 1000 : null,
        t3 = frame.get$rasterDuration() != null ? frame.get$rasterDuration() / 1000 : null;
      return sum + Math.max(1000 / t1, Math.max(H.checkNum(t2), H.checkNum(t3)));
    },
    $signature: 473
  };
  S.LegacyFlutterFramesChartItem.prototype = {
    build$1: function(_, context) {
      var ui, raster, _this = this, _null = null,
        colorScheme = K.Theme_of(context).colorScheme,
        t1 = _this.frame,
        t2 = t1.get$uiDuration() != null ? t1.get$uiDuration() / 1000 : _null,
        t3 = 1 / _this.displayRefreshRate * 1000,
        t4 = t1.get$rasterDuration() != null ? t1.get$rasterDuration() / 1000 : _null,
        t5 = t1.id,
        t6 = "frame " + t5 + " - ui",
        t7 = type$.ValueKey_String,
        t8 = t1.get$uiDuration() != null ? t1.get$uiDuration() / 1000 : _null,
        t9 = _this.msPerPx,
        t10 = _this.availableChartHeight;
      t8 = C.JSNumber_methods.clamp$2(t8 / t9, 0, t10);
      t2 = t2 > t3 ? C.Color_4294280299 : C.Color_4287148510;
      ui = M.Container$(_null, _null, C.Clip_0, t2, _null, _null, _null, t8, new D.ValueKey(t6, t7), _null, _null, _null, _null, 16);
      t5 = "frame " + t5 + " - raster";
      t2 = C.JSNumber_methods.clamp$2((t1.get$rasterDuration() != null ? t1.get$rasterDuration() / 1000 : _null) / t9, 0, t10);
      t3 = t4 > t3 ? C.Color_4290992474 : C.Color_4281097642;
      raster = M.Container$(_null, _null, C.Clip_0, t3, _null, _null, _null, t2, new D.ValueKey(t5, t7), _null, _null, _null, _null, 16);
      t1 = t1.eventFlows;
      t7 = t1[0].time;
      t5 = t7._utils$_end;
      t7 = t7._utils$_start;
      t7 = "UI: " + B.msText(new P.Duration(t5._duration - t7._duration), 1) + "\nRaster: ";
      t1 = t1[1].time;
      t5 = t1._utils$_end;
      t1 = t1._utils$_start;
      t1 = t7 + B.msText(new P.Duration(t5._duration - t1._duration), 1);
      t2 = _this.selected;
      if (t2)
        t3 = colorScheme.brightness === C.Brightness_1 ? C.Color_4292599261 : C.Color_4283322191;
      else
        t3 = _null;
      t4 = type$.JSArray_legacy_Widget;
      t4 = H._setArrayType([U.DevToolsTooltip$(M.Container$(_null, T.Column$(H._setArrayType([C.Expanded_9Fi0, T.Row$(H._setArrayType([ui, raster], t4), C.CrossAxisAlignment_1, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, t3, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_0_4_0, _null, _null, _null), C.EdgeInsets_8_8_8_8, t1)], t4);
      if (t2)
        t4.push(M.Container$(_null, _null, C.Clip_0, C.Color_4281779956, _null, _null, _null, 8, C.ValueKey_6y6, _null, _null, _null, _null, _null));
      return T.Stack$(C.AlignmentDirectional_m1_m1, t4, C.Clip_1, C.StackFit_0, _null, _null);
    }
  };
  S.LegacyChartAxisPainter.prototype = {
    get$colorScheme: function() {
      return this.themeData.colorScheme;
    },
    paint$2: function(canvas, size) {
      var t1 = this.constraints;
      this._flutter_frames_chart0$_paintYAxisLabels$2(canvas, new P.Rect(48, 0, 48 + (t1.maxWidth - 48), 0 + (t1.maxHeight - 10)));
    },
    _flutter_frames_chart0$_paintYAxisLabels$2: function(canvas, chartArea) {
      var timeMs, t3, t4, t5, t6, t7, _i, t8, labelText, tickY, t9, textPainter, t10, _this = this, _null = null,
        t1 = _this.msPerPx,
        totalMs = t1 * _this.constraints.maxHeight,
        timeUnitMs = C.JSNumber_methods._tdivFast$1(totalMs, 5),
        targetMsPerFrameRounded = C.JSNumber_methods.round$0(1 / _this.displayRefreshRate * 1000),
        t2 = H._setArrayType([0], type$.JSArray_legacy_int);
      for (timeMs = targetMsPerFrameRounded - timeUnitMs; timeMs > 0; timeMs -= timeUnitMs)
        t2.push(timeMs);
      t2.push(targetMsPerFrameRounded);
      for (timeMs = targetMsPerFrameRounded + timeUnitMs; timeMs < totalMs; timeMs += timeUnitMs)
        t2.push(timeMs);
      for (t3 = t2.length, t4 = chartArea.bottom, t5 = chartArea.top, t6 = _this.themeData, t7 = chartArea.left, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
        timeMs = t2[_i];
        t8 = C.JSNumber_methods.toStringAsFixed$1(1000 * timeMs / 1000, 0);
        labelText = t8 + " ms";
        tickY = t4 - t5 - timeMs / t1;
        t8 = H._detectRenderer();
        t8 = t8 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        t9 = t6.colorScheme.brightness === C.Brightness_1;
        t8.set$color(0, t9 ? C.Color_4291611852 : C.Color_4283979864);
        canvas.drawLine$3(0, new P.Offset(t7 - 4, tickY), new P.Offset(t7 + 4, tickY), t8);
        t8 = t9 ? C.Color_4288256409 : C.Color_4287269514;
        textPainter = new U.TextPainter(new Q.TextSpan(labelText, _null, _null, C.C__DeferringMouseCursor, _null, new A.TextStyle(true, t8, _null, _null, _null, _null, 12, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)), C.TextAlign_5, C.TextDirection_1, 1, _null, _null, _null, _null, C.TextWidthBasis_0, _null);
        textPainter.layout$0(0);
        t8 = textPainter._textWidthBasis;
        t9 = textPainter._text_painter$_paragraph;
        t8 = t8 === C.TextWidthBasis_1 ? t9.get$longestLine() : t9.get$width(t9);
        t8.toString;
        t8 = Math.ceil(t8);
        t9 = textPainter._text_painter$_paragraph;
        t9 = t9.get$height(t9);
        t9.toString;
        t9 = Math.ceil(t9);
        t10 = textPainter._text_painter$_paragraph;
        t10.toString;
        canvas.drawParagraph$2(0, t10, new P.Offset(40 - t8, tickY - t9 / 2 - 2));
      }
    },
    shouldRepaint$1: function(oldDelegate) {
      return this.themeData.colorScheme.brightness === C.Brightness_0 !== (oldDelegate.themeData.colorScheme.brightness === C.Brightness_0);
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  S.LegacyFPSLinePainter.prototype = {
    get$colorScheme: function() {
      return this.themeData.colorScheme;
    },
    paint$2: function(canvas, size) {
      var t4, textPainter, _this = this, _null = null,
        t1 = _this.constraints,
        t2 = 48 + (t1.maxWidth - 48),
        t3 = _this.displayRefreshRate,
        targetLineY = 0 + (t1.maxHeight - 10) - 0 - 1000 / t3 / _this.msPerPx;
      t1 = H._detectRenderer();
      t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t4 = _this.themeData.colorScheme.brightness === C.Brightness_1;
      t1.set$color(0, t4 ? C.Color_4291611852 : C.Color_4283979864);
      canvas.drawLine$3(0, new P.Offset(48, targetLineY), new P.Offset(t2, targetLineY), t1);
      t1 = C.JSNumber_methods.toStringAsFixed$1(t3, 0) + " FPS";
      textPainter = U.TextPainter$(_null, _null, _null, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t4 ? C.Color_4288256409 : C.Color_4287269514, _null, _null, _null, _null, _null, _null, _null, _null, 12, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), t1), C.TextAlign_1, C.TextDirection_1, _null, 1, C.TextWidthBasis_0);
      textPainter.layout$0(0);
      t1 = textPainter._text_painter$_paragraph;
      t1.toString;
      canvas.drawParagraph$2(0, t1, new P.Offset(t2 - 45, targetLineY + 2));
    },
    shouldRepaint$1: function(oldDelegate) {
      return this.themeData.colorScheme.brightness === C.Brightness_0 !== (oldDelegate.themeData.colorScheme.brightness === C.Brightness_0);
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  S.__LegacyFlutterFramesChartState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  B.LegacyPerformanceController.prototype = {
    _performance_controller0$_initHelper$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, $async$temp1;
      var $async$_performance_controller0$_initHelper$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = !$.offlineMode ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceAvailable.future, $async$_performance_controller0$_initHelper$0);
            case 4:
              // returning from await.
              $async$temp1 = $async$self._performance_controller0$_badgeTabForJankyFrames;
              $async$goto = 5;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp.get$isProfileBuild(), $async$_performance_controller0$_initHelper$0);
            case 5:
              // returning from await.
              $async$temp1.set$value(0, $async$result);
              $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).toString;
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = t1._vmService;
              t2.toString;
              t3 = type$.dynamic;
              T.allowedError(t1.trackFuture$1$2("setFlag", t2._call$1$2(0, "setFlag", P.LinkedHashMap_LinkedHashMap$_literal(["name", "profile_period", "value", "250"], t3, t3), type$.Response), type$.legacy_Response), false);
              $async$goto = 6;
              return P._asyncAwait($async$self.setTimelineStreams$1(H._setArrayType([$.$get$dartTimelineStream(), $.$get$embedderTimelineStream(), $.$get$gcTimelineStream()], type$.JSArray_legacy_RecordedTimelineStream)), $async$_performance_controller0$_initHelper$0);
            case 6:
              // returning from await.
              $async$goto = 7;
              return P._asyncAwait($async$self.toggleHttpRequestLogging$1(true), $async$_performance_controller0$_initHelper$0);
            case 7:
              // returning from await.
              t3 = $async$self._performance_controller0$_displayRefreshRate;
              $async$goto = 8;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).get$queryDisplayRefreshRate(), $async$_performance_controller0$_initHelper$0);
            case 8:
              // returning from await.
              t2 = $async$result;
              t3.set$value(0, t2 == null ? 60 : t2);
              t1 = $async$self.data;
              if (t1 != null)
                t1.displayRefreshRate = t3._value;
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_performance_controller0$_initHelper$0, $async$completer);
    },
    selectTimelineEvent$2$updateProfiler: function($event, updateProfiler) {
      return this.selectTimelineEvent$body$LegacyPerformanceController($event, updateProfiler);
    },
    selectTimelineEvent$1: function($event) {
      return this.selectTimelineEvent$2$updateProfiler($event, true);
    },
    selectTimelineEvent$body$LegacyPerformanceController: function($event, updateProfiler) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, storedProfile;
      var $async$selectTimelineEvent$2$updateProfiler = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($event == null || $async$self.data.selectedEvent === $event) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.data.selectedEvent = $event;
              $async$self._performance_controller0$_selectedTimelineEventNotifier.set$value(0, $event);
              $async$goto = $event.type === C.TimelineEventType_0 && updateProfiler ? 3 : 4;
              break;
            case 3:
              // then
              t1 = $async$self.CpuProfilerControllerProviderMixin_cpuProfilerController;
              t2 = t1.cpuProfileStore;
              t3 = $event.time;
              t2._maybeGenerateSubProfile$1(t3);
              storedProfile = t2._profiles.$index(0, t3);
              $async$goto = storedProfile != null ? 5 : 7;
              break;
            case 5:
              // then
              $async$goto = 8;
              return P._asyncAwait(t1.processAndSetData$2$processId(storedProfile, "Stored profile for " + $event.time.toString$0(0)), $async$selectTimelineEvent$2$updateProfiler);
            case 8:
              // returning from await.
              $async$self.data.cpuProfileData = t1._dataNotifier._value;
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              t2 = $.offlineMode;
              if (!t2 || $async$self.offlinePerformanceData == null)
                t2 = t2 ? true : $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profiler")._value.valueAsString === "true";
              else
                t2 = false;
              $async$goto = t2 ? 9 : 10;
              break;
            case 9:
              // then
              t1.reset$0(0);
              t2 = $event.time;
              t3 = t2._utils$_start._duration;
              $async$goto = 11;
              return P._asyncAwait(t1.pullAndProcessProfile$3$extentMicros$processId$startMicros(t2._utils$_end._duration - t3, "" + C.JSArray_methods.get$first($event.traceEvents).id, t3), $async$selectTimelineEvent$2$updateProfiler);
            case 11:
              // returning from await.
              $async$self.data.cpuProfileData = t1._dataNotifier._value;
            case 10:
              // join
            case 6:
              // join
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$selectTimelineEvent$2$updateProfiler, $async$completer);
    },
    toggleSelectedFrame$1: function(frame) {
      return this.toggleSelectedFrame$body$LegacyPerformanceController(frame);
    },
    toggleSelectedFrame$body$LegacyPerformanceController: function(frame) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, storedProfileForFrame;
      var $async$toggleSelectedFrame$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (frame == null || $async$self.data == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.data;
              if (t1.selectedFrame == frame) {
                t1.selectedFrame = null;
                $async$self._performance_controller0$_selectedFrameNotifier.set$value(0, null);
                // goto return
                $async$goto = 1;
                break;
              }
              t1.selectedFrame = frame;
              $async$self._performance_controller0$_selectedFrameNotifier.set$value(0, frame);
              $async$goto = 3;
              return P._asyncAwait($async$self.selectTimelineEvent$2$updateProfiler(frame.eventFlows[0], false), $async$toggleSelectedFrame$1);
            case 3:
              // returning from await.
              t1 = $async$self.CpuProfilerControllerProviderMixin_cpuProfilerController;
              t2 = t1.cpuProfileStore;
              t3 = frame.time;
              t2._maybeGenerateSubProfile$1(t3);
              storedProfileForFrame = t2._profiles.$index(0, t3);
              $async$goto = storedProfileForFrame == null ? 4 : 6;
              break;
            case 4:
              // then
              t1.reset$0(0);
              $async$goto = !$.offlineMode ? 7 : 8;
              break;
            case 7:
              // then
              t2 = t3._utils$_start._duration;
              $async$goto = 9;
              return P._asyncAwait(t1.pullAndProcessProfile$3$extentMicros$processId$startMicros(t3._utils$_end._duration - t2, "Flutter frame " + frame.id, t2), $async$toggleSelectedFrame$1);
            case 9:
              // returning from await.
            case 8:
              // join
              $async$self.data.cpuProfileData = t1._dataNotifier._value;
              // goto join
              $async$goto = 5;
              break;
            case 6:
              // else
              $async$self.data.cpuProfileData = storedProfileForFrame;
              t1.loadProcessedData$1(storedProfileForFrame);
            case 5:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$toggleSelectedFrame$1, $async$completer);
    },
    refreshData$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, timeline, t4, t5, _i, t6, t7, $async$temp1;
      var $async$refreshData$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.clearData$1$clearVmTimeline(0, false), $async$refreshData$0);
            case 3:
              // returning from await.
              $async$goto = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp ? 4 : 6;
              break;
            case 4:
              // then
              $async$temp1 = Y;
              $async$goto = 7;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).get$queryDisplayRefreshRate(), $async$refreshData$0);
            case 7:
              // returning from await.
              $async$result = $async$temp1.LegacyPerformanceData$(null, $async$result, null, null, null, null);
              // goto join
              $async$goto = 5;
              break;
            case 6:
              // else
              $async$result = Y.LegacyPerformanceData$(null, null, null, null, null, null);
            case 5:
              // join
              $async$self.data = $async$result;
              t1 = $async$self._performance_controller0$_emptyTimeline;
              t1.set$value(0, false);
              t2 = $async$self._performance_controller0$_refreshing;
              t2.set$value(0, true);
              t3 = $async$self.allTraceEvents;
              C.JSArray_methods.set$length(t3, 0);
              $async$goto = 8;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.getVMTimeline$0(), $async$refreshData$0);
            case 8:
              // returning from await.
              timeline = $async$result;
              $async$self.primeThreadIds$1(timeline);
              for (t4 = timeline.traceEvents, t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, H.throwConcurrentModificationError)(t4), ++_i) {
                t6 = L.TraceEvent$(t4[_i].json);
                Date.now();
                t7 = $._traceEventWrapperId;
                $._traceEventWrapperId = t7 + 1;
                t3.push(new L.TraceEventWrapper(t6, t7));
              }
              t2.set$value(0, false);
              if (t3.length === 0) {
                t1.set$value(0, true);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._performance_controller0$_processing;
              t1.set$value(0, true);
              $async$goto = 9;
              return P._asyncAwait($async$self.processTraceEvents$1(t3), $async$refreshData$0);
            case 9:
              // returning from await.
              t1.set$value(0, false);
              $async$self._performance_controller0$_flutterFrames.set$value(0, $async$self.data.frames);
              $async$self._performance_controller0$_maybeBadgeTabForJankyFrames$0();
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$refreshData$0, $async$completer);
    },
    _performance_controller0$_maybeBadgeTabForJankyFrames$0: function() {
      var t1, t2, t3, t4, t5, t6, t7, t8, _null = null;
      if (this._performance_controller0$_badgeTabForJankyFrames._value)
        for (t1 = J.get$iterator$ax(this._performance_controller0$_flutterFrames._value), t2 = this._performance_controller0$_displayRefreshRate; t1.moveNext$0();) {
          t3 = t1.get$current(t1);
          t4 = t2._value;
          t3 = t3.eventFlows;
          t5 = t3[0];
          t6 = t5 == null;
          t7 = t6 ? _null : t5.time;
          if (t7 == null)
            t7 = _null;
          else {
            t8 = t7._utils$_end;
            t7 = t7._utils$_start;
            t7 = new P.Duration(t8._duration - t7._duration);
          }
          if ((t7 == null ? _null : t7._duration) != null) {
            t5 = t6 ? _null : t5.time;
            if (t5 == null)
              t5 = _null;
            else {
              t6 = t5._utils$_end;
              t5 = t5._utils$_start;
              t5 = new P.Duration(t6._duration - t5._duration);
            }
            t5 = (t5 == null ? _null : t5._duration) / 1000;
          } else
            t5 = _null;
          t4 = 1 / t4 * 1000;
          if (!(t5 > t4)) {
            t3 = t3[1];
            t5 = t3 == null;
            t6 = t5 ? _null : t3.time;
            if (t6 == null)
              t6 = _null;
            else {
              t7 = t6._utils$_end;
              t6 = t6._utils$_start;
              t6 = new P.Duration(t7._duration - t6._duration);
            }
            if ((t6 == null ? _null : t6._duration) != null) {
              t3 = t5 ? _null : t3.time;
              if (t3 == null)
                t3 = _null;
              else {
                t5 = t3._utils$_end;
                t3 = t3._utils$_start;
                t3 = new P.Duration(t5._duration - t3._duration);
              }
              t3 = (t3 == null ? _null : t3._duration) / 1000;
            } else
              t3 = _null;
            t4 = t3 > t4;
            t3 = t4;
          } else
            t3 = true;
          if (t3)
            $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.incrementBadgeCount$1("legacy-performance");
        }
    },
    primeThreadIds$1: function(timeline) {
      var t2, threadNameEvents, uiThreadId, rasterThreadId, _i, $event, $name, t3,
        t1 = this.threadNamesById;
      t1.clear$0(0);
      t2 = timeline.traceEvents;
      t2.toString;
      t2 = new H.MappedListIterable(t2, new B.LegacyPerformanceController_primeThreadIds_closure(), H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,TraceEvent*>")).super$Iterable$where(0, new B.LegacyPerformanceController_primeThreadIds_closure0());
      threadNameEvents = P.List_List$of(t2, true, t2.$ti._eval$1("Iterable.E"));
      for (t2 = threadNameEvents.length, uiThreadId = null, rasterThreadId = null, _i = 0; _i < t2; ++_i) {
        $event = threadNameEvents[_i];
        $name = J.$index$asx($event.args, "name");
        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;
        t1.$indexSet(0, $event.threadId, $name);
      }
      if (uiThreadId == null || rasterThreadId == null)
        B.log(string$.Could_ + t1.get$values(t1).toString$0(0), C.LogLevel_0);
      t1 = this.processor;
      t1.uiThreadId = uiThreadId;
      t1.rasterThreadId = rasterThreadId;
    },
    processTraceEvents$1: function(traceEvents) {
      return this.processTraceEvents$body$LegacyPerformanceController(traceEvents);
    },
    processTraceEvents$body$LegacyPerformanceController: function(traceEvents) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$processTraceEvents$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.processor.processTimeline$1(traceEvents), $async$processTraceEvents$1);
            case 2:
              // returning from await.
              $async$self.data.initializeEventGroups$1($async$self.threadNamesById);
              if ($async$self.data.eventGroups._collection$_root == null)
                $async$self._performance_controller0$_emptyTimeline.set$value(0, true);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$processTraceEvents$1, $async$completer);
    },
    processOfflineData$1: function(offlineData) {
      return this.processOfflineData$body$LegacyPerformanceController(offlineData);
    },
    processOfflineData$body$LegacyPerformanceController: function(offlineData) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, t2, t3, t4, uiThreadId, rasterThreadId;
      var $async$processOfflineData$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.clearData$0(0), $async$processOfflineData$1);
            case 2:
              // returning from await.
              t1 = H._setArrayType([], type$.JSArray_legacy_TraceEventWrapper);
              for (t2 = J.get$iterator$ax(offlineData.traceEvents); t2.moveNext$0();) {
                t3 = L.TraceEvent$(t2.get$current(t2));
                Date.now();
                t4 = $._traceEventWrapperId;
                $._traceEventWrapperId = t4 + 1;
                t1.push(new L.TraceEventWrapper(t3, t4));
              }
              t2 = type$.legacy_String;
              uiThreadId = $async$self._performance_controller0$_threadIdForEvents$2(P.LinkedHashSet_LinkedHashSet$_literal(["Engine::BeginFrame"], t2), t1);
              rasterThreadId = $async$self._performance_controller0$_threadIdForEvents$2(P.LinkedHashSet_LinkedHashSet$_literal(["GPURasterizer::Draw"], t2), t1);
              $async$self.offlinePerformanceData = offlineData.shallowClone$0();
              $async$self.data = offlineData.shallowClone$0();
              t2 = $async$self.processor;
              t2.uiThreadId = uiThreadId;
              t2.rasterThreadId = rasterThreadId;
              $async$goto = 3;
              return P._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
              $async$goto = 6;
              return P._asyncAwait($async$self.CpuProfilerControllerProviderMixin_cpuProfilerController.transformer.processData$1($async$self.offlinePerformanceData.cpuProfileData), $async$processOfflineData$1);
            case 6:
              // returning from await.
            case 5:
              // join
              $async$self.setOfflineData$0();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$processOfflineData$1, $async$completer);
    },
    _performance_controller0$_threadIdForEvents$2: function(targetEventNames, traceEvents) {
      var t1 = C.JSArray_methods.firstWhere$2$orElse(traceEvents, new B.LegacyPerformanceController__threadIdForEvents_closure(targetEventNames), new B.LegacyPerformanceController__threadIdForEvents_closure0());
      t1 = t1 == null ? null : t1.event;
      t1 = t1 == null ? null : t1.threadId;
      return t1 == null ? -1 : t1;
    },
    setOfflineData$0: function() {
      var frameToSelect, t1, t2, _i, timelineEvent, eventToSelect, _this = this;
      _this._performance_controller0$_flutterFrames.set$value(0, _this.offlinePerformanceData.frames);
      frameToSelect = C.JSArray_methods.firstWhere$2$orElse(_this.offlinePerformanceData.frames, new B.LegacyPerformanceController_setOfflineData_closure(_this), new B.LegacyPerformanceController_setOfflineData_closure0());
      if (frameToSelect != null) {
        _this.data.selectedFrame = frameToSelect;
        _this._performance_controller0$_selectedFrameNotifier.set$value(0, frameToSelect);
      }
      if (_this.offlinePerformanceData.selectedEvent != null)
        for (t1 = _this.data.timelineEvents, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          timelineEvent = t1[_i];
          timelineEvent.toString;
          eventToSelect = X.breadthFirstTraversal(timelineEvent, null, new B.LegacyPerformanceController_setOfflineData_closure1(_this), H._instanceType(timelineEvent)._eval$1("TreeNode.T*"));
          if (eventToSelect != null) {
            t1 = _this.data;
            t1.selectedEvent = eventToSelect;
            t1.cpuProfileData = _this.offlinePerformanceData.cpuProfileData;
            _this._performance_controller0$_selectedTimelineEventNotifier.set$value(0, eventToSelect);
            break;
          }
        }
      t1 = _this.offlinePerformanceData.cpuProfileData;
      if (t1 != null)
        _this.CpuProfilerControllerProviderMixin_cpuProfilerController.loadProcessedData$1(t1);
    },
    matchesForSearch$1: function(search) {
      var matches, t2, t3, _i,
        t1 = search == null ? null : search.length === 0;
      if (t1 !== false)
        return H._setArrayType([], type$.JSArray_legacy_LegacyTimelineEvent);
      matches = H._setArrayType([], type$.JSArray_legacy_LegacyTimelineEvent);
      for (t1 = this.data.timelineEvents, t2 = t1.length, t3 = type$.legacy_LegacyTimelineEvent, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        X.breadthFirstTraversal(t1[_i], new B.LegacyPerformanceController_matchesForSearch_closure(search, matches), null, t3);
      return matches;
    },
    toggleHttpRequestLogging$1: function(state) {
      return this.toggleHttpRequestLogging$body$LegacyPerformanceController(state);
    },
    toggleHttpRequestLogging$body$LegacyPerformanceController: function(state) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$toggleHttpRequestLogging$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(E.HttpService_toggleHttpRequestLogging(state), $async$toggleHttpRequestLogging$1);
            case 2:
              // returning from await.
              $async$self._performance_controller0$_httpTimelineLoggingEnabled.set$value(0, state);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$toggleHttpRequestLogging$1, $async$completer);
    },
    setTimelineStreams$1: function(streams) {
      return this.setTimelineStreams$body$LegacyPerformanceController(streams);
    },
    setTimelineStreams$body$LegacyPerformanceController: function(streams) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        _i, t1;
      var $async$setTimelineStreams$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              for (_i = 0; _i < 3; ++_i)
                streams[_i]._timeline_streams$_enabled.set$value(0, true);
              t1 = H._arrayInstanceType(streams)._eval$1("MappedListIterable<1,String*>");
              $async$goto = 2;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.setVMTimelineFlags$1(P.List_List$of(new H.MappedListIterable(streams, new B.LegacyPerformanceController_setTimelineStreams_closure(), t1), true, t1._eval$1("ListIterable.E"))), $async$setTimelineStreams$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setTimelineStreams$1, $async$completer);
    },
    toggleTimelineStream$1: function(stream) {
      return this.toggleTimelineStream$body$LegacyPerformanceController(stream);
    },
    toggleTimelineStream$body$LegacyPerformanceController: function(stream) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        t1, t2, newValue, t3, timelineFlags;
      var $async$toggleTimelineStream$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = stream._timeline_streams$_enabled;
              t2 = t1._value;
              newValue = !t2;
              t3 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              $async$goto = 2;
              return P._asyncAwait(t3.trackFuture$1$2("getVMTimelineFlags", t3._vmService._call$1$1(0, "getVMTimelineFlags", type$.TimelineFlags), type$.legacy_TimelineFlags), $async$toggleTimelineStream$1);
            case 2:
              // returning from await.
              timelineFlags = $async$result.recordedStreams;
              t3 = stream.name;
              if ((timelineFlags && C.JSArray_methods).contains$1(timelineFlags, t3) && t2)
                C.JSArray_methods.remove$1(timelineFlags, t3);
              else if (!C.JSArray_methods.contains$1(timelineFlags, t3) && newValue)
                timelineFlags.push(t3);
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.setVMTimelineFlags$1(timelineFlags), $async$toggleTimelineStream$1);
            case 3:
              // returning from await.
              t1.set$value(0, newValue);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$toggleTimelineStream$1, $async$completer);
    },
    clearData$1$clearVmTimeline: function(_, clearVmTimeline) {
      return this.clearData$body$LegacyPerformanceController(0, clearVmTimeline);
    },
    clearData$0: function($receiver) {
      return this.clearData$1$clearVmTimeline($receiver, true);
    },
    clearData$body$LegacyPerformanceController: function(_, clearVmTimeline) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$clearData$1$clearVmTimeline = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (clearVmTimeline) {
                t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
                t1 = t1.service != null && t1.connectedApp != null && t1.connectedApp.get$connectedAppInitialized();
              } else
                t1 = false;
              $async$goto = t1 ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.clearVMTimeline$0(), $async$clearData$1$clearVmTimeline);
            case 4:
              // returning from await.
            case 3:
              // join
              C.JSArray_methods.set$length($async$self.allTraceEvents, 0);
              $async$self.offlinePerformanceData = null;
              $async$self.CpuProfilerControllerProviderMixin_cpuProfilerController.reset$0(0);
              t1 = $async$self.data;
              if (t1 != null) {
                J.clear$0$ax(t1.traceEvents);
                t1.cpuProfileData = t1.selectedEvent = null;
                C.JSArray_methods.set$length(t1.timelineEvents, 0);
                t1.eventGroups._clear$0(0);
                t1.time = new B.TimeRange(true);
                t1._performance_model$_endTimestampMicros = -1;
                C.JSArray_methods.set$length(t1.frames, 0);
                t1.selectedFrame = null;
              }
              t1 = $async$self.processor;
              if (t1 != null)
                t1.reset$0(0);
              $async$self._performance_controller0$_emptyTimeline.set$value(0, true);
              $async$self._performance_controller0$_flutterFrames.set$value(0, H._setArrayType([], type$.JSArray_legacy_LegacyFlutterFrame));
              $async$self._performance_controller0$_selectedTimelineEventNotifier.set$value(0, null);
              $async$self._performance_controller0$_selectedFrameNotifier.set$value(0, null);
              $async$self._performance_controller0$_processing.set$value(0, false);
              $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1("legacy-performance");
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$clearData$1$clearVmTimeline, $async$completer);
    },
    recordTrace$1: function(trace) {
      var t1 = this.data;
      t1 = t1 == null ? null : t1.traceEvents;
      if (t1 != null)
        J.add$1$ax(t1, trace);
    }
  };
  B.LegacyPerformanceController_primeThreadIds_closure.prototype = {
    call$1: function($event) {
      return L.TraceEvent$($event.json);
    },
    $signature: 330
  };
  B.LegacyPerformanceController_primeThreadIds_closure0.prototype = {
    call$1: function($event) {
      return $event.phase === "M" && $event.name === "thread_name";
    },
    $signature: 327
  };
  B.LegacyPerformanceController__threadIdForEvents_closure.prototype = {
    call$1: function(trace) {
      return this.targetEventNames.contains$1(0, trace.event.name);
    },
    $signature: 99
  };
  B.LegacyPerformanceController__threadIdForEvents_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  B.LegacyPerformanceController_setOfflineData_closure.prototype = {
    call$1: function(frame) {
      return frame.id === this.$this.offlinePerformanceData._performance_model$_selectedFrameId;
    },
    $signature: 326
  };
  B.LegacyPerformanceController_setOfflineData_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  B.LegacyPerformanceController_setOfflineData_closure1.prototype = {
    call$1: function($event) {
      var t1 = this.$this;
      return C.JSArray_methods.get$first($event.traceEvents).event.name == C.JSArray_methods.get$first(t1.offlinePerformanceData.selectedEvent.traceEvents).event.name && $event.time.$eq(0, t1.offlinePerformanceData.selectedEvent.time);
    },
    $signature: 49
  };
  B.LegacyPerformanceController_matchesForSearch_closure.prototype = {
    call$1: function(e) {
      if (B.StringExtension_caseInsensitiveContains(C.JSArray_methods.get$first(e.traceEvents).event.name, this.search)) {
        this.matches.push(e);
        e.DataSearchStateMixin_isSearchMatch = true;
      } else
        e.DataSearchStateMixin_isSearchMatch = false;
    },
    $signature: 480
  };
  B.LegacyPerformanceController_setTimelineStreams_closure.prototype = {
    call$1: function(s) {
      return s.name;
    },
    $signature: 324
  };
  B._LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin.prototype = {};
  B._LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin.prototype = {};
  Y.LegacyPerformanceData.prototype = {
    initializeEventGroups$1: function(threadNamesById) {
      var t1, t2, t3, _i, $event;
      for (t1 = this.timelineEvents, t2 = t1.length, t3 = this.eventGroups, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        $event = t1[_i];
        t3.putIfAbsent$2(0, T.legacyComputeEventGroupKey($event, threadNamesById), new Y.LegacyPerformanceData_initializeEventGroups_closure()).addEventAtCalculatedRow$1($event);
      }
    },
    addTimelineEvent$1: function($event) {
      this.timelineEvents.push($event);
      this._performance_model$_endTimestampMicros = Math.max(this._performance_model$_endTimestampMicros, $event.get$maxEndMicros());
    },
    get$json: function(_) {
      var t2, t3, t4, _this = this,
        t1 = _this.selectedFrame;
      t1 = t1 == null ? null : t1.id;
      t2 = _this.displayRefreshRate;
      t3 = _this.cpuProfileData;
      t3 = t3 == null ? null : t3.get$json(t3);
      if (t3 == null) {
        t3 = type$.dynamic;
        t3 = P.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
      }
      t4 = _this.selectedEvent;
      t4 = t4 == null ? null : t4.get$json(t4);
      if (t4 == null) {
        t4 = type$.dynamic;
        t4 = P.LinkedHashMap_LinkedHashMap$_empty(t4, t4);
      }
      return P.LinkedHashMap_LinkedHashMap$_literal(["selectedFrameId", t1, "displayRefreshRate", t2, "traceEvents", _this.traceEvents, "cpuProfile", t3, "selectedEvent", t4], type$.legacy_String, type$.dynamic);
    }
  };
  Y.LegacyPerformanceData_initializeEventGroups_closure.prototype = {
    call$0: function() {
      return new Y.LegacyTimelineEventGroup(H._setArrayType([], type$.JSArray_legacy_LegacyTimelineRowData), P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_LegacyTimelineEvent, type$.legacy_int));
    },
    $signature: 482
  };
  Y.LegacyTimelineEventGroup.prototype = {
    get$sortedEventRoots: function() {
      var t2,
        t1 = this._performance_model$_sortedEventRoots;
      if (t1 == null) {
        t1 = this.rowIndexForEvent;
        t1 = P.List_List$from(t1.get$keys(t1), true, type$.legacy_LegacyTimelineEvent);
        t2 = H._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
        t2 = P.List_List$of(new H.WhereIterable(t1, new Y.LegacyTimelineEventGroup_sortedEventRoots_closure(), t2), true, t2._eval$1("Iterable.E"));
        C.JSArray_methods.sort$1(t2, new Y.LegacyTimelineEventGroup_sortedEventRoots_closure0());
        this._performance_model$_sortedEventRoots = t2;
        t1 = t2;
      }
      return t1;
    },
    addEventAtCalculatedRow$1: function($event) {
      var displayRow,
        currentLargestRowIndex = this.rows.length;
      for (displayRow = 0; displayRow < currentLargestRowIndex;) {
        if (this._performance_model$_eventFitsAtDisplayRow$3($event, displayRow, currentLargestRowIndex))
          break;
        ++displayRow;
      }
      this._performance_model$_addEventAtDisplayRow$2$row($event, displayRow);
    },
    _performance_model$_eventFitsAtDisplayRow$3: function($event, displayRow, currentLargestRowIndex) {
      var t1, level, t2, lastEventAtLevel, 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;
        t2 = $event._performance_model$_displayRows;
        t2 = (t2 == null ? $event._performance_model$_displayRows = $event._performance_model$_calculateDisplayRows$0() : t2)[level];
        firstNewEventAtLevel = C.JSArray_methods.get$isNotEmpty(t2) ? C.JSArray_methods.get$first(t2) : null;
        if (lastEventAtLevel != null && firstNewEventAtLevel != null) {
          t2 = lastEventAtLevel.time;
          t3 = firstNewEventAtLevel.time;
          t4 = t3._utils$_end;
          t5 = t2._utils$_start;
          t4 = t4._duration;
          t5 = t5._duration;
          if (t4 > t5) {
            t3 = t3._utils$_start;
            t2 = t2._utils$_end;
            t2 = t3._duration < t2._duration;
          } else
            t2 = false;
          if (t2)
            return false;
          if (t4 < t5)
            return false;
        }
      }
      return true;
    },
    _performance_model$_addEventAtDisplayRow$2$row: function($event, row) {
      var t3, t4, displayRow, _i, e, t5, t6, t7, _this = this,
        t1 = $event.get$displayRows().length,
        t2 = _this.rows,
        i = t2.length;
      if (row + t1 >= i) {
        t1 = type$.JSArray_legacy_LegacyTimelineEvent;
        while (true) {
          t3 = $event._performance_model$_displayRows;
          if (!(i < row + (t3 == null ? $event._performance_model$_displayRows = $event._performance_model$_calculateDisplayRows$0() : t3).length))
            break;
          t2.push(new Y.LegacyTimelineRowData(H._setArrayType([], t1)));
          ++i;
        }
      }
      t1 = _this.rowIndexForEvent;
      i = 0;
      while (true) {
        t3 = $event._performance_model$_displayRows;
        if (t3 == null) {
          t3 = $event._performance_model$_displayRows = $event._performance_model$_calculateDisplayRows$0();
          t4 = t3;
        } else
          t4 = t3;
        if (!(i < t3.length))
          break;
        displayRow = (t4 == null ? $event._performance_model$_displayRows = $event._performance_model$_calculateDisplayRows$0() : t4)[i];
        for (t3 = displayRow.length, t4 = row + i, _i = 0; _i < displayRow.length; displayRow.length === t3 || (0, H.throwConcurrentModificationError)(displayRow), ++_i) {
          e = displayRow[_i];
          t5 = e.time;
          t6 = t5._utils$_start._duration;
          t7 = _this.earliestTimestampMicros;
          if (t7 == null)
            t7 = t6;
          _this.earliestTimestampMicros = Math.min(t6, t7);
          t5 = t5._utils$_end._duration;
          t7 = _this.latestTimestampMicros;
          t6 = t7 == null ? t5 : t7;
          _this.latestTimestampMicros = Math.max(t5, t6);
          t2[t4].events.push(e);
          t1.$indexSet(0, e, t4);
          t5 = e.time._utils$_end;
          t6 = t2[t4];
          t7 = t6.lastEvent;
          t7 = t7 == null ? null : t7.time;
          t7 = t7 == null ? null : t7._utils$_end;
          if (t7 == null)
            t7 = C.Duration_0;
          if (t5._duration > t7._duration)
            t6.lastEvent = e;
        }
        ++i;
      }
    }
  };
  Y.LegacyTimelineEventGroup_sortedEventRoots_closure.prototype = {
    call$1: function($event) {
      return $event.parent == null;
    },
    $signature: 49
  };
  Y.LegacyTimelineEventGroup_sortedEventRoots_closure0.prototype = {
    call$2: function(a, b) {
      return C.JSInt_methods.compareTo$1(a.time._utils$_start._duration, b.time._utils$_start._duration);
    },
    $signature: 100
  };
  Y.LegacyTimelineRowData.prototype = {};
  Y.LegacyOfflinePerformanceData.prototype = {
    shallowClone$0: function() {
      var _this = this,
        t1 = _this.selectedFrame,
        t2 = _this.selectedEvent,
        t3 = _this.displayRefreshRate;
      return Y.LegacyOfflinePerformanceData$_(_this.cpuProfileData, t3, _this.frames, t2, t1, _this._performance_model$_selectedFrameId, _this.traceEvents);
    }
  };
  Y.LegacyOfflineTimelineEvent.prototype = {
    LegacyOfflineTimelineEvent$1: function(firstTrace) {
      var t1 = this.time,
        t2 = P.Duration$(J.$add$ansx(firstTrace.$index(0, "ts"), firstTrace.$index(0, "dur")), 0);
      t1._utils$_end = t2;
      this.type = C.JSArray_methods.firstWhere$2$orElse(C.List_G1V, new Y.LegacyOfflineTimelineEvent_closure(firstTrace), new Y.LegacyOfflineTimelineEvent_closure0());
    },
    couldBeParentOf$1: function(e) {
      throw H.wrapException(P.UnimplementedError$(string$.This_m));
    },
    _performance_model$_calculateDisplayRows$0: function() {
      return H.throwExpression(P.UnimplementedError$(string$.This_m));
    }
  };
  Y.LegacyOfflineTimelineEvent_closure.prototype = {
    call$1: function(t) {
      return J.toString$0$(t) === J.toString$0$(J.$index$asx(this.firstTrace.$index(0, "args"), "type"));
    },
    $signature: 322
  };
  Y.LegacyOfflineTimelineEvent_closure0.prototype = {
    call$0: function() {
      return C.TimelineEventType_3;
    },
    $signature: 321
  };
  Y.LegacyFlutterFrame.prototype = {
    get$uiDuration: function() {
      var t2,
        t1 = this.eventFlows[0];
      t1 = t1 == null ? null : t1.time;
      if (t1 == null)
        t1 = null;
      else {
        t2 = t1._utils$_end;
        t1 = t1._utils$_start;
        t1 = new P.Duration(t2._duration - t1._duration);
      }
      return t1 == null ? null : t1._duration;
    },
    get$rasterDuration: function() {
      var t2,
        t1 = this.eventFlows[1];
      t1 = t1 == null ? null : t1.time;
      if (t1 == null)
        t1 = null;
      else {
        t2 = t1._utils$_end;
        t1 = t1._utils$_start;
        t1 = new P.Duration(t2._duration - t1._duration);
      }
      return t1 == null ? null : t1._duration;
    },
    toString$0: function(_) {
      var t1 = this.eventFlows;
      return "Frame " + this.id + " - " + this.time.toString$0(0) + ", ui: " + t1[0].time.toString$0(0) + ", raster: " + t1[1].time.toString$0(0);
    }
  };
  Y.LegacyTimelineEvent.prototype = {
    get$name: function(_) {
      return C.JSArray_methods.get$first(this.traceEvents).event.name;
    },
    get$groupKey: function() {
      return J.$index$asx(C.JSArray_methods.get$first(this.traceEvents).event.args, "filterKey");
    },
    get$endTraceEventJson: function() {
      var t1 = this.traceEvents;
      return t1.length > 1 ? C.JSArray_methods.get$last(t1).event.json : null;
    },
    get$isWellFormed: function() {
      var t1 = this.time;
      return t1._utils$_start != null && t1._utils$_end != null;
    },
    get$tooltip: function() {
      var t1 = H.S(C.JSArray_methods.get$first(this.traceEvents).event.name) + " - ",
        t2 = this.time,
        t3 = t2._utils$_end;
      t2 = t2._utils$_start;
      return t1 + B.msText(new P.Duration(t3._duration - t2._duration), 1);
    },
    _performance_model$_isWellFormedDeep$1: function($event) {
      return X.breadthFirstTraversal(this, null, new Y.LegacyTimelineEvent__isWellFormedDeep_closure(), H._instanceType(this)._eval$1("TreeNode.T*")) == null;
    },
    get$displayRows: function() {
      var t1 = this._performance_model$_displayRows;
      return t1 == null ? this._performance_model$_displayRows = this._performance_model$_calculateDisplayRows$0() : t1;
    },
    _performance_model$_expandDisplayRows$1: function(newRowLength) {
      var i,
        t1 = this._performance_model$_displayRows,
        currentLength = (t1 == null ? this._performance_model$_displayRows = H._setArrayType([], type$.JSArray_legacy_List_legacy_LegacyTimelineEvent) : t1).length;
      for (t1 = type$.JSArray_legacy_LegacyTimelineEvent, i = currentLength; i < newRowLength; ++i)
        this._performance_model$_displayRows.push(H._setArrayType([], t1));
    },
    _performance_model$_mergeChildDisplayRows$2: function(mergeStartLevel, child) {
      var i, t1, _this = this,
        childDisplayRows = child.get$displayRows();
      _this._performance_model$_expandDisplayRows$1(mergeStartLevel + childDisplayRows.length);
      for (i = 0; i < childDisplayRows.length; ++i) {
        t1 = _this._performance_model$_displayRows;
        if (t1 == null)
          t1 = _this._performance_model$_displayRows = _this._performance_model$_calculateDisplayRows$0();
        C.JSArray_methods.addAll$1(t1[mergeStartLevel + i], childDisplayRows[i]);
      }
      if (mergeStartLevel >= _this._performance_model$_lowestDisplayChildRow) {
        _this._performance_model$_lowestDisplayChildRow = mergeStartLevel;
        _this._performance_model$_lowestDisplayChild = child;
      }
    },
    addEndEvent$1: function(eventWrapper) {
      var t1 = this.time,
        t2 = P.Duration$(eventWrapper.event.timestampMicros, 0);
      t1._utils$_end = t2;
      this.traceEvents.push(eventWrapper);
    },
    maybeRemoveDuplicate$0: function() {
      var t2,
        t1 = new Y.LegacyTimelineEvent_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: function(childToRemove) {
      C.JSArray_methods.forEach$1(P.List_List$from(childToRemove.children, true, type$.legacy_LegacyTimelineEvent), this.get$_performance_model$_addChild());
      C.JSArray_methods.remove$1(this.children, childToRemove);
    },
    addChild$1: function(child) {
      new Y.LegacyTimelineEvent_addChild__putChildInTree(child).call$1(this);
    },
    _performance_model$_addChild$1: function(child) {
      this.children.push(child);
      child.parent = this;
    },
    format$2: function(buf, indent) {
      var t1, t2, _i;
      buf._contents += indent + H.S(C.JSArray_methods.get$first(this.traceEvents).event.name) + " " + this.time.toString$0(0) + "\n";
      for (t1 = this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].format$2(buf, "  " + indent);
    },
    get$json: function(_) {
      var t3, t4,
        t1 = type$.dynamic,
        modifiedTrace = P.LinkedHashMap_LinkedHashMap$from(C.JSArray_methods.get$first(this.traceEvents).event.json, t1, t1),
        t2 = type$.legacy_String;
      J.addAll$1$ax(modifiedTrace.$index(0, "args"), P.LinkedHashMap_LinkedHashMap$_literal(["type", J.toString$0$(this.type)], t2, t2));
      if (!modifiedTrace.containsKey$1(0, "dur")) {
        t3 = this.time;
        t4 = t3._utils$_end;
        t3 = t3._utils$_start;
        modifiedTrace.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["dur", t4._duration - t3._duration], t1, t1));
      }
      return P.LinkedHashMap_LinkedHashMap$_literal(["firstTrace", modifiedTrace], t2, t1);
    },
    toString$0: function(_) {
      var t1,
        buf = new P.StringBuffer("");
      this.format$2(buf, "  ");
      t1 = buf._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  Y.LegacyTimelineEvent__isWellFormedDeep_closure.prototype = {
    call$1: function(e) {
      return !e.get$isWellFormed();
    },
    $signature: 49
  };
  Y.LegacyTimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate.prototype = {
    call$1$parent: function($parent) {
      var t1 = $parent.children;
      if (t1.length === 1 && C.C_DeepCollectionEquality.equals$2(C.JSArray_methods.get$first($parent.traceEvents).event.json, C.JSArray_methods.get$first(C.JSArray_methods.get$first(t1).traceEvents).event.json) && C.C_DeepCollectionEquality.equals$2($parent.get$endTraceEventJson(), C.JSArray_methods.get$first(t1).get$endTraceEventJson()))
        $parent.removeChild$1(C.JSArray_methods.get$first(t1));
    },
    call$0: function() {
      return this.call$1$parent(null);
    },
    $signature: 487
  };
  Y.LegacyTimelineEvent_addChild__putChildInTree.prototype = {
    call$1: function(root) {
      var t2, _children, childrenToReorder, t3, _i, otherChild, t4,
        t1 = root.children;
      if (t1.length === 0) {
        t2 = this.child;
        t1.push(t2);
        t2.parent = root;
        return;
      }
      _children = H._setArrayType(t1.slice(0), H._arrayInstanceType(t1));
      childrenToReorder = [];
      for (t2 = _children.length, t3 = this.child, _i = 0; _i < _children.length; _children.length === t2 || (0, H.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, _i = 0; _i < childrenToReorder.length; childrenToReorder.length === t2 || (0, H.throwConcurrentModificationError)(childrenToReorder), ++_i) {
          t4 = childrenToReorder[_i];
          t3.children.push(t4);
          t4.parent = t3;
          C.JSArray_methods.remove$1(t1, t4);
        }
        return;
      }
      for (t2 = H._arrayInstanceType(_children)._eval$1("ReversedListIterable<1>"), t4 = new H.ReversedListIterable(_children, t2), t2 = new H.ListIterator(t4, t4.get$length(t4), t2._eval$1("ListIterator<ListIterable.E>")); t2.moveNext$0();) {
        t4 = t2.__internal$_current;
        if (t4.couldBeParentOf$1(t3)) {
          this.call$1(t4);
          return;
        }
      }
      t1.push(t3);
      t3.parent = root;
    },
    $signature: 319
  };
  Y.LegacySyncTimelineEvent.prototype = {
    get$isUiEventFlow: function() {
      return X.breadthFirstTraversal(this, null, new Y.LegacySyncTimelineEvent_isUiEventFlow_closure(), H._instanceType(this)._eval$1("TreeNode.T*")) != null;
    },
    get$isRasterEventFlow: function() {
      return X.breadthFirstTraversal(this, null, new Y.LegacySyncTimelineEvent_isRasterEventFlow_closure(), H._instanceType(this)._eval$1("TreeNode.T*")) != null;
    },
    get$maxEndMicros: function() {
      return this.time._utils$_end._duration;
    },
    _performance_model$_calculateDisplayRows$0: function() {
      var t1, t2, _i, _this = this;
      _this._performance_model$_expandDisplayRows$1(_this.get$depth());
      _this._performance_model$_displayRows[0].push(_this);
      for (t1 = _this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        _this._performance_model$_mergeChildDisplayRows$2(1, t1[_i]);
      return _this._performance_model$_displayRows;
    },
    couldBeParentOf$1: function(e) {
      var endTime, eStartTime, eEndTime,
        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;
      t1 = endTime != null;
      if (t1 && eEndTime != null) {
        if (startTime === eStartTime && endTime === eEndTime)
          return C.JSArray_methods.get$first(this.traceEvents).id < C.JSArray_methods.get$first(e.traceEvents).id;
        return startTime <= eStartTime && endTime >= eEndTime;
      } else if (t1)
        return startTime <= eStartTime && endTime > eStartTime;
      else if (startTime === eStartTime)
        return C.JSArray_methods.get$first(this.traceEvents).id < C.JSArray_methods.get$first(e.traceEvents).id;
      else
        return startTime < eStartTime;
    }
  };
  Y.LegacySyncTimelineEvent_isUiEventFlow_closure.prototype = {
    call$1: function($event) {
      return J.contains$1$asx(C.JSArray_methods.get$first($event.traceEvents).event.name, "Engine::BeginFrame");
    },
    $signature: 49
  };
  Y.LegacySyncTimelineEvent_isRasterEventFlow_closure.prototype = {
    call$1: function($event) {
      return J.contains$1$asx(C.JSArray_methods.get$first($event.traceEvents).event.name, "PipelineConsume");
    },
    $signature: 49
  };
  Y.LegacyAsyncTimelineEvent.prototype = {
    get$parentAsyncUID: function() {
      return L.generateAsyncUID(C.JSArray_methods.get$first(this.traceEvents).event.category, this._performance_model$_parentId, null);
    },
    get$maxEndMicros: function() {
      var t1 = this._performance_model$_maxEndMicros;
      return t1 == null ? this._performance_model$_calculateMaxEndMicros$0() : t1;
    },
    _performance_model$_calculateMaxEndMicros$0: function() {
      var maxEnd, _i, _this = this,
        t1 = _this.children,
        t2 = t1.length;
      if (t2 === 0)
        return _this.time._utils$_end._duration;
      maxEnd = _this.time._utils$_end._duration;
      for (_i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        maxEnd = Math.max(maxEnd, t1[_i]._performance_model$_calculateMaxEndMicros$0());
      return _this._performance_model$_maxEndMicros = maxEnd;
    },
    _performance_model$_calculateDisplayRows$0: function() {
      var t1, i, child, t2, _this = this;
      _this._performance_model$_expandDisplayRows$1(1);
      _this._performance_model$_displayRows[0].push(_this);
      for (t1 = _this.children, i = 0; i < t1.length; ++i) {
        child = t1[i];
        if (i === 0 || _this._performance_model$_eventFitsAtDisplayRow$3(child, 1, _this._performance_model$_displayRows.length))
          _this._performance_model$_mergeChildDisplayRows$2(1, child);
        else {
          t2 = _this._performance_model$_displayRows;
          _this._performance_model$_mergeChildDisplayRows$2((t2 == null ? _this._performance_model$_displayRows = _this._performance_model$_calculateDisplayRows$0() : t2).length, child);
        }
      }
      return _this._performance_model$_displayRows;
    },
    _performance_model$_eventFitsAtDisplayRow$3: function($event, displayRow, currentLargestRowIndex) {
      var level, t1, lastEventAtLevel, firstNewEventAtLevel, t2, t3, t4, t5, lastEventParent, firstNewEventParent,
        maxLevelToVerify = Math.min($event.get$displayRows().length, currentLargestRowIndex - displayRow);
      for (level = 0; level < maxLevelToVerify; ++level) {
        t1 = this._performance_model$_displayRows[displayRow + level];
        lastEventAtLevel = C.JSArray_methods.get$isNotEmpty(t1) ? C.JSArray_methods.get$last(t1) : null;
        t1 = $event._performance_model$_displayRows;
        t1 = (t1 == null ? $event._performance_model$_displayRows = $event._performance_model$_calculateDisplayRows$0() : t1)[level];
        firstNewEventAtLevel = C.JSArray_methods.get$isNotEmpty(t1) ? C.JSArray_methods.get$first(t1) : null;
        if (lastEventAtLevel != null && firstNewEventAtLevel != null) {
          t1 = lastEventAtLevel.time;
          t2 = firstNewEventAtLevel.time;
          t3 = t2._utils$_end;
          t4 = t1._utils$_start;
          t3 = t3._duration;
          t4 = t4._duration;
          if (t3 > t4) {
            t2 = t2._utils$_start;
            t5 = t1._utils$_end;
            t5 = t2._duration < t5._duration;
            t2 = t5;
          } 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;
                t2 = lastEventParent.time._utils$_end;
                t2 = t1._duration >= t2._duration;
                t1 = t2;
              } else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
          if (t1)
            return false;
        }
      }
      return true;
    },
    addChild$1: function(child) {
      var _this = this;
      if (child._performance_model$_parentId != null && child.get$parentAsyncUID() === C.JSArray_methods.get$first(_this.traceEvents).event.get$asyncUID()) {
        _this.children.push(child);
        child.parent = _this;
      } else
        _this.super$LegacyTimelineEvent$addChild(child);
    },
    couldBeParentOf$1: function(e) {
      var t1, t2, t3, startTime, endTime, eStartTime, eEndTime, _s2_ = "id";
      if (e._performance_model$_parentId != null)
        return C.JSArray_methods.get$first(this.traceEvents).event.get$asyncUID() === e.get$parentAsyncUID();
      t1 = this.traceEvents;
      t2 = C.JSArray_methods.get$first(t1).event.get$asyncUID();
      t3 = e.traceEvents;
      if (t2 !== C.JSArray_methods.get$first(t3).event.get$asyncUID())
        return false;
      t2 = this.time;
      startTime = t2._utils$_start._duration;
      t2 = t2._utils$_end;
      endTime = t2 == null ? null : t2._duration;
      t2 = e.time;
      eStartTime = t2._utils$_start._duration;
      t2 = t2._utils$_end;
      eEndTime = t2 == null ? null : t2._duration;
      t2 = endTime != null;
      if (t2 && eEndTime != null) {
        if (startTime === eStartTime && endTime === eEndTime)
          return P.int_parse(J.$index$asx(C.JSArray_methods.get$first(t1).event.json, _s2_), 16) < P.int_parse(J.$index$asx(C.JSArray_methods.get$first(t3).event.json, _s2_), 16);
        return startTime <= eStartTime && endTime >= eEndTime;
      } else if (t2)
        return startTime <= eStartTime && endTime > eStartTime;
      else if (startTime === eStartTime)
        return P.int_parse(J.$index$asx(C.JSArray_methods.get$first(t1).event.json, _s2_), 16) < P.int_parse(J.$index$asx(C.JSArray_methods.get$first(t3).event.json, _s2_), 16);
      else
        return startTime < eStartTime;
    },
    endAsyncEvent$1: function(eventWrapper) {
      var t1, t2, _i, _this = this;
      if (_this.get$endTraceEventJson() != null)
        return false;
      if (C.JSArray_methods.get$first(_this.traceEvents).event.name == eventWrapper.event.name) {
        _this.addEndEvent$1(eventWrapper);
        return true;
      }
      for (t1 = _this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        if (t1[_i].endAsyncEvent$1(eventWrapper))
          return true;
      return false;
    }
  };
  Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin.prototype = {
    set$isActiveSearchMatch: function(val) {
      return this.DataSearchStateMixin_isActiveSearchMatch = val;
    }
  };
  Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin.prototype = {};
  Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin.prototype = {};
  R.LegacyPerformanceScreen.prototype = {
    get$docPageId: function() {
      return "performance";
    },
    build$1: function(_, context) {
      return C.LegacyPerformanceScreenBody_null;
    }
  };
  R.LegacyPerformanceScreenBody.prototype = {
    createState$0: function() {
      return new R.LegacyPerformanceScreenBodyState(false, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  R.LegacyPerformanceScreenBodyState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      F.screen("legacy-performance");
    },
    didChangeDependencies$0: function() {
      var t1, newController, t2, timelineJson, t3, traceEvents, cpuProfileJson, cpuProfileData, selectedFrameId, selectedEventJson, selectedEvent, displayRefreshRate, offlinePerformanceData, _this = this, _null = null,
        _s18_ = "legacy-performance",
        _s11_ = "traceEvents";
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      O.maybePushDebugModePerformanceMessage(t1, _s18_);
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_LegacyPerformanceController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      t1 = _this.controller._performance_controller0$_processing;
      _this.processing = t1._value;
      _this.addAutoDisposeListener$2(t1, new R.LegacyPerformanceScreenBodyState_didChangeDependencies_closure(_this));
      t1 = _this.controller.processor._timeline_event_processor0$_progressNotifier;
      _this.processingProgress = t1._value;
      _this.addAutoDisposeListener$2(t1, new R.LegacyPerformanceScreenBodyState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$1(_this.controller._performance_controller0$_selectedFrameNotifier);
      t1 = _this.controller;
      if (t1.data == null && !$.offlineMode)
        t1.refreshData$0();
      if ($.offlineMode && J.get$isNotEmpty$asx($.offlineDataJson) && J.$index$asx($.offlineDataJson, _s18_) != null && J.$index$asx($.offlineDataJson, _s11_) != null) {
        t1 = type$.legacy_String;
        t2 = type$.dynamic;
        timelineJson = P.LinkedHashMap_LinkedHashMap$from(J.$index$asx($.offlineDataJson, _s18_), t1, t2);
        timelineJson.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["traceEvents", J.$index$asx($.offlineDataJson, _s11_)], t1, t2));
        t3 = timelineJson.$index(0, _s11_);
        if (t3 == null)
          t3 = [];
        traceEvents = J.cast$1$0$ax(t3, type$.legacy_Map_of_legacy_String_and_dynamic);
        cpuProfileJson = timelineJson.$index(0, "cpuProfile");
        if (cpuProfileJson == null)
          cpuProfileJson = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        cpuProfileData = J.get$isNotEmpty$asx(cpuProfileJson) ? E.CpuProfileData_CpuProfileData$parse(cpuProfileJson) : _null;
        selectedFrameId = timelineJson.$index(0, "selectedFrameId");
        selectedEventJson = timelineJson.$index(0, "selectedEvent");
        if (selectedEventJson == null)
          selectedEventJson = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        t3 = J.getInterceptor$asx(selectedEventJson);
        if (t3.get$isNotEmpty(selectedEventJson)) {
          t3 = t3.$index(selectedEventJson, "firstTrace");
          selectedEvent = Y.LegacyOfflineTimelineEvent$(J.cast$2$0$ax(t3 == null ? P.LinkedHashMap_LinkedHashMap$_empty(t2, t2) : t3, t1, t2));
        } else
          selectedEvent = _null;
        displayRefreshRate = timelineJson.$index(0, "displayRefreshRate");
        offlinePerformanceData = Y.LegacyOfflinePerformanceData$_(cpuProfileData, J.toDouble$0$n(displayRefreshRate == null ? 60 : displayRefreshRate), _null, selectedEvent, _null, selectedFrameId, traceEvents);
        if (!J.get$isEmpty$asx(offlinePerformanceData.traceEvents))
          _this.loadOfflineData$1(offlinePerformanceData);
      }
    },
    build$1: function(_, context) {
      var t1, isOfflineFlutterApp, t2, t3, t4, t5, _this = this, _null = null;
      if ($.offlineMode) {
        t1 = _this.controller.offlinePerformanceData;
        isOfflineFlutterApp = t1 != null && t1.frames.length !== 0;
      } else
        isOfflineFlutterApp = false;
      t1 = type$.JSArray_legacy_Widget;
      t2 = H._setArrayType([], t1);
      if (!$.offlineMode) {
        t3 = _this._performance_screen0$_buildPrimaryStateControls$0();
        _this.controller.toString;
        t4 = H._setArrayType([new G.ProfileGranularityDropdown("legacy-performance", $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profile_period"), _null), C.SizedBox_16_null_null_null], t1);
        t5 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp;
        t5.toString;
        if (!($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vm.name !== "ChromeDebugProxy" && !t5._isFlutterApp))
          t4.push(new B.ServiceExtensionButtonGroup(1100, H._setArrayType([$.$get$performanceOverlay(), $.$get$profileWidgetBuilds()], type$.JSArray_legacy_ToggleableServiceExtensionDescription_dynamic), _null));
        t4.push(C.SizedBox_16_null_null_null);
        t4.push(new U.ExportButton(1100, _this.get$_performance_screen0$_exportPerformanceData(), _null));
        t4.push(C.SizedBox_16_null_null_null);
        t4.push(new U.SettingsOutlinedButton(_this.get$_performance_screen0$_openSettingsDialog(), "Performance Settings", _null));
        t2.push(T.Row$(H._setArrayType([t3, T.Row$(t4, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_1, C.MainAxisSize_1, _null)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null));
      }
      t2.push(C.SizedBox_null_6_null_null);
      if (!isOfflineFlutterApp)
        t3 = !$.offlineMode && $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp;
      else
        t3 = true;
      if (t3)
        t2.push(N.ValueListenableBuilder$(new R.LegacyPerformanceScreenBodyState_build_closure(_this), _this.controller._performance_controller0$_flutterFrames, type$.legacy_List_legacy_LegacyFlutterFrame));
      t2.push(T.Expanded$(L.Split$(C.Axis_1, H._setArrayType([new Y.LegacyTimelineFlameChartContainer(_this.processing, _this.processingProgress, _null), N.ValueListenableBuilder$(new R.LegacyPerformanceScreenBodyState_build_closure0(), _this.controller._performance_controller0$_selectedTimelineEventNotifier, type$.legacy_LegacyTimelineEvent)], t1), C.List_zrD, _null, _null), 1));
      t1 = H._setArrayType([T.Column$(t2, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t1);
      if (_this.OfflineScreenMixin__loadingOfflineData)
        t1.push(M.Container$(_null, C.CenteredCircularProgressIndicator_null, C.Clip_0, K.Theme_of(context).scaffoldBackgroundColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      return T.Stack$(C.AlignmentDirectional_m1_m1, t1, C.Clip_1, C.StackFit_0, _null, _null);
    },
    _performance_screen0$_buildPrimaryStateControls$0: function() {
      return N.ValueListenableBuilder$(new R.LegacyPerformanceScreenBodyState__buildPrimaryStateControls_closure(this), this.controller._performance_controller0$_refreshing, type$.legacy_bool);
    },
    _performance_screen0$_openSettingsDialog$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      E.showDialog(true, new R.LegacyPerformanceScreenBodyState__openSettingsDialog_closure(this), t1, type$.dynamic);
    },
    _performance_screen0$_refreshPerformanceData$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_performance_screen0$_refreshPerformanceData$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.controller.refreshData$0(), $async$_performance_screen0$_refreshPerformanceData$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_performance_screen0$_refreshPerformanceData$0, $async$completer);
    },
    _performance_screen0$_clearPerformanceData$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_performance_screen0$_clearPerformanceData$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.controller.clearData$0(0), $async$_performance_screen0$_clearPerformanceData$0);
            case 2:
              // returning from await.
              $async$self.setState$1(new R.LegacyPerformanceScreenBodyState__clearPerformanceData_closure());
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_performance_screen0$_clearPerformanceData$0, $async$completer);
    },
    _performance_screen0$_exportPerformanceData$0: function() {
      var exportedFile,
        t1 = this.controller,
        t2 = t1._performance_controller0$_exportController;
      t1 = t1.data;
      exportedFile = t2.downloadFile$1(t2.encode$2("legacy-performance", t1.get$json(t1)));
      t1 = this._framework$_element;
      t1.toString;
      Y.Notifications_of(t1).push$1("Successfully exported " + exportedFile + " to ~/Downloads directory");
    },
    processOfflineData$1: function(offlineData) {
      return this.processOfflineData$body$LegacyPerformanceScreenBodyState(offlineData);
    },
    processOfflineData$body$LegacyPerformanceScreenBodyState: function(offlineData) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$processOfflineData$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.controller.processOfflineData$1(offlineData), $async$processOfflineData$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$processOfflineData$1, $async$completer);
    }
  };
  R.LegacyPerformanceScreenBodyState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new R.LegacyPerformanceScreenBodyState_didChangeDependencies__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  R.LegacyPerformanceScreenBodyState_didChangeDependencies__closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.processing = t1.controller._performance_controller0$_processing._value;
    },
    $signature: 1
  };
  R.LegacyPerformanceScreenBodyState_didChangeDependencies_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new R.LegacyPerformanceScreenBodyState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  R.LegacyPerformanceScreenBodyState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.processingProgress = t1.controller.processor._timeline_event_processor0$_progressNotifier._value;
    },
    $signature: 1
  };
  R.LegacyPerformanceScreenBodyState_build_closure.prototype = {
    call$3: function(context, $frames, _) {
      return N.ValueListenableBuilder$(new R.LegacyPerformanceScreenBodyState_build__closure($frames), this.$this.controller._performance_controller0$_displayRefreshRate, type$.legacy_double);
    },
    $signature: 318
  };
  R.LegacyPerformanceScreenBodyState_build__closure.prototype = {
    call$3: function(context, displayRefreshRate, _) {
      return new S.LegacyFlutterFramesChart(this.frames, displayRefreshRate, null);
    },
    $signature: 489
  };
  R.LegacyPerformanceScreenBodyState_build_closure0.prototype = {
    call$3: function(context, selectedEvent, _) {
      return new F.EventDetails0(selectedEvent, null);
    },
    $signature: 490
  };
  R.LegacyPerformanceScreenBodyState__buildPrimaryStateControls_closure.prototype = {
    call$3: function(context, refreshing, _) {
      var _this = this, _null = null,
        t1 = !refreshing,
        t2 = U.RefreshButton$(725, "Refresh", !t1 || _this.$this.processing ? _null : _this.$this.get$_performance_screen0$_refreshPerformanceData());
      return T.Row$(H._setArrayType([t2, C.SizedBox_16_null_null_null, U.ClearButton$(725, _null, !t1 || _this.$this.processing ? _null : _this.$this.get$_performance_screen0$_clearPerformanceData())], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    $signature: 61
  };
  R.LegacyPerformanceScreenBodyState__openSettingsDialog_closure.prototype = {
    call$1: function(context) {
      return new R.LegacyPerformanceSettingsDialog(this.$this.controller, null);
    },
    $signature: 491
  };
  R.LegacyPerformanceScreenBodyState__clearPerformanceData_closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  R.LegacyPerformanceSettingsDialog.prototype = {
    build$1: function(_, context) {
      var t3, t4, t5, t6, t7, t8, _this = this, _null = null,
        theme = K.Theme_of(context),
        t1 = theme.textTheme,
        t2 = L.Text$("Performance Settings", _null, _null, _null, _null, _null, t1.headline6, _null, _null, _null);
      t1 = t1.subtitle1;
      t3 = type$.JSArray_legacy_Widget;
      t4 = type$.legacy_Widget;
      t5 = P.List_List$of(H._setArrayType([L.Text$("Recorded Timeline Streams", _null, _null, _null, _null, _null, t1, _null, _null, _null), C.PaddedDivider_wEo0], t3), true, t4);
      t6 = theme.unselectedWidgetColor;
      t7 = H._setArrayType([T.RichText$(_null, _null, C.TextOverflow_0, true, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t6, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "Default"), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0)], t3);
      C.JSArray_methods.addAll$1(t7, _this._performance_screen0$_timelineStreams$2$advanced(theme, false));
      t8 = _this.controller;
      t7.push(_this._performance_screen0$_buildStream$5$description$listenable$name$onChanged$theme(" \u2022 Http traffic", t8._performance_controller0$_httpTimelineLoggingEnabled, "Network", t8.get$toggleHttpRequestLogging(), theme));
      C.JSArray_methods.addAll$1(t5, t7);
      t6 = H._setArrayType([T.RichText$(_null, _null, C.TextOverflow_0, true, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t6, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "Advanced"), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0)], t3);
      C.JSArray_methods.addAll$1(t6, _this._performance_screen0$_timelineStreams$2$advanced(theme, true));
      C.JSArray_methods.addAll$1(t5, t6);
      if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp) {
        t6 = H._setArrayType([C.SizedBox_null_8_null_null], t3);
        t4 = P.List_List$of(H._setArrayType([L.Text$("Additional Settings", _null, _null, _null, _null, _null, t1, _null, _null, _null), C.PaddedDivider_wEo0], t3), true, t4);
        t4.push(new R._LegacyBadgeJankyFramesSetting(t8, _null));
        C.JSArray_methods.addAll$1(t6, t4);
        C.JSArray_methods.addAll$1(t5, t6);
      }
      return new O.DevToolsDialog(t2, M.Container$(_null, T.Column$(t5, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, 700), false, H._setArrayType([new O.DialogCloseButton(_null)], t3), _null);
    },
    _performance_screen0$_timelineStreams$2$advanced: function(theme, advanced) {
      var _i, stream,
        settings = H._setArrayType([], type$.JSArray_legacy_Widget),
        t1 = this.controller.recordedStreams,
        t2 = H._arrayInstanceType(t1)._eval$1("WhereIterable<1>"),
        streams = P.List_List$of(new H.WhereIterable(t1, new R.LegacyPerformanceSettingsDialog__timelineStreams_closure(advanced), t2), true, t2._eval$1("Iterable.E"));
      for (t1 = streams.length, _i = 0; _i < t1; ++_i) {
        stream = streams[_i];
        t2 = stream.name;
        settings.push(this._performance_screen0$_buildStream$5$description$listenable$name$onChanged$theme(" \u2022 " + stream.description, stream._timeline_streams$_enabled, t2, new R.LegacyPerformanceSettingsDialog__timelineStreams_closure0(this, stream), theme));
      }
      return settings;
    },
    _performance_screen0$_buildStream$5$description$listenable$name$onChanged$theme: function(description, listenable, $name, onChanged, theme) {
      var _null = null,
        t1 = N.ValueListenableBuilder$(new R.LegacyPerformanceSettingsDialog__buildStream_closure(onChanged), listenable, type$.dynamic),
        t2 = A.TextStyle$(_null, _null, theme.textTheme.bodyText2.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      return T.Row$(H._setArrayType([t1, new T.Flexible(1, C.FlexFit_1, T.RichText$(_null, _null, C.TextOverflow_3, true, _null, Q.TextSpan$(H._setArrayType([Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), description)], type$.JSArray_legacy_InlineSpan), _null, _null, t2, $name), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null);
    }
  };
  R.LegacyPerformanceSettingsDialog__timelineStreams_closure.prototype = {
    call$1: function(s) {
      return s.advanced === this.advanced;
    },
    $signature: 317
  };
  R.LegacyPerformanceSettingsDialog__timelineStreams_closure0.prototype = {
    call$1: function(_) {
      return this.$this.controller.toggleTimelineStream$1(this.stream);
    },
    $signature: 98
  };
  R.LegacyPerformanceSettingsDialog__buildStream_closure.prototype = {
    call$3: function(context, value, _) {
      return K.Checkbox$(null, false, null, null, this.onChanged, false, value);
    },
    $signature: 316
  };
  R._LegacyBadgeJankyFramesSetting.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return T.Row$(H._setArrayType([new B.NotifierCheckbox(this.controller._performance_controller0$_badgeTabForJankyFrames, _null), T.RichText$(_null, _null, C.TextOverflow_3, true, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(context).textTheme.bodyText2.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), string$.Badge_), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    }
  };
  R._LegacyPerformanceScreenBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  R._LegacyPerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin.prototype = {};
  X.LegacyTimelineEventProcessor.prototype = {
    processTimeline$1: function(traceEvents) {
      return this.processTimeline$body$LegacyTimelineEventProcessor(traceEvents);
    },
    processTimeline$body$LegacyTimelineEventProcessor: function(traceEvents) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, _traceEvents, t2, batchSize, t3, t4, t5, _box_0;
      var $async$processTimeline$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              $async$self.reset$0(0);
              _box_0.firstTimestampMicros = null;
              t1 = H._arrayInstanceType(traceEvents)._eval$1("WhereIterable<1>");
              _traceEvents = P.List_List$of(new H.WhereIterable(traceEvents, new X.LegacyTimelineEventProcessor_processTimeline_closure(_box_0), t1), true, t1._eval$1("Iterable.E"));
              C.JSArray_methods.sort$0(_traceEvents);
              t1 = H._arrayInstanceType(_traceEvents)._eval$1("MappedListIterable<1,Map<String*,@>*>");
              t2 = $async$self.timelineController;
              C.JSArray_methods.forEach$1(P.List_List$of(new H.MappedListIterable(_traceEvents, new X.LegacyTimelineEventProcessor_processTimeline_closure0(), t1), true, t1._eval$1("ListIterable.E")), t2.get$recordTrace());
              batchSize = C.JSNumber_methods.round$0(Math.min(2000, Math.max(1, _traceEvents.length / 4)));
              t1 = $async$self._timeline_event_processor0$_progressNotifier;
            case 2:
              // for condition
              if (!($async$self._timeline_event_processor0$_traceEventsProcessed < _traceEvents.length)) {
                // goto after for
                $async$goto = 3;
                break;
              }
              $async$self._timeline_event_processor0$_processBatch$2(batchSize, _traceEvents);
              t1.set$value(0, $async$self._timeline_event_processor0$_traceEventsProcessed / _traceEvents.length);
              $async$goto = 4;
              return P._asyncAwait(B.delayForBatchProcessing(0), $async$processTimeline$1);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              for (t1 = $async$self._timeline_event_processor0$_asyncEventsById, t1 = t1.get$values(t1), t3 = t1.get$iterator(t1), t1 = new H.WhereIterator(t3, new X.LegacyTimelineEventProcessor_processTimeline_closure1(), H._instanceType(t1)._eval$1("WhereIterator<Iterable.E>")); t1.moveNext$0();) {
                t4 = t3.get$current(t3);
                if (!t4._performance_model$_isWellFormedDeep$1(t4))
                  continue;
                t5 = t2.data;
                t5.timelineEvents.push(t4);
                t5._performance_model$_endTimestampMicros = Math.max(t5._performance_model$_endTimestampMicros, t4.get$maxEndMicros());
              }
              $async$self._timeline_event_processor0$_addPendingCompleteRootToTimeline$1$force(true);
              t1 = $async$self.pendingFrames;
              t1.get$values(t1).forEach$1(0, $async$self.get$_timeline_event_processor0$_maybeAddCompletedFrame());
              C.JSArray_methods.sort$1(t2.data.timelineEvents, new X.LegacyTimelineEventProcessor_processTimeline_closure2());
              t1 = t2.data;
              t3 = t1.timelineEvents;
              t4 = t3.length;
              t1 = t1.time;
              if (t4 !== 0) {
                t3 = P.Duration$(C.JSArray_methods.get$first(t3).time._utils$_start._duration, 0);
                t1._utils$_start = t3;
                t2 = P.Duration$(t2.data._performance_model$_endTimestampMicros, 0);
                t1._utils$_end = t2;
              } else {
                t1._utils$_start = C.Duration_0;
                t1._utils$_end = C.Duration_0;
              }
              $async$self.reset$0(0);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$processTimeline$1, $async$completer);
    },
    _timeline_event_processor0$_processBatch$2: function(batchSize, traceEvents) {
      var t1, eventWrapper, t2, current, timelineEvent, t3, _this = this,
        _s12_ = "PipelineItem",
        i = _this._timeline_event_processor0$_traceEventsProcessed,
        batchEnd = Math.min(i + batchSize, traceEvents.length);
      for (t1 = _this.currentDurationEventNodes; i < batchEnd; ++i) {
        eventWrapper = traceEvents[i];
        ++_this._timeline_event_processor0$_traceEventsProcessed;
        t2 = eventWrapper.event;
        t2._trace_event$_type = _this.inferEventType$1(t2);
        _this._timeline_event_processor0$_addPendingCompleteRootToTimeline$1$currentProcessingTime(t2.timestampMicros);
        switch (t2.phase) {
          case "b":
          case "n":
            _this._timeline_event_processor0$_addAsyncEvent$1(eventWrapper);
            break;
          case "e":
            _this._timeline_event_processor0$_endAsyncEvent$1(eventWrapper);
            break;
          case "B":
            t2 = t2.threadId;
            current = t1.$index(0, t2);
            timelineEvent = Y.LegacySyncTimelineEvent$(eventWrapper);
            if (current != null)
              current.addChild$1(timelineEvent);
            t1.$indexSet(0, t2, timelineEvent);
            break;
          case "E":
            _this._timeline_event_processor0$_handleDurationEndEvent$1(eventWrapper);
            break;
          case "X":
            _this._timeline_event_processor0$_handleDurationCompleteEvent$1(eventWrapper);
            break;
          case "s":
            t3 = t2.name;
            t3.toString;
            if (H.stringContainsUnchecked(t3, _s12_, 0))
              _this._timeline_event_processor0$_handleFrameStartEvent$1(t2);
            break;
          case "f":
            t3 = t2.name;
            t3.toString;
            if (H.stringContainsUnchecked(t3, _s12_, 0))
              _this._timeline_event_processor0$_handleFrameEndEvent$1(t2);
            break;
          default:
            break;
        }
      }
    },
    _timeline_event_processor0$_addPendingCompleteRootToTimeline$2$currentProcessingTime$force: function(currentProcessingTime, force) {
      var t2,
        t1 = this._timeline_event_processor0$_pendingRootCompleteEvent;
      if (t1 != null)
        t2 = force || currentProcessingTime > t1.time._utils$_end._duration;
      else
        t2 = false;
      if (t2) {
        this.timelineController.data.addTimelineEvent$1(t1);
        this._timeline_event_processor0$_pendingRootCompleteEvent = null;
      }
    },
    _timeline_event_processor0$_addPendingCompleteRootToTimeline$1$force: function(force) {
      return this._timeline_event_processor0$_addPendingCompleteRootToTimeline$2$currentProcessingTime$force(null, force);
    },
    _timeline_event_processor0$_addPendingCompleteRootToTimeline$1$currentProcessingTime: function(currentProcessingTime) {
      return this._timeline_event_processor0$_addPendingCompleteRootToTimeline$2$currentProcessingTime$force(currentProcessingTime, false);
    },
    _timeline_event_processor0$_addAsyncEvent$1: function(eventWrapper) {
      var timelineEvent, $parent, currentEventWithId,
        t1 = eventWrapper.event,
        t2 = J.$index$asx(t1.args, "parentId"),
        t3 = new B.TimeRange(true),
        t4 = H._setArrayType([eventWrapper], type$.JSArray_legacy_TraceEventWrapper),
        t5 = t1._trace_event$_type;
      if (t5 == null)
        t5 = t1._trace_event$_type = C.TimelineEventType_3;
      timelineEvent = new Y.LegacyAsyncTimelineEvent(t2, t4, t5, t3, false, false, H._setArrayType([], type$.JSArray_legacy_LegacyTimelineEvent));
      t5 = P.Duration$(t1.timestampMicros, 0);
      t3._utils$_start = t5;
      timelineEvent.type = C.TimelineEventType_2;
      if (t1.phase === "n")
        t3._utils$_end = t5;
      if (t2 != null) {
        t2 = this._timeline_event_processor0$_asyncEventsById;
        $parent = t2.$index(0, timelineEvent.get$parentAsyncUID());
        if ($parent != null)
          $parent.addChild$1(timelineEvent);
        t2.$indexSet(0, t1.get$asyncUID(), timelineEvent);
        return;
      }
      t2 = this._timeline_event_processor0$_asyncEventsById;
      currentEventWithId = t2.$index(0, t1.get$asyncUID());
      if (currentEventWithId != null)
        if (currentEventWithId._performance_model$_isWellFormedDeep$1(currentEventWithId)) {
          this.timelineController.data.addTimelineEvent$1(currentEventWithId);
          t2.$indexSet(0, t1.get$asyncUID(), timelineEvent);
        } else if (currentEventWithId.get$isWellFormed())
          B.log("Id collision on id " + H.S(J.$index$asx(t1.json, "id")), C.LogLevel_1);
        else
          currentEventWithId.addChild$1(timelineEvent);
      else
        t2.$indexSet(0, t1.get$asyncUID(), timelineEvent);
    },
    _timeline_event_processor0$_endAsyncEvent$1: function(eventWrapper) {
      var root = this._timeline_event_processor0$_asyncEventsById.$index(0, eventWrapper.event.get$asyncUID());
      if (root == null)
        return;
      root.endAsyncEvent$1(eventWrapper);
    },
    _timeline_event_processor0$_handleDurationEndEvent$1: function(eventWrapper) {
      var t3, t4, t5, t6, current0, _this = this, _null = null,
        $event = eventWrapper.event,
        t1 = _this.currentDurationEventNodes,
        t2 = $event.threadId,
        current = t1.$index(0, t2);
      if (current == null)
        return;
      t3 = $event.name;
      t4 = current.traceEvents;
      if (t3 != C.JSArray_methods.get$first(t4).event.name) {
        t5 = _this._timeline_event_processor0$_previousDurationEndEvents;
        t6 = t5.$index(0, t2);
        t6 = t6 == null ? _null : t6.json;
        if (C.C_DeepCollectionEquality.equals$2($event.json, t6))
          return;
        else {
          t6 = C.JSArray_methods.get$first(t4);
          t5 = t5.$index(0, t2);
          t5 = t5 == null ? _null : t5.name;
          if (t6.event.name == t5) {
            t5 = current.parent;
            if ((t5 == null ? _null : C.JSArray_methods.get$first(t5.traceEvents).event.name) == t3) {
              t3 = current.children;
              t3 = t3.length === 1 && C.C_DeepCollectionEquality.equals$2(C.JSArray_methods.get$first(t4).event.json, C.JSArray_methods.get$first(C.JSArray_methods.get$first(t3).traceEvents).event.json);
            } else
              t3 = false;
          } else
            t3 = false;
          if (t3) {
            current.parent.removeChild$1(current);
            current = current.parent;
            t1.$indexSet(0, t2, current);
          } else {
            t1.$indexSet(0, t2, _null);
            return;
          }
        }
      }
      _this._timeline_event_processor0$_previousDurationEndEvents.$indexSet(0, t2, $event);
      current.addEndEvent$1(eventWrapper);
      current.maybeRemoveDuplicate$0();
      while (true) {
        current0 = current.parent;
        if (current0 != null) {
          t3 = current0.time._utils$_end;
          t3 = (t3 == null ? _null : t3._duration) != null;
        } else
          t3 = false;
        if (!t3)
          break;
        current = current0;
      }
      t1.$indexSet(0, t2, current0);
      if (current.parent == null) {
        _this.timelineController.data.addTimelineEvent$1(current);
        _this._timeline_event_processor0$_maybeAddFlutterFrameEvent$1(current);
      }
    },
    _timeline_event_processor0$_handleDurationCompleteEvent$1: function(eventWrapper) {
      var current,
        $event = eventWrapper.event,
        timelineEvent = Y.LegacySyncTimelineEvent$(eventWrapper),
        t1 = timelineEvent.time,
        t2 = P.Duration$($event.timestampMicros + $event.duration, 0);
      t1._utils$_end = t2;
      current = this.currentDurationEventNodes.$index(0, $event.threadId);
      if (current != null) {
        if (X.breadthFirstTraversal(current, null, new X.LegacyTimelineEventProcessor__handleDurationCompleteEvent_closure(timelineEvent), H._instanceType(current)._eval$1("TreeNode.T*")) != null)
          return;
        current.addChild$1(timelineEvent);
      } else {
        t1 = this._timeline_event_processor0$_pendingRootCompleteEvent;
        if (t1 == null)
          this._timeline_event_processor0$_pendingRootCompleteEvent = timelineEvent;
        else
          t1.addChild$1(timelineEvent);
      }
    },
    _timeline_event_processor0$_handleFrameStartEvent$1: function($event) {
      var pendingFrame, t1, t2;
      if (J.$index$asx($event.json, "id") == null)
        return;
      pendingFrame = this._timeline_event_processor0$_frameFromEvent$1($event);
      t1 = pendingFrame.pipelineItemTime;
      t2 = t1._utils$_start;
      t2 = t2 == null ? null : t2._duration;
      t2 = P.Duration$(B.nullSafeMin(t2, $event.timestampMicros), 0);
      t1._utils$_start = t2;
      this._timeline_event_processor0$_maybeAddCompletedFrame$1(pendingFrame);
    },
    _timeline_event_processor0$_handleFrameEndEvent$1: function($event) {
      return this._handleFrameEndEvent$body$LegacyTimelineEventProcessor($event);
    },
    _handleFrameEndEvent$body$LegacyTimelineEventProcessor: function($event) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, pendingFrame, t1, t2;
      var $async$_timeline_event_processor0$_handleFrameEndEvent$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $event.json;
              t2 = J.getInterceptor$asx(t1);
              if (t2.$index(t1, "id") == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (!$async$self.pendingFrames.containsKey$1(0, H.S($event.name) + "-" + H.S(t2.$index(t1, "id")))) {
                // goto return
                $async$goto = 1;
                break;
              }
              pendingFrame = $async$self._timeline_event_processor0$_frameFromEvent$1($event);
              t1 = pendingFrame.pipelineItemTime;
              t2 = t1._utils$_end;
              t2 = t2 == null ? null : t2._duration;
              t2 = P.Duration$(B.nullSafeMax(t2, $event.timestampMicros), 0);
              t1._utils$_end = t2;
              $async$self._timeline_event_processor0$_maybeAddCompletedFrame$1(pendingFrame);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_timeline_event_processor0$_handleFrameEndEvent$1, $async$completer);
    },
    _timeline_event_processor0$_maybeAddFlutterFrameEvent$1: function($event) {
      var t1, t2, $frames, _i, _this = this;
      if (!($event.get$isUiEventFlow() && C.JSArray_methods.get$first($event.traceEvents).event.threadId == _this.uiThreadId))
        t1 = !($event.get$isRasterEventFlow() && C.JSArray_methods.get$first($event.traceEvents).event.threadId == _this.rasterThreadId);
      else
        t1 = false;
      if (t1)
        return;
      t1 = _this.pendingFrames;
      t1 = t1.get$values(t1);
      t2 = H._instanceType(t1)._eval$1("WhereIterable<Iterable.E>");
      $frames = P.List_List$of(new H.WhereIterable(t1, new X.LegacyTimelineEventProcessor__maybeAddFlutterFrameEvent_closure(), t2), true, t2._eval$1("Iterable.E"));
      C.JSArray_methods.sort$1($frames, new X.LegacyTimelineEventProcessor__maybeAddFlutterFrameEvent_closure0());
      for (t1 = $frames.length, _i = 0; _i < $frames.length; $frames.length === t1 || (0, H.throwConcurrentModificationError)($frames), ++_i)
        if (_this._timeline_event_processor0$_maybeAddEventToFrame$2($event, $frames[_i]))
          break;
    },
    _timeline_event_processor0$_maybeAddEventToFrame$2: function($event, frame) {
      var type, t2, t3, t4,
        t1 = frame.eventFlows;
      if (t1[$event.type.index] != null || !this.satisfiesUiRasterOrder$2($event, frame))
        return false;
      type = $event.type;
      if (type === C.TimelineEventType_0) {
        t2 = frame.time;
        t3 = $event.time;
        t4 = t3._utils$_start;
        t2._utils$_start = t4;
        if (t1[1] != null) {
          t3 = t3._utils$_end;
          t2._utils$_end = t3;
        }
      }
      if (type === C.TimelineEventType_1) {
        t2 = t1[0];
        if (t2 != null) {
          t3 = frame.time;
          t2 = t2.time._utils$_end._duration;
          t4 = $event.time;
          t4 = t4._utils$_end;
          t4 = t4 == null ? null : t4._duration;
          if (t4 == null)
            t4 = 0;
          t4 = P.Duration$(Math.max(t2, t4), 0);
          t3._utils$_end = t4;
        }
      }
      t1[type.index] = $event;
      this._timeline_event_processor0$_maybeAddCompletedFrame$1(frame);
      return true;
    },
    satisfiesUiRasterOrder$2: function(e, f) {
      if (e.get$isUiEventFlow() && f.eventFlows[1] != null)
        return e.time._utils$_start._duration < f.eventFlows[1].time._utils$_start._duration;
      else if (e.get$isRasterEventFlow() && f.eventFlows[0] != null)
        return e.time._utils$_start._duration > f.eventFlows[0].time._utils$_start._duration;
      return true;
    },
    _timeline_event_processor0$_maybeAddCompletedFrame$1: function(frame) {
      var t2,
        t1 = frame.eventFlows;
      if (t1[0] != null)
        if (t1[1] != null) {
          t1 = frame.pipelineItemTime;
          t2 = t1._utils$_start;
          if ((t2 == null ? null : t2._duration) != null) {
            t1 = t1._utils$_end;
            t1 = (t1 == null ? null : t1._duration) != null;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1) {
        this.timelineController.data.frames.push(frame);
        this.pendingFrames.remove$1(0, frame.id);
      }
    },
    _timeline_event_processor0$_frameFromEvent$1: function($event) {
      var id = H.S($event.name) + "-" + H.S(J.$index$asx($event.json, "id"));
      return this.pendingFrames.putIfAbsent$2(0, id, new X.LegacyTimelineEventProcessor__frameFromEvent_closure(id));
    },
    reset$0: function(_) {
      var _this = this;
      _this._timeline_event_processor0$_asyncEventsById.clear$0(0);
      _this.currentDurationEventNodes.clear$0(0);
      _this._timeline_event_processor0$_previousDurationEndEvents.clear$0(0);
      _this.pendingFrames.clear$0(0);
      _this._timeline_event_processor0$_pendingRootCompleteEvent = null;
      _this._timeline_event_processor0$_traceEventsProcessed = 0;
      _this._timeline_event_processor0$_progressNotifier.set$value(0, 0);
    },
    inferEventType$1: function($event) {
      var t1 = $event.phase;
      if (t1 === "b" || t1 === "n" || t1 === "e")
        return C.TimelineEventType_2;
      else {
        t1 = $event.threadId;
        if (t1 == this.uiThreadId)
          return C.TimelineEventType_0;
        else if (t1 == this.rasterThreadId)
          return C.TimelineEventType_1;
        else
          return C.TimelineEventType_3;
      }
    }
  };
  X.LegacyTimelineEventProcessor_processTimeline_closure.prototype = {
    call$1: function($event) {
      var t2,
        t1 = $event.event,
        isMessageLoopFlushTasks = J.contains$1$asx(t1.name, "MessageLoop::FlushTasks"),
        ts = t1.timestampMicros,
        shouldProcess = ts != null && !isMessageLoopFlushTasks;
      if (shouldProcess) {
        t1 = this._box_0;
        t2 = t1.firstTimestampMicros;
        if (t2 == null) {
          t1.firstTimestampMicros = ts;
          t1 = ts;
        } else
          t1 = t2;
        if (Math.abs(ts - t1) > 576e8)
          return false;
      }
      return shouldProcess;
    },
    $signature: 99
  };
  X.LegacyTimelineEventProcessor_processTimeline_closure0.prototype = {
    call$1: function($event) {
      return $event.event.json;
    },
    $signature: 315
  };
  X.LegacyTimelineEventProcessor_processTimeline_closure1.prototype = {
    call$1: function(e) {
      return e.parent == null;
    },
    $signature: 496
  };
  X.LegacyTimelineEventProcessor_processTimeline_closure2.prototype = {
    call$2: function(a, b) {
      return C.JSInt_methods.compareTo$1(a.time._utils$_start._duration, b.time._utils$_start._duration);
    },
    $signature: 100
  };
  X.LegacyTimelineEventProcessor__handleDurationCompleteEvent_closure.prototype = {
    call$1: function($event) {
      return C.C_DeepCollectionEquality.equals$2(C.JSArray_methods.get$first($event.traceEvents).event.json, C.JSArray_methods.get$first(this.timelineEvent.traceEvents).event.json);
    },
    $signature: 49
  };
  X.LegacyTimelineEventProcessor__maybeAddFlutterFrameEvent_closure.prototype = {
    call$1: function(frame) {
      return frame.pipelineItemTime._utils$_start != null;
    },
    $signature: 326
  };
  X.LegacyTimelineEventProcessor__maybeAddFlutterFrameEvent_closure0.prototype = {
    call$2: function(a, b) {
      return C.JSInt_methods.compareTo$1(a.pipelineItemTime._utils$_start._duration, b.pipelineItemTime._utils$_start._duration);
    },
    $signature: 497
  };
  X.LegacyTimelineEventProcessor__frameFromEvent_closure.prototype = {
    call$0: function() {
      return Y.LegacyFlutterFrame$(this.id);
    },
    $signature: 498
  };
  Y.LegacyTimelineFlameChartContainer.prototype = {
    createState$0: function() {
      var _null = null;
      return new Y._LegacyTimelineFlameChartContainerState(_null, _null, _null, _null, 769, 772, 13, 27, 9, 458792, 458795, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  Y._LegacyTimelineFlameChartContainerState.prototype = {
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_LegacyPerformanceController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
    },
    build$1: function(_, context) {
      var timelineEmpty, $content, searchFieldEnabled, _this = this, _null = null,
        t1 = _this.controller.data;
      t1 = t1 == null ? _null : J.get$isEmpty$asx(t1.traceEvents);
      timelineEmpty = t1 !== false || _this.controller.data.eventGroups._collection$_root == null;
      $content = _this._widget.processing || timelineEmpty ? N.ValueListenableBuilder$(new Y._LegacyTimelineFlameChartContainerState_build_closure(_this), _this.controller._performance_controller0$_emptyTimeline, type$.legacy_bool) : new A.LayoutBuilder(new Y._LegacyTimelineFlameChartContainerState_build_closure0(_this), _null);
      t1 = _this.controller.data;
      t1 = t1 == null ? _null : J.get$isEmpty$asx(t1.traceEvents);
      searchFieldEnabled = t1 === false && !_this._widget.processing;
      t1 = type$.JSArray_legacy_Widget;
      return new U.OutlineDecoration(T.Column$(H._setArrayType([U.AreaPaneHeader$(H._setArrayType([M.Container$(_null, _this.buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(_this.controller, searchFieldEnabled, $.$get$legacyTimelineSearchFieldKey(), false, true), C.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, 400), new S.FlameChartHelpButton(_null)], t1), 1, true, false, false, 0, true, C.Text_Oc6), T.Expanded$(new T.Padding(C.EdgeInsets_0_0_0_8, $content, _null), 1)], t1), C.CrossAxisAlignment_1, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
    }
  };
  Y._LegacyTimelineFlameChartContainerState_build_closure.prototype = {
    call$3: function(context, emptyRecording, _) {
      var _null = null;
      return emptyRecording ? T.Center$(L.Text$("No timeline events", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(context).unselectedWidgetColor, _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, C.ValueKey_2ec, _null) : new U.ProcessingInfo(this.$this._widget.processingProgress, "timeline trace", _null);
    },
    $signature: 121
  };
  Y._LegacyTimelineFlameChartContainerState_build_closure0.prototype = {
    call$2: function(context, constraints) {
      var t8,
        t1 = this.$this,
        t2 = t1.controller,
        t3 = t2.data,
        t4 = constraints.maxWidth,
        t5 = constraints.maxHeight,
        t6 = t2._performance_controller0$_selectedTimelineEventNotifier,
        t7 = t2.SearchControllerMixin__searchMatches;
      t2 = t2.SearchControllerMixin__activeSearchMatch;
      t8 = Y.LegacyTimelineFlameChart__calculateStartInset(t3);
      return new Y.LegacyTimelineFlameChart(t3, t3.time, t4, t5, t8, 70, t6, t7, t2, new Y._LegacyTimelineFlameChartContainerState_build__closure(t1), null);
    },
    $signature: 499
  };
  Y._LegacyTimelineFlameChartContainerState_build__closure.prototype = {
    call$1: function(e) {
      return this.$this.controller.selectTimelineEvent$1(e);
    },
    $signature: 500
  };
  Y.LegacyTimelineFlameChart.prototype = {
    createState$0: function() {
      return new Y.LegacyTimelineFlameChartState(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_LegacyTimelineEvent, type$.legacy_FlameChartNode_legacy_FlameChartDataMixin_dynamic), H._setArrayType([], type$.JSArray_legacy_HorizontalLineSegment), H._setArrayType([], type$.JSArray_legacy_VerticalLineSegment), new P.Expando(new WeakMap(), type$.Expando_legacy_double), H._setArrayType([], type$.JSArray_legacy_FlameChartRow_legacy_LegacyTimelineEvent), H._setArrayType([], type$.JSArray_legacy_FlameChartSection), O.FocusNode$(true, null, true, null, false), null, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  Y.LegacyTimelineFlameChartState.prototype = {
    get$rowOffsetForTopPadding: function() {
      return 3;
    },
    initState$0: function() {
      var _this = this;
      _this.super$FlameChartState$initState();
      _this._timeline_flame_chart$_groupLabelScrollController = _this.verticalControllerGroup.addAndGet$0();
      _this._timeline_flame_chart$_previousInGroupButtonsScrollController = _this.verticalControllerGroup.addAndGet$0();
      _this._timeline_flame_chart$_nextInGroupButtonsScrollController = _this.verticalControllerGroup.addAndGet$0();
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_LegacyPerformanceController);
      if (newController == _this._timeline_flame_chart$_performanceController)
        return;
      _this._timeline_flame_chart$_performanceController = newController;
      _this.addAutoDisposeListener$2(newController._performance_controller0$_selectedFrameNotifier, _this.get$_timeline_flame_chart$_handleSelectedFrame());
    },
    isDataVerticallyInView$1: function(data) {
      var eventTopY = this.topYForData$1(data),
        t1 = this.verticalControllerGroup.get$_attachedControllers();
      t1 = t1.get$first(t1);
      t1.toString;
      t1 = J.get$position$x(t1)._pixels;
      t1.toString;
      return eventTopY > t1 && eventTopY + 27 < t1 + this._widget.containerHeight;
    },
    isDataHorizontallyInView$1: function(data) {
      var _this = this,
        t1 = _this.get$visibleTimeRange(),
        t2 = data.time,
        t3 = t2._utils$_start,
        t4 = t1._utils$_start;
      t3 = t3._duration;
      if (t3 >= t4._duration && t3 <= t1._utils$_end._duration) {
        t1 = _this.get$visibleTimeRange();
        t2 = data.time;
        t3 = t2._utils$_end;
        t4 = t1._utils$_start;
        t3 = t3._duration;
        t1 = t3 >= t4._duration && t3 <= t1._utils$_end._duration;
      } else
        t1 = false;
      if (!t1) {
        t1 = t2._utils$_start;
        t2 = _this.get$visibleTimeRange()._utils$_start;
        if (t1._duration <= t2._duration) {
          t1 = data.time._utils$_end;
          t2 = _this.get$visibleTimeRange()._utils$_end;
          t2 = t1._duration >= t2._duration;
          t1 = t2;
        } else
          t1 = false;
      } else
        t1 = true;
      return t1;
    },
    topYForData$1: function(data) {
      var eventGroup = this._widget.data.eventGroups.$index(0, T.legacyComputeEventGroupKey(data, this._timeline_flame_chart$_performanceController.threadNamesById)),
        rowOffsetInGroup = eventGroup.rowIndexForEvent.$index(0, data);
      P.Expando__checkType(eventGroup);
      return this.eventGroupStartYValues._jsWeakMap.get(eventGroup) + rowOffsetInGroup * 27;
    },
    startXForData$1: function(data) {
      var t2, t3, t4,
        timeMicros = data.time._utils$_start._duration,
        t1 = this._widget;
      t1 = t1.get$time(t1)._utils$_start._duration;
      t2 = this._widget;
      t3 = t2.data.time;
      t4 = t3._utils$_end;
      t3 = t3._utils$_start;
      t4 = t4._duration;
      t3 = t3._duration;
      return t2.get$startingContentWidth() * this.currentZoom * ((timeMicros - t1) / (t4 - t3));
    },
    _timeline_flame_chart$_indexOfFirstEventInView$1: function(group) {
      var boundEvent,
        t1 = L.TraceEvent$(P.LinkedHashMap_LinkedHashMap$_literal(["ts", this.get$visibleTimeRange()._utils$_start._duration], type$.legacy_String, type$.dynamic));
      t1._trace_event$_type = C.TimelineEventType_3;
      boundEvent = Y.LegacySyncTimelineEvent$(L.TraceEventWrapper$(t1, 0));
      boundEvent.time = this.get$visibleTimeRange();
      return Q.lowerBound(group.get$sortedEventRoots(), boundEvent, new Y.LegacyTimelineFlameChartState__indexOfFirstEventInView_closure(), type$.legacy_LegacyTimelineEvent);
    },
    _timeline_flame_chart$_viewPreviousEventInGroup$1: function(group) {
      return this._viewPreviousEventInGroup$body$LegacyTimelineFlameChartState(group);
    },
    _viewPreviousEventInGroup$body$LegacyTimelineFlameChartState: function(group) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, $event, t1, t2, firstInViewIndex;
      var $async$_timeline_flame_chart$_viewPreviousEventInGroup$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              firstInViewIndex = $async$self._timeline_flame_chart$_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 P._asyncAwait($async$self.zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros($event, t1._utils$_end._duration - t2, true, false, t2), $async$_timeline_flame_chart$_viewPreviousEventInGroup$1);
            case 5:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              t1 = $async$self._framework$_element;
              t1.toString;
              Y.Notifications_of(t1).push$1(string$.There_ab);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_timeline_flame_chart$_viewPreviousEventInGroup$1, $async$completer);
    },
    _timeline_flame_chart$_viewNextEventInGroup$1: function(group) {
      return this._viewNextEventInGroup$body$LegacyTimelineFlameChartState(group);
    },
    _viewNextEventInGroup$body$LegacyTimelineFlameChartState: function(group) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, boundEvent, t2, firstOutOfViewIndex, zoomTo, t1;
      var $async$_timeline_flame_chart$_viewNextEventInGroup$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = L.TraceEvent$(P.LinkedHashMap_LinkedHashMap$_literal(["ts", $async$self.get$visibleTimeRange()._utils$_end._duration], type$.legacy_String, type$.dynamic));
              t1._trace_event$_type = C.TimelineEventType_3;
              boundEvent = Y.LegacySyncTimelineEvent$(L.TraceEventWrapper$(t1, 0));
              t1 = new B.TimeRange(true);
              t2 = $async$self.get$visibleTimeRange()._utils$_end;
              t1._utils$_start = t2;
              t2 = $async$self.get$visibleTimeRange()._utils$_end;
              t1._utils$_end = t2;
              boundEvent.time = t1;
              firstOutOfViewIndex = Q.lowerBound(group.get$sortedEventRoots(), boundEvent, new Y.LegacyTimelineFlameChartState__viewNextEventInGroup_closure(), type$.legacy_LegacyTimelineEvent);
              if (firstOutOfViewIndex === group.get$sortedEventRoots().length)
                zoomTo = $async$self._timeline_flame_chart$_indexOfFirstEventInView$1(group) === 0 ? C.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 P._asyncAwait($async$self.zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros(zoomTo, t1._utils$_end._duration - t2, true, false, t2), $async$_timeline_flame_chart$_viewNextEventInGroup$1);
            case 5:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              t1 = $async$self._framework$_element;
              t1.toString;
              Y.Notifications_of(t1).push$1(string$.There_aa);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_timeline_flame_chart$_viewNextEventInGroup$1, $async$completer);
    },
    _timeline_flame_chart$_handleSelectedFrame$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2, selectedFrame;
      var $async$_timeline_flame_chart$_handleSelectedFrame$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              selectedFrame = $async$self._timeline_flame_chart$_performanceController._performance_controller0$_selectedFrameNotifier._value;
              if (selectedFrame == $async$self._timeline_flame_chart$_selectedFrame) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.setState$1(new Y.LegacyTimelineFlameChartState__handleSelectedFrame_closure($async$self, selectedFrame));
              $async$goto = $async$self._timeline_flame_chart$_selectedFrame != null ? 3 : 4;
              break;
            case 3:
              // then
              t1 = selectedFrame.time;
              t2 = t1._utils$_start._duration;
              t1 = t1._utils$_end._duration;
              $async$goto = 5;
              return P._asyncAwait($async$self.zoomAndScrollToData$4$data$durationMicros$jumpZoom$startMicros(selectedFrame.eventFlows[0], t1 - t2, true, t2), $async$_timeline_flame_chart$_handleSelectedFrame$0);
            case 5:
              // returning from await.
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_timeline_flame_chart$_handleSelectedFrame$0, $async$completer);
    },
    initFlameChartElements$0: function() {
      var createChartNode, t1, t2, t3, t4, currentRowIndex, currentSectionIndex, yOffset, t5, group, t6, i, t7, t8, _i, _this = this, _box_0 = {};
      _this.super$FlameChartState$initFlameChartElements();
      _box_0.maxRight = -1;
      createChartNode = new Y.LegacyTimelineFlameChartState_initFlameChartElements_createChartNode(_box_0, _this, new Y.LegacyTimelineFlameChartState_initFlameChartElements_leftForEvent(_this), new Y.LegacyTimelineFlameChartState_initFlameChartElements_rightForEvent(_this));
      _this.expandRows$1(3);
      for (t1 = _this._widget.data.eventGroups, t2 = t1.$ti, t2 = t2._eval$1("@<1>")._bind$1(t2._eval$1("_SplayTreeMapNode<1,2>")), t2 = new P._SplayTreeKeyIterator(t1, H._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, yOffset = 48; t2.moveNext$0();) {
        t5 = t2.get$current(t2);
        group = _this._widget.data.eventGroups.$index(0, t5);
        t5 = t3.length;
        t6 = group.rows;
        _this.expandRows$1(t5 + (t6.length + 1));
        t4.set(group, 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, H.throwConcurrentModificationError)(t5), ++_i)
            createChartNode.call$3(t5[_i], t8, currentSectionIndex);
        t1.push(new S.FlameChartSection(currentSectionIndex));
        t5 = t6.length;
        currentRowIndex += t5 + 1;
        ++currentSectionIndex;
        yOffset += t5 * 27 + 16;
      }
      for (t1 = t3.length, _i = 0; _i < t3.length; t3.length === t1 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
        t2 = t3[_i].nodes;
        t4 = new Y.LegacyTimelineFlameChartState_initFlameChartElements_closure();
        if (!!t2.immutable$list)
          H.throwExpression(P.UnsupportedError$("sort"));
        t5 = t2.length - 1;
        if (t5 - 0 <= 32)
          H.Sort__insertionSort(t2, 0, t5, t4);
        else
          H.Sort__dualPivotQuicksort(t2, 0, t5, t4);
      }
      _this._timeline_flame_chart$_calculateAsyncGuidelines$0();
    },
    buildChartOverlays$2: function(constraints, buildContext) {
      var colorScheme, t2, t3, t4, t5, t6, t7, t8, t9, t10, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      colorScheme = K.Theme_of(t1).colorScheme;
      t1 = _this.currentZoom;
      t2 = _this.verticalScrollOffset;
      t3 = _this.horizontalScrollOffset;
      t4 = _this._widget;
      t5 = t4.startInset;
      t6 = T.CustomPaint$(_null, _null, _null, new Y.LegacyAsyncGuidelinePainter(_this.verticalGuidelines, _this.horizontalGuidelines, t1, constraints, t2, t3, t5, colorScheme, _null), C.Size_0_0);
      t4 = t4.endInset;
      t7 = _this.get$widthWithZoom();
      t8 = _this._widget;
      t9 = t8.time;
      t10 = t9._utils$_end;
      t9 = t9._utils$_start;
      t1 = T.CustomPaint$(_null, _null, _null, S.TimelineGridPainter$(t4, t5, colorScheme, constraints, new P.Duration(t10._duration - t9._duration), t7, t3, t2, t1), C.Size_0_0);
      t2 = _this._timeline_flame_chart$_selectedFrame;
      t3 = _this.currentZoom;
      t7 = _this.verticalScrollOffset;
      t9 = _this.horizontalScrollOffset;
      t10 = t8.startInset;
      t10 = H._setArrayType([t6, t1, T.CustomPaint$(_null, _null, _null, new Y.LegacySelectedFrameBracketPainter(t2, t8.get$time(t8)._utils$_start._duration, _this.get$startingPxPerMicro(), new Y.LegacyTimelineFlameChartState_buildChartOverlays_closure(_this), t3, constraints, t7, t9, t10, colorScheme, _null), C.Size_0_0), _this._timeline_flame_chart$_buildSectionLabels$1$constraints(constraints)], type$.JSArray_legacy_Widget);
      C.JSArray_methods.addAll$1(t10, _this._timeline_flame_chart$_buildEventThreadNavigationButtons$1$constraints(constraints));
      return t10;
    },
    _timeline_flame_chart$_buildSectionLabels$1$constraints: function(constraints) {
      var colorScheme, eventGroups, children, t2, i, t3, topSpacer, bottomSpacer, groupName, group, backgroundColor, backgroundWithOpacity, t4, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      colorScheme = K.Theme_of(t1).colorScheme;
      eventGroups = _this._timeline_flame_chart$_performanceController.data.eventGroups;
      children = H._setArrayType([], type$.JSArray_legacy_Widget);
      for (t1 = colorScheme.brightness === C.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; t3 = eventGroups._count, i < t3; ++i) {
        topSpacer = i === 0 ? 23 : 0;
        bottomSpacer = i === t3 - 1 ? 25 : 0;
        groupName = new P._SplayTreeKeyIterable(eventGroups, t2).elementAt$1(0, i);
        group = eventGroups.$index(0, groupName);
        if (C.JSInt_methods.$mod(i, 2) === 1)
          backgroundColor = t1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
        else if (t1) {
          t3 = C.Map_HFpTk.$index(0, 50);
          t3 = U.ColorExtension_darken(t3, 0.05);
          backgroundColor = t3;
        } else {
          t3 = C.Map_HFpTk.$index(0, 850);
          t3 = U.ColorExtension_brighten(t3);
          backgroundColor = t3;
        }
        t3 = backgroundColor.value;
        backgroundWithOpacity = P.Color$fromRGBO(t3 >>> 16 & 255, t3 >>> 8 & 255, t3 & 255, 0.85);
        t3 = group.rows.length;
        t4 = t1 ? C.Color_4278190080 : C.Color_4294967295;
        children.push(M.Container$(C.Alignment_m1_m1, M.Container$(_null, new L.Text(groupName, _null, new A.TextStyle(true, t4, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null, _null, _null, _null, _null), C.Clip_0, backgroundWithOpacity, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_2_4_2, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, t3 * 27 + 16 + topSpacer + bottomSpacer, _null, _null, new V.EdgeInsets(0, topSpacer, 0, bottomSpacer), _null, _null, _null));
      }
      t1 = constraints.maxHeight;
      t2 = _this._widget.startInset;
      return T.Positioned$(_null, new T.IgnorePointer(true, _null, B.ListView$(children, _this._timeline_flame_chart$_groupLabelScrollController, _null, _null, C.ClampingScrollPhysics_null, _null, false), _null), t1, _null, 0, _null, 25, t2);
    },
    _timeline_flame_chart$_buildEventThreadNavigationButtons$1$constraints: function(constraints) {
      var _this = this, _null = null,
        eventGroups = _this._timeline_flame_chart$_performanceController.data.eventGroups,
        t1 = new Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton(_this, eventGroups),
        t2 = constraints.maxHeight,
        t3 = _this._timeline_flame_chart$_previousInGroupButtonsScrollController,
        t4 = eventGroups._count;
      return H._setArrayType([T.Positioned$(_null, B.ListView$builder(t3, new Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_closure(t1), t4, _null, _null, C.ClampingScrollPhysics_null, _null, C.Axis_1, false), t2, _null, 0, _null, 25, 52), T.Positioned$(_null, B.ListView$builder(_this._timeline_flame_chart$_nextInGroupButtonsScrollController, new Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_closure0(t1), t4, _null, _null, C.ClampingScrollPhysics_null, _null, C.Axis_1, false), t2, _null, _null, 0, 25, 52)], type$.JSArray_legacy_Widget);
    },
    _timeline_flame_chart$_calculateAsyncGuidelines$0: function() {
      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, previousSibling, _this = this,
        t1 = _this.verticalGuidelines;
      C.JSArray_methods.set$length(t1, 0);
      t2 = _this.horizontalGuidelines;
      C.JSArray_methods.set$length(t2, 0);
      for (t3 = _this.rows, t4 = t3.length, t5 = _this.chartNodesByEvent, t6 = type$.legacy_LegacyAsyncTimelineEvent, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i)
        for (t7 = t3[_i].nodes, t8 = t7.length, _i0 = 0; _i0 < t7.length; t7.length === t8 || (0, H.throwConcurrentModificationError)(t7), ++_i0) {
          node = t7[_i0];
          t9 = node.data;
          if (t9 instanceof Y.LegacyAsyncTimelineEvent) {
            t10 = t9.children;
            t11 = t10.length;
            _i1 = 0;
            while (true) {
              if (!(_i1 < t10.length)) {
                allChildrenAreAsyncInstantEvents = true;
                break;
              }
              if (C.JSArray_methods.get$first(t10[_i1].traceEvents).event.phase !== "n") {
                allChildrenAreAsyncInstantEvents = false;
                break;
              }
              t10.length === t11 || (0, H.throwConcurrentModificationError)(t10);
              ++_i1;
            }
            if (t10.length === 0 || allChildrenAreAsyncInstantEvents)
              continue;
            verticalGuidelineX = node.rect.left + 1;
            verticalGuidelineStartY = _this._timeline_flame_chart$_calculateVerticalGuidelineStartY$1(t9);
            t1.push(new N.VerticalLineSegment(new P.Offset(verticalGuidelineX, verticalGuidelineStartY), new P.Offset(verticalGuidelineX, _this._timeline_flame_chart$_calculateHorizontalGuidelineY$1(t9._performance_model$_lowestDisplayChild)), 1));
            firstChild = C.JSArray_methods.firstWhere$1(t10, new Y.LegacyTimelineFlameChartState__calculateAsyncGuidelines_closure());
            t11 = t5.$index(0, firstChild).rect;
            horizontalGuidelineY = _this._timeline_flame_chart$_calculateHorizontalGuidelineY$1(firstChild);
            t2.push(new N.HorizontalLineSegment(new P.Offset(verticalGuidelineX, horizontalGuidelineY), new P.Offset(t11.left, horizontalGuidelineY), 1));
            for (i = 1; i < t10.length; ++i) {
              _box_0 = {};
              _box_0.horizontalGuidelineStartX = verticalGuidelineX;
              child = t10[i];
              if (C.JSArray_methods.get$first(child.traceEvents).event.phase === "n")
                continue;
              childNode = t5.$index(0, child);
              previousSiblingInRow = new Y.LegacyTimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow(node);
              if (childNode.row.index === node.row.index + 1) {
                previousSibling = previousSiblingInRow.call$1(childNode);
                while (true) {
                  t11 = previousSibling != null;
                  if (!(t11 && C.JSArray_methods.get$first(t6._as(previousSibling.data).traceEvents).event.phase === "n"))
                    break;
                  previousSibling = previousSiblingInRow.call$1(previousSibling);
                }
                if (t11)
                  new Y.LegacyTimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline(_box_0, _this, t9, child, node, childNode, verticalGuidelineStartY).call$1(previousSibling.rect.right);
              }
              t11 = childNode.rect;
              horizontalGuidelineY = _this._timeline_flame_chart$_calculateHorizontalGuidelineY$1(child);
              t2.push(new N.HorizontalLineSegment(new P.Offset(_box_0.horizontalGuidelineStartX, horizontalGuidelineY), new P.Offset(t11.left, horizontalGuidelineY), 1));
            }
          }
        }
      C.JSArray_methods.sort$0(t1);
      C.JSArray_methods.sort$0(t2);
    },
    _timeline_flame_chart$_spacerRowsBeforeEvent$1: function($event) {
      return this.chartNodesByEvent.$index(0, $event).sectionIndex + 3;
    },
    _timeline_flame_chart$_calculateVerticalGuidelineStartY$1: function($event) {
      var spacerRowsBeforeEvent = this._timeline_flame_chart$_spacerRowsBeforeEvent$1($event);
      return spacerRowsBeforeEvent * 16 + (this.chartNodesByEvent.$index(0, $event).row.index - spacerRowsBeforeEvent) * 27 + 25;
    },
    _timeline_flame_chart$_calculateHorizontalGuidelineY$1: function($event) {
      var spacerRowsBeforeEvent = this._timeline_flame_chart$_spacerRowsBeforeEvent$1($event);
      return spacerRowsBeforeEvent * 16 + (this.chartNodesByEvent.$index(0, $event).row.index - spacerRowsBeforeEvent) * 27 + 12.5;
    }
  };
  Y.LegacyTimelineFlameChartState__indexOfFirstEventInView_closure.prototype = {
    call$2: function(a, b) {
      var t1 = a.time._utils$_start,
        t2 = b.time._utils$_start;
      return C.JSInt_methods.compareTo$1(t1._duration, t2._duration);
    },
    $signature: 100
  };
  Y.LegacyTimelineFlameChartState__viewNextEventInGroup_closure.prototype = {
    call$2: function(a, b) {
      var t1 = a.time._utils$_end,
        t2 = b.time._utils$_end;
      return C.JSInt_methods.compareTo$1(t1._duration, t2._duration);
    },
    $signature: 100
  };
  Y.LegacyTimelineFlameChartState__handleSelectedFrame_closure.prototype = {
    call$0: function() {
      this.$this._timeline_flame_chart$_selectedFrame = this.selectedFrame;
    },
    $signature: 1
  };
  Y.LegacyTimelineFlameChartState_initFlameChartElements_leftForEvent.prototype = {
    call$1: function($event) {
      var t1 = $event.time._utils$_start._duration,
        t2 = this.$this,
        t3 = t2._widget;
      return (t1 - t3.get$time(t3)._utils$_start._duration) * t2.get$startingPxPerMicro() + t2._widget.startInset;
    },
    $signature: 139
  };
  Y.LegacyTimelineFlameChartState_initFlameChartElements_rightForEvent.prototype = {
    call$1: function($event) {
      var t1 = $event.time._utils$_end._duration,
        t2 = this.$this,
        t3 = t2._widget;
      return (t1 - t3.get$time(t3)._utils$_start._duration) * t2.get$startingPxPerMicro() + t2._widget.startInset;
    },
    $signature: 139
  };
  Y.LegacyTimelineFlameChartState_initFlameChartElements_createChartNode.prototype = {
    call$3: function($event, row, section) {
      var left, right, t1, backgroundColor, textColor, t2, 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.type === C.TimelineEventType_2)
        backgroundColor = C.List_Color_4286630852_Color_4280723098[C.JSInt_methods.$mod(row, 2)];
      else if (C.JSArray_methods.get$first($event.traceEvents).event.category === "GC")
        backgroundColor = C.List_Color_4291475689_Color_4288513226[C.JSInt_methods.$mod(row, 2)];
      else {
        t1 = $event.type;
        if (t1 === C.TimelineEventType_0)
          backgroundColor = $.uiColorPalette[C.JSInt_methods.$mod(row, 2)];
        else
          backgroundColor = t1 === C.TimelineEventType_1 ? $.rasterColorPalette[C.JSInt_methods.$mod(row, 2)] : C.List_Color_4291475689_Color_4288513226[C.JSInt_methods.$mod(row, 2)];
      }
      textColor = $event.type === C.TimelineEventType_1 ? C.Color_4293980400 : C.Color_4278190080;
      t1 = $event.traceEvents;
      t2 = _this.$this;
      node = new S.FlameChartNode(new D.ValueKey(H.S(C.JSArray_methods.get$first(t1).event.name) + " " + C.JSArray_methods.get$first(t1).id, type$.ValueKey_String), new P.Rect(left, 0, right, 25), C.JSArray_methods.get$first(t1).event.name, backgroundColor, textColor, $event, new Y.LegacyTimelineFlameChartState_initFlameChartElements_createChartNode_closure(t2), section, type$.FlameChartNode_legacy_LegacyTimelineEvent);
      t2.chartNodesByEvent.$indexSet(0, $event, node);
      t2.rows[row].addNode$1(node);
    },
    $signature: 502
  };
  Y.LegacyTimelineFlameChartState_initFlameChartElements_createChartNode_closure.prototype = {
    call$1: function($event) {
      return this.$this._widget.onDataSelected.call$1($event);
    },
    $signature: 13
  };
  Y.LegacyTimelineFlameChartState_initFlameChartElements_closure.prototype = {
    call$2: function(a, b) {
      return J.compareTo$1$ns(a.rect.left, b.rect.left);
    },
    $signature: 503
  };
  Y.LegacyTimelineFlameChartState_buildChartOverlays_closure.prototype = {
    call$1: function($event) {
      return this.$this._timeline_flame_chart$_calculateVerticalGuidelineStartY$1($event) - 25;
    },
    $signature: 139
  };
  Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton.prototype = {
    call$2$isNext: function(index, isNext) {
      var backgroundColor,
        topSpacer = index === 0 ? 23 : 0,
        t1 = this.eventGroups,
        bottomSpacer = index === t1._count - 1 ? 25 : 0,
        t2 = t1.$ti,
        group = t1.$index(0, new P._SplayTreeKeyIterable(t1, t2._eval$1("@<1>")._bind$1(t2._eval$1("_SplayTreeMapNode<1,2>"))._eval$1("_SplayTreeKeyIterable<1,2>")).elementAt$1(0, index));
      t2 = this.$this;
      t1 = t2._framework$_element;
      t1.toString;
      t1 = K.Theme_of(t1).colorScheme;
      if (C.JSInt_methods.$mod(index + 1, 2) === 1)
        backgroundColor = t1.brightness === C.Brightness_1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
      else if (t1.brightness === C.Brightness_1) {
        t1 = C.Map_HFpTk.$index(0, 50);
        t1 = U.ColorExtension_darken(t1, 0.05);
        backgroundColor = t1;
      } else {
        t1 = C.Map_HFpTk.$index(0, 850);
        t1 = U.ColorExtension_brighten(t1);
        backgroundColor = t1;
      }
      t1 = backgroundColor.value;
      return new Y.LegacyNavigateInThreadInButton(group, isNext, topSpacer, bottomSpacer, P.Color$fromRGBO(t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255, 0.85), 52, new Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure(t2, isNext, group), new Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0(t2, isNext), t2.horizontalControllerGroup, null);
    },
    call$1: function(index) {
      return this.call$2$isNext(index, null);
    },
    $signature: 314
  };
  Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = this.group;
      return this.isNext ? t1._timeline_flame_chart$_viewNextEventInGroup$1(t2) : t1._timeline_flame_chart$_viewPreviousEventInGroup$1(t2);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 3
  };
  Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0.prototype = {
    call$1: function(g) {
      var firstEventInView, t2, noEventsAfterVisibleTimeRange,
        t1 = this.$this;
      if (this.isNext) {
        firstEventInView = t1._timeline_flame_chart$_indexOfFirstEventInView$1(g);
        t2 = t1.horizontalControllerGroup.get$_attachedControllers();
        noEventsAfterVisibleTimeRange = !t2.get$isEmpty(t2) && g.latestTimestampMicros <= t1.get$visibleTimeRange()._utils$_end._duration;
        if (!(firstEventInView === 0 && noEventsAfterVisibleTimeRange)) {
          t2 = t1.horizontalControllerGroup.get$_attachedControllers();
          t1 = !t2.get$isEmpty(t2) && g.latestTimestampMicros > t1.get$visibleTimeRange()._utils$_end._duration;
        } else
          t1 = true;
      } else {
        t2 = t1.horizontalControllerGroup.get$_attachedControllers();
        t1 = !t2.get$isEmpty(t2) && g.earliestTimestampMicros < t1.get$visibleTimeRange()._utils$_start._duration;
      }
      return t1;
    },
    $signature: 505
  };
  Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_closure.prototype = {
    call$2: function(context, i) {
      return this.buildNavigatorButton.call$2$isNext(i, false);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_closure0.prototype = {
    call$2: function(context, i) {
      return this.buildNavigatorButton.call$2$isNext(i, true);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  Y.LegacyTimelineFlameChartState__calculateAsyncGuidelines_closure.prototype = {
    call$1: function(e) {
      return C.JSArray_methods.get$first(e.traceEvents).event.phase !== "n";
    },
    $signature: 49
  };
  Y.LegacyTimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline.prototype = {
    call$1: function(previousXInRow) {
      var newVerticalGuidelineX, _this = this,
        t1 = _this.event.time._utils$_end,
        t2 = _this.child,
        t3 = t2.time._utils$_start;
      if (t1._duration < t3._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 N.VerticalLineSegment(new P.Offset(newVerticalGuidelineX, _this.verticalGuidelineStartY), new P.Offset(newVerticalGuidelineX, t1._timeline_flame_chart$_calculateHorizontalGuidelineY$1(t2)), 1));
      _this._box_0.horizontalGuidelineStartX = newVerticalGuidelineX;
    },
    $signature: 313
  };
  Y.LegacyTimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow.prototype = {
    call$1: function(child) {
      var _null = null,
        previousNodeIndex = C.JSArray_methods.indexOf$1(child.row.nodes, child) - 1,
        previousNode = previousNodeIndex >= 0 ? child.row.nodes[previousNodeIndex] : _null,
        t1 = previousNode == null ? _null : previousNode.data;
      t1 = t1 == null ? _null : t1.parent;
      return J.$eq$(t1, this.node.data) ? previousNode : _null;
    },
    $signature: 310
  };
  Y.LegacyAsyncGuidelinePainter.prototype = {
    paint$2: function(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 = Q.lowerBound(t2, new N.VerticalLineSegment(new P.Offset(leftBoundWithoutZoom, t3), new P.Offset(leftBoundWithoutZoom, visible.bottom), 1), null, type$.legacy_VerticalLineSegment);
      t4 = _this.horizontalGuidelines;
      firstHorizontalGuidelineIndex = Q.lowerBound(t4, new N.HorizontalLineSegment(new P.Offset(t1, t3), new P.Offset(visible.right, t3), 1), null, type$.legacy_HorizontalLineSegment);
      if (firstVerticalGuidelineIndex !== -1)
        _this._timeline_flame_chart$_paintGuidelines$4(canvas, visible, t2, firstVerticalGuidelineIndex);
      if (firstHorizontalGuidelineIndex !== -1)
        _this._timeline_flame_chart$_paintGuidelines$4(canvas, visible, t4, firstHorizontalGuidelineIndex);
    },
    _timeline_flame_chart$_paintGuidelines$4: function(canvas, visible, guidelines, firstLineIndex) {
      var t2, t3, unzoomableOffsetLineStart, t4, t5, t6, i, lastOpacity, line, zoomedLine, t7, t8, intersectRect, opacity, t9, t10, t11, _this = this,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t1 = _this.colorScheme.brightness === C.Brightness_1;
      paint.set$color(0, t1 ? C.Color_2315255808 : C.Color_4291348680);
      for (t2 = _this.zoom, t3 = _this.chartStartInset, unzoomableOffsetLineStart = 1 + t3, t4 = _this.horizontalScrollOffset, t5 = _this.constraints, t6 = _this.verticalScrollOffset, i = firstLineIndex, lastOpacity = 1; i < guidelines.length; ++i) {
        line = guidelines[i];
        zoomedLine = line instanceof N.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;
        t7 = zoomedLine.start;
        t8 = zoomedLine.end;
        intersectRect = P.Rect$fromPoints(t7, t8).intersect$1(visible);
        if (intersectRect.right - intersectRect.left >= 0 && intersectRect.bottom - intersectRect.top >= 0) {
          opacity = zoomedLine.opacity;
          if (opacity !== lastOpacity) {
            t9 = t1 ? C.Color_2315255808 : C.Color_4291348680;
            t9 = t9.value;
            paint.set$color(0, P.Color$fromARGB(C.JSInt_methods.round$0(255 * opacity), t9 >>> 16 & 255, t9 >>> 8 & 255, t9 & 255));
            lastOpacity = opacity;
          }
          t9 = t5.maxWidth;
          t10 = C.JSNumber_methods.clamp$2(t7._dx - t4, 0, t9);
          t11 = t5.maxHeight;
          canvas.drawLine$3(0, new P.Offset(t10, C.JSNumber_methods.clamp$2(t7._dy - t6, 0, t11)), new P.Offset(C.JSNumber_methods.clamp$2(t8._dx - t4, 0, t9), C.JSNumber_methods.clamp$2(t8._dy - t6, 0, t11)), paint);
        }
      }
    },
    shouldRepaint$1: function(oldDelegate) {
      return true;
    }
  };
  Y.LegacySelectedFrameBracketPainter.prototype = {
    paint$2: function(canvas, size) {
      var t2, paint, _this = this,
        t1 = _this.selectedFrame;
      if (t1 == null)
        return;
      t2 = _this.constraints;
      canvas.clipRect$1(0, new P.Rect(0, 25, 0 + t2.maxWidth, 25 + (t2.maxHeight - 25)));
      t2 = H._detectRenderer();
      paint = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, C.Color_4281779956);
      paint.set$style(0, C.PaintingStyle_1);
      paint.set$strokeWidth(4);
      t1 = t1.eventFlows;
      _this._timeline_flame_chart$_paintBrackets$3$event(canvas, paint, t1[0]);
      _this._timeline_flame_chart$_paintBrackets$3$event(canvas, paint, t1[1]);
    },
    _timeline_flame_chart$_paintBrackets$3$event: function(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() * 27 - 2 + 16;
      t6 = P.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 P.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 P.Rect(t5, t1, t4, t7), 3.141592653589793, -1.5707963267948966, false);
      t6.lineTo$2(0, startBracketX, bracketBottomY);
      canvas.drawPath$2(0, t6, paint);
      t6 = P.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 P.Rect(t5, bracketTopY, t8, t3), 4.71238898038469, 1.5707963267948966, false);
      t6.lineTo$2(0, t4, t2);
      t6.arcTo$4(0, new P.Rect(t5, t1, t8, t7), 0, 1.5707963267948966, false);
      t6.lineTo$2(0, endBracketX, bracketBottomY);
      canvas.drawPath$2(0, t6, paint);
    },
    shouldRepaint$1: function(oldDelegate) {
      return !this.$eq(0, oldDelegate);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof Y.LegacySelectedFrameBracketPainter && _this.selectedFrame == other.selectedFrame && _this.zoom == other.zoom && J.$eq$(_this.constraints, other.constraints) && _this.verticalScrollOffset == other.verticalScrollOffset && _this.horizontalScrollOffset == other.horizontalScrollOffset && _this.colorScheme.$eq(0, other.colorScheme);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.selectedFrame, _this.zoom, _this.constraints, _this.verticalScrollOffset, _this.horizontalScrollOffset, _this.colorScheme, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  Y.LegacyNavigateInThreadInButton.prototype = {
    createState$0: function() {
      return new Y._LegacyNavigateInThreadInButtonState(K.Disposer$(), C._StateLifecycle_0);
    },
    shouldEnableButton$1: function(arg0) {
      return this.shouldEnableButton.call$1(arg0);
    }
  };
  Y._LegacyNavigateInThreadInButtonState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.addAutoDisposeListener$1(this._widget.horizontalController._offsetNotifier);
    },
    build$1: function(_, context) {
      var t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, _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;
      t7 = t2 ? 0 : 16;
      t8 = t1.group;
      t9 = t8.rows.length;
      t10 = t1.threadButtonContainerWidth;
      t11 = useSmallButton ? C.Alignment_0_1 : C.Alignment_0_0;
      t12 = t1.backgroundColor;
      t13 = t2 ? "Next event in thread" : "Previous event in thread";
      t2 = t2 ? C.IconData_57695_MaterialIcons_true : C.IconData_57694_MaterialIcons_true;
      return M.Container$(t11, new Y.LegacyThreadNavigatorButton(useSmallButton, t12, t13, t2, t1.shouldEnableButton$1(t8) ? this._widget.onPressed : _null, _null), C.Clip_0, _null, _null, _null, _null, t9 * 27 + 16, _null, new V.EdgeInsets(0, t3, 0, t4), new V.EdgeInsets(t7, topPadding, t6, t5), _null, _null, t10);
    }
  };
  Y.LegacyThreadNavigatorButton.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = new S.BoxDecoration(_null, _null, F.Border_Border$all(K.Theme_of(context).focusColor, 1), K.BorderRadius$circular(4), _null, _null, _null, C.BoxShape_0).copyWith$1$color(_this.backgroundColor),
        t2 = _this.useSmallButton ? 20 : 36;
      return M.Container$(_null, U.DevToolsTooltip$(B.IconButton$(_null, _null, true, L.Icon$(_this.icon, _null, 20), 24, _this.onPressed, C.EdgeInsets_0_0_0_0, _null, _null), _null, _this.tooltip), C.Clip_0, _null, _null, t1, _null, t2, _null, _null, _null, _null, _null, 36);
    }
  };
  Y.__LegacyNavigateInThreadInButtonState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  Y.__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  Y.__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.SearchFieldMixin__searchFieldFocusNode = O.FocusNode$(true, null, true, null, false);
      this.SearchFieldMixin_searchTextFieldController = D.TextEditingController$(null);
    },
    dispose$0: function(_) {
      var t1;
      this.super$__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin$dispose(0);
      t1 = this.SearchFieldMixin__searchFieldFocusNode;
      if (t1 != null)
        t1.dispose$0(0);
    }
  };
  B.PerformanceController.prototype = {
    _initHelper$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, $async$temp1;
      var $async$_initHelper$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceAvailable.future, $async$_initHelper$0);
            case 2:
              // returning from await.
              $async$temp1 = $async$self._badgeTabForJankyFrames;
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp.get$isProfileBuild(), $async$_initHelper$0);
            case 3:
              // returning from await.
              $async$temp1.set$value(0, $async$result);
              $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).toString;
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = t1._vmService;
              t2.toString;
              t3 = type$.dynamic;
              T.allowedError(t1.trackFuture$1$2("setFlag", t2._call$1$2(0, "setFlag", P.LinkedHashMap_LinkedHashMap$_literal(["name", "profile_period", "value", "250"], t3, t3), type$.Response), type$.legacy_Response), false);
              $async$goto = 4;
              return P._asyncAwait($async$self.setTimelineStreams$1(H._setArrayType([$.$get$dartTimelineStream(), $.$get$embedderTimelineStream(), $.$get$gcTimelineStream()], type$.JSArray_legacy_RecordedTimelineStream)), $async$_initHelper$0);
            case 4:
              // returning from await.
              $async$goto = 5;
              return P._asyncAwait($async$self.toggleHttpRequestLogging$1(true), $async$_initHelper$0);
            case 5:
              // returning from await.
              t3 = $async$self._displayRefreshRate;
              $async$goto = 6;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).get$queryDisplayRefreshRate(), $async$_initHelper$0);
            case 6:
              // returning from await.
              t2 = $async$result;
              t3.set$value(0, t2 == null ? 60 : t2);
              t1 = $async$self.data;
              if (t1 != null)
                t1.displayRefreshRate = t3._value;
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_initHelper$0, $async$completer);
    },
    selectTimelineEvent$2$updateProfiler: function($event, updateProfiler) {
      return this.selectTimelineEvent$body$PerformanceController($event, updateProfiler);
    },
    selectTimelineEvent$1: function($event) {
      return this.selectTimelineEvent$2$updateProfiler($event, true);
    },
    selectTimelineEvent$body$PerformanceController: function($event, updateProfiler) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, storedProfile;
      var $async$selectTimelineEvent$2$updateProfiler = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($event == null || $async$self.data.selectedEvent === $event) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.data.selectedEvent = $event;
              $async$self._selectedTimelineEventNotifier.set$value(0, $event);
              $async$goto = $event.type === C.TimelineEventType_0 && updateProfiler ? 3 : 4;
              break;
            case 3:
              // then
              t1 = $async$self.CpuProfilerControllerProviderMixin_cpuProfilerController;
              t2 = t1.cpuProfileStore;
              t3 = $event.time;
              t2._maybeGenerateSubProfile$1(t3);
              storedProfile = t2._profiles.$index(0, t3);
              $async$goto = storedProfile != null ? 5 : 7;
              break;
            case 5:
              // then
              $async$goto = 8;
              return P._asyncAwait(t1.processAndSetData$2$processId(storedProfile, "Stored profile for " + $event.time.toString$0(0)), $async$selectTimelineEvent$2$updateProfiler);
            case 8:
              // returning from await.
              $async$self.data.cpuProfileData = t1._dataNotifier._value;
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              t2 = $.offlineMode;
              if (!t2 || $async$self.offlinePerformanceData == null)
                t2 = t2 ? true : $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profiler")._value.valueAsString === "true";
              else
                t2 = false;
              $async$goto = t2 ? 9 : 10;
              break;
            case 9:
              // then
              t1.reset$0(0);
              t2 = $event.time;
              t3 = t2._utils$_start._duration;
              $async$goto = 11;
              return P._asyncAwait(t1.pullAndProcessProfile$3$extentMicros$processId$startMicros(t2._utils$_end._duration - t3, "" + C.JSArray_methods.get$first($event.traceEvents).id, t3), $async$selectTimelineEvent$2$updateProfiler);
            case 11:
              // returning from await.
              $async$self.data.cpuProfileData = t1._dataNotifier._value;
            case 10:
              // join
            case 6:
              // join
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$selectTimelineEvent$2$updateProfiler, $async$completer);
    },
    toggleSelectedFrame$1: function(frame) {
      return this.toggleSelectedFrame$body$PerformanceController(frame);
    },
    toggleSelectedFrame$body$PerformanceController: function(frame) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, storedProfileForFrame;
      var $async$toggleSelectedFrame$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (frame == null || $async$self.data == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.data;
              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 = 3;
              return P._asyncAwait($async$self.selectTimelineEvent$2$updateProfiler(frame.eventFlows[0], false), $async$toggleSelectedFrame$1);
            case 3:
              // returning from await.
              t1 = $async$self.CpuProfilerControllerProviderMixin_cpuProfilerController;
              t2 = t1.cpuProfileStore;
              t3 = frame.time;
              t2._maybeGenerateSubProfile$1(t3);
              storedProfileForFrame = t2._profiles.$index(0, t3);
              $async$goto = storedProfileForFrame == null ? 4 : 6;
              break;
            case 4:
              // then
              t1.reset$0(0);
              t2 = t3._utils$_start._duration;
              $async$goto = 7;
              return P._asyncAwait(t1.pullAndProcessProfile$3$extentMicros$processId$startMicros(t3._utils$_end._duration - t2, "Flutter frame " + frame.id, t2), $async$toggleSelectedFrame$1);
            case 7:
              // returning from await.
              $async$self.data.cpuProfileData = t1._dataNotifier._value;
              // goto join
              $async$goto = 5;
              break;
            case 6:
              // else
              $async$self.data.cpuProfileData = storedProfileForFrame;
              t1.loadProcessedData$1(storedProfileForFrame);
            case 5:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$toggleSelectedFrame$1, $async$completer);
    },
    refreshData$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, timeline, t4, t5, _i, t6, t7, $async$temp1;
      var $async$refreshData$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.clearData$1$clearVmTimeline(0, false), $async$refreshData$0);
            case 3:
              // returning from await.
              $async$goto = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp ? 4 : 6;
              break;
            case 4:
              // then
              $async$temp1 = Y;
              $async$goto = 7;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).get$queryDisplayRefreshRate(), $async$refreshData$0);
            case 7:
              // returning from await.
              $async$result = $async$temp1.PerformanceData$(null, $async$result, null, null, null, null);
              // goto join
              $async$goto = 5;
              break;
            case 6:
              // else
              $async$result = Y.PerformanceData$(null, null, null, null, null, null);
            case 5:
              // join
              $async$self.data = $async$result;
              t1 = $async$self._emptyTimeline;
              t1.set$value(0, false);
              t2 = $async$self._refreshing;
              t2.set$value(0, true);
              t3 = $async$self.allTraceEvents;
              C.JSArray_methods.set$length(t3, 0);
              $async$goto = 8;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.getVMTimeline$0(), $async$refreshData$0);
            case 8:
              // returning from await.
              timeline = $async$result;
              $async$self.primeThreadIds$1(timeline);
              for (t4 = timeline.traceEvents, t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, H.throwConcurrentModificationError)(t4), ++_i) {
                t6 = L.TraceEvent$(t4[_i].json);
                Date.now();
                t7 = $._traceEventWrapperId;
                $._traceEventWrapperId = t7 + 1;
                t3.push(new L.TraceEventWrapper(t6, t7));
              }
              t2.set$value(0, false);
              if (t3.length === 0) {
                t1.set$value(0, true);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._processing;
              t1.set$value(0, true);
              $async$goto = 9;
              return P._asyncAwait($async$self.processTraceEvents$1(t3), $async$refreshData$0);
            case 9:
              // returning from await.
              t1.set$value(0, false);
              $async$self._flutterFrames.set$value(0, $async$self.data.frames);
              $async$self._maybeBadgeTabForJankyFrames$0();
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$refreshData$0, $async$completer);
    },
    _maybeBadgeTabForJankyFrames$0: function() {
      var t1, t2, t3, t4, t5, t6, _null = null;
      if (this._badgeTabForJankyFrames._value)
        for (t1 = J.get$iterator$ax(this._flutterFrames._value), t2 = this._displayRefreshRate; t1.moveNext$0();) {
          t3 = t1.get$current(t1);
          t4 = t2._value;
          t3 = t3.eventFlows;
          t5 = t3[0];
          t5 = t5 == null ? _null : t5.time;
          if (t5 == null)
            t5 = _null;
          else {
            t6 = t5._utils$_end;
            t5 = t5._utils$_start;
            t5 = new P.Duration(t6._duration - t5._duration);
          }
          t4 = 1 / t4 * 1000;
          if (!(C.JSInt_methods._tdivFast$1(t5._duration, 1000) > t4)) {
            t3 = t3[1];
            t3 = t3 == null ? _null : t3.time;
            if (t3 == null)
              t3 = _null;
            else {
              t5 = t3._utils$_end;
              t3 = t3._utils$_start;
              t3 = new P.Duration(t5._duration - t3._duration);
            }
            t4 = C.JSInt_methods._tdivFast$1(t3._duration, 1000) > t4;
            t3 = t4;
          } else
            t3 = true;
          if (t3)
            $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.incrementBadgeCount$1("performance");
        }
    },
    primeThreadIds$1: function(timeline) {
      var t2, threadNameEvents, uiThreadId, rasterThreadId, _i, $event, $name, t3,
        t1 = this.threadNamesById;
      t1.clear$0(0);
      t2 = timeline.traceEvents;
      t2.toString;
      t2 = new H.MappedListIterable(t2, new B.PerformanceController_primeThreadIds_closure(), H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,TraceEvent*>")).super$Iterable$where(0, new B.PerformanceController_primeThreadIds_closure0());
      threadNameEvents = P.List_List$of(t2, true, t2.$ti._eval$1("Iterable.E"));
      for (t2 = threadNameEvents.length, uiThreadId = null, rasterThreadId = null, _i = 0; _i < t2; ++_i) {
        $event = threadNameEvents[_i];
        $name = J.$index$asx($event.args, "name");
        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;
        t1.$indexSet(0, $event.threadId, $name);
      }
      if (uiThreadId == null || rasterThreadId == null)
        B.log(string$.Could_ + t1.get$values(t1).toString$0(0), C.LogLevel_0);
      t1 = this.processor;
      t1.uiThreadId = uiThreadId;
      t1.rasterThreadId = rasterThreadId;
    },
    processTraceEvents$1: function(traceEvents) {
      return this.processTraceEvents$body$PerformanceController(traceEvents);
    },
    processTraceEvents$body$PerformanceController: function(traceEvents) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$processTraceEvents$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.processor.processTimeline$1(traceEvents), $async$processTraceEvents$1);
            case 2:
              // returning from await.
              $async$self.data.initializeEventGroups$1($async$self.threadNamesById);
              if ($async$self.data.eventGroups._collection$_root == null)
                $async$self._emptyTimeline.set$value(0, true);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$processTraceEvents$1, $async$completer);
    },
    processOfflineData$1: function(offlineData) {
      return this.processOfflineData$body$PerformanceController(offlineData);
    },
    processOfflineData$body$PerformanceController: function(offlineData) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, t2, t3, t4, uiThreadId, rasterThreadId;
      var $async$processOfflineData$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.clearData$0(0), $async$processOfflineData$1);
            case 2:
              // returning from await.
              t1 = H._setArrayType([], type$.JSArray_legacy_TraceEventWrapper);
              for (t2 = J.get$iterator$ax(offlineData.traceEvents); t2.moveNext$0();) {
                t3 = L.TraceEvent$(t2.get$current(t2));
                Date.now();
                t4 = $._traceEventWrapperId;
                $._traceEventWrapperId = t4 + 1;
                t1.push(new L.TraceEventWrapper(t3, t4));
              }
              t2 = type$.legacy_String;
              uiThreadId = $async$self._threadIdForEvents$2(P.LinkedHashSet_LinkedHashSet$_literal(["Engine::BeginFrame"], t2), t1);
              rasterThreadId = $async$self._threadIdForEvents$2(P.LinkedHashSet_LinkedHashSet$_literal(["GPURasterizer::Draw"], t2), t1);
              $async$self.offlinePerformanceData = offlineData.shallowClone$0();
              $async$self.data = offlineData.shallowClone$0();
              t2 = $async$self.processor;
              t2.uiThreadId = uiThreadId;
              t2.rasterThreadId = rasterThreadId;
              $async$goto = 3;
              return P._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
              $async$goto = 6;
              return P._asyncAwait($async$self.CpuProfilerControllerProviderMixin_cpuProfilerController.transformer.processData$1($async$self.offlinePerformanceData.cpuProfileData), $async$processOfflineData$1);
            case 6:
              // returning from await.
            case 5:
              // join
              $async$self.setOfflineData$0();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$processOfflineData$1, $async$completer);
    },
    _threadIdForEvents$2: function(targetEventNames, traceEvents) {
      var t1 = C.JSArray_methods.firstWhere$2$orElse(traceEvents, new B.PerformanceController__threadIdForEvents_closure(targetEventNames), new B.PerformanceController__threadIdForEvents_closure0());
      t1 = t1 == null ? null : t1.event;
      t1 = t1 == null ? null : t1.threadId;
      return t1 == null ? -1 : t1;
    },
    setOfflineData$0: function() {
      var frameToSelect, t1, t2, _i, timelineEvent, eventToSelect, _this = this;
      _this._flutterFrames.set$value(0, _this.offlinePerformanceData.frames);
      frameToSelect = C.JSArray_methods.firstWhere$2$orElse(_this.offlinePerformanceData.frames, new B.PerformanceController_setOfflineData_closure(_this), new B.PerformanceController_setOfflineData_closure0());
      if (frameToSelect != null) {
        _this.data.selectedFrame = frameToSelect;
        _this._selectedFrameNotifier.set$value(0, frameToSelect);
      }
      if (_this.offlinePerformanceData.selectedEvent != null)
        for (t1 = _this.data.timelineEvents, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          timelineEvent = t1[_i];
          timelineEvent.toString;
          eventToSelect = X.breadthFirstTraversal(timelineEvent, null, new B.PerformanceController_setOfflineData_closure1(_this), H._instanceType(timelineEvent)._eval$1("TreeNode.T*"));
          if (eventToSelect != null) {
            t1 = _this.data;
            t1.selectedEvent = eventToSelect;
            t1.cpuProfileData = _this.offlinePerformanceData.cpuProfileData;
            _this._selectedTimelineEventNotifier.set$value(0, eventToSelect);
            break;
          }
        }
      t1 = _this.offlinePerformanceData.cpuProfileData;
      if (t1 != null)
        _this.CpuProfilerControllerProviderMixin_cpuProfilerController.loadProcessedData$1(t1);
    },
    matchesForSearch$1: function(search) {
      var matches, t2, t3, _i,
        t1 = search == null ? null : search.length === 0;
      if (t1 !== false)
        return H._setArrayType([], type$.JSArray_legacy_TimelineEvent);
      matches = H._setArrayType([], type$.JSArray_legacy_TimelineEvent);
      for (t1 = this.data.timelineEvents, t2 = t1.length, t3 = type$.legacy_TimelineEvent, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        X.breadthFirstTraversal(t1[_i], new B.PerformanceController_matchesForSearch_closure(search, matches), null, t3);
      return matches;
    },
    toggleHttpRequestLogging$1: function(state) {
      return this.toggleHttpRequestLogging$body$PerformanceController(state);
    },
    toggleHttpRequestLogging$body$PerformanceController: function(state) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$toggleHttpRequestLogging$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(E.HttpService_toggleHttpRequestLogging(state), $async$toggleHttpRequestLogging$1);
            case 2:
              // returning from await.
              $async$self._httpTimelineLoggingEnabled.set$value(0, state);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$toggleHttpRequestLogging$1, $async$completer);
    },
    setTimelineStreams$1: function(streams) {
      return this.setTimelineStreams$body$PerformanceController(streams);
    },
    setTimelineStreams$body$PerformanceController: function(streams) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        _i, t1;
      var $async$setTimelineStreams$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              for (_i = 0; _i < 3; ++_i)
                streams[_i]._timeline_streams$_enabled.set$value(0, true);
              t1 = H._arrayInstanceType(streams)._eval$1("MappedListIterable<1,String*>");
              $async$goto = 2;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.setVMTimelineFlags$1(P.List_List$of(new H.MappedListIterable(streams, new B.PerformanceController_setTimelineStreams_closure(), t1), true, t1._eval$1("ListIterable.E"))), $async$setTimelineStreams$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setTimelineStreams$1, $async$completer);
    },
    toggleTimelineStream$1: function(stream) {
      return this.toggleTimelineStream$body$PerformanceController(stream);
    },
    toggleTimelineStream$body$PerformanceController: function(stream) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        t1, t2, newValue, t3, timelineFlags;
      var $async$toggleTimelineStream$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = stream._timeline_streams$_enabled;
              t2 = t1._value;
              newValue = !t2;
              t3 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              $async$goto = 2;
              return P._asyncAwait(t3.trackFuture$1$2("getVMTimelineFlags", t3._vmService._call$1$1(0, "getVMTimelineFlags", type$.TimelineFlags), type$.legacy_TimelineFlags), $async$toggleTimelineStream$1);
            case 2:
              // returning from await.
              timelineFlags = $async$result.recordedStreams;
              t3 = stream.name;
              if ((timelineFlags && C.JSArray_methods).contains$1(timelineFlags, t3) && t2)
                C.JSArray_methods.remove$1(timelineFlags, t3);
              else if (!C.JSArray_methods.contains$1(timelineFlags, t3) && newValue)
                timelineFlags.push(t3);
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.setVMTimelineFlags$1(timelineFlags), $async$toggleTimelineStream$1);
            case 3:
              // returning from await.
              t1.set$value(0, newValue);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$toggleTimelineStream$1, $async$completer);
    },
    clearData$1$clearVmTimeline: function(_, clearVmTimeline) {
      return this.clearData$body$PerformanceController(0, clearVmTimeline);
    },
    clearData$0: function($receiver) {
      return this.clearData$1$clearVmTimeline($receiver, true);
    },
    clearData$body$PerformanceController: function(_, clearVmTimeline) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$clearData$1$clearVmTimeline = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (clearVmTimeline) {
                t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
                t1 = t1.service != null && t1.connectedApp != null && t1.connectedApp.get$connectedAppInitialized();
              } else
                t1 = false;
              $async$goto = t1 ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.clearVMTimeline$0(), $async$clearData$1$clearVmTimeline);
            case 4:
              // returning from await.
            case 3:
              // join
              C.JSArray_methods.set$length($async$self.allTraceEvents, 0);
              $async$self.offlinePerformanceData = null;
              $async$self.CpuProfilerControllerProviderMixin_cpuProfilerController.reset$0(0);
              t1 = $async$self.data;
              if (t1 != null) {
                J.clear$0$ax(t1.traceEvents);
                t1.cpuProfileData = t1.selectedEvent = null;
                C.JSArray_methods.set$length(t1.timelineEvents, 0);
                t1.eventGroups._clear$0(0);
                t1.time = new B.TimeRange(true);
                t1._endTimestampMicros = -1;
                C.JSArray_methods.set$length(t1.frames, 0);
                t1.selectedFrame = null;
              }
              t1 = $async$self.processor;
              if (t1 != null)
                t1.reset$0(0);
              $async$self._emptyTimeline.set$value(0, true);
              $async$self._flutterFrames.set$value(0, H._setArrayType([], type$.JSArray_legacy_FlutterFrame));
              $async$self._selectedTimelineEventNotifier.set$value(0, null);
              $async$self._selectedFrameNotifier.set$value(0, null);
              $async$self._processing.set$value(0, false);
              $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1("performance");
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$clearData$1$clearVmTimeline, $async$completer);
    },
    recordTrace$1: function(trace) {
      var t1 = this.data;
      t1 = t1 == null ? null : t1.traceEvents;
      if (t1 != null)
        J.add$1$ax(t1, trace);
    }
  };
  B.PerformanceController_primeThreadIds_closure.prototype = {
    call$1: function($event) {
      return L.TraceEvent$($event.json);
    },
    $signature: 330
  };
  B.PerformanceController_primeThreadIds_closure0.prototype = {
    call$1: function($event) {
      return $event.phase === "M" && $event.name === "thread_name";
    },
    $signature: 327
  };
  B.PerformanceController__threadIdForEvents_closure.prototype = {
    call$1: function(trace) {
      return this.targetEventNames.contains$1(0, trace.event.name);
    },
    $signature: 99
  };
  B.PerformanceController__threadIdForEvents_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  B.PerformanceController_setOfflineData_closure.prototype = {
    call$1: function(frame) {
      return frame.id === this.$this.offlinePerformanceData._selectedFrameId;
    },
    $signature: 155
  };
  B.PerformanceController_setOfflineData_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  B.PerformanceController_setOfflineData_closure1.prototype = {
    call$1: function($event) {
      var t1 = this.$this;
      return C.JSArray_methods.get$first($event.traceEvents).event.name == C.JSArray_methods.get$first(t1.offlinePerformanceData.selectedEvent.traceEvents).event.name && $event.time.$eq(0, t1.offlinePerformanceData.selectedEvent.time);
    },
    $signature: 48
  };
  B.PerformanceController_matchesForSearch_closure.prototype = {
    call$1: function(e) {
      if (B.StringExtension_caseInsensitiveContains(C.JSArray_methods.get$first(e.traceEvents).event.name, this.search)) {
        this.matches.push(e);
        e.DataSearchStateMixin_isSearchMatch = true;
      } else
        e.DataSearchStateMixin_isSearchMatch = false;
    },
    $signature: 309
  };
  B.PerformanceController_setTimelineStreams_closure.prototype = {
    call$1: function(s) {
      return s.name;
    },
    $signature: 324
  };
  B._PerformanceController_Object_CpuProfilerControllerProviderMixin.prototype = {};
  B._PerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin.prototype = {};
  Y.PerformanceData.prototype = {
    initializeEventGroups$1: function(threadNamesById) {
      var t1, t2, t3, _i, $event;
      for (t1 = this.timelineEvents, t2 = t1.length, t3 = this.eventGroups, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        $event = t1[_i];
        t3.putIfAbsent$2(0, T.PerformanceUtils_computeEventGroupKey($event, threadNamesById), new Y.PerformanceData_initializeEventGroups_closure()).addEventAtCalculatedRow$1($event);
      }
    },
    addTimelineEvent$1: function($event) {
      this.timelineEvents.push($event);
      this._endTimestampMicros = Math.max(this._endTimestampMicros, $event.get$maxEndMicros());
    },
    get$json: function(_) {
      var t2, t3, t4, _this = this,
        t1 = _this.selectedFrame;
      t1 = t1 == null ? null : t1.id;
      t2 = _this.displayRefreshRate;
      t3 = _this.cpuProfileData;
      t3 = t3 == null ? null : t3.get$json(t3);
      if (t3 == null) {
        t3 = type$.dynamic;
        t3 = P.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
      }
      t4 = _this.selectedEvent;
      t4 = t4 == null ? null : t4.get$json(t4);
      if (t4 == null) {
        t4 = type$.dynamic;
        t4 = P.LinkedHashMap_LinkedHashMap$_empty(t4, t4);
      }
      return P.LinkedHashMap_LinkedHashMap$_literal(["selectedFrameId", t1, "displayRefreshRate", t2, "traceEvents", _this.traceEvents, "cpuProfile", t3, "selectedEvent", t4], type$.legacy_String, type$.dynamic);
    }
  };
  Y.PerformanceData_initializeEventGroups_closure.prototype = {
    call$0: function() {
      return new Y.TimelineEventGroup(H._setArrayType([], type$.JSArray_legacy_TimelineRowData), P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_TimelineEvent, type$.legacy_int));
    },
    $signature: 509
  };
  Y.TimelineEventGroup.prototype = {
    get$sortedEventRoots: function() {
      var t2,
        t1 = this._sortedEventRoots;
      if (t1 == null) {
        t1 = this.rowIndexForEvent;
        t1 = P.List_List$from(t1.get$keys(t1), true, type$.legacy_TimelineEvent);
        t2 = H._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
        t2 = P.List_List$of(new H.WhereIterable(t1, new Y.TimelineEventGroup_sortedEventRoots_closure(), t2), true, t2._eval$1("Iterable.E"));
        C.JSArray_methods.sort$1(t2, new Y.TimelineEventGroup_sortedEventRoots_closure0());
        this._sortedEventRoots = t2;
        t1 = t2;
      }
      return t1;
    },
    addEventAtCalculatedRow$1: function($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: function($event, displayRow, currentLargestRowIndex) {
      var t1, level, t2, lastEventAtLevel, 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;
        t2 = $event._displayRows;
        t2 = (t2 == null ? $event._displayRows = $event._calculateDisplayRows$0() : t2)[level];
        firstNewEventAtLevel = C.JSArray_methods.get$isNotEmpty(t2) ? C.JSArray_methods.get$first(t2) : null;
        if (lastEventAtLevel != null && firstNewEventAtLevel != null) {
          t2 = lastEventAtLevel.time;
          t3 = firstNewEventAtLevel.time;
          t4 = t3._utils$_end;
          t5 = t2._utils$_start;
          t4 = t4._duration;
          t5 = t5._duration;
          if (t4 > t5) {
            t3 = t3._utils$_start;
            t2 = t2._utils$_end;
            t2 = t3._duration < t2._duration;
          } else
            t2 = false;
          if (t2)
            return false;
          if (t4 < t5)
            return false;
        }
      }
      return true;
    },
    _addEventAtDisplayRow$2$row: function($event, row) {
      var t3, t4, displayRow, _i, e, t5, t6, t7, _this = this,
        t1 = $event.get$displayRows().length,
        t2 = _this.rows,
        i = t2.length;
      if (row + t1 >= i) {
        t1 = type$.JSArray_legacy_TimelineEvent;
        while (true) {
          t3 = $event._displayRows;
          if (!(i < row + (t3 == null ? $event._displayRows = $event._calculateDisplayRows$0() : t3).length))
            break;
          t2.push(new Y.TimelineRowData(H._setArrayType([], t1)));
          ++i;
        }
      }
      t1 = _this.rowIndexForEvent;
      i = 0;
      while (true) {
        t3 = $event._displayRows;
        if (t3 == null) {
          t3 = $event._displayRows = $event._calculateDisplayRows$0();
          t4 = t3;
        } else
          t4 = t3;
        if (!(i < t3.length))
          break;
        displayRow = (t4 == null ? $event._displayRows = $event._calculateDisplayRows$0() : t4)[i];
        for (t3 = displayRow.length, t4 = row + i, _i = 0; _i < displayRow.length; displayRow.length === t3 || (0, H.throwConcurrentModificationError)(displayRow), ++_i) {
          e = displayRow[_i];
          t5 = e.time;
          t6 = t5._utils$_start._duration;
          t7 = _this.earliestTimestampMicros;
          if (t7 == null)
            t7 = t6;
          _this.earliestTimestampMicros = Math.min(t6, t7);
          t5 = t5._utils$_end._duration;
          t7 = _this.latestTimestampMicros;
          t6 = t7 == null ? t5 : t7;
          _this.latestTimestampMicros = Math.max(t5, t6);
          t2[t4].events.push(e);
          t1.$indexSet(0, e, t4);
          t5 = e.time._utils$_end;
          t6 = t2[t4];
          t7 = t6.lastEvent;
          t7 = t7 == null ? null : t7.time;
          t7 = t7 == null ? null : t7._utils$_end;
          if (t7 == null)
            t7 = C.Duration_0;
          if (t5._duration > t7._duration)
            t6.lastEvent = e;
        }
        ++i;
      }
    }
  };
  Y.TimelineEventGroup_sortedEventRoots_closure.prototype = {
    call$1: function($event) {
      return $event.parent == null;
    },
    $signature: 48
  };
  Y.TimelineEventGroup_sortedEventRoots_closure0.prototype = {
    call$2: function(a, b) {
      return C.JSInt_methods.compareTo$1(a.time._utils$_start._duration, b.time._utils$_start._duration);
    },
    $signature: 102
  };
  Y.TimelineRowData.prototype = {};
  Y.OfflinePerformanceData.prototype = {
    shallowClone$0: function() {
      var _this = this,
        t1 = _this.selectedFrame,
        t2 = _this.selectedEvent,
        t3 = _this.displayRefreshRate;
      return Y.OfflinePerformanceData$_(_this.cpuProfileData, t3, _this.frames, t2, t1, _this._selectedFrameId, _this.traceEvents);
    }
  };
  Y.OfflineTimelineEvent.prototype = {
    OfflineTimelineEvent$1: function(firstTrace) {
      var t1 = this.time,
        t2 = P.Duration$(J.$add$ansx(firstTrace.$index(0, "ts"), firstTrace.$index(0, "dur")), 0);
      t1._utils$_end = t2;
      this.type = C.JSArray_methods.firstWhere$2$orElse(C.List_G1V, new Y.OfflineTimelineEvent_closure(firstTrace), new Y.OfflineTimelineEvent_closure0());
    },
    couldBeParentOf$1: function(e) {
      throw H.wrapException(P.UnimplementedError$(string$.This_m));
    },
    _calculateDisplayRows$0: function() {
      return H.throwExpression(P.UnimplementedError$(string$.This_m));
    }
  };
  Y.OfflineTimelineEvent_closure.prototype = {
    call$1: function(t) {
      return J.toString$0$(t) === J.toString$0$(J.$index$asx(this.firstTrace.$index(0, "args"), "type"));
    },
    $signature: 322
  };
  Y.OfflineTimelineEvent_closure0.prototype = {
    call$0: function() {
      return C.TimelineEventType_3;
    },
    $signature: 321
  };
  Y.FlutterFrame.prototype = {
    get$uiDuration: function() {
      var t2,
        t1 = this.eventFlows[0];
      t1 = t1 == null ? null : t1.time;
      if (t1 == null)
        t1 = null;
      else {
        t2 = t1._utils$_end;
        t1 = t1._utils$_start;
        t1 = new P.Duration(t2._duration - t1._duration);
      }
      return t1;
    },
    get$rasterDuration: function() {
      var t2,
        t1 = this.eventFlows[1];
      t1 = t1 == null ? null : t1.time;
      if (t1 == null)
        t1 = null;
      else {
        t2 = t1._utils$_end;
        t1 = t1._utils$_start;
        t1 = new P.Duration(t2._duration - t1._duration);
      }
      return t1;
    },
    get$shaderDuration: function() {
      var t1 = {},
        t2 = this._shaderTime;
      if (t2 != null)
        return t2;
      t1.sumShaderMicros = 0;
      X.breadthFirstTraversal(this.eventFlows[1], new Y.FlutterFrame_shaderDuration_closure(t1), null, type$.legacy_TimelineEvent);
      return this._shaderTime = P.Duration$(t1.sumShaderMicros, 0);
    },
    hasShaderJank$1: function(displayRefreshRate) {
      var t2,
        t1 = 1 / displayRefreshRate * 1000,
        quarterFrame = C.JSNumber_methods.round$0(t1 / 4);
      if (C.JSInt_methods._tdivFast$1(this.get$rasterDuration()._duration, 1000) > t1)
        if (!J.$eq$(this.get$shaderDuration(), C.Duration_0)) {
          t1 = this.get$shaderDuration();
          t2 = P.Duration$(0, quarterFrame);
          t2 = t1._duration > t2._duration;
          t1 = t2;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    toString$0: function(_) {
      var t1 = this.eventFlows;
      return "Frame " + this.id + " - " + this.time.toString$0(0) + ", ui: " + t1[0].time.toString$0(0) + ", raster: " + t1[1].time.toString$0(0);
    }
  };
  Y.FlutterFrame_shaderDuration_closure.prototype = {
    call$1: function($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;
        t3 = t3._utils$_start;
        t1.sumShaderMicros = t2 + (t4._duration - t3._duration);
      }
    },
    $signature: 309
  };
  Y.TimelineEvent0.prototype = {
    get$name: function(_) {
      return C.JSArray_methods.get$first(this.traceEvents).event.name;
    },
    get$groupKey: function() {
      return J.$index$asx(C.JSArray_methods.get$first(this.traceEvents).event.args, "filterKey");
    },
    get$endTraceEventJson: function() {
      var t1 = this.traceEvents;
      return t1.length > 1 ? C.JSArray_methods.get$last(t1).event.json : null;
    },
    get$isShaderEvent: function() {
      var _s11_ = "devtoolsTag",
        t1 = this.traceEvents;
      return J.$eq$(J.$index$asx(C.JSArray_methods.get$first(t1).event.args, _s11_), "shaders") || J.$eq$(J.$index$asx(C.JSArray_methods.get$last(t1).event.args, _s11_), "shaders");
    },
    get$isWellFormed: function() {
      var t1 = this.time;
      return t1._utils$_start != null && t1._utils$_end != null;
    },
    get$tooltip: function() {
      var t1 = H.S(C.JSArray_methods.get$first(this.traceEvents).event.name) + " - ",
        t2 = this.time,
        t3 = t2._utils$_end;
      t2 = t2._utils$_start;
      return t1 + B.msText(new P.Duration(t3._duration - t2._duration), 1);
    },
    _isWellFormedDeep$1: function($event) {
      return X.breadthFirstTraversal(this, null, new Y.TimelineEvent__isWellFormedDeep_closure(), H._instanceType(this)._eval$1("TreeNode.T*")) == null;
    },
    get$displayRows: function() {
      var t1 = this._displayRows;
      return t1 == null ? this._displayRows = this._calculateDisplayRows$0() : t1;
    },
    _expandDisplayRows$1: function(newRowLength) {
      var i,
        t1 = this._displayRows,
        currentLength = (t1 == null ? this._displayRows = H._setArrayType([], type$.JSArray_legacy_List_legacy_TimelineEvent) : t1).length;
      for (t1 = type$.JSArray_legacy_TimelineEvent, i = currentLength; i < newRowLength; ++i)
        this._displayRows.push(H._setArrayType([], t1));
    },
    _mergeChildDisplayRows$2: function(mergeStartLevel, child) {
      var i, t1, _this = this,
        childDisplayRows = child.get$displayRows();
      _this._expandDisplayRows$1(mergeStartLevel + childDisplayRows.length);
      for (i = 0; i < childDisplayRows.length; ++i) {
        t1 = _this._displayRows;
        if (t1 == null)
          t1 = _this._displayRows = _this._calculateDisplayRows$0();
        C.JSArray_methods.addAll$1(t1[mergeStartLevel + i], childDisplayRows[i]);
      }
      if (mergeStartLevel >= _this._lowestDisplayChildRow) {
        _this._lowestDisplayChildRow = mergeStartLevel;
        _this._lowestDisplayChild = child;
      }
    },
    addEndEvent$1: function(eventWrapper) {
      var t1 = this.time,
        t2 = P.Duration$(eventWrapper.event.timestampMicros, 0);
      t1._utils$_end = t2;
      this.traceEvents.push(eventWrapper);
    },
    maybeRemoveDuplicate$0: function() {
      var t2,
        t1 = new Y.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: function(childToRemove) {
      C.JSArray_methods.forEach$1(P.List_List$from(childToRemove.children, true, type$.legacy_TimelineEvent), this.get$_addChild());
      C.JSArray_methods.remove$1(this.children, childToRemove);
    },
    addChild$1: function(child) {
      new Y.TimelineEvent_addChild__putChildInTree(child).call$1(this);
    },
    _addChild$1: function(child) {
      this.children.push(child);
      child.parent = this;
    },
    format$2: function(buf, indent) {
      var t1, t2, _i;
      buf._contents += indent + H.S(C.JSArray_methods.get$first(this.traceEvents).event.name) + " " + this.time.toString$0(0) + "\n";
      for (t1 = this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].format$2(buf, "  " + indent);
    },
    get$json: function(_) {
      var t3, t4,
        t1 = type$.dynamic,
        modifiedTrace = P.LinkedHashMap_LinkedHashMap$from(C.JSArray_methods.get$first(this.traceEvents).event.json, t1, t1),
        t2 = type$.legacy_String;
      J.addAll$1$ax(modifiedTrace.$index(0, "args"), P.LinkedHashMap_LinkedHashMap$_literal(["type", J.toString$0$(this.type)], t2, t2));
      if (!modifiedTrace.containsKey$1(0, "dur")) {
        t3 = this.time;
        t4 = t3._utils$_end;
        t3 = t3._utils$_start;
        modifiedTrace.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["dur", t4._duration - t3._duration], t1, t1));
      }
      return P.LinkedHashMap_LinkedHashMap$_literal(["firstTrace", modifiedTrace], t2, t1);
    },
    toString$0: function(_) {
      var t1,
        buf = new P.StringBuffer("");
      this.format$2(buf, "  ");
      t1 = buf._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  Y.TimelineEvent__isWellFormedDeep_closure.prototype = {
    call$1: function(e) {
      return !e.get$isWellFormed();
    },
    $signature: 48
  };
  Y.TimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate.prototype = {
    call$1$parent: function($parent) {
      var t1 = $parent.children;
      if (t1.length === 1 && C.C_DeepCollectionEquality.equals$2(C.JSArray_methods.get$first($parent.traceEvents).event.json, C.JSArray_methods.get$first(C.JSArray_methods.get$first(t1).traceEvents).event.json) && C.C_DeepCollectionEquality.equals$2($parent.get$endTraceEventJson(), C.JSArray_methods.get$first(t1).get$endTraceEventJson()))
        $parent.removeChild$1(C.JSArray_methods.get$first(t1));
    },
    call$0: function() {
      return this.call$1$parent(null);
    },
    $signature: 512
  };
  Y.TimelineEvent_addChild__putChildInTree.prototype = {
    call$1: function(root) {
      var t2, _children, childrenToReorder, t3, _i, otherChild, t4,
        t1 = root.children;
      if (t1.length === 0) {
        t2 = this.child;
        t1.push(t2);
        t2.parent = root;
        return;
      }
      _children = H._setArrayType(t1.slice(0), H._arrayInstanceType(t1));
      childrenToReorder = [];
      for (t2 = _children.length, t3 = this.child, _i = 0; _i < _children.length; _children.length === t2 || (0, H.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, _i = 0; _i < childrenToReorder.length; childrenToReorder.length === t2 || (0, H.throwConcurrentModificationError)(childrenToReorder), ++_i) {
          t4 = childrenToReorder[_i];
          t3.children.push(t4);
          t4.parent = t3;
          C.JSArray_methods.remove$1(t1, t4);
        }
        return;
      }
      for (t2 = H._arrayInstanceType(_children)._eval$1("ReversedListIterable<1>"), t4 = new H.ReversedListIterable(_children, t2), t2 = new H.ListIterator(t4, t4.get$length(t4), t2._eval$1("ListIterator<ListIterable.E>")); t2.moveNext$0();) {
        t4 = t2.__internal$_current;
        if (t4.couldBeParentOf$1(t3)) {
          this.call$1(t4);
          return;
        }
      }
      t1.push(t3);
      t3.parent = root;
    },
    $signature: 354
  };
  Y.SyncTimelineEvent.prototype = {
    get$isUiEventFlow: function() {
      return X.breadthFirstTraversal(this, null, new Y.SyncTimelineEvent_isUiEventFlow_closure(), H._instanceType(this)._eval$1("TreeNode.T*")) != null;
    },
    get$isRasterEventFlow: function() {
      return X.breadthFirstTraversal(this, null, new Y.SyncTimelineEvent_isRasterEventFlow_closure(), H._instanceType(this)._eval$1("TreeNode.T*")) != null;
    },
    get$maxEndMicros: function() {
      return this.time._utils$_end._duration;
    },
    _calculateDisplayRows$0: function() {
      var t1, t2, _i, _this = this;
      _this._expandDisplayRows$1(_this.get$depth());
      _this._displayRows[0].push(_this);
      for (t1 = _this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        _this._mergeChildDisplayRows$2(1, t1[_i]);
      return _this._displayRows;
    },
    couldBeParentOf$1: function(e) {
      var endTime, eStartTime, eEndTime,
        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;
      t1 = endTime != null;
      if (t1 && eEndTime != null) {
        if (startTime === eStartTime && endTime === eEndTime)
          return C.JSArray_methods.get$first(this.traceEvents).id < C.JSArray_methods.get$first(e.traceEvents).id;
        return startTime <= eStartTime && endTime >= eEndTime;
      } else if (t1)
        return startTime <= eStartTime && endTime > eStartTime;
      else if (startTime === eStartTime)
        return C.JSArray_methods.get$first(this.traceEvents).id < C.JSArray_methods.get$first(e.traceEvents).id;
      else
        return startTime < eStartTime;
    }
  };
  Y.SyncTimelineEvent_isUiEventFlow_closure.prototype = {
    call$1: function($event) {
      return J.contains$1$asx(C.JSArray_methods.get$first($event.traceEvents).event.name, "Engine::BeginFrame");
    },
    $signature: 48
  };
  Y.SyncTimelineEvent_isRasterEventFlow_closure.prototype = {
    call$1: function($event) {
      return J.contains$1$asx(C.JSArray_methods.get$first($event.traceEvents).event.name, "PipelineConsume");
    },
    $signature: 48
  };
  Y.AsyncTimelineEvent.prototype = {
    get$parentAsyncUID: function() {
      return L.generateAsyncUID(C.JSArray_methods.get$first(this.traceEvents).event.category, this._parentId, null);
    },
    get$maxEndMicros: function() {
      var t1 = this._maxEndMicros;
      return t1 == null ? this._calculateMaxEndMicros$0() : t1;
    },
    _calculateMaxEndMicros$0: function() {
      var maxEnd, _i, _this = this,
        t1 = _this.children,
        t2 = t1.length;
      if (t2 === 0)
        return _this.time._utils$_end._duration;
      maxEnd = _this.time._utils$_end._duration;
      for (_i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        maxEnd = Math.max(maxEnd, t1[_i]._calculateMaxEndMicros$0());
      return _this._maxEndMicros = maxEnd;
    },
    _calculateDisplayRows$0: function() {
      var t1, i, child, t2, _this = this;
      _this._expandDisplayRows$1(1);
      _this._displayRows[0].push(_this);
      for (t1 = _this.children, i = 0; i < t1.length; ++i) {
        child = t1[i];
        if (i === 0 || _this._eventFitsAtDisplayRow$3(child, 1, _this._displayRows.length))
          _this._mergeChildDisplayRows$2(1, child);
        else {
          t2 = _this._displayRows;
          _this._mergeChildDisplayRows$2((t2 == null ? _this._displayRows = _this._calculateDisplayRows$0() : t2).length, child);
        }
      }
      return _this._displayRows;
    },
    _eventFitsAtDisplayRow$3: function($event, displayRow, currentLargestRowIndex) {
      var level, t1, lastEventAtLevel, firstNewEventAtLevel, t2, t3, t4, t5, lastEventParent, firstNewEventParent,
        maxLevelToVerify = Math.min($event.get$displayRows().length, currentLargestRowIndex - displayRow);
      for (level = 0; level < maxLevelToVerify; ++level) {
        t1 = this._displayRows[displayRow + level];
        lastEventAtLevel = C.JSArray_methods.get$isNotEmpty(t1) ? C.JSArray_methods.get$last(t1) : null;
        t1 = $event._displayRows;
        t1 = (t1 == null ? $event._displayRows = $event._calculateDisplayRows$0() : t1)[level];
        firstNewEventAtLevel = C.JSArray_methods.get$isNotEmpty(t1) ? C.JSArray_methods.get$first(t1) : null;
        if (lastEventAtLevel != null && firstNewEventAtLevel != null) {
          t1 = lastEventAtLevel.time;
          t2 = firstNewEventAtLevel.time;
          t3 = t2._utils$_end;
          t4 = t1._utils$_start;
          t3 = t3._duration;
          t4 = t4._duration;
          if (t3 > t4) {
            t2 = t2._utils$_start;
            t5 = t1._utils$_end;
            t5 = t2._duration < t5._duration;
            t2 = t5;
          } 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;
                t2 = lastEventParent.time._utils$_end;
                t2 = t1._duration >= t2._duration;
                t1 = t2;
              } else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
          if (t1)
            return false;
        }
      }
      return true;
    },
    addChild$1: function(child) {
      var _this = this;
      if (child._parentId != null && child.get$parentAsyncUID() === C.JSArray_methods.get$first(_this.traceEvents).event.get$asyncUID()) {
        _this.children.push(child);
        child.parent = _this;
      } else
        _this.super$TimelineEvent$addChild(child);
    },
    couldBeParentOf$1: function(e) {
      var t1, t2, t3, startTime, endTime, eStartTime, eEndTime, _s2_ = "id";
      if (e._parentId != null)
        return C.JSArray_methods.get$first(this.traceEvents).event.get$asyncUID() === e.get$parentAsyncUID();
      t1 = this.traceEvents;
      t2 = C.JSArray_methods.get$first(t1).event.get$asyncUID();
      t3 = e.traceEvents;
      if (t2 !== C.JSArray_methods.get$first(t3).event.get$asyncUID())
        return false;
      t2 = this.time;
      startTime = t2._utils$_start._duration;
      t2 = t2._utils$_end;
      endTime = t2 == null ? null : t2._duration;
      t2 = e.time;
      eStartTime = t2._utils$_start._duration;
      t2 = t2._utils$_end;
      eEndTime = t2 == null ? null : t2._duration;
      t2 = endTime != null;
      if (t2 && eEndTime != null) {
        if (startTime === eStartTime && endTime === eEndTime)
          return P.int_parse(J.$index$asx(C.JSArray_methods.get$first(t1).event.json, _s2_), 16) < P.int_parse(J.$index$asx(C.JSArray_methods.get$first(t3).event.json, _s2_), 16);
        return startTime <= eStartTime && endTime >= eEndTime;
      } else if (t2)
        return startTime <= eStartTime && endTime > eStartTime;
      else if (startTime === eStartTime)
        return P.int_parse(J.$index$asx(C.JSArray_methods.get$first(t1).event.json, _s2_), 16) < P.int_parse(J.$index$asx(C.JSArray_methods.get$first(t3).event.json, _s2_), 16);
      else
        return startTime < eStartTime;
    },
    endAsyncEvent$1: function(eventWrapper) {
      var t1, t2, _i, _this = this;
      if (_this.get$endTraceEventJson() != null)
        return false;
      if (C.JSArray_methods.get$first(_this.traceEvents).event.name == eventWrapper.event.name) {
        _this.addEndEvent$1(eventWrapper);
        return true;
      }
      for (t1 = _this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        if (t1[_i].endAsyncEvent$1(eventWrapper))
          return true;
      return false;
    }
  };
  Y._TimelineEvent_TreeNode_DataSearchStateMixin.prototype = {
    set$isActiveSearchMatch: function(val) {
      return this.DataSearchStateMixin_isActiveSearchMatch = val;
    }
  };
  Y._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin.prototype = {};
  Y._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin.prototype = {};
  R.PerformanceScreen.prototype = {
    get$docPageId: function() {
      return "performance";
    },
    build$1: function(_, context) {
      return C.PerformanceScreenBody_null;
    }
  };
  R.PerformanceScreenBody.prototype = {
    createState$0: function() {
      return new R.PerformanceScreenBodyState(false, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  R.PerformanceScreenBodyState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      F.screen("performance");
    },
    didChangeDependencies$0: function() {
      var t1, newController, t2, timelineJson, t3, traceEvents, cpuProfileJson, cpuProfileData, selectedFrameId, selectedEventJson, selectedEvent, displayRefreshRate, offlinePerformanceData, _this = this, _null = null,
        _s11_ = "performance",
        _s11_0 = "traceEvents";
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      O.maybePushDebugModePerformanceMessage(t1, _s11_);
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_PerformanceController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      t1 = _this.controller._processing;
      _this.processing = t1._value;
      _this.addAutoDisposeListener$2(t1, new R.PerformanceScreenBodyState_didChangeDependencies_closure(_this));
      t1 = _this.controller.processor._timeline_event_processor$_progressNotifier;
      _this.processingProgress = t1._value;
      _this.addAutoDisposeListener$2(t1, new R.PerformanceScreenBodyState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$1(_this.controller._selectedFrameNotifier);
      t1 = _this.controller;
      if (t1.data == null && !$.offlineMode)
        t1.refreshData$0();
      if ($.offlineMode && J.get$isNotEmpty$asx($.offlineDataJson) && J.$index$asx($.offlineDataJson, _s11_) != null && J.$index$asx($.offlineDataJson, _s11_0) != null) {
        t1 = type$.legacy_String;
        t2 = type$.dynamic;
        timelineJson = P.LinkedHashMap_LinkedHashMap$from(J.$index$asx($.offlineDataJson, _s11_), t1, t2);
        timelineJson.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["traceEvents", J.$index$asx($.offlineDataJson, _s11_0)], t1, t2));
        t3 = timelineJson.$index(0, _s11_0);
        if (t3 == null)
          t3 = [];
        traceEvents = J.cast$1$0$ax(t3, type$.legacy_Map_of_legacy_String_and_dynamic);
        cpuProfileJson = timelineJson.$index(0, "cpuProfile");
        if (cpuProfileJson == null)
          cpuProfileJson = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        cpuProfileData = J.get$isNotEmpty$asx(cpuProfileJson) ? E.CpuProfileData_CpuProfileData$parse(cpuProfileJson) : _null;
        selectedFrameId = timelineJson.$index(0, "selectedFrameId");
        selectedEventJson = timelineJson.$index(0, "selectedEvent");
        if (selectedEventJson == null)
          selectedEventJson = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        t3 = J.getInterceptor$asx(selectedEventJson);
        if (t3.get$isNotEmpty(selectedEventJson)) {
          t3 = t3.$index(selectedEventJson, "firstTrace");
          selectedEvent = Y.OfflineTimelineEvent$(J.cast$2$0$ax(t3 == null ? P.LinkedHashMap_LinkedHashMap$_empty(t2, t2) : t3, t1, t2));
        } else
          selectedEvent = _null;
        displayRefreshRate = timelineJson.$index(0, "displayRefreshRate");
        offlinePerformanceData = Y.OfflinePerformanceData$_(cpuProfileData, J.toDouble$0$n(displayRefreshRate == null ? 60 : displayRefreshRate), _null, selectedEvent, _null, selectedFrameId, traceEvents);
        if (!J.get$isEmpty$asx(offlinePerformanceData.traceEvents))
          _this.loadOfflineData$1(offlinePerformanceData);
      }
    },
    build$1: function(_, context) {
      var t1, isOfflineFlutterApp, t2, t3, t4, t5, _this = this, _null = null;
      if ($.offlineMode) {
        t1 = _this.controller.offlinePerformanceData;
        isOfflineFlutterApp = t1 != null && t1.frames.length !== 0;
      } else
        isOfflineFlutterApp = false;
      t1 = type$.JSArray_legacy_Widget;
      t2 = H._setArrayType([], t1);
      if (!$.offlineMode) {
        t3 = _this._performance_screen$_buildPrimaryStateControls$0();
        _this.controller.toString;
        t4 = H._setArrayType([new G.ProfileGranularityDropdown("performance", $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profile_period"), _null), C.SizedBox_16_null_null_null], t1);
        t5 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp;
        t5.toString;
        if (!($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vm.name !== "ChromeDebugProxy" && !t5._isFlutterApp))
          t4.push(new B.ServiceExtensionButtonGroup(1100, H._setArrayType([$.$get$performanceOverlay(), $.$get$profileWidgetBuilds()], type$.JSArray_legacy_ToggleableServiceExtensionDescription_dynamic), _null));
        t4.push(C.SizedBox_16_null_null_null);
        t4.push(new U.ExportButton(1100, _this.get$_exportPerformanceData(), _null));
        t4.push(C.SizedBox_16_null_null_null);
        t4.push(new U.SettingsOutlinedButton(_this.get$_performance_screen$_openSettingsDialog(), "Performance Settings", _null));
        t2.push(T.Row$(H._setArrayType([t3, T.Row$(t4, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_1, C.MainAxisSize_1, _null)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null));
      }
      t2.push(C.SizedBox_null_6_null_null);
      if (!isOfflineFlutterApp)
        t3 = !$.offlineMode && $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp;
      else
        t3 = true;
      if (t3)
        t2.push(N.ValueListenableBuilder$(new R.PerformanceScreenBodyState_build_closure(_this), _this.controller._flutterFrames, type$.legacy_List_legacy_FlutterFrame));
      t2.push(T.Expanded$(L.Split$(C.Axis_1, H._setArrayType([new Y.TimelineFlameChartContainer(_this.processing, _this.processingProgress, _null), N.ValueListenableBuilder$(new R.PerformanceScreenBodyState_build_closure0(), _this.controller._selectedTimelineEventNotifier, type$.legacy_TimelineEvent)], t1), C.List_zrD, _null, _null), 1));
      t1 = H._setArrayType([T.Column$(t2, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t1);
      if (_this.OfflineScreenMixin__loadingOfflineData)
        t1.push(M.Container$(_null, C.CenteredCircularProgressIndicator_null, C.Clip_0, K.Theme_of(context).scaffoldBackgroundColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      return T.Stack$(C.AlignmentDirectional_m1_m1, t1, C.Clip_1, C.StackFit_0, _null, _null);
    },
    _performance_screen$_buildPrimaryStateControls$0: function() {
      return N.ValueListenableBuilder$(new R.PerformanceScreenBodyState__buildPrimaryStateControls_closure(this), this.controller._refreshing, type$.legacy_bool);
    },
    _performance_screen$_openSettingsDialog$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      E.showDialog(true, new R.PerformanceScreenBodyState__openSettingsDialog_closure(this), t1, type$.dynamic);
    },
    _refreshPerformanceData$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_refreshPerformanceData$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.controller.refreshData$0(), $async$_refreshPerformanceData$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_refreshPerformanceData$0, $async$completer);
    },
    _clearPerformanceData$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_clearPerformanceData$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.controller.clearData$0(0), $async$_clearPerformanceData$0);
            case 2:
              // returning from await.
              $async$self.setState$1(new R.PerformanceScreenBodyState__clearPerformanceData_closure());
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_clearPerformanceData$0, $async$completer);
    },
    _exportPerformanceData$0: function() {
      var exportedFile,
        t1 = this.controller,
        t2 = t1._performance_controller$_exportController;
      t1 = t1.data;
      exportedFile = t2.downloadFile$1(t2.encode$2("performance", t1.get$json(t1)));
      t1 = this._framework$_element;
      t1.toString;
      Y.Notifications_of(t1).push$1("Successfully exported " + exportedFile + " to ~/Downloads directory");
    },
    processOfflineData$1: function(offlineData) {
      return this.processOfflineData$body$PerformanceScreenBodyState(offlineData);
    },
    processOfflineData$body$PerformanceScreenBodyState: function(offlineData) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$processOfflineData$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.controller.processOfflineData$1(offlineData), $async$processOfflineData$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$processOfflineData$1, $async$completer);
    }
  };
  R.PerformanceScreenBodyState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new R.PerformanceScreenBodyState_didChangeDependencies__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  R.PerformanceScreenBodyState_didChangeDependencies__closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.processing = t1.controller._processing._value;
    },
    $signature: 1
  };
  R.PerformanceScreenBodyState_didChangeDependencies_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new R.PerformanceScreenBodyState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  R.PerformanceScreenBodyState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.processingProgress = t1.controller.processor._timeline_event_processor$_progressNotifier._value;
    },
    $signature: 1
  };
  R.PerformanceScreenBodyState_build_closure.prototype = {
    call$3: function(context, $frames, _) {
      return N.ValueListenableBuilder$(new R.PerformanceScreenBodyState_build__closure($frames), this.$this.controller._displayRefreshRate, type$.legacy_double);
    },
    $signature: 318
  };
  R.PerformanceScreenBodyState_build__closure.prototype = {
    call$3: function(context, displayRefreshRate, _) {
      return new S.FlutterFramesChart(this.frames, displayRefreshRate, null);
    },
    $signature: 513
  };
  R.PerformanceScreenBodyState_build_closure0.prototype = {
    call$3: function(context, selectedEvent, _) {
      return new F.EventDetails(selectedEvent, null);
    },
    $signature: 514
  };
  R.PerformanceScreenBodyState__buildPrimaryStateControls_closure.prototype = {
    call$3: function(context, refreshing, _) {
      var _this = this, _null = null,
        t1 = !refreshing,
        t2 = U.RefreshButton$(725, "Refresh", !t1 || _this.$this.processing ? _null : _this.$this.get$_refreshPerformanceData());
      return T.Row$(H._setArrayType([t2, C.SizedBox_16_null_null_null, U.ClearButton$(725, _null, !t1 || _this.$this.processing ? _null : _this.$this.get$_clearPerformanceData())], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    $signature: 61
  };
  R.PerformanceScreenBodyState__openSettingsDialog_closure.prototype = {
    call$1: function(context) {
      return new R.PerformanceSettingsDialog(this.$this.controller, null);
    },
    $signature: 515
  };
  R.PerformanceScreenBodyState__clearPerformanceData_closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  R.PerformanceSettingsDialog.prototype = {
    build$1: function(_, context) {
      var t3, t4, t5, t6, t7, t8, _this = this, _null = null,
        theme = K.Theme_of(context),
        t1 = theme.textTheme,
        t2 = L.Text$("Performance Settings", _null, _null, _null, _null, _null, t1.headline6, _null, _null, _null);
      t1 = t1.subtitle1;
      t3 = type$.JSArray_legacy_Widget;
      t4 = type$.legacy_Widget;
      t5 = P.List_List$of(H._setArrayType([L.Text$("Recorded Timeline Streams", _null, _null, _null, _null, _null, t1, _null, _null, _null), C.PaddedDivider_wEo0], t3), true, t4);
      t6 = theme.unselectedWidgetColor;
      t7 = H._setArrayType([T.RichText$(_null, _null, C.TextOverflow_0, true, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t6, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "Default"), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0)], t3);
      C.JSArray_methods.addAll$1(t7, _this._timelineStreams$2$advanced(theme, false));
      t8 = _this.controller;
      t7.push(_this._buildStream$5$description$listenable$name$onChanged$theme(" \u2022 Http traffic", t8._httpTimelineLoggingEnabled, "Network", t8.get$toggleHttpRequestLogging(), theme));
      C.JSArray_methods.addAll$1(t5, t7);
      t6 = H._setArrayType([T.RichText$(_null, _null, C.TextOverflow_0, true, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t6, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "Advanced"), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0)], t3);
      C.JSArray_methods.addAll$1(t6, _this._timelineStreams$2$advanced(theme, true));
      C.JSArray_methods.addAll$1(t5, t6);
      if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp._isFlutterApp) {
        t6 = H._setArrayType([C.SizedBox_null_8_null_null], t3);
        t4 = P.List_List$of(H._setArrayType([L.Text$("Additional Settings", _null, _null, _null, _null, _null, t1, _null, _null, _null), C.PaddedDivider_wEo0], t3), true, t4);
        t4.push(new R._BadgeJankyFramesSetting(t8, _null));
        C.JSArray_methods.addAll$1(t6, t4);
        C.JSArray_methods.addAll$1(t5, t6);
      }
      return new O.DevToolsDialog(t2, M.Container$(_null, T.Column$(t5, C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, 700), false, H._setArrayType([new O.DialogCloseButton(_null)], t3), _null);
    },
    _timelineStreams$2$advanced: function(theme, advanced) {
      var _i, stream,
        settings = H._setArrayType([], type$.JSArray_legacy_Widget),
        t1 = this.controller.recordedStreams,
        t2 = H._arrayInstanceType(t1)._eval$1("WhereIterable<1>"),
        streams = P.List_List$of(new H.WhereIterable(t1, new R.PerformanceSettingsDialog__timelineStreams_closure(advanced), t2), true, t2._eval$1("Iterable.E"));
      for (t1 = streams.length, _i = 0; _i < t1; ++_i) {
        stream = streams[_i];
        t2 = stream.name;
        settings.push(this._buildStream$5$description$listenable$name$onChanged$theme(" \u2022 " + stream.description, stream._timeline_streams$_enabled, t2, new R.PerformanceSettingsDialog__timelineStreams_closure0(this, stream), theme));
      }
      return settings;
    },
    _buildStream$5$description$listenable$name$onChanged$theme: function(description, listenable, $name, onChanged, theme) {
      var _null = null,
        t1 = N.ValueListenableBuilder$(new R.PerformanceSettingsDialog__buildStream_closure(onChanged), listenable, type$.dynamic),
        t2 = A.TextStyle$(_null, _null, theme.textTheme.bodyText2.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      return T.Row$(H._setArrayType([t1, new T.Flexible(1, C.FlexFit_1, T.RichText$(_null, _null, C.TextOverflow_3, true, _null, Q.TextSpan$(H._setArrayType([Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), description)], type$.JSArray_legacy_InlineSpan), _null, _null, t2, $name), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null);
    }
  };
  R.PerformanceSettingsDialog__timelineStreams_closure.prototype = {
    call$1: function(s) {
      return s.advanced === this.advanced;
    },
    $signature: 317
  };
  R.PerformanceSettingsDialog__timelineStreams_closure0.prototype = {
    call$1: function(_) {
      return this.$this.controller.toggleTimelineStream$1(this.stream);
    },
    $signature: 98
  };
  R.PerformanceSettingsDialog__buildStream_closure.prototype = {
    call$3: function(context, value, _) {
      return K.Checkbox$(null, false, null, null, this.onChanged, false, value);
    },
    $signature: 316
  };
  R._BadgeJankyFramesSetting.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return T.Row$(H._setArrayType([new B.NotifierCheckbox(this.controller._badgeTabForJankyFrames, _null), T.RichText$(_null, _null, C.TextOverflow_3, true, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(context).textTheme.bodyText2.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), string$.Badge_), C.TextAlign_4, _null, _null, 1, C.TextWidthBasis_0)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    }
  };
  R._PerformanceScreenBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  R._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin.prototype = {};
  X.TimelineEventProcessor.prototype = {
    processTimeline$1: function(traceEvents) {
      return this.processTimeline$body$TimelineEventProcessor(traceEvents);
    },
    processTimeline$body$TimelineEventProcessor: function(traceEvents) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, _traceEvents, t2, batchSize, t3, t4, t5, _box_0;
      var $async$processTimeline$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              $async$self.reset$0(0);
              _box_0.firstTimestampMicros = null;
              t1 = H._arrayInstanceType(traceEvents)._eval$1("WhereIterable<1>");
              _traceEvents = P.List_List$of(new H.WhereIterable(traceEvents, new X.TimelineEventProcessor_processTimeline_closure(_box_0), t1), true, t1._eval$1("Iterable.E"));
              C.JSArray_methods.sort$0(_traceEvents);
              t1 = H._arrayInstanceType(_traceEvents)._eval$1("MappedListIterable<1,Map<String*,@>*>");
              t2 = $async$self.timelineController;
              C.JSArray_methods.forEach$1(P.List_List$of(new H.MappedListIterable(_traceEvents, new X.TimelineEventProcessor_processTimeline_closure0(), t1), true, t1._eval$1("ListIterable.E")), t2.get$recordTrace());
              batchSize = C.JSNumber_methods.round$0(Math.min(2000, Math.max(1, _traceEvents.length / 4)));
              t1 = $async$self._timeline_event_processor$_progressNotifier;
            case 2:
              // for condition
              if (!($async$self._traceEventsProcessed < _traceEvents.length)) {
                // goto after for
                $async$goto = 3;
                break;
              }
              $async$self._processBatch$2(batchSize, _traceEvents);
              t1.set$value(0, $async$self._traceEventsProcessed / _traceEvents.length);
              $async$goto = 4;
              return P._asyncAwait(B.delayForBatchProcessing(0), $async$processTimeline$1);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              for (t1 = $async$self._asyncEventsById, t1 = t1.get$values(t1), t3 = t1.get$iterator(t1), t1 = new H.WhereIterator(t3, new X.TimelineEventProcessor_processTimeline_closure1(), H._instanceType(t1)._eval$1("WhereIterator<Iterable.E>")); t1.moveNext$0();) {
                t4 = t3.get$current(t3);
                if (!t4._isWellFormedDeep$1(t4))
                  continue;
                t5 = t2.data;
                t5.timelineEvents.push(t4);
                t5._endTimestampMicros = Math.max(t5._endTimestampMicros, t4.get$maxEndMicros());
              }
              $async$self._addPendingCompleteRootToTimeline$1$force(true);
              t1 = $async$self.pendingFrames;
              t1.get$values(t1).forEach$1(0, $async$self.get$_maybeAddCompletedFrame());
              C.JSArray_methods.sort$1(t2.data.timelineEvents, new X.TimelineEventProcessor_processTimeline_closure2());
              t1 = t2.data;
              t3 = t1.timelineEvents;
              t4 = t3.length;
              t1 = t1.time;
              if (t4 !== 0) {
                t3 = P.Duration$(C.JSArray_methods.get$first(t3).time._utils$_start._duration, 0);
                t1._utils$_start = t3;
                t2 = P.Duration$(t2.data._endTimestampMicros, 0);
                t1._utils$_end = t2;
              } else {
                t1._utils$_start = C.Duration_0;
                t1._utils$_end = C.Duration_0;
              }
              $async$self.reset$0(0);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$processTimeline$1, $async$completer);
    },
    _processBatch$2: function(batchSize, traceEvents) {
      var t1, eventWrapper, t2, current, timelineEvent, t3, _this = this,
        _s12_ = "PipelineItem",
        i = _this._traceEventsProcessed,
        batchEnd = Math.min(i + batchSize, traceEvents.length);
      for (t1 = _this.currentDurationEventNodes; i < batchEnd; ++i) {
        eventWrapper = traceEvents[i];
        ++_this._traceEventsProcessed;
        t2 = eventWrapper.event;
        t2._trace_event$_type = _this.inferEventType$1(t2);
        _this._addPendingCompleteRootToTimeline$1$currentProcessingTime(t2.timestampMicros);
        switch (t2.phase) {
          case "b":
          case "n":
            _this._addAsyncEvent$1(eventWrapper);
            break;
          case "e":
            _this._endAsyncEvent$1(eventWrapper);
            break;
          case "B":
            t2 = t2.threadId;
            current = t1.$index(0, t2);
            timelineEvent = Y.SyncTimelineEvent$(eventWrapper);
            if (current != null)
              current.addChild$1(timelineEvent);
            t1.$indexSet(0, t2, timelineEvent);
            break;
          case "E":
            _this._handleDurationEndEvent$1(eventWrapper);
            break;
          case "X":
            _this._handleDurationCompleteEvent$1(eventWrapper);
            break;
          case "s":
            t3 = t2.name;
            t3.toString;
            if (H.stringContainsUnchecked(t3, _s12_, 0))
              _this._handleFrameStartEvent$1(t2);
            break;
          case "f":
            t3 = t2.name;
            t3.toString;
            if (H.stringContainsUnchecked(t3, _s12_, 0))
              _this._handleFrameEndEvent$1(t2);
            break;
          default:
            break;
        }
      }
    },
    _addPendingCompleteRootToTimeline$2$currentProcessingTime$force: function(currentProcessingTime, force) {
      var t2,
        t1 = this._pendingRootCompleteEvent;
      if (t1 != null)
        t2 = force || currentProcessingTime > t1.time._utils$_end._duration;
      else
        t2 = false;
      if (t2) {
        this.timelineController.data.addTimelineEvent$1(t1);
        this._pendingRootCompleteEvent = null;
      }
    },
    _addPendingCompleteRootToTimeline$1$force: function(force) {
      return this._addPendingCompleteRootToTimeline$2$currentProcessingTime$force(null, force);
    },
    _addPendingCompleteRootToTimeline$1$currentProcessingTime: function(currentProcessingTime) {
      return this._addPendingCompleteRootToTimeline$2$currentProcessingTime$force(currentProcessingTime, false);
    },
    _addAsyncEvent$1: function(eventWrapper) {
      var timelineEvent, $parent, currentEventWithId,
        t1 = eventWrapper.event,
        t2 = J.$index$asx(t1.args, "parentId"),
        t3 = new B.TimeRange(true),
        t4 = H._setArrayType([eventWrapper], type$.JSArray_legacy_TraceEventWrapper),
        t5 = t1._trace_event$_type;
      if (t5 == null)
        t5 = t1._trace_event$_type = C.TimelineEventType_3;
      timelineEvent = new Y.AsyncTimelineEvent(t2, t4, t5, t3, false, false, H._setArrayType([], type$.JSArray_legacy_TimelineEvent));
      t5 = P.Duration$(t1.timestampMicros, 0);
      t3._utils$_start = t5;
      timelineEvent.type = C.TimelineEventType_2;
      if (t1.phase === "n")
        t3._utils$_end = t5;
      if (t2 != 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;
      }
      t2 = this._asyncEventsById;
      currentEventWithId = t2.$index(0, t1.get$asyncUID());
      if (currentEventWithId != null)
        if (currentEventWithId._isWellFormedDeep$1(currentEventWithId)) {
          this.timelineController.data.addTimelineEvent$1(currentEventWithId);
          t2.$indexSet(0, t1.get$asyncUID(), timelineEvent);
        } else if (currentEventWithId.get$isWellFormed())
          B.log("Id collision on id " + H.S(J.$index$asx(t1.json, "id")), C.LogLevel_1);
        else
          currentEventWithId.addChild$1(timelineEvent);
      else
        t2.$indexSet(0, t1.get$asyncUID(), timelineEvent);
    },
    _endAsyncEvent$1: function(eventWrapper) {
      var root = this._asyncEventsById.$index(0, eventWrapper.event.get$asyncUID());
      if (root == null)
        return;
      root.endAsyncEvent$1(eventWrapper);
    },
    _handleDurationEndEvent$1: function(eventWrapper) {
      var t3, t4, t5, t6, current0, _this = this, _null = null,
        $event = eventWrapper.event,
        t1 = _this.currentDurationEventNodes,
        t2 = $event.threadId,
        current = t1.$index(0, t2);
      if (current == null)
        return;
      t3 = $event.name;
      t4 = current.traceEvents;
      if (t3 != C.JSArray_methods.get$first(t4).event.name) {
        t5 = _this._previousDurationEndEvents;
        t6 = t5.$index(0, t2);
        t6 = t6 == null ? _null : t6.json;
        if (C.C_DeepCollectionEquality.equals$2($event.json, t6))
          return;
        else {
          t6 = C.JSArray_methods.get$first(t4);
          t5 = t5.$index(0, t2);
          t5 = t5 == null ? _null : t5.name;
          if (t6.event.name == t5) {
            t5 = current.parent;
            if ((t5 == null ? _null : C.JSArray_methods.get$first(t5.traceEvents).event.name) == t3) {
              t3 = current.children;
              t3 = t3.length === 1 && C.C_DeepCollectionEquality.equals$2(C.JSArray_methods.get$first(t4).event.json, C.JSArray_methods.get$first(C.JSArray_methods.get$first(t3).traceEvents).event.json);
            } else
              t3 = false;
          } else
            t3 = false;
          if (t3) {
            current.parent.removeChild$1(current);
            current = current.parent;
            t1.$indexSet(0, t2, current);
          } else {
            t1.$indexSet(0, t2, _null);
            return;
          }
        }
      }
      _this._previousDurationEndEvents.$indexSet(0, t2, $event);
      current.addEndEvent$1(eventWrapper);
      current.maybeRemoveDuplicate$0();
      while (true) {
        current0 = current.parent;
        if (current0 != null) {
          t3 = current0.time._utils$_end;
          t3 = (t3 == null ? _null : t3._duration) != null;
        } else
          t3 = false;
        if (!t3)
          break;
        current = current0;
      }
      t1.$indexSet(0, t2, current0);
      if (current.parent == null) {
        _this.timelineController.data.addTimelineEvent$1(current);
        _this._maybeAddFlutterFrameEvent$1(current);
      }
    },
    _handleDurationCompleteEvent$1: function(eventWrapper) {
      var current,
        $event = eventWrapper.event,
        timelineEvent = Y.SyncTimelineEvent$(eventWrapper),
        t1 = timelineEvent.time,
        t2 = P.Duration$($event.timestampMicros + $event.duration, 0);
      t1._utils$_end = t2;
      current = this.currentDurationEventNodes.$index(0, $event.threadId);
      if (current != null) {
        if (X.breadthFirstTraversal(current, null, new X.TimelineEventProcessor__handleDurationCompleteEvent_closure(timelineEvent), H._instanceType(current)._eval$1("TreeNode.T*")) != null)
          return;
        current.addChild$1(timelineEvent);
      } else {
        t1 = this._pendingRootCompleteEvent;
        if (t1 == null)
          this._pendingRootCompleteEvent = timelineEvent;
        else
          t1.addChild$1(timelineEvent);
      }
    },
    _handleFrameStartEvent$1: function($event) {
      var pendingFrame, t1, t2;
      if (J.$index$asx($event.json, "id") == null)
        return;
      pendingFrame = this._frameFromEvent$1($event);
      t1 = pendingFrame.pipelineItemTime;
      t2 = t1._utils$_start;
      t2 = t2 == null ? null : t2._duration;
      t2 = P.Duration$(B.nullSafeMin(t2, $event.timestampMicros), 0);
      t1._utils$_start = t2;
      this._maybeAddCompletedFrame$1(pendingFrame);
    },
    _handleFrameEndEvent$1: function($event) {
      return this._handleFrameEndEvent$body$TimelineEventProcessor($event);
    },
    _handleFrameEndEvent$body$TimelineEventProcessor: function($event) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, pendingFrame, t1, t2;
      var $async$_handleFrameEndEvent$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $event.json;
              t2 = J.getInterceptor$asx(t1);
              if (t2.$index(t1, "id") == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (!$async$self.pendingFrames.containsKey$1(0, H.S($event.name) + "-" + H.S(t2.$index(t1, "id")))) {
                // goto return
                $async$goto = 1;
                break;
              }
              pendingFrame = $async$self._frameFromEvent$1($event);
              t1 = pendingFrame.pipelineItemTime;
              t2 = t1._utils$_end;
              t2 = t2 == null ? null : t2._duration;
              t2 = P.Duration$(B.nullSafeMax(t2, $event.timestampMicros), 0);
              t1._utils$_end = t2;
              $async$self._maybeAddCompletedFrame$1(pendingFrame);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleFrameEndEvent$1, $async$completer);
    },
    _maybeAddFlutterFrameEvent$1: function($event) {
      var t1, t2, $frames, _i, _this = this;
      if (!($event.get$isUiEventFlow() && C.JSArray_methods.get$first($event.traceEvents).event.threadId == _this.uiThreadId))
        t1 = !($event.get$isRasterEventFlow() && C.JSArray_methods.get$first($event.traceEvents).event.threadId == _this.rasterThreadId);
      else
        t1 = false;
      if (t1)
        return;
      t1 = _this.pendingFrames;
      t1 = t1.get$values(t1);
      t2 = H._instanceType(t1)._eval$1("WhereIterable<Iterable.E>");
      $frames = P.List_List$of(new H.WhereIterable(t1, new X.TimelineEventProcessor__maybeAddFlutterFrameEvent_closure(), t2), true, t2._eval$1("Iterable.E"));
      C.JSArray_methods.sort$1($frames, new X.TimelineEventProcessor__maybeAddFlutterFrameEvent_closure0());
      for (t1 = $frames.length, _i = 0; _i < $frames.length; $frames.length === t1 || (0, H.throwConcurrentModificationError)($frames), ++_i)
        if (_this._maybeAddEventToFrame$2($event, $frames[_i]))
          break;
    },
    _maybeAddEventToFrame$2: function($event, frame) {
      var type, t2, t3, t4,
        t1 = frame.eventFlows;
      if (t1[$event.type.index] != null || !this.satisfiesUiRasterOrder$2($event, frame))
        return false;
      type = $event.type;
      if (type === C.TimelineEventType_0) {
        t2 = frame.time;
        t3 = $event.time;
        t4 = t3._utils$_start;
        t2._utils$_start = t4;
        if (t1[1] != null) {
          t3 = t3._utils$_end;
          t2._utils$_end = t3;
        }
      }
      if (type === C.TimelineEventType_1) {
        t2 = t1[0];
        if (t2 != null) {
          t3 = frame.time;
          t2 = t2.time._utils$_end._duration;
          t4 = $event.time;
          t4 = t4._utils$_end;
          t4 = t4 == null ? null : t4._duration;
          if (t4 == null)
            t4 = 0;
          t4 = P.Duration$(Math.max(t2, t4), 0);
          t3._utils$_end = t4;
        }
      }
      t1[type.index] = $event;
      this._maybeAddCompletedFrame$1(frame);
      return true;
    },
    satisfiesUiRasterOrder$2: function(e, f) {
      if (e.get$isUiEventFlow() && f.eventFlows[1] != null)
        return e.time._utils$_start._duration < f.eventFlows[1].time._utils$_start._duration;
      else if (e.get$isRasterEventFlow() && f.eventFlows[0] != null)
        return e.time._utils$_start._duration > f.eventFlows[0].time._utils$_start._duration;
      return true;
    },
    _maybeAddCompletedFrame$1: function(frame) {
      var t2,
        t1 = frame.eventFlows;
      if (t1[0] != null)
        if (t1[1] != null) {
          t1 = frame.pipelineItemTime;
          t2 = t1._utils$_start;
          if ((t2 == null ? null : t2._duration) != null) {
            t1 = t1._utils$_end;
            t1 = (t1 == null ? null : t1._duration) != null;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1) {
        this.timelineController.data.frames.push(frame);
        this.pendingFrames.remove$1(0, frame.id);
      }
    },
    _frameFromEvent$1: function($event) {
      var id = H.S($event.name) + "-" + H.S(J.$index$asx($event.json, "id"));
      return this.pendingFrames.putIfAbsent$2(0, id, new X.TimelineEventProcessor__frameFromEvent_closure(id));
    },
    reset$0: function(_) {
      var _this = this;
      _this._asyncEventsById.clear$0(0);
      _this.currentDurationEventNodes.clear$0(0);
      _this._previousDurationEndEvents.clear$0(0);
      _this.pendingFrames.clear$0(0);
      _this._pendingRootCompleteEvent = null;
      _this._traceEventsProcessed = 0;
      _this._timeline_event_processor$_progressNotifier.set$value(0, 0);
    },
    inferEventType$1: function($event) {
      var t1 = $event.phase;
      if (t1 === "b" || t1 === "n" || t1 === "e")
        return C.TimelineEventType_2;
      else {
        t1 = $event.threadId;
        if (t1 == this.uiThreadId)
          return C.TimelineEventType_0;
        else if (t1 == this.rasterThreadId)
          return C.TimelineEventType_1;
        else
          return C.TimelineEventType_3;
      }
    }
  };
  X.TimelineEventProcessor_processTimeline_closure.prototype = {
    call$1: function($event) {
      var t2,
        t1 = $event.event,
        isMessageLoopFlushTasks = J.contains$1$asx(t1.name, "MessageLoop::FlushTasks"),
        ts = t1.timestampMicros,
        shouldProcess = ts != null && !isMessageLoopFlushTasks;
      if (shouldProcess) {
        t1 = this._box_0;
        t2 = t1.firstTimestampMicros;
        if (t2 == null) {
          t1.firstTimestampMicros = ts;
          t1 = ts;
        } else
          t1 = t2;
        if (Math.abs(ts - t1) > 576e8)
          return false;
      }
      return shouldProcess;
    },
    $signature: 99
  };
  X.TimelineEventProcessor_processTimeline_closure0.prototype = {
    call$1: function($event) {
      return $event.event.json;
    },
    $signature: 315
  };
  X.TimelineEventProcessor_processTimeline_closure1.prototype = {
    call$1: function(e) {
      return e.parent == null;
    },
    $signature: 517
  };
  X.TimelineEventProcessor_processTimeline_closure2.prototype = {
    call$2: function(a, b) {
      return C.JSInt_methods.compareTo$1(a.time._utils$_start._duration, b.time._utils$_start._duration);
    },
    $signature: 102
  };
  X.TimelineEventProcessor__handleDurationCompleteEvent_closure.prototype = {
    call$1: function($event) {
      return C.C_DeepCollectionEquality.equals$2(C.JSArray_methods.get$first($event.traceEvents).event.json, C.JSArray_methods.get$first(this.timelineEvent.traceEvents).event.json);
    },
    $signature: 48
  };
  X.TimelineEventProcessor__maybeAddFlutterFrameEvent_closure.prototype = {
    call$1: function(frame) {
      return frame.pipelineItemTime._utils$_start != null;
    },
    $signature: 155
  };
  X.TimelineEventProcessor__maybeAddFlutterFrameEvent_closure0.prototype = {
    call$2: function(a, b) {
      return C.JSInt_methods.compareTo$1(a.pipelineItemTime._utils$_start._duration, b.pipelineItemTime._utils$_start._duration);
    },
    $signature: 518
  };
  X.TimelineEventProcessor__frameFromEvent_closure.prototype = {
    call$0: function() {
      return Y.FlutterFrame$(this.id);
    },
    $signature: 519
  };
  Y.TimelineFlameChartContainer.prototype = {
    createState$0: function() {
      var _null = null;
      return new Y._TimelineFlameChartContainerState(_null, _null, _null, _null, 769, 772, 13, 27, 9, 458792, 458795, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  Y._TimelineFlameChartContainerState.prototype = {
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_PerformanceController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
    },
    build$1: function(_, context) {
      var timelineEmpty, $content, searchFieldEnabled, _this = this, _null = null,
        t1 = _this.controller.data;
      t1 = t1 == null ? _null : J.get$isEmpty$asx(t1.traceEvents);
      timelineEmpty = t1 !== false || _this.controller.data.eventGroups._collection$_root == null;
      $content = _this._widget.processing || timelineEmpty ? N.ValueListenableBuilder$(new Y._TimelineFlameChartContainerState_build_closure(_this), _this.controller._emptyTimeline, type$.legacy_bool) : new A.LayoutBuilder(new Y._TimelineFlameChartContainerState_build_closure0(_this), _null);
      t1 = _this.controller.data;
      t1 = t1 == null ? _null : J.get$isEmpty$asx(t1.traceEvents);
      searchFieldEnabled = t1 === false && !_this._widget.processing;
      t1 = type$.JSArray_legacy_Widget;
      return new U.OutlineDecoration(T.Column$(H._setArrayType([U.AreaPaneHeader$(H._setArrayType([M.Container$(_null, _this.buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(_this.controller, searchFieldEnabled, $.$get$timelineSearchFieldKey(), false, true), C.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, 400), new S.FlameChartHelpButton(_null)], t1), 1, true, false, false, 0, true, C.Text_Oc6), T.Expanded$(new T.Padding(C.EdgeInsets_0_0_0_8, $content, _null), 1)], t1), C.CrossAxisAlignment_1, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null);
    }
  };
  Y._TimelineFlameChartContainerState_build_closure.prototype = {
    call$3: function(context, emptyRecording, _) {
      var _null = null;
      return emptyRecording ? T.Center$(L.Text$("No timeline events", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(context).unselectedWidgetColor, _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, C.ValueKey_2ec, _null) : new U.ProcessingInfo(this.$this._widget.processingProgress, "timeline trace", _null);
    },
    $signature: 121
  };
  Y._TimelineFlameChartContainerState_build_closure0.prototype = {
    call$2: function(context, constraints) {
      var t8,
        t1 = this.$this,
        t2 = t1.controller,
        t3 = t2.data,
        t4 = constraints.maxWidth,
        t5 = constraints.maxHeight,
        t6 = t2._selectedTimelineEventNotifier,
        t7 = t2.SearchControllerMixin__searchMatches;
      t2 = t2.SearchControllerMixin__activeSearchMatch;
      t8 = Y.TimelineFlameChart__calculateStartInset(t3);
      return new Y.TimelineFlameChart(t3, t3.time, t4, t5, t8, 70, t6, t7, t2, new Y._TimelineFlameChartContainerState_build__closure(t1), null);
    },
    $signature: 520
  };
  Y._TimelineFlameChartContainerState_build__closure.prototype = {
    call$1: function(e) {
      return this.$this.controller.selectTimelineEvent$1(e);
    },
    $signature: 521
  };
  Y.TimelineFlameChart.prototype = {
    createState$0: function() {
      return new Y.TimelineFlameChartState(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_TimelineEvent, type$.legacy_FlameChartNode_legacy_FlameChartDataMixin_dynamic), H._setArrayType([], type$.JSArray_legacy_HorizontalLineSegment), H._setArrayType([], type$.JSArray_legacy_VerticalLineSegment), new P.Expando(new WeakMap(), type$.Expando_legacy_double), H._setArrayType([], type$.JSArray_legacy_FlameChartRow_legacy_TimelineEvent), H._setArrayType([], type$.JSArray_legacy_FlameChartSection), O.FocusNode$(true, null, true, null, false), null, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  Y.TimelineFlameChartState.prototype = {
    get$rowOffsetForTopPadding: function() {
      return 3;
    },
    initState$0: function() {
      var _this = this;
      _this.super$FlameChartState$initState();
      _this._groupLabelScrollController = _this.verticalControllerGroup.addAndGet$0();
      _this._previousInGroupButtonsScrollController = _this.verticalControllerGroup.addAndGet$0();
      _this._nextInGroupButtonsScrollController = _this.verticalControllerGroup.addAndGet$0();
    },
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_PerformanceController);
      if (newController == _this._performanceController)
        return;
      _this._performanceController = newController;
      _this.addAutoDisposeListener$2(newController._selectedFrameNotifier, _this.get$_handleSelectedFrame());
    },
    isDataVerticallyInView$1: function(data) {
      var eventTopY = this.topYForData$1(data),
        t1 = this.verticalControllerGroup.get$_attachedControllers();
      t1 = t1.get$first(t1);
      t1.toString;
      t1 = J.get$position$x(t1)._pixels;
      t1.toString;
      return eventTopY > t1 && eventTopY + 27 < t1 + this._widget.containerHeight;
    },
    isDataHorizontallyInView$1: function(data) {
      var _this = this,
        t1 = _this.get$visibleTimeRange(),
        t2 = data.time,
        t3 = t2._utils$_start,
        t4 = t1._utils$_start;
      t3 = t3._duration;
      if (t3 >= t4._duration && t3 <= t1._utils$_end._duration) {
        t1 = _this.get$visibleTimeRange();
        t2 = data.time;
        t3 = t2._utils$_end;
        t4 = t1._utils$_start;
        t3 = t3._duration;
        t1 = t3 >= t4._duration && t3 <= t1._utils$_end._duration;
      } else
        t1 = false;
      if (!t1) {
        t1 = t2._utils$_start;
        t2 = _this.get$visibleTimeRange()._utils$_start;
        if (t1._duration <= t2._duration) {
          t1 = data.time._utils$_end;
          t2 = _this.get$visibleTimeRange()._utils$_end;
          t2 = t1._duration >= t2._duration;
          t1 = t2;
        } else
          t1 = false;
      } else
        t1 = true;
      return t1;
    },
    topYForData$1: function(data) {
      var eventGroup = this._widget.data.eventGroups.$index(0, T.PerformanceUtils_computeEventGroupKey(data, this._performanceController.threadNamesById)),
        rowOffsetInGroup = eventGroup.rowIndexForEvent.$index(0, data);
      P.Expando__checkType(eventGroup);
      return this.eventGroupStartYValues._jsWeakMap.get(eventGroup) + rowOffsetInGroup * 27;
    },
    startXForData$1: function(data) {
      var t2, t3, t4,
        timeMicros = data.time._utils$_start._duration,
        t1 = this._widget;
      t1 = t1.get$time(t1)._utils$_start._duration;
      t2 = this._widget;
      t3 = t2.data.time;
      t4 = t3._utils$_end;
      t3 = t3._utils$_start;
      t4 = t4._duration;
      t3 = t3._duration;
      return t2.get$startingContentWidth() * this.currentZoom * ((timeMicros - t1) / (t4 - t3));
    },
    _indexOfFirstEventInView$1: function(group) {
      var boundEvent,
        t1 = L.TraceEvent$(P.LinkedHashMap_LinkedHashMap$_literal(["ts", this.get$visibleTimeRange()._utils$_start._duration], type$.legacy_String, type$.dynamic));
      t1._trace_event$_type = C.TimelineEventType_3;
      boundEvent = Y.SyncTimelineEvent$(L.TraceEventWrapper$(t1, 0));
      boundEvent.time = this.get$visibleTimeRange();
      return Q.lowerBound(group.get$sortedEventRoots(), boundEvent, new Y.TimelineFlameChartState__indexOfFirstEventInView_closure(), type$.legacy_TimelineEvent);
    },
    _viewPreviousEventInGroup$1: function(group) {
      return this._viewPreviousEventInGroup$body$TimelineFlameChartState(group);
    },
    _viewPreviousEventInGroup$body$TimelineFlameChartState: function(group) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, $event, t1, t2, firstInViewIndex;
      var $async$_viewPreviousEventInGroup$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._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;
              Y.Notifications_of(t1).push$1(string$.There_ab);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_viewPreviousEventInGroup$1, $async$completer);
    },
    _viewNextEventInGroup$1: function(group) {
      return this._viewNextEventInGroup$body$TimelineFlameChartState(group);
    },
    _viewNextEventInGroup$body$TimelineFlameChartState: function(group) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, boundEvent, t2, firstOutOfViewIndex, zoomTo, t1;
      var $async$_viewNextEventInGroup$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = L.TraceEvent$(P.LinkedHashMap_LinkedHashMap$_literal(["ts", $async$self.get$visibleTimeRange()._utils$_end._duration], type$.legacy_String, type$.dynamic));
              t1._trace_event$_type = C.TimelineEventType_3;
              boundEvent = Y.SyncTimelineEvent$(L.TraceEventWrapper$(t1, 0));
              t1 = new B.TimeRange(true);
              t2 = $async$self.get$visibleTimeRange()._utils$_end;
              t1._utils$_start = t2;
              t2 = $async$self.get$visibleTimeRange()._utils$_end;
              t1._utils$_end = t2;
              boundEvent.time = t1;
              firstOutOfViewIndex = Q.lowerBound(group.get$sortedEventRoots(), boundEvent, new Y.TimelineFlameChartState__viewNextEventInGroup_closure(), type$.legacy_TimelineEvent);
              if (firstOutOfViewIndex === group.get$sortedEventRoots().length)
                zoomTo = $async$self._indexOfFirstEventInView$1(group) === 0 ? C.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 P._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;
              Y.Notifications_of(t1).push$1(string$.There_aa);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_viewNextEventInGroup$1, $async$completer);
    },
    _handleSelectedFrame$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2, selectedFrame;
      var $async$_handleSelectedFrame$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              selectedFrame = $async$self._performanceController._selectedFrameNotifier._value;
              if (selectedFrame == $async$self._selectedFrame) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.setState$1(new Y.TimelineFlameChartState__handleSelectedFrame_closure($async$self, selectedFrame));
              $async$goto = $async$self._selectedFrame != null ? 3 : 4;
              break;
            case 3:
              // then
              t1 = selectedFrame.time;
              t2 = t1._utils$_start._duration;
              t1 = t1._utils$_end._duration;
              $async$goto = 5;
              return P._asyncAwait($async$self.zoomAndScrollToData$4$data$durationMicros$jumpZoom$startMicros(selectedFrame.eventFlows[0], t1 - t2, true, t2), $async$_handleSelectedFrame$0);
            case 5:
              // returning from await.
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleSelectedFrame$0, $async$completer);
    },
    initFlameChartElements$0: function() {
      var createChartNode, t1, t2, t3, t4, currentRowIndex, currentSectionIndex, yOffset, t5, group, t6, i, t7, t8, _i, _this = this, _box_0 = {};
      _this.super$FlameChartState$initFlameChartElements();
      _box_0.maxRight = -1;
      createChartNode = new Y.TimelineFlameChartState_initFlameChartElements_createChartNode(_box_0, _this, new Y.TimelineFlameChartState_initFlameChartElements_leftForEvent(_this), new Y.TimelineFlameChartState_initFlameChartElements_rightForEvent(_this));
      _this.expandRows$1(3);
      for (t1 = _this._widget.data.eventGroups, t2 = t1.$ti, t2 = t2._eval$1("@<1>")._bind$1(t2._eval$1("_SplayTreeMapNode<1,2>")), t2 = new P._SplayTreeKeyIterator(t1, H._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, yOffset = 48; t2.moveNext$0();) {
        t5 = t2.get$current(t2);
        group = _this._widget.data.eventGroups.$index(0, t5);
        t5 = t3.length;
        t6 = group.rows;
        _this.expandRows$1(t5 + (t6.length + 1));
        t4.set(group, 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, H.throwConcurrentModificationError)(t5), ++_i)
            createChartNode.call$3(t5[_i], t8, currentSectionIndex);
        t1.push(new S.FlameChartSection(currentSectionIndex));
        t5 = t6.length;
        currentRowIndex += t5 + 1;
        ++currentSectionIndex;
        yOffset += t5 * 27 + 16;
      }
      for (t1 = t3.length, _i = 0; _i < t3.length; t3.length === t1 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
        t2 = t3[_i].nodes;
        t4 = new Y.TimelineFlameChartState_initFlameChartElements_closure();
        if (!!t2.immutable$list)
          H.throwExpression(P.UnsupportedError$("sort"));
        t5 = t2.length - 1;
        if (t5 - 0 <= 32)
          H.Sort__insertionSort(t2, 0, t5, t4);
        else
          H.Sort__dualPivotQuicksort(t2, 0, t5, t4);
      }
      _this._calculateAsyncGuidelines$0();
    },
    buildChartOverlays$2: function(constraints, buildContext) {
      var colorScheme, t2, t3, t4, t5, t6, t7, t8, t9, t10, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      colorScheme = K.Theme_of(t1).colorScheme;
      t1 = _this.currentZoom;
      t2 = _this.verticalScrollOffset;
      t3 = _this.horizontalScrollOffset;
      t4 = _this._widget;
      t5 = t4.startInset;
      t6 = T.CustomPaint$(_null, _null, _null, new Y.AsyncGuidelinePainter(_this.verticalGuidelines, _this.horizontalGuidelines, t1, constraints, t2, t3, t5, colorScheme, _null), C.Size_0_0);
      t4 = t4.endInset;
      t7 = _this.get$widthWithZoom();
      t8 = _this._widget;
      t9 = t8.time;
      t10 = t9._utils$_end;
      t9 = t9._utils$_start;
      t1 = T.CustomPaint$(_null, _null, _null, S.TimelineGridPainter$(t4, t5, colorScheme, constraints, new P.Duration(t10._duration - t9._duration), t7, t3, t2, t1), C.Size_0_0);
      t2 = _this._selectedFrame;
      t3 = _this.currentZoom;
      t7 = _this.verticalScrollOffset;
      t9 = _this.horizontalScrollOffset;
      t10 = t8.startInset;
      t10 = H._setArrayType([t6, t1, T.CustomPaint$(_null, _null, _null, new Y.SelectedFrameBracketPainter(t2, t8.get$time(t8)._utils$_start._duration, _this.get$startingPxPerMicro(), new Y.TimelineFlameChartState_buildChartOverlays_closure(_this), t3, constraints, t7, t9, t10, colorScheme, _null), C.Size_0_0), _this._buildSectionLabels$1$constraints(constraints)], type$.JSArray_legacy_Widget);
      C.JSArray_methods.addAll$1(t10, _this._buildEventThreadNavigationButtons$1$constraints(constraints));
      return t10;
    },
    _buildSectionLabels$1$constraints: function(constraints) {
      var colorScheme, eventGroups, children, t2, i, t3, topSpacer, bottomSpacer, groupName, group, backgroundColor, backgroundWithOpacity, t4, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      colorScheme = K.Theme_of(t1).colorScheme;
      eventGroups = _this._performanceController.data.eventGroups;
      children = H._setArrayType([], type$.JSArray_legacy_Widget);
      for (t1 = colorScheme.brightness === C.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; t3 = eventGroups._count, i < t3; ++i) {
        topSpacer = i === 0 ? 23 : 0;
        bottomSpacer = i === t3 - 1 ? 25 : 0;
        groupName = new P._SplayTreeKeyIterable(eventGroups, t2).elementAt$1(0, i);
        group = eventGroups.$index(0, groupName);
        if (C.JSInt_methods.$mod(i, 2) === 1)
          backgroundColor = t1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
        else if (t1) {
          t3 = C.Map_HFpTk.$index(0, 50);
          t3 = U.ColorExtension_darken(t3, 0.05);
          backgroundColor = t3;
        } else {
          t3 = C.Map_HFpTk.$index(0, 850);
          t3 = U.ColorExtension_brighten(t3);
          backgroundColor = t3;
        }
        t3 = backgroundColor.value;
        backgroundWithOpacity = P.Color$fromRGBO(t3 >>> 16 & 255, t3 >>> 8 & 255, t3 & 255, 0.85);
        t3 = group.rows.length;
        t4 = t1 ? C.Color_4278190080 : C.Color_4294967295;
        children.push(M.Container$(C.Alignment_m1_m1, M.Container$(_null, new L.Text(groupName, _null, new A.TextStyle(true, t4, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null, _null, _null, _null, _null), C.Clip_0, backgroundWithOpacity, _null, _null, _null, _null, _null, _null, C.EdgeInsets_4_2_4_2, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, t3 * 27 + 16 + topSpacer + bottomSpacer, _null, _null, new V.EdgeInsets(0, topSpacer, 0, bottomSpacer), _null, _null, _null));
      }
      t1 = constraints.maxHeight;
      t2 = _this._widget.startInset;
      return T.Positioned$(_null, new T.IgnorePointer(true, _null, B.ListView$(children, _this._groupLabelScrollController, _null, _null, C.ClampingScrollPhysics_null, _null, false), _null), t1, _null, 0, _null, 25, t2);
    },
    _buildEventThreadNavigationButtons$1$constraints: function(constraints) {
      var _this = this, _null = null,
        eventGroups = _this._performanceController.data.eventGroups,
        t1 = new Y.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton(_this, eventGroups),
        t2 = constraints.maxHeight,
        t3 = _this._previousInGroupButtonsScrollController,
        t4 = eventGroups._count;
      return H._setArrayType([T.Positioned$(_null, B.ListView$builder(t3, new Y.TimelineFlameChartState__buildEventThreadNavigationButtons_closure(t1), t4, _null, _null, C.ClampingScrollPhysics_null, _null, C.Axis_1, false), t2, _null, 0, _null, 25, 52), T.Positioned$(_null, B.ListView$builder(_this._nextInGroupButtonsScrollController, new Y.TimelineFlameChartState__buildEventThreadNavigationButtons_closure0(t1), t4, _null, _null, C.ClampingScrollPhysics_null, _null, C.Axis_1, false), t2, _null, _null, 0, 25, 52)], type$.JSArray_legacy_Widget);
    },
    _calculateAsyncGuidelines$0: function() {
      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, previousSibling, _this = this,
        t1 = _this.verticalGuidelines;
      C.JSArray_methods.set$length(t1, 0);
      t2 = _this.horizontalGuidelines;
      C.JSArray_methods.set$length(t2, 0);
      for (t3 = _this.rows, t4 = t3.length, t5 = _this.chartNodesByEvent, t6 = type$.legacy_AsyncTimelineEvent, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i)
        for (t7 = t3[_i].nodes, t8 = t7.length, _i0 = 0; _i0 < t7.length; t7.length === t8 || (0, H.throwConcurrentModificationError)(t7), ++_i0) {
          node = t7[_i0];
          t9 = node.data;
          if (t9 instanceof Y.AsyncTimelineEvent) {
            t10 = t9.children;
            t11 = t10.length;
            _i1 = 0;
            while (true) {
              if (!(_i1 < t10.length)) {
                allChildrenAreAsyncInstantEvents = true;
                break;
              }
              if (C.JSArray_methods.get$first(t10[_i1].traceEvents).event.phase !== "n") {
                allChildrenAreAsyncInstantEvents = false;
                break;
              }
              t10.length === t11 || (0, H.throwConcurrentModificationError)(t10);
              ++_i1;
            }
            if (t10.length === 0 || allChildrenAreAsyncInstantEvents)
              continue;
            verticalGuidelineX = node.rect.left + 1;
            verticalGuidelineStartY = _this._calculateVerticalGuidelineStartY$1(t9);
            t1.push(new N.VerticalLineSegment(new P.Offset(verticalGuidelineX, verticalGuidelineStartY), new P.Offset(verticalGuidelineX, _this._calculateHorizontalGuidelineY$1(t9._lowestDisplayChild)), 1));
            firstChild = C.JSArray_methods.firstWhere$1(t10, new Y.TimelineFlameChartState__calculateAsyncGuidelines_closure());
            t11 = t5.$index(0, firstChild).rect;
            horizontalGuidelineY = _this._calculateHorizontalGuidelineY$1(firstChild);
            t2.push(new N.HorizontalLineSegment(new P.Offset(verticalGuidelineX, horizontalGuidelineY), new P.Offset(t11.left, horizontalGuidelineY), 1));
            for (i = 1; i < t10.length; ++i) {
              _box_0 = {};
              _box_0.horizontalGuidelineStartX = verticalGuidelineX;
              child = t10[i];
              if (C.JSArray_methods.get$first(child.traceEvents).event.phase === "n")
                continue;
              childNode = t5.$index(0, child);
              previousSiblingInRow = new Y.TimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow(node);
              if (childNode.row.index === node.row.index + 1) {
                previousSibling = previousSiblingInRow.call$1(childNode);
                while (true) {
                  t11 = previousSibling != null;
                  if (!(t11 && C.JSArray_methods.get$first(t6._as(previousSibling.data).traceEvents).event.phase === "n"))
                    break;
                  previousSibling = previousSiblingInRow.call$1(previousSibling);
                }
                if (t11)
                  new Y.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 N.HorizontalLineSegment(new P.Offset(_box_0.horizontalGuidelineStartX, horizontalGuidelineY), new P.Offset(t11.left, horizontalGuidelineY), 1));
            }
          }
        }
      C.JSArray_methods.sort$0(t1);
      C.JSArray_methods.sort$0(t2);
    },
    _spacerRowsBeforeEvent$1: function($event) {
      return this.chartNodesByEvent.$index(0, $event).sectionIndex + 3;
    },
    _calculateVerticalGuidelineStartY$1: function($event) {
      var spacerRowsBeforeEvent = this._spacerRowsBeforeEvent$1($event);
      return spacerRowsBeforeEvent * 16 + (this.chartNodesByEvent.$index(0, $event).row.index - spacerRowsBeforeEvent) * 27 + 25;
    },
    _calculateHorizontalGuidelineY$1: function($event) {
      var spacerRowsBeforeEvent = this._spacerRowsBeforeEvent$1($event);
      return spacerRowsBeforeEvent * 16 + (this.chartNodesByEvent.$index(0, $event).row.index - spacerRowsBeforeEvent) * 27 + 12.5;
    }
  };
  Y.TimelineFlameChartState__indexOfFirstEventInView_closure.prototype = {
    call$2: function(a, b) {
      var t1 = a.time._utils$_start,
        t2 = b.time._utils$_start;
      return C.JSInt_methods.compareTo$1(t1._duration, t2._duration);
    },
    $signature: 102
  };
  Y.TimelineFlameChartState__viewNextEventInGroup_closure.prototype = {
    call$2: function(a, b) {
      var t1 = a.time._utils$_end,
        t2 = b.time._utils$_end;
      return C.JSInt_methods.compareTo$1(t1._duration, t2._duration);
    },
    $signature: 102
  };
  Y.TimelineFlameChartState__handleSelectedFrame_closure.prototype = {
    call$0: function() {
      this.$this._selectedFrame = this.selectedFrame;
    },
    $signature: 1
  };
  Y.TimelineFlameChartState_initFlameChartElements_leftForEvent.prototype = {
    call$1: function($event) {
      var t1 = $event.time._utils$_start._duration,
        t2 = this.$this,
        t3 = t2._widget;
      return (t1 - t3.get$time(t3)._utils$_start._duration) * t2.get$startingPxPerMicro() + t2._widget.startInset;
    },
    $signature: 154
  };
  Y.TimelineFlameChartState_initFlameChartElements_rightForEvent.prototype = {
    call$1: function($event) {
      var t1 = $event.time._utils$_end._duration,
        t2 = this.$this,
        t3 = t2._widget;
      return (t1 - t3.get$time(t3)._utils$_start._duration) * t2.get$startingPxPerMicro() + t2._widget.startInset;
    },
    $signature: 154
  };
  Y.TimelineFlameChartState_initFlameChartElements_createChartNode.prototype = {
    call$3: function($event, row, section) {
      var left, right, t1, backgroundColor, textColor, t2, 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())
        backgroundColor = C.Color_4285993007;
      else if ($event.type === C.TimelineEventType_2)
        backgroundColor = C.List_Color_4286630852_Color_4280723098[C.JSInt_methods.$mod(row, 2)];
      else if (C.JSArray_methods.get$first($event.traceEvents).event.category === "GC")
        backgroundColor = C.List_Color_4291475689_Color_4288513226[C.JSInt_methods.$mod(row, 2)];
      else {
        t1 = $event.type;
        if (t1 === C.TimelineEventType_0)
          backgroundColor = $.uiColorPalette[C.JSInt_methods.$mod(row, 2)];
        else
          backgroundColor = t1 === C.TimelineEventType_1 ? $.rasterColorPalette[C.JSInt_methods.$mod(row, 2)] : C.List_Color_4291475689_Color_4288513226[C.JSInt_methods.$mod(row, 2)];
      }
      textColor = $event.type === C.TimelineEventType_1 ? C.Color_4293980400 : C.Color_4278190080;
      t1 = $event.traceEvents;
      t2 = _this.$this;
      node = new S.FlameChartNode(new D.ValueKey(H.S(C.JSArray_methods.get$first(t1).event.name) + " " + C.JSArray_methods.get$first(t1).id, type$.ValueKey_String), new P.Rect(left, 0, right, 25), C.JSArray_methods.get$first(t1).event.name, backgroundColor, textColor, $event, new Y.TimelineFlameChartState_initFlameChartElements_createChartNode_closure(t2), section, type$.FlameChartNode_legacy_TimelineEvent);
      t2.chartNodesByEvent.$indexSet(0, $event, node);
      t2.rows[row].addNode$1(node);
    },
    $signature: 523
  };
  Y.TimelineFlameChartState_initFlameChartElements_createChartNode_closure.prototype = {
    call$1: function($event) {
      return this.$this._widget.onDataSelected.call$1($event);
    },
    $signature: 13
  };
  Y.TimelineFlameChartState_initFlameChartElements_closure.prototype = {
    call$2: function(a, b) {
      return J.compareTo$1$ns(a.rect.left, b.rect.left);
    },
    $signature: 524
  };
  Y.TimelineFlameChartState_buildChartOverlays_closure.prototype = {
    call$1: function($event) {
      return this.$this._calculateVerticalGuidelineStartY$1($event) - 25;
    },
    $signature: 154
  };
  Y.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton.prototype = {
    call$2$isNext: function(index, isNext) {
      var backgroundColor,
        topSpacer = index === 0 ? 23 : 0,
        t1 = this.eventGroups,
        bottomSpacer = index === t1._count - 1 ? 25 : 0,
        t2 = t1.$ti,
        group = t1.$index(0, new P._SplayTreeKeyIterable(t1, t2._eval$1("@<1>")._bind$1(t2._eval$1("_SplayTreeMapNode<1,2>"))._eval$1("_SplayTreeKeyIterable<1,2>")).elementAt$1(0, index));
      t2 = this.$this;
      t1 = t2._framework$_element;
      t1.toString;
      t1 = K.Theme_of(t1).colorScheme;
      if (C.JSInt_methods.$mod(index + 1, 2) === 1)
        backgroundColor = t1.brightness === C.Brightness_1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
      else if (t1.brightness === C.Brightness_1) {
        t1 = C.Map_HFpTk.$index(0, 50);
        t1 = U.ColorExtension_darken(t1, 0.05);
        backgroundColor = t1;
      } else {
        t1 = C.Map_HFpTk.$index(0, 850);
        t1 = U.ColorExtension_brighten(t1);
        backgroundColor = t1;
      }
      t1 = backgroundColor.value;
      return new Y.NavigateInThreadInButton(group, isNext, topSpacer, bottomSpacer, P.Color$fromRGBO(t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255, 0.85), 52, new Y.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure(t2, isNext, group), new Y.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0(t2, isNext), t2.horizontalControllerGroup, null);
    },
    call$1: function(index) {
      return this.call$2$isNext(index, null);
    },
    $signature: 314
  };
  Y.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = this.group;
      return this.isNext ? t1._viewNextEventInGroup$1(t2) : t1._viewPreviousEventInGroup$1(t2);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 3
  };
  Y.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0.prototype = {
    call$1: function(g) {
      var firstEventInView, t2, noEventsAfterVisibleTimeRange,
        t1 = this.$this;
      if (this.isNext) {
        firstEventInView = t1._indexOfFirstEventInView$1(g);
        t2 = t1.horizontalControllerGroup.get$_attachedControllers();
        noEventsAfterVisibleTimeRange = !t2.get$isEmpty(t2) && g.latestTimestampMicros <= t1.get$visibleTimeRange()._utils$_end._duration;
        if (!(firstEventInView === 0 && noEventsAfterVisibleTimeRange)) {
          t2 = t1.horizontalControllerGroup.get$_attachedControllers();
          t1 = !t2.get$isEmpty(t2) && g.latestTimestampMicros > t1.get$visibleTimeRange()._utils$_end._duration;
        } else
          t1 = true;
      } else {
        t2 = t1.horizontalControllerGroup.get$_attachedControllers();
        t1 = !t2.get$isEmpty(t2) && g.earliestTimestampMicros < t1.get$visibleTimeRange()._utils$_start._duration;
      }
      return t1;
    },
    $signature: 525
  };
  Y.TimelineFlameChartState__buildEventThreadNavigationButtons_closure.prototype = {
    call$2: function(context, i) {
      return this.buildNavigatorButton.call$2$isNext(i, false);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  Y.TimelineFlameChartState__buildEventThreadNavigationButtons_closure0.prototype = {
    call$2: function(context, i) {
      return this.buildNavigatorButton.call$2$isNext(i, true);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  Y.TimelineFlameChartState__calculateAsyncGuidelines_closure.prototype = {
    call$1: function(e) {
      return C.JSArray_methods.get$first(e.traceEvents).event.phase !== "n";
    },
    $signature: 48
  };
  Y.TimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline.prototype = {
    call$1: function(previousXInRow) {
      var newVerticalGuidelineX, _this = this,
        t1 = _this.event.time._utils$_end,
        t2 = _this.child,
        t3 = t2.time._utils$_start;
      if (t1._duration < t3._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 N.VerticalLineSegment(new P.Offset(newVerticalGuidelineX, _this.verticalGuidelineStartY), new P.Offset(newVerticalGuidelineX, t1._calculateHorizontalGuidelineY$1(t2)), 1));
      _this._box_0.horizontalGuidelineStartX = newVerticalGuidelineX;
    },
    $signature: 313
  };
  Y.TimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow.prototype = {
    call$1: function(child) {
      var _null = null,
        previousNodeIndex = C.JSArray_methods.indexOf$1(child.row.nodes, child) - 1,
        previousNode = previousNodeIndex >= 0 ? child.row.nodes[previousNodeIndex] : _null,
        t1 = previousNode == null ? _null : previousNode.data;
      t1 = t1 == null ? _null : t1.parent;
      return J.$eq$(t1, this.node.data) ? previousNode : _null;
    },
    $signature: 310
  };
  Y.AsyncGuidelinePainter.prototype = {
    paint$2: function(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 = Q.lowerBound(t2, new N.VerticalLineSegment(new P.Offset(leftBoundWithoutZoom, t3), new P.Offset(leftBoundWithoutZoom, visible.bottom), 1), null, type$.legacy_VerticalLineSegment);
      t4 = _this.horizontalGuidelines;
      firstHorizontalGuidelineIndex = Q.lowerBound(t4, new N.HorizontalLineSegment(new P.Offset(t1, t3), new P.Offset(visible.right, t3), 1), null, type$.legacy_HorizontalLineSegment);
      if (firstVerticalGuidelineIndex !== -1)
        _this._paintGuidelines$4(canvas, visible, t2, firstVerticalGuidelineIndex);
      if (firstHorizontalGuidelineIndex !== -1)
        _this._paintGuidelines$4(canvas, visible, t4, firstHorizontalGuidelineIndex);
    },
    _paintGuidelines$4: function(canvas, visible, guidelines, firstLineIndex) {
      var t2, t3, unzoomableOffsetLineStart, t4, t5, t6, i, lastOpacity, line, zoomedLine, t7, t8, intersectRect, opacity, t9, t10, t11, _this = this,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t1 = _this.colorScheme.brightness === C.Brightness_1;
      paint.set$color(0, t1 ? C.Color_2315255808 : C.Color_4291348680);
      for (t2 = _this.zoom, t3 = _this.chartStartInset, unzoomableOffsetLineStart = 1 + t3, t4 = _this.horizontalScrollOffset, t5 = _this.constraints, t6 = _this.verticalScrollOffset, i = firstLineIndex, lastOpacity = 1; i < guidelines.length; ++i) {
        line = guidelines[i];
        zoomedLine = line instanceof N.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;
        t7 = zoomedLine.start;
        t8 = zoomedLine.end;
        intersectRect = P.Rect$fromPoints(t7, t8).intersect$1(visible);
        if (intersectRect.right - intersectRect.left >= 0 && intersectRect.bottom - intersectRect.top >= 0) {
          opacity = zoomedLine.opacity;
          if (opacity !== lastOpacity) {
            t9 = t1 ? C.Color_2315255808 : C.Color_4291348680;
            t9 = t9.value;
            paint.set$color(0, P.Color$fromARGB(C.JSInt_methods.round$0(255 * opacity), t9 >>> 16 & 255, t9 >>> 8 & 255, t9 & 255));
            lastOpacity = opacity;
          }
          t9 = t5.maxWidth;
          t10 = C.JSNumber_methods.clamp$2(t7._dx - t4, 0, t9);
          t11 = t5.maxHeight;
          canvas.drawLine$3(0, new P.Offset(t10, C.JSNumber_methods.clamp$2(t7._dy - t6, 0, t11)), new P.Offset(C.JSNumber_methods.clamp$2(t8._dx - t4, 0, t9), C.JSNumber_methods.clamp$2(t8._dy - t6, 0, t11)), paint);
        }
      }
    },
    shouldRepaint$1: function(oldDelegate) {
      return true;
    }
  };
  Y.SelectedFrameBracketPainter.prototype = {
    paint$2: function(canvas, size) {
      var t2, paint, _this = this,
        t1 = _this.selectedFrame;
      if (t1 == null)
        return;
      t2 = _this.constraints;
      canvas.clipRect$1(0, new P.Rect(0, 25, 0 + t2.maxWidth, 25 + (t2.maxHeight - 25)));
      t2 = H._detectRenderer();
      paint = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, C.Color_4281779956);
      paint.set$style(0, C.PaintingStyle_1);
      paint.set$strokeWidth(4);
      t1 = t1.eventFlows;
      _this._paintBrackets$3$event(canvas, paint, t1[0]);
      _this._paintBrackets$3$event(canvas, paint, t1[1]);
    },
    _paintBrackets$3$event: function(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() * 27 - 2 + 16;
      t6 = P.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 P.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 P.Rect(t5, t1, t4, t7), 3.141592653589793, -1.5707963267948966, false);
      t6.lineTo$2(0, startBracketX, bracketBottomY);
      canvas.drawPath$2(0, t6, paint);
      t6 = P.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 P.Rect(t5, bracketTopY, t8, t3), 4.71238898038469, 1.5707963267948966, false);
      t6.lineTo$2(0, t4, t2);
      t6.arcTo$4(0, new P.Rect(t5, t1, t8, t7), 0, 1.5707963267948966, false);
      t6.lineTo$2(0, endBracketX, bracketBottomY);
      canvas.drawPath$2(0, t6, paint);
    },
    shouldRepaint$1: function(oldDelegate) {
      return !this.$eq(0, oldDelegate);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof Y.SelectedFrameBracketPainter && _this.selectedFrame == other.selectedFrame && _this.zoom == other.zoom && J.$eq$(_this.constraints, other.constraints) && _this.verticalScrollOffset == other.verticalScrollOffset && _this.horizontalScrollOffset == other.horizontalScrollOffset && _this.colorScheme.$eq(0, other.colorScheme);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.selectedFrame, _this.zoom, _this.constraints, _this.verticalScrollOffset, _this.horizontalScrollOffset, _this.colorScheme, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  Y.NavigateInThreadInButton.prototype = {
    createState$0: function() {
      return new Y._NavigateInThreadInButtonState(K.Disposer$(), C._StateLifecycle_0);
    },
    shouldEnableButton$1: function(arg0) {
      return this.shouldEnableButton.call$1(arg0);
    }
  };
  Y._NavigateInThreadInButtonState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.addAutoDisposeListener$1(this._widget.horizontalController._offsetNotifier);
    },
    build$1: function(_, context) {
      var t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, _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;
      t7 = t2 ? 0 : 16;
      t8 = t1.group;
      t9 = t8.rows.length;
      t10 = t1.threadButtonContainerWidth;
      t11 = useSmallButton ? C.Alignment_0_1 : C.Alignment_0_0;
      t12 = t1.backgroundColor;
      t13 = t2 ? "Next event in thread" : "Previous event in thread";
      t2 = t2 ? C.IconData_57695_MaterialIcons_true : C.IconData_57694_MaterialIcons_true;
      return M.Container$(t11, new Y.ThreadNavigatorButton(useSmallButton, t12, t13, t2, t1.shouldEnableButton$1(t8) ? this._widget.onPressed : _null, _null), C.Clip_0, _null, _null, _null, _null, t9 * 27 + 16, _null, new V.EdgeInsets(0, t3, 0, t4), new V.EdgeInsets(t7, topPadding, t6, t5), _null, _null, t10);
    }
  };
  Y.ThreadNavigatorButton.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = new S.BoxDecoration(_null, _null, F.Border_Border$all(K.Theme_of(context).focusColor, 1), K.BorderRadius$circular(4), _null, _null, _null, C.BoxShape_0).copyWith$1$color(_this.backgroundColor),
        t2 = _this.useSmallButton ? 20 : 36;
      return M.Container$(_null, U.DevToolsTooltip$(B.IconButton$(_null, _null, true, L.Icon$(_this.icon, _null, 20), 24, _this.onPressed, C.EdgeInsets_0_0_0_0, _null, _null), _null, _this.tooltip), C.Clip_0, _null, _null, t1, _null, t2, _null, _null, _null, _null, _null, 36);
    }
  };
  Y.__NavigateInThreadInButtonState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  Y.__TimelineFlameChartContainerState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  Y.__TimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.SearchFieldMixin__searchFieldFocusNode = O.FocusNode$(true, null, true, null, false);
      this.SearchFieldMixin_searchTextFieldController = D.TextEditingController$(null);
    },
    dispose$0: function(_) {
      var t1;
      this.super$__TimelineFlameChartContainerState_State_AutoDisposeMixin$dispose(0);
      t1 = this.SearchFieldMixin__searchFieldFocusNode;
      if (t1 != null)
        t1.dispose$0(0);
    }
  };
  U.RecordedTimelineStream.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      return this.name === J.get$name$x(other);
    },
    get$hashCode: function(_) {
      return C.JSString_methods.get$hashCode(this.name);
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  A.PreferencesController.prototype = {
    init$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, value, t1, t2, $async$temp1;
      var $async$init$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = $.globals.$index(0, C.Type_Storage_uL6) != null ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return P._asyncAwait($.globals.$index(0, C.Type_Storage_uL6).getValue$1("ui.darkMode"), $async$init$0);
            case 5:
              // 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 = 6;
              return P._asyncAwait($.globals.$index(0, C.Type_Storage_uL6).getValue$1("ui.vmDeveloperMode"), $async$init$0);
            case 6:
              // 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 = 7;
              return P._asyncAwait($.globals.$index(0, C.Type_Storage_uL6).getValue$1("ui.denseMode"), $async$init$0);
            case 7:
              // returning from await.
              $async$temp1.set$value(0, $async$result === "true");
              t2.addListener$1(0, new A.PreferencesController_init_closure1($async$self));
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              B.log("PreferencesController: storage not initialized", C.LogLevel_0);
            case 3:
              // join
              $.globals.$indexSet(0, C.Type_PreferencesController_1KB, $async$self);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$init$0, $async$completer);
    },
    toggleDarkModeTheme$1: function(useDarkMode) {
      this._darkModeTheme.set$value(0, useDarkMode);
    },
    toggleVmDeveloperMode$1: function(enableVmDeveloperMode) {
      this._vmDeveloperMode.set$value(0, enableVmDeveloperMode);
    },
    toggleDenseMode$1: function(enableDenseMode) {
      this._denseMode.set$value(0, enableDenseMode);
    }
  };
  A.PreferencesController_init_closure.prototype = {
    call$0: function() {
      $.globals.$index(0, C.Type_Storage_uL6).setValue$2("ui.darkMode", H.S(this.$this._darkModeTheme._value));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  A.PreferencesController_init_closure0.prototype = {
    call$0: function() {
      $.globals.$index(0, C.Type_Storage_uL6).setValue$2("ui.vmDeveloperMode", H.S(this.$this._vmDeveloperMode._value));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  A.PreferencesController_init_closure1.prototype = {
    call$0: function() {
      $.globals.$index(0, C.Type_Storage_uL6).setValue$2("ui.denseMode", H.S(this.$this._denseMode._value));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  L.CpuBottomUpTable.prototype = {
    build$1: function(_, context) {
      var _this = this;
      return S.TreeTable$(false, _this.columns, _this.bottomUpRoots, null, new L.CpuBottomUpTable_build_closure(), null, _this.sortColumn, C.SortDirection_1, _this.treeColumn, type$.legacy_CpuStackFrame);
    }
  };
  L.CpuBottomUpTable_build_closure.prototype = {
    call$1: function(frame) {
      return new S.PageStorageKey(frame.id, type$.PageStorageKey_legacy_String);
    },
    $signature: 303
  };
  G.CpuCallTreeTable.prototype = {
    build$1: function(_, context) {
      var _this = this;
      return S.TreeTable$(false, _this.columns, _this.dataRoots, null, new G.CpuCallTreeTable_build_closure(), null, _this.sortColumn, C.SortDirection_1, _this.treeColumn, type$.legacy_CpuStackFrame);
    }
  };
  G.CpuCallTreeTable_build_closure.prototype = {
    call$1: function(frame) {
      return new S.PageStorageKey(frame.id, type$.PageStorageKey_legacy_String);
    },
    $signature: 303
  };
  T.SelfTimeColumn.prototype = {
    get$numeric: function() {
      return true;
    },
    compare$2: function(a, b) {
      var result = this.super$ColumnData$compare(a, b);
      if (result === 0)
        return J.compareTo$1$ns(a.name, b.name);
      return result;
    },
    getValue$1: function(dataObject) {
      return dataObject.get$selfTime()._duration;
    },
    getDisplayValue$1: function(dataObject) {
      return B.msText(dataObject.get$selfTime(), 2) + " (" + (C.JSNumber_methods.toStringAsFixed$1(dataObject.get$selfTimeRatio() * 100, 2) + "%") + ")";
    }
  };
  T.TotalTimeColumn.prototype = {
    get$numeric: function() {
      return true;
    },
    compare$2: function(a, b) {
      var result = this.super$ColumnData$compare(a, b);
      if (result === 0)
        return J.compareTo$1$ns(a.name, b.name);
      return result;
    },
    getValue$1: function(dataObject) {
      return dataObject.get$totalTime()._duration;
    },
    getDisplayValue$1: function(dataObject) {
      return B.msText(dataObject.get$totalTime(), 2) + " (" + (C.JSNumber_methods.toStringAsFixed$1(dataObject.get$totalTimeRatio() * 100, 2) + "%") + ")";
    }
  };
  T.MethodNameColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.name;
    },
    getDisplayValue$1: function(dataObject) {
      var t1 = dataObject.name;
      if (t1.length > 75)
        return J.substring$2$s(t1, 0, 75) + "...";
      return t1;
    }
  };
  T.SourceColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.url;
    },
    getDisplayValue$1: function(dataObject) {
      return F.getSimplePackageUrl(dataObject.url);
    }
  };
  T.CpuProfilerController.prototype = {
    enableCpuProfiler$0: function() {
      return Z.CpuProfilerExtension_enableCpuProfiler($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service);
    },
    pullAndProcessProfile$3$extentMicros$processId$startMicros: function(extentMicros, processId, startMicros) {
      return this.pullAndProcessProfile$body$CpuProfilerController(extentMicros, processId, startMicros);
    },
    pullAndProcessProfile$body$CpuProfilerController: function(extentMicros, processId, startMicros) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3;
      var $async$pullAndProcessProfile$3$extentMicros$processId$startMicros = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (!($.offlineMode ? true : $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profiler")._value.valueAsString === "true")) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._cpu_profile_controller$_processingNotifier.set$value(0, true);
              $.$get$CpuProfilerController_baseStateCpuProfileData();
              t1 = $async$self._dataNotifier;
              t1.set$value(0, null);
              $async$goto = 4;
              return P._asyncAwait(Z.CpuProfilerExtension_getCpuProfile($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service, extentMicros, startMicros), $async$pullAndProcessProfile$3$extentMicros$processId$startMicros);
            case 4:
              // returning from await.
              $async$goto = 3;
              return P._asyncAwait($async$self.processAndSetData$2$processId($async$result, processId), $async$pullAndProcessProfile$3$extentMicros$processId$startMicros);
            case 3:
              // returning from await.
              t2 = new B.TimeRange(true);
              t3 = P.Duration$(startMicros, 0);
              t2._utils$_start = t3;
              t3 = P.Duration$(startMicros + extentMicros, 0);
              t2._utils$_end = t3;
              $async$self.cpuProfileStore._profiles.$indexSet(0, t2, t1._value);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$pullAndProcessProfile$3$extentMicros$processId$startMicros, $async$completer);
    },
    processAndSetData$2$processId: function(cpuProfileData, processId) {
      return this.processAndSetData$body$CpuProfilerController(cpuProfileData, processId);
    },
    processAndSetData$body$CpuProfilerController: function(cpuProfileData, processId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, t2, exception, t3, t1, $async$exception;
      var $async$processAndSetData$2$processId = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._cpu_profile_controller$_processingNotifier;
              t1.set$value(0, true);
              t2 = $async$self._dataNotifier;
              t2.set$value(0, null);
              $async$handler = 3;
              $async$goto = 6;
              return P._asyncAwait($async$self.transformer.processData$2$processId(cpuProfileData, processId), $async$processAndSetData$2$processId);
            case 6:
              // returning from await.
              t2.set$value(0, cpuProfileData);
              $async$self._dataByTag.$indexSet(0, "none", cpuProfileData);
              $async$self.updateMatches$1($async$self.matchesForSearch$1($async$self.SearchControllerMixin__searchNotifier._value));
              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;
              t3 = H.unwrapException($async$exception);
              if (type$.legacy_AssertionError._is(t3)) {
                t2.set$value(0, cpuProfileData);
                t1.set$value(0, false);
                throw $async$exception;
              } else if (!(t3 instanceof V.ProcessCancelledException))
                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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$processAndSetData$2$processId, $async$completer);
    },
    matchesForSearch$1: function(search) {
      var regexSearch, matches, currentStackFrames, t2,
        t1 = search == null ? null : search.length === 0;
      if (t1 !== false)
        return H._setArrayType([], type$.JSArray_legacy_CpuStackFrame);
      regexSearch = P.RegExp_RegExp(search, false, false);
      matches = H._setArrayType([], type$.JSArray_legacy_CpuStackFrame);
      t1 = this._dataNotifier._value.stackFrames;
      currentStackFrames = t1.get$values(t1);
      for (t1 = currentStackFrames.get$iterator(currentStackFrames); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (B.StringExtension_caseInsensitiveContains(t2.name, regexSearch) || B.StringExtension_caseInsensitiveContains(t2.url, regexSearch)) {
          matches.push(t2);
          t2.DataSearchStateMixin_isSearchMatch = true;
        } else
          t2.DataSearchStateMixin_isSearchMatch = false;
      }
      return matches;
    },
    loadProcessedData$1: function(data) {
      this._dataNotifier.set$value(0, data);
      this._dataByTag.$indexSet(0, "none", data);
    },
    loadDataWithTag$1: function(tag) {
      return this.loadDataWithTag$body$CpuProfilerController(tag);
    },
    loadDataWithTag$body$CpuProfilerController: function(tag) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, e, t1, t2, exception, $async$exception, $async$temp1;
      var $async$loadDataWithTag$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $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 P._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 = H.unwrapException($async$exception);
              t1.set$value(0, $async$self._dataByTag.$index(0, "none"));
              t1 = P.Exception_Exception('Error loading data with tag "' + H.S(tag) + '": ' + H.S(J.toString$0$(e)));
              throw H.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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$loadDataWithTag$1, $async$completer);
    },
    processDataForTag$1: function(tag) {
      return this.processDataForTag$body$CpuProfilerController(tag);
    },
    processDataForTag$body$CpuProfilerController: function(tag) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_CpuProfileData),
        $async$returnValue, $async$self = this, t1, data;
      var $async$processDataForTag$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._dataByTag;
              data = t1.putIfAbsent$2(0, tag, new T.CpuProfilerController_processDataForTag_closure(t1.$index(0, "none"), tag));
              $async$goto = !data.processed ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return P._asyncAwait($async$self.transformer.processData$1(data), $async$processDataForTag$1);
            case 5:
              // returning from await.
            case 4:
              // join
              $async$returnValue = data;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$processDataForTag$1, $async$completer);
    },
    selectCpuStackFrame$1: function(stackFrame) {
      var t1 = this._dataNotifier._value;
      if (stackFrame === t1.selectedStackFrame)
        return;
      t1.selectedStackFrame = stackFrame;
      this._selectedCpuStackFrameNotifier.set$value(0, stackFrame);
    },
    clear$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2;
      var $async$clear$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.reset$0(0);
              $async$self.cpuProfileStore._profiles.clear$0(0);
              $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).toString;
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate;
              $async$goto = 2;
              return P._asyncAwait(t1.clearCpuSamples$1(t2.get$id(t2)), $async$clear$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$clear$0, $async$completer);
    },
    reset$0: function(_) {
      var t1, _this = this;
      _this._selectedCpuStackFrameNotifier.set$value(0, null);
      _this._dataNotifier.set$value(0, $.$get$CpuProfilerController_baseStateCpuProfileData());
      _this._dataByTag.clear$0(0);
      _this._cpu_profile_controller$_processingNotifier.set$value(0, false);
      _this.transformer.reset$0(0);
      t1 = _this.SearchControllerMixin__searchNotifier;
      t1.set$value(0, "");
      _this.updateMatches$1(_this.matchesForSearch$1(t1._value));
    }
  };
  T.CpuProfilerController_processDataForTag_closure.prototype = {
    call$0: function() {
      return this.fullData.dataForUserTag$1(this.tag);
    },
    $signature: 527
  };
  T.CpuProfilerControllerProviderMixin.prototype = {};
  T._CpuProfilerController_Object_SearchControllerMixin.prototype = {};
  R.CpuProfileFlameChart.prototype = {
    createState$0: function() {
      return new R._CpuProfileFlameChartState(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_double), H._setArrayType([], type$.JSArray_legacy_FlameChartRow_legacy_CpuStackFrame), H._setArrayType([], type$.JSArray_legacy_FlameChartSection), O.FocusNode$(true, null, true, null, false), null, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  R._CpuProfileFlameChartState.prototype = {
    initFlameChartElements$0: function() {
      var _this = this;
      _this.super$FlameChartState$initFlameChartElements();
      _this.expandRows$1(_this._widget.data._cpuProfileRoot.get$depth() + 2 + 1);
      new R._CpuProfileFlameChartState_initFlameChartElements_createChartNodes(_this).call$2(_this._widget.data._cpuProfileRoot, 2);
    },
    buildChartOverlays$2: function(constraints, buildContext) {
      var colorScheme, t2, t3, t4, t5, t6, t7, t8, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      colorScheme = K.Theme_of(t1).colorScheme;
      t1 = _this.currentZoom;
      t2 = _this.verticalScrollOffset;
      t3 = _this.horizontalScrollOffset;
      t4 = _this._widget;
      t5 = t4.startInset;
      t4 = t4.endInset;
      t6 = _this.get$widthWithZoom();
      t7 = _this._widget.time;
      t8 = t7._utils$_end;
      t7 = t7._utils$_start;
      return H._setArrayType([T.CustomPaint$(null, null, null, S.TimelineGridPainter$(t4, t5, colorScheme, constraints, new P.Duration(t8._duration - t7._duration), t6, t3, t2, t1), C.Size_0_0)], type$.JSArray_legacy_Widget);
    },
    isDataVerticallyInView$1: function(data) {
      var stackFrameTopY,
        t1 = this.verticalControllerGroup.get$_attachedControllers();
      t1 = t1.get$first(t1);
      t1.toString;
      t1 = J.get$position$x(t1)._pixels;
      t1.toString;
      stackFrameTopY = data.get$level(data) * 27;
      return stackFrameTopY > t1 && stackFrameTopY + 27 < t1 + this._widget.containerHeight;
    },
    isDataHorizontallyInView$1: function(data) {
      var startX,
        t1 = this.horizontalControllerGroup.get$_attachedControllers();
      t1 = t1.get$first(t1);
      t1.toString;
      t1 = J.get$position$x(t1)._pixels;
      t1.toString;
      startX = this.startXForData$1(data);
      return startX >= t1 && startX <= t1 + this._widget.containerWidth;
    },
    topYForData$1: function(data) {
      return data.get$level(data) * 27;
    },
    startXForData$1: function(data) {
      return (J.$index$asx(this.stackFrameLefts, data.id) - this._widget.startInset) * this.currentZoom;
    }
  };
  R._CpuProfileFlameChartState_initFlameChartElements_createChartNodes.prototype = {
    call$2: function(stackFrame, row) {
      var left, stackFrameIndex, t4, t5, previous, color, node, _i,
        t1 = this.$this,
        t2 = t1._widget.get$startingContentWidth(),
        t3 = stackFrame.get$totalTimeRatio(),
        $parent = stackFrame.parent;
      if ($parent == null)
        left = t1._widget.startInset;
      else {
        stackFrameIndex = stackFrame.index;
        t4 = t1.stackFrameLefts;
        t5 = J.getInterceptor$asx(t4);
        if (stackFrameIndex === 0)
          left = t5.$index(t4, $parent.id);
        else {
          previous = $parent.children[stackFrameIndex - 1];
          left = t5.$index(t4, previous.id) + t1._widget.get$startingContentWidth() * previous.get$totalTimeRatio();
        }
      }
      t4 = stackFrame.id;
      J.$indexSet$ax(t1.stackFrameLefts, t4, left);
      t5 = t1._colorOffset;
      color = $.uiColorPalette[C.JSInt_methods.$mod(t5, 2)];
      t1._colorOffset = t5 + 1;
      node = new S.FlameChartNode(new D.ValueKey(H.S(t4), type$.ValueKey_String), new P.Rect(left, 0, left + (t2 * t3 - 1), 25), stackFrame.name, color, C.Color_4278190080, stackFrame, new R._CpuProfileFlameChartState_initFlameChartElements_createChartNodes_closure(t1), null, type$.FlameChartNode_legacy_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, H.throwConcurrentModificationError)(t1), ++_i)
        this.call$2(t1[_i], t3);
    },
    $signature: 528
  };
  R._CpuProfileFlameChartState_initFlameChartElements_createChartNodes_closure.prototype = {
    call$1: function(frame) {
      return this.$this._widget.onDataSelected.call$1(frame);
    },
    $signature: 90
  };
  E.CpuProfileData.prototype = {
    get$callTreeRoots: function() {
      var t1, _this = this;
      if (!_this.processed)
        return H._setArrayType([], type$.JSArray_legacy_CpuStackFrame);
      t1 = _this._callTreeRoots;
      return t1 == null ? _this._callTreeRoots = H._setArrayType([_this._cpuProfileRoot.deepCopy$0()], type$.JSArray_legacy_CpuStackFrame) : t1;
    },
    get$bottomUpRoots: function() {
      var t1, bottomUpRoots, _this = this;
      if (!_this.processed)
        return H._setArrayType([], type$.JSArray_legacy_CpuStackFrame);
      t1 = _this._bottomUpRoots;
      if (t1 == null) {
        bottomUpRoots = V.BottomUpProfileTransformer_getRoots(_this._cpuProfileRoot, null, H._setArrayType([], type$.JSArray_legacy_CpuStackFrame));
        C.JSArray_methods.forEach$1(bottomUpRoots, V.cpu_profile_transformer_BottomUpProfileTransformer_cascadeSampleCounts$closure());
        V.mergeProfileRoots(bottomUpRoots);
        _this._bottomUpRoots = bottomUpRoots;
        t1 = bottomUpRoots;
      }
      return t1;
    },
    dataForUserTag$1: function(tag) {
      var stackTraceEventsForTag, stackFramesForTagJson, t2, t3, _i, t4, currentId, currentStackFrameJson, parentId, parentStackFrameJson, t5, _this = this,
        t1 = _this._cpuProfileRoot._userTagSampleCount;
      if (!t1.get$keys(t1).contains$1(0, tag))
        return E.CpuProfileData_CpuProfileData$parse(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic));
      t1 = J.where$1$ax(_this.stackTraceEvents, new E.CpuProfileData_dataForUserTag_closure(tag));
      stackTraceEventsForTag = P.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
      stackFramesForTagJson = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic);
      for (t1 = stackTraceEventsForTag.length, t2 = _this.stackFramesJson, t3 = J.getInterceptor$asx(t2), _i = 0; t4 = stackTraceEventsForTag.length, _i < t4; stackTraceEventsForTag.length === t1 || (0, H.throwConcurrentModificationError)(stackTraceEventsForTag), ++_i) {
        currentId = J.$index$asx(stackTraceEventsForTag[_i], "sf");
        currentStackFrameJson = t3.$index(t2, currentId);
        for (; currentStackFrameJson != null; currentStackFrameJson = parentStackFrameJson, currentId = parentId) {
          stackFramesForTagJson.$indexSet(0, currentId, currentStackFrameJson);
          parentId = J.$index$asx(currentStackFrameJson, "parent");
          parentStackFrameJson = parentId != null ? t3.$index(t2, parentId) : null;
        }
      }
      t1 = _this.profileMetaData;
      t2 = t1.time;
      t3 = t2._utils$_end;
      t2 = t2._utils$_start;
      t3 = t3._duration;
      t2 = t2._duration;
      t5 = new B.TimeRange(true);
      t5._utils$_start = C.Duration_0;
      t2 = P.Duration$(C.JSNumber_methods.round$0(t4 * ((t3 - t2) / t1.sampleCount)), 0);
      t5._utils$_end = t2;
      return E.CpuProfileData$_(new E.CpuProfileMetaData(t4, t1.samplePeriod, t1.stackDepth, t5), stackFramesForTagJson, stackTraceEventsForTag);
    },
    get$json: function(_) {
      var t1 = this.profileMetaData,
        t2 = t1.time,
        t3 = t2._utils$_start._duration;
      return P.LinkedHashMap_LinkedHashMap$_literal(["type", "_CpuProfileTimeline", "samplePeriod", t1.samplePeriod, "sampleCount", t1.sampleCount, "stackDepth", t1.stackDepth, "timeOriginMicros", t3, "timeExtentMicros", t2._utils$_end._duration - t3, "stackFrames", this.stackFramesJson, "traceEvents", this.stackTraceEvents], type$.legacy_String, type$.dynamic);
    }
  };
  E.CpuProfileData_CpuProfileData$subProfile_closure.prototype = {
    call$1: function(trace) {
      var t1 = this.subTimeRange,
        t2 = P.Duration$(J.$index$asx(trace, "ts"), 0)._duration;
      return t2 >= t1._utils$_start._duration && t2 <= t1._utils$_end._duration;
    },
    $signature: 302
  };
  E.CpuProfileData_dataForUserTag_closure.prototype = {
    call$1: function(traceEvent) {
      var t1 = J.$index$asx(traceEvent, "args");
      if (t1 == null) {
        t1 = type$.dynamic;
        t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      }
      return J.$eq$(J.$index$asx(t1, "userTag"), this.tag);
    },
    $signature: 302
  };
  E.CpuProfileMetaData.prototype = {};
  E.CpuStackFrame.prototype = {
    incrementTagSampleCount$2$increment: function(userTag, increment) {
      var t1 = this._userTagSampleCount;
      t1.$indexSet(0, userTag, t1.putIfAbsent$2(0, userTag, new E.CpuStackFrame_incrementTagSampleCount_closure()) + increment);
      t1 = this.parent;
      if (t1 != null)
        t1.incrementTagSampleCount$1(userTag);
    },
    incrementTagSampleCount$1: function(userTag) {
      return this.incrementTagSampleCount$2$increment(userTag, 1);
    },
    get$totalTimeRatio: function() {
      var _this = this,
        t1 = _this._totalTimeRatio;
      if (t1 == null) {
        t1 = _this._inclusiveSampleCount;
        if (t1 == null)
          t1 = _this._calculateInclusiveSampleCount$0();
        t1 = _this._totalTimeRatio = B.safeDivide(t1, _this.profileMetaData.sampleCount);
      }
      return t1;
    },
    get$totalTime: function() {
      var t2, t3, _this = this,
        t1 = _this._totalTime;
      if (t1 == null) {
        t1 = _this.get$totalTimeRatio();
        t2 = _this.profileMetaData.time;
        t3 = t2._utils$_end;
        t2 = t2._utils$_start;
        t2 = _this._totalTime = P.Duration$(C.JSNumber_methods.round$0(t1 * (t3._duration - t2._duration)), 0);
        t1 = t2;
      }
      return t1;
    },
    get$selfTimeRatio: function() {
      var _this = this,
        t1 = _this._selfTimeRatio;
      return t1 == null ? _this._selfTimeRatio = B.safeDivide(_this.exclusiveSampleCount, _this.profileMetaData.sampleCount) : t1;
    },
    get$selfTime: function() {
      var t2, t3, _this = this,
        t1 = _this._selfTime;
      if (t1 == null) {
        t1 = _this.get$selfTimeRatio();
        t2 = _this.profileMetaData.time;
        t3 = t2._utils$_end;
        t2 = t2._utils$_start;
        t2 = _this._selfTime = P.Duration$(C.JSNumber_methods.round$0(t1 * (t3._duration - t2._duration)), 0);
        t1 = t2;
      }
      return t1;
    },
    get$tooltip: function() {
      var t1 = H._setArrayType([this.name, B.msText(this.get$totalTime(), 1)], type$.JSArray_legacy_String);
      t1.push(this.url);
      return C.JSArray_methods.join$1(t1, " - ");
    },
    _calculateInclusiveSampleCount$0: function() {
      var t1, t2, _i, child, t3,
        count = this.exclusiveSampleCount;
      for (t1 = this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        t3 = child._inclusiveSampleCount;
        count += t3 == null ? child._calculateInclusiveSampleCount$0() : t3;
      }
      return this._inclusiveSampleCount = count;
    },
    shallowCopy$1$resetInclusiveSampleCount: function(resetInclusiveSampleCount) {
      var t1, t2, _this = this,
        copy = E.CpuStackFrame$(_this.category, _this.id, _this.name, _this.profileMetaData, _this.url);
      copy.exclusiveSampleCount = _this.exclusiveSampleCount;
      if (resetInclusiveSampleCount)
        t1 = null;
      else {
        t1 = _this._inclusiveSampleCount;
        if (t1 == null)
          t1 = _this._calculateInclusiveSampleCount$0();
      }
      copy._inclusiveSampleCount = t1;
      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$0: function() {
      return this.shallowCopy$1$resetInclusiveSampleCount(false);
    },
    deepCopy$0: function() {
      var t1, t2, t3, _i, t4,
        copy = this.shallowCopy$0();
      for (t1 = this.children, t2 = t1.length, t3 = copy.children, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        t4 = t1[_i].deepCopy$0();
        t3.push(t4);
        t4.parent = copy;
        t4.index = t3.length - 1;
      }
      return copy;
    },
    toString$0: function(_) {
      var t2, _this = this,
        t1 = H.S(_this.name) + " ";
      _this.get$totalTime();
      t1 += "- " + B.msText(_this.get$totalTime(), 2) + " ";
      t2 = _this._inclusiveSampleCount;
      t1 += "(" + H.S(t2 == null ? _this._calculateInclusiveSampleCount$0() : t2) + " ";
      t2 = _this._inclusiveSampleCount;
      t1 = t1 + ((t2 == null ? _this._calculateInclusiveSampleCount$0() : t2) === 1 ? "sample" : "samples") + (", " + (C.JSNumber_methods.toStringAsFixed$1(_this.get$totalTimeRatio() * 100, 2) + "%") + ")");
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  E.CpuStackFrame_incrementTagSampleCount_closure.prototype = {
    call$0: function() {
      return 0;
    },
    $signature: 103
  };
  E.CpuProfileStore.prototype = {
    _maybeGenerateSubProfile$1: function(time) {
      var encompassingTimeRange,
        t1 = this._profiles;
      if (t1.containsKey$1(0, time))
        return;
      encompassingTimeRange = this._encompassingTimeRange$1(time);
      if (encompassingTimeRange != null)
        t1.$indexSet(0, time, E.CpuProfileData_CpuProfileData$subProfile(t1.$index(0, encompassingTimeRange), time));
    },
    _encompassingTimeRange$1: function(time) {
      var t1, encompassingTimeRange, encompassingTimeRange0, t2, t3,
        shortestDurationMicros = $.$get$maxJsInt();
      for (t1 = this._profiles, t1 = t1.get$keys(t1), t1 = t1.get$iterator(t1), encompassingTimeRange = null; t1.moveNext$0();) {
        encompassingTimeRange0 = t1.get$current(t1);
        t2 = time._utils$_start;
        t3 = encompassingTimeRange0._utils$_start;
        t2 = t2._duration;
        t3 = t3._duration;
        if (t2 >= t3 && t2 <= encompassingTimeRange0._utils$_end._duration) {
          t2 = time._utils$_end._duration;
          t2 = t2 >= t3 && t2 <= encompassingTimeRange0._utils$_end._duration;
        } else
          t2 = false;
        if (t2 && encompassingTimeRange0._utils$_end._duration - t3 < shortestDurationMicros) {
          shortestDurationMicros = encompassingTimeRange0._utils$_end._duration - t3;
          encompassingTimeRange = encompassingTimeRange0;
        }
      }
      return encompassingTimeRange;
    }
  };
  E._CpuStackFrame_TreeNode_DataSearchStateMixin.prototype = {
    set$isActiveSearchMatch: function(val) {
      return this.DataSearchStateMixin_isActiveSearchMatch = val;
    }
  };
  E._CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin.prototype = {};
  E._CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin.prototype = {};
  V.CpuProfileTransformer.prototype = {
    processData$2$processId: function(cpuProfileData, processId) {
      return this.processData$body$CpuProfileTransformer(cpuProfileData, processId);
    },
    processData$1: function(cpuProfileData) {
      return this.processData$2$processId(cpuProfileData, null);
    },
    processData$body$CpuProfileTransformer: function(cpuProfileData, processId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, i, t6, k, v, t7, t8, quarterBatchSize, batchSize;
      var $async$processData$2$processId = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (cpuProfileData.processed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.reset$0(0);
              $async$self._activeProcessId = processId;
              t1 = cpuProfileData.stackFramesJson;
              t2 = t1 == null;
              t3 = t2 ? null : J.get$length$asx(t1);
              $async$self._stackFramesCount = t3 == null ? 0 : t3;
              t3 = t2 ? null : J.get$keys$x(t1);
              t3 = t3 == null ? null : J.toList$0$ax(t3);
              $async$self._stackFrameKeys = t3 == null ? [] : t3;
              t1 = t2 ? null : J.get$values$x(t1);
              t1 = t1 == null ? null : J.toList$0$ax(t1);
              $async$self._stackFrameValues = t1 == null ? [] : t1;
              for (t1 = cpuProfileData.profileMetaData, t2 = type$.legacy_String, t3 = type$.legacy_int, t4 = type$.JSArray_legacy_CpuStackFrame, t5 = cpuProfileData.stackFrames, i = 0; t6 = $async$self._stackFramesCount, i < t6; ++i) {
                if (processId != $async$self._activeProcessId)
                  throw H.wrapException(new V.ProcessCancelledException());
                k = $async$self._stackFrameKeys[i];
                v = $async$self._stackFrameValues[i];
                t6 = J.getInterceptor$asx(v);
                t7 = B.getSimpleStackFrameName(t6.$index(v, "name"));
                t8 = t6.$index(v, "category");
                t6 = t6.$index(v, "resolvedUrl");
                if (t6 == null)
                  t6 = "";
                t5.$indexSet(0, k, new E.CpuStackFrame(k, t7, t8, t6, t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), false, false, H._setArrayType([], t4)));
              }
              quarterBatchSize = C.JSNumber_methods.round$0(t6 / 4);
              t1 = quarterBatchSize === 0 ? 1 : quarterBatchSize;
              batchSize = Math.min(100, t1);
              t1 = $async$self._progressNotifier;
            case 3:
              // for condition
              if (!($async$self._stackFramesProcessed < $async$self._stackFramesCount)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$self._cpu_profile_transformer$_processBatch$3(batchSize, cpuProfileData, processId);
              t1.set$value(0, $async$self._stackFramesProcessed / $async$self._stackFramesCount);
              $async$goto = 5;
              return P._asyncAwait(B.delayForBatchProcessing(5000), $async$processData$2$processId);
            case 5:
              // returning from await.
              if (processId != $async$self._activeProcessId)
                throw H.wrapException(new V.ProcessCancelledException());
              // goto for condition
              $async$goto = 3;
              break;
            case 4:
              // after for
              $async$self._setExclusiveSampleCountsAndTags$1(cpuProfileData);
              cpuProfileData.processed = true;
              $async$self.reset$0(0);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$processData$2$processId, $async$completer);
    },
    _cpu_profile_transformer$_processBatch$3: function(batchSize, cpuProfileData, processId) {
      var t1, key, value, stackFrame, $parent, t2, t3, _this = this,
        i = _this._stackFramesProcessed,
        batchEnd = Math.min(i + batchSize, H.checkNum(_this._stackFramesCount));
      for (t1 = cpuProfileData.stackFrames; i < batchEnd; ++i) {
        if (processId != _this._activeProcessId)
          throw H.wrapException(new V.ProcessCancelledException());
        key = _this._stackFrameKeys[i];
        value = _this._stackFrameValues[i];
        stackFrame = t1.$index(0, key);
        $parent = t1.$index(0, J.$index$asx(value, "parent"));
        if ($parent == null) {
          t2 = cpuProfileData._cpuProfileRoot;
          t3 = t2.children;
          t3.push(stackFrame);
          stackFrame.parent = t2;
          stackFrame.index = t3.length - 1;
        } else {
          t2 = $parent.children;
          t2.push(stackFrame);
          stackFrame.parent = $parent;
          stackFrame.index = t2.length - 1;
        }
        ++_this._stackFramesProcessed;
      }
    },
    _setExclusiveSampleCountsAndTags$1: function(cpuProfileData) {
      var t1, t2, t3, t4, t5, stackFrame, userTag;
      for (t1 = J.get$iterator$ax(cpuProfileData.stackTraceEvents), t2 = cpuProfileData.stackFrames, t3 = type$.dynamic; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        t5 = J.getInterceptor$asx(t4);
        stackFrame = t2.$index(0, t5.$index(t4, "sf"));
        if (stackFrame != null)
          ++stackFrame.exclusiveSampleCount;
        t4 = t5.$index(t4, "args");
        userTag = J.$index$asx(t4 == null ? P.LinkedHashMap_LinkedHashMap$_empty(t3, t3) : t4, "userTag");
        if (userTag != null)
          stackFrame.incrementTagSampleCount$1(userTag);
      }
    },
    reset$0: function(_) {
      var _this = this;
      _this._activeProcessId = null;
      _this._stackFramesProcessed = 0;
      _this._stackFrameValues = _this._stackFrameKeys = null;
      _this._progressNotifier.set$value(0, 0);
    }
  };
  V.mergeProfileRoots_closure.prototype = {
    call$1: function(other) {
      var t1 = this.root;
      return other.name == t1.name && other.url === t1.url && other.category == t1.category && other != t1;
    },
    $signature: 531
  };
  V.ProcessCancelledException.prototype = {$isException: 1};
  V.CpuProfiler.prototype = {
    createState$0: function() {
      var _null = null;
      return new V._CpuProfilerState(_null, _null, _null, _null, 769, 772, 13, 27, 9, 458792, 458795, K.Disposer$(), _null, C._StateLifecycle_0);
    },
    get$data: function(receiver) {
      return this.data;
    }
  };
  V._CpuProfilerState.prototype = {
    initState$0: function() {
      this.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin$initState();
      this._initTabController$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      if (this._widget.tabs.length !== oldWidget.tabs.length)
        this._initTabController$0();
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._cpu_profiler$_tabController;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_onTabChanged());
      _this._cpu_profiler$_tabController.dispose$0(0);
      _this.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin$dispose(0);
    },
    _initTabController$0: function() {
      var t2, t3, _this = this,
        t1 = _this._cpu_profiler$_tabController;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_onTabChanged());
      t1 = _this._cpu_profiler$_tabController;
      if (t1 != null)
        t1.dispose$0(0);
      t1 = _this._cpu_profiler$_tabController = U.TabController$(0, _this._widget.tabs.length, _this);
      t2 = _this._widget.controller;
      t3 = t2.selectedProfilerTabIndex;
      t1._changeIndex$1(t3 >= t1.length ? t2.selectedProfilerTabIndex = 0 : t3);
      t1.addListener$1(0, _this.get$_onTabChanged());
    },
    _onTabChanged$0: function() {
      this.setState$1(new V._CpuProfilerState__onTabChanged_closure(this));
    },
    build$1: function(_, context) {
      var hasData, t3, t4, t5, t6, t7, t8, _this = this, _null = null,
        textTheme = K.Theme_of(context).textTheme,
        t1 = _this._widget,
        t2 = t1.tabs,
        currentTab = t2.length !== 0 ? t2[_this._cpu_profiler$_tabController._tab_controller$_index] : _null;
      t1 = t1.data;
      if (t1 !== $.$get$CpuProfilerController_baseStateCpuProfileData())
        hasData = t1.profileMetaData.sampleCount !== 0;
      else
        hasData = false;
      t1 = textTheme.bodyText1.color;
      t3 = type$.JSArray_legacy_Widget;
      t2 = H._setArrayType([E.TabBar$(_this._cpu_profiler$_tabController, true, t1, t2), C.Spacer_null], t3);
      if (hasData) {
        t1 = H._setArrayType([], t3);
        t4 = currentTab.key;
        t5 = J.getInterceptor$(t4);
        if (!t5.$eq(t4, C.ValueKey_OO7))
          t1.push(new V.UserTagDropdown(_this._widget.controller, _null));
        t1.push(C.SizedBox_16_null_null_null);
        if (t5.$eq(t4, C.ValueKey_ojS)) {
          t6 = H._setArrayType([], t3);
          t7 = _this._widget;
          t8 = t7.searchFieldKey;
          if (t8 != null)
            t6.push(M.Container$(_null, _this.buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(t7.controller, true, t8, false, true), C.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, 400));
          t6.push(new S.FlameChartHelpButton(_null));
          t1.push(T.Row$(t6, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null));
        }
        if (!t5.$eq(t4, C.ValueKey_ojS) && !t5.$eq(t4, C.ValueKey_OO7)) {
          t4 = H._setArrayType([new U.ExpandAllButton(new V._CpuProfilerState_build_closure(_this, currentTab), _null), C.SizedBox_8_null_null_null, new U.CollapseAllButton(new V._CpuProfilerState_build_closure0(_this, currentTab), _null)], t3);
          _this._widget.toString;
          t1.push(T.Row$(t4, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null));
        }
        C.JSArray_methods.addAll$1(t2, t1);
      }
      return T.Column$(H._setArrayType([T.SizedBox$(T.Row$(t2, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), 32, _null), T.Expanded$(_this._buildCpuProfileDataView$0(), 1)], t3), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _buildCpuProfileDataView$0: function() {
      this._widget.toString;
      var t1 = this._cpu_profiler$_tabController;
      t1 = E.TabBarView$(this._buildProfilerViews$0(), t1, C.NeverScrollableScrollPhysics_null);
      return t1;
    },
    _buildProfilerViews$0: function() {
      var t4, t5, _this = this,
        t1 = _this._widget.bottomUpRoots,
        treeColumn = T.MethodNameColumn$(),
        startingSortColumn = T.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$.legacy_ColumnData_legacy_CpuStackFrame,
        columns = P.List_List$unmodifiable([T.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, T.SourceColumn$()], t2),
        t3 = _this._widget.callTreeRoots,
        treeColumn0 = T.MethodNameColumn$(),
        startingSortColumn0 = T.TotalTimeColumn$("Time that a method spent executing its own code\nas well as the code for any methods it called."),
        columns0 = P.List_List$unmodifiable([startingSortColumn0, T.SelfTimeColumn$("Time that a method spent executing only its own code."), treeColumn0, T.SourceColumn$()], t2);
      t2 = type$.JSArray_legacy_Widget;
      t4 = H._setArrayType([], t2);
      t5 = _this._widget.summaryView;
      if (t5 != null)
        t4.push(t5);
      if (_this._widget.data.profileMetaData.sampleCount !== 0)
        C.JSArray_methods.addAll$1(t4, H._setArrayType([new L.CpuBottomUpTable(treeColumn, startingSortColumn, columns, t1, null), new G.CpuCallTreeTable(treeColumn0, startingSortColumn0, columns0, t3, null), new A.LayoutBuilder(new V._CpuProfilerState__buildProfilerViews_closure(_this), null)], t2));
      return t4;
    },
    _performOnDataRoots$2: function(callback, currentTab) {
      var t1 = J.$eq$(currentTab.key, C.ValueKey_yHZ),
        t2 = this._widget;
      this.setState$1(new V._CpuProfilerState__performOnDataRoots_closure(t1 ? t2.callTreeRoots : t2.bottomUpRoots, callback));
    }
  };
  V._CpuProfilerState__onTabChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._widget.controller.selectedProfilerTabIndex = t1._cpu_profiler$_tabController._tab_controller$_index;
    },
    $signature: 1
  };
  V._CpuProfilerState_build_closure.prototype = {
    call$0: function() {
      this.$this._performOnDataRoots$2(new V._CpuProfilerState_build__closure0(), this.currentTab);
    },
    $signature: 1
  };
  V._CpuProfilerState_build__closure0.prototype = {
    call$1: function(root) {
      return root.expandCascading$0();
    },
    $signature: 90
  };
  V._CpuProfilerState_build_closure0.prototype = {
    call$0: function() {
      this.$this._performOnDataRoots$2(new V._CpuProfilerState_build__closure(), this.currentTab);
    },
    $signature: 1
  };
  V._CpuProfilerState_build__closure.prototype = {
    call$1: function(root) {
      return root.collapseCascading$0();
    },
    $signature: 90
  };
  V._CpuProfilerState__buildProfilerViews_closure.prototype = {
    call$2: function(context, constraints) {
      var t1 = this.$this,
        t2 = t1._widget,
        t3 = t2.data;
      t2 = t2.controller;
      return new R.CpuProfileFlameChart(t2, t3, t3.profileMetaData.time, constraints.maxWidth, constraints.maxHeight, 60, 60, t2._selectedCpuStackFrameNotifier, t2.SearchControllerMixin__searchMatches, t2.SearchControllerMixin__activeSearchMatch, new V._CpuProfilerState__buildProfilerViews__closure(t1), null);
    },
    $signature: 532
  };
  V._CpuProfilerState__buildProfilerViews__closure.prototype = {
    call$1: function(sf) {
      return this.$this._widget.controller.selectCpuStackFrame$1(sf);
    },
    $signature: 90
  };
  V._CpuProfilerState__performOnDataRoots_closure.prototype = {
    call$0: function() {
      C.JSArray_methods.forEach$1(this.roots, this.callback);
    },
    $signature: 1
  };
  V.CpuProfilerDisabled.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return T.Center$(T.Column$(H._setArrayType([C.Text_C9d, new T.Padding(C.EdgeInsets_8_8_8_8, D.ElevatedButton$(C.Text_U4B, this.controller.get$enableCpuProfiler(), _null), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_1, C.VerticalDirection_1), _null, _null, _null);
    }
  };
  V.UserTagDropdown.prototype = {
    build$1: function(_, context) {
      return N.ValueListenableBuilder$(new V.UserTagDropdown_build_closure(this), this.controller._dataNotifier, type$.legacy_CpuProfileData);
    },
    _onUserTagChanged$2: function(newTag, context) {
      return this._onUserTagChanged$body$UserTagDropdown(newTag, context);
    },
    _onUserTagChanged$body$UserTagDropdown: function(newTag, context) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, e, exception, $async$exception;
      var $async$_onUserTagChanged$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 3;
              $async$goto = 6;
              return P._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 = H.unwrapException($async$exception);
              Y.Notifications_of(context).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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_onUserTagChanged$2, $async$completer);
    }
  };
  V.UserTagDropdown_build_closure.prototype = {
    call$3: function(context, cpuProfileData, _) {
      var t1 = this.$this;
      return N.ValueListenableBuilder$(new V.UserTagDropdown_build__closure(t1), t1.controller._userTagFilter, type$.legacy_String);
    },
    $signature: 533
  };
  V.UserTagDropdown_build__closure.prototype = {
    call$3: function(context, userTag, _) {
      var userTags, tooltip, t3, t4, t5, t6, t7, _null = null,
        t1 = this.$this,
        t2 = t1.controller._dataByTag.$index(0, "none");
      if (t2 == null)
        userTags = _null;
      else {
        t2 = t2._cpuProfileRoot._userTagSampleCount;
        t2 = t2.get$keys(t2);
        userTags = t2;
      }
      if (userTags == null)
        userTags = H._setArrayType([], type$.JSArray_legacy_String);
      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 = K.Theme_of(context).textTheme;
      t4 = H._setArrayType([K.DropdownMenuItem$(L.Text$("Filter by tag: none", _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, "none", type$.legacy_String)], type$.JSArray_legacy_DropdownMenuItem_legacy_String);
      if (!(t2.get$length(userTags) === 1 && J.$eq$(t2.get$first(userTags), $.$get$_FakeUserTag__defaultTag().label)))
        for (t5 = t2.get$iterator(userTags), t6 = type$.DropdownMenuItem_legacy_String; t5.moveNext$0();) {
          t7 = t5.get$current(t5);
          t4.push(new K.DropdownMenuItem(t7, new L.Text("Filter by tag: " + H.S(t7), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), C.AlignmentDirectional_m1_0, _null, t6));
        }
      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 V.UserTagDropdown_build___closure(t1, context);
      return U.DevToolsTooltip$(new U.RoundedDropDownButton(userTag, t1, true, t3.bodyText2, _null, t4, _null, type$.RoundedDropDownButton_legacy_String), _null, tooltip);
    },
    $signature: 534
  };
  V.UserTagDropdown_build___closure.prototype = {
    call$1: function(tag) {
      return this.$this._onUserTagChanged$2(tag, this.context);
    },
    $signature: 32
  };
  V.__CpuProfilerState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  V.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$__CpuProfilerState_State_TickerProviderStateMixin$dispose(0);
    }
  };
  V.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.SearchFieldMixin__searchFieldFocusNode = O.FocusNode$(true, null, true, null, false);
      this.SearchFieldMixin_searchTextFieldController = D.TextEditingController$(null);
    },
    dispose$0: function(_) {
      var t1;
      this.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin$dispose(0);
      t1 = this.SearchFieldMixin__searchFieldFocusNode;
      if (t1 != null)
        t1.dispose$0(0);
    }
  };
  D.ProfileGranularity.prototype = {
    toString$0: function(_) {
      return this._profile_granularity$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  X.ProfilerScreen.prototype = {
    get$docPageId: function() {
      return "cpu-profiler";
    },
    build$1: function(_, context) {
      return C.ProfilerScreenBody_null;
    }
  };
  X.ProfilerScreenBody.prototype = {
    createState$0: function() {
      return new X._ProfilerScreenBodyState(false, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  X._ProfilerScreenBodyState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      F.screen("cpu-profiler");
    },
    didChangeDependencies$0: function() {
      var t1, newController, offlineProfilerData, _this = this,
        _s12_ = "cpu-profiler";
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      O.maybePushDebugModePerformanceMessage(t1, _s12_);
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_ProfilerScreenController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(_this.controller._profiler_screen_controller$_recordingNotifier, new X._ProfilerScreenBodyState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.controller.CpuProfilerControllerProviderMixin_cpuProfilerController._cpu_profile_controller$_processingNotifier, new X._ProfilerScreenBodyState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$2(_this.controller.CpuProfilerControllerProviderMixin_cpuProfilerController.transformer._progressNotifier, new X._ProfilerScreenBodyState_didChangeDependencies_closure1(_this));
      if ($.offlineMode && J.get$isNotEmpty$asx($.offlineDataJson) && J.$index$asx($.offlineDataJson, _s12_) != null) {
        offlineProfilerData = E.CpuProfileData_CpuProfileData$parse(P.LinkedHashMap_LinkedHashMap$from(J.$index$asx($.offlineDataJson, _s12_), type$.legacy_String, type$.dynamic));
        if (offlineProfilerData.profileMetaData.sampleCount !== 0)
          _this.loadOfflineData$1(offlineProfilerData);
      }
    },
    build$1: function(_, context) {
      var _this = this;
      if ($.offlineMode)
        return _this._buildProfilerScreenBody$1(_this.controller);
      _this.controller.toString;
      return N.ValueListenableBuilder$(new X._ProfilerScreenBodyState_build_closure(_this), $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profiler"), type$.legacy_Flag);
    },
    _buildProfilerScreenBody$1: function(controller) {
      var _this = this, _null = null,
        t1 = type$.JSArray_legacy_Widget,
        t2 = H._setArrayType([], t1);
      if (!$.offlineMode)
        t2.push(new X.ProfilerScreenControls(controller, _this.recording, _null));
      t2.push(C.SizedBox_null_6_null_null);
      t2.push(T.Expanded$(N.ValueListenableBuilder$(new X._ProfilerScreenBodyState__buildProfilerScreenBody_closure(_this, controller), controller.CpuProfilerControllerProviderMixin_cpuProfilerController._dataNotifier, type$.legacy_CpuProfileData), 1));
      t1 = H._setArrayType([T.Column$(t2, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1)], t1);
      if (_this.OfflineScreenMixin__loadingOfflineData) {
        t2 = _this._framework$_element;
        t2.toString;
        t1.push(M.Container$(_null, C.CenteredCircularProgressIndicator_null, C.Clip_0, K.Theme_of(t2).scaffoldBackgroundColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      }
      return T.Stack$(C.AlignmentDirectional_m1_m1, t1, C.Clip_1, C.StackFit_0, _null, _null);
    },
    processOfflineData$1: function(offlineData) {
      return this.processOfflineData$body$_ProfilerScreenBodyState(offlineData);
    },
    processOfflineData$body$_ProfilerScreenBodyState: function(offlineData) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$processOfflineData$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.controller.CpuProfilerControllerProviderMixin_cpuProfilerController.transformer.processData$1(offlineData), $async$processOfflineData$1);
            case 2:
              // returning from await.
              $async$self.controller.CpuProfilerControllerProviderMixin_cpuProfilerController.loadProcessedData$1(offlineData);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$processOfflineData$1, $async$completer);
    }
  };
  X._ProfilerScreenBodyState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new X._ProfilerScreenBodyState_didChangeDependencies__closure1(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  X._ProfilerScreenBodyState_didChangeDependencies__closure1.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.recording = t1.controller._profiler_screen_controller$_recordingNotifier._value;
    },
    $signature: 1
  };
  X._ProfilerScreenBodyState_didChangeDependencies_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new X._ProfilerScreenBodyState_didChangeDependencies__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  X._ProfilerScreenBodyState_didChangeDependencies__closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.processing = t1.controller.CpuProfilerControllerProviderMixin_cpuProfilerController._cpu_profile_controller$_processingNotifier._value;
    },
    $signature: 1
  };
  X._ProfilerScreenBodyState_didChangeDependencies_closure1.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new X._ProfilerScreenBodyState_didChangeDependencies__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  X._ProfilerScreenBodyState_didChangeDependencies__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.processingProgress = t1.controller.CpuProfilerControllerProviderMixin_cpuProfilerController.transformer._progressNotifier._value;
    },
    $signature: 1
  };
  X._ProfilerScreenBodyState_build_closure.prototype = {
    call$3: function(context, profilerFlag, _) {
      var t1 = profilerFlag.valueAsString,
        t2 = this.$this,
        t3 = t2.controller;
      return t1 === "true" ? t2._buildProfilerScreenBody$1(t3) : new V.CpuProfilerDisabled(t3.CpuProfilerControllerProviderMixin_cpuProfilerController, null);
    },
    $signature: 161
  };
  X._ProfilerScreenBodyState__buildProfilerScreenBody_closure.prototype = {
    call$3: function(context, cpuProfileData, _) {
      var t1;
      if (cpuProfileData == $.$get$CpuProfilerController_baseStateCpuProfileData() || cpuProfileData == null) {
        t1 = this.$this;
        return new U.RecordingInfo(C.ValueKey_22h, C.ValueKey_IWk, t1.recording, "CPU samples", t1.processing, t1.processingProgress, null);
      }
      return V.CpuProfiler$(this.controller.CpuProfilerControllerProviderMixin_cpuProfilerController, cpuProfileData, $.$get$profilerScreenSearchFieldKey(), null);
    },
    $signature: 160
  };
  X.ProfilerScreenControls.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = this.controller,
        t2 = this.recording;
      return T.Row$(H._setArrayType([new X._PrimaryControls(t1, t2, _null), new X._SecondaryControls(t1, t2, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null);
    }
  };
  X._PrimaryControls.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = this.recording,
        t2 = this.controller,
        t3 = t2.get$startRecording(),
        t4 = t2.get$stopRecording();
      return T.Row$(H._setArrayType([new U.RecordButton(t1, 600, t3, _null), C.SizedBox_8_null_null_null, new U.StopRecordingButton(t1, 600, t4, _null), C.SizedBox_16_null_null_null, U.ClearButton$(600, _null, t1 ? _null : t2.get$clear(t2))], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    }
  };
  X._SecondaryControls.prototype = {
    build$1: function(_, context) {
      var t4, _this = this, _null = null,
        t1 = !_this.recording,
        t2 = U.RefreshButton$(_null, "Load all CPU samples", t1 ? _this.controller.get$loadAllSamples() : _null),
        t3 = _this.controller;
      t3.toString;
      t4 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profile_period");
      if (t1) {
        t1 = t3.CpuProfilerControllerProviderMixin_cpuProfilerController._dataNotifier._value;
        t1 = t1 != null && t1.profileMetaData.sampleCount !== 0;
      } else
        t1 = false;
      t1 = t1 ? new X._SecondaryControls_build_closure(_this, context) : _null;
      return T.Row$(H._setArrayType([t2, C.SizedBox_16_null_null_null, new G.ProfileGranularityDropdown("cpu-profiler", t4, _null), C.SizedBox_16_null_null_null, new U.ExportButton(1100, t1, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_1, C.MainAxisSize_1, _null);
    }
  };
  X._SecondaryControls_build_closure.prototype = {
    call$0: function() {
      var exportedFile,
        t1 = this.$this.controller,
        t2 = t1._exportController;
      t1 = t1.CpuProfilerControllerProviderMixin_cpuProfilerController._dataNotifier._value;
      exportedFile = t2.downloadFile$1(t2.encode$2("cpu-profiler", t1.get$json(t1)));
      Y.Notifications_of(this.context).push$1("Successfully exported " + exportedFile + " to ~/Downloads directory");
      return null;
    },
    $signature: 0
  };
  X.__ProfilerScreenBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  X.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin.prototype = {};
  Z.ProfilerScreenController.prototype = {
    startRecording$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$startRecording$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$startRecording$0, $async$completer);
    },
    stopRecording$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$stopRecording$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._profiler_screen_controller$_recordingNotifier.set$value(0, false);
              $async$goto = 2;
              return P._asyncAwait($async$self.CpuProfilerControllerProviderMixin_cpuProfilerController.pullAndProcessProfile$3$extentMicros$processId$startMicros($.$get$maxJsInt(), "Profile 0", 0), $async$stopRecording$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$stopRecording$0, $async$completer);
    },
    loadAllSamples$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$loadAllSamples$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.CpuProfilerControllerProviderMixin_cpuProfilerController;
              t1.reset$0(0);
              $async$goto = 2;
              return P._asyncAwait(t1.pullAndProcessProfile$3$extentMicros$processId$startMicros($.$get$maxJsInt(), "Load all samples", 0), $async$loadAllSamples$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$loadAllSamples$0, $async$completer);
    },
    clear$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$clear$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.CpuProfilerControllerProviderMixin_cpuProfilerController.clear$0(0), $async$clear$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$clear$0, $async$completer);
    }
  };
  Z._ProfilerScreenController_Object_CpuProfilerControllerProviderMixin.prototype = {};
  Q.serviceProvider_closure.prototype = {
    call$1: function(ref) {
      return this.$call$body$serviceProvider_closure(ref);
    },
    $call$body$serviceProvider_closure: function(ref) {
      var $async$call$1 = P._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;
              $async$nextWhenCanceled = [1];
              return P._asyncStarHelper(P._IterationMarker_yieldSingle($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service), $async$call$1, $async$controller);
            case 3:
              // after yield
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
              $async$goto = 4;
              $async$nextWhenCanceled = [1];
              return P._asyncStarHelper(P._IterationMarker_yieldStar(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"))), $async$call$1, $async$controller);
            case 4:
              // after yield
            case 1:
              // return
              return P._asyncStarHelper(null, 0, $async$controller);
            case 2:
              // rethrow
              return P._asyncStarHelper($async$currentError, 1, $async$controller);
          }
      });
      var $async$goto = 0,
        $async$controller = P._makeAsyncStarStreamController($async$call$1, type$.legacy_VmServiceWrapper),
        $async$nextWhenCanceled, $async$handler = 2, $async$currentError, $async$next = [], t1;
      return P._streamOfController($async$controller);
    },
    $signature: 535
  };
  Q.libraryEvalProvider_closure.prototype = {
    call$2: function(ref, libraryPath) {
      return this.$call$body$libraryEvalProvider_closure(ref, libraryPath);
    },
    $call$body$libraryEvalProvider_closure: function(ref, libraryPath) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_EvalOnDartLibrary),
        $async$returnValue, t1, service, $eval;
      var $async$call$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.$get$serviceProvider();
              $async$goto = 3;
              return P._asyncAwait(ref.watch$1$1(t1.get$last(t1), type$.legacy_Future_legacy_VmServiceWrapper), $async$call$2);
            case 3:
              // returning from await.
              service = $async$result;
              $eval = B.EvalOnDartLibrary$(H._setArrayType([libraryPath], type$.JSArray_legacy_String), service, false);
              ref.onDispose$1($eval.get$dispose($eval));
              $async$returnValue = $eval;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 536
  };
  Q.hotRestartEventProvider_closure.prototype = {
    call$1: function(ref) {
      var t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolateController;
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
    },
    $signature: 537
  };
  X.ObjectField.prototype = {};
  X.InstanceDetails.prototype = {
    get$isExpandable: function() {
      var t1 = new X.InstanceDetails_isExpandable_falsy();
      return this.map$8$boolean$enumeration$list$map$nill$number$object$string(0, t1, t1, new X.InstanceDetails_isExpandable_closure(), new X.InstanceDetails_isExpandable_closure0(), t1, t1, new X.InstanceDetails_isExpandable_closure1(), t1);
    }
  };
  X.InstanceDetails_isExpandable_falsy.prototype = {
    call$1: function(obj) {
      return false;
    },
    $signature: 163
  };
  X.InstanceDetails_isExpandable_closure0.prototype = {
    call$1: function(instance) {
      return J.get$isNotEmpty$asx(instance.keys);
    },
    $signature: 538
  };
  X.InstanceDetails_isExpandable_closure.prototype = {
    call$1: function(instance) {
      return instance.length > 0;
    },
    $signature: 539
  };
  X.InstanceDetails_isExpandable_closure1.prototype = {
    call$1: function(instance) {
      return instance.fields.length !== 0;
    },
    $signature: 540
  };
  X.InstancePath.prototype = {
    get$parent: function(_) {
      var t1, i, i0, _this = this;
      if (J.get$isEmpty$asx(_this.get$pathToProperty()))
        return null;
      t1 = H._setArrayType([], type$.JSArray_legacy_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: function(property) {
      var t1 = P.List_List$of(this.get$pathToProperty(), true, type$.legacy_PathToProperty);
      t1.push(property);
      return this.copyWith$1$pathToProperty(t1);
    }
  };
  X._$PathToPropertyTearOff.prototype = {
    listIndex$1: function(index) {
      return new X._$ListIndexPath(index);
    }
  };
  X._$ListIndexPath.prototype = {
    toString$0: function(_) {
      return "PathToProperty.listIndex(index: " + this.index + ")";
    },
    $eq: function(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (this !== other)
        if (type$.legacy_ListIndexPath._is(other)) {
          t1 = other.index;
          t2 = this.index;
          t1 = t1 === t2 || C.C_DeepCollectionEquality.equals$2(t1, t2);
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      return (H.Primitives_objectHashCode(H.getRuntimeType(this)) ^ C.C_DeepCollectionEquality.hash$1(0, this.index)) >>> 0;
    },
    $isPathToProperty: 1,
    $isListIndexPath: 1,
    get$index: function(receiver) {
      return this.index;
    }
  };
  X._$MapKeyPath.prototype = {
    toString$0: function(_) {
      return "PathToProperty.mapKey(ref: " + H.S(this.ref) + ")";
    },
    $eq: function(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (this !== other)
        if (type$.legacy_MapKeyPath._is(other)) {
          t1 = other.ref;
          t2 = this.ref;
          t1 = t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2);
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      return (H.Primitives_objectHashCode(H.getRuntimeType(this)) ^ C.C_DeepCollectionEquality.hash$1(0, this.ref)) >>> 0;
    },
    $isPathToProperty: 1,
    $isMapKeyPath: 1
  };
  X._$PropertyPath.prototype = {
    toString$0: function(_) {
      return "PathToProperty.objectProperty(name: " + H.S(this.name) + ", ownerUri: " + H.S(this.ownerUri) + ", ownerName: " + H.S(this.ownerName) + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (type$.legacy_PropertyPath._is(other)) {
          t1 = other.name;
          t2 = _this.name;
          if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.ownerUri;
            t2 = _this.ownerUri;
            if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
              t1 = other.ownerName;
              t2 = _this.ownerName;
              t1 = t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2);
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return (H.Primitives_objectHashCode(H.getRuntimeType(_this)) ^ C.C_DeepCollectionEquality.hash$1(0, _this.name) ^ C.C_DeepCollectionEquality.hash$1(0, _this.ownerUri) ^ C.C_DeepCollectionEquality.hash$1(0, _this.ownerName)) >>> 0;
    },
    $isPathToProperty: 1,
    $isPropertyPath: 1,
    get$name: function(receiver) {
      return this.name;
    }
  };
  X._$ObjectField.prototype = {};
  X._$_ObjectField.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "ObjectField(name: " + H.S(_this.name) + ", isFinal: " + H.S(_this.isFinal) + ", ownerName: " + H.S(_this.ownerName) + ", ownerUri: " + H.S(_this.ownerUri) + ", ref: " + _this.ref.toString$0(0) + ", eval: " + H.S(_this.$eval) + ", isDefinedByDependency: " + _this.isDefinedByDependency + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (other instanceof X._ObjectField) {
          t1 = other.name;
          t2 = _this.name;
          if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.isFinal;
            t2 = _this.isFinal;
            if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
              t1 = other.ownerName;
              t2 = _this.ownerName;
              if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
                t1 = other.ownerUri;
                t2 = _this.ownerUri;
                if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
                  t1 = other.ref;
                  t2 = _this.ref;
                  if (t1 === t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
                    t1 = other.$eval;
                    t2 = _this.$eval;
                    if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
                      t1 = other.isDefinedByDependency;
                      t2 = _this.isDefinedByDependency;
                      t1 = t1 === t2 || C.C_DeepCollectionEquality.equals$2(t1, t2);
                    } else
                      t1 = false;
                  } 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: function(_) {
      var _this = this;
      return (H.Primitives_objectHashCode(H.getRuntimeType(_this)) ^ C.C_DeepCollectionEquality.hash$1(0, _this.name) ^ C.C_DeepCollectionEquality.hash$1(0, _this.isFinal) ^ C.C_DeepCollectionEquality.hash$1(0, _this.ownerName) ^ C.C_DeepCollectionEquality.hash$1(0, _this.ownerUri) ^ C.C_DeepCollectionEquality.hash$1(0, _this.ref) ^ C.C_DeepCollectionEquality.hash$1(0, _this.$eval) ^ C.C_DeepCollectionEquality.hash$1(0, _this.isDefinedByDependency)) >>> 0;
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  X._ObjectField.prototype = {};
  X._$InstanceDetails.prototype = {};
  X._$NullInstance.prototype = {
    toString$0: function(_) {
      return "InstanceDetails.nill(instanceRefId: null, setter: " + H.S(this.setter) + ")";
    },
    $eq: function(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (this !== other)
        if (other instanceof X.NullInstance) {
          t1 = other.setter;
          t2 = this.setter;
          t1 = (t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2);
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      return (H.Primitives_objectHashCode(H.getRuntimeType(this)) ^ C.C_DeepCollectionEquality.hash$1(0, null) ^ C.C_DeepCollectionEquality.hash$1(0, this.setter)) >>> 0;
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string: function(_, boolean, enumeration, list, map, nill, number, object, string) {
      return nill.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string: function($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$.legacy_Object);
    },
    maybeMap$1$4$list$map$object$orElse: function(list, map, object, orElse) {
      return orElse.call$0();
    },
    maybeMap$4$list$map$object$orElse: function(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.legacy_Object);
    },
    get$instanceRefId: function() {
      return null;
    }
  };
  X.NullInstance.prototype = {};
  X._$BoolInstance.prototype = {
    toString$0: function(_) {
      return "InstanceDetails.boolean(displayString: " + H.S(this.displayString) + ", instanceRefId: " + H.S(this.instanceRefId) + ", setter: " + H.S(this.setter) + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (other instanceof X.BoolInstance) {
          t1 = other.displayString;
          t2 = _this.displayString;
          if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.instanceRefId;
            t2 = _this.instanceRefId;
            if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
              t1 = other.setter;
              t2 = _this.setter;
              t1 = (t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2);
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return (H.Primitives_objectHashCode(H.getRuntimeType(_this)) ^ C.C_DeepCollectionEquality.hash$1(0, _this.displayString) ^ C.C_DeepCollectionEquality.hash$1(0, _this.instanceRefId) ^ C.C_DeepCollectionEquality.hash$1(0, _this.setter)) >>> 0;
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string: function(_, boolean, enumeration, list, map, nill, number, object, string) {
      return boolean.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string: function($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$.legacy_Object);
    },
    maybeMap$1$4$list$map$object$orElse: function(list, map, object, orElse) {
      return orElse.call$0();
    },
    maybeMap$4$list$map$object$orElse: function(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.legacy_Object);
    },
    get$instanceRefId: function() {
      return this.instanceRefId;
    }
  };
  X.BoolInstance.prototype = {};
  X._$NumInstance.prototype = {
    toString$0: function(_) {
      return "InstanceDetails.number(displayString: " + H.S(this.displayString) + ", instanceRefId: " + H.S(this.instanceRefId) + ", setter: " + H.S(this.setter) + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (other instanceof X.NumInstance) {
          t1 = other.displayString;
          t2 = _this.displayString;
          if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.instanceRefId;
            t2 = _this.instanceRefId;
            if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
              t1 = other.setter;
              t2 = _this.setter;
              t1 = (t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2);
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return (H.Primitives_objectHashCode(H.getRuntimeType(_this)) ^ C.C_DeepCollectionEquality.hash$1(0, _this.displayString) ^ C.C_DeepCollectionEquality.hash$1(0, _this.instanceRefId) ^ C.C_DeepCollectionEquality.hash$1(0, _this.setter)) >>> 0;
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string: function(_, boolean, enumeration, list, map, nill, number, object, string) {
      return number.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string: function($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$.legacy_Object);
    },
    maybeMap$1$4$list$map$object$orElse: function(list, map, object, orElse) {
      return orElse.call$0();
    },
    maybeMap$4$list$map$object$orElse: function(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.legacy_Object);
    },
    get$instanceRefId: function() {
      return this.instanceRefId;
    }
  };
  X.NumInstance.prototype = {};
  X._$StringInstance.prototype = {
    toString$0: function(_) {
      return "InstanceDetails.string(displayString: " + H.S(this.displayString) + ", instanceRefId: " + H.S(this.instanceRefId) + ", setter: " + H.S(this.setter) + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (other instanceof X.StringInstance) {
          t1 = other.displayString;
          t2 = _this.displayString;
          if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.instanceRefId;
            t2 = _this.instanceRefId;
            if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
              t1 = other.setter;
              t2 = _this.setter;
              t1 = (t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2);
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return (H.Primitives_objectHashCode(H.getRuntimeType(_this)) ^ C.C_DeepCollectionEquality.hash$1(0, _this.displayString) ^ C.C_DeepCollectionEquality.hash$1(0, _this.instanceRefId) ^ C.C_DeepCollectionEquality.hash$1(0, _this.setter)) >>> 0;
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string: function(_, boolean, enumeration, list, map, nill, number, object, string) {
      return string.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string: function($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$.legacy_Object);
    },
    maybeMap$1$4$list$map$object$orElse: function(list, map, object, orElse) {
      return orElse.call$0();
    },
    maybeMap$4$list$map$object$orElse: function(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.legacy_Object);
    },
    get$instanceRefId: function() {
      return this.instanceRefId;
    }
  };
  X.StringInstance.prototype = {};
  X._$MapInstance.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "InstanceDetails.map(keys: " + H.S(_this.keys) + ", hash: " + H.S(_this.hash) + ", instanceRefId: " + H.S(_this.instanceRefId) + ", setter: " + H.S(_this.setter) + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (other instanceof X.MapInstance) {
          t1 = other.keys;
          t2 = _this.keys;
          if ((t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.hash;
            t2 = _this.hash;
            if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
              t1 = other.instanceRefId;
              t2 = _this.instanceRefId;
              if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
                t1 = other.setter;
                t2 = _this.setter;
                t1 = (t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2);
              } else
                t1 = false;
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return (H.Primitives_objectHashCode(H.getRuntimeType(_this)) ^ C.C_DeepCollectionEquality.hash$1(0, _this.keys) ^ C.C_DeepCollectionEquality.hash$1(0, _this.hash) ^ C.C_DeepCollectionEquality.hash$1(0, _this.instanceRefId) ^ C.C_DeepCollectionEquality.hash$1(0, _this.setter)) >>> 0;
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string: function(_, boolean, enumeration, list, map, nill, number, object, string) {
      return map.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string: function($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$.legacy_Object);
    },
    maybeMap$1$4$list$map$object$orElse: function(list, map, object, orElse) {
      var t1 = map.call$1(this);
      return t1;
    },
    maybeMap$4$list$map$object$orElse: function(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.legacy_Object);
    },
    get$keys: function(receiver) {
      return this.keys;
    },
    get$instanceRefId: function() {
      return this.instanceRefId;
    }
  };
  X.MapInstance.prototype = {};
  X._$ListInstance.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "InstanceDetails.list(length: " + H.S(_this.length) + ", hash: " + H.S(_this.hash) + ", instanceRefId: " + H.S(_this.instanceRefId) + ", setter: " + H.S(_this.setter) + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (other instanceof X.ListInstance) {
          t1 = other.length;
          t2 = _this.length;
          if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.hash;
            t2 = _this.hash;
            if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
              t1 = other.instanceRefId;
              t2 = _this.instanceRefId;
              if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
                t1 = other.setter;
                t2 = _this.setter;
                t1 = (t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2);
              } else
                t1 = false;
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return (H.Primitives_objectHashCode(H.getRuntimeType(_this)) ^ C.C_DeepCollectionEquality.hash$1(0, _this.length) ^ C.C_DeepCollectionEquality.hash$1(0, _this.hash) ^ C.C_DeepCollectionEquality.hash$1(0, _this.instanceRefId) ^ C.C_DeepCollectionEquality.hash$1(0, _this.setter)) >>> 0;
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string: function(_, boolean, enumeration, list, map, nill, number, object, string) {
      return list.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string: function($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$.legacy_Object);
    },
    maybeMap$1$4$list$map$object$orElse: function(list, map, object, orElse) {
      var t1 = list.call$1(this);
      return t1;
    },
    maybeMap$4$list$map$object$orElse: function(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.legacy_Object);
    },
    get$length: function(receiver) {
      return this.length;
    },
    get$instanceRefId: function() {
      return this.instanceRefId;
    }
  };
  X.ListInstance.prototype = {};
  X._$ObjectInstance.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "InstanceDetails.object(fields: " + H.S(_this.fields) + ", type: " + H.S(_this.type) + ", hash: " + H.S(_this.hash) + ", instanceRefId: " + H.S(_this.instanceRefId) + ", setter: " + H.S(_this.setter) + ", evalForInstance: " + H.S(_this.evalForInstance) + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (other instanceof X.ObjectInstance) {
          t1 = other.fields;
          t2 = _this.fields;
          if (t1 === t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.type;
            t2 = _this.type;
            if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
              t1 = other.hash;
              t2 = _this.hash;
              if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
                t1 = other.instanceRefId;
                t2 = _this.instanceRefId;
                if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
                  t1 = other.setter;
                  t2 = _this.setter;
                  if ((t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
                    t1 = other.evalForInstance;
                    t2 = _this.evalForInstance;
                    t1 = t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2);
                  } 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: function(_) {
      var _this = this;
      return (H.Primitives_objectHashCode(H.getRuntimeType(_this)) ^ C.C_DeepCollectionEquality.hash$1(0, _this.fields) ^ C.C_DeepCollectionEquality.hash$1(0, _this.type) ^ C.C_DeepCollectionEquality.hash$1(0, _this.hash) ^ C.C_DeepCollectionEquality.hash$1(0, _this.instanceRefId) ^ C.C_DeepCollectionEquality.hash$1(0, _this.setter) ^ C.C_DeepCollectionEquality.hash$1(0, _this.evalForInstance)) >>> 0;
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string: function(_, boolean, enumeration, list, map, nill, number, object, string) {
      return object.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string: function($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$.legacy_Object);
    },
    maybeMap$1$4$list$map$object$orElse: function(list, map, object, orElse) {
      var t1 = object.call$1(this);
      return t1;
    },
    maybeMap$4$list$map$object$orElse: function(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.legacy_Object);
    },
    get$instanceRefId: function() {
      return this.instanceRefId;
    }
  };
  X.ObjectInstance.prototype = {};
  X._$EnumInstance.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "InstanceDetails.enumeration(type: " + H.S(_this.type) + ", value: " + H.S(_this.value) + ", setter: " + H.S(_this.setter) + ", instanceRefId: " + H.S(_this.instanceRefId) + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (other instanceof X.EnumInstance) {
          t1 = other.type;
          t2 = _this.type;
          if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.value;
            t2 = _this.value;
            if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
              t1 = other.setter;
              t2 = _this.setter;
              if ((t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
                t1 = other.instanceRefId;
                t2 = _this.instanceRefId;
                t1 = t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2);
              } else
                t1 = false;
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return (H.Primitives_objectHashCode(H.getRuntimeType(_this)) ^ C.C_DeepCollectionEquality.hash$1(0, _this.type) ^ C.C_DeepCollectionEquality.hash$1(0, _this.value) ^ C.C_DeepCollectionEquality.hash$1(0, _this.setter) ^ C.C_DeepCollectionEquality.hash$1(0, _this.instanceRefId)) >>> 0;
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string: function(_, boolean, enumeration, list, map, nill, number, object, string) {
      return enumeration.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string: function($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$.legacy_Object);
    },
    maybeMap$1$4$list$map$object$orElse: function(list, map, object, orElse) {
      return orElse.call$0();
    },
    maybeMap$4$list$map$object$orElse: function(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.legacy_Object);
    },
    get$instanceRefId: function() {
      return this.instanceRefId;
    }
  };
  X.EnumInstance.prototype = {};
  X._$InstancePath.prototype = {};
  X._$InstancePathCopyWithImpl.prototype = {
    call$1$pathToProperty: function(pathToProperty) {
      var t1 = this.get$_instance_details$_value();
      return this._then.call$1(t1.copyWith$1$pathToProperty(J.$eq$(pathToProperty, C.C_Object) ? this.get$_instance_details$_value().get$pathToProperty() : type$.legacy_List_legacy_PathToProperty._as(pathToProperty)));
    },
    call$0: function() {
      return this.call$1$pathToProperty(C.C_Object);
    },
    get$_instance_details$_value: function() {
      return this._instance_details$_value;
    }
  };
  X.__$InstancePathFromInstanceIdCopyWithImpl.prototype = {
    get$_instance_details$_value: function() {
      return type$.legacy__InstancePathFromInstanceId._as(this._instance_details$_value);
    },
    call$1$pathToProperty: function(pathToProperty) {
      var t1 = type$.legacy__InstancePathFromInstanceId,
        t2 = t1._as(this._instance_details$_value);
      t2 = t2.instanceId;
      t1 = J.$eq$(pathToProperty, C.C_Object) ? t1._as(this._instance_details$_value).pathToProperty : type$.legacy_List_legacy_PathToProperty._as(pathToProperty);
      return this._then.call$1(new X._$_InstancePathFromInstanceId(t2, t1));
    },
    call$0: function() {
      return this.call$1$pathToProperty(C.C_Object);
    }
  };
  X.__$InstancePathFromInstanceIdCopyWithImpl_closure.prototype = {
    call$1: function(v) {
      return this._then.call$1(type$.legacy__InstancePathFromInstanceId._as(v));
    },
    $signature: function() {
      return this.$$Res._eval$1("0*(InstancePath*)");
    }
  };
  X._$_InstancePathFromInstanceId.prototype = {
    toString$0: function(_) {
      return "InstancePath.fromInstanceId(instanceId: " + H.S(this.instanceId) + ", pathToProperty: " + H.S(this.pathToProperty) + ")";
    },
    $eq: function(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (this !== other)
        if (other instanceof X._InstancePathFromInstanceId) {
          t1 = other.instanceId;
          t2 = this.instanceId;
          if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.pathToProperty;
            t2 = this.pathToProperty;
            t1 = (t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2);
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      return (H.Primitives_objectHashCode(H.getRuntimeType(this)) ^ C.C_DeepCollectionEquality.hash$1(0, this.instanceId) ^ C.C_DeepCollectionEquality.hash$1(0, this.pathToProperty)) >>> 0;
    },
    get$copyWith: function() {
      return X.__$InstancePathFromInstanceIdCopyWithImpl$(this, C.CONSTANT1, type$.legacy__InstancePathFromInstanceId);
    },
    map$1$2$fromInstanceId$fromProviderId: function(_, fromInstanceId, fromProviderId) {
      return fromInstanceId.call$1(this);
    },
    map$2$fromInstanceId$fromProviderId: function($receiver, fromInstanceId, fromProviderId) {
      return this.map$1$2$fromInstanceId$fromProviderId($receiver, fromInstanceId, fromProviderId, type$.legacy_Object);
    },
    copyWith$1$pathToProperty: function(arg0) {
      return this.get$copyWith().call$1$pathToProperty(arg0);
    },
    get$pathToProperty: function() {
      return this.pathToProperty;
    }
  };
  X._InstancePathFromInstanceId.prototype = {
    copyWith$1$pathToProperty: function(arg0) {
      return this.get$copyWith().call$1$pathToProperty(arg0);
    }
  };
  X.__$InstancePathFromProviderIdCopyWithImpl.prototype = {
    get$_instance_details$_value: function() {
      return type$.legacy__InstancePathFromProviderId._as(this._instance_details$_value);
    },
    call$1$pathToProperty: function(pathToProperty) {
      var t1 = type$.legacy__InstancePathFromProviderId,
        t2 = t1._as(this._instance_details$_value);
      t2 = t2.providerId;
      t1 = J.$eq$(pathToProperty, C.C_Object) ? t1._as(this._instance_details$_value).pathToProperty : type$.legacy_List_legacy_PathToProperty._as(pathToProperty);
      return this._then.call$1(new X._$_InstancePathFromProviderId(t2, t1));
    },
    call$0: function() {
      return this.call$1$pathToProperty(C.C_Object);
    }
  };
  X.__$InstancePathFromProviderIdCopyWithImpl_closure.prototype = {
    call$1: function(v) {
      return this._then.call$1(type$.legacy__InstancePathFromProviderId._as(v));
    },
    $signature: function() {
      return this.$$Res._eval$1("0*(InstancePath*)");
    }
  };
  X._$_InstancePathFromProviderId.prototype = {
    toString$0: function(_) {
      return "InstancePath.fromProviderId(providerId: " + H.S(this.providerId) + ", pathToProperty: " + H.S(this.pathToProperty) + ")";
    },
    $eq: function(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (this !== other)
        if (other instanceof X._InstancePathFromProviderId) {
          t1 = other.providerId;
          t2 = this.providerId;
          if (t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.pathToProperty;
            t2 = this.pathToProperty;
            t1 = (t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2);
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      return (H.Primitives_objectHashCode(H.getRuntimeType(this)) ^ C.C_DeepCollectionEquality.hash$1(0, this.providerId) ^ C.C_DeepCollectionEquality.hash$1(0, this.pathToProperty)) >>> 0;
    },
    get$copyWith: function() {
      return X.__$InstancePathFromProviderIdCopyWithImpl$(this, C.CONSTANT0, type$.legacy__InstancePathFromProviderId);
    },
    map$1$2$fromInstanceId$fromProviderId: function(_, fromInstanceId, fromProviderId) {
      return fromProviderId.call$1(this);
    },
    map$2$fromInstanceId$fromProviderId: function($receiver, fromInstanceId, fromProviderId) {
      return this.map$1$2$fromInstanceId$fromProviderId($receiver, fromInstanceId, fromProviderId, type$.legacy_Object);
    },
    copyWith$1$pathToProperty: function(arg0) {
      return this.get$copyWith().call$1$pathToProperty(arg0);
    },
    get$pathToProperty: function() {
      return this.pathToProperty;
    }
  };
  X._InstancePathFromProviderId.prototype = {
    copyWith$1$pathToProperty: function(arg0) {
      return this.get$copyWith().call$1$pathToProperty(arg0);
    }
  };
  X._InstanceDetails_Object__$InstanceDetails.prototype = {};
  X._InstancePath_Object__$InstancePath.prototype = {};
  X._ObjectField_Object__$ObjectField.prototype = {};
  Q._resolveInstanceRefForPath_closure0.prototype = {
    call$1: function(path) {
      return this.$call$body$_resolveInstanceRefForPath_closure0(path);
    },
    $call$body$_resolveInstanceRefForPath_closure0: function(path) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InstanceRef),
        $async$returnValue, $async$self = this, t1, $eval, t2;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.ref;
              $async$goto = 3;
              return P._asyncAwait(t1.watch$1$1($.$get$providerEvalProvider().get$future(), type$.legacy_Future_legacy_EvalOnDartLibrary), $async$call$1);
            case 3:
              // returning from await.
              $eval = $async$result;
              t2 = path.providerId;
              t1.watch$1$1($.$get$_providerChanged().call$1(t2), type$.legacy_AsyncValue_void);
              $async$returnValue = $eval.safeEval$2$isAlive('ProviderBinding.debugInstance.providerDetails["' + H.S(t2) + '"]?.value', $async$self.isAlive);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 542
  };
  Q._resolveInstanceRefForPath_closure.prototype = {
    call$1: function(path) {
      return this.$call$body$_resolveInstanceRefForPath_closure1(path);
    },
    $call$body$_resolveInstanceRefForPath_closure1: function(path) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InstanceRef),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = path.instanceId;
              if (t1 == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = type$.legacy_String;
              $async$goto = 3;
              return P._asyncAwait($async$self.ref.watch$1$1($.$get$evalProvider().get$future(), type$.legacy_Future_legacy_EvalOnDartLibrary), $async$call$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$result.safeEval$3$isAlive$scope("value", $async$self.isAlive, P.LinkedHashMap_LinkedHashMap$_literal(["value", t1], t2, t2));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 543
  };
  Q._resolveInstanceRefForPath_closure2.prototype = {
    call$1: function($parent) {
      var t1 = type$.legacy_MapKeyPath._as(J.get$last$ax(this.path.get$pathToProperty())).ref,
        t2 = t1 == null,
        t3 = "parent[" + (t2 ? "null" : "key") + "]",
        t4 = type$.legacy_String;
      t4 = P.LinkedHashMap_LinkedHashMap$_empty(t4, t4);
      t4.$indexSet(0, "parent", $parent.instanceRefId);
      if (!t2)
        t4.$indexSet(0, "key", t1);
      return this.$eval.safeEval$3$isAlive$scope(t3, this.isAlive, t4);
    },
    $signature: 301
  };
  Q._resolveInstanceRefForPath_closure1.prototype = {
    call$1: function($parent) {
      var t1 = type$.legacy_String;
      return this.$eval.safeEval$3$isAlive$scope("parent[" + type$.legacy_ListIndexPath._as(J.get$last$ax(this.path.get$pathToProperty())).index + "]", this.isAlive, P.LinkedHashMap_LinkedHashMap$_literal(["parent", $parent.instanceRefId], t1, t1));
    },
    $signature: 300
  };
  Q._resolveInstanceRefForPath_closure3.prototype = {
    call$1: function($parent) {
      return this.$call$body$_resolveInstanceRefForPath_closure($parent);
    },
    $call$body$_resolveInstanceRefForPath_closure: function($parent) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Instance),
        $async$returnValue, $async$self = this, ref;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              ref = C.JSArray_methods.firstWhere$1($parent.fields, new Q._resolveInstanceRefForPath__closure(type$.legacy_PropertyPath._as(J.get$last$ax($async$self.path.get$pathToProperty())))).ref.get$dataOrThrow();
              if (ref == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = $async$self.$eval.getInstance$2(ref, $async$self.isAlive);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 546
  };
  Q._resolveInstanceRefForPath__closure.prototype = {
    call$1: function(element) {
      var t1 = this.propertyPath;
      return element.name == t1.name && element.ownerName == t1.ownerName && element.ownerUri == t1.ownerUri;
    },
    $signature: 153
  };
  Q._resolveInstanceRefForPath_closure4.prototype = {
    call$0: function() {
      return H.throwExpression(new P.FallThroughError());
    },
    $signature: 1
  };
  Q._mutate_closure.prototype = {
    call$1: function($parent) {
      return this.$call$body$_mutate_closure0($parent);
    },
    $call$body$_mutate_closure0: function($parent) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InstanceRef),
        $async$returnValue, $async$self = this, t1;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_String;
              $async$goto = 3;
              return P._asyncAwait($async$self.ref.watch$1$1($.$get$evalProvider().get$future(), type$.legacy_Future_legacy_EvalOnDartLibrary), $async$call$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$result.safeEval$3$isAlive$scope("parent[" + type$.legacy_ListIndexPath._as(J.get$last$ax($async$self.path.get$pathToProperty())).index + "] = " + H.S($async$self.newValueExpression), $async$self.isAlive, P.LinkedHashMap_LinkedHashMap$_literal(["parent", $parent.instanceRefId], t1, t1));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 300
  };
  Q._mutate_closure0.prototype = {
    call$1: function($parent) {
      return this.$call$body$_mutate_closure($parent);
    },
    $call$body$_mutate_closure: function($parent) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InstanceRef),
        $async$returnValue, $async$self = this, $eval, t1, t2, t3, t4;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.ref.watch$1$1($.$get$evalProvider().get$future(), type$.legacy_Future_legacy_EvalOnDartLibrary), $async$call$1);
            case 3:
              // returning from await.
              $eval = $async$result;
              t1 = type$.legacy_MapKeyPath._as(J.get$last$ax($async$self.path.get$pathToProperty())).ref;
              t2 = t1 == null;
              t3 = "parent[" + (t2 ? "null" : "key") + "] = " + H.S($async$self.newValueExpression);
              t4 = type$.legacy_String;
              t4 = P.LinkedHashMap_LinkedHashMap$_empty(t4, t4);
              t4.$indexSet(0, "parent", $parent.instanceRefId);
              if (!t2)
                t4.$indexSet(0, "key", t1);
              $async$returnValue = $eval.safeEval$3$isAlive$scope(t3, $async$self.isAlive, t4);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 301
  };
  Q._mutate_closure1.prototype = {
    call$1: function($parent) {
      var propertyPath = type$.legacy_PropertyPath._as(J.get$last$ax(this.path.get$pathToProperty())),
        t1 = type$.legacy_String;
      return C.JSArray_methods.firstWhere$1($parent.fields, new Q._mutate__closure(propertyPath)).$eval.safeEval$3$isAlive$scope("parent." + H.S(propertyPath.name) + " = " + H.S(this.newValueExpression), this.isAlive, P.LinkedHashMap_LinkedHashMap$_literal(["parent", $parent.instanceRefId], t1, t1));
    },
    $signature: 548
  };
  Q._mutate__closure.prototype = {
    call$1: function(f) {
      var t1 = this.propertyPath;
      return f.name == t1.name && f.ownerName == t1.ownerName;
    },
    $signature: 153
  };
  Q._mutate_closure2.prototype = {
    call$0: function() {
      return H.throwExpression(P.StateError$("Can only mutate lists/maps/objects"));
    },
    $signature: 1
  };
  Q._tryParseEnum_findPropertyWithName.prototype = {
    call$1: function($name) {
      var t1 = A.IterableExtension_firstWhereOrNull(this.instance.fields, new Q._tryParseEnum_findPropertyWithName_closure($name));
      return t1 == null ? null : t1.value;
    },
    $signature: 549
  };
  Q._tryParseEnum_findPropertyWithName_closure.prototype = {
    call$1: function(element) {
      var t1 = element.decl;
      return t1.get$name(t1) === this.name;
    },
    $signature: 142
  };
  Q._parseSetter_mutate.prototype = {
    call$1: function(expression) {
      var _this = this;
      return Q._mutate(expression, _this.isAlive, _this.parent, _this.path, _this.ref);
    },
    $signature: 299
  };
  Q._parseSetter_closure0.prototype = {
    call$1: function($parent) {
      return this.mutate;
    },
    $signature: 551
  };
  Q._parseSetter_closure.prototype = {
    call$1: function($parent) {
      return this.mutate;
    },
    $signature: 552
  };
  Q._parseSetter_closure1.prototype = {
    call$1: function($parent) {
      if (C.JSArray_methods.firstWhere$1($parent.fields, new Q._parseSetter__closure(type$.legacy_PropertyPath._as(J.get$last$ax(this.path.get$pathToProperty())))).isFinal)
        return null;
      return this.mutate;
    },
    $signature: 553
  };
  Q._parseSetter__closure.prototype = {
    call$1: function(field) {
      return field.name == this.keyPath.name;
    },
    $signature: 153
  };
  Q._parseSetter_closure2.prototype = {
    call$0: function() {
      return H.throwExpression(new P.FallThroughError());
    },
    $signature: 1
  };
  Q.rawInstanceProvider_closure.prototype = {
    call$2: function(ref, path) {
      return this.$call$body$rawInstanceProvider_closure(ref, path);
    },
    $call$body$rawInstanceProvider_closure: function(ref, path) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_InstanceDetails),
        $async$returnValue, t1, $eval, isAlive, $parent, instanceRef, setter, instance, t2, keysRef, t3, t4, t5, enumDetails, classInstance, evalForInstance, $async$temp1, $async$temp2, $async$temp3, $async$temp4, $async$temp5, $async$temp6;
      var $async$call$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              ref.watch$1$1($.$get$hotRestartEventProvider(), type$.legacy_AsyncValue_void);
              t1 = type$.legacy_Future_legacy_EvalOnDartLibrary;
              $async$goto = 3;
              return P._asyncAwait(ref.watch$1$1($.$get$evalProvider().get$future(), t1), $async$call$2);
            case 3:
              // returning from await.
              $eval = $async$result;
              isAlive = new B.Disposable();
              ref.onDispose$1(isAlive.get$dispose(isAlive));
              $async$goto = 4;
              return P._asyncAwait(Q._resolveParent(ref, path), $async$call$2);
            case 4:
              // returning from await.
              $parent = $async$result;
              $async$goto = 5;
              return P._asyncAwait(Q._resolveInstanceRefForPath(path, isAlive, $parent, ref), $async$call$2);
            case 5:
              // returning from await.
              instanceRef = $async$result;
              setter = Q._parseSetter(isAlive, $parent, path, ref);
              $async$goto = 6;
              return P._asyncAwait($eval.getInstance$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 X._$NullInstance(setter);
              // goto return
              $async$goto = 1;
              break;
            case 10:
              // case
              $async$returnValue = new X._$BoolInstance(instance.get$valueAsString(instance), instanceRef.get$id(instanceRef), setter);
              // goto return
              $async$goto = 1;
              break;
            case 11:
              // case
            case 12:
              // case
              $async$returnValue = new X._$NumInstance(instance.get$valueAsString(instance), instanceRef.get$id(instanceRef), setter);
              // goto return
              $async$goto = 1;
              break;
            case 13:
              // case
              $async$returnValue = new X._$StringInstance(instance.get$valueAsString(instance), instanceRef.get$id(instanceRef), setter);
              // goto return
              $async$goto = 1;
              break;
            case 14:
              // case
              t1 = instance.associations;
              t1.toString;
              t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,InstanceRef*>");
              keysRef = new H.MappedListIterable(t1, new Q.rawInstanceProvider__closure(), t2);
              t1 = H._setArrayType([], type$.JSArray_legacy_Future_legacy_InstanceDetails);
              for (t2 = new H.ListIterator(keysRef, keysRef.get$length(keysRef), t2._eval$1("ListIterator<ListIterable.E>")), t3 = type$.legacy_Future_legacy_InstanceDetails; t2.moveNext$0();) {
                t4 = t2.__internal$_current;
                t5 = $.$get$rawInstanceProvider();
                t1.push(ref.watch$1$1(t5.call$1(new X._$_InstancePathFromInstanceId(t4 == null ? null : t4.get$id(t4), C.List_empty13)).get$future(), t3));
              }
              $async$temp1 = X;
              $async$goto = 18;
              return P._asyncAwait(P.Future_wait(t1, type$.legacy_InstanceDetails), $async$call$2);
            case 18:
              // returning from await.
              $async$temp2 = $async$result;
              $async$goto = 19;
              return P._asyncAwait($eval.getHashCode$2$isAlive(instance, isAlive), $async$call$2);
            case 19:
              // returning from await.
              $async$returnValue = new $async$temp1._$MapInstance($async$temp2, $async$result, instanceRef.get$id(instanceRef), setter);
              // goto return
              $async$goto = 1;
              break;
            case 15:
              // case
              $async$temp1 = X;
              $async$temp2 = instance.length;
              $async$goto = 20;
              return P._asyncAwait($eval.getHashCode$2$isAlive(instance, isAlive), $async$call$2);
            case 20:
              // returning from await.
              $async$returnValue = new $async$temp1._$ListInstance($async$temp2, $async$result, instanceRef.get$id(instanceRef), setter);
              // goto return
              $async$goto = 1;
              break;
            case 16:
              // case
            case 17:
              // default
              $async$goto = 21;
              return P._asyncAwait(Q._tryParseEnum(instance, $eval, instanceRef.get$id(instanceRef), 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;
              }
              $async$goto = 22;
              return P._asyncAwait($eval.getObjHelper$1$2(instance.Instance_classRef, isAlive, type$.legacy_Class), $async$call$2);
            case 22:
              // returning from await.
              classInstance = $async$result;
              evalForInstance = ref.watch$1$1($.$get$libraryEvalProvider().call$1(classInstance.library.get$uri()).get$future(), t1);
              $async$temp1 = P;
              $async$goto = 23;
              return P._asyncAwait(Q._parseFields(ref, $eval, instance, classInstance, Q.tryParsePackageName($eval._isolate.rootLib.get$uri()), isAlive), $async$call$2);
            case 23:
              // returning from await.
              t1 = $async$temp1.List_List$of($async$result, true, type$.legacy_ObjectField);
              C.JSArray_methods.sort$1(t1, new Q.rawInstanceProvider__closure0());
              $async$goto = 24;
              return P._asyncAwait($eval.getHashCode$2$isAlive(instance, isAlive), $async$call$2);
            case 24:
              // returning from await.
              t2 = $async$result;
              t3 = instance.Instance_classRef;
              $async$temp1 = X;
              $async$temp2 = t1;
              $async$temp3 = t3.get$name(t3);
              $async$temp4 = t2;
              $async$temp5 = instanceRef.get$id(instanceRef);
              $async$temp6 = setter;
              $async$goto = 25;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 554
  };
  Q.rawInstanceProvider__closure.prototype = {
    call$1: function(e) {
      return type$.legacy_InstanceRef._as(e.key);
    },
    $signature: 555
  };
  Q.rawInstanceProvider__closure0.prototype = {
    call$2: function(a, b) {
      return B.sortFieldsByName(a.name, b.name);
    },
    $signature: 556
  };
  Q._parseFields_closure.prototype = {
    call$1: function(field) {
      return this.$call$body$_parseFields_closure(field);
    },
    $call$body$_parseFields_closure: function(field) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_ObjectField),
        $async$returnValue, $async$self = this, ownerUri, ownerName, mixinClass, ownerPackageName, t1, t2, t3, owner, t4, $async$temp1, $async$temp2, $async$temp3, $async$temp4, $async$temp5, $async$temp6;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$eval;
              t2 = $async$self.isAlive;
              t3 = type$.legacy_Class;
              $async$goto = 3;
              return P._asyncAwait(t1.getObjHelper$1$2(field.decl.get$owner(), t2, t3), $async$call$1);
            case 3:
              // returning from await.
              owner = $async$result;
              t4 = owner.mixin;
              $async$goto = t4 == null ? 4 : 6;
              break;
            case 4:
              // then
              ownerUri = owner.library.get$uri();
              ownerName = owner.name;
              // goto join
              $async$goto = 5;
              break;
            case 6:
              // else
              $async$goto = 7;
              return P._asyncAwait(t1.getObjHelper$1$2(t4.get$typeClass(), t2, t3), $async$call$1);
            case 7:
              // returning from await.
              mixinClass = $async$result;
              ownerUri = mixinClass.library.get$uri();
              ownerName = mixinClass.name;
            case 5:
              // join
              ownerPackageName = Q.tryParsePackageName(ownerUri);
              t1 = field.decl;
              t1 = t1.get$name(t1);
              t2 = field.decl;
              $async$temp1 = X;
              $async$temp2 = t1;
              $async$temp3 = t2.get$isFinal(t2);
              $async$temp4 = ownerName;
              $async$temp5 = ownerUri;
              $async$temp6 = E.parseSentinel(field.value, type$.legacy_InstanceRef);
              $async$goto = 8;
              return P._asyncAwait($async$self.ref.watch$1$1($.$get$libraryEvalProvider().call$1(owner.library.get$uri()).get$future(), type$.legacy_FutureOr_legacy_EvalOnDartLibrary), $async$call$1);
            case 8:
              // 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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 557
  };
  Q._providerChanged_closure.prototype = {
    call$2: function(ref, id) {
      return this.$call$body$_providerChanged_closure(ref, id);
    },
    $call$body$_providerChanged_closure: function(ref, id) {
      var $async$call$2 = P._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 = $.$get$serviceProvider();
              $async$goto = 3;
              return P._asyncStarHelper(ref.watch$1$1(t1.get$last(t1), type$.legacy_Future_legacy_VmServiceWrapper), $async$call$2, $async$controller);
            case 3:
              // returning from await.
              t1 = $async$result._vmService._getEventController$1("Extension");
              t2 = H._instanceType(t1)._eval$1("_BroadcastStream<1>");
              $async$goto = 4;
              $async$nextWhenCanceled = [1];
              return P._asyncStarHelper(P._IterationMarker_yieldStar(new P._WhereStream(new Q._providerChanged__closure(id), new P._BroadcastStream(t1, t2), t2._eval$1("_WhereStream<Stream.T>"))), $async$call$2, $async$controller);
            case 4:
              // after yield
            case 1:
              // return
              return P._asyncStarHelper(null, 0, $async$controller);
            case 2:
              // rethrow
              return P._asyncStarHelper($async$currentError, 1, $async$controller);
          }
      });
      var $async$goto = 0,
        $async$controller = P._makeAsyncStarStreamController($async$call$2, type$.legacy_Event_2),
        $async$nextWhenCanceled, $async$handler = 2, $async$currentError, $async$next = [], t2, t1;
      return P._streamOfController($async$controller);
    },
    $signature: 558
  };
  Q._providerChanged__closure.prototype = {
    call$1: function($event) {
      return $event.extensionKind === "provider:provider_changed" && J.$eq$(J.$index$asx($event.extensionData.data, "id"), this.id);
    },
    $signature: 298
  };
  K.isExpandedProvider_closure.prototype = {
    call$2: function(ref, path) {
      return J.get$isEmpty$asx(path.get$pathToProperty());
    },
    $signature: 560
  };
  K.estimatedChildCountProvider_closure.prototype = {
    call$2: function(ref, rootPath) {
      return new K.estimatedChildCountProvider_closure_estimatedChildCount(ref).call$1(rootPath);
    },
    $signature: 561
  };
  K.estimatedChildCountProvider_closure_estimatedChildCount.prototype = {
    call$1: function(path) {
      var t1 = this.ref;
      return t1.watch$1$1($.$get$instanceProvider().call$1(path), type$.legacy_AsyncValue_legacy_InstanceDetails).when$3$data$error$loading(new K.estimatedChildCountProvider__estimatedChildCount_closure(new K.estimatedChildCountProvider_closure_estimatedChildCount_one(), new K.estimatedChildCountProvider_closure_estimatedChildCount_expandableEstimatedChildCount(t1, path, this)), new K.estimatedChildCountProvider__estimatedChildCount_closure0(), new K.estimatedChildCountProvider__estimatedChildCount_closure1());
    },
    $signature: 562
  };
  K.estimatedChildCountProvider_closure_estimatedChildCount_one.prototype = {
    call$1: function(instance) {
      return 1;
    },
    $signature: 297
  };
  K.estimatedChildCountProvider_closure_estimatedChildCount_expandableEstimatedChildCount.prototype = {
    call$1: function(keys) {
      var t3,
        t1 = this.path,
        t2 = this.ref.watch$1$1($.$get$isExpandedProvider().call$1(t1), type$.legacy_StateController_legacy_bool);
      t2.toString;
      t3 = J.getInterceptor$x(t2);
      if (!L.StateNotifier.prototype.get$state.call(t3, t2))
        return 1;
      return J.fold$2$ax(keys, 1, new K.estimatedChildCountProvider__estimatedChildCount_expandableEstimatedChildCount_closure(this.estimatedChildCount, t1));
    },
    $signature: 564
  };
  K.estimatedChildCountProvider__estimatedChildCount_expandableEstimatedChildCount_closure.prototype = {
    call$2: function(acc, element) {
      return acc + this.estimatedChildCount.call$1(this.path.pathForChild$1(element));
    },
    $signature: 565
  };
  K.estimatedChildCountProvider__estimatedChildCount_closure1.prototype = {
    call$0: function() {
      return 1;
    },
    $signature: 103
  };
  K.estimatedChildCountProvider__estimatedChildCount_closure0.prototype = {
    call$2: function(err, stack) {
      return 1;
    },
    $signature: 566
  };
  K.estimatedChildCountProvider__estimatedChildCount_closure.prototype = {
    call$1: function(instance) {
      var t1 = this.one,
        t2 = this.expandableEstimatedChildCount;
      return instance.map$8$boolean$enumeration$list$map$nill$number$object$string(0, t1, t1, new K.estimatedChildCountProvider__estimatedChildCount__closure(t2), new K.estimatedChildCountProvider__estimatedChildCount__closure0(t2), t1, t1, new K.estimatedChildCountProvider__estimatedChildCount__closure1(t2), t1);
    },
    $signature: 297
  };
  K.estimatedChildCountProvider__estimatedChildCount__closure0.prototype = {
    call$1: function(instance) {
      return this.expandableEstimatedChildCount.call$1(J.map$1$1$ax(instance.keys, new K.estimatedChildCountProvider__estimatedChildCount___closure0(), type$.legacy_PathToProperty));
    },
    $signature: 567
  };
  K.estimatedChildCountProvider__estimatedChildCount___closure0.prototype = {
    call$1: function(key) {
      return new X._$MapKeyPath(key.get$instanceRefId());
    },
    $signature: 568
  };
  K.estimatedChildCountProvider__estimatedChildCount__closure.prototype = {
    call$1: function(instance) {
      return this.expandableEstimatedChildCount.call$1(P.List_List$generate(instance.length, C.C__$PathToPropertyTearOff.get$listIndex(), true, type$.legacy_PathToProperty));
    },
    $signature: 569
  };
  K.estimatedChildCountProvider__estimatedChildCount__closure1.prototype = {
    call$1: function(instance) {
      var t1 = instance.fields;
      return this.expandableEstimatedChildCount.call$1(new H.MappedListIterable(t1, new K.estimatedChildCountProvider__estimatedChildCount___closure(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,PathToProperty*>")));
    },
    $signature: 570
  };
  K.estimatedChildCountProvider__estimatedChildCount___closure.prototype = {
    call$1: function(field) {
      return new X._$PropertyPath(field.name, field.ownerUri, field.ownerName);
    },
    $signature: 571
  };
  K.InstanceViewer.prototype = {
    createState$0: function() {
      return new K._InstanceViewerState(F.ScrollController$(0), C._StateLifecycle_0);
    }
  };
  K._InstanceViewerState.prototype = {
    dispose$0: function(_) {
      this.scrollController.dispose$0(0);
      this.super$State$dispose(0);
    },
    _instance_viewer$_buildError$3: function(error, stackTrace, path) {
      var _null = null;
      if (error instanceof B.SentinelException0)
        return H._setArrayType([L.Text$(error.sentinel.valueAsString, _null, _null, _null, _null, _null, _null, _null, _null, _null)], type$.JSArray_legacy_Widget);
      return C.List_kSE;
    },
    _buildListViewItems$4$disableExpand$path: function(context, watch, disableExpand, path) {
      return watch.call$1$1($.$get$instanceProvider().call$1(path), type$.legacy_AsyncValue_legacy_InstanceDetails).when$3$data$error$loading(new K._InstanceViewerState__buildListViewItems_closure(this, watch, path, disableExpand, context), new K._InstanceViewerState__buildListViewItems_closure0(this, path), new K._InstanceViewerState__buildListViewItems_closure1());
    },
    _buildListViewItems$3$path: function(context, watch, path) {
      return this._buildListViewItems$4$disableExpand$path(context, watch, false, path);
    },
    _buildHeader$4$disableExpand$isExpanded$path: function(instance, disableExpand, isExpanded, path) {
      var t1 = !disableExpand && instance.get$isExpandable();
      return new K._Expandable(isExpanded, t1, instance.map$8$boolean$enumeration$list$map$nill$number$object$string(0, new K._InstanceViewerState__buildHeader_closure(), new K._InstanceViewerState__buildHeader_closure0(), new K._InstanceViewerState__buildHeader_closure1(), new K._InstanceViewerState__buildHeader_closure2(), new K._InstanceViewerState__buildHeader_closure3(), new K._InstanceViewerState__buildHeader_closure4(), new K._InstanceViewerState__buildHeader_closure5(), new K._InstanceViewerState__buildHeader_closure6()), new D.ValueKey(path, type$.ValueKey_legacy_InstancePath));
    },
    _buildHeader$3$disableExpand$path: function(instance, disableExpand, path) {
      return this._buildHeader$4$disableExpand$isExpanded$path(instance, disableExpand, null, path);
    },
    _buildMapItem$4$path: function(context, watch, instance, path) {
      return this._buildMapItem$body$_InstanceViewerState(context, watch, instance, path);
    },
    _buildMapItem$body$_InstanceViewerState: function($async$context, $async$watch, $async$instance, $async$path) {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var context = $async$context,
          watch = $async$watch,
          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_legacy_Widget, t3 = type$.legacy_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 = P.List_List$of(path.get$pathToProperty(), true, t3);
                t6.push(new X._$MapKeyPath(t5));
                value = $async$self._buildListViewItems$3$path(context, watch, 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);
                $async$goto = 7;
                return new T.Padding(C.EdgeInsets_16_0_0_0, isFirstItem ? T.Row$(H._setArrayType([keyHeader, C.Text_e3E, new T.Expanded(1, C.FlexFit_0, t5, null)], t2), C.CrossAxisAlignment_2, null, C.MainAxisAlignment_0, C.MainAxisSize_1, null) : t5, null);
              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 P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.legacy_Widget);
    },
    _buildListItem$4$path: function(context, watch, instance, path) {
      return this._buildListItem$body$_InstanceViewerState(context, watch, instance, path);
    },
    _buildListItem$body$_InstanceViewerState: function($async$context, $async$watch, $async$instance, $async$path) {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var context = $async$context,
          watch = $async$watch,
          instance = $async$instance,
          path = $async$path;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, index, t4, 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_legacy_Widget, t3 = type$.legacy_PathToProperty, index = 0;
              case 2:
                // for condition
                if (!(index < t1)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                t4 = P.List_List$of(path.get$pathToProperty(), true, t3);
                t4.push(new X._$ListIndexPath(index));
                t4 = J.get$iterator$ax($async$self._buildListViewItems$3$path(context, watch, path.copyWith$1$pathToProperty(t4))), 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 = T.Row$(H._setArrayType([new L.Text("[" + index + "]: ", null, null, null, null, null, null, null, null, null, null), new T.Expanded(1, C.FlexFit_0, rowItem, null)], t2), C.CrossAxisAlignment_2, null, C.MainAxisAlignment_0, C.MainAxisSize_1, null);
                  isFirst = false;
                }
                $async$goto = 7;
                return new T.Padding(C.EdgeInsets_16_0_0_0, rowItem, 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 P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.legacy_Widget);
    },
    _buildObjectItem$4$path: function(context, watch, instance, path) {
      return this._buildObjectItem$body$_InstanceViewerState(context, watch, instance, path);
    },
    _buildObjectItem$body$_InstanceViewerState: function($async$context, $async$watch, $async$instance, $async$path) {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var context = $async$context,
          watch = $async$watch,
          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_legacy_Widget, t4 = type$.legacy_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 && J.startsWith$1$s(field.name, "_")) {
                  // goto for update
                  $async$goto = 3;
                  break;
                }
                t5 = field.name;
                t6 = field.ownerUri;
                t7 = field.ownerName;
                t8 = P.List_List$of(path.get$pathToProperty(), true, t4);
                t8.push(new X._$PropertyPath(t5, t6, t7));
                t6 = J.get$iterator$ax($async$self._buildListViewItems$3$path(context, watch, path.copyWith$1$pathToProperty(t8))), 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) {
                  t8 = H._setArrayType([], t3);
                  if (t7) {
                    if (K.Theme_of(context).colorScheme.brightness === C.Brightness_1) {
                      t9 = C.Map_HFpTk.$index(0, 500);
                      t9.toString;
                    } else {
                      t9 = C.Map_HFpTk.$index(0, 600);
                      t9.toString;
                    }
                    t8.push(new L.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));
                  }
                  t8.push(new L.Text(H.S(t5) + ": ", null, null, null, null, null, null, null, null, null, null));
                  t8.push(new T.Expanded(1, C.FlexFit_0, rowItem, null));
                  rowItem = T.Row$(t8, C.CrossAxisAlignment_2, null, C.MainAxisAlignment_0, C.MainAxisSize_1, null);
                  isFirst = false;
                }
                $async$goto = 7;
                return new T.Padding(C.EdgeInsets_16_0_0_0, rowItem, null);
              case 7:
                // after yield
                // goto for condition
                $async$goto = 5;
                break;
              case 6:
                // after for
              case 3:
                // for update
                t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.legacy_Widget);
    },
    build$1: function(_, context) {
      return U.Consumer$(new K._InstanceViewerState_build_closure(this));
    }
  };
  K._InstanceViewerState__buildListViewItems_closure1.prototype = {
    call$0: function() {
      return C.List_O8P;
    },
    $signature: 296
  };
  K._InstanceViewerState__buildListViewItems_closure0.prototype = {
    call$2: function(err, stack) {
      return this.$this._instance_viewer$_buildError$3(err, stack, this.path);
    },
    $signature: 573
  };
  K._InstanceViewerState__buildListViewItems_closure.prototype = {
    call$1: function(instance) {
      return this.$call$body$_InstanceViewerState__buildListViewItems_closure(instance);
    },
    $call$body$_InstanceViewerState__buildListViewItems_closure: function($async$instance) {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var instance = $async$instance;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t4, t1, t2, isExpanded, t3;
        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.watch;
                t2 = $async$self.path;
                isExpanded = t1.call$1$1($.$get$isExpandedProvider().call$1(t2), type$.legacy_StateController_legacy_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
                isExpanded.toString;
                $async$goto = L.StateNotifier.prototype.get$state.call(isExpanded, isExpanded) ? 3 : 4;
                break;
              case 3:
                // then
                t4 = $async$self.context;
                $async$goto = 5;
                return P._IterationMarker_yieldStar(instance.maybeMap$4$list$map$object$orElse(new K._InstanceViewerState__buildListViewItems__closure(t3, t4, t1, instance, t2), new K._InstanceViewerState__buildListViewItems__closure0(t3, t4, t1, instance, t2), new K._InstanceViewerState__buildListViewItems__closure1(t3, t4, t1, t2), new K._InstanceViewerState__buildListViewItems__closure2()));
              case 5:
                // after yield
              case 4:
                // join
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.legacy_Widget);
    },
    $signature: 574
  };
  K._InstanceViewerState__buildListViewItems__closure1.prototype = {
    call$1: function(instance) {
      var _this = this;
      return _this.$this._buildObjectItem$4$path(_this.context, _this.watch, instance, _this.path);
    },
    $signature: 575
  };
  K._InstanceViewerState__buildListViewItems__closure.prototype = {
    call$1: function(list) {
      var _this = this;
      return _this.$this._buildListItem$4$path(_this.context, _this.watch, _this.instance, _this.path);
    },
    $signature: 576
  };
  K._InstanceViewerState__buildListViewItems__closure0.prototype = {
    call$1: function(map) {
      var _this = this;
      return _this.$this._buildMapItem$4$path(_this.context, _this.watch, _this.instance, _this.path);
    },
    $signature: 577
  };
  K._InstanceViewerState__buildListViewItems__closure2.prototype = {
    call$0: function() {
      return C.List_empty11;
    },
    $signature: 296
  };
  K._InstanceViewerState__buildHeader_closure0.prototype = {
    call$1: function(instance) {
      var _null = null,
        t1 = instance.type,
        t2 = instance.value,
        t3 = H.S(t1) + "." + H.S(t2);
      return new K._EditableField(L.Text$rich(Q.TextSpan$(H._setArrayType([Q.TextSpan$(_null, _null, _null, C.TextStyle_wsa, t1), Q.TextSpan$(_null, _null, _null, _null, "." + H.S(t2))], type$.JSArray_legacy_InlineSpan), _null, _null, _null, _null), _null, _null, _null), t3, instance.setter, _null);
    },
    $signature: 578
  };
  K._InstanceViewerState__buildHeader_closure3.prototype = {
    call$1: function(instance) {
      return new K._EditableField(C.Text_cKo, "null", instance.setter, null);
    },
    $signature: 579
  };
  K._InstanceViewerState__buildHeader_closure6.prototype = {
    call$1: function(instance) {
      var _null = null,
        t1 = instance.displayString,
        t2 = '"' + H.S(t1) + '"';
      return new K._EditableField(L.Text$rich(Q.TextSpan$(H._setArrayType([C.TextSpan_waZ, Q.TextSpan$(_null, _null, _null, C.TextStyle_61r, t1), C.TextSpan_waZ], type$.JSArray_legacy_InlineSpan), _null, _null, _null, _null), _null, _null, _null), t2, instance.setter, _null);
    },
    $signature: 580
  };
  K._InstanceViewerState__buildHeader_closure4.prototype = {
    call$1: function(instance) {
      var _null = null,
        t1 = instance.displayString;
      return new K._EditableField(L.Text$(t1, _null, _null, _null, _null, _null, C.TextStyle_H37, _null, _null, _null), t1, instance.setter, _null);
    },
    $signature: 581
  };
  K._InstanceViewerState__buildHeader_closure.prototype = {
    call$1: function(instance) {
      var _null = null,
        t1 = instance.displayString;
      return new K._EditableField(L.Text$(t1, _null, _null, _null, _null, _null, C.TextStyle_wIY, _null, _null, _null), t1, instance.setter, _null);
    },
    $signature: 582
  };
  K._InstanceViewerState__buildHeader_closure2.prototype = {
    call$1: function(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" : H.S(t2.get$length(t1)) + " elements";
      return new K._ObjectHeader(null, instance.hash, t1, "{", "}", null);
    },
    $signature: 583
  };
  K._InstanceViewerState__buildHeader_closure1.prototype = {
    call$1: function(instance) {
      var t1 = instance.length;
      if (t1 === 0)
        t1 = null;
      else
        t1 = t1 === 1 ? "1 element" : H.S(t1) + " elements";
      return new K._ObjectHeader(null, instance.hash, t1, "[", "]", null);
    },
    $signature: 584
  };
  K._InstanceViewerState__buildHeader_closure5.prototype = {
    call$1: function(instance) {
      return new K._ObjectHeader(instance.type, instance.hash, null, "", "", null);
    },
    $signature: 585
  };
  K._InstanceViewerState_build_closure.prototype = {
    call$3: function(context, watch, _) {
      var t1 = this.$this,
        t2 = t1.scrollController;
      return E.Scrollbar$(B.ListView$custom(new Q.SliverIterableChildDelegate(t1._buildListViewItems$4$disableExpand$path(context, watch, true, t1._widget.rootPath), watch.call$1$1($.$get$estimatedChildCountProvider().call$1(t1._widget.rootPath), type$.legacy_int)), t2, 20, C.EdgeInsets_16_8_16_8), t2, true);
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 586
  };
  K._ObjectHeader.prototype = {
    build$1: function(_, context) {
      var t3, _this = this, _null = null,
        colorScheme = K.Theme_of(context).colorScheme,
        t1 = H._setArrayType([], type$.JSArray_legacy_InlineSpan),
        t2 = _this.type;
      if (t2 != null)
        t1.push(Q.TextSpan$(_null, _null, _null, C.TextStyle_wsa, t2));
      t2 = "#" + Y.shortHash(_this.hash);
      if (colorScheme.brightness === C.Brightness_1) {
        t3 = C.Map_HFpTk.$index(0, 500);
        t3.toString;
      } else {
        t3 = C.Map_HFpTk.$index(0, 600);
        t3.toString;
      }
      t1.push(Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), t2));
      t1.push(Q.TextSpan$(_null, _null, _null, _null, _this.startToken));
      t2 = _this.meta;
      if (t2 != null)
        t1.push(Q.TextSpan$(_null, _null, _null, _null, t2));
      t1.push(Q.TextSpan$(_null, _null, _null, _null, _this.endToken));
      return L.Text$rich(Q.TextSpan$(t1, _null, _null, _null, _null), _null, _null, _null);
    }
  };
  K._EditableField.prototype = {
    createState$0: function() {
      var _null = null;
      return new K._EditableFieldState(D.TextEditingController$(_null), O.FocusNode$(true, _null, true, _null, false), O.FocusNode$(true, _null, true, _null, false), new B.Disposable(), C._StateLifecycle_0);
    },
    setter$1: function(arg0) {
      return this.setter.call$1(arg0);
    }
  };
  K._EditableFieldState.prototype = {
    dispose$0: function(_) {
      var _this = this;
      _this._isAlive.disposed = true;
      _this.focusNode.dispose$0(0);
      _this.textFieldFocusNode.dispose$0(0);
      _this.super$State$dispose(0);
    },
    build$1: function(_, context) {
      var editingChild, t2, _this = this, _null = null,
        t1 = _this._widget;
      if (t1.setter == null)
        return t1.child;
      t1 = K.Theme_of(context).colorScheme.surface;
      editingChild = Z.TextField$(true, _this.controller, _null, L.InputDecoration$(_null, new F.OutlineInputBorder(4, C.BorderRadius_tLn2, new Y.BorderSide(t1, 1, C.BorderStyle_1)), _null, C.EdgeInsets_4_4_4_4, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _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, _this.textFieldFocusNode, _null, _null, _null, _null, _null, new K._EditableFieldState_build_closure(_this, context), _null);
      t2 = H._setArrayType([], type$.JSArray_legacy_Widget);
      if (_this.isHovering)
        t2.push(T.Positioned$(-5, M.DecoratedBox$(_null, new S.BoxDecoration(_null, _null, F.Border_Border$all(t1, 1), C.BorderRadius_tLn0, _null, _null, _null, C.BoxShape_0), C.DecorationPosition_0), _null, _null, -5, -5, -5, _null));
      t2.push(D.GestureDetector$(C.HitTestBehavior_1, new T.Align(C.Alignment_m1_0, _null, 1, _this._widget.child, _null), C.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new K._EditableFieldState_build_closure0(_this), _null, _null, _null, _null, _null, _null));
      return K.AnimatedBuilder$(_this.focusNode, new K._EditableFieldState_build_closure1(_this, editingChild, T.Stack$(C.AlignmentDirectional_m1_m1, t2, C.Clip_0, C.StackFit_0, _null, _null)), _null);
    }
  };
  K._EditableFieldState_build_closure.prototype = {
    call$1: function(value) {
      return this.$call$body$_EditableFieldState_build_closure(value);
    },
    $call$body$_EditableFieldState_build_closure: function(value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, err, t1, exception, $async$exception;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 3;
              t1 = $async$self.$this._widget;
              $async$goto = t1.setter != null ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return P._asyncAwait(t1.setter$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 = H.unwrapException($async$exception);
              t1 = $async$self.context.dependOnInheritedWidgetOfExactType$1$0(type$._ScaffoldMessengerScope);
              t1.toString;
              t1._scaffoldMessengerState.showSnackBar$1(N.SnackBar$(null, null, null, null, L.Text$("Error: " + H.S(err), null, null, null, null, null, null, null, null, null), C.DismissDirection_5, C.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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 295
  };
  K._EditableFieldState_build_closure0.prototype = {
    call$0: function() {
      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(X.TextSelection$(C.TextAffinity_1, 0, t1._widget.initialEditString.length, false));
    },
    $signature: 1
  };
  K._EditableFieldState_build_closure1.prototype = {
    call$2: function(context, _) {
      var _null = null,
        t1 = this.$this,
        t2 = t1.focusNode,
        t3 = t2.get$hasFocus() ? this.editingChild : this.displayChild;
      return L.Focus$(false, _null, new T.MouseRegion(new K._EditableFieldState_build__closure(t1), _null, new K._EditableFieldState_build__closure0(t1), C.C__DeferringMouseCursor, true, t3, _null), _null, true, t2, true, _null, _null, new K._EditableFieldState_build__closure1(t1), _null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 588
  };
  K._EditableFieldState_build__closure1.prototype = {
    call$2: function(node, key) {
      if (key.data.get$physicalKey().$eq(0, C.PhysicalKeyboardKey_458793)) {
        this.$this.focusNode.unfocus$0();
        return C.KeyEventResult_0;
      }
      return C.KeyEventResult_1;
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 76
  };
  K._EditableFieldState_build__closure.prototype = {
    call$1: function(_) {
      var t1 = this.$this;
      return t1.setState$1(new K._EditableFieldState_build___closure0(t1));
    },
    $signature: 589
  };
  K._EditableFieldState_build___closure0.prototype = {
    call$0: function() {
      return this.$this.isHovering = true;
    },
    $signature: 31
  };
  K._EditableFieldState_build__closure0.prototype = {
    call$1: function(_) {
      var t1 = this.$this;
      return t1.setState$1(new K._EditableFieldState_build___closure(t1));
    },
    $signature: 196
  };
  K._EditableFieldState_build___closure.prototype = {
    call$0: function() {
      return this.$this.isHovering = false;
    },
    $signature: 31
  };
  K._Expandable.prototype = {
    build$1: function(_, context) {
      var t1, _this = this, _null = null;
      if (!_this.isExpandable)
        return new T.Align(C.Alignment_m1_0, _null, _null, _this.title, _null);
      t1 = _this.isExpanded;
      t1.toString;
      t1 = L.StateNotifier.prototype.get$state.call(t1, t1) ? 0 : -1.5707963267948966;
      return D.GestureDetector$(C.HitTestBehavior_1, T.Row$(H._setArrayType([new Z.TweenAnimationBuilder(new R.Tween(_null, t1, type$.Tween_legacy_double), new K._Expandable_build_closure(), C.C__Linear, C.Duration_200000, _null, _null, type$.TweenAnimationBuilder_legacy_double), _this.title], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), C.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new K._Expandable_build_closure0(_this), _null, _null, _null, _null, _null, _null);
    },
    get$isExpanded: function() {
      return this.isExpanded;
    },
    get$isExpandable: function() {
      return this.isExpandable;
    }
  };
  K._Expandable_build_closure0.prototype = {
    call$0: function() {
      var t2,
        t1 = this.$this.isExpanded;
      t1.toString;
      t2 = !L.StateNotifier.prototype.get$state.call(t1, t1);
      t1.super$StateNotifier$state(0, t2);
      return t2;
    },
    $signature: 31
  };
  K._Expandable_build_closure.prototype = {
    call$3: function(context, angle, _) {
      return T.Transform$rotate(C.Alignment_0_0, angle, C.Icon_8aB, null);
    },
    $signature: 590
  };
  E.Result.prototype = {
    get$dataOrThrow: function() {
      return this.when$2$data$error(new E.Result_dataOrThrow_closure(this), new E.Result_dataOrThrow_closure0());
    }
  };
  E.Result_dataOrThrow_closure.prototype = {
    call$1: function(value) {
      return value;
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("Result.T*(Result.T*)");
    }
  };
  E.Result_dataOrThrow_closure0.prototype = {
    call$2: function(err, stack) {
      throw H.wrapException(err);
    },
    $signature: 230
  };
  E._$Result.prototype = {};
  E._$_ResultData.prototype = {
    toString$0: function(_) {
      return "Result<" + H.createRuntimeType(this.$ti._eval$1("1*")).toString$0(0) + ">.data(value: " + H.S(this.value) + ")";
    },
    $eq: function(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (this !== other)
        if (this.$ti._eval$1("_ResultData<1*>*")._is(other)) {
          t1 = other.value;
          t2 = this.value;
          t1 = (t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2);
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      return (H.Primitives_objectHashCode(H.getRuntimeType(this)) ^ C.C_DeepCollectionEquality.hash$1(0, this.value)) >>> 0;
    },
    when$1$2$data$error: function(data, error) {
      return data.call$1(this.value);
    },
    when$2$data$error: function(data, error) {
      return this.when$1$2$data$error(data, error, type$.legacy_Object);
    }
  };
  E._ResultData.prototype = {};
  E._$_ResultError.prototype = {
    toString$0: function(_) {
      return "Result<" + H.createRuntimeType(this.$ti._eval$1("1*")).toString$0(0) + ">.error(error: " + H.S(this.error) + ", stackTrace: " + H.S(this.stackTrace) + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (_this.$ti._eval$1("_ResultError<1*>*")._is(other)) {
          t1 = other.error;
          t2 = _this.error;
          if (t1 === t2 || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.stackTrace;
            t2 = _this.stackTrace;
            t1 = t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2);
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      return (H.Primitives_objectHashCode(H.getRuntimeType(this)) ^ C.C_DeepCollectionEquality.hash$1(0, this.error) ^ C.C_DeepCollectionEquality.hash$1(0, this.stackTrace)) >>> 0;
    },
    when$1$2$data$error: function(data, error) {
      return error.call$2(this.error, this.stackTrace);
    },
    when$2$data$error: function(data, error) {
      return this.when$1$2$data$error(data, error, type$.legacy_Object);
    }
  };
  E._ResultError.prototype = {};
  E._Result_Object__$Result.prototype = {};
  F.familyAsyncDebounce_closure.prototype = {
    call$2: function(ref, id) {
      var t2, t3, t4, t5, controller, t1 = {};
      ref.watch$1$1($.$get$hotRestartEventProvider(), type$.legacy_AsyncValue_void);
      t1.listening = true;
      t2 = this.family;
      t3 = t2.call$1(id);
      t4 = this.Listened;
      t5 = t4._eval$1("0*");
      controller = new F.StateController(new P.LinkedList(t4._eval$1("LinkedList<_ListenerEntry0<0*>>")), ref.get$_container().read$1$1(0, t3, t5), t4._eval$1("StateController<0*>"));
      t1.timer = null;
      ref.onDispose$1(new F.familyAsyncDebounce__closure(t1));
      ref.onDispose$1(new F.familyAsyncDebounce__closure0(t1, ref.get$_container().listen$1$3$didChange$mayHaveChanged(t2.call$1(id), new F.familyAsyncDebounce__closure1(t1, controller, t4), new F.familyAsyncDebounce__closure2(t1, ref, t4), t5)));
      return controller;
    },
    $signature: function() {
      return this.Listened._eval$1("@<0>")._bind$1(this.Id)._eval$1("StateController<1*>*(AutoDisposeProviderReference*,2*)");
    }
  };
  F.familyAsyncDebounce__closure.prototype = {
    call$0: function() {
      var t1 = this._box_0.timer;
      return t1 == null ? null : t1.cancel$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  F.familyAsyncDebounce__closure2.prototype = {
    call$1: function(sub) {
      return P.Future_Future$microtask(new F.familyAsyncDebounce___closure(this._box_0, this.ref, sub), type$.Null);
    },
    $signature: function() {
      return this.Listened._eval$1("Future<Null>*(ProviderSubscription<0*>*)");
    }
  };
  F.familyAsyncDebounce___closure.prototype = {
    call$0: function() {
      if (this.ref._mounted && this._box_0.listening)
        this.sub.flush$0(0);
    },
    $signature: 1
  };
  F.familyAsyncDebounce__closure1.prototype = {
    call$1: function(sub) {
      var value, t3,
        t1 = this._box_0,
        t2 = t1.timer;
      if (t2 != null)
        t2.cancel$0(0);
      value = sub.read$0(0);
      t2 = this.controller;
      t3 = this.Listened;
      J.map$3$data$error$loading$ax(value, new F.familyAsyncDebounce___closure0(t2, value, t3), new F.familyAsyncDebounce___closure1(t2, value, t3), new F.familyAsyncDebounce___closure2(t1, t2, value));
    },
    $signature: function() {
      return this.Listened._eval$1("Null(ProviderSubscription<0*>*)");
    }
  };
  F.familyAsyncDebounce___closure0.prototype = {
    call$1: function(_) {
      var t1 = this.value;
      this.controller.super$StateNotifier$state(0, t1);
      return t1;
    },
    $signature: function() {
      return this.Listened._eval$1("0*(AsyncData<@>*)");
    }
  };
  F.familyAsyncDebounce___closure1.prototype = {
    call$1: function(_) {
      var t1 = this.value;
      this.controller.super$StateNotifier$state(0, t1);
      return t1;
    },
    $signature: function() {
      return this.Listened._eval$1("0*(AsyncError0<@>*)");
    }
  };
  F.familyAsyncDebounce___closure2.prototype = {
    call$1: function(_) {
      this._box_0.timer = P.Timer_Timer(C.Duration_1000000, new F.familyAsyncDebounce____closure(this.controller, this.value));
    },
    $signature: 294
  };
  F.familyAsyncDebounce____closure.prototype = {
    call$0: function() {
      this.controller.super$StateNotifier$state(0, this.value);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  F.familyAsyncDebounce__closure0.prototype = {
    call$0: function() {
      this.sub.close$0(0);
      this._box_0.listening = false;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  F.asyncDebounce_closure.prototype = {
    call$1: function(ref) {
      var t2, t3, t4, controller, t1 = {};
      ref.watch$1$1($.$get$hotRestartEventProvider(), type$.legacy_AsyncValue_void);
      t1.listening = true;
      t2 = this.provider;
      t3 = this.Listened;
      t4 = t3._eval$1("0*");
      controller = new F.StateController(new P.LinkedList(t3._eval$1("LinkedList<_ListenerEntry0<0*>>")), ref.get$_container().read$1$1(0, t2, t4), t3._eval$1("StateController<0*>"));
      t1.timer = null;
      ref.onDispose$1(new F.asyncDebounce__closure(t1));
      ref.onDispose$1(new F.asyncDebounce__closure0(t1, ref.get$_container().listen$1$3$didChange$mayHaveChanged(t2, new F.asyncDebounce__closure1(t1, controller, t3), new F.asyncDebounce__closure2(t1, ref, t3), t4)));
      return controller;
    },
    $signature: function() {
      return this.Listened._eval$1("StateController<0*>*(AutoDisposeProviderReference*)");
    }
  };
  F.asyncDebounce__closure.prototype = {
    call$0: function() {
      var t1 = this._box_0.timer;
      return t1 == null ? null : t1.cancel$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  F.asyncDebounce__closure2.prototype = {
    call$1: function(sub) {
      return P.Future_Future$microtask(new F.asyncDebounce___closure(this._box_0, this.ref, sub), type$.Null);
    },
    $signature: function() {
      return this.Listened._eval$1("Future<Null>*(ProviderSubscription<0*>*)");
    }
  };
  F.asyncDebounce___closure.prototype = {
    call$0: function() {
      if (this.ref._mounted && this._box_0.listening)
        this.sub.flush$0(0);
    },
    $signature: 1
  };
  F.asyncDebounce__closure1.prototype = {
    call$1: function(sub) {
      var value,
        t1 = this._box_0,
        t2 = t1.timer;
      if (t2 != null)
        t2.cancel$0(0);
      value = sub.read$0(0);
      t2 = this.controller;
      J.map$3$data$error$loading$ax(value, new F.asyncDebounce___closure0(t2, value), new F.asyncDebounce___closure1(t2, value), new F.asyncDebounce___closure2(t1, t2, value));
    },
    $signature: function() {
      return this.Listened._eval$1("Null(ProviderSubscription<0*>*)");
    }
  };
  F.asyncDebounce___closure0.prototype = {
    call$1: function(_) {
      this.controller.super$StateNotifier$state(0, this.value);
    },
    $signature: 592
  };
  F.asyncDebounce___closure1.prototype = {
    call$1: function(_) {
      this.controller.super$StateNotifier$state(0, this.value);
    },
    $signature: 593
  };
  F.asyncDebounce___closure2.prototype = {
    call$1: function(_) {
      this._box_0.timer = P.Timer_Timer(C.Duration_1000000, new F.asyncDebounce____closure(this.controller, this.value));
    },
    $signature: 294
  };
  F.asyncDebounce____closure.prototype = {
    call$0: function() {
      this.controller.super$StateNotifier$state(0, this.value);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  F.asyncDebounce__closure0.prototype = {
    call$0: function() {
      this.sub.close$0(0);
      this._box_0.listening = false;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  Z.selectedProviderIdProvider_closure.prototype = {
    call$1: function(ref) {
      var controller = new F.StateController(new P.LinkedList(type$.LinkedList__ListenerEntry_legacy_String), null, type$.StateController_legacy_String);
      ref.onDispose$1(ref.watch$1$1($.$get$sortedProviderNodesProvider().get$notifier(), type$.legacy_StateController_legacy_AsyncValue_legacy_List_legacy_ProviderNode).addListener$1(0, new Z.selectedProviderIdProvider__closure(controller)));
      return controller;
    },
    $signature: 594
  };
  Z.selectedProviderIdProvider__closure.prototype = {
    call$1: function(asyncValue) {
      var t2,
        t1 = asyncValue.get$data(asyncValue),
        nodes = t1 == null ? null : t1.value;
      if (nodes == null)
        return;
      t1 = this.controller;
      if (L.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 Z.selectedProviderIdProvider___closure(t1)))
        t1.super$StateNotifier$state(0, t2.get$first(nodes).id);
    },
    $signature: 595
  };
  Z.selectedProviderIdProvider___closure.prototype = {
    call$1: function(node) {
      var t1 = node.id,
        t2 = this.controller;
      t2 = L.StateNotifier.prototype.get$state.call(t2, t2);
      return t1 == null ? t2 == null : t1 === t2;
    },
    $signature: 291
  };
  Z.ProviderList.prototype = {
    createState$0: function() {
      return new Z._ProviderListState(F.ScrollController$(0), C._StateLifecycle_0);
    }
  };
  Z._ProviderListState.prototype = {
    dispose$0: function(_) {
      this.scrollController.dispose$0(0);
      this.super$State$dispose(0);
    },
    build$1: function(_, context) {
      return U.Consumer$(new Z._ProviderListState_build_closure(this));
    }
  };
  Z._ProviderListState_build_closure.prototype = {
    call$3: function(context, watch, child) {
      return watch.call$1$1($.$get$sortedProviderNodesProvider(), type$.legacy_AsyncValue_legacy_List_legacy_ProviderNode).when$3$data$error$loading(new Z._ProviderListState_build__closure(this.$this), new Z._ProviderListState_build__closure0(), new Z._ProviderListState_build__closure1());
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 597
  };
  Z._ProviderListState_build__closure1.prototype = {
    call$0: function() {
      return C.Center_mtF;
    },
    $signature: 598
  };
  Z._ProviderListState_build__closure0.prototype = {
    call$2: function(err, stack) {
      return C.Padding_wwP;
    },
    $signature: 599
  };
  Z._ProviderListState_build__closure.prototype = {
    call$1: function(nodes) {
      var t1 = this.$this.scrollController;
      return E.Scrollbar$(B.ListView$builder(t1, new Z._ProviderListState_build___closure(nodes), J.get$length$asx(nodes), null, null, null, false, C.Axis_1, false), t1, true);
    },
    $signature: 600
  };
  Z._ProviderListState_build___closure.prototype = {
    call$2: function(context, index) {
      var node = J.$index$asx(this.nodes, index);
      return new Z.ProviderNodeItem(node, new D.ValueKey("provider-" + H.S(node.id), type$.ValueKey_String));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 601
  };
  Z.ProviderNodeItem.prototype = {
    build$2: function(_, context, watch) {
      var backgroundColor, _null = null,
        t1 = this.node,
        isSelected = J.$eq$(watch.call$1$1($.$get$selectedProviderIdProvider(), type$.legacy_String), t1.id),
        colorScheme = K.Theme_of(context).colorScheme;
      if (isSelected)
        backgroundColor = colorScheme.brightness === C.Brightness_1 ? C.Color_4291477317 : C.Color_4284704103;
      else
        backgroundColor = _null;
      return D.GestureDetector$(C.HitTestBehavior_1, M.Container$(_null, L.Text$(H.S(t1.type) + "()", _null, _null, _null, _null, _null, _null, _null, _null, _null), C.Clip_0, backgroundColor, _null, _null, _null, _null, _null, _null, C.EdgeInsets_16_4_4_4, _null, _null, _null), C.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new Z.ProviderNodeItem_build_closure(this, context), _null, _null, _null, _null, _null, _null);
    },
    get$node: function() {
      return this.node;
    }
  };
  Z.ProviderNodeItem_build_closure.prototype = {
    call$0: function() {
      var t1 = $.$get$selectedProviderIdProvider().get$notifier();
      t1 = N.ProviderScope_containerOf(this.context, false).read$1$1(0, t1, type$.legacy_StateController_legacy_String);
      t1.toString;
      J.getInterceptor$x(t1).super$StateNotifier$state(t1, this.$this.node.id);
    },
    $signature: 1
  };
  A.ProviderNode.prototype = {};
  A._providerListChanged_closure.prototype = {
    call$1: function(ref) {
      return this.$call$body$_providerListChanged_closure(ref);
    },
    $call$body$_providerListChanged_closure: function(ref) {
      var $async$call$1 = P._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 = $.$get$serviceProvider();
              $async$goto = 3;
              return P._asyncStarHelper(ref.watch$1$1(t1.get$last(t1), type$.legacy_Future_legacy_VmServiceWrapper), $async$call$1, $async$controller);
            case 3:
              // returning from await.
              t1 = $async$result._vmService._getEventController$1("Extension");
              t2 = H._instanceType(t1)._eval$1("_BroadcastStream<1>");
              $async$goto = 4;
              $async$nextWhenCanceled = [1];
              return P._asyncStarHelper(P._IterationMarker_yieldStar(new P._WhereStream(new A._providerListChanged__closure(), new P._BroadcastStream(t1, t2), t2._eval$1("_WhereStream<Stream.T>"))), $async$call$1, $async$controller);
            case 4:
              // after yield
            case 1:
              // return
              return P._asyncStarHelper(null, 0, $async$controller);
            case 2:
              // rethrow
              return P._asyncStarHelper($async$currentError, 1, $async$controller);
          }
      });
      var $async$goto = 0,
        $async$controller = P._makeAsyncStarStreamController($async$call$1, type$.legacy_Event_2),
        $async$nextWhenCanceled, $async$handler = 2, $async$currentError, $async$next = [], t2, t1;
      return P._streamOfController($async$controller);
    },
    $signature: 602
  };
  A._providerListChanged__closure.prototype = {
    call$1: function($event) {
      return $event.extensionKind === "provider:provider_list_changed";
    },
    $signature: 298
  };
  A._rawProviderIdsProvider_closure.prototype = {
    call$1: function(ref) {
      return this.$call$body$_rawProviderIdsProvider_closure(ref);
    },
    $call$body$_rawProviderIdsProvider_closure: function(ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_String),
        $async$returnValue, isAlive, $eval, providerIdRefs, t2, t3, providerIdInstances, t1;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_AsyncValue_void;
              ref.watch$1$1($.$get$hotRestartEventProvider(), t1);
              ref.watch$1$1($.$get$_providerListChanged(), t1);
              isAlive = new B.Disposable();
              ref.onDispose$1(isAlive.get$dispose(isAlive));
              $async$goto = 3;
              return P._asyncAwait(ref.watch$1$1($.$get$providerEvalProvider().get$future(), type$.legacy_Future_legacy_EvalOnDartLibrary), $async$call$1);
            case 3:
              // returning from await.
              $eval = $async$result;
              $async$goto = 4;
              return P._asyncAwait($eval.evalInstance$2$isAlive("ProviderBinding.debugInstance.providerDetails.keys.toList()", isAlive), $async$call$1);
            case 4:
              // returning from await.
              providerIdRefs = $async$result;
              t1 = H._setArrayType([], type$.JSArray_legacy_Future_legacy_Instance);
              t2 = providerIdRefs.elements;
              t2.toString;
              t3 = H._arrayInstanceType(t2)._eval$1("CastList<1,InstanceRef*>");
              t2 = new H.CastList(t2, t3);
              t3 = new H.ListIterator(t2, t2.get$length(t2), t3._eval$1("ListIterator<ListMixin.E>"));
              for (; t3.moveNext$0();)
                t1.push($eval.getInstance$2(t3.__internal$_current, isAlive));
              $async$goto = 5;
              return P._asyncAwait(P.Future_wait(t1, type$.legacy_Instance), $async$call$1);
            case 5:
              // returning from await.
              providerIdInstances = $async$result;
              t1 = H._setArrayType([], type$.JSArray_legacy_String);
              for (t2 = J.get$iterator$ax(providerIdInstances); t2.moveNext$0();) {
                t3 = t2.get$current(t2);
                t1.push(t3.get$valueAsString(t3));
              }
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 603
  };
  A._rawProviderNodeProvider_closure.prototype = {
    call$2: function(ref, id) {
      return this.$call$body$_rawProviderNodeProvider_closure(ref, id);
    },
    $call$body$_rawProviderNodeProvider_closure: function(ref, id) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_ProviderNode),
        $async$returnValue, isAlive, $eval, type, $async$temp1, $async$temp2;
      var $async$call$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              ref.watch$1$1($.$get$hotRestartEventProvider(), type$.legacy_AsyncValue_void);
              isAlive = new B.Disposable();
              ref.onDispose$1(isAlive.get$dispose(isAlive));
              $async$goto = 3;
              return P._asyncAwait(ref.watch$1$1($.$get$providerEvalProvider().get$future(), type$.legacy_Future_legacy_EvalOnDartLibrary), $async$call$2);
            case 3:
              // returning from await.
              $eval = $async$result;
              $async$temp1 = A;
              $async$temp2 = $eval;
              $async$goto = 5;
              return P._asyncAwait($eval.evalInstance$2$isAlive("ProviderBinding.debugInstance.providerDetails['" + H.S(id) + "']", isAlive), $async$call$2);
            case 5:
              // returning from await.
              $async$goto = 4;
              return P._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;
              $async$returnValue = new A.ProviderNode(id, type.get$valueAsString(type));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 604
  };
  A._rawProviderNodeProvider_closure_getFieldWithName.prototype = {
    call$1: function($name) {
      var t1 = this.providerNodeInstance.fields;
      return this.$eval.getInstance$2(type$.legacy_InstanceRef._as((t1 && C.JSArray_methods).firstWhere$1(t1, new A._rawProviderNodeProvider__getFieldWithName_closure($name)).value), this.isAlive);
    },
    $signature: 605
  };
  A._rawProviderNodeProvider__getFieldWithName_closure.prototype = {
    call$1: function(e) {
      var t1 = e.decl;
      return t1.get$name(t1) === this.name;
    },
    $signature: 142
  };
  A.rawSortedProviderNodesProvider_closure.prototype = {
    call$1: function(ref) {
      return this.$call$body$rawSortedProviderNodesProvider_closure(ref);
    },
    $call$body$rawSortedProviderNodesProvider_closure: function(ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_List_legacy_ProviderNode),
        $async$returnValue, t1, $async$temp1, $async$temp2, $async$temp3;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = J;
              $async$temp2 = P;
              $async$temp3 = J;
              $async$goto = 4;
              return P._asyncAwait(ref.watch$1$1($.$get$_rawProviderIdsProvider().get$future(), type$.legacy_Future_legacy_List_legacy_String), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = 3;
              return P._asyncAwait($async$temp2.Future_wait($async$temp3.map$1$1$ax($async$result, new A.rawSortedProviderNodesProvider__closure(ref), type$.legacy_Future_legacy_ProviderNode), type$.legacy_ProviderNode), $async$call$1);
            case 3:
              // returning from await.
              t1 = $async$temp1.toList$0$ax($async$result);
              C.JSArray_methods.sort$1(t1, new A.rawSortedProviderNodesProvider__closure0());
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 606
  };
  A.rawSortedProviderNodesProvider__closure.prototype = {
    call$1: function(id) {
      return this.ref.watch$1$1($.$get$_rawProviderNodeProvider().call$1(id).get$future(), type$.legacy_Future_legacy_ProviderNode);
    },
    $signature: 607
  };
  A.rawSortedProviderNodesProvider__closure0.prototype = {
    call$2: function(a, b) {
      return J.compareTo$1$ns(a.type, b.type);
    },
    $signature: 608
  };
  Z._hasErrorProvider_closure.prototype = {
    call$1: function(ref) {
      var selectedProviderId;
      if (ref.watch$1$1($.$get$sortedProviderNodesProvider(), type$.legacy_AsyncValue_legacy_List_legacy_ProviderNode) instanceof R.AsyncError0)
        return true;
      selectedProviderId = ref.watch$1$1($.$get$selectedProviderIdProvider(), type$.legacy_String);
      if (selectedProviderId == null)
        return false;
      return ref.watch$1$1($.$get$rawInstanceProvider().call$1(new X._$_InstancePathFromProviderId(selectedProviderId, C.List_empty13)), type$.legacy_AsyncValue_legacy_InstanceDetails) instanceof R.AsyncError0;
    },
    $signature: 609
  };
  Z._selectedProviderNode_closure.prototype = {
    call$1: function(ref) {
      var selectedId = ref.watch$1$1($.$get$selectedProviderIdProvider(), type$.legacy_String),
        t1 = J.get$data$x(ref.watch$1$1($.$get$sortedProviderNodesProvider(), type$.legacy_AsyncValue_legacy_List_legacy_ProviderNode));
      t1 = t1 == null ? null : t1.value;
      return t1 == null ? null : J.firstWhere$2$orElse$ax(t1, new Z._selectedProviderNode__closure(selectedId), new Z._selectedProviderNode__closure0());
    },
    $signature: 610
  };
  Z._selectedProviderNode__closure.prototype = {
    call$1: function(node) {
      return node.id == this.selectedId;
    },
    $signature: 291
  };
  Z._selectedProviderNode__closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  Z._showInternals_closure.prototype = {
    call$1: function(ref) {
      return false;
    },
    $signature: 611
  };
  Z.ProviderScreen.prototype = {
    build$1: function(_, context) {
      return C.ProviderScreenBody_null;
    }
  };
  Z.ProviderScreenBody.prototype = {
    build$2: function(_, context, watch) {
      var t2, detailsTitleText, t3, t4, t5, t6, _null = null,
        splitAxis = L.Split_axisFor(context, 0.85),
        selectedProviderId = watch.call$1$1($.$get$selectedProviderIdProvider(), type$.legacy_String),
        t1 = selectedProviderId != null;
      if (t1) {
        t2 = watch.call$1$1($.$get$_selectedProviderNode(), type$.legacy_ProviderNode);
        t2 = t2 == null ? _null : t2.type;
        detailsTitleText = t2 == null ? "" : t2;
      } else
        detailsTitleText = "[No provider selected]";
      t2 = $.$get$_hasErrorProvider();
      t3 = T.Column$(C.List_IQR, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
      t4 = L.Text$(detailsTitleText, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      t5 = type$.JSArray_legacy_Widget;
      t4 = H._setArrayType([U.AreaPaneHeader$(H._setArrayType([new U.SettingsOutlinedButton(new Z.ProviderScreenBody_build_closure(context), "State inspector configurations", _null)], t5), 1, true, false, false, 4, false, t4)], t5);
      if (t1) {
        t1 = watch.call$1$1($.$get$_showInternals(), type$.legacy_StateController_legacy_bool);
        t1.toString;
        t6 = J.getInterceptor$x(t1);
        t4.push(T.Expanded$(new K.InstanceViewer(new X._$_InstancePathFromProviderId(selectedProviderId, C.List_empty13), L.StateNotifier.prototype.get$state.call(t6, t1), _null), 1));
      }
      return new T.ProviderListener(t2, new Z.ProviderScreenBody_build_closure0(), L.Split$(splitAxis, H._setArrayType([new U.OutlineDecoration(t3, _null), new U.OutlineDecoration(T.Column$(t4, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null)], t5), C.List_O9m0, _null, _null), _null, type$.ProviderListener_legacy_bool);
    }
  };
  Z.ProviderScreenBody_build_closure0.prototype = {
    call$2: function(context, hasError) {
      if (hasError)
        Y.Provider_of(context, false, type$.legacy_BannerMessagesController).addMessage$1(O._BannerError$(new D.ValueKey("ProviderUnknownErrorBanner - provider", type$.ValueKey_String), "provider", C.List_6N7));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 612
  };
  Z.ProviderScreenBody_build_closure.prototype = {
    call$0: function() {
      E.showDialog(true, new Z.ProviderScreenBody_build__closure(), this.context, type$.dynamic);
    },
    $signature: 1
  };
  Z.ProviderScreenBody_build__closure.prototype = {
    call$1: function(_) {
      return new Z._StateInspectorSettingsDialog(null);
    },
    $signature: 613
  };
  Z._StateInspectorSettingsDialog.prototype = {
    build$2: function(_, context, watch) {
      var t3, t4, _null = null,
        t1 = L.Text$("State inspector configurations", _null, _null, _null, _null, _null, K.Theme_of(context).textTheme.headline6, _null, _null, _null),
        t2 = watch.call$1$1($.$get$_showInternals(), type$.legacy_StateController_legacy_bool);
      t2.toString;
      t3 = J.getInterceptor$x(t2);
      t4 = type$.JSArray_legacy_Widget;
      return new O.DevToolsDialog(t1, T.Column$(H._setArrayType([R.InkWell$(false, true, T.Row$(H._setArrayType([K.Checkbox$(_null, false, _null, _null, new Z._StateInspectorSettingsDialog_build_closure(this, context), false, L.StateNotifier.prototype.get$state.call(t3, t2)), C.Text_iGH], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new Z._StateInspectorSettingsDialog_build_closure0(this, context), _null, _null, _null, _null, _null)], t4), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), true, H._setArrayType([new O.DialogCloseButton(_null)], t4), _null);
    },
    _toggleShowInternals$1: function(context) {
      var t1 = $.$get$_showInternals(),
        showInternals = N.ProviderScope_containerOf(context, false).read$1$1(0, t1, type$.legacy_StateController_legacy_bool);
      showInternals.toString;
      showInternals.super$StateNotifier$state(0, !L.StateNotifier.prototype.get$state.call(showInternals, showInternals));
    }
  };
  Z._StateInspectorSettingsDialog_build_closure0.prototype = {
    call$0: function() {
      return this.$this._toggleShowInternals$1(this.context);
    },
    $signature: 0
  };
  Z._StateInspectorSettingsDialog_build_closure.prototype = {
    call$1: function(_) {
      return this.$this._toggleShowInternals$1(this.context);
    },
    $signature: 64
  };
  M.ErrorLoggerObserver.prototype = {
    didAddProvider$2: function(provider, value) {
      this._maybeLogError$2(provider, value);
    },
    didUpdateProvider$2: function(provider, newValue) {
      this._maybeLogError$2(provider, newValue);
    },
    _maybeLogError$2: function(provider, value) {
      var t1;
      if (value instanceof R.AsyncError0) {
        t1 = value.error;
        if (t1 instanceof B.SentinelException0)
          return;
        B.log("Provider " + H.S(provider) + ' failed with "' + H.S(t1) + '"', C.LogLevel_2);
        t1 = value.stackTrace;
        if (t1 != null)
          B.log(t1, C.LogLevel_0);
      }
    }
  };
  T.DevToolsRouteConfiguration.prototype = {};
  T.DevToolsRouteInformationParser.prototype = {
    restoreRouteInformation$1: function(configuration) {
      var t2, t3, _null = null,
        t1 = configuration.page,
        path = "/" + (t1 == null ? "" : t1);
      t1 = type$.legacy_String;
      t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t2 = configuration.args;
      if (t2 != null)
        for (t2 = J.get$entries$x(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 T.DevToolsRouteInformationParser_restoreRouteInformation_closure());
      return new Z.RouteInformation(P._Uri__Uri(_null, path, _null, _null, t1, _null, _null).get$_text(), _null);
    }
  };
  T.DevToolsRouteInformationParser_restoreRouteInformation_closure.prototype = {
    call$2: function(key, value) {
      return value == null;
    },
    $signature: 615
  };
  T.DevToolsRouterDelegate.prototype = {
    build$1: function(_, 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) {
        t1 = type$.legacy_String;
        args = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      }
      return K.Navigator$(_null, _this.navigatorKey, C.List_empty8, K.navigator_Navigator_defaultGenerateInitialRoutes$closure(), _null, _this.get$_handleOnPopPage(), _null, H._setArrayType([_this._routing$_getPage.call$3(context, page, args)], type$.JSArray_legacy_Page_dynamic), false, _null);
    },
    _handleOnPopPage$2: function(route, result) {
      var t1 = this.routes;
      if (t1.get$length(t1) <= 1)
        return false;
      t1.removeLast$0(0);
      this.notifyListeners$0();
      return true;
    },
    navigateIfNotCurrent$1: function(page) {
      var argsChanged,
        t1 = this.routes;
      t1 = (t1._head === t1._tail ? null : t1.get$last(t1)).page;
      argsChanged = this._changesArgs$1(null);
      if (page == t1 && !argsChanged)
        return;
      this.navigate$2(0, page, null);
    },
    navigate$2: function(_, page, argUpdates) {
      var t2, t3,
        t1 = type$.legacy_String;
      t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t2 = this.routes;
      t2 = J.get$entries$x((t2._head === t2._tail ? null : t2.get$last(t2)).args);
      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 (t1.$index(0, "uri") == null)
        $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vmServiceClosed$1$connectionState(C.ConnectedState_false_true);
      this._replaceStack$1(new T.DevToolsRouteConfiguration(page, t1));
      this.notifyListeners$0();
    },
    navigate$1: function($receiver, page) {
      return this.navigate$2($receiver, page, null);
    },
    _replaceStack$1: function(configuration) {
      var t1 = this.routes;
      t1.clear$0(0);
      t1._add$1(0, configuration);
    },
    setNewRoutePath$1: function(configuration) {
      this._replaceStack$1(configuration);
      return new O.SynchronousFuture(null, type$.SynchronousFuture_void);
    },
    updateArgsIfNotCurrent$1: function(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 = type$.legacy_String;
      t2 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t1 = J.get$entries$x((t1._head === t1._tail ? null : t1.get$last(t1)).args);
      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 T.DevToolsRouteConfiguration(currentPage, t2));
      _this.notifyListeners$0();
    },
    _changesArgs$1: function(changes) {
      var t5,
        t1 = type$.legacy_String,
        t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1),
        t3 = this.routes,
        t4 = (t3._head === t3._tail ? null : t3.get$last(t3)).args;
      if (t4 != null)
        for (t4 = J.get$entries$x(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));
        }
      if (changes != null)
        for (t4 = changes.get$entries(changes), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
          t5 = t4.get$current(t4);
          t2.$indexSet(0, t5.get$key(t5), t5.get$value(t5));
        }
      t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t3 = (t3._head === t3._tail ? null : t3.get$last(t3)).args;
      if (t3 != null)
        for (t3 = J.get$entries$x(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 !S.mapEquals(t2, t1);
    }
  };
  T._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier.prototype = {};
  T._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier_PopNavigatorRouterDelegateMixin.prototype = {};
  M.DevToolsScaffold.prototype = {
    createState$0: function() {
      return new M.DevToolsScaffoldState(null, K.Disposer$(), C._StateLifecycle_0);
    }
  };
  M.DevToolsScaffoldState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      _this._setupTabController$0();
      t1 = $.globals.$index(0, C.Type_FrameworkController_QHx)._connectVmController;
      _this._connectVmSubscription = new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_connectVm());
      t1 = $.globals.$index(0, C.Type_FrameworkController_QHx)._showPageIdController;
      _this._showPageSubscription = new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_showPageById());
      _this._initTitle$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, t3, t4, newIndex, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t2 = t1.tabs;
      t3 = t2.length;
      t4 = oldWidget.tabs;
      if (t3 !== t4.length) {
        t1 = _this._tabController;
        newIndex = t1 != null && C.JSArray_methods.contains$1(t2, t4[t1._tab_controller$_index]) ? C.JSArray_methods.indexOf$1(_this._widget.tabs, t4[_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 : C.JSArray_methods.indexWhere$1(t2, new M.DevToolsScaffoldState_didUpdateWidget_closure(_this));
          _this._tabController.animateTo$1(newIndex);
        }
      }
    },
    didChangeDependencies$0: function() {
      var t1, t2, _this = this;
      _this.super$_DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      _this._importController = new D.ImportController(_this.get$_pushSnapshotScreenForImport(), Y.Notifications_of(t1));
      t1 = $.globals.$index(0, C.Type_SurveyService_bLu);
      t2 = _this._framework$_element;
      t2.toString;
      t1.maybeShowSurveyPrompt$1(t2);
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._tabController;
      if (t1 != null)
        t1.dispose$0(0);
      t1 = _this._connectVmSubscription;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this._showPageSubscription;
      if (t1 != null)
        t1.cancel$0(0);
      _this.super$_DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin$dispose(0);
    },
    _initTitle$0: function() {
      var t1 = $.$get$_devToolsTitle();
      this.scaffoldTitle = t1._value;
      this.addAutoDisposeListener$2(t1, new M.DevToolsScaffoldState__initTitle_closure(this));
    },
    _setupTabController$0: function() {
      var initialIndex, t2, t3, _this = this,
        t1 = _this._tabController;
      if (t1 != null)
        t1.dispose$0(0);
      _this._tabController = U.TabController$(0, _this._widget.tabs.length, _this);
      t1 = _this._widget;
      if (t1.page != null) {
        initialIndex = C.JSArray_methods.indexWhere$1(t1.tabs, new M.DevToolsScaffoldState__setupTabController_closure(_this));
        if (initialIndex !== -1)
          _this._tabController._changeIndex$1(initialIndex);
      }
      t1 = _this._widget.tabs;
      t2 = _this._tabController;
      _this._currentScreen = t1[t2._tab_controller$_index];
      t2.addListener$1(0, new M.DevToolsScaffoldState__setupTabController_closure0(_this));
      t2 = $.globals.$index(0, C.Type_FrameworkController_QHx);
      t1 = _this._currentScreen.screenId;
      t3 = _this._widget.embed;
      t2._pageChangeController.add$1(0, new O.PageChangeEvent(t1, t3));
    },
    _connectVm$1: function($event) {
      var t2,
        t1 = this._framework$_element;
      t1.toString;
      t1 = Z.Router_of(t1, type$.legacy_Object).routerDelegate;
      t2 = type$.legacy_String;
      t2 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2.$indexSet(0, "uri", $event.get$serviceProtocolUri().toString$0(0));
      if ($event.get$notify())
        t2.$indexSet(0, "notify", "true");
      t1.updateArgsIfNotCurrent$1(t2);
    },
    _showPageById$1: function(pageId) {
      var t1,
        existingTabIndex = this._tabController._tab_controller$_index,
        newIndex = C.JSArray_methods.indexWhere$1(this._widget.tabs, new M.DevToolsScaffoldState__showPageById_closure(pageId));
      if (newIndex !== -1 && newIndex !== existingTabIndex) {
        t1 = this._framework$_element;
        t1.toString;
        Z.Router_of(t1, type$.legacy_Object).routerDelegate.navigateIfNotCurrent$1(pageId);
      }
    },
    _pushSnapshotScreenForImport$1: function(screenId) {
      var routerDelegate,
        t1 = type$.legacy_String,
        args = P.LinkedHashMap_LinkedHashMap$_literal(["screen", screenId], t1, t1);
      t1 = this._framework$_element;
      t1.toString;
      routerDelegate = Z.Router_of(t1, type$.legacy_Object).routerDelegate;
      if (!$.offlineMode) {
        this.enterOfflineMode$0();
        routerDelegate.navigate$2(0, "snapshot", args);
      } else {
        t1 = this._framework$_element;
        t1.toString;
        Z.Router_neglect(t1, new M.DevToolsScaffoldState__pushSnapshotScreenForImport_closure(routerDelegate, args));
      }
    },
    build$1: function(_, context) {
      var t2, t3, _i, $screen, t4, _this = this, _null = null,
        t1 = H._setArrayType([], type$.JSArray_legacy_Container);
      for (t2 = _this._widget.tabs, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
        $screen = t2[_i];
        t4 = $.$get$DevToolsScaffold_appPadding();
        t1.push(M.Container$(C.Alignment_m1_m1, L.FocusScope$(false, new G.AnalyticsPrompt(new O.BannerMessages($screen, _null), _this._widget.analyticsProvider, _null), _null, _null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, t4, _null, _null, _null));
      }
      return Y.Provider$(Y.Provider$value(new M.DevToolsScaffoldState_build_closure(_this, K.Theme_of(context), t1), _this._importController, type$.legacy_ImportController), new M.DevToolsScaffoldState_build_closure0(), type$.legacy_BannerMessagesController);
    },
    _buildAppBar$1: function(title) {
      var isNarrow, actions, t3, t4, _i, $screen, t5, tabBar, preferredSize, alignment, rightAdjust, rightPadding, flexibleSpace, appBar, _this = this, _null = null,
        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 = P.List_List$from(t1, true, type$.legacy_Widget);
      if (!isNarrow && actions.length !== 0 && _this._widget.tabs.length > 1)
        C.JSArray_methods.insert$2(actions, 0, C.BulletSpacer_true_null);
      if (_this._widget.tabs.length > 1) {
        t1 = _this._tabController;
        t2 = H._setArrayType([], type$.JSArray_legacy_Widget);
        for (t3 = _this._widget.tabs, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
          $screen = t3[_i];
          t5 = _this._framework$_element;
          t5.toString;
          t2.push($screen.buildTab$1(t5));
        }
        tabBar = E.TabBar$(t1, true, _null, t2);
        preferredSize = isNarrow ? C.Size_8aB : C.Size_8aB0;
        alignment = isNarrow ? C.Alignment_m1_1 : C.Alignment_1_0;
        rightAdjust = isNarrow ? 0 : 24;
        if (isNarrow)
          rightPadding = 0;
        else {
          t1 = actions.length;
          rightPadding = Math.max(0, 48 * t1 - rightAdjust);
        }
        flexibleSpace = new T.Align(alignment, _null, _null, new T.Padding(new V.EdgeInsets(0, isNarrow ? 40 : 4, rightPadding, 0), tabBar, _null), _null);
      } else {
        preferredSize = _null;
        flexibleSpace = preferredSize;
      }
      t1 = _this._framework$_element;
      t1.toString;
      t1 = L.Text$(title, _null, _null, _null, _null, _null, K.Theme_of(t1).textTheme.headline6.copyWith$1$color(C.Color_4294967295), _null, _null, _null);
      appBar = new E.AppBar(false, t1, actions, flexibleSpace, false, new E._PreferredAppBarSize(32, _null, 1 / 0, 32), 32, _null);
      if (flexibleSpace == null)
        return appBar;
      t1 = isNarrow ? C.ValueKey_kUZ : C.ValueKey_G79;
      return new Q.PreferredSize(T.Hero$(appBar, "DevTools AppBar"), preferredSize, t1);
    },
    enterOfflineMode$0: function() {
      this.setState$1(new M.DevToolsScaffoldState_enterOfflineMode_closure());
    },
    _wideWidth$2: function(title, widget) {
      var painter, wideWidth, t2, _i, t3, t4, _null = null,
        t1 = this._framework$_element;
      t1.toString;
      painter = U.TextPainter$(_null, _null, _null, _null, Q.TextSpan$(_null, _null, _null, K.Theme_of(t1).textTheme.headline6, title), C.TextAlign_4, C.TextDirection_1, _null, 1, C.TextWidthBasis_0);
      painter.layout$0(0);
      wideWidth = painter.get$width(painter) + 16;
      for (t1 = widget.tabs, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        t3 = t1[_i].title;
        painter = new U.TextPainter(new Q.TextSpan(t3, _null, _null, C.C__DeferringMouseCursor, _null, _null), C.TextAlign_4, C.TextDirection_1, 1, _null, _null, _null, _null, C.TextWidthBasis_0, _null);
        painter.layout$0(0);
        t3 = painter._textWidthBasis;
        t4 = painter._text_painter$_paragraph;
        t3 = t3 === C.TextWidthBasis_1 ? t4.get$longestLine() : t4.get$width(t4);
        t3.toString;
        wideWidth += Math.ceil(t3) + 8 + 16 + 32;
      }
      t1 = widget.actions;
      t1 = t1 == null ? _null : t1.length;
      return wideWidth + (t1 == null ? 0 : t1) * 48;
    }
  };
  M.DevToolsScaffoldState_didUpdateWidget_closure.prototype = {
    call$1: function(t) {
      return t.screenId === this.$this._widget.page;
    },
    $signature: 58
  };
  M.DevToolsScaffoldState__initTitle_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new M.DevToolsScaffoldState__initTitle__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  M.DevToolsScaffoldState__initTitle__closure.prototype = {
    call$0: function() {
      this.$this.scaffoldTitle = $.$get$_devToolsTitle()._value;
    },
    $signature: 1
  };
  M.DevToolsScaffoldState__setupTabController_closure.prototype = {
    call$1: function($screen) {
      return $screen.screenId === this.$this._widget.page;
    },
    $signature: 58
  };
  M.DevToolsScaffoldState__setupTabController_closure0.prototype = {
    call$0: function() {
      var t2, t3, t4, t5, routerDelegate, _null = null,
        t1 = this.$this,
        $screen = t1._widget.tabs[t1._tabController._tab_controller$_index];
      if (t1._currentScreen != $screen) {
        t1.setState$1(new M.DevToolsScaffoldState__setupTabController__closure(t1, $screen));
        t2 = $.globals.$index(0, C.Type_FrameworkController_QHx);
        t3 = $screen == null;
        t4 = t3 ? _null : $screen.screenId;
        t5 = t1._widget.embed;
        t2._pageChangeController.add$1(0, new O.PageChangeEvent(t4, t5));
        t5 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager;
        t5.clearErrors$1(t3 ? _null : $screen.screenId);
        t2 = t1._framework$_element;
        t2.toString;
        routerDelegate = Z.Router_of(t2, type$.legacy_Object).routerDelegate;
        if (t1._tabController._tab_controller$_index === 0) {
          t1 = routerDelegate.routes;
          t1 = (t1._head === t1._tail ? _null : t1.get$last(t1)).page;
          t1 = t1 == null ? _null : t1.length === 0;
          t1 = t1 !== false;
        } else
          t1 = false;
        if (t1)
          return;
        routerDelegate.navigateIfNotCurrent$1(t3 ? _null : $screen.screenId);
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  M.DevToolsScaffoldState__setupTabController__closure.prototype = {
    call$0: function() {
      this.$this._currentScreen = this.screen;
    },
    $signature: 1
  };
  M.DevToolsScaffoldState__showPageById_closure.prototype = {
    call$1: function($screen) {
      return $screen.screenId === this.pageId;
    },
    $signature: 58
  };
  M.DevToolsScaffoldState__pushSnapshotScreenForImport_closure.prototype = {
    call$0: function() {
      return this.routerDelegate.navigate$2(0, "snapshot", this.args);
    },
    $signature: 0
  };
  M.DevToolsScaffoldState_build_closure0.prototype = {
    call$1: function(_) {
      return new O.BannerMessagesController(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_ValueNotifier_legacy_List_legacy_BannerMessage), P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_Key));
    },
    $signature: 618
  };
  M.DevToolsScaffoldState_build_closure.prototype = {
    call$2: function(context, _) {
      var appPadding, _null = null,
        t1 = this.$this,
        t2 = t1._importController.get$importData(),
        t3 = t1.scaffoldTitle,
        t4 = this.theme.primaryColor,
        t5 = t1._widget.embed ? _null : t1._buildAppBar$1(t3),
        t6 = type$.JSArray_legacy_Widget,
        t7 = H._setArrayType([E.TabBarView$(this.tabBodies, t1._tabController, C.NeverScrollableScrollPhysics_null)], t6),
        t8 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG);
      if (t8.service != null && t8.connectedApp != null && t8.connectedApp.get$connectedAppInitialized() && !$.offlineMode && t1._currentScreen.screenId !== "debugger")
        t7.push(M.Container$(C.Alignment_0_m1, new A.FloatingDebuggerControls(_null), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      t7 = T.Stack$(C.AlignmentDirectional_m1_m1, t7, C.Clip_1, C.StackFit_0, _null, _null);
      if (t1._widget.embed)
        t1 = _null;
      else {
        appPadding = $.$get$DevToolsScaffold_appPadding();
        t1 = M.Container$(_null, T.Column$(H._setArrayType([C.PaddedDivider_wEo, new T.Padding(new V.EdgeInsets(appPadding.left, 0, appPadding.right, appPadding.bottom), new B.StatusLine(t1._currentScreen, _null), _null)], t6), C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, _null, _null, _null, _null, 48, _null, _null, _null, _null, _null, _null);
      }
      return new V.DragAndDrop(t2, new U.Title(t3, t4, M.Scaffold$(t5, t7, t1), _null), _null);
    },
    $signature: 619
  };
  M.DevToolsScaffoldState_enterOfflineMode_closure.prototype = {
    call$0: function() {
      $.offlineMode = true;
    },
    $signature: 1
  };
  M.SimpleScreen.prototype = {
    build$1: function(_, context) {
      return this.child;
    }
  };
  M._DevToolsScaffoldState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  M._DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$_DevToolsScaffoldState_State_AutoDisposeMixin$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  T.Screen.prototype = {
    get$showIsolateSelector: function() {
      return C.FixedValueListenable_false;
    },
    get$docPageId: function() {
      return null;
    },
    buildTab$1: function(context) {
      var t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._errorBadgeManager._activeErrorCounts.$index(0, this.screenId);
      if (t1 == null)
        t1 = C.FixedValueListenable_0;
      return N.ValueListenableBuilder$(new T.Screen_buildTab_closure(this), t1, type$.legacy_int);
    },
    buildStatus$2: function(context, textTheme) {
      return null;
    }
  };
  T.Screen_buildTab_closure.prototype = {
    call$3: function(context, count, _) {
      var painter, _null = null,
        t1 = this.$this,
        t2 = t1.title,
        tab = E.Tab$(T.Row$(H._setArrayType([L.Icon$(t1.icon, _null, 16), new T.Padding(C.EdgeInsets_8_0_0_0, L.Text$(t2, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), t1.tabKey);
      if (count > 0) {
        painter = U.TextPainter$(_null, _null, _null, _null, Q.TextSpan$(_null, _null, _null, _null, t2), C.TextAlign_4, C.TextDirection_1, _null, 1, C.TextWidthBasis_0);
        painter.layout$0(0);
        return new A.LayoutBuilder(new T.Screen_buildTab__closure(painter.get$width(painter), count, tab), _null);
      }
      return tab;
    },
    $signature: 620
  };
  T.Screen_buildTab__closure.prototype = {
    call$2: function(context, constraints) {
      var _null = null;
      return T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([T.CustomPaint$(_null, _null, _null, new T.BadgePainter(this.count, _null), new P.Size(24 + this.titleWidth, 0)), this.tab], type$.JSArray_legacy_Widget), C.Clip_1, C.StackFit_0, _null, _null);
    },
    $signature: 115
  };
  T.OfflineScreenMixin.prototype = {
    loadOfflineData$1: function(offlineData) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$loadOfflineData$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.setState$1(new T.OfflineScreenMixin_loadOfflineData_closure($async$self));
              $async$goto = 2;
              return P._asyncAwait($async$self.processOfflineData$1(offlineData), $async$loadOfflineData$1);
            case 2:
              // returning from await.
              $async$self.setState$1(new T.OfflineScreenMixin_loadOfflineData_closure0($async$self));
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$loadOfflineData$1, $async$completer);
    }
  };
  T.OfflineScreenMixin_loadOfflineData_closure.prototype = {
    call$0: function() {
      this.$this.OfflineScreenMixin__loadingOfflineData = true;
    },
    $signature: 1
  };
  T.OfflineScreenMixin_loadOfflineData_closure0.prototype = {
    call$0: function() {
      this.$this.OfflineScreenMixin__loadingOfflineData = false;
    },
    $signature: 1
  };
  T.BadgePainter.prototype = {
    paint$2: function(canvas, size) {
      var countPainter, badgeWidth, t2, t3, _null = null,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, C.Color_4289675348);
      paint.set$style(0, C.PaintingStyle_0);
      countPainter = U.TextPainter$(_null, _null, _null, _null, Q.TextSpan$(_null, _null, _null, C.TextStyle_ul3, "" + this.number), C.TextAlign_4, C.TextDirection_1, _null, 1, C.TextWidthBasis_0);
      countPainter.layout$0(0);
      badgeWidth = Math.max(16, countPainter.get$width(countPainter) + 8);
      t1 = size._dx;
      canvas.drawOval$2(0, new P.Rect(t1, 0, t1 + badgeWidth, 16), paint);
      t2 = countPainter.get$width(countPainter);
      t3 = countPainter._text_painter$_paragraph;
      t3.toString;
      canvas.drawParagraph$2(0, t3, new P.Offset(t1 + (badgeWidth - t2) / 2, 0));
    },
    shouldRepaint$1: function(oldDelegate) {
      if (oldDelegate instanceof T.BadgePainter)
        return this.number !== oldDelegate.number;
      return true;
    }
  };
  L.DevToolsServerConnection.prototype = {
    DevToolsServerConnection$_$1: function(sseClient) {
      var t1 = this.sseClient._incomingController;
      new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$1(new L.DevToolsServerConnection$__closure(this));
      this.initFrameworkController$0();
    },
    initFrameworkController$0: function() {
      var t1 = $.globals.$index(0, C.Type_FrameworkController_QHx)._connectedController;
      new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new L.DevToolsServerConnection_initFrameworkController_closure(this));
      t1 = $.globals.$index(0, C.Type_FrameworkController_QHx)._pageChangeController;
      new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new L.DevToolsServerConnection_initFrameworkController_closure0(this));
      t1 = $.globals.$index(0, C.Type_FrameworkController_QHx)._disconnectedController;
      new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new L.DevToolsServerConnection_initFrameworkController_closure1(this));
    },
    notify$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, parsedOptions;
      var $async$notify$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(W.Notification_requestPermission(), $async$notify$0);
            case 3:
              // returning from await.
              if ($async$result !== "granted") {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._lastNotification;
              if (t1 != null)
                t1._impl.close();
              t1 = new E.Notification();
              t2 = type$.dynamic;
              parsedOptions = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
              parsedOptions.$indexSet(0, "body", "DevTools is available in this existing browser window");
              t1._impl = W.Notification__factoryNotification("Dart DevTools", parsedOptions);
              $async$self._lastNotification = t1;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$notify$0, $async$completer);
    },
    _callMethod$1$2: function(method, params, $T) {
      var id = "" + this._nextRequestId++,
        json = C.C_JsonCodec.encode$2$toEncodable(P.LinkedHashMap_LinkedHashMap$_literal(["jsonrpc", "2.0", "id", id, "method", method, "params", params], type$.legacy_String, type$.legacy_Object), null),
        t1 = new P._Future($.Zone__current, $T._eval$1("_Future<0*>"));
      this._completers.$indexSet(0, id, new P._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0*>")));
      this.sseClient._outgoingController.add$1(0, json);
      return t1;
    },
    _callMethod$1$1: function(method, $T) {
      return this._callMethod$1$2(method, null, $T);
    },
    _handleMessage$1: function(msg) {
      var request, method, params, e, t1, t2, completer, exception;
      try {
        request = C.C_JsonCodec.decode$2$reviver(0, msg, null);
        if (J.containsKey$1$x(request, "method")) {
          method = J.$index$asx(request, "method");
          params = J.$index$asx(request, "params");
          this._handleMethod$2(method, params);
        } else if (J.containsKey$1$x(request, "id")) {
          t1 = J.$index$asx(request, "id");
          t2 = J.$index$asx(request, "result");
          completer = this._completers.remove$1(0, t1);
          if (completer != null)
            completer.complete$1(0, t2);
        } else
          P.print("Unable to parse API message from server:\n\n" + H.S(msg));
      } catch (exception) {
        e = H.unwrapException(exception);
        P.print("Failed to handle API message from server:\n\n" + H.S(msg) + "\n\n" + H.S(e));
      }
    },
    _handleMethod$2: function(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, C.Type_FrameworkController_QHx);
          t2 = P.Uri_parse(uri, 0, null);
          t1._connectVmController.add$1(0, new O.ConnectVmEvent(t2, notify));
          return;
        case "showPage":
          pageId = J.$index$asx(params, "page");
          $.globals.$index(0, C.Type_FrameworkController_QHx)._showPageIdController.add$1(0, pageId);
          return;
        case "enableNotifications":
          W.Notification_requestPermission();
          return;
        case "notify":
          this.notify$0();
          return;
        default:
          P.print("Unknown request " + H.S(method) + " from server");
      }
    },
    setPreferenceValue$2: function(key, value) {
      return this.setPreferenceValue$body$DevToolsServerConnection(key, value);
    },
    setPreferenceValue$body$DevToolsServerConnection: function(key, value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1;
      var $async$setPreferenceValue$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.dynamic;
              $async$goto = 2;
              return P._asyncAwait($async$self._callMethod$1$2("setPreferenceValue", P.LinkedHashMap_LinkedHashMap$_literal(["key", key, "value", value], type$.legacy_String, t1), t1), $async$setPreferenceValue$2);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setPreferenceValue$2, $async$completer);
    }
  };
  L.DevToolsServerConnection$__closure.prototype = {
    call$1: function(msg) {
      this.$this._handleMessage$1(msg);
    },
    $signature: 35
  };
  L.DevToolsServerConnection_connect_closure.prototype = {
    call$1: function(e) {
      return e.length !== 0;
    },
    $signature: 14
  };
  L.DevToolsServerConnection_initFrameworkController_closure.prototype = {
    call$1: function(vmServiceUri) {
      var t1 = type$.dynamic;
      this.$this._callMethod$1$2("connected", P.LinkedHashMap_LinkedHashMap$_literal(["uri", J.toString$0$(vmServiceUri)], type$.legacy_String, t1), t1);
    },
    $signature: 621
  };
  L.DevToolsServerConnection_initFrameworkController_closure0.prototype = {
    call$1: function(page) {
      var t1 = type$.dynamic,
        t2 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, t1);
      t2.$indexSet(0, "id", page.id);
      t2.$indexSet(0, "embedded", page.embedded);
      this.$this._callMethod$1$2("currentPage", t2, t1);
    },
    $signature: 622
  };
  L.DevToolsServerConnection_initFrameworkController_closure1.prototype = {
    call$1: function(_) {
      this.$this._callMethod$1$1("disconnected", type$.dynamic);
    },
    $signature: 5
  };
  R._connectWithSse_closure.prototype = {
    call$0: function() {
      this.finishedCompleter.complete$0(0);
      this.service._vmService.dispose$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  R._connectWithWebSocket_closure.prototype = {
    call$1: function(message) {
      this.ws.get$sink()._stream_sink$_sink.add$1(0, message);
    },
    $signature: 35
  };
  R._connectWithWebSocket_closure0.prototype = {
    call$1: function(_) {
      this.finishedCompleter.complete$0(0);
      this.service._vmService.dispose$0(0);
    },
    $signature: 5
  };
  R.connect_onError.prototype = {
    call$1: function(error) {
      var t1 = this.connectedCompleter;
      if (t1.future._state === 0)
        t1.completeError$1(error);
    },
    $signature: 13
  };
  R.connect_connectHelper.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_VmServiceWrapper),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, service;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncAwait(R._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 P._asyncAwait(R._connectWithWebSocket(t1, t3, t4), $async$call$0);
            case 7:
              // returning from await.
            case 4:
              // join
              service = $async$result;
              $async$goto = 8;
              return P._asyncAwait(service.trackFuture$1$2("getVersion", service._vmService._call$1$1(0, "getVersion", type$.Version), type$.legacy_Version), $async$call$0);
            case 8:
              // returning from await.
              $async$returnValue = service;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 623
  };
  R.connect_closure.prototype = {
    call$1: function(service) {
      var t1 = this.connectedCompleter;
      if (t1.future._state === 0)
        t1.complete$1(0, service);
    },
    $signature: 624
  };
  R.connect_closure0.prototype = {
    call$1: function(_) {
      if (this.connectedCompleter.future._state === 0)
        this.onError.call$1(null);
    },
    $signature: 23
  };
  E.ToggleableServiceExtensionDescription.prototype = {};
  E.ServiceExtensionDescription.prototype = {
    get$extension: function() {
      return this.extension;
    },
    get$values: function(receiver) {
      return this.values;
    }
  };
  E.ServiceExtensionDescription_closure.prototype = {
    call$1: function(v) {
      return J.toString$0$(v);
    },
    $signature: function() {
      return this.T._eval$1("String*(0*)");
    }
  };
  E.serviceExtensionsAllowlist_closure.prototype = {
    call$1: function(extension) {
      return extension.get$extension();
    },
    $signature: 62
  };
  E.serviceExtensionsAllowlist_closure0.prototype = {
    call$1: function(extension) {
      return extension;
    },
    $signature: 625
  };
  E._unsafeBeforeFirstFrameFlutterExtensions_closure.prototype = {
    call$1: function(extension) {
      return extension.extension;
    },
    $signature: 626
  };
  R.ServiceConnectionManager.prototype = {
    runDeviceBusyTask$1$1: function(task, $T) {
      return this.runDeviceBusyTask$body$ServiceConnectionManager(task, $T, $T._eval$1("0*"));
    },
    runDeviceBusyTask$body$ServiceConnectionManager: function(task, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, t1;
      var $async$runDeviceBusyTask$1$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 3;
              $async$self._deviceBusy.set$value(0, true);
              $async$goto = 6;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$runDeviceBusyTask$1$1, $async$completer);
    },
    callService$2$isolateId: function($name, isolateId) {
      return this.callService$body$ServiceConnectionManager($name, isolateId);
    },
    callService$body$ServiceConnectionManager: function($name, isolateId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Response),
        $async$returnValue, $async$self = this, t1, registered;
      var $async$callService$2$isolateId = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              registered = $async$self._registeredMethodsForService.$index(0, $name);
              if (registered == null)
                registered = C.List_empty;
              t1 = J.getInterceptor$asx(registered);
              if (t1.get$isEmpty(registered))
                throw H.wrapException(P.Exception_Exception('There are no registered methods for service "' + $name + '"'));
              $async$returnValue = $async$self.service.callMethod$3$args$isolateId(t1.get$first(registered), null, isolateId);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$callService$2$isolateId, $async$completer);
    },
    registeredServiceListenable$1: function($name) {
      return this._registeredServiceNotifiers.putIfAbsent$2(0, $name, new R.ServiceConnectionManager_registeredServiceListenable_closure());
    },
    vmServiceOpened$2$onClosed: function(service, onClosed) {
      return this.vmServiceOpened$body$ServiceConnectionManager(service, onClosed);
    },
    vmServiceOpened$body$ServiceConnectionManager: function(service, onClosed) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, serviceStreamName;
      var $async$vmServiceOpened$2$onClosed = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.service = service;
              $async$goto = 2;
              return P._asyncAwait(service.initServiceVersions$0(), $async$vmServiceOpened$2$onClosed);
            case 2:
              // returning from await.
              $async$self.connectedApp = new L.ConnectedApp(new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_legacy_FlutterVersion), type$._AsyncCompleter_legacy_FlutterVersion));
              t1 = $async$self._isolateManager;
              t1.cancel$0(0);
              t1._service = service;
              t2 = service._vmService._getEventController$1("Isolate");
              t1.autoDispose$1(new P._BroadcastStream(t2, H._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(t1.get$_handleIsolateEvent()));
              t1._mainIsolate.set$value(0, null);
              t1 = $async$self._serviceExtensionManager;
              t2 = $async$self.connectedApp;
              t1._checkForFirstFrameStarted = false;
              t1.cancel$0(0);
              t1._connectedApp = t2;
              t1._service = service;
              t2 = service._vmService._getEventController$1("Extension");
              t1.autoDispose$1(new P._BroadcastStream(t2, H._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(t1.get$_handleExtensionEvent()));
              t1.addAutoDisposeListener$2(t1._hasServiceExtension$1("ext.flutter.didSendFirstFrameEvent"), t1.get$_maybeCheckForFirstFlutterFrame());
              t2 = t1._mainIsolate;
              t1.addAutoDisposeListener$2(t2, t1.get$_onMainIsolateChanged());
              t3 = service._vmService._getEventController$1("Debug");
              t1.autoDispose$1(new P._BroadcastStream(t3, H._instanceType(t3)._eval$1("_BroadcastStream<1>")).listen$1(t1.get$_handleDebugEvent()));
              t3 = service._vmService._getEventController$1("Isolate");
              t1.autoDispose$1(new P._BroadcastStream(t3, H._instanceType(t3)._eval$1("_BroadcastStream<1>")).listen$1(t1.get$_handleIsolateEvent()));
              if (t2._value != null)
                t1._onMainIsolateChanged$0();
              $async$goto = 3;
              return P._asyncAwait($async$self._vmFlagManager.vmServiceOpened$1(service), $async$vmServiceOpened$2$onClosed);
            case 3:
              // returning from await.
              t1 = $async$self._errorBadgeManager;
              $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager.setServiceExtensionState$3($.$get$structuredErrors().extension, true, true);
              t2 = t1.AutoDisposeControllerMixin__delegate;
              t2.autoDispose$1(service.get$onExtensionEventWithHistory().listen$1(t1.get$_error_badge_manager$_handleExtensionEvent()));
              t2.autoDispose$1(service.get$onStderrEventWithHistory().listen$1(t1.get$_handleStdErr()));
              $async$goto = 4;
              return P._asyncAwait(service.get$serviceStreamName(), $async$vmServiceOpened$2$onClosed);
            case 4:
              // returning from await.
              serviceStreamName = $async$result;
              $async$goto = 5;
              return P._asyncAwait(service.trackFuture$1$2("getVM", service._vmService._call$1$1(0, "getVM", type$.VM), type$.legacy_VM), $async$vmServiceOpened$2$onClosed);
            case 5:
              // returning from await.
              t1 = $async$result;
              $async$self.vm = t1;
              t1 = $async$self.sdkVersion = t1.version;
              if (J.contains$1$asx(t1, " "))
                $async$self.sdkVersion = C.JSString_methods.substring$2(t1, 0, C.JSString_methods.indexOf$1(t1, " "));
              $async$self._serviceAvailable.complete$1(0, service);
              $async$self._deviceBusy.set$value(0, false);
              onClosed.then$1$1(0, new R.ServiceConnectionManager_vmServiceOpened_closure($async$self), type$.void);
              t1 = service._vmService._getEventController$1(serviceStreamName);
              new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent($async$self));
              $async$self._connectedState.set$value(0, C.ConnectedState_true_false);
              t1 = P.List_List$of($async$self.vm.isolates, true, type$.legacy_IsolateRef);
              if ($.globals.$index(0, C.Type_PreferencesController_1KB)._vmDeveloperMode._value)
                C.JSArray_methods.addAll$1(t1, $async$self.vm.systemIsolates);
              $async$goto = 6;
              return P._asyncAwait($async$self._isolateManager.init$1(t1), $async$vmServiceOpened$2$onClosed);
            case 6:
              // returning from await.
              $async$goto = 7;
              return P._asyncAwait(P.Future_wait(new H.MappedListIterable(H._setArrayType(["Debug", "Extension", "GC", "Isolate", "Logging", "Stderr", "Stdout", "Timeline", "VM", serviceStreamName], type$.JSArray_legacy_String), new R.ServiceConnectionManager_vmServiceOpened_closure0(service), type$.MappedListIterable_of_legacy_String_and_legacy_Future_Null), type$.Null), $async$vmServiceOpened$2$onClosed);
            case 7:
              // returning from await.
              $async$goto = 8;
              return P._asyncAwait($async$self.connectedApp.initializeValues$0(), $async$vmServiceOpened$2$onClosed);
            case 8:
              // returning from await.
              $async$goto = 9;
              return P._asyncAwait(F.setupUserApplicationDimensions(), $async$vmServiceOpened$2$onClosed);
            case 9:
              // returning from await.
              $async$self._connectionAvailableController.add$1(0, service);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$vmServiceOpened$2$onClosed, $async$completer);
    },
    vmServiceClosed$1$connectionState: function(connectionState) {
      var t1, t2, _this = this, _null = null;
      _this._serviceAvailable = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_legacy_VmService), type$._AsyncCompleter_legacy_VmService);
      _this.connectedApp = _this.sdkVersion = _this.vm = _this.service = null;
      U.generateDevToolsTitle();
      _this._vmFlagManager._service_manager$_flags.set$value(0, _null);
      t1 = _this._serviceExtensionManager;
      t1.cancel$0(0);
      t1._mainIsolateClosed$0();
      t1 = _this.serviceTrafficLogger;
      if (t1 != null) {
        t2 = t1._sendSub;
        if (t2 != null)
          t2.cancel$0(0);
        t1 = t1._receiveSub;
        if (t1 != null)
          t1.cancel$0(0);
      }
      t1 = _this._isolateManager;
      t1.cancel$0(0);
      t1._service = null;
      t1._lastIsolateIndex = 0;
      t1._setSelectedIsolate$1(_null);
      t1._isolateIndexMap.clear$0(0);
      t1._isolates.clear$0(0);
      t1._mainIsolate.set$value(0, _null);
      _this._deviceBusy.set$value(0, false);
      _this._connectedState.set$value(0, connectionState);
      _this._connectionClosedController.add$1(0, _null);
    },
    vmServiceClosed$0: function() {
      return this.vmServiceClosed$1$connectionState(C.ConnectedState_false_false);
    },
    performHotReload$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2;
      var $async$performHotReload$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.$get$hotReload().service;
              t2 = $async$self._isolateManager._selectedIsolate;
              $async$goto = 2;
              return P._asyncAwait($async$self.callService$2$isolateId(t1, t2.get$id(t2)), $async$performHotReload$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$performHotReload$0, $async$completer);
    },
    performHotRestart$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$performHotRestart$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._isolateManager._selectedIsolate;
              $async$goto = 2;
              return P._asyncAwait($async$self.callService$2$isolateId("hotRestart", t1.get$id(t1)), $async$performHotRestart$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$performHotRestart$0, $async$completer);
    },
    get$flutterVersion: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Response),
        $async$returnValue, $async$self = this, t1;
      var $async$get$flutterVersion = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._isolateManager._selectedIsolate;
              $async$goto = 3;
              return P._asyncAwait($async$self.callService$2$isolateId("flutterVersion", t1.get$id(t1)), $async$get$flutterVersion);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$flutterVersion, $async$completer);
    },
    get$adbMemoryInfo: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Response),
        $async$returnValue, $async$self = this, t1;
      var $async$get$adbMemoryInfo = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._isolateManager._selectedIsolate;
              $async$goto = 3;
              return P._asyncAwait($async$self.callService$2$isolateId("flutterMemoryInfo", t1 == null ? null : t1.get$id(t1)), $async$get$adbMemoryInfo);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$adbMemoryInfo, $async$completer);
    },
    get$flutterViewId: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_String),
        $async$returnValue, $async$self = this, message, t1, t2, flutterViewListResponse, flutterView;
      var $async$get$flutterViewId = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.service;
              t2 = $async$self._isolateManager._selectedIsolate;
              $async$goto = 3;
              return P._asyncAwait(t1.callServiceExtension$2$isolateId("_flutter.listViews", t2.get$id(t2)), $async$get$flutterViewId);
            case 3:
              // returning from await.
              flutterViewListResponse = $async$result;
              flutterView = J.firstWhere$2$orElse$ax(J.cast$1$0$ax(J.$index$asx(flutterViewListResponse.json, "views"), type$.legacy_Map_of_legacy_String_and_dynamic), new R.ServiceConnectionManager_flutterViewId_closure(), new R.ServiceConnectionManager_flutterViewId_closure0());
              if (flutterView == null) {
                message = "No Flutter Views to query: " + H.S(flutterViewListResponse.json);
                B.log(message, C.LogLevel_2);
                throw H.wrapException(P.Exception_Exception(message));
              }
              $async$returnValue = J.$index$asx(flutterView, "id");
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$flutterViewId, $async$completer);
    },
    get$rasterCacheMetrics: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Response),
        $async$returnValue, $async$self = this, viewId, t2, t3, t1, $async$temp1;
      var $async$get$rasterCacheMetrics = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._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$goto = 6;
              return P._asyncAwait($async$self.get$flutterViewId(), $async$get$rasterCacheMetrics);
            case 6:
              // returning from await.
              viewId = $async$result;
              t1 = $async$self.service;
              t2 = type$.legacy_String;
              t2 = P.LinkedHashMap_LinkedHashMap$_literal(["viewId", viewId], t2, t2);
              t3 = $async$self._isolateManager._selectedIsolate;
              $async$goto = 7;
              return P._asyncAwait(t1.callServiceExtension$3$args$isolateId("_flutter.estimateRasterCacheMemory", t2, t3.get$id(t3)), $async$get$rasterCacheMetrics);
            case 7:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$rasterCacheMetrics, $async$completer);
    },
    get$queryDisplayRefreshRate: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_double),
        $async$returnValue, $async$self = this, viewId, t2, fps, t1, $async$temp1;
      var $async$get$queryDisplayRefreshRate = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._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$goto = 6;
              return P._asyncAwait($async$self.get$flutterViewId(), $async$get$queryDisplayRefreshRate);
            case 6:
              // returning from await.
              viewId = $async$result;
              t1 = $async$self.service;
              t2 = $async$self._isolateManager._selectedIsolate;
              t2 = t2.get$id(t2);
              $async$temp1 = J;
              $async$goto = 7;
              return P._asyncAwait(t1.callServiceExtension$3$args$isolateId("_flutter.getDisplayRefreshRate", P.LinkedHashMap_LinkedHashMap$_literal(["viewId", viewId], type$.legacy_String, type$.dynamic), t2), $async$get$queryDisplayRefreshRate);
            case 7:
              // returning from await.
              fps = $async$temp1.$index$asx($async$result.json, "fps");
              if (fps === 0) {
                $async$returnValue = 60;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = J.roundToDouble$0$n(fps);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$queryDisplayRefreshRate, $async$completer);
    },
    libraryUriAvailableNow$1: function(uri) {
      var t2,
        t1 = this._isolateManager.selectedIsolateLibraries;
      t1.toString;
      t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String*>");
      return C.JSArray_methods.any$1(P.List_List$of(new H.MappedListIterable(t1, new R.ServiceConnectionManager_libraryUriAvailableNow_closure(), t2), true, t2._eval$1("ListIterable.E")), new R.ServiceConnectionManager_libraryUriAvailableNow_closure0(uri));
    },
    libraryUriAvailable$1: function(uri) {
      return this.libraryUriAvailable$body$ServiceConnectionManager(uri);
    },
    libraryUriAvailable$body$ServiceConnectionManager: function(uri) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$self = this;
      var $async$libraryUriAvailable$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self._isolateManager.selectedIsolateAvailable.future, $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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$libraryUriAvailable$1, $async$completer);
    }
  };
  R.ServiceConnectionManager_registeredServiceListenable_closure.prototype = {
    call$0: function() {
      return new B.ImmediateValueNotifier(false, P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ImmediateValueNotifier_legacy_bool);
    },
    $signature: 151
  };
  R.ServiceConnectionManager_vmServiceOpened_closure.prototype = {
    call$1: function(_) {
      return this.$this.vmServiceClosed$0();
    },
    $signature: 164
  };
  R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent.prototype = {
    call$1: function(e) {
      var serviceName, t1;
      if (e.kind === "ServiceRegistered") {
        serviceName = e.service;
        t1 = this.$this;
        J.add$1$ax(t1._registeredMethodsForService.putIfAbsent$2(0, serviceName, new R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure()), e.method);
        t1._registeredServiceNotifiers.putIfAbsent$2(0, serviceName, new R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure0()).set$value(0, true);
      }
      if (e.kind === "ServiceUnregistered") {
        serviceName = e.service;
        t1 = this.$this;
        t1._registeredMethodsForService.remove$1(0, serviceName);
        t1._registeredServiceNotifiers.putIfAbsent$2(0, serviceName, new R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure1()).set$value(0, false);
      }
    },
    $signature: 16
  };
  R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_legacy_String);
    },
    $signature: 346
  };
  R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure0.prototype = {
    call$0: function() {
      return new B.ImmediateValueNotifier(true, P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ImmediateValueNotifier_legacy_bool);
    },
    $signature: 151
  };
  R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure1.prototype = {
    call$0: function() {
      return new B.ImmediateValueNotifier(false, P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ImmediateValueNotifier_legacy_bool);
    },
    $signature: 151
  };
  R.ServiceConnectionManager_vmServiceOpened_closure0.prototype = {
    call$1: function(id) {
      return this.$call$body$ServiceConnectionManager_vmServiceOpened_closure(id);
    },
    $call$body$ServiceConnectionManager_vmServiceOpened_closure: function(id) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, e, exception, $async$exception;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 3;
              $async$goto = 6;
              return P._asyncAwait($async$self.service.streamListen$1(id), $async$call$1);
            case 6:
              // returning from await.
              $async$handler = 1;
              // goto after finally
              $async$goto = 5;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              e = H.unwrapException($async$exception);
              if (!J.endsWith$1$s(id, "Logging"))
                B.log("Service client stream not supported: '" + id + "'\n  " + H.S(e), C.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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 295
  };
  R.ServiceConnectionManager_flutterViewId_closure.prototype = {
    call$1: function(view) {
      return J.$eq$(J.$index$asx(view, "type"), "FlutterView");
    },
    $signature: 628
  };
  R.ServiceConnectionManager_flutterViewId_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  R.ServiceConnectionManager_libraryUriAvailableNow_closure.prototype = {
    call$1: function(ref) {
      return ref.get$uri();
    },
    $signature: 629
  };
  R.ServiceConnectionManager_libraryUriAvailableNow_closure0.prototype = {
    call$1: function(u) {
      return J.startsWith$1$s(u, this.uri);
    },
    $signature: 14
  };
  R.IsolateManager.prototype = {
    init$1: function(isolates) {
      return this.init$body$IsolateManager(isolates);
    },
    init$body$IsolateManager: function(isolates) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$init$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.addAutoDisposeListener$2($.globals.$index(0, C.Type_PreferencesController_1KB)._vmDeveloperMode, new R.IsolateManager_init_closure($async$self));
              $async$goto = 2;
              return P._asyncAwait($async$self._initIsolates$1(isolates), $async$init$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$init$1, $async$completer);
    },
    isolateIndex$1: function(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: function(isolateRefId) {
      var t1 = this._isolates;
      this._setSelectedIsolate$1(t1.get$keys(t1).firstWhere$2$orElse(0, new R.IsolateManager_selectIsolate_closure(isolateRefId), new R.IsolateManager_selectIsolate_closure0()));
    },
    _initIsolates$1: function(isolates) {
      return this._initIsolates$body$IsolateManager(isolates);
    },
    _initIsolates$body$IsolateManager: function(isolates) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$_initIsolates$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._isolates = $async$self._buildIsolateMap$1(isolates);
              t1.get$keys(t1).forEach$1(0, $async$self.get$isolateIndex());
              $async$goto = 2;
              return P._asyncAwait($async$self._initSelectedIsolate$1(isolates), $async$_initIsolates$1);
            case 2:
              // returning from await.
              t1 = $async$self._selectedIsolate;
              if (t1 != null) {
                $async$self._isolateCreatedController.add$1(0, t1);
                $async$self._selectedIsolateController.add$1(0, $async$self._selectedIsolate);
              }
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_initIsolates$1, $async$completer);
    },
    _handleIsolateEvent$1: function($event) {
      return this._handleIsolateEvent$body$IsolateManager($event);
    },
    _handleIsolateEvent$body$IsolateManager: function($event) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$_handleIsolateEvent$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_MessageBus_MAi);
              if (t1 != null)
                t1._message_bus$_controller.add$1(0, new A.BusEvent("debugger", $event));
              $async$goto = $event.kind === "IsolateStart" && !$event.isolate.get$isSystemIsolate() ? 2 : 4;
              break;
            case 2:
              // then
              $async$self._isolates.putIfAbsent$2(0, $event.isolate, new R.IsolateManager__handleIsolateEvent_closure());
              $async$self.isolateIndex$1($event.isolate);
              $async$self._isolateCreatedController.add$1(0, $event.isolate);
              t1 = $async$self._mainIsolate;
              if (t1._value == null)
                t1.set$value(0, $event.isolate);
              $async$goto = $async$self._selectedIsolate == null ? 5 : 6;
              break;
            case 5:
              // then
              $async$goto = 7;
              return P._asyncAwait($async$self._setSelectedIsolate$1($event.isolate), $async$_handleIsolateEvent$1);
            case 7:
              // returning from await.
            case 6:
              // join
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t1 = $event.kind;
              $async$goto = t1 === "ServiceExtensionAdded" ? 8 : 10;
              break;
            case 8:
              // then
              $async$goto = $async$self._selectedIsolate == null && J.startsWith$1$s($event.extensionRPC, "ext.flutter.") ? 11 : 12;
              break;
            case 11:
              // then
              $async$goto = 13;
              return P._asyncAwait($async$self._setSelectedIsolate$1($event.isolate), $async$_handleIsolateEvent$1);
            case 13:
              // returning from await.
            case 12:
              // join
              // goto join
              $async$goto = 9;
              break;
            case 10:
              // else
              if (t1 === "IsolateExit") {
                $async$self._isolates.remove$1(0, $event.isolate);
                $async$self._isolateExitedController.add$1(0, $event.isolate);
                t1 = $async$self._mainIsolate;
                if (J.$eq$(t1._value, $event.isolate))
                  t1.set$value(0, null);
                if (J.$eq$($async$self._selectedIsolate, $event.isolate)) {
                  t1 = $async$self._isolates;
                  if (t1.get$isEmpty(t1))
                    t1 = null;
                  else {
                    t1 = $async$self._isolates;
                    t1 = t1.get$keys(t1);
                    t1 = t1.get$first(t1);
                  }
                  $async$self._selectedIsolate = t1;
                  if (t1 == null)
                    $async$self.selectedIsolateAvailable = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
                  $async$self._selectedIsolateController.add$1(0, t1);
                }
              }
            case 9:
              // join
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleIsolateEvent$1, $async$completer);
    },
    _initSelectedIsolate$1: function(isolates) {
      return this._initSelectedIsolate$body$IsolateManager(isolates);
    },
    _initSelectedIsolate$body$IsolateManager: function(isolates) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$_initSelectedIsolate$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (isolates.length === 0) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._mainIsolate;
              $async$temp1 = t1;
              $async$goto = 3;
              return P._asyncAwait($async$self._computeMainIsolate$1(isolates), $async$_initSelectedIsolate$1);
            case 3:
              // returning from await.
              $async$temp1.set$value(0, $async$result);
              $async$goto = 4;
              return P._asyncAwait($async$self._setSelectedIsolate$1(t1._value), $async$_initSelectedIsolate$1);
            case 4:
              // returning from await.
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_initSelectedIsolate$1, $async$completer);
    },
    _computeMainIsolate$1: function(isolates) {
      return this._computeMainIsolate$body$IsolateManager(isolates);
    },
    _computeMainIsolate$body$IsolateManager: function(isolates) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_IsolateRef),
        $async$returnValue, $async$self = this, t2, t3, t4, _i, ref, t5, t6, t7, _i0, t1;
      var $async$_computeMainIsolate$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          $async$outer:
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = isolates.length;
                if (t1 === 0) {
                  $async$returnValue = null;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t2 = type$.dynamic, t3 = type$.Isolate, t4 = type$.legacy_Isolate, _i = 0;
              case 3:
                // for condition
                if (!(_i < isolates.length)) {
                  // goto after for
                  $async$goto = 5;
                  break;
                }
                ref = isolates[_i];
                $async$goto = $async$self._selectedIsolate == null ? 6 : 7;
                break;
              case 6:
                // then
                t5 = $async$self._service;
                t6 = J.get$id$x(ref);
                t7 = t5._vmService;
                t7.toString;
                $async$goto = 8;
                return P._asyncAwait(t5.trackFuture$1$2("getIsolate", t7._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t6], t2, t2), t3), t4), $async$_computeMainIsolate$1);
              case 8:
                // returning from await.
                t5 = $async$result.extensionRPCs;
                if (t5 != null)
                  for (t6 = t5.length, _i0 = 0; _i0 < t6; ++_i0)
                    if (J.startsWith$1$s(t5[_i0], "ext.flutter.")) {
                      $async$returnValue = ref;
                      // goto return
                      $async$goto = 1;
                      break $async$outer;
                    }
              case 7:
                // join
              case 4:
                // for update
                isolates.length === t1 || (0, H.throwConcurrentModificationError)(isolates), ++_i;
                // goto for condition
                $async$goto = 3;
                break;
              case 5:
                // after for
                ref = C.JSArray_methods.firstWhere$2$orElse(isolates, new R.IsolateManager__computeMainIsolate_closure(), new R.IsolateManager__computeMainIsolate_closure0());
                $async$returnValue = ref == null ? C.JSArray_methods.get$first(isolates) : ref;
                // goto return
                $async$goto = 1;
                break;
              case 1:
                // return
                return P._asyncReturn($async$returnValue, $async$completer);
            }
      });
      return P._asyncStartSync($async$_computeMainIsolate$1, $async$completer);
    },
    _setSelectedIsolate$1: function(ref) {
      return this._setSelectedIsolate$body$IsolateManager(ref);
    },
    _setSelectedIsolate$body$IsolateManager: function(ref) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, isolate, t1, t2, t3, t4, exception, $async$exception;
      var $async$_setSelectedIsolate$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (J.$eq$($async$self._selectedIsolate, ref)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._selectedIsolate = ref;
              $async$goto = ref == null ? 3 : 5;
              break;
            case 3:
              // then
              $async$self.selectedIsolateLibraries = H._setArrayType([], type$.JSArray_legacy_LibraryRef);
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$handler = 7;
              t1 = $async$self._service;
              t2 = ref.get$id(ref);
              t3 = t1._vmService;
              t3.toString;
              t4 = type$.dynamic;
              $async$goto = 10;
              return P._asyncAwait(t1.trackFuture$1$2("getIsolate", t3._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), type$.Isolate), type$.legacy_Isolate), $async$_setSelectedIsolate$1);
            case 10:
              // returning from await.
              isolate = $async$result;
              if (J.$eq$($async$self._selectedIsolate, ref))
                $async$self.selectedIsolateLibraries = isolate.libraries;
              $async$handler = 2;
              // goto after finally
              $async$goto = 9;
              break;
            case 7:
              // catch
              $async$handler = 6;
              $async$exception = $async$currentError;
              $async$goto = H.unwrapException($async$exception) instanceof Q.SentinelException ? 11 : 13;
              break;
            case 11:
              // then
              $async$goto = J.$eq$($async$self._selectedIsolate, ref) ? 14 : 15;
              break;
            case 14:
              // then
              $async$self._selectedIsolate = null;
              t1 = $async$self._isolates;
              if (t1.get$isNotEmpty(t1)) {
                t1 = $async$self._isolates;
                t1 = t1.get$keys(t1);
                t1 = !J.$eq$(t1.get$first(t1), ref);
              } else
                t1 = false;
              $async$goto = t1 ? 16 : 17;
              break;
            case 16:
              // then
              t1 = $async$self._isolates;
              t1 = t1.get$keys(t1);
              $async$goto = 18;
              return P._asyncAwait($async$self._setSelectedIsolate$1(t1.get$first(t1)), $async$_setSelectedIsolate$1);
            case 18:
              // returning from await.
            case 17:
              // join
            case 15:
              // join
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 12;
              break;
            case 13:
              // else
              throw $async$exception;
            case 12:
              // join
              // goto after finally
              $async$goto = 9;
              break;
            case 6:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 9:
              // after finally
            case 4:
              // join
              t1 = $async$self.selectedIsolateAvailable;
              if (t1.future._state === 0)
                t1.complete$0(0);
              $async$self._selectedIsolateController.add$1(0, ref);
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_setSelectedIsolate$1, $async$completer);
    },
    getSelectedIsolate$1: function(onData) {
      var t1 = this._selectedIsolate;
      if (t1 != null)
        onData.call$1(t1);
      t1 = this._selectedIsolateController;
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(onData);
    },
    _buildIsolateMap$1: function(isolates) {
      var t1, _i,
        map = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_IsolateRef, type$.legacy_Future_legacy_Isolate);
      for (t1 = isolates.length, _i = 0; _i < isolates.length; isolates.length === t1 || (0, H.throwConcurrentModificationError)(isolates), ++_i)
        map.$indexSet(0, isolates[_i], null);
      return map;
    }
  };
  R.IsolateManager_init_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, vmDeveloperModeEnabled, t1, vm;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              vmDeveloperModeEnabled = $.globals.$index(0, C.Type_PreferencesController_1KB)._vmDeveloperMode._value;
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              $async$goto = 2;
              return P._asyncAwait(t1.trackFuture$1$2("getVM", t1._vmService._call$1$1(0, "getVM", type$.VM), type$.legacy_VM), $async$call$0);
            case 2:
              // returning from await.
              vm = $async$result;
              t1 = P.List_List$of(vm.isolates, true, type$.legacy_IsolateRef);
              if (vmDeveloperModeEnabled)
                C.JSArray_methods.addAll$1(t1, vm.systemIsolates);
              t2 = $async$self.$this;
              if (t2._selectedIsolate.get$isSystemIsolate() && !vmDeveloperModeEnabled) {
                t3 = t2._isolates;
                t3 = t3.get$keys(t3);
                t2.selectIsolate$1(J.get$id$x(t3.get$first(t3)));
              }
              $async$goto = 3;
              return P._asyncAwait(t2._initIsolates$1(t1), $async$call$0);
            case 3:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 8
  };
  R.IsolateManager_selectIsolate_closure.prototype = {
    call$1: function(ref) {
      return ref.get$id(ref) == this.isolateRefId;
    },
    $signature: 289
  };
  R.IsolateManager_selectIsolate_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  R.IsolateManager__handleIsolateEvent_closure.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  R.IsolateManager__computeMainIsolate_closure.prototype = {
    call$1: function(ref) {
      return J.contains$1$asx(ref.get$name(ref), ":main(");
    },
    $signature: 289
  };
  R.IsolateManager__computeMainIsolate_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  R.ServiceExtensionManager.prototype = {
    _handleIsolateEvent$1: function($event) {
      return this._handleIsolateEvent$body$ServiceExtensionManager($event);
    },
    _handleIsolateEvent$body$ServiceExtensionManager: function($event) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_handleIsolateEvent$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = $event.kind === "ServiceExtensionAdded" ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return P._asyncAwait($async$self._maybeAddServiceExtension$1($event.extensionRPC), $async$_handleIsolateEvent$1);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleIsolateEvent$1, $async$completer);
    },
    _handleExtensionEvent$1: function($event) {
      return this._handleExtensionEvent$body$ServiceExtensionManager($event);
    },
    _handleExtensionEvent$body$ServiceExtensionManager: function($event) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_handleExtensionEvent$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
            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 P._asyncAwait($async$self._onFrameEventReceived$0(), $async$_handleExtensionEvent$1);
            case 9:
              // returning from await.
              // goto after switch
              $async$goto = 3;
              break;
            case 6:
              // case
              $async$goto = 10;
              return P._asyncAwait($async$self._updateServiceExtensionForStateChange$2(J.toString$0$(J.$index$asx(J.$index$asx($event.json, "extensionData"), "extension")), J.toString$0$(J.$index$asx(J.$index$asx($event.json, "extensionData"), "value"))), $async$_handleExtensionEvent$1);
            case 10:
              // returning from await.
              // goto after switch
              $async$goto = 3;
              break;
            case 7:
              // case
              $async$goto = 11;
              return P._asyncAwait($async$self._updateServiceExtensionForStateChange$2($.$get$httpEnableTimelineLogging().extension, J.toString$0$(J.$index$asx(J.$index$asx($event.json, "extensionData"), "enabled"))), $async$_handleExtensionEvent$1);
            case 11:
              // returning from await.
              // goto after switch
              $async$goto = 3;
              break;
            case 8:
              // case
              $async$goto = 12;
              return P._asyncAwait($async$self._updateServiceExtensionForStateChange$2($.$get$socketProfiling().extension, J.toString$0$(J.$index$asx(J.$index$asx($event.json, "extensionData"), "enabled"))), $async$_handleExtensionEvent$1);
            case 12:
              // returning from await.
              // goto after switch
              $async$goto = 3;
              break;
            case 3:
              // after switch
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleExtensionEvent$1, $async$completer);
    },
    _handleDebugEvent$1: function($event) {
      return this._handleDebugEvent$body$ServiceExtensionManager($event);
    },
    _handleDebugEvent$body$ServiceExtensionManager: function($event) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, callback, e, t1, isolateId, callbacks, exception, $async$exception;
      var $async$_handleDebugEvent$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = $event.kind === "Resume" ? 2 : 3;
              break;
            case 2:
              // then
              t1 = $event.isolate;
              isolateId = t1.get$id(t1);
              callbacks = $async$self._callbacksOnIsolateResume.$index(0, isolateId);
              if (callbacks == null)
                callbacks = H._setArrayType([], type$.JSArray_of_legacy_legacy_Future_void_Function);
              $async$self._callbacksOnIsolateResume = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_List_of_legacy_legacy_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 P._asyncAwait(callback.call$0(), $async$_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 = H.unwrapException($async$exception);
              B.log("Error running isolate callback: " + H.S(e), C.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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleDebugEvent$1, $async$completer);
    },
    _updateServiceExtensionForStateChange$2: function($name, encodedValue) {
      return this._updateServiceExtensionForStateChange$body$ServiceExtensionManager($name, encodedValue);
    },
    _updateServiceExtensionForStateChange$body$ServiceExtensionManager: function($name, encodedValue) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, extensionValue, extension;
      var $async$_updateServiceExtensionForStateChange$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncAwait($async$self.setServiceExtensionState$4$callExtension($name, !(extension instanceof E.ToggleableServiceExtensionDescription) || extensionValue === extension.values[0], extensionValue, false), $async$_updateServiceExtensionForStateChange$2);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_updateServiceExtensionForStateChange$2, $async$completer);
    },
    _getExtensionValue$2: function($name, encodedValue) {
      switch (J.get$runtimeType$(C.JSArray_methods.get$first($.$get$serviceExtensionsAllowlist().$index(0, $name).values))) {
        case C.Type_bool_lhE:
          return encodedValue === "true";
        case C.Type_int_tHn:
        case C.Type_double_K1J:
          return P.num_parse(encodedValue);
        default:
          return encodedValue;
      }
    },
    _onFrameEventReceived$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, extensionsToProcess, t2, _i, t1;
      var $async$_onFrameEventReceived$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._firstFrameReceived;
              if (t1.future._state !== 0) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1.complete$0(0);
              t1 = $async$self._pendingServiceExtensions;
              extensionsToProcess = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("SetMixin.E"));
              t1.clear$0(0);
              t1 = H._setArrayType([], type$.JSArray_legacy_Future_void);
              for (t2 = extensionsToProcess.length, _i = 0; _i < t2; ++_i)
                t1.push($async$self._addServiceExtension$1(extensionsToProcess[_i]));
              $async$goto = 3;
              return P._asyncAwait(P.Future_wait(t1, type$.void), $async$_onFrameEventReceived$0);
            case 3:
              // returning from await.
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_onFrameEventReceived$0, $async$completer);
    },
    _onMainIsolateChanged$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t3, t4, t5, t6, isolate, _i, t1, t2;
      var $async$_onMainIsolateChanged$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._mainIsolate;
              t2 = t1._value;
              if (t2 == null) {
                $async$self._mainIsolateClosed$0();
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._checkForFirstFrameStarted = false;
              t3 = $async$self._service;
              t4 = t2.get$id(t2);
              t5 = t3._vmService;
              t5.toString;
              t6 = type$.dynamic;
              $async$goto = 3;
              return P._asyncAwait(t3.trackFuture$1$2("getIsolate", t5._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t4], t6, t6), type$.Isolate), type$.legacy_Isolate), $async$_onMainIsolateChanged$0);
            case 3:
              // returning from await.
              isolate = $async$result;
              if (!t2.$eq(0, t1._value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = isolate.extensionRPCs != null ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 9;
              return P._asyncAwait($async$self._connectedApp.get$isFlutterApp(), $async$_onMainIsolateChanged$0);
            case 9:
              // returning from await.
              $async$goto = $async$result ? 6 : 8;
              break;
            case 6:
              // then
              if (!t2.$eq(0, t1._value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = H._setArrayType([], type$.JSArray_legacy_Future_void);
              for (t2 = isolate.extensionRPCs, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
                t1.push($async$self._maybeAddServiceExtension$1(t2[_i]));
              $async$goto = 10;
              return P._asyncAwait(P.Future_wait(t1, type$.void), $async$_onMainIsolateChanged$0);
            case 10:
              // returning from await.
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              t1 = H._setArrayType([], type$.JSArray_legacy_Future_void);
              for (t2 = isolate.extensionRPCs, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
                t1.push($async$self._addServiceExtension$1(t2[_i]));
              $async$goto = 11;
              return P._asyncAwait(P.Future_wait(t1, type$.void), $async$_onMainIsolateChanged$0);
            case 11:
              // returning from await.
            case 7:
              // join
            case 5:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_onMainIsolateChanged$0, $async$completer);
    },
    _maybeCheckForFirstFlutterFrame$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, value, t1, _lastMainIsolate;
      var $async$_maybeCheckForFirstFlutterFrame$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._mainIsolate;
              _lastMainIsolate = t1._value;
              if ($async$self._checkForFirstFrameStarted || $async$self._firstFrameReceived.future._state !== 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;
              $async$goto = 3;
              return P._asyncAwait($async$self._service.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._value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = J.$eq$(J.$index$asx(value == null ? null : value.json, "enabled"), "true") ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return P._asyncAwait($async$self._onFrameEventReceived$0(), $async$_maybeCheckForFirstFlutterFrame$0);
            case 6:
              // returning from await.
            case 5:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_maybeCheckForFirstFlutterFrame$0, $async$completer);
    },
    _maybeAddServiceExtension$1: function($name) {
      return this._maybeAddServiceExtension$body$ServiceExtensionManager($name);
    },
    _maybeAddServiceExtension$body$ServiceExtensionManager: function($name) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_maybeAddServiceExtension$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = $async$self._firstFrameReceived.future._state !== 0 || !$.$get$_unsafeBeforeFirstFrameFlutterExtensions().contains$1(0, $name) ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return P._asyncAwait($async$self._addServiceExtension$1($name), $async$_maybeAddServiceExtension$1);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              $async$self._pendingServiceExtensions.add$1(0, $name);
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_maybeAddServiceExtension$1, $async$completer);
    },
    _addServiceExtension$1: function($name) {
      return this._addServiceExtension$body$ServiceExtensionManager($name);
    },
    _addServiceExtension$body$ServiceExtensionManager: function($name) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1;
      var $async$_addServiceExtension$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncAwait($async$self._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 P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_addServiceExtension$1, $async$completer);
    },
    _restoreExtensionFromDevice$1: function($name) {
      return this._restoreExtensionFromDevice$body$ServiceExtensionManager($name);
    },
    _restoreExtensionFromDevice$body$ServiceExtensionManager: function($name) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, t3, t4, t5, t6, isolate, t1, isolateRef;
      var $async$_restoreExtensionFromDevice$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._mainIsolate;
              isolateRef = t1._value;
              if (isolateRef == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = $.$get$serviceExtensionsAllowlist();
              if (!t2.containsKey$1(0, $name)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = new R.ServiceExtensionManager__restoreExtensionFromDevice_restore($async$self, isolateRef, $name, J.get$runtimeType$(C.JSArray_methods.get$first(t2.$index(0, $name).values)));
              if (!isolateRef.$eq(0, t1._value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t3 = $async$self._service;
              t4 = isolateRef.get$id(isolateRef);
              t5 = t3._vmService;
              t5.toString;
              t6 = type$.dynamic;
              $async$goto = 3;
              return P._asyncAwait(t3.trackFuture$1$2("getIsolate", t5._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t4], t6, t6), type$.Isolate), type$.legacy_Isolate), $async$_restoreExtensionFromDevice$1);
            case 3:
              // returning from await.
              isolate = $async$result;
              if (!isolateRef.$eq(0, t1._value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = J.startsWith$1$s($name, "ext.dart.io.") && J.contains$1$asx(isolate.pauseEvent.kind, "Pause") ? 4 : 6;
              break;
            case 4:
              // then
              J.add$1$ax($async$self._callbacksOnIsolateResume.putIfAbsent$2(0, isolateRef.get$id(isolateRef), new R.ServiceExtensionManager__restoreExtensionFromDevice_closure()), t2);
              // goto join
              $async$goto = 5;
              break;
            case 6:
              // else
              $async$goto = 7;
              return P._asyncAwait(t2.call$0(), $async$_restoreExtensionFromDevice$1);
            case 7:
              // returning from await.
            case 5:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_restoreExtensionFromDevice$1, $async$completer);
    },
    _maybeRestoreExtension$2: function($name, value) {
      return this._maybeRestoreExtension$body$ServiceExtensionManager($name, value);
    },
    _maybeRestoreExtension$body$ServiceExtensionManager: function($name, value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, extensionDescription;
      var $async$_maybeRestoreExtension$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              extensionDescription = $.$get$serviceExtensionsAllowlist().$index(0, $name);
              $async$goto = extensionDescription instanceof E.ToggleableServiceExtensionDescription ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = value === extensionDescription.values[0] ? 5 : 6;
              break;
            case 5:
              // then
              $async$goto = 7;
              return P._asyncAwait($async$self.setServiceExtensionState$4$callExtension($name, true, value, false), $async$_maybeRestoreExtension$2);
            case 7:
              // returning from await.
            case 6:
              // join
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              $async$goto = 8;
              return P._asyncAwait($async$self.setServiceExtensionState$4$callExtension($name, true, value, false), $async$_maybeRestoreExtension$2);
            case 8:
              // returning from await.
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_maybeRestoreExtension$2, $async$completer);
    },
    _callServiceExtension$2: function($name, value) {
      return this._callServiceExtension$body$ServiceExtensionManager($name, value);
    },
    _callServiceExtension$body$ServiceExtensionManager: function($name, value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, mainIsolate, t3, t4, t5, t6, isolate, t1;
      var $async$_callServiceExtension$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._service;
              if (t1 == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = $async$self._mainIsolate;
              mainIsolate = t2._value;
              t3 = new R.ServiceExtensionManager__callServiceExtension_callExtension($async$self, mainIsolate, value, $name);
              if (mainIsolate == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t4 = mainIsolate.get$id(mainIsolate);
              t5 = t1._vmService;
              t5.toString;
              t6 = type$.dynamic;
              $async$goto = 3;
              return P._asyncAwait(t1.trackFuture$1$2("getIsolate", t5._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t4], t6, t6), type$.Isolate), type$.legacy_Isolate), $async$_callServiceExtension$2);
            case 3:
              // returning from await.
              isolate = $async$result;
              if (!J.$eq$(t2._value, mainIsolate)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = J.startsWith$1$s($name, "ext.dart.io.") && J.contains$1$asx(isolate.pauseEvent.kind, "Pause") ? 4 : 6;
              break;
            case 4:
              // then
              J.add$1$ax($async$self._callbacksOnIsolateResume.putIfAbsent$2(0, mainIsolate.get$id(mainIsolate), new R.ServiceExtensionManager__callServiceExtension_closure()), t3);
              // goto join
              $async$goto = 5;
              break;
            case 6:
              // else
              $async$goto = 7;
              return P._asyncAwait(t3.call$0(), $async$_callServiceExtension$2);
            case 7:
              // returning from await.
            case 5:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_callServiceExtension$2, $async$completer);
    },
    _mainIsolateClosed$0: function() {
      var t1, t2, t3, _this = this;
      _this._firstFrameReceived = new P._AsyncCompleter(new P._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), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (!t3.get$isCompleted())
          t3.complete$1(0, false);
      }
      t1.clear$0(0);
      for (t1 = _this._serviceExtensionAvailable, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();)
        t1.get$current(t1).set$value(0, false);
    },
    setServiceExtensionState$4$callExtension: function($name, enabled, value, callExtension) {
      return this.setServiceExtensionState$body$ServiceExtensionManager($name, enabled, value, callExtension);
    },
    setServiceExtensionState$3: function($name, enabled, value) {
      return this.setServiceExtensionState$4$callExtension($name, enabled, value, true);
    },
    setServiceExtensionState$body$ServiceExtensionManager: function($name, enabled, value, callExtension) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, state, t1;
      var $async$setServiceExtensionState$4$callExtension = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = callExtension && $async$self._serviceExtensions.contains$1(0, $name) ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return P._asyncAwait($async$self._callServiceExtension$2($name, value), $async$setServiceExtensionState$4$callExtension);
            case 4:
              // returning from await.
            case 3:
              // join
              state = R.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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$setServiceExtensionState$4$callExtension, $async$completer);
    },
    isServiceExtensionAvailable$1: function($name) {
      return this._serviceExtensions.contains$1(0, $name) || this._pendingServiceExtensions.contains$1(0, $name);
    },
    waitForServiceExtensionAvailable$1: function($name) {
      var t1;
      if (this.isServiceExtensionAvailable$1($name))
        return P.Future_Future$value(true, type$.legacy_bool);
      t1 = this._maybeRegisteringServiceExtensions;
      if (t1.$index(0, $name) == null)
        t1.$indexSet(0, $name, new R.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter(this, $name).call$0());
      return t1.$index(0, $name).future;
    },
    _hasServiceExtension$1: function($name) {
      return this._serviceExtensionAvailable.putIfAbsent$2(0, $name, new R.ServiceExtensionManager__hasServiceExtension_closure(this, $name));
    },
    _serviceExtensionState$1: function($name) {
      return this._serviceExtensionStateController.putIfAbsent$2(0, $name, new R.ServiceExtensionManager__serviceExtensionState_closure(this, $name));
    }
  };
  R.ServiceExtensionManager__restoreExtensionFromDevice_restore.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, response, enabled, value, value0, t4, exception, t1, t2, t3, $async$exception;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.isolateRef;
              t2 = $async$self.$this;
              t3 = t2._mainIsolate;
              if (!t1.$eq(0, t3._value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 4;
              t4 = $async$self.name;
              $async$goto = 7;
              return P._asyncAwait(t2._service.callServiceExtension$2$isolateId(t4, t1.get$id(t1)), $async$call$0);
            case 7:
              // returning from await.
              response = $async$result;
              if (!t1.$eq(0, t3._value)) {
                // goto return
                $async$goto = 1;
                break;
              }
            case 8:
              // switch
              switch ($async$self.expectedValueType) {
                case C.Type_bool_lhE:
                  // goto case
                  $async$goto = 10;
                  break;
                case C.Type_String_k8F:
                  // goto case
                  $async$goto = 11;
                  break;
                case C.Type_int_tHn:
                  // goto case
                  $async$goto = 12;
                  break;
                case C.Type_double_K1J:
                  // goto case
                  $async$goto = 13;
                  break;
                default:
                  // goto default
                  $async$goto = 14;
                  break;
              }
              break;
            case 10:
              // case
              enabled = J.$eq$(J.$index$asx(response.json, "enabled"), "true") && true;
              $async$goto = 15;
              return P._asyncAwait(t2._maybeRestoreExtension$2(t4, enabled), $async$call$0);
            case 15:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 11:
              // case
              value = J.$index$asx(response.json, "value");
              $async$goto = 16;
              return P._asyncAwait(t2._maybeRestoreExtension$2(t4, value), $async$call$0);
            case 16:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 12:
              // case
            case 13:
              // case
              value0 = P.num_parse(J.$index$asx(response.json, C.JSString_methods.substring$1(t4, J.lastIndexOf$1$asx(t4, ".") + 1)));
              $async$goto = 17;
              return P._asyncAwait(t2._maybeRestoreExtension$2(t4, 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;
              H.unwrapException($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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 3
  };
  R.ServiceExtensionManager__restoreExtensionFromDevice_closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_of_legacy_legacy_Future_void_Function);
    },
    $signature: 288
  };
  R.ServiceExtensionManager__callServiceExtension_callExtension.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t3, t4, t5, t1, t2;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.mainIsolate;
              if (!J.$eq$(t1._mainIsolate._value, t2)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t3 = $async$self.value;
              $async$goto = H._isBool(t3) ? 3 : 5;
              break;
            case 3:
              // then
              t4 = $async$self.name;
              t5 = new R.ServiceExtensionManager__callServiceExtension_callExtension_call(t1, t4);
              $async$goto = $.$get$serviceExtensionsAllowlist().$index(0, t4).shouldCallOnAllIsolates ? 6 : 8;
              break;
            case 6:
              // then
              $async$goto = 9;
              return P._asyncAwait(t1._service.forEachIsolate$1(new R.ServiceExtensionManager__callServiceExtension_callExtension_closure(t1, t4, t3, t5)), $async$call$0);
            case 9:
              // returning from await.
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              $async$goto = 10;
              return P._asyncAwait(t5.call$2(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;
              t2 = t2.get$id(t2);
              $async$goto = 14;
              return P._asyncAwait(t1.callServiceExtension$3$args$isolateId($async$self.name, P.LinkedHashMap_LinkedHashMap$_literal(["value", t3], type$.legacy_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;
              t4 = $async$self.name;
              t2 = t2.get$id(t2);
              $async$goto = 17;
              return P._asyncAwait(t1.callServiceExtension$3$args$isolateId(t4, P.LinkedHashMap_LinkedHashMap$_literal([C.JSString_methods.substring$1(t4, J.lastIndexOf$1$asx(t4, ".") + 1), t3], type$.legacy_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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 3
  };
  R.ServiceExtensionManager__callServiceExtension_callExtension_call.prototype = {
    $call$body$ServiceExtensionManager__callServiceExtension_callExtension_call: function(isolateId, value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$call$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.$this._service.callServiceExtension$3$args$isolateId($async$self.name, P.LinkedHashMap_LinkedHashMap$_literal(["enabled", value], type$.legacy_String, type$.dynamic), isolateId), $async$call$2);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$2, $async$completer);
    },
    call$2: function(isolateId, value) {
      return this.$call$body$ServiceExtensionManager__callServiceExtension_callExtension_call(isolateId, value);
    },
    $signature: 634
  };
  R.ServiceExtensionManager__callServiceExtension_callExtension_closure.prototype = {
    call$1: function(isolate) {
      return this.$call$body$ServiceExtensionManager__callServiceExtension_callExtension_closure(isolate);
    },
    $call$body$ServiceExtensionManager__callServiceExtension_callExtension_closure: function(isolate) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, $async$temp1;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = $async$self.name === $.$get$httpEnableTimelineLogging().extension;
              if ($async$temp1) {
                // goto then
                $async$goto = 2;
                break;
              } else
                $async$result = $async$temp1;
              // goto join
              $async$goto = 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return P._asyncAwait($async$self.$this._service.isDartIoVersionSupported$2$isolateId$supportedVersion(isolate.get$id(isolate), new T.SemanticVersion(1, 4, 0, null, null)), $async$call$1);
            case 4:
              // returning from await.
              $async$result = !$async$result;
            case 3:
              // join
              t1 = $async$result;
              t2 = $async$self.value;
              $async$goto = t1 ? 5 : 7;
              break;
            case 5:
              // then
              $async$goto = 8;
              return P._asyncAwait($async$self.$this._service.httpEnableTimelineLogging$2(isolate.get$id(isolate), t2), $async$call$1);
            case 8:
              // returning from await.
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              $async$goto = 9;
              return P._asyncAwait($async$self.$call.call$2(isolate.get$id(isolate), t2), $async$call$1);
            case 9:
              // returning from await.
            case 6:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 55
  };
  R.ServiceExtensionManager__callServiceExtension_closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_of_legacy_legacy_Future_void_Function);
    },
    $signature: 288
  };
  R.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter.prototype = {
    call$0: function() {
      var t1 = {},
        completer = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_legacy_bool), type$._AsyncCompleter_legacy_bool),
        t2 = this.$this,
        t3 = this.name,
        listenable = t2._hasServiceExtension$1(t3);
      t1.listener = null;
      t1.listener = new R.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter_closure(t1, listenable, completer);
      t2._hasServiceExtension$1(t3).addListener$1(0, t1.listener);
      return completer;
    },
    $signature: 635
  };
  R.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter_closure.prototype = {
    call$0: function() {
      var _this = this,
        t1 = _this.listenable;
      if (t1._value || _this.completer.future._state !== 0) {
        t1.removeListener$1(0, _this._box_0.listener);
        _this.completer.complete$1(0, true);
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  R.ServiceExtensionManager__hasServiceExtension_closure.prototype = {
    call$0: function() {
      return new B.ValueNotifier(this.$this._serviceExtensions.contains$1(0, this.name), P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_bool);
    },
    $signature: 636
  };
  R.ServiceExtensionManager__serviceExtensionState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._enabledServiceExtensions,
        t2 = this.name;
      t1 = t1.containsKey$1(0, t2) ? t1.$index(0, t2) : R.ServiceExtensionState$(false, null);
      return new B.ValueNotifier(t1, P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_ServiceExtensionState);
    },
    $signature: 637
  };
  R.ServiceExtensionState.prototype = {
    $eq: function(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (other instanceof R.ServiceExtensionState)
        if (this.enabled === other.enabled) {
          t1 = this.value;
          t2 = other.value;
          t2 = t1 == null ? t2 == null : t1 === t2;
          t1 = t2;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.enabled, this.value, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  R.VmFlagManager.prototype = {
    flag$1: function($name) {
      var t1 = this._flagNotifiers;
      return t1.containsKey$1(0, $name) ? t1.$index(0, $name) : null;
    },
    _initFlags$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, flags, t2, t3, t4, t5, _i, flag, t1, flagList;
      var $async$_initFlags$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._service;
              $async$goto = 3;
              return P._asyncAwait(t1.trackFuture$1$2("getFlagList", t1._vmService._call$1$1(0, "getFlagList", type$.FlagList), type$.legacy_FlagList), $async$_initFlags$0);
            case 3:
              // returning from await.
              flagList = $async$result;
              $async$self._service_manager$_flags.set$value(0, flagList);
              if (flagList == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              flags = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Flag);
              for (t1 = flagList.flags, t2 = t1.length, t3 = $async$self._flagNotifiers, t4 = type$.nullable_void_Function, t5 = type$.ValueNotifier_legacy_Flag, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
                flag = t1[_i];
                flags.$indexSet(0, flag.name, flag);
                t3.$indexSet(0, flag.name, new B.ValueNotifier(flag, P.List_List$filled(0, null, false, t4), t5));
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_initFlags$0, $async$completer);
    },
    handleVmEvent$1: function($event) {
      return this.handleVmEvent$body$VmFlagManager($event);
    },
    handleVmEvent$body$VmFlagManager: function($event) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, currentFlag, t2, $async$temp1;
      var $async$handleVmEvent$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$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)._value;
              t1 = t1.$index(0, $event.flag);
              t2 = Q.Flag$_fromJson(P.LinkedHashMap_LinkedHashMap$_literal(["name", currentFlag.name, "comment", currentFlag.comment, "modified", true, "valueAsString", $event.newValue], type$.legacy_String, type$.dynamic));
              t1.set$value(0, t2);
              t1 = $async$self._service;
              $async$temp1 = $async$self._service_manager$_flags;
              $async$goto = 6;
              return P._asyncAwait(t1.trackFuture$1$2("getFlagList", t1._vmService._call$1$1(0, "getFlagList", type$.FlagList), type$.legacy_FlagList), $async$handleVmEvent$1);
            case 6:
              // returning from await.
              $async$temp1.set$value(0, $async$result);
            case 5:
              // join
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$handleVmEvent$1, $async$completer);
    },
    vmServiceOpened$1: function(service) {
      return this.vmServiceOpened$body$VmFlagManager(service);
    },
    vmServiceOpened$body$VmFlagManager: function(service) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$vmServiceOpened$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self.cancel$0(0);
              $async$self._service = service;
              $async$goto = 2;
              return P._asyncAwait($async$self._initFlags$0(), $async$vmServiceOpened$1);
            case 2:
              // returning from await.
              t1 = service._vmService._getEventController$1("VM");
              $async$self.autoDispose$1(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1($async$self.get$handleVmEvent()));
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$vmServiceOpened$1, $async$completer);
    }
  };
  R.ConnectedState.prototype = {};
  F.RegisteredServiceDescription.prototype = {};
  Q.SliverIterableChildDelegate.prototype = {
    build$2: function(_, context, index) {
      var _this = this,
        t1 = _this._lastAccessedIndex;
      if (t1 == null || t1 > index) {
        _this._lastAccessedIndex = -1;
        _this._lastAccessedIterator = J.get$iterator$ax(_this.children);
      }
      for (; _this._lastAccessedIndex < index;) {
        _this._lastAccessedIterator.moveNext$0();
        _this._lastAccessedIndex = _this._lastAccessedIndex + 1;
      }
      t1 = _this._lastAccessedIterator;
      return t1.get$current(t1);
    },
    shouldRebuild$1: function(oldDelegate) {
      return !J.$eq$(this.children, oldDelegate.children) || this._lastAccessedIndex != oldDelegate._lastAccessedIndex || this._lastAccessedIterator != oldDelegate._lastAccessedIterator;
    },
    get$children: function(receiver) {
      return this.children;
    },
    get$estimatedChildCount: function() {
      return this.estimatedChildCount;
    }
  };
  K.SnapshotScreenBody.prototype = {
    createState$0: function() {
      return new K._SnapshotScreenBodyState(C._StateLifecycle_0);
    }
  };
  K._SnapshotScreenBodyState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._initScreen$0();
    },
    didChangeDependencies$0: function() {
      this.super$State$didChangeDependencies();
    },
    didUpdateWidget$1: function(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: function() {
      this._screen = C.JSArray_methods.firstWhere$2$orElse(this._widget.possibleScreens, new K._SnapshotScreenBodyState__initScreen_closure(this), new K._SnapshotScreenBodyState__initScreen_closure0());
    },
    build$1: function(_, context) {
      var _null = null,
        t1 = type$.JSArray_legacy_Widget,
        t2 = T.Row$(H._setArrayType([new U.ExitOfflineButton(new K._SnapshotScreenBodyState_build_closure(this, context, Z.Router_of(context, type$.legacy_Object).routerDelegate), _null)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null),
        t3 = this._screen;
      if (t3 != null)
        t3 = t3.build$1(0, context);
      else {
        t3 = this._widget.args;
        t3 = new U.CenteredMessage("Cannot load snapshot for screen '" + H.S(t3.screenId) + "'", _null);
      }
      return T.Column$(H._setArrayType([t2, C.SizedBox_null_6_null_null, T.Expanded$(t3, 1)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    reset$0: function(_) {
      this.setState$1(new K._SnapshotScreenBodyState_reset_closure(this));
    }
  };
  K._SnapshotScreenBodyState__initScreen_closure.prototype = {
    call$1: function(s) {
      var t1 = s.screenId,
        t2 = this.$this._widget.args;
      return t1 === t2.screenId;
    },
    $signature: 58
  };
  K._SnapshotScreenBodyState__initScreen_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  K._SnapshotScreenBodyState_build_closure.prototype = {
    call$0: function() {
      $.offlineMode = false;
      this.$this.reset$0(0);
      Z.Router_neglect(this.context, new K._SnapshotScreenBodyState_build__closure(this.routerDelegate));
    },
    $signature: 1
  };
  K._SnapshotScreenBodyState_build__closure.prototype = {
    call$0: function() {
      var t1 = type$.legacy_String;
      return this.routerDelegate.navigate$2(0, "", P.LinkedHashMap_LinkedHashMap$_literal(["screen", null], t1, t1));
    },
    $signature: 0
  };
  K._SnapshotScreenBodyState_reset_closure.prototype = {
    call$0: function() {
      J.clear$0$ax($.offlineDataJson);
      this.$this._screen = null;
    },
    $signature: 1
  };
  K.SnapshotArguments.prototype = {};
  L.Split.prototype = {
    createState$0: function() {
      return new L._SplitState(C._StateLifecycle_0);
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  L._SplitState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.fractions = P.List_List$from(this._widget.initialFractions, true, type$.legacy_double);
    },
    build$1: function(_, context) {
      return new A.LayoutBuilder(this.get$_buildLayout(), null);
    },
    _buildLayout$2: function(context, constraints) {
      var fractionDeltaRequired, fractionDeltaAvailable, i, 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 === C.Axis_0 ? width : height,
        availableSize = axisSize - _this._totalSplitterSize$0(),
        _minFractionForIndex = new L._SplitState__buildLayout__minFractionForIndex(new L._SplitState__buildLayout__minSizeForIndex(_this, availableSize), availableSize),
        _sizeForIndex = new L._SplitState__buildLayout__sizeForIndex(_this, availableSize),
        deltaFromMinimumSize = new L._SplitState__buildLayout_deltaFromMinimumSize(_this, _minFractionForIndex);
      for (fractionDeltaRequired = 0, fractionDeltaAvailable = 0, i = 0; t1 = _this.fractions, i < t1.length; ++i) {
        delta = deltaFromMinimumSize.call$1(i);
        if (delta < 0)
          fractionDeltaRequired -= delta;
        else
          fractionDeltaAvailable += delta;
      }
      if (fractionDeltaRequired > 0) {
        scaleFactor = Math.min(fractionDeltaRequired / fractionDeltaAvailable, 1);
        for (i = 0; t1 = _this.fractions, i < t1.length; ++i) {
          delta = deltaFromMinimumSize.call$1(i);
          t1 = _this.fractions;
          if (delta < 0)
            t1[i] = _minFractionForIndex.call$1(i);
          else
            t1[i] = t1[i] - delta * scaleFactor;
        }
      }
      _length = t1.length;
      sizes = J.JSArray_JSArray$allocateGrowable(_length, type$.legacy_double);
      for (i = 0; i < _length; ++i)
        sizes[i] = _sizeForIndex.call$1(i);
      updateSpacing = new L._SplitState__buildLayout_updateSpacing(_this, axisSize, _minFractionForIndex, new L._SplitState__buildLayout__clampFraction(_this, _minFractionForIndex));
      t1 = type$.JSArray_legacy_Widget;
      children = H._setArrayType([], t1);
      for (t2 = type$.ValueKey_String, i = 0; t3 = _this._widget, t4 = t3.children, i < t4.length; ++i) {
        t3 = t3.axis === C.Axis_0;
        t5 = t3 ? sizes[i] : width;
        t3 = t3 ? height : sizes[i];
        t4 = H._setArrayType([new T.SizedBox(t5, t3, t4[i], _null)], t1);
        t3 = _this._widget;
        if (i < t3.children.length - 1) {
          t5 = t3.axis === C.Axis_0 ? C.SystemMouseCursor_resizeColumn : C.SystemMouseCursor_resizeRow;
          t3 = t3.toString$0(0) + " dividerKey " + i;
          t6 = _this._widget;
          t7 = t6.splitters;
          t6 = t7 != null ? t7[i] : new L.DefaultSplitter(t6.axis === C.Axis_0, _null);
          t4.push(new T.MouseRegion(_null, _null, _null, t5, true, D.GestureDetector$(C.HitTestBehavior_2, t6, C.DragStartBehavior_0, false, new D.ValueKey(t3, t2), _null, _null, _null, _null, _null, new L._SplitState__buildLayout_closure(_this, updateSpacing, i), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new L._SplitState__buildLayout_closure0(_this, updateSpacing, i)), _null));
        }
        C.JSArray_methods.addAll$1(children, t4);
      }
      return T.Flex$(children, C.CrossAxisAlignment_3, t3.axis, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null, _null, C.VerticalDirection_1);
    },
    _totalSplitterSize$0: function() {
      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, H.throwConcurrentModificationError)(t1), ++_i) {
          splitter = t1[_i];
          totalSize += this._widget.axis === C.Axis_0 ? splitter.get$preferredSize()._dx : splitter.get$preferredSize()._dy;
        }
        return totalSize;
      }
    }
  };
  L._SplitState__buildLayout__minSizeForIndex.prototype = {
    call$1: function(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: 37
  };
  L._SplitState__buildLayout__minFractionForIndex.prototype = {
    call$1: function(index) {
      return this._minSizeForIndex.call$1(index) / this.availableSize;
    },
    $signature: 37
  };
  L._SplitState__buildLayout__clampFraction.prototype = {
    call$1: function(index) {
      var t1 = this.$this.fractions;
      t1[index] = J.clamp$2$n(t1[index], this._minFractionForIndex.call$1(index), 1);
    },
    $signature: 53
  };
  L._SplitState__buildLayout__sizeForIndex.prototype = {
    call$1: function(index) {
      return this.availableSize * this.$this.fractions[index];
    },
    $signature: 37
  };
  L._SplitState__buildLayout_deltaFromMinimumSize.prototype = {
    call$1: function(index) {
      return this.$this.fractions[index] - this._minFractionForIndex.call$1(index);
    },
    $signature: 37
  };
  L._SplitState__buildLayout_updateSpacing.prototype = {
    call$2: function(dragDetails, splitterIndex) {
      var _this = this,
        t1 = _this.$this,
        dragDelta = t1._widget.axis === C.Axis_0 ? dragDetails.delta._dx : dragDetails.delta._dy,
        t2 = _this._minFractionForIndex,
        t3 = _this._clampFraction;
      t1.setState$1(new L._SplitState__buildLayout_updateSpacing_closure(dragDelta / _this.axisSize, new L._SplitState__buildLayout_updateSpacing_updateSpacingBeforeSplitterIndex(t1, splitterIndex, t2, t3), new L._SplitState__buildLayout_updateSpacing_updateSpacingAfterSplitterIndex(t1, splitterIndex, t2, t3)));
      L._verifyFractionsSumTo1(t1.fractions);
    },
    $signature: 638
  };
  L._SplitState__buildLayout_updateSpacing_updateSpacingBeforeSplitterIndex.prototype = {
    call$1: function(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.fractions;
        t4[index] = t4[index] + delta0;
        minFractionForIndex = t3.call$1(index);
        t4 = t1.fractions[index];
        if (t4 >= minFractionForIndex) {
          t2.call$1(index);
          return delta;
        }
        delta0 = t4 - minFractionForIndex;
        t2.call$1(index);
        --index;
      }
      return delta - delta0;
    },
    $signature: 59
  };
  L._SplitState__buildLayout_updateSpacing_updateSpacingAfterSplitterIndex.prototype = {
    call$1: function(delta) {
      var t1, t2, t3, delta0, t4, minFractionForIndex, _this = this,
        index = _this.splitterIndex + 1;
      for (t1 = _this.$this, t2 = _this._clampFraction, t3 = _this._minFractionForIndex, delta0 = delta; t4 = t1.fractions, index < t4.length;) {
        t4[index] = t4[index] + delta0;
        minFractionForIndex = t3.call$1(index);
        t4 = t1.fractions[index];
        if (t4 >= minFractionForIndex) {
          t2.call$1(index);
          return delta;
        }
        delta0 = t4 - minFractionForIndex;
        t2.call$1(index);
        ++index;
      }
      return delta - delta0;
    },
    $signature: 59
  };
  L._SplitState__buildLayout_updateSpacing_closure.prototype = {
    call$0: function() {
      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: 1
  };
  L._SplitState__buildLayout_closure.prototype = {
    call$1: function(details) {
      return this.$this._widget.axis === C.Axis_0 ? this.updateSpacing.call$2(details, this.i) : null;
    },
    $signature: 126
  };
  L._SplitState__buildLayout_closure0.prototype = {
    call$1: function(details) {
      return this.$this._widget.axis === C.Axis_0 ? null : this.updateSpacing.call$2(details, this.i);
    },
    $signature: 126
  };
  L.DefaultSplitter.prototype = {
    build$1: function(_, context) {
      var t1 = this.isHorizontal ? 1.5707963267948966 : 0;
      return T.Transform$rotate(C.Alignment_0_0, t1, new T.Align(C.Alignment_0_0, 0.5, 0.5, L.Icon$(C.IconData_57862_MaterialIcons_false, K.Theme_of(context).focusColor, 24), null), null);
    }
  };
  B.StatusLine.prototype = {
    build$1: function(_, context) {
      var t2, _this = this, _null = null,
        textTheme = K.Theme_of(context).textTheme,
        children = H._setArrayType([], type$.JSArray_legacy_Widget),
        t1 = _this.currentScreen;
      children.push(T.Expanded$(new T.Align(C.Alignment_m1_0, _null, _null, _this.buildHelpUrlStatus$3(context, t1, textTheme), _null), 1));
      children.push(C.BulletSpacer_false_null);
      t2 = t1 != null;
      if (t2)
        children.push(N.ValueListenableBuilder$(new B.StatusLine_build_closure(_this, textTheme), t1.get$showIsolateSelector(), type$.legacy_bool));
      if (t2)
        if (t1.buildStatus$2(context, textTheme) != null) {
          children.push(T.Expanded$(new T.Align(C.Alignment_0_0, _null, _null, t1.buildStatus$2(context, textTheme), _null), 1));
          children.push(C.BulletSpacer_false_null);
        }
      children.push(T.Expanded$(new T.Align(C.Alignment_1_0, _null, _null, _this.buildConnectionStatus$1(textTheme), _null), 1));
      return M.Container$(C.Alignment_m1_0, T.Row$(children, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null), C.Clip_0, _null, _null, _null, _null, 24, _null, _null, _null, _null, _null, _null);
    },
    buildHelpUrlStatus$3: function(context, currentScreen, textTheme) {
      var t1, _null = null,
        colorScheme = K.Theme_of(context).colorScheme,
        docPageId = currentScreen.get$docPageId();
      if (docPageId != null) {
        t1 = "flutter.dev/devtools/" + docPageId;
        return R.InkWell$(false, true, L.Text$(t1, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, colorScheme.brightness === C.Brightness_1 ? C.Color_4279858898 : C.MaterialAccentColor_Map_iTyLX_4282434815, _null, C.TextDecoration_1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new B.StatusLine_buildHelpUrlStatus_closure(docPageId, context), _null, _null, _null, _null, _null);
      } else
        return C.Text_xw8;
    },
    buildIsolateSelector$2: function(context, textTheme) {
      var isolateManager = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager,
        t1 = isolateManager._selectedIsolateController,
        t2 = isolateManager._isolateCreatedController,
        t3 = isolateManager._isolateExitedController,
        changeStream = B.combineStreams(new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")), new P._BroadcastStream(t2, H._instanceType(t2)._eval$1("_BroadcastStream<1>")), new P._BroadcastStream(t3, H._instanceType(t3)._eval$1("_BroadcastStream<1>")));
      return B.StreamBuilder$(new B.StatusLine_buildIsolateSelector_closure(isolateManager, textTheme), isolateManager._selectedIsolate, new P._MapStream(new B.StatusLine_buildIsolateSelector_closure0(isolateManager), changeStream, changeStream.$ti._eval$1("_MapStream<Stream.T,IsolateRef*>")), type$.legacy_IsolateRef);
    },
    buildConnectionStatus$1: function(textTheme) {
      return N.ValueListenableBuilder$(new B.StatusLine_buildConnectionStatus_closure(textTheme), $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._connectedState, type$.legacy_ConnectedState);
    }
  };
  B.StatusLine_build_closure.prototype = {
    call$3: function(context, showIsolateSelector, _) {
      var _null = null;
      return showIsolateSelector ? new T.Flexible(1, C.FlexFit_1, T.Row$(H._setArrayType([T.Expanded$(new T.Align(C.Alignment_0_0, _null, _null, this.$this.buildIsolateSelector$2(context, this.textTheme), _null), 1), C.BulletSpacer_false_null], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null) : M.Container$(_null, _null, C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    $signature: 121
  };
  B.StatusLine_buildHelpUrlStatus_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(B.launchUrl("https://flutter.dev/devtools/" + $async$self.docPageId, $async$self.context), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  B.StatusLine_buildIsolateSelector_closure0.prototype = {
    call$1: function($event) {
      return this.isolateManager._selectedIsolate;
    },
    $signature: 639
  };
  B.StatusLine_buildIsolateSelector_closure.prototype = {
    call$2: function(context, snapshot) {
      var t4, _null = null,
        t1 = this.isolateManager,
        t2 = t1._isolates,
        t3 = type$.legacy_IsolateRef,
        isolates = P.List_List$unmodifiable(t2.get$keys(t2), t3);
      t2 = snapshot.data;
      t4 = H._arrayInstanceType(isolates)._eval$1("MappedListIterable<1,DropdownMenuItem<IsolateRef*>*>");
      return U.DevToolsTooltip$(new K.DropdownButtonHideUnderline(K.DropdownButton$(_null, true, false, P.List_List$of(new H.MappedListIterable(isolates, new B.StatusLine_buildIsolateSelector__closure(new B.StatusLine_buildIsolateSelector_closure_isolateName(t1), this.textTheme), t4), true, t4._eval$1("ListIterable.E")), _null, new B.StatusLine_buildIsolateSelector__closure0(t1), _null, _null, _null, t2, t3), _null), _null, "Selected Isolate");
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 640
  };
  B.StatusLine_buildIsolateSelector_closure_isolateName.prototype = {
    call$1: function(ref) {
      return H.S(ref.get$name(ref)) + " #" + H.S(this.isolateManager.isolateIndex$1(ref));
    },
    $signature: 641
  };
  B.StatusLine_buildIsolateSelector__closure0.prototype = {
    call$1: function(ref) {
      var t1 = ref == null ? null : ref.get$id(ref);
      this.isolateManager.selectIsolate$1(t1);
    },
    $signature: 65
  };
  B.StatusLine_buildIsolateSelector__closure.prototype = {
    call$1: function(ref) {
      var _null = null,
        t1 = ref.get$isSystemIsolate() ? C.Icon_gvg : C.Icon_nZ3;
      return K.DropdownMenuItem$(T.Row$(H._setArrayType([t1, C.SizedBox_8_null_null_null, L.Text$(this.isolateName.call$1(ref), _null, _null, _null, _null, _null, this.textTheme.bodyText2, _null, _null, _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null, ref, type$.legacy_IsolateRef);
    },
    $signature: 642
  };
  B.StatusLine_buildConnectionStatus_closure.prototype = {
    call$3: function(context, connectedState, _) {
      var app, description, vm, t1, _null = null;
      if (connectedState.connected) {
        app = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp;
        app.toString;
        if ($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vm.name === "ChromeDebugProxy")
          description = "web app";
        else {
          vm = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vm;
          description = H.S(vm.targetCPU) + "-" + H.S(vm.architectureBits) + " " + H.S(vm.operatingSystem);
        }
        t1 = type$.JSArray_legacy_Widget;
        return T.Row$(H._setArrayType([N.ValueListenableBuilder$(new B.StatusLine_buildConnectionStatus__closure(K.Theme_of(context).textTheme.bodyText2.color), $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._deviceBusy, type$.legacy_bool), C.SizedBox_8_null_null_null, U.DevToolsTooltip$(R.InkWell$(false, true, T.Row$(H._setArrayType([C.Icon_OLv, C.SizedBox_8_null_null_null, L.Text$(description, _null, _null, C.TextOverflow_0, _null, _null, this.textTheme.bodyText2, _null, _null, _null)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new B.StatusLine_buildConnectionStatus__closure0(context, app), _null, _null, _null, _null, _null), _null, "Device Info")], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_1, C.MainAxisSize_1, _null);
      } else
        return L.Text$("No client connection", _null, _null, _null, _null, _null, this.textTheme.bodyText2, _null, _null, _null);
    },
    $signature: 643
  };
  B.StatusLine_buildConnectionStatus__closure.prototype = {
    call$3: function(context, isBusy, _) {
      return T.SizedBox$(isBusy ? U.CircularProgressIndicator$(2, new S.AlwaysStoppedAnimation(this.color, type$.AlwaysStoppedAnimation_legacy_Color)) : C.SizedBox_null_null_null_null, 12, 12);
    },
    $signature: 644
  };
  B.StatusLine_buildConnectionStatus__closure0.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, $async$temp1, $async$temp2, $async$temp3;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = E;
              $async$temp2 = B;
              $async$temp3 = $async$self.app;
              $async$goto = 2;
              return P._asyncAwait(T.InfoController_getFlutterVersion(), $async$call$0);
            case 2:
              // returning from await.
              $async$temp1.showDialog(true, new $async$temp2.StatusLine_buildConnectionStatus___closure($async$temp3, $async$result), $async$self.context, type$.void);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  B.StatusLine_buildConnectionStatus___closure.prototype = {
    call$1: function(context) {
      return new F.DeviceDialog(this.app, this.flutterVersion, null);
    },
    $signature: 645
  };
  R.SurveyService.prototype = {
    get$activeSurvey: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_DevToolsSurvey),
        $async$returnValue, $async$self = this, t1;
      var $async$get$activeSurvey = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._cachedSurvey;
              $async$goto = t1 == null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return P._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 ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return P._asyncAwait(Q.setActiveSurvey(t1.id), $async$get$activeSurvey);
            case 8:
              // returning from await.
            case 7:
              // join
              $async$goto = 9;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$activeSurvey, $async$completer);
    },
    maybeShowSurveyPrompt$1: function(context) {
      return this.maybeShowSurveyPrompt$body$SurveyService(context);
    },
    maybeShowSurveyPrompt$body$SurveyService: function(context) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, message, actions, survey;
      var $async$maybeShowSurveyPrompt$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.get$activeSurvey(), $async$maybeShowSurveyPrompt$1);
            case 2:
              // returning from await.
              survey = $async$result;
              if (survey != null) {
                message = survey.title;
                actions = H._setArrayType([new Y.NotificationAction("NO THANKS", new R.SurveyService_maybeShowSurveyPrompt_closure($async$self, message, context), false, null), new Y.NotificationAction("TAKE SURVEY", new R.SurveyService_maybeShowSurveyPrompt_closure0($async$self, survey, message, context), true, null)], type$.JSArray_legacy_NotificationAction);
                $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new R.SurveyService_maybeShowSurveyPrompt_closure1(context, message, actions));
              }
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$maybeShowSurveyPrompt$1, $async$completer);
    },
    _shouldShowSurvey$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$self = this, t1, t2, t3;
      var $async$_shouldShowSurvey$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._cachedSurvey == null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return P._asyncAwait(Q.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 P._asyncAwait(Q.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._core$_value;
              t2 = t2.endDate._core$_value;
              $async$returnValue = t1 >= t3 && t1 <= t2;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_shouldShowSurvey$0, $async$completer);
    },
    _fetchSurveyContent$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_DevToolsSurvey),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], response, contents, e, t1, t2, id, startDate, endDate, title, surveyUrl, exception, $async$exception;
      var $async$_fetchSurveyContent$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait(G.get($.$get$SurveyService__metadataUrl()), $async$_fetchSurveyContent$0);
            case 7:
              // returning from await.
              response = $async$result;
              if (response.statusCode === 200) {
                t1 = response;
                contents = C.C_JsonCodec.decode$1(0, B.encodingForCharset(J.$index$asx(U._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 ? P.DateTime_parse(t2.$index(t1, "startDate")) : null;
                endDate = t2.$index(t1, "startDate") != null ? P.DateTime_parse(t2.$index(t1, "endDate")) : null;
                title = t2.$index(t1, "title");
                surveyUrl = t2.$index(t1, "url");
                $async$returnValue = new R.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 = H.unwrapException($async$exception);
              if (type$.legacy_Error._is(t1)) {
                e = t1;
                B.log("Error fetching survey content: " + H.S(e), C.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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_fetchSurveyContent$0, $async$completer);
    },
    _noThanksPressed$2$context$message: function(context, message) {
      return this._noThanksPressed$body$SurveyService(context, message);
    },
    _noThanksPressed$body$SurveyService: function(context, message) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$_noThanksPressed$2$context$message = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(Q.setSurveyActionTaken(), $async$_noThanksPressed$2$context$message);
            case 2:
              // returning from await.
              Y.Notifications_of(context).dismiss$1(message);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_noThanksPressed$2$context$message, $async$completer);
    },
    _takeSurveyPressed$3$context$message$surveyUrl: function(context, message, surveyUrl) {
      return this._takeSurveyPressed$body$SurveyService(context, message, surveyUrl);
    },
    _takeSurveyPressed$body$SurveyService: function(context, message, surveyUrl) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$_takeSurveyPressed$3$context$message$surveyUrl = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(B.launchUrl(surveyUrl, context), $async$_takeSurveyPressed$3$context$message$surveyUrl);
            case 2:
              // returning from await.
              $async$goto = 3;
              return P._asyncAwait(Q.setSurveyActionTaken(), $async$_takeSurveyPressed$3$context$message$surveyUrl);
            case 3:
              // returning from await.
              Y.Notifications_of(context).dismiss$1(message);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_takeSurveyPressed$3$context$message$surveyUrl, $async$completer);
    }
  };
  R.SurveyService_maybeShowSurveyPrompt_closure.prototype = {
    call$0: function() {
      return this.$this._noThanksPressed$2$context$message(this.context, this.message);
    },
    $signature: 0
  };
  R.SurveyService_maybeShowSurveyPrompt_closure0.prototype = {
    call$0: function() {
      var _this = this, _null = null,
        uri = P.Uri_parse(_this.survey.url, 0, _null),
        url = J.toString$0$(window.location),
        fromPage = C.JSString_methods.substring$2(url, C.JSString_methods.indexOf$1(url, "#/") + 2, C.JSString_methods.indexOf$1(url, "?")),
        clientId = $._flutterClientId,
        internalValue = String(false),
        queryParams = P.LinkedHashMap_LinkedHashMap$_literal(["ClientId", clientId, "IDE", $._ideLaunched, "From", fromPage, "Internal", internalValue], type$.legacy_String, type$.dynamic),
        t1 = uri.get$scheme();
      return _this.$this._takeSurveyPressed$3$context$message$surveyUrl(_this.context, _this.message, P._Uri__Uri(uri.get$host(uri), uri.get$path(uri), _null, _null, queryParams, t1, _null).get$_text());
    },
    $signature: 0
  };
  R.SurveyService_maybeShowSurveyPrompt_closure1.prototype = {
    call$1: function(_) {
      if (Y.Notifications_of(this.context).push$4$actions$allowDuplicates$duration(this.message, this.actions, false, C.Duration_86400000000))
        Q.incrementSurveyShownCount();
    },
    $signature: 51
  };
  R.DevToolsSurvey.prototype = {};
  S.ScrollKind.prototype = {
    toString$0: function(_) {
      return this._table$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  S.FlatTable.prototype = {
    createState$0: function() {
      return new S.FlatTableState(C._StateLifecycle_0, this.$ti._eval$1("FlatTableState<1*>"));
    },
    get$data: function(receiver) {
      return this.data;
    },
    get$searchMatchesNotifier: function() {
      return this.searchMatchesNotifier;
    },
    get$activeSearchMatchNotifier: function() {
      return this.activeSearchMatchNotifier;
    },
    get$selectionNotifier: function() {
      return this.selectionNotifier;
    }
  };
  S.FlatTableState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._initData$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget;
      if (t1.sortColumn != oldWidget.sortColumn || t1.sortDirection != oldWidget.sortDirection || !C.C_DeepCollectionEquality.equals$2(t1.data, oldWidget.data))
        this._initData$0();
    },
    _initData$0: function() {
      var t1, _this = this;
      _this.data = P.List_List$from(_this._widget.data, true, _this.$ti._eval$1("1*"));
      t1 = _this._widget;
      _this.sortData$3$secondarySortColumn(t1.sortColumn, t1.sortDirection, t1.secondarySortColumn);
    },
    computeColumnWidths$1: function(maxWidth) {
      var sortedColumns, t2, available, _i, col, t3, unconstrainedCount, column, available0, unconstrainedCount0, unconstrainedWidth, widths, unconstrainedFound, width, _this = this,
        t1 = _this._widget.columns;
      maxWidth = Math.max(0, maxWidth - 32 - Math.max(0, t1.length - 1) * 16);
      sortedColumns = H._setArrayType(t1.slice(0), H._arrayInstanceType(t1));
      C.JSArray_methods.sort$1(sortedColumns, new S.FlatTableState_computeColumnWidths_closure(_this));
      for (t1 = _this._widget.columns, t2 = t1.length, available = maxWidth, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        col = t1[_i];
        if (col.get$fixedWidthPx() != null)
          available -= col.get$fixedWidthPx();
        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, H.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, H.throwConcurrentModificationError)(sortedColumns), ++_i) {
          column = sortedColumns[_i];
          if (column.get$fixedWidthPx() == null && column.minWidthPx != null) {
            t1 = column.minWidthPx;
            available0 = available + t1;
            unconstrainedCount0 = unconstrainedCount + 1;
            if (available0 / unconstrainedCount0 < t1)
              break;
            unconstrainedCount = unconstrainedCount0;
            available = available0;
          }
        }
      unconstrainedWidth = unconstrainedCount > 0 ? available / unconstrainedCount : available;
      widths = H._setArrayType([], type$.JSArray_legacy_double);
      for (t1 = _this._widget.columns, t2 = t1.length, unconstrainedFound = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        column = t1[_i];
        width = column.get$fixedWidthPx();
        if (width == null) {
          width = column.minWidthPx;
          if (!(width != null && width > unconstrainedWidth)) {
            ++unconstrainedFound;
            width = unconstrainedWidth;
          }
        }
        widths.push(width);
      }
      return widths;
    },
    build$1: function(_, context) {
      return new A.LayoutBuilder(new S.FlatTableState_build_closure(this), null);
    },
    _buildRow$4: function(context, linkedScrollControllerGroup, index, columnWidths) {
      var t4, t5, t6, t7, _this = this,
        node = _this.data[index],
        t1 = _this._widget.keyFactory.call$1(node),
        t2 = _this._widget,
        t3 = t2.onItemSelected;
      t2 = t2.columns;
      t4 = K.Theme_of(context).colorScheme;
      if (C.JSInt_methods.$mod(index, 2) === 1)
        t4 = t4.brightness === C.Brightness_1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
      else if (t4.brightness === C.Brightness_1) {
        t4 = C.Map_HFpTk.$index(0, 50);
        t4 = U.ColorExtension_darken(t4, 0.05);
      } else {
        t4 = C.Map_HFpTk.$index(0, 850);
        t4 = U.ColorExtension_brighten(t4);
      }
      t5 = _this._widget.selectionNotifier;
      t5 = t5 != null && J.$eq$(node, t5._value);
      t6 = _this._widget;
      t7 = t6.searchMatchesNotifier;
      return S.TableRow$(t6.activeSearchMatchNotifier, t4, columnWidths, t2, null, null, false, false, t5, true, t1, linkedScrollControllerGroup, node, null, t3, t7, _this.$ti._eval$1("1*"));
    },
    _sortDataAndUpdate$3$secondarySortColumn: function(column, direction, secondarySortColumn) {
      this.setState$1(new S.FlatTableState__sortDataAndUpdate_closure(this, column, direction, secondarySortColumn));
    },
    _sortDataAndUpdate$2: function(column, direction) {
      return this._sortDataAndUpdate$3$secondarySortColumn(column, direction, null);
    },
    sortData$3$secondarySortColumn: function(column, direction, secondarySortColumn) {
      var t1 = this.data;
      (t1 && C.JSArray_methods).sort$1(t1, new S.FlatTableState_sortData_closure(this, column, direction, secondarySortColumn));
    }
  };
  S.FlatTableState_computeColumnWidths_closure.prototype = {
    call$2: function(a, b) {
      var t1 = a.minWidthPx,
        t2 = t1 != null;
      if (t2 && b.minWidthPx != null)
        return J.compareTo$1$ns(t1, b.minWidthPx);
      if (t2)
        return -1;
      if (b.minWidthPx != null)
        return 1;
      return 0;
    },
    $signature: function() {
      return this.$this.$ti._eval$1("int*(ColumnData<1*>*,ColumnData<1*>*)");
    }
  };
  S.FlatTableState_build_closure.prototype = {
    call$2: function(context, constraints) {
      var t1 = this.$this,
        columnWidths = t1.computeColumnWidths$1(constraints.maxWidth),
        t2 = t1.data,
        t3 = t1._widget,
        t4 = t3.columns,
        t5 = t3.autoScrollContent,
        t6 = t3.sortColumn,
        t7 = t3.sortDirection,
        t8 = t3.secondarySortColumn;
      return S._Table$(t3.activeSearchMatchNotifier, t5, columnWidths, t4, t2, null, null, t1.get$_sortDataAndUpdate(), t1.get$_buildRow(), t8, null, t6, t7, t1.$ti._eval$1("1*"));
    },
    $signature: function() {
      return this.$this.$ti._eval$1("_Table<1*>*(BuildContext*,BoxConstraints*)");
    }
  };
  S.FlatTableState__sortDataAndUpdate_closure.prototype = {
    call$0: function() {
      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: 1
  };
  S.FlatTableState_sortData_closure.prototype = {
    call$2: function(a, b) {
      return S._compareData(a, b, this.column, this.direction, this.secondarySortColumn);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("int*(1*,1*)");
    }
  };
  S.Selection.prototype = {
    get$node: function() {
      return this.node;
    }
  };
  S.TreeTable.prototype = {
    createState$0: function() {
      var t1 = this.$ti;
      return new S.TreeTableState(H._setArrayType([], t1._eval$1("JSArray<1*>")), P.LinkedHashSet_LinkedHashSet$_empty(t1._eval$1("1*")), K.Disposer$(), null, null, null, C._StateLifecycle_0, t1._eval$1("TreeTableState<1*>"));
    },
    get$selectionNotifier: function() {
      return this.selectionNotifier;
    }
  };
  S.TreeTableState.prototype = {
    initState$0: function() {
      var _length, _list, index, _this = this;
      _this.super$State$initState();
      _this._initData$0();
      _length = _this.TreeMixin_dataRoots.length;
      _list = J.JSArray_JSArray$allocateGrowable(_length, type$.legacy_bool);
      for (index = 0; index < _length; ++index)
        _list[index] = _this.TreeMixin_dataRoots[index].get$isExpanded();
      _this.rootsExpanded = _list;
      _this._updateItems$0();
      _this._table$_focusNode = O.FocusNode$(true, null, true, null, false);
    },
    expandParents$1: function($parent) {
      var t1, t2;
      if ($parent == null)
        return;
      t1 = J.getInterceptor$x($parent);
      t2 = t1.get$parent($parent);
      if (!J.$eq$(t2 == null ? null : J.get$index$x(t2), -1))
        this.expandParents$1(t1.get$parent($parent));
      t1 = $parent.get$isExpanded();
      if (!t1)
        this._toggleNode$1($parent);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, _length, _list, index, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.$eq(0, oldWidget))
        return;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(_this.selectionNotifier, new S.TreeTableState_didUpdateWidget_closure(_this));
      t1 = _this._widget;
      if (t1.sortColumn != oldWidget.sortColumn || t1.sortDirection !== oldWidget.sortDirection || !C.C_DeepCollectionEquality.equals$2(t1.dataRoots, oldWidget.dataRoots))
        _this._initData$0();
      _length = _this.TreeMixin_dataRoots.length;
      _list = J.JSArray_JSArray$allocateGrowable(_length, type$.legacy_bool);
      for (index = 0; index < _length; ++index)
        _list[index] = _this.TreeMixin_dataRoots[index].get$isExpanded();
      _this.rootsExpanded = _list;
      _this._updateItems$0();
    },
    _initData$0: function() {
      var _this = this, _null = null,
        t1 = _this.$ti,
        t2 = t1._eval$1("1*");
      _this.TreeMixin_dataRoots = P.List_List$generate(_this._widget.dataRoots.length, new S.TreeTableState__initData_closure(_this), true, t2);
      _this.TreeMixin_dataRoots = P.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.selectionNotifier = t2 == null ? new B.ValueNotifier(new S.Selection(_null, _null, false, t1._eval$1("Selection<1*>")), P.List_List$filled(0, _null, false, type$.nullable_void_Function), t1._eval$1("ValueNotifier<Selection<1*>*>")) : t2;
    },
    dispose$0: function(_) {
      this.super$_TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin$dispose(0);
      this._table$_focusNode.dispose$0(0);
    },
    _updateItems$0: function() {
      this.setState$1(new S.TreeTableState__updateItems_closure(this));
    },
    _onItemsAnimated$0: function() {
      this.setState$1(new S.TreeTableState__onItemsAnimated_closure(this));
    },
    _toggleNode$1: function(node) {
      var _this = this;
      if (!node.get$isExpandable()) {
        node.leaf$0();
        _this._updateItems$0();
        return;
      }
      _this.setState$1(new S.TreeTableState__toggleNode_closure(_this, node));
      _this._updateItems$0();
    },
    _computeColumnWidths$1: function(flattenedList) {
      var deepest, _i, node, widths, t2, column, width,
        t1 = this.TreeMixin_dataRoots,
        firstRoot = (t1 && C.JSArray_methods).get$first(t1);
      for (t1 = flattenedList.length, deepest = firstRoot, _i = 0; _i < flattenedList.length; flattenedList.length === t1 || (0, H.throwConcurrentModificationError)(flattenedList), ++_i) {
        node = flattenedList[_i];
        if (J.get$level$x(node) > deepest.get$level(deepest))
          deepest = node;
      }
      widths = H._setArrayType([], type$.JSArray_legacy_double);
      for (t1 = this._widget.columns, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        column = t1[_i];
        width = column.getNodeIndentPx$1(deepest);
        widths.push(column.get$fixedWidthPx() != null ? width + column.get$fixedWidthPx() : width + 500);
      }
      return widths;
    },
    build$1: function(_, context) {
      var _this = this,
        t1 = _this.TreeMixin_items,
        t2 = _this._widget,
        t3 = t2.columns,
        t4 = _this.columnWidths,
        t5 = t2.sortColumn;
      t2 = t2.sortDirection;
      return S._Table$(null, false, t4, t3, t1, _this._table$_focusNode, _this.get$_table$_handleKeyEvent(), _this.get$_sortDataAndUpdate(), _this.get$_buildRow(), null, _this.selectionNotifier, t5, t2, _this.$ti._eval$1("1*"));
    },
    _buildRow$4: function(context, linkedScrollControllerGroup, index, columnWidths) {
      var node = this.TreeMixin_items[index];
      if (this.animatingChildrenSet.contains$1(0, node))
        return C.SizedBox_null_null_null_null;
      return new S.TreeTableState__buildRow_rowForNode(this, index, linkedScrollControllerGroup, context, columnWidths).call$1(node);
    },
    sortData$3$secondarySortColumn: function(column, direction, secondarySortColumn) {
      var sortFunction = new S.TreeTableState_sortData_closure(this, column, direction, secondarySortColumn),
        t1 = this.TreeMixin_dataRoots;
      (t1 && C.JSArray_methods).sort$1(t1, sortFunction);
      C.JSArray_methods.forEach$1(t1, new S.TreeTableState_sortData__sort(this, sortFunction));
    },
    _table$_handleKeyEvent$3: function($event, scrollController, constraints) {
      var t1, t2, _this = this;
      if (!($event instanceof B.RawKeyDownEvent))
        return C.KeyEventResult_1;
      t1 = H._setArrayType([C.LogicalKeyboardKey_68719477505, C.LogicalKeyboardKey_68719477508, C.LogicalKeyboardKey_68719477506, C.LogicalKeyboardKey_68719477507], type$.JSArray_legacy_LogicalKeyboardKey);
      t2 = $event.data;
      if (!C.JSArray_methods.contains$1(t1, t2.get$logicalKey()))
        return C.KeyEventResult_1;
      t1 = _this.selectionNotifier;
      if (t1._value.node == null)
        t1.set$value(0, new S.Selection(_this.TreeMixin_items[0], 0, false, _this.$ti._eval$1("Selection<1*>")));
      if (t2.get$logicalKey().$eq(0, C.LogicalKeyboardKey_68719477505))
        _this._moveSelection$3(C.ScrollKind_1, scrollController, constraints.maxHeight);
      else if (t2.get$logicalKey().$eq(0, C.LogicalKeyboardKey_68719477508))
        _this._moveSelection$3(C.ScrollKind_0, scrollController, constraints.maxHeight);
      else if (t2.get$logicalKey().$eq(0, C.LogicalKeyboardKey_68719477506))
        if (_this.selectionNotifier._value.node.get$isExpanded())
          _this._toggleNode$1(_this.selectionNotifier._value.node);
        else
          _this._moveSelection$3(C.ScrollKind_2, scrollController, constraints.maxHeight);
      else if (t2.get$logicalKey().$eq(0, C.LogicalKeyboardKey_68719477507))
        if (_this.selectionNotifier._value.node.get$isExpandable() && !_this.selectionNotifier._value.node.get$isExpanded())
          _this._toggleNode$1(_this.selectionNotifier._value.node);
        else
          _this._moveSelection$3(C.ScrollKind_1, scrollController, constraints.maxHeight);
      return C.KeyEventResult_0;
    },
    _moveSelection$3: function(scrollKind, scrollController, viewportHeight) {
      var firstItemIndex, minCompleteItemsInView, selectionValue, selectedNodeIndex, newSelectedNode, _this = this, _box_0 = {},
        t1 = scrollController.get$position(scrollController)._pixels;
      t1.toString;
      firstItemIndex = C.JSNumber_methods.ceil$0(t1 / 32);
      minCompleteItemsInView = Math.max(C.JSNumber_methods.floor$0(viewportHeight / 32) - 2, 0);
      _box_0.newSelectedNodeIndex = null;
      selectionValue = _this.selectionNotifier._value;
      selectedNodeIndex = selectionValue.nodeIndex;
      switch (scrollKind) {
        case C.ScrollKind_1:
          t1 = _box_0.newSelectedNodeIndex = Math.min(selectedNodeIndex + 1, _this.TreeMixin_items.length - 1);
          break;
        case C.ScrollKind_0:
          t1 = _box_0.newSelectedNodeIndex = Math.max(selectedNodeIndex - 1, 0);
          break;
        case C.ScrollKind_2:
          t1 = _this.TreeMixin_items;
          t1 = _box_0.newSelectedNodeIndex = Math.max((t1 && C.JSArray_methods).indexOf$1(t1, J.get$parent$x(selectionValue.node)), 0);
          break;
        default:
          t1 = null;
      }
      newSelectedNode = _this.TreeMixin_items[t1];
      if (t1 > firstItemIndex + minCompleteItemsInView - 1)
        scrollController.animateTo$3$curve$duration((t1 - minCompleteItemsInView + 1) * 32, C.Cubic_oKc, C.Duration_200000);
      else if (t1 < firstItemIndex)
        scrollController.animateTo$3$curve$duration(t1 * 32, C.Cubic_oKc, C.Duration_200000);
      _this.setState$1(new S.TreeTableState__moveSelection_closure(_box_0, _this, newSelectedNode));
    },
    _sortDataAndUpdate$3$secondarySortColumn: function(column, direction, secondarySortColumn) {
      this.sortData$3$secondarySortColumn(column, direction, secondarySortColumn);
      this._updateItems$0();
    },
    _sortDataAndUpdate$2: function(column, direction) {
      return this._sortDataAndUpdate$3$secondarySortColumn(column, direction, null);
    }
  };
  S.TreeTableState_didUpdateWidget_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new S.TreeTableState_didUpdateWidget__closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S.TreeTableState_didUpdateWidget__closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        node = t1.selectionNotifier._value.node;
      t1.expandParents$1(node == null ? null : J.get$parent$x(node));
    },
    $signature: 1
  };
  S.TreeTableState__initData_closure.prototype = {
    call$1: function(index) {
      var t1 = this.$this._widget,
        root = t1.dataRoots[index];
      if (t1.autoExpandRoots)
        J.expand$0$ax(root);
      return root;
    },
    $signature: function() {
      return this.$this.$ti._eval$1("1*(int*)");
    }
  };
  S.TreeTableState__updateItems_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.buildFlatList$1(t1.TreeMixin_dataRoots);
      t1.TreeMixin_items = t2;
      t2 = P.List_List$of(t2, true, t1.$ti._eval$1("1*"));
      C.JSArray_methods.addAll$1(t2, t1.animatingChildren);
      t1.columnWidths = t1._computeColumnWidths$1(t2);
    },
    $signature: 1
  };
  S.TreeTableState__onItemsAnimated_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1.$ti;
      t1.animatingChildren = H._setArrayType([], t2._eval$1("JSArray<1*>"));
      t1.animatingChildrenSet = P.LinkedHashSet_LinkedHashSet$_empty(t2._eval$1("1*"));
      t1.columnWidths = t1._computeColumnWidths$1(t1.TreeMixin_items);
    },
    $signature: 1
  };
  S.TreeTableState__toggleNode_closure.prototype = {
    call$0: function() {
      var t2, t3, t4, t5, nodeChildren, rootIndex,
        t1 = this.node;
      if (!t1.get$isExpandable())
        return;
      t2 = this.$this;
      t2.animatingNode = t1;
      t3 = t2.$ti;
      t4 = J.getInterceptor$ax(t1);
      t5 = t3._eval$1("JSArray<1*>");
      if (t1.get$isExpanded()) {
        nodeChildren = t2.buildFlatList$1(H._setArrayType([t1], t5));
        t4.collapse$0(t1);
      } else {
        t4.expand$0(t1);
        nodeChildren = t2.buildFlatList$1(H._setArrayType([t1], t5));
      }
      t4 = H.SubListIterable$(nodeChildren, 1, null, H._arrayInstanceType(nodeChildren)._precomputed1).take$1(0, 50).toList$0(0);
      t2.animatingChildren = t4;
      t2.animatingChildrenSet = P.LinkedHashSet_LinkedHashSet$of(t4, t3._eval$1("1*"));
      t3 = t2.TreeMixin_dataRoots;
      if ((t3 && C.JSArray_methods).contains$1(t3, t1)) {
        t3 = t2.TreeMixin_dataRoots;
        rootIndex = (t3 && C.JSArray_methods).indexOf$1(t3, t1);
        t2.rootsExpanded[rootIndex] = t1.get$isExpanded();
      }
    },
    $signature: 1
  };
  S.TreeTableState__buildRow_rowForNode.prototype = {
    call$1: function(node) {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, _i, _this = this,
        t1 = _this.index,
        t2 = J.getInterceptor$x(node);
      t2.set$index(node, t1);
      t3 = _this.$this;
      t4 = t3._widget.keyFactory.call$1(node);
      t5 = K.Theme_of(_this.context).colorScheme;
      if (C.JSInt_methods.$mod(t1, 2) === 1)
        t5 = t5.brightness === C.Brightness_1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
      else if (t5.brightness === C.Brightness_1) {
        t5 = C.Map_HFpTk.$index(0, 50);
        t5 = U.ColorExtension_darken(t5, 0.05);
      } else {
        t5 = C.Map_HFpTk.$index(0, 850);
        t5 = U.ColorExtension_brighten(t5);
      }
      t6 = t3._widget;
      t7 = t6.columns;
      t6 = t6.treeColumn;
      t8 = J.$eq$(t3.selectionNotifier._value.node, node);
      t9 = node.get$isExpanded();
      t10 = node.get$isExpandable();
      t11 = node.shouldShow$0();
      if (!t2.$eq(node, t3.animatingNode) || t3.animatingChildrenSet.contains$1(0, node))
        t2 = null;
      else {
        t2 = H._setArrayType([], type$.JSArray_legacy_Widget);
        for (t12 = t3.animatingChildren, t13 = t12.length, _i = 0; _i < t12.length; t12.length === t13 || (0, H.throwConcurrentModificationError)(t12), ++_i)
          t2.push(_this.call$1(t12[_i]));
      }
      return S.TableRow$(null, t5, _this.columnWidths, t7, t6, t2, t10, t9, t8, t11, t4, _this.linkedScrollControllerGroup, node, t3.get$_onItemsAnimated(), new S.TreeTableState__buildRow_rowForNode_closure(t3, t1), null, t3.$ti._eval$1("1*"));
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Widget*(1*)");
    }
  };
  S.TreeTableState__buildRow_rowForNode_closure.prototype = {
    call$1: function(item) {
      var t1 = this.$this;
      t1.selectionNotifier.set$value(0, new S.Selection(item, this.index, false, t1.$ti._eval$1("Selection<1*>")));
      t1._toggleNode$1(item);
      return null;
    },
    $signature: function() {
      return this.$this.$ti._eval$1("~(1*)");
    }
  };
  S.TreeTableState_sortData_closure.prototype = {
    call$2: function(a, b) {
      return S._compareData(a, b, this.column, this.direction, this.secondarySortColumn);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: function() {
      return this.$this.$ti._eval$1("int*(1*,1*)");
    }
  };
  S.TreeTableState_sortData__sort.prototype = {
    call$1: function(dataObject) {
      var t1 = J.get$children$x(dataObject),
        t2 = J.getInterceptor$ax(t1);
      t2.sort$1(t1, this.sortFunction);
      t2.forEach$1(t1, this);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("~(1*)");
    }
  };
  S.TreeTableState__moveSelection_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.selectionNotifier.set$value(0, new S.Selection(this.newSelectedNode, this._box_0.newSelectedNodeIndex, false, t1.$ti._eval$1("Selection<1*>")));
    },
    $signature: 1
  };
  S._Table.prototype = {
    createState$0: function() {
      return new S._TableState(K.Disposer$(), C._StateLifecycle_0, this.$ti._eval$1("_TableState<1*>"));
    },
    rowBuilder$4: function(arg0, arg1, arg2, arg3) {
      return this.rowBuilder.call$4(arg0, arg1, arg2, arg3);
    },
    handleKeyEvent$3: function(arg0, arg1, arg2) {
      return this.handleKeyEvent.call$3(arg0, arg1, arg2);
    },
    get$data: function(receiver) {
      return this.data;
    },
    get$selectionNotifier: function() {
      return this.selectionNotifier;
    },
    get$activeSearchMatchNotifier: function() {
      return this.activeSearchMatchNotifier;
    }
  };
  S._TableState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = new T.LinkedScrollControllerGroup(H._setArrayType([], type$.JSArray_legacy__LinkedScrollController));
      t1._offsetNotifier = new T._LinkedScrollControllerGroupOffsetNotifier(t1, P.List_List$filled(0, null, false, type$.nullable_void_Function));
      _this._linkedHorizontalScrollControllerGroup = t1;
      t1 = _this._widget;
      _this.sortColumn = t1.sortColumn;
      _this.sortDirection = t1.sortDirection;
      _this.scrollController = F.ScrollController$(0);
      _this._initSearchListener$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this.addAutoDisposeListener$2(oldWidget.selectionNotifier, new S._TableState_didUpdateWidget_closure(_this, oldWidget));
      _this._initSearchListener$0();
    },
    _initSearchListener$0: function() {
      var t1 = this._widget.activeSearchMatchNotifier;
      if (t1 != null)
        this.addAutoDisposeListener$2(t1, this.get$_onActiveSearchChange());
    },
    _onActiveSearchChange$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, index, y, indexInView, t1, activeSearch;
      var $async$_onActiveSearchChange$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._widget;
              activeSearch = t1.activeSearchMatchNotifier._value;
              t1 = t1.data;
              index = (t1 && C.JSArray_methods).indexOf$1(t1, activeSearch);
              $async$goto = index !== -1 ? 2 : 3;
              break;
            case 2:
              // then
              y = index * 32;
              t1 = $async$self.scrollController;
              t1 = t1.get$position(t1)._pixels;
              t1.toString;
              if (y > t1) {
                t1 = $async$self.scrollController;
                t1 = t1.get$position(t1)._pixels;
                t1.toString;
                indexInView = y < t1 + C.JSArray_methods.get$single($async$self.scrollController._positions).get$extentInside();
              } else
                indexInView = false;
              $async$goto = !indexInView ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return P._asyncAwait($async$self.scrollController.animateTo$3$curve$duration(y, C.Cubic_oKc, C.Duration_200000), $async$_onActiveSearchChange$0);
            case 6:
              // returning from await.
            case 5:
              // join
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_onActiveSearchChange$0, $async$completer);
    },
    dispose$0: function(_) {
      this.scrollController.dispose$0(0);
      this.super$__TableState_State_AutoDisposeMixin$dispose(0);
    },
    get$tableWidth: function() {
      var t2, _i,
        t1 = this._widget,
        tableWidth = 32 + Math.max(0, t1.columns.length - 1) * 16;
      for (t1 = t1.columnWidths, t2 = t1.length, _i = 0; _i < t2; ++_i)
        tableWidth += t1[_i];
      return tableWidth;
    },
    _buildItem$2: function(context, index) {
      var t1 = this._widget;
      return t1.rowBuilder$4(context, this._linkedHorizontalScrollControllerGroup, index, t1.columnWidths);
    },
    build$1: function(_, context) {
      var t1, pos, t2, _this = this;
      if (_this._widget.autoScrollContent) {
        t1 = _this.scrollController._positions;
        if (t1.length !== 0) {
          pos = C.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)
          U.ScrollControllerAutoScroll_autoScrollToBottom(_this.scrollController);
      }
      return new A.LayoutBuilder(new S._TableState_build_closure(_this), null);
    },
    _sortData$3$secondarySortColumn: function(column, direction, secondarySortColumn) {
      this.sortDirection = direction;
      this.sortColumn = column;
      this._widget.onSortChanged.call$3$secondarySortColumn(column, direction, secondarySortColumn);
    },
    _sortData$2: function(column, direction) {
      return this._sortData$3$secondarySortColumn(column, direction, null);
    }
  };
  S._TableState_didUpdateWidget_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new S._TableState_didUpdateWidget__closure(t1, this.oldWidget));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S._TableState_didUpdateWidget__closure.prototype = {
    call$0: function() {
      var selectedDisplayRow,
        selection = this.oldWidget.selectionNotifier._value;
      if (selection.scrollIntoView) {
        selectedDisplayRow = J.get$index$x(selection.node);
        this.$this.scrollController.jumpTo$1(selectedDisplayRow * 32);
      }
    },
    $signature: 1
  };
  S._TableState_build_closure.prototype = {
    call$2: function(context, constraints) {
      var t4, t5, t6, t7, t8, t9, t10, t11, _null = null,
        t1 = constraints.maxWidth,
        t2 = this.$this,
        t3 = t2.get$tableWidth();
      t3 = Math.max(H.checkNum(t1), t3);
      t1 = t2._linkedHorizontalScrollControllerGroup;
      t4 = t2._widget;
      t5 = t4.columns;
      t6 = t4.columnWidths;
      t7 = t2.sortColumn;
      t8 = t2.sortDirection;
      t9 = t4.secondarySortColumn;
      t10 = t2.scrollController;
      t11 = t4.focusNode;
      return T.SizedBox$(T.Column$(H._setArrayType([new S.TableRow(t1, _null, t5, _null, t6, false, _null, false, false, true, _null, _null, _null, t7, t8, t9, t2.get$_sortData(), _null, _null, C.ValueKey_ibz, t2.$ti._eval$1("TableRow<1*>")), T.Expanded$(E.Scrollbar$(D.GestureDetector$(C.HitTestBehavior_2, L.Focus$(true, _null, B.ListView$builder(t10, t2.get$_buildItem(), t4.data.length, _null, _null, _null, _null, C.Axis_1, false), _null, true, t11, true, _null, _null, new S._TableState_build__closure(t2, constraints), _null), C.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new S._TableState_build__closure0(t2), _null, _null, _null, _null), t10, true), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null, t3);
    },
    $signature: 650
  };
  S._TableState_build__closure0.prototype = {
    call$1: function(a) {
      var t1 = this.$this._widget.focusNode;
      return t1 == null ? null : t1.requestFocus$0();
    },
    $signature: 651
  };
  S._TableState_build__closure.prototype = {
    call$2: function(_, $event) {
      var t1 = this.$this,
        t2 = t1._widget;
      return t2.handleKeyEvent != null && t2.handleKeyEvent$3($event, t1.scrollController, this.constraints);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 76
  };
  S.TableRow.prototype = {
    createState$0: function() {
      var _null = null;
      return new S._TableRowState([], _null, K.Disposer$(), _null, _null, _null, _null, C._StateLifecycle_0, this.$ti._eval$1("_TableRowState<1*>"));
    },
    onExpansionCompleted$0: function() {
      return this.onExpansionCompleted.call$0();
    },
    get$node: function() {
      return this.node;
    },
    get$isExpanded: function() {
      return this.isExpanded;
    },
    get$isExpandable: function() {
      return this.isExpandable;
    },
    get$searchMatchesNotifier: function() {
      return this.searchMatchesNotifier;
    },
    get$activeSearchMatchNotifier: function() {
      return this.activeSearchMatchNotifier;
    }
  };
  S._TableRowState.prototype = {
    initState$0: function() {
      var _this = this;
      _this.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin$initState();
      _this.contentKey = new D.ValueKey(_this, _this.$ti._eval$1("ValueKey<_TableRowState<1*>*>"));
      _this.scrollController = _this._widget.linkedScrollControllerGroup.addAndGet$0();
      _this.CollapsibleAnimationMixin_expandController.addStatusListener$1(new S._TableRowState_initState_closure(_this));
      _this._initSearchListeners$0();
    },
    didUpdateWidget$1: function(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.scrollController;
        if (t1 != null) {
          C.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
          t1.super$ScrollController$dispose(0);
        }
        _this.scrollController = _this._widget.linkedScrollControllerGroup.addAndGet$0();
      }
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this._initSearchListeners$0();
    },
    dispose$0: function(_) {
      var t1;
      this.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin$dispose(0);
      t1 = this.scrollController;
      C.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
      t1.super$ScrollController$dispose(0);
    },
    build$1: function(_, context) {
      var _this = this, _null = null,
        row = _this.tableRowFor$1(context),
        t1 = _this._widget.node == null ? 36 : 32,
        t2 = _this._searchAwareBackgroundColor$0(),
        t3 = _this._widget,
        box = T.SizedBox$(M.Material$(C.Duration_200000, true, _null, t3.onPressed != null ? R.InkWell$(false, false, row, _null, true, _null, _null, _null, _null, _this.contentKey, _null, _null, _null, _null, _null, _null, new S._TableRowState_build_closure(_this), _null, _null, _null, _null, _null) : row, C.Clip_0, t2, 0, _null, _null, _null, _null, C.MaterialType_0), t1, _null);
      if (t3.expansionChildren == null)
        return box;
      return K.AnimatedBuilder$(_this.CollapsibleAnimationMixin_expandCurve, new S._TableRowState_build_closure0(_this, box), _null);
    },
    _initSearchListeners$0: function() {
      var _this = this,
        t1 = _this._widget,
        t2 = t1.searchMatchesNotifier;
      if (t2 != null) {
        t2 = t2._value;
        _this.SearchableMixin_searchMatches = t2;
        _this.isSearchMatch = J.contains$1$asx(t2, t1.node);
        _this.addAutoDisposeListener$2(_this._widget.searchMatchesNotifier, new S._TableRowState__initSearchListeners_closure(_this));
      }
      t1 = _this._widget;
      t2 = t1.activeSearchMatchNotifier;
      if (t2 != null) {
        t2 = t2._value;
        _this.SearchableMixin_activeSearchMatch = t2;
        _this.isActiveSearchMatch = J.$eq$(t2, t1.node);
        _this.addAutoDisposeListener$2(_this._widget.activeSearchMatchNotifier, new S._TableRowState__initSearchListeners_closure0(_this));
      }
    },
    _searchAwareBackgroundColor$0: function() {
      var t1, searchAwareBackgroundColor, _this = this,
        backgroundColor = _this._widget.backgroundColor;
      if (backgroundColor == null) {
        t1 = _this._framework$_element;
        t1.toString;
        backgroundColor = K.ThemeDataExtension_get_titleSolidBackgroundColor(K.Theme_of(t1));
      }
      if (_this._widget.isSelected) {
        t1 = _this._framework$_element;
        t1.toString;
        return K.Theme_of(t1).selectedRowColor;
      }
      if (_this.isSearchMatch)
        searchAwareBackgroundColor = P.Color_alphaBlend(_this.isActiveSearchMatch ? $.$get$activeSearchMatchColorOpaque() : $.$get$searchMatchColorOpaque(), backgroundColor);
      else
        searchAwareBackgroundColor = backgroundColor;
      return searchAwareBackgroundColor;
    },
    _alignmentFor$1: function(column) {
      switch (column.get$alignment()) {
        case C.ColumnAlignment_2:
          return C.Alignment_0_0;
        case C.ColumnAlignment_1:
          return C.Alignment_1_0;
        case C.ColumnAlignment_0:
        default:
          return C.Alignment_m1_0;
      }
    },
    _mainAxisAlignmentFor$1: function(column) {
      switch (column.get$alignment()) {
        case C.ColumnAlignment_2:
          return C.MainAxisAlignment_2;
        case C.ColumnAlignment_1:
          return C.MainAxisAlignment_1;
        case C.ColumnAlignment_0:
        default:
          return C.MainAxisAlignment_0;
      }
    },
    tableRowFor$1: function(context) {
      var _this = this, _null = null,
        t1 = _this.scrollController,
        t2 = _this._widget.columns.length;
      return new T.Padding(C.EdgeInsets_16_0_16_0, B.ListView$builder(t1, new S._TableRowState_tableRowFor_closure(_this, new S._TableRowState_tableRowFor_columnFor(_this, context)), t2 + Math.max(0, t2 - 1), _null, _null, _null, _null, C.Axis_0, false), _null);
    },
    get$isExpanded: function() {
      return this._widget.isExpanded;
    },
    onExpandChanged$1: function(expanded) {
    },
    shouldShow$0: function() {
      return this._widget.isShown;
    },
    set$isActiveSearchMatch: function(val) {
      return this.isActiveSearchMatch = val;
    }
  };
  S._TableRowState_initState_closure.prototype = {
    call$1: function($status) {
      var t1 = this.$this;
      t1.setState$1(new S._TableRowState_initState__closure());
      if (C.JSArray_methods.contains$1(H._setArrayType([C.AnimationStatus_3, C.AnimationStatus_0], type$.JSArray_legacy_AnimationStatus), $status) && t1._widget.onExpansionCompleted != null)
        t1._widget.onExpansionCompleted$0();
    },
    $signature: 110
  };
  S._TableRowState_initState__closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  S._TableRowState_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._widget,
        t2 = t1.node;
      return t1.onPressed.call$1(t2);
    },
    $signature: 0
  };
  S._TableRowState_build_closure0.prototype = {
    call$2: function(context, child) {
      var t2, t3, t4, _i, c, t5, _null = null,
        t1 = H._setArrayType([this.box], type$.JSArray_legacy_Widget);
      for (t2 = this.$this, t3 = t2._widget.expansionChildren, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
        c = t3[_i];
        t5 = t2.CollapsibleAnimationMixin_expandCurve;
        t1.push(new T.SizedBox(_null, 32 * t5.get$value(t5), new T.OverflowBox(C.Alignment_0_m1, 0, 32, c, _null), _null));
      }
      return T.Column$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 652
  };
  S._TableRowState__initSearchListeners_closure.prototype = {
    call$0: function() {
      var isNewMatch,
        t1 = this.$this,
        isPreviousMatch = J.contains$1$asx(t1.SearchableMixin_searchMatches, t1._widget.node),
        t2 = t1._widget,
        t3 = t2.searchMatchesNotifier._value;
      t1.SearchableMixin_searchMatches = t3;
      isNewMatch = J.contains$1$asx(t3, t2.node);
      if (isPreviousMatch !== isNewMatch)
        t1.setState$1(new S._TableRowState__initSearchListeners__closure0(t1, isNewMatch));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S._TableRowState__initSearchListeners__closure0.prototype = {
    call$0: function() {
      this.$this.isSearchMatch = this.isNewMatch;
    },
    $signature: 1
  };
  S._TableRowState__initSearchListeners_closure0.prototype = {
    call$0: function() {
      var isNewActiveSearchMatch,
        t1 = this.$this,
        isPreviousActiveSearchMatch = J.$eq$(t1.SearchableMixin_activeSearchMatch, t1._widget.node),
        t2 = t1._widget,
        t3 = t2.activeSearchMatchNotifier._value;
      t1.SearchableMixin_activeSearchMatch = t3;
      isNewActiveSearchMatch = J.$eq$(t3, t2.node);
      if (isPreviousActiveSearchMatch !== isNewActiveSearchMatch)
        t1.setState$1(new S._TableRowState__initSearchListeners__closure(t1, isNewActiveSearchMatch));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S._TableRowState__initSearchListeners__closure.prototype = {
    call$0: function() {
      this.$this.isActiveSearchMatch = this.isNewActiveSearchMatch;
    },
    $signature: 1
  };
  S._TableRowState_tableRowFor_columnFor.prototype = {
    call$2: function(column, columnWidth) {
      var isSortColumn, title, t3, t4, $content, padding, textColor, fontStyle, expandIndicator, _null = null,
        t1 = this.$this,
        t2 = t1._widget,
        node = t2.node;
      if (node == null) {
        isSortColumn = column == t2.sortColumn;
        title = L.Text$(column.title, _null, _null, C.TextOverflow_2, _null, _null, _null, _null, _null, _null);
        t2 = t1._mainAxisAlignmentFor$1(column);
        t3 = H._setArrayType([], type$.JSArray_legacy_Widget);
        if (isSortColumn)
          t3.push(L.Icon$(t1._widget.sortDirection === C.SortDirection_0 ? C.IconData_57925_MaterialIcons_false : C.IconData_57926_MaterialIcons_false, _null, 16));
        if (isSortColumn)
          t3.push(C.SizedBox_4_null_null_null);
        t4 = column.titleTooltip;
        t3.push(new T.Flexible(1, C.FlexFit_1, t4 != null ? S.Tooltip$(title, _null, t4, C.EdgeInsets_8_8_8_8, false, C.Duration_500000) : title, _null));
        $content = R.InkWell$(false, false, T.Row$(t3, C.CrossAxisAlignment_2, _null, t2, C.MainAxisSize_1, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new S._TableRowState_tableRowFor_columnFor_closure(t1, column), _null, _null, _null, _null, _null);
      } else {
        padding = column.getNodeIndentPx$1(node);
        $content = type$.legacy_ColumnRenderer_dynamic._is(column) ? column.build$3$isRowSelected(0, this.context, node, t1._widget.isSelected) : _null;
        if ($content == null) {
          t2 = column.getDisplayValue$1(node);
          t3 = t1._widget;
          textColor = t3.isSelected ? C.Color_4294967295 : column.getTextColor$1(t3.node);
          t3 = t1._framework$_element;
          t3.toString;
          fontStyle = K.Theme_of(t3).textTheme.bodyText2.copyWith$1$fontFamily("RobotoMono");
          $content = L.Text$(t2, _null, 1, C.TextOverflow_2, _null, _null, textColor == null ? fontStyle : fontStyle.copyWith$1$color(textColor), _null, _null, _null);
        }
        t2 = t1._widget;
        if (column === t2.expandableColumn) {
          if (t2.isExpandable) {
            t3 = t1.CollapsibleAnimationMixin_expandArrowAnimation;
            expandIndicator = K.RotationTransition$(L.Icon$(C.IconData_57926_MaterialIcons_false, t2.isSelected ? C.Color_4294967295 : _null, 16), t3);
          } else
            expandIndicator = C.SizedBox_16_16_null_null;
          $content = T.Row$(H._setArrayType([expandIndicator, T.Expanded$($content, 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null);
        }
        $content = new T.Padding(new V.EdgeInsets(padding, 0, 0, 0), T.ClipRect$($content, _null), _null);
      }
      return T.SizedBox$(new T.Align(t1._alignmentFor$1(column), _null, _null, $content, _null), _null, columnWidth);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Widget*(ColumnData<1*>*,double*)");
    }
  };
  S._TableRowState_tableRowFor_columnFor_closure.prototype = {
    call$0: function() {
      var direction,
        t1 = this.$this,
        t2 = this.column,
        t3 = t1._widget,
        t4 = t3.secondarySortColumn;
      if (t2.title === t3.sortColumn.title)
        direction = t3.sortDirection === C.SortDirection_0 ? C.SortDirection_1 : C.SortDirection_0;
      else
        direction = t2.get$numeric() ? C.SortDirection_1 : C.SortDirection_0;
      t1._widget.onSortChanged.call$3$secondarySortColumn(t2, direction, t4);
      return null;
    },
    $signature: 0
  };
  S._TableRowState_tableRowFor_closure.prototype = {
    call$2: function(context, i) {
      var t1, t2, t3;
      if (C.JSInt_methods.$mod(i, 2) === 1)
        return C.SizedBox_16_null_null_null;
      t1 = this.$this._widget;
      t2 = t1.columns;
      t3 = C.JSInt_methods._tdivFast$1(i, 2);
      return this.columnFor.call$2(t2[t3], J.$index$asx(t1.columnWidths, t3));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 25
  };
  S._TreeTableState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  S._TreeTableState_State_TickerProviderStateMixin_TreeMixin.prototype = {};
  S._TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$_TreeTableState_State_TickerProviderStateMixin$dispose(0);
    }
  };
  S.__TableRowState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin.prototype = {
    initState$0: function() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _null, _this);
      _this.CollapsibleAnimationMixin_expandController = t1;
      t1 = S.CurvedAnimation$(C.Cubic_oKc, t1, _null);
      _this.CollapsibleAnimationMixin_expandCurve = t1;
      t2 = type$.Tween_legacy_double;
      _this.CollapsibleAnimationMixin_expandArrowAnimation = new R._AnimatedEvaluation(t1, new R.Tween(0.75, 1, t2), t2._eval$1("_AnimatedEvaluation<Animatable.T>"));
      if (_this._widget.isExpanded)
        _this.CollapsibleAnimationMixin_expandController.set$value(0, 1);
    },
    dispose$0: function(_) {
      this.CollapsibleAnimationMixin_expandController.dispose$0(0);
      this.super$__TableRowState_State_TickerProviderStateMixin$dispose(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget.isExpanded;
      t2 = this.CollapsibleAnimationMixin_expandController;
      if (t1)
        t2.forward$0(0);
      else
        t2.reverse$0(0);
    }
  };
  S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin$dispose(0);
    }
  };
  S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin.prototype = {};
  S.__TableState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  K.ColumnData.prototype = {
    getNodeIndentPx$1: function(dataObject) {
      return 0;
    },
    get$numeric: function() {
      return false;
    },
    compare$2: function(a, b) {
      return J.compareTo$1$ns(this.getValue$1(a), this.getValue$1(b));
    },
    getDisplayValue$1: function(dataObject) {
      return J.toString$0$(this.getValue$1(dataObject));
    },
    getTextColor$1: function(dataObject) {
      return null;
    },
    toString$0: function(_) {
      return this.title;
    },
    get$fixedWidthPx: function() {
      return this.fixedWidthPx;
    },
    get$alignment: function() {
      return this.alignment;
    }
  };
  K.TreeColumnData.prototype = {
    getNodeIndentPx$1: function(dataObject) {
      return J.get$level$x(dataObject) * 14;
    }
  };
  K.ColumnAlignment.prototype = {
    toString$0: function(_) {
      return this._table_data$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  K.denseAwareOutlinedButtonStyle_closure.prototype = {
    call$1: function(_) {
      return C.EdgeInsets_0_0_0_0;
    },
    $signature: 653
  };
  L.TraceEvent.prototype = {
    get$asyncUID: function() {
      var t1 = this.json,
        t2 = J.getInterceptor$asx(t1);
      return L.generateAsyncUID(this.category, t2.$index(t1, "id"), t2.$index(t1, "scope"));
    },
    toString$0: function(_) {
      var _this = this,
        t1 = _this._trace_event$_type;
      return (t1 == null ? _this._trace_event$_type = C.TimelineEventType_3 : t1).toString$0(0) + " event [id: " + H.S(J.$index$asx(_this.json, "id")) + "] [ph: " + H.S(_this.phase) + "] " + H.S(_this.name) + " - [ts: " + H.S(_this.timestampMicros) + "] [dur: " + H.S(_this.duration) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  L.TraceEventWrapper.prototype = {
    compareTo$1: function(_, other) {
      var compare = J.compareTo$1$ns(this.event.timestampMicros, other.event.timestampMicros);
      return compare !== 0 ? compare : C.JSInt_methods.compareTo$1(this.id, other.id);
    },
    $isComparable: 1
  };
  L.TimelineEventType.prototype = {
    toString$0: function(_) {
      return this._trace_event$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Y.TreeView.prototype = {
    createState$0: function() {
      return new Y._TreeViewState(null, null, C._StateLifecycle_0, this.$ti._eval$1("_TreeViewState<1*>"));
    }
  };
  Y._TreeViewState.prototype = {
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this.TreeMixin_dataRoots = P.List_List$from(_this._widget.dataRoots, true, _this.$ti._eval$1("1*"));
      _this._tree$_updateItems$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (!J.$eq$(_this._widget.dataRoots, oldWidget.dataRoots)) {
        _this.TreeMixin_dataRoots = P.List_List$from(_this._widget.dataRoots, true, _this.$ti._eval$1("1*"));
        _this._tree$_updateItems$0();
      }
    },
    build$1: function(_, context) {
      var t2, t3, t4, _null = null,
        t1 = this.TreeMixin_items.length;
      if (t1 === 0)
        return C.SizedBox_null_null_null_null;
      t2 = this._widget;
      t3 = t2.itemExtent;
      t2 = t2.shrinkWrap;
      t4 = t2 ? C.ClampingScrollPhysics_null : _null;
      return B.ListView$builder(_null, new Y._TreeViewState_build_closure(this), t1, t3, _null, t4, _null, C.Axis_1, t2);
    },
    _onItemPressed$1: function(item) {
      var t1;
      if (!item.get$isExpandable())
        return;
      item.toggleExpansion$0();
      t1 = this._widget.onItemPressed;
      if (t1 != null)
        t1.call$1(item);
      this._tree$_updateItems$0();
    },
    _tree$_updateItems$0: function() {
      this.setState$1(new Y._TreeViewState__updateItems_closure(this));
    }
  };
  Y._TreeViewState_build_closure.prototype = {
    call$2: function(context, index) {
      var t1 = this.$this,
        item = t1.TreeMixin_items[index];
      return new Y.TreeViewItem(item, new Y._TreeViewState_build__closure(t1, item), t1.get$_onItemPressed(), null, t1.$ti._eval$1("TreeViewItem<1*>"));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: function() {
      return this.$this.$ti._eval$1("TreeViewItem<1*>*(BuildContext*,int*)");
    }
  };
  Y._TreeViewState_build__closure.prototype = {
    call$1: function(onPressed) {
      return this.$this._widget.dataDisplayProvider.call$2(this.item, onPressed);
    },
    $signature: 655
  };
  Y._TreeViewState__updateItems_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.TreeMixin_items = t1.buildFlatList$2$onTraverse(t1.TreeMixin_dataRoots, t1._widget.onTraverse);
    },
    $signature: 1
  };
  Y.TreeViewItem.prototype = {
    createState$0: function() {
      var _null = null;
      return new Y._TreeViewItemState(_null, _null, _null, _null, C._StateLifecycle_0, this.$ti._eval$1("_TreeViewItemState<1*>"));
    },
    buildDisplay$1: function(arg0) {
      return this.buildDisplay.call$1(arg0);
    },
    get$data: function(receiver) {
      return this.data;
    }
  };
  Y._TreeViewItemState.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = J.get$level$x(_this._widget.data),
        t2 = _this._widget.data.get$isExpandable() ? R.InkWell$(false, true, K.RotationTransition$(C.Icon_QPD0, _this.CollapsibleAnimationMixin_expandArrowAnimation), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_onPressed(), _null, _null, _null, _null, _null) : C.SizedBox_16_null_null_null;
      return new T.Padding(new V.EdgeInsets(t1 * 16, 0, 0, 0), T.Row$(H._setArrayType([t2, T.Expanded$(_this._widget.buildDisplay$1(_this.get$_onPressed()), 1)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null), _null);
    },
    get$isExpanded: function() {
      return this._widget.data.get$isExpanded();
    },
    onExpandChanged$1: function(expanded) {
    },
    shouldShow$0: function() {
      return this._widget.data.shouldShow$0();
    },
    _onPressed$0: function() {
      var t1 = this._widget,
        t2 = t1.data;
      t1.onItemPressed.call$1(t2);
      this.setExpanded$1(this._widget.data.get$isExpanded());
    }
  };
  Y.TreeMixin.prototype = {
    buildFlatList$2$onTraverse: function(roots, onTraverse) {
      var t1, _i,
        flatList = H._setArrayType([], H._instanceType(this)._eval$1("JSArray<TreeMixin.T*>"));
      for (t1 = roots.length, _i = 0; _i < roots.length; roots.length === t1 || (0, H.throwConcurrentModificationError)(roots), ++_i)
        this.traverse$2(roots[_i], new Y.TreeMixin_buildFlatList_closure(this, onTraverse, flatList));
      return flatList;
    },
    buildFlatList$1: function(roots) {
      return this.buildFlatList$2$onTraverse(roots, null);
    },
    traverse$2: function(node, callback) {
      var t1;
      if (node == null)
        return;
      if (callback.call$1(node))
        for (t1 = J.get$iterator$ax(J.get$children$x(node)); t1.moveNext$0();)
          this.traverse$2(t1.get$current(t1), callback);
    }
  };
  Y.TreeMixin_buildFlatList_closure.prototype = {
    call$1: function(n) {
      var t1 = this.onTraverse;
      if (t1 != null)
        t1.call$1(n);
      this.flatList.push(n);
      return n.get$isExpanded();
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("bool*(TreeMixin.T*)");
    }
  };
  Y.__TreeViewItemState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  Y.__TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin.prototype = {
    initState$0: function() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _null, _this);
      _this.CollapsibleAnimationMixin_expandController = t1;
      t1 = S.CurvedAnimation$(C.Cubic_oKc, t1, _null);
      _this.CollapsibleAnimationMixin_expandCurve = t1;
      t2 = type$.Tween_legacy_double;
      _this.CollapsibleAnimationMixin_expandArrowAnimation = new R._AnimatedEvaluation(t1, new R.Tween(0.75, 1, t2), t2._eval$1("_AnimatedEvaluation<Animatable.T>"));
      if (_this._widget.data.get$isExpanded())
        _this.CollapsibleAnimationMixin_expandController.set$value(0, 1);
    },
    dispose$0: function(_) {
      this.CollapsibleAnimationMixin_expandController.dispose$0(0);
      this.super$__TreeViewItemState_State_TickerProviderStateMixin$dispose(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget.data.get$isExpanded();
      t2 = this.CollapsibleAnimationMixin_expandController;
      if (t1)
        t2.forward$0(0);
      else
        t2.reverse$0(0);
    }
  };
  Y.__TreeViewState_State_TreeMixin.prototype = {};
  X.TreeNode.prototype = {
    get$depth: function() {
      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, H.throwConcurrentModificationError)(t2), ++_i) {
        t1 = Math.max(t1, H.checkNum(t2[_i].get$depth()));
        _this._trees$_depth = t1;
      }
      return _this._trees$_depth = t1 + 1;
    },
    get$root: function(_) {
      var visited, root, _this = this,
        t1 = _this._trees$_root;
      if (t1 != null)
        return t1;
      visited = P.LinkedHashSet_LinkedHashSet$_literal([_this], H._instanceType(_this)._eval$1("TreeNode<TreeNode.T*>*"));
      for (root = _this; root.parent != null;) {
        visited.add$1(0, root);
        root = root.parent;
      }
      for (t1 = P._LinkedHashSetIterator$(visited, visited._collection$_modifications, visited.$ti._precomputed1); t1.moveNext$0();)
        t1._collection$_current._trees$_root = root;
      return root;
    },
    get$level: function(_) {
      var level, current,
        t1 = this._trees$_level;
      if (t1 != null)
        return t1;
      for (level = 0, current = this; current = current.parent, current != null;)
        ++level;
      return this._trees$_level = level;
    },
    get$isExpandable: function() {
      return this.children.length !== 0;
    },
    get$isExpanded: function() {
      return this._isExpanded;
    },
    expand$0: function(_) {
      this._isExpanded = true;
    },
    shouldShow$0: function() {
      var t1 = this.parent;
      if (t1 != null)
        t1 = t1._isExpanded && t1.shouldShow$0();
      else
        t1 = true;
      return t1;
    },
    collapse$0: function(_) {
      this._isExpanded = false;
    },
    toggleExpansion$0: function() {
      this._isExpanded = !this._isExpanded;
    },
    leaf$0: function() {
    },
    addChild$1: function(child) {
      var t2,
        t1 = this.children;
      t1.push(child);
      t2 = J.getInterceptor$x(child);
      t2.set$parent(child, this);
      t2.set$index(child, t1.length - 1);
    },
    expandCascading$0: function() {
      X.breadthFirstTraversal(this, new X.TreeNode_expandCascading_closure(this), null, H._instanceType(this)._eval$1("TreeNode.T*"));
    },
    collapseCascading$0: function() {
      X.breadthFirstTraversal(this, new X.TreeNode_collapseCascading_closure(this), null, H._instanceType(this)._eval$1("TreeNode.T*"));
    },
    get$parent: function(receiver) {
      return this.parent;
    },
    get$children: function(receiver) {
      return this.children;
    },
    get$index: function(receiver) {
      return this.index;
    },
    set$parent: function(receiver, val) {
      return this.parent = val;
    },
    set$index: function(receiver, val) {
      return this.index = val;
    }
  };
  X.TreeNode_expandCascading_closure.prototype = {
    call$1: function(node) {
      J.expand$0$ax(node);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("Null(TreeNode.T*)");
    }
  };
  X.TreeNode_collapseCascading_closure.prototype = {
    call$1: function(node) {
      J.collapse$0$x(node);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("Null(TreeNode.T*)");
    }
  };
  X.FilterControllerMixin.prototype = {};
  X.FilterDialog.prototype = {
    createState$0: function() {
      return new X._FilterDialogState(C._StateLifecycle_0);
    },
    onApplyFilter$1: function(arg0) {
      return this.onApplyFilter.call$1(arg0);
    }
  };
  X._FilterDialogState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      var t1 = this._widget.controller.FilterControllerMixin_activeFilter._value;
      t1 = t1 == null ? null : J.get$query$x(t1);
      this.queryTextFieldController = D.TextEditingController$(t1 == null ? "" : t1);
    },
    dispose$0: function(_) {
      this.queryTextFieldController.toString;
      this.super$State$dispose(0);
    },
    build$1: function(_, context) {
      var t2, t3, t4, t5, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = L.Text$("Filters", _null, _null, _null, _null, _null, K.Theme_of(t1).textTheme.headline6, _null, _null, _null);
      t2 = _this.queryTextFieldController;
      t3 = type$.JSArray_legacy_Widget;
      t2 = T.Row$(H._setArrayType([t1, U.TextButton$(C.MaterialIconLabel_aBG, t2.get$clear(t2), _null)], t3), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null);
      t1 = _this.queryTextFieldController;
      t1 = M.Container$(_null, Z.TextField$(true, t1, _null, L.InputDecoration$(_null, C.OutlineInputBorder_BOY, _null, C.EdgeInsets_8_8_8_8, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, false, _null, _null, "Filter query", _null, _null, _null, _null, _null, _null, U.inputDecorationSuffixButton(C.IconData_57704_MaterialIcons_false, t1.get$clear(t1)), _null, _null, _null, _null), _null, _null, _null, _null, _null, _null, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, _null);
      t4 = _this._widget.queryInstructions;
      t5 = _this._framework$_element;
      t5.toString;
      return new O.DevToolsDialog(t2, M.Container$(_null, T.Column$(H._setArrayType([t1, C.SizedBox_null_16_null_null, L.Text$(t4, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, K.Theme_of(t5).unselectedWidgetColor, _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)], t3), C.CrossAxisAlignment_0, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_16_0_16_0, _null, _null, 700), true, H._setArrayType([new O.DialogApplyButton(new X._FilterDialogState_build_closure(_this), _null), C.DialogCancelButton_null_null], t3), _null);
    }
  };
  X._FilterDialogState_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._widget;
      t2.toString;
      return t2.onApplyFilter$1(t1.queryTextFieldController._value.text);
    },
    $signature: 0
  };
  X.QueryFilter.prototype = {
    get$query: function(_) {
      var t2, t3, t4,
        t1 = P.List_List$of(this.substrings, true, type$.legacy_String);
      for (t2 = this.filterArguments, t2 = t2.get$values(t2), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (t3.values.length !== 0) {
          t4 = t3.isNegative ? "-" : "";
          t3 = t4 + C.JSArray_methods.get$first(t3.keys) + ":" + C.JSArray_methods.join$1(t3.values, ",");
        } else
          t3 = "";
        t1.push(t3);
      }
      return C.JSString_methods.trim$0(C.JSArray_methods.join$1(t1, " "));
    }
  };
  X.FilterArgument.prototype = {
    matchesKey$1: function(query) {
      var t1, _i, key;
      for (t1 = this.keys, _i = 0; _i < 2; ++_i) {
        key = t1[_i];
        if (C.JSString_methods.startsWith$1(query, key + ":") || C.JSString_methods.startsWith$1(query, "-" + key + ":"))
          return true;
      }
      return false;
    },
    matchesValue$1: function(dataValue) {
      var matches, _i,
        t1 = this.values,
        t2 = t1.length;
      if (t2 === 0)
        return true;
      for (matches = false, _i = 0; _i < t2; ++_i) {
        matches = dataValue === t1[_i].toLowerCase();
        if (matches)
          break;
      }
      return this.isNegative ? !matches : matches;
    },
    get$keys: function(receiver) {
      return this.keys;
    },
    get$values: function(receiver) {
      return this.values;
    }
  };
  F.GtagEvent.prototype = {};
  F.GtagException.prototype = {};
  S.CustomIcon.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = this.kind.icon;
      return M.Container$(_null, T.Stack$(C.AlignmentDirectional_0_0, H._setArrayType([t1, L.Text$(this.text, _null, _null, _null, _null, _null, C.TextStyle_xKl, C.TextAlign_2, _null, _null)], type$.JSArray_legacy_Widget), C.Clip_1, C.StackFit_0, _null, _null), C.Clip_0, _null, _null, _null, _null, t1.height, _null, _null, _null, _null, _null, t1.width);
    },
    text$0: function($receiver) {
      return this.text.call$0();
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  S.CustomIconMaker.prototype = {
    getCustomIcon$2$kind: function(fromText, kind) {
      var t2, text, t1 = {};
      t1.kind = kind;
      t2 = kind == null ? t1.kind = $.$get$IconKind_classIcon() : kind;
      if (fromText.length === 0)
        return null;
      text = fromText[0].toUpperCase();
      return this.iconCache.putIfAbsent$2(0, text + "_" + t2.name + "_false", new S.CustomIconMaker_getCustomIcon_closure(t1, text, false));
    },
    fromWidgetName$1: function($name) {
      var t1, t2;
      if ($name == null)
        return null;
      while (true) {
        t1 = $name.length === 0;
        if (!t1) {
          t2 = C.JSString_methods._codeUnitAt$1($name, 0);
          t2 = !((t2 < 48 || t2 > 57) && t2 !== 95 && t2 !== 36);
        } else
          t2 = false;
        if (!t2)
          break;
        $name = C.JSString_methods.substring$1($name, 1);
      }
      if (t1)
        return null;
      return this.getCustomIcon$2$kind($name, C.JSString_methods.startsWith$1($name, "_") ? $.$get$IconKind_method() : $.$get$IconKind_classIcon());
    },
    fromInfo$1: function($name) {
      if ($name.length === 0)
        return null;
      return this.getCustomIcon$2$kind($name, $.$get$IconKind_info());
    }
  };
  S.CustomIconMaker_getCustomIcon_closure.prototype = {
    call$0: function() {
      return new S.CustomIcon(this._box_0.kind, this.text, null);
    },
    $signature: 656
  };
  S.IconKind.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  S.ColorIcon.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return T.CustomPaint$(_null, _null, _null, new S._ColorIconPainter(this.color, K.Theme_of(context).colorScheme, _null), C.Size_16_16);
    }
  };
  S.ColorIconMaker.prototype = {
    getCustomIcon$1: function(color) {
      return this.iconCache.putIfAbsent$2(0, color, new S.ColorIconMaker_getCustomIcon_closure(color));
    }
  };
  S.ColorIconMaker_getCustomIcon_closure.prototype = {
    call$0: function() {
      return new S.ColorIcon(this.color, null);
    },
    $signature: 657
  };
  S._ColorIconPainter.prototype = {
    paint$2: function(canvas, size) {
      var t2, t3, t4, iconRect, t5, t6,
        t1 = H._detectRenderer(),
        greyPaint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      greyPaint.set$color(0, C.Color_4286611584);
      t1 = size._dx;
      t2 = t1 - 1;
      t3 = size._dy;
      t4 = t3 - 1;
      iconRect = new P.Rect(1, 1, t2, t4);
      t5 = H._detectRenderer();
      t5 = t5 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t6 = this.colorScheme.brightness === C.Brightness_1;
      t5.set$color(0, t6 ? C.Color_4294967295 : C.Color_4278190080);
      canvas.drawRect$2(0, new P.Rect(1, 1, t2, t4), t5);
      t1 *= 0.5;
      t3 *= 0.5;
      canvas.drawRect$2(0, new P.Rect(1, 1, t1, t3), greyPaint);
      canvas.drawRect$2(0, new P.Rect(t1, t3, t2, t4), greyPaint);
      t1 = H._detectRenderer();
      t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t1.set$color(0, this.color);
      canvas.drawRect$2(0, iconRect, t1);
      t1 = H._detectRenderer();
      t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t1.set$style(0, C.PaintingStyle_1);
      t1.set$color(0, t6 ? C.Color_4278190080 : C.Color_4290493371);
      canvas.drawRect$2(0, iconRect, t1);
    },
    shouldRepaint$1: function(oldDelegate) {
      if (oldDelegate instanceof S._ColorIconPainter)
        return oldDelegate.colorScheme.brightness === C.Brightness_1 !== (this.colorScheme.brightness === C.Brightness_1);
      return true;
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  U.ImageIconLabel.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = H._setArrayType([this.icon], type$.JSArray_legacy_Widget),
        t2 = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery);
      if (t2.data.size._dx > this.minIncludeTextWidth)
        t1.push(new T.Padding(C.EdgeInsets_8_0_0_0, L.Text$(this.text, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null));
      return T.Row$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  U.MaterialIconLabel.prototype = {
    build$1: function(_, context) {
      var t2, _this = this, _null = null,
        t1 = _this.iconData;
      t1 = H._setArrayType([t1 != null ? L.Icon$(t1, _null, 16) : _this.imageIcon], type$.JSArray_legacy_Widget);
      t2 = _this.includeTextWidth;
      if (t2 == null || context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.size._dx > t2)
        t1.push(new T.Padding(C.EdgeInsets_8_0_0_0, L.Text$(_this.label, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null));
      return T.Row$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null);
    }
  };
  S.SearchControllerMixin.prototype = {
    updateMatches$1: function(matches) {
      var _this = this;
      _this.SearchControllerMixin__searchMatches.set$value(0, matches);
      if (matches.length === 0)
        _this.SearchControllerMixin_matchIndex.set$value(0, 0);
      if (matches.length !== 0 && J.$eq$(_this.SearchControllerMixin_matchIndex._value, 0))
        _this.SearchControllerMixin_matchIndex.set$value(0, 1);
      _this._updateActiveSearchMatch$0();
    },
    previousMatch$0: function() {
      var t1 = this.SearchControllerMixin_matchIndex,
        previousMatchIndex = t1._value - 1;
      t1.set$value(0, previousMatchIndex < 1 ? J.get$length$asx(this.SearchControllerMixin__searchMatches._value) : previousMatchIndex);
      this._updateActiveSearchMatch$0();
    },
    nextMatch$0: function() {
      var t1 = this.SearchControllerMixin_matchIndex,
        nextMatchIndex = t1._value + 1;
      t1.set$value(0, nextMatchIndex > J.get$length$asx(this.SearchControllerMixin__searchMatches._value) ? 1 : nextMatchIndex);
      this._updateActiveSearchMatch$0();
    },
    _updateActiveSearchMatch$0: function() {
      var t1, t2, _this = this,
        activeMatchIndex = _this.SearchControllerMixin_matchIndex._value - 1;
      if (activeMatchIndex < 0) {
        _this.SearchControllerMixin__activeSearchMatch.set$value(0, null);
        return;
      }
      t1 = _this.SearchControllerMixin__activeSearchMatch;
      t2 = t1._value;
      if (t2 != null)
        t2.set$isActiveSearchMatch(false);
      t2 = J.$index$asx(_this.SearchControllerMixin__searchMatches._value, activeMatchIndex);
      t2.set$isActiveSearchMatch(true);
      t1.set$value(0, t2);
    },
    matchesForSearch$1: function(search) {
      return H._setArrayType([], H._instanceType(this)._eval$1("JSArray<SearchControllerMixin.T*>"));
    }
  };
  S.AutoComplete.prototype = {
    createState$0: function() {
      return new S.AutoCompleteState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  S.AutoCompleteState.prototype = {
    didChangeDependencies$0: function() {
      var t1, controller, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element._widget;
      t1.toString;
      type$.legacy_AutoComplete._as(t1);
      controller = t1.controller;
      _this.addAutoDisposeListener$2(controller.AutoCompleteSearchControllerMixin_searchAutoComplete, new S.AutoCompleteState_didChangeDependencies_closure(_this, controller, t1.searchFieldKey, t1.onTap, t1.isBottom, t1.isMaxWidth));
    },
    build$1: function(_, context) {
      var controller, searchFieldKey, bottom, searchAutoComplete, colorScheme, box, tileEntryHeight, t2, totalTiles, autoCompleteTiles, count, index, matchedName, t3, yCoord, xCoord, _null = null,
        t1 = context._widget;
      t1.toString;
      type$.legacy_AutoComplete._as(t1);
      controller = t1.controller;
      searchFieldKey = t1.searchFieldKey;
      bottom = t1.isBottom;
      searchAutoComplete = controller.AutoCompleteSearchControllerMixin_searchAutoComplete;
      colorScheme = K.Theme_of(context).colorScheme;
      searchFieldKey.toString;
      box = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, searchFieldKey).get$renderObject();
      tileEntryHeight = box._box$_size._dy;
      t2 = (T.MatrixUtils_transformPoint(box.getTransformTo$1(0, _null), C.Offset_0_0)._dy - tileEntryHeight) / tileEntryHeight;
      $.topMatchesLimit = C.JSNumber_methods.toInt$0(Math.min(10, t2 - 1));
      if (bottom)
        totalTiles = J.get$length$asx(searchAutoComplete._value);
      else
        totalTiles = t2 < 0 ? Math.ceil(t2) : Math.floor(t2);
      autoCompleteTiles = H._setArrayType([], type$.JSArray_legacy_ListTile);
      count = Math.min(H.checkNum(J.get$length$asx(searchAutoComplete._value)), H.checkNum(totalTiles));
      for (t2 = colorScheme.brightness === C.Brightness_1, index = 0; index < count; ++index) {
        matchedName = J.$index$asx(searchAutoComplete._value, index);
        if (controller.AutoCompleteSearchControllerMixin_currentDefaultIndex === index)
          t3 = t2 ? C.Map_HFpTk.$index(0, 300) : C.Map_HFpTk.$index(0, 700);
        else
          t3 = t2 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
        autoCompleteTiles.push(Q.ListTile$(false, _null, true, true, false, _null, 0, new S.AutoCompleteState_build_closure(controller, matchedName, t1), false, _null, _null, _null, t3, new T.Align(C.Alignment_m1_0, _null, _null, new L.Text(matchedName, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null), _null));
      }
      yCoord = bottom ? 0 : -(count * tileEntryHeight + tileEntryHeight + 1);
      xCoord = controller.SearchControllerMixin_xPosition;
      t2 = $.$get$searchAutoCompleteKey();
      t1 = t1.isMaxWidth ? box._box$_size._dx : 300;
      t3 = bottom ? _null : count * tileEntryHeight;
      return T.Positioned$(_null, T.CompositedTransformFollower$(M.Material$(C.Duration_200000, true, _null, B.ListView$(autoCompleteTiles, _null, tileEntryHeight, C.EdgeInsets_0_0_0_0, _null, _null, true), C.Clip_0, _null, 4, _null, _null, _null, _null, C.MaterialType_0), controller.AutoCompleteSearchControllerMixin_autoCompleteLayerLink, new P.Offset(xCoord, yCoord), false, C.Alignment_m1_1), t3, t2, _null, _null, _null, t1);
    }
  };
  S.AutoCompleteState_didChangeDependencies_closure.prototype = {
    call$0: function() {
      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);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S.AutoCompleteState_build_closure.prototype = {
    call$0: function() {
      var t2, t3,
        t1 = this.controller;
      t1.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, true);
      t2 = this.matchedName;
      t3 = t1.SearchControllerMixin__searchNotifier;
      t3.set$value(0, t2);
      t1.updateMatches$1(t1.matchesForSearch$1(t3._value));
      this.autoComplete.onTap.call$1(t2);
    },
    $signature: 1
  };
  S.EditingParts.prototype = {};
  S.AutoCompleteSearchControllerMixin.prototype = {
    createAutoCompleteOverlay$5$bottom$context$maxWidth$onTap$searchFieldKey: function(bottom, context, maxWidth, onTap, searchFieldKey) {
      return X.OverlayEntry$(new S.AutoCompleteSearchControllerMixin_createAutoCompleteOverlay_closure(this, searchFieldKey, onTap, bottom, maxWidth), false, false);
    },
    closeAutoCompleteOverlay$0: function() {
      var t1 = this.AutoCompleteSearchControllerMixin_autoCompleteOverlay;
      if (t1 != null)
        t1.remove$0(0);
      this.AutoCompleteSearchControllerMixin_autoCompleteOverlay = null;
    },
    handleAutoCompleteOverlay$5$bottom$context$maxWidth$onTap$searchFieldKey: function(bottom, context, maxWidth, onTap, searchFieldKey) {
      var result, _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.insert$1(0, _this.AutoCompleteSearchControllerMixin_autoCompleteOverlay);
    },
    handleAutoCompleteOverlay$3$context$onTap$searchFieldKey: function(context, onTap, searchFieldKey) {
      return this.handleAutoCompleteOverlay$5$bottom$context$maxWidth$onTap$searchFieldKey(true, context, true, onTap, searchFieldKey);
    }
  };
  S.AutoCompleteSearchControllerMixin_createAutoCompleteOverlay_closure.prototype = {
    call$1: function(context) {
      var _this = this;
      return new S.AutoComplete(_this.$this, _this.searchFieldKey, _this.onTap, _this.bottom, _this.maxWidth, null);
    },
    $signature: 658
  };
  S.SearchableMixin.prototype = {};
  S.SearchFieldMixin.prototype = {
    buildAutoCompleteSearchField$8$controller$decoration$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportClearField$tracking: function(controller, decoration, onSelection, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportClearField, tracking) {
      var onHighlightDropdown, rawKeyboardFocusNode, _this = this, t1 = {};
      t1.onHighlightDropdown = onHighlightDropdown;
      t1.onHighlightDropdown = null;
      _this.SearchFieldMixin__onSelection = onSelection;
      t1.onHighlightDropdown = _this.get$_highlightDropdown();
      rawKeyboardFocusNode = O.FocusNode$(true, null, true, null, false);
      rawKeyboardFocusNode.onKey = new S.SearchFieldMixin_buildAutoCompleteSearchField_closure(t1, _this, controller, true, onSelection);
      return O.RawKeyboardListener$(false, _this._buildSearchField$7$autoCompleteLayerLink$controller$decoration$searchFieldEnabled$searchFieldKey$shouldRequestFocus$tracking(controller.AutoCompleteSearchControllerMixin_autoCompleteLayerLink, controller, decoration, searchFieldEnabled, searchFieldKey, shouldRequestFocus, tracking), rawKeyboardFocusNode, null);
    },
    buildAutoCompleteSearchField$6$controller$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportClearField: function(controller, onSelection, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportClearField) {
      return this.buildAutoCompleteSearchField$8$controller$decoration$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportClearField$tracking(controller, null, onSelection, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportClearField, false);
    },
    _highlightDropdown$2: function(controller, directionDown) {
      var t1 = controller.AutoCompleteSearchControllerMixin_searchAutoComplete,
        numItems = J.get$length$asx(t1._value) - 1,
        indexToSelect = controller.AutoCompleteSearchControllerMixin_currentDefaultIndex;
      if (directionDown) {
        ++indexToSelect;
        if (indexToSelect > numItems)
          indexToSelect = 0;
      } else {
        --indexToSelect;
        if (indexToSelect < 0)
          indexToSelect = numItems;
      }
      controller.AutoCompleteSearchControllerMixin_currentDefaultIndex = indexToSelect;
      t1.set$value(0, J.toList$0$ax(t1._value));
    },
    buildSearchField$6$controller$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation: function(controller, onClose, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportsNavigation) {
      return this._buildSearchField$7$autoCompleteLayerLink$controller$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(null, controller, onClose, searchFieldEnabled, searchFieldKey, shouldRequestFocus, true);
    },
    buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation: function(controller, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportsNavigation) {
      return this.buildSearchField$6$controller$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(controller, null, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportsNavigation);
    },
    _buildSearchField$9$autoCompleteLayerLink$controller$decoration$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation$tracking: function(autoCompleteLayerLink, controller, decoration, onClose, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportsNavigation, tracking) {
      var t2, t3, t4, t5, t6, searchField, _this = this, _null = null,
        t1 = type$.legacy_AutoCompleteSearchControllerMixin._is(controller);
      if (t1) {
        t2 = _this.SearchFieldMixin__closeHandler;
        if (t2 != null)
          _this.SearchFieldMixin__searchFieldFocusNode.removeListener$1(0, t2);
        t2 = new S.SearchFieldMixin__buildSearchField_closure(_this, controller);
        _this.SearchFieldMixin__closeHandler = t2;
        _this.SearchFieldMixin__searchFieldFocusNode.addListener$1(0, t2);
      }
      t2 = _this.SearchFieldMixin__searchFieldFocusNode;
      t3 = _this.SearchFieldMixin_searchTextFieldController;
      if (decoration == null) {
        t4 = $.$get$searchFocusBorderColor();
        t5 = A.TextStyle$(_null, _null, C.MaterialColor_Map_JNwaj_4280391411, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        t6 = supportsNavigation || onClose != null ? _this._buildSearchFieldSuffix$3$onClose$supportsNavigation(controller, onClose, supportsNavigation) : _null;
        t6 = L.InputDecoration$(_null, C.OutlineInputBorder_BOY, _null, C.EdgeInsets_8_8_8_8, _null, _null, _null, _null, true, new F.OutlineInputBorder(4, C.BorderRadius_tLn0, t4), _null, _null, _null, _null, _null, _null, _null, _null, new F.OutlineInputBorder(4, C.BorderRadius_tLn0, t4), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, false, _null, t5, "Search", _null, _null, _null, _null, _null, _null, t6, _null, _null, _null, _null);
        t4 = t6;
      } else
        t4 = decoration;
      searchField = Z.TextField$(true, t3, C.MaterialColor_Map_JNwaj_4280391411, t4, searchFieldEnabled, t2, _null, searchFieldKey, _null, new S.SearchFieldMixin__buildSearchField_closure0(tracking, controller), new S.SearchFieldMixin__buildSearchField_closure1(_this), _null, _null);
      if (shouldRequestFocus)
        _this.SearchFieldMixin__searchFieldFocusNode.requestFocus$0();
      if (t1)
        return new T.CompositedTransformTarget(autoCompleteLayerLink, searchField, _null);
      return searchField;
    },
    _buildSearchField$7$autoCompleteLayerLink$controller$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation: function(autoCompleteLayerLink, controller, onClose, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportsNavigation) {
      return this._buildSearchField$9$autoCompleteLayerLink$controller$decoration$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation$tracking(autoCompleteLayerLink, controller, null, onClose, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportsNavigation, false);
    },
    _buildSearchField$7$autoCompleteLayerLink$controller$decoration$searchFieldEnabled$searchFieldKey$shouldRequestFocus$tracking: function(autoCompleteLayerLink, controller, decoration, searchFieldEnabled, searchFieldKey, shouldRequestFocus, tracking) {
      return this._buildSearchField$9$autoCompleteLayerLink$controller$decoration$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation$tracking(autoCompleteLayerLink, controller, decoration, null, searchFieldEnabled, searchFieldKey, shouldRequestFocus, false, tracking);
    },
    _buildSearchFieldSuffix$3$onClose$supportsNavigation: function(controller, onClose, supportsNavigation) {
      if (supportsNavigation)
        return new S.SearchNavigationControls(controller, onClose, null);
      else
        return U.inputDecorationSuffixButton(C.IconData_57706_MaterialIcons_false, onClose);
    },
    clearSearchField$2$force: function(controller, force) {
      var t1;
      if (force || controller.SearchControllerMixin__searchNotifier._value.length !== 0) {
        t1 = this.SearchFieldMixin_searchTextFieldController;
        t1.toString;
        t1.super$ValueNotifier$value(0, C.TextEditingValue_4QF);
        t1 = controller.SearchControllerMixin__searchNotifier;
        t1.set$value(0, "");
        controller.updateMatches$1(controller.matchesForSearch$1(t1._value));
        controller.closeAutoCompleteOverlay$0();
      }
    },
    clearSearchField$1: function(controller) {
      return this.clearSearchField$2$force(controller, false);
    }
  };
  S.SearchFieldMixin_buildAutoCompleteSearchField_closure.prototype = {
    call$2: function(node, $event) {
      var key, t1, t2, t3, searchToMatch, foundExact, t4, t5, autoCompleteList, _this = this;
      if ($event instanceof B.RawKeyDownEvent) {
        key = $event.data.get$logicalKey().keyId >>> 0;
        t1 = _this.$this;
        if (key === t1.SearchFieldMixin_escape) {
          t2 = _this.controller;
          if (t2.AutoCompleteSearchControllerMixin_autoCompleteOverlay != null)
            t2.closeAutoCompleteOverlay$0();
          else
            t1.clearSearchField$2$force(t2, true);
          return C.KeyEventResult_0;
        } else {
          t2 = _this.controller;
          if (t2.AutoCompleteSearchControllerMixin_autoCompleteOverlay != null)
            if (key === t1.SearchFieldMixin_enter || key === t1.SearchFieldMixin_enterMac || key === t1.SearchFieldMixin_tab || key === t1.SearchFieldMixin_tabMac) {
              t3 = t2.SearchControllerMixin__searchNotifier;
              searchToMatch = t3._value.toLowerCase();
              t4 = t2.AutoCompleteSearchControllerMixin_searchAutoComplete;
              t5 = J.get$iterator$ax(t4._value);
              while (true) {
                if (!t5.moveNext$0()) {
                  foundExact = null;
                  break;
                }
                foundExact = t5.get$current(t5);
                if (searchToMatch === foundExact.toLowerCase())
                  break;
              }
              autoCompleteList = t4._value;
              if (foundExact == null || !J.$eq$(J.$index$asx(autoCompleteList, t2.AutoCompleteSearchControllerMixin_currentDefaultIndex), foundExact)) {
                t4 = J.getInterceptor$asx(autoCompleteList);
                if (t4.get$isNotEmpty(autoCompleteList))
                  foundExact = t4.$index(autoCompleteList, t2.AutoCompleteSearchControllerMixin_currentDefaultIndex);
              }
              if (foundExact != null) {
                t2.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, true);
                t3.set$value(0, foundExact);
                t2.updateMatches$1(t2.matchesForSearch$1(t3._value));
                _this.onSelection.call$1(foundExact);
                return C.KeyEventResult_0;
              }
            } else {
              t3 = key === t1.SearchFieldMixin_arrowDown;
              if (t3 || key === t1.SearchFieldMixin_arrowUp) {
                _this._box_0.onHighlightDropdown.call$2(t2, t3);
                return C.KeyEventResult_0;
              }
            }
        }
        if (key === t1.SearchFieldMixin_tab || key === t1.SearchFieldMixin_tabMac)
          return C.KeyEventResult_0;
      }
      return C.KeyEventResult_1;
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 76
  };
  S.SearchFieldMixin__buildSearchField_closure.prototype = {
    call$0: function() {
      if (!this.$this.SearchFieldMixin__searchFieldFocusNode.get$hasFocus())
        this.controller.closeAutoCompleteOverlay$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  S.SearchFieldMixin__buildSearchField_closure0.prototype = {
    call$1: function(value) {
      var painter, t1, t2, _null = null;
      if (this.tracking) {
        painter = U.TextPainter$(_null, _null, _null, _null, Q.TextSpan$(_null, _null, _null, _null, value), C.TextAlign_4, C.TextDirection_1, _null, 1, C.TextWidthBasis_0);
        painter.layout$0(0);
        this.controller.SearchControllerMixin_xPosition = painter.get$width(painter);
      }
      t1 = this.controller;
      t2 = t1.SearchControllerMixin__searchNotifier;
      t2.set$value(0, value);
      t1.updateMatches$1(t1.matchesForSearch$1(t2._value));
    },
    $signature: 35
  };
  S.SearchFieldMixin__buildSearchField_closure1.prototype = {
    call$0: function() {
      this.$this.SearchFieldMixin__searchFieldFocusNode.requestFocus$0();
    },
    $signature: 1
  };
  S.SearchNavigationControls.prototype = {
    build$1: function(_, context) {
      return N.ValueListenableBuilder$(new S.SearchNavigationControls_build_closure(this), this.controller.SearchControllerMixin__searchMatches, type$.legacy_List_legacy_DataSearchStateMixin);
    },
    _matchesStatus$1: function(numMatches) {
      return N.ValueListenableBuilder$(new S.SearchNavigationControls__matchesStatus_closure(numMatches), this.controller.SearchControllerMixin_matchIndex, type$.legacy_int);
    }
  };
  S.SearchNavigationControls_build_closure.prototype = {
    call$3: function(context, matches, _) {
      var _null = null,
        numMatches = J.get$length$asx(matches),
        t1 = this.$this,
        t2 = t1._matchesStatus$1(numMatches),
        t3 = T.SizedBox$(T.Transform$rotate(C.Alignment_0_0, 1.5707963267948966, C.PaddedDivider_wEo3, _null), 24, 16),
        t4 = J.getInterceptor$n(numMatches),
        t5 = U.inputDecorationSuffixButton(C.IconData_58198_MaterialIcons_false, t4.$gt(numMatches, 1) ? t1.controller.get$previousMatch() : _null);
      t2 = H._setArrayType([t2, t3, t5, U.inputDecorationSuffixButton(C.IconData_58195_MaterialIcons_false, t4.$gt(numMatches, 1) ? t1.controller.get$nextMatch() : _null)], type$.JSArray_legacy_Widget);
      t1 = t1.onClose;
      if (t1 != null)
        t2.push(U.inputDecorationSuffixButton(C.IconData_57706_MaterialIcons_false, t1));
      return T.Row$(t2, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_1, C.MainAxisSize_0, _null);
    },
    $signature: 61
  };
  S.SearchNavigationControls__matchesStatus_closure.prototype = {
    call$3: function(context, index, _) {
      var _null = null;
      return new T.Padding(C.EdgeInsets_4_0_4_0, L.Text$(H.S(index) + "/" + H.S(this.numMatches), _null, _null, _null, _null, _null, C.TextStyle_zIQ0, _null, _null, _null), _null);
    },
    $signature: 660
  };
  S.DataSearchStateMixin.prototype = {
    set$isActiveSearchMatch: function(val) {
      return this.DataSearchStateMixin_isActiveSearchMatch = val;
    }
  };
  S.TreeDataSearchStateMixin.prototype = {};
  S.AutoCompleteController.prototype = {};
  S._AutoCompleteController_DisposableController_SearchControllerMixin.prototype = {};
  S._AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin.prototype = {};
  S._AutoCompleteState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  B.ServiceExtensionButtonGroup.prototype = {
    createState$0: function() {
      return new B._ServiceExtensionButtonGroupState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  B.ExtensionState.prototype = {};
  B._ServiceExtensionButtonGroupState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._initExtensionState$0();
    },
    _initExtensionState$0: function() {
      var t2, t3, _i, extension, extensionName, state, listenable, _this = this,
        t1 = H._setArrayType([], type$.JSArray_legacy_ExtensionState);
      for (t2 = _this._widget.extensions, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
        t1.push(new B.ExtensionState(t2[_i]));
      _this._extensionStates = t1;
      for (t2 = t1.length, t3 = _this.AutoDisposeMixin__delegate, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        extension = t1[_i];
        extensionName = extension.description.extension;
        state = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager._serviceExtensionState$1(extensionName);
        extension.isSelected = state._value.enabled;
        t3.addAutoDisposeListener$2(state, new B._ServiceExtensionButtonGroupState__initExtensionState_closure(_this, extension, state));
        listenable = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager._hasServiceExtension$1(extensionName);
        extension.isAvailable = listenable._value;
        t3.addAutoDisposeListener$2(listenable, new B._ServiceExtensionButtonGroupState__initExtensionState_closure0(_this, extension, listenable));
      }
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      if (!S.listEquals0(oldWidget.extensions, _this._widget.extensions)) {
        _this.AutoDisposeMixin__delegate.cancel$0(0);
        _this._initExtensionState$0();
        _this.setState$1(new B._ServiceExtensionButtonGroupState_didUpdateWidget_closure());
      }
      _this.super$State$didUpdateWidget(oldWidget);
    },
    build$1: function(_, context) {
      var t2, t3, t4, t5, t6, _i, extensionState, description, t7, t8, t9, _this = this, _null = null,
        theme = K.Theme_of(context),
        t1 = _this._extensionStates,
        available = (t1 && C.JSArray_methods).any$1(t1, new B._ServiceExtensionButtonGroupState_build_closure());
      t1 = theme.colorScheme.brightness === C.Brightness_1 ? C.Color_4278190080 : C.Color_4293980400;
      t2 = theme.textTheme;
      t3 = H._setArrayType([], type$.JSArray_legacy_Widget);
      for (t4 = _this._extensionStates, t5 = t4.length, t6 = type$.MediaQuery, _i = 0; _i < t4.length; t4.length === t5 || (0, H.throwConcurrentModificationError)(t4), ++_i) {
        extensionState = t4[_i];
        description = extensionState.description;
        t7 = extensionState.isSelected ? description.tooltips[0] : description.tooltips[1];
        t8 = _this._framework$_element;
        t8.toString;
        t9 = _this._widget.minIncludeTextWidth;
        t8 = t8.dependOnInheritedWidgetOfExactType$1$0(t6);
        t8 = t8.data.size._dx > t9 ? 16 : 0;
        t3.push(new S.Tooltip(t7, _null, false, new T.Padding(new V.EdgeInsets(t8, 0, t8, 0), new U.ImageIconLabel(description.icon, description.description, _this._widget.minIncludeTextWidth, _null), _null), C.Duration_500000, _null));
      }
      t4 = H._setArrayType([], type$.JSArray_legacy_bool);
      for (t5 = _this._extensionStates, t6 = t5.length, _i = 0; _i < t5.length; t5.length === t6 || (0, H.throwConcurrentModificationError)(t5), ++_i)
        t4.push(t5[_i].isSelected);
      t5 = available ? _this.get$_service_extension_widgets$_onPressed() : _null;
      return T.SizedBox$(new E.ToggleButtons(t3, t4, t5, t2.bodyText1, C.BoxConstraints_mlX4, t1, C.BorderRadius_tLn0, _null), 32, _null);
    },
    _service_extension_widgets$_onPressed$1: function(index) {
      var extensionState = this._extensionStates[index];
      if (extensionState.isAvailable)
        this.setState$1(new B._ServiceExtensionButtonGroupState__onPressed_closure(extensionState));
    }
  };
  B._ServiceExtensionButtonGroupState__initExtensionState_closure.prototype = {
    call$0: function() {
      this.$this.setState$1(new B._ServiceExtensionButtonGroupState__initExtensionState__closure0(this.extension, this.state));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  B._ServiceExtensionButtonGroupState__initExtensionState__closure0.prototype = {
    call$0: function() {
      this.extension.isSelected = this.state._value.enabled;
    },
    $signature: 1
  };
  B._ServiceExtensionButtonGroupState__initExtensionState_closure0.prototype = {
    call$0: function() {
      this.$this.setState$1(new B._ServiceExtensionButtonGroupState__initExtensionState__closure(this.extension, this.listenable));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  B._ServiceExtensionButtonGroupState__initExtensionState__closure.prototype = {
    call$0: function() {
      this.extension.isAvailable = this.listenable._value;
    },
    $signature: 1
  };
  B._ServiceExtensionButtonGroupState_didUpdateWidget_closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  B._ServiceExtensionButtonGroupState_build_closure.prototype = {
    call$1: function(e) {
      return e.isAvailable;
    },
    $signature: 661
  };
  B._ServiceExtensionButtonGroupState__onPressed_closure.prototype = {
    call$0: function() {
      var t3,
        t1 = this.extensionState,
        wasSelected = t1.isSelected,
        t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager;
      t1 = t1.description;
      t3 = t1.extension;
      t1 = t1.values;
      t1 = wasSelected ? t1[1] : t1[0];
      t2.setServiceExtensionState$3(t3, !wasSelected, t1);
    },
    $signature: 1
  };
  B.HotReloadButton.prototype = {
    build$1: function(_, context) {
      return U.DevToolsTooltip$(B._RegisteredServiceExtensionButton$_(new B.HotReloadButton_build_closure(), "Hot reload completed.", new B.HotReloadButton_build_closure0(), $.$get$hotReload()), null, "Hot reload");
    }
  };
  B.HotReloadButton_build_closure.prototype = {
    call$0: function() {
      return $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).runDeviceBusyTask$1$1(B._wrapReloadCall("reload", $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).get$performHotReload()), type$.void);
    },
    $signature: 3
  };
  B.HotReloadButton_build_closure0.prototype = {
    call$1: function(error) {
      return "Unable to hot reload the app: " + H.S(error);
    },
    $signature: 62
  };
  B.HotRestartButton.prototype = {
    build$1: function(_, context) {
      return U.DevToolsTooltip$(B._RegisteredServiceExtensionButton$_(new B.HotRestartButton_build_closure(), "Hot restart completed.", new B.HotRestartButton_build_closure0(), C.RegisteredServiceDescription_ZZG), null, "Hot restart");
    }
  };
  B.HotRestartButton_build_closure.prototype = {
    call$0: function() {
      return $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).runDeviceBusyTask$1$1(B._wrapReloadCall("restart", $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).get$performHotRestart()), type$.void);
    },
    $signature: 3
  };
  B.HotRestartButton_build_closure0.prototype = {
    call$1: function(error) {
      return "Unable to hot restart the app: " + H.S(error);
    },
    $signature: 62
  };
  B._RegisteredServiceExtensionButton.prototype = {
    createState$0: function() {
      return new B._RegisteredServiceExtensionButtonState(K.Disposer$(), false, C._StateLifecycle_0);
    }
  };
  B._RegisteredServiceExtensionButtonState.prototype = {
    initState$0: function() {
      var serviceRegisteredListenable, _this = this;
      _this.super$State$initState();
      serviceRegisteredListenable = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).registeredServiceListenable$1(_this._widget.serviceDescription.service);
      _this.addAutoDisposeListener$2(serviceRegisteredListenable, new B._RegisteredServiceExtensionButtonState_initState_closure(_this, serviceRegisteredListenable));
    },
    build$1: function(_, context) {
      var _null = null;
      if (this._hidden)
        return C.SizedBox_null_null_null_null;
      return R.InkWell$(false, true, M.Container$(C.Alignment_0_0, this._widget.serviceDescription.icon, C.Clip_0, _null, C.BoxConstraints_48_48_48_48, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new B._RegisteredServiceExtensionButtonState_build_closure(this), _null, _null, _null, _null, _null);
    }
  };
  B._RegisteredServiceExtensionButtonState_initState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new B._RegisteredServiceExtensionButtonState_initState__closure(t1, this.serviceRegisteredListenable._value));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  B._RegisteredServiceExtensionButtonState_initState__closure.prototype = {
    call$0: function() {
      this.$this._hidden = !this.registered;
    },
    $signature: 1
  };
  B._RegisteredServiceExtensionButtonState_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      return t1.invokeAndCatchErrors$1(t1._widget.action);
    },
    $signature: 3
  };
  B.StructuredErrorsToggle.prototype = {
    build$1: function(_, context) {
      return new B._ServiceExtensionToggle($.$get$structuredErrors(), null, new B.StructuredErrorsToggle_build_closure(), null);
    }
  };
  B.StructuredErrorsToggle_build_closure.prototype = {
    call$1: function(error) {
      return "Failed to update structuredError settings: " + H.S(error);
    },
    $signature: 62
  };
  B._ServiceExtensionToggle.prototype = {
    createState$0: function() {
      return new B._ServiceExtensionToggleState(K.Disposer$(), false, C._StateLifecycle_0);
    }
  };
  B._ServiceExtensionToggleState.prototype = {
    initState$0: function() {
      var state, _this = this;
      _this.super$State$initState();
      state = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager._serviceExtensionState$1(_this._widget.service.extension);
      _this.value = state._value.enabled;
      _this.addAutoDisposeListener$2(state, new B._ServiceExtensionToggleState_initState_closure(_this, state));
    },
    build$1: function(_, context) {
      var t3, t4, t0, t5, _null = null,
        t1 = this.value,
        t2 = this._widget;
      if (t1) {
        t3 = t2.service;
        t4 = t3.tooltips[0];
        t0 = t4;
        t4 = t3;
        t3 = t0;
      } else {
        t3 = t2.service;
        t4 = t3.tooltips[1];
        t0 = t4;
        t4 = t3;
        t3 = t0;
      }
      t5 = this.get$_onClick();
      t1 = T.SizedBox$(N.Switch$(t5, t1), 32, _null);
      t2.toString;
      return S.Tooltip$(R.InkWell$(false, true, T.Row$(H._setArrayType([t1, L.Text$(t4.description, _null, _null, _null, _null, _null, _null, _null, _null, _null), C.Padding_lAj0], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t5, _null, _null, _null, _null, _null), _null, t3, _null, _null, C.Duration_500000);
    },
    _onClick$1: function(_) {
      var _this = this;
      _this.setState$1(new B._ServiceExtensionToggleState__onClick_closure(_this));
      _this.invokeAndCatchErrors$1(new B._ServiceExtensionToggleState__onClick_closure0(_this));
    },
    _onClick$0: function() {
      return this._onClick$1(null);
    }
  };
  B._ServiceExtensionToggleState_initState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new B._ServiceExtensionToggleState_initState__closure(t1, this.state));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  B._ServiceExtensionToggleState_initState__closure.prototype = {
    call$0: function() {
      this.$this.value = this.state._value.enabled;
    },
    $signature: 1
  };
  B._ServiceExtensionToggleState__onClick_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.value = !t1.value;
    },
    $signature: 1
  };
  B._ServiceExtensionToggleState__onClick_closure0.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._serviceExtensionManager;
              t2 = $async$self.$this;
              t3 = t2._widget.service;
              t4 = t3.extension;
              t2 = t2.value;
              t3 = t3.values;
              $async$goto = 2;
              return P._asyncAwait(t1.setServiceExtensionState$3(t4, t2, t2 ? t3[0] : t3[1]), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 8
  };
  B._ServiceExtensionWidget.prototype = {
    describeError$1: function(arg0) {
      return this.describeError.call$1(arg0);
    },
    get$completedText: function() {
      return this.completedText;
    }
  };
  B._ServiceExtensionMixin.prototype = {
    invokeAndCatchErrors$1: function(action) {
      return this.invokeAndCatchErrors$body$_ServiceExtensionMixin(action);
    },
    invokeAndCatchErrors$body$_ServiceExtensionMixin: function(action) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, e, st, t1, exception, $async$exception;
      var $async$invokeAndCatchErrors$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._ServiceExtensionMixin_disabled) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.setState$1(new B._ServiceExtensionMixin_invokeAndCatchErrors_closure($async$self));
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait(action.call$0(), $async$invokeAndCatchErrors$1);
            case 7:
              // returning from await.
              if ($async$self._framework$_element != null && $async$self._widget.get$completedText() != null) {
                t1 = $async$self._framework$_element;
                t1.toString;
                Y.Notifications_of(t1).push$1($async$self._widget.get$completedText());
              }
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              e = H.unwrapException($async$exception);
              st = H.getTraceFromException($async$exception);
              B.log(H.S(e) + "\n" + H.S(st), C.LogLevel_0);
              t1 = $async$self._framework$_element;
              if (t1 != null)
                Y.Notifications_of(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 B._ServiceExtensionMixin_invokeAndCatchErrors_closure0($async$self));
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 6:
              // after finally
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeAndCatchErrors$1, $async$completer);
    }
  };
  B._ServiceExtensionMixin_invokeAndCatchErrors_closure.prototype = {
    call$0: function() {
      this.$this._ServiceExtensionMixin_disabled = true;
    },
    $signature: 1
  };
  B._ServiceExtensionMixin_invokeAndCatchErrors_closure0.prototype = {
    call$0: function() {
      this.$this._ServiceExtensionMixin_disabled = false;
    },
    $signature: 1
  };
  B.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin.prototype = {};
  B.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  B.__ServiceExtensionButtonGroupState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  B.__ServiceExtensionToggleState_State__ServiceExtensionMixin.prototype = {};
  B.__ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  B.NotifierCheckbox.prototype = {
    createState$0: function() {
      return new B._NotifierCheckboxState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  B._NotifierCheckboxState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._trackValue$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (oldWidget.notifier === _this._widget.notifier)
        return;
      _this.AutoDisposeMixin__delegate.cancel$0(0);
      _this._trackValue$0();
    },
    _trackValue$0: function() {
      var _this = this;
      _this._updateValue$0();
      _this.addAutoDisposeListener$2(_this._widget.notifier, _this.get$_updateValue());
    },
    _updateValue$0: function() {
      var _this = this,
        t1 = _this.currentValue,
        t2 = _this._widget.notifier._value;
      if (t1 == null ? t2 == null : t1 === t2)
        return;
      _this.setState$1(new B._NotifierCheckboxState__updateValue_closure(_this));
    },
    build$1: function(_, context) {
      return K.Checkbox$(null, false, null, null, new B._NotifierCheckboxState_build_closure(this), false, this.currentValue);
    }
  };
  B._NotifierCheckboxState__updateValue_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.currentValue = t1._widget.notifier._value;
    },
    $signature: 1
  };
  B._NotifierCheckboxState_build_closure.prototype = {
    call$1: function(value) {
      this.$this._widget.notifier.set$value(0, value);
    },
    $signature: 73
  };
  B.truncateTextSpan_truncateHelper.prototype = {
    call$1: function(span) {
      var t1, t2, t3, children,
        text = span.text;
      if (text != null) {
        t1 = text.length;
        t2 = this._box_0;
        t3 = t2.available;
        if (t1 > t3)
          text = C.JSString_methods.substring$2(text, 0, t3);
        t2.available = t3 - text.length;
      }
      t1 = span.children;
      if (t1 != null) {
        children = H._setArrayType([], type$.JSArray_legacy_TextSpan);
        for (t1 = J.get$iterator$ax(t1), t2 = this._box_0; t1.moveNext$0();) {
          t3 = t1.get$current(t1);
          if (t2.available <= 0)
            break;
          children.push(this.call$1(t3));
        }
        if (children.length === 0)
          children = null;
      } else
        children = null;
      t1 = span.style;
      return Q.TextSpan$(children, span.recognizer, span.semanticsLabel, t1, text);
    },
    $signature: 663
  };
  B.OffsetScrollbar.prototype = {
    createState$0: function() {
      return new B._OffsetScrollbarState(C._StateLifecycle_0);
    }
  };
  B._OffsetScrollbarState.prototype = {
    build$1: function(_, context) {
      var _this = this,
        t1 = C.JSArray_methods.get$single(_this._widget.offsetController._positions);
      if (!(t1._minScrollExtent != null && t1._maxScrollExtent != null))
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new B._OffsetScrollbarState_build_closure(_this));
      t1 = _this._widget;
      return K.AnimatedBuilder$(t1.offsetController, new B._OffsetScrollbarState_build_closure0(_this), t1.child);
    }
  };
  B._OffsetScrollbarState_build_closure.prototype = {
    call$1: function(timeStamp) {
      var t1 = this.$this;
      if (C.JSArray_methods.get$single(t1._widget.offsetController._positions)._viewportDimension != null && t1._framework$_element != null)
        t1.setState$1(new B._OffsetScrollbarState_build__closure());
    },
    $signature: 51
  };
  B._OffsetScrollbarState_build__closure.prototype = {
    call$0: function() {
    },
    $signature: 1
  };
  B._OffsetScrollbarState_build_closure0.prototype = {
    call$2: function(context, child) {
      var t3, t4, delta, offset,
        t1 = this.$this,
        t2 = C.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 = C.JSArray_methods.get$single(t1._widget.offsetController._positions)._maxScrollExtent;
        t3.toString;
        t4 = C.JSArray_methods.get$single(t1._widget.offsetController._positions)._minScrollExtent;
        t4.toString;
        delta = t2 - t3 + t4;
        if (C.JSArray_methods.get$single(t1._widget.offsetController._positions)._viewportDimension != null) {
          t2 = t1._widget;
          t3 = t2.offsetControllerViewportDimension;
          t2 = C.JSArray_methods.get$single(t2.offsetController._positions)._viewportDimension;
          t2.toString;
          delta += t3 - t2;
        }
      } else
        delta = 0;
      t1 = t1._widget;
      offset = t1.axis === C.Axis_1 ? new P.Offset(delta, 0) : new P.Offset(0, delta);
      t1 = t1.controller;
      return T.Transform$translate(E.Scrollbar$(T.Transform$translate(child, new P.Offset(-offset._dx, -offset._dy)), t1, true), offset);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 664
  };
  B.__NotifierCheckboxState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  G.ProfileGranularityDropdown.prototype = {
    build$1: function(_, context) {
      return N.ValueListenableBuilder$(new G.ProfileGranularityDropdown_build_closure(this), this.profileGranularityFlagNotifier, type$.legacy_Flag);
    },
    _onProfileGranularityChanged$1: function(newValue) {
      return this._onProfileGranularityChanged$body$ProfileGranularityDropdown(newValue);
    },
    _onProfileGranularityChanged$body$ProfileGranularityDropdown: function(newValue) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        t1, t2, t3;
      var $async$_onProfileGranularityChanged$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).toString;
              t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t2 = t1._vmService;
              t2.toString;
              t3 = type$.dynamic;
              $async$goto = 2;
              return P._asyncAwait(t1.trackFuture$1$2("setFlag", t2._call$1$2(0, "setFlag", P.LinkedHashMap_LinkedHashMap$_literal(["name", "profile_period", "value", newValue], t3, t3), type$.Response), type$.legacy_Response), $async$_onProfileGranularityChanged$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_onProfileGranularityChanged$1, $async$completer);
    }
  };
  G.ProfileGranularityDropdown_build_closure.prototype = {
    call$3: function(context, flag, _) {
      var bannerMessageController, t2, t3, t4, t5, t6, _null = null,
        _s32_ = "HighProfileGranularityMessage - ",
        t1 = flag.valueAsString,
        safeValue = D.ProfileGranularityExtension_get_value(D.ProfileGranularityExtension_fromValue(t1));
      if (safeValue !== t1)
        this.$this._onProfileGranularityChanged$1(safeValue);
      bannerMessageController = Y.Provider_of(context, true, type$.legacy_BannerMessagesController);
      t1 = this.$this;
      t2 = type$.ValueKey_String;
      t3 = t1.screenId;
      if (safeValue === "50")
        bannerMessageController.addMessage$1(new O.HighProfileGranularityMessage(new D.ValueKey(_s32_ + t3, t2), t3).build$1(0, context));
      else
        bannerMessageController.removeMessageByKey$2(new D.ValueKey(_s32_ + t3, t2), t3);
      t2 = K.Theme_of(context).textTheme;
      t3 = D.ProfileGranularityExtension_get_value(C.ProfileGranularity_0);
      t4 = type$.legacy_String;
      t3 = K.DropdownMenuItem$(L.Text$(D.ProfileGranularityExtension_get_display(C.ProfileGranularity_0), _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, t3, t4);
      t5 = D.ProfileGranularityExtension_get_value(C.ProfileGranularity_1);
      t5 = K.DropdownMenuItem$(L.Text$(D.ProfileGranularityExtension_get_display(C.ProfileGranularity_1), _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, t5, t4);
      t6 = D.ProfileGranularityExtension_get_value(C.ProfileGranularity_2);
      return new U.RoundedDropDownButton(safeValue, t1.get$_onProfileGranularityChanged(), true, t2.bodyText2, _null, H._setArrayType([t3, t5, K.DropdownMenuItem$(L.Text$(D.ProfileGranularityExtension_get_display(C.ProfileGranularity_2), _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, t6, t4)], type$.JSArray_legacy_DropdownMenuItem_legacy_String), C.ValueKey_4CA, type$.RoundedDropDownButton_legacy_String);
    },
    $signature: 665
  };
  B.timeout_closure.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  B.combineStreams_closure0.prototype = {
    call$0: function() {
      var _this = this,
        t1 = _this._box_0,
        t2 = t1.controller;
      t1.asub = _this.a.listen$1(t2.get$add(t2));
      t2 = t1.controller;
      t1.bsub = _this.b.listen$1(t2.get$add(t2));
      t2 = t1.controller;
      t1.csub = _this.c.listen$1(t2.get$add(t2));
    },
    $signature: 1
  };
  B.combineStreams_closure.prototype = {
    call$0: function() {
      var t1 = this._box_0,
        t2 = t1.asub;
      if (t2 != null)
        t2.cancel$0(0);
      t2 = t1.bsub;
      if (t2 != null)
        t2.cancel$0(0);
      t1 = t1.csub;
      if (t1 != null)
        t1.cancel$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  B.parseCssHexColor_closure.prototype = {
    call$1: function(c) {
      return H.S(c) + H.S(c);
    },
    $signature: 177
  };
  B.toCssHexColor_hex.prototype = {
    call$1: function(val) {
      return C.JSString_methods.padLeft$2(C.JSInt_methods.toRadixString$1(val, 16), 2, "0");
    },
    $signature: 212
  };
  B.RateLimiter.prototype = {
    scheduleRequest$0: function() {
      var t1, t2, _this = this;
      if (_this.requestScheduledButNotStarted)
        return;
      t1 = _this._pendingRequest;
      if (t1 != null && t1.future._state === 0) {
        _this.requestScheduledButNotStarted = true;
        t1.future.whenComplete$1(new B.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;
      _this._activeTimer = P.Timer_Timer(P.Duration$(0, t1 - t2 + _this.delayBetweenRequests), new B.RateLimiter_scheduleRequest_closure0(_this));
    },
    _performRequest$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this;
      var $async$_performRequest$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 2;
              $async$self._lastRequestTime = Date.now();
              $async$self._pendingRequest = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
              $async$goto = 5;
              return P._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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_performRequest$0, $async$completer);
    }
  };
  B.RateLimiter_scheduleRequest_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._pendingRequest = null;
      t1.requestScheduledButNotStarted = false;
      t1.scheduleRequest$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  B.RateLimiter_scheduleRequest_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._activeTimer = null;
      t1.requestScheduledButNotStarted = false;
      t1._performRequest$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  B.TimeUnit.prototype = {
    toString$0: function(_) {
      return this._utils$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  B.TimeRange.prototype = {
    get$start: function(_) {
      return this._utils$_start;
    },
    get$end: function(_) {
      return this._utils$_end;
    },
    contains$1: function(_, target) {
      var t1 = this._utils$_start,
        t2 = target._duration;
      return t2 >= t1._duration && t2 <= this._utils$_end._duration;
    },
    get$duration: function(_) {
      var t1 = this._utils$_end,
        t2 = this._utils$_start;
      return new P.Duration(t1._duration - t2._duration);
    },
    toString$0: function(_) {
      var t1, t2, _this = this, _null = null;
      switch (C.TimeUnit_0) {
        case C.TimeUnit_0:
          t1 = _this._utils$_start;
          t1 = "[" + H.S(t1 == null ? _null : t1._duration) + " \u03bcs - ";
          t2 = _this._utils$_end;
          return t1 + H.S(t2 == null ? _null : t2._duration) + " \u03bcs]";
        case C.TimeUnit_1:
        default:
          t1 = _this._utils$_start;
          t1 = "[" + H.S(t1 == null ? _null : C.JSInt_methods._tdivFast$1(t1._duration, 1000)) + " ms - ";
          t2 = _this._utils$_end;
          return t1 + H.S(t2 == null ? _null : C.JSInt_methods._tdivFast$1(t2._duration, 1000)) + " ms]";
      }
    },
    $eq: function(_, other) {
      var t1;
      if (other == null)
        return false;
      t1 = J.getInterceptor$x(other);
      return J.$eq$(this._utils$_start, t1.get$start(other)) && J.$eq$(this._utils$_end, t1.get$end(other));
    },
    get$hashCode: function(_) {
      return P.hashValues(this._utils$_start, this._utils$_end, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  B.ImmediateValueNotifier.prototype = {
    addListener$1: function(_, listener) {
      this.super$ChangeNotifier$addListener(0, listener);
      listener.call$0();
    }
  };
  B.Range.prototype = {
    contains$1: function(_, target) {
      return target >= this.begin && target <= this.end;
    },
    toString$0: function(_) {
      return "Range(" + H.S(this.begin) + ", " + H.S(this.end) + ")";
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return this.begin === other.get$begin() && this.end === J.get$end$x(other);
    },
    get$hashCode: function(_) {
      return P.hashValues(this.begin, this.end, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    get$begin: function() {
      return this.begin;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  B.SortDirection.prototype = {
    toString$0: function(_) {
      return this._utils$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  B.DebugTimingLogger.prototype = {
    log$1: function(message) {
      return;
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  B.MovingAverage.prototype = {
    MovingAverage$3$averagePeriod$newDataSet$ratio: function(averagePeriod, newDataSet, ratio) {
    },
    add$1: function(_, value) {
      var t1, _this = this;
      _this.averageSum = _this.averageSum + value;
      t1 = _this.dataSet;
      t1._add$1(0, value);
      if (t1.get$length(t1) > _this.averagePeriod)
        _this.averageSum = _this.averageSum - t1.removeFirst$0();
    },
    get$mean: function() {
      var t1 = this.dataSet,
        periodRange = Math.min(this.averagePeriod, t1.get$length(t1));
      return periodRange > 0 ? this.averageSum / periodRange : 0;
    }
  };
  B.processAnsiTerminalCodes_closure.prototype = {
    call$1: function(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 ? B.colorFromAnsi(t2) : _null;
        t3 = entry.bgColor;
        t3 = t3 != null ? B.colorFromAnsi(t3) : _null;
        t2 = A.TextStyle$(_null, t3, t2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, entry.bold ? C.FontWeight_6 : C.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      }
      return Q.TextSpan$(_null, _null, _null, t2, t1);
    },
    $signature: 666
  };
  B.LogicalKeySetExtension_describeKeys_closure.prototype = {
    call$2: function(a, b) {
      var aIsModifier = a.get$synonyms()._collection$_length !== 0 || $.LogicalKeySetExtension__modifiers.contains$1(0, a),
        bIsModifier = b.get$synonyms()._collection$_length !== 0 || $.LogicalKeySetExtension__modifiers.contains$1(0, b);
      if (aIsModifier && !bIsModifier)
        return -1;
      else if (bIsModifier && !aIsModifier)
        return 1;
      return C.JSString_methods.compareTo$1(a.get$keyLabel(), b.get$keyLabel());
    },
    $signature: 667
  };
  B.LogicalKeySetExtension_describeKeys_closure0.prototype = {
    call$1: function(key) {
      if ($.LogicalKeySetExtension__modifiers.contains$1(0, key)) {
        if (this.isMacOS && J.$eq$(key, C.LogicalKeyboardKey_2199023255817))
          return "\u2318";
        return H.S($.LogicalKeySetExtension__modifierNames.$index(0, key)) + "-";
      } else
        return key.get$keyLabel().toUpperCase();
    },
    $signature: 668
  };
  B.DevToolsJsonFile.prototype = {};
  B.DevToolsFile.prototype = {};
  B.StringExtension_caseInsensitiveContains_closure.prototype = {
    call$0: function() {
      return this._this.toLowerCase();
    },
    $signature: 38
  };
  B.StringExtension_caseInsensitiveContains_closure0.prototype = {
    call$0: function() {
      return this.pattern.toLowerCase();
    },
    $signature: 38
  };
  B.ListValueNotifier.prototype = {
    get$value: function(_) {
      return this._currentList;
    },
    add$1: function(_, element) {
      var t1, _this = this;
      _this._rawList.push(element);
      t1 = _this._rawList;
      _this._currentList = new B.ImmutableList(t1, t1.length, _this.$ti._eval$1("ImmutableList<1*>"));
      _this.notifyListeners$0();
    },
    addAll$1: function(_, elements) {
      var t1, _this = this;
      C.JSArray_methods.addAll$1(_this._rawList, elements);
      t1 = _this._rawList;
      _this._currentList = new B.ImmutableList(t1, t1.length, _this.$ti._eval$1("ImmutableList<1*>"));
      _this.notifyListeners$0();
    },
    clear$0: function(_) {
      var _this = this,
        t1 = _this.$ti,
        t2 = _this._rawList = H._setArrayType([], t1._eval$1("JSArray<1*>"));
      _this._currentList = new B.ImmutableList(t2, t2.length, t1._eval$1("ImmutableList<1*>"));
      _this.notifyListeners$0();
    }
  };
  B.ImmutableList.prototype = {
    $index: function(_, index) {
      if (index >= 0 && index < this.length)
        return this._rawList[index];
      else
        throw H.wrapException(P.Exception_Exception("Index out of range [0-" + (this.length - 1) + "]: " + H.S(index)));
    },
    $indexSet: function(_, index, value) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    add$1: function(_, element) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    addAll$1: function(_, iterable) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    remove$1: function(_, element) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    removeAt$1: function(_, index) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    removeLast$0: function(_) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    removeRange$2: function(_, start, end) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    clear$0: function(_) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    fillRange$3: function(_, start, end, fill) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    setRange$4: function(_, start, end, iterable, skipCount) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    setRange$3: function($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    sort$1: function(_, compare) {
      throw H.wrapException(P.Exception_Exception(string$.Cannotm));
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1,
    get$length: function(receiver) {
      return this.length;
    },
    set$length: function(receiver, val) {
      return this.length = val;
    }
  };
  B.CompareMixin.prototype = {
    $lt: function(_, other) {
      return this.compareTo$1(0, other) < 0;
    },
    $gt: function(_, other) {
      return this.compareTo$1(0, other) > 0;
    }
  };
  B._ImmutableList_Object_ListMixin.prototype = {};
  T.FlutterVersion.prototype = {
    FlutterVersion$_$7$channel$dartSdkVersion$engineRevision$frameworkCommitDate$frameworkRevision$repositoryUrl$version: function(channel, dartSdkVersion, engineRevision, frameworkCommitDate, frameworkRevision, repositoryUrl, version) {
      var t1, preReleaseParts, _this = this, _null = null,
        splitOnDash = _this.version.split("-"),
        _versionParts = C.JSArray_methods.get$first(splitOnDash).split(".");
      if (_versionParts.length !== 0) {
        t1 = H.Primitives_parseInt(C.JSArray_methods.get$first(_versionParts), _null);
        if (t1 == null)
          t1 = 0;
      } else
        t1 = 0;
      _this.major = t1;
      if (_versionParts.length > 1) {
        t1 = H.Primitives_parseInt(_versionParts[1], _null);
        if (t1 == null)
          t1 = 0;
      } else
        t1 = 0;
      _this.minor = t1;
      if (_versionParts.length > 2) {
        t1 = H.Primitives_parseInt(_versionParts[2], _null);
        if (t1 == null)
          t1 = 0;
      } else
        t1 = 0;
      _this.patch = t1;
      if (splitOnDash.length === 2) {
        t1 = type$.MappedListIterable_of_String_and_legacy_String;
        preReleaseParts = P.List_List$of(new H.MappedListIterable(H._setArrayType(C.JSArray_methods.get$last(splitOnDash).split("."), type$.JSArray_String), new T.FlutterVersion$__closure(), t1), true, t1._eval$1("ListIterable.E"));
        if (!!preReleaseParts.fixed$length)
          H.throwExpression(P.UnsupportedError$("removeWhere"));
        C.JSArray_methods._removeWhere$2(preReleaseParts, new T.FlutterVersion$__closure0(), true);
        if (preReleaseParts.length !== 0) {
          t1 = H.Primitives_parseInt(C.JSArray_methods.get$first(preReleaseParts), _null);
          if (t1 == null)
            t1 = 0;
        } else
          t1 = 0;
        _this.preReleaseMajor = t1;
        if (preReleaseParts.length > 1) {
          t1 = H.Primitives_parseInt(preReleaseParts[1], _null);
          if (t1 == null)
            t1 = 0;
        } else
          t1 = 0;
        _this.preReleaseMinor = t1;
      }
    },
    $eq: function(_, other) {
      var t1, t2, t3, _this = this;
      if (other == null)
        return false;
      t1 = _this.version;
      t2 = J.getInterceptor$x(other);
      t3 = t2.get$version(other);
      if (t1 == null ? t3 == null : t1 === t3) {
        t1 = _this.channel;
        t2 = t2.get$channel(other);
        t1 = (t1 == null ? t2 == null : t1 === t2) && _this.repositoryUrl == other.get$repositoryUrl() && _this.frameworkRevision == other.get$frameworkRevision() && _this.frameworkCommitDate == other.get$frameworkCommitDate() && _this.engineRevision == other.get$engineRevision() && _this.dartSdkVersion == other.get$dartSdkVersion();
      } else
        t1 = false;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.version, _this.channel, _this.repositoryUrl, _this.frameworkRevision, _this.frameworkCommitDate, _this.engineRevision, _this.dartSdkVersion, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    get$version: function(receiver) {
      return this.version;
    },
    get$channel: function(receiver) {
      return this.channel;
    },
    get$repositoryUrl: function() {
      return this.repositoryUrl;
    },
    get$frameworkRevision: function() {
      return this.frameworkRevision;
    },
    get$frameworkCommitDate: function() {
      return this.frameworkCommitDate;
    },
    get$engineRevision: function() {
      return this.engineRevision;
    },
    get$dartSdkVersion: function() {
      return this.dartSdkVersion;
    }
  };
  T.FlutterVersion$__closure.prototype = {
    call$1: function(part) {
      var t1 = P.RegExp_RegExp("\\d+", true, false).stringMatch$1(part);
      return t1 == null ? "" : t1;
    },
    $signature: 177
  };
  T.FlutterVersion$__closure0.prototype = {
    call$1: function(part) {
      return part.length === 0;
    },
    $signature: 14
  };
  T.SemanticVersion.prototype = {
    get$isPreRelease: function() {
      return this.preReleaseMajor != null || this.preReleaseMinor != null;
    },
    compareTo$1: function(_, other) {
      var t1, t2, _this = this;
      if (_this.major == other.get$major() && _this.minor == other.get$minor() && _this.patch === other.get$patch() && _this.preReleaseMajor == other.get$preReleaseMajor() && _this.preReleaseMinor == other.get$preReleaseMinor())
        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;
        if (!(_this.preReleaseMajor > 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: function(_) {
      var t2, t3, _this = this,
        t1 = H._setArrayType([C.JSArray_methods.join$1(H._setArrayType([_this.major, _this.minor, _this.patch], type$.JSArray_legacy_int), ".")], type$.JSArray_legacy_String);
      if (_this.preReleaseMajor != null || _this.preReleaseMinor != null) {
        t2 = H._setArrayType([], type$.JSArray_legacy_Object);
        t3 = _this.preReleaseMajor;
        if (t3 != null)
          t2.push(t3);
        if (_this.preReleaseMajor == null && _this.preReleaseMinor != null)
          t2.push("0");
        t3 = _this.preReleaseMinor;
        if (t3 != null)
          t2.push(t3);
        t1.push(C.JSArray_methods.join$1(t2, "."));
      }
      return C.JSArray_methods.join$1(t1, "-");
    },
    $isComparable: 1,
    get$major: function() {
      return this.major;
    },
    get$minor: function() {
      return this.minor;
    },
    get$patch: function() {
      return this.patch;
    },
    get$preReleaseMajor: function() {
      return this.preReleaseMajor;
    },
    get$preReleaseMinor: function() {
      return this.preReleaseMinor;
    }
  };
  T._SemanticVersion_Object_CompareMixin.prototype = {};
  O.IsolateStatisticsView.prototype = {
    get$showIsolateSelector: function() {
      return true;
    },
    build$1: function(_, context) {
      return new O.IsolateStatisticsViewBody(N.IsolateStatisticsViewController$(), null);
    }
  };
  O.IsolateStatisticsViewBody.prototype = {
    build$1: function(_, context) {
      return N.ValueListenableBuilder$(new O.IsolateStatisticsViewBody_build_closure(this), this.controller._isolate_statistics_view_controller$_refreshing, type$.legacy_bool);
    }
  };
  O.IsolateStatisticsViewBody_build_closure.prototype = {
    call$3: function(context, refreshing, _) {
      var _null = null,
        t1 = this.$this.controller,
        t2 = type$.JSArray_legacy_Widget;
      return T.Column$(H._setArrayType([T.Row$(H._setArrayType([U.RefreshButton$(_null, "Refresh", t1.get$refresh(t1))], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), new T.Flexible(1, C.FlexFit_1, T.Column$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, T.Row$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, T.Column$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, new O.GeneralIsolateStatisticsWidget(t1, _null), _null), new T.Flexible(1, C.FlexFit_1, new O.IsolateMemoryStatisticsWidget(t1, _null), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null), new T.Flexible(1, C.FlexFit_1, new O.TagStatisticsWidget(new O._TagColumn("Tag", _null, _null, _null, C.ColumnAlignment_0), new O._PercentageColumn("Percentage", _null, _null, _null, C.ColumnAlignment_1), t1, _null), _null), new T.Flexible(1, C.FlexFit_1, new O.ServiceExtensionsWidget(new O._ServiceExtensionNameColumn("Name", _null, _null, _null, C.ColumnAlignment_0), t1, _null), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null), new T.Flexible(1, C.FlexFit_1, new O.IsolatePortsWidget(t1, _null), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    $signature: 669
  };
  O.GeneralIsolateStatisticsWidget.prototype = {
    _isolate_statistics_view$_startTime$1: function(isolate) {
      if (isolate == null)
        return null;
      return A.DateFormat$yMMMMd().addPattern$1("jms").format$1(P.DateTime$fromMillisecondsSinceEpoch(isolate.startTime, false).toLocal$0());
    },
    _uptime$1: function(isolate) {
      if (isolate == null)
        return null;
      return A.DateFormat$Hms().format$1(P.DateTime$_withValue(Date.now() - C.JSInt_methods._tdivFast$1(P.Duration$(0, isolate.startTime)._duration, 1000), false).toUtc$0());
    },
    build$1: function(_, context) {
      var _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),
        t6 = t1 ? _null : isolate.rootLib;
      t6 = t6 == null ? _null : t6.get$uri();
      t1 = t1 ? _null : isolate.id;
      return new G.VMInfoCard("General", H._setArrayType([new P.MapEntry("Name", t2, t3), new P.MapEntry("Started at", t4, t3), new P.MapEntry("Uptime", t5, t3), new P.MapEntry("Root Library", t6, t3), new P.MapEntry("ID", t1, t3)], type$.JSArray_legacy_MapEntry_dynamic_dynamic), _null, _null);
    }
  };
  O.IsolateMemoryStatisticsWidget.prototype = {
    _buildMemoryString$2: function(usage, capacity) {
      if (usage == null || capacity == null)
        return "--";
      return H.S(B.prettyPrintBytes(usage, true, 0, 1, 1)) + " of " + H.S(B.prettyPrintBytes(capacity, true, 0, 1, 1));
    },
    build$1: function(_, context) {
      var t3, t4, t5, _this = this, _null = null,
        isolate = _this.controller._isolate_statistics_view_controller$_isolate,
        t1 = isolate == null,
        t2 = t1 ? _null : F.IsolatePrivateViewExtension_get_newSpaceUsage(isolate) + F.IsolatePrivateViewExtension_get_oldSpaceUsage(isolate);
      t2 = _this._buildMemoryString$2(t2, t1 ? _null : F.IsolatePrivateViewExtension_get_newSpaceCapacity(isolate) + F.IsolatePrivateViewExtension_get_oldSpaceCapacity(isolate));
      t3 = type$.MapEntry_dynamic_dynamic;
      t4 = t1 ? _null : F.IsolatePrivateViewExtension_get_newSpaceUsage(isolate);
      t4 = _this._buildMemoryString$2(t4, t1 ? _null : F.IsolatePrivateViewExtension_get_newSpaceUsage(isolate));
      t5 = t1 ? _null : F.IsolatePrivateViewExtension_get_oldSpaceUsage(isolate);
      return T.Column$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, new G.VMInfoCard("Memory", H._setArrayType([new P.MapEntry("Dart Heap", t2, t3), new P.MapEntry("New Space", t4, t3), new P.MapEntry("Old Space", _this._buildMemoryString$2(t5, t1 ? _null : F.IsolatePrivateViewExtension_get_oldSpaceCapacity(isolate)), t3)], type$.JSArray_legacy_MapEntry_dynamic_dynamic), _null, _null), _null)], type$.JSArray_legacy_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    }
  };
  O.TagStatisticsWidget.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = $.offlineMode ? true : $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profiler")._value.valueAsString === "true",
        t2 = this.controller;
      if (t1) {
        t1 = this.percentage;
        t1 = S.FlatTable$(_null, false, H._setArrayType([this.name, t1], type$.JSArray_legacy_ColumnData_legacy_VMTag), new P.UnmodifiableListView(t2._tags, type$.UnmodifiableListView_legacy_VMTag), _null, new O.TagStatisticsWidget_build_closure(), new O.TagStatisticsWidget_build_closure0(), _null, _null, _null, _null, t1, C.SortDirection_1, type$.legacy_VMTag);
      } else
        t1 = new V.CpuProfilerDisabled(t2.CpuProfilerControllerProviderMixin_cpuProfilerController, _null);
      return new G.VMInfoCard("Execution Time", _null, new T.Flexible(1, C.FlexFit_1, t1, _null), _null);
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  O.TagStatisticsWidget_build_closure.prototype = {
    call$1: function(tag) {
      return new D.ValueKey(tag.name, type$.ValueKey_legacy_String);
    },
    $signature: 670
  };
  O.TagStatisticsWidget_build_closure0.prototype = {
    call$1: function(_) {
      return null;
    },
    $signature: 671
  };
  O._TagColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.name;
    }
  };
  O._PercentageColumn.prototype = {
    getValue$1: function(dataObject) {
      return dataObject.percentage;
    },
    getDisplayValue$1: function(dataObject) {
      return C.JSNumber_methods.toStringAsFixed$1(dataObject.percentage * 100, 2) + "%";
    }
  };
  O._PortIDColumn.prototype = {
    getValue$1: function(port) {
      return J.toString$0$(port.get$portId());
    }
  };
  O._PortNameColumn.prototype = {
    getValue$1: function(port) {
      return port.get$debugName().length === 0 ? "N/A" : port.get$debugName();
    }
  };
  O._StackTraceViewerFrameColumn.prototype = {
    getValue$1: function(frame) {
      return frame;
    },
    compare$2: function(f1, f2) {
      return C.JSInt_methods.compareTo$1(P.int_parse(J.substring$1$s(C.JSArray_methods.get$first(f1.split(" ")), 1), null), P.int_parse(J.substring$1$s(C.JSArray_methods.get$first(f2.split(" ")), 1), null));
    }
  };
  O.StackTraceViewerWidget.prototype = {
    build$1: function(_, context) {
      var lines, _null = null,
        t1 = this.stackTrace;
      t1 = t1 == null ? _null : t1.get$allocationLocation();
      t1 = t1 == null ? _null : t1.get$valueAsString(t1);
      t1 = t1 == null ? _null : H._setArrayType(t1.split("\n"), type$.JSArray_String);
      t1 = t1 == null ? _null : new H.WhereIterable(t1, new O.StackTraceViewerWidget_build_closure(), H._arrayInstanceType(t1)._eval$1("WhereIterable<1>"));
      lines = t1 == null ? _null : P.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
      if (lines == null)
        t1 = C.Expanded_Q43;
      else {
        t1 = this.frame;
        t1 = new T.Flexible(1, C.FlexFit_1, S.FlatTable$(_null, false, H._setArrayType([t1], type$.JSArray_legacy_ColumnData_legacy_String), lines, _null, new O.StackTraceViewerWidget_build_closure0(), new O.StackTraceViewerWidget_build_closure1(), _null, _null, _null, _null, t1, C.SortDirection_0, type$.legacy_String), _null);
      }
      return new G.VMInfoList("Allocation Location", _null, t1, _null);
    }
  };
  O.StackTraceViewerWidget_build_closure.prototype = {
    call$1: function(e) {
      return e.length !== 0;
    },
    $signature: 14
  };
  O.StackTraceViewerWidget_build_closure0.prototype = {
    call$1: function(s) {
      return new D.ValueKey(s, type$.ValueKey_legacy_String);
    },
    $signature: 284
  };
  O.StackTraceViewerWidget_build_closure1.prototype = {
    call$1: function(_) {
      return null;
    },
    $signature: 35
  };
  O.IsolatePortsWidget.prototype = {
    createState$0: function() {
      var _null = null;
      return new O._IsolatePortsWidgetState(new O._PortIDColumn("ID", _null, _null, _null, C.ColumnAlignment_0), new O._PortNameColumn("Name", _null, _null, _null, C.ColumnAlignment_0), new B.ValueNotifier(_null, P.List_List$filled(0, _null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_InstanceRef), C._StateLifecycle_0);
    }
  };
  O._IsolatePortsWidgetState.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this._widget.controller._ports,
        t2 = _this.id,
        t3 = _this.selectedPort,
        t4 = type$.JSArray_legacy_Widget;
      return T.Column$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, new G.VMInfoCard("Open Ports (" + H.S(J.get$length$asx(t1)) + ")", _null, new T.Flexible(1, C.FlexFit_1, L.Split$(C.Axis_0, H._setArrayType([S.FlatTable$(_null, false, H._setArrayType([_this.name, t2], type$.JSArray_legacy_ColumnData_legacy_InstanceRef), new P.UnmodifiableListView(t1, type$.UnmodifiableListView_legacy_InstanceRef), _null, new O._IsolatePortsWidgetState_build_closure(), new O._IsolatePortsWidgetState_build_closure0(_this), _null, _null, _null, t3, t2, C.SortDirection_0, type$.legacy_InstanceRef), new O.StackTraceViewerWidget(t3._value, new O._StackTraceViewerFrameColumn("Frame", _null, _null, _null, C.ColumnAlignment_0), _null)], t4), C.List_ckG, _null, _null), _null), _null), _null)], t4), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  O._IsolatePortsWidgetState_build_closure.prototype = {
    call$1: function(port) {
      return new D.ValueKey(port.get$debugName(), type$.ValueKey_legacy_String);
    },
    $signature: 673
  };
  O._IsolatePortsWidgetState_build_closure0.prototype = {
    call$1: function(port) {
      var t1 = this.$this;
      return t1.setState$1(new O._IsolatePortsWidgetState_build__closure(t1, port));
    },
    $signature: 674
  };
  O._IsolatePortsWidgetState_build__closure.prototype = {
    call$0: function() {
      var t1 = this.port,
        t2 = this.$this.selectedPort;
      if (J.$eq$(t1, t2._value))
        t2.set$value(0, null);
      else
        t2.set$value(0, t1);
    },
    $signature: 1
  };
  O._ServiceExtensionNameColumn.prototype = {
    getValue$1: function(s) {
      return s;
    }
  };
  O.ServiceExtensionsWidget.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = this.controller._isolate_statistics_view_controller$_isolate,
        extensions = t1 == null ? _null : t1.extensionRPCs;
      if (extensions == null)
        extensions = H._setArrayType([], type$.JSArray_legacy_String);
      t1 = this.name;
      return new G.VMInfoCard("Service Extensions (" + extensions.length + ")", _null, new T.Flexible(1, C.FlexFit_1, S.FlatTable$(_null, false, H._setArrayType([t1], type$.JSArray_legacy_ColumnData_legacy_String), extensions, _null, new O.ServiceExtensionsWidget_build_closure(), new O.ServiceExtensionsWidget_build_closure0(), _null, _null, _null, _null, t1, C.SortDirection_0, type$.legacy_String), _null), _null);
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  O.ServiceExtensionsWidget_build_closure.prototype = {
    call$1: function(extension) {
      return new D.ValueKey(extension, type$.ValueKey_legacy_String);
    },
    $signature: 284
  };
  O.ServiceExtensionsWidget_build_closure0.prototype = {
    call$1: function(_) {
      return null;
    },
    $signature: 35
  };
  N.IsolateStatisticsViewController.prototype = {
    IsolateStatisticsViewController$0: function() {
      $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._vmFlagManager.flag$1("profiler").addListener$1(0, new N.IsolateStatisticsViewController_closure(this));
      var t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolateController;
      new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new N.IsolateStatisticsViewController_closure0(this));
      this.switchToIsolate$1($.globals.$index(0, C.Type_ServiceConnectionManager_qdG)._isolateManager._selectedIsolate);
    },
    refresh$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this;
      var $async$refresh$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.switchToIsolate$1($async$self._isolate_statistics_view_controller$_isolate), $async$refresh$0);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$refresh$0, $async$completer);
    },
    switchToIsolate$1: function(isolateRef) {
      return this.switchToIsolate$body$IsolateStatisticsViewController(isolateRef);
    },
    switchToIsolate$body$IsolateStatisticsViewController: function(isolateRef) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, t4, t5, t1;
      var $async$switchToIsolate$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._isolate_statistics_view_controller$_refreshing;
              t1.set$value(0, true);
              t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              t3 = isolateRef.get$id(isolateRef);
              t4 = t2._vmService;
              t4.toString;
              t5 = type$.dynamic;
              $async$goto = 2;
              return P._asyncAwait(t2.trackFuture$1$2("getIsolate", t4._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t3], t5, t5), type$.Isolate), type$.legacy_Isolate), $async$switchToIsolate$1);
            case 2:
              // returning from await.
              t5 = $async$result;
              $async$self._isolate_statistics_view_controller$_isolate = t5;
              $async$self._updateTagCounters$1(t5);
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service.getPorts$1($async$self._isolate_statistics_view_controller$_isolate.id), $async$switchToIsolate$1);
            case 3:
              // returning from await.
              $async$self._ports = $async$result.ports;
              t5 = $async$self._isolate_statistics_view_controller$_isolate.extensionRPCs;
              t2 = t5 == null ? H._setArrayType([], type$.JSArray_legacy_String) : t5;
              $async$self._isolate_statistics_view_controller$_serviceExtensions = t2;
              C.JSArray_methods.sort$0(t2);
              t1.set$value(0, false);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$switchToIsolate$1, $async$completer);
    },
    _updateTagCounters$1: function(isolate) {
      var t1, t2, names, counters, percentages, totalTickCount, i, t3, t4,
        _s12_ = "_tagCounters";
      if (J.$index$asx(isolate.json, _s12_) != null) {
        t1 = J.$index$asx(isolate.json, _s12_);
        t2 = J.getInterceptor$asx(t1);
        names = t2.$index(t1, "names");
        counters = J.cast$1$0$ax(t2.$index(t1, "counters"), type$.legacy_int);
        percentages = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_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;
          t3 = t2.$index(names, i);
          t4 = t1.$index(counters, i);
          t4.toString;
          percentages.$indexSet(0, t3, t4);
          totalTickCount += t1.$index(counters, i);
        }
        t1 = H._setArrayType([], type$.JSArray_legacy_VMTag);
        for (t2 = percentages.get$keys(percentages), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
          t3 = t2.get$current(t2);
          t1.push(new N.VMTag(t3, percentages.$index(0, t3) / totalTickCount));
        }
        this._tags = t1;
      }
    }
  };
  N.IsolateStatisticsViewController_closure.prototype = {
    call$0: function() {
      return this.$this.refresh$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 3
  };
  N.IsolateStatisticsViewController_closure0.prototype = {
    call$1: function(isolate) {
      this.$this.switchToIsolate$1(isolate);
    },
    $signature: 65
  };
  N.VMTag.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  N._IsolateStatisticsViewController_DisposableController_CpuProfilerControllerProviderMixin.prototype = {};
  G.VMInfoCard.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return V.Card$(new G.VMInfoList(this.title, this.rowKeyValues, this.table, _null), _null, _null, _null, _null);
    }
  };
  G.VMInfoList.prototype = {
    build$1: function(_, context) {
      var t4, t5, _i, row, t6, t7, t8, _this = this, _null = null,
        _s10_ = "RobotoMono",
        theme = K.Theme_of(context),
        t1 = type$.JSArray_legacy_Widget,
        t2 = H._setArrayType([U.AreaPaneHeader$(C.List_empty11, 1, true, false, false, 4, false, L.Text$(_this.title, _null, _null, _null, _null, _null, _null, _null, _null, _null))], t1),
        t3 = _this.rowKeyValues;
      if (t3 != null) {
        t4 = H._setArrayType([], type$.JSArray_legacy_Row);
        for (t5 = t3.length, _i = 0; _i < t3.length; t3.length === t5 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
          row = t3[_i];
          t6 = H.S(J.toString$0$(row.key)) + ":";
          t7 = theme.textTheme.bodyText2;
          t6 = O.SelectableText$(t6, _null, _null, t7.copyWith$1$fontFamily(_s10_), _null);
          t8 = row.value;
          t8 = t8 == null ? _null : J.toString$0$(t8);
          if (t8 == null)
            t8 = "--";
          t4.push(T.Row$(H._setArrayType([t6, C.SizedBox_8_null_null_null, new T.Flexible(1, C.FlexFit_1, O.SelectableText$(t8, _null, _null, t7.copyWith$1$fontFamily(_s10_), _null), _null)], t1), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_1, _null));
        }
        C.JSArray_methods.addAll$1(t2, _this._prettyRows$2(context, t4));
      }
      t1 = _this.table;
      if (t1 != null)
        t2.push(t1);
      return T.Column$(t2, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    _prettyRows$2: function(context, rows) {
      var i, t2, t3, _null = null,
        t1 = H._setArrayType([], type$.JSArray_legacy_Widget);
      for (i = 0; i < rows.length; ++i) {
        t2 = rows[i];
        t3 = K.Theme_of(context).colorScheme;
        if (C.JSInt_methods.$mod(i, 2) === 1)
          t3 = t3.brightness === C.Brightness_1 ? C.Map_HFpTk.$index(0, 50) : C.Map_HFpTk.$index(0, 850);
        else if (t3.brightness === C.Brightness_1) {
          t3 = C.Map_HFpTk.$index(0, 50);
          t3 = U.ColorExtension_darken(t3, 0.05);
        } else {
          t3 = C.Map_HFpTk.$index(0, 850);
          t3 = U.ColorExtension_brighten(t3);
        }
        t1.push(M.Container$(_null, t2, C.Clip_0, t3, _null, _null, _null, 32, _null, _null, C.EdgeInsets_16_0_16_0, _null, _null, _null));
      }
      return t1;
    }
  };
  G.VMDeveloperToolsController.prototype = {
    selectIndex$1: function(index) {
      this._vm_developer_tools_controller$_selectedIndex.set$value(0, index);
      this._showIsolateSelector.set$value(0, C.List_5SC[index].get$showIsolateSelector());
    }
  };
  E.VMDeveloperView.prototype = {
    get$showIsolateSelector: function() {
      return false;
    }
  };
  E.VMDeveloperToolsScreen.prototype = {
    get$showIsolateSelector: function() {
      return this.controller._showIsolateSelector;
    },
    build$1: function(_, context) {
      return C.VMDeveloperToolsScreenBody_null;
    }
  };
  E.VMDeveloperToolsScreenBody.prototype = {
    createState$0: function() {
      return new E._VMDeveloperToolsScreenState(K.Disposer$(), C._StateLifecycle_0);
    }
  };
  E._VMDeveloperToolsScreenState.prototype = {
    didChangeDependencies$0: function() {
      var t1, newController, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newController = Y.Provider_of(t1, true, type$.legacy_VMDeveloperToolsController);
      if (newController == _this.controller)
        return;
      _this.controller = newController;
    },
    build$1: function(_, context) {
      return N.ValueListenableBuilder$(new E._VMDeveloperToolsScreenState_build_closure(this), this.controller._vm_developer_tools_controller$_selectedIndex, type$.legacy_int);
    }
  };
  E._VMDeveloperToolsScreenState_build_closure.prototype = {
    call$3: function(context, selectedIndex, _) {
      var _i, view, t4, _null = null,
        t1 = H._setArrayType([], type$.JSArray_legacy_Widget),
        t2 = this.$this.controller.get$selectIndex(),
        t3 = H._setArrayType([], type$.JSArray_legacy_NavigationRailDestination);
      for (_i = 0; _i < 2; ++_i) {
        view = C.List_5SC[_i];
        t4 = new L.Icon(view.icon, _null, _null, _null);
        t3.push(new E.NavigationRailDestination(t4, t4, new L.Text(view.title, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)));
      }
      t1.push(new E.NavigationRail(t3, selectedIndex, t2, 10, C.NavigationRailLabelType_2, _null));
      t1.push(T.Expanded$(new T.Padding(C.EdgeInsets_16_0_0_0, C.List_5SC[selectedIndex].build$1(0, context), _null), 1));
      return T.Row$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    },
    $signature: 675
  };
  E.__VMDeveloperToolsScreenState_State_AutoDisposeMixin.prototype = {
    dispose$0: function(_) {
      this.AutoDisposeMixin__delegate.cancel$0(0);
      this.super$State$dispose(0);
    }
  };
  Q.VMStatisticsView.prototype = {
    build$1: function(_, context) {
      var t1 = type$.JSArray_legacy_Isolate;
      t1 = new F.VMStatisticsViewController(new B.ValueNotifier(true, P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ValueNotifier_legacy_bool), H._setArrayType([], t1), H._setArrayType([], t1));
      t1.refresh$0(0);
      return new Q.VMStatisticsViewBody(t1, null);
    }
  };
  Q.VMStatisticsViewBody.prototype = {
    build$1: function(_, context) {
      return N.ValueListenableBuilder$(new Q.VMStatisticsViewBody_build_closure(this), this.controller._vm_statistics_view_controller$_refreshing, type$.legacy_bool);
    }
  };
  Q.VMStatisticsViewBody_build_closure.prototype = {
    call$3: function(context, refreshing, _) {
      var _null = null,
        t1 = this.$this.controller,
        t2 = type$.JSArray_legacy_Widget;
      return T.Column$(H._setArrayType([T.Row$(H._setArrayType([U.RefreshButton$(_null, "Refresh", t1.get$refresh(t1))], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), T.Expanded$(new Q.VMStatisticsWidget(t1, _null), 1)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1);
    },
    $signature: 210
  };
  Q.VMStatisticsWidget.prototype = {
    build$1: function(_, context) {
      var _null = null,
        t1 = this.controller,
        t2 = type$.JSArray_legacy_Widget;
      return T.Row$(H._setArrayType([new T.Flexible(3, C.FlexFit_1, T.Column$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, new Q.GeneralVMStatisticsWidget(t1, _null), _null), new T.Flexible(1, C.FlexFit_1, new Q.ProcessStatisticsWidget(t1, _null), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null), new T.Flexible(4, C.FlexFit_1, T.Column$(H._setArrayType([new T.Flexible(1, C.FlexFit_1, Q.IsolatesPreviewWidget$(t1, false), _null), new T.Flexible(1, C.FlexFit_1, Q.IsolatesPreviewWidget$(t1, true), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null)], t2), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null);
    }
  };
  Q.GeneralVMStatisticsWidget.prototype = {
    build$1: function(_, context) {
      var 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,
        t5 = t1 ? _null : J.$index$asx(vm.json, "_embedder");
      if (t1)
        t6 = _null;
      else {
        t6 = P.DateTime$fromMillisecondsSinceEpoch(vm.startTime, false);
        t6 = A.DateFormat$("h:mm:ss.S a", _null).format$1(t6);
      }
      t7 = t1 ? _null : J.$index$asx(vm.json, "_profilerMode");
      return new G.VMInfoCard("VM", H._setArrayType([new P.MapEntry("Name", t2, t3), new P.MapEntry("Version", t4, t3), new P.MapEntry("Embedder", t5, t3), new P.MapEntry("Started", t6, t3), new P.MapEntry("Profiler Mode", t7, t3), new P.MapEntry("Current Memory", B.prettyPrintBytes(t1 ? _null : J.$index$asx(vm.json, "_currentMemory"), true, 0, 1, 1), t3)], type$.JSArray_legacy_MapEntry_dynamic_dynamic), _null, _null);
    }
  };
  Q.ProcessStatisticsWidget.prototype = {
    build$1: function(_, context) {
      var _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 : H.S(vm.hostCPU) + " (" + H.S(vm.architectureBits) + "-bits)",
        t5 = t1 ? _null : vm.targetCPU,
        t6 = t1 ? _null : vm.operatingSystem,
        t7 = B.prettyPrintBytes(t1 ? _null : J.$index$asx(vm.json, "_maxRSS"), true, 0, 1, 1),
        t8 = B.prettyPrintBytes(t1 ? _null : J.$index$asx(vm.json, "_currentRSS"), true, 0, 1, 1);
      return new G.VMInfoCard("Process", H._setArrayType([new P.MapEntry("PID", t2, t3), new P.MapEntry("Host CPU", t4, t3), new P.MapEntry("Target CPU", t5, t3), new P.MapEntry("Operating System", t6, t3), new P.MapEntry("Max Memory (RSS)", t7, t3), new P.MapEntry("Current Memory (RSS)", t8, t3), new P.MapEntry("Zone Memory", B.prettyPrintBytes(t1 ? _null : J.$index$asx(vm.json, "_nativeZoneMemoryUsage"), true, 0, 1, 1), t3)], type$.JSArray_legacy_MapEntry_dynamic_dynamic), _null, _null);
    }
  };
  Q._IsolateNameColumn.prototype = {
    getValue$1: function(i) {
      return i.name;
    }
  };
  Q._IsolateIDColumn.prototype = {
    getValue$1: function(i) {
      return i.number;
    }
  };
  Q._IsolateMemoryColumn.prototype = {
    getValue$1: function(i) {
      return H.S(B.prettyPrintBytes(this.getUsage$1(i), true, 0, 1, 1)) + " of " + H.S(B.prettyPrintBytes(this.getCapacity$1(i), true, 0, 1, 1));
    }
  };
  Q._IsolateNewSpaceColumn.prototype = {
    getCapacity$1: function(i) {
      return F.IsolatePrivateViewExtension_get_newSpaceCapacity(i);
    },
    getUsage$1: function(i) {
      return F.IsolatePrivateViewExtension_get_newSpaceUsage(i);
    }
  };
  Q._IsolateOldSpaceColumn.prototype = {
    getCapacity$1: function(i) {
      return F.IsolatePrivateViewExtension_get_oldSpaceCapacity(i);
    },
    getUsage$1: function(i) {
      return F.IsolatePrivateViewExtension_get_oldSpaceUsage(i);
    }
  };
  Q._IsolateHeapColumn.prototype = {
    getCapacity$1: function(i) {
      return F.IsolatePrivateViewExtension_get_newSpaceCapacity(i) + F.IsolatePrivateViewExtension_get_oldSpaceCapacity(i);
    },
    getUsage$1: function(i) {
      return F.IsolatePrivateViewExtension_get_newSpaceUsage(i) + F.IsolatePrivateViewExtension_get_oldSpaceUsage(i);
    }
  };
  Q.IsolatesPreviewWidget.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.systemIsolates,
        title = t1 ? "System Isolates" : "Isolates",
        t2 = _this.controller,
        t3 = type$.UnmodifiableListView_legacy_Isolate,
        isolates = t1 ? new P.UnmodifiableListView(t2._systemIsolates, t3) : new P.UnmodifiableListView(t2._vm_statistics_view_controller$_isolates, t3);
      t1 = title + " (";
      t2 = J.get$length$asx(isolates._collection$_source);
      t3 = _this.name;
      return new G.VMInfoCard(t1 + (t2 == null ? 0 : t2) + ")", _null, new T.Flexible(1, C.FlexFit_1, S.FlatTable$(_null, false, H._setArrayType([t3, _this.number, _this.newSpace, _this.oldSpace, _this.heap], type$.JSArray_legacy_ColumnData_legacy_Isolate), isolates, _null, new Q.IsolatesPreviewWidget_build_closure(), new Q.IsolatesPreviewWidget_build_closure0(), _null, _null, _null, _null, t3, C.SortDirection_1, type$.legacy_Isolate), _null), _null);
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.IsolatesPreviewWidget_build_closure.prototype = {
    call$1: function(i) {
      return new D.ValueKey(i.id, type$.ValueKey_legacy_String);
    },
    $signature: 676
  };
  Q.IsolatesPreviewWidget_build_closure0.prototype = {
    call$1: function(_) {
      return null;
    },
    $signature: 677
  };
  F.VMStatisticsViewController.prototype = {
    refresh$0: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, t1;
      var $async$refresh$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._vm_statistics_view_controller$_refreshing;
              t1.set$value(0, true);
              t2 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service;
              $async$goto = 2;
              return P._asyncAwait(t2.trackFuture$1$2("getVM", t2._vmService._call$1$1(0, "getVM", type$.VM), type$.legacy_VM), $async$refresh$0);
            case 2:
              // returning from await.
              t2 = $async$result;
              $async$self._vm_statistics_view_controller$_vm = t2;
              t2 = t2.isolates;
              t2.toString;
              t3 = type$.legacy_Isolate;
              $async$goto = 3;
              return P._asyncAwait(P.Future_wait(new H.MappedListIterable(t2, new F.VMStatisticsViewController_refresh_closure($async$self), H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Future<Isolate*>*>")), t3), $async$refresh$0);
            case 3:
              // returning from await.
              $async$self._vm_statistics_view_controller$_isolates = $async$result;
              t2 = $async$self._vm_statistics_view_controller$_vm.systemIsolates;
              t2.toString;
              $async$goto = 4;
              return P._asyncAwait(P.Future_wait(new H.MappedListIterable(t2, new F.VMStatisticsViewController_refresh_closure0($async$self), H._arrayInstanceType(t2)._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 P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$refresh$0, $async$completer);
    }
  };
  F.VMStatisticsViewController_refresh_closure.prototype = {
    call$1: function(i) {
      var t4,
        _s10_ = "getIsolate",
        t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service,
        t2 = i.get$id(i),
        t3 = t1._vmService;
      t3.toString;
      t4 = type$.dynamic;
      return t1.trackFuture$1$2(_s10_, t3._call$1$2(0, _s10_, P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), type$.Isolate), type$.legacy_Isolate);
    },
    $signature: 283
  };
  F.VMStatisticsViewController_refresh_closure0.prototype = {
    call$1: function(i) {
      var t4,
        _s10_ = "getIsolate",
        t1 = $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).service,
        t2 = i.get$id(i),
        t3 = t1._vmService;
      t3.toString;
      t4 = type$.dynamic;
      return t1.trackFuture$1$2(_s10_, t3._call$1$2(0, _s10_, P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), type$.Isolate), type$.legacy_Isolate);
    },
    $signature: 283
  };
  U.VmServiceWrapper.prototype = {
    initServiceVersions$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, e, exception, t1, $async$exception;
      var $async$initServiceVersions$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.trackFuture$1$2("getVersion", $async$self._vmService._call$1$1(0, "getVersion", type$.Version), type$.legacy_Version), $async$initServiceVersions$0);
            case 2:
              // returning from await.
              $async$self._protocolVersion = $async$result;
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait(Z.DdsExtension_getDartDevelopmentServiceVersion($async$self), $async$initServiceVersions$0);
            case 7:
              // returning from await.
              $async$self._ddsVersion = $async$result;
              $async$handler = 1;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = H.unwrapException($async$exception);
              if (t1 instanceof Q.RPCError) {
                e = t1;
                if (e.code !== -32601)
                  throw $async$exception;
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 6:
              // after finally
              // implicit return
              return P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$initServiceVersions$0, $async$completer);
    },
    forEachIsolate$1: function(callback) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, _i, vm, futures;
      var $async$forEachIsolate$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self._vmService._call$1$1(0, "getVM", type$.VM), $async$forEachIsolate$1);
            case 2:
              // returning from await.
              vm = $async$result;
              futures = H._setArrayType([], type$.JSArray_legacy_Future_dynamic);
              for (t1 = vm.isolates, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
                futures.push(callback.call$1(t1[_i]));
              $async$goto = 3;
              return P._asyncAwait(P.Future_wait(futures, type$.dynamic), $async$forEachIsolate$1);
            case 3:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$forEachIsolate$1, $async$completer);
    },
    addBreakpoint$4$column: function(isolateId, scriptId, line, column) {
      var t2,
        _s13_ = "addBreakpoint",
        t1 = this._vmService;
      t1.toString;
      t2 = type$.dynamic;
      t2 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2.$indexSet(0, "isolateId", isolateId);
      t2.$indexSet(0, "scriptId", scriptId);
      t2.$indexSet(0, "line", line);
      return this.trackFuture$1$2(_s13_, t1._call$1$2(0, _s13_, t2, type$.Breakpoint), type$.legacy_Breakpoint);
    },
    addBreakpoint$3: function(isolateId, scriptId, line) {
      return this.addBreakpoint$4$column(isolateId, scriptId, line, null);
    },
    callMethod$3$args$isolateId: function(method, args, isolateId) {
      return this.trackFuture$1$2("callMethod " + H.S(method), this._vmService.callServiceExtension$3$args$isolateId(method, args, isolateId), type$.legacy_Response);
    },
    callMethod$1: function(method) {
      return this.callMethod$3$args$isolateId(method, null, null);
    },
    callMethod$2$args: function(method, args) {
      return this.callMethod$3$args$isolateId(method, args, null);
    },
    callMethod$2$isolateId: function(method, isolateId) {
      return this.callMethod$3$args$isolateId(method, null, isolateId);
    },
    callServiceExtension$3$args$isolateId: function(method, args, isolateId) {
      return this.trackFuture$1$2("callServiceExtension " + H.S(method), this._vmService.callServiceExtension$3$args$isolateId(method, args, isolateId), type$.legacy_Response);
    },
    callServiceExtension$2$isolateId: function(method, isolateId) {
      return this.callServiceExtension$3$args$isolateId(method, null, isolateId);
    },
    clearCpuSamples$1: function(isolateId) {
      return this.clearCpuSamples$body$VmServiceWrapper(isolateId);
    },
    clearCpuSamples$body$VmServiceWrapper: function(isolateId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Success),
        $async$returnValue, $async$self = this, t2, t3, t1, $async$temp1;
      var $async$clearCpuSamples$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_Success;
              $async$goto = 6;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 27, 0, null, null)), $async$clearCpuSamples$1);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              t2 = $async$self._vmService;
              t2.toString;
              t3 = type$.dynamic;
              $async$returnValue = $async$self.trackFuture$1$2("clearCpuSamples", t2._call$1$2(0, "clearCpuSamples", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t3, t3), type$.Success), t1);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$temp1 = t1;
              $async$goto = 7;
              return P._asyncAwait($async$self.trackFuture$1$2("clearCpuSamples", $async$self.callMethod$2$isolateId("_clearCpuProfile", isolateId), type$.legacy_Response), $async$clearCpuSamples$1);
            case 7:
              // returning from await.
              $async$returnValue = $async$temp1._as($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$clearCpuSamples$1, $async$completer);
    },
    clearVMTimeline$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Success),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$clearVMTimeline$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.legacy_Success;
              $async$goto = 6;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 19, 0, null, null)), $async$clearVMTimeline$0);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              $async$returnValue = $async$self.trackFuture$1$2("clearVMTimeline", $async$self._vmService._call$1$1(0, "clearVMTimeline", type$.Success), t1);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$temp1 = t1;
              $async$goto = 7;
              return P._asyncAwait($async$self.trackFuture$1$2("clearVMTimeline", $async$self.callMethod$1("_clearVMTimeline"), type$.legacy_Response), $async$clearVMTimeline$0);
            case 7:
              // returning from await.
              $async$returnValue = $async$temp1._as($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$clearVMTimeline$0, $async$completer);
    },
    evaluate$5$disableBreakpoints$scope: function(_, isolateId, targetId, expression, disableBreakpoints, scope) {
      var t3,
        t1 = "evaluate " + expression,
        t2 = this._vmService;
      t2.toString;
      t3 = type$.dynamic;
      t3 = P.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
      t3.$indexSet(0, "isolateId", isolateId);
      t3.$indexSet(0, "targetId", targetId);
      t3.$indexSet(0, "expression", expression);
      if (scope != null)
        t3.$indexSet(0, "scope", scope);
      t3.$indexSet(0, "disableBreakpoints", true);
      return this.trackFuture$1$2(t1, t2._call$1$2(0, "evaluate", t3, type$.Response), type$.legacy_Response);
    },
    getAllocationProfile$3$gc$reset: function(isolateId, gc, reset) {
      return this.getAllocationProfile$body$VmServiceWrapper(isolateId, gc, reset);
    },
    getAllocationProfile$2$reset: function(isolateId, reset) {
      return this.getAllocationProfile$3$gc$reset(isolateId, null, reset);
    },
    getAllocationProfile$2$gc: function(isolateId, gc) {
      return this.getAllocationProfile$3$gc$reset(isolateId, gc, null);
    },
    getAllocationProfile$body$VmServiceWrapper: function(isolateId, gc, reset) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_AllocationProfile),
        $async$returnValue, $async$self = this, t2, args, t1;
      var $async$getAllocationProfile$3$gc$reset = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.dynamic;
              $async$goto = 6;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 18, 0, null, null)), $async$getAllocationProfile$3$gc$reset);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              t2 = $async$self._vmService;
              t2.toString;
              t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
              t1.$indexSet(0, "isolateId", isolateId);
              if (reset === true)
                t1.$indexSet(0, "reset", reset);
              if (gc === true)
                t1.$indexSet(0, "gc", gc);
              $async$returnValue = $async$self.trackFuture$1$2("getAllocationProfile", t2._call$1$2(0, "getAllocationProfile", t1, type$.AllocationProfile), type$.legacy_AllocationProfile);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              args = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, t1);
              if (gc === true)
                args.$indexSet(0, "gc", "full");
              if (reset === true)
                args.$indexSet(0, "reset", reset);
              $async$goto = 7;
              return P._asyncAwait($async$self.trackFuture$1$2("getAllocationProfile", $async$self.callMethod$3$args$isolateId("_getAllocationProfile", args, isolateId), type$.legacy_Response), $async$getAllocationProfile$3$gc$reset);
            case 7:
              // returning from await.
              t1 = $async$result.json;
              $async$returnValue = t1 == null ? null : Q.AllocationProfile$_fromJson(t1);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getAllocationProfile$3$gc$reset, $async$completer);
    },
    getCpuSamples$3: function(isolateId, timeOriginMicros, timeExtentMicros) {
      return this.getCpuSamples$body$VmServiceWrapper(isolateId, timeOriginMicros, timeExtentMicros);
    },
    getCpuSamples$body$VmServiceWrapper: function(isolateId, timeOriginMicros, timeExtentMicros) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_CpuSamples),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$getCpuSamples$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._vmService;
              t1.toString;
              t2 = type$.dynamic;
              $async$returnValue = $async$self.trackFuture$1$2("getCpuSamples", t1._call$1$2(0, "getCpuSamples", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId, "timeOriginMicros", timeOriginMicros, "timeExtentMicros", timeExtentMicros], t2, t2), type$.CpuSamples), type$.legacy_CpuSamples);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getCpuSamples$3, $async$completer);
    },
    getCpuProfileTimeline$3: function(isolateId, origin, extent) {
      return this.getCpuProfileTimeline$body$VmServiceWrapper(isolateId, origin, extent);
    },
    getCpuProfileTimeline$body$VmServiceWrapper: function(isolateId, origin, extent) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_CpuProfileData),
        $async$returnValue, $async$self = this, cpuSamples, traceObject, t3, t4, _i, sample, t5, t6, t7, t8, t9, t10, t11, _box_0, t1, t2;
      var $async$getCpuProfileTimeline$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              t1 = type$.dynamic;
              t2 = type$.legacy_String;
              $async$goto = 6;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 27, 0, null, null)), $async$getCpuProfileTimeline$3);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 7;
              return P._asyncAwait($async$self.getCpuSamples$3(isolateId, origin, extent), $async$getCpuProfileTimeline$3);
            case 7:
              // returning from await.
              cpuSamples = $async$result;
              _box_0.nextId = 0;
              traceObject = P.LinkedHashMap_LinkedHashMap$_literal(["sampleCount", cpuSamples.sampleCount, "samplePeriod", cpuSamples.samplePeriod, "stackDepth", cpuSamples.maxStackDepth, "timeOriginMicros", cpuSamples.timeOriginMicros, "timeExtentMicros", cpuSamples.timeExtentMicros, "stackFrames", P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), "traceEvents", []], t2, t1);
              new U.VmServiceWrapper_getCpuProfileTimeline_processStackFrame(_box_0, isolateId, traceObject).call$2$current$parent(U._CpuProfileTimelineTree__CpuProfileTimelineTree$fromCpuSamples(cpuSamples), null);
              for (t1 = cpuSamples.samples, t3 = t1.length, t4 = type$.legacy_Object, _i = 0; _i < t1.length; t1.length === t3 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
                sample = t1[_i];
                t5 = $.$get$_CpuProfileTimelineTree__timelineTreeExpando();
                t5.toString;
                if (sample != null)
                  t6 = false;
                else
                  t6 = true;
                if (t6)
                  H.throwExpression(P.ArgumentError$value(sample, string$.Expand, null));
                t5 = t5._jsWeakMap.get(sample);
                if (t5.frameId === 0)
                  continue;
                t6 = traceObject.$index(0, "traceEvents");
                t7 = cpuSamples.pid;
                t8 = sample.tid;
                t9 = sample.timestamp;
                t5 = H.S(isolateId) + "-" + t5.frameId;
                t10 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
                t11 = sample.userTag;
                if (t11 != null)
                  t10.$indexSet(0, "userTag", t11);
                t11 = sample.vmTag;
                if (t11 != null)
                  t10.$indexSet(0, "vmTag", t11);
                J.add$1$ax(t6, P.LinkedHashMap_LinkedHashMap$_literal(["ph", "P", "name", "", "pid", t7, "tid", t8, "ts", t9, "cat", "Dart", "sf", t5, "args", t10], t2, t4));
              }
              $async$returnValue = E.CpuProfileData_CpuProfileData$parse(traceObject);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$returnValue = $async$self.trackFuture$1$2("getCpuProfileTimeline", $async$self.callMethod$3$args$isolateId("_getCpuProfileTimeline", P.LinkedHashMap_LinkedHashMap$_literal(["tags", "None", "timeOriginMicros", origin, "timeExtentMicros", extent], t2, t1), isolateId), type$.legacy_Response).then$1$1(0, new U.VmServiceWrapper_getCpuProfileTimeline_closure(), type$.legacy_CpuProfileData);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getCpuProfileTimeline$3, $async$completer);
    },
    getSourceReport$6$endTokenPos$forceCompile$scriptId$tokenPos: function(isolateId, reports, endTokenPos, forceCompile, scriptId, tokenPos) {
      return this.getSourceReport$body$VmServiceWrapper(isolateId, reports, endTokenPos, true, scriptId, tokenPos);
    },
    getSourceReport$4$forceCompile$scriptId: function(isolateId, reports, forceCompile, scriptId) {
      return this.getSourceReport$6$endTokenPos$forceCompile$scriptId$tokenPos(isolateId, reports, null, forceCompile, scriptId, null);
    },
    getSourceReport$body$VmServiceWrapper: function(isolateId, reports, endTokenPos, forceCompile, scriptId, tokenPos) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_SourceReport),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$getSourceReport$6$endTokenPos$forceCompile$scriptId$tokenPos = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($.globals.$index(0, C.Type_ServiceConnectionManager_qdG).connectedApp.get$isProfileBuild(), $async$getSourceReport$6$endTokenPos$forceCompile$scriptId$tokenPos);
            case 3:
              // returning from await.
              if ($async$result)
                throw H.wrapException(Q.RPCError$("getSourceReport", 100, "disabled in AOT mode and PRODUCT.", null));
              t1 = $async$self._vmService;
              t1.toString;
              t2 = type$.dynamic;
              t2 = P.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);
              $async$returnValue = $async$self.trackFuture$1$2("getSourceReport", t1._call$1$2(0, "getSourceReport", t2, type$.SourceReport), type$.legacy_SourceReport);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getSourceReport$6$endTokenPos$forceCompile$scriptId$tokenPos, $async$completer);
    },
    getStack$2$limit: function(isolateId, limit) {
      return this.getStack$body$VmServiceWrapper(isolateId, limit);
    },
    getStack$body$VmServiceWrapper: function(isolateId, limit) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Stack),
        $async$returnValue, $async$self = this, t1, t2, t3;
      var $async$getStack$2$limit = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 42, 0, null, null)), $async$getStack$2$limit);
            case 3:
              // returning from await.
              t1 = $async$result;
              t2 = type$.legacy_Stack;
              t3 = $async$self._vmService;
              if (t1) {
                $async$returnValue = $async$self.trackFuture$1$2("getStack", t3.getStack$2$limit(isolateId, limit), t2);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = $async$self.trackFuture$1$2("getStack", t3.getStack$1(isolateId), t2);
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getStack$2$limit, $async$completer);
    },
    getVMTimeline$2$timeExtentMicros$timeOriginMicros: function(timeExtentMicros, timeOriginMicros) {
      return this.getVMTimeline$body$VmServiceWrapper(timeExtentMicros, timeOriginMicros);
    },
    getVMTimeline$0: function() {
      return this.getVMTimeline$2$timeExtentMicros$timeOriginMicros(null, null);
    },
    getVMTimeline$body$VmServiceWrapper: function(timeExtentMicros, timeOriginMicros) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Timeline),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$getVMTimeline$2$timeExtentMicros$timeOriginMicros = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 6;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 19, 0, null, null)), $async$getVMTimeline$2$timeExtentMicros$timeOriginMicros);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              t1 = $async$self._vmService;
              t1.toString;
              t2 = type$.dynamic;
              t2 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
              if (timeOriginMicros != null)
                t2.$indexSet(0, "timeOriginMicros", timeOriginMicros);
              if (timeExtentMicros != null)
                t2.$indexSet(0, "timeExtentMicros", timeExtentMicros);
              $async$returnValue = $async$self.trackFuture$1$2("getVMTimeline", t1._call$1$2(0, "getVMTimeline", t2, type$.Timeline), type$.legacy_Timeline);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = 7;
              return P._asyncAwait($async$self.trackFuture$1$2("getVMTimeline", $async$self.callMethod$1("_getVMTimeline"), type$.legacy_Response), $async$getVMTimeline$2$timeExtentMicros$timeOriginMicros);
            case 7:
              // returning from await.
              t1 = $async$result.json;
              $async$returnValue = t1 == null ? null : Q.Timeline$_fromJson(t1);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getVMTimeline$2$timeExtentMicros$timeOriginMicros, $async$completer);
    },
    isHttpTimelineLoggingAvailable$1: function(isolateId) {
      return this.isHttpTimelineLoggingAvailable$body$VmServiceWrapper(isolateId);
    },
    isHttpTimelineLoggingAvailable$body$VmServiceWrapper: function(isolateId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$self = this, t2, isolate, t1;
      var $async$isHttpTimelineLoggingAvailable$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._vmService;
              t1.toString;
              t2 = type$.dynamic;
              $async$goto = 3;
              return P._asyncAwait($async$self.trackFuture$1$2("getIsolate", t1._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t2, t2), type$.Isolate), type$.legacy_Isolate), $async$isHttpTimelineLoggingAvailable$1);
            case 3:
              // returning from await.
              isolate = $async$result;
              $async$goto = 4;
              return P._asyncAwait($async$self.isDartIoVersionSupported$2$isolateId$supportedVersion(isolateId, new T.SemanticVersion(1, 3, 0, null, null)), $async$isHttpTimelineLoggingAvailable$1);
            case 4:
              // returning from await.
              if ($async$result) {
                t1 = isolate.extensionRPCs;
                $async$returnValue = (t1 && C.JSArray_methods).contains$1(t1, "ext.dart.io.httpEnableTimelineLogging");
                // goto return
                $async$goto = 1;
                break;
              } else {
                t1 = isolate.extensionRPCs;
                $async$returnValue = (t1 && C.JSArray_methods).contains$1(t1, "ext.dart.io.setHttpEnableTimelineLogging");
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$isHttpTimelineLoggingAvailable$1, $async$completer);
    },
    httpEnableTimelineLogging$2: function(isolateId, enabled) {
      return this.httpEnableTimelineLogging$body$VmServiceWrapper(isolateId, enabled);
    },
    httpEnableTimelineLogging$1: function(isolateId) {
      return this.httpEnableTimelineLogging$2(isolateId, null);
    },
    httpEnableTimelineLogging$body$VmServiceWrapper: function(isolateId, enabled) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_HttpTimelineLoggingState),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$httpEnableTimelineLogging$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 6;
              return P._asyncAwait($async$self.isDartIoVersionSupported$2$isolateId$supportedVersion(isolateId, new T.SemanticVersion(1, 3, 0, null, null)), $async$httpEnableTimelineLogging$2);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              $async$returnValue = $async$self.trackFuture$1$2("httpEnableTimelineLogging", Q.DartIOExtension_httpEnableTimelineLogging($async$self._vmService, isolateId, enabled), type$.legacy_HttpTimelineLoggingState);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              t1 = $async$self._vmService;
              $async$goto = enabled == null ? 7 : 9;
              break;
            case 7:
              // then
              $async$returnValue = $async$self.trackFuture$1$2("getHttpEnableTimelineLogging", Q.DartIOExtension__callHelper(t1, "ext.dart.io.getHttpEnableTimelineLogging", isolateId, C.Map_empty8, type$.HttpTimelineLoggingState), type$.legacy_HttpTimelineLoggingState);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 8;
              break;
            case 9:
              // else
              t2 = type$.dynamic;
              $async$goto = 10;
              return P._asyncAwait($async$self.trackFuture$1$2("setHttpEnableTimelineLogging", Q.DartIOExtension__callHelper(t1, "ext.dart.io.setHttpEnableTimelineLogging", isolateId, P.LinkedHashMap_LinkedHashMap$_literal(["enable", enabled], t2, t2), type$.Success), type$.legacy_Success), $async$httpEnableTimelineLogging$2);
            case 10:
              // returning from await.
              $async$returnValue = new Q.HttpTimelineLoggingState(enabled, "State", null);
              // goto return
              $async$goto = 1;
              break;
            case 8:
              // join
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$httpEnableTimelineLogging$2, $async$completer);
    },
    getHttpProfile$2$updatedSince: function(isolateId, updatedSince) {
      return this.getHttpProfile$body$VmServiceWrapper(isolateId, updatedSince);
    },
    getHttpProfile$body$VmServiceWrapper: function(isolateId, updatedSince) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_HttpProfile),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$getHttpProfile$2$updatedSince = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._vmService;
              t2 = type$.dynamic;
              t2 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
              if (updatedSince != null)
                t2.$indexSet(0, "updatedSince", updatedSince);
              $async$returnValue = $async$self.trackFuture$1$2("getHttpProfile", Q.DartIOExtension__callHelper(t1, "ext.dart.io.getHttpProfile", isolateId, t2, type$.HttpProfile), type$.legacy_HttpProfile);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getHttpProfile$2$updatedSince, $async$completer);
    },
    getHttpProfileRequest$2: function(isolateId, id) {
      return this.getHttpProfileRequest$body$VmServiceWrapper(isolateId, id);
    },
    getHttpProfileRequest$body$VmServiceWrapper: function(isolateId, id) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_HttpProfileRequest),
        $async$returnValue, $async$self = this, t1;
      var $async$getHttpProfileRequest$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.dynamic;
              $async$returnValue = $async$self.trackFuture$1$2("getHttpProfileRequest", Q.DartIOExtension__callHelper($async$self._vmService, "ext.dart.io.getHttpProfileRequest", isolateId, P.LinkedHashMap_LinkedHashMap$_literal(["id", id], t1, t1), type$.HttpProfileRequest), type$.legacy_HttpProfileRequest);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getHttpProfileRequest$2, $async$completer);
    },
    isSocketProfilingAvailable$1: function(isolateId) {
      return this.isSocketProfilingAvailable$body$VmServiceWrapper(isolateId);
    },
    isSocketProfilingAvailable$body$VmServiceWrapper: function(isolateId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$isSocketProfilingAvailable$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._vmService;
              t1.toString;
              t2 = type$.dynamic;
              $async$goto = 3;
              return P._asyncAwait($async$self.trackFuture$1$2("getIsolate", t1._call$1$2(0, "getIsolate", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t2, t2), type$.Isolate), type$.legacy_Isolate), $async$isSocketProfilingAvailable$1);
            case 3:
              // returning from await.
              t2 = $async$result.extensionRPCs;
              $async$returnValue = (t2 && C.JSArray_methods).contains$1(t2, "ext.dart.io.getSocketProfile");
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$isSocketProfilingAvailable$1, $async$completer);
    },
    socketProfilingEnabled$2: function(isolateId, enabled) {
      return this.socketProfilingEnabled$body$VmServiceWrapper(isolateId, true);
    },
    socketProfilingEnabled$body$VmServiceWrapper: function(isolateId, enabled) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_SocketProfilingState),
        $async$returnValue, $async$self = this;
      var $async$socketProfilingEnabled$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 6;
              return P._asyncAwait($async$self.isDartIoVersionSupported$2$isolateId$supportedVersion(isolateId, new T.SemanticVersion(1, 5, 0, null, null)), $async$socketProfilingEnabled$2);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              $async$returnValue = $async$self.trackFuture$1$2("socketProfilingEnabled", Q.DartIOExtension_socketProfilingEnabled($async$self._vmService, isolateId, true), type$.legacy_SocketProfilingState);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = 7;
              return P._asyncAwait($async$self.trackFuture$1$2("startSocketProfiling", Q.DartIOExtension__callHelper($async$self._vmService, "ext.dart.io.startSocketProfiling", isolateId, C.Map_empty8, type$.Success), type$.legacy_Success), $async$socketProfilingEnabled$2);
            case 7:
              // returning from await.
              $async$returnValue = new Q.SocketProfilingState(true, "State", null);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$socketProfilingEnabled$2, $async$completer);
    },
    clearSocketProfile$1: function(isolateId) {
      return this.clearSocketProfile$body$VmServiceWrapper(isolateId);
    },
    clearSocketProfile$body$VmServiceWrapper: function(isolateId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Success),
        $async$returnValue, $async$self = this;
      var $async$clearSocketProfile$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = $async$self.trackFuture$1$2("clearSocketProfile", Q.DartIOExtension__callHelper($async$self._vmService, "ext.dart.io.clearSocketProfile", isolateId, C.Map_empty8, type$.Success), type$.legacy_Success);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$clearSocketProfile$1, $async$completer);
    },
    getSocketProfile$1: function(isolateId) {
      return this.getSocketProfile$body$VmServiceWrapper(isolateId);
    },
    getSocketProfile$body$VmServiceWrapper: function(isolateId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_SocketProfile),
        $async$returnValue, $async$self = this;
      var $async$getSocketProfile$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = $async$self.trackFuture$1$2("getSocketProfile", Q.DartIOExtension__callHelper($async$self._vmService, "ext.dart.io.getSocketProfile", isolateId, C.Map_empty8, type$.SocketProfile), type$.legacy_SocketProfile);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getSocketProfile$1, $async$completer);
    },
    getVMTimelineMicros$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Timestamp),
        $async$returnValue, $async$self = this;
      var $async$getVMTimelineMicros$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 21, 0, null, null)), $async$getVMTimelineMicros$0);
            case 3:
              // returning from await.
              if ($async$result) {
                $async$returnValue = $async$self.trackFuture$1$2("getVMTimelineMicros", $async$self._vmService._call$1$1(0, "getVMTimelineMicros", type$.Timestamp), type$.legacy_Timestamp);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getVMTimelineMicros$0, $async$completer);
    },
    invoke$5$disableBreakpoints: function(isolateId, targetId, selector, argumentIds, disableBreakpoints) {
      var t3,
        t1 = "invoke " + selector,
        t2 = this._vmService;
      t2.toString;
      t3 = type$.dynamic;
      t3 = P.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
      t3.$indexSet(0, "isolateId", isolateId);
      t3.$indexSet(0, "targetId", targetId);
      t3.$indexSet(0, "selector", selector);
      t3.$indexSet(0, "argumentIds", argumentIds);
      t3.$indexSet(0, "disableBreakpoints", true);
      return this.trackFuture$1$2(t1, t2._call$1$2(0, "invoke", t3, type$.Response), type$.legacy_Response);
    },
    getHeapSnapshotGraph$1: function(isolateRef) {
      return this.getHeapSnapshotGraph$body$VmServiceWrapper(isolateRef);
    },
    getHeapSnapshotGraph$body$VmServiceWrapper: function(isolateRef) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_HeapSnapshotGraph),
        $async$returnValue, $async$self = this;
      var $async$getHeapSnapshotGraph$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(M.HeapSnapshotGraph_getSnapshot($async$self._vmService, isolateRef), $async$getHeapSnapshotGraph$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getHeapSnapshotGraph$1, $async$completer);
    },
    get$onDebugEvent: function() {
      var t1 = this._vmService._getEventController$1("Debug");
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
    },
    get$onExtensionEvent: function() {
      var t1 = this._vmService._getEventController$1("Extension");
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
    },
    get$onExtensionEventWithHistory: function() {
      var t1,
        _s9_ = "Extension";
      if (this._isDdsVersionSupportedNow$1$supportedVersion(new T.SemanticVersion(1, 2, 0, null, null)))
        return Z.DdsExtension_onEventWithHistory(this._vmService, _s9_);
      t1 = this._vmService._getEventController$1(_s9_);
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
    },
    get$onLoggingEventWithHistory: function() {
      if (this._isDdsVersionSupportedNow$1$supportedVersion(new T.SemanticVersion(1, 2, 0, null, null)))
        return Z.DdsExtension_onEventWithHistory(this._vmService, "Logging");
      var t1 = this._vmService._getEventController$1("Logging");
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
    },
    get$onStderrEventWithHistory: function() {
      if (this._isDdsVersionSupportedNow$1$supportedVersion(new T.SemanticVersion(1, 2, 0, null, null)))
        return Z.DdsExtension_onEventWithHistory(this._vmService, "Stderr");
      var t1 = this._vmService._getEventController$1("Stderr");
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
    },
    get$onStdoutEventWithHistory: function() {
      if (this._isDdsVersionSupportedNow$1$supportedVersion(new T.SemanticVersion(1, 2, 0, null, null)))
        return Z.DdsExtension_onEventWithHistory(this._vmService, "Stdout");
      var t1 = this._vmService._getEventController$1("Stdout");
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
    },
    resume$3$frameIndex$step: function(_, isolateId, frameIndex, step) {
      var t2,
        t1 = this._vmService;
      t1.toString;
      t2 = type$.dynamic;
      t2 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2.$indexSet(0, "isolateId", isolateId);
      if (step != null)
        t2.$indexSet(0, "step", step);
      return this.trackFuture$1$2("resume", t1._call$1$2(0, "resume", t2, type$.Success), type$.legacy_Success);
    },
    resume$2$step: function($receiver, isolateId, step) {
      return this.resume$3$frameIndex$step($receiver, isolateId, null, step);
    },
    resume$1: function($receiver, isolateId) {
      return this.resume$3$frameIndex$step($receiver, isolateId, null, null);
    },
    setVMTimelineFlags$1: function(recordedStreams) {
      return this.setVMTimelineFlags$body$VmServiceWrapper(recordedStreams);
    },
    setVMTimelineFlags$body$VmServiceWrapper: function(recordedStreams) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Success),
        $async$returnValue, $async$self = this, t3, t1, t2, $async$temp1;
      var $async$setVMTimelineFlags$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.dynamic;
              t2 = type$.legacy_Success;
              $async$goto = 6;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 19, 0, null, null)), $async$setVMTimelineFlags$1);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              t3 = $async$self._vmService;
              t3.toString;
              $async$returnValue = $async$self.trackFuture$1$2("setVMTimelineFlags", t3._call$1$2(0, "setVMTimelineFlags", P.LinkedHashMap_LinkedHashMap$_literal(["recordedStreams", recordedStreams], t1, t1), type$.Success), t2);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$temp1 = t2;
              $async$goto = 7;
              return P._asyncAwait($async$self.trackFuture$1$2("setVMTimelineFlags", $async$self.callMethod$2$args("_setVMTimelineFlags", P.LinkedHashMap_LinkedHashMap$_literal(["recordedStreams", recordedStreams], type$.legacy_String, t1)), type$.legacy_Response), $async$setVMTimelineFlags$1);
            case 7:
              // returning from await.
              $async$returnValue = $async$temp1._as($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$setVMTimelineFlags$1, $async$completer);
    },
    streamListen$1: function(streamId) {
      var t2, t3, future,
        _s12_ = "streamListen",
        t1 = this._activeStreams;
      if (!t1.containsKey$1(0, streamId)) {
        t2 = this._vmService;
        t2.toString;
        t3 = type$.dynamic;
        future = this.trackFuture$1$2(_s12_, t2._call$1$2(0, _s12_, P.LinkedHashMap_LinkedHashMap$_literal(["streamId", streamId], t3, t3), type$.Success), type$.legacy_Success);
        t1.$indexSet(0, streamId, future);
        return future;
      } else
        return t1.$index(0, streamId);
    },
    setTraceClassAllocation$3: function(isolateId, classId, enable) {
      return this.setTraceClassAllocation$body$VmServiceWrapper(isolateId, classId, enable);
    },
    setTraceClassAllocation$body$VmServiceWrapper: function(isolateId, classId, enable) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Success),
        $async$returnValue, $async$self = this, t2, args, t1, $async$temp1;
      var $async$setTraceClassAllocation$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.dynamic;
              $async$goto = 6;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 43, 0, null, null)), $async$setTraceClassAllocation$3);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              t2 = $async$self._vmService;
              t2.toString;
              $async$returnValue = $async$self.trackFuture$1$2("setTraceClassAllocation", t2._call$1$2(0, "setTraceClassAllocation", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId, "classId", classId, "enable", enable], t1, t1), type$.Success), type$.legacy_Success);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              args = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, t1);
              if (classId != null)
                args.$indexSet(0, "classId", classId);
              if (enable != null)
                args.$indexSet(0, "enable", enable && true);
              $async$temp1 = type$.legacy_Success;
              $async$goto = 7;
              return P._asyncAwait($async$self.trackFuture$1$2("_setTraceClassAllocation", $async$self.callMethod$3$args$isolateId("_setTraceClassAllocation", args, isolateId), type$.legacy_Response), $async$setTraceClassAllocation$3);
            case 7:
              // returning from await.
              $async$returnValue = $async$temp1._as($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$setTraceClassAllocation$3, $async$completer);
    },
    getPorts$1: function(isolateId) {
      return this.getPorts$body$VmServiceWrapper(isolateId);
    },
    getPorts$body$VmServiceWrapper: function(isolateId) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_PortList),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$getPorts$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 42, 0, null, null)), $async$getPorts$1);
            case 3:
              // returning from await.
              if ($async$result) {
                t1 = $async$self._vmService;
                t1.toString;
                t2 = type$.dynamic;
                $async$returnValue = $async$self.trackFuture$1$2("getPorts", t1._call$1$2(0, "getPorts", P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t2, t2), type$.PortList), type$.legacy_PortList);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$getPorts$1, $async$completer);
    },
    isProtocolVersionSupported$1$supportedVersion: function(supportedVersion) {
      return this.isProtocolVersionSupported$body$VmServiceWrapper(supportedVersion);
    },
    isProtocolVersionSupported$body$VmServiceWrapper: function(supportedVersion) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$isProtocolVersionSupported$1$supportedVersion = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._protocolVersion;
              $async$temp1 = supportedVersion;
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return P._asyncAwait($async$self.trackFuture$1$2("getVersion", $async$self._vmService._call$1$1(0, "getVersion", type$.Version), type$.legacy_Version), $async$isProtocolVersionSupported$1$supportedVersion);
            case 6:
              // returning from await.
              $async$result = $async$self._protocolVersion = $async$result;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$result = t1;
            case 4:
              // join
              $async$returnValue = $async$self._versionSupported$2$supportedVersion$version($async$temp1, $async$result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$isProtocolVersionSupported$1$supportedVersion, $async$completer);
    },
    _versionSupported$2$supportedVersion$version: function(supportedVersion, version) {
      return new T.SemanticVersion(version.major, version.minor, 0, null, null).compareTo$1(0, supportedVersion) >= 0;
    },
    isDartIoVersionSupported$2$isolateId$supportedVersion: function(isolateId, supportedVersion) {
      return this.isDartIoVersionSupported$body$VmServiceWrapper(isolateId, supportedVersion);
    },
    isDartIoVersionSupported$body$VmServiceWrapper: function(isolateId, supportedVersion) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$isDartIoVersionSupported$2$isolateId$supportedVersion = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._dartIoVersion;
              $async$temp1 = supportedVersion;
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return P._asyncAwait($async$self.trackFuture$1$2("_getDartIOVersion", Q.DartIOExtension__callHelper($async$self._vmService, "ext.dart.io.getVersion", isolateId, C.Map_empty8, type$.Version), type$.legacy_Version), $async$isDartIoVersionSupported$2$isolateId$supportedVersion);
            case 6:
              // returning from await.
              $async$result = $async$self._dartIoVersion = $async$result;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$result = t1;
            case 4:
              // join
              $async$returnValue = $async$self._versionSupported$2$supportedVersion$version($async$temp1, $async$result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$isDartIoVersionSupported$2$isolateId$supportedVersion, $async$completer);
    },
    _isDdsVersionSupportedNow$1$supportedVersion: function(supportedVersion) {
      var t1 = this._ddsVersion;
      return t1 != null && this._versionSupported$2$supportedVersion$version(supportedVersion, t1);
    },
    retrieveFullStringValue$3$onUnavailable: function(isolateId, stringRef, onUnavailable) {
      return this.retrieveFullStringValue$body$VmServiceWrapper(isolateId, stringRef, onUnavailable);
    },
    retrieveFullStringValue$2: function(isolateId, stringRef) {
      return this.retrieveFullStringValue$3$onUnavailable(isolateId, stringRef, null);
    },
    retrieveFullStringValue$body$VmServiceWrapper: function(isolateId, stringRef, onUnavailable) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_String),
        $async$returnValue, $async$self = this, t1, result;
      var $async$retrieveFullStringValue$3$onUnavailable = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (stringRef == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if (stringRef.get$valueAsStringIsTruncated() !== true) {
                $async$returnValue = stringRef.get$valueAsString(stringRef);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = stringRef.get$id(stringRef);
              stringRef.get$length(stringRef);
              $async$goto = 3;
              return P._asyncAwait($async$self.trackFuture$1$2("getObject", $async$self._vmService.getObject$2(0, isolateId, t1), type$.legacy_Obj), $async$retrieveFullStringValue$3$onUnavailable);
            case 3:
              // returning from await.
              result = $async$result;
              if (result instanceof Q.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 H.wrapException(P.Exception_Exception('The full string for "{stringRef.valueAsString}..." is unavailable'));
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$retrieveFullStringValue$3$onUnavailable, $async$completer);
    },
    get$serviceStreamName: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_String),
        $async$returnValue, $async$self = this;
      var $async$get$serviceStreamName = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.isProtocolVersionSupported$1$supportedVersion(new T.SemanticVersion(3, 22, 0, null, null)), $async$get$serviceStreamName);
            case 3:
              // returning from await.
              $async$returnValue = $async$result ? "Service" : "_Service";
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$get$serviceStreamName, $async$completer);
    },
    trackFuture$1$2: function($name, future, $T) {
      return future;
    },
    $isVmService: 1
  };
  U.VmServiceWrapper_getCpuProfileTimeline_processStackFrame.prototype = {
    call$2$current$parent: function(current, $parent) {
      var t2, key, t3, _i, _this = this,
        t1 = current.frameId = _this._box_0.nextId++;
      if (t1 !== 0) {
        t2 = _this.isolateId;
        key = H.S(t2) + "-" + t1;
        t1 = _this.traceObject.$index(0, "stackFrames");
        t3 = type$.legacy_String;
        t3 = P.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
        t3.$indexSet(0, "category", "Dart");
        t3.$indexSet(0, "name", current.get$name(current));
        t3.$indexSet(0, "resolvedUrl", current.samples.functions[current.index].resolvedUrl);
        if ($parent != null && $parent.frameId !== 0)
          t3.$indexSet(0, "parent", H.S(t2) + "-" + $parent.frameId);
        J.$indexSet$ax(t1, key, t3);
      }
      for (t1 = current.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        _this.call$2$current$parent(t1[_i], current);
    },
    call$0: function() {
      return this.call$2$current$parent(null, null);
    },
    call$1$parent: function($parent) {
      return this.call$2$current$parent(null, $parent);
    },
    $signature: 679
  };
  U.VmServiceWrapper_getCpuProfileTimeline_closure.prototype = {
    call$1: function(response) {
      return E.CpuProfileData_CpuProfileData$parse(response.json);
    },
    $signature: 680
  };
  U._CpuProfileTimelineTree.prototype = {
    get$name: function(_) {
      return J.get$name$x(this.samples.functions[this.index].$function);
    },
    _getChild$1: function(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 U._CpuProfileTimelineTree(this.samples, index, H._setArrayType([], type$.JSArray_legacy__CpuProfileTimelineTree));
      if (t2)
        C.JSArray_methods.insert$2(t1, i, child);
      else
        t1.push(child);
      return child;
    },
    get$index: function(receiver) {
      return this.index;
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  M.AdbMemoryInfo.prototype = {
    toJson$0: function() {
      var _this = this;
      return P.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: function(_) {
      var _this = this,
        t1 = _this.realtime;
      return "[AdbMemoryInfo Realtime: " + H.S(t1) + ", realtimeDT: " + P.DateTime$fromMillisecondsSinceEpoch(t1, false).toString$0(0) + ", durationBoot: " + P.Duration$(0, t1).toString$0(0) + ", Java Heap: " + H.S(_this.javaHeap) + ", Native Heap: " + H.S(_this.nativeHeap) + ", Code: " + H.S(_this.code) + ", Stack: " + H.S(_this.stack) + ", Graphics: " + H.S(_this.graphics) + ", Private Other: " + H.S(_this.other) + ", System: " + H.S(_this.system) + ", Total: " + H.S(_this.total) + "]";
    }
  };
  L.ClassHeapDetailStats.prototype = {
    toJson$0: function() {
      var _this = this,
        t1 = _this.classRef,
        t2 = type$.String;
      return P.LinkedHashMap_LinkedHashMap$_literal(["class", P.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: function(_) {
      return "[ClassHeapDetailStats class: " + H.S(this.classRef.name) + ", count: " + H.S(this.instancesCurrent) + ", bytes: " + H.S(this.bytesCurrent) + "]";
    }
  };
  K.AllocationAccumulator.prototype = {
    toJson$0: function() {
      return P.LinkedHashMap_LinkedHashMap$_literal(["start", this._event_sample$_start, "continues", this._continues, "reset", this._event_sample$_reset], type$.String, type$.dynamic);
    },
    toString$0: function(_) {
      return "[AllocationAccumulator " + P._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  K.ExtensionEvent.prototype = {
    toJson$0: function() {
      var _this = this;
      return P.LinkedHashMap_LinkedHashMap$_literal(["timestamp", _this.timestamp, "eventKind", _this.eventKind, "data", _this.data, "customEventName", _this.customEventName], type$.String, type$.dynamic);
    },
    toString$0: function(_) {
      return "[ExtensionEvent " + P._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  K.ExtensionEvents.prototype = {
    toJson$0: function() {
      var t3, t4, index, _i, $event,
        t1 = type$.String,
        t2 = type$.dynamic,
        eventsAsJson = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      for (t3 = this.theEvents, t4 = t3.length, index = 0, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
        $event = t3[_i];
        eventsAsJson.$indexSet(0, "" + index, P.LinkedHashMap_LinkedHashMap$_literal(["timestamp", $event.timestamp, "eventKind", $event.eventKind, "data", $event.data, "customEventName", $event.customEventName], t1, t2));
        ++index;
      }
      return eventsAsJson;
    },
    toString$0: function(_) {
      return "[ExtensionEvents = " + P._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  K.ExtensionEvents_ExtensionEvents$fromJson_closure.prototype = {
    call$2: function(key, value) {
      var t1, t2, t3, t4;
      type$.Map_String_dynamic._as(value);
      t1 = J.getInterceptor$asx(value);
      t2 = H._asIntQ(t1.$index(value, "timestamp"));
      t3 = H._asStringQ(t1.$index(value, "eventKind"));
      t4 = H._asStringQ(t1.$index(value, "customEventName"));
      this.events.push(new K.ExtensionEvent(t2, t3, type$.nullable_Map_String_Object._as(t1.$index(value, "data")), t4));
    },
    $signature: 681
  };
  K.EventSample.prototype = {
    toJson$0: function() {
      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 P.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: function(_) {
      return "[EventSample timestamp: " + H.S(this.timestamp) + " = " + P._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  K.RasterCache.prototype = {
    toJson$0: function() {
      return P.LinkedHashMap_LinkedHashMap$_literal(["layerBytes", this.layerBytes, "pictureBytes", this.pictureBytes], type$.String, type$.dynamic);
    },
    toString$0: function(_) {
      return "[RasterCache " + P._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  E.HeapSample.prototype = {
    toJson$0: function() {
      var _this = this;
      return P.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: function(_) {
      return "[HeapSample timestamp: " + H.S(this.timestamp) + ", " + P._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  L.HeapSpace.prototype = {
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "HeapSpace");
      json.addAll$1(0, P.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: function(_) {
      return "[HeapSpace]";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  O.MemoryJson.prototype = {
    MemoryJson$decode$3$argDecodedMap$argJsonString: function(payloadName, argDecodedMap, argJsonString, $T) {
      var t2, dynamicList, index, t3, t4, adbMemoryInfo, memoryEventInfo, rasterCache, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, _this = this, _null = null,
        _s14_ = "_memoryPayload",
        _s9_ = "timestamp",
        _s26_ = "allocationAccumulatorEvent",
        _s15_ = "extensionEvents",
        decodedMap = C.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))
        P.print("WARNING: Unable to convert JSON memory file payload version=" + H.S(payloadVersion) + ".");
      t2 = J.$eq$(payloadDevToolsScreen, "memory");
      if (_this.__MemoryJson__memoryPayload === $)
        _this.__MemoryJson__memoryPayload = t2;
      else
        H.throwExpression(H.LateError$fieldAI(_s14_));
      if (_this.__MemoryJson__payloadVersion === $)
        _this.__MemoryJson__payloadVersion = payloadVersion;
      else
        H.throwExpression(H.LateError$fieldAI("_payloadVersion"));
      if (_this.get$_payloadVersion() === 1) {
        t2 = _this.__MemoryJson__memoryPayload;
        t2 = !(t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s14_)) : t2);
      } else
        t2 = true;
      if (t2)
        return;
      dynamicList = t1.$index(samplesPayload, "data");
      for (t1 = J.getInterceptor$asx(dynamicList), t2 = _this.data, index = 0; index < t1.get$length(dynamicList); ++index) {
        t3 = t1.$index(dynamicList, index);
        t4 = J.getInterceptor$asx(t3);
        adbMemoryInfo = t4.$index(t3, "adb_memoryInfo");
        memoryEventInfo = t4.$index(t3, "memory_eventInfo");
        rasterCache = t4.$index(t3, "raster_cache");
        t5 = H._asIntS(t4.$index(t3, _s9_));
        t6 = H._asIntS(t4.$index(t3, "rss"));
        t7 = H._asIntS(t4.$index(t3, "capacity"));
        t8 = H._asIntS(t4.$index(t3, "used"));
        t9 = H._asIntS(t4.$index(t3, "external"));
        t3 = H._asBoolS(t4.$index(t3, "gc"));
        if (adbMemoryInfo != null) {
          t4 = J.getInterceptor$asx(adbMemoryInfo);
          t4 = new M.AdbMemoryInfo(H._asIntS(t4.$index(adbMemoryInfo, "Realtime")), H._asIntS(t4.$index(adbMemoryInfo, "Java Heap")), H._asIntS(t4.$index(adbMemoryInfo, "Native Heap")), H._asIntS(t4.$index(adbMemoryInfo, "Code")), H._asIntS(t4.$index(adbMemoryInfo, "Stack")), H._asIntS(t4.$index(adbMemoryInfo, "Graphics")), H._asIntS(t4.$index(adbMemoryInfo, "Private Other")), H._asIntS(t4.$index(adbMemoryInfo, "System")), H._asIntS(t4.$index(adbMemoryInfo, "Total")));
        } else
          t4 = new M.AdbMemoryInfo(0, 0, 0, 0, 0, 0, 0, 0, 0);
        if (memoryEventInfo != null) {
          t10 = J.getInterceptor$asx(memoryEventInfo);
          t11 = H._asIntS(t10.$index(memoryEventInfo, _s9_));
          t12 = H._asBoolQ(t10.$index(memoryEventInfo, "gcEvent"));
          t13 = H._asBoolQ(t10.$index(memoryEventInfo, "snapshotEvent"));
          t14 = H._asBoolQ(t10.$index(memoryEventInfo, "snapshotAutoEvent"));
          if (t10.$index(memoryEventInfo, _s26_) != null) {
            t15 = t10.$index(memoryEventInfo, _s26_);
            t16 = J.getInterceptor$asx(t15);
            t15 = new K.AllocationAccumulator(H._asBoolS(t16.$index(t15, "start")), H._asBoolS(t16.$index(t15, "continues")), H._asBoolS(t16.$index(t15, "reset")));
          } else
            t15 = _null;
          t10 = t10.$index(memoryEventInfo, _s15_) != null ? K.ExtensionEvents_ExtensionEvents$fromJson(t10.$index(memoryEventInfo, _s15_)) : _null;
          t10 = new K.EventSample(t11, t12 === true, t13 === true, t14 === true, t15, t10);
        } else
          t10 = new K.EventSample(-1, false, false, false, new K.AllocationAccumulator(false, false, false), _null);
        if (rasterCache != null) {
          t11 = J.getInterceptor$asx(rasterCache);
          t11 = new K.RasterCache(t11.$index(rasterCache, "layerBytes"), t11.$index(rasterCache, "pictureBytes"));
        } else
          t11 = new K.RasterCache(0, 0);
        t2.push(new E.HeapSample(t5, t6, t7, t8, t9, t3, t10, t4, t11));
      }
    },
    get$_payloadVersion: function() {
      var t1 = this.__MemoryJson__payloadVersion;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_payloadVersion")) : t1;
    }
  };
  O.SamplesMemoryJson.prototype = {
    get$version: function(_) {
      return 1;
    }
  };
  O.SamplesMemoryJson_encodeList_closure.prototype = {
    call$1: function(f) {
      var t1 = this.result;
      t1._contents += t1._contents.length !== 0 ? ",\n" + C.C_JsonCodec.encode$2$toEncodable(f, null) : C.C_JsonCodec.encode$2$toEncodable(f, null);
    },
    $signature: 682
  };
  O.MethodChannelFileSelector.prototype = {
    get$channel: function(_) {
      return C.MethodChannel_qBr;
    },
    openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory: function(acceptedTypeGroups, confirmButtonText, initialDirectory) {
      return this.openFile$body$MethodChannelFileSelector(acceptedTypeGroups, confirmButtonText, initialDirectory);
    },
    openFile$body$MethodChannelFileSelector: function(acceptedTypeGroups, confirmButtonText, initialDirectory) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.nullable_XFile),
        $async$returnValue, t2, path, t1;
      var $async$openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = H._arrayInstanceType(acceptedTypeGroups)._eval$1("MappedListIterable<1,Map<String,@>>");
              t1 = P.List_List$of(new H.MappedListIterable(acceptedTypeGroups, new O.MethodChannelFileSelector_openFile_closure(), t1), true, t1._eval$1("ListIterable.E"));
              t2 = type$.String;
              $async$goto = 3;
              return P._asyncAwait(C.MethodChannel_qBr.invokeListMethod$1$2("openFile", P.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory, $async$completer);
    }
  };
  O.MethodChannelFileSelector_openFile_closure.prototype = {
    call$1: function(group) {
      return P.LinkedHashMap_LinkedHashMap$_literal(["label", null, "extensions", group.extensions, "mimeTypes", null, "macUTIs", null, "webWildCards", null], type$.String, type$.dynamic);
    },
    $signature: 683
  };
  U.FileSelectorPlatform.prototype = {};
  L.XTypeGroup.prototype = {};
  L.XTypeGroup__removeLeadingDots_closure.prototype = {
    call$1: function(ext) {
      return J.startsWith$1$s(ext, ".") ? C.JSString_methods.substring$1(ext, 1) : ext;
    },
    $signature: 19
  };
  M.FileSelectorWeb.prototype = {
    openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory: function(acceptedTypeGroups, confirmButtonText, initialDirectory) {
      return this.openFile$body$FileSelectorWeb(acceptedTypeGroups, confirmButtonText, initialDirectory);
    },
    openFile$body$FileSelectorWeb: function(acceptedTypeGroups, confirmButtonText, initialDirectory) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.XFile),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = J;
              $async$goto = 3;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory, $async$completer);
    },
    _openFiles$1$acceptedTypeGroups: function(acceptedTypeGroups) {
      return this._openFiles$body$FileSelectorWeb(acceptedTypeGroups);
    },
    _openFiles$body$FileSelectorWeb: function(acceptedTypeGroups) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.List_XFile),
        $async$returnValue, $async$self = this;
      var $async$_openFiles$1$acceptedTypeGroups = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = $async$self._domHelper.getFiles$2$accept$multiple(B.acceptedTypesToString(acceptedTypeGroups), false);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_openFiles$1$acceptedTypeGroups, $async$completer);
    }
  };
  G.DomHelper.prototype = {
    getFiles$2$accept$multiple: function(accept, multiple) {
      var t3, t4,
        t1 = new P._Future($.Zone__current, type$._Future_List_XFile),
        completer = new P._AsyncCompleter(t1, type$._AsyncCompleter_List_XFile),
        inputElement = W.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_legacy_Event;
      t3 = new W._ElementEventStreamImpl(inputElement, "change", false, t2);
      t4 = type$.Null;
      t3.get$first(t3).then$1$1(0, new G.DomHelper_getFiles_closure(this, inputElement, completer), t4);
      t2 = new W._ElementEventStreamImpl(inputElement, "error", false, t2);
      t2.get$first(t2).then$1$1(0, new G.DomHelper_getFiles_closure0(inputElement, completer), t4);
      inputElement.click();
      return t1;
    },
    _convertFileToXFile$1: function(file) {
      var t1 = (self.URL || self.webkitURL).createObjectURL(file),
        t2 = file.name,
        t3 = file.size,
        t4 = file.lastModified;
      return A.XFile$(t1, P.DateTime$fromMillisecondsSinceEpoch(t4 == null ? Date.now() : t4, false), t3, t2);
    }
  };
  G.DomHelper_getFiles_closure.prototype = {
    call$1: function(_) {
      var t3, files,
        t1 = this.inputElement,
        t2 = t1.files;
      t2.toString;
      t3 = H.instanceType(t2)._eval$1("MappedListIterable<ListMixin.E,XFile>");
      files = P.List_List$of(new H.MappedListIterable(t2, this.$this.get$_convertFileToXFile(), t3), true, t3._eval$1("ListIterable.E"));
      C.InputElement_methods.remove$0(t1);
      this.completer.complete$1(0, files);
    },
    $signature: 9
  };
  G.DomHelper_getFiles_closure0.prototype = {
    call$1: function($event) {
      var t1, t2;
      type$.ErrorEvent._as($event);
      t1 = $event.type;
      t2 = $event.message;
      C.InputElement_methods.remove$0(this.inputElement);
      this.completer.completeError$1(new F.PlatformException(t1, t2, null, null));
    },
    $signature: 9
  };
  X.AnimationStatus.prototype = {
    toString$0: function(_) {
      return this._animation$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  X.Animation0.prototype = {
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this) + "(" + this.toStringDetails$0() + ")";
    },
    toStringDetails$0: function() {
      switch (this.get$status(this)) {
        case C.AnimationStatus_1:
          return "\u25b6";
        case C.AnimationStatus_2:
          return "\u25c0";
        case C.AnimationStatus_3:
          return "\u23ed";
        case C.AnimationStatus_0:
          return "\u23ee";
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    }
  };
  G._AnimationDirection.prototype = {
    toString$0: function(_) {
      return this._animation_controller$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  G.AnimationBehavior.prototype = {
    toString$0: function(_) {
      return this._animation_controller$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  G.AnimationController.prototype = {
    get$value: function(_) {
      return this.get$_animation_controller$_value();
    },
    get$_animation_controller$_value: function() {
      var t1 = this.__AnimationController__value;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_value")) : t1;
    },
    set$value: function(_, newValue) {
      var _this = this;
      _this.stop$0(0);
      _this._internalSetValue$1(newValue);
      _this.notifyListeners$0();
      _this._checkStatusChanged$0();
    },
    get$velocity: function() {
      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: function(newValue) {
      var _this = this,
        t1 = _this.lowerBound,
        t2 = _this.upperBound;
      _this.__AnimationController__value = J.clamp$2$n(newValue, t1, t2);
      if (_this.get$_animation_controller$_value() === t1)
        _this.__AnimationController__status = C.AnimationStatus_0;
      else if (_this.get$_animation_controller$_value() === t2)
        _this.__AnimationController__status = C.AnimationStatus_3;
      else
        _this.__AnimationController__status = _this._direction === C._AnimationDirection_0 ? C.AnimationStatus_1 : C.AnimationStatus_2;
    },
    get$status: function(_) {
      var t1 = this.__AnimationController__status;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_status")) : t1;
    },
    get$_status: function() {
      var t1 = this.__AnimationController__status;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_status")) : t1;
    },
    forward$1$from: function(_, from) {
      var _this = this;
      _this._direction = C._AnimationDirection_0;
      if (from != null)
        _this.set$value(0, from);
      return _this._animateToInternal$1(_this.upperBound);
    },
    forward$0: function($receiver) {
      return this.forward$1$from($receiver, null);
    },
    reverse$1$from: function(_, from) {
      var _this = this;
      _this._direction = C._AnimationDirection_1;
      if (from != null)
        _this.set$value(0, from);
      return _this._animateToInternal$1(_this.lowerBound);
    },
    reverse$0: function($receiver) {
      return this.reverse$1$from($receiver, null);
    },
    _animateToInternal$3$curve$duration: function(target, curve, duration) {
      var range, remainingFraction, t1, directionDuration, simulationDuration, _this = this;
      $.SemanticsBinding__instance.get$_accessibilityFeatures().toString;
      if (duration == null) {
        range = _this.upperBound - _this.lowerBound;
        remainingFraction = isFinite(range) ? Math.abs(target - _this.get$_animation_controller$_value()) / range : 1;
        if (_this._direction === C._AnimationDirection_1 && _this.reverseDuration != null) {
          t1 = _this.reverseDuration;
          t1.toString;
          directionDuration = t1;
        } else {
          t1 = _this.duration;
          t1.toString;
          directionDuration = t1;
        }
        simulationDuration = new P.Duration(C.JSNumber_methods.round$0(directionDuration._duration * remainingFraction));
      } else
        simulationDuration = target == _this.get$_animation_controller$_value() ? C.Duration_0 : duration;
      _this.stop$0(0);
      t1 = simulationDuration._duration;
      if (t1 === 0) {
        if (_this.get$_animation_controller$_value() != target) {
          _this.__AnimationController__value = J.clamp$2$n(target, _this.lowerBound, _this.upperBound);
          _this.notifyListeners$0();
        }
        _this.__AnimationController__status = _this._direction === C._AnimationDirection_0 ? C.AnimationStatus_3 : C.AnimationStatus_0;
        _this._checkStatusChanged$0();
        return M.TickerFuture$complete();
      }
      return _this._startSimulation$1(new G._InterpolationSimulation(t1 / 1000000, _this.get$_animation_controller$_value(), target, curve, C.Tolerance_Gdw));
    },
    _animateToInternal$1: function(target) {
      return this._animateToInternal$3$curve$duration(target, C.C__Linear, null);
    },
    repeat$0: function(_) {
      var t1, t2, _this = this,
        min = _this.lowerBound,
        max = _this.upperBound,
        period = _this.duration;
      _this.stop$0(0);
      t1 = _this.get$_animation_controller$_value();
      t2 = period._duration / 1000000;
      t1 = max === min ? 0 : t1 / (max - min) * t2;
      return _this._startSimulation$1(new G._RepeatingSimulation(min, max, false, _this.get$_directionSetter(), t2, t1, C.Tolerance_Gdw));
    },
    _directionSetter$1: function(direction) {
      this._direction = direction;
      this.__AnimationController__status = direction === C._AnimationDirection_0 ? C.AnimationStatus_1 : C.AnimationStatus_2;
      this._checkStatusChanged$0();
    },
    fling$1$velocity: function(velocity) {
      var target, simulation, _this = this,
        springDescription = $.$get$_kFlingSpringDescription(),
        t1 = velocity < 0;
      _this._direction = t1 ? C._AnimationDirection_1 : C._AnimationDirection_0;
      target = t1 ? _this.lowerBound - 0.01 : _this.upperBound + 0.01;
      $.SemanticsBinding__instance.get$_accessibilityFeatures().toString;
      simulation = new M.SpringSimulation(target, M._SpringSolution__SpringSolution(springDescription, _this.get$_animation_controller$_value() - target, velocity), C.Tolerance_Gdw);
      simulation.tolerance = C.Tolerance_qbZ;
      _this.stop$0(0);
      return _this._startSimulation$1(simulation);
    },
    _startSimulation$1: function(simulation) {
      var result, _this = this;
      _this._simulation = simulation;
      _this._lastElapsedDuration = C.Duration_0;
      _this.__AnimationController__value = J.clamp$2$n(simulation.x$1(0, 0), _this.lowerBound, _this.upperBound);
      result = _this._ticker.start$0(0);
      _this.__AnimationController__status = _this._direction === C._AnimationDirection_0 ? C.AnimationStatus_1 : C.AnimationStatus_2;
      _this._checkStatusChanged$0();
      return result;
    },
    stop$1$canceled: function(_, canceled) {
      this._lastElapsedDuration = this._simulation = null;
      this._ticker.stop$1$canceled(0, canceled);
    },
    stop$0: function($receiver) {
      return this.stop$1$canceled($receiver, true);
    },
    dispose$0: function(_) {
      var _this = this;
      _this._ticker.dispose$0(0);
      _this._ticker = null;
      _this.AnimationLocalStatusListenersMixin__statusListeners.clear$0(0);
      _this.AnimationLocalListenersMixin__listeners.clear$0(0);
      _this.super$AnimationEagerListenerMixin$dispose(0);
    },
    _checkStatusChanged$0: function() {
      var _this = this,
        newStatus = _this.get$_status();
      if (_this._lastReportedStatus != newStatus) {
        _this._lastReportedStatus = newStatus;
        _this.notifyStatusListeners$1(newStatus);
      }
    },
    _animation_controller$_tick$1: function(elapsed) {
      var elapsedInSeconds, _this = this;
      _this._lastElapsedDuration = elapsed;
      elapsedInSeconds = elapsed._duration / 1000000;
      _this.__AnimationController__value = J.clamp$2$n(_this._simulation.x$1(0, elapsedInSeconds), _this.lowerBound, _this.upperBound);
      if (_this._simulation.isDone$1(elapsedInSeconds)) {
        _this.__AnimationController__status = _this._direction === C._AnimationDirection_0 ? C.AnimationStatus_3 : C.AnimationStatus_0;
        _this.stop$1$canceled(0, false);
      }
      _this.notifyListeners$0();
      _this._checkStatusChanged$0();
    },
    toStringDetails$0: function() {
      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;
      return _this.super$Animation$toStringDetails() + " " + J.toStringAsFixed$1$n(_this.get$_animation_controller$_value(), 3) + paused + ticker + label;
    },
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  G._InterpolationSimulation.prototype = {
    x$1: function(_, timeInSeconds) {
      var t1, t2, _this = this,
        t = C.JSNumber_methods.clamp$2(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: function(_, timeInSeconds) {
      this.tolerance.toString;
      return (this.x$1(0, timeInSeconds + 0.001) - this.x$1(0, timeInSeconds - 0.001)) / 0.002;
    },
    isDone$1: function(timeInSeconds) {
      return timeInSeconds > this._durationInSeconds;
    }
  };
  G._RepeatingSimulation.prototype = {
    x$1: function(_, timeInSeconds) {
      var _this = this,
        totalTimeInSeconds = timeInSeconds + _this._initialT,
        t1 = _this._periodInSeconds,
        t = C.JSNumber_methods.$mod(totalTimeInSeconds / t1, 1);
      C.JSNumber_methods.$tdiv(totalTimeInSeconds, t1);
      _this.directionSetter.call$1(C._AnimationDirection_0);
      t1 = P.lerpDouble(_this.min, _this.max, t);
      t1.toString;
      return t1;
    },
    dx$1: function(_, timeInSeconds) {
      return (this.max - this.min) / this._periodInSeconds;
    },
    isDone$1: function(timeInSeconds) {
      return false;
    }
  };
  G._AnimationController_Animation_AnimationEagerListenerMixin.prototype = {};
  G._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin.prototype = {};
  G._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin.prototype = {};
  S._AlwaysCompleteAnimation.prototype = {
    addListener$1: function(_, listener) {
    },
    removeListener$1: function(_, listener) {
    },
    addStatusListener$1: function(listener) {
    },
    removeStatusListener$1: function(listener) {
    },
    get$status: function(_) {
      return C.AnimationStatus_3;
    },
    get$value: function(_) {
      return 1;
    },
    toString$0: function(_) {
      return "kAlwaysCompleteAnimation";
    }
  };
  S._AlwaysDismissedAnimation.prototype = {
    addListener$1: function(_, listener) {
    },
    removeListener$1: function(_, listener) {
    },
    addStatusListener$1: function(listener) {
    },
    removeStatusListener$1: function(listener) {
    },
    get$status: function(_) {
      return C.AnimationStatus_0;
    },
    get$value: function(_) {
      return 0;
    },
    toString$0: function(_) {
      return "kAlwaysDismissedAnimation";
    }
  };
  S.AlwaysStoppedAnimation.prototype = {
    addListener$1: function(_, listener) {
    },
    removeListener$1: function(_, listener) {
    },
    addStatusListener$1: function(listener) {
    },
    removeStatusListener$1: function(listener) {
    },
    get$status: function(_) {
      return C.AnimationStatus_1;
    },
    toStringDetails$0: function() {
      return this.super$Animation$toStringDetails() + " " + H.S(this.value) + "; paused";
    },
    get$value: function(receiver) {
      return this.value;
    }
  };
  S.AnimationWithParentMixin.prototype = {
    addListener$1: function(_, listener) {
      return this.get$parent(this).addListener$1(0, listener);
    },
    removeListener$1: function(_, listener) {
      return this.get$parent(this).removeListener$1(0, listener);
    },
    addStatusListener$1: function(listener) {
      return this.get$parent(this).addStatusListener$1(listener);
    },
    removeStatusListener$1: function(listener) {
      return this.get$parent(this).removeStatusListener$1(listener);
    },
    get$status: function(_) {
      var t1 = this.get$parent(this);
      return t1.get$status(t1);
    }
  };
  S.ProxyAnimation.prototype = {
    get$parent: function(_) {
      return this._animations$_parent;
    },
    set$parent: function(_, value) {
      var t2, _this = this,
        t1 = _this._animations$_parent;
      if (value == t1)
        return;
      if (t1 != null) {
        _this._animations$_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._animations$_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._animations$_status = null;
      }
    },
    didStartListening$0: function() {
      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: function() {
      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: function(_) {
      var t1 = this._animations$_parent;
      if (t1 != null)
        t1 = t1.get$status(t1);
      else {
        t1 = this._animations$_status;
        t1.toString;
      }
      return t1;
    },
    get$value: function(_) {
      var t1 = this._animations$_parent;
      if (t1 != null)
        t1 = t1.get$value(t1);
      else {
        t1 = this._animations$_value;
        t1.toString;
      }
      return t1;
    },
    toString$0: function(_) {
      var _this = this,
        t1 = _this._animations$_parent;
      if (t1 == null)
        return "ProxyAnimation(null; " + _this.super$Animation$toStringDetails() + " " + J.toStringAsFixed$1$n(_this.get$value(_this), 3) + ")";
      return t1.toString$0(0) + "\u27a9ProxyAnimation";
    }
  };
  S.ReverseAnimation.prototype = {
    addListener$1: function(_, listener) {
      this.didRegisterListener$0();
      this.parent.addListener$1(0, listener);
    },
    removeListener$1: function(_, listener) {
      this.parent.removeListener$1(0, listener);
      this.didUnregisterListener$0();
    },
    didStartListening$0: function() {
      this.parent.addStatusListener$1(this.get$_statusChangeHandler());
    },
    didStopListening$0: function() {
      this.parent.removeStatusListener$1(this.get$_statusChangeHandler());
    },
    _statusChangeHandler$1: function($status) {
      this.notifyStatusListeners$1(this._reverseStatus$1($status));
    },
    get$status: function(_) {
      var t1 = this.parent;
      return this._reverseStatus$1(t1.get$status(t1));
    },
    get$value: function(_) {
      var t1 = this.parent;
      return 1 - t1.get$value(t1);
    },
    _reverseStatus$1: function($status) {
      switch ($status) {
        case C.AnimationStatus_1:
          return C.AnimationStatus_2;
        case C.AnimationStatus_2:
          return C.AnimationStatus_1;
        case C.AnimationStatus_3:
          return C.AnimationStatus_0;
        case C.AnimationStatus_0:
          return C.AnimationStatus_3;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    toString$0: function(_) {
      return H.S(this.parent) + "\u27aaReverseAnimation";
    },
    get$parent: function(receiver) {
      return this.parent;
    }
  };
  S.CurvedAnimation.prototype = {
    _updateCurveDirection$1: function($status) {
      var _this = this;
      switch ($status) {
        case C.AnimationStatus_0:
        case C.AnimationStatus_3:
          _this._curveDirection = null;
          break;
        case C.AnimationStatus_1:
          if (_this._curveDirection == null)
            _this._curveDirection = C.AnimationStatus_1;
          break;
        case C.AnimationStatus_2:
          if (_this._curveDirection == null)
            _this._curveDirection = C.AnimationStatus_2;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$_useForwardCurve: function() {
      if (this.reverseCurve != null) {
        var t1 = this._curveDirection;
        if (t1 == null) {
          t1 = this.parent;
          t1 = t1.get$status(t1);
        }
        t1 = t1 !== C.AnimationStatus_2;
      } else
        t1 = true;
      return t1;
    },
    get$value: function(_) {
      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: function(_) {
      var _this = this;
      if (_this.reverseCurve == null)
        return H.S(_this.parent) + "\u27a9" + _this.curve.toString$0(0);
      if (_this.get$_useForwardCurve())
        return H.S(_this.parent) + "\u27a9" + _this.curve.toString$0(0) + "\u2092\u2099/" + H.S(_this.reverseCurve);
      return H.S(_this.parent) + "\u27a9" + _this.curve.toString$0(0) + "/" + H.S(_this.reverseCurve) + "\u2092\u2099";
    },
    get$parent: function(receiver) {
      return this.parent;
    }
  };
  S._TrainHoppingMode.prototype = {
    toString$0: function(_) {
      return this._animations$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  S.TrainHoppingAnimation.prototype = {
    _statusChangeHandler$1: function($status) {
      if ($status != this._lastStatus) {
        this.notifyListeners$0();
        this._lastStatus = $status;
      }
    },
    get$status: function(_) {
      var t1 = this._currentTrain;
      return t1.get$status(t1);
    },
    _valueChangeHandler$0: function() {
      var t2, hop, _this = this,
        t1 = _this._nextTrain;
      if (t1 != null) {
        t2 = _this._mode;
        t2.toString;
        switch (t2) {
          case C._TrainHoppingMode_0:
            t1 = t1.get$value(t1);
            t2 = _this._currentTrain;
            hop = t1 <= t2.get$value(t2);
            break;
          case C._TrainHoppingMode_1:
            t1 = t1.get$value(t1);
            t2 = _this._currentTrain;
            hop = t1 >= t2.get$value(t2);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
        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: function(_) {
      var t1 = this._currentTrain;
      return t1.get$value(t1);
    },
    dispose$0: function(_) {
      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(0);
    },
    toString$0: function(_) {
      var _this = this;
      if (_this._nextTrain != null)
        return H.S(_this._currentTrain) + "\u27a9TrainHoppingAnimation(next: " + H.S(_this._nextTrain) + ")";
      return H.S(_this._currentTrain) + "\u27a9TrainHoppingAnimation(no next)";
    }
  };
  S.CompoundAnimation.prototype = {
    didStartListening$0: function() {
      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: function() {
      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: function(_) {
      var t1 = this.next;
      if (t1.get$status(t1) === C.AnimationStatus_1 || t1.get$status(t1) === C.AnimationStatus_2)
        return t1.get$status(t1);
      t1 = this.first;
      return t1.get$status(t1);
    },
    toString$0: function(_) {
      return "CompoundAnimation(" + this.first.toString$0(0) + ", " + this.next.toString$0(0) + ")";
    },
    _maybeNotifyStatusListeners$1: function(_) {
      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: function() {
      var _this = this;
      if (!J.$eq$(_this.get$value(_this), _this._lastValue)) {
        _this._lastValue = _this.get$value(_this);
        _this.notifyListeners$0();
      }
    },
    get$first: function(receiver) {
      return this.first;
    }
  };
  S.AnimationMin.prototype = {
    get$value: function(_) {
      var t2,
        t1 = this.first;
      t1 = t1.get$value(t1);
      t2 = this.next;
      t2 = t2.get$value(t2);
      return Math.min(H.checkNum(t1), H.checkNum(t2));
    }
  };
  S._CompoundAnimation_Animation_AnimationLazyListenerMixin.prototype = {};
  S._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin.prototype = {};
  S._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin.prototype = {};
  S._CurvedAnimation_Animation_AnimationWithParentMixin.prototype = {};
  S._ProxyAnimation_Animation_AnimationLazyListenerMixin.prototype = {};
  S._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin.prototype = {};
  S._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin.prototype = {};
  S._ReverseAnimation_Animation_AnimationLazyListenerMixin.prototype = {};
  S._ReverseAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalStatusListenersMixin.prototype = {};
  S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin.prototype = {};
  S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin.prototype = {};
  S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin.prototype = {};
  Z.ParametricCurve.prototype = {
    transform$1: function(_, t) {
      return this.transformInternal$1(t);
    },
    transformInternal$1: function(t) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    toString$0: function(_) {
      return "ParametricCurve";
    }
  };
  Z.Curve.prototype = {
    transform$1: function(_, t) {
      if (t === 0 || t === 1)
        return t;
      return this.super$ParametricCurve$transform(0, t);
    }
  };
  Z._Linear.prototype = {
    transformInternal$1: function(t) {
      return t;
    }
  };
  Z.SawTooth.prototype = {
    transformInternal$1: function(t) {
      t *= this.count;
      return t - (t < 0 ? Math.ceil(t) : Math.floor(t));
    },
    toString$0: function(_) {
      return "SawTooth(" + this.count + ")";
    }
  };
  Z.Interval.prototype = {
    transformInternal$1: function(t) {
      var t1 = this.begin;
      t = C.JSNumber_methods.clamp$2((t - t1) / (this.end - t1), 0, 1);
      if (t === 0 || t === 1)
        return t;
      return this.curve.transform$1(0, t);
    },
    toString$0: function(_) {
      var _this = this,
        t1 = _this.curve;
      if (!(t1 instanceof Z._Linear))
        return "Interval(" + H.S(_this.begin) + "\u22ef" + H.S(_this.end) + ")\u27a9" + t1.toString$0(0);
      return "Interval(" + H.S(_this.begin) + "\u22ef" + H.S(_this.end) + ")";
    },
    get$begin: function() {
      return this.begin;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  Z.Threshold.prototype = {
    transformInternal$1: function(t) {
      return t < this.threshold ? 0 : 1;
    }
  };
  Z.Cubic.prototype = {
    _evaluateCubic$3: function(a, b, m) {
      var t1 = 1 - m;
      return 3 * a * t1 * t1 * m + 3 * b * t1 * m * m + m * m * m;
    },
    transformInternal$1: function(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: function(_) {
      var _this = this;
      return "Cubic(" + C.JSNumber_methods.toStringAsFixed$1(_this.a, 2) + ", " + C.JSNumber_methods.toStringAsFixed$1(_this.b, 2) + ", " + C.JSNumber_methods.toStringAsFixed$1(_this.c, 2) + ", " + C.JSNumber_methods.toStringAsFixed$1(_this.d, 2) + ")";
    }
  };
  Z.FlippedCurve.prototype = {
    transformInternal$1: function(t) {
      return 1 - this.curve.transform$1(0, 1 - t);
    },
    toString$0: function(_) {
      return "FlippedCurve(" + this.curve.toString$0(0) + ")";
    }
  };
  Z._DecelerateCurve.prototype = {
    transformInternal$1: function(t) {
      t = 1 - t;
      return 1 - t * t;
    }
  };
  S.AnimationLazyListenerMixin.prototype = {
    didRegisterListener$0: function() {
      if (this.AnimationLazyListenerMixin__listenerCounter === 0)
        this.didStartListening$0();
      ++this.AnimationLazyListenerMixin__listenerCounter;
    },
    didUnregisterListener$0: function() {
      if (--this.AnimationLazyListenerMixin__listenerCounter === 0)
        this.didStopListening$0();
    }
  };
  S.AnimationEagerListenerMixin.prototype = {
    didRegisterListener$0: function() {
    },
    didUnregisterListener$0: function() {
    },
    dispose$0: function(_) {
    }
  };
  S.AnimationLocalListenersMixin.prototype = {
    addListener$1: function(_, listener) {
      var t1;
      this.didRegisterListener$0();
      t1 = this.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._observer_list$_list.push(listener);
    },
    removeListener$1: function(_, listener) {
      if (this.AnimationLocalListenersMixin__listeners.remove$1(0, listener))
        this.didUnregisterListener$0();
    },
    notifyListeners$0: function() {
      var listener, exception, stack, t2, _i, exception0, rti, t3, t4, _this = this,
        t1 = _this.AnimationLocalListenersMixin__listeners,
        localListeners = P.List_List$from(t1, true, type$.void_Function);
      for (t2 = localListeners.length, _i = 0; _i < t2; ++_i) {
        listener = localListeners[_i];
        try {
          if (t1.contains$1(0, listener))
            listener.call$0();
        } catch (exception0) {
          exception = H.unwrapException(exception0);
          stack = H.getTraceFromException(exception0);
          rti = _this instanceof H.Closure ? H.closureFunctionType(_this) : null;
          t3 = U.ErrorDescription$("while notifying listeners for " + H.createRuntimeType(rti == null ? H.instanceType(_this) : rti).toString$0(0));
          t4 = $.$get$FlutterError_onError();
          if (t4 != null)
            t4.call$1(new U.FlutterErrorDetails(exception, stack, "animation library", t3, null, false));
        }
      }
    }
  };
  S.AnimationLocalStatusListenersMixin.prototype = {
    addStatusListener$1: function(listener) {
      var t1;
      this.didRegisterListener$0();
      t1 = this.AnimationLocalStatusListenersMixin__statusListeners;
      t1._isDirty = true;
      t1._observer_list$_list.push(listener);
    },
    removeStatusListener$1: function(listener) {
      if (this.AnimationLocalStatusListenersMixin__statusListeners.remove$1(0, listener))
        this.didUnregisterListener$0();
    },
    notifyStatusListeners$1: function($status) {
      var listener, exception, stack, t2, _i, exception0, rti, t3, t4, _this = this,
        t1 = _this.AnimationLocalStatusListenersMixin__statusListeners,
        localListeners = P.List_List$from(t1, true, type$.void_Function_AnimationStatus);
      for (t2 = localListeners.length, _i = 0; _i < t2; ++_i) {
        listener = localListeners[_i];
        try {
          if (t1.contains$1(0, listener))
            listener.call$1($status);
        } catch (exception0) {
          exception = H.unwrapException(exception0);
          stack = H.getTraceFromException(exception0);
          rti = _this instanceof H.Closure ? H.closureFunctionType(_this) : null;
          t3 = U.ErrorDescription$("while notifying status listeners for " + H.createRuntimeType(rti == null ? H.instanceType(_this) : rti).toString$0(0));
          t4 = $.$get$FlutterError_onError();
          if (t4 != null)
            t4.call$1(new U.FlutterErrorDetails(exception, stack, "animation library", t3, null, false));
        }
      }
    }
  };
  R.Animatable.prototype = {
    chain$1: function($parent) {
      return new R._ChainedEvaluation($parent, this, H._instanceType(this)._eval$1("_ChainedEvaluation<Animatable.T>"));
    }
  };
  R._AnimatedEvaluation.prototype = {
    get$value: function(_) {
      var t1 = this.parent;
      return this._evaluatable.transform$1(0, t1.get$value(t1));
    },
    toString$0: function(_) {
      var t1 = this.parent,
        t2 = this._evaluatable;
      return H.S(t1) + "\u27a9" + t2.toString$0(0) + "\u27a9" + H.S(t2.transform$1(0, t1.get$value(t1)));
    },
    toStringDetails$0: function() {
      return this.super$Animation$toStringDetails() + " " + this._evaluatable.toString$0(0);
    },
    get$parent: function(receiver) {
      return this.parent;
    }
  };
  R._ChainedEvaluation.prototype = {
    transform$1: function(_, t) {
      return this._evaluatable.transform$1(0, this._tween$_parent.transform$1(0, t));
    },
    toString$0: function(_) {
      return H.S(this._tween$_parent) + "\u27a9" + this._evaluatable.toString$0(0);
    }
  };
  R.Tween.prototype = {
    lerp$1: function(t) {
      var t1 = this.begin;
      return H._instanceType(this)._eval$1("Tween.T")._as(J.$add$ansx(t1, J.$mul$ns(J.$sub$n(this.end, t1), t)));
    },
    transform$1: function(_, t) {
      if (t === 0)
        return this.begin;
      if (t === 1)
        return this.end;
      return this.lerp$1(t);
    },
    toString$0: function(_) {
      return "Animatable(" + H.S(this.begin) + " \u2192 " + H.S(this.end) + ")";
    },
    get$begin: function() {
      return this.begin;
    },
    get$end: function(receiver) {
      return this.end;
    },
    set$begin: function(val) {
      return this.begin = val;
    },
    set$end: function(receiver, val) {
      return this.end = val;
    }
  };
  R.ReverseTween.prototype = {
    lerp$1: function(t) {
      return this.parent.lerp$1(1 - t);
    },
    get$parent: function(receiver) {
      return this.parent;
    }
  };
  R.ColorTween.prototype = {
    lerp$1: function(t) {
      return P.Color_lerp(this.begin, this.end, t);
    }
  };
  R.SizeTween.prototype = {
    lerp$1: function(t) {
      return P.Size_lerp(this.begin, this.end, t);
    }
  };
  R.RectTween.prototype = {
    lerp$1: function(t) {
      return P.Rect_lerp(this.begin, this.end, t);
    }
  };
  R.IntTween.prototype = {
    lerp$1: function(t) {
      var t2,
        t1 = this.begin;
      t1.toString;
      t2 = this.end;
      t2.toString;
      return C.JSNumber_methods.round$0(t1 + (t2 - t1) * t);
    }
  };
  R.CurveTween.prototype = {
    transform$1: function(_, t) {
      if (t === 0 || t === 1)
        return t;
      return this.curve.transform$1(0, t);
    },
    toString$0: function(_) {
      return "CurveTween(curve: " + this.curve.toString$0(0) + ")";
    }
  };
  R.__AnimatedEvaluation_Animation_AnimationWithParentMixin.prototype = {};
  F.CupertinoActivityIndicator.prototype = {
    createState$0: function() {
      return new F._CupertinoActivityIndicatorState(null, C._StateLifecycle_0);
    }
  };
  F._CupertinoActivityIndicatorState.prototype = {
    get$_activity_indicator$_controller: function() {
      var t1 = this.___CupertinoActivityIndicatorState__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this.___CupertinoActivityIndicatorState__controller = G.AnimationController$(null, C.Duration_1000000, 0, null, 1, null, _this);
      _this._widget.toString;
      _this.get$_activity_indicator$_controller().repeat$0(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._widget.toString;
      oldWidget.toString;
    },
    dispose$0: function(_) {
      this.get$_activity_indicator$_controller().dispose$0(0);
      this.super$__CupertinoActivityIndicatorState_State_SingleTickerProviderStateMixin$dispose(0);
    },
    build$1: function(_, context) {
      var t1, t2;
      this._widget.toString;
      t1 = this.get$_activity_indicator$_controller();
      t2 = C.CupertinoDynamicColor_YNl.resolveFrom$1(context);
      this._widget.toString;
      return T.SizedBox$(T.CustomPaint$(null, null, null, new F._CupertinoActivityIndicatorPainter(t1, t2, 10, 1, new P.RRect(-1, -3.3333333333333335, 1, -10, 1, 1, 1, 1, 1, 1, 1, 1, true), t1), C.Size_0_0), 20, 20);
    }
  };
  F._CupertinoActivityIndicatorPainter.prototype = {
    paint$2: function(canvas, size) {
      var activeTick, t2, t3, t4, i, t, t5, _this = this,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      canvas.save$0(0);
      canvas.translate$2(0, size._dx / 2, size._dy / 2);
      activeTick = C.JSNumber_methods.floor$0(8 * _this.position.get$_animation_controller$_value());
      for (t1 = _this.progress, t2 = 8 * t1, t3 = _this.tickFundamentalRRect, t1 = t1 < 1, t4 = _this.activeColor, i = 0; i < t2; ++i) {
        t = C.JSInt_methods.$mod(i - activeTick, 8);
        t5 = t1 ? 147 : C.List_2Vk0[t];
        paint.set$color(0, P.Color$fromARGB(t5, t4.get$value(t4) >>> 16 & 255, t4.get$value(t4) >>> 8 & 255, t4.get$value(t4) & 255));
        canvas.drawRRect$2(0, t3, paint);
        canvas.rotate$1(0, 0.7853981633974483);
      }
      canvas.restore$0(0);
    },
    shouldRepaint$1: function(oldPainter) {
      return oldPainter.position != this.position || !oldPainter.activeColor.$eq(0, this.activeColor) || oldPainter.progress !== this.progress;
    }
  };
  F.__CupertinoActivityIndicatorState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  E.CupertinoDynamicColor.prototype = {
    get$value: function(_) {
      return this._effectiveColor.value;
    },
    get$_isPlatformBrightnessDependent: function() {
      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: function() {
      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: function() {
      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: function(context) {
      var inheritedTheme, t1, brightness, isHighContrastEnabled, resolved, _this = this, _null = null,
        _s80_ = string$.x60null_c;
      if (_this.get$_isPlatformBrightnessDependent()) {
        inheritedTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$._InheritedCupertinoTheme);
        t1 = inheritedTheme == null ? _null : inheritedTheme.theme.data.get$brightness();
        if (t1 == null) {
          t1 = F.MediaQuery_maybeOf(context);
          t1 = t1 == null ? _null : t1.platformBrightness;
          brightness = t1;
        } else
          brightness = t1;
        if (brightness == null)
          brightness = C.Brightness_1;
      } else
        brightness = C.Brightness_1;
      if (_this.get$_isHighContrastDependent()) {
        t1 = F.MediaQuery_maybeOf(context);
        t1 = t1 == null ? _null : t1.highContrast;
        isHighContrastEnabled = t1 === true;
      } else
        isHighContrastEnabled = false;
      if (_this.get$_isInterfaceElevationDependent())
        K.CupertinoUserInterfaceLevel_maybeOf(context);
      switch (brightness) {
        case C.Brightness_1:
          switch (C.CupertinoUserInterfaceLevelData_0) {
            case C.CupertinoUserInterfaceLevelData_0:
              resolved = isHighContrastEnabled ? _this.highContrastColor : _this.color;
              break;
            case C.CupertinoUserInterfaceLevelData_1:
              resolved = isHighContrastEnabled ? _this.highContrastElevatedColor : _this.elevatedColor;
              break;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
          break;
        case C.Brightness_0:
          switch (C.CupertinoUserInterfaceLevelData_0) {
            case C.CupertinoUserInterfaceLevelData_0:
              resolved = isHighContrastEnabled ? _this.darkHighContrastColor : _this.darkColor;
              break;
            case C.CupertinoUserInterfaceLevelData_1:
              resolved = isHighContrastEnabled ? _this.darkHighContrastElevatedColor : _this.darkElevatedColor;
              break;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      return new E.CupertinoDynamicColor(resolved, _this._debugLabel, _null, _this.color, _this.darkColor, _this.highContrastColor, _this.darkHighContrastColor, _this.elevatedColor, _this.darkElevatedColor, _this.highContrastElevatedColor, _this.darkHighContrastElevatedColor, 0);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof E.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: function(_) {
      var _this = this;
      return P.hashValues(_this._effectiveColor.value, _this.color, _this.darkColor, _this.highContrastColor, _this.elevatedColor, _this.darkElevatedColor, _this.darkHighContrastColor, _this.darkHighContrastElevatedColor, _this.highContrastElevatedColor, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var _this = this,
        t1 = new E.CupertinoDynamicColor_toString_toString(_this),
        t2 = H._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._debugLabel;
      t1 = (t1 == null ? "CupertinoDynamicColor" : t1) + "(" + C.JSArray_methods.join$1(t2, ", ");
      return t1 + ", resolved by: UNRESOLVED)";
    }
  };
  E.CupertinoDynamicColor_toString_toString.prototype = {
    call$2: function($name, color) {
      var marker = color.$eq(0, this.$this._effectiveColor) ? "*" : "";
      return marker + $name + " = " + color.toString$0(0) + marker;
    },
    $signature: 689
  };
  E._CupertinoDynamicColor_Color_Diagnosticable.prototype = {};
  L._CupertinoDesktopTextSelectionControls.prototype = {
    getHandleSize$1: function(textLineHeight) {
      return C.Size_0_0;
    },
    buildHandle$3: function(context, type, textLineHeight) {
      return C.SizedBox_0_0_null_null;
    },
    getHandleAnchor$2: function(type, textLineHeight) {
      return C.Offset_0_0;
    }
  };
  T.CupertinoIconThemeData.prototype = {
    resolve$1: function(context) {
      var t1 = this.color,
        resolvedColor = E.CupertinoDynamicColor_maybeResolve(t1, context);
      return J.$eq$(resolvedColor, t1) ? this : this.copyWith$1$color(resolvedColor);
    },
    copyWith$3$color$opacity$size: function(color, opacity, size) {
      var _this = this,
        t1 = color == null ? _this.color : color,
        t2 = opacity == null ? _this.get$opacity(_this) : opacity;
      return new T.CupertinoIconThemeData(t1, t2, size == null ? _this.size : size);
    },
    copyWith$1$color: function(color) {
      return this.copyWith$3$color$opacity$size(color, null, null);
    }
  };
  T._CupertinoIconThemeData_IconThemeData_Diagnosticable.prototype = {};
  K.CupertinoUserInterfaceLevelData.prototype = {
    toString$0: function(_) {
      return this._interface_level$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  L._CupertinoLocalizationsDelegate.prototype = {
    isSupported$1: function(locale) {
      return locale.get$languageCode(locale) === "en";
    },
    load$1: function(_, locale) {
      return new O.SynchronousFuture(C.C_DefaultCupertinoLocalizations, type$.SynchronousFuture_CupertinoLocalizations);
    },
    shouldReload$1: function(old) {
      return false;
    },
    toString$0: function(_) {
      return "DefaultCupertinoLocalizations.delegate(en_US)";
    }
  };
  L.DefaultCupertinoLocalizations.prototype = {$isCupertinoLocalizations: 1};
  E.CupertinoScrollbar.prototype = {
    createState$0: function() {
      return new E._CupertinoScrollbarState(new N.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), null, C._StateLifecycle_0);
    }
  };
  E._CupertinoScrollbarState.prototype = {
    get$_thicknessAnimationController: function() {
      var t1 = this.___CupertinoScrollbarState__thicknessAnimationController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_thicknessAnimationController")) : t1;
    },
    initState$0: function() {
      var t1, _this = this;
      _this.super$RawScrollbarState$initState();
      _this.___CupertinoScrollbarState__thicknessAnimationController = G.AnimationController$(null, C.Duration_100000, 0, null, 1, null, _this);
      t1 = _this.get$_thicknessAnimationController();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._observer_list$_list.push(new E._CupertinoScrollbarState_initState_closure(_this));
    },
    updateScrollbarPainter$0: function() {
      var t3, t4, t5, _this = this,
        t1 = _this.get$scrollbarPainter(),
        t2 = _this._framework$_element;
      t2.toString;
      t2 = C.CupertinoDynamicColor_zPV.resolveFrom$1(t2);
      t1.set$color(0, t2);
      t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      t1.set$textDirection(0, t2.textDirection);
      t2 = _this._widget.thickness;
      t2.toString;
      t3 = _this.get$_thicknessAnimationController().get$_animation_controller$_value();
      t4 = _this._widget;
      t5 = t4.thicknessWhileDragging;
      t4 = t4.thickness;
      t4.toString;
      t1.set$thickness(t2 + t3 * (t5 - t4));
      t1.set$mainAxisMargin(3);
      t1.set$crossAxisMargin(3);
      t4 = _this._widget;
      t4 = P.Radius_lerp(t4.radius, t4.radiusWhileDragging, _this.get$_thicknessAnimationController().get$_animation_controller$_value());
      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);
    },
    handleThumbPressStart$1: function(localPosition) {
      var t1, _this = this;
      _this.super$RawScrollbarState$handleThumbPressStart(localPosition);
      t1 = _this.getScrollbarDirection$0();
      t1.toString;
      switch (t1) {
        case C.Axis_1:
          _this._pressStartAxisPosition = localPosition._dy;
          break;
        case C.Axis_0:
          _this._pressStartAxisPosition = localPosition._dx;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    handleThumbPress$0: function() {
      if (this.getScrollbarDirection$0() == null)
        return;
      this.super$RawScrollbarState$handleThumbPress();
      this.get$_thicknessAnimationController().forward$0(0).then$1$1(0, new E._CupertinoScrollbarState_handleThumbPress_closure(), type$.void);
    },
    handleThumbPressEnd$2: function(localPosition, velocity) {
      var _this = this,
        direction = _this.getScrollbarDirection$0();
      if (direction == null)
        return;
      _this.get$_thicknessAnimationController().reverse$0(0);
      _this.super$RawScrollbarState$handleThumbPressEnd(localPosition, velocity);
      switch (direction) {
        case C.Axis_1:
          if (Math.abs(velocity.pixelsPerSecond._dy) < 10 && Math.abs(localPosition._dy - _this._pressStartAxisPosition) > 0)
            X.HapticFeedback_mediumImpact();
          break;
        case C.Axis_0:
          if (Math.abs(velocity.pixelsPerSecond._dx) < 10 && Math.abs(localPosition._dx - _this._pressStartAxisPosition) > 0)
            X.HapticFeedback_mediumImpact();
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    dispose$0: function(_) {
      this.get$_thicknessAnimationController().dispose$0(0);
      this.super$RawScrollbarState$dispose(0);
    }
  };
  E._CupertinoScrollbarState_initState_closure.prototype = {
    call$0: function() {
      this.$this.updateScrollbarPainter$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  E._CupertinoScrollbarState_handleThumbPress_closure.prototype = {
    call$1: function(_) {
      return X.HapticFeedback_mediumImpact();
    },
    $signature: 690
  };
  N.CupertinoSwitch.prototype = {
    createState$0: function() {
      return new N._CupertinoSwitchState(null, C._StateLifecycle_0);
    }
  };
  N._CupertinoSwitchState.prototype = {
    get$_switch0$_tap: function() {
      var t1 = this.___CupertinoSwitchState__tap;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_tap")) : t1;
    },
    get$_switch0$_drag: function() {
      var t1 = this.___CupertinoSwitchState__drag;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_drag")) : t1;
    },
    get$_switch0$_positionController: function() {
      var t1 = this.___CupertinoSwitchState__positionController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_positionController")) : t1;
    },
    get$position: function(_) {
      var t1 = this.___CupertinoSwitchState_position;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("position")) : t1;
    },
    get$_switch0$_reactionController: function() {
      var t1 = this.___CupertinoSwitchState__reactionController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_reactionController")) : t1;
    },
    get$_switch0$_reaction: function() {
      var t1 = this.___CupertinoSwitchState__reaction;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_reaction")) : t1;
    },
    initState$0: function() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = N.TapGestureRecognizer$(_null);
      t1.onTapDown = _this.get$_switch0$_handleTapDown();
      t1.onTapUp = _this.get$_switch0$_handleTapUp();
      t1.onTap = _this.get$_switch0$_handleTap();
      t1.onTapCancel = _this.get$_switch0$_handleTapCancel();
      _this.___CupertinoSwitchState__tap = t1;
      t1 = O.HorizontalDragGestureRecognizer$(_null, _null, _null);
      t1.onStart = _this.get$_switch0$_handleDragStart();
      t1.onUpdate = _this.get$_switch0$_handleDragUpdate();
      t1.onEnd = _this.get$_switch0$_handleDragEnd();
      t2 = _this._widget;
      t1.dragStartBehavior = t2.dragStartBehavior;
      _this.___CupertinoSwitchState__drag = t1;
      _this.___CupertinoSwitchState__positionController = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, t2.value ? 1 : 0, _this);
      _this.___CupertinoSwitchState_position = S.CurvedAnimation$(C.C__Linear, _this.get$_switch0$_positionController(), _null);
      _this.___CupertinoSwitchState__reactionController = G.AnimationController$(_null, C.Duration_300000, 0, _null, 1, _null, _this);
      _this.___CupertinoSwitchState__reaction = S.CurvedAnimation$(C.Cubic_JUR, _this.get$_switch0$_reactionController(), _null);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this.get$_switch0$_drag();
      t2 = _this._widget;
      t1.dragStartBehavior = t2.dragStartBehavior;
      t1 = _this.needsPositionAnimation;
      if (t1 || oldWidget.value != t2.value)
        _this._resumePositionAnimation$1$isLinear(t1);
    },
    _resumePositionAnimation$1$isLinear: function(isLinear) {
      var t1, _this = this;
      _this.needsPositionAnimation = false;
      t1 = _this.get$position(_this);
      t1.curve = isLinear ? C.C__Linear : C.Cubic_JUR;
      t1.reverseCurve = isLinear ? C.C__Linear : new Z.FlippedCurve(C.Cubic_JUR);
      if (_this._widget.value)
        _this.get$_switch0$_positionController().forward$0(0);
      else
        _this.get$_switch0$_positionController().reverse$0(0);
    },
    _resumePositionAnimation$0: function() {
      return this._resumePositionAnimation$1$isLinear(true);
    },
    _switch0$_handleTapDown$1: function(details) {
      if (this._widget.onChanged != null)
        this.needsPositionAnimation = false;
      this.get$_switch0$_reactionController().forward$0(0);
    },
    _switch0$_handleTap$0: function() {
      var t1 = this._widget,
        t2 = t1.onChanged;
      if (t2 != null) {
        t2.call$1(!t1.value);
        this._emitVibration$0();
      }
    },
    _switch0$_handleTapUp$1: function(details) {
      if (this._widget.onChanged != null) {
        this.needsPositionAnimation = false;
        this.get$_switch0$_reactionController().reverse$0(0);
      }
    },
    _switch0$_handleTapCancel$0: function() {
      if (this._widget.onChanged != null)
        this.get$_switch0$_reactionController().reverse$0(0);
    },
    _switch0$_handleDragStart$1: function(details) {
      var _this = this;
      if (_this._widget.onChanged != null) {
        _this.needsPositionAnimation = false;
        _this.get$_switch0$_reactionController().forward$0(0);
        _this._emitVibration$0();
      }
    },
    _switch0$_handleDragUpdate$1: function(details) {
      var t1, delta, _this = this;
      if (_this._widget.onChanged != null) {
        t1 = _this.get$position(_this);
        t1.reverseCurve = t1.curve = C.C__Linear;
        t1 = details.primaryDelta;
        t1.toString;
        delta = t1 / 20;
        t1 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
        t1.toString;
        switch (t1.textDirection) {
          case C.TextDirection_0:
            t1 = _this.get$_switch0$_positionController();
            t1.set$value(0, t1.get$_animation_controller$_value() - delta);
            break;
          case C.TextDirection_1:
            t1 = _this.get$_switch0$_positionController();
            t1.set$value(0, t1.get$_animation_controller$_value() + delta);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      }
    },
    _switch0$_handleDragEnd$1: function(details) {
      var t1, t2, t3, _this = this;
      _this.setState$1(new N._CupertinoSwitchState__handleDragEnd_closure(_this));
      t1 = _this.get$position(_this);
      t1 = t1.get$value(t1);
      t2 = _this._widget;
      t3 = t2.value;
      if (t1 >= 0.5 !== t3)
        t2.onChanged.call$1(!t3);
      _this.get$_switch0$_reactionController().reverse$0(0);
    },
    _emitVibration$0: function() {
      switch (U.defaultTargetPlatform()) {
        case C.TargetPlatform_2:
          X.HapticFeedback_lightImpact();
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_4:
        case C.TargetPlatform_5:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    build$1: function(_, context) {
      var t1, t2, t3, t4, t5, t6, _this = this;
      if (_this.needsPositionAnimation)
        _this._resumePositionAnimation$0();
      t1 = _this._widget;
      t2 = t1.onChanged == null ? 0.5 : 1;
      t1 = t1.value;
      t3 = C.CupertinoDynamicColor_gg4.resolveFrom$1(context);
      _this._widget.toString;
      t4 = C.CupertinoDynamicColor_MdH.resolveFrom$1(context);
      t5 = _this._widget.onChanged;
      t6 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t6.toString;
      return T.Opacity$(false, new N._CupertinoSwitchRenderObjectWidget(t1, t3, t4, t5, _this, t6.textDirection, null), t2);
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this.get$_switch0$_tap();
      t1._stopTimer$0();
      t1.super$OneSequenceGestureRecognizer$dispose(0);
      t1 = _this.get$_switch0$_drag();
      t1._velocityTrackers.clear$0(0);
      t1.super$OneSequenceGestureRecognizer$dispose(0);
      _this.get$_switch0$_positionController().dispose$0(0);
      _this.get$_switch0$_reactionController().dispose$0(0);
      _this.super$__CupertinoSwitchState_State_TickerProviderStateMixin$dispose(0);
    }
  };
  N._CupertinoSwitchState__handleDragEnd_closure.prototype = {
    call$0: function() {
      this.$this.needsPositionAnimation = true;
    },
    $signature: 0
  };
  N._CupertinoSwitchRenderObjectWidget.prototype = {
    createRenderObject$1: function(context) {
      var t3, _this = this,
        t1 = _this.state,
        t2 = new N._RenderCupertinoSwitch(t1, _this.value, _this.activeColor, _this.trackColor, _this.onChanged, _this.textDirection, C.BoxConstraints_59_59_39_39, null);
      t2.get$isRepaintBoundary();
      t2.get$alwaysNeedsCompositing();
      t2.__RenderObject__needsCompositing = false;
      t2.set$child(null);
      t3 = t2.get$markNeedsPaint();
      t1.get$position(t1).parent.addListener$1(0, t3);
      t1.get$_switch0$_reaction().addListener$1(0, t3);
      return t2;
    },
    updateRenderObject$2: function(context, renderObject) {
      var _this = this;
      renderObject.set$value(0, _this.value);
      renderObject.set$activeColor(_this.activeColor);
      renderObject.set$trackColor(_this.trackColor);
      renderObject.set$onChanged(_this.onChanged);
      renderObject.set$textDirection(0, _this.textDirection);
    }
  };
  N._RenderCupertinoSwitch.prototype = {
    set$value: function(_, value) {
      if (value == this._switch0$_value)
        return;
      this._switch0$_value = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$activeColor: function(value) {
      if (value.$eq(0, this._switch0$_activeColor))
        return;
      this._switch0$_activeColor = value;
      this.markNeedsPaint$0();
    },
    set$trackColor: function(value) {
      if (value.$eq(0, this._switch0$_trackColor))
        return;
      this._switch0$_trackColor = value;
      this.markNeedsPaint$0();
    },
    set$onChanged: function(value) {
      var t1, _this = this;
      if (J.$eq$(value, _this._switch0$_onChanged))
        return;
      t1 = _this._switch0$_onChanged;
      _this._switch0$_onChanged = value;
      if (t1 != null !== (value != null)) {
        _this.markNeedsPaint$0();
        _this.markNeedsSemanticsUpdate$0();
      }
    },
    set$textDirection: function(_, value) {
      if (this._switch0$_textDirection === value)
        return;
      this._switch0$_textDirection = value;
      this.markNeedsPaint$0();
    },
    hitTestSelf$1: function(position) {
      return true;
    },
    handleEvent$2: function($event, entry) {
      var t1;
      if (type$.PointerDownEvent._is($event) && this._switch0$_onChanged != null) {
        t1 = this._switch0$_state;
        t1.get$_switch0$_drag().addPointer$1($event);
        t1.get$_switch0$_tap().addPointer$1($event);
      }
    },
    describeSemanticsConfiguration$1: function(config) {
      var t1, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      if (_this._switch0$_onChanged != null)
        config.set$onTap(_this._switch0$_state.get$_switch0$_handleTap());
      t1 = _this._switch0$_onChanged;
      config._setFlag$2(C.SemanticsFlag_64, true);
      config._setFlag$2(C.SemanticsFlag_128, t1 != null);
      t1 = _this._switch0$_value;
      config._setFlag$2(C.SemanticsFlag_65536, true);
      t1.toString;
      config._setFlag$2(C.SemanticsFlag_131072, t1);
    },
    paint$2: function(context, offset) {
      var currentReactionValue, visualPosition, paint, t3, trackRRect, currentThumbExtension, t4, thumbCenterY, thumbBounds, _this = this,
        canvas = context.get$canvas(context),
        t1 = _this._switch0$_state,
        t2 = t1.get$position(t1),
        currentValue = t2.get$value(t2);
      t1 = t1.get$_switch0$_reaction();
      currentReactionValue = t1.get$value(t1);
      switch (_this._switch0$_textDirection) {
        case C.TextDirection_0:
          visualPosition = 1 - currentValue;
          break;
        case C.TextDirection_1:
          visualPosition = currentValue;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = H._detectRenderer();
      paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t1 = P.Color_lerp(_this._switch0$_trackColor, _this._switch0$_activeColor, currentValue);
      t1.toString;
      paint.set$color(0, t1);
      t1 = _this._box$_size;
      t2 = offset._dx + (t1._dx - 51) / 2;
      t3 = offset._dy;
      t1 = t3 + (t1._dy - 31) / 2;
      trackRRect = P.RRect$fromRectAndRadius(new P.Rect(t2, t1, t2 + 51, t1 + 31), C.Radius_2Vk);
      canvas.drawRRect$2(0, trackRRect, paint);
      currentThumbExtension = 7 * currentReactionValue;
      t1 = t2 + 15.5;
      t2 += 35.5;
      t4 = P.lerpDouble(t1 - 14, t2 - 14 - currentThumbExtension, visualPosition);
      t4.toString;
      t2 = P.lerpDouble(t1 + 14 + currentThumbExtension, t2 + 14, visualPosition);
      t2.toString;
      thumbCenterY = t3 + _this._box$_size._dy / 2;
      thumbBounds = new P.Rect(t4, thumbCenterY - 14, t2, thumbCenterY + 14);
      _this._clipRRectLayer = context.pushClipRRect$6$oldLayer(_this.get$_needsCompositing(), C.Offset_0_0, thumbBounds, trackRRect, new N._RenderCupertinoSwitch_paint_closure(thumbBounds), _this._clipRRectLayer);
    }
  };
  N._RenderCupertinoSwitch_paint_closure.prototype = {
    call$2: function(innerContext, offset) {
      C.C_CupertinoThumbPainter.paint$2(innerContext.get$canvas(innerContext), this.thumbBounds);
    },
    $signature: 22
  };
  N.__CupertinoSwitchState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  F._TextSelectionHandlePainter0.prototype = {
    paint$2: function(canvas, size) {
      var circle, line, path,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, this.color);
      circle = P.Rect$fromCircle(C.Offset_6_6, 6);
      line = P.Rect$fromPoints(C.Offset_6pl, new P.Offset(7, size._dy));
      path = P.Path_Path();
      path.addOval$1(0, circle);
      path.addRect$1(0, line);
      canvas.drawPath$2(0, path, paint);
    },
    shouldRepaint$1: function(oldPainter) {
      return !J.$eq$(this.color, oldPainter.color);
    }
  };
  F.CupertinoTextSelectionControls.prototype = {
    getHandleSize$1: function(textLineHeight) {
      return new P.Size(12, textLineHeight + 12 - 1.5);
    },
    buildHandle$3: function(context, type, textLineHeight) {
      var t2, _null = null,
        t1 = textLineHeight + 12 - 1.5,
        handle = T.SizedBox$fromSize(T.CustomPaint$(_null, _null, _null, new F._TextSelectionHandlePainter0(K.CupertinoTheme_of(context).get$primaryColor(), _null), C.Size_0_0), new P.Size(12, t1));
      switch (type) {
        case C.TextSelectionHandleType_0:
          return handle;
        case C.TextSelectionHandleType_1:
          t2 = new E.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 T.Transform$(_null, handle, t2, true);
        case C.TextSelectionHandleType_2:
          return C.SizedBox_null_null_null_null;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    getHandleAnchor$2: function(type, textLineHeight) {
      var t1 = textLineHeight + 12 - 1.5;
      switch (type) {
        case C.TextSelectionHandleType_0:
          return new P.Offset(6, t1);
        case C.TextSelectionHandleType_1:
          return new P.Offset(6, t1 - 12 + 1.5);
        case C.TextSelectionHandleType_2:
          return new P.Offset(6, textLineHeight + (t1 - textLineHeight) / 2);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    }
  };
  R.CupertinoTextThemeData.prototype = {
    resolveFrom$1: function(context) {
      var _this = this,
        t1 = _this._text_theme$_defaults,
        resolvedLabelColor = t1.labelColor,
        resolvedLabelColor0 = resolvedLabelColor instanceof E.CupertinoDynamicColor ? resolvedLabelColor.resolveFrom$1(context) : resolvedLabelColor,
        resolvedInactiveGray = t1.inactiveGrayColor;
      if (resolvedInactiveGray instanceof E.CupertinoDynamicColor)
        resolvedInactiveGray = resolvedInactiveGray.resolveFrom$1(context);
      t1 = resolvedLabelColor0.$eq(0, resolvedLabelColor) && resolvedInactiveGray.$eq(0, C.CupertinoDynamicColor_YIZ) ? t1 : new R._TextThemeDefaultsBuilder(resolvedLabelColor0, resolvedInactiveGray);
      return new R.CupertinoTextThemeData(t1, E.CupertinoDynamicColor_maybeResolve(_this._primaryColor, context), R._resolveTextStyle(_this._textStyle, context), R._resolveTextStyle(_this._actionTextStyle, context), R._resolveTextStyle(_this._tabLabelTextStyle, context), R._resolveTextStyle(_this._navTitleTextStyle, context), R._resolveTextStyle(_this._navLargeTitleTextStyle, context), R._resolveTextStyle(_this._navActionTextStyle, context), R._resolveTextStyle(_this._pickerTextStyle, context), R._resolveTextStyle(_this._dateTimePickerTextStyle, context));
    }
  };
  R._TextThemeDefaultsBuilder.prototype = {};
  R._CupertinoTextThemeData_Object_Diagnosticable.prototype = {};
  K.CupertinoTheme.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return new K._InheritedCupertinoTheme(this, Y.IconTheme$(this.child, new T.CupertinoIconThemeData(this.data.get$primaryColor(), _null, _null), _null), _null);
    }
  };
  K._InheritedCupertinoTheme.prototype = {
    updateShouldNotify$1: function(old) {
      return this.theme.data !== old.theme.data;
    }
  };
  K.CupertinoThemeData.prototype = {
    get$primaryColor: function() {
      var t1 = this.primaryColor;
      return t1 == null ? this._defaults.primaryColor : t1;
    },
    get$primaryContrastingColor: function() {
      var t1 = this.primaryContrastingColor;
      return t1 == null ? this._defaults.primaryContrastingColor : t1;
    },
    get$textTheme: function() {
      var _null = null,
        t1 = this.textTheme;
      if (t1 == null) {
        t1 = this._defaults.textThemeDefaults;
        t1 = new K._DefaultCupertinoTextThemeData(t1.labelColor, t1.inactiveGray, C._TextThemeDefaultsBuilder_1yH, this.get$primaryColor(), _null, _null, _null, _null, _null, _null, _null, _null);
      }
      return t1;
    },
    get$barBackgroundColor: function() {
      var t1 = this.barBackgroundColor;
      return t1 == null ? this._defaults.barBackgroundColor : t1;
    },
    get$scaffoldBackgroundColor: function() {
      var t1 = this.scaffoldBackgroundColor;
      return t1 == null ? this._defaults.scaffoldBackgroundColor : t1;
    },
    resolveFrom$1: function(context) {
      var _this = this,
        t1 = new K.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 K.CupertinoThemeData$_rawWithDefaults(t2, t3, t4, t5, t1.call$1(_this.barBackgroundColor), t1.call$1(_this.scaffoldBackgroundColor), _this._defaults.resolveFrom$2(context, _this.textTheme == null));
    }
  };
  K.CupertinoThemeData_resolveFrom_convertColor.prototype = {
    call$1: function(color) {
      return E.CupertinoDynamicColor_maybeResolve(color, this.context);
    },
    $signature: 280
  };
  K.NoDefaultCupertinoThemeData.prototype = {
    resolveFrom$1: function(context) {
      var _this = this,
        t1 = new K.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 K.NoDefaultCupertinoThemeData(t2, t3, t4, t5, t1.call$1(_this.get$barBackgroundColor()), t1.call$1(_this.get$scaffoldBackgroundColor()));
    },
    get$brightness: function() {
      return this.brightness;
    },
    get$primaryColor: function() {
      return this.primaryColor;
    },
    get$primaryContrastingColor: function() {
      return this.primaryContrastingColor;
    },
    get$textTheme: function() {
      return this.textTheme;
    },
    get$barBackgroundColor: function() {
      return this.barBackgroundColor;
    },
    get$scaffoldBackgroundColor: function() {
      return this.scaffoldBackgroundColor;
    }
  };
  K.NoDefaultCupertinoThemeData_resolveFrom_convertColor.prototype = {
    call$1: function(color) {
      return E.CupertinoDynamicColor_maybeResolve(color, this.context);
    },
    $signature: 280
  };
  K._CupertinoThemeDefaults.prototype = {
    resolveFrom$2: function(context, resolveTextTheme) {
      var t5, t6, _this = this,
        t1 = new K._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 E.CupertinoDynamicColor)
          t6 = t6.resolveFrom$1(context);
        t5 = t5.inactiveGray;
        t5 = new K._CupertinoTextThemeDefaults(t6, t5 instanceof E.CupertinoDynamicColor ? t5.resolveFrom$1(context) : t5);
      }
      return new K._CupertinoThemeDefaults(_this.brightness, t2, t3, t4, t1, t5);
    }
  };
  K._CupertinoThemeDefaults_resolveFrom_convertColor.prototype = {
    call$1: function(color) {
      return color instanceof E.CupertinoDynamicColor ? color.resolveFrom$1(this.context) : color;
    },
    $signature: 279
  };
  K._CupertinoTextThemeDefaults.prototype = {};
  K._DefaultCupertinoTextThemeData.prototype = {};
  K._CupertinoThemeData_NoDefaultCupertinoThemeData_Diagnosticable.prototype = {};
  A.CupertinoThumbPainter.prototype = {
    paint$2: function(canvas, rect) {
      var _i, shadow, t2, result,
        t1 = rect.get$shortestSide() / 2,
        rrect = P.RRect$fromRectAndRadius(rect, new P.Radius(t1, t1));
      for (_i = 0; _i < 2; ++_i) {
        shadow = C.List_a99[_i];
        t1 = rrect.shift$1(shadow.offset);
        t2 = H._detectRenderer();
        result = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        result.set$color(0, shadow.color);
        t2 = shadow.blurRadius;
        result.set$maskFilter(new P.MaskFilter(C.BlurStyle_0, t2 > 0 ? t2 * 0.57735 + 0.5 : 0));
        canvas.drawRRect$2(0, t1, result);
      }
      t1 = rrect.inflate$1(0.5);
      t2 = H._detectRenderer();
      t2 = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t2.set$color(0, C.Color_167772160);
      canvas.drawRRect$2(0, t1, t2);
      t1 = H._detectRenderer();
      t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t1.set$color(0, C.Color_4294967295);
      canvas.drawRRect$2(0, rrect, t1);
    }
  };
  U._testPlatform_closure.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 699
  };
  U._browserPlatform_closure.prototype = {
    call$0: function() {
      var t1 = window.navigator.platform,
        navigatorPlatform = t1 == null ? null : t1.toLowerCase();
      if (navigatorPlatform == null)
        navigatorPlatform = "";
      if (C.JSString_methods.startsWith$1(navigatorPlatform, "mac"))
        return C.TargetPlatform_4;
      if (C.JSString_methods.startsWith$1(navigatorPlatform, "win"))
        return C.TargetPlatform_5;
      if (C.JSString_methods.contains$1(navigatorPlatform, "iphone") || C.JSString_methods.contains$1(navigatorPlatform, "ipad") || C.JSString_methods.contains$1(navigatorPlatform, "ipod"))
        return C.TargetPlatform_2;
      if (C.JSString_methods.contains$1(navigatorPlatform, "android"))
        return C.TargetPlatform_0;
      if (window.matchMedia("only screen and (pointer: fine)").matches)
        return C.TargetPlatform_3;
      return C.TargetPlatform_0;
    },
    $signature: 700
  };
  U._ErrorDiagnostic.prototype = {
    get$value: function(_) {
      var t1 = Y.DiagnosticsProperty.prototype.get$value.call(this, this);
      t1.toString;
      return t1;
    },
    valueToString$1$parentConfiguration: function(parentConfiguration) {
      var t1 = Y.DiagnosticsProperty.prototype.get$value.call(this, this);
      t1.toString;
      return J.join$1$ax(t1, "");
    }
  };
  U.ErrorDescription.prototype = {};
  U.ErrorSummary.prototype = {};
  U.ErrorHint.prototype = {};
  U.ErrorSpacer.prototype = {};
  U.FlutterErrorDetails.prototype = {
    exceptionAsString$0: function() {
      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 = C.JSString_methods.lastIndexOf$1(fullMessage, message);
            if (position === t1 - t2.get$length(message) && position > 2 && C.JSString_methods.substring$2(fullMessage, position - 2, position) === ": ") {
              body = C.JSString_methods.substring$2(fullMessage, 0, position - 2);
              splitPoint = C.JSString_methods.indexOf$1(body, " Failed assertion:");
              if (splitPoint >= 0)
                body = C.JSString_methods.substring$2(body, 0, splitPoint) + "\n" + C.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")) {
        t1 = type$.Error._is(longMessage) || type$.Exception._is(longMessage);
        t2 = J.getInterceptor$(longMessage);
        longMessage = t1 ? t2.toString$0(longMessage) : "  " + H.S(t2.toString$0(longMessage));
      }
      longMessage = J.trimRight$0$s(longMessage);
      return longMessage.length === 0 ? "  <no message available>" : longMessage;
    },
    _exceptionToDiagnosticable$0: function() {
      var t1,
        exception = this.exception;
      if (exception instanceof U.FlutterError)
        return exception;
      if (type$.AssertionError._is(exception) && exception.get$message(exception) instanceof U.FlutterError) {
        t1 = J.get$message$x(exception);
        t1.toString;
        return type$.FlutterError._as(t1);
      }
      return null;
    },
    get$summary: function() {
      var t1, summary;
      if (this._exceptionToDiagnosticable$0() != null) {
        t1 = H._setArrayType([], type$.JSArray_DiagnosticsNode);
        this.debugFillProperties$1(new Y.DiagnosticPropertiesBuilder(t1, C.DiagnosticsTreeStyle_1));
        t1 = new H.CastList(t1, type$.CastList_of_DiagnosticsNode_and_nullable_DiagnosticsNode);
        summary = t1.firstWhere$2$orElse(t1, new U.FlutterErrorDetails_summary_closure(), new U.FlutterErrorDetails_summary_closure0());
      } else
        summary = null;
      return summary == null ? U.ErrorSummary$(new U.FlutterErrorDetails_summary_formatException(this).call$0()) : summary;
    },
    debugFillProperties$1: function(properties) {
      var t1, verb, diagnosticable, errorName, t2, t3, prefix, message, stackFrames, _this = this;
      _this.super$Diagnosticable$debugFillProperties(properties);
      t1 = _this.context;
      verb = U.ErrorDescription$("thrown" + H.S(t1 != null ? U.ErrorDescription$(" " + t1.toString$0(0)) : ""));
      diagnosticable = _this._exceptionToDiagnosticable$0();
      t1 = _this.exception;
      if (t1 instanceof P.NullThrownError)
        U.ErrorDescription$("The null value was " + verb.toString$0(0) + ".");
      else if (typeof t1 == "number")
        U.ErrorDescription$("The number " + H.S(t1) + " was " + verb.toString$0(0) + ".");
      else {
        if (type$.AssertionError._is(t1))
          errorName = U.ErrorDescription$("assertion");
        else if (typeof t1 == "string")
          errorName = U.ErrorDescription$("message");
        else {
          t2 = type$.Error._is(t1) || type$.Exception._is(t1);
          t3 = J.getInterceptor$(t1);
          errorName = t2 ? U.ErrorDescription$(t3.get$runtimeType(t1).toString$0(0)) : U.ErrorDescription$(t3.get$runtimeType(t1).toString$0(0) + " object");
        }
        U.ErrorDescription$("The following " + errorName.toString$0(0) + " was " + verb.toString$0(0) + ":");
        if (diagnosticable != null)
          C.JSArray_methods.forEach$1(diagnosticable.diagnostics, properties.get$add(properties));
        else {
          prefix = J.get$runtimeType$(t1).toString$0(0) + ": ";
          message = _this.exceptionAsString$0();
          U.ErrorSummary$(C.JSString_methods.startsWith$1(message, prefix) ? C.JSString_methods.substring$1(message, prefix.length) : message);
        }
      }
      t2 = _this.stack;
      if (t2 != null) {
        if (type$.AssertionError._is(t1) && diagnosticable == null) {
          t1 = R.StackFrame_fromStackString(J.toString$0$(U.FlutterError__defaultStackTraceDemangler(t2)));
          t3 = H._arrayInstanceType(t1)._eval$1("SkipWhileIterable<1>");
          stackFrames = P.List_List$of(new H.SkipWhileIterable(t1, new U.FlutterErrorDetails_debugFillProperties_closure(), t3), true, t3._eval$1("Iterable.E"));
          if (stackFrames.length >= 2 && stackFrames[0].$package === "flutter" && stackFrames[1].$package === "flutter") {
            U.ErrorSpacer$();
            U.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");
          }
        }
        U.ErrorSpacer$();
        U.DiagnosticsStackTrace$("When the exception was thrown, this was the stack", t2, null);
      }
      t1 = _this.informationCollector;
      if (t1 != null) {
        U.ErrorSpacer$();
        J.forEach$1$ax(t1.call$0(), properties.get$add(properties));
      }
    },
    toStringShort$0: function() {
      var t1 = "Exception caught by " + this.library;
      return t1;
    },
    toString$0: function(_) {
      U._FlutterErrorDetailsNode$(null, C.DiagnosticsTreeStyle_5, this);
      return "";
    }
  };
  U.FlutterErrorDetails_summary_formatException.prototype = {
    call$0: function() {
      return J.trimLeft$0$s(this.$this.exceptionAsString$0().split("\n")[0]);
    },
    $signature: 124
  };
  U.FlutterErrorDetails_summary_closure.prototype = {
    call$1: function(node) {
      return node.get$level(node) === C.DiagnosticLevel_6;
    },
    $signature: 702
  };
  U.FlutterErrorDetails_summary_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  U.FlutterErrorDetails_debugFillProperties_closure.prototype = {
    call$1: function(frame) {
      return frame.packageScheme === "dart";
    },
    $signature: 703
  };
  U.FlutterError.prototype = {
    get$message: function(_) {
      return this.toString$0(0);
    },
    toStringShort$0: function() {
      return "FlutterError";
    },
    toString$0: function(_) {
      var t1 = this.diagnostics;
      return new H.MappedListIterable(t1, new U.FlutterError_toString_closure(new Y.TextTreeRenderer(4000000000, 65, C.DiagnosticLevel_2, -1)), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$1(0, "\n");
    },
    $isAssertionError: 1,
    $isDiagnosticableTree: 1
  };
  U.FlutterError_FlutterError_closure.prototype = {
    call$1: function(line) {
      return U.ErrorDescription$(line);
    },
    $signature: 704
  };
  U.FlutterError_defaultStackFilter_closure.prototype = {
    call$1: function(value) {
      return value + 1;
    },
    $signature: 39
  };
  U.FlutterError_defaultStackFilter_closure0.prototype = {
    call$1: function(value) {
      return value + 1;
    },
    $signature: 39
  };
  U.FlutterError_toString_closure.prototype = {
    call$1: function(node) {
      return C.JSString_methods.trimRight$0(this.renderer.render$1(node));
    },
    $signature: 706
  };
  U.debugPrintStack_closure.prototype = {
    call$1: function(line) {
      return J.contains$1$asx(line, "StackTrace.current") || C.JSString_methods.contains$1(line, "dart-sdk/lib/_internal") || C.JSString_methods.contains$1(line, "dart:sdk_internal");
    },
    $signature: 17
  };
  U.DiagnosticsStackTrace.prototype = {
    get$allowTruncate: function() {
      return false;
    }
  };
  U._FlutterErrorDetailsNode.prototype = {
    get$builder: function() {
      Y.DiagnosticableNode.prototype.get$builder.call(this);
      return null;
    }
  };
  U._FlutterError_Error_DiagnosticableTreeMixin.prototype = {};
  U._FlutterErrorDetails_Object_Diagnosticable.prototype = {};
  N.BindingBase.prototype = {
    BindingBase$0: function() {
      var t1, t2, t3, t4, t5, t6, _this = this, _null = null;
      P.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 = P.HashSet_HashSet(t1);
      t3 = H._setArrayType([], type$.JSArray_Element_2);
      t4 = P.HashSet_HashSet(t1);
      t5 = P.LinkedHashMap_LinkedHashMap(_null, _null, type$.void_Function_FocusHighlightMode, type$.int);
      t6 = O.FocusScopeNode$(true, "Root Focus Scope", false);
      t6 = t6._manager = new O.FocusManager(new R.HashedObserverList(t5, type$.HashedObserverList_of_void_Function_FocusHighlightMode), t6, P.LinkedHashSet_LinkedHashSet$_empty(type$.FocusNode), P.List_List$filled(0, _null, false, type$.nullable_void_Function));
      $.$get$RawKeyboard_instance().keyEventHandler = t6.get$_handleRawKeyEvent();
      t5 = $.GestureBinding__instance;
      t5.GestureBinding_pointerRouter._globalRoutes.$indexSet(0, t6.get$_handlePointerEvent(), _null);
      t1 = new N.BuildOwner(new N._InactiveElements(t2), t3, t6, P.LinkedHashMap_LinkedHashMap$_empty(type$.GlobalKey_State_StatefulWidget, t1), t4, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Map_of_Element_and_GlobalKey_State_StatefulWidget));
      _this.WidgetsBinding__buildOwner = t1;
      t1.onBuildScheduled = _this.get$_handleBuildScheduled();
      $.$get$window().platformDispatcher._onLocaleChanged = _this.get$handleLocaleChanged();
      C.OptionalMethodChannel_urv.setMethodCallHandler$1(_this.get$_handleNavigationInvocation());
      _this.initServiceExtensions$0();
      t1 = type$.String;
      P.postEvent("Flutter.FrameworkInitialization", P.LinkedHashMap_LinkedHashMap$_empty(t1, t1));
      P.Timeline_finishSync();
    },
    initInstances$0: function() {
    },
    initServiceExtensions$0: function() {
    },
    lockEvents$1: function(callback) {
      var future;
      P.Timeline_startSync("Lock events", null, null);
      ++this._lockCount;
      future = callback.call$0();
      future.whenComplete$1(new N.BindingBase_lockEvents_closure(this));
      return future;
    },
    unlocked$0: function() {
    },
    registerBoolServiceExtension$3$getter$name$setter: function(getter, $name, setter) {
      this.registerServiceExtension$2$callback$name(new N.BindingBase_registerBoolServiceExtension_closure(this, setter, $name, getter), $name);
    },
    registerNumericServiceExtension$3$getter$name$setter: function(getter, $name, setter) {
      this.registerServiceExtension$2$callback$name(new N.BindingBase_registerNumericServiceExtension_closure(this, $name, setter, getter), $name);
    },
    _postExtensionStateChangedEvent$2: function($name, value) {
      P.postEvent("Flutter.ServiceExtensionStateChanged", P.LinkedHashMap_LinkedHashMap$_literal(["extension", "ext.flutter." + $name, "value", value], type$.String, type$.dynamic));
    },
    registerServiceExtension$2$callback$name: function(callback, $name) {
      var methodName = "ext.flutter." + $name;
      P.registerExtension(methodName, new N.BindingBase_registerServiceExtension_closure(methodName, callback));
    },
    toString$0: function(_) {
      return "<BindingBase>";
    }
  };
  N.BindingBase_lockEvents_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (--t1._lockCount <= 0) {
        P.Timeline_finishSync();
        t1.super$_WidgetsFlutterBinding_BindingBase_GestureBinding$unlocked();
        if (t1.SchedulerBinding__taskQueue._priority_queue$_length !== 0)
          t1._ensureEventLoopCallback$0();
      }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  N.BindingBase_registerBoolServiceExtension_closure.prototype = {
    call$1: function(parameters) {
      return this.$call$body$BindingBase_registerBoolServiceExtension_closure(parameters);
    },
    $call$body$BindingBase_registerBoolServiceExtension_closure: function(parameters) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Map_String_dynamic),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.getInterceptor$x(parameters);
              $async$goto = t1.containsKey$1(parameters, "enabled") ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return P._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 P._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 = P;
              $async$goto = 7;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 93
  };
  N.BindingBase_registerNumericServiceExtension_closure.prototype = {
    call$1: function(parameters) {
      return this.$call$body$BindingBase_registerNumericServiceExtension_closure(parameters);
    },
    $call$body$BindingBase_registerNumericServiceExtension_closure: function(parameters) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Map_String_dynamic),
        $async$returnValue, $async$self = this, t1, t2, $async$temp1, $async$temp2, $async$temp3;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncAwait($async$self.setter.call$1(P.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 P._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 = P;
              $async$temp2 = t1;
              $async$temp3 = J;
              $async$goto = 7;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 93
  };
  N.BindingBase_registerServiceExtension_closure.prototype = {
    call$2: function(method, parameters) {
      return this.$call$body$BindingBase_registerServiceExtension_closure(method, parameters);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $call$body$BindingBase_registerServiceExtension_closure: function(method, parameters) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.ServiceExtensionResponse),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, caughtException, caughtStack, result, exception, stack, exception0, t1, $async$exception0, $async$temp1;
      var $async$call$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(E.debugInstrumentAction("Wait for outer event loop", new N.BindingBase_registerServiceExtension__closure(), type$.void), $async$call$2);
            case 3:
              // returning from await.
              caughtException = null;
              caughtStack = null;
              result = H._Cell$named("result");
              $async$handler = 5;
              $async$temp1 = result;
              $async$goto = 8;
              return P._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 = H.unwrapException($async$exception0);
              stack = H.getTraceFromException($async$exception0);
              caughtException = exception;
              caughtStack = stack;
              // goto after finally
              $async$goto = 7;
              break;
            case 4:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 7:
              // after finally
              if (caughtException == null) {
                J.$indexSet$ax(result._readLocal$0(), "type", "_extensionType");
                J.$indexSet$ax(result._readLocal$0(), "method", method);
                $async$returnValue = P.ServiceExtensionResponse$result(C.C_JsonCodec.encode$1(result._readLocal$0()));
                // goto return
                $async$goto = 1;
                break;
              } else {
                U.FlutterError_reportError(new U.FlutterErrorDetails(caughtException, caughtStack, "Flutter framework", U.ErrorDescription$('during a service extension callback for "' + H.S(method) + '"'), null, false));
                t1 = type$.String;
                C.C_JsonCodec.encode$1(P.LinkedHashMap_LinkedHashMap$_literal(["exception", J.toString$0$(caughtException), "stack", J.toString$0$(caughtStack), "method", method], t1, t1));
                P.ServiceExtensionResponse__validateErrorCode(-32000);
                $async$returnValue = new P.ServiceExtensionResponse();
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 343
  };
  N.BindingBase_registerServiceExtension__closure.prototype = {
    call$0: function() {
      return P.Future_Future$delayed(C.Duration_0, null, type$.void);
    },
    $signature: 88
  };
  B.Listenable.prototype = {};
  B.ValueListenable.prototype = {};
  B.ChangeNotifier.prototype = {
    addListener$1: function(_, 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 = P.List_List$filled(1, null, false, t2);
          _this.ChangeNotifier__listeners = t1;
        } else {
          newListeners = P.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: function(index) {
      var newListeners, i, i0, _this = this,
        t1 = --_this.ChangeNotifier__count,
        t2 = _this.ChangeNotifier__listeners;
      if (t1 * 2 <= t2.length) {
        newListeners = P.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: function(_, 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: function(_) {
    },
    notifyListeners$0: function() {
      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 = H.unwrapException(exception0);
          stack = H.getTraceFromException(exception0);
          rti = _this instanceof H.Closure ? H.closureFunctionType(_this) : null;
          t2 = U.ErrorDescription$("while dispatching notifications for " + H.createRuntimeType(rti == null ? H.instanceType(_this) : rti).toString$0(0));
          t3 = $.$get$FlutterError_onError();
          if (t3 != null)
            t3.call$1(new U.FlutterErrorDetails(exception, stack, "foundation library", t2, new B.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 = P.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
  };
  B.ChangeNotifier_notifyListeners_closure.prototype = {
    call$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
        return function $async$call$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
                t1 = $async$self.$this;
                $async$goto = 2;
                return Y.DiagnosticsProperty$("The " + H.getRuntimeType(t1).toString$0(0) + " sending notification was", t1, true, C.C__NoDefaultValue, null, false, null, null, C.DiagnosticLevel_3, null, false, true, true, C.DiagnosticsTreeStyle_9, null, type$.ChangeNotifier);
              case 2:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  B._MergingListenable.prototype = {
    addListener$1: function(_, listener) {
      var t1, t2, _i, child;
      for (t1 = this._change_notifier$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        if (child != null)
          child.addListener$1(0, listener);
      }
    },
    removeListener$1: function(_, listener) {
      var t1, t2, _i, child;
      for (t1 = this._change_notifier$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        if (child != null)
          child.removeListener$1(0, listener);
      }
    },
    toString$0: function(_) {
      return "Listenable.merge([" + C.JSArray_methods.join$1(this._change_notifier$_children, ", ") + "])";
    }
  };
  B.ValueNotifier.prototype = {
    get$value: function(_) {
      return this._value;
    },
    set$value: function(_, newValue) {
      if (J.$eq$(this._value, newValue))
        return;
      this._value = newValue;
      this.notifyListeners$0();
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this) + "(" + H.S(this._value) + ")";
    }
  };
  Y.DiagnosticLevel.prototype = {
    toString$0: function(_) {
      return this._diagnostics$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Y.DiagnosticsTreeStyle.prototype = {
    toString$0: function(_) {
      return this._diagnostics$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Y.TextTreeConfiguration.prototype = {};
  Y._WordWrapParseMode.prototype = {
    toString$0: function(_) {
      return this._diagnostics$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Y._PrefixedStringBuilder.prototype = {
    incrementPrefixOtherLines$2$updateCurrentLine: function(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: function() {
      var t2, _this = this,
        t1 = _this._numLines;
      if (t1 <= 1)
        if (!(t1 === 1 && _this._currentLine._contents.length !== 0)) {
          t1 = _this._currentLine._contents;
          if (_this._diagnostics$_buffer._contents.length === 0)
            t2 = _this.prefixLineOne;
          else
            t2 = _this._prefixOtherLines;
          t2 = t1.length + t2.length > _this.wrapWidth;
          t1 = t2;
        } else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    _finalizeLine$1: function(addTrailingLineBreak) {
      var t3, lines, $length, i, t4, _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;
      t3 = _this._prefixOtherLines;
      t3 = firstLine ? t3.length : t3.length;
      lines = Y._PrefixedStringBuilder__wordWrapLine(text, t1, _this.wrapWidth, t3, t2);
      $length = lines.get$length(lines);
      for (t2 = new P._SyncStarIterator(lines._outerHelper(), lines.$ti._eval$1("_SyncStarIterator<1>")), t3 = !addTrailingLineBreak, i = 0; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        ++i;
        _this._writeLine$3$firstLine$includeLineBreak(t4, firstLine, !t3 || i < $length);
      }
      C.JSArray_methods.set$length(t1, 0);
    },
    write$2$allowWrap: function(_, 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 && C.JSArray_methods.get$last(t2) === wrapStart)
              C.JSArray_methods.set$last(t2, wrapEnd);
            else {
              t2.push(wrapStart);
              t2.push(wrapEnd);
            }
          }
          t1._contents += line;
        }
      }
    },
    write$1: function($receiver, s) {
      return this.write$2$allowWrap($receiver, s, false);
    },
    _updatePrefix$0: function() {
      var t1 = this._nextPrefixOtherLines;
      if (t1 != null) {
        this._prefixOtherLines = t1;
        this._nextPrefixOtherLines = null;
      }
    },
    _writeLine$3$firstLine$includeLineBreak: function(line, firstLine, includeLineBreak) {
      var t2, _this = this,
        t1 = _this._diagnostics$_buffer;
      if (t1._contents.length === 0)
        t2 = _this.prefixLineOne;
      else
        t2 = _this._prefixOtherLines;
      t2 = t1._contents += C.JSString_methods.trimRight$0(H.S(t2) + H.S(line));
      if (includeLineBreak)
        t1._contents = t2 + "\n";
      ++_this._numLines;
    },
    writeRawLines$1: function(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 (!C.JSString_methods.endsWith$1(lines, "\n"))
        t1._contents = t2 + "\n";
      ++_this._numLines;
      _this._updatePrefix$0();
    },
    writeStretched$2: function(text, targetLineLength) {
      var t1, t2, t3, targetLength, _this = this;
      _this.write$1(0, text);
      t1 = _this._currentLine;
      t2 = t1._contents;
      if (_this._diagnostics$_buffer._contents.length === 0)
        t3 = _this.prefixLineOne;
      else
        t3 = _this._prefixOtherLines;
      targetLength = targetLineLength - (t2.length + t3.length);
      if (targetLength > 0)
        t1._contents += C.JSString_methods.$mul(text[text.length - 1], targetLength);
      C.JSArray_methods.set$length(_this._wrappableRanges, 0);
    }
  };
  Y._PrefixedStringBuilder__wordWrapLine_noWrap.prototype = {
    call$1: function(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: 72
  };
  Y._NoDefaultValue.prototype = {};
  Y.TextTreeRenderer.prototype = {
    render$4$parentConfiguration$prefixLineOne$prefixOtherLines: function(node, parentConfiguration, prefixLineOne, prefixOtherLines) {
      var t1 = this._debugRender$4$parentConfiguration$prefixLineOne$prefixOtherLines(node, parentConfiguration, prefixLineOne, prefixOtherLines);
      return t1;
    },
    render$1: function(node) {
      return this.render$4$parentConfiguration$prefixLineOne$prefixOtherLines(node, null, "", null);
    },
    _debugRender$4$parentConfiguration$prefixLineOne$prefixOtherLines: function(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, prefixChildrenRaw, child, childStyle, lastChildPrefixLineOne, childPrefixOtherLines, nextChildStyle, childPrefixLineOne, _this = this, _s1_ = "\n", _box_0 = {};
      _box_0.prefixOtherLines = prefixOtherLines;
      if (node.get$style(node) === C.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) === C.DiagnosticsTreeStyle_11) {
        descendants = H._setArrayType([], type$.JSArray_String);
        _box_0.lines = _box_0.depth = 0;
        new Y.TextTreeRenderer__debugRender_visitor(_box_0, descendants).call$1(node);
        if (_box_0.lines > 1)
          t1 = prefixLineOne + ("This " + H.S(node.name) + " had the following descendants (showing up to depth 5):\n");
        else {
          t1 = descendants.length;
          t2 = node.name;
          t1 = t1 === 1 ? prefixLineOne + ("This " + H.S(t2) + " had the following child:\n") : prefixLineOne + ("This " + H.S(t2) + " has no descendants.\n");
        }
        t1 = P.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 P.StringBuffer("");
      builder = new Y._PrefixedStringBuilder(prefixLineOne, t1, t4, new P.StringBuffer(""), t5, H._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) === C.DiagnosticsTreeStyle_5;
      $name = node.name;
      if (uppercaseTitle)
        $name = $name == null ? null : $name.toUpperCase();
      if (description == null || 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 || J.contains$1$asx(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, J.trimRight$0$s(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 = H._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
      propertiesIterable = new H.WhereIterable(t1, new Y.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 = H.TakeIterable_TakeIterable(propertiesIterable, t1, t4);
          properties = P.List_List$of(t4, true, H._instanceType(t4)._eval$1("Iterable.E"));
          C.JSArray_methods.add$1(properties, Y.DiagnosticsNode_DiagnosticsNode$message("...", true, C.DiagnosticsTreeStyle_8));
        } else
          properties = P.List_List$of(propertiesIterable, true, t4);
        if (t1 < children.length) {
          children = H.SubListIterable$(children, 0, H.checkNotNullable(t1, "count", type$.int), H._arrayInstanceType(children)._precomputed1).toList$0(0);
          C.JSArray_methods.add$1(children, Y.DiagnosticsNode_DiagnosticsNode$message("...", true, C.DiagnosticsTreeStyle_8));
        }
      } else
        properties = P.List_List$of(propertiesIterable, true, t4._eval$1("Iterable.E"));
      if (properties.length !== 0 || children.length !== 0 || node.get$emptyBodyDescription() != null)
        if (!node.showSeparator)
          t1 = (description == null ? null : description.length !== 0) === true;
        else
          t1 = true;
      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) === C.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, C.JSArray_methods.get$first(propertyLines));
          else {
            builder.write$2$allowWrap(0, propertyRender, false);
            if (!C.JSString_methods.endsWith$1(propertyRender, _s1_))
              builder.write$1(0, _s1_);
          }
        } else {
          t7 = builder._nextPrefixOtherLines;
          t7 = H.S(t7 == null ? builder._prefixOtherLines : t7) + t6.prefixLineOne;
          t8 = builder._nextPrefixOtherLines;
          builder.writeRawLines$1(_this.render$4$parentConfiguration$prefixLineOne$prefixOtherLines(property, t2, t7, H.S(t8 == null ? builder._prefixOtherLines : t8) + 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 = H.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 = C.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 && C.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 === C.DiagnosticsTreeStyle_8 || childStyle === C.DiagnosticsTreeStyle_9)
            t5 = t2;
          else
            t5 = child.get$textTreeConfiguration();
          t5.toString;
          if (i === children.length - 1) {
            lastChildPrefixLineOne = prefixChildrenRaw + t5.prefixLastChildLineOne;
            t6 = t5.childLinkSpace;
            childPrefixOtherLines = prefixChildrenRaw + t6 + t5.prefixOtherLines;
            builder.writeRawLines$1(_this.render$4$parentConfiguration$prefixLineOne$prefixOtherLines(child, t2, lastChildPrefixLineOne, 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 === C.DiagnosticsTreeStyle_8 || childStyle === C.DiagnosticsTreeStyle_9)
              nextChildStyle = t2;
            else
              nextChildStyle = t6.get$textTreeConfiguration();
            childPrefixLineOne = prefixChildrenRaw + t5.prefixLineOne;
            childPrefixOtherLines = prefixChildrenRaw + nextChildStyle.linkCharacter + t5.prefixOtherLines;
            builder.writeRawLines$1(_this.render$4$parentConfiguration$prefixLineOne$prefixOtherLines(child, t2, childPrefixLineOne, 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;
    }
  };
  Y.TextTreeRenderer__debugRender_visitor.prototype = {
    call$1: function(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, H.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        t5 = t3.lines;
        if (t5 < 25) {
          ++t3.depth;
          t4.push(H.S(t3.prefixOtherLines) + C.JSString_methods.$mul("  ", t3.depth) + H.S(child));
          if (t3.depth < 5)
            this.call$1(child);
          --t3.depth;
        } else if (t5 === 25)
          t4.push(H.S(t3.prefixOtherLines) + "  ...(descendants list truncated after " + t3.lines + " lines)");
        ++t3.lines;
      }
    },
    $signature: 277
  };
  Y.TextTreeRenderer__debugRender_closure.prototype = {
    call$1: function(n) {
      var t1 = n.get$level(n);
      return t1.index >= this.$this._minLevel.index;
    },
    $signature: 710
  };
  Y.DiagnosticsNode.prototype = {
    get$level: function(_) {
      return C.DiagnosticLevel_3;
    },
    get$emptyBodyDescription: function() {
      return null;
    },
    get$allowWrap: function() {
      return false;
    },
    get$allowNameWrap: function() {
      return false;
    },
    get$allowTruncate: function() {
      return false;
    },
    toString$1$minLevel: function(_, minLevel) {
      return this.super$Object$toString(0);
    },
    toString$0: function($receiver) {
      return this.toString$1$minLevel($receiver, C.DiagnosticLevel_3);
    },
    get$textTreeConfiguration: function() {
      var t1 = this.get$style(this);
      t1.toString;
      switch (t1) {
        case C.DiagnosticsTreeStyle_0:
          return null;
        case C.DiagnosticsTreeStyle_3:
          return $.$get$denseTextConfiguration();
        case C.DiagnosticsTreeStyle_1:
          return $.$get$sparseTextConfiguration();
        case C.DiagnosticsTreeStyle_2:
          return $.$get$dashedTextConfiguration();
        case C.DiagnosticsTreeStyle_6:
          return $.$get$whitespaceTextConfiguration();
        case C.DiagnosticsTreeStyle_4:
          return $.$get$transitionTextConfiguration();
        case C.DiagnosticsTreeStyle_8:
          return $.$get$singleLineTextConfiguration();
        case C.DiagnosticsTreeStyle_9:
          return $.$get$errorPropertyTextConfiguration();
        case C.DiagnosticsTreeStyle_10:
          return $.$get$shallowTextConfiguration();
        case C.DiagnosticsTreeStyle_5:
          return $.$get$errorTextConfiguration();
        case C.DiagnosticsTreeStyle_11:
          return $.$get$whitespaceTextConfiguration();
        case C.DiagnosticsTreeStyle_7:
          return $.$get$flatTextConfiguration();
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$showName: function() {
      return this.showName;
    },
    get$style: function(receiver) {
      return this.style;
    }
  };
  Y.DiagnosticsProperty.prototype = {
    valueToString$1$parentConfiguration: function(parentConfiguration) {
      var v = this.get$value(this);
      return type$.DiagnosticableTree._is(v) ? v.toStringShort$0() : J.toString$0$(v);
    },
    toDescription$1$parentConfiguration: function(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: function(_) {
      this._maybeCacheValue$0();
      return this._diagnostics$_value;
    },
    _maybeCacheValue$0: function() {
      return;
    },
    get$level: function(_) {
      var t2, _this = this,
        t1 = _this._defaultLevel;
      if (t1 === C.DiagnosticLevel_0)
        return t1;
      _this._maybeCacheValue$0();
      if (_this._diagnostics$_exception != null)
        return C.DiagnosticLevel_7;
      if (_this.get$value(_this) == null && _this.missingIfNull)
        return C.DiagnosticLevel_4;
      t2 = _this.defaultValue;
      if (!J.$eq$(t2, C.C__NoDefaultValue) && J.$eq$(_this.get$value(_this), t2))
        return C.DiagnosticLevel_1;
      return t1;
    },
    getProperties$0: function(_) {
      return C.List_empty0;
    },
    getChildren$0: function() {
      return C.List_empty0;
    },
    get$allowWrap: function() {
      return this.allowWrap;
    },
    get$allowNameWrap: function() {
      return true;
    }
  };
  Y.DiagnosticableNode.prototype = {
    get$builder: function() {
      var t1 = this._cachedBuilder;
      return t1;
    },
    get$style: function(_) {
      var t1 = this.style;
      if (t1 == null)
        t1 = this.get$builder().defaultDiagnosticsTreeStyle;
      return t1;
    },
    get$emptyBodyDescription: function() {
      return "";
    },
    getProperties$0: function(_) {
      return C.List_empty0;
    },
    getChildren$0: function() {
      return C.List_empty0;
    },
    toDescription$1$parentConfiguration: function(parentConfiguration) {
      return "";
    }
  };
  Y.DiagnosticableTreeNode.prototype = {
    getChildren$0: function() {
      return this.value.debugDescribeChildren$0();
    }
  };
  Y.DiagnosticPropertiesBuilder.prototype = {
    add$1: function(_, property) {
    }
  };
  Y.Diagnosticable.prototype = {
    toStringShort$0: function() {
      return "<optimized out>#" + Y.shortHash(this);
    },
    toString$1$minLevel: function(_, minLevel) {
      var t1 = this.toStringShort$0();
      return t1;
    },
    toString$0: function($receiver) {
      return this.toString$1$minLevel($receiver, C.DiagnosticLevel_3);
    },
    debugFillProperties$1: function(properties) {
    }
  };
  Y.DiagnosticableTree.prototype = {
    toStringDeep$0: function() {
      this.toDiagnosticsNode$0();
      return "";
    },
    toStringShort$0: function() {
      return "<optimized out>#" + Y.shortHash(this);
    },
    toDiagnosticsNode$2$name$style: function($name, style) {
      return Y.DiagnosticableTreeNode$($name, style, this);
    },
    toDiagnosticsNode$0: function() {
      return this.toDiagnosticsNode$2$name$style(null, null);
    },
    debugDescribeChildren$0: function() {
      return C.List_empty0;
    }
  };
  Y.DiagnosticableTreeMixin.prototype = {
    toString$0: function(_) {
      return this.toDiagnosticsNode$1$style(C.DiagnosticsTreeStyle_8).super$Object$toString(0);
    },
    toStringDeep$3$minLevel$prefixLineOne$prefixOtherLines: function(minLevel, prefixLineOne, prefixOtherLines) {
      this.toDiagnosticsNode$0();
      return "";
    },
    toStringShort$0: function() {
      return "<optimized out>#" + Y.shortHash(this);
    },
    toDiagnosticsNode$2$name$style: function($name, style) {
      return Y.DiagnosticableTreeNode$($name, style, this);
    },
    toDiagnosticsNode$1$style: function(style) {
      return this.toDiagnosticsNode$2$name$style(null, style);
    },
    toDiagnosticsNode$0: function() {
      return this.toDiagnosticsNode$2$name$style(null, null);
    },
    debugDescribeChildren$0: function() {
      return C.List_empty0;
    }
  };
  Y.DiagnosticsBlock.prototype = {
    getChildren$0: function() {
      return this._diagnostics$_children;
    },
    getProperties$0: function(_) {
      return this._properties;
    },
    toDescription$1$parentConfiguration: function(parentConfiguration) {
      return null;
    },
    get$level: function() {
      return C.DiagnosticLevel_3;
    },
    get$allowTruncate: function() {
      return this.allowTruncate;
    }
  };
  Y._DiagnosticableTree_Object_Diagnosticable.prototype = {};
  D.Key.prototype = {};
  D.LocalKey.prototype = {};
  D.ValueKey.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return H._instanceType(this)._eval$1("ValueKey<ValueKey.T>")._is(other) && J.$eq$(other.value, this.value);
    },
    get$hashCode: function(_) {
      return P.hashValues(H.getRuntimeType(this), this.value, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var t1 = H._instanceType(this),
        t2 = t1._eval$1("ValueKey.T"),
        t3 = this.value,
        valueString = H.createRuntimeType(t2) === C.Type_String_k8F ? "<'" + H.S(t3) + "'>" : "<" + H.S(t3) + ">";
      if (H.getRuntimeType(this) === H.createRuntimeType(t1._eval$1("ValueKey<ValueKey.T>")))
        return "[" + valueString + "]";
      return "[" + H.createRuntimeType(t2).toString$0(0) + " " + valueString + "]";
    }
  };
  D._TypeLiteral.prototype = {};
  F.LicenseEntry.prototype = {};
  F.LicenseEntryWithLineBreaks.prototype = {
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  B.AbstractNode.prototype = {
    get$depth: function() {
      return this._depth;
    },
    redepthChild$1: function(child) {
      var t1 = child._depth,
        t2 = this._depth;
      if (t1 <= t2) {
        child._depth = t2 + 1;
        child.redepthChildren$0();
      }
    },
    redepthChildren$0: function() {
    },
    get$owner: function() {
      return this._node$_owner;
    },
    attach$1: function(owner) {
      this._node$_owner = owner;
    },
    detach$0: function(_) {
      this._node$_owner = null;
    },
    get$parent: function(_) {
      return this._node$_parent;
    },
    adoptChild$1: function(child) {
      var t1;
      child._node$_parent = this;
      t1 = this._node$_owner;
      if (t1 != null)
        child.attach$1(t1);
      this.redepthChild$1(child);
    },
    dropChild$1: function(child) {
      child._node$_parent = null;
      if (this._node$_owner != null)
        child.detach$0(0);
    }
  };
  R.ObserverList.prototype = {
    get$_observer_list$_set: function() {
      var _this = this,
        t1 = _this.__ObserverList__set;
      if (t1 === $) {
        t1 = P.HashSet_HashSet(_this.$ti._precomputed1);
        if (_this.__ObserverList__set === $)
          _this.__ObserverList__set = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("_set"));
      }
      return t1;
    },
    add$1: function(_, item) {
      this._isDirty = true;
      this._observer_list$_list.push(item);
    },
    remove$1: function(_, item) {
      this._isDirty = true;
      this.get$_observer_list$_set().clear$0(0);
      return C.JSArray_methods.remove$1(this._observer_list$_list, item);
    },
    clear$0: function(_) {
      this._isDirty = false;
      C.JSArray_methods.set$length(this._observer_list$_list, 0);
      this.get$_observer_list$_set().clear$0(0);
    },
    contains$1: function(_, element) {
      var _this = this,
        t1 = _this._observer_list$_list;
      if (t1.length < 3)
        return C.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: function(_) {
      var t1 = this._observer_list$_list;
      return new J.ArrayIterator(t1, t1.length, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
    },
    get$isEmpty: function(_) {
      return this._observer_list$_list.length === 0;
    },
    get$isNotEmpty: function(_) {
      return this._observer_list$_list.length !== 0;
    }
  };
  R.HashedObserverList.prototype = {
    add$1: function(_, item) {
      var t1 = this._observer_list$_map,
        t2 = t1.$index(0, item);
      t1.$indexSet(0, item, (t2 == null ? 0 : t2) + 1);
    },
    remove$1: function(_, 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: function(_, element) {
      return this._observer_list$_map.containsKey$1(0, element);
    },
    get$iterator: function(_) {
      var t1 = this._observer_list$_map;
      t1 = t1.get$keys(t1);
      return t1.get$iterator(t1);
    },
    get$isEmpty: function(_) {
      var t1 = this._observer_list$_map;
      return t1.get$isEmpty(t1);
    },
    get$isNotEmpty: function(_) {
      var t1 = this._observer_list$_map;
      return t1.get$isNotEmpty(t1);
    }
  };
  T.TargetPlatform.prototype = {
    toString$0: function(_) {
      return this._platform$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  G.WriteBuffer.prototype = {
    get$_eightBytesAsList: function() {
      var t1 = this.__WriteBuffer__eightBytesAsList;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_eightBytesAsList")) : t1;
    },
    _alignTo$1: function(alignment) {
      var t1 = this._serialization$_buffer,
        mod = C.JSInt_methods.$mod(t1._typed_buffer$_length, alignment);
      if (mod !== 0)
        t1.addAll$3(0, $.$get$WriteBuffer__zeroBuffer(), 0, alignment - mod);
    },
    done$0: function() {
      var t1, t2, result, _this = this;
      if (_this._isDone)
        throw H.wrapException(P.StateError$("done() must not be called more than once on the same " + H.getRuntimeType(_this).toString$0(0) + "."));
      t1 = _this._serialization$_buffer;
      t2 = t1._typed_buffer$_buffer;
      result = H.NativeByteData_NativeByteData$view(t2.buffer, 0, t1._typed_buffer$_length * t2.BYTES_PER_ELEMENT);
      _this._serialization$_buffer = E.Uint8Buffer$();
      _this._isDone = true;
      return result;
    }
  };
  G.ReadBuffer.prototype = {
    getUint8$0: function(_) {
      return J.getUint8$1$x(this.data, this._serialization$_position++);
    },
    getInt64$0: function(_) {
      var t1 = this._serialization$_position,
        t2 = $.$get$Endian_host(),
        value = J.getInt64$2$x(this.data, t1, t2);
      this._serialization$_position += 8;
      return value;
    },
    getUint8List$1: function($length) {
      var _this = this,
        t1 = _this.data,
        t2 = J.getInterceptor$x(t1),
        list = J.asUint8List$2$x(t2.get$buffer(t1), t2.get$offsetInBytes(t1) + _this._serialization$_position, $length);
      _this._serialization$_position = _this._serialization$_position + $length;
      return list;
    },
    _alignTo$1: function(alignment) {
      var t1 = this._serialization$_position,
        mod = C.JSInt_methods.$mod(t1, alignment);
      if (mod !== 0)
        this._serialization$_position = t1 + (alignment - mod);
    }
  };
  R.StackFrame.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.number, _this.$package, _this.line, _this.column, _this.className, _this.method, _this.source, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof R.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: function(_) {
      var _this = this;
      return "StackFrame(#" + _this.number + ", " + _this.packageScheme + ":" + H.S(_this.$package) + "/" + _this.packagePath + ":" + _this.line + ":" + _this.column + ", className: " + H.S(_this.className) + ", method: " + H.S(_this.method) + ")";
    },
    get$className: function(receiver) {
      return this.className;
    }
  };
  R.StackFrame_fromStackString_closure.prototype = {
    call$1: function(line) {
      return line.length !== 0;
    },
    $signature: 17
  };
  O.SynchronousFuture.prototype = {
    catchError$2$test: function(onError, test) {
      return new P._Future($.Zone__current, this.$ti._eval$1("_Future<1>"));
    },
    catchError$1: function(onError) {
      return this.catchError$2$test(onError, null);
    },
    then$1$2$onError: function(_, onValue, onError, $R) {
      var result = onValue.call$1(this._synchronous_future$_value);
      if ($R._eval$1("Future<0>")._is(result))
        return result;
      return new O.SynchronousFuture($R._as(result), $R._eval$1("SynchronousFuture<0>"));
    },
    then$1$1: function($receiver, onValue, $R) {
      return this.then$1$2$onError($receiver, onValue, null, $R);
    },
    timeout$2$onTimeout: function(_, timeLimit, onTimeout) {
      return P.Future_Future$value(this._synchronous_future$_value, this.$ti._precomputed1).timeout$2$onTimeout(0, timeLimit, onTimeout);
    },
    timeout$1: function($receiver, timeLimit) {
      return this.timeout$2$onTimeout($receiver, timeLimit, null);
    },
    whenComplete$1: function(action) {
      var result, e, stack, t1, exception, _this = this;
      try {
        result = action.call$0();
        if (type$.Future_dynamic._is(result)) {
          t1 = J.then$1$1$x(result, new O.SynchronousFuture_whenComplete_closure(_this), _this.$ti._precomputed1);
          return t1;
        }
        return _this;
      } catch (exception) {
        e = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        t1 = P.Future_Future$error(e, stack, _this.$ti._precomputed1);
        return t1;
      }
    },
    $isFuture: 1
  };
  O.SynchronousFuture_whenComplete_closure.prototype = {
    call$1: function(value) {
      return this.$this._synchronous_future$_value;
    },
    $signature: function() {
      return this.$this.$ti._eval$1("1(@)");
    }
  };
  D.GestureDisposition.prototype = {
    toString$0: function(_) {
      return this._arena$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  D.GestureArenaMember.prototype = {};
  D.GestureArenaEntry.prototype = {};
  D._GestureArena.prototype = {
    add$1: function(_, member) {
      this.members.push(member);
    },
    toString$0: function(_) {
      var _this = this,
        t1 = _this.members;
      t1 = t1.length === 0 ? "<empty>" : new H.MappedListIterable(t1, new D._GestureArena_toString_closure(_this), H._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;
    }
  };
  D._GestureArena_toString_closure.prototype = {
    call$1: function(member) {
      if (member == this.$this.eagerWinner)
        return H.S(member) + " (eager winner)";
      return H.S(member);
    },
    $signature: 712
  };
  D.GestureArenaManager.prototype = {
    add$2: function(_, pointer, member) {
      this._arenas.putIfAbsent$2(0, pointer, new D.GestureArenaManager_add_closure(this, pointer)).members.push(member);
      return new D.GestureArenaEntry(this, pointer, member);
    },
    close$1: function(_, pointer) {
      var state = this._arenas.$index(0, pointer);
      if (state == null)
        return;
      state.isOpen = false;
      this._tryToResolveArena$2(pointer, state);
    },
    sweep$1: function(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) {
        C.JSArray_methods.get$first(t1).acceptGesture$1(pointer);
        for (i = 1; i < t1.length; ++i)
          t1[i].rejectGesture$1(pointer);
      }
    },
    hold$1: function(pointer) {
      var state = this._arenas.$index(0, pointer);
      if (state == null)
        return;
      state.isHeld = true;
    },
    release$1: function(_, 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: function(pointer, member, disposition) {
      var state = this._arenas.$index(0, pointer);
      if (state == null)
        return;
      if (disposition === C.GestureDisposition_1) {
        C.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: function(pointer, state) {
      var t1 = state.members.length;
      if (t1 === 1)
        P.scheduleMicrotask(new D.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: function(pointer, state) {
      var t1 = this._arenas;
      if (!t1.containsKey$1(0, pointer))
        return;
      t1.remove$1(0, pointer);
      C.JSArray_methods.get$first(state.members).acceptGesture$1(pointer);
    },
    _resolveInFavorOf$3: function(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, H.throwConcurrentModificationError)(t1), ++_i) {
        rejectedMember = t1[_i];
        if (rejectedMember != member)
          rejectedMember.rejectGesture$1(pointer);
      }
      member.acceptGesture$1(pointer);
    }
  };
  D.GestureArenaManager_add_closure.prototype = {
    call$0: function() {
      return new D._GestureArena(H._setArrayType([], type$.JSArray_GestureArenaMember));
    },
    $signature: 713
  };
  D.GestureArenaManager__tryToResolveArena_closure.prototype = {
    call$0: function() {
      return this.$this._resolveByDefault$2(this.pointer, this.state);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  N._Resampler.prototype = {
    stop$0: function(_) {
      var t1, t2, t3;
      for (t1 = this._resamplers, t2 = t1.get$values(t1), t2 = t2.get$iterator(t2), t3 = this._binding1$_handlePointerEvent; t2.moveNext$0();)
        t2.get$current(t2).stop$1(0, t3);
      t1.clear$0(0);
      this._frameTime = C.Duration_0;
    }
  };
  N.GestureBinding.prototype = {
    _handlePointerDataPacket$1: function(packet) {
      var t1 = packet.data,
        t2 = $.$get$window()._debugDevicePixelRatio;
      this.GestureBinding__pendingPointerEvents.addAll$1(0, G.PointerEventConverter_expand(t1, t2 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t2));
      if (this._lockCount <= 0)
        this._flushPointerEventQueue$0();
    },
    cancelPointer$1: function(pointer) {
      var t1 = this.GestureBinding__pendingPointerEvents;
      if (t1._head === t1._tail && this._lockCount <= 0)
        P.scheduleMicrotask(this.get$_flushPointerEventQueue());
      t1.addFirst$1(F.PointerCancelEvent$(0, 0, 0, 0, 0, C.PointerDeviceKind_0, false, 0, pointer, C.Offset_0_0, 1, 1, 0, 0, 0, 0, 0, 0, C.Duration_0));
    },
    _flushPointerEventQueue$0: function() {
      for (var t1 = this.GestureBinding__pendingPointerEvents; !t1.get$isEmpty(t1);)
        this.handlePointerEvent$1(t1.removeFirst$0());
    },
    handlePointerEvent$1: function($event) {
      this.get$_resampler().stop$0(0);
      this._handlePointerEventImmediately$1($event);
    },
    _handlePointerEventImmediately$1: function($event) {
      var hitTestResult, t2, _this = this,
        t1 = type$.PointerDownEvent._is($event);
      if (t1 || type$.PointerSignalEvent._is($event) || type$.PointerHoverEvent._is($event)) {
        hitTestResult = O.HitTestResult$();
        t2 = $event.get$position($event);
        _this.get$_pipelineOwner()._rootNode.hitTest$2$position(hitTestResult, t2);
        _this.super$GestureBinding$hitTest(hitTestResult, t2);
        if (t1)
          _this.GestureBinding__hitTests.$indexSet(0, $event.get$pointer(), hitTestResult);
        t1 = hitTestResult;
      } else if (type$.PointerUpEvent._is($event) || type$.PointerCancelEvent._is($event)) {
        hitTestResult = _this.GestureBinding__hitTests.remove$1(0, $event.get$pointer());
        t1 = hitTestResult;
      } else
        t1 = $event.get$down() ? _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: function(result, position) {
      var t1 = new O.HitTestEntry(this);
      result._globalizeTransforms$0();
      t1._transform = C.JSArray_methods.get$last(result._transforms);
      result._path.push(t1);
    },
    dispatchEvent$2: function(_, $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 = H.unwrapException(exception0);
          stack = H.getTraceFromException(exception0);
          U.FlutterError_reportError(N.FlutterErrorDetailsForPointerEventDispatcher$(U.ErrorDescription$("while dispatching a non-hit-tested pointer event"), $event, exception, null, new N.GestureBinding_dispatchEvent_closure($event), _s15_, stack));
        }
        return;
      }
      for (t1 = hitTestResult._path, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        entry = t1[_i];
        try {
          J.get$target$x(entry).handleEvent$2($event.transformed$1(entry._transform), entry);
        } catch (exception) {
          exception0 = H.unwrapException(exception);
          stack0 = H.getTraceFromException(exception);
          t3 = U.ErrorDescription$("while dispatching a pointer event");
          t4 = $.$get$FlutterError_onError();
          if (t4 != null)
            t4.call$1(new N.FlutterErrorDetailsForPointerEventDispatcher(exception0, stack0, _s15_, t3, new N.GestureBinding_dispatchEvent_closure0($event, entry), false));
        }
      }
    },
    handleEvent$2: function($event, entry) {
      var _this = this;
      _this.GestureBinding_pointerRouter.route$1($event);
      if (type$.PointerDownEvent._is($event))
        _this.GestureBinding_gestureArena.close$1(0, $event.get$pointer());
      else if (type$.PointerUpEvent._is($event))
        _this.GestureBinding_gestureArena.sweep$1($event.get$pointer());
      else if (type$.PointerSignalEvent._is($event))
        _this.GestureBinding_pointerSignalResolver.resolve$1($event);
    },
    _handleSampleTimeChanged$0: function() {
      if (this._lockCount <= 0)
        this.get$_resampler().stop$0(0);
    },
    get$_resampler: function() {
      var _this = this,
        t1 = _this.GestureBinding___GestureBinding__resampler;
      if (t1 === $) {
        $.$get$Stopwatch__frequency();
        t1 = _this.GestureBinding___GestureBinding__resampler = new N._Resampler(P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.PointerEventResampler), C.Duration_0, new P.Stopwatch(), C.Duration_0, C.Duration_0, _this.get$_handlePointerEventImmediately(), _this.get$_handleSampleTimeChanged(), C.Duration_16667);
      }
      return t1;
    }
  };
  N.GestureBinding_dispatchEvent_closure.prototype = {
    call$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError;
        return function $async$call$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
                $async$goto = 2;
                return Y.DiagnosticsProperty$("Event", $async$self.event, true, C.C__NoDefaultValue, null, false, null, null, C.DiagnosticLevel_3, null, false, true, true, C.DiagnosticsTreeStyle_9, null, type$.PointerEvent_2);
              case 2:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  N.GestureBinding_dispatchEvent_closure0.prototype = {
    call$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
        return function $async$call$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
                $async$goto = 2;
                return Y.DiagnosticsProperty$("Event", $async$self.event, true, C.C__NoDefaultValue, null, false, null, null, C.DiagnosticLevel_3, null, false, true, true, C.DiagnosticsTreeStyle_9, null, type$.PointerEvent_2);
              case 2:
                // after yield
                t1 = $async$self.entry;
                $async$goto = 3;
                return Y.DiagnosticsProperty$("Target", t1.get$target(t1), true, C.C__NoDefaultValue, null, false, null, null, C.DiagnosticLevel_3, null, false, true, true, C.DiagnosticsTreeStyle_9, null, type$.HitTestTarget);
              case 3:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  N.FlutterErrorDetailsForPointerEventDispatcher.prototype = {};
  O.DragDownDetails.prototype = {
    toString$0: function(_) {
      return "DragDownDetails(" + H.S(this.globalPosition) + ")";
    }
  };
  O.DragStartDetails.prototype = {
    toString$0: function(_) {
      return "DragStartDetails(" + H.S(this.globalPosition) + ")";
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  O.DragUpdateDetails.prototype = {
    toString$0: function(_) {
      return "DragUpdateDetails(" + H.S(this.delta) + ")";
    }
  };
  O.DragEndDetails.prototype = {
    toString$0: function(_) {
      return "DragEndDetails(" + this.velocity.toString$0(0) + ")";
    }
  };
  F.PointerEvent0.prototype = {
    get$localPosition: function() {
      return this.position;
    },
    get$localDelta: function() {
      return this.delta;
    },
    get$timeStamp: function(receiver) {
      return this.timeStamp;
    },
    get$pointer: function() {
      return this.pointer;
    },
    get$kind: function(receiver) {
      return this.kind;
    },
    get$device: function(receiver) {
      return this.device;
    },
    get$position: function(receiver) {
      return this.position;
    },
    get$delta: function() {
      return this.delta;
    },
    get$buttons: function(receiver) {
      return this.buttons;
    },
    get$down: function() {
      return this.down;
    },
    get$obscured: function() {
      return this.obscured;
    },
    get$pressure: function(receiver) {
      return this.pressure;
    },
    get$pressureMin: function() {
      return this.pressureMin;
    },
    get$pressureMax: function() {
      return this.pressureMax;
    },
    get$distance: function() {
      return this.distance;
    },
    get$distanceMax: function() {
      return this.distanceMax;
    },
    get$size: function(receiver) {
      return this.size;
    },
    get$radiusMajor: function() {
      return this.radiusMajor;
    },
    get$radiusMinor: function() {
      return this.radiusMinor;
    },
    get$radiusMin: function() {
      return this.radiusMin;
    },
    get$radiusMax: function() {
      return this.radiusMax;
    },
    get$orientation: function(receiver) {
      return this.orientation;
    },
    get$tilt: function() {
      return this.tilt;
    },
    get$synthesized: function() {
      return this.synthesized;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F._PointerEventDescription.prototype = {};
  F._AbstractPointerEvent.prototype = {$isPointerEvent0: 1};
  F._TransformedPointerEvent.prototype = {
    get$timeStamp: function(_) {
      return this.get$original().timeStamp;
    },
    get$pointer: function() {
      return this.get$original().pointer;
    },
    get$kind: function(_) {
      return this.get$original().kind;
    },
    get$device: function(_) {
      return this.get$original().device;
    },
    get$position: function(_) {
      return this.get$original().position;
    },
    get$delta: function() {
      return this.get$original().delta;
    },
    get$buttons: function(_) {
      return this.get$original().buttons;
    },
    get$down: function() {
      return this.get$original().down;
    },
    get$obscured: function() {
      this.get$original();
      return false;
    },
    get$pressure: function(_) {
      return this.get$original().pressure;
    },
    get$pressureMin: function() {
      return this.get$original().pressureMin;
    },
    get$pressureMax: function() {
      return this.get$original().pressureMax;
    },
    get$distance: function() {
      return this.get$original().distance;
    },
    get$distanceMax: function() {
      return this.get$original().distanceMax;
    },
    get$size: function(_) {
      return this.get$original().size;
    },
    get$radiusMajor: function() {
      return this.get$original().radiusMajor;
    },
    get$radiusMinor: function() {
      return this.get$original().radiusMinor;
    },
    get$radiusMin: function() {
      return this.get$original().radiusMin;
    },
    get$radiusMax: function() {
      return this.get$original().radiusMax;
    },
    get$orientation: function(_) {
      return this.get$original().orientation;
    },
    get$tilt: function() {
      return this.get$original().tilt;
    },
    get$synthesized: function() {
      return this.get$original().synthesized;
    },
    get$localPosition: function() {
      var _this = this,
        t1 = _this.___TransformedPointerEvent_localPosition;
      if (t1 === $) {
        t1 = F.PointerEvent_transformPosition(_this.get$transform(_this), _this.get$original().position);
        if (_this.___TransformedPointerEvent_localPosition === $)
          _this.___TransformedPointerEvent_localPosition = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("localPosition"));
      }
      return t1;
    },
    get$localDelta: function() {
      var t2, t3, _this = this,
        t1 = _this.___TransformedPointerEvent_localDelta;
      if (t1 === $) {
        t1 = _this.get$transform(_this);
        t2 = _this.get$original();
        t3 = _this.get$original();
        t3 = F.PointerEvent_transformDeltaViaPositions(t1, _this.get$localPosition(), t2.delta, t3.position);
        if (_this.___TransformedPointerEvent_localDelta === $) {
          _this.___TransformedPointerEvent_localDelta = t3;
          t1 = t3;
        } else
          t1 = H.throwExpression(H.LateError$fieldADI("localDelta"));
      }
      return t1;
    }
  };
  F._CopyPointerAddedEvent.prototype = {};
  F.PointerAddedEvent.prototype = {
    transformed$1: function(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new F._TransformedPointerAddedEvent(this, transform);
    }
  };
  F._TransformedPointerAddedEvent.prototype = {
    transformed$1: function(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerAddedEvent: 1,
    get$original: function() {
      return this.original;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F._CopyPointerRemovedEvent.prototype = {};
  F.PointerRemovedEvent.prototype = {
    transformed$1: function(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new F._TransformedPointerRemovedEvent(this, transform);
    }
  };
  F._TransformedPointerRemovedEvent.prototype = {
    transformed$1: function(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerRemovedEvent: 1,
    get$original: function() {
      return this.original;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F._CopyPointerHoverEvent.prototype = {};
  F.PointerHoverEvent.prototype = {
    transformed$1: function(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new F._TransformedPointerHoverEvent(this, transform);
    }
  };
  F._TransformedPointerHoverEvent.prototype = {
    transformed$1: function(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerHoverEvent: 1,
    get$original: function() {
      return this.original;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F._CopyPointerEnterEvent.prototype = {};
  F.PointerEnterEvent.prototype = {
    transformed$1: function(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new F._TransformedPointerEnterEvent(this, transform);
    }
  };
  F._TransformedPointerEnterEvent.prototype = {
    transformed$1: function(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerEnterEvent: 1,
    get$original: function() {
      return this.original;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F._CopyPointerExitEvent.prototype = {};
  F.PointerExitEvent.prototype = {
    transformed$1: function(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new F._TransformedPointerExitEvent(this, transform);
    }
  };
  F._TransformedPointerExitEvent.prototype = {
    transformed$1: function(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerExitEvent: 1,
    get$original: function() {
      return this.original;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F._CopyPointerDownEvent.prototype = {};
  F.PointerDownEvent.prototype = {
    transformed$1: function(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new F._TransformedPointerDownEvent(this, transform);
    }
  };
  F._TransformedPointerDownEvent.prototype = {
    transformed$1: function(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerDownEvent: 1,
    get$original: function() {
      return this.original;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F._CopyPointerMoveEvent.prototype = {};
  F.PointerMoveEvent.prototype = {
    transformed$1: function(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new F._TransformedPointerMoveEvent(this, transform);
    }
  };
  F._TransformedPointerMoveEvent.prototype = {
    transformed$1: function(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerMoveEvent: 1,
    get$original: function() {
      return this.original;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F._CopyPointerUpEvent.prototype = {};
  F.PointerUpEvent.prototype = {
    transformed$1: function(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new F._TransformedPointerUpEvent(this, transform);
    }
  };
  F._TransformedPointerUpEvent.prototype = {
    transformed$1: function(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerUpEvent: 1,
    get$original: function() {
      return this.original;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F.PointerSignalEvent.prototype = {};
  F._CopyPointerScrollEvent.prototype = {};
  F.PointerScrollEvent.prototype = {
    transformed$1: function(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new F._TransformedPointerScrollEvent(this, transform);
    },
    get$scrollDelta: function() {
      return this.scrollDelta;
    }
  };
  F._TransformedPointerScrollEvent.prototype = {
    get$scrollDelta: function() {
      return this.original.scrollDelta;
    },
    transformed$1: function(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerSignalEvent: 1,
    $isPointerScrollEvent: 1,
    get$original: function() {
      return this.original;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F._CopyPointerCancelEvent.prototype = {};
  F.PointerCancelEvent.prototype = {
    transformed$1: function(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new F._TransformedPointerCancelEvent(this, transform);
    }
  };
  F._TransformedPointerCancelEvent.prototype = {
    transformed$1: function(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerCancelEvent: 1,
    get$original: function() {
      return this.original;
    },
    get$transform: function(receiver) {
      return this.transform;
    }
  };
  F._PointerAddedEvent_PointerEvent__PointerEventDescription.prototype = {};
  F._PointerAddedEvent_PointerEvent__PointerEventDescription__CopyPointerAddedEvent.prototype = {};
  F._PointerCancelEvent_PointerEvent__PointerEventDescription.prototype = {};
  F._PointerCancelEvent_PointerEvent__PointerEventDescription__CopyPointerCancelEvent.prototype = {};
  F._PointerDownEvent_PointerEvent__PointerEventDescription.prototype = {};
  F._PointerDownEvent_PointerEvent__PointerEventDescription__CopyPointerDownEvent.prototype = {};
  F._PointerEnterEvent_PointerEvent__PointerEventDescription.prototype = {};
  F._PointerEnterEvent_PointerEvent__PointerEventDescription__CopyPointerEnterEvent.prototype = {};
  F._PointerEvent_Object_Diagnosticable.prototype = {};
  F._PointerExitEvent_PointerEvent__PointerEventDescription.prototype = {};
  F._PointerExitEvent_PointerEvent__PointerEventDescription__CopyPointerExitEvent.prototype = {};
  F._PointerHoverEvent_PointerEvent__PointerEventDescription.prototype = {};
  F._PointerHoverEvent_PointerEvent__PointerEventDescription__CopyPointerHoverEvent.prototype = {};
  F._PointerMoveEvent_PointerEvent__PointerEventDescription.prototype = {};
  F._PointerMoveEvent_PointerEvent__PointerEventDescription__CopyPointerMoveEvent.prototype = {};
  F._PointerRemovedEvent_PointerEvent__PointerEventDescription.prototype = {};
  F._PointerRemovedEvent_PointerEvent__PointerEventDescription__CopyPointerRemovedEvent.prototype = {};
  F._PointerScrollEvent_PointerSignalEvent__PointerEventDescription.prototype = {};
  F._PointerScrollEvent_PointerSignalEvent__PointerEventDescription__CopyPointerScrollEvent.prototype = {};
  F._PointerUpEvent_PointerEvent__PointerEventDescription.prototype = {};
  F._PointerUpEvent_PointerEvent__PointerEventDescription__CopyPointerUpEvent.prototype = {};
  F.__TransformedPointerAddedEvent__TransformedPointerEvent__CopyPointerAddedEvent.prototype = {};
  F.__TransformedPointerCancelEvent__TransformedPointerEvent__CopyPointerCancelEvent.prototype = {};
  F.__TransformedPointerDownEvent__TransformedPointerEvent__CopyPointerDownEvent.prototype = {};
  F.__TransformedPointerEnterEvent__TransformedPointerEvent__CopyPointerEnterEvent.prototype = {};
  F.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable.prototype = {};
  F.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable__PointerEventDescription.prototype = {};
  F.__TransformedPointerExitEvent__TransformedPointerEvent__CopyPointerExitEvent.prototype = {};
  F.__TransformedPointerHoverEvent__TransformedPointerEvent__CopyPointerHoverEvent.prototype = {};
  F.__TransformedPointerMoveEvent__TransformedPointerEvent__CopyPointerMoveEvent.prototype = {};
  F.__TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent.prototype = {};
  F.__TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent.prototype = {};
  F.__TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent.prototype = {};
  K._ForceState.prototype = {
    toString$0: function(_) {
      return this._force_press$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  K.ForcePressDetails.prototype = {};
  K.ForcePressGestureRecognizer.prototype = {
    get$_lastPosition: function() {
      var t1 = this.__ForcePressGestureRecognizer__lastPosition;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_lastPosition")) : t1;
    },
    addAllowedPointer$1: function($event) {
      var _this = this;
      if ($event.get$pressureMax() <= 1)
        _this.resolve$1(C.GestureDisposition_1);
      else {
        _this.super$OneSequenceGestureRecognizer$addAllowedPointer($event);
        if (_this._force_press$_state === C._ForceState_0) {
          _this._force_press$_state = C._ForceState_1;
          _this.__ForcePressGestureRecognizer__lastPosition = new S.OffsetPair($event.get$localPosition(), $event.get$position($event));
        }
      }
    },
    handleEvent$1: function($event) {
      var pressure, _this = this;
      if (type$.PointerMoveEvent._is($event) || type$.PointerDownEvent._is($event)) {
        pressure = K.ForcePressGestureRecognizer__inverseLerp($event.get$pressureMin(), $event.get$pressureMax(), $event.get$pressure($event));
        _this.__ForcePressGestureRecognizer__lastPosition = new S.OffsetPair($event.get$localPosition(), $event.get$position($event));
        _this.__ForcePressGestureRecognizer__lastPressure = pressure;
        if (_this._force_press$_state === C._ForceState_1)
          if (pressure > 0.4) {
            _this._force_press$_state = C._ForceState_3;
            _this.resolve$1(C.GestureDisposition_0);
          } else if ($event.get$delta().get$distanceSquared() > F.computeHitSlop($event.get$kind($event)))
            _this.resolve$1(C.GestureDisposition_1);
        if (pressure > 0.4 && _this._force_press$_state === C._ForceState_2) {
          _this._force_press$_state = C._ForceState_3;
          if (_this.onStart != null)
            _this.invokeCallback$2("onStart", new K.ForcePressGestureRecognizer_handleEvent_closure(_this, pressure));
        }
      }
      _this.stopTrackingIfPointerNoLongerDown$1($event);
    },
    acceptGesture$1: function(pointer) {
      var _this = this,
        t1 = _this._force_press$_state;
      if (t1 === C._ForceState_1)
        t1 = _this._force_press$_state = C._ForceState_2;
      if (_this.onStart != null && t1 === C._ForceState_3)
        _this.invokeCallback$2("onStart", new K.ForcePressGestureRecognizer_acceptGesture_closure(_this));
    },
    didStopTrackingLastPointer$1: function(pointer) {
      var _this = this,
        t1 = _this._force_press$_state,
        wasAccepted = t1 === C._ForceState_3 || t1 === C._ForceState_4;
      if (t1 === C._ForceState_1) {
        _this.resolve$1(C.GestureDisposition_1);
        return;
      }
      if (wasAccepted && _this.onEnd != null)
        if (_this.onEnd != null)
          _this.invokeCallback$2("onEnd", new K.ForcePressGestureRecognizer_didStopTrackingLastPointer_closure(_this));
      _this._force_press$_state = C._ForceState_0;
    },
    rejectGesture$1: function(pointer) {
      this.stopTrackingPointer$1(pointer);
      this.didStopTrackingLastPointer$1(pointer);
    }
  };
  K.ForcePressGestureRecognizer_handleEvent_closure.prototype = {
    call$0: function() {
      var t3,
        t1 = this.$this,
        t2 = t1.onStart;
      t2.toString;
      t3 = t1.get$_lastPosition().global;
      t1.get$_lastPosition().toString;
      return t2.call$1(new K.ForcePressDetails(t3));
    },
    $signature: 0
  };
  K.ForcePressGestureRecognizer_acceptGesture_closure.prototype = {
    call$0: function() {
      var t3,
        t1 = this.$this,
        t2 = t1.onStart;
      t2.toString;
      if (t1.__ForcePressGestureRecognizer__lastPressure === $)
        H.throwExpression(H.LateError$fieldNI("_lastPressure"));
      t3 = t1.get$_lastPosition().global;
      t1.get$_lastPosition().toString;
      return t2.call$1(new K.ForcePressDetails(t3));
    },
    $signature: 0
  };
  K.ForcePressGestureRecognizer_didStopTrackingLastPointer_closure.prototype = {
    call$0: function() {
      var t3,
        t1 = this.$this,
        t2 = t1.onEnd;
      t2.toString;
      t3 = t1.get$_lastPosition().global;
      t1.get$_lastPosition().toString;
      return t2.call$1(new K.ForcePressDetails(t3));
    },
    $signature: 0
  };
  O.HitTestEntry.prototype = {
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this) + "(" + this.get$target(this).toString$0(0) + ")";
    },
    get$target: function(receiver) {
      return this.target;
    }
  };
  O._TransformPart.prototype = {};
  O._MatrixTransformPart.prototype = {
    multiply$1: function(_, rhs) {
      return type$.Matrix4._as(this.matrix.$mul(0, rhs));
    }
  };
  O._OffsetTransformPart.prototype = {
    multiply$1: function(_, rhs) {
      var t3, tx, ty, tz, t4, _null = null,
        t1 = new Float64Array(16),
        t2 = new E.Matrix4(t1);
      t2.setFrom$1(rhs);
      t3 = this.offset;
      tx = t3._dx;
      ty = t3._dy;
      if (typeof tx == "number")
        tz = 0;
      else {
        H.throwExpression(P.UnimplementedError$(_null));
        tz = _null;
        ty = tz;
        tx = ty;
      }
      t3 = t1[0];
      t4 = t1[3];
      t1[0] = t3 + tx * t4;
      t1[1] = t1[1] + ty * t4;
      t1[2] = t1[2] + tz * 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] + tz * 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] + tz * 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] + tz * t3;
      t1[15] = t3;
      return t2;
    }
  };
  O.HitTestResult.prototype = {
    _globalizeTransforms$0: function() {
      var t2, last, t3, _i,
        t1 = this._localTransforms;
      if (t1.length === 0)
        return;
      t2 = this._transforms;
      last = C.JSArray_methods.get$last(t2);
      for (t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        last = t1[_i].multiply$1(0, last);
        t2.push(last);
      }
      C.JSArray_methods.set$length(t1, 0);
    },
    add$1: function(_, entry) {
      this._globalizeTransforms$0();
      entry._transform = C.JSArray_methods.get$last(this._transforms);
      this._path.push(entry);
    },
    popTransform$0: function() {
      var t1 = this._localTransforms;
      if (t1.length !== 0)
        t1.pop();
      else
        this._transforms.pop();
    },
    toString$0: function(_) {
      var t1 = this._path;
      return "HitTestResult(" + (t1.length === 0 ? "<empty path>" : C.JSArray_methods.join$1(t1, ", ")) + ")";
    }
  };
  T.LongPressStartDetails.prototype = {};
  T.LongPressMoveUpdateDetails.prototype = {};
  T.LongPressEndDetails.prototype = {};
  T.LongPressGestureRecognizer.prototype = {
    isPointerAllowed$1: function($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: function() {
      var t1, _this = this;
      _this.resolve$1(C.GestureDisposition_0);
      _this._longPressAccepted = true;
      t1 = _this._primaryPointer;
      t1.toString;
      _this.super$PrimaryPointerGestureRecognizer$acceptGesture(t1);
      _this._checkLongPressStart$0();
    },
    handlePrimaryPointer$1: function($event) {
      var t1, _this = this;
      if (!$event.get$synthesized()) {
        if (type$.PointerDownEvent._is($event)) {
          t1 = new R.VelocityTracker($event.get$kind($event), P.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(C.GestureDisposition_1);
        _this._long_press$_reset$0();
      } else if (type$.PointerCancelEvent._is($event)) {
        _this._checkLongPressCancel$0();
        _this._long_press$_reset$0();
      } else if (type$.PointerDownEvent._is($event)) {
        _this._longPressOrigin = new S.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(C.GestureDisposition_1);
          t1 = _this._primaryPointer;
          t1.toString;
          _this.stopTrackingPointer$1(t1);
        } else if (_this._longPressAccepted)
          _this._checkLongPressMoveUpdate$1($event);
    },
    _checkLongPressDown$1: function($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: function() {
      if (this._recognizer$_state === C.GestureRecognizerState_1)
        switch (this._long_press$_initialButtons) {
          case 1:
            break;
          case 2:
            break;
          case 4:
            break;
        }
    },
    _checkLongPressStart$0: function() {
      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 T.LongPressGestureRecognizer__checkLongPressStart_closure(_this, new T.LongPressStartDetails(t2, t1 == null ? t2 : t1)));
          }
          t1 = _this.onLongPress;
          if (t1 != null)
            _this.invokeCallback$2("onLongPress", t1);
          break;
        case 2:
          break;
        case 4:
          break;
      }
    },
    _checkLongPressMoveUpdate$1: function($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);
      if (t2 == null)
        t2 = t1;
      switch (_this._long_press$_initialButtons) {
        case 1:
          if (_this.onLongPressMoveUpdate != null)
            _this.invokeCallback$2("onLongPressMoveUpdate", new T.LongPressGestureRecognizer__checkLongPressMoveUpdate_closure(_this, new T.LongPressMoveUpdateDetails(t1, t2, t3)));
          break;
        case 2:
          break;
        case 4:
          break;
      }
    },
    _checkLongPressEnd$1: function($event) {
      var _this = this,
        estimate = _this._velocityTracker.getVelocityEstimate$0(),
        velocity = estimate == null ? C.Velocity_Offset_0_0 : new R.Velocity(estimate.pixelsPerSecond),
        t1 = $event.get$position($event),
        t2 = $event.get$localPosition();
      t1 = t2 == null ? t1 : t2;
      _this._velocityTracker = null;
      switch (_this._long_press$_initialButtons) {
        case 1:
          if (_this.onLongPressEnd != null)
            _this.invokeCallback$2("onLongPressEnd", new T.LongPressGestureRecognizer__checkLongPressEnd_closure(_this, new T.LongPressEndDetails(t1, velocity)));
          break;
        case 2:
          break;
        case 4:
          break;
      }
    },
    _long_press$_reset$0: function() {
      var _this = this;
      _this._longPressAccepted = false;
      _this._velocityTracker = _this._long_press$_initialButtons = _this._longPressOrigin = null;
    },
    resolve$1: function(disposition) {
      var _this = this;
      if (disposition === C.GestureDisposition_1)
        if (_this._longPressAccepted)
          _this._long_press$_reset$0();
        else
          _this._checkLongPressCancel$0();
      _this.super$OneSequenceGestureRecognizer$resolve(disposition);
    },
    acceptGesture$1: function(pointer) {
    }
  };
  T.LongPressGestureRecognizer__checkLongPressStart_closure.prototype = {
    call$0: function() {
      return this.$this.onLongPressStart.call$1(this.details);
    },
    $signature: 0
  };
  T.LongPressGestureRecognizer__checkLongPressMoveUpdate_closure.prototype = {
    call$0: function() {
      return this.$this.onLongPressMoveUpdate.call$1(this.details);
    },
    $signature: 0
  };
  T.LongPressGestureRecognizer__checkLongPressEnd_closure.prototype = {
    call$0: function() {
      return this.$this.onLongPressEnd.call$1(this.details);
    },
    $signature: 0
  };
  B._Vector.prototype = {
    $index: function(_, i) {
      return this._lsq_solver$_elements[i + this._lsq_solver$_offset];
    },
    $indexSet: function(_, i, value) {
      this._lsq_solver$_elements[i + this._lsq_solver$_offset] = value;
    },
    $mul: function(_, a) {
      var t1, t2, t3, result, i;
      for (t1 = this._lsq_solver$_length, t2 = this._lsq_solver$_elements, t3 = this._lsq_solver$_offset, result = 0, i = 0; i < t1; ++i)
        result += t2[i + t3] * a._lsq_solver$_elements[i + a._lsq_solver$_offset];
      return result;
    }
  };
  B._Matrix.prototype = {};
  B.PolynomialFit.prototype = {
    get$confidence: function(_) {
      var t1 = this.__PolynomialFit_confidence;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("confidence")) : t1;
    }
  };
  B.LeastSquaresSolver.prototype = {
    solve$1: function(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 B.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 B._Vector(t8, t2, t4).$mul(0, new B._Vector(t9, t2, t4));
          for (h = 0; h < t2; ++h) {
            t10 = t8 + h;
            t4[t10] = t4[t10] - dot * t4[t9 + h];
          }
        }
        t9 = new B._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 B._Vector(t8, t2, t4).$mul(0, new B._Vector(i * t2, t2, t5));
          t7[t9 + i] = t10;
        }
      }
      t5 = new Float64Array(t2);
      wy = new B._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 B._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;
    }
  };
  O._DragState.prototype = {
    toString$0: function(_) {
      return this._monodrag$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  O.DragGestureRecognizer.prototype = {
    get$_monodrag$_initialPosition: function() {
      var t1 = this.__DragGestureRecognizer__initialPosition;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_initialPosition")) : t1;
    },
    get$_pendingDragOffset: function() {
      var t1 = this.__DragGestureRecognizer__pendingDragOffset;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_pendingDragOffset")) : t1;
    },
    get$_globalDistanceMoved: function() {
      var t1 = this.__DragGestureRecognizer__globalDistanceMoved;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_globalDistanceMoved")) : t1;
    },
    isPointerAllowed$1: function($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);
    },
    addAllowedPointer$1: function($event) {
      var t1, _this = this;
      _this.super$OneSequenceGestureRecognizer$addAllowedPointer($event);
      _this._velocityTrackers.$indexSet(0, $event.get$pointer(), _this.velocityTrackerBuilder.call$1($event));
      t1 = _this._monodrag$_state;
      if (t1 === C._DragState_0) {
        _this._monodrag$_state = C._DragState_1;
        t1 = $event.get$position($event);
        _this.__DragGestureRecognizer__initialPosition = new S.OffsetPair($event.get$localPosition(), t1);
        _this._initialButtons = $event.get$buttons($event);
        _this.__DragGestureRecognizer__pendingDragOffset = C.OffsetPair_G6F;
        _this.__DragGestureRecognizer__globalDistanceMoved = 0;
        _this._lastPendingEventTimestamp = $event.get$timeStamp($event);
        _this._lastTransform = $event.get$transform($event);
        _this._monodrag$_checkDown$0();
      } else if (t1 === C._DragState_2)
        _this.resolve$1(C.GestureDisposition_0);
    },
    handleEvent$1: function($event) {
      var t1, t2, t3, movedLocally, localToGlobalTransform, _this = this;
      if (!$event.get$synthesized())
        t1 = type$.PointerDownEvent._is($event) || type$.PointerMoveEvent._is($event);
      else
        t1 = false;
      if (t1) {
        t1 = _this._velocityTrackers.$index(0, $event.get$pointer());
        t1.toString;
        t1.addPosition$2($event.get$timeStamp($event), $event.get$localPosition());
      }
      if (type$.PointerMoveEvent._is($event)) {
        if ($event.get$buttons($event) != _this._initialButtons) {
          _this._giveUpPointer$1($event.get$pointer());
          return;
        }
        if (_this._monodrag$_state === C._DragState_2) {
          t1 = $event.get$timeStamp($event);
          t2 = _this._getDeltaForDetails$1($event.get$localDelta());
          t3 = _this._getPrimaryValueFromOffset$1($event.get$localDelta());
          _this._checkUpdate$5$delta$globalPosition$localPosition$primaryDelta$sourceTimeStamp(t2, $event.get$position($event), $event.get$localPosition(), t3, t1);
        } else {
          _this.__DragGestureRecognizer__pendingDragOffset = _this.get$_pendingDragOffset().$add(0, new S.OffsetPair($event.get$localDelta(), $event.get$delta()));
          _this._lastPendingEventTimestamp = $event.get$timeStamp($event);
          _this._lastTransform = $event.get$transform($event);
          movedLocally = _this._getDeltaForDetails$1($event.get$localDelta());
          if ($event.get$transform($event) == null)
            localToGlobalTransform = null;
          else {
            t1 = $event.get$transform($event);
            t1.toString;
            localToGlobalTransform = E.Matrix4_tryInvert(t1);
          }
          t1 = _this.get$_globalDistanceMoved();
          t2 = F.PointerEvent_transformDeltaViaPositions(localToGlobalTransform, null, movedLocally, $event.get$localPosition()).get$distance();
          t3 = _this._getPrimaryValueFromOffset$1(movedLocally);
          _this.__DragGestureRecognizer__globalDistanceMoved = t1 + t2 * J.get$sign$in(t3 == null ? 1 : t3);
          if (_this._hasSufficientGlobalDistanceToAccept$1($event.get$kind($event)))
            _this.resolve$1(C.GestureDisposition_0);
        }
      }
      if (type$.PointerUpEvent._is($event) || type$.PointerCancelEvent._is($event))
        _this._giveUpPointer$1($event.get$pointer());
    },
    acceptGesture$1: function(pointer) {
      var delta, t1, transform, localUpdateDelta, localToGlobal, globalUpdateDelta, correctedPosition, _this = this;
      _this._acceptedActivePointers.add$1(0, pointer);
      if (_this._monodrag$_state !== C._DragState_2) {
        _this._monodrag$_state = C._DragState_2;
        delta = _this.get$_pendingDragOffset();
        t1 = _this._lastPendingEventTimestamp;
        t1.toString;
        transform = _this._lastTransform;
        switch (_this.dragStartBehavior) {
          case C.DragStartBehavior_1:
            _this.__DragGestureRecognizer__initialPosition = _this.get$_monodrag$_initialPosition().$add(0, delta);
            localUpdateDelta = C.Offset_0_0;
            break;
          case C.DragStartBehavior_0:
            localUpdateDelta = _this._getDeltaForDetails$1(delta.local);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
        _this.__DragGestureRecognizer__pendingDragOffset = C.OffsetPair_G6F;
        _this._lastTransform = _this._lastPendingEventTimestamp = null;
        _this._checkStart$2(t1, pointer);
        if (!J.$eq$(localUpdateDelta, C.Offset_0_0) && _this.onUpdate != null) {
          localToGlobal = transform != null ? E.Matrix4_tryInvert(transform) : null;
          globalUpdateDelta = F.PointerEvent_transformDeltaViaPositions(localToGlobal, null, localUpdateDelta, _this.get$_monodrag$_initialPosition().local.$add(0, localUpdateDelta));
          correctedPosition = _this.get$_monodrag$_initialPosition().$add(0, new S.OffsetPair(localUpdateDelta, globalUpdateDelta));
          _this._checkUpdate$5$delta$globalPosition$localPosition$primaryDelta$sourceTimeStamp(localUpdateDelta, correctedPosition.global, correctedPosition.local, _this._getPrimaryValueFromOffset$1(localUpdateDelta), t1);
        }
        _this.resolve$1(C.GestureDisposition_0);
      }
    },
    rejectGesture$1: function(pointer) {
      this._giveUpPointer$1(pointer);
    },
    didStopTrackingLastPointer$1: function(pointer) {
      var t1, _this = this;
      switch (_this._monodrag$_state) {
        case C._DragState_0:
          break;
        case C._DragState_1:
          _this.resolve$1(C.GestureDisposition_1);
          t1 = _this.onCancel;
          if (t1 != null)
            _this.invokeCallback$2("onCancel", t1);
          break;
        case C._DragState_2:
          _this._checkEnd$1(pointer);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      _this._velocityTrackers.clear$0(0);
      _this._initialButtons = null;
      _this._monodrag$_state = C._DragState_0;
    },
    _giveUpPointer$1: function(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, C.GestureDisposition_1);
        }
      }
    },
    _monodrag$_checkDown$0: function() {
      var t1, _this = this;
      if (_this.onDown != null) {
        t1 = _this.get$_monodrag$_initialPosition().global;
        _this.get$_monodrag$_initialPosition().toString;
        _this.invokeCallback$2("onDown", new O.DragGestureRecognizer__checkDown_closure(_this, new O.DragDownDetails(t1)));
      }
    },
    _checkStart$2: function(timestamp, pointer) {
      var t1, t2, _this = this;
      if (_this.onStart != null) {
        t1 = _this.get$_monodrag$_initialPosition().global;
        _this.get$_monodrag$_initialPosition().toString;
        t2 = _this._pointerToKind.$index(0, pointer);
        t2.toString;
        _this.invokeCallback$2("onStart", new O.DragGestureRecognizer__checkStart_closure(_this, new O.DragStartDetails(timestamp, t1, t2)));
      }
    },
    _checkUpdate$5$delta$globalPosition$localPosition$primaryDelta$sourceTimeStamp: function(delta, globalPosition, localPosition, primaryDelta, sourceTimeStamp) {
      if (this.onUpdate != null)
        this.invokeCallback$2("onUpdate", new O.DragGestureRecognizer__checkUpdate_closure(this, new O.DragUpdateDetails(sourceTimeStamp, delta, primaryDelta, globalPosition)));
    },
    _checkEnd$1: function(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 R.Velocity(t2).clampMagnitude$2(t3, t4);
        t1.details = new O.DragEndDetails(velocity, _this._getPrimaryValueFromOffset$1(velocity.pixelsPerSecond));
        debugReport = new O.DragGestureRecognizer__checkEnd_closure(estimate, velocity);
      } else {
        t1.details = new O.DragEndDetails(C.Velocity_Offset_0_0, 0);
        debugReport = new O.DragGestureRecognizer__checkEnd_closure0(estimate);
      }
      _this.invokeCallback$3$debugReport("onEnd", new O.DragGestureRecognizer__checkEnd_closure1(t1, _this), debugReport);
    },
    dispose$0: function(_) {
      this._velocityTrackers.clear$0(0);
      this.super$OneSequenceGestureRecognizer$dispose(0);
    }
  };
  O.DragGestureRecognizer__checkDown_closure.prototype = {
    call$0: function() {
      return this.$this.onDown.call$1(this.details);
    },
    $signature: 0
  };
  O.DragGestureRecognizer__checkStart_closure.prototype = {
    call$0: function() {
      return this.$this.onStart.call$1(this.details);
    },
    $signature: 0
  };
  O.DragGestureRecognizer__checkUpdate_closure.prototype = {
    call$0: function() {
      return this.$this.onUpdate.call$1(this.details);
    },
    $signature: 0
  };
  O.DragGestureRecognizer__checkEnd_closure.prototype = {
    call$0: function() {
      return this.estimate.toString$0(0) + "; fling at " + this.velocity.toString$0(0) + ".";
    },
    $signature: 124
  };
  O.DragGestureRecognizer__checkEnd_closure0.prototype = {
    call$0: function() {
      var t1 = this.estimate;
      if (t1 == null)
        return "Could not estimate velocity.";
      return t1.toString$0(0) + "; judged to not be a fling.";
    },
    $signature: 124
  };
  O.DragGestureRecognizer__checkEnd_closure1.prototype = {
    call$0: function() {
      return this.$this.onEnd.call$1(this._box_0.details);
    },
    $signature: 0
  };
  O.VerticalDragGestureRecognizer.prototype = {
    isFlingGesture$2: function(estimate, kind) {
      var minDistance,
        minVelocity = this.minFlingVelocity;
      if (minVelocity == null)
        minVelocity = 50;
      minDistance = this.minFlingDistance;
      if (minDistance == null)
        minDistance = F.computeHitSlop(kind);
      return Math.abs(estimate.pixelsPerSecond._dy) > minVelocity && Math.abs(estimate.offset._dy) > minDistance;
    },
    _hasSufficientGlobalDistanceToAccept$1: function(pointerDeviceKind) {
      return Math.abs(this.get$_globalDistanceMoved()) > F.computeHitSlop(pointerDeviceKind);
    },
    _getDeltaForDetails$1: function(delta) {
      return new P.Offset(0, delta._dy);
    },
    _getPrimaryValueFromOffset$1: function(value) {
      return value._dy;
    }
  };
  O.HorizontalDragGestureRecognizer.prototype = {
    isFlingGesture$2: function(estimate, kind) {
      var minDistance,
        minVelocity = this.minFlingVelocity;
      if (minVelocity == null)
        minVelocity = 50;
      minDistance = this.minFlingDistance;
      if (minDistance == null)
        minDistance = F.computeHitSlop(kind);
      return Math.abs(estimate.pixelsPerSecond._dx) > minVelocity && Math.abs(estimate.offset._dx) > minDistance;
    },
    _hasSufficientGlobalDistanceToAccept$1: function(pointerDeviceKind) {
      return Math.abs(this.get$_globalDistanceMoved()) > F.computeHitSlop(pointerDeviceKind);
    },
    _getDeltaForDetails$1: function(delta) {
      return new P.Offset(delta._dx, 0);
    },
    _getPrimaryValueFromOffset$1: function(value) {
      return value._dx;
    }
  };
  O.PanGestureRecognizer.prototype = {
    isFlingGesture$2: function(estimate, kind) {
      var minDistance,
        minVelocity = this.minFlingVelocity;
      if (minVelocity == null)
        minVelocity = 50;
      minDistance = this.minFlingDistance;
      if (minDistance == null)
        minDistance = F.computeHitSlop(kind);
      return estimate.pixelsPerSecond.get$distanceSquared() > minVelocity * minVelocity && estimate.offset.get$distanceSquared() > minDistance * minDistance;
    },
    _hasSufficientGlobalDistanceToAccept$1: function(pointerDeviceKind) {
      return Math.abs(this.get$_globalDistanceMoved()) > F.computePanSlop(pointerDeviceKind);
    },
    _getDeltaForDetails$1: function(delta) {
      return delta;
    },
    _getPrimaryValueFromOffset$1: function(value) {
      return null;
    }
  };
  F._CountdownZoned.prototype = {
    _onTimeout$0: function() {
      this._timeout = true;
    }
  };
  F._TapTracker.prototype = {
    stopTrackingPointer$1: function(route) {
      if (this._isTrackingPointer) {
        this._isTrackingPointer = false;
        $.GestureBinding__instance.GestureBinding_pointerRouter.removeRoute$2(this.pointer, route);
      }
    },
    isWithinGlobalTolerance$2: function($event, tolerance) {
      return $event.get$position($event).$sub(0, this._initialGlobalPosition).get$distance() <= tolerance;
    }
  };
  F.DoubleTapGestureRecognizer.prototype = {
    isPointerAllowed$1: function($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: function($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: function($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 F._CountdownZoned();
      P.Timer_Timer(C.Duration_40000, t5.get$_onTimeout());
      tracker = new F._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$_handleEvent(), t5);
      }
    },
    _handleEvent$1: function($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 = P.Timer_Timer(C.Duration_300000, _this.get$_multitap$_reset());
          t3 = t2.pointer;
          $.GestureBinding__instance.GestureBinding_gestureArena.hold$1(t3);
          t2.stopTrackingPointer$1(_this.get$_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, C.GestureDisposition_0);
          t3 = t2.entry;
          t3._arena._arena$_resolve$3(t3._arena$_pointer, t3._member, C.GestureDisposition_0);
          t2.stopTrackingPointer$1(_this.get$_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: function(pointer) {
    },
    rejectGesture$1: function(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: function(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, C.GestureDisposition_1);
      tracker.stopTrackingPointer$1(_this.get$_handleEvent());
      t2 = _this._firstTap;
      if (t2 != null)
        if (tracker === t2)
          _this._multitap$_reset$0();
        else {
          _this._checkCancel$0();
          if (t1.get$isEmpty(t1))
            _this._multitap$_reset$0();
        }
    },
    dispose$0: function(_) {
      this._multitap$_reset$0();
      this.super$GestureRecognizer$dispose(0);
    },
    _multitap$_reset$0: function() {
      var t1, _this = this;
      _this._stopDoubleTapTimer$0();
      if (_this._firstTap != null) {
        t1 = _this._trackers;
        if (t1.get$isNotEmpty(t1))
          _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: function() {
      var t1 = this._trackers;
      t1 = t1.get$values(t1);
      C.JSArray_methods.forEach$1(P.List_List$of(t1, true, H._instanceType(t1)._eval$1("Iterable.E")), this.get$_reject());
    },
    _stopDoubleTapTimer$0: function() {
      var t1 = this._doubleTapTimer;
      if (t1 != null) {
        t1.cancel$0(0);
        this._doubleTapTimer = null;
      }
    },
    _checkCancel$0: function() {
    }
  };
  O.PointerRouter.prototype = {
    addRoute$3: function(pointer, route, transform) {
      J.$indexSet$ax(this._routeMap.putIfAbsent$2(0, pointer, new O.PointerRouter_addRoute_closure()), route, transform);
    },
    removeRoute$2: function(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: function($event, route, transform) {
      var exception, stack, exception0, t1;
      try {
        route.call$1($event.transformed$1(transform));
      } catch (exception0) {
        exception = H.unwrapException(exception0);
        stack = H.getTraceFromException(exception0);
        t1 = U.ErrorDescription$("while routing a pointer event");
        U.FlutterError_reportError(new U.FlutterErrorDetails(exception, stack, "gesture library", t1, null, false));
      }
    },
    route$1: function($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 = P.LinkedHashMap_LinkedHashMap$from(t1, t2, t3);
      if (routes != null)
        _this._dispatchEventToRoutes$3($event, routes, P.LinkedHashMap_LinkedHashMap$from(routes, t2, t3));
      _this._dispatchEventToRoutes$3($event, t1, copiedGlobalRoutes);
    },
    _dispatchEventToRoutes$3: function($event, referenceRoutes, copiedRoutes) {
      copiedRoutes.forEach$1(0, new O.PointerRouter__dispatchEventToRoutes_closure(this, referenceRoutes, $event));
    }
  };
  O.PointerRouter_addRoute_closure.prototype = {
    call$0: function() {
      return P.LinkedHashMap_LinkedHashMap$_empty(type$.void_Function_PointerEvent, type$.nullable_Matrix4);
    },
    $signature: 718
  };
  O.PointerRouter__dispatchEventToRoutes_closure.prototype = {
    call$2: function(route, transform) {
      if (J.containsKey$1$x(this.referenceRoutes, route))
        this.$this._dispatch$3(this.event, route, transform);
    },
    $signature: 719
  };
  G.PointerSignalResolver.prototype = {
    register$2: function(_, $event, callback) {
      if (this._firstRegisteredCallback != null)
        return;
      this._currentEvent = $event;
      this._firstRegisteredCallback = callback;
    },
    resolve$1: function($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 = H.unwrapException(exception0);
        stack = H.getTraceFromException(exception0);
        t1 = U.ErrorDescription$("while resolving a PointerSignalEvent");
        U.FlutterError_reportError(new U.FlutterErrorDetails(exception, stack, "gesture library", t1, null, false));
      }
      _this._currentEvent = _this._firstRegisteredCallback = null;
    }
  };
  S.DragStartBehavior.prototype = {
    toString$0: function(_) {
      return this._recognizer$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  S.GestureRecognizer.prototype = {
    addPointer$1: function($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: function($event) {
    },
    handleNonAllowedPointer$1: function($event) {
    },
    isPointerAllowed$1: function($event) {
      var t1 = this._supportedDevices;
      return t1 == null || t1.contains$1(0, $event.get$kind($event));
    },
    dispose$0: function(_) {
    },
    invokeCallback$1$3$debugReport: function($name, callback, debugReport) {
      var exception, stack, exception0, t1, result = null;
      try {
        result = callback.call$0();
      } catch (exception0) {
        exception = H.unwrapException(exception0);
        stack = H.getTraceFromException(exception0);
        t1 = U.ErrorDescription$("while handling a gesture");
        U.FlutterError_reportError(new U.FlutterErrorDetails(exception, stack, "gesture", t1, null, false));
      }
      return result;
    },
    invokeCallback$2: function($name, callback) {
      return this.invokeCallback$1$3$debugReport($name, callback, null, type$.dynamic);
    },
    invokeCallback$3$debugReport: function($name, callback, debugReport) {
      return this.invokeCallback$1$3$debugReport($name, callback, debugReport, type$.dynamic);
    },
    $isDiagnosticableTree: 1
  };
  S.OneSequenceGestureRecognizer.prototype = {
    addAllowedPointer$1: function($event) {
      this.startTrackingPointer$2($event.get$pointer(), $event.get$transform($event));
    },
    handleNonAllowedPointer$1: function($event) {
      this.resolve$1(C.GestureDisposition_1);
    },
    acceptGesture$1: function(pointer) {
    },
    rejectGesture$1: function(pointer) {
    },
    resolve$1: function(disposition) {
      var _i, entry,
        t1 = this._recognizer$_entries,
        localEntries = P.List_List$from(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: function(_) {
      var t1, t2, t3, t4, t5, t6, t7, _this = this;
      _this.resolve$1(C.GestureDisposition_1);
      for (t1 = _this._trackedPointers, t2 = new P._HashSetIterator(t1, t1._computeElements$0(), H._instanceType(t1)._eval$1("_HashSetIterator<1>")); t2.moveNext$0();) {
        t3 = t2._collection$_current;
        t4 = $.GestureBinding__instance.GestureBinding_pointerRouter;
        t5 = _this.get$handleEvent();
        t4 = t4._routeMap;
        t6 = t4.$index(0, t3);
        t6.toString;
        t7 = J.getInterceptor$ax(t6);
        t7.remove$1(t6, t5);
        if (t7.get$isEmpty(t6))
          t4.remove$1(0, t3);
      }
      t1.clear$0(0);
      _this.super$GestureRecognizer$dispose(0);
    },
    _addPointerToArena$1: function(pointer) {
      return $.GestureBinding__instance.GestureBinding_gestureArena.add$2(0, pointer, this);
    },
    startTrackingPointer$2: function(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: function(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: function($event) {
      if (type$.PointerUpEvent._is($event) || type$.PointerCancelEvent._is($event))
        this.stopTrackingPointer$1($event.get$pointer());
    }
  };
  S.GestureRecognizerState.prototype = {
    toString$0: function(_) {
      return this._recognizer$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  S.PrimaryPointerGestureRecognizer.prototype = {
    addAllowedPointer$1: function($event) {
      var _this = this;
      _this.super$OneSequenceGestureRecognizer$addAllowedPointer($event);
      if (_this._recognizer$_state === C.GestureRecognizerState_0) {
        _this._recognizer$_state = C.GestureRecognizerState_1;
        _this._primaryPointer = $event.get$pointer();
        _this._initialPosition = new S.OffsetPair($event.get$localPosition(), $event.get$position($event));
        _this._recognizer$_timer = P.Timer_Timer(_this.deadline, new S.PrimaryPointerGestureRecognizer_addAllowedPointer_closure(_this, $event));
      }
    },
    handleNonAllowedPointer$1: function($event) {
      if (!this._gestureAccepted)
        this.super$OneSequenceGestureRecognizer$handleNonAllowedPointer($event);
    },
    handleEvent$1: function($event) {
      var isPreAcceptSlopPastTolerance, t1, isPostAcceptSlopPastTolerance, _this = this;
      if (_this._recognizer$_state === C.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(C.GestureDisposition_1);
          t1 = _this._primaryPointer;
          t1.toString;
          _this.stopTrackingPointer$1(t1);
        } else
          _this.handlePrimaryPointer$1($event);
      }
      _this.stopTrackingIfPointerNoLongerDown$1($event);
    },
    didExceedDeadline$0: function() {
    },
    acceptGesture$1: function(pointer) {
      if (pointer == this._primaryPointer) {
        this._stopTimer$0();
        this._gestureAccepted = true;
      }
    },
    rejectGesture$1: function(pointer) {
      var _this = this;
      if (pointer == _this._primaryPointer && _this._recognizer$_state === C.GestureRecognizerState_1) {
        _this._stopTimer$0();
        _this._recognizer$_state = C.GestureRecognizerState_2;
      }
    },
    didStopTrackingLastPointer$1: function(pointer) {
      var _this = this;
      _this._stopTimer$0();
      _this._recognizer$_state = C.GestureRecognizerState_0;
      _this._initialPosition = null;
      _this._gestureAccepted = false;
    },
    dispose$0: function(_) {
      this._stopTimer$0();
      this.super$OneSequenceGestureRecognizer$dispose(0);
    },
    _stopTimer$0: function() {
      var t1 = this._recognizer$_timer;
      if (t1 != null) {
        t1.cancel$0(0);
        this._recognizer$_timer = null;
      }
    },
    _getGlobalDistance$1: function($event) {
      return $event.get$position($event).$sub(0, this._initialPosition.global).get$distance();
    }
  };
  S.PrimaryPointerGestureRecognizer_addAllowedPointer_closure.prototype = {
    call$0: function() {
      this.$this.didExceedDeadline$0();
      return null;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  S.OffsetPair.prototype = {
    $add: function(_, other) {
      return new S.OffsetPair(this.local.$add(0, other.local), this.global.$add(0, other.global));
    },
    $sub: function(_, other) {
      return new S.OffsetPair(this.local.$sub(0, other.local), this.global.$sub(0, other.global));
    },
    toString$0: function(_) {
      return "OffsetPair(local: " + H.S(this.local) + ", global: " + H.S(this.global) + ")";
    }
  };
  S._GestureRecognizer_GestureArenaMember_DiagnosticableTreeMixin.prototype = {};
  N.TapDownDetails.prototype = {
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  N.TapUpDetails.prototype = {
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  N.BaseTapGestureRecognizer.prototype = {
    addAllowedPointer$1: function($event) {
      var _this = this;
      if (_this._recognizer$_state === C.GestureRecognizerState_0) {
        if (_this._down != null && _this._up != null)
          _this._reset$0();
        _this._down = $event;
      }
      if (_this._down != null)
        _this.super$PrimaryPointerGestureRecognizer$addAllowedPointer($event);
    },
    startTrackingPointer$2: function(pointer, transform) {
      this.super$OneSequenceGestureRecognizer$startTrackingPointer(pointer, transform);
    },
    handlePrimaryPointer$1: function($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(C.GestureDisposition_1);
        if (_this._sentTapDown) {
          t1 = _this._down;
          t1.toString;
          _this.handleTapCancel$3$cancel$down$reason($event, t1, "");
        }
        _this._reset$0();
      } else {
        t1 = $event.get$buttons($event);
        t2 = _this._down;
        if (t1 != t2.get$buttons(t2)) {
          _this.resolve$1(C.GestureDisposition_1);
          t1 = _this._primaryPointer;
          t1.toString;
          _this.stopTrackingPointer$1(t1);
        }
      }
    },
    resolve$1: function(disposition) {
      var t1, _this = this;
      if (_this._wonArenaForPrimaryPointer && disposition === C.GestureDisposition_1) {
        t1 = _this._down;
        t1.toString;
        _this.handleTapCancel$3$cancel$down$reason(null, t1, "spontaneous");
        _this._reset$0();
      }
      _this.super$OneSequenceGestureRecognizer$resolve(disposition);
    },
    didExceedDeadline$0: function() {
      this._checkDown$0();
    },
    acceptGesture$1: function(pointer) {
      var _this = this;
      _this.super$PrimaryPointerGestureRecognizer$acceptGesture(pointer);
      if (pointer == _this._primaryPointer) {
        _this._checkDown$0();
        _this._wonArenaForPrimaryPointer = true;
        _this._checkUp$0();
      }
    },
    rejectGesture$1: function(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._reset$0();
      }
    },
    _checkDown$0: function() {
      var t1, _this = this;
      if (_this._sentTapDown)
        return;
      t1 = _this._down;
      t1.toString;
      _this.handleTapDown$1$down(t1);
      _this._sentTapDown = true;
    },
    _checkUp$0: function() {
      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._reset$0();
    },
    _reset$0: function() {
      var _this = this;
      _this._wonArenaForPrimaryPointer = _this._sentTapDown = false;
      _this._down = _this._up = null;
    }
  };
  N.TapGestureRecognizer.prototype = {
    isPointerAllowed$1: function($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: function(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 N.TapDownDetails(t1, t3, t2 == null ? t1 : t2);
      switch (down.get$buttons(down)) {
        case 1:
          if (_this.onTapDown != null)
            _this.invokeCallback$2("onTapDown", new N.TapGestureRecognizer_handleTapDown_closure(_this, details));
          break;
        case 2:
          if (_this.onSecondaryTapDown != null)
            _this.invokeCallback$2("onSecondaryTapDown", new N.TapGestureRecognizer_handleTapDown_closure0(_this, details));
          break;
        case 4:
          break;
      }
    },
    handleTapUp$2$down$up: function(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 N.TapGestureRecognizer_handleTapUp_closure(_this, new N.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 N.TapGestureRecognizer_handleTapUp_closure0(_this));
          break;
        case 4:
          break;
      }
    },
    handleTapCancel$3$cancel$down$reason: function(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;
      }
    }
  };
  N.TapGestureRecognizer_handleTapDown_closure.prototype = {
    call$0: function() {
      return this.$this.onTapDown.call$1(this.details);
    },
    $signature: 0
  };
  N.TapGestureRecognizer_handleTapDown_closure0.prototype = {
    call$0: function() {
      return this.$this.onSecondaryTapDown.call$1(this.details);
    },
    $signature: 0
  };
  N.TapGestureRecognizer_handleTapUp_closure.prototype = {
    call$0: function() {
      return this.$this.onTapUp.call$1(this.details);
    },
    $signature: 0
  };
  N.TapGestureRecognizer_handleTapUp_closure0.prototype = {
    call$0: function() {
      return this.$this.onSecondaryTap.call$0();
    },
    $signature: 0
  };
  R.Velocity.prototype = {
    $sub: function(_, other) {
      return new R.Velocity(this.pixelsPerSecond.$sub(0, other.pixelsPerSecond));
    },
    $add: function(_, other) {
      return new R.Velocity(this.pixelsPerSecond.$add(0, other.pixelsPerSecond));
    },
    clampMagnitude$2: function(minValue, maxValue) {
      var t1 = this.pixelsPerSecond,
        valueSquared = t1.get$distanceSquared();
      if (valueSquared > maxValue * maxValue)
        return new R.Velocity(t1.$div(0, t1.get$distance()).$mul(0, maxValue));
      if (valueSquared < minValue * minValue)
        return new R.Velocity(t1.$div(0, t1.get$distance()).$mul(0, minValue));
      return this;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof R.Velocity && other.pixelsPerSecond.$eq(0, this.pixelsPerSecond);
    },
    get$hashCode: function(_) {
      var t1 = this.pixelsPerSecond;
      return P.hashValues(t1._dx, t1._dy, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var t1 = this.pixelsPerSecond;
      return "Velocity(" + J.toStringAsFixed$1$n(t1._dx, 1) + ", " + J.toStringAsFixed$1$n(t1._dy, 1) + ")";
    }
  };
  R.VelocityEstimate.prototype = {
    toString$0: function(_) {
      var _this = this,
        t1 = _this.pixelsPerSecond;
      return "VelocityEstimate(" + J.toStringAsFixed$1$n(t1._dx, 1) + ", " + J.toStringAsFixed$1$n(t1._dy, 1) + "; offset: " + _this.offset.toString$0(0) + ", duration: " + _this.duration.toString$0(0) + ", confidence: " + C.JSNumber_methods.toStringAsFixed$1(_this.confidence, 1) + ")";
    },
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  R._PointAtTime.prototype = {
    toString$0: function(_) {
      return "_PointAtTime(" + H.S(this.point) + " at " + this.time.toString$0(0) + ")";
    }
  };
  R.VelocityTracker.prototype = {
    addPosition$2: function(time, position) {
      var t1 = ++this._velocity_tracker$_index;
      if (t1 === 20)
        t1 = this._velocity_tracker$_index = 0;
      this._samples[t1] = new R._PointAtTime(time, position);
    },
    getVelocityEstimate$0: function() {
      var newestSample, t2, oldestSample, previousSample, sampleCount, sample, t3, age, position, xFit, yFit,
        t1 = type$.JSArray_double,
        x = H._setArrayType([], t1),
        y = H._setArrayType([], t1),
        w = H._setArrayType([], t1),
        time = H._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 B.LeastSquaresSolver(time, x, w).solve$1(2);
        if (xFit != null) {
          yFit = new B.LeastSquaresSolver(time, y, w).solve$1(2);
          if (yFit != null)
            return new R.VelocityEstimate(new P.Offset(xFit.coefficients[1] * 1000, yFit.coefficients[1] * 1000), xFit.get$confidence(xFit) * yFit.get$confidence(yFit), new P.Duration(t2 - oldestSample.time._duration), newestSample.point.$sub(0, oldestSample.point));
        }
      }
      return new R.VelocityEstimate(C.Offset_0_0, 1, new P.Duration(t2 - oldestSample.time._duration), newestSample.point.$sub(0, oldestSample.point));
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  R.IOSScrollViewFlingVelocityTracker.prototype = {
    addPosition$2: function(time, position) {
      var t1 = (this._velocity_tracker$_index + 1) % 20;
      this._velocity_tracker$_index = t1;
      this._touchSamples[t1] = new R._PointAtTime(time, position);
    },
    _previousVelocityAt$1: function(index) {
      var end, start,
        t1 = this._velocity_tracker$_index + index,
        endIndex = C.JSInt_methods.$mod(t1, 20),
        startIndex = C.JSInt_methods.$mod(t1 - 1, 20);
      t1 = this._touchSamples;
      end = t1[endIndex];
      start = t1[startIndex];
      if (end == null || start == null)
        return C.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) : C.Offset_0_0;
    },
    getVelocityEstimate$0: function() {
      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[C.JSInt_methods.$mod(t2 + i, 20)];
        if (oldestNonNullSample != null)
          break;
      }
      if (oldestNonNullSample == null || newestSample == null)
        return C.VelocityEstimate_MMm;
      else
        return new R.VelocityEstimate(estimatedVelocity, 1, new P.Duration(newestSample.time._duration - oldestNonNullSample.time._duration), newestSample.point.$sub(0, oldestNonNullSample.point));
    }
  };
  S.ThemeMode.prototype = {
    toString$0: function(_) {
      return this._app0$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  S.MaterialApp.prototype = {
    createState$0: function() {
      return new S._MaterialAppState(C._StateLifecycle_0);
    }
  };
  S.MaterialApp_createMaterialHeroController_closure.prototype = {
    call$2: function(begin, end) {
      return new D.MaterialRectArcTween(begin, end);
    },
    $signature: 720
  };
  S.MaterialScrollBehavior.prototype = {
    getPlatform$1: function(context) {
      return K.Theme_of(context).platform;
    },
    buildScrollbar$3: function(context, child, details) {
      var _s80_ = string$.x60null_c;
      switch (G.axisDirectionToAxis(details.direction)) {
        case C.Axis_0:
          return child;
        case C.Axis_1:
          switch (K.Theme_of(context).platform) {
            case C.TargetPlatform_3:
            case C.TargetPlatform_4:
            case C.TargetPlatform_5:
              return E.Scrollbar$(child, details.controller, null);
            case C.TargetPlatform_0:
            case C.TargetPlatform_1:
            case C.TargetPlatform_2:
              return child;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
    },
    buildOverscrollIndicator$3: function(context, child, details) {
      switch (K.Theme_of(context).platform) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_3:
        case C.TargetPlatform_4:
        case C.TargetPlatform_5:
          return child;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
          return L.GlowingOverscrollIndicator$(details.direction, child, K.Theme_of(context).colorScheme.secondary);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    }
  };
  S._MaterialAppState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.___MaterialAppState__heroController = S.MaterialApp_createMaterialHeroController();
    },
    get$_localizationsDelegates: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError;
        return function $async$get$_localizationsDelegates($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._widget.toString;
                $async$goto = 2;
                return C.C__MaterialLocalizationsDelegate;
              case 2:
                // after yield
                $async$goto = 3;
                return C.C__CupertinoLocalizationsDelegate;
              case 3:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.LocalizationsDelegate_dynamic);
    },
    _inspectorSelectButtonBuilder$2: function(context, onPressed) {
      return new E.FloatingActionButton(C.Icon_f1Q, onPressed, C.BoxConstraints_40_40_40_40, null);
    },
    _materialBuilder$2: function(context, child) {
      var t1, platformBrightness, useDarkTheme, highContrast, theme, _this = this, _null = null;
      _this._widget.toString;
      t1 = F.MediaQuery_maybeOf(context);
      platformBrightness = t1 == null ? _null : t1.platformBrightness;
      if (platformBrightness == null)
        platformBrightness = C.Brightness_1;
      useDarkTheme = platformBrightness === C.Brightness_0;
      t1 = F.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;
      t1 = _this._widget;
      theme = t1.theme;
      t1.toString;
      return new M.ScaffoldMessenger(new K.AnimatedTheme(theme, new T.Builder(new S._MaterialAppState__materialBuilder_closure(_this, child), _null), C.C__Linear, C.Duration_200000, _null, _null), _null);
    },
    _buildWidgetApp$1: function(context) {
      var materialColor, t3, t4, _this = this, _null = null,
        t1 = _this._widget,
        t2 = t1.theme;
      t2 = t2.primaryColor;
      materialColor = t2;
      if (materialColor == null)
        materialColor = C.MaterialColor_Map_JNwaj_4280391411;
      t2 = t1.routeInformationParser;
      t1 = t1.routerDelegate;
      t3 = _this.get$_localizationsDelegates();
      t4 = _this._widget;
      t4.toString;
      t4 = H._setArrayType([], type$.JSArray_of_Future_bool_Function);
      return new S.WidgetsApp(_null, _null, _null, _null, t2, t1, new Z.RootBackButtonDispatcher(new R.ObserverList(t4, type$.ObserverList_of_Future_bool_Function)), _null, _null, _null, _null, _null, _null, _this.get$_materialBuilder(), "", _null, C.TextStyle_EZJ, materialColor, _null, t3, _null, _null, C.List_Locale_en_US, false, false, false, false, _this.get$_inspectorSelectButtonBuilder(), false, _null, _null, _null, new N.GlobalObjectKey(_this, type$.GlobalObjectKey_State_StatefulWidget));
    },
    build$1: function(_, context) {
      var t1,
        result = this._buildWidgetApp$1(context);
      this._widget.toString;
      t1 = this.___MaterialAppState__heroController;
      return K.ScrollConfiguration$(C.C_MaterialScrollBehavior, new K.HeroControllerScope(t1 === $ ? H.throwExpression(H.LateError$fieldNI("_heroController")) : t1, result, null));
    }
  };
  S._MaterialAppState__materialBuilder_closure.prototype = {
    call$1: function(context) {
      return this.$this._widget.builder.call$2(context, this.child);
    },
    $signature: 30
  };
  E._ToolbarContainerLayout.prototype = {
    getConstraintsForChild$1: function(constraints) {
      return constraints.tighten$1$height(this.toolbarHeight);
    },
    getSize$1: function(constraints) {
      return new P.Size(constraints.maxWidth, this.toolbarHeight);
    },
    getPositionForChild$2: function(size, childSize) {
      return new P.Offset(0, size._dy - childSize._dy);
    },
    shouldRelayout$1: function(oldDelegate) {
      return this.toolbarHeight !== oldDelegate.toolbarHeight;
    }
  };
  E._PreferredAppBarSize.prototype = {};
  E.AppBar.prototype = {
    _getEffectiveCenterTitle$1: function(theme) {
      return false;
    },
    createState$0: function() {
      return new E._AppBarState(C._StateLifecycle_0);
    },
    $isPreferredSizeWidget: 1,
    get$preferredSize: function() {
      return this.preferredSize;
    }
  };
  E._AppBarState.prototype = {
    didChangeDependencies$0: function() {
      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 Q._ListenerEntry(_this.get$_app_bar$_handleScrollNotification()), false);
      }
    },
    dispose$0: function(_) {
      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(0);
    },
    _handleDrawerButtonEnd$0: function() {
      var t2,
        t1 = this._framework$_element;
      t1.toString;
      t1 = M.Scaffold_of(t1);
      t2 = t1._drawerKey;
      if (t2.get$currentState() != null && t1._drawerOpened._restoration_properties$_value)
        t2.get$currentState().close$0(0);
      t1 = t1._endDrawerKey.get$currentState();
      if (t1 != null)
        t1.open$0(0);
    },
    _app_bar$_handleScrollNotification$1: function(notification) {
      var oldScrolledUnder, t1;
      if (notification instanceof G.ScrollUpdateNotification) {
        oldScrolledUnder = this._scrolledUnder;
        if (notification.ViewportNotificationMixin__depth === 0) {
          t1 = notification.metrics;
          t1 = Math.max(t1.get$pixels() - t1.get$minScrollExtent(), 0) > 0;
        } else
          t1 = false;
        this._scrolledUnder = t1;
        if (t1 !== oldScrolledUnder)
          this.setState$1(new E._AppBarState__handleScrollNotification_closure());
      }
    },
    build$1: function(_, context) {
      var t2, t3, toolbarHeight, t4, backgroundColor, foregroundColor, overallIconTheme, actionsIconTheme, toolbarTextStyle, titleTextStyle, title, namesRoute, mediaQueryData, actions, appBar, overlayStyle, _this = this, _null = null,
        theme = K.Theme_of(context),
        colorScheme = theme.colorScheme,
        appBarTheme = K.Theme_of(context).appBarTheme,
        t1 = context.findAncestorStateOfType$1$0(type$.ScaffoldState),
        parentRoute = T.ModalRoute_of(context, type$.nullable_Object);
      context.dependOnInheritedWidgetOfExactType$1$0(type$.FlexibleSpaceBarSettings);
      t2 = _this._scrolledUnder;
      if (t2)
        P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState).add$1(0, C.MaterialState_5);
      t2 = t1 == null;
      if (t2)
        t3 = _null;
      else {
        t1._widget.toString;
        t3 = false;
      }
      if (t2)
        t1 = _null;
      else {
        t1._widget.toString;
        t1 = false;
      }
      if (!(parentRoute == null))
        if (!parentRoute.get$hasActiveRouteBelow()) {
          t2 = parentRoute.LocalHistoryRoute__localHistory;
          t2 = t2 != null && t2.length !== 0;
        } else
          t2 = true;
      if (parentRoute instanceof V.PageRoute)
        parentRoute.get$fullscreenDialog();
      t2 = _this._widget;
      toolbarHeight = t2.toolbarHeight;
      t4 = appBarTheme.backgroundColor;
      backgroundColor = t4 == null ? theme.primaryColor : t4;
      foregroundColor = appBarTheme.foregroundColor;
      if (foregroundColor == null)
        foregroundColor = colorScheme.brightness === C.Brightness_0 ? colorScheme.onSurface : colorScheme.onPrimary;
      t4 = appBarTheme.iconTheme;
      overallIconTheme = t4 == null ? theme.primaryIconTheme : t4;
      actionsIconTheme = appBarTheme.actionsIconTheme;
      if (actionsIconTheme == null)
        actionsIconTheme = overallIconTheme;
      t4 = appBarTheme.textTheme;
      t4 = t4 == null ? _null : t4.bodyText2;
      toolbarTextStyle = t4 == null ? theme.primaryTextTheme.bodyText2 : t4;
      t4 = appBarTheme.textTheme;
      t4 = t4 == null ? _null : t4.headline6;
      titleTextStyle = t4 == null ? theme.primaryTextTheme.headline6 : t4;
      title = t2.title;
      switch (theme.platform) {
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          namesRoute = true;
          break;
        case C.TargetPlatform_2:
        case C.TargetPlatform_4:
          namesRoute = _null;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      title = T.Semantics$(_null, _null, new E._AppBarTitleBox(title, _null), false, _null, _null, false, _null, _null, true, _null, _null, _null, _null, namesRoute, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      titleTextStyle.toString;
      title = L.DefaultTextStyle$(title, _null, _null, C.TextOverflow_2, false, titleTextStyle, _null, _null, C.TextWidthBasis_0);
      mediaQueryData = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data;
      title = new F.MediaQuery(mediaQueryData.copyWith$1$textScaleFactor(Math.min(mediaQueryData.textScaleFactor, 1.34)), title, _null);
      t2 = _this._widget.actions;
      t3 = t2.length;
      if (t3 !== 0)
        actions = T.Row$(t2, C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, _null);
      else if (t1 === true) {
        t1 = overallIconTheme.size;
        if (t1 == null)
          t1 = 24;
        L.Localizations_of(context, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
        actions = B.IconButton$(_null, _null, true, C.Icon_Ulp, t1, _this.get$_handleDrawerButtonEnd(), C.EdgeInsets_8_8_8_8, _null, "Open navigation menu");
      } else
        actions = _null;
      if (actions != null)
        actions = Y.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 = T.ClipRect$(new T.CustomSingleChildLayout(new E._ToolbarContainerLayout(toolbarHeight), Y.IconTheme_merge(L.DefaultTextStyle$(new E.NavigationToolbar(_null, title, actions, t1, t3, _null), _null, _null, C.TextOverflow_0, true, toolbarTextStyle, _null, _null, C.TextWidthBasis_0), overallIconTheme), _null), _null);
      appBar = Q.SafeArea$(false, appBar, C.EdgeInsets_0_0_0_0, true);
      appBar = new T.Align(C.Alignment_0_m1, _null, _null, appBar, _null);
      t1 = t2.flexibleSpace;
      if (t1 != null)
        appBar = T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([T.Semantics$(_null, _null, t1, false, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.OrdinalSortKey_1_null, _null, _null, _null, _null), T.Semantics$(_null, _null, M.Material$(C.Duration_200000, true, _null, appBar, C.Clip_0, _null, 0, _null, _null, _null, _null, C.MaterialType_4), false, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.OrdinalSortKey_0_null, _null, _null, _null, _null)], type$.JSArray_Widget), C.Clip_1, C.StackFit_2, _null, _null);
      t1 = _this._widget;
      t1.toString;
      t2 = theme.primaryColorBrightness;
      overlayStyle = t2 === C.Brightness_0 ? C.SystemUiOverlayStyle_0 : C.SystemUiOverlayStyle_AQZ;
      t1.toString;
      t1 = appBarTheme.elevation;
      if (t1 == null)
        t1 = 4;
      t2 = appBarTheme.shadowColor;
      if (t2 == null)
        t2 = C.Color_4278190080;
      return T.Semantics$(_null, _null, new X.AnnotatedRegion(overlayStyle, M.Material$(C.Duration_200000, true, _null, T.Semantics$(_null, _null, appBar, false, _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), C.Clip_0, backgroundColor, t1, _null, t2, _null, _null, C.MaterialType_0), _null, type$.AnnotatedRegion_SystemUiOverlayStyle), true, _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);
    }
  };
  E._AppBarState__handleScrollNotification_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  E._AppBarTitleBox.prototype = {
    createRenderObject$1: function(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = new E._RenderAppBarTitleBox(C.Alignment_0_0, t1.textDirection, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      renderObject.set$textDirection(0, t1.textDirection);
    }
  };
  E._RenderAppBarTitleBox.prototype = {
    computeDryLayout$1: function(constraints) {
      var innerConstraints = constraints.copyWith$1$maxHeight(1 / 0);
      return constraints.constrain$1(this.RenderObjectWithChildMixin__child.getDryLayout$1(innerConstraints));
    },
    performLayout$0: function() {
      var t2, _this = this,
        t1 = type$.BoxConstraints,
        innerConstraints = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).copyWith$1$maxHeight(1 / 0);
      _this.RenderObjectWithChildMixin__child.layout$2$parentUsesSize(0, innerConstraints, true);
      t1 = t1._as(K.RenderObject.prototype.get$constraints.call(_this));
      t2 = _this.RenderObjectWithChildMixin__child._box$_size;
      t2.toString;
      _this._box$_size = t1.constrain$1(t2);
      _this.alignChild$0();
    }
  };
  V.AppBarTheme.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.brightness, _this.backgroundColor, _this.foregroundColor, _this.elevation, _this.shadowColor, _this.iconTheme, _this.actionsIconTheme, _this.textTheme, _this.centerTitle, _this.titleSpacing, _this.toolbarHeight, _this.toolbarTextStyle, _this.titleTextStyle, _this.systemOverlayStyle, _this.backwardsCompatibility, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof V.AppBarTheme)
        if (J.$eq$(other.backgroundColor, _this.backgroundColor))
          if (J.$eq$(other.foregroundColor, _this.foregroundColor))
            if (other.elevation == _this.elevation)
              if (J.$eq$(other.shadowColor, _this.shadowColor))
                if (J.$eq$(other.iconTheme, _this.iconTheme))
                  if (J.$eq$(other.actionsIconTheme, _this.actionsIconTheme))
                    if (J.$eq$(other.textTheme, _this.textTheme))
                      if (other.titleSpacing == _this.titleSpacing)
                        if (other.toolbarHeight == _this.toolbarHeight)
                          if (J.$eq$(other.toolbarTextStyle, _this.toolbarTextStyle))
                            if (J.$eq$(other.titleTextStyle, _this.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;
      return t1;
    }
  };
  V._AppBarTheme_Object_Diagnosticable.prototype = {};
  D.MaterialPointArcTween.prototype = {
    _initialize$0: function() {
      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 P.Offset(t3, t4);
      t5 = new D.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._arc$_radius = t1;
          _this._center = new P.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._arc$_radius = t6 / c.$sub(0, t2).get$distance() / 2;
          t1 = J.get$sign$in(t8 - t4);
          t2 = _this._arc$_radius;
          t2.toString;
          _this._center = new P.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: function() {
      var _this = this;
      if (_this.begin == null || _this.end == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      return _this._center;
    },
    get$radius: function() {
      var _this = this;
      if (_this.begin == null || _this.end == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      return _this._arc$_radius;
    },
    get$beginAngle: function() {
      var _this = this;
      if (_this.begin == null || _this.end == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      return _this._beginAngle;
    },
    get$endAngle: function() {
      var _this = this;
      if (_this.begin == null || _this.end == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      return _this._beginAngle;
    },
    set$begin: function(value) {
      if (!J.$eq$(value, this.begin)) {
        this.begin = value;
        this._arc$_dirty = true;
      }
    },
    set$end: function(_, value) {
      if (!J.$eq$(value, this.end)) {
        this.end = value;
        this._arc$_dirty = true;
      }
    },
    lerp$1: function(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 = P.Offset_lerp(_this.begin, _this.end, t);
        t1.toString;
        return t1;
      }
      t1 = P.lerpDouble(t1, _this._endAngle, t);
      t1.toString;
      t2 = Math.cos(t1);
      t3 = _this._arc$_radius;
      t3.toString;
      t1 = Math.sin(t1);
      t4 = _this._arc$_radius;
      t4.toString;
      return _this._center.$add(0, new P.Offset(t2 * t3, t1 * t4));
    },
    toString$0: function(_) {
      var _this = this;
      return "MaterialPointArcTween(" + H.S(_this.begin) + " \u2192 " + H.S(_this.end) + "; center=" + H.S(_this.get$center()) + ", radius=" + H.S(_this.get$radius()) + ", beginAngle=" + H.S(_this.get$beginAngle()) + ", endAngle=" + H.S(_this.get$endAngle()) + ")";
    }
  };
  D.MaterialPointArcTween__initialize_sweepAngle.prototype = {
    call$0: function() {
      var t1 = this.$this._arc$_radius;
      t1.toString;
      return 2 * Math.asin(this.distanceFromAtoB / (2 * t1));
    },
    $signature: 130
  };
  D._CornerId.prototype = {
    toString$0: function(_) {
      return this._arc$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  D._Diagonal.prototype = {};
  D.MaterialRectArcTween.prototype = {
    _initialize$0: function() {
      var t2, t3, _this = this,
        diagonal = D._maxBy(C.List_AKW, new D.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 D.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 D.MaterialPointArcTween(t2, _this._cornerFor$2(t1, t3));
      _this._arc$_dirty = false;
    },
    _cornerFor$2: function(rect, id) {
      switch (id) {
        case C._CornerId_0:
          return new P.Offset(rect.left, rect.top);
        case C._CornerId_1:
          return new P.Offset(rect.right, rect.top);
        case C._CornerId_2:
          return new P.Offset(rect.left, rect.bottom);
        case C._CornerId_3:
          return new P.Offset(rect.right, rect.bottom);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$beginArc: function() {
      var _this = this;
      if (_this.begin == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      return _this.get$_beginArc();
    },
    get$_beginArc: function() {
      var t1 = this.__MaterialRectArcTween__beginArc;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_beginArc")) : t1;
    },
    get$endArc: function() {
      var _this = this;
      if (_this.end == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      return _this.get$_endArc();
    },
    get$_endArc: function() {
      var t1 = this.__MaterialRectArcTween__endArc;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_endArc")) : t1;
    },
    set$begin: function(value) {
      if (!J.$eq$(value, this.begin)) {
        this.begin = value;
        this._arc$_dirty = true;
      }
    },
    set$end: function(_, value) {
      if (!J.$eq$(value, this.end)) {
        this.end = value;
        this._arc$_dirty = true;
      }
    },
    lerp$1: function(t) {
      var t1, _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;
      }
      return P.Rect$fromPoints(_this.get$_beginArc().lerp$1(t), _this.get$_endArc().lerp$1(t));
    },
    toString$0: function(_) {
      var _this = this;
      return "MaterialRectArcTween(" + H.S(_this.begin) + " \u2192 " + H.S(_this.end) + "; beginArc=" + H.S(_this.get$beginArc()) + ", endArc=" + H.S(_this.get$endArc()) + ")";
    }
  };
  D.MaterialRectArcTween__initialize_closure.prototype = {
    call$1: function(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
  };
  Q.MaterialBannerThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.backgroundColor, _this.contentTextStyle, _this.padding, _this.leadingPadding, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof Q.MaterialBannerThemeData && J.$eq$(other.backgroundColor, _this.backgroundColor) && J.$eq$(other.contentTextStyle, _this.contentTextStyle) && J.$eq$(other.padding, _this.padding) && J.$eq$(other.leadingPadding, _this.leadingPadding);
    }
  };
  Q._MaterialBannerThemeData_Object_Diagnosticable.prototype = {};
  D.BottomAppBarTheme.prototype = {
    get$hashCode: function(_) {
      return P.hashValues(this.color, this.elevation, this.shape, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof D.BottomAppBarTheme && J.$eq$(other.color, _this.color) && other.elevation == _this.elevation && true;
    }
  };
  D._BottomAppBarTheme_Object_Diagnosticable.prototype = {};
  M.BottomNavigationBarThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.backgroundColor, _this.elevation, _this.selectedIconTheme, _this.unselectedIconTheme, _this.selectedItemColor, _this.unselectedItemColor, _this.selectedLabelStyle, _this.unselectedLabelStyle, _this.showSelectedLabels, _this.showUnselectedLabels, _this.type, _this.enableFeedback, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof M.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;
    }
  };
  M._BottomNavigationBarThemeData_Object_Diagnosticable.prototype = {};
  X.BottomSheetThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.backgroundColor, _this.elevation, _this.modalBackgroundColor, _this.modalElevation, _this.shape, _this.clipBehavior, _this.constraints, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof X.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;
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  X._BottomSheetThemeData_Object_Diagnosticable.prototype = {};
  Z.RawMaterialButton.prototype = {
    createState$0: function() {
      return new Z._RawMaterialButtonState(P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState), C._StateLifecycle_0);
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  Z._RawMaterialButtonState.prototype = {
    _handleHighlightChanged$1: function(value) {
      if (this._states.contains$1(0, C.MaterialState_2) !== value)
        this.setState$1(new Z._RawMaterialButtonState__handleHighlightChanged_closure(this, value));
    },
    _handleHoveredChanged$1: function(value) {
      if (this._states.contains$1(0, C.MaterialState_0) !== value)
        this.setState$1(new Z._RawMaterialButtonState__handleHoveredChanged_closure(this, value));
    },
    _handleFocusedChanged$1: function(value) {
      if (this._states.contains$1(0, C.MaterialState_1) !== value)
        this.setState$1(new Z._RawMaterialButtonState__handleFocusedChanged_closure(this, value));
    },
    initState$0: function() {
      var t1, t2;
      this.super$State$initState();
      t1 = this._widget.onPressed != null || false;
      t2 = this._states;
      if (!t1)
        t2.add$1(0, C.MaterialState_6);
      else
        t2.remove$1(0, C.MaterialState_6);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.onPressed != null || false;
      t2 = _this._states;
      if (!t1)
        t2.add$1(0, C.MaterialState_6);
      else
        t2.remove$1(0, C.MaterialState_6);
      if (t2.contains$1(0, C.MaterialState_6) && t2.contains$1(0, C.MaterialState_2))
        _this._handleHighlightChanged$1(false);
    },
    get$_effectiveElevation: function() {
      var _this = this,
        t1 = _this._states;
      if (t1.contains$1(0, C.MaterialState_6))
        return _this._widget.disabledElevation;
      if (t1.contains$1(0, C.MaterialState_2))
        return _this._widget.highlightElevation;
      if (t1.contains$1(0, C.MaterialState_0))
        return _this._widget.hoverElevation;
      if (t1.contains$1(0, C.MaterialState_1))
        return _this._widget.focusElevation;
      return _this._widget.elevation;
    },
    build$1: function(_, context) {
      var t2, effectiveTextColor, effectiveShape, densityAdjustment, effectiveConstraints, effectiveMouseCursor, padding, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, minSize, _this = this, _null = null,
        t1 = _this._widget.textStyle;
      t1 = t1 == null ? _null : t1.color;
      t2 = _this._states;
      effectiveTextColor = V.MaterialStateProperty_resolveAs(t1, t2, type$.nullable_Color);
      effectiveShape = V.MaterialStateProperty_resolveAs(_this._widget.shape, t2, type$.nullable_ShapeBorder);
      _this._widget.toString;
      densityAdjustment = new P.Offset(0, 0).$mul(0, 4);
      effectiveConstraints = C.VisualDensity_0_0.effectiveConstraints$1(_this._widget.constraints);
      _this._widget.toString;
      effectiveMouseCursor = V.MaterialStateProperty_resolveAs(C._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable, t2, type$.nullable_MouseCursor);
      _this._widget.toString;
      t1 = densityAdjustment._dx;
      t2 = densityAdjustment._dy;
      padding = C.EdgeInsets_0_0_0_0.add$1(0, new V.EdgeInsets(t1, t2, t1, t2)).clamp$2(0, C.EdgeInsets_0_0_0_0, C._MixedEdgeInsets_QWq);
      t3 = _this.get$_effectiveElevation();
      t4 = _this._widget.textStyle;
      t4 = t4 == null ? _null : t4.copyWith$1$color(effectiveTextColor);
      t5 = _this._widget;
      t6 = t5.fillColor;
      t7 = t6 == null ? C.MaterialType_4 : C.MaterialType_3;
      t8 = t5.clipBehavior;
      t9 = t5.focusNode;
      t10 = t5.onPressed;
      t11 = t10 == null;
      t12 = !t11 || false;
      t13 = t5.splashColor;
      t14 = t5.highlightColor;
      t15 = t5.focusColor;
      t16 = t5.hoverColor;
      t7 = M.Material$(C.Duration_200000, true, _null, R.InkWell$(false, t12, Y.IconTheme_merge(M.Container$(_null, T.Center$(t5.child, 1, _null, 1), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, padding, _null, _null, _null), new T.IconThemeData(effectiveTextColor, _null, _null)), effectiveShape, true, t15, t9, t14, t16, _null, effectiveMouseCursor, _null, _this.get$_handleFocusedChanged(), _this.get$_handleHighlightChanged(), _this.get$_handleHoveredChanged(), _null, t10, _null, _null, _null, t13, _null), t8, t6, t3, _null, _null, effectiveShape, t4, t7);
      switch (t5.materialTapTargetSize) {
        case C.MaterialTapTargetSize_0:
          minSize = new P.Size(48 + t1, 48 + t2);
          break;
        case C.MaterialTapTargetSize_1:
          minSize = C.Size_0_0;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = !t11 || false;
      return T.Semantics$(true, _null, new Z._InputPadding(minSize, new T.ConstrainedBox(effectiveConstraints, t7, _null), _null), true, _null, t1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  Z._RawMaterialButtonState__handleHighlightChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._states;
      if (this.value)
        t2.add$1(0, C.MaterialState_2);
      else
        t2.remove$1(0, C.MaterialState_2);
      t1._widget.toString;
    },
    $signature: 0
  };
  Z._RawMaterialButtonState__handleHoveredChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._states;
      if (this.value)
        t1.add$1(0, C.MaterialState_0);
      else
        t1.remove$1(0, C.MaterialState_0);
    },
    $signature: 0
  };
  Z._RawMaterialButtonState__handleFocusedChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._states;
      if (this.value)
        t1.add$1(0, C.MaterialState_1);
      else
        t1.remove$1(0, C.MaterialState_1);
    },
    $signature: 0
  };
  Z._InputPadding.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new Z._RenderInputPadding(this.minSize, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$minSize(this.minSize);
    }
  };
  Z._RenderInputPadding.prototype = {
    set$minSize: function(value) {
      if (this._minSize.$eq(0, value))
        return;
      this._minSize = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1 = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
        t2 = this._minSize;
        return Math.max(H.checkNum(t1), H.checkNum(t2._dx));
      }
      return 0;
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1 = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight());
        t2 = this._minSize;
        return Math.max(H.checkNum(t1), H.checkNum(t2._dy));
      }
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1 = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
        t2 = this._minSize;
        return Math.max(H.checkNum(t1), H.checkNum(t2._dx));
      }
      return 0;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1 = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight());
        t2 = this._minSize;
        return Math.max(H.checkNum(t1), H.checkNum(t2._dy));
      }
      return 0;
    },
    _button$_computeSize$2$constraints$layoutChild: function(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 P.Size(Math.max(H.checkNum(t1), H.checkNum(t2._dx)), Math.max(H.checkNum(childSize._dy), H.checkNum(t2._dy))));
      }
      return C.Size_0_0;
    },
    computeDryLayout$1: function(constraints) {
      return this._button$_computeSize$2$constraints$layoutChild(constraints, N.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0: function() {
      var t2, t3, _this = this,
        t1 = _this._button$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)), N.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 = C.Alignment_0_0.alongOffset$1(type$.Offset._as(t1.$sub(0, t2)));
      }
    },
    hitTest$2$position: function(result, position) {
      var center;
      if (this.super$RenderBox$hitTest(result, position))
        return true;
      center = this.RenderObjectWithChildMixin__child._box$_size.center$1(C.Offset_0_0);
      return result.addWithRawTransform$3$hitTest$position$transform(new Z._RenderInputPadding_hitTest_closure(this, center), center, T.MatrixUtils_forceToPoint(center));
    }
  };
  Z._RenderInputPadding_hitTest_closure.prototype = {
    call$2: function(result, position) {
      return this.$this.RenderObjectWithChildMixin__child.hitTest$2$position(result, this.center);
    },
    $signature: 24
  };
  M.ButtonBarThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.alignment, _this.mainAxisSize, _this.buttonTextTheme, _this.buttonMinWidth, _this.buttonHeight, _this.buttonPadding, _this.buttonAlignedDropdown, _this.layoutBehavior, _this.overflowDirection, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof M.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;
    }
  };
  M._ButtonBarThemeData_Object_Diagnosticable.prototype = {};
  A.ButtonStyle.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.textStyle, _this.backgroundColor, _this.foregroundColor, _this.overlayColor, _this.shadowColor, _this.elevation, _this.padding, _this.minimumSize, _this.fixedSize, _this.maximumSize, _this.side, _this.shape, _this.mouseCursor, _this.visualDensity, _this.tapTargetSize, _this.animationDuration, _this.enableFeedback, _this.alignment, _this.splashFactory, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof A.ButtonStyle && other.textStyle == _this.textStyle && other.backgroundColor == _this.backgroundColor && other.foregroundColor == _this.foregroundColor && other.overlayColor == _this.overlayColor && other.shadowColor == _this.shadowColor && other.elevation == _this.elevation && other.padding == _this.padding && other.minimumSize == _this.minimumSize && other.fixedSize == _this.fixedSize && other.maximumSize == _this.maximumSize && other.side == _this.side && other.shape == _this.shape && other.mouseCursor == _this.mouseCursor && J.$eq$(other.visualDensity, _this.visualDensity) && other.tapTargetSize == _this.tapTargetSize && J.$eq$(other.animationDuration, _this.animationDuration) && other.enableFeedback == _this.enableFeedback && J.$eq$(other.alignment, _this.alignment) && other.splashFactory == _this.splashFactory;
    }
  };
  A._LerpProperties3.prototype = {
    resolve$1: function(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: function(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 Y.BorderSide_lerp(new Y.BorderSide(P.Color$fromARGB(0, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255), 0, C.BorderStyle_1), resolvedB, _this.t);
      }
      if (resolvedB == null) {
        t1 = resolvedA.color;
        return Y.BorderSide_lerp(resolvedA, new Y.BorderSide(P.Color$fromARGB(0, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255), 0, C.BorderStyle_1), _this.t);
      }
      return Y.BorderSide_lerp(resolvedA, resolvedB, _this.t);
    },
    $isMaterialStateProperty: 1
  };
  A._LerpShapes.prototype = {
    resolve$1: function(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 type$.nullable_OutlinedBorder._as(Y.ShapeBorder_lerp(resolvedA, resolvedB, this.t));
    },
    $isMaterialStateProperty: 1
  };
  A._ButtonStyle_Object_Diagnosticable.prototype = {};
  K.ButtonStyleButton.prototype = {
    createState$0: function() {
      return new K._ButtonStyleState(P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState), null, C._StateLifecycle_0);
    }
  };
  K._ButtonStyleState.prototype = {
    _button_style_button$_handleHighlightChanged$1: function(value) {
      if (this._button_style_button$_states.contains$1(0, C.MaterialState_2) !== value)
        this.setState$1(new K._ButtonStyleState__handleHighlightChanged_closure(this, value));
    },
    _button_style_button$_handleHoveredChanged$1: function(value) {
      if (this._button_style_button$_states.contains$1(0, C.MaterialState_0) !== value)
        this.setState$1(new K._ButtonStyleState__handleHoveredChanged_closure(this, value));
    },
    _button_style_button$_handleFocusedChanged$1: function(value) {
      if (this._button_style_button$_states.contains$1(0, C.MaterialState_1) !== value)
        this.setState$1(new K._ButtonStyleState__handleFocusedChanged_closure(this, value));
    },
    initState$0: function() {
      var t1, t2;
      this.super$State$initState();
      t1 = this._widget.onPressed != null || false;
      t2 = this._button_style_button$_states;
      if (!t1)
        t2.add$1(0, C.MaterialState_6);
      else
        t2.remove$1(0, C.MaterialState_6);
    },
    dispose$0: function(_) {
      var t1 = this._button_style_button$_controller;
      if (t1 != null)
        t1.dispose$0(0);
      this.super$__ButtonStyleState_State_TickerProviderStateMixin$dispose(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.onPressed != null || false;
      t2 = _this._button_style_button$_states;
      if (!t1)
        t2.add$1(0, C.MaterialState_6);
      else
        t2.remove$1(0, C.MaterialState_6);
      if (t2.contains$1(0, C.MaterialState_6) && t2.contains$1(0, C.MaterialState_2))
        _this._button_style_button$_handleHighlightChanged$1(false);
    },
    build$1: function(_, context) {
      var resolvedBackgroundColor, resolvedForegroundColor, resolvedShadowColor, 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, minSize, _this = this, _null = null,
        t1 = _this._widget,
        effectiveValue = new K._ButtonStyleState_build_effectiveValue(t1.style, t1.themeStyleOf$1(context), _this._widget.defaultStyleOf$1(context)),
        resolve = new K._ButtonStyleState_build_resolve(_this, effectiveValue),
        resolvedElevation = resolve.call$1$1(new K._ButtonStyleState_build_closure(), type$.nullable_double),
        resolvedTextStyle = resolve.call$1$1(new K._ButtonStyleState_build_closure0(), type$.nullable_TextStyle);
      t1 = type$.nullable_Color;
      resolvedBackgroundColor = resolve.call$1$1(new K._ButtonStyleState_build_closure1(), t1);
      resolvedForegroundColor = resolve.call$1$1(new K._ButtonStyleState_build_closure2(), t1);
      resolvedShadowColor = resolve.call$1$1(new K._ButtonStyleState_build_closure3(), t1);
      resolvedPadding = resolve.call$1$1(new K._ButtonStyleState_build_closure4(), type$.nullable_EdgeInsetsGeometry);
      t1 = type$.nullable_Size;
      resolvedMinimumSize = resolve.call$1$1(new K._ButtonStyleState_build_closure5(), t1);
      resolvedFixedSize = resolve.call$1$1(new K._ButtonStyleState_build_closure6(), t1);
      resolvedMaximumSize = resolve.call$1$1(new K._ButtonStyleState_build_closure7(), t1);
      resolvedSide = resolve.call$1$1(new K._ButtonStyleState_build_closure8(), type$.nullable_BorderSide);
      resolvedShape = resolve.call$1$1(new K._ButtonStyleState_build_closure9(), type$.nullable_OutlinedBorder);
      resolvedVisualDensity = effectiveValue.call$1$1(new K._ButtonStyleState_build_closure10(), type$.VisualDensity);
      resolvedTapTargetSize = effectiveValue.call$1$1(new K._ButtonStyleState_build_closure11(), type$.MaterialTapTargetSize);
      resolvedAnimationDuration = effectiveValue.call$1$1(new K._ButtonStyleState_build_closure12(), type$.Duration);
      resolvedEnableFeedback = effectiveValue.call$1$1(new K._ButtonStyleState_build_closure13(), type$.bool);
      resolvedAlignment = effectiveValue.call$1$1(new K._ButtonStyleState_build_closure14(), type$.AlignmentGeometry);
      densityAdjustment = new P.Offset(resolvedVisualDensity.horizontal, resolvedVisualDensity.vertical).$mul(0, 4);
      resolvedSplashFactory = effectiveValue.call$1$1(new K._ButtonStyleState_build_closure15(), type$.InteractiveInkFeatureFactory);
      t1 = resolvedMinimumSize._dx;
      t2 = resolvedMinimumSize._dy;
      effectiveConstraints = resolvedVisualDensity.effectiveConstraints$1(new S.BoxConstraints(t1, resolvedMaximumSize._dx, t2, resolvedMaximumSize._dy));
      if (resolvedFixedSize != null) {
        size = effectiveConstraints.constrain$1(resolvedFixedSize);
        t1 = size._dx;
        t1.toString;
        if (isFinite(t1))
          effectiveConstraints = effectiveConstraints.copyWith$2$maxWidth$minWidth(t1, t1);
        t1 = size._dy;
        t1.toString;
        if (isFinite(t1))
          effectiveConstraints = effectiveConstraints.copyWith$2$maxHeight$minHeight(t1, t1);
      }
      dy = densityAdjustment._dy;
      t1 = densityAdjustment._dx;
      dx = Math.max(0, H.checkNum(t1));
      padding = resolvedPadding.add$1(0, new V.EdgeInsets(dx, dy, dx, dy)).clamp$2(0, C.EdgeInsets_0_0_0_0, C._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(0);
          t2 = G.AnimationController$(_null, resolvedAnimationDuration, 0, _null, 1, _null, _this);
          t2.addStatusListener$1(new K._ButtonStyleState_build_closure16(_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 ? C.MaterialType_4 : C.MaterialType_3;
      t5 = _this._widget;
      t6 = t5.clipBehavior;
      t7 = t5.onPressed;
      t8 = t5.onLongPress;
      t9 = t5.focusNode;
      t10 = t7 == null;
      t11 = !t10 || false;
      t12 = t5.autofocus;
      resolvedAlignment.toString;
      t4 = M.Material$(resolvedAnimationDuration, true, _null, R.InkWell$(t12, t11, Y.IconTheme_merge(new T.Padding(padding, new T.Align(resolvedAlignment, 1, 1, t5.child, _null), _null), new T.IconThemeData(resolvedForegroundColor, _null, _null)), resolvedShape, resolvedEnableFeedback, _null, t9, C.Color_0, _null, _null, new K._MouseCursor(new K._ButtonStyleState_build_closure17(effectiveValue)), _null, _this.get$_button_style_button$_handleFocusedChanged(), _this.get$_button_style_button$_handleHighlightChanged(), _this.get$_button_style_button$_handleHoveredChanged(), t8, t7, _null, _null, new V._MaterialStatePropertyWith(new K._ButtonStyleState_build_closure18(effectiveValue), type$._MaterialStatePropertyWith_nullable_Color), _null, resolvedSplashFactory), t6, resolvedBackgroundColor, resolvedElevation, _null, resolvedShadowColor, t3, t2, t4);
      resolvedTapTargetSize.toString;
      switch (resolvedTapTargetSize) {
        case C.MaterialTapTargetSize_0:
          minSize = new P.Size(48 + t1, 48 + dy);
          break;
        case C.MaterialTapTargetSize_1:
          minSize = C.Size_0_0;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = !t10 || false;
      return T.Semantics$(true, _null, new K._InputPadding0(minSize, new T.ConstrainedBox(effectiveConstraints, t4, _null), _null), true, _null, t1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  K._ButtonStyleState__handleHighlightChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._button_style_button$_states;
      if (this.value)
        t1.add$1(0, C.MaterialState_2);
      else
        t1.remove$1(0, C.MaterialState_2);
    },
    $signature: 0
  };
  K._ButtonStyleState__handleHoveredChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._button_style_button$_states;
      if (this.value)
        t1.add$1(0, C.MaterialState_0);
      else
        t1.remove$1(0, C.MaterialState_0);
    },
    $signature: 0
  };
  K._ButtonStyleState__handleFocusedChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._button_style_button$_states;
      if (this.value)
        t1.add$1(0, C.MaterialState_1);
      else
        t1.remove$1(0, C.MaterialState_1);
    },
    $signature: 0
  };
  K._ButtonStyleState_build_effectiveValue.prototype = {
    call$1$1: function(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: function(getProperty) {
      return this.call$1$1(getProperty, type$.dynamic);
    },
    $signature: 729
  };
  K._ButtonStyleState_build_resolve.prototype = {
    call$1$1: function(getProperty, $T) {
      return this.effectiveValue.call$1$1(new K._ButtonStyleState_build_resolve_closure(this.$this, getProperty, $T), $T);
    },
    call$1: function(getProperty) {
      return this.call$1$1(getProperty, type$.dynamic);
    },
    $signature: 730
  };
  K._ButtonStyleState_build_resolve_closure.prototype = {
    call$1: function(style) {
      var t1 = this.getProperty.call$1(style);
      return t1 == null ? null : t1.resolve$1(this.$this._button_style_button$_states);
    },
    $signature: function() {
      return this.T._eval$1("0?(ButtonStyle?)");
    }
  };
  K._ButtonStyleState_build_closure.prototype = {
    call$1: function(style) {
      return style == null ? null : style.elevation;
    },
    $signature: 731
  };
  K._ButtonStyleState_build_closure0.prototype = {
    call$1: function(style) {
      return style == null ? null : style.textStyle;
    },
    $signature: 732
  };
  K._ButtonStyleState_build_closure1.prototype = {
    call$1: function(style) {
      return style == null ? null : style.backgroundColor;
    },
    $signature: 133
  };
  K._ButtonStyleState_build_closure2.prototype = {
    call$1: function(style) {
      return style == null ? null : style.foregroundColor;
    },
    $signature: 133
  };
  K._ButtonStyleState_build_closure3.prototype = {
    call$1: function(style) {
      return style == null ? null : style.shadowColor;
    },
    $signature: 133
  };
  K._ButtonStyleState_build_closure4.prototype = {
    call$1: function(style) {
      return style == null ? null : style.padding;
    },
    $signature: 734
  };
  K._ButtonStyleState_build_closure5.prototype = {
    call$1: function(style) {
      return style == null ? null : style.minimumSize;
    },
    $signature: 134
  };
  K._ButtonStyleState_build_closure6.prototype = {
    call$1: function(style) {
      return style == null ? null : style.fixedSize;
    },
    $signature: 134
  };
  K._ButtonStyleState_build_closure7.prototype = {
    call$1: function(style) {
      return style == null ? null : style.maximumSize;
    },
    $signature: 134
  };
  K._ButtonStyleState_build_closure8.prototype = {
    call$1: function(style) {
      return style == null ? null : style.side;
    },
    $signature: 736
  };
  K._ButtonStyleState_build_closure9.prototype = {
    call$1: function(style) {
      return style == null ? null : style.shape;
    },
    $signature: 737
  };
  K._ButtonStyleState_build_closure17.prototype = {
    call$1: function(states) {
      return this.effectiveValue.call$1$1(new K._ButtonStyleState_build__closure0(states), type$.MouseCursor);
    },
    $signature: 738
  };
  K._ButtonStyleState_build__closure0.prototype = {
    call$1: function(style) {
      var t1;
      if (style == null)
        t1 = null;
      else {
        t1 = style.mouseCursor;
        t1 = t1 == null ? null : t1.resolve$1(this.states);
      }
      return t1;
    },
    $signature: 739
  };
  K._ButtonStyleState_build_closure18.prototype = {
    call$1: function(states) {
      return this.effectiveValue.call$1$1(new K._ButtonStyleState_build__closure(states), type$.Color);
    },
    $signature: 82
  };
  K._ButtonStyleState_build__closure.prototype = {
    call$1: function(style) {
      var t1;
      if (style == null)
        t1 = null;
      else {
        t1 = style.overlayColor;
        t1 = t1 == null ? null : t1.resolve$1(this.states);
      }
      return t1;
    },
    $signature: 741
  };
  K._ButtonStyleState_build_closure10.prototype = {
    call$1: function(style) {
      return style == null ? null : style.visualDensity;
    },
    $signature: 742
  };
  K._ButtonStyleState_build_closure11.prototype = {
    call$1: function(style) {
      return style == null ? null : style.tapTargetSize;
    },
    $signature: 743
  };
  K._ButtonStyleState_build_closure12.prototype = {
    call$1: function(style) {
      return style == null ? null : style.animationDuration;
    },
    $signature: 744
  };
  K._ButtonStyleState_build_closure13.prototype = {
    call$1: function(style) {
      return style == null ? null : style.enableFeedback;
    },
    $signature: 745
  };
  K._ButtonStyleState_build_closure14.prototype = {
    call$1: function(style) {
      return style == null ? null : style.alignment;
    },
    $signature: 746
  };
  K._ButtonStyleState_build_closure15.prototype = {
    call$1: function(style) {
      return style == null ? null : style.splashFactory;
    },
    $signature: 747
  };
  K._ButtonStyleState_build_closure16.prototype = {
    call$1: function($status) {
      if ($status === C.AnimationStatus_3)
        this.$this.setState$1(new K._ButtonStyleState_build__closure1());
    },
    $signature: 12
  };
  K._ButtonStyleState_build__closure1.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  K._MouseCursor.prototype = {
    resolve$1: function(states) {
      var t1 = this.resolveCallback.call$1(states);
      t1.toString;
      return t1;
    },
    get$debugDescription: function() {
      return "ButtonStyleButton_MouseCursor";
    }
  };
  K._InputPadding0.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new K._RenderInputPadding0(this.minSize, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$minSize(this.minSize);
    }
  };
  K._RenderInputPadding0.prototype = {
    set$minSize: function(value) {
      if (this._button_style_button$_minSize.$eq(0, value))
        return;
      this._button_style_button$_minSize = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1 = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
        t2 = this._button_style_button$_minSize;
        return Math.max(H.checkNum(t1), H.checkNum(t2._dx));
      }
      return 0;
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1 = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight());
        t2 = this._button_style_button$_minSize;
        return Math.max(H.checkNum(t1), H.checkNum(t2._dy));
      }
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1 = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
        t2 = this._button_style_button$_minSize;
        return Math.max(H.checkNum(t1), H.checkNum(t2._dx));
      }
      return 0;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1 = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight());
        t2 = this._button_style_button$_minSize;
        return Math.max(H.checkNum(t1), H.checkNum(t2._dy));
      }
      return 0;
    },
    _button_style_button$_computeSize$2$constraints$layoutChild: function(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 P.Size(Math.max(H.checkNum(t1), H.checkNum(t2._dx)), Math.max(H.checkNum(childSize._dy), H.checkNum(t2._dy))));
      }
      return C.Size_0_0;
    },
    computeDryLayout$1: function(constraints) {
      return this._button_style_button$_computeSize$2$constraints$layoutChild(constraints, N.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0: function() {
      var t2, t3, _this = this,
        t1 = _this._button_style_button$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)), N.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 = C.Alignment_0_0.alongOffset$1(type$.Offset._as(t1.$sub(0, t2)));
      }
    },
    hitTest$2$position: function(result, position) {
      var center;
      if (this.super$RenderBox$hitTest(result, position))
        return true;
      center = this.RenderObjectWithChildMixin__child._box$_size.center$1(C.Offset_0_0);
      return result.addWithRawTransform$3$hitTest$position$transform(new K._RenderInputPadding_hitTest_closure0(this, center), center, T.MatrixUtils_forceToPoint(center));
    }
  };
  K._RenderInputPadding_hitTest_closure0.prototype = {
    call$2: function(result, position) {
      return this.$this.RenderObjectWithChildMixin__child.hitTest$2$position(result, this.center);
    },
    $signature: 24
  };
  K.__ButtonStyleState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  M.ButtonTextTheme.prototype = {
    toString$0: function(_) {
      return this._button_theme$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  M.ButtonBarLayoutBehavior.prototype = {
    toString$0: function(_) {
      return this._button_theme$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  M.ButtonThemeData.prototype = {
    get$constraints: function() {
      return new S.BoxConstraints(this.minWidth, 1 / 0, this.height, 1 / 0);
    },
    get$padding: function(_) {
      var t1 = this._button_theme$_padding;
      if (t1 != null)
        return t1;
      switch (this.textTheme) {
        case C.ButtonTextTheme_0:
        case C.ButtonTextTheme_1:
          return C.EdgeInsets_16_0_16_0;
        case C.ButtonTextTheme_2:
          return C.EdgeInsets_24_0_24_0;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$shape: function(_) {
      var t1 = this._button_theme$_shape;
      if (t1 != null)
        return t1;
      switch (this.textTheme) {
        case C.ButtonTextTheme_0:
        case C.ButtonTextTheme_1:
          return C.RoundedRectangleBorder_6Fb0;
        case C.ButtonTextTheme_2:
          return C.RoundedRectangleBorder_6Fb1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    copyWith$7$alignedDropdown$colorScheme$height$layoutBehavior$minWidth$padding$textTheme: function(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 M.ButtonThemeData$(alignedDropdown === true, _this._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: function(colorScheme) {
      return this.copyWith$7$alignedDropdown$colorScheme$height$layoutBehavior$minWidth$padding$textTheme(null, colorScheme, null, null, null, null, null);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof M.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._buttonColor, _this._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: function(_) {
      var _this = this;
      return P.hashValues(_this.textTheme, _this.minWidth, _this.height, _this.get$padding(_this), _this.get$shape(_this), false, _this._buttonColor, _this._disabledColor, _this._focusColor, _this._hoverColor, _this._button_theme$_highlightColor, _this._splashColor, _this.colorScheme, _this._materialTapTargetSize, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  M._ButtonThemeData_Object_Diagnosticable.prototype = {};
  V.Card.prototype = {
    build$1: function(_, context) {
      var t2, t3, t4, t5, _this = this, _null = null,
        theme = K.Theme_of(context),
        cardTheme = K.Theme_of(context).cardTheme,
        t1 = _this.margin;
      if (t1 == null)
        t1 = cardTheme.margin;
      if (t1 == null)
        t1 = C.EdgeInsets_4_4_4_4;
      t2 = cardTheme.shadowColor;
      if (t2 == null)
        t2 = theme.shadowColor;
      t3 = _this.color;
      if (t3 == null)
        t3 = cardTheme.color;
      if (t3 == null)
        t3 = theme.cardColor;
      t4 = _this.elevation;
      if (t4 == null)
        t4 = cardTheme.elevation;
      if (t4 == null)
        t4 = 1;
      t5 = _this.shape;
      if (t5 == null)
        t5 = cardTheme.shape;
      if (t5 == null)
        t5 = C.RoundedRectangleBorder_6Fb1;
      return T.Semantics$(_null, _null, M.Container$(_null, M.Material$(C.Duration_200000, true, _null, T.Semantics$(_null, _null, _this.child, false, _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), C.Clip_0, t3, t4, _null, t2, t5, _null, C.MaterialType_1), C.Clip_0, _null, _null, _null, _null, _null, _null, t1, _null, _null, _null, _null), true, _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);
    }
  };
  A.CardTheme.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.clipBehavior, _this.color, _this.shadowColor, _this.elevation, _this.margin, _this.shape, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof A.CardTheme)
        t1 = J.$eq$(other.color, _this.color) && J.$eq$(other.shadowColor, _this.shadowColor) && other.elevation == _this.elevation && J.$eq$(other.margin, _this.margin) && J.$eq$(other.shape, _this.shape);
      else
        t1 = false;
      return t1;
    }
  };
  A._CardTheme_Object_Diagnosticable.prototype = {};
  K.Checkbox.prototype = {
    createState$0: function() {
      return new K._CheckboxState(new K._CheckboxPainter(P.List_List$filled(0, null, false, type$.nullable_void_Function)), $, $, $, $, $, $, $, $, $, null, false, false, null, C._StateLifecycle_0);
    }
  };
  K._CheckboxState.prototype = {
    initState$0: function() {
      this.super$__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin$initState();
      this._previousValue = this._widget.value;
    },
    didUpdateWidget$1: function(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: function(_) {
      this._checkbox$_painter.dispose$0(0);
      this.super$__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin$dispose(0);
    },
    get$onChanged: function() {
      return this._widget.onChanged;
    },
    get$tristate: function() {
      return this._widget.tristate;
    },
    get$value: function(_) {
      return this._widget.value;
    },
    get$_widgetFillColor: function() {
      return new V._MaterialStatePropertyWith(new K._CheckboxState__widgetFillColor_closure(this), type$._MaterialStatePropertyWith_nullable_Color);
    },
    get$_defaultFillColor: function() {
      var t1 = this._framework$_element;
      t1.toString;
      return new V._MaterialStatePropertyWith(new K._CheckboxState__defaultFillColor_closure(K.Theme_of(t1)), type$._MaterialStatePropertyWith_Color);
    },
    build$1: function(_, context) {
      var effectiveVisualDensity, size, activeStates, inactiveStates, effectiveActiveColor, effectiveInactiveColor, focusedStates, effectiveFocusOverlayColor, hoveredStates, effectiveHoverOverlayColor, effectiveActivePressedOverlayColor, effectiveInactivePressedOverlayColor, effectiveCheckColor, t2, t3, _this = this, _null = null,
        themeData = K.Theme_of(context),
        t1 = _this._widget.materialTapTargetSize,
        effectiveMaterialTapTargetSize = t1 == null ? themeData.checkboxTheme.materialTapTargetSize : t1;
      if (effectiveMaterialTapTargetSize == null)
        effectiveMaterialTapTargetSize = themeData.materialTapTargetSize;
      themeData.toString;
      effectiveVisualDensity = themeData.visualDensity;
      switch (effectiveMaterialTapTargetSize) {
        case C.MaterialTapTargetSize_0:
          size = C.Size_48_48;
          break;
        case C.MaterialTapTargetSize_1:
          size = C.Size_40_40;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      size = size.$add(0, new P.Offset(effectiveVisualDensity.horizontal, effectiveVisualDensity.vertical).$mul(0, 4));
      activeStates = _this.get$states();
      activeStates.add$1(0, C.MaterialState_4);
      inactiveStates = _this.get$states();
      inactiveStates.remove$1(0, C.MaterialState_4);
      _this._widget.toString;
      t1 = _this.get$_widgetFillColor()._material_state$_resolve.call$1(activeStates);
      if (t1 == null) {
        t1 = themeData.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 = themeData.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, C.MaterialState_1);
      _this._widget.toString;
      t1 = themeData.checkboxTheme.overlayColor;
      t1 = t1 == null ? _null : t1.resolve$1(focusedStates);
      effectiveFocusOverlayColor = t1;
      if (effectiveFocusOverlayColor == null)
        effectiveFocusOverlayColor = themeData.focusColor;
      hoveredStates = _this.get$states();
      hoveredStates.add$1(0, C.MaterialState_0);
      _this._widget.toString;
      t1 = themeData.checkboxTheme.overlayColor;
      t1 = t1 == null ? _null : t1.resolve$1(hoveredStates);
      effectiveHoverOverlayColor = t1;
      if (effectiveHoverOverlayColor == null)
        effectiveHoverOverlayColor = themeData.hoverColor;
      activeStates.add$1(0, C.MaterialState_2);
      _this._widget.toString;
      t1 = themeData.checkboxTheme.overlayColor;
      t1 = t1 == null ? _null : t1.resolve$1(activeStates);
      effectiveActivePressedOverlayColor = t1;
      if (effectiveActivePressedOverlayColor == null)
        effectiveActivePressedOverlayColor = P.Color$fromARGB(31, effectiveActiveColor.get$value(effectiveActiveColor) >>> 16 & 255, effectiveActiveColor.get$value(effectiveActiveColor) >>> 8 & 255, effectiveActiveColor.get$value(effectiveActiveColor) & 255);
      inactiveStates.add$1(0, C.MaterialState_2);
      _this._widget.toString;
      t1 = themeData.checkboxTheme.overlayColor;
      t1 = t1 == null ? _null : t1.resolve$1(inactiveStates);
      effectiveInactivePressedOverlayColor = t1;
      if (effectiveInactivePressedOverlayColor == null)
        effectiveInactivePressedOverlayColor = P.Color$fromARGB(31, effectiveActiveColor.get$value(effectiveActiveColor) >>> 16 & 255, effectiveActiveColor.get$value(effectiveActiveColor) >>> 8 & 255, effectiveActiveColor.get$value(effectiveActiveColor) & 255);
      t1 = _this._widget.checkColor;
      if (t1 == null) {
        t1 = themeData.checkboxTheme.checkColor;
        t1 = t1 == null ? _null : t1.resolve$1(_this.get$states());
        effectiveCheckColor = t1;
      } else
        effectiveCheckColor = t1;
      if (effectiveCheckColor == null)
        effectiveCheckColor = C.Color_4294967295;
      t1 = _this._widget.value;
      t2 = _this._checkbox$_painter;
      t2.set$position(0, _this.get$_toggleable$_position(_this));
      t2.set$reaction(_this.get$_reaction());
      t2.set$reactionFocusFade(_this.get$_reactionFocusFade());
      t2.set$reactionHoverFade(_this.get$_reactionHoverFade());
      t2.set$inactiveReactionColor(effectiveInactivePressedOverlayColor);
      t2.set$reactionColor(effectiveActivePressedOverlayColor);
      t2.set$hoverColor(effectiveHoverOverlayColor);
      t2.set$focusColor(effectiveFocusOverlayColor);
      _this._widget.toString;
      t3 = themeData.checkboxTheme.splashRadius;
      t2.set$splashRadius(t3 == null ? 20 : t3);
      t2.set$downPosition(_this.ToggleableStateMixin__downPosition);
      t2.set$isFocused(_this.get$states().contains$1(0, C.MaterialState_1));
      t2.set$isHovered(_this.get$states().contains$1(0, C.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 = themeData.checkboxTheme.shape;
      t2.set$shape(0, t3 == null ? C.RoundedRectangleBorder_6Fb2 : t3);
      _this._widget.toString;
      t2.set$side(themeData.checkboxTheme.side);
      return T.Semantics$(_null, t1 === true, _this.buildToggleable$5$autofocus$focusNode$mouseCursor$painter$size(false, _null, new V._MaterialStatePropertyWith(new K._CheckboxState_build_closure(_this, themeData), type$._MaterialStatePropertyWith_MouseCursor), t2, size), false, _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);
    }
  };
  K._CheckboxState__widgetFillColor_closure.prototype = {
    call$1: function(states) {
      if (states.contains$1(0, C.MaterialState_6))
        return null;
      if (states.contains$1(0, C.MaterialState_4))
        return this.$this._widget.activeColor;
      return null;
    },
    $signature: 82
  };
  K._CheckboxState__defaultFillColor_closure.prototype = {
    call$1: function(states) {
      if (states.contains$1(0, C.MaterialState_6))
        return this.themeData.disabledColor;
      if (states.contains$1(0, C.MaterialState_4))
        return this.themeData.toggleableActiveColor;
      return this.themeData.unselectedWidgetColor;
    },
    $signature: 66
  };
  K._CheckboxState_build_closure.prototype = {
    call$1: function(states) {
      var t1;
      this.$this._widget.toString;
      t1 = V.MaterialStateProperty_resolveAs(null, states, type$.nullable_MouseCursor);
      if (t1 == null) {
        this.themeData.toString;
        t1 = null;
      }
      return t1 == null ? C._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable.resolve$1(states) : t1;
    },
    $signature: 274
  };
  K._CheckboxPainter.prototype = {
    set$checkColor: function(value) {
      if (J.$eq$(this._checkColor, value))
        return;
      this._checkColor = value;
      this.notifyListeners$0();
    },
    set$value: function(_, value) {
      if (this._checkbox$_value == value)
        return;
      this._checkbox$_value = value;
      this.notifyListeners$0();
    },
    set$previousValue: function(value) {
      if (this._previousValue == value)
        return;
      this._previousValue = value;
      this.notifyListeners$0();
    },
    set$shape: function(_, value) {
      if (J.$eq$(this._checkbox$_shape, value))
        return;
      this._checkbox$_shape = value;
      this.notifyListeners$0();
    },
    set$side: function(value) {
      if (J.$eq$(this._side, value))
        return;
      this._side = value;
      this.notifyListeners$0();
    },
    _outerRectAt$2: function(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 P.Rect(t1, t2, t1 + size, t2 + size);
    },
    _colorAt$1: function(t) {
      var t2,
        t1 = this._activeColor;
      if (t >= 0.25)
        t1.toString;
      else {
        t2 = this._inactiveColor;
        t2.toString;
        t1.toString;
        t1 = P.Color_lerp(t2, t1, t * 4);
        t1.toString;
      }
      return t1;
    },
    _drawCheck$4: function(canvas, origin, t, paint) {
      var t3,
        path = P.Path_Path(),
        t1 = origin._dx,
        t2 = origin._dy;
      if (t < 0.5) {
        t3 = P.Offset_lerp(C.Offset_W7v, C.Offset_gPO, t * 2);
        t3.toString;
        path.moveTo$2(0, t1 + 2.6999999999999997, t2 + 8.1);
        path.lineTo$2(0, t1 + t3._dx, t2 + t3._dy);
      } else {
        t3 = P.Offset_lerp(C.Offset_gPO, C.Offset_oIk, (t - 0.5) * 2);
        t3.toString;
        path.moveTo$2(0, t1 + 2.6999999999999997, t2 + 8.1);
        path.lineTo$2(0, t1 + 7.2, t2 + 12.6);
        path.lineTo$2(0, t1 + t3._dx, t2 + t3._dy);
      }
      canvas.drawPath$2(0, path, paint);
    },
    _drawDash$4: function(canvas, origin, t, paint) {
      var t2,
        t1 = P.Offset_lerp(C.Offset_aNU, C.Offset_9_9, 1 - t);
      t1.toString;
      t2 = P.Offset_lerp(C.Offset_9_9, C.Offset_Gl7, t);
      t2.toString;
      canvas.drawLine$3(0, origin.$add(0, t1), origin.$add(0, t2), paint);
    },
    paint$2: function(canvas, size) {
      var t1, strokePaint, origin, $status, t2, tNormalized, t, outer, emptyCheckboxPath, paint, resolvedShape, tShrink, tExpand, _this = this;
      _this.paintRadialReaction$2$canvas$origin(canvas, size.center$1(C.Offset_0_0));
      t1 = H._detectRenderer();
      strokePaint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t1 = _this._checkColor;
      t1.toString;
      strokePaint.set$color(0, t1);
      strokePaint.set$style(0, C.PaintingStyle_1);
      strokePaint.set$strokeWidth(2);
      origin = type$.Offset._as(size.$div(0, 2).$sub(0, C.Size_18_18.$div(0, 2)));
      t1 = _this._toggleable$_position.parent;
      $status = t1.get$status(t1);
      t1 = $status === C.AnimationStatus_1 || $status === C.AnimationStatus_3;
      t2 = _this._toggleable$_position;
      tNormalized = t1 ? t2.get$value(t2) : 1 - t2.get$value(t2);
      if (_this._previousValue === false || _this._checkbox$_value === false) {
        t = _this._checkbox$_value === false ? 1 - tNormalized : tNormalized;
        outer = _this._outerRectAt$2(origin, t);
        emptyCheckboxPath = _this._checkbox$_shape.copyWith$1$side(_this._side).getOuterPath$1(outer);
        t1 = H._detectRenderer();
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        paint.set$color(0, _this._colorAt$1(t));
        if (t <= 0.5) {
          t1 = _this._checkbox$_shape;
          t1.toString;
          if (_this._side == null)
            resolvedShape = t1.copyWith$1$side(new Y.BorderSide(paint.get$color(paint), 2, C.BorderStyle_1));
          else
            resolvedShape = t1;
          resolvedShape.copyWith$1$side(_this._side).paint$2(canvas, outer);
        } else {
          canvas.drawPath$2(0, emptyCheckboxPath, paint);
          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);
        t1 = H._detectRenderer();
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        paint.set$color(0, _this._colorAt$1(1));
        canvas.drawPath$2(0, _this._checkbox$_shape.copyWith$1$side(_this._side).getOuterPath$1(outer), paint);
        if (tNormalized <= 0.5) {
          tShrink = 1 - tNormalized * 2;
          if (_this._previousValue === true)
            _this._drawCheck$4(canvas, origin, tShrink, strokePaint);
          else
            _this._drawDash$4(canvas, origin, tShrink, strokePaint);
        } else {
          tExpand = (tNormalized - 0.5) * 2;
          if (_this._checkbox$_value === true)
            _this._drawCheck$4(canvas, origin, tExpand, strokePaint);
          else
            _this._drawDash$4(canvas, origin, tExpand, strokePaint);
        }
      }
    }
  };
  K.__CheckboxState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  K.__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin.prototype = {
    initState$0: function() {
      var _this = this, _null = null;
      _this.super$State$initState();
      _this.ToggleableStateMixin___ToggleableStateMixin__positionController = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _this._widget.value === false ? 0 : 1, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__position = S.CurvedAnimation$(C.Cubic_JUR0, _this.get$_positionController(), C.Cubic_xDo0);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionController = G.AnimationController$(_null, C.Duration_100000, 0, _null, 1, _null, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reaction = S.CurvedAnimation$(C.Cubic_ifx, _this.get$_reactionController(), _null);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController = G.AnimationController$(_null, C.Duration_50000, 0, _null, 1, _this.ToggleableStateMixin__hovering || _this.ToggleableStateMixin__focused ? 1 : 0, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade = S.CurvedAnimation$(C.Cubic_ifx, _this.get$_reactionHoverFadeController(), _null);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController = G.AnimationController$(_null, C.Duration_50000, 0, _null, 1, _this.ToggleableStateMixin__hovering || _this.ToggleableStateMixin__focused ? 1 : 0, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade = S.CurvedAnimation$(C.Cubic_ifx, _this.get$_reactionFocusFadeController(), _null);
    },
    dispose$0: function(_) {
      var _this = this;
      _this.get$_positionController().dispose$0(0);
      _this.get$_reactionController().dispose$0(0);
      _this.get$_reactionHoverFadeController().dispose$0(0);
      _this.get$_reactionFocusFadeController().dispose$0(0);
      _this.super$__CheckboxState_State_TickerProviderStateMixin$dispose(0);
    }
  };
  D.CheckboxListTile.prototype = {
    _handleValueChange$0: function() {
      var _this = this;
      switch (_this.value) {
        case false:
          _this.onChanged.call$1(true);
          break;
        case true:
          _this.onChanged.call$1(false);
          break;
        case null:
          _this.onChanged.call$1(false);
          break;
      }
    },
    build$1: function(_, context) {
      var trailing, leading, t1, _this = this, _null = null,
        control = K.Checkbox$(_null, false, _null, C.MaterialTapTargetSize_1, _this.onChanged, false, _this.value);
      switch (C.ListTileControlAffinity_2) {
        case C.ListTileControlAffinity_0:
          trailing = _null;
          leading = control;
          break;
        case C.ListTileControlAffinity_1:
        case C.ListTileControlAffinity_2:
          trailing = control;
          leading = _null;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = K.Theme_of(context);
      t1 = t1.toggleableActiveColor;
      return new T.MergeSemantics(Q.ListTileTheme_merge(Q.ListTile$(false, _null, true, true, false, leading, _null, _this.get$_handleValueChange(), false, _null, _null, _null, _null, _this.title, trailing), _null, t1, _null), _null);
    }
  };
  F.CheckboxThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.mouseCursor, _this.fillColor, _this.checkColor, _this.overlayColor, _this.splashRadius, _this.materialTapTargetSize, _this.visualDensity, _this.shape, _this.side, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof F.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;
    }
  };
  F._LerpProperties1.prototype = {
    resolve$1: function(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
  };
  F._CheckboxThemeData_Object_Diagnosticable.prototype = {};
  K.ChipThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_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, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof K.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;
    }
  };
  K._ChipThemeData_Object_Diagnosticable.prototype = {};
  A.ColorScheme.prototype = {
    copyWith$2$background$brightness: function(background, brightness) {
      var _this = this,
        t1 = background == null ? _this.background : background;
      return new A.ColorScheme(_this.primary, _this.primaryVariant, _this.secondary, _this.secondaryVariant, _this.surface, t1, _this.error, _this.onPrimary, _this.onSecondary, _this.onSurface, _this.onBackground, _this.onError, _this.brightness);
    },
    copyWith$1$brightness: function(brightness) {
      return this.copyWith$2$background$brightness(null, brightness);
    },
    copyWith$1$background: function(background) {
      return this.copyWith$2$background$brightness(background, null);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof A.ColorScheme && J.$eq$(other.primary, _this.primary) && J.$eq$(other.primaryVariant, _this.primaryVariant) && J.$eq$(other.secondary, _this.secondary) && J.$eq$(other.secondaryVariant, _this.secondaryVariant) && J.$eq$(other.surface, _this.surface) && J.$eq$(other.background, _this.background) && J.$eq$(other.error, _this.error) && J.$eq$(other.onPrimary, _this.onPrimary) && J.$eq$(other.onSecondary, _this.onSecondary) && J.$eq$(other.onSurface, _this.onSurface) && J.$eq$(other.onBackground, _this.onBackground) && J.$eq$(other.onError, _this.onError) && other.brightness === _this.brightness;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.primary, _this.primaryVariant, _this.secondary, _this.secondaryVariant, _this.surface, _this.background, _this.error, _this.onPrimary, _this.onSecondary, _this.onSurface, _this.onBackground, _this.onError, _this.brightness, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  A._ColorScheme_Object_Diagnosticable.prototype = {};
  E.MaterialColor.prototype = {};
  E.MaterialAccentColor.prototype = {};
  S.DataColumn.prototype = {};
  S.DataRow.prototype = {};
  S.DataCell.prototype = {};
  S.DataTable.prototype = {
    _handleSelectAll$2: function(checked, someChecked) {
      var effectiveChecked, t1, _i;
      if (!someChecked)
        effectiveChecked = checked === true;
      for (t1 = this.rows.length, _i = 0; _i < t1; ++_i)
        ;
    },
    _buildCheckbox$6$checked$context$onCheckboxChanged$onRowTap$overlayColor$tristate: function(checked, context, onCheckboxChanged, onRowTap, overlayColor, tristate) {
      var effectiveCheckboxHorizontalMarginStart, effectiveCheckboxHorizontalMarginEnd, t1, contents, _null = null,
        themeData = K.Theme_of(context),
        effectiveHorizontalMargin = themeData.dataTableTheme.horizontalMargin;
      if (effectiveHorizontalMargin == null)
        effectiveHorizontalMargin = 24;
      effectiveCheckboxHorizontalMarginStart = themeData.dataTableTheme.checkboxHorizontalMargin;
      if (effectiveCheckboxHorizontalMarginStart == null)
        effectiveCheckboxHorizontalMarginStart = effectiveHorizontalMargin;
      effectiveCheckboxHorizontalMarginEnd = themeData.dataTableTheme.checkboxHorizontalMargin;
      if (effectiveCheckboxHorizontalMarginEnd == null)
        effectiveCheckboxHorizontalMarginEnd = effectiveHorizontalMargin / 2;
      t1 = themeData.colorScheme;
      contents = T.Semantics$(_null, _null, new T.Padding(new V.EdgeInsetsDirectional(effectiveCheckboxHorizontalMarginStart, 0, effectiveCheckboxHorizontalMarginEnd, 0), T.Center$(K.Checkbox$(t1.primary, false, t1.onPrimary, _null, onCheckboxChanged, tristate, checked), _null, _null, _null), _null), true, _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);
      return new S.TableCell(C.TableCellVerticalAlignment_4, onRowTap != null ? S.TableRowInkWell$(contents, onRowTap, overlayColor) : contents, _null);
    },
    build$1: function(_, context) {
      var effectiveCheckboxHorizontalMarginStart, effectiveCheckboxHorizontalMarginEnd, effectiveColumnSpacing, t3, tableColumns, tableRows, t4, rowIndex, _i, displayCheckboxColumn, displayColumnIndex, effectiveDataRowHeight, paddingEnd, t5, paddingStart, dataColumnIndex, t6, column, t7, paddingStart0, padding, t8, themeData, t9, label, effectiveHeadingTextStyle, effectiveHeadingRowHeight, cell, effectiveDataTextStyle, effectiveDataRowHeight0, _this = this, _null = null,
        theme = K.Theme_of(context),
        effectiveHeadingRowColor = theme.dataTableTheme.headingRowColor,
        effectiveDataRowColor = theme.dataTableTheme.dataRowColor,
        t1 = _this.rows,
        anyRowSelectable = C.JSArray_methods.any$1(t1, new S.DataTable_build_closure()),
        rowsWithCheckbox = anyRowSelectable ? new H.WhereIterable(t1, new S.DataTable_build_closure0(), H._arrayInstanceType(t1)._eval$1("WhereIterable<1>")) : H._setArrayType([], type$.JSArray_DataRow),
        t2 = J.getInterceptor$ax(rowsWithCheckbox),
        rowsChecked = t2.where$1(rowsWithCheckbox, new S.DataTable_build_closure1()),
        allChecked = anyRowSelectable && rowsChecked.get$length(rowsChecked) === t2.get$length(rowsWithCheckbox),
        someChecked = anyRowSelectable && !rowsChecked.get$isEmpty(rowsChecked) && !allChecked,
        effectiveHorizontalMargin = theme.dataTableTheme.horizontalMargin;
      if (effectiveHorizontalMargin == null)
        effectiveHorizontalMargin = 24;
      effectiveCheckboxHorizontalMarginStart = theme.dataTableTheme.checkboxHorizontalMargin;
      if (effectiveCheckboxHorizontalMarginStart == null)
        effectiveCheckboxHorizontalMarginStart = effectiveHorizontalMargin;
      effectiveCheckboxHorizontalMarginEnd = theme.dataTableTheme.checkboxHorizontalMargin;
      if (effectiveCheckboxHorizontalMarginEnd == null)
        effectiveCheckboxHorizontalMarginEnd = effectiveHorizontalMargin / 2;
      effectiveColumnSpacing = theme.dataTableTheme.columnSpacing;
      if (effectiveColumnSpacing == null)
        effectiveColumnSpacing = 56;
      t2 = _this.columns;
      t3 = t2.length;
      tableColumns = P.List_List$filled(t3 + (anyRowSelectable ? 1 : 0), C.C__NullTableColumnWidth, false, type$.TableColumnWidth);
      tableRows = P.List_List$generate(t1.length + 1, new S.DataTable_build_closure2(_this, anyRowSelectable, effectiveDataRowColor, effectiveHeadingRowColor, context, theme, new V._MaterialStatePropertyWith(new S.DataTable_build_closure3(theme), type$._MaterialStatePropertyWith_nullable_Color), tableColumns), true, type$.TableRow);
      if (anyRowSelectable) {
        tableColumns[0] = new S.FixedColumnWidth(effectiveCheckboxHorizontalMarginStart + 18 + effectiveCheckboxHorizontalMarginEnd);
        t3 = tableRows[0];
        t4 = someChecked ? _null : allChecked;
        t3.children[0] = _this._buildCheckbox$6$checked$context$onCheckboxChanged$onRowTap$overlayColor$tristate(t4, context, new S.DataTable_build_closure4(_this, someChecked), _null, _null, true);
        for (t3 = t1.length, rowIndex = 1, _i = 0; _i < t1.length; t1.length === t3 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          t4 = tableRows[rowIndex];
          t4.children[0] = _this._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 (effectiveDataRowHeight = _this.dataRowHeight, t3 = type$.JSArray_Widget, t4 = _this._onlyTextColumn, paddingEnd = effectiveColumnSpacing / 2, t5 = !displayCheckboxColumn, paddingStart = effectiveHorizontalMargin / 2, dataColumnIndex = 0; t6 = t2.length, dataColumnIndex < t6; ++dataColumnIndex) {
        column = t2[dataColumnIndex];
        t7 = dataColumnIndex === 0;
        t7;
        if (t7 && displayCheckboxColumn)
          paddingStart0 = paddingStart;
        else
          paddingStart0 = t7 && t5 ? effectiveHorizontalMargin : paddingEnd;
        padding = new V.EdgeInsetsDirectional(paddingStart0, 0, dataColumnIndex === t6 - 1 ? effectiveHorizontalMargin : paddingEnd, 0);
        if (dataColumnIndex === t4)
          tableColumns[displayColumnIndex] = C.IntrinsicColumnWidth_1;
        else
          tableColumns[displayColumnIndex] = C.IntrinsicColumnWidth_null;
        t6 = tableRows[0];
        t7 = column.label;
        t8 = column.numeric;
        themeData = K.Theme_of(context);
        t9 = t8 ? C.TextDirection_0 : _null;
        t7 = H._setArrayType([t7], t3);
        label = T.Row$(t7, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, t9);
        effectiveHeadingTextStyle = themeData.dataTableTheme.headingTextStyle;
        if (effectiveHeadingTextStyle == null) {
          t7 = themeData.textTheme.subtitle2;
          t7.toString;
          effectiveHeadingTextStyle = t7;
        }
        effectiveHeadingRowHeight = themeData.dataTableTheme.headingRowHeight;
        if (effectiveHeadingRowHeight == null)
          effectiveHeadingRowHeight = 56;
        t7 = t8 ? C.Alignment_1_0 : C.AlignmentDirectional_m1_0;
        label = M.Container$(t7, G.AnimatedDefaultTextStyle$(label, C.C__Linear, C.Duration_150000, false, effectiveHeadingTextStyle), C.Clip_0, _null, _null, _null, _null, effectiveHeadingRowHeight, _null, _null, padding, _null, _null, _null);
        t6.children[displayColumnIndex] = R.InkWell$(false, true, label, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, effectiveHeadingRowColor, _null, _null);
        for (t6 = t1.length, rowIndex = 1, _i = 0; _i < t1.length; t1.length === t6 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          cell = t1[_i].cells[dataColumnIndex];
          t7 = tableRows[rowIndex];
          label = cell.child;
          themeData = K.Theme_of(context);
          effectiveDataTextStyle = themeData.dataTableTheme.dataTextStyle;
          if (effectiveDataTextStyle == null) {
            t9 = themeData.textTheme.bodyText2;
            t9.toString;
            effectiveDataTextStyle = t9;
          }
          effectiveDataRowHeight0 = effectiveDataRowHeight;
          t9 = t8 ? C.Alignment_1_0 : C.AlignmentDirectional_m1_0;
          label = M.Container$(t9, new L.DefaultTextStyle(effectiveDataTextStyle.copyWith$1$color(_null), _null, true, C.TextOverflow_0, _null, C.TextWidthBasis_0, _null, new K.DropdownButtonHideUnderline(label, _null), _null), C.Clip_0, _null, _null, _null, _null, effectiveDataRowHeight0, _null, _null, padding, _null, _null, _null);
          t7.children[displayColumnIndex] = label;
          ++rowIndex;
        }
        ++displayColumnIndex;
      }
      t1 = theme.dataTableTheme.decoration;
      return M.Container$(_null, M.Material$(C.Duration_200000, true, _null, S.Table$(tableRows, new H.ListMapView(tableColumns, H._arrayInstanceType(tableColumns)._eval$1("ListMapView<1>"))), C.Clip_0, _null, 0, _null, _null, _null, _null, C.MaterialType_4), C.Clip_0, _null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  S.DataTable_build_closure3.prototype = {
    call$1: function(states) {
      var t1;
      if (states.contains$1(0, C.MaterialState_4)) {
        t1 = this.theme.colorScheme.primary;
        return P.Color$fromARGB(20, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      return null;
    },
    $signature: 82
  };
  S.DataTable_build_closure.prototype = {
    call$1: function(row) {
      row.toString;
      return false;
    },
    $signature: 137
  };
  S.DataTable_build_closure0.prototype = {
    call$1: function(row) {
      row.toString;
      return false;
    },
    $signature: 137
  };
  S.DataTable_build_closure1.prototype = {
    call$1: function(row) {
      row.toString;
      return false;
    },
    $signature: 137
  };
  S.DataTable_build_closure2.prototype = {
    call$1: function(index) {
      var t4, resolvedDataRowColor, resolvedHeadingRowColor, rowColor, borderSide, border, _this = this, _null = null,
        t1 = index > 0,
        isDisabled = t1 && _this.anyRowSelectable && true,
        t2 = type$.MaterialState,
        t3 = P.LinkedHashSet_LinkedHashSet$_empty(t2);
      if (isDisabled)
        t3.add$1(0, C.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(P.LinkedHashSet_LinkedHashSet$_empty(t2));
      rowColor = t1 ? resolvedDataRowColor : resolvedHeadingRowColor;
      t1 = _this.theme.dataTableTheme.dividerThickness;
      if (t1 == null)
        t1 = 1;
      borderSide = Z.Divider_createBorderSide(_this.context, _null, t1);
      border = index === 0 ? _null : new F.Border(borderSide, C.BorderSide_06g, C.BorderSide_06g, C.BorderSide_06g);
      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 S.TableRow0(t1, new S.BoxDecoration(t2, _null, border, _null, _null, _null, _null, C.BoxShape_0), P.List_List$filled(_this.tableColumns.length, C._NullWidget_null0, false, type$.Widget));
    },
    $signature: 751
  };
  S.DataTable_build_closure4.prototype = {
    call$1: function(checked) {
      return this.$this._handleSelectAll$2(checked, this.someChecked);
    },
    $signature: 273
  };
  S.TableRowInkWell.prototype = {
    getRectCallback$1: function(referenceBox) {
      return new S.TableRowInkWell_getRectCallback_closure(referenceBox);
    },
    debugCheckContext$1: function(context) {
      this.super$InkResponse$debugCheckContext(context);
      return true;
    }
  };
  S.TableRowInkWell_getRectCallback_closure.prototype = {
    call$0: function() {
      var table0, t1, t2, t3, t4, offset,
        cell = this.referenceBox,
        table = cell.get$parent(cell),
        transform = new E.Matrix4(new Float64Array(16));
      transform.setIdentity$0();
      while (true) {
        if (!(table instanceof K.RenderObject && !(table instanceof S.RenderTable)))
          break;
        table.applyPaintTransform$2(cell, transform);
        table0 = table.get$parent(table);
        cell = table;
        table = table0;
      }
      if (table instanceof S.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 = T.MatrixUtils_getAsTranslation(transform);
        if (offset != null)
          return new P.Rect(0, t3, t4, t1).shift$1(new P.Offset(-offset._dx, -offset._dy));
      }
      return C.Rect_0_0_0_0;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 138
  };
  S._NullTableColumnWidth.prototype = {
    maxIntrinsicWidth$2: function(cells, containerWidth) {
      return H.throwExpression(P.UnimplementedError$(null));
    },
    minIntrinsicWidth$2: function(cells, containerWidth) {
      return H.throwExpression(P.UnimplementedError$(null));
    }
  };
  S._NullWidget0.prototype = {
    createElement$0: function(_) {
      return H.throwExpression(P.UnimplementedError$(null));
    }
  };
  Z.DataTableThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.decoration, _this.dataRowColor, _this.dataRowHeight, _this.dataTextStyle, _this.headingRowColor, _this.headingRowHeight, _this.headingTextStyle, _this.horizontalMargin, _this.columnSpacing, _this.dividerThickness, _this.checkboxHorizontalMargin, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof Z.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;
    }
  };
  Z._LerpProperties2.prototype = {
    resolve$1: function(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
  };
  Z._DataTableThemeData_Object_Diagnosticable.prototype = {};
  L._DesktopTextSelectionControls.prototype = {
    getHandleSize$1: function(textLineHeight) {
      return C.Size_0_0;
    },
    buildHandle$3: function(context, type, textLineHeight) {
      return C.SizedBox_0_0_null_null;
    },
    getHandleAnchor$2: function(type, textLineHeight) {
      return C.Offset_0_0;
    }
  };
  E.Dialog.prototype = {
    build$1: function(_, context) {
      var t3, t4, _null = null,
        dialogTheme = K.Theme_of(context).dialogTheme,
        t1 = type$.MediaQuery,
        t2 = context.dependOnInheritedWidgetOfExactType$1$0(t1).data,
        effectivePadding = t2.viewInsets.$add(0, this.insetPadding);
      t2 = dialogTheme.backgroundColor;
      if (t2 == null)
        t2 = K.Theme_of(context).dialogBackgroundColor;
      t3 = dialogTheme.elevation;
      if (t3 == null)
        t3 = 24;
      t4 = dialogTheme.shape;
      if (t4 == null)
        t4 = C.RoundedRectangleBorder_6Fb1;
      t4 = T.Center$(new T.ConstrainedBox(C.BoxConstraints_mlX0, M.Material$(C.Duration_200000, true, _null, this.child, this.clipBehavior, t2, t3, _null, _null, t4, _null, C.MaterialType_1), _null), _null, _null, _null);
      return new G.AnimatedPadding(effectivePadding, new F.MediaQuery(context.dependOnInheritedWidgetOfExactType$1$0(t1).data.removeViewInsets$4$removeBottom$removeLeft$removeRight$removeTop(true, true, true, true), t4, _null), C.C__DecelerateCurve, C.Duration_100000, _null, _null);
    }
  };
  E.AlertDialog.prototype = {
    build$1: function(_, context) {
      var label, t1, t2, titleWidget, effectiveContentPadding, contentWidget, t3, spacing, actionsWidget, dialogChild, _this = this, _null = null,
        theme = K.Theme_of(context),
        dialogTheme = K.Theme_of(context).dialogTheme;
      switch (theme.platform) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_4:
          label = _null;
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          t1 = L.Localizations_of(context, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations);
          t1.toString;
          label = "Alert";
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = P.lerpDouble(1, 0.3333333333333333, C.JSNumber_methods.clamp$2(context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.textScaleFactor, 1, 2) - 1);
      t1.toString;
      T.Directionality_maybeOf(context);
      t2 = dialogTheme.titleTextStyle;
      if (t2 == null) {
        t2 = theme.textTheme.headline6;
        t2.toString;
      }
      titleWidget = new T.Padding(new V.EdgeInsets(24 * t1, 24 * t1, 24 * t1, 0), L.DefaultTextStyle$(T.Semantics$(_null, _null, _this.title, true, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, label == null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, C.TextOverflow_0, true, t2, _null, _null, C.TextWidthBasis_0), _null);
      effectiveContentPadding = _this.contentPadding;
      t2 = dialogTheme.contentTextStyle;
      if (t2 == null) {
        t2 = theme.textTheme.subtitle1;
        t2.toString;
      }
      contentWidget = new T.Padding(new V.EdgeInsets(effectiveContentPadding.left * t1, effectiveContentPadding.top, effectiveContentPadding.right * t1, effectiveContentPadding.bottom), L.DefaultTextStyle$(T.Semantics$(_null, _null, _this.content, true, _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, C.TextOverflow_0, true, t2, _null, _null, C.TextWidthBasis_0), _null);
      t1 = _this.actions;
      t2 = t1 != null;
      if (t2) {
        t3 = _this.buttonPadding.get$horizontal();
        spacing = t3 / 2;
        actionsWidget = new T.Padding(C.EdgeInsets_0_0_0_0, M.Container$(C.AlignmentDirectional_1_0, E.OverflowBar$(t1, C.OverflowBarAlignment_1, C.VerticalDirection_1, 0, spacing), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, new V.EdgeInsets(spacing, spacing, spacing, spacing), _null, _null, _null), _null);
      } else
        actionsWidget = _null;
      t1 = type$.JSArray_Widget;
      t3 = H._setArrayType([], t1);
      t1 = H._setArrayType([], t1);
      t1.push(titleWidget);
      t1.push(contentWidget);
      t3.push(new T.Flexible(1, C.FlexFit_1, E.SingleChildScrollView$(T.Column$(t1, C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), _null, C.DragStartBehavior_1, _null, _null, false, C.Axis_1), _null));
      if (t2) {
        actionsWidget.toString;
        t3.push(actionsWidget);
      }
      dialogChild = T.IntrinsicWidth$(T.Column$(t3, C.CrossAxisAlignment_3, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), _null);
      return new E.Dialog(_null, _null, C.EdgeInsets_40_24_40_24, C.Clip_0, _null, label != null ? T.Semantics$(_null, _null, dialogChild, false, _null, _null, true, _null, _null, _null, _null, label, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null) : dialogChild, _null);
    }
  };
  E.DialogRoute.prototype = {};
  E.DialogRoute_closure.prototype = {
    call$3: function(buildContext, animation, secondaryAnimation) {
      var dialog = new M._CaptureAll(this.themes._themes, new T.Builder(this.builder, null), null);
      dialog = Q.SafeArea$(true, dialog, C.EdgeInsets_0_0_0_0, true);
      return dialog;
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 756
  };
  Y.DialogTheme.prototype = {
    get$hashCode: function(_) {
      return J.get$hashCode$(this.shape);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof Y.DialogTheme && J.$eq$(other.backgroundColor, _this.backgroundColor) && other.elevation == _this.elevation && J.$eq$(other.shape, _this.shape) && J.$eq$(other.titleTextStyle, _this.titleTextStyle) && J.$eq$(other.contentTextStyle, _this.contentTextStyle);
    }
  };
  Y._DialogTheme_Object_Diagnosticable.prototype = {};
  Z.Divider.prototype = {
    build$1: function(_, context) {
      var thickness, indent, endIndent, _null = null,
        dividerTheme = G.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 T.SizedBox$(T.Center$(M.Container$(_null, _null, C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, new F.Border(C.BorderSide_06g, C.BorderSide_06g, Z.Divider_createBorderSide(context, this.color, thickness), C.BorderSide_06g), _null, _null, _null, _null, C.BoxShape_0), _null, thickness, _null, new V.EdgeInsetsDirectional(indent, 0, endIndent, 0), _null, _null, _null, _null), _null, _null, _null), height, _null);
    }
  };
  Z.VerticalDivider.prototype = {
    build$1: function(_, context) {
      var thickness, indent, endIndent, _null = null,
        dividerTheme = G.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 T.SizedBox$(T.Center$(M.Container$(_null, _null, C.Clip_0, _null, _null, new S.BoxDecoration(_null, _null, new F.Border(C.BorderSide_06g, C.BorderSide_06g, C.BorderSide_06g, Z.Divider_createBorderSide(context, _null, thickness)), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, new V.EdgeInsetsDirectional(0, indent, 0, endIndent), _null, _null, _null, thickness), _null, _null, _null), _null, width);
    }
  };
  G.DividerThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.color, _this.space, _this.thickness, _this.indent, _this.endIndent, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof G.DividerThemeData && J.$eq$(other.color, _this.color) && other.space == _this.space && other.thickness == _this.thickness && other.indent == _this.indent && other.endIndent == _this.endIndent;
    }
  };
  G._DividerThemeData_Object_Diagnosticable.prototype = {};
  K._DropdownMenuPainter.prototype = {
    paint$2: function(canvas, size) {
      var _null = null,
        selectedItemOffset = this.getSelectedItemOffset.call$0(),
        t1 = size._dy,
        t2 = J.clamp$2$n(selectedItemOffset, 0, Math.max(t1 - 48, 0)),
        t3 = type$.Tween_double,
        t4 = C.JSNumber_methods.clamp$2(t2 + 48, Math.min(48, t1), t1),
        t5 = this.resize;
      t2 = new R.Tween(t2, 0, t3).transform$1(0, t5.get$value(t5));
      this._dropdown$_painter.paint$3(canvas, new P.Offset(0, t2), new M.ImageConfiguration(_null, _null, _null, _null, new P.Size(size._dx - 0, new R.Tween(t4, t1, t3).transform$1(0, t5.get$value(t5)) - t2), _null));
    },
    shouldRepaint$1: function(oldPainter) {
      var _this = this;
      return !J.$eq$(oldPainter.color, _this.color) || oldPainter.elevation !== _this.elevation || oldPainter.selectedIndex !== _this.selectedIndex || oldPainter.resize != _this.resize;
    }
  };
  K._DropdownMenuItemButton.prototype = {
    createState$0: function() {
      return new K._DropdownMenuItemButtonState(C._StateLifecycle_0, this.$ti._eval$1("_DropdownMenuItemButtonState<1>"));
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  K._DropdownMenuItemButtonState.prototype = {
    _handleFocusChange$1: function(focused) {
      var inTraditionalMode, menuLimits,
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._highlightMode;
      switch (t1 == null ? O.FocusManager__defaultModeForPlatform() : t1) {
        case C.FocusHighlightMode_0:
          inTraditionalMode = false;
          break;
        case C.FocusHighlightMode_1:
          inTraditionalMode = true;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      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, C.Cubic_xDo, C.Duration_100000);
      }
    },
    _handleOnTap$0: function() {
      var t2,
        t1 = this._widget;
      t1 = t1.route.items[t1.itemIndex].item;
      t1.toString;
      t2 = this._framework$_element;
      t2.toString;
      K.Navigator_of(t2, false).pop$1(0, new K._DropdownRouteResult(t1.value, this.$ti._eval$1("_DropdownRouteResult<1>")));
    },
    build$1: function(_, context) {
      var unit, opacity, start, end, child, _this = this, _null = null,
        t1 = _this._widget,
        t2 = t1.route,
        t3 = t2.items;
      t1 = t1.itemIndex;
      t3[t1].item.toString;
      unit = 0.5 / (t3.length + 1.5);
      if (t1 === t2.selectedIndex) {
        t1 = t2._animationProxy;
        t1.toString;
        opacity = S.CurvedAnimation$(C.Threshold_0, t1, _null);
      } else {
        start = C.JSNumber_methods.clamp$2(0.5 + (t1 + 1) * unit, 0, 1);
        end = C.JSNumber_methods.clamp$2(start + 1.5 * unit, 0, 1);
        t1 = _this._widget.route._animationProxy;
        t1.toString;
        opacity = S.CurvedAnimation$(new Z.Interval(start, end, C.C__Linear), t1, _null);
      }
      t1 = _this._widget;
      t2 = t1.padding;
      t3 = t1.route;
      t1 = t1.itemIndex;
      child = R.InkWell$(t1 === t3.selectedIndex, true, M.Container$(_null, t3.items[t1], C.Clip_0, _null, _null, _null, _null, _null, _null, _null, t2, _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _this.get$_handleFocusChange(), _null, _null, _null, _this.get$_handleOnTap(), _null, _null, _null, _null, _null);
      child = K.FadeTransition$(false, child, opacity);
      return new X.Shortcuts(C.Map_SDouN, child, _null, _null);
    }
  };
  K._DropdownMenu.prototype = {
    createState$0: function() {
      return new K._DropdownMenuState(C._StateLifecycle_0, this.$ti._eval$1("_DropdownMenuState<1>"));
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  K._DropdownMenuState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = _this._widget.route._animationProxy;
      t1.toString;
      _this.___DropdownMenuState__fadeOpacity = S.CurvedAnimation$(C.Interval_75R1, t1, C.Interval_75R2);
      t1 = _this._widget.route._animationProxy;
      t1.toString;
      _this.___DropdownMenuState__resize = S.CurvedAnimation$(C.Interval_75R3, t1, C.Threshold_0);
    },
    build$1: function(_, context) {
      var route, t1, t2, t3, itemIndex, t4, t5, t6, t7, t8, t9, _this = this, _null = null;
      L.Localizations_of(context, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      route = _this._widget.route;
      t1 = H._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 K._DropdownMenuItemButton(t4.route, t4.padding, t4.buttonRect, t4.constraints, itemIndex, true, _null, t3));
      }
      t2 = _this.___DropdownMenuState__fadeOpacity;
      if (t2 === $)
        t2 = H.throwExpression(H.LateError$fieldNI("_fadeOpacity"));
      _this._widget.toString;
      t3 = K.Theme_of(context);
      t3 = t3.canvasColor;
      t4 = route.elevation;
      t5 = _this.___DropdownMenuState__resize;
      if (t5 === $)
        t5 = H.throwExpression(H.LateError$fieldNI("_resize"));
      t6 = K.BorderRadius$circular(2);
      t7 = C.Map_2VYR1.$index(0, t4);
      t8 = K.ScrollConfiguration_of(context).copyWith$3$overscroll$physics$platform(false, C.ClampingScrollPhysics_null, K.Theme_of(context).platform);
      t9 = _this._widget.route.scrollController;
      t9.toString;
      return K.FadeTransition$(false, T.CustomPaint$(T.Semantics$(_null, _null, M.Material$(C.Duration_200000, true, _null, K.ScrollConfiguration$(t8, E.PrimaryScrollController$(E.Scrollbar$(B.ListView$(t1, _null, _null, C.EdgeInsets_0_8_0_8, _null, _null, true), _null, true), t9)), C.Clip_0, _null, 0, _null, _null, _null, route.style, C.MaterialType_4), false, _null, _null, true, _null, _null, _null, _null, "Popup menu", _null, _null, true, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null), _null, _null, new K._DropdownMenuPainter(t3, t4, route.selectedIndex, t5, new K._DropdownMenuState_build_closure(route), new S._BoxDecorationPainter(new S.BoxDecoration(t3, _null, _null, t6, t7, _null, _null, C.BoxShape_0), _null), t5), C.Size_0_0), t2);
    }
  };
  K._DropdownMenuState_build_closure.prototype = {
    call$0: function() {
      var t1 = this.route;
      return t1.getItemOffset$1(t1.selectedIndex);
    },
    $signature: 130
  };
  K._DropdownMenuRouteLayout.prototype = {
    getConstraintsForChild$1: function(constraints) {
      var maxHeight = Math.max(0, constraints.maxHeight - 96),
        t1 = this.buttonRect,
        width = Math.min(H.checkNum(constraints.maxWidth), t1.right - t1.left);
      return new S.BoxConstraints(width, width, 0, maxHeight);
    },
    getPositionForChild$2: function(size, childSize) {
      var left,
        t1 = this.route,
        t2 = this.buttonRect,
        menuLimits = t1.getMenuLimits$3(t2, size._dy, t1.selectedIndex);
      t1 = this.textDirection;
      t1.toString;
      switch (t1) {
        case C.TextDirection_0:
          left = J.clamp$2$n(t2.right, 0, size._dx) - childSize._dx;
          break;
        case C.TextDirection_1:
          left = J.clamp$2$n(t2.left, 0, size._dx - childSize._dx);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return new P.Offset(left, menuLimits.top);
    },
    shouldRelayout$1: function(oldDelegate) {
      return !this.buttonRect.$eq(0, oldDelegate.buttonRect) || this.textDirection != oldDelegate.textDirection;
    }
  };
  K._DropdownRouteResult.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      return this.$ti._is(other) && J.$eq$(other.result, this.result);
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.result);
    }
  };
  K._MenuLimits.prototype = {};
  K._DropdownRoute.prototype = {
    get$transitionDuration: function(_) {
      return C.Duration_300000;
    },
    get$barrierDismissible: function() {
      return true;
    },
    get$barrierColor: function() {
      return null;
    },
    buildPage$3: function(context, animation, secondaryAnimation) {
      return new A.LayoutBuilder(new K._DropdownRoute_buildPage_closure(this), null);
    },
    getItemOffset$1: function(index) {
      return this.items.length !== 0 && index > 0 ? 8 + C.JSArray_methods.reduce$1(C.JSArray_methods.sublist$2(this.itemHeights, 0, index), new K._DropdownRoute_getItemOffset_closure()) : 8;
    },
    getMenuLimits$3: function(buttonRect, availableHeight, index) {
      var menuHeight, menuTop0, _this = this,
        maxMenuHeight = availableHeight - 96,
        buttonTop = buttonRect.top,
        t1 = buttonRect.bottom,
        buttonBottom = Math.min(H.checkNum(t1), availableHeight),
        selectedItemOffset = _this.getItemOffset$1(index),
        topLimit = Math.min(48, H.checkNum(buttonTop)),
        bottomLimit = Math.max(availableHeight - 48, buttonBottom),
        t2 = _this.itemHeights,
        menuTop = buttonTop - selectedItemOffset - (t2[_this.selectedIndex] - (t1 - buttonTop)) / 2,
        preferredMenuHeight = C.EdgeInsets_0_8_0_8.get$_edge_insets$_top(C.EdgeInsets_0_8_0_8) + C.EdgeInsets_0_8_0_8.get$_edge_insets$_bottom(C.EdgeInsets_0_8_0_8);
      if (_this.items.length !== 0)
        preferredMenuHeight += C.JSArray_methods.reduce$1(t2, new K._DropdownRoute_getMenuLimits_closure());
      menuHeight = Math.min(maxMenuHeight, preferredMenuHeight);
      menuTop0 = menuTop < topLimit ? Math.min(buttonTop, topLimit) : menuTop;
      menuTop = menuTop + menuHeight > bottomLimit ? Math.max(buttonBottom, bottomLimit) - menuHeight : menuTop0;
      return new K._MenuLimits(menuTop, menuHeight, preferredMenuHeight > maxMenuHeight ? Math.min(Math.max(0, selectedItemOffset - (buttonTop - menuTop)), preferredMenuHeight - menuHeight) : 0);
    },
    get$barrierLabel: function() {
      return this.barrierLabel;
    }
  };
  K._DropdownRoute_buildPage_closure.prototype = {
    call$2: function(context, constraints) {
      var t1 = this.$this;
      return new K._DropdownRoutePage(t1, constraints, t1.padding, t1.buttonRect, t1.selectedIndex, t1.capturedThemes, t1.dropdownColor, true, null, t1.$ti._eval$1("_DropdownRoutePage<1>"));
    },
    $signature: function() {
      return this.$this.$ti._eval$1("_DropdownRoutePage<1>(BuildContext,BoxConstraints)");
    }
  };
  K._DropdownRoute_getItemOffset_closure.prototype = {
    call$2: function(total, height) {
      return total + height;
    },
    $signature: 186
  };
  K._DropdownRoute_getMenuLimits_closure.prototype = {
    call$2: function(total, height) {
      return total + height;
    },
    $signature: 186
  };
  K._DropdownRoutePage.prototype = {
    build$1: function(_, context) {
      var _this = this,
        t1 = _this.route;
      if (t1.scrollController == null)
        t1.scrollController = F.ScrollController$(t1.getMenuLimits$3(_this.buttonRect, _this.constraints.maxHeight, _this.selectedIndex).scrollOffset);
      return F.MediaQuery_MediaQuery$removePadding(new T.Builder(new K._DropdownRoutePage_build_closure(_this, T.Directionality_maybeOf(context), new K._DropdownMenu(t1, _this.padding, _this.buttonRect, _this.constraints, _this.dropdownColor, true, null, _this.$ti._eval$1("_DropdownMenu<1>"))), null), context, true, true, true, true);
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  K._DropdownRoutePage_build_closure.prototype = {
    call$1: function(context) {
      var t1 = this.$this;
      return new T.CustomSingleChildLayout(new K._DropdownMenuRouteLayout(t1.buttonRect, t1.route, this.textDirection, t1.$ti._eval$1("_DropdownMenuRouteLayout<1>")), new M._CaptureAll(t1.capturedThemes._themes, this.menu, null), null);
    },
    $signature: 270
  };
  K._MenuItem.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new K._RenderMenuItem(this.onLayout, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.onLayout = this.onLayout;
    }
  };
  K._RenderMenuItem.prototype = {
    performLayout$0: function() {
      this.super$RenderProxyBoxMixin$performLayout();
      var t1 = this._box$_size;
      t1.toString;
      this.onLayout.call$1(t1);
    }
  };
  K._DropdownMenuItemContainer.prototype = {
    build$1: function(_, context) {
      var _null = null;
      return M.Container$(this.alignment, this.child, C.Clip_0, _null, C.BoxConstraints_mlX2, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  K.DropdownMenuItem.prototype = {};
  K.DropdownButtonHideUnderline.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return false;
    }
  };
  K.DropdownButton.prototype = {
    createState$0: function() {
      return new K._DropdownButtonState(C._StateLifecycle_0, this.$ti._eval$1("_DropdownButtonState<1>"));
    },
    get$isExpanded: function() {
      return this.isExpanded;
    }
  };
  K._DropdownButtonState.prototype = {
    get$focusNode: function(_) {
      var t1;
      this._widget.toString;
      t1 = this._dropdown$_internalNode;
      return t1;
    },
    initState$0: function() {
      var t1, t2, focusManager, _this = this;
      _this.super$State$initState();
      _this._updateSelectedIndex$0();
      t1 = _this._widget;
      t1.toString;
      if (_this._dropdown$_internalNode == null)
        _this._dropdown$_internalNode = O.FocusNode$(true, t1.get$runtimeType(t1).toString$0(0), true, null, false);
      t1 = type$.JSArray_of_void_Function_Action_Intent;
      t2 = type$.ObserverList_of_void_Function_Action_Intent;
      _this.___DropdownButtonState__actionMap = P.LinkedHashMap_LinkedHashMap$_literal([C.Type_ActivateIntent_OT9, new U.CallbackAction(new K._DropdownButtonState_initState_closure(_this), new R.ObserverList(H._setArrayType([], t1), t2), type$.CallbackAction_ActivateIntent), C.Type_ButtonActivateIntent_6Ij, new U.CallbackAction(new K._DropdownButtonState_initState_closure0(_this), new R.ObserverList(H._setArrayType([], t1), t2), type$.CallbackAction_ButtonActivateIntent)], type$.Type, type$.Action_Intent);
      _this.get$focusNode(_this).addListener$1(0, _this.get$_dropdown$_handleFocusChanged());
      focusManager = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager;
      t2 = focusManager._highlightMode;
      _this.___DropdownButtonState__focusHighlightMode = t2 == null ? O.FocusManager__defaultModeForPlatform() : t2;
      focusManager._listeners.add$1(0, _this.get$_dropdown$_handleFocusHighlightModeChange());
    },
    dispose$0: function(_) {
      var t1, _this = this;
      C.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, _this);
      _this._removeDropdownRoute$0();
      $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._listeners.remove$1(0, _this.get$_dropdown$_handleFocusHighlightModeChange());
      _this.get$focusNode(_this).removeListener$1(0, _this.get$_dropdown$_handleFocusChanged());
      t1 = _this._dropdown$_internalNode;
      if (t1 != null)
        t1.dispose$0(0);
      _this.super$State$dispose(0);
    },
    _removeDropdownRoute$0: function() {
      var t2,
        t1 = this._dropdownRoute;
      if (t1 != null)
        if (t1.get$isActive()) {
          t2 = t1._navigator$_navigator;
          if (t2 != null)
            t2.removeRoute$1(t1);
        }
      this._lastOrientation = this._dropdownRoute = null;
    },
    _dropdown$_handleFocusChanged$0: function() {
      var _this = this;
      if (_this._dropdown$_hasPrimaryFocus !== _this.get$focusNode(_this).get$hasPrimaryFocus())
        _this.setState$1(new K._DropdownButtonState__handleFocusChanged_closure(_this));
    },
    _dropdown$_handleFocusHighlightModeChange$1: function(mode) {
      if (this._framework$_element == null)
        return;
      this.setState$1(new K._DropdownButtonState__handleFocusHighlightModeChange_closure(this, mode));
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._widget.toString;
      oldWidget.toString;
      this._updateSelectedIndex$0();
    },
    _updateSelectedIndex$0: function() {
      var itemIndex, _this = this,
        t1 = _this._widget,
        t2 = t1.items;
      if (t2.length !== 0)
        if (t1.value == null) {
          t1 = new H.WhereIterable(t2, new K._DropdownButtonState__updateSelectedIndex_closure(_this), H._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: function() {
      var t1 = this._widget.style;
      if (t1 == null) {
        t1 = this._framework$_element;
        t1.toString;
        t1 = K.Theme_of(t1).textTheme.subtitle1;
      }
      return t1;
    },
    _dropdown$_handleTap$0: function() {
      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 = T.Directionality_maybeOf(t1);
      t1 = _this._framework$_element;
      t1.toString;
      M.ButtonTheme_of(t1).toString;
      t1 = _this.$ti;
      t2 = H._setArrayType([], t1._eval$1("JSArray<_MenuItem<1>>"));
      for (t3 = t1._eval$1("_MenuItem<1>"), index = 0; t4 = _this._widget.items, index < t4.length; ++index) {
        t4 = t4[index];
        t2.push(new K._MenuItem(new K._DropdownButtonState__handleTap_closure(_this, index), t4, t4, _null, t3));
      }
      t3 = _this._framework$_element;
      t3.toString;
      $navigator = K.Navigator_of(t3, false);
      t3 = t3.get$renderObject();
      t3.toString;
      type$.RenderBox._as(t3);
      t4 = T.MatrixUtils_transformPoint(t3.getTransformTo$1(0, $navigator._framework$_element.get$renderObject()), C.Offset_0_0);
      t3 = t3._box$_size;
      t5 = t4._dx;
      t4 = t4._dy;
      t6 = t3._dx;
      t3 = t3._dy;
      t3 = C.EdgeInsetsDirectional_16_0_24_0.resolve$1(textDirection).inflateRect$1(new P.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 = M.InheritedTheme_capture(t5, t6);
      t5 = _this.get$_dropdown$_textStyle();
      t5.toString;
      t7 = _this._framework$_element;
      t7.toString;
      L.Localizations_of(t7, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      _this._widget.toString;
      t7 = t2.length;
      t7 = P.List_List$filled(t7, 48, false, type$.double);
      t8 = H._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 = S.ProxyAnimation$(C.C__AlwaysDismissedAnimation);
      t13 = H._setArrayType([], type$.JSArray_OverlayEntry);
      t14 = P.List_List$filled(0, _null, false, type$.nullable_void_Function);
      t15 = $.Zone__current;
      t1 = new K._DropdownRoute(t2, C.EdgeInsets_16_0_16_0, t3, t4, 8, t6, t5, _null, _null, true, t7, "Dismiss", _null, t8, new N.LabeledGlobalKey(_null, t1._eval$1("LabeledGlobalKey<_ModalScopeState<_DropdownRouteResult<1>>>")), new N.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), new S.PageStorageBucket(), _null, new P._AsyncCompleter(new P._Future(t9, t10), t11), t12, t13, C.RouteSettings_null_null, new B.ValueNotifier(_null, t14, type$.ValueNotifier_nullable_String), new P._AsyncCompleter(new P._Future(t15, t10), t11), t1._eval$1("_DropdownRoute<1>"));
      _this._dropdownRoute = t1;
      $navigator.push$1(t1).then$1$1(0, new K._DropdownButtonState__handleTap_closure0(_this), type$.void);
      _this._widget.toString;
    },
    get$_iconColor: function() {
      var t1, _this = this,
        _s80_ = string$.x60null_c;
      if (_this.get$_dropdown$_enabled()) {
        t1 = _this._widget.iconEnabledColor;
        if (t1 != null)
          return t1;
        t1 = _this._framework$_element;
        t1.toString;
        switch (K.Theme_of(t1).colorScheme.brightness) {
          case C.Brightness_1:
            t1 = C.Map_HFpTk.$index(0, 700);
            t1.toString;
            return t1;
          case C.Brightness_0:
            return C.Color_3019898879;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
      } else {
        _this._widget.toString;
        t1 = _this._framework$_element;
        t1.toString;
        switch (K.Theme_of(t1).colorScheme.brightness) {
          case C.Brightness_1:
            t1 = C.Map_HFpTk.$index(0, 400);
            t1.toString;
            return t1;
          case C.Brightness_0:
            return C.Color_452984831;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
      }
    },
    get$_dropdown$_enabled: function() {
      var t1 = this._widget;
      t1 = t1.items.length !== 0 && t1.onChanged != null;
      return t1;
    },
    get$_showHighlight: function() {
      var t1 = this.___DropdownButtonState__focusHighlightMode;
      switch (t1 === $ ? H.throwExpression(H.LateError$fieldNI("_focusHighlightMode")) : t1) {
        case C.FocusHighlightMode_0:
          return false;
        case C.FocusHighlightMode_1:
          return this._dropdown$_hasPrimaryFocus;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    build$1: function(_, context) {
      var result, size, t2, items, innerItemsWidget, t3, fontSize, t4, t5, t6, t7, bottom, effectiveMouseCursor, _this = this, _null = null,
        t1 = F.MediaQuery_maybeOf(context);
      if (t1 == null)
        result = _null;
      else {
        t1 = t1.size;
        result = t1._dx > t1._dy ? C.Orientation_1 : C.Orientation_0;
      }
      if (result == null) {
        size = $.$get$window().get$physicalSize();
        result = size._dx > size._dy ? C.Orientation_1 : C.Orientation_0;
      }
      t1 = _this._lastOrientation;
      if (t1 == null) {
        _this._lastOrientation = result;
        t1 = result;
      }
      if (result !== t1) {
        _this._removeDropdownRoute$0();
        _this._lastOrientation = result;
      }
      t1 = _this._widget;
      t2 = t1.selectedItemBuilder;
      if (t2 == null)
        items = P.List_List$from(t1.items, true, type$.Widget);
      else
        items = P.List_List$from(t2.call$1(context), true, type$.Widget);
      _this._widget.toString;
      if (!_this.get$_dropdown$_enabled())
        _this._widget.toString;
      M.ButtonTheme_of(context).toString;
      if (items.length === 0)
        innerItemsWidget = M.Container$(_null, _null, C.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 = H._arrayInstanceType(items)._eval$1("MappedListIterable<1,RenderObjectWidget>");
          t2 = P.List_List$of(new H.MappedListIterable(items, new K._DropdownButtonState_build_closure(_this), t2), true, t2._eval$1("ListIterable.E"));
        }
        innerItemsWidget = new T.IndexedStack(t1, C.AlignmentDirectional_m1_0, _null, C.StackFit_0, C.Clip_1, t2, _null);
      }
      if (_this.get$_dropdown$_enabled()) {
        t1 = _this.get$_dropdown$_textStyle();
        t1.toString;
      } else {
        t1 = _this.get$_dropdown$_textStyle();
        t1.toString;
        t1 = t1.copyWith$1$color(K.Theme_of(context).disabledColor);
      }
      if (_this.get$_showHighlight()) {
        _this._widget.toString;
        t2 = K.Theme_of(context);
        t2 = new S.BoxDecoration(t2.focusColor, _null, _null, C.BorderRadius_tLn0, _null, _null, _null, C.BoxShape_0);
      } else
        t2 = _null;
      t3 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t3.toString;
      t3 = C.EdgeInsets_0_0_0_0.resolve$1(t3.textDirection);
      if (_this._widget.isDense) {
        fontSize = _this.get$_dropdown$_textStyle().fontSize;
        if (fontSize == null) {
          t4 = _this._framework$_element;
          t4.toString;
          t4 = K.Theme_of(t4).textTheme.subtitle1.fontSize;
          t4.toString;
          fontSize = t4;
        }
        _this._widget.toString;
        t4 = Math.max(fontSize, Math.max(24, 24));
      } else
        t4 = _null;
      t5 = type$.JSArray_Widget;
      t6 = H._setArrayType([], t5);
      if (_this._widget.isExpanded)
        t6.push(T.Expanded$(innerItemsWidget, 1));
      else
        t6.push(innerItemsWidget);
      t7 = _this.get$_iconColor();
      _this._widget.toString;
      t6.push(Y.IconTheme$(C.Icon_QPD, new T.IconThemeData(t7, _null, 24), _null));
      result = L.DefaultTextStyle$(M.Container$(_null, T.Row$(t6, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_3, C.MainAxisSize_0, _null), C.Clip_0, _null, _null, t2, _null, t4, _null, _null, t3, _null, _null, _null), _null, _null, C.TextOverflow_0, true, t1, _null, _null, C.TextWidthBasis_0);
      if (context.dependOnInheritedWidgetOfExactType$1$0(type$.DropdownButtonHideUnderline) == null) {
        t1 = _this._widget;
        bottom = t1.isDense || false ? 0 : 8;
        t1 = t1.underline;
        result = T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([result, T.Positioned$(bottom, t1 == null ? M.Container$(_null, _null, C.Clip_0, _null, _null, C.BoxDecoration_8k0, _null, 1, _null, _null, _null, _null, _null, _null) : t1, _null, _null, 0, 0, _null, _null)], t5), C.Clip_1, C.StackFit_0, _null, _null);
      }
      t1 = P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (!_this.get$_dropdown$_enabled())
        t1.add$1(0, C.MaterialState_6);
      effectiveMouseCursor = V.MaterialStateProperty_resolveAs(C._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable, t1, type$.MouseCursor);
      t1 = _this.___DropdownButtonState__actionMap;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("_actionMap"));
      t2 = _this.get$_dropdown$_enabled();
      t3 = _this.get$focusNode(_this);
      _this._widget.toString;
      return T.Semantics$(true, _null, new U.Actions(t1, L.Focus$(false, t2, new T.MouseRegion(_null, _null, _null, effectiveMouseCursor, true, D.GestureDetector$(C.HitTestBehavior_1, result, C.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_dropdown$_enabled() ? _this.get$_dropdown$_handleTap() : _null, _null, _null, _null, _null, _null, _null), _null), _null, true, t3, true, _null, _null, _null, _null), _null), false, _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);
    }
  };
  K._DropdownButtonState_initState_closure.prototype = {
    call$1: function(intent) {
      return this.$this._dropdown$_handleTap$0();
    },
    $signature: 760
  };
  K._DropdownButtonState_initState_closure0.prototype = {
    call$1: function(intent) {
      return this.$this._dropdown$_handleTap$0();
    },
    $signature: 761
  };
  K._DropdownButtonState__handleFocusChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._dropdown$_hasPrimaryFocus = t1.get$focusNode(t1).get$hasPrimaryFocus();
    },
    $signature: 0
  };
  K._DropdownButtonState__handleFocusHighlightModeChange_closure.prototype = {
    call$0: function() {
      this.$this.___DropdownButtonState__focusHighlightMode = this.mode;
    },
    $signature: 0
  };
  K._DropdownButtonState__updateSelectedIndex_closure.prototype = {
    call$1: function(item) {
      var t1 = item.value,
        t2 = this.$this._widget;
      return J.$eq$(t1, t2.value);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("bool(DropdownMenuItem<1>)");
    }
  };
  K._DropdownButtonState__handleTap_closure.prototype = {
    call$1: function(size) {
      var t1 = this.$this._dropdownRoute;
      if (t1 == null)
        return;
      t1.itemHeights[this.index] = size._dy;
    },
    $signature: 267
  };
  K._DropdownButtonState__handleTap_closure0.prototype = {
    call$1: function(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: function() {
      return this.$this.$ti._eval$1("Null(_DropdownRouteResult<1>?)");
    }
  };
  K._DropdownButtonState_build_closure.prototype = {
    call$1: function(item) {
      var t1;
      this.$this._widget.toString;
      t1 = T.SizedBox$(item, 48, null);
      return t1;
    },
    $signature: 763
  };
  K.__DropdownButtonState_State_WidgetsBindingObserver.prototype = {};
  D.ElevatedButton.prototype = {
    defaultStyleOf$1: function(context) {
      var scaledPadding, t2, t3,
        theme = K.Theme_of(context),
        colorScheme = theme.colorScheme,
        t1 = F.MediaQuery_maybeOf(context);
      t1 = t1 == null ? null : t1.textScaleFactor;
      scaledPadding = K.ButtonStyleButton_scaledPadding(C.EdgeInsets_16_0_16_0, C.EdgeInsets_8_0_8_0, C.EdgeInsets_4_0_4_0, t1 == null ? 1 : t1);
      t1 = theme.shadowColor;
      t2 = theme.textTheme;
      t3 = theme.visualDensity;
      return D.ElevatedButton_styleFrom(C.Alignment_0_0, C.Duration_200000, C.SystemMouseCursor_forbidden, 2, true, C.SystemMouseCursor_click, null, C.Size_wjo, C.Size_64_36, colorScheme.onPrimary, colorScheme.onSurface, scaledPadding, colorScheme.primary, t1, C.RoundedRectangleBorder_6Fb1, null, C.C__InkRippleFactory, theme.materialTapTargetSize, t2.button, t3);
    },
    themeStyleOf$1: function(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.ElevatedButtonTheme);
      t1 = K.Theme_of(context);
      return t1.elevatedButtonTheme.style;
    }
  };
  D._ElevatedButtonDefaultBackground.prototype = {
    resolve$1: function(states) {
      var t1;
      if (states.contains$1(0, C.MaterialState_6)) {
        t1 = this.onSurface;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1.value;
          t1 = P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return t1;
      }
      return this.primary;
    }
  };
  D._ElevatedButtonDefaultForeground.prototype = {
    resolve$1: function(states) {
      var t1;
      if (states.contains$1(0, C.MaterialState_6)) {
        t1 = this.onSurface;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1.value;
          t1 = P.Color$fromARGB(97, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return t1;
      }
      return this.onPrimary;
    }
  };
  D._ElevatedButtonDefaultOverlay.prototype = {
    resolve$1: function(states) {
      var t1;
      if (states.contains$1(0, C.MaterialState_0)) {
        t1 = this.onPrimary;
        return P.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, C.MaterialState_1) || states.contains$1(0, C.MaterialState_2)) {
        t1 = this.onPrimary;
        return P.Color$fromARGB(61, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      return null;
    }
  };
  D._ElevatedButtonDefaultElevation.prototype = {
    resolve$1: function(states) {
      var _this = this;
      if (states.contains$1(0, C.MaterialState_6))
        return 0;
      if (states.contains$1(0, C.MaterialState_0))
        return _this.elevation + 2;
      if (states.contains$1(0, C.MaterialState_1))
        return _this.elevation + 2;
      if (states.contains$1(0, C.MaterialState_2))
        return _this.elevation + 6;
      return _this.elevation;
    }
  };
  D._ElevatedButtonDefaultMouseCursor.prototype = {
    resolve$1: function(states) {
      if (states.contains$1(0, C.MaterialState_6))
        return this.disabledCursor;
      return this.enabledCursor;
    }
  };
  D.__ElevatedButtonDefaultBackground_MaterialStateProperty_Diagnosticable.prototype = {};
  D.__ElevatedButtonDefaultElevation_MaterialStateProperty_Diagnosticable.prototype = {};
  D.__ElevatedButtonDefaultForeground_MaterialStateProperty_Diagnosticable.prototype = {};
  D.__ElevatedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable.prototype = {};
  D.__ElevatedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable.prototype = {};
  T.ElevatedButtonThemeData.prototype = {
    get$hashCode: function(_) {
      return J.get$hashCode$(this.style);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof T.ElevatedButtonThemeData && J.$eq$(other.style, this.style);
    }
  };
  T._ElevatedButtonThemeData_Object_Diagnosticable.prototype = {};
  O.ExpansionTile.prototype = {
    createState$0: function() {
      var _null = null;
      return new O._ExpansionTileState(new R.ColorTween(_null, _null), new R.ColorTween(_null, _null), new R.ColorTween(_null, _null), new R.ColorTween(_null, _null), _null, C._StateLifecycle_0);
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  O._ExpansionTileState.prototype = {
    get$_expansion_tile$_controller: function() {
      var t1 = this.___ExpansionTileState__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    initState$0: function() {
      var t1, t2, t3, t4, t5, t6, _this = this, _null = null;
      _this.super$State$initState();
      _this.___ExpansionTileState__controller = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _null, _this);
      t1 = _this.get$_expansion_tile$_controller();
      t2 = $.$get$_ExpansionTileState__easeInTween();
      t1.toString;
      t3 = type$.Animation_double;
      t3._as(t1);
      t2.toString;
      _this.___ExpansionTileState__heightFactor = new R._AnimatedEvaluation(t1, t2, H._instanceType(t2)._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t1 = _this.get$_expansion_tile$_controller();
      t4 = $.$get$_ExpansionTileState__halfTween();
      t4.toString;
      t5 = t4.$ti._eval$1("_ChainedEvaluation<Animatable.T>");
      t1.toString;
      _this.___ExpansionTileState__iconTurns = new R._AnimatedEvaluation(t3._as(t1), new R._ChainedEvaluation(t2, t4, t5), t5._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t5 = _this.get$_expansion_tile$_controller();
      t4 = _this._borderColorTween;
      t1 = $.$get$_ExpansionTileState__easeOutTween();
      t6 = H._instanceType(t4)._eval$1("_ChainedEvaluation<Animatable.T>");
      t5.toString;
      _this.___ExpansionTileState__borderColor = new R._AnimatedEvaluation(t3._as(t5), new R._ChainedEvaluation(t1, t4, t6), t6._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t6 = _this.get$_expansion_tile$_controller();
      t4 = _this._headerColorTween;
      t5 = H._instanceType(t4)._eval$1("_ChainedEvaluation<Animatable.T>");
      t6.toString;
      _this.___ExpansionTileState__headerColor = new R._AnimatedEvaluation(t3._as(t6), new R._ChainedEvaluation(t2, t4, t5), t5._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t5 = _this.get$_expansion_tile$_controller();
      t4 = _this._iconColorTween;
      t6 = H._instanceType(t4)._eval$1("_ChainedEvaluation<Animatable.T>");
      t5.toString;
      _this.___ExpansionTileState__iconColor = new R._AnimatedEvaluation(t3._as(t5), new R._ChainedEvaluation(t2, t4, t6), t6._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t6 = _this.get$_expansion_tile$_controller();
      t4 = _this._backgroundColorTween;
      t2 = H._instanceType(t4)._eval$1("_ChainedEvaluation<Animatable.T>");
      t6.toString;
      _this.___ExpansionTileState__backgroundColor = new R._AnimatedEvaluation(t3._as(t6), new R._ChainedEvaluation(t1, t4, t2), t2._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t2 = _this._framework$_element;
      t2.toString;
      t2 = S.PageStorage_of(t2);
      if (t2 == null)
        t1 = _null;
      else {
        t1 = _this._framework$_element;
        t1.toString;
        t1 = t2.readState$1(t1);
      }
      H._asBoolQ(t1);
      if (t1 == null)
        t1 = _this._widget.initiallyExpanded;
      _this._expansion_tile$_isExpanded = t1;
      if (t1)
        _this.get$_expansion_tile$_controller().set$value(0, 1);
    },
    dispose$0: function(_) {
      this.get$_expansion_tile$_controller().dispose$0(0);
      this.super$__ExpansionTileState_State_SingleTickerProviderStateMixin$dispose(0);
    },
    _expansion_tile$_handleTap$0: function() {
      this.setState$1(new O._ExpansionTileState__handleTap_closure(this));
      this._widget.toString;
    },
    _buildChildren$2: function(context, child) {
      var borderSideColor, t2, t3, t4, t5, t6, t7, t8, _this = this, _null = null,
        t1 = _this.___ExpansionTileState__borderColor;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("_borderColor"));
      borderSideColor = t1.get$value(t1);
      if (borderSideColor == null)
        borderSideColor = C.Color_0;
      t1 = _this.___ExpansionTileState__backgroundColor;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("_backgroundColor"));
      t1 = t1.get$value(t1);
      if (t1 == null)
        t1 = C.Color_0;
      t2 = _this.___ExpansionTileState__iconColor;
      if (t2 === $)
        t2 = H.throwExpression(H.LateError$fieldNI("_iconColor"));
      t2 = t2.get$value(t2);
      t3 = _this.___ExpansionTileState__headerColor;
      if (t3 === $)
        t3 = H.throwExpression(H.LateError$fieldNI("_headerColor"));
      t3 = t3.get$value(t3);
      t4 = _this._widget;
      t5 = t4.tilePadding;
      t6 = t4.leading;
      t7 = t4.title;
      t8 = _this.___ExpansionTileState__iconTurns;
      t8 = K.RotationTransition$(C.Icon_8aB0, t8 === $ ? H.throwExpression(H.LateError$fieldNI("_iconTurns")) : t8);
      t3 = Q.ListTileTheme_merge(Q.ListTile$(false, t5, _null, true, false, t6, _null, _this.get$_expansion_tile$_handleTap(), false, _null, _null, _null, _null, t7, t8), t2, _null, t3);
      t4 = t4.expandedAlignment;
      t2 = t4 == null ? C.Alignment_0_0 : t4;
      t4 = _this.___ExpansionTileState__heightFactor;
      if (t4 === $)
        t4 = H.throwExpression(H.LateError$fieldNI("_heightFactor"));
      return M.Container$(_null, T.Column$(H._setArrayType([t3, T.ClipRect$(new T.Align(t2, _null, t4.get$value(t4), child, _null), _null)], type$.JSArray_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), C.Clip_0, _null, _null, new S.BoxDecoration(t1, _null, new F.Border(new Y.BorderSide(borderSideColor, 1, C.BorderStyle_1), C.BorderSide_06g, new Y.BorderSide(borderSideColor, 1, C.BorderStyle_1), C.BorderSide_06g), _null, _null, _null, _null, C.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    },
    didChangeDependencies$0: function() {
      var theme, colorScheme, t2, t3, t4, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      theme = K.Theme_of(t1);
      colorScheme = theme.colorScheme;
      _this._borderColorTween.end = theme.dividerColor;
      t1 = _this._headerColorTween;
      t2 = _this._widget;
      t2.toString;
      t3 = theme.textTheme;
      t1.begin = t3.subtitle1.color;
      t3 = colorScheme.primary;
      t1.end = t3;
      t1 = _this._iconColorTween;
      t4 = theme.unselectedWidgetColor;
      t1.begin = t4;
      t1.end = t3;
      t1 = _this._backgroundColorTween;
      t1.begin = t2.collapsedBackgroundColor;
      t1.end = t2.backgroundColor;
      _this.super$__ExpansionTileState_State_SingleTickerProviderStateMixin$didChangeDependencies();
    },
    build$1: function(_, context) {
      var t1, $closed, shouldRemoveChildren, t2, result, _this = this, _null = null;
      if (!_this._expansion_tile$_isExpanded) {
        t1 = _this.get$_expansion_tile$_controller();
        $closed = t1.get$status(t1) === C.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 = C.EdgeInsets_0_0_0_0;
      result = new T.Offstage($closed, new U.TickerMode(!$closed, new T.Padding(t2, T.Column$(t1.children, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), _null), _null), _null);
      t1 = _this.get$_expansion_tile$_controller();
      t1.toString;
      t2 = shouldRemoveChildren ? _null : result;
      return K.AnimatedBuilder$(t1, _this.get$_buildChildren(), t2);
    }
  };
  O._ExpansionTileState__handleTap_closure.prototype = {
    call$0: function() {
      var t3,
        t1 = this.$this,
        t2 = !t1._expansion_tile$_isExpanded;
      t1._expansion_tile$_isExpanded = t2;
      if (t2)
        t1.get$_expansion_tile$_controller().forward$0(0);
      else
        t1.get$_expansion_tile$_controller().reverse$0(0).then$1$1(0, new O._ExpansionTileState__handleTap__closure(t1), type$.void);
      t2 = t1._framework$_element;
      t2.toString;
      t2 = S.PageStorage_of(t2);
      if (t2 != null) {
        t3 = t1._framework$_element;
        t3.toString;
        t2.writeState$2(t3, t1._expansion_tile$_isExpanded);
      }
    },
    $signature: 0
  };
  O._ExpansionTileState__handleTap__closure.prototype = {
    call$1: function(value) {
      var t1 = this.$this;
      if (t1._framework$_element == null)
        return;
      t1.setState$1(new O._ExpansionTileState__handleTap___closure());
    },
    $signature: 23
  };
  O._ExpansionTileState__handleTap___closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  O.__ExpansionTileState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  Z.FlexibleSpaceBarSettings.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      var _this = this;
      return _this.toolbarOpacity !== oldWidget.toolbarOpacity || _this.minExtent != oldWidget.minExtent || _this.maxExtent != oldWidget.maxExtent || _this.currentExtent != oldWidget.currentExtent || false;
    }
  };
  E._DefaultHeroTag.prototype = {
    toString$0: function(_) {
      return "<default FloatingActionButton tag>";
    }
  };
  E.FloatingActionButton.prototype = {
    build$1: function(_, context) {
      var backgroundColor, focusColor, hoverColor, splashColor, elevation, focusElevation, hoverElevation, disabledElevation, highlightElevation, materialTapTargetSize, textStyle, shape, result, _null = null,
        theme = K.Theme_of(context),
        floatingActionButtonTheme = theme.floatingActionButtonTheme,
        foregroundColor = floatingActionButtonTheme.foregroundColor;
      if (foregroundColor == null)
        foregroundColor = theme.colorScheme.onSecondary;
      backgroundColor = floatingActionButtonTheme.backgroundColor;
      if (backgroundColor == null)
        backgroundColor = theme.colorScheme.secondary;
      focusColor = floatingActionButtonTheme.focusColor;
      if (focusColor == null)
        focusColor = theme.focusColor;
      hoverColor = floatingActionButtonTheme.hoverColor;
      if (hoverColor == null)
        hoverColor = theme.hoverColor;
      splashColor = floatingActionButtonTheme.splashColor;
      if (splashColor == null)
        splashColor = theme.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;
      disabledElevation = floatingActionButtonTheme.disabledElevation;
      if (disabledElevation == null)
        disabledElevation = elevation;
      highlightElevation = floatingActionButtonTheme.highlightElevation;
      if (highlightElevation == null)
        highlightElevation = 12;
      materialTapTargetSize = theme.materialTapTargetSize;
      floatingActionButtonTheme.toString;
      textStyle = theme.textTheme.button.copyWith$2$color$letterSpacing(foregroundColor, 1.2);
      shape = floatingActionButtonTheme.shape;
      if (shape == null)
        shape = C.CircleBorder_yHT;
      result = Z.RawMaterialButton$(false, this.child, C.Clip_0, this._sizeConstraints, disabledElevation, elevation, true, backgroundColor, focusColor, focusElevation, _null, _null, highlightElevation, hoverColor, hoverElevation, materialTapTargetSize, _null, this.onPressed, shape, splashColor, textStyle);
      result = T.Hero$(result, C.C__DefaultHeroTag);
      return new T.MergeSemantics(result, _null);
    }
  };
  A.FloatingActionButtonLocation.prototype = {
    toString$0: function(_) {
      return "FloatingActionButtonLocation";
    }
  };
  A.StandardFabLocation.prototype = {
    getOffset$1: function(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 P.Offset(t1, (bottomSheetHeight > 0 ? Math.min(fabY, contentBottom - bottomSheetHeight - fabHeight / 2) : fabY) + 0);
    }
  };
  A.FabFloatOffsetY.prototype = {};
  A.FabEndOffsetX.prototype = {
    getOffsetX$2: function(scaffoldGeometry, adjustment) {
      switch (scaffoldGeometry.textDirection) {
        case C.TextDirection_0:
          return 16 + scaffoldGeometry.minInsets.left - adjustment;
        case C.TextDirection_1:
          return scaffoldGeometry.scaffoldSize._dx - 16 - scaffoldGeometry.minInsets.right - scaffoldGeometry.floatingActionButtonSize._dx + adjustment;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    }
  };
  A._EndFloatFabLocation.prototype = {
    toString$0: function(_) {
      return "FloatingActionButtonLocation.endFloat";
    }
  };
  A.FloatingActionButtonAnimator.prototype = {
    toString$0: function(_) {
      return "FloatingActionButtonAnimator";
    }
  };
  A._ScalingFabMotionAnimator.prototype = {
    getOffset$3$begin$end$progress: function(begin, end, progress) {
      if (progress < 0.5)
        return begin;
      else
        return end;
    }
  };
  A._AnimationSwap.prototype = {
    get$value: function(_) {
      var t1, _this = this;
      if (_this.parent.get$_animation_controller$_value() < _this.swapThreshold) {
        t1 = _this.first;
        t1 = t1.get$value(t1);
      } else {
        t1 = _this.next;
        t1 = t1.get$value(t1);
      }
      return t1;
    },
    get$parent: function(receiver) {
      return this.parent;
    }
  };
  A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX.prototype = {};
  A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX_FabFloatOffsetY.prototype = {};
  S.FloatingActionButtonThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.foregroundColor, _this.backgroundColor, _this.focusColor, _this.hoverColor, _this.splashColor, _this.elevation, _this.focusElevation, _this.hoverElevation, _this.disabledElevation, _this.highlightElevation, _this.shape, _this.enableFeedback, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof S.FloatingActionButtonThemeData && J.$eq$(other.foregroundColor, _this.foregroundColor) && J.$eq$(other.backgroundColor, _this.backgroundColor) && J.$eq$(other.focusColor, _this.focusColor) && J.$eq$(other.hoverColor, _this.hoverColor) && J.$eq$(other.splashColor, _this.splashColor) && other.elevation == _this.elevation && other.focusElevation == _this.focusElevation && other.hoverElevation == _this.hoverElevation && other.disabledElevation == _this.disabledElevation && other.highlightElevation == _this.highlightElevation && J.$eq$(other.shape, _this.shape) && true;
    }
  };
  S._FloatingActionButtonThemeData_Object_Diagnosticable.prototype = {};
  B.IconButton.prototype = {
    build$1: function(_, context) {
      var currentColor, effectiveVisualDensity, unadjustedConstraints, t3, t4, result, t5, t6, t7, t8, t9, _this = this, _null = null,
        theme = K.Theme_of(context),
        t1 = _this.onPressed,
        t2 = t1 != null;
      if (t2)
        currentColor = _this.color;
      else
        currentColor = theme.disabledColor;
      effectiveVisualDensity = theme.visualDensity;
      unadjustedConstraints = _this.constraints;
      t3 = _this.padding;
      t4 = _this.iconSize;
      result = new T.ConstrainedBox(effectiveVisualDensity.effectiveConstraints$1(unadjustedConstraints == null ? C.BoxConstraints_mlX3 : unadjustedConstraints), new T.Padding(t3, T.SizedBox$(new T.Align(C.Alignment_0_0, _null, _null, Y.IconTheme_merge(_this.icon, new T.IconThemeData(currentColor, _null, t4)), _null), t4, t4), _null), _null);
      t5 = _this.tooltip;
      if (t5 != null)
        result = S.Tooltip$(result, _null, t5, _null, _null, _null);
      t5 = theme.focusColor;
      t6 = theme.hoverColor;
      t7 = theme.highlightColor;
      t8 = theme.splashColor;
      t9 = _this.splashRadius;
      return T.Semantics$(true, _null, R.InkResponse$(false, _null, t2, result, false, _null, true, false, t5, _null, t7, C.BoxShape_1, t6, _null, C.SystemMouseCursor_click, _null, _null, _null, _null, _null, t1, _null, _null, _null, t9 == null ? Math.max(35, (t4 + Math.min(t3.get$horizontal(), t3.get$_edge_insets$_top(t3) + t3.get$_edge_insets$_bottom(t3))) * 0.7) : t9, t8, _null), false, _null, t2, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  D.Ink.prototype = {
    get$_ink_decoration$_paddingIncludingDecoration: function() {
      var t1 = this.decoration;
      if (t1 == null || t1.get$padding(t1) == null)
        return C.EdgeInsets_0_0_0_0;
      t1 = t1.get$padding(t1);
      t1.toString;
      return t1;
    },
    createState$0: function() {
      return new D._InkState(new N.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), C._StateLifecycle_0);
    }
  };
  D._InkState.prototype = {
    _handleRemoved$0: function() {
      this._ink = null;
    },
    deactivate$0: function() {
      var t2,
        t1 = this._ink;
      if (t1 != null) {
        t2 = t1._ink_decoration$_painter;
        if (t2 != null)
          t2.dispose$0(0);
        t1.super$InkFeature$dispose(0);
      }
      this.super$State$deactivate();
    },
    _build$1: function(context) {
      var t3, t4, _this = this,
        t1 = _this._ink,
        t2 = _this._widget;
      if (t1 == null) {
        t1 = t2.decoration;
        t2 = U.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 D.InkDecoration(t2, t3, type$.RenderBox._as(t4), _this.get$_handleRemoved());
        t4.set$decoration(0, t1);
        t3.addInkFeature$1(t4);
        _this._ink = t4;
      } else {
        t1.set$decoration(0, t2.decoration);
        t1 = _this._ink;
        t1.toString;
        t1.set$configuration(U.createLocalImageConfiguration(context, null));
      }
      t1 = _this._widget.child;
      return t1;
    },
    build$1: function(_, context) {
      var _this = this,
        t1 = _this._widget.get$_ink_decoration$_paddingIncludingDecoration();
      _this._widget.toString;
      return new T.Padding(t1, new T.Builder(_this.get$_build(), null), _this._boxKey);
    }
  };
  D.InkDecoration.prototype = {
    set$decoration: function(_, 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(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: function(value) {
      if (value.$eq(0, this._ink_decoration$_configuration))
        return;
      this._ink_decoration$_configuration = value;
      this._material$_controller.markNeedsPaint$0();
    },
    _ink_decoration$_handleChanged$0: function() {
      this._material$_controller.markNeedsPaint$0();
    },
    paintFeature$2: function(canvas, transform) {
      var originOffset, t1, t2, sizedConfiguration, _this = this;
      if (_this._ink_decoration$_painter == null)
        return;
      originOffset = T.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, C.Offset_0_0, sizedConfiguration);
        canvas.restore$0(0);
      } else
        _this._ink_decoration$_painter.paint$3(canvas, originOffset, sizedConfiguration);
    }
  };
  Y.InkHighlight.prototype = {
    get$_alphaController: function() {
      var t1 = this.__InkHighlight__alphaController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_alphaController")) : t1;
    },
    _handleAlphaStatusChanged$1: function($status) {
      if ($status === C.AnimationStatus_0 && !this._active) {
        this.get$_alphaController().dispose$0(0);
        this.super$InkFeature$dispose(0);
      }
    },
    dispose$0: function(_) {
      this.get$_alphaController().dispose$0(0);
      this.super$InkFeature$dispose(0);
    },
    _paintHighlight$3: function(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) {
        case C.BoxShape_1:
          t1 = rect.get$center();
          t2 = _this._radius;
          canvas.drawCircle$3(0, t1, t2 == null ? 35 : t2, paint);
          break;
        case C.BoxShape_0:
          t1 = _this._ink_highlight$_borderRadius;
          if (!t1.$eq(0, C.BorderRadius_tLn))
            canvas.drawRRect$2(0, P.RRect$fromRectAndCorners(rect, t1.bottomLeft, t1.bottomRight, t1.topLeft, t1.topRight), paint);
          else
            canvas.drawRect$2(0, rect, paint);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      canvas.restore$0(0);
    },
    paintFeature$2: function(canvas, transform) {
      var t2, originOffset, rect, _this = this,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t1 = _this._ink_well$_color;
      t2 = _this.__InkHighlight__alpha;
      if (t2 === $)
        t2 = H.throwExpression(H.LateError$fieldNI("_alpha"));
      paint.set$color(0, P.Color$fromARGB(t2.get$value(t2), t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255));
      originOffset = T.MatrixUtils_getAsTranslation(transform);
      t1 = _this._rectCallback;
      if (t1 != null)
        rect = t1.call$0();
      else {
        t1 = _this.referenceBox._box$_size;
        rect = new P.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);
    }
  };
  O._getClipCallback_closure.prototype = {
    call$0: function() {
      var t1 = this.referenceBox._box$_size;
      return new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    $signature: 138
  };
  O._InkRippleFactory.prototype = {
    create$11$borderRadius$color$containedInkWell$controller$customBorder$onRemoved$position$radius$rectCallback$referenceBox$textDirection: function(_, 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 ? C.BorderRadius_tLn : borderRadius;
      if (radius == null) {
        if (rectCallback != null) {
          t2 = rectCallback.call$0();
          size = new P.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, C.Offset_0_0).get$distance(), new P.Offset(0 + size._dx, 0).$sub(0, new P.Offset(0, 0 + size._dy)).get$distance()) / 2;
      } else
        t2 = radius;
      t1 = new O.InkRipple(position, t1, customBorder, t2, O._getClipCallback(referenceBox, containedInkWell, rectCallback), textDirection, color, controller, referenceBox, onRemoved);
      t3 = controller.vsync;
      t4 = G.AnimationController$(_null, C.Duration_75000, 0, _null, 1, _null, t3);
      t5 = controller.get$markNeedsPaint();
      t4.didRegisterListener$0();
      t6 = t4.AnimationLocalListenersMixin__listeners;
      t6._isDirty = true;
      t6._observer_list$_list.push(t5);
      t4.forward$0(0);
      t1.__InkRipple__fadeInController = t4;
      t4 = t1.get$_fadeInController();
      t6 = color.get$value(color);
      t4.toString;
      t7 = type$.Animation_double;
      t8 = type$.IntTween;
      t1.__InkRipple__fadeIn = new R._AnimatedEvaluation(t7._as(t4), new R.IntTween(0, t6 >>> 24 & 255), t8._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t6 = G.AnimationController$(_null, C.Duration_1000000, 0, _null, 1, _null, t3);
      t6.didRegisterListener$0();
      t4 = t6.AnimationLocalListenersMixin__listeners;
      t4._isDirty = true;
      t4._observer_list$_list.push(t5);
      t6.forward$0(0);
      t1.__InkRipple__radiusController = t6;
      t6 = t1.get$_radiusController();
      t4 = type$.Tween_double;
      t9 = $.$get$InkRipple__easeCurveTween();
      t10 = t4._eval$1("_ChainedEvaluation<Animatable.T>");
      t6.toString;
      t1.__InkRipple__radius = new R._AnimatedEvaluation(t7._as(t6), new R._ChainedEvaluation(t9, new R.Tween(t2 * 0.3, t2 + 5, t4), t10), t10._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t3 = G.AnimationController$(_null, C.Duration_375000, 0, _null, 1, _null, t3);
      t3.didRegisterListener$0();
      t10 = t3.AnimationLocalListenersMixin__listeners;
      t10._isDirty = true;
      t10._observer_list$_list.push(t5);
      t3.addStatusListener$1(t1.get$_ink_ripple$_handleAlphaStatusChanged());
      t1.__InkRipple__fadeOutController = t3;
      t3 = t1.get$_fadeOutController();
      t5 = color.get$value(color);
      t10 = $.$get$InkRipple__fadeOutIntervalTween();
      t8 = t8._eval$1("_ChainedEvaluation<Animatable.T>");
      t3.toString;
      t1.__InkRipple__fadeOut = new R._AnimatedEvaluation(t7._as(t3), new R._ChainedEvaluation(t10, new R.IntTween(t5 >>> 24 & 255, 0), t8), t8._eval$1("_AnimatedEvaluation<Animatable.T>"));
      controller.addInkFeature$1(t1);
      return t1;
    }
  };
  O.InkRipple.prototype = {
    get$_radiusController: function() {
      var t1 = this.__InkRipple__radiusController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_radiusController")) : t1;
    },
    get$_fadeInController: function() {
      var t1 = this.__InkRipple__fadeInController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_fadeInController")) : t1;
    },
    get$_fadeOutController: function() {
      var t1 = this.__InkRipple__fadeOutController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_fadeOutController")) : t1;
    },
    confirm$0: function(_) {
      var t1 = this.get$_radiusController();
      t1.duration = C.Duration_225000;
      t1.forward$0(0);
      this.get$_fadeInController().forward$0(0);
      t1 = this.get$_fadeOutController();
      t1._direction = C._AnimationDirection_0;
      t1._animateToInternal$3$curve$duration(1, C.C__Linear, C.Duration_375000);
    },
    cancel$0: function(_) {
      var fadeOutValue, t1, _this = this;
      _this.get$_fadeInController().stop$0(0);
      fadeOutValue = 1 - _this.get$_fadeInController().get$_animation_controller$_value();
      _this.get$_fadeOutController().set$value(0, fadeOutValue);
      if (fadeOutValue < 1) {
        t1 = _this.get$_fadeOutController();
        t1._direction = C._AnimationDirection_0;
        t1._animateToInternal$3$curve$duration(1, C.C__Linear, C.Duration_75000);
      }
    },
    _ink_ripple$_handleAlphaStatusChanged$1: function($status) {
      if ($status === C.AnimationStatus_3)
        this.dispose$0(0);
    },
    dispose$0: function(_) {
      var _this = this;
      _this.get$_radiusController().dispose$0(0);
      _this.get$_fadeInController().dispose$0(0);
      _this.get$_fadeOutController().dispose$0(0);
      _this.super$InkFeature$dispose(0);
    },
    paintFeature$2: function(canvas, transform) {
      var alpha, paint, t2, _this = this,
        t1 = _this.get$_fadeInController()._ticker;
      if (t1 != null && t1._ticker$_future != null) {
        t1 = _this.__InkRipple__fadeIn;
        if (t1 === $)
          t1 = H.throwExpression(H.LateError$fieldNI("_fadeIn"));
        alpha = t1.get$value(t1);
      } else {
        t1 = _this.__InkRipple__fadeOut;
        if (t1 === $)
          t1 = H.throwExpression(H.LateError$fieldNI("_fadeOut"));
        alpha = t1.get$value(t1);
      }
      t1 = H._detectRenderer();
      paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t1 = _this._ink_well$_color;
      paint.set$color(0, P.Color$fromARGB(alpha, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255));
      t1 = P.Offset_lerp(_this._ink_ripple$_position, _this.referenceBox._box$_size.center$1(C.Offset_0_0), C.Cubic_JUR.transform$1(0, _this.get$_radiusController().get$_animation_controller$_value()));
      t1.toString;
      t2 = _this.__InkRipple__radius;
      if (t2 === $)
        t2 = H.throwExpression(H.LateError$fieldNI("_radius"));
      _this.paintInkCircle$9$borderRadius$canvas$center$clipCallback$customBorder$paint$radius$textDirection$transform(_this._ink_ripple$_borderRadius, canvas, t1, _this._clipCallback, _this._ink_ripple$_customBorder, paint, t2.get$value(t2), _this._ink_ripple$_textDirection, transform);
    }
  };
  U._getClipCallback_closure0.prototype = {
    call$0: function() {
      var t1 = this.referenceBox._box$_size;
      return new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    $signature: 138
  };
  U._InkSplashFactory.prototype = {
    create$11$borderRadius$color$containedInkWell$controller$customBorder$onRemoved$position$radius$rectCallback$referenceBox$textDirection: function(_, borderRadius, color, containedInkWell, controller, customBorder, onRemoved, position, radius, rectCallback, referenceBox, textDirection) {
      var t3, t4, t5, t6, t7, _null = null,
        t1 = borderRadius == null ? C.BorderRadius_tLn : borderRadius,
        t2 = radius == null ? U._getTargetRadius(referenceBox, containedInkWell, rectCallback, position) : radius;
      t1 = new U.InkSplash(position, t1, customBorder, t2, U._getClipCallback0(referenceBox, containedInkWell, rectCallback), !containedInkWell, textDirection, color, controller, referenceBox, onRemoved);
      t3 = controller.vsync;
      t4 = G.AnimationController$(_null, C.Duration_1000000, 0, _null, 1, _null, t3);
      t5 = controller.get$markNeedsPaint();
      t4.didRegisterListener$0();
      t6 = t4.AnimationLocalListenersMixin__listeners;
      t6._isDirty = true;
      t6._observer_list$_list.push(t5);
      t4.forward$0(0);
      t1.__InkSplash__radiusController = t4;
      t4 = t1.get$_ink_splash$_radiusController();
      t6 = type$.Tween_double;
      t4.toString;
      t7 = type$.Animation_double;
      t1.__InkSplash__radius = new R._AnimatedEvaluation(t7._as(t4), new R.Tween(0, t2, t6), t6._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t3 = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _null, t3);
      t3.didRegisterListener$0();
      t6 = t3.AnimationLocalListenersMixin__listeners;
      t6._isDirty = true;
      t6._observer_list$_list.push(t5);
      t3.addStatusListener$1(t1.get$_ink_splash$_handleAlphaStatusChanged());
      t1._ink_splash$_alphaController = t3;
      t5 = color.get$value(color);
      t1.__InkSplash__alpha = new R._AnimatedEvaluation(t7._as(t3), new R.IntTween(t5 >>> 24 & 255, 0), type$.IntTween._eval$1("_AnimatedEvaluation<Animatable.T>"));
      controller.addInkFeature$1(t1);
      return t1;
    }
  };
  U.InkSplash.prototype = {
    get$_ink_splash$_radiusController: function() {
      var t1 = this.__InkSplash__radiusController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_radiusController")) : t1;
    },
    confirm$0: function(_) {
      var duration = C.JSNumber_methods.floor$0(this._targetRadius / 1),
        t1 = this.get$_ink_splash$_radiusController();
      t1.duration = P.Duration$(0, duration);
      t1.forward$0(0);
      this._ink_splash$_alphaController.forward$0(0);
    },
    cancel$0: function(_) {
      var t1 = this._ink_splash$_alphaController;
      if (t1 != null)
        t1.forward$0(0);
    },
    _ink_splash$_handleAlphaStatusChanged$1: function($status) {
      if ($status === C.AnimationStatus_3)
        this.dispose$0(0);
    },
    dispose$0: function(_) {
      var _this = this;
      _this.get$_ink_splash$_radiusController().dispose$0(0);
      _this._ink_splash$_alphaController.dispose$0(0);
      _this._ink_splash$_alphaController = null;
      _this.super$InkFeature$dispose(0);
    },
    paintFeature$2: function(canvas, transform) {
      var t2, center, _this = this,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t1 = _this._ink_well$_color;
      t2 = _this.__InkSplash__alpha;
      if (t2 === $)
        t2 = H.throwExpression(H.LateError$fieldNI("_alpha"));
      paint.set$color(0, P.Color$fromARGB(t2.get$value(t2), 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)
        center = P.Offset_lerp(center, _this.referenceBox._box$_size.center$1(C.Offset_0_0), _this.get$_ink_splash$_radiusController().get$_animation_controller$_value());
      center.toString;
      t1 = _this.__InkSplash__radius;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("_radius"));
      _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.get$value(t1), _this._ink_splash$_textDirection, transform);
    }
  };
  R.InteractiveInkFeature.prototype = {
    set$color: function(_, value) {
      if (J.$eq$(value, 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: function(borderRadius, canvas, center, clipCallback, customBorder, paint, radius, textDirection, transform) {
      var rect,
        originOffset = T.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, C.BorderRadius_tLn))
          canvas.clipRRect$1(0, P.RRect$fromRectAndCorners(rect, borderRadius.bottomLeft, borderRadius.bottomRight, borderRadius.topLeft, borderRadius.topRight));
        else
          canvas.clipRect$1(0, rect);
      }
      canvas.drawCircle$3(0, center, radius, paint);
      canvas.restore$0(0);
    }
  };
  R.InteractiveInkFeatureFactory.prototype = {};
  R._ParentInkResponseProvider.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return this.state !== oldWidget.state;
    }
  };
  R.InkResponse.prototype = {
    getRectCallback$1: function(referenceBox) {
      return null;
    },
    build$1: function(_, context) {
      var _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$._ParentInkResponseProvider),
        parentState = t1 == null ? null : t1.state;
      return new R._InkResponseStateWidget(_this.child, _this.onTap, _this.onTapDown, _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: function(context) {
      return true;
    }
  };
  R._InkResponseStateWidget.prototype = {
    createState$0: function() {
      return new R._InkResponseState(P.LinkedHashMap_LinkedHashMap$_empty(type$._HighlightType, type$.nullable_InkHighlight), new R.ObserverList(H._setArrayType([], type$.JSArray__ParentInkResponseState), type$.ObserverList__ParentInkResponseState), null, C._StateLifecycle_0);
    }
  };
  R._HighlightType.prototype = {
    toString$0: function(_) {
      return this._ink_well$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  R._InkResponseState.prototype = {
    get$highlightsExist: function() {
      var t1 = this._highlights;
      t1 = t1.get$values(t1);
      t1 = new H.WhereIterable(t1, new R._InkResponseState_highlightsExist_closure(), H._instanceType(t1)._eval$1("WhereIterable<Iterable.E>"));
      return !t1.get$isEmpty(t1);
    },
    markChildInkResponsePressed$2: function(childState, value) {
      var nowAnyPressed,
        t1 = this._activeChildren,
        t2 = t1._observer_list$_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: function(intent) {
      var t1 = this._framework$_element;
      t1.toString;
      this._startSplash$1$context(t1);
      this._ink_well$_handleTap$0();
    },
    _simulateTap$0: function() {
      return this._simulateTap$1(null);
    },
    _simulateLongPress$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      this._startSplash$1$context(t1);
      this._handleLongPress$0();
    },
    initState$0: function() {
      this.super$__InkResponseState_State_AutomaticKeepAliveClientMixin$initState();
      $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._listeners.add$1(0, this.get$_handleFocusHighlightModeChange());
    },
    didUpdateWidget$1: function(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(C._HighlightType_1, false, _this._hovering);
        _this._updateFocusHighlights$0();
      }
    },
    dispose$0: function(_) {
      $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._listeners.remove$1(0, this.get$_handleFocusHighlightModeChange());
      this.super$State$dispose(0);
    },
    get$wantKeepAlive: function() {
      if (!this.get$highlightsExist()) {
        var t1 = this._splashes;
        t1 = t1 != null && t1._collection$_length !== 0;
      } else
        t1 = true;
      return t1;
    },
    getHighlightColorForType$1: function(type) {
      var t1, _this = this;
      switch (type) {
        case C._HighlightType_0:
          t1 = _this._widget.highlightColor;
          if (t1 == null) {
            t1 = _this._framework$_element;
            t1.toString;
            t1 = K.Theme_of(t1).highlightColor;
          }
          return t1;
        case C._HighlightType_2:
          t1 = _this._widget.overlayColor;
          t1 = t1 == null ? null : t1.resolve$1(C.Set_0);
          if (t1 == null)
            t1 = _this._widget.focusColor;
          if (t1 == null) {
            t1 = _this._framework$_element;
            t1.toString;
            t1 = K.Theme_of(t1).focusColor;
          }
          return t1;
        case C._HighlightType_1:
          t1 = _this._widget.overlayColor;
          t1 = t1 == null ? null : t1.resolve$1(C.Set_00);
          if (t1 == null)
            t1 = _this._widget.hoverColor;
          if (t1 == null) {
            t1 = _this._framework$_element;
            t1.toString;
            t1 = K.Theme_of(t1).hoverColor;
          }
          return t1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    getFadeDurationForType$1: function(type) {
      switch (type) {
        case C._HighlightType_0:
          return C.Duration_200000;
        case C._HighlightType_1:
        case C._HighlightType_2:
          return C.Duration_50000;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    updateHighlight$3$callOnHover$value: function(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 === C._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 = C.BorderRadius_tLn;
          t2 = new Y.InkHighlight(t6, t7, t8, t9, t5, t10.textDirection, t4, t3, t2, new R._InkResponseState_updateHighlight_handleInkRemoval(_this, type));
          t11 = G.AnimationController$(null, t11, 0, null, 1, null, t3.vsync);
          t11.didRegisterListener$0();
          t10 = t11.AnimationLocalListenersMixin__listeners;
          t10._isDirty = true;
          t10._observer_list$_list.push(t3.get$markNeedsPaint());
          t11.addStatusListener$1(t2.get$_handleAlphaStatusChanged());
          t11.forward$0(0);
          t2.__InkHighlight__alphaController = t11;
          t11 = t2.get$_alphaController();
          t4 = t4.get$value(t4);
          t11.toString;
          t2.__InkHighlight__alpha = new R._AnimatedEvaluation(type$.Animation_double._as(t11), new R.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;
          highlight.get$_alphaController().forward$0(0);
        }
      else {
        highlight._active = false;
        highlight.get$_alphaController().reverse$0(0);
      }
      switch (type) {
        case C._HighlightType_0:
          t1 = _this._widget.onHighlightChanged;
          if (t1 != null)
            t1.call$1(value);
          break;
        case C._HighlightType_1:
          if (callOnHover) {
            t1 = _this._widget.onHover;
            if (t1 != null)
              t1.call$1(value);
          }
          break;
        case C._HighlightType_2:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    updateHighlight$2$value: function(type, value) {
      return this.updateHighlight$3$callOnHover$value(type, true, value);
    },
    _createInkFeature$1: function(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(C.Set_U8bKi);
      color = t4 == null ? _this._widget.splashColor : t4;
      if (color == null) {
        t4 = _this._framework$_element;
        t4.toString;
        color = K.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 = K.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 R._InkResponseState__createInkFeature_onRemoved(t1, _this), position, t5, rectCallback, t3, t7.textDirection);
    },
    _handleFocusHighlightModeChange$1: function(mode) {
      if (this._framework$_element == null)
        return;
      this.setState$1(new R._InkResponseState__handleFocusHighlightModeChange_closure(this));
    },
    get$_shouldShowFocus: function() {
      var mode, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = F.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch (mode == null ? C.NavigationMode_0 : mode) {
        case C.NavigationMode_0:
          t1 = _this._widget;
          t1.toString;
          return _this._isWidgetEnabled$1(t1) && _this._ink_well$_hasFocus;
        case C.NavigationMode_1:
          return _this._ink_well$_hasFocus;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _updateFocusHighlights$0: function() {
      var showFocus,
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._highlightMode;
      switch (t1 == null ? O.FocusManager__defaultModeForPlatform() : t1) {
        case C.FocusHighlightMode_0:
          showFocus = false;
          break;
        case C.FocusHighlightMode_1:
          showFocus = this.get$_shouldShowFocus();
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      this.updateHighlight$2$value(C._HighlightType_2, showFocus);
    },
    _handleFocusUpdate$1: function(hasFocus) {
      var t1;
      this._ink_well$_hasFocus = hasFocus;
      this._updateFocusHighlights$0();
      t1 = this._widget.onFocusChange;
      if (t1 != null)
        t1.call$1(hasFocus);
    },
    _handleTapDown$1: function(details) {
      if (this._activeChildren._observer_list$_list.length !== 0)
        return;
      this._startSplash$1$details(details);
      this._widget.toString;
    },
    _startSplash$2$context$details: function(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 P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy).get$center();
        globalPosition = T.MatrixUtils_transformPoint(t1.getTransformTo$1(0, null), t2);
      } else
        globalPosition = details.globalPosition;
      splash = _this._createInkFeature$1(globalPosition);
      t1 = _this._splashes;
      (t1 == null ? _this._splashes = P.HashSet_HashSet(type$.InteractiveInkFeature) : t1).add$1(0, splash);
      _this._currentSplash = splash;
      _this.updateKeepAlive$0();
      _this.updateHighlight$2$value(C._HighlightType_0, true);
    },
    _startSplash$1$details: function(details) {
      return this._startSplash$2$context$details(null, details);
    },
    _startSplash$1$context: function(context) {
      return this._startSplash$2$context$details(context, null);
    },
    _ink_well$_handleTap$0: function() {
      var _this = this,
        t1 = _this._currentSplash;
      if (t1 != null)
        t1.confirm$0(0);
      _this._currentSplash = null;
      _this.updateHighlight$2$value(C._HighlightType_0, false);
      t1 = _this._widget;
      if (t1.onTap != null) {
        if (t1.enableFeedback) {
          t1 = _this._framework$_element;
          t1.toString;
          M.Feedback_forTap(t1);
        }
        t1 = _this._widget.onTap;
        if (t1 != null)
          t1.call$0();
      }
    },
    _handleTapCancel$0: function() {
      var _this = this,
        t1 = _this._currentSplash;
      if (t1 != null)
        t1.cancel$0(0);
      _this._currentSplash = null;
      _this._widget.toString;
      _this.updateHighlight$2$value(C._HighlightType_0, false);
    },
    _handleDoubleTap$0: function() {
      var t1 = this._currentSplash;
      if (t1 != null)
        t1.confirm$0(0);
      this._currentSplash = null;
      t1 = this._widget.onDoubleTap;
      if (t1 != null)
        t1.call$0();
    },
    _handleLongPress$0: function() {
      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;
          M.Feedback_forLongPress(t1);
        }
        _this._widget.onLongPress.call$0();
      }
    },
    deactivate$0: function() {
      var t2, t3, t4, t5, t6, _this = this,
        t1 = _this._splashes;
      if (t1 != null) {
        _this._splashes = null;
        for (t1 = new P._HashSetIterator(t1, t1._computeElements$0(), H._instanceType(t1)._eval$1("_HashSetIterator<1>")); t1.moveNext$0();)
          t1._collection$_current.dispose$0(0);
        _this._currentSplash = null;
      }
      for (t1 = _this._highlights, t2 = t1.get$keys(t1), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t4 = t1.$index(0, t3);
        if (t4 != null) {
          t5 = t4.__InkHighlight__alphaController;
          if (t5 === $)
            t5 = H.throwExpression(H.LateError$fieldNI("_alphaController"));
          t5._ticker.dispose$0(0);
          t5._ticker = null;
          t6 = t5.AnimationLocalStatusListenersMixin__statusListeners;
          t6._isDirty = false;
          C.JSArray_methods.set$length(t6._observer_list$_list, 0);
          t6 = t6.get$_observer_list$_set();
          if (t6._collection$_length > 0) {
            t6._collection$_strings = t6._collection$_nums = t6._collection$_rest = t6._elements = null;
            t6._collection$_length = 0;
          }
          t6 = t5.AnimationLocalListenersMixin__listeners;
          t6._isDirty = false;
          C.JSArray_methods.set$length(t6._observer_list$_list, 0);
          t6 = t6.get$_observer_list$_set();
          if (t6._collection$_length > 0) {
            t6._collection$_strings = t6._collection$_nums = t6._collection$_rest = t6._elements = null;
            t6._collection$_length = 0;
          }
          t5.super$AnimationEagerListenerMixin$dispose(0);
          t4.super$InkFeature$dispose(0);
        }
        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: function(widget) {
      return widget.onTap != null || widget.onDoubleTap != null || widget.onLongPress != null;
    },
    _handleMouseEnter$1: function($event) {
      var t1, _this = this;
      _this._hovering = true;
      t1 = _this._widget;
      t1.toString;
      if (_this._isWidgetEnabled$1(t1))
        _this.updateHighlight$2$value(C._HighlightType_1, _this._hovering);
    },
    _handleMouseExit$1: function($event) {
      this._hovering = false;
      this.updateHighlight$2$value(C._HighlightType_1, false);
    },
    get$_ink_well$_canRequestFocus: function() {
      var mode, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = F.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch (mode == null ? C.NavigationMode_0 : mode) {
        case C.NavigationMode_0:
          t1 = _this._widget;
          t1.toString;
          return _this._isWidgetEnabled$1(t1) && _this._widget.canRequestFocus;
        case C.NavigationMode_1:
          return true;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    build$1: function(_, context) {
      var t1, t2, t3, t4, effectiveMouseCursor, t5, t6, t7, t8, t9, t10, t11, t12, _this = this, _null = null;
      _this.super$AutomaticKeepAliveClientMixin$build(0, context);
      for (t1 = _this._highlights, t2 = t1.get$keys(t1), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        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(C.Set_U8bKi);
        if (t2 == null)
          t2 = _this._widget.splashColor;
        t1.set$color(0, t2 == null ? K.Theme_of(context).splashColor : t2);
      }
      t1 = _this._widget;
      t2 = t1.mouseCursor;
      if (t2 == null)
        t2 = C._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable;
      t3 = P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (!_this._isWidgetEnabled$1(t1))
        t3.add$1(0, C.MaterialState_6);
      if (_this._hovering) {
        t1 = _this._widget;
        t1.toString;
        t1 = _this._isWidgetEnabled$1(t1);
      } else
        t1 = false;
      if (t1)
        t3.add$1(0, C.MaterialState_0);
      if (_this._ink_well$_hasFocus)
        t3.add$1(0, C.MaterialState_1);
      effectiveMouseCursor = V.MaterialStateProperty_resolveAs(t2, t3, type$.MouseCursor);
      t1 = _this.___InkResponseState__actionMap;
      if (t1 === $) {
        t1 = _this.get$_simulateTap();
        t2 = type$.JSArray_of_void_Function_Action_Intent;
        t3 = type$.ObserverList_of_void_Function_Action_Intent;
        t3 = P.LinkedHashMap_LinkedHashMap$_literal([C.Type_ActivateIntent_OT9, new U.CallbackAction(t1, new R.ObserverList(H._setArrayType([], t2), t3), type$.CallbackAction_ActivateIntent), C.Type_ButtonActivateIntent_6Ij, new U.CallbackAction(t1, new R.ObserverList(H._setArrayType([], t2), t3), type$.CallbackAction_ButtonActivateIntent)], type$.Type, type$.Action_Intent);
        if (_this.___InkResponseState__actionMap === $) {
          _this.___InkResponseState__actionMap = t3;
          t1 = t3;
        } else
          t1 = H.throwExpression(H.LateError$fieldADI("_actionMap"));
      }
      t2 = _this._widget.focusNode;
      t3 = _this.get$_ink_well$_canRequestFocus();
      t4 = _this._widget;
      t5 = t4.autofocus;
      t6 = t4.onTap;
      t6 = t6 == null ? _null : _this.get$_simulateTap();
      t7 = t4.onLongPress;
      t7 = t7 == null ? _null : _this.get$_simulateLongPress();
      t4 = _this._isWidgetEnabled$1(t4) ? _this.get$_handleTapDown() : _null;
      t8 = _this._widget;
      t8.toString;
      t8 = _this._isWidgetEnabled$1(t8) ? _this.get$_ink_well$_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;
      return new R._ParentInkResponseProvider(_this, new U.Actions(t1, L.Focus$(t5, t3, new T.MouseRegion(_this.get$_handleMouseEnter(), _null, _this.get$_handleMouseExit(), effectiveMouseCursor, true, T.Semantics$(_null, _null, D.GestureDetector$(C.HitTestBehavior_1, t10.child, C.DragStartBehavior_1, true, _null, t11, _null, _null, _null, _null, _null, t12, _null, _null, _null, _null, t8, t9, t4, _null, _null, _null, _null), false, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t7, _null, t6, _null, _null, _null, _null, _null, _null, _null), _null), _null, true, t2, true, _null, _this.get$_handleFocusUpdate(), _null, _null), _null), _null);
    },
    $is_ParentInkResponseState: 1
  };
  R._InkResponseState_highlightsExist_closure.prototype = {
    call$1: function(highlight) {
      return highlight != null;
    },
    $signature: 768
  };
  R._InkResponseState_updateHighlight_handleInkRemoval.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._highlights.$indexSet(0, this.type, null);
      t1.updateKeepAlive$0();
    },
    $signature: 0
  };
  R._InkResponseState__createInkFeature_onRemoved.prototype = {
    call$0: function() {
      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
  };
  R._InkResponseState__handleFocusHighlightModeChange_closure.prototype = {
    call$0: function() {
      this.$this._updateFocusHighlights$0();
    },
    $signature: 0
  };
  R.InkWell.prototype = {};
  R.__InkResponseState_State_AutomaticKeepAliveClientMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      if (this.get$wantKeepAlive())
        this._ensureKeepAlive$0();
    },
    deactivate$0: function() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  F.InputBorder.prototype = {};
  F._NoInputBorder.prototype = {
    get$dimensions: function() {
      return C.EdgeInsets_0_0_0_0;
    },
    scale$1: function(_, t) {
      return C._NoInputBorder_qlM;
    },
    getInnerPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addRect$1(0, rect);
      return t1;
    },
    getOuterPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addRect$1(0, rect);
      return t1;
    },
    paint$6$gapExtent$gapPercentage$gapStart$textDirection: function(canvas, rect, gapExtent, gapPercentage, gapStart, textDirection) {
    },
    paint$3$textDirection: function(canvas, rect, textDirection) {
      return this.paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, rect, 0, 0, null, textDirection);
    }
  };
  F.UnderlineInputBorder.prototype = {
    get$isOutline: function() {
      return false;
    },
    copyWith$1$borderSide: function(borderSide) {
      return new F.UnderlineInputBorder(this.borderRadius, borderSide);
    },
    get$dimensions: function() {
      return new V.EdgeInsets(0, 0, 0, this.borderSide.width);
    },
    scale$1: function(_, t) {
      return new F.UnderlineInputBorder(C.BorderRadius_tLn1, this.borderSide.scale$1(0, t));
    },
    getInnerPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path(),
        t2 = rect.left,
        t3 = rect.top;
      t1.addRect$1(0, new P.Rect(t2, t3, t2 + (rect.right - t2), t3 + Math.max(0, rect.bottom - t3 - this.borderSide.width)));
      return t1;
    },
    getOuterPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addRRect$1(0, this.borderRadius.toRRect$1(rect));
      return t1;
    },
    lerpFrom$2: function(a, t) {
      var t1, t2;
      if (a instanceof F.UnderlineInputBorder) {
        t1 = Y.BorderSide_lerp(a.borderSide, this.borderSide, t);
        t2 = K.BorderRadius_lerp(a.borderRadius, this.borderRadius, t);
        t2.toString;
        return new F.UnderlineInputBorder(t2, t1);
      }
      return this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      var t1, t2;
      if (b instanceof F.UnderlineInputBorder) {
        t1 = Y.BorderSide_lerp(this.borderSide, b.borderSide, t);
        t2 = K.BorderRadius_lerp(this.borderRadius, b.borderRadius, t);
        t2.toString;
        return new F.UnderlineInputBorder(t2, t1);
      }
      return this.super$ShapeBorder$lerpTo(b, t);
    },
    paint$6$gapExtent$gapPercentage$gapStart$textDirection: function(canvas, rect, gapExtent, gapPercentage, gapStart, textDirection) {
      var t1 = this.borderRadius;
      if (!J.$eq$(t1.bottomLeft, C.Radius_0_0) || !J.$eq$(t1.bottomRight, C.Radius_0_0))
        canvas.clipPath$1(0, this.getOuterPath$2$textDirection(rect, textDirection));
      t1 = rect.bottom;
      canvas.drawLine$3(0, new P.Offset(rect.left, t1), new P.Offset(rect.right, t1), this.borderSide.toPaint$0());
    },
    paint$3$textDirection: function(canvas, rect, textDirection) {
      return this.paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, rect, 0, 0, null, textDirection);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof F.InputBorder && J.$eq$(other.borderSide, this.borderSide);
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.borderSide);
    }
  };
  F.OutlineInputBorder.prototype = {
    get$isOutline: function() {
      return true;
    },
    copyWith$1$borderSide: function(borderSide) {
      return new F.OutlineInputBorder(this.gapPadding, this.borderRadius, borderSide);
    },
    get$dimensions: function() {
      var t1 = this.borderSide.width;
      return new V.EdgeInsets(t1, t1, t1, t1);
    },
    scale$1: function(_, t) {
      var t1 = this.borderSide.scale$1(0, t);
      return new F.OutlineInputBorder(this.gapPadding * t, this.borderRadius.$mul(0, t), t1);
    },
    lerpFrom$2: function(a, t) {
      var t1, t2;
      if (a instanceof F.OutlineInputBorder) {
        t1 = K.BorderRadius_lerp(a.borderRadius, this.borderRadius, t);
        t1.toString;
        t2 = Y.BorderSide_lerp(a.borderSide, this.borderSide, t);
        return new F.OutlineInputBorder(a.gapPadding, t1, t2);
      }
      return this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      var t1, t2;
      if (b instanceof F.OutlineInputBorder) {
        t1 = K.BorderRadius_lerp(this.borderRadius, b.borderRadius, t);
        t1.toString;
        t2 = Y.BorderSide_lerp(this.borderSide, b.borderSide, t);
        return new F.OutlineInputBorder(b.gapPadding, t1, t2);
      }
      return this.super$ShapeBorder$lerpTo(b, t);
    },
    getInnerPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addRRect$1(0, this.borderRadius.toRRect$1(rect).inflate$1(-this.borderSide.width));
      return t1;
    },
    getOuterPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addRRect$1(0, this.borderRadius.toRRect$1(rect));
      return t1;
    },
    _gapBorderPath$4: function(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 P.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 = start < t3 ? Math.asin(C.JSNumber_methods.clamp$2(start / t3, -1, 1)) : 1.5707963267948966;
      path = P.Path_Path();
      path.addArc$3(0, new P.Rect(t1, t2, t1 + t3 * 2, t2 + t4 * 2), 3.141592653589793, tlCornerArcSweep);
      path.moveTo$2(0, t1 + t3, t2);
      if (start > t3)
        path.lineTo$2(0, t1 + start, t2);
      t3 = start + extent;
      t17 = t5 - t1;
      if (t3 < t17 - t6) {
        path.relativeMoveTo$2(extent, 0);
        path.lineTo$2(0, t5 - t6, t2);
        path.addArc$3(0, trCorner, 4.71238898038469, 1.5707963267948966);
      } else if (t3 < t17) {
        sweep = Math.acos((t17 - t3) / t6);
        path.addArc$3(0, trCorner, 4.71238898038469 + sweep, 1.5707963267948966 - sweep);
      }
      path.moveTo$2(0, t5, t2 + t9);
      path.lineTo$2(0, t5, t10 - t11);
      path.addArc$3(0, new P.Rect(t8, t13, t8 + t7, t13 + t12), 0, 1.5707963267948966);
      path.lineTo$2(0, t1 + t15, t10);
      path.addArc$3(0, new P.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: function(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(0, center, paint);
      else {
        t1 = _this.gapPadding;
        t2 = P.lerpDouble(0, gapExtent + t1 * 2, gapPercentage);
        t2.toString;
        textDirection.toString;
        switch (textDirection) {
          case C.TextDirection_0:
            canvas.drawPath$2(0, _this._gapBorderPath$4(canvas, center, Math.max(0, gapStart + t1 - t2), t2), paint);
            break;
          case C.TextDirection_1:
            canvas.drawPath$2(0, _this._gapBorderPath$4(canvas, center, Math.max(0, gapStart - t1), t2), paint);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      }
    },
    paint$3$textDirection: function(canvas, rect, textDirection) {
      return this.paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, rect, 0, 0, null, textDirection);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof F.OutlineInputBorder && J.$eq$(other.borderSide, _this.borderSide) && J.$eq$(other.borderRadius, _this.borderRadius) && other.gapPadding === _this.gapPadding;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.borderSide, this.borderRadius, this.gapPadding, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  L._InputBorderGap.prototype = {
    get$start: function(_) {
      return this._input_decorator$_start;
    },
    set$start: function(_, value) {
      if (value != this._input_decorator$_start) {
        this._input_decorator$_start = value;
        this.notifyListeners$0();
      }
    },
    set$extent: function(value) {
      if (value !== this._extent) {
        this._extent = value;
        this.notifyListeners$0();
      }
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof L._InputBorderGap && other._input_decorator$_start == _this._input_decorator$_start && other._extent === _this._extent;
    },
    get$hashCode: function(_) {
      return P.hashValues(this._input_decorator$_start, this._extent, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  L._InputBorderTween.prototype = {
    lerp$1: function(t) {
      var t1 = Y.ShapeBorder_lerp(this.begin, this.end, t);
      t1.toString;
      return type$.InputBorder._as(t1);
    }
  };
  L._InputBorderPainter.prototype = {
    paint$2: function(canvas, size) {
      var borderValue, canvasRect, blendedFillColor, _this = this,
        t1 = _this.border,
        t2 = _this.borderAnimation;
      t1.toString;
      borderValue = t1.transform$1(0, t2.get$value(t2));
      canvasRect = new P.Rect(0, 0, 0 + size._dx, 0 + size._dy);
      t2 = _this.hoverColorTween;
      t1 = _this.hoverAnimation;
      t2.toString;
      t1 = t2.transform$1(0, t1.get$value(t1));
      t1.toString;
      blendedFillColor = P.Color_alphaBlend(t1, _this.fillColor);
      if ((blendedFillColor.get$value(blendedFillColor) >>> 24 & 255) > 0) {
        t1 = borderValue.getOuterPath$2$textDirection(canvasRect, _this.textDirection);
        t2 = H._detectRenderer();
        t2 = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        t2.set$color(0, blendedFillColor);
        t2.set$style(0, C.PaintingStyle_0);
        canvas.drawPath$2(0, t1, t2);
      }
      t1 = _this.gap;
      t2 = t1._input_decorator$_start;
      borderValue.paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, canvasRect, t1._extent, _this.gapAnimation.get$_animation_controller$_value(), t2, _this.textDirection);
    },
    shouldRepaint$1: function(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;
    }
  };
  L._BorderContainer.prototype = {
    createState$0: function() {
      return new L._BorderContainerState(null, C._StateLifecycle_0);
    }
  };
  L._BorderContainerState.prototype = {
    get$_input_decorator$_controller: function() {
      var t1 = this.___BorderContainerState__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    get$_hoverColorController: function() {
      var t1 = this.___BorderContainerState__hoverColorController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_hoverColorController")) : t1;
    },
    get$_borderAnimation: function() {
      var t1 = this.___BorderContainerState__borderAnimation;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_borderAnimation")) : t1;
    },
    initState$0: function() {
      var t1, _this = this, _null = null;
      _this.super$State$initState();
      _this.___BorderContainerState__hoverColorController = G.AnimationController$(_null, C.Duration_15000, 0, _null, 1, _this._widget.isHovering ? 1 : 0, _this);
      _this.___BorderContainerState__controller = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _null, _this);
      _this.___BorderContainerState__borderAnimation = S.CurvedAnimation$(C.Cubic_ifx, _this.get$_input_decorator$_controller(), _null);
      t1 = _this._widget.border;
      _this.___BorderContainerState__border = new L._InputBorderTween(t1, t1);
      _this.___BorderContainerState__hoverAnimation = S.CurvedAnimation$(C.C__Linear, _this.get$_hoverColorController(), _null);
      _this.___BorderContainerState__hoverColorTween = new R.ColorTween(C.Color_0, _this._widget.hoverColor);
    },
    dispose$0: function(_) {
      this.get$_input_decorator$_controller().dispose$0(0);
      this.get$_hoverColorController().dispose$0(0);
      this.super$__BorderContainerState_State_TickerProviderStateMixin$dispose(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.border;
      t2 = oldWidget.border;
      if (!J.$eq$(t1, t2)) {
        _this.___BorderContainerState__border = new L._InputBorderTween(t2, _this._widget.border);
        t1 = _this.get$_input_decorator$_controller();
        t1.set$value(0, 0);
        t1.forward$0(0);
      }
      if (!J.$eq$(_this._widget.hoverColor, oldWidget.hoverColor))
        _this.___BorderContainerState__hoverColorTween = new R.ColorTween(C.Color_0, _this._widget.hoverColor);
      t1 = _this._widget.isHovering;
      if (t1 !== oldWidget.isHovering)
        if (t1)
          _this.get$_hoverColorController().forward$0(0);
        else
          _this.get$_hoverColorController().reverse$0(0);
    },
    build$1: function(_, context) {
      var t4, t5, t6, t7, t8, t9, _this = this,
        t1 = H._setArrayType([_this.get$_borderAnimation(), _this._widget.gap, _this.get$_hoverColorController()], type$.JSArray_Listenable),
        t2 = _this.get$_borderAnimation(),
        t3 = _this.___BorderContainerState__border;
      if (t3 === $)
        t3 = H.throwExpression(H.LateError$fieldNI("_border"));
      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 === $)
        t8 = H.throwExpression(H.LateError$fieldNI("_hoverColorTween"));
      t9 = _this.___BorderContainerState__hoverAnimation;
      if (t9 === $)
        t9 = H.throwExpression(H.LateError$fieldNI("_hoverAnimation"));
      return T.CustomPaint$(null, new L._InputBorderPainter(t2, t3, t5, t4, t6.textDirection, t7, t8, t9, new B._MergingListenable(t1)), null, null, C.Size_0_0);
    }
  };
  L._Shaker.prototype = {
    get$translateX: function() {
      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: function(_, context) {
      return T.Transform$(null, this.child, E.Matrix4_Matrix4$translationValues(this.get$translateX(), 0, 0), true);
    }
  };
  L._HelperError.prototype = {
    createState$0: function() {
      return new L._HelperErrorState(null, C._StateLifecycle_0);
    }
  };
  L._HelperErrorState.prototype = {
    get$_input_decorator$_controller: function() {
      var t1 = this.___HelperErrorState__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      _this.___HelperErrorState__controller = G.AnimationController$(null, C.Duration_200000, 0, null, 1, null, _this);
      if (_this._widget.errorText != null) {
        _this._error = _this._buildError$0();
        _this.get$_input_decorator$_controller().set$value(0, 1);
      }
      t1 = _this.get$_input_decorator$_controller();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._observer_list$_list.push(_this.get$_input_decorator$_handleChange());
    },
    dispose$0: function(_) {
      this.get$_input_decorator$_controller().dispose$0(0);
      this.super$__HelperErrorState_State_SingleTickerProviderStateMixin$dispose(0);
    },
    _input_decorator$_handleChange$0: function() {
      this.setState$1(new L._HelperErrorState__handleChange_closure());
    },
    didUpdateWidget$1: function(old) {
      var oldErrorText, t1, _this = this;
      _this.super$State$didUpdateWidget(old);
      oldErrorText = old.errorText;
      t1 = _this._widget.errorText != null;
      if (t1 !== (oldErrorText != null) || false)
        if (t1) {
          _this._error = _this._buildError$0();
          _this.get$_input_decorator$_controller().forward$0(0);
        } else
          _this.get$_input_decorator$_controller().reverse$0(0);
    },
    _buildError$0: function() {
      var t3, t4, t5, t6, _null = null,
        t1 = this.get$_input_decorator$_controller().get$_animation_controller$_value(),
        t2 = this.get$_input_decorator$_controller();
      t2 = new R.Tween(C.Offset_MNd, C.Offset_0_0, type$.Tween_Offset).transform$1(0, t2.get$value(t2));
      t3 = this._widget;
      t4 = t3.errorText;
      t4.toString;
      t5 = t3.errorStyle;
      t6 = t3.textAlign;
      return T.Semantics$(_null, _null, T.Opacity$(false, T.FractionalTranslation$(L.Text$(t4, _null, t3.errorMaxLines, C.TextOverflow_2, _null, _null, t5, t6, _null, _null), true, t2), t1), true, _null, _null, false, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    build$1: function(_, context) {
      var _this = this,
        t1 = _this.get$_input_decorator$_controller();
      if (t1.get$status(t1) === C.AnimationStatus_0) {
        _this._error = null;
        _this._widget.toString;
        _this._helper = null;
        return C.SizedBox_null_null_null_null;
      }
      t1 = _this.get$_input_decorator$_controller();
      if (t1.get$status(t1) === C.AnimationStatus_3) {
        _this._helper = null;
        if (_this._widget.errorText != null)
          return _this._error = _this._buildError$0();
        else {
          _this._error = null;
          return C.SizedBox_null_null_null_null;
        }
      }
      if (_this._helper == null && _this._widget.errorText != null)
        return _this._buildError$0();
      if (_this._error == null)
        _this._widget.toString;
      if (_this._widget.errorText != null) {
        t1 = _this.get$_input_decorator$_controller().get$_animation_controller$_value();
        return T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([T.Opacity$(false, _this._helper, 1 - t1), _this._buildError$0()], type$.JSArray_Widget), C.Clip_1, C.StackFit_0, null, null);
      }
      return C.SizedBox_null_null_null_null;
    }
  };
  L._HelperErrorState__handleChange_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  L.FloatingLabelBehavior.prototype = {
    toString$0: function(_) {
      return this._input_decorator$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  L._DecorationSlot.prototype = {
    toString$0: function(_) {
      return this._input_decorator$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  L._Decoration.prototype = {
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof L._Decoration)
        if (other.contentPadding.$eq(0, _this.contentPadding))
          if (other.floatingLabelHeight === _this.floatingLabelHeight)
            if (other.floatingLabelProgress == _this.floatingLabelProgress)
              if (J.$eq$(other.border, _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) && true;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.contentPadding, _this.floatingLabelHeight, _this.floatingLabelProgress, _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, false);
    }
  };
  L._RenderDecorationLayout.prototype = {};
  L._RenderDecoration.prototype = {
    _input_decorator$_updateChild$3: function(oldChild, newChild, slot) {
      var _this = this;
      if (oldChild != null) {
        _this.dropChild$1(oldChild);
        _this.children.remove$1(0, slot);
      }
      if (newChild != null) {
        _this.children.$indexSet(0, slot, newChild);
        _this.adoptChild$1(newChild);
      }
      return newChild;
    },
    get$_input_decorator$_children: function($async$_) {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var _ = $async$_;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
        return function $async$get$_input_decorator$_children($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._icon;
                $async$goto = t1 != null ? 2 : 3;
                break;
              case 2:
                // then
                $async$goto = 4;
                return t1;
              case 4:
                // after yield
              case 3:
                // join
                t1 = $async$self._input_decorator$_input;
                $async$goto = t1 != null ? 5 : 6;
                break;
              case 5:
                // then
                $async$goto = 7;
                return t1;
              case 7:
                // after yield
              case 6:
                // join
                t1 = $async$self._prefixIcon;
                $async$goto = t1 != null ? 8 : 9;
                break;
              case 8:
                // then
                $async$goto = 10;
                return t1;
              case 10:
                // after yield
              case 9:
                // join
                t1 = $async$self._suffixIcon;
                $async$goto = t1 != null ? 11 : 12;
                break;
              case 11:
                // then
                $async$goto = 13;
                return t1;
              case 13:
                // after yield
              case 12:
                // join
                t1 = $async$self._prefix;
                $async$goto = t1 != null ? 14 : 15;
                break;
              case 14:
                // then
                $async$goto = 16;
                return t1;
              case 16:
                // after yield
              case 15:
                // join
                t1 = $async$self._suffix;
                $async$goto = t1 != null ? 17 : 18;
                break;
              case 17:
                // then
                $async$goto = 19;
                return t1;
              case 19:
                // after yield
              case 18:
                // join
                t1 = $async$self._input_decorator$_label;
                $async$goto = t1 != null ? 20 : 21;
                break;
              case 20:
                // then
                $async$goto = 22;
                return t1;
              case 22:
                // after yield
              case 21:
                // join
                t1 = $async$self._input_decorator$_hint;
                $async$goto = t1 != null ? 23 : 24;
                break;
              case 23:
                // then
                $async$goto = 25;
                return t1;
              case 25:
                // after yield
              case 24:
                // join
                t1 = $async$self._helperError;
                $async$goto = t1 != null ? 26 : 27;
                break;
              case 26:
                // then
                $async$goto = 28;
                return t1;
              case 28:
                // after yield
              case 27:
                // join
                t1 = $async$self._counter;
                $async$goto = t1 != null ? 29 : 30;
                break;
              case 29:
                // then
                $async$goto = 31;
                return t1;
              case 31:
                // after yield
              case 30:
                // join
                t1 = $async$self._input_decorator$_container;
                $async$goto = t1 != null ? 32 : 33;
                break;
              case 32:
                // then
                $async$goto = 34;
                return t1;
              case 34:
                // after yield
              case 33:
                // join
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.RenderBox);
    },
    set$decoration: function(_, value) {
      if (this._input_decorator$_decoration.$eq(0, value))
        return;
      this._input_decorator$_decoration = value;
      this.markNeedsLayout$0();
    },
    set$textDirection: function(_, value) {
      if (this._input_decorator$_textDirection === value)
        return;
      this._input_decorator$_textDirection = value;
      this.markNeedsLayout$0();
    },
    set$textBaseline: function(_, value) {
      if (this._input_decorator$_textBaseline == value)
        return;
      this._input_decorator$_textBaseline = value;
      this.markNeedsLayout$0();
    },
    set$textAlignVertical: function(value) {
      return;
    },
    set$isFocused: function(value) {
      if (this._isFocused === value)
        return;
      this._isFocused = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$expands: function(value) {
      return;
    },
    get$_isOutlineAligned: function() {
      var t1 = this._input_decorator$_decoration;
      return t1.border.get$isOutline();
    },
    attach$1: function(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      for (t1 = this.get$_input_decorator$_children(this), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();)
        t1.get$current(t1).attach$1(owner);
    },
    detach$0: function(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      for (t1 = this.get$_input_decorator$_children(this), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();)
        t1.get$current(t1).detach$0(0);
    },
    redepthChildren$0: function() {
      this.get$_input_decorator$_children(this).forEach$1(0, this.get$redepthChild());
    },
    visitChildren$1: function(visitor) {
      this.get$_input_decorator$_children(this).forEach$1(0, visitor);
    },
    visitChildrenForSemantics$1: function(visitor) {
      var _this = this,
        t1 = _this._icon;
      if (t1 != null)
        visitor.call$1(t1);
      t1 = _this._prefix;
      if (t1 != null)
        visitor.call$1(t1);
      t1 = _this._prefixIcon;
      if (t1 != null)
        visitor.call$1(t1);
      t1 = _this._input_decorator$_label;
      if (t1 != null)
        visitor.call$1(t1);
      t1 = _this._input_decorator$_hint;
      if (t1 != null)
        if (_this._isFocused)
          visitor.call$1(t1);
        else if (_this._input_decorator$_label == null)
          visitor.call$1(t1);
      t1 = _this._input_decorator$_input;
      if (t1 != null)
        visitor.call$1(t1);
      t1 = _this._suffixIcon;
      if (t1 != null)
        visitor.call$1(t1);
      t1 = _this._suffix;
      if (t1 != null)
        visitor.call$1(t1);
      t1 = _this._input_decorator$_container;
      if (t1 != null)
        visitor.call$1(t1);
      t1 = _this._helperError;
      if (t1 != null)
        visitor.call$1(t1);
      t1 = _this._counter;
      if (t1 != null)
        visitor.call$1(t1);
    },
    debugDescribeChildren$0: function() {
      var _this = this,
        value = H._setArrayType([], type$.JSArray_DiagnosticsNode),
        t1 = new L._RenderDecoration_debugDescribeChildren_add(value);
      t1.call$2(_this._icon, "icon");
      t1.call$2(_this._input_decorator$_input, "input");
      t1.call$2(_this._input_decorator$_label, "label");
      t1.call$2(_this._input_decorator$_hint, "hint");
      t1.call$2(_this._prefix, "prefix");
      t1.call$2(_this._suffix, "suffix");
      t1.call$2(_this._prefixIcon, "prefixIcon");
      t1.call$2(_this._suffixIcon, "suffixIcon");
      t1.call$2(_this._helperError, "helperError");
      t1.call$2(_this._counter, "counter");
      t1.call$2(_this._input_decorator$_container, "container");
      return value;
    },
    get$sizedByParent: function() {
      return false;
    },
    _layoutLineBox$2: function(box, constraints) {
      var t1;
      if (box == null)
        return 0;
      box.layout$2$parentUsesSize(0, constraints, true);
      t1 = box.getDistanceToBaseline$1(C.TextBaseline_0);
      t1.toString;
      return t1;
    },
    _interpolateThree$4: function(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: function(height) {
      var t2, t3, t4, t5, t6, t7, _this = this,
        t1 = _this._icon;
      t1 = t1 == null ? 0 : t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
      t2 = _this._input_decorator$_decoration;
      t3 = _this._prefixIcon;
      t3 = t3 == null ? 0 : t3._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t3.get$computeMinIntrinsicWidth());
      t4 = _this._prefix;
      t4 = t4 == null ? 0 : t4._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t4.get$computeMinIntrinsicWidth());
      t5 = _this._input_decorator$_input;
      t5 = t5 == null ? 0 : t5._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t5.get$computeMinIntrinsicWidth());
      t6 = _this._input_decorator$_hint;
      t6 = t6 == null ? 0 : t6._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t6.get$computeMinIntrinsicWidth());
      t6 = Math.max(H.checkNum(t5), H.checkNum(t6));
      t5 = _this._suffix;
      t5 = t5 == null ? 0 : t5._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t5.get$computeMinIntrinsicWidth());
      t7 = _this._suffixIcon;
      t7 = t7 == null ? 0 : t7._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t7.get$computeMinIntrinsicWidth());
      return t1 + t2.contentPadding.left + t3 + t4 + t6 + t5 + t7 + _this._input_decorator$_decoration.contentPadding.right;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t2, t3, t4, t5, t6, t7, _this = this,
        t1 = _this._icon;
      t1 = t1 == null ? 0 : t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      t2 = _this._input_decorator$_decoration;
      t3 = _this._prefixIcon;
      t3 = t3 == null ? 0 : t3._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t3.get$computeMaxIntrinsicWidth());
      t4 = _this._prefix;
      t4 = t4 == null ? 0 : t4._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t4.get$computeMaxIntrinsicWidth());
      t5 = _this._input_decorator$_input;
      t5 = t5 == null ? 0 : t5._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t5.get$computeMaxIntrinsicWidth());
      t6 = _this._input_decorator$_hint;
      t6 = t6 == null ? 0 : t6._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t6.get$computeMaxIntrinsicWidth());
      t6 = Math.max(H.checkNum(t5), H.checkNum(t6));
      t5 = _this._suffix;
      t5 = t5 == null ? 0 : t5._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t5.get$computeMaxIntrinsicWidth());
      t7 = _this._suffixIcon;
      t7 = t7 == null ? 0 : t7._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t7.get$computeMaxIntrinsicWidth());
      return t1 + t2.contentPadding.left + t3 + t4 + t6 + t5 + t7 + _this._input_decorator$_decoration.contentPadding.right;
    },
    _input_decorator$_lineHeight$2: function(_, width, boxes) {
      var t1, height, _i, box, t2;
      for (t1 = boxes.length, height = 0, _i = 0; _i < boxes.length; boxes.length === t1 || (0, H.throwConcurrentModificationError)(boxes), ++_i) {
        box = boxes[_i];
        if (box == null)
          continue;
        t2 = box._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, box.get$computeMinIntrinsicHeight());
        height = Math.max(H.checkNum(t2), height);
      }
      return height;
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t2, densityOffset, t3, t4, t5, minContainerHeight, _this = this,
        t1 = type$.JSArray_nullable_RenderBox,
        subtextHeight = _this._input_decorator$_lineHeight$2(0, width, H._setArrayType([_this._helperError, _this._counter], t1));
      if (subtextHeight > 0)
        subtextHeight += 8;
      t2 = _this._input_decorator$_decoration.visualDensity;
      densityOffset = new P.Offset(t2.horizontal, t2.vertical).$mul(0, 4);
      t2 = _this._input_decorator$_decoration;
      t3 = _this._input_decorator$_label == null ? 0 : t2.floatingLabelHeight;
      t1 = _this._input_decorator$_lineHeight$2(0, width, H._setArrayType([_this._prefix, _this._input_decorator$_input, _this._suffix], t1));
      t4 = _this._input_decorator$_decoration;
      t5 = t4.isDense;
      t5.toString;
      minContainerHeight = t5 || false ? 0 : 48;
      return Math.max(t2.contentPadding.top + t3 + t1 + t4.contentPadding.bottom + densityOffset._dy, minContainerHeight) + subtextHeight;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return this.computeMinIntrinsicHeight$1(width);
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      var t1 = this._input_decorator$_input,
        t2 = t1.parentData;
      t2.toString;
      t2 = type$.BoxParentData._as(t2).offset;
      t1 = t1.computeDistanceToActualBaseline$1(baseline);
      t1.toString;
      return t2._dy + t1;
    },
    computeDryLayout$1: function(constraints) {
      return C.Size_0_0;
    },
    performLayout$0: function() {
      var boxToBaseline, boxConstraints, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, 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, overallWidth, x, centerLayout, baselineLayout, left, right, start, end, labelX, _this = this, _null = null,
        _s80_ = string$.x60null_c,
        _box_0 = {},
        t1 = type$.BoxConstraints,
        constraints = t1._as(K.RenderObject.prototype.get$constraints.call(_this));
      _this._labelTransform = null;
      boxToBaseline = P.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_RenderBox, type$.double);
      boxConstraints = constraints.loosen$0();
      t2 = _this._prefix;
      boxToBaseline.$indexSet(0, t2, _this._layoutLineBox$2(t2, boxConstraints));
      t2 = _this._suffix;
      boxToBaseline.$indexSet(0, t2, _this._layoutLineBox$2(t2, boxConstraints));
      t2 = _this._icon;
      boxToBaseline.$indexSet(0, t2, _this._layoutLineBox$2(t2, boxConstraints));
      t2 = _this._prefixIcon;
      boxToBaseline.$indexSet(0, t2, _this._layoutLineBox$2(t2, boxConstraints));
      t2 = _this._suffixIcon;
      boxToBaseline.$indexSet(0, t2, _this._layoutLineBox$2(t2, boxConstraints));
      t2 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth;
      t3 = _this._icon;
      if (t3 == null)
        t3 = C.Size_0_0;
      else {
        t3 = t3._box$_size;
        t3.toString;
      }
      t4 = _this._input_decorator$_decoration;
      t5 = t4.contentPadding;
      t6 = _this._prefixIcon;
      if (t6 == null)
        t6 = C.Size_0_0;
      else {
        t6 = t6._box$_size;
        t6.toString;
      }
      t7 = _this._prefix;
      if (t7 == null)
        t7 = C.Size_0_0;
      else {
        t7 = t7._box$_size;
        t7.toString;
      }
      t8 = _this._suffix;
      if (t8 == null)
        t8 = C.Size_0_0;
      else {
        t8 = t8._box$_size;
        t8.toString;
      }
      t9 = _this._suffixIcon;
      t10 = t9 == null;
      if (t10)
        t11 = C.Size_0_0;
      else {
        t11 = t9._box$_size;
        t11.toString;
      }
      inputWidth = Math.max(0, t2 - (t3._dx + t5.left + t6._dx + t7._dx + t8._dx + t11._dx + t5.right));
      t5 = P.lerpDouble(1, 1.3333333333333333, t4.floatingLabelProgress);
      t5.toString;
      if (t10)
        t2 = C.Size_0_0;
      else {
        t2 = t9._box$_size;
        t2.toString;
      }
      suffixIconWidth = t2._dx;
      if (t4.border.get$isOutline()) {
        t2 = P.lerpDouble(suffixIconWidth, 0, _this._input_decorator$_decoration.floatingLabelProgress);
        t2.toString;
        suffixIconWidth = t2;
      }
      t1 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth;
      t2 = _this._icon;
      if (t2 == null)
        t2 = C.Size_0_0;
      else {
        t2 = t2._box$_size;
        t2.toString;
      }
      t3 = _this._input_decorator$_decoration.contentPadding;
      t4 = _this._prefixIcon;
      if (t4 == null)
        t4 = C.Size_0_0;
      else {
        t4 = t4._box$_size;
        t4.toString;
      }
      labelWidth = Math.max(0, t1 - (t2._dx + t3.left + t4._dx + suffixIconWidth + t3.right));
      t3 = _this._input_decorator$_label;
      boxToBaseline.$indexSet(0, t3, _this._layoutLineBox$2(t3, boxConstraints.copyWith$1$maxWidth(labelWidth * t5)));
      t5 = _this._input_decorator$_hint;
      boxToBaseline.$indexSet(0, t5, _this._layoutLineBox$2(t5, boxConstraints.copyWith$2$maxWidth$minWidth(inputWidth, inputWidth)));
      t5 = _this._counter;
      boxToBaseline.$indexSet(0, t5, _this._layoutLineBox$2(t5, boxConstraints));
      t5 = _this._helperError;
      t3 = _this._icon;
      if (t3 == null)
        t1 = C.Size_0_0;
      else {
        t1 = t3._box$_size;
        t1.toString;
      }
      t2 = _this._counter;
      if (t2 == null)
        t2 = C.Size_0_0;
      else {
        t2 = t2._box$_size;
        t2.toString;
      }
      boxToBaseline.$indexSet(0, t5, _this._layoutLineBox$2(t5, boxConstraints.copyWith$1$maxWidth(Math.max(0, boxConstraints.maxWidth - t1._dx - t2._dx - _this._input_decorator$_decoration.contentPadding.get$horizontal()))));
      labelHeight = _this._input_decorator$_label == null ? 0 : _this._input_decorator$_decoration.floatingLabelHeight;
      if (_this._input_decorator$_decoration.border.get$isOutline()) {
        t1 = boxToBaseline.$index(0, _this._input_decorator$_label);
        t1.toString;
        topHeight = Math.max(labelHeight - t1, 0);
      } else
        topHeight = labelHeight;
      t1 = _this._counter;
      if (t1 == null)
        counterHeight = 0;
      else {
        t1 = boxToBaseline.$index(0, t1);
        t1.toString;
        counterHeight = t1 + 8;
      }
      t1 = _this._helperError;
      if (t1 == null)
        t2 = _null;
      else {
        t2 = t1._box$_size;
        t2.toString;
      }
      helperErrorExists = t2 != null && t1._box$_size._dy > 0;
      helperErrorHeight = !helperErrorExists ? 0 : t1._box$_size._dy + 8;
      bottomHeight = Math.max(counterHeight, helperErrorHeight);
      t1 = _this._input_decorator$_decoration.visualDensity;
      densityOffset = new P.Offset(t1.horizontal, t1.vertical).$mul(0, 4);
      t1 = _this._input_decorator$_input;
      t2 = _this._input_decorator$_decoration.contentPadding;
      t3 = densityOffset._dy;
      t4 = t3 / 2;
      boxToBaseline.$indexSet(0, t1, _this._layoutLineBox$2(t1, boxConstraints.deflate$1(new V.EdgeInsets(0, t2.top + topHeight + t4, 0, t2.bottom + bottomHeight + t4)).copyWith$2$maxWidth$minWidth(inputWidth, inputWidth)));
      t1 = _this._input_decorator$_hint;
      hintHeight = t1 == null ? 0 : t1._box$_size._dy;
      t1 = _this._input_decorator$_input;
      inputDirectHeight = t1 == null ? 0 : t1._box$_size._dy;
      inputHeight = Math.max(H.checkNum(hintHeight), H.checkNum(inputDirectHeight));
      t1 = boxToBaseline.$index(0, t1);
      t1.toString;
      t2 = boxToBaseline.$index(0, _this._input_decorator$_hint);
      t2.toString;
      inputInternalBaseline = Math.max(t1, t2);
      t2 = _this._prefix;
      prefixHeight = t2 == null ? _null : t2._box$_size._dy;
      if (prefixHeight == null)
        prefixHeight = 0;
      t1 = _this._suffix;
      suffixHeight = t1 == null ? _null : t1._box$_size._dy;
      if (suffixHeight == null)
        suffixHeight = 0;
      t1 = boxToBaseline.$index(0, t2);
      t1.toString;
      t2 = boxToBaseline.$index(0, _this._suffix);
      t2.toString;
      fixAboveInput = Math.max(0, Math.max(t1, t2) - inputInternalBaseline);
      t2 = boxToBaseline.$index(0, _this._prefix);
      t2.toString;
      t1 = boxToBaseline.$index(0, _this._suffix);
      t1.toString;
      fixBelowInput = Math.max(0, Math.max(prefixHeight - t2, suffixHeight - t1) - (inputHeight - inputInternalBaseline));
      t1 = _this._prefixIcon;
      prefixIconHeight = t1 == null ? 0 : t1._box$_size._dy;
      t1 = _this._suffixIcon;
      suffixIconHeight = t1 == null ? 0 : t1._box$_size._dy;
      fixIconHeight = Math.max(H.checkNum(prefixIconHeight), H.checkNum(suffixIconHeight));
      t1 = _this._input_decorator$_decoration;
      t2 = t1.contentPadding;
      contentHeight = Math.max(fixIconHeight, topHeight + t2.top + fixAboveInput + inputHeight + fixBelowInput + t2.bottom + t3);
      t1 = t1.isDense;
      t1.toString;
      if (!t1)
        t1 = false;
      else
        t1 = true;
      minContainerHeight = t1 ? 0 : 48;
      maxContainerHeight = boxConstraints.maxHeight - 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() ? C.TextAlignVertical_0 : C.TextAlignVertical_m1;
      textAlignVerticalFactor = (t1.y + 1) / 2;
      baselineAdjustment = fixAboveInput - overflow * (1 - textAlignVerticalFactor);
      t1 = _this._input_decorator$_decoration.contentPadding;
      t2 = t1.top;
      topInputBaseline = t2 + topHeight + inputInternalBaseline + baselineAdjustment + interactiveAdjustment;
      maxVerticalOffset = containerHeight - t2 - topHeight - t1.bottom - (fixAboveInput + inputHeight + fixBelowInput);
      inputBaseline = topInputBaseline + maxVerticalOffset * textAlignVerticalFactor + t4;
      t1 = _this.get$_isOutlineAligned() ? C.TextAlignVertical_0 : C.TextAlignVertical_m1;
      outlineBaseline = _this._interpolateThree$4(topInputBaseline, inputInternalBaseline + baselineAdjustment / 2 + (containerHeight - (2 + inputHeight)) / 2, topInputBaseline + maxVerticalOffset, t1);
      t1 = _this._counter;
      if (t1 != null) {
        t1 = boxToBaseline.$index(0, t1);
        t1.toString;
        subtextCounterBaseline = containerHeight + 8 + t1;
        subtextCounterHeight = _this._counter._box$_size._dy + 8;
      } else {
        subtextCounterBaseline = 0;
        subtextCounterHeight = 0;
      }
      if (helperErrorExists) {
        t1 = boxToBaseline.$index(0, _this._helperError);
        t1.toString;
        subtextHelperBaseline = containerHeight + 8 + t1;
        subtextHelperHeight = helperErrorHeight;
      } else {
        subtextHelperBaseline = 0;
        subtextHelperHeight = 0;
      }
      subtextBaseline = Math.max(subtextCounterBaseline, subtextHelperBaseline);
      subtextHeight = Math.max(subtextCounterHeight, subtextHelperHeight);
      overallWidth = constraints.maxWidth;
      t1 = _this._input_decorator$_container;
      if (t1 != null) {
        t2 = _this._icon;
        if (t2 == null)
          t2 = C.Size_0_0;
        else {
          t2 = t2._box$_size;
          t2.toString;
        }
        t1.layout$2$parentUsesSize(0, S.BoxConstraints$tightFor(containerHeight, overallWidth - t2._dx), true);
        switch (_this._input_decorator$_textDirection) {
          case C.TextDirection_0:
            x = 0;
            break;
          case C.TextDirection_1:
            t1 = _this._icon;
            if (t1 == null)
              t1 = C.Size_0_0;
            else {
              t1 = t1._box$_size;
              t1.toString;
            }
            x = t1._dx;
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        t1 = _this._input_decorator$_container.parentData;
        t1.toString;
        type$.BoxParentData._as(t1).offset = new P.Offset(x, 0);
      }
      _box_0.height = null;
      centerLayout = new L._RenderDecoration_performLayout_centerLayout(_box_0);
      _box_0.baseline = null;
      baselineLayout = new L._RenderDecoration_performLayout_baselineLayout(_box_0, new L._RenderDecorationLayout(boxToBaseline, inputBaseline, outlineBaseline, subtextBaseline, containerHeight, subtextHeight));
      t1 = _this._input_decorator$_decoration.contentPadding;
      left = t1.left;
      right = overallWidth - t1.right;
      _box_0.height = containerHeight;
      _box_0.baseline = _this.get$_isOutlineAligned() ? outlineBaseline : inputBaseline;
      t1 = _this._icon;
      if (t1 != null) {
        switch (_this._input_decorator$_textDirection) {
          case C.TextDirection_0:
            x = overallWidth - t1._box$_size._dx;
            break;
          case C.TextDirection_1:
            x = 0;
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        centerLayout.call$2(t1, x);
      }
      switch (_this._input_decorator$_textDirection) {
        case C.TextDirection_0:
          t1 = _this._icon;
          if (t1 == null)
            t1 = C.Size_0_0;
          else {
            t1 = t1._box$_size;
            t1.toString;
          }
          start = right - t1._dx;
          t1 = _this._prefixIcon;
          if (t1 != null) {
            start += _this._input_decorator$_decoration.contentPadding.left;
            start -= centerLayout.call$2(t1, start - t1._box$_size._dx);
          }
          t1 = _this._input_decorator$_label;
          if (t1 != null) {
            t2 = t1._box$_size;
            centerLayout.call$2(t1, start - t2._dx);
          }
          t1 = _this._prefix;
          if (t1 != null)
            start -= baselineLayout.call$2(t1, start - t1._box$_size._dx);
          t1 = _this._input_decorator$_input;
          if (t1 != null)
            baselineLayout.call$2(t1, start - t1._box$_size._dx);
          t1 = _this._input_decorator$_hint;
          if (t1 != null)
            baselineLayout.call$2(t1, start - t1._box$_size._dx);
          t1 = _this._suffixIcon;
          if (t1 != null) {
            end = left - _this._input_decorator$_decoration.contentPadding.left;
            end += centerLayout.call$2(t1, end);
          } else
            end = left;
          t1 = _this._suffix;
          if (t1 != null)
            baselineLayout.call$2(t1, end);
          break;
        case C.TextDirection_1:
          t1 = _this._icon;
          if (t1 == null)
            t1 = C.Size_0_0;
          else {
            t1 = t1._box$_size;
            t1.toString;
          }
          start = left + t1._dx;
          t1 = _this._prefixIcon;
          if (t1 != null) {
            start -= _this._input_decorator$_decoration.contentPadding.left;
            start += centerLayout.call$2(t1, start);
          }
          t1 = _this._input_decorator$_label;
          if (t1 != null)
            centerLayout.call$2(t1, start);
          t1 = _this._prefix;
          if (t1 != null)
            start += baselineLayout.call$2(t1, start);
          t1 = _this._input_decorator$_input;
          if (t1 != null)
            baselineLayout.call$2(t1, start);
          t1 = _this._input_decorator$_hint;
          if (t1 != null)
            baselineLayout.call$2(t1, start);
          t1 = _this._suffixIcon;
          if (t1 != null) {
            end = right + _this._input_decorator$_decoration.contentPadding.right;
            end -= centerLayout.call$2(t1, end - t1._box$_size._dx);
          } else
            end = right;
          t1 = _this._suffix;
          if (t1 != null)
            baselineLayout.call$2(t1, end - t1._box$_size._dx);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      t1 = _this._helperError;
      t2 = t1 == null;
      if (!t2 || _this._counter != null) {
        _box_0.height = subtextHeight;
        _box_0.baseline = subtextBaseline;
        switch (_this._input_decorator$_textDirection) {
          case C.TextDirection_0:
            if (!t2) {
              t2 = t1._box$_size._dx;
              t3 = _this._icon;
              if (t3 == null)
                t3 = C.Size_0_0;
              else {
                t3 = t3._box$_size;
                t3.toString;
              }
              baselineLayout.call$2(t1, right - t2 - t3._dx);
            }
            t1 = _this._counter;
            if (t1 != null)
              baselineLayout.call$2(t1, left);
            break;
          case C.TextDirection_1:
            if (!t2) {
              t2 = _this._icon;
              if (t2 == null)
                t2 = C.Size_0_0;
              else {
                t2 = t2._box$_size;
                t2.toString;
              }
              baselineLayout.call$2(t1, left + t2._dx);
            }
            t1 = _this._counter;
            if (t1 != null)
              baselineLayout.call$2(t1, right - t1._box$_size._dx);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
      }
      t1 = _this._input_decorator$_label;
      if (t1 != null) {
        t2 = t1.parentData;
        t2.toString;
        labelX = type$.BoxParentData._as(t2).offset._dx;
        switch (_this._input_decorator$_textDirection) {
          case C.TextDirection_0:
            _this._input_decorator$_decoration.borderGap.set$start(0, labelX + t1._box$_size._dx);
            break;
          case C.TextDirection_1:
            t1 = _this._input_decorator$_decoration;
            t2 = _this._icon;
            if (t2 == null)
              t2 = C.Size_0_0;
            else {
              t2 = t2._box$_size;
              t2.toString;
            }
            t1.borderGap.set$start(0, labelX - t2._dx);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        _this._input_decorator$_decoration.borderGap.set$extent(_this._input_decorator$_label._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 P.Size(overallWidth, containerHeight + subtextHeight));
    },
    _paintLabel$2: function(context, offset) {
      var t1 = this._input_decorator$_label;
      t1.toString;
      context.paintChild$2(t1, offset);
    },
    paint$2: function(context, offset) {
      var t1, t2, labelOffset, labelHeight, t, isOutlineBorder, floatingY, dx, t3, t4, _this = this,
        doPaint = new L._RenderDecoration_paint_doPaint(context, offset);
      doPaint.call$1(_this._input_decorator$_container);
      t1 = _this._input_decorator$_label;
      if (t1 != null) {
        t2 = t1.parentData;
        t2.toString;
        labelOffset = type$.BoxParentData._as(t2).offset;
        labelHeight = t1._box$_size._dy;
        t1 = _this._input_decorator$_decoration;
        t2 = t1.border;
        t2.borderSide.toString;
        t = t1.floatingLabelProgress;
        isOutlineBorder = t2.get$isOutline();
        floatingY = isOutlineBorder ? -labelHeight * 0.25 : _this._input_decorator$_decoration.contentPadding.top;
        t1 = P.lerpDouble(1, 0.75, t);
        t1.toString;
        switch (_this._input_decorator$_textDirection) {
          case C.TextDirection_0:
            dx = labelOffset._dx + _this._input_decorator$_label._box$_size._dx * (1 - t1);
            break;
          case C.TextDirection_1:
            dx = labelOffset._dx;
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
        t2 = labelOffset._dy;
        t3 = P.lerpDouble(0, floatingY - t2, t);
        t3.toString;
        t4 = new E.Matrix4(new Float64Array(16));
        t4.setIdentity$0();
        t4.translate$2(0, dx, t2 + t3);
        t4.scale$1(0, t1);
        _this._labelTransform = t4;
        t4 = _this.get$_needsCompositing();
        t1 = _this._labelTransform;
        t1.toString;
        _this._transformLayer = context.pushTransform$5$oldLayer(t4, offset, t1, _this.get$_paintLabel(), _this._transformLayer);
      } else
        _this._transformLayer = null;
      doPaint.call$1(_this._icon);
      doPaint.call$1(_this._prefix);
      doPaint.call$1(_this._suffix);
      doPaint.call$1(_this._prefixIcon);
      doPaint.call$1(_this._suffixIcon);
      doPaint.call$1(_this._input_decorator$_hint);
      doPaint.call$1(_this._input_decorator$_input);
      doPaint.call$1(_this._helperError);
      doPaint.call$1(_this._counter);
    },
    hitTestSelf$1: function(position) {
      return true;
    },
    hitTestChildren$2$position: function(result, position) {
      var t1, t2, t3, t4, offset;
      for (t1 = this.get$_input_decorator$_children(this), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")), t2 = type$.BoxParentData; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t4 = t3.parentData;
        t4.toString;
        offset = t2._as(t4).offset;
        if (result.addWithPaintOffset$3$hitTest$offset$position(new L._RenderDecoration_hitTestChildren_closure(position, offset, t3), offset, position))
          return true;
      }
      return false;
    },
    applyPaintTransform$2: function(child, transform) {
      var labelOffset, _this = this,
        t1 = _this._input_decorator$_label;
      if (child == t1 && _this._labelTransform != null) {
        t1 = t1.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);
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  L._RenderDecoration_debugDescribeChildren_add.prototype = {
    call$2: function(child, $name) {
      if (child != null)
        this.value.push(Y.DiagnosticableTreeNode$($name, null, child));
    },
    $signature: 264
  };
  L._RenderDecoration_performLayout_centerLayout.prototype = {
    call$2: function(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 P.Offset(x, (t2 - t3._dy) / 2);
      return t3._dx;
    },
    $signature: 68
  };
  L._RenderDecoration_performLayout_baselineLayout.prototype = {
    call$2: function(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 P.Offset(x, t2 - t3);
      return box._box$_size._dx;
    },
    $signature: 68
  };
  L._RenderDecoration_paint_doPaint.prototype = {
    call$1: function(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: 262
  };
  L._RenderDecoration_hitTestChildren_closure.prototype = {
    call$2: function(result, transformed) {
      return this.child.hitTest$2$position(result, transformed);
    },
    $signature: 215
  };
  L._DecorationElement.prototype = {
    get$widget: function() {
      return type$._Decorator._as(N.RenderObjectElement.prototype.get$widget.call(this));
    },
    get$renderObject: function() {
      return type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    visitChildren$1: function(visitor) {
      var t1 = this.slotToChild;
      t1.get$values(t1).forEach$1(0, visitor);
    },
    forgetChild$1: function(child) {
      this.slotToChild.remove$1(0, child._slot);
      this.super$Element$forgetChild(child);
    },
    _mountChild$2: function(widget, slot) {
      var t1 = this.slotToChild,
        oldChild = t1.$index(0, slot),
        newChild = this.updateChild$3(oldChild, widget, slot);
      if (oldChild != null)
        t1.remove$1(0, slot);
      if (newChild != null)
        t1.$indexSet(0, slot, newChild);
    },
    mount$2: function($parent, newSlot) {
      var t1, _this = this;
      _this.super$RenderObjectElement$mount($parent, newSlot);
      t1 = type$._Decorator;
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.icon, C._DecorationSlot_0);
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.input, C._DecorationSlot_1);
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.label, C._DecorationSlot_2);
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.hint, C._DecorationSlot_3);
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.prefix, C._DecorationSlot_4);
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.suffix, C._DecorationSlot_5);
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.prefixIcon, C._DecorationSlot_6);
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.suffixIcon, C._DecorationSlot_7);
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.helperError, C._DecorationSlot_8);
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.counter, C._DecorationSlot_9);
      _this._mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.container, C._DecorationSlot_10);
    },
    _input_decorator$_updateChild$2: function(widget, slot) {
      var t1 = this.slotToChild,
        oldChild = t1.$index(0, slot),
        newChild = this.updateChild$3(oldChild, widget, slot);
      if (oldChild != null)
        t1.remove$1(0, slot);
      if (newChild != null)
        t1.$indexSet(0, slot, newChild);
    },
    update$1: function(_, newWidget) {
      var t1, _this = this;
      _this.super$RenderObjectElement$update(0, newWidget);
      t1 = type$._Decorator;
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.icon, C._DecorationSlot_0);
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.input, C._DecorationSlot_1);
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.label, C._DecorationSlot_2);
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.hint, C._DecorationSlot_3);
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.prefix, C._DecorationSlot_4);
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.suffix, C._DecorationSlot_5);
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.prefixIcon, C._DecorationSlot_6);
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.suffixIcon, C._DecorationSlot_7);
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.helperError, C._DecorationSlot_8);
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.counter, C._DecorationSlot_9);
      _this._input_decorator$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).decoration.container, C._DecorationSlot_10);
    },
    _updateRenderObject$2: function(child, slot) {
      var t1, _this = this;
      switch (slot) {
        case C._DecorationSlot_0:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._icon = t1._input_decorator$_updateChild$3(t1._icon, child, C._DecorationSlot_0);
          break;
        case C._DecorationSlot_1:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._input_decorator$_input = t1._input_decorator$_updateChild$3(t1._input_decorator$_input, child, C._DecorationSlot_1);
          break;
        case C._DecorationSlot_2:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._input_decorator$_label = t1._input_decorator$_updateChild$3(t1._input_decorator$_label, child, C._DecorationSlot_2);
          break;
        case C._DecorationSlot_3:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._input_decorator$_hint = t1._input_decorator$_updateChild$3(t1._input_decorator$_hint, child, C._DecorationSlot_3);
          break;
        case C._DecorationSlot_4:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._prefix = t1._input_decorator$_updateChild$3(t1._prefix, child, C._DecorationSlot_4);
          break;
        case C._DecorationSlot_5:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._suffix = t1._input_decorator$_updateChild$3(t1._suffix, child, C._DecorationSlot_5);
          break;
        case C._DecorationSlot_6:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._prefixIcon = t1._input_decorator$_updateChild$3(t1._prefixIcon, child, C._DecorationSlot_6);
          break;
        case C._DecorationSlot_7:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._suffixIcon = t1._input_decorator$_updateChild$3(t1._suffixIcon, child, C._DecorationSlot_7);
          break;
        case C._DecorationSlot_8:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._helperError = t1._input_decorator$_updateChild$3(t1._helperError, child, C._DecorationSlot_8);
          break;
        case C._DecorationSlot_9:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._counter = t1._input_decorator$_updateChild$3(t1._counter, child, C._DecorationSlot_9);
          break;
        case C._DecorationSlot_10:
          t1 = type$._RenderDecoration._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._input_decorator$_container = t1._input_decorator$_updateChild$3(t1._input_decorator$_container, child, C._DecorationSlot_10);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    insertRenderObjectChild$2: function(child, slot) {
      this._updateRenderObject$2(type$.RenderBox._as(child), slot);
    },
    removeRenderObjectChild$2: function(child, slot) {
      this._updateRenderObject$2(null, slot);
    },
    moveRenderObjectChild$3: function(child, oldSlot, newSlot) {
    }
  };
  L._Decorator.prototype = {
    createElement$0: function(_) {
      var t1 = type$.Element_2,
        t2 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t2;
      return new L._DecorationElement(P.LinkedHashMap_LinkedHashMap$_empty(type$._DecorationSlot, t1), t2, this, C._ElementLifecycle_0, P.HashSet_HashSet(t1));
    },
    createRenderObject$1: function(context) {
      var _this = this,
        t1 = new L._RenderDecoration(P.LinkedHashMap_LinkedHashMap$_empty(type$._DecorationSlot, type$.RenderBox), _this.decoration, _this.textDirection, _this.textBaseline, _this.textAlignVertical, _this.isFocused, false);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var _this = this;
      renderObject.set$decoration(0, _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(0, _this.textDirection);
    }
  };
  L._AffixText.prototype = {
    build$1: function(_, context) {
      var t1 = this.labelIsFloating ? 1 : 0,
        t2 = this.child;
      if (t2 == null)
        t2 = null;
      return L.DefaultTextStyle_merge(G.AnimatedOpacity$(false, t2, C.Cubic_ifx, C.Duration_200000, null, t1), this.style);
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  L.InputDecorator.prototype = {
    createState$0: function() {
      return new L._InputDecoratorState(new L._InputBorderGap(P.List_List$filled(0, null, false, type$.nullable_void_Function)), null, C._StateLifecycle_0);
    }
  };
  L._InputDecoratorState.prototype = {
    get$_floatingLabelController: function() {
      var t1 = this.___InputDecoratorState__floatingLabelController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_floatingLabelController")) : t1;
    },
    get$_shakingLabelController: function() {
      var t1 = this.___InputDecoratorState__shakingLabelController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_shakingLabelController")) : t1;
    },
    initState$0: function() {
      var t1, t2, t3, labelIsInitiallyFloating, _this = this, _null = null;
      _this.super$State$initState();
      t1 = _this._widget;
      t2 = t1.decoration;
      t3 = t2.floatingLabelBehavior;
      if (t3 !== C.FloatingLabelBehavior_2)
        if (t3 !== C.FloatingLabelBehavior_0) {
          if (t1.isEmpty)
            t1 = t1.isFocused && t2.enabled;
          else
            t1 = true;
          labelIsInitiallyFloating = t1;
        } else
          labelIsInitiallyFloating = false;
      else
        labelIsInitiallyFloating = true;
      _this.___InputDecoratorState__floatingLabelController = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, labelIsInitiallyFloating ? 1 : 0, _this);
      t1 = _this.get$_floatingLabelController();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._observer_list$_list.push(_this.get$_input_decorator$_handleChange());
      _this.___InputDecoratorState__shakingLabelController = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _null, _this);
    },
    didChangeDependencies$0: function() {
      this.super$__InputDecoratorState_State_TickerProviderStateMixin$didChangeDependencies();
      this._effectiveDecoration = null;
    },
    dispose$0: function(_) {
      this.get$_floatingLabelController().dispose$0(0);
      this.get$_shakingLabelController().dispose$0(0);
      this.super$__InputDecoratorState_State_TickerProviderStateMixin$dispose(0);
    },
    _input_decorator$_handleChange$0: function() {
      this.setState$1(new L._InputDecoratorState__handleChange_closure());
    },
    get$decoration: function(_) {
      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(K.Theme_of(t2).inputDecorationTheme);
        t1 = t2;
      }
      return t1;
    },
    get$_floatingLabelEnabled: function() {
      var t1, _this = this;
      _this.get$decoration(_this).toString;
      t1 = _this.get$decoration(_this);
      return t1.floatingLabelBehavior !== C.FloatingLabelBehavior_0;
    },
    didUpdateWidget$1: function(old) {
      var t1, t2, t3, floatBehaviorChanged, errorText, _this = this;
      _this.super$State$didUpdateWidget(old);
      t1 = _this._widget.decoration;
      t2 = old.decoration;
      if (!t1.$eq(0, t2))
        _this._effectiveDecoration = null;
      t1 = _this._widget;
      t3 = t1.decoration;
      floatBehaviorChanged = t3.floatingLabelBehavior != t2.floatingLabelBehavior || false;
      if (t1.isEmpty)
        t1 = t1.isFocused && t3.enabled;
      else
        t1 = true;
      if (old.isEmpty)
        t3 = old.isFocused && t2.enabled;
      else
        t3 = true;
      if (t1 !== t3 || floatBehaviorChanged) {
        if (_this.get$_floatingLabelEnabled()) {
          t1 = _this._widget;
          if (t1.isEmpty)
            t3 = t1.isFocused && t1.decoration.enabled;
          else
            t3 = true;
          t1 = t3 || t1.decoration.floatingLabelBehavior === C.FloatingLabelBehavior_2;
        } else
          t1 = false;
        if (t1)
          _this.get$_floatingLabelController().forward$0(0);
        else
          _this.get$_floatingLabelController().reverse$0(0);
      }
      errorText = _this.get$decoration(_this).errorText;
      t1 = _this.get$_floatingLabelController();
      if (t1.get$status(t1) === C.AnimationStatus_3 && errorText != null && errorText !== t2.errorText) {
        t1 = _this.get$_shakingLabelController();
        t1.set$value(0, 0);
        t1.forward$0(0);
      }
    },
    _getActiveColor$1: function(themeData) {
      if (this._widget.isFocused)
        return themeData.colorScheme.primary;
      return themeData.hintColor;
    },
    _getDefaultBorderColor$1: function(themeData) {
      var t1, enabledColor, hoverColor, _this = this;
      if (_this._widget.isFocused)
        return themeData.colorScheme.primary;
      _this.get$decoration(_this).filled.toString;
      t1 = themeData.colorScheme.onSurface.value;
      enabledColor = P.Color$fromARGB(97, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
      if (_this._widget.isHovering && _this.get$decoration(_this).enabled) {
        _this.get$decoration(_this).toString;
        hoverColor = themeData.hoverColor;
        t1 = hoverColor.value;
        return P.Color_alphaBlend(P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255), enabledColor);
      }
      return enabledColor;
    },
    _getFillColor$1: function(themeData) {
      var _this = this;
      if (_this.get$decoration(_this).filled !== true)
        return C.Color_0;
      _this.get$decoration(_this).toString;
      switch (themeData.colorScheme.brightness) {
        case C.Brightness_0:
          return _this.get$decoration(_this).enabled ? C.Color_452984831 : C.Color_234881023;
        case C.Brightness_1:
          return _this.get$decoration(_this).enabled ? C.Color_167772160 : C.Color_83886080;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _getHoverColor$1: function(themeData) {
      var _this = this;
      if (_this.get$decoration(_this).filled != null)
        _this.get$decoration(_this).filled.toString;
      return C.Color_0;
    },
    _getDefaultIconColor$1: function(themeData) {
      if (!this.get$decoration(this).enabled && !this._widget.isFocused)
        return themeData.disabledColor;
      switch (themeData.colorScheme.brightness) {
        case C.Brightness_0:
          return C.Color_3019898879;
        case C.Brightness_1:
          return C.Color_1929379840;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$_hasInlineLabel: function() {
      var _this = this,
        t1 = _this._widget;
      if (t1.isEmpty)
        t1 = t1.isFocused && t1.decoration.enabled;
      else
        t1 = true;
      return !t1 && _this.get$decoration(_this).labelText != null && _this.get$decoration(_this).floatingLabelBehavior !== C.FloatingLabelBehavior_2;
    },
    _getHelperStyle$1: function(themeData) {
      var _this = this,
        color = _this.get$decoration(_this).enabled ? themeData.hintColor : C.Color_0;
      return themeData.textTheme.caption.copyWith$1$color(color).merge$1(_this.get$decoration(_this).helperStyle);
    },
    _getDefaultBorder$1: function(themeData) {
      var borderColor, borderWeight, border, _this = this,
        t1 = _this.get$decoration(_this).border;
      if (J.$eq$(t1 == null ? null : t1.borderSide, C.BorderSide_06g)) {
        t1 = _this.get$decoration(_this).border;
        t1.toString;
        return t1;
      }
      if (_this.get$decoration(_this).enabled || _this._widget.isFocused)
        borderColor = _this.get$decoration(_this).errorText == null ? _this._getDefaultBorderColor$1(themeData) : themeData.errorColor;
      else {
        if (_this.get$decoration(_this).filled === true)
          t1 = (_this.get$decoration(_this).border != null || null) !== true;
        else
          t1 = false;
        borderColor = t1 ? C.Color_0 : themeData.disabledColor;
      }
      _this.get$decoration(_this).toString;
      t1 = _this.get$decoration(_this);
      t1 = J.$eq$(t1 == null ? null : t1.border, C._NoInputBorder_qlM) || !_this.get$decoration(_this).enabled;
      if (t1)
        borderWeight = 0;
      else
        borderWeight = _this._widget.isFocused ? 2 : 1;
      border = _this.get$decoration(_this).border;
      if (border == null)
        border = C.UnderlineInputBorder_ato;
      return border.copyWith$1$borderSide(new Y.BorderSide(borderColor, borderWeight, C.BorderStyle_1));
    },
    build$1: function(_, context) {
      var t3, inlineStyle, hintStyle, isError, border, t4, t5, t6, t7, t8, t9, inlineLabelStyle, label, t10, t11, color, style, suffix, decorationIsDense, t12, t13, counter, t14, t15, t16, decorationContentPadding, floatingLabelHeight, contentPadding, t17, t18, t19, t20, t21, _this = this, _null = null,
        themeData = K.Theme_of(context),
        t1 = themeData.textTheme,
        t2 = t1.subtitle1;
      t2.toString;
      t3 = t2.merge$1(_this._widget.baseStyle);
      inlineStyle = t3.copyWith$1$color(_this.get$decoration(_this).enabled ? themeData.hintColor : themeData.disabledColor);
      t3 = inlineStyle.textBaseline;
      t3.toString;
      hintStyle = inlineStyle.merge$1(_this.get$decoration(_this).hintStyle);
      _this.get$decoration(_this).toString;
      isError = _this.get$decoration(_this).errorText != null;
      if (!_this.get$decoration(_this).enabled)
        border = isError ? _this.get$decoration(_this).errorBorder : _this.get$decoration(_this).disabledBorder;
      else if (_this._widget.isFocused)
        border = isError ? _this.get$decoration(_this).focusedErrorBorder : _this.get$decoration(_this).focusedBorder;
      else
        border = isError ? _this.get$decoration(_this).errorBorder : _this.get$decoration(_this).enabledBorder;
      if (border == null)
        border = _this._getDefaultBorder$1(themeData);
      t4 = _this._borderGap;
      t5 = _this.get$_floatingLabelController();
      t5.toString;
      t6 = _this._getFillColor$1(themeData);
      t7 = _this._getHoverColor$1(themeData);
      t8 = _this._widget.isHovering && _this.get$decoration(_this).enabled;
      t9 = _this.get$decoration(_this);
      inlineLabelStyle = inlineStyle.merge$1(t9.labelStyle);
      if (_this.get$decoration(_this).labelText == null)
        label = _null;
      else {
        t9 = _this.get$_shakingLabelController();
        t9.toString;
        t10 = _this.get$_hasInlineLabel() || _this.get$_floatingLabelEnabled() ? 1 : 0;
        t11 = _this._widget;
        if (t11.isEmpty)
          t11 = t11.isFocused && t11.decoration.enabled;
        else
          t11 = true;
        if (t11) {
          if (_this.get$decoration(_this).errorText != null) {
            _this.get$decoration(_this).toString;
            color = themeData.errorColor;
          } else
            color = _this._getActiveColor$1(themeData);
          style = t2.merge$1(_this._widget.baseStyle);
          t2 = style.copyWith$1$color(_this.get$decoration(_this).enabled ? color : themeData.disabledColor).merge$1(_this.get$decoration(_this).labelStyle);
        } else
          t2 = inlineLabelStyle;
        t11 = _this.get$decoration(_this).labelText;
        t11.toString;
        label = new L._Shaker(G.AnimatedOpacity$(false, G.AnimatedDefaultTextStyle$(L.Text$(t11, _null, _null, C.TextOverflow_2, _null, _null, _null, _this._widget.textAlign, _null, _null), C.Cubic_ifx, C.Duration_200000, true, t2), C.Cubic_ifx, C.Duration_200000, _null, t10), t9, _null);
      }
      _this.get$decoration(_this).toString;
      t2 = _this.get$decoration(_this);
      t2.toString;
      if (_this.get$decoration(_this).suffix == null) {
        _this.get$decoration(_this).toString;
        t2 = true;
      } else
        t2 = false;
      if (t2)
        suffix = _null;
      else {
        t2 = _this._widget;
        if (t2.isEmpty)
          t2 = t2.isFocused && t2.decoration.enabled;
        else
          t2 = true;
        t9 = _this.get$decoration(_this).suffixText;
        _this.get$decoration(_this).toString;
        suffix = new L._AffixText(t2, t9, hintStyle, _this.get$decoration(_this).suffix, _null);
      }
      _this._getActiveColor$1(themeData);
      decorationIsDense = _this.get$decoration(_this).isDense === true;
      if (!_this._widget.isFocused)
        _this._getDefaultIconColor$1(themeData);
      _this.get$decoration(_this).toString;
      _this.get$decoration(_this).toString;
      _this.get$decoration(_this).toString;
      t2 = _this._widget.textAlign;
      t9 = _this.get$decoration(_this).helperText;
      t10 = _this._getHelperStyle$1(themeData);
      t11 = _this.get$decoration(_this).helperMaxLines;
      t12 = _this.get$decoration(_this).errorText;
      color = _this.get$decoration(_this).enabled ? themeData.errorColor : C.Color_0;
      t1 = t1.caption.copyWith$1$color(color).merge$1(_this.get$decoration(_this).errorStyle);
      t13 = _this.get$decoration(_this).errorMaxLines;
      if (_this.get$decoration(_this).counter != null)
        counter = _this.get$decoration(_this).counter;
      else if (_this.get$decoration(_this).counterText != null && _this.get$decoration(_this).counterText !== "") {
        t14 = _this._widget.isFocused;
        t15 = _this.get$decoration(_this).counterText;
        t15.toString;
        t16 = _this._getHelperStyle$1(themeData).merge$1(_this.get$decoration(_this).counterStyle);
        counter = T.Semantics$(_null, _null, L.Text$(t15, _null, _null, C.TextOverflow_2, _this.get$decoration(_this).semanticCounterText, _null, t16, _null, _null, _null), true, _null, _null, false, _null, _null, _null, _null, _null, t14, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      } else
        counter = _null;
      t14 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t14.toString;
      decorationContentPadding = _this.get$decoration(_this).contentPadding;
      if (decorationContentPadding == null)
        decorationContentPadding = _null;
      _this.get$decoration(_this).toString;
      if (!border.get$isOutline()) {
        t15 = inlineLabelStyle.fontSize;
        t15.toString;
        floatingLabelHeight = (4 + 0.75 * t15) * F.MediaQuery_textScaleFactorOf(context);
        if (_this.get$decoration(_this).filled === true)
          if (decorationContentPadding == null)
            contentPadding = decorationIsDense ? C.EdgeInsets_12_8_12_8 : C.EdgeInsets_12_12_12_12;
          else
            contentPadding = decorationContentPadding;
        else if (decorationContentPadding == null)
          contentPadding = decorationIsDense ? C.EdgeInsets_0_8_0_8 : C.EdgeInsets_0_12_0_12;
        else
          contentPadding = decorationContentPadding;
      } else {
        if (decorationContentPadding == null)
          contentPadding = decorationIsDense ? C.EdgeInsets_12_20_12_12 : C.EdgeInsets_12_24_12_16;
        else
          contentPadding = decorationContentPadding;
        floatingLabelHeight = 0;
      }
      _this.get$decoration(_this).toString;
      t15 = _this.get$_floatingLabelController().get$_animation_controller$_value();
      t16 = _this.get$decoration(_this).alignLabelWithHint;
      t17 = _this.get$decoration(_this).isDense;
      t18 = themeData.visualDensity;
      t19 = _this._widget;
      t20 = t19.child;
      t21 = t19.textAlignVertical;
      t19 = t19.isFocused;
      _this.get$decoration(_this).toString;
      return new L._Decorator(new L._Decoration(contentPadding, false, floatingLabelHeight, t15, border, t4, t16 === true, t17, t18, _null, t20, label, _null, _null, suffix, _null, _null, new L._HelperError(t2, t9, t10, t11, t12, t1, t13, _null), counter, new L._BorderContainer(border, t4, t5, t6, t7, t8, _null), false), t14.textDirection, t3, t21, t19, false, _null);
    }
  };
  L._InputDecoratorState__handleChange_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  L.InputDecoration.prototype = {
    copyWith$32$alignLabelWithHint$border$constraints$contentPadding$counter$counterStyle$counterText$disabledBorder$enabled$enabledBorder$errorBorder$errorMaxLines$errorStyle$errorText$fillColor$filled$floatingLabelBehavior$focusColor$focusedBorder$focusedErrorBorder$hasFloatingPlaceholder$helperMaxLines$helperStyle$hintMaxLines$hintStyle$hoverColor$isCollapsed$isDense$labelStyle$prefixStyle$semanticCounterText$suffixStyle: function(alignLabelWithHint, border, constraints, contentPadding, counter, counterStyle, counterText, disabledBorder, enabled, enabledBorder, errorBorder, errorMaxLines, errorStyle, errorText, fillColor, filled, floatingLabelBehavior, focusColor, focusedBorder, focusedErrorBorder, hasFloatingPlaceholder, 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 = isDense == null ? _this.isDense : isDense,
        t6 = contentPadding == null ? _this.contentPadding : contentPadding,
        t7 = counter == null ? _this.counter : counter,
        t8 = counterText == null ? _this.counterText : counterText,
        t9 = counterStyle == null ? _this.counterStyle : counterStyle,
        t10 = filled == null ? _this.filled : filled,
        t11 = focusedBorder == null ? _this.focusedBorder : focusedBorder,
        t12 = enabledBorder == null ? _this.enabledBorder : enabledBorder,
        t13 = border == null ? _this.border : border,
        t14 = enabled == null ? _this.enabled : enabled,
        t15 = semanticCounterText == null ? _this.semanticCounterText : semanticCounterText,
        t16 = alignLabelWithHint == null ? _this.alignLabelWithHint : alignLabelWithHint;
      return L.InputDecoration$(t16, t13, _this.constraints, t6, t7, t9, t8, _this.disabledBorder, t14, t12, _this.errorBorder, _this.errorMaxLines, _this.errorStyle, t3, _this.fillColor, t10, t4, _this.focusColor, t11, _this.focusedErrorBorder, hasFloatingPlaceholder !== false, _this.helperMaxLines, _this.helperStyle, _this.helperText, t2, _this.hintStyle, _this.hintText, _this.hintTextDirection, _this.hoverColor, _this.icon, isCollapsed === true, t5, t1, _this.labelText, _this.prefix, _this.prefixIcon, _this.prefixIconConstraints, _this.prefixStyle, _this.prefixText, t15, _this.suffix, _this.suffixIcon, _this.suffixIconConstraints, _this.suffixStyle, _this.suffixText);
    },
    copyWith$26$alignLabelWithHint$border$constraints$contentPadding$counterStyle$disabledBorder$enabledBorder$errorBorder$errorMaxLines$errorStyle$fillColor$filled$floatingLabelBehavior$focusColor$focusedBorder$focusedErrorBorder$hasFloatingPlaceholder$helperMaxLines$helperStyle$hintStyle$hoverColor$isCollapsed$isDense$labelStyle$prefixStyle$suffixStyle: function(alignLabelWithHint, border, constraints, contentPadding, counterStyle, disabledBorder, enabledBorder, errorBorder, errorMaxLines, errorStyle, fillColor, filled, floatingLabelBehavior, focusColor, focusedBorder, focusedErrorBorder, hasFloatingPlaceholder, helperMaxLines, helperStyle, hintStyle, hoverColor, isCollapsed, isDense, labelStyle, prefixStyle, suffixStyle) {
      return this.copyWith$32$alignLabelWithHint$border$constraints$contentPadding$counter$counterStyle$counterText$disabledBorder$enabled$enabledBorder$errorBorder$errorMaxLines$errorStyle$errorText$fillColor$filled$floatingLabelBehavior$focusColor$focusedBorder$focusedErrorBorder$hasFloatingPlaceholder$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, floatingLabelBehavior, focusColor, focusedBorder, focusedErrorBorder, hasFloatingPlaceholder, helperMaxLines, helperStyle, null, hintStyle, hoverColor, isCollapsed, isDense, labelStyle, prefixStyle, null, suffixStyle);
    },
    copyWith$2$enabled$hintMaxLines: function(enabled, hintMaxLines) {
      return this.copyWith$32$alignLabelWithHint$border$constraints$contentPadding$counter$counterStyle$counterText$disabledBorder$enabled$enabledBorder$errorBorder$errorMaxLines$errorStyle$errorText$fillColor$filled$floatingLabelBehavior$focusColor$focusedBorder$focusedErrorBorder$hasFloatingPlaceholder$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, hintMaxLines, null, null, null, null, null, null, null, null);
    },
    applyDefaults$1: function(theme) {
      var t2, t3, t4, t5, t6, t7, _this = this, _null = null,
        t1 = _this.labelStyle;
      if (t1 == null)
        t1 = _null;
      t2 = _this.floatingLabelBehavior;
      if (t2 == null)
        t2 = C.FloatingLabelBehavior_1;
      t3 = _this.contentPadding;
      if (t3 == null)
        t3 = _null;
      t4 = _this.counterStyle;
      if (t4 == null)
        t4 = _null;
      t5 = _this.focusedBorder;
      if (t5 == null)
        t5 = _null;
      t6 = _this.enabledBorder;
      if (t6 == null)
        t6 = _null;
      t7 = _this.border;
      if (t7 == null)
        t7 = _null;
      return _this.copyWith$26$alignLabelWithHint$border$constraints$contentPadding$counterStyle$disabledBorder$enabledBorder$errorBorder$errorMaxLines$errorStyle$fillColor$filled$floatingLabelBehavior$focusColor$focusedBorder$focusedErrorBorder$hasFloatingPlaceholder$helperMaxLines$helperStyle$hintStyle$hoverColor$isCollapsed$isDense$labelStyle$prefixStyle$suffixStyle(_this.alignLabelWithHint === true, t7, _null, t3, t4, _null, t6, _null, _null, _null, _null, _this.filled === true, t2, _null, t5, _null, true, _null, _null, _null, _null, false, _this.isDense === true, t1, _null, _null);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof L.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 (other.isDense == _this.isDense)
                    if (J.$eq$(other.contentPadding, _this.contentPadding))
                      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;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this,
        t1 = _this.border,
        t2 = _this.enabled;
      return P.hashList([_this.icon, _this.labelText, _this.labelStyle, _this.helperText, _this.helperStyle, _this.helperMaxLines, _this.hintText, _this.hintStyle, _this.hintTextDirection, _this.hintMaxLines, _this.errorText, _this.errorStyle, _this.errorMaxLines, true, _this.floatingLabelBehavior, _this.isDense, _this.contentPadding, false, _this.filled, _this.fillColor, _this.focusColor, _this.hoverColor, t1, t2, _this.prefixIcon, _this.prefix, _this.prefixText, _this.prefixStyle, _this.prefixIconConstraints, _this.suffixIcon, _this.suffix, _this.suffixText, _this.suffixStyle, _this.suffixIconConstraints, _this.counter, _this.counterText, _this.counterStyle, _this.errorBorder, _this.focusedBorder, _this.focusedErrorBorder, _this.disabledBorder, _this.enabledBorder, t1, t2, _this.semanticCounterText, _this.alignLabelWithHint, _this.constraints]);
    },
    toString$0: function(_) {
      var _this = this,
        t1 = H._setArrayType([], type$.JSArray_String),
        t2 = _this.labelText;
      if (t2 != null)
        t1.push('labelText: "' + t2 + '"');
      t2 = _this.hintMaxLines;
      if (t2 != null)
        t1.push('hintMaxLines: "' + H.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.isDense;
      if (t2 === true)
        t1.push("isDense: " + H.S(t2));
      t2 = _this.contentPadding;
      if (t2 != null)
        t1.push("contentPadding: " + 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: " + H.S(t2));
      return "InputDecoration(" + C.JSArray_methods.join$1(t1, ", ") + ")";
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  L.InputDecorationTheme.prototype = {
    get$hashCode: function(_) {
      return P.hashList([null, null, null, null, null, null, true, C.FloatingLabelBehavior_1, false, null, false, null, null, null, false, null, null, null, null, null, null, null, null, null, false, null]);
    },
    $eq: function(_, other) {
      var t1;
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      if (other instanceof L.InputDecorationTheme)
        t1 = true;
      else
        t1 = false;
      return t1;
    },
    get$constraints: function() {
      return null;
    }
  };
  L._InputDecorationTheme_Object_Diagnosticable.prototype = {};
  L.__BorderContainerState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  L.__HelperErrorState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  L.__InputDecoratorState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  Q.ListTileStyle.prototype = {
    toString$0: function(_) {
      return this._list_tile$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Q.ListTileTheme.prototype = {
    wrap$2: function(_, context, child) {
      var _this = this;
      return Q.ListTileTheme$(child, _this.contentPadding, false, _this.enableFeedback, _this.horizontalTitleGap, _this.iconColor, null, _this.minLeadingWidth, _this.minVerticalPadding, _this.selectedColor, _this.selectedTileColor, _this.shape, _this.style, _this.textColor, _this.tileColor);
    },
    updateShouldNotify$1: function(oldWidget) {
      var t1, _this = this;
      if (_this.style === oldWidget.style)
        if (J.$eq$(_this.selectedColor, oldWidget.selectedColor))
          if (J.$eq$(_this.iconColor, oldWidget.iconColor))
            if (J.$eq$(_this.textColor, oldWidget.textColor))
              t1 = false;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    }
  };
  Q.ListTileTheme_merge_closure.prototype = {
    call$1: function(context) {
      var t2, t3, _this = this,
        $parent = Q.ListTileTheme_of(context),
        t1 = _this.selectedColor;
      if (t1 == null)
        t1 = $parent.selectedColor;
      t2 = _this.iconColor;
      if (t2 == null)
        t2 = $parent.iconColor;
      t3 = _this.textColor;
      if (t3 == null)
        t3 = $parent.textColor;
      return Q.ListTileTheme$(_this.child, $parent.contentPadding, false, $parent.enableFeedback, $parent.horizontalTitleGap, t2, _this.key, $parent.minLeadingWidth, $parent.minVerticalPadding, t1, $parent.selectedTileColor, $parent.shape, $parent.style, t3, $parent.tileColor);
    },
    $signature: 773
  };
  Q.ListTileControlAffinity.prototype = {
    toString$0: function(_) {
      return this._list_tile$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Q.ListTile.prototype = {
    _list_tile$_iconColor$2: function(theme, tileTheme) {
      var t1;
      if (!this.enabled)
        return theme.disabledColor;
      t1 = tileTheme.iconColor != null;
      if (t1)
        return tileTheme.iconColor;
      switch (theme.colorScheme.brightness) {
        case C.Brightness_1:
          return C.Color_1929379840;
        case C.Brightness_0:
          return null;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _textColor$3: function(theme, tileTheme, defaultColor) {
      var t1;
      if (!this.enabled)
        return theme.disabledColor;
      t1 = (tileTheme == null ? null : tileTheme.textColor) != null;
      if (t1)
        return tileTheme.textColor;
      return defaultColor;
    },
    _isDenseLayout$1: function(tileTheme) {
      var t1 = this.dense;
      if (t1 == null)
        t1 = tileTheme == null && null;
      return t1 === true;
    },
    _tileBackgroundColor$1: function(tileTheme) {
      var t1 = this.tileColor;
      if (t1 != null)
        return t1;
      return C.Color_0;
    },
    build$1: function(_, context) {
      var iconThemeData, style, leadingAndTrailingTextStyle, leadingIcon, color, titleStyle, titleText, trailingIcon, resolvedContentPadding, t3, t4, resolvedMouseCursor, t5, t6, t7, t8, _this = this, _null = null,
        theme = K.Theme_of(context),
        tileTheme = Q.ListTileTheme_of(context),
        t1 = _this.leading,
        t2 = t1 == null;
      if (!t2 || _this.trailing != null) {
        iconThemeData = new T.IconThemeData(_this._list_tile$_iconColor$2(theme, tileTheme), _null, _null);
        style = theme.textTheme.bodyText2;
        leadingAndTrailingTextStyle = style.copyWith$1$color(_this._textColor$3(theme, tileTheme, style.color));
      } else {
        leadingAndTrailingTextStyle = _null;
        iconThemeData = leadingAndTrailingTextStyle;
      }
      if (!t2) {
        leadingAndTrailingTextStyle.toString;
        iconThemeData.toString;
        leadingIcon = G.AnimatedDefaultTextStyle$(Y.IconTheme_merge(t1, iconThemeData), C.C__Linear, C.Duration_200000, true, leadingAndTrailingTextStyle);
      } else
        leadingIcon = _null;
      switch (tileTheme.style) {
        case C.ListTileStyle_1:
          t1 = theme.textTheme.bodyText1;
          t1.toString;
          style = t1;
          break;
        case C.ListTileStyle_0:
          t1 = theme.textTheme.subtitle1;
          t1.toString;
          style = t1;
          break;
        default:
          H.throwExpression(H.ReachabilityError$(string$.x60null_c));
          style = _null;
      }
      color = _this._textColor$3(theme, tileTheme, style.color);
      titleStyle = _this._isDenseLayout$1(tileTheme) ? style.copyWith$2$color$fontSize(color, 13) : style.copyWith$1$color(color);
      titleText = G.AnimatedDefaultTextStyle$(_this.title, C.C__Linear, C.Duration_200000, true, titleStyle);
      t1 = _this.trailing;
      if (t1 != null) {
        leadingAndTrailingTextStyle.toString;
        iconThemeData.toString;
        trailingIcon = G.AnimatedDefaultTextStyle$(Y.IconTheme_merge(t1, iconThemeData), C.C__Linear, C.Duration_200000, true, leadingAndTrailingTextStyle);
      } else
        trailingIcon = _null;
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t2 = _this.contentPadding;
      if (t2 == null)
        t2 = _null;
      if (t2 == null)
        resolvedContentPadding = _null;
      else
        resolvedContentPadding = t2;
      if (resolvedContentPadding == null)
        resolvedContentPadding = C.EdgeInsets_16_0_16_0;
      t2 = P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      t3 = _this.enabled;
      if (t3)
        t4 = _this.onTap == null && true;
      else
        t4 = true;
      if (t4)
        t2.add$1(0, C.MaterialState_6);
      resolvedMouseCursor = V.MaterialStateProperty_resolveAs(C._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable, t2, type$.MouseCursor);
      t2 = t3 ? _this.onTap : _null;
      t4 = _this._tileBackgroundColor$1(tileTheme);
      t5 = _this._isDenseLayout$1(tileTheme);
      t6 = theme.visualDensity;
      t7 = titleStyle.textBaseline;
      t7.toString;
      t8 = _this.minVerticalPadding;
      if (t8 == null)
        t8 = tileTheme.minVerticalPadding;
      if (t8 == null)
        t8 = 4;
      t1 = Q.SafeArea$(false, new Q._ListTile(leadingIcon, titleText, _null, trailingIcon, false, t5, t6, t1.textDirection, t7, _null, 16, t8, 40, _null), resolvedContentPadding, false);
      return R.InkWell$(false, t3, T.Semantics$(_null, _null, new D.Ink(t1, new V.ShapeDecoration(t4, _null, _null, _null, C.Border_c8d), _null), false, _null, t3, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, false, _null, _null, _null, _null, _null), tileTheme.shape, true, _null, _null, _null, _null, _null, resolvedMouseCursor, _null, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null);
    }
  };
  Q._ListTileSlot.prototype = {
    toString$0: function(_) {
      return this._list_tile$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Q._ListTile.prototype = {
    createElement$0: function(_) {
      var t1 = type$.Element_2,
        t2 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t2;
      return new Q._ListTileElement(P.LinkedHashMap_LinkedHashMap$_empty(type$._ListTileSlot, t1), t2, this, C._ElementLifecycle_0, P.HashSet_HashSet(t1));
    },
    createRenderObject$1: function(context) {
      var _this = this,
        t1 = new Q._RenderListTile(P.LinkedHashMap_LinkedHashMap$_empty(type$._ListTileSlot, type$.RenderBox), _this.isDense, _this.visualDensity, false, _this.textDirection, _this.titleBaselineType, _this.subtitleBaselineType, _this.horizontalTitleGap, _this.minVerticalPadding, _this.minLeadingWidth);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var _this = this;
      renderObject.set$isThreeLine(false);
      renderObject.set$isDense(_this.isDense);
      renderObject.set$visualDensity(_this.visualDensity);
      renderObject.set$textDirection(0, _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);
    }
  };
  Q._ListTileElement.prototype = {
    get$widget: function() {
      return type$._ListTile._as(N.RenderObjectElement.prototype.get$widget.call(this));
    },
    get$renderObject: function() {
      return type$._RenderListTile._as(N.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    visitChildren$1: function(visitor) {
      var t1 = this.slotToChild;
      t1.get$values(t1).forEach$1(0, visitor);
    },
    forgetChild$1: function(child) {
      this.slotToChild.remove$1(0, child._slot);
      this.super$Element$forgetChild(child);
    },
    _list_tile$_mountChild$2: function(widget, slot) {
      var t1 = this.slotToChild,
        oldChild = t1.$index(0, slot),
        newChild = this.updateChild$3(oldChild, widget, slot);
      if (oldChild != null)
        t1.remove$1(0, slot);
      if (newChild != null)
        t1.$indexSet(0, slot, newChild);
    },
    mount$2: function($parent, newSlot) {
      var t1, _this = this;
      _this.super$RenderObjectElement$mount($parent, newSlot);
      t1 = type$._ListTile;
      _this._list_tile$_mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).leading, C._ListTileSlot_0);
      _this._list_tile$_mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).title, C._ListTileSlot_1);
      _this._list_tile$_mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).subtitle, C._ListTileSlot_2);
      _this._list_tile$_mountChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).trailing, C._ListTileSlot_3);
    },
    _list_tile$_updateChild$2: function(widget, slot) {
      var t1 = this.slotToChild,
        oldChild = t1.$index(0, slot),
        newChild = this.updateChild$3(oldChild, widget, slot);
      if (oldChild != null)
        t1.remove$1(0, slot);
      if (newChild != null)
        t1.$indexSet(0, slot, newChild);
    },
    update$1: function(_, newWidget) {
      var t1, _this = this;
      _this.super$RenderObjectElement$update(0, newWidget);
      t1 = type$._ListTile;
      _this._list_tile$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).leading, C._ListTileSlot_0);
      _this._list_tile$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).title, C._ListTileSlot_1);
      _this._list_tile$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).subtitle, C._ListTileSlot_2);
      _this._list_tile$_updateChild$2(t1._as(N.RenderObjectElement.prototype.get$widget.call(_this)).trailing, C._ListTileSlot_3);
    },
    _list_tile$_updateRenderObject$2: function(child, slot) {
      var t1, _this = this;
      switch (slot) {
        case C._ListTileSlot_0:
          t1 = type$._RenderListTile._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._list_tile$_leading = t1._list_tile$_updateChild$3(t1._list_tile$_leading, child, C._ListTileSlot_0);
          break;
        case C._ListTileSlot_1:
          t1 = type$._RenderListTile._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._title = t1._list_tile$_updateChild$3(t1._title, child, C._ListTileSlot_1);
          break;
        case C._ListTileSlot_2:
          t1 = type$._RenderListTile._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._subtitle = t1._list_tile$_updateChild$3(t1._subtitle, child, C._ListTileSlot_2);
          break;
        case C._ListTileSlot_3:
          t1 = type$._RenderListTile._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
          t1._trailing = t1._list_tile$_updateChild$3(t1._trailing, child, C._ListTileSlot_3);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    insertRenderObjectChild$2: function(child, slot) {
      this._list_tile$_updateRenderObject$2(type$.RenderBox._as(child), slot);
    },
    removeRenderObjectChild$2: function(child, slot) {
      this._list_tile$_updateRenderObject$2(null, slot);
    },
    moveRenderObjectChild$3: function(child, oldSlot, newSlot) {
    }
  };
  Q._RenderListTile.prototype = {
    _list_tile$_updateChild$3: function(oldChild, newChild, slot) {
      var _this = this;
      if (oldChild != null) {
        _this.dropChild$1(oldChild);
        _this.children.remove$1(0, slot);
      }
      if (newChild != null) {
        _this.children.$indexSet(0, slot, newChild);
        _this.adoptChild$1(newChild);
      }
      return newChild;
    },
    get$_list_tile$_children: function($async$_) {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var _ = $async$_;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
        return function $async$get$_list_tile$_children($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._list_tile$_leading;
                $async$goto = t1 != null ? 2 : 3;
                break;
              case 2:
                // then
                $async$goto = 4;
                return t1;
              case 4:
                // after yield
              case 3:
                // join
                t1 = $async$self._title;
                $async$goto = t1 != null ? 5 : 6;
                break;
              case 5:
                // then
                $async$goto = 7;
                return t1;
              case 7:
                // after yield
              case 6:
                // join
                t1 = $async$self._subtitle;
                $async$goto = t1 != null ? 8 : 9;
                break;
              case 8:
                // then
                $async$goto = 10;
                return t1;
              case 10:
                // after yield
              case 9:
                // join
                t1 = $async$self._trailing;
                $async$goto = t1 != null ? 11 : 12;
                break;
              case 11:
                // then
                $async$goto = 13;
                return t1;
              case 13:
                // after yield
              case 12:
                // join
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.RenderBox);
    },
    set$isDense: function(value) {
      if (this._isDense === value)
        return;
      this._isDense = value;
      this.markNeedsLayout$0();
    },
    set$visualDensity: function(value) {
      if (this._visualDensity.$eq(0, value))
        return;
      this._visualDensity = value;
      this.markNeedsLayout$0();
    },
    set$isThreeLine: function(value) {
      return;
    },
    set$textDirection: function(_, value) {
      if (this._list_tile$_textDirection === value)
        return;
      this._list_tile$_textDirection = value;
      this.markNeedsLayout$0();
    },
    set$titleBaselineType: function(value) {
      if (this._titleBaselineType == value)
        return;
      this._titleBaselineType = value;
      this.markNeedsLayout$0();
    },
    set$subtitleBaselineType: function(value) {
      if (this._subtitleBaselineType == value)
        return;
      this._subtitleBaselineType = value;
      this.markNeedsLayout$0();
    },
    get$_effectiveHorizontalTitleGap: function() {
      return this._horizontalTitleGap + this._visualDensity.horizontal * 2;
    },
    set$horizontalTitleGap: function(value) {
      if (this._horizontalTitleGap === value)
        return;
      this._horizontalTitleGap = value;
      this.markNeedsLayout$0();
    },
    set$minVerticalPadding: function(value) {
      if (this._minVerticalPadding === value)
        return;
      this._minVerticalPadding = value;
      this.markNeedsLayout$0();
    },
    set$minLeadingWidth: function(value) {
      if (this._minLeadingWidth === value)
        return;
      this._minLeadingWidth = value;
      this.markNeedsLayout$0();
    },
    attach$1: function(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      for (t1 = this.get$_list_tile$_children(this), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();)
        t1.get$current(t1).attach$1(owner);
    },
    detach$0: function(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      for (t1 = this.get$_list_tile$_children(this), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();)
        t1.get$current(t1).detach$0(0);
    },
    redepthChildren$0: function() {
      this.get$_list_tile$_children(this).forEach$1(0, this.get$redepthChild());
    },
    visitChildren$1: function(visitor) {
      this.get$_list_tile$_children(this).forEach$1(0, visitor);
    },
    debugDescribeChildren$0: function() {
      var _this = this,
        value = H._setArrayType([], type$.JSArray_DiagnosticsNode),
        t1 = new Q._RenderListTile_debugDescribeChildren_add(value);
      t1.call$2(_this._list_tile$_leading, "leading");
      t1.call$2(_this._title, "title");
      t1.call$2(_this._subtitle, "subtitle");
      t1.call$2(_this._trailing, "trailing");
      return value;
    },
    get$sizedByParent: function() {
      return false;
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t2, leadingWidth, _this = this,
        t1 = _this._list_tile$_leading;
      if (t1 != null) {
        t1 = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
        t2 = _this._minLeadingWidth;
        leadingWidth = Math.max(H.checkNum(t1), t2) + _this.get$_effectiveHorizontalTitleGap();
      } else
        leadingWidth = 0;
      t1 = _this._title;
      t1 = t1 == null ? 0 : t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
      t2 = _this._subtitle;
      t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t2.get$computeMinIntrinsicWidth());
      t2 = Math.max(H.checkNum(t1), H.checkNum(t2));
      t1 = _this._trailing;
      t1 = t1 == null ? 0 : t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return leadingWidth + t2 + t1;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t2, leadingWidth, _this = this,
        t1 = _this._list_tile$_leading;
      if (t1 != null) {
        t1 = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
        t2 = _this._minLeadingWidth;
        leadingWidth = Math.max(H.checkNum(t1), t2) + _this.get$_effectiveHorizontalTitleGap();
      } else
        leadingWidth = 0;
      t1 = _this._title;
      t1 = t1 == null ? 0 : t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      t2 = _this._subtitle;
      t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t2.get$computeMaxIntrinsicWidth());
      t2 = Math.max(H.checkNum(t1), H.checkNum(t2));
      t1 = _this._trailing;
      t1 = t1 == null ? 0 : t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return leadingWidth + t2 + t1;
    },
    get$_defaultTileHeight: function() {
      var _this = this,
        t1 = _this._subtitle,
        t2 = _this._visualDensity,
        baseDensity = new P.Offset(t2.horizontal, t2.vertical).$mul(0, 4);
      if (t1 == null) {
        t1 = _this._isDense ? 48 : 56;
        return t1 + baseDensity._dy;
      }
      t1 = _this._isDense ? 64 : 72;
      return t1 + baseDensity._dy;
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t3,
        t1 = this.get$_defaultTileHeight(),
        t2 = this._title;
      t2 = t2._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, t2.get$computeMinIntrinsicHeight());
      t3 = this._subtitle;
      t3 = t3 == null ? null : t3._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, t3.get$computeMinIntrinsicHeight());
      return Math.max(t1, t2 + (t3 == null ? 0 : t3));
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return this.computeMinIntrinsicHeight$1(width);
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      var t1 = this._title,
        t2 = t1.parentData;
      t2.toString;
      t2 = type$.BoxParentData._as(t2).offset;
      t1 = t1.getDistanceToActualBaseline$1(baseline);
      t1.toString;
      return t2._dy + t1;
    },
    computeDryLayout$1: function(constraints) {
      return C.Size_0_0;
    },
    performLayout$0: function() {
      var looseConstraints, iconConstraints, tileWidth, leadingSize, trailingSize, titleStart, adjustedTrailingWidth, textConstraints, titleSize, subtitleSize, titleBaseline, subtitleBaseline, defaultTileHeight, tileHeight, titleY, subtitleY, t2, titleOverlap, titleY0, leadingY, trailingY, t3, _this = this,
        constraints = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)),
        hasLeading = _this._list_tile$_leading != null,
        isOneLine = _this._subtitle == null,
        hasSubtitle = !isOneLine,
        hasTrailing = _this._trailing != null,
        t1 = _this._visualDensity,
        densityAdjustment = new P.Offset(t1.horizontal, t1.vertical).$mul(0, 4);
      t1 = _this._isDense ? 48 : 56;
      looseConstraints = constraints.loosen$0();
      iconConstraints = looseConstraints.enforce$1(new S.BoxConstraints(0, 1 / 0, 0, t1 + densityAdjustment._dy));
      tileWidth = looseConstraints.maxWidth;
      leadingSize = Q._RenderListTile__layoutBox(_this._list_tile$_leading, iconConstraints);
      trailingSize = Q._RenderListTile__layoutBox(_this._trailing, iconConstraints);
      titleStart = hasLeading ? Math.max(_this._minLeadingWidth, H.checkNum(leadingSize._dx)) + _this.get$_effectiveHorizontalTitleGap() : 0;
      adjustedTrailingWidth = hasTrailing ? Math.max(trailingSize._dx + _this.get$_effectiveHorizontalTitleGap(), 32) : 0;
      textConstraints = looseConstraints.tighten$1$width(tileWidth - titleStart - adjustedTrailingWidth);
      titleSize = Q._RenderListTile__layoutBox(_this._title, textConstraints);
      subtitleSize = Q._RenderListTile__layoutBox(_this._subtitle, textConstraints);
      if (hasSubtitle) {
        t1 = _this._isDense;
        titleBaseline = t1 ? 28 : 32;
        subtitleBaseline = t1 ? 48 : 52;
      } else {
        titleBaseline = null;
        subtitleBaseline = null;
      }
      defaultTileHeight = _this.get$_defaultTileHeight();
      if (isOneLine) {
        t1 = titleSize._dy;
        tileHeight = Math.max(defaultTileHeight, t1 + 2 * _this._minVerticalPadding);
        titleY = (tileHeight - t1) / 2;
        subtitleY = null;
      } else {
        titleBaseline.toString;
        t1 = _this._title.getDistanceToBaseline$1(_this._titleBaselineType);
        t1.toString;
        titleY = titleBaseline - t1;
        subtitleBaseline.toString;
        t1 = _this._subtitle;
        t1.toString;
        t2 = _this._subtitleBaselineType;
        t2.toString;
        t2 = t1.getDistanceToBaseline$1(t2);
        t2.toString;
        subtitleY = subtitleBaseline - t2 + _this._visualDensity.vertical * 2;
        t2 = titleSize._dy;
        titleOverlap = titleY + t2 - subtitleY;
        if (titleOverlap > 0) {
          t1 = titleOverlap / 2;
          titleY -= t1;
          subtitleY += t1;
        }
        titleY0 = _this._minVerticalPadding;
        if (titleY < titleY0 || subtitleY + subtitleSize._dy + titleY0 > defaultTileHeight) {
          tileHeight = t2 + subtitleSize._dy + 2 * titleY0;
          subtitleY = t2 + 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) {
        case C.TextDirection_0:
          if (hasLeading) {
            t1 = _this._list_tile$_leading;
            t1.toString;
            t2 = leadingSize._dx;
            t1 = t1.parentData;
            t1.toString;
            type$.BoxParentData._as(t1).offset = new P.Offset(tileWidth - t2, leadingY);
          }
          t1 = _this._title.parentData;
          t1.toString;
          t2 = type$.BoxParentData;
          t2._as(t1).offset = new P.Offset(adjustedTrailingWidth, titleY);
          if (hasSubtitle) {
            t1 = _this._subtitle;
            t1.toString;
            subtitleY.toString;
            t1 = t1.parentData;
            t1.toString;
            t2._as(t1).offset = new P.Offset(adjustedTrailingWidth, subtitleY);
          }
          if (hasTrailing) {
            t1 = _this._trailing.parentData;
            t1.toString;
            t2._as(t1).offset = new P.Offset(0, trailingY);
          }
          break;
        case C.TextDirection_1:
          if (hasLeading) {
            t1 = _this._list_tile$_leading.parentData;
            t1.toString;
            type$.BoxParentData._as(t1).offset = new P.Offset(0, leadingY);
          }
          t1 = _this._title.parentData;
          t1.toString;
          t2 = type$.BoxParentData;
          t2._as(t1).offset = new P.Offset(titleStart, titleY);
          if (hasSubtitle) {
            t1 = _this._subtitle;
            t1.toString;
            subtitleY.toString;
            t1 = t1.parentData;
            t1.toString;
            t2._as(t1).offset = new P.Offset(titleStart, subtitleY);
          }
          if (hasTrailing) {
            t1 = _this._trailing;
            t1.toString;
            t3 = trailingSize._dx;
            t1 = t1.parentData;
            t1.toString;
            t2._as(t1).offset = new P.Offset(tileWidth - t3, trailingY);
          }
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      _this._box$_size = constraints.constrain$1(new P.Size(tileWidth, tileHeight));
    },
    paint$2: function(context, offset) {
      var _this = this,
        t1 = new Q._RenderListTile_paint_doPaint(context, offset);
      t1.call$1(_this._list_tile$_leading);
      t1.call$1(_this._title);
      t1.call$1(_this._subtitle);
      t1.call$1(_this._trailing);
    },
    hitTestSelf$1: function(position) {
      return true;
    },
    hitTestChildren$2$position: function(result, position) {
      var t1, t2, t3, t4;
      for (t1 = this.get$_list_tile$_children(this), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")), t2 = type$.BoxParentData; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t4 = t3.parentData;
        t4.toString;
        t2._as(t4);
        if (result.addWithPaintOffset$3$hitTest$offset$position(new Q._RenderListTile_hitTestChildren_closure(position, t4, t3), t4.offset, position))
          return true;
      }
      return false;
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  Q._RenderListTile_debugDescribeChildren_add.prototype = {
    call$2: function(child, $name) {
      if (child != null)
        this.value.push(Y.DiagnosticableTreeNode$($name, null, child));
    },
    $signature: 264
  };
  Q._RenderListTile_paint_doPaint.prototype = {
    call$1: function(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: 262
  };
  Q._RenderListTile_hitTestChildren_closure.prototype = {
    call$2: function(result, transformed) {
      return this.child.hitTest$2$position(result, transformed);
    },
    $signature: 215
  };
  M.MaterialType.prototype = {
    toString$0: function(_) {
      return this._material$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  M.Material.prototype = {
    createState$0: function() {
      return new M._MaterialState(new N.LabeledGlobalKey("ink renderer", type$.LabeledGlobalKey_State_StatefulWidget), null, C._StateLifecycle_0);
    }
  };
  M._MaterialState.prototype = {
    build$1: function(_, context) {
      var contents, t2, t3, t4, shape, _this = this, _null = null,
        theme = K.Theme_of(context),
        t1 = _this._widget,
        color = t1.color;
      if (color == null)
        switch (t1.type) {
          case C.MaterialType_0:
            color = theme.canvasColor;
            break;
          case C.MaterialType_1:
            color = theme.cardColor;
            break;
          default:
            break;
        }
      contents = t1.child;
      if (contents != null) {
        t1 = t1.textStyle;
        if (t1 == null) {
          t1 = K.Theme_of(context).textTheme.bodyText2;
          t1.toString;
        }
        t2 = _this._widget;
        contents = G.AnimatedDefaultTextStyle$(contents, C.C__Linear, t2.animationDuration, true, t1);
        t1 = t2;
      }
      t2 = t1.type;
      contents = new U.NotificationListener(new M._InkFeatures(color, _this, t2 !== C.MaterialType_4, contents, _this._inkFeatureRenderer), new M._MaterialState_build_closure(_this), _null, type$.NotificationListener_LayoutChangedNotification);
      if (t2 === C.MaterialType_0 && t1.shape == null && t1.borderRadius == null) {
        t2 = t1.elevation;
        color.toString;
        t3 = R.ElevationOverlay_applyOverlay(context, color, t2);
        t4 = _this._widget.shadowColor;
        if (t4 == null)
          t4 = K.Theme_of(context).shadowColor;
        return new G.AnimatedPhysicalModel(contents, C.BoxShape_0, t1.clipBehavior, C.BorderRadius_tLn, t2, t3, false, t4, C.Cubic_ifx, t1.animationDuration, _null, _null);
      }
      shape = _this._getShape$0();
      t1 = _this._widget;
      if (t1.type === C.MaterialType_4)
        return M._MaterialState__transparentInterior(t1.clipBehavior, contents, context, shape);
      t2 = t1.animationDuration;
      t3 = t1.clipBehavior;
      t4 = t1.elevation;
      color.toString;
      t1 = t1.shadowColor;
      return new M._MaterialInterior(contents, shape, true, t3, t4, color, t1 == null ? K.Theme_of(context).shadowColor : t1, C.Cubic_ifx, t2, _null, _null);
    },
    _getShape$0: function() {
      var t1 = this._widget,
        t2 = t1.shape;
      if (t2 != null)
        return t2;
      t2 = t1.borderRadius;
      if (t2 != null)
        return new X.RoundedRectangleBorder(t2, C.BorderSide_06g);
      t1 = t1.type;
      switch (t1) {
        case C.MaterialType_0:
        case C.MaterialType_4:
          return C.RoundedRectangleBorder_6Fb;
        case C.MaterialType_1:
        case C.MaterialType_3:
          t1 = $.$get$kMaterialEdges().$index(0, t1);
          t1.toString;
          return new X.RoundedRectangleBorder(t1, C.BorderSide_06g);
        case C.MaterialType_2:
          return C.CircleBorder_yHT;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    }
  };
  M._MaterialState_build_closure.prototype = {
    call$1: function(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: 774
  };
  M._RenderInkFeatures.prototype = {
    addInkFeature$1: function(feature) {
      var t1 = this._inkFeatures;
      (t1 == null ? this._inkFeatures = H._setArrayType([], type$.JSArray_InkFeature) : t1).push(feature);
      this.markNeedsPaint$0();
    },
    hitTestSelf$1: function(position) {
      return this.absorbHitTest;
    },
    paint$2: function(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(0, new P.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, H.throwConcurrentModificationError)(t1), ++_i)
          t1[_i]._material$_paint$1(canvas);
        canvas.restore$0(0);
      }
      _this.super$RenderProxyBoxMixin$paint(context, offset);
    }
  };
  M._InkFeatures.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new M._RenderInkFeatures(this.vsync, this.color, this.absorbHitTest, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.color = this.color;
      renderObject.absorbHitTest = this.absorbHitTest;
    }
  };
  M.InkFeature.prototype = {
    dispose$0: function(_) {
      var t1 = this._material$_controller,
        t2 = t1._inkFeatures;
      t2.toString;
      C.JSArray_methods.remove$1(t2, this);
      t1.markNeedsPaint$0();
      this.onRemoved.call$0();
    },
    _material$_paint$1: function(canvas) {
      var t1, t2, t3, transform, index, index0,
        node = this.referenceBox,
        descendants = H._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);
        descendants.push(t3);
      }
      transform = new E.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: function(_) {
      return "<optimized out>#" + Y.shortHash(this);
    }
  };
  M.ShapeBorderTween.prototype = {
    lerp$1: function(t) {
      return Y.ShapeBorder_lerp(this.begin, this.end, t);
    }
  };
  M._MaterialInterior.prototype = {
    createState$0: function() {
      return new M._MaterialInteriorState(null, C._StateLifecycle_0);
    }
  };
  M._MaterialInteriorState.prototype = {
    forEachTween$1: function(visitor) {
      var _this = this;
      _this._material$_elevation = type$.nullable_Tween_double._as(visitor.call$3(_this._material$_elevation, _this._widget.elevation, new M._MaterialInteriorState_forEachTween_closure()));
      _this._shadowColor = type$.nullable_ColorTween._as(visitor.call$3(_this._shadowColor, _this._widget.shadowColor, new M._MaterialInteriorState_forEachTween_closure0()));
      _this._border = type$.nullable_ShapeBorderTween._as(visitor.call$3(_this._border, _this._widget.shape, new M._MaterialInteriorState_forEachTween_closure1()));
    },
    build$1: function(_, context) {
      var t2, t3, elevation, t4, t5, t6, _this = this,
        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));
      t3 = T.Directionality_maybeOf(context);
      t1 = _this._widget;
      t4 = t1.clipBehavior;
      t1 = R.ElevationOverlay_applyOverlay(context, t1.color, elevation);
      t5 = _this._shadowColor;
      t5.toString;
      t6 = _this.get$_implicit_animations$_animation();
      t6 = t5.transform$1(0, t6.get$value(t6));
      t6.toString;
      return new T.PhysicalShape(new E.ShapeBorderClipper(t2, t3, null), t4, elevation, t1, t6, new M._ShapeBorderPaint(_this._widget.child, t2, true, null), null);
    }
  };
  M._MaterialInteriorState_forEachTween_closure.prototype = {
    call$1: function(value) {
      return new R.Tween(H._asDoubleS(value), null, type$.Tween_double);
    },
    $signature: 144
  };
  M._MaterialInteriorState_forEachTween_closure0.prototype = {
    call$1: function(value) {
      return new R.ColorTween(type$.Color._as(value), null);
    },
    $signature: 145
  };
  M._MaterialInteriorState_forEachTween_closure1.prototype = {
    call$1: function(value) {
      return new M.ShapeBorderTween(type$.ShapeBorder._as(value), null);
    },
    $signature: 777
  };
  M._ShapeBorderPaint.prototype = {
    build$1: function(_, context) {
      var t1 = T.Directionality_maybeOf(context);
      return T.CustomPaint$(this.child, new M._ShapeBorderPainter(this.shape, t1, null), null, null, C.Size_0_0);
    }
  };
  M._ShapeBorderPainter.prototype = {
    paint$2: function(canvas, size) {
      this.border.paint$3$textDirection(canvas, new P.Rect(0, 0, 0 + size._dx, 0 + size._dy), this.textDirection);
    },
    shouldRepaint$1: function(oldDelegate) {
      return !J.$eq$(oldDelegate.border, this.border);
    }
  };
  M.__MaterialState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  U._MaterialLocalizationsDelegate.prototype = {
    isSupported$1: function(locale) {
      return locale.get$languageCode(locale) === "en";
    },
    load$1: function(_, locale) {
      return new O.SynchronousFuture(C.C_DefaultMaterialLocalizations, type$.SynchronousFuture_MaterialLocalizations);
    },
    shouldReload$1: function(old) {
      return false;
    },
    toString$0: function(_) {
      return "DefaultMaterialLocalizations.delegate(en_US)";
    }
  };
  U.DefaultMaterialLocalizations.prototype = {$isMaterialLocalizations: 1};
  V.MaterialState.prototype = {
    toString$0: function(_) {
      return this._material_state$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  V.MaterialStateMouseCursor.prototype = {
    createSession$1: function(device) {
      return this.resolve$1(P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState)).createSession$1(device);
    },
    $isMaterialStateProperty: 1
  };
  V._EnabledAndDisabledMouseCursor.prototype = {
    resolve$1: function(states) {
      if (states.contains$1(0, C.MaterialState_6))
        return C.SystemMouseCursor_basic;
      return this.enabledCursor;
    },
    get$debugDescription: function() {
      return "MaterialStateMouseCursor(" + this.name + ")";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  V.MaterialStateProperty.prototype = {};
  V._MaterialStatePropertyWith.prototype = {
    resolve$1: function(states) {
      return this._material_state$_resolve.call$1(states);
    },
    $isMaterialStateProperty: 1
  };
  V._MaterialStatePropertyAll.prototype = {
    resolve$1: function(states) {
      return this.value;
    },
    toString$0: function(_) {
      return "MaterialStateProperty.all(" + H.S(this.value) + ")";
    },
    $isMaterialStateProperty: 1
  };
  E.NavigationRail.prototype = {
    createState$0: function() {
      return new E._NavigationRailState(null, C._StateLifecycle_0);
    }
  };
  E._NavigationRailState.prototype = {
    get$_destinationControllers: function() {
      var t1 = this.___NavigationRailState__destinationControllers;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_destinationControllers")) : t1;
    },
    get$_extendedController: function() {
      var t1 = this.___NavigationRailState__extendedController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_extendedController")) : t1;
    },
    get$_extendedAnimation: function() {
      var t1 = this.___NavigationRailState__extendedAnimation;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_extendedAnimation")) : t1;
    },
    initState$0: function() {
      this.super$State$initState();
      this._initControllers$0();
    },
    dispose$0: function(_) {
      this._disposeControllers$0();
      this.super$__NavigationRailState_State_TickerProviderStateMixin$dispose(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t1.toString;
      if (t1.destinations.length !== oldWidget.destinations.length) {
        _this._disposeControllers$0();
        _this._initControllers$0();
        return;
      }
      t2 = oldWidget.selectedIndex;
      if (t1.selectedIndex != t2) {
        J.reverse$0$z(J.$index$asx(_this.get$_destinationControllers(), t2));
        J.forward$0$z(J.$index$asx(_this.get$_destinationControllers(), _this._widget.selectedIndex));
        return;
      }
    },
    build$1: function(_, context) {
      var t1, navigationRailTheme, backgroundColor, elevation, baseSelectedColor, t2, baseUnselectedColor, defaultUnselectedIconTheme, t3, t4, unselectedIconTheme, defaultSelectedIconTheme, selectedIconTheme, unselectedLabelTextStyle, selectedLabelTextStyle, groupAlignment, labelType, t5, i, t6, t7, t8, t9, t0, t10, t11, t12, t13, i0, t14, t15, t16, t17, _this = this, _null = null,
        theme = K.Theme_of(context);
      context.dependOnInheritedWidgetOfExactType$1$0(type$.NavigationRailTheme);
      t1 = K.Theme_of(context);
      navigationRailTheme = t1.navigationRailTheme;
      L.Localizations_of(context, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      t1 = _this._widget;
      t1.toString;
      backgroundColor = navigationRailTheme.backgroundColor;
      if (backgroundColor == null)
        backgroundColor = theme.colorScheme.surface;
      elevation = t1.elevation;
      t1 = theme.colorScheme;
      baseSelectedColor = t1.primary;
      t1 = t1.onSurface;
      t2 = t1.value;
      baseUnselectedColor = P.Color$fromARGB(163, t2 >>> 16 & 255, t2 >>> 8 & 255, t2 & 255);
      defaultUnselectedIconTheme = navigationRailTheme.unselectedIconTheme;
      t2 = defaultUnselectedIconTheme == null;
      t3 = t2 ? _null : defaultUnselectedIconTheme.size;
      if (t3 == null)
        t3 = 24;
      t4 = t2 ? _null : defaultUnselectedIconTheme.color;
      t1 = t4 == null ? t1 : t4;
      t2 = t2 ? _null : defaultUnselectedIconTheme.get$opacity(defaultUnselectedIconTheme);
      unselectedIconTheme = new T.IconThemeData(t1, t2 == null ? 0.64 : t2, t3);
      _this._widget.toString;
      defaultSelectedIconTheme = navigationRailTheme.selectedIconTheme;
      t1 = defaultSelectedIconTheme == null;
      t2 = t1 ? _null : defaultSelectedIconTheme.size;
      if (t2 == null)
        t2 = 24;
      t3 = t1 ? _null : defaultSelectedIconTheme.color;
      if (t3 == null)
        t3 = baseSelectedColor;
      t1 = t1 ? _null : defaultSelectedIconTheme.get$opacity(defaultSelectedIconTheme);
      selectedIconTheme = new T.IconThemeData(t3, t1 == null ? 1 : t1, t2);
      t1 = theme.textTheme.bodyText1;
      t2 = t1.copyWith$1$color(baseUnselectedColor);
      _this._widget.toString;
      unselectedLabelTextStyle = t2.merge$1(navigationRailTheme.unselectedLabelTextStyle);
      t1 = t1.copyWith$1$color(baseSelectedColor);
      _this._widget.toString;
      selectedLabelTextStyle = t1.merge$1(navigationRailTheme.selectedLabelTextStyle);
      t1 = _this._widget;
      t1.toString;
      groupAlignment = navigationRailTheme.groupAlignment;
      if (groupAlignment == null)
        groupAlignment = -1;
      labelType = t1.labelType;
      t1 = _this.get$_extendedAnimation();
      t2 = type$.JSArray_Widget;
      t3 = H._setArrayType([C.SizedBox_null_8_null_null], t2);
      _this._widget.toString;
      t2 = H._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, i < t7.length; i = i0) {
        t8 = _this.___NavigationRailState__extendedAnimation;
        if (t8 === $)
          t8 = H.throwExpression(H.LateError$fieldNI("_extendedAnimation"));
        t6 = t6.selectedIndex === i;
        if (t6) {
          t7 = t7[i];
          t9 = t7.selectedIcon;
          t0 = t9;
          t9 = t7;
          t7 = t0;
        } else {
          t7 = t7[i];
          t9 = t7.icon;
          t0 = t9;
          t9 = t7;
          t7 = t0;
        }
        t10 = _this.___NavigationRailState__destinationAnimations;
        t10 = J.$index$asx(t10 === $ ? H.throwExpression(H.LateError$fieldNI("_destinationAnimations")) : t10, i);
        t11 = _this._widget;
        t12 = t11.selectedIndex === i;
        t13 = t12 ? selectedIconTheme : unselectedIconTheme;
        t12 = t12 ? selectedLabelTextStyle : unselectedLabelTextStyle;
        i0 = i + 1;
        t11 = t11.destinations.length;
        t11 = "Tab " + i0 + " of " + t11;
        t14 = H._setArrayType([], t4);
        t15 = new R.ObserverList(t14, t5);
        t16 = new S.ReverseAnimation(t10, t15, 0);
        t17 = new S.CurvedAnimation(t16, C.Cubic_xDo, new Z.FlippedCurve(C.Cubic_xDo));
        t17._updateCurveDirection$1(t16.get$status(t16));
        t16.didRegisterListener$0();
        t15._isDirty = true;
        t14.push(t17.get$_updateCurveDirection());
        t2.push(new E._RailDestination(72, 256, t7, t9.label, t10, labelType, t6, t8, t13, t12, new E._NavigationRailState_build_closure(_this, i), t11, _null, t17, _null));
      }
      t3.push(T.Expanded$(new T.Align(new K.Alignment(0, groupAlignment), _null, _null, T.Column$(t2, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_0, C.VerticalDirection_1), _null), 1));
      return new E._ExtendedNavigationRailAnimation(t1, T.Semantics$(_null, _null, M.Material$(C.Duration_200000, true, _null, T.Column$(t3, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, backgroundColor, elevation, _null, _null, _null, _null, C.MaterialType_0), false, _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);
    },
    _disposeControllers$0: function() {
      var t1, t2, t3;
      for (t1 = J.get$iterator$ax(this.get$_destinationControllers()); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t2._ticker.dispose$0(0);
        t2._ticker = null;
        t3 = t2.AnimationLocalStatusListenersMixin__statusListeners;
        t3._isDirty = false;
        C.JSArray_methods.set$length(t3._observer_list$_list, 0);
        t3 = t3.get$_observer_list$_set();
        if (t3._collection$_length > 0) {
          t3._collection$_strings = t3._collection$_nums = t3._collection$_rest = t3._elements = null;
          t3._collection$_length = 0;
        }
        t3 = t2.AnimationLocalListenersMixin__listeners;
        t3._isDirty = false;
        C.JSArray_methods.set$length(t3._observer_list$_list, 0);
        t3 = t3.get$_observer_list$_set();
        if (t3._collection$_length > 0) {
          t3._collection$_strings = t3._collection$_nums = t3._collection$_rest = t3._elements = null;
          t3._collection$_length = 0;
        }
        t2.super$AnimationEagerListenerMixin$dispose(0);
      }
      this.get$_extendedController().dispose$0(0);
    },
    _initControllers$0: function() {
      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 = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _null, _this);
        t2.didRegisterListener$0();
        t3 = t2.AnimationLocalListenersMixin__listeners;
        t3._isDirty = true;
        t3._observer_list$_list.push(t1);
        _list[index] = t2;
      }
      _this.___NavigationRailState__destinationControllers = _list;
      _this.___NavigationRailState__destinationAnimations = J.map$1$1$ax(_this.get$_destinationControllers(), new E._NavigationRailState__initControllers_closure(), type$.Animation_double).toList$0(0);
      J.set$value$x(J.$index$asx(_this.get$_destinationControllers(), _this._widget.selectedIndex), 1);
      _this._widget.toString;
      _this.___NavigationRailState__extendedController = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, 0, _this);
      _this.___NavigationRailState__extendedAnimation = S.CurvedAnimation$(C.Cubic_xDo, _this.get$_extendedController(), _null);
      t1 = _this.get$_extendedController();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._observer_list$_list.push(new E._NavigationRailState__initControllers_closure0(_this));
    },
    _navigation_rail$_rebuild$0: function() {
      this.setState$1(new E._NavigationRailState__rebuild_closure());
    }
  };
  E._NavigationRailState_build_closure.prototype = {
    call$0: function() {
      this.$this._widget.onDestinationSelected.call$1(this.i);
    },
    $signature: 0
  };
  E._NavigationRailState__initControllers_closure.prototype = {
    call$1: function(controller) {
      controller.toString;
      return controller;
    },
    $signature: 778
  };
  E._NavigationRailState__initControllers_closure0.prototype = {
    call$0: function() {
      this.$this._navigation_rail$_rebuild$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  E._NavigationRailState__rebuild_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  E._RailDestination.prototype = {
    build$1: function(_, context) {
      var t2, iconPart, t3, $content, t4, appearingAnimationValue, colors, _this = this, _null = null,
        themedIcon = Y.IconTheme$(_this.icon, _this.iconTheme, _null),
        t1 = _this.label,
        styledLabel = L.DefaultTextStyle$(t1, _null, _null, C.TextOverflow_0, true, _this.labelTextStyle, _null, _null, C.TextWidthBasis_0);
      switch (_this.labelType) {
        case C.NavigationRailLabelType_0:
          t2 = _this.minWidth;
          iconPart = T.SizedBox$(new T.Align(C.Alignment_0_0, _null, _null, themedIcon, _null), t2, t2);
          t3 = _this.extendedTransitionAnimation;
          if (J.$eq$(t3.get$value(t3), 0))
            $content = new T.Padding(C.EdgeInsets_0_0_0_0, T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([iconPart, T.SizedBox$(T.Opacity$(true, t1, 0), 0, 0)], type$.JSArray_Widget), C.Clip_1, C.StackFit_0, _null, _null), _null);
          else {
            t1 = P.lerpDouble(t2, _this.minExtendedWidth, t3.get$value(t3));
            t1.toString;
            t4 = t3.get$value(t3);
            $content = new T.Padding(C.EdgeInsets_0_0_0_0, new T.ConstrainedBox(new S.BoxConstraints(t1, 1 / 0, 0, 1 / 0), T.ClipRect$(T.Row$(H._setArrayType([iconPart, new T.Align(C.AlignmentDirectional_m1_0, t4, 1, T.Opacity$(true, styledLabel, t3.get$value(t3) < 0.25 ? t3.get$value(t3) * 4 : 1), _null), T.SizedBox$(_null, _null, 8 * t3.get$value(t3))], type$.JSArray_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null), _null), _null);
          }
          t1 = t2;
          break;
        case C.NavigationRailLabelType_1:
          t1 = _this._positionAnimation;
          appearingAnimationValue = 1 - t1.get$value(t1);
          t1 = P.lerpDouble(24, 16, appearingAnimationValue);
          t1.toString;
          t2 = _this.minWidth;
          t3 = T.SizedBox$(_null, t1, _null);
          $content = M.Container$(_null, T.ClipRect$(T.Column$(H._setArrayType([t3, themedIcon, new T.Align(C.Alignment_0_m1, 1, appearingAnimationValue, T.Opacity$(true, styledLabel, _this.selected ? _this._normalLabelFadeInValue$0() : _this._normalLabelFadeOutValue$0()), _null), T.SizedBox$(_null, t1, _null)], type$.JSArray_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_2, C.MainAxisSize_0, C.VerticalDirection_1), _null), C.Clip_0, _null, new S.BoxConstraints(t2, 1 / 0, t2, 1 / 0), _null, _null, _null, _null, _null, C.EdgeInsets_8_0_8_0, _null, _null, _null);
          t1 = t2;
          break;
        case C.NavigationRailLabelType_2:
          t1 = _this.minWidth;
          $content = M.Container$(_null, T.Column$(H._setArrayType([C.SizedBox_null_16_null_null, themedIcon, styledLabel, C.SizedBox_null_16_null_null], type$.JSArray_Widget), C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, C.VerticalDirection_1), C.Clip_0, _null, new S.BoxConstraints(t1, 1 / 0, t1, 1 / 0), _null, _null, _null, _null, _null, C.EdgeInsets_8_0_8_0, _null, _null, _null);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      colors = K.Theme_of(context).colorScheme;
      t1 /= 2;
      t1 = K.BorderRadius$all(new P.Radius(t1, t1));
      t2 = colors.primary;
      t3 = P.Color$fromARGB(31, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
      return T.Semantics$(_null, _null, T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([M.Material$(C.Duration_200000, true, _null, R.InkResponse$(false, t1, true, $content, true, _null, true, false, _null, _null, _null, C.BoxShape_0, P.Color$fromARGB(10, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255), _null, _null, _null, _null, _null, new E._RailDestination_build_closure(), _null, _this.onTap, _null, _null, _null, _null, t3, _null), C.Clip_0, _null, 0, _null, _null, _null, _null, C.MaterialType_4), T.Semantics$(_null, _null, _null, false, _null, _null, false, _null, _null, _null, _null, _this.indexLabel, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)], type$.JSArray_Widget), C.Clip_1, C.StackFit_0, _null, _null), true, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.selected, _null, _null, _null, _null, _null);
    },
    _normalLabelFadeInValue$0: function() {
      var t1 = this.destinationAnimation;
      if (t1.get$value(t1) < 0.25)
        return 0;
      else if (t1.get$value(t1) < 0.75)
        return (t1.get$value(t1) - 0.25) * 2;
      else
        return 1;
    },
    _normalLabelFadeOutValue$0: function() {
      var t1 = this.destinationAnimation;
      if (t1.get$value(t1) > 0.75)
        return (t1.get$value(t1) - 0.75) * 4;
      else
        return 0;
    }
  };
  E._RailDestination_build_closure.prototype = {
    call$1: function(_) {
    },
    $signature: 11
  };
  E.NavigationRailLabelType.prototype = {
    toString$0: function(_) {
      return this._navigation_rail$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  E.NavigationRailDestination.prototype = {};
  E._ExtendedNavigationRailAnimation.prototype = {
    updateShouldNotify$1: function(old) {
      return this.animation != old.animation;
    }
  };
  E.__NavigationRailState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  E.NavigationRailThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.backgroundColor, _this.elevation, _this.unselectedLabelTextStyle, _this.selectedLabelTextStyle, _this.unselectedIconTheme, _this.selectedIconTheme, _this.groupAlignment, _this.labelType, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof E.NavigationRailThemeData && J.$eq$(other.backgroundColor, _this.backgroundColor) && other.elevation == _this.elevation && J.$eq$(other.unselectedLabelTextStyle, _this.unselectedLabelTextStyle) && J.$eq$(other.selectedLabelTextStyle, _this.selectedLabelTextStyle) && J.$eq$(other.unselectedIconTheme, _this.unselectedIconTheme) && J.$eq$(other.selectedIconTheme, _this.selectedIconTheme) && other.groupAlignment == _this.groupAlignment && true;
    }
  };
  E._NavigationRailThemeData_Object_Diagnosticable.prototype = {};
  B.OutlinedButton.prototype = {
    defaultStyleOf$1: function(context) {
      var scaledPadding, t2, t3, t4,
        theme = K.Theme_of(context),
        colorScheme = theme.colorScheme,
        t1 = F.MediaQuery_maybeOf(context);
      t1 = t1 == null ? null : t1.textScaleFactor;
      scaledPadding = K.ButtonStyleButton_scaledPadding(C.EdgeInsets_16_0_16_0, C.EdgeInsets_8_0_8_0, C.EdgeInsets_4_0_4_0, t1 == null ? 1 : t1);
      t1 = theme.shadowColor;
      t2 = theme.textTheme;
      t3 = K.Theme_of(context).colorScheme.onSurface.value;
      t3 = P.Color$fromARGB(31, t3 >>> 16 & 255, t3 >>> 8 & 255, t3 & 255);
      t4 = theme.visualDensity;
      return B.OutlinedButton_styleFrom(C.Alignment_0_0, C.Duration_200000, C.Color_0, C.SystemMouseCursor_forbidden, 0, true, C.SystemMouseCursor_click, null, C.Size_wjo, C.Size_64_36, colorScheme.onSurface, scaledPadding, colorScheme.primary, t1, C.RoundedRectangleBorder_6Fb1, new Y.BorderSide(t3, 1, C.BorderStyle_1), C.C__InkRippleFactory, theme.materialTapTargetSize, t2.button, t4);
    },
    themeStyleOf$1: function(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.OutlinedButtonTheme);
      t1 = K.Theme_of(context);
      return t1.outlinedButtonTheme.style;
    }
  };
  B._OutlinedButtonDefaultForeground.prototype = {
    resolve$1: function(states) {
      var t1;
      if (states.contains$1(0, C.MaterialState_6)) {
        t1 = this.onSurface;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1.value;
          t1 = P.Color$fromARGB(97, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return t1;
      }
      return this.primary;
    }
  };
  B._OutlinedButtonDefaultOverlay.prototype = {
    resolve$1: function(states) {
      var t1;
      if (states.contains$1(0, C.MaterialState_0)) {
        t1 = this.primary;
        return P.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, C.MaterialState_1) || states.contains$1(0, C.MaterialState_2)) {
        t1 = this.primary;
        return P.Color$fromARGB(31, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      return null;
    }
  };
  B._OutlinedButtonDefaultMouseCursor.prototype = {
    resolve$1: function(states) {
      if (states.contains$1(0, C.MaterialState_6))
        return this.disabledCursor;
      return this.enabledCursor;
    }
  };
  B.__OutlinedButtonDefaultForeground_MaterialStateProperty_Diagnosticable.prototype = {};
  B.__OutlinedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable.prototype = {};
  B.__OutlinedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable.prototype = {};
  U.OutlinedButtonThemeData.prototype = {
    get$hashCode: function(_) {
      return J.get$hashCode$(this.style);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof U.OutlinedButtonThemeData && J.$eq$(other.style, this.style);
    }
  };
  U._OutlinedButtonThemeData_Object_Diagnosticable.prototype = {};
  V.MaterialRouteTransitionMixin.prototype = {
    get$transitionDuration: function(_) {
      return C.Duration_300000;
    },
    get$barrierColor: function() {
      return null;
    },
    get$barrierLabel: function() {
      return null;
    },
    canTransitionTo$1: function(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: function(context, animation, secondaryAnimation) {
      var _null = null;
      return T.Semantics$(_null, _null, this.buildContent$1(context), false, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null);
    },
    buildTransitions$4: function(context, animation, secondaryAnimation, child) {
      var platform;
      K.Theme_of(context).toString;
      platform = K.Theme_of(context).platform;
      C.Map_empty2.$index(0, this._navigator$_navigator.userGestureInProgressNotifier._value ? C.TargetPlatform_2 : platform);
      return child;
    }
  };
  V.MaterialPage.prototype = {};
  V._PageBasedMaterialPageRoute.prototype = {
    buildContent$1: function(context) {
      return this.$ti._eval$1("MaterialPage<1>")._as(this._settings).child;
    },
    get$maintainState: function() {
      this.$ti._eval$1("MaterialPage<1>")._as(this._settings).toString;
      return true;
    },
    get$fullscreenDialog: function() {
      this.$ti._eval$1("MaterialPage<1>")._as(this._settings).toString;
      return false;
    },
    get$debugLabel: function() {
      return T.TransitionRoute.prototype.get$debugLabel.call(this) + "(" + H.S(this.$ti._eval$1("MaterialPage<1>")._as(this._settings).name) + ")";
    }
  };
  V.__PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin.prototype = {};
  K.PageTransitionsTheme.prototype = {
    _all$1: function(builders) {
      var t1 = type$.MappedListIterable_of_legacy_TargetPlatform_and_nullable_PageTransitionsBuilder;
      return P.List_List$of(new H.MappedListIterable(C.List_BfG, new K.PageTransitionsTheme__all_closure(builders), t1), true, t1._eval$1("ListIterable.E"));
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      t1 = other instanceof K.PageTransitionsTheme;
      if (t1 && true)
        return true;
      return t1 && S.listEquals0(_this._all$1(C.Map_empty2), _this._all$1(C.Map_empty2));
    },
    get$hashCode: function(_) {
      return P.hashList(this._all$1(C.Map_empty2));
    }
  };
  K.PageTransitionsTheme__all_closure.prototype = {
    call$1: function(platform) {
      return this.builders.$index(0, platform);
    },
    $signature: 779
  };
  K._PageTransitionsTheme_Object_Diagnosticable.prototype = {};
  Z.PopupMenuEntry.prototype = {};
  Z._MenuItem0.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new Z._RenderMenuItem0(this.onLayout, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.onLayout = this.onLayout;
    }
  };
  Z._RenderMenuItem0.prototype = {
    computeDryLayout$1: function(constraints) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return C.Size_0_0;
      return t1.getDryLayout$1(constraints);
    },
    performLayout$0: function() {
      var t2, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        t1 = _this._box$_size = C.Size_0_0;
      else {
        t2 = type$.BoxConstraints;
        t1.layout$2$parentUsesSize(0, t2._as(K.RenderObject.prototype.get$constraints.call(_this)), true);
        t2 = t2._as(K.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 = C.Offset_0_0;
      }
      _this.onLayout.call$1(t1);
    }
  };
  Z.PopupMenuItem.prototype = {
    createState$0: function() {
      var t1 = this.$ti;
      return new Z.PopupMenuItemState(C._StateLifecycle_0, t1._eval$1("@<1>")._bind$1(t1)._eval$1("PopupMenuItemState<1,2>"));
    }
  };
  Z.PopupMenuItemState.prototype = {
    handleTap$0: function() {
      var t2,
        t1 = this._widget;
      t1.toString;
      t2 = this._framework$_element;
      t2.toString;
      K.Navigator_of(t2, false).pop$1(0, t1.value);
    },
    build$1: function(_, context) {
      var style, t2, item, effectiveMouseCursor, _null = null,
        theme = K.Theme_of(context),
        popupMenuTheme = R.PopupMenuTheme_of(context),
        t1 = this._widget;
      t1.toString;
      style = popupMenuTheme.textStyle;
      if (style == null) {
        t2 = theme.textTheme.subtitle1;
        t2.toString;
        style = t2;
      }
      item = G.AnimatedDefaultTextStyle$(M.Container$(C.AlignmentDirectional_m1_0, t1.child, C.Clip_0, _null, new S.BoxConstraints(0, 1 / 0, 48, 1 / 0), _null, _null, _null, _null, _null, C.EdgeInsets_16_0_16_0, _null, _null, _null), C.C__Linear, C.Duration_200000, true, style);
      effectiveMouseCursor = V.MaterialStateProperty_resolveAs(C._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable, P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState), type$.MouseCursor);
      this._widget.toString;
      return new T.MergeSemantics(T.Semantics$(true, _null, R.InkWell$(false, true, item, _null, true, _null, _null, _null, _null, _null, effectiveMouseCursor, _null, _null, _null, _null, _null, this.get$handleTap(), _null, _null, _null, _null, _null), false, _null, true, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null);
    }
  };
  Z._PopupMenu.prototype = {
    build$1: function(_, context) {
      var t4, i, i0, start, end, t5, 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 = H._setArrayType([], type$.JSArray_Widget),
        popupMenuTheme = R.PopupMenuTheme_of(context);
      for (t4 = 1.5 * unit, i = 0; i < t3.get$length(t2); i = i0) {
        i0 = i + 1;
        start = i0 * unit;
        end = C.JSNumber_methods.clamp$2(start + t4, 0, 1);
        t5 = t1._animationProxy;
        opacity = new S.CurvedAnimation(t5, new Z.Interval(start, end, C.C__Linear), _null);
        opacity._updateCurveDirection$1(t5.get$status(t5));
        t5.didRegisterListener$0();
        t5 = t5.AnimationLocalStatusListenersMixin__statusListeners;
        t5._isDirty = true;
        t5._observer_list$_list.push(opacity.get$_updateCurveDirection());
        item = t3.$index(t2, i);
        children.push(new Z._MenuItem0(new Z._PopupMenu_build_closure(_this, i), new K.FadeTransition(opacity, false, item, _null), _null));
      }
      t2 = t3.get$length(t2);
      t3 = T.IntrinsicWidth$(T.Semantics$(_null, _null, E.SingleChildScrollView$(new T.ListBody(children, _null), _null, C.DragStartBehavior_1, C.EdgeInsets_0_8_0_8, _null, false, C.Axis_1), false, _null, _null, true, _null, _null, _null, _null, _this.semanticLabel, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null), 56);
      t1 = t1._animationProxy;
      t1.toString;
      return K.AnimatedBuilder$(t1, new Z._PopupMenu_build_closure0(_this, new R.CurveTween(C.Interval_75R4), popupMenuTheme, new R.CurveTween(new Z.Interval(0, unit, C.C__Linear)), new R.CurveTween(new Z.Interval(0, unit * t2, C.C__Linear))), new T.ConstrainedBox(C.BoxConstraints_EcO, t3, _null));
    }
  };
  Z._PopupMenu_build_closure.prototype = {
    call$1: function(size) {
      this.$this.route.itemSizes[this.i] = size;
    },
    $signature: 267
  };
  Z._PopupMenu_build_closure0.prototype = {
    call$2: function(context, child) {
      var t3, t4, t5, t6, _this = this, _null = null,
        t1 = _this.$this.route,
        t2 = t1._animationProxy;
      t2 = _this.opacity.transform$1(0, t2.get$value(t2));
      t3 = t1.shape;
      if (t3 == null)
        t3 = _this.popupMenuTheme.shape;
      t4 = t1.color;
      if (t4 == null)
        t4 = _this.popupMenuTheme.color;
      t5 = t1.elevation;
      if (t5 == null)
        t5 = _this.popupMenuTheme.elevation;
      if (t5 == null)
        t5 = 8;
      t6 = t1._animationProxy;
      t6 = _this.width.transform$1(0, t6.get$value(t6));
      t1 = t1._animationProxy;
      return T.Opacity$(false, M.Material$(C.Duration_200000, true, _null, new T.Align(C.AlignmentDirectional_1_m1, t6, _this.height.transform$1(0, t1.get$value(t1)), child, _null), C.Clip_0, t4, t5, _null, _null, t3, _null, C.MaterialType_1), t2);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 780
  };
  Z._PopupMenuRouteLayout.prototype = {
    getConstraintsForChild$1: function(constraints) {
      return S.BoxConstraints$loose(new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight))).deflate$1(C.EdgeInsets_8_8_8_8.$add(0, this.padding));
    },
    getPositionForChild$2: function(size, childSize) {
      var t4, selectedItemOffset, index, x, x0, t5, y0, _this = this,
        t1 = size._dy,
        t2 = _this.position,
        y = t2.top,
        t3 = _this.selectedItemIndex;
      if (t3 != null && true) {
        t3.toString;
        t4 = _this.itemSizes;
        selectedItemOffset = 8;
        index = 0;
        for (; index < t3; ++index)
          selectedItemOffset += t4[index]._dy;
        y = y + (t1 - y - t2.bottom) / 2 - (selectedItemOffset + t4[t3]._dy / 2);
      }
      x = t2.left;
      t2 = t2.right;
      if (x > t2)
        x = size._dx - t2 - childSize._dx;
      else if (!(x < t2))
        switch (_this.textDirection) {
          case C.TextDirection_0:
            x = size._dx - t2 - childSize._dx;
            break;
          case C.TextDirection_1:
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      t2 = _this.padding;
      x0 = 8 + t2.left;
      if (x < x0)
        x = x0;
      else {
        t3 = childSize._dx;
        t4 = size._dx;
        t5 = t2.right;
        if (x + t3 > t4 - 8 - t5)
          x = t4 - t3 - 8 - t5;
      }
      y0 = 8 + t2.top;
      if (y < y0)
        y = y0;
      else {
        t3 = childSize._dy;
        t2 = t2.bottom;
        if (y + t3 > t1 - 8 - t2)
          y = t1 - t2 - 8 - t3;
      }
      return new P.Offset(x, y);
    },
    shouldRelayout$1: function(oldDelegate) {
      var _this = this;
      return !_this.position.$eq(0, oldDelegate.position) || _this.selectedItemIndex != oldDelegate.selectedItemIndex || _this.textDirection !== oldDelegate.textDirection || !S.listEquals0(_this.itemSizes, oldDelegate.itemSizes) || !_this.padding.$eq(0, oldDelegate.padding);
    }
  };
  Z._PopupMenuRoute.prototype = {
    createAnimation$0: function() {
      return S.CurvedAnimation$(C.C__Linear, this.super$TransitionRoute$createAnimation(), C.Interval_75R5);
    },
    get$transitionDuration: function(_) {
      return C.Duration_300000;
    },
    get$barrierDismissible: function() {
      return true;
    },
    get$barrierColor: function() {
      return null;
    },
    buildPage$3: function(context, animation, secondaryAnimation) {
      var _this = this, _box_0 = {};
      _box_0.selectedItemIndex = null;
      return F.MediaQuery_MediaQuery$removePadding(new T.Builder(new Z._PopupMenuRoute_buildPage_closure(_box_0, _this, context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data, new Z._PopupMenu(_this, _this.semanticLabel, null, _this.$ti._eval$1("_PopupMenu<1>"))), null), context, true, true, true, true);
    },
    get$barrierLabel: function() {
      return this.barrierLabel;
    }
  };
  Z._PopupMenuRoute_buildPage_closure.prototype = {
    call$1: function(context) {
      var _this = this,
        t1 = _this.$this,
        t2 = _this._box_0.selectedItemIndex,
        t3 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t3.toString;
      return new T.CustomSingleChildLayout(new Z._PopupMenuRouteLayout(t1.position, t1.itemSizes, t2, t3.textDirection, _this.mediaQuery.padding), new M._CaptureAll(t1.capturedThemes._themes, _this.menu, null), null);
    },
    $signature: 270
  };
  Z.PopupMenuButton.prototype = {
    createState$0: function() {
      return new Z.PopupMenuButtonState(C._StateLifecycle_0, this.$ti._eval$1("PopupMenuButtonState<1>"));
    },
    itemBuilder$1: function(arg0) {
      return this.itemBuilder.call$1(arg0);
    }
  };
  Z.PopupMenuButtonState.prototype = {
    showButtonMenu$0: function() {
      var popupMenuTheme, t2, t3, t4, position, items, elevation, shape, color, semanticLabel, $navigator, t5, t6, t7, t8, t9, t10, t11, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      popupMenuTheme = R.PopupMenuTheme_of(t1);
      t1 = _this._framework$_element.get$renderObject();
      t1.toString;
      t2 = type$.RenderBox;
      t2._as(t1);
      t3 = _this._framework$_element;
      t3.toString;
      t3 = K.Navigator_of(t3, false).get$_overlayKey().get$currentState()._framework$_element.get$renderObject();
      t3.toString;
      t2._as(t3);
      t2 = _this._widget.offset;
      t2 = T.MatrixUtils_transformPoint(t1.getTransformTo$1(0, t3), t2);
      t4 = t1._box$_size.bottomRight$1(0, C.Offset_0_0).$add(0, _this._widget.offset);
      t4 = P.Rect$fromPoints(t2, T.MatrixUtils_transformPoint(t1.getTransformTo$1(0, t3), t4));
      t3 = t3._box$_size;
      position = K.RelativeRect_RelativeRect$fromRect(t4, new P.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;
        _this._widget.toString;
        elevation = popupMenuTheme.elevation;
        shape = popupMenuTheme.shape;
        color = popupMenuTheme.color;
        t3 = _this.$ti;
        switch (K.Theme_of(t2).platform) {
          case C.TargetPlatform_2:
          case C.TargetPlatform_4:
            semanticLabel = _null;
            break;
          case C.TargetPlatform_0:
          case C.TargetPlatform_1:
          case C.TargetPlatform_3:
          case C.TargetPlatform_5:
            t4 = L.Localizations_of(t2, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations);
            t4.toString;
            semanticLabel = "Popup menu";
            break;
          default:
            H.throwExpression(H.ReachabilityError$(string$.x60null_c));
            semanticLabel = _null;
        }
        $navigator = K.Navigator_of(t2, false);
        L.Localizations_of(t2, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
        t4 = $navigator._framework$_element;
        t4.toString;
        t4 = M.InheritedTheme_capture(t2, t4);
        t1 = P.List_List$filled(t1.get$length(items), _null, false, type$.nullable_Size);
        t2 = H._setArrayType([], type$.JSArray_of_Future_bool_Function);
        t5 = $.Zone__current;
        t6 = t3._eval$1("_Future<1?>");
        t7 = t3._eval$1("_AsyncCompleter<1?>");
        t8 = S.ProxyAnimation$(C.C__AlwaysDismissedAnimation);
        t9 = H._setArrayType([], type$.JSArray_OverlayEntry);
        t10 = P.List_List$filled(0, _null, false, type$.nullable_void_Function);
        t11 = $.Zone__current;
        $navigator.push$1(new Z._PopupMenuRoute(position, items, t1, _null, elevation, semanticLabel, shape, color, t4, "Dismiss", _null, t2, new N.LabeledGlobalKey(_null, t3._eval$1("LabeledGlobalKey<_ModalScopeState<1?>>")), new N.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), new S.PageStorageBucket(), _null, new P._AsyncCompleter(new P._Future(t5, t6), t7), t8, t9, C.RouteSettings_null_null, new B.ValueNotifier(_null, t10, type$.ValueNotifier_nullable_String), new P._AsyncCompleter(new P._Future(t11, t6), t7), t3._eval$1("_PopupMenuRoute<1?>"))).then$1$1(0, new Z.PopupMenuButtonState_showButtonMenu_closure(_this), type$.void);
      }
    },
    get$_popup_menu$_canRequestFocus: function() {
      var mode,
        t1 = this._framework$_element;
      t1.toString;
      t1 = F.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch (mode == null ? C.NavigationMode_0 : mode) {
        case C.NavigationMode_0:
          return this._widget.enabled;
        case C.NavigationMode_1:
          return true;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    build$1: function(_, context) {
      var t1, t2, _this = this, _null = null;
      _this._widget.toString;
      t1 = R.PopupMenuTheme_of(context);
      t1.toString;
      t1 = _this._widget.tooltip;
      if (t1 == null) {
        L.Localizations_of(context, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
        t1 = "Show menu";
      }
      t2 = _this._widget.enabled ? _this.get$showButtonMenu() : _null;
      return S.Tooltip$(R.InkWell$(false, _this.get$_popup_menu$_canRequestFocus(), _this._widget.child, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null), _null, t1, _null, _null, _null);
    }
  };
  Z.PopupMenuButtonState_showButtonMenu_closure.prototype = {
    call$1: function(newValue) {
      var t1 = this.$this;
      if (t1._framework$_element == null)
        return null;
      if (newValue == null) {
        t1._widget.toString;
        return null;
      }
      t1._widget.onSelected.call$1(newValue);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Null(1?)");
    }
  };
  R.PopupMenuThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.color, _this.shape, _this.elevation, _this.textStyle, _this.enableFeedback, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof R.PopupMenuThemeData && other.elevation == _this.elevation && J.$eq$(other.color, _this.color) && J.$eq$(other.shape, _this.shape) && J.$eq$(other.textStyle, _this.textStyle) && true;
    }
  };
  R._PopupMenuThemeData_Object_Diagnosticable.prototype = {};
  U._ActivityIndicatorType.prototype = {
    toString$0: function(_) {
      return this._progress_indicator$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  U.ProgressIndicator.prototype = {
    _getValueColor$1: function(context) {
      var t1 = this.valueColor;
      t1 = t1 == null ? null : t1.value;
      if (t1 == null)
        t1 = this.color;
      if (t1 == null)
        t1 = B.ProgressIndicatorTheme_of(context).color;
      return t1 == null ? K.Theme_of(context).colorScheme.primary : t1;
    },
    _buildSemanticsWrapper$2$child$context: function(child, context) {
      var _null = null,
        expandedSemanticsValue = this.semanticsValue,
        t1 = this.value;
      if (t1 != null)
        expandedSemanticsValue = "" + C.JSNumber_methods.round$0(t1 * 100) + "%";
      return T.Semantics$(_null, _null, child, false, _null, _null, false, _null, _null, _null, _null, this.semanticsLabel, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, expandedSemanticsValue);
    }
  };
  U._LinearProgressIndicatorPainter.prototype = {
    paint$2: function(canvas, size) {
      var t2, t3, x1, t4, x2, _this = this,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, _this.backgroundColor);
      paint.set$style(0, C.PaintingStyle_0);
      t1 = size._dx;
      canvas.drawRect$2(0, new P.Rect(0, 0, 0 + t1, 0 + size._dy), paint);
      paint.set$color(0, _this.valueColor);
      t2 = new U._LinearProgressIndicatorPainter_paint_drawBar(_this, size, canvas, paint);
      t3 = _this.value;
      if (t3 != null)
        t2.call$2(0, C.JSNumber_methods.clamp$2(t3, 0, 1) * t1);
      else {
        t3 = _this.animationValue;
        x1 = t1 * C.Interval_unQ.transform$1(0, t3);
        t4 = C.Interval_8Wd.transform$1(0, t3);
        x2 = t1 * C.Interval_2ds.transform$1(0, t3);
        t3 = C.Interval_q3Z.transform$1(0, t3);
        t2.call$2(x1, t1 * t4 - x1);
        t2.call$2(x2, t1 * t3 - x2);
      }
    },
    shouldRepaint$1: function(oldPainter) {
      var _this = this;
      return !J.$eq$(oldPainter.backgroundColor, _this.backgroundColor) || !J.$eq$(oldPainter.valueColor, _this.valueColor) || oldPainter.value != _this.value || oldPainter.animationValue != _this.animationValue || oldPainter.textDirection !== _this.textDirection;
    }
  };
  U._LinearProgressIndicatorPainter_paint_drawBar.prototype = {
    call$2: function(x, width) {
      var left, _this = this;
      if (width <= 0)
        return;
      switch (_this.$this.textDirection) {
        case C.TextDirection_0:
          left = _this.size._dx - width - x;
          break;
        case C.TextDirection_1:
          left = x;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      _this.canvas.drawRect$2(0, new P.Rect(left, 0, left + width, 0 + _this.size._dy), _this.paint);
    },
    $signature: 781
  };
  U.LinearProgressIndicator.prototype = {
    createState$0: function() {
      return new U._LinearProgressIndicatorState(null, C._StateLifecycle_0);
    }
  };
  U._LinearProgressIndicatorState.prototype = {
    get$_progress_indicator$_controller: function() {
      var t1 = this.___LinearProgressIndicatorState__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this.___LinearProgressIndicatorState__controller = G.AnimationController$(null, C.Duration_1800000, 0, null, 1, null, _this);
      if (_this._widget.value == null)
        _this.get$_progress_indicator$_controller().repeat$0(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.value == null) {
        t1 = _this.get$_progress_indicator$_controller()._ticker;
        t1 = !(t1 != null && t1._ticker$_future != null);
      } else
        t1 = false;
      if (t1)
        _this.get$_progress_indicator$_controller().repeat$0(0);
      else {
        if (_this._widget.value != null) {
          t1 = _this.get$_progress_indicator$_controller()._ticker;
          t1 = t1 != null && t1._ticker$_future != null;
        } else
          t1 = false;
        if (t1)
          _this.get$_progress_indicator$_controller().stop$0(0);
      }
    },
    dispose$0: function(_) {
      this.get$_progress_indicator$_controller().dispose$0(0);
      this.super$__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin$dispose(0);
    },
    _buildIndicator$3: function(context, animationValue, textDirection) {
      var trackColor, minHeight, _null = null,
        indicatorTheme = B.ProgressIndicatorTheme_of(context),
        t1 = this._widget;
      t1.toString;
      t1 = t1.backgroundColor;
      trackColor = t1 == null ? indicatorTheme.linearTrackColor : t1;
      if (trackColor == null)
        trackColor = K.Theme_of(context).colorScheme.background;
      t1 = this._widget;
      t1.toString;
      minHeight = indicatorTheme.linearMinHeight;
      if (minHeight == null)
        minHeight = 4;
      return t1._buildSemanticsWrapper$2$child$context(M.Container$(_null, T.CustomPaint$(_null, _null, _null, new U._LinearProgressIndicatorPainter(trackColor, t1._getValueColor$1(context), this._widget.value, animationValue, textDirection, _null), C.Size_0_0), C.Clip_0, _null, new S.BoxConstraints(1 / 0, 1 / 0, minHeight, 1 / 0), _null, _null, _null, _null, _null, _null, _null, _null, _null), context);
    },
    build$1: function(_, context) {
      var textDirection, _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      textDirection = t1.textDirection;
      if (_this._widget.value != null)
        return _this._buildIndicator$3(context, _this.get$_progress_indicator$_controller().get$_animation_controller$_value(), textDirection);
      t1 = _this.get$_progress_indicator$_controller();
      t1.toString;
      return K.AnimatedBuilder$(t1, new U._LinearProgressIndicatorState_build_closure(_this, textDirection), null);
    }
  };
  U._LinearProgressIndicatorState_build_closure.prototype = {
    call$2: function(context, child) {
      var t1 = this.$this;
      return t1._buildIndicator$3(context, t1.get$_progress_indicator$_controller().get$_animation_controller$_value(), this.textDirection);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 80
  };
  U._CircularProgressIndicatorPainter.prototype = {
    paint$2: function(canvas, size) {
      var t2, t3, backgroundPaint, _this = this,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, _this.valueColor);
      t1 = _this.strokeWidth;
      paint.set$strokeWidth(t1);
      paint.set$style(0, C.PaintingStyle_1);
      t2 = _this.backgroundColor;
      if (t2 != null) {
        t3 = H._detectRenderer();
        backgroundPaint = t3 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        backgroundPaint.set$color(0, t2);
        backgroundPaint.set$strokeWidth(t1);
        backgroundPaint.set$style(0, C.PaintingStyle_1);
        canvas.drawArc$5(0, new P.Rect(0, 0, 0 + size._dx, 0 + size._dy), 0, 6.282185307179586, false, backgroundPaint);
      }
      if (_this.value == null)
        paint.set$strokeCap(C.StrokeCap_2);
      canvas.drawArc$5(0, new P.Rect(0, 0, 0 + size._dx, 0 + size._dy), _this.arcStart, _this.arcSweep, false, paint);
    },
    shouldRepaint$1: function(oldPainter) {
      var _this = this;
      return !J.$eq$(oldPainter.backgroundColor, _this.backgroundColor) || !J.$eq$(oldPainter.valueColor, _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;
    }
  };
  U.CircularProgressIndicator.prototype = {
    createState$0: function() {
      return new U._CircularProgressIndicatorState(null, C._StateLifecycle_0);
    }
  };
  U._CircularProgressIndicatorState.prototype = {
    get$_progress_indicator$_controller: function() {
      var t1 = this.___CircularProgressIndicatorState__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this.___CircularProgressIndicatorState__controller = G.AnimationController$(null, C.Duration_2961926000, 0, null, 1, null, _this);
      if (_this._widget.value == null)
        _this.get$_progress_indicator$_controller().repeat$0(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.value == null) {
        t1 = _this.get$_progress_indicator$_controller()._ticker;
        t1 = !(t1 != null && t1._ticker$_future != null);
      } else
        t1 = false;
      if (t1)
        _this.get$_progress_indicator$_controller().repeat$0(0);
      else {
        if (_this._widget.value != null) {
          t1 = _this.get$_progress_indicator$_controller()._ticker;
          t1 = t1 != null && t1._ticker$_future != null;
        } else
          t1 = false;
        if (t1)
          _this.get$_progress_indicator$_controller().stop$0(0);
      }
    },
    dispose$0: function(_) {
      this.get$_progress_indicator$_controller().dispose$0(0);
      this.super$__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin$dispose(0);
    },
    _buildMaterialIndicator$5: function(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 = B.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(M.Container$(_null, T.CustomPaint$(_null, _null, _null, new U._CircularProgressIndicatorPainter(trackColor, t2, t4, headValue, tailValue, offsetValue, rotationValue, t3, t6, t5 ? C.JSNumber_methods.clamp$2(t4, 0, 1) * 6.282185307179586 : Math.max(headValue * 3 / 2 * 3.141592653589793 - tailValue * 3 / 2 * 3.141592653589793, 0.001), _null), C.Size_0_0), C.Clip_0, _null, C.BoxConstraints_mlX1, _null, _null, _null, _null, _null, _null, _null, _null, _null), context);
    },
    _buildAnimation$0: function() {
      return K.AnimatedBuilder$(this.get$_progress_indicator$_controller(), new U._CircularProgressIndicatorState__buildAnimation_closure(this), null);
    },
    build$1: function(_, context) {
      var _this = this,
        _s80_ = string$.x60null_c,
        t1 = _this._widget;
      t1.toString;
      switch (C._ActivityIndicatorType_0) {
        case C._ActivityIndicatorType_0:
          if (t1.value != null)
            return _this._buildMaterialIndicator$5(context, 0, 0, 0, 0);
          return _this._buildAnimation$0();
        case C._ActivityIndicatorType_1:
          switch (K.Theme_of(context).platform) {
            case C.TargetPlatform_2:
            case C.TargetPlatform_4:
              return new F.CupertinoActivityIndicator(_this._widget.key);
            case C.TargetPlatform_0:
            case C.TargetPlatform_1:
            case C.TargetPlatform_3:
            case C.TargetPlatform_5:
              if (_this._widget.value != null)
                return _this._buildMaterialIndicator$5(context, 0, 0, 0, 0);
              return _this._buildAnimation$0();
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
    }
  };
  U._CircularProgressIndicatorState__buildAnimation_closure.prototype = {
    call$2: function(context, child) {
      var t4, t5, t6,
        t1 = this.$this,
        t2 = $.$get$_CircularProgressIndicatorState__strokeHeadTween(),
        t3 = t1.get$_progress_indicator$_controller();
      t2.toString;
      t3 = t2.transform$1(0, t3.get$value(t3));
      t2 = $.$get$_CircularProgressIndicatorState__strokeTailTween();
      t4 = t1.get$_progress_indicator$_controller();
      t2.toString;
      t4 = t2.transform$1(0, t4.get$value(t4));
      t2 = $.$get$_CircularProgressIndicatorState__offsetTween();
      t5 = t1.get$_progress_indicator$_controller();
      t2.toString;
      t5 = t2.transform$1(0, t5.get$value(t5));
      t2 = $.$get$_CircularProgressIndicatorState__rotationTween();
      t6 = t1.get$_progress_indicator$_controller();
      t2.toString;
      return t1._buildMaterialIndicator$5(context, t3, t4, t5, t2.transform$1(0, t6.get$value(t6)));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 80
  };
  U.__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  U.__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  B.ProgressIndicatorThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.color, _this.linearTrackColor, _this.linearMinHeight, _this.circularTrackColor, _this.refreshBackgroundColor, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof B.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);
    }
  };
  B._ProgressIndicatorThemeData_Object_Diagnosticable.prototype = {};
  T.RadioThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.mouseCursor, _this.fillColor, _this.overlayColor, _this.splashRadius, _this.materialTapTargetSize, _this.visualDensity, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof T.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;
    }
  };
  T._LerpProperties0.prototype = {
    resolve$1: function(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
  };
  T._RadioThemeData_Object_Diagnosticable.prototype = {};
  M._ScaffoldSlot.prototype = {
    toString$0: function(_) {
      return this._scaffold$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  M.ScaffoldMessenger.prototype = {
    createState$0: function() {
      return new M.ScaffoldMessengerState(P.LinkedHashSet_LinkedHashSet(type$.ScaffoldState), P.ListQueue$(null, type$.ScaffoldFeatureController_SnackBar_SnackBarClosedReason), null, C._StateLifecycle_0);
    }
  };
  M.ScaffoldMessengerState.prototype = {
    didChangeDependencies$0: function() {
      var t1, _this = this,
        mediaQuery = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data;
      if (_this._accessibleNavigation === 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(C.SnackBarClosedReason_5);
      _this._accessibleNavigation = mediaQuery.accessibleNavigation;
      _this.super$_ScaffoldMessengerState_State_TickerProviderStateMixin$didChangeDependencies();
    },
    showSnackBar$1: function(snackBar) {
      var t2, controller, t3, _this = this,
        t1 = _this._snackBarController;
      if (t1 == null) {
        t1 = G.AnimationController$("SnackBar", C.Duration_250000, 0, null, 1, null, _this);
        t1.addStatusListener$1(_this.get$_scaffold$_handleStatusChanged());
        _this._snackBarController = t1;
      }
      t2 = _this._snackBars;
      if (t2._head === t2._tail)
        t1.forward$0(0);
      controller = H._Cell$named("controller");
      t1 = _this._snackBarController;
      t1.toString;
      t2 = new N.UniqueKey();
      t3 = snackBar.key;
      t2 = t3 == null ? t2 : t3;
      controller.__late_helper$_value = new M.ScaffoldFeatureController(N.SnackBar$(snackBar.action, t1, snackBar.backgroundColor, snackBar.behavior, snackBar.content, snackBar.dismissDirection, snackBar.duration, snackBar.elevation, t2, snackBar.margin, snackBar.onVisible, snackBar.padding, snackBar.shape, snackBar.width), new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_SnackBarClosedReason), type$._AsyncCompleter_SnackBarClosedReason), new M.ScaffoldMessengerState_showSnackBar_closure(_this, controller), type$.ScaffoldFeatureController_SnackBar_SnackBarClosedReason);
      _this.setState$1(new M.ScaffoldMessengerState_showSnackBar_closure0(_this, controller));
      _this._updateScaffolds$0();
      return controller._readLocal$0();
    },
    _scaffold$_handleStatusChanged$1: function($status) {
      var t1, _this = this;
      switch ($status) {
        case C.AnimationStatus_0:
          _this.setState$1(new M.ScaffoldMessengerState__handleStatusChanged_closure(_this));
          _this._updateScaffolds$0();
          t1 = _this._snackBars;
          if (!t1.get$isEmpty(t1))
            _this._snackBarController.forward$0(0);
          break;
        case C.AnimationStatus_3:
          _this.setState$1(new M.ScaffoldMessengerState__handleStatusChanged_closure0(_this));
          _this._updateScaffolds$0();
          break;
        case C.AnimationStatus_1:
          break;
        case C.AnimationStatus_2:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _updateScaffolds$0: function() {
      var t1, t2, t3, t4, $parent;
      for (t1 = this._scaffolds, t2 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1), t3 = type$.ScaffoldState; t2.moveNext$0();) {
        t4 = t2._collection$_current;
        $parent = t4._framework$_element.findAncestorStateOfType$1$0(t3);
        if ($parent == null || !t1.contains$1(0, $parent))
          t4._updateSnackBar$0();
      }
    },
    _isRoot$1: function(scaffold) {
      var $parent = scaffold._framework$_element.findAncestorStateOfType$1$0(type$.ScaffoldState);
      return $parent == null || !this._scaffolds.contains$1(0, $parent);
    },
    removeCurrentSnackBar$1$reason: function(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 === 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: function(reason) {
      var completer, t2, _this = this,
        t1 = _this._snackBars;
      if (t1._head === t1._tail || _this._snackBarController.get$_status() === C.AnimationStatus_0)
        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(0, new M.ScaffoldMessengerState_hideCurrentSnackBar_closure(_this, completer, reason), type$.void);
      t1 = _this._snackBarTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._snackBarTimer = null;
    },
    build$1: function(_, 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 = T.ModalRoute_of(context, type$.nullable_Object);
        if (route == null || route.get$isCurrent()) {
          t2 = _this._snackBarController;
          if (t2.get$status(t2) === C.AnimationStatus_3 && _this._snackBarTimer == null) {
            snackBar = t1.get$first(t1)._scaffold$_widget;
            _this._snackBarTimer = P.Timer_Timer(snackBar.duration, new M.ScaffoldMessengerState_build_closure(_this, context, snackBar));
          }
        }
      }
      return new M._ScaffoldMessengerScope(_this, _this._widget.child, null);
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._snackBarController;
      if (t1 != null)
        t1.dispose$0(0);
      t1 = _this._snackBarTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._snackBarTimer = null;
      _this.super$_ScaffoldMessengerState_State_TickerProviderStateMixin$dispose(0);
    }
  };
  M.ScaffoldMessengerState_showSnackBar_closure.prototype = {
    call$0: function() {
      this.$this.hideCurrentSnackBar$1$reason(C.SnackBarClosedReason_3);
    },
    $signature: 0
  };
  M.ScaffoldMessengerState_showSnackBar_closure0.prototype = {
    call$0: function() {
      this.$this._snackBars._add$1(0, this.controller._readLocal$0());
    },
    $signature: 0
  };
  M.ScaffoldMessengerState__handleStatusChanged_closure.prototype = {
    call$0: function() {
      this.$this._snackBars.removeFirst$0();
    },
    $signature: 0
  };
  M.ScaffoldMessengerState__handleStatusChanged_closure0.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  M.ScaffoldMessengerState_hideCurrentSnackBar_closure.prototype = {
    call$1: function(value) {
      var t1 = this.completer;
      if (t1.future._state === 0)
        t1.complete$1(0, this.reason);
    },
    $signature: 23
  };
  M.ScaffoldMessengerState_build_closure.prototype = {
    call$0: function() {
      this.context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).toString;
      this.$this.hideCurrentSnackBar$1$reason(C.SnackBarClosedReason_5);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  M._ScaffoldMessengerScope.prototype = {
    updateShouldNotify$1: function(old) {
      return this._scaffoldMessengerState !== old._scaffoldMessengerState;
    }
  };
  M.ScaffoldPrelayoutGeometry.prototype = {};
  M.ScaffoldGeometry.prototype = {
    copyWith$2$bottomNavigationBarTop$floatingActionButtonArea: function(bottomNavigationBarTop, floatingActionButtonArea) {
      var t1 = bottomNavigationBarTop == null ? this.bottomNavigationBarTop : bottomNavigationBarTop;
      return new M.ScaffoldGeometry(t1, floatingActionButtonArea == null ? this.floatingActionButtonArea : floatingActionButtonArea);
    }
  };
  M._ScaffoldGeometryNotifier.prototype = {
    _updateWith$3$bottomNavigationBarTop$floatingActionButtonArea$floatingActionButtonScale: function(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: function(floatingActionButtonScale) {
      return this._updateWith$3$bottomNavigationBarTop$floatingActionButtonArea$floatingActionButtonScale(null, null, floatingActionButtonScale);
    },
    _updateWith$2$bottomNavigationBarTop$floatingActionButtonArea: function(bottomNavigationBarTop, floatingActionButtonArea) {
      return this._updateWith$3$bottomNavigationBarTop$floatingActionButtonArea$floatingActionButtonScale(bottomNavigationBarTop, floatingActionButtonArea, null);
    }
  };
  M._BodyBoxConstraints.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (!this.super$BoxConstraints$$eq(0, other))
        return false;
      return other instanceof M._BodyBoxConstraints && other.bottomWidgetsHeight === this.bottomWidgetsHeight && other.appBarHeight == this.appBarHeight;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(S.BoxConstraints.prototype.get$hashCode.call(_this, _this), _this.bottomWidgetsHeight, _this.appBarHeight, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  M._BodyBuilder.prototype = {
    build$1: function(_, context) {
      return this.body;
    }
  };
  M._ScaffoldLayout.prototype = {
    performLayout$1: function(size) {
      var appBarHeight, contentTop, bottomWidgetsHeight, bottomNavigationBarTop, t2, contentBottom, bodyMaxHeight, t3, snackBarSize, bottomSheetSize, floatingActionButtonRect, fabSize, currentGeometry, currentFabOffset, fabOffset, snackBarYOffsetBase, _this = this,
        looseConstraints = S.BoxConstraints$loose(size),
        t1 = size._dx,
        fullWidthConstraints = looseConstraints.tighten$1$width(t1),
        bottom = size._dy;
      if (_this._idToChild.$index(0, C._ScaffoldSlot_1) != null) {
        appBarHeight = _this.layoutChild$2(C._ScaffoldSlot_1, fullWidthConstraints)._dy;
        _this.positionChild$2(C._ScaffoldSlot_1, C.Offset_0_0);
        contentTop = appBarHeight;
      } else {
        contentTop = 0;
        appBarHeight = 0;
      }
      if (_this._idToChild.$index(0, C._ScaffoldSlot_6) != null) {
        bottomWidgetsHeight = 0 + _this.layoutChild$2(C._ScaffoldSlot_6, fullWidthConstraints)._dy;
        bottomNavigationBarTop = Math.max(0, bottom - bottomWidgetsHeight);
        _this.positionChild$2(C._ScaffoldSlot_6, new P.Offset(0, bottomNavigationBarTop));
      } else {
        bottomWidgetsHeight = 0;
        bottomNavigationBarTop = null;
      }
      if (_this._idToChild.$index(0, C._ScaffoldSlot_5) != null) {
        bottomWidgetsHeight += _this.layoutChild$2(C._ScaffoldSlot_5, new S.BoxConstraints(0, fullWidthConstraints.maxWidth, 0, Math.max(0, bottom - bottomWidgetsHeight - contentTop)))._dy;
        _this.positionChild$2(C._ScaffoldSlot_5, new P.Offset(0, Math.max(0, bottom - bottomWidgetsHeight)));
      }
      t2 = _this.minInsets;
      contentBottom = Math.max(0, bottom - Math.max(H.checkNum(t2.bottom), bottomWidgetsHeight));
      if (_this._idToChild.$index(0, C._ScaffoldSlot_0) != null) {
        bodyMaxHeight = Math.max(0, contentBottom - contentTop);
        t3 = _this.extendBody;
        if (t3)
          bodyMaxHeight = C.JSNumber_methods.clamp$2(bodyMaxHeight + bottomWidgetsHeight, 0, looseConstraints.maxHeight - contentTop);
        t3 = t3 ? bottomWidgetsHeight : 0;
        _this.layoutChild$2(C._ScaffoldSlot_0, new M._BodyBoxConstraints(t3, appBarHeight, 0, fullWidthConstraints.maxWidth, 0, bodyMaxHeight));
        _this.positionChild$2(C._ScaffoldSlot_0, new P.Offset(0, contentTop));
      }
      if (_this._idToChild.$index(0, C._ScaffoldSlot_2) != null) {
        _this.layoutChild$2(C._ScaffoldSlot_2, new S.BoxConstraints(0, fullWidthConstraints.maxWidth, 0, contentBottom));
        _this.positionChild$2(C._ScaffoldSlot_2, C.Offset_0_0);
      }
      snackBarSize = _this._idToChild.$index(0, C._ScaffoldSlot_4) != null && !_this.isSnackBarFloating ? _this.layoutChild$2(C._ScaffoldSlot_4, fullWidthConstraints) : C.Size_0_0;
      if (_this._idToChild.$index(0, C._ScaffoldSlot_3) != null) {
        bottomSheetSize = _this.layoutChild$2(C._ScaffoldSlot_3, new S.BoxConstraints(0, fullWidthConstraints.maxWidth, 0, Math.max(0, contentBottom - contentTop)));
        _this.positionChild$2(C._ScaffoldSlot_3, new P.Offset((t1 - bottomSheetSize._dx) / 2, contentBottom - bottomSheetSize._dy));
      } else
        bottomSheetSize = C.Size_0_0;
      floatingActionButtonRect = H._Cell$named("floatingActionButtonRect");
      if (_this._idToChild.$index(0, C._ScaffoldSlot_7) != null) {
        fabSize = _this.layoutChild$2(C._ScaffoldSlot_7, looseConstraints);
        currentGeometry = new M.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(C._ScaffoldSlot_7, fabOffset);
        t1 = fabOffset._dx;
        t3 = fabOffset._dy;
        floatingActionButtonRect.__late_helper$_value = new P.Rect(t1, t3, t1 + fabSize._dx, t3 + fabSize._dy);
      }
      if (_this._idToChild.$index(0, C._ScaffoldSlot_4) != null) {
        if (J.$eq$(snackBarSize, C.Size_0_0))
          snackBarSize = _this.layoutChild$2(C._ScaffoldSlot_4, fullWidthConstraints);
        t1 = floatingActionButtonRect._readLocal$0();
        if (!new P.Size(t1.right - t1.left, t1.bottom - t1.top).$eq(0, C.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(C._ScaffoldSlot_4, new P.Offset(0, snackBarYOffsetBase - snackBarSize._dy));
      }
      if (_this._idToChild.$index(0, C._ScaffoldSlot_10) != null) {
        _this.layoutChild$2(C._ScaffoldSlot_10, fullWidthConstraints.tighten$1$height(t2.top));
        _this.positionChild$2(C._ScaffoldSlot_10, C.Offset_0_0);
      }
      if (_this._idToChild.$index(0, C._ScaffoldSlot_8) != null) {
        _this.layoutChild$2(C._ScaffoldSlot_8, S.BoxConstraints$tight(size));
        _this.positionChild$2(C._ScaffoldSlot_8, C.Offset_0_0);
      }
      if (_this._idToChild.$index(0, C._ScaffoldSlot_9) != null) {
        _this.layoutChild$2(C._ScaffoldSlot_9, S.BoxConstraints$tight(size));
        _this.positionChild$2(C._ScaffoldSlot_9, C.Offset_0_0);
      }
      _this.geometryNotifier._updateWith$2$bottomNavigationBarTop$floatingActionButtonArea(bottomNavigationBarTop, floatingActionButtonRect._readLocal$0());
    },
    shouldRelayout$1: function(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;
    }
  };
  M._FloatingActionButtonTransition.prototype = {
    createState$0: function() {
      return new M._FloatingActionButtonTransitionState(null, C._StateLifecycle_0);
    }
  };
  M._FloatingActionButtonTransitionState.prototype = {
    get$_previousController: function() {
      var t1 = this.___FloatingActionButtonTransitionState__previousController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_previousController")) : t1;
    },
    get$_previousScaleAnimation: function() {
      var t1 = this.___FloatingActionButtonTransitionState__previousScaleAnimation;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_previousScaleAnimation")) : t1;
    },
    get$_currentScaleAnimation: function() {
      var t1 = this.___FloatingActionButtonTransitionState__currentScaleAnimation;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_currentScaleAnimation")) : t1;
    },
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = G.AnimationController$(null, C.Duration_200000, 0, null, 1, null, _this);
      t1.addStatusListener$1(_this.get$_handlePreviousAnimationStatusChanged());
      _this.___FloatingActionButtonTransitionState__previousController = t1;
      _this._updateAnimations$0();
      _this._widget.geometryNotifier._updateWith$1$floatingActionButtonScale(0);
    },
    dispose$0: function(_) {
      this.get$_previousController().dispose$0(0);
      this.super$__FloatingActionButtonTransitionState_State_TickerProviderStateMixin$dispose(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      oldWidget.toString;
      this._widget.toString;
      return;
    },
    _updateAnimations$0: function() {
      var t6, t7, t8, t9, t10, moveScaleAnimation, t11, t12, moveRotationAnimation, _this = this, _null = null,
        previousExitScaleAnimation = S.CurvedAnimation$(C.Cubic_JUR0, _this.get$_previousController(), _null),
        t1 = type$.Tween_double,
        t2 = S.CurvedAnimation$(C.Cubic_JUR0, _this.get$_previousController(), _null),
        currentEntranceScaleAnimation = S.CurvedAnimation$(C.Cubic_JUR0, _this._widget.currentController, _null),
        t3 = _this._widget,
        t4 = t3.currentController,
        t5 = $.$get$_FloatingActionButtonTransitionState__entranceTurnTween();
      t4.toString;
      t6 = type$.Animation_double;
      t6._as(t4);
      t5.toString;
      t7 = t3.fabMotionAnimator;
      t3 = t3.fabMoveAnimation;
      t7.toString;
      t3.toString;
      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 S.ReverseAnimation(new R._AnimatedEvaluation(t3, new R.CurveTween(new Z.FlippedCurve(C.Interval_E4y)), t7), new R.ObserverList(H._setArrayType([], t8), t9), 0), new R._AnimatedEvaluation(t3, new R.CurveTween(C.Interval_E4y), t7), t3, 0.5, t10);
      t3 = _this._widget;
      t11 = t3.fabMotionAnimator;
      t3 = t3.fabMoveAnimation;
      t11.toString;
      t11 = $.$get$_ScalingFabMotionAnimator__rotationTween();
      t3.toString;
      t6._as(t3);
      t11.toString;
      t12 = $.$get$_ScalingFabMotionAnimator__thresholdCenterTween();
      t12.toString;
      moveRotationAnimation = A._AnimationSwap$(new R._AnimatedEvaluation(t3, t11, t11.$ti._eval$1("_AnimatedEvaluation<Animatable.T>")), new S.ReverseAnimation(new R._AnimatedEvaluation(t3, t12, H._instanceType(t12)._eval$1("_AnimatedEvaluation<Animatable.T>")), new R.ObserverList(H._setArrayType([], t8), t9), 0), t3, 0.5, t10);
      _this.___FloatingActionButtonTransitionState__previousScaleAnimation = S.AnimationMin$(moveScaleAnimation, previousExitScaleAnimation, t10);
      _this.___FloatingActionButtonTransitionState__currentScaleAnimation = S.AnimationMin$(moveScaleAnimation, currentEntranceScaleAnimation, t10);
      t10 = _this.get$_currentScaleAnimation();
      t10.toString;
      _this.___FloatingActionButtonTransitionState__extendedCurrentScaleAnimation = new R._AnimatedEvaluation(t6._as(t10), new R.CurveTween(C.Interval_75R0), t7);
      _this.___FloatingActionButtonTransitionState__previousRotationAnimation = S.TrainHoppingAnimation$(new R._AnimatedEvaluation(t2, new R.Tween(1, 1, t1), t1._eval$1("_AnimatedEvaluation<Animatable.T>")), moveRotationAnimation, _null);
      _this.___FloatingActionButtonTransitionState__currentRotationAnimation = S.TrainHoppingAnimation$(new R._AnimatedEvaluation(t4, t5, t5.$ti._eval$1("_AnimatedEvaluation<Animatable.T>")), moveRotationAnimation, _null);
      t5 = _this.get$_onProgressChanged();
      _this.get$_currentScaleAnimation().addListener$1(0, t5);
      _this.get$_previousScaleAnimation().addListener$1(0, t5);
    },
    _handlePreviousAnimationStatusChanged$1: function($status) {
      this.setState$1(new M._FloatingActionButtonTransitionState__handlePreviousAnimationStatusChanged_closure(this, $status));
    },
    build$1: function(_, context) {
      var t2, t3, _this = this,
        t1 = H._setArrayType([], type$.JSArray_Widget);
      if (_this.get$_previousController().get$_status() !== C.AnimationStatus_0) {
        t2 = _this.get$_previousScaleAnimation();
        t3 = _this.___FloatingActionButtonTransitionState__previousRotationAnimation;
        if (t3 === $)
          t3 = H.throwExpression(H.LateError$fieldNI("_previousRotationAnimation"));
        t1.push(K.ScaleTransition$(K.RotationTransition$(_this._previousChild, t3), t2));
      }
      _this._widget.toString;
      t2 = _this.get$_currentScaleAnimation();
      t3 = _this.___FloatingActionButtonTransitionState__currentRotationAnimation;
      if (t3 === $)
        t3 = H.throwExpression(H.LateError$fieldNI("_currentRotationAnimation"));
      t1.push(K.ScaleTransition$(K.RotationTransition$(_this._widget.child, t3), t2));
      return T.Stack$(C.Alignment_1_0, t1, C.Clip_1, C.StackFit_0, null, null);
    },
    _onProgressChanged$0: function() {
      var t2,
        t1 = this.get$_previousScaleAnimation();
      t1 = t1.get$value(t1);
      t2 = this.get$_currentScaleAnimation();
      t2 = t2.get$value(t2);
      t2 = Math.max(H.checkNum(t1), H.checkNum(t2));
      this._widget.geometryNotifier._updateWith$1$floatingActionButtonScale(t2);
    }
  };
  M._FloatingActionButtonTransitionState__handlePreviousAnimationStatusChanged_closure.prototype = {
    call$0: function() {
      if (this.status === C.AnimationStatus_0)
        this.$this._widget.toString;
    },
    $signature: 0
  };
  M.Scaffold.prototype = {
    createState$0: function() {
      var _null = null,
        t1 = type$.LabeledGlobalKey_DrawerControllerState;
      return new M.ScaffoldState(new N.LabeledGlobalKey(_null, t1), new N.LabeledGlobalKey(_null, t1), U.RestorableBool$(false), U.RestorableBool$(false), P.ListQueue$(_null, type$.ScaffoldFeatureController_SnackBar_SnackBarClosedReason), H._setArrayType([], type$.JSArray__StandardBottomSheet), new N.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), C.Color_4278190080, _null, P.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), _null, true, _null, _null, C._StateLifecycle_0);
    }
  };
  M.ScaffoldState.prototype = {
    get$restorationId: function() {
      this._widget.toString;
      return null;
    },
    restoreState$2: function(oldBucket, initialRestore) {
      var _this = this;
      _this.registerForRestoration$2(_this._drawerOpened, "drawer_open");
      _this.registerForRestoration$2(_this._endDrawerOpened, "end_drawer_open");
    },
    removeCurrentSnackBar$1$reason: function(reason) {
      var t1, completer, _this = this;
      if (_this._messengerSnackBar != null) {
        _this._scaffoldMessenger.removeCurrentSnackBar$1$reason(reason);
        return;
      }
      t1 = _this._snackBars;
      if (t1._head === t1._tail)
        return;
      completer = t1.get$first(t1)._scaffold$_completer;
      if (completer.future._state === 0)
        completer.complete$1(0, reason);
      t1 = _this._snackBarTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._snackBarTimer = null;
      null.set$value(0, 0);
    },
    hideCurrentSnackBar$1$reason: function(reason) {
      var t1, t2, mediaQuery, completer, _this = this, _null = null;
      if (_this._messengerSnackBar != null) {
        _this._scaffoldMessenger.hideCurrentSnackBar$1$reason(reason);
        return;
      }
      t1 = _this._snackBars;
      if (t1._head !== t1._tail) {
        _null.get$status(_null);
        t2 = false;
      } else
        t2 = true;
      if (t2)
        return;
      mediaQuery = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data;
      completer = t1.get$first(t1)._scaffold$_completer;
      if (mediaQuery.accessibleNavigation) {
        _null.set$value(0, 0);
        completer.complete$1(0, reason);
      } else
        _null.reverse$0(0).then$1$1(0, new M.ScaffoldState_hideCurrentSnackBar_closure(_this, completer, reason), type$.void);
      t1 = _this._snackBarTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._snackBarTimer = null;
    },
    _updateSnackBar$0: function() {
      this.setState$1(new M.ScaffoldState__updateSnackBar_closure(this));
    },
    _maybeBuildPersistentBottomSheet$0: function() {
      this._widget.toString;
    },
    get$_floatingActionButtonMoveController: function() {
      var t1 = this.__ScaffoldState__floatingActionButtonMoveController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_floatingActionButtonMoveController")) : t1;
    },
    get$_floatingActionButtonAnimator: function() {
      var t1 = this.__ScaffoldState__floatingActionButtonAnimator;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_floatingActionButtonAnimator")) : t1;
    },
    get$_floatingActionButtonVisibilityController: function() {
      var t1 = this.__ScaffoldState__floatingActionButtonVisibilityController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_floatingActionButtonVisibilityController")) : t1;
    },
    _handleStatusBarTap$0: function() {
      var _primaryScrollController,
        t1 = this._framework$_element;
      t1.toString;
      _primaryScrollController = E.PrimaryScrollController_of(t1);
      if (_primaryScrollController != null && _primaryScrollController._positions.length !== 0)
        _primaryScrollController.animateTo$3$curve$duration(0, C.C__Linear, C.Duration_300000);
    },
    get$_geometryNotifier: function() {
      var t1 = this.__ScaffoldState__geometryNotifier;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_geometryNotifier")) : t1;
    },
    get$_resizeToAvoidBottomInset: function() {
      this._widget.toString;
      return true;
    },
    initState$0: function() {
      var t1, _this = this, _null = null;
      _this.super$State$initState();
      t1 = _this._framework$_element;
      t1.toString;
      _this.__ScaffoldState__geometryNotifier = new M._ScaffoldGeometryNotifier(t1, C.ScaffoldGeometry_null_null, P.List_List$filled(0, _null, false, type$.nullable_void_Function));
      _this._widget.toString;
      _this._floatingActionButtonLocation = C.C__EndFloatFabLocation;
      _this.__ScaffoldState__floatingActionButtonAnimator = C.C__ScalingFabMotionAnimator;
      _this._previousFloatingActionButtonLocation = C.C__EndFloatFabLocation;
      _this.__ScaffoldState__floatingActionButtonMoveController = G.AnimationController$(_null, new P.Duration(400000), 0, _null, 1, 1, _this);
      _this.__ScaffoldState__floatingActionButtonVisibilityController = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _null, _this);
    },
    didUpdateWidget$1: function(oldWidget) {
      this._widget.toString;
      oldWidget.toString;
      this.super$_ScaffoldState_State_TickerProviderStateMixin_RestorationMixin$didUpdateWidget(oldWidget);
    },
    didChangeDependencies$0: function() {
      var t3, mediaQuery, _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);
        t1 = _currentScaffoldMessenger._snackBars;
        if (!t1.get$isEmpty(t1) && _currentScaffoldMessenger._isRoot$1(_this))
          _this._updateSnackBar$0();
      }
      mediaQuery = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data;
      if (_this._accessibleNavigation === 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(C.SnackBarClosedReason_5);
      _this._accessibleNavigation = mediaQuery.accessibleNavigation;
      _this._maybeBuildPersistentBottomSheet$0();
      _this.super$_ScaffoldState_State_TickerProviderStateMixin_RestorationMixin$didChangeDependencies();
    },
    dispose$0: function(_) {
      var t2, _i, t3, t4, _this = this,
        t1 = _this._snackBarTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._snackBarTimer = null;
      _this.get$_geometryNotifier().toString;
      for (t1 = _this._dismissedBottomSheets, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        t3 = t1[_i].animationController;
        t3._ticker.dispose$0(0);
        t3._ticker = null;
        t4 = t3.AnimationLocalStatusListenersMixin__statusListeners;
        t4._isDirty = false;
        C.JSArray_methods.set$length(t4._observer_list$_list, 0);
        t4 = t4.get$_observer_list$_set();
        if (t4._collection$_length > 0) {
          t4._collection$_strings = t4._collection$_nums = t4._collection$_rest = t4._elements = null;
          t4._collection$_length = 0;
        }
        t4 = t3.AnimationLocalListenersMixin__listeners;
        t4._isDirty = false;
        C.JSArray_methods.set$length(t4._observer_list$_list, 0);
        t4 = t4.get$_observer_list$_set();
        if (t4._collection$_length > 0) {
          t4._collection$_strings = t4._collection$_nums = t4._collection$_rest = t4._elements = null;
          t4._collection$_length = 0;
        }
        t3.super$AnimationEagerListenerMixin$dispose(0);
      }
      t1 = _this._currentBottomSheet;
      if (t1 != null)
        t1._scaffold$_widget.animationController.dispose$0(0);
      _this.get$_floatingActionButtonMoveController().dispose$0(0);
      _this.get$_floatingActionButtonVisibilityController().dispose$0(0);
      t1 = _this._scaffoldMessenger;
      if (t1 != null)
        t1._scaffolds.remove$1(0, _this);
      _this.super$_ScaffoldState_State_TickerProviderStateMixin_RestorationMixin$dispose(0);
    },
    _addIfNonNull$9$maintainBottomViewPadding$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding: function(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(T.LayoutId$(new F.MediaQuery(data, child, null), childId));
    },
    _addIfNonNull$8$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding: function(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: function(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: function(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: function(children, textDirection) {
      this._widget.toString;
    },
    _buildDrawer$2: function(children, textDirection) {
      this._widget.toString;
    },
    build$1: function(_, context) {
      var textDirection, route, t2, children, t3, t4, stack, minInsets, minViewPadding, _this = this, _null = null, _box_0 = {},
        mediaQuery = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        themeData = K.Theme_of(context),
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      textDirection = t1.textDirection;
      _this._accessibleNavigation = mediaQuery.accessibleNavigation;
      t1 = _this._snackBars;
      if (!t1.get$isEmpty(t1)) {
        route = T.ModalRoute_of(context, type$.nullable_Object);
        if (route == null || route.get$isCurrent())
          _null.get$isCompleted();
        else {
          t2 = _this._snackBarTimer;
          if (t2 != null)
            t2.cancel$0(0);
          _this._snackBarTimer = null;
        }
      }
      children = H._setArrayType([], type$.JSArray_LayoutId);
      t2 = _this._widget;
      t3 = t2.body;
      t4 = t2.appBar;
      t2 = t2.bottomNavigationBar != null || false;
      _this.get$_resizeToAvoidBottomInset();
      _this._addIfNonNull$8$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, new M._BodyBuilder(t3, false, false, _null), C._ScaffoldSlot_0, true, t2, false, false, t4 != null);
      if (_this._showBodyScrim)
        _this._addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, new X.ModalBarrier(_this._bodyScrimColor, false, true, _null, _null), C._ScaffoldSlot_2, true, true, true, true);
      t2 = _this._widget.appBar;
      if (t2 != null) {
        t2 = _this._appBarMaxHeight = E.AppBar_preferredHeightFor(context, t2.get$preferredSize()) + mediaQuery.padding.top;
        t3 = _this._widget.appBar;
        t3.toString;
        _this._addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, new T.ConstrainedBox(new S.BoxConstraints(0, 1 / 0, 0, t2), new Z.FlexibleSpaceBarSettings(1, t2, t2, t2, _null, t3, _null), _null), C._ScaffoldSlot_1, true, false, false, false);
      }
      _box_0.isSnackBarFloating = false;
      _box_0.snackBarWidth = null;
      if (_this._currentBottomSheet != null || _this._dismissedBottomSheets.length !== 0) {
        t2 = P.List_List$of(_this._dismissedBottomSheets, true, type$.Widget);
        t3 = _this._currentBottomSheet;
        if (t3 != null)
          t2.push(t3._scaffold$_widget);
        stack = T.Stack$(C.Alignment_0_1, t2, C.Clip_1, C.StackFit_0, _null, _null);
        _this.get$_resizeToAvoidBottomInset();
        _this._addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, stack, C._ScaffoldSlot_3, true, false, false, true);
      }
      t2 = _this._messengerSnackBar;
      if (t2 != null) {
        t2 = t2._scaffold$_widget;
        t2.toString;
        themeData.toString;
        _box_0.isSnackBarFloating = false;
        _box_0.snackBarWidth = t2.width;
        t3 = _this._widget.bottomNavigationBar != null || false;
        _this.get$_resizeToAvoidBottomInset();
        _this._addIfNonNull$8$maintainBottomViewPadding$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, t2, C._ScaffoldSlot_4, false, t3, false, false, true);
      }
      if (!t1.get$isEmpty(t1)) {
        t1.get$first(t1)._scaffold$_widget.toString;
        themeData.toString;
        _box_0.isSnackBarFloating = false;
        _box_0.snackBarWidth = t1.get$first(t1)._scaffold$_widget.width;
        t1 = t1.get$first(t1)._scaffold$_widget;
        t2 = _this._widget.bottomNavigationBar != null || false;
        _this.get$_resizeToAvoidBottomInset();
        _this._addIfNonNull$8$maintainBottomViewPadding$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, t1, C._ScaffoldSlot_4, false, t2, false, false, true);
      }
      t1 = _this._widget;
      t1 = t1.bottomNavigationBar;
      if (t1 != null) {
        _this.get$_resizeToAvoidBottomInset();
        _this._addIfNonNull$8$maintainBottomViewPadding$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, t1, C._ScaffoldSlot_6, false, false, false, false, true);
      }
      t1 = _this.get$_floatingActionButtonMoveController();
      t2 = _this.get$_floatingActionButtonAnimator();
      t3 = _this.get$_geometryNotifier();
      t4 = _this.get$_floatingActionButtonVisibilityController();
      _this._widget.toString;
      _this._addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, new M._FloatingActionButtonTransition(_null, t1, t2, t3, t4, _null), C._ScaffoldSlot_7, true, true, true, true);
      switch (themeData.platform) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_4:
          _this._addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, D.GestureDetector$(C.HitTestBehavior_1, _null, C.DragStartBehavior_1, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_handleStatusBarTap(), _null, _null, _null, _null, _null, _null), C._ScaffoldSlot_10, true, false, false, true);
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      if (_this._endDrawerOpened._restoration_properties$_value) {
        _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;
      _this.get$_geometryNotifier();
      _this._widget.toString;
      t1 = themeData.scaffoldBackgroundColor;
      return new M._ScaffoldScope(false, new Q.ScrollNotificationObserver(M.Material$(C.Duration_200000, true, _null, K.AnimatedBuilder$(_this.get$_floatingActionButtonMoveController(), new M.ScaffoldState_build_closure(_box_0, _this, false, minInsets, minViewPadding, textDirection, children), _null), C.Clip_0, t1, 0, _null, _null, _null, _null, C.MaterialType_0), _null), _null);
    }
  };
  M.ScaffoldState_hideCurrentSnackBar_closure.prototype = {
    call$1: function(value) {
      var t1 = this.completer;
      if (t1.future._state === 0)
        t1.complete$1(0, this.reason);
    },
    $signature: 23
  };
  M.ScaffoldState__updateSnackBar_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._scaffoldMessenger._snackBars;
      if (!t2.get$isEmpty(t2)) {
        t2 = t1._scaffoldMessenger._snackBars;
        t2 = t2.get$first(t2);
      } else
        t2 = null;
      t1._messengerSnackBar = t2;
    },
    $signature: 0
  };
  M.ScaffoldState_build_closure.prototype = {
    call$2: function(context, child) {
      var t2, t3, t4, t5, t6, _this = this,
        t1 = _this.$this;
      t1._widget.toString;
      t2 = t1._floatingActionButtonLocation;
      t2.toString;
      t3 = t1.get$_floatingActionButtonMoveController().get$_animation_controller$_value();
      t4 = t1.get$_floatingActionButtonAnimator();
      t5 = t1.get$_geometryNotifier();
      t1 = t1._previousFloatingActionButtonLocation;
      t1.toString;
      t6 = _this._box_0;
      return new T.CustomMultiChildLayout(new M._ScaffoldLayout(_this._extendBody, false, _this.minInsets, _this.minViewPadding, _this.textDirection, t5, t1, t2, t3, t4, t6.isSnackBarFloating, t6.snackBarWidth), _this.children, null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 782
  };
  M.ScaffoldFeatureController.prototype = {};
  M._ScaffoldScope.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return this.hasDrawer !== oldWidget.hasDrawer;
    }
  };
  M._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure.prototype = {
    call$2: function(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 69
  };
  M._ScaffoldMessengerState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  M._ScaffoldState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  M._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin.prototype = {
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0: function() {
      var oldBucket, needsRestore, t1, didReplaceBucket, _this = this;
      _this.super$_ScaffoldState_State_TickerProviderStateMixin$didChangeDependencies();
      oldBucket = _this.RestorationMixin__bucket;
      needsRestore = _this.get$restorePending();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = K.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(0);
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new M._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0(0);
      _this.RestorationMixin__bucket = null;
      _this.super$_ScaffoldState_State_TickerProviderStateMixin$dispose(0);
    }
  };
  M.__FloatingActionButtonTransitionState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  E.Scrollbar.prototype = {
    createState$0: function() {
      return new E._ScrollbarState(C._StateLifecycle_0);
    }
  };
  E._ScrollbarState.prototype = {
    build$1: function(_, context) {
      var t2, t3, _null = null,
        t1 = this._framework$_element;
      t1.toString;
      if (K.Theme_of(t1).platform === C.TargetPlatform_2) {
        t1 = this._widget;
        t2 = t1.isAlwaysShown;
        t3 = t1.controller;
        t1 = t1.child;
        return new E.CupertinoScrollbar(8, C.Radius_4_4, t1, t3, t2 === true, C.Radius_ydE, 3, C.Duration_250000, C.Duration_1200000, C.Duration_100000, G.scroll_notification__defaultScrollNotificationPredicate$closure(), _null, _null);
      }
      t1 = this._widget;
      t2 = t1.controller;
      t3 = t1.isAlwaysShown;
      t1 = t1.child;
      return new E._MaterialScrollbar(_null, _null, t1, t2, t3, _null, _null, C.Duration_300000, C.Duration_600000, C.Duration_0, G.scroll_notification__defaultScrollNotificationPredicate$closure(), _null, _null);
    }
  };
  E._MaterialScrollbar.prototype = {
    createState$0: function() {
      return new E._MaterialScrollbarState(new N.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), null, C._StateLifecycle_0);
    }
  };
  E._MaterialScrollbarState.prototype = {
    get$_hoverAnimationController: function() {
      var t1 = this.___MaterialScrollbarState__hoverAnimationController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_hoverAnimationController")) : t1;
    },
    get$_colorScheme: function() {
      var t1 = this.___MaterialScrollbarState__colorScheme;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_colorScheme")) : t1;
    },
    get$_scrollbarTheme: function() {
      var t1 = this.___MaterialScrollbarState__scrollbarTheme;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_scrollbarTheme")) : t1;
    },
    get$_useAndroidScrollbar: function() {
      var t1 = this.___MaterialScrollbarState__useAndroidScrollbar;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_useAndroidScrollbar")) : t1;
    },
    get$showScrollbar: function() {
      var t1 = this._widget.isAlwaysShown;
      if (t1 == null)
        t1 = this.get$_scrollbarTheme().isAlwaysShown;
      return t1 === true;
    },
    get$enableGestures: function() {
      this._widget.toString;
      var t1 = this.get$_scrollbarTheme();
      t1.toString;
      t1 = this.get$_useAndroidScrollbar();
      return !t1;
    },
    get$_showTrackOnHover: function() {
      this._widget.toString;
      var t1 = this.get$_scrollbarTheme();
      t1.toString;
      return false;
    },
    get$_scrollbar0$_states: function() {
      var t1 = P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (this._dragIsActive)
        t1.add$1(0, C.MaterialState_3);
      if (this._scrollbar0$_hoverIsActive)
        t1.add$1(0, C.MaterialState_0);
      return t1;
    },
    get$_thumbColor: function() {
      var t1, t2, t3, _this = this,
        onSurface = _this.get$_colorScheme().onSurface,
        brightness = _this.get$_colorScheme().brightness,
        dragColor = H._Cell$named("dragColor"),
        hoverColor = H._Cell$named("hoverColor"),
        idleColor = H._Cell$named("idleColor");
      switch (brightness) {
        case C.Brightness_1:
          t1 = onSurface.value;
          t2 = t1 >>> 16 & 255;
          t3 = t1 >>> 8 & 255;
          t1 &= 255;
          dragColor.__late_helper$_value = P.Color$fromARGB(153, t2, t3, t1);
          hoverColor.__late_helper$_value = P.Color$fromARGB(C.JSNumber_methods.round$0(127.5), t2, t3, t1);
          if (_this.get$_useAndroidScrollbar()) {
            t1 = _this._framework$_element;
            t1.toString;
            t1 = K.Theme_of(t1).highlightColor.value;
            t1 = P.Color$fromARGB(255, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
          } else
            t1 = P.Color$fromARGB(C.JSNumber_methods.round$0(25.5), t2, t3, t1);
          idleColor.__late_helper$_value = t1;
          break;
        case C.Brightness_0:
          t1 = onSurface.value;
          t2 = t1 >>> 16 & 255;
          t3 = t1 >>> 8 & 255;
          t1 &= 255;
          dragColor.__late_helper$_value = P.Color$fromARGB(191, t2, t3, t1);
          hoverColor.__late_helper$_value = P.Color$fromARGB(166, t2, t3, t1);
          if (_this.get$_useAndroidScrollbar()) {
            t1 = _this._framework$_element;
            t1.toString;
            t1 = K.Theme_of(t1).highlightColor.value;
            t1 = P.Color$fromARGB(255, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
          } else
            t1 = P.Color$fromARGB(C.JSNumber_methods.round$0(76.5), t2, t3, t1);
          idleColor.__late_helper$_value = t1;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return new V._MaterialStatePropertyWith(new E._MaterialScrollbarState__thumbColor_closure(_this, dragColor, hoverColor, idleColor), type$._MaterialStatePropertyWith_Color);
    },
    get$_scrollbar0$_trackColor: function() {
      var onSurface = this.get$_colorScheme().onSurface;
      return new V._MaterialStatePropertyWith(new E._MaterialScrollbarState__trackColor_closure(this, this.get$_colorScheme().brightness, onSurface), type$._MaterialStatePropertyWith_Color);
    },
    get$_scrollbar0$_trackBorderColor: function() {
      var onSurface = this.get$_colorScheme().onSurface;
      return new V._MaterialStatePropertyWith(new E._MaterialScrollbarState__trackBorderColor_closure(this, this.get$_colorScheme().brightness, onSurface), type$._MaterialStatePropertyWith_Color);
    },
    get$_scrollbar0$_thickness: function() {
      return new V._MaterialStatePropertyWith(new E._MaterialScrollbarState__thickness_closure(this), type$._MaterialStatePropertyWith_double);
    },
    initState$0: function() {
      var t1, _this = this;
      _this.super$RawScrollbarState$initState();
      _this.___MaterialScrollbarState__hoverAnimationController = G.AnimationController$(null, C.Duration_200000, 0, null, 1, null, _this);
      t1 = _this.get$_hoverAnimationController();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._observer_list$_list.push(new E._MaterialScrollbarState_initState_closure(_this));
    },
    didChangeDependencies$0: function() {
      var theme, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      theme = K.Theme_of(t1);
      _this.___MaterialScrollbarState__colorScheme = theme.colorScheme;
      _this.___MaterialScrollbarState__scrollbarTheme = theme.scrollbarTheme;
      switch (theme.platform) {
        case C.TargetPlatform_0:
          _this.___MaterialScrollbarState__useAndroidScrollbar = true;
          break;
        case C.TargetPlatform_2:
        case C.TargetPlatform_3:
        case C.TargetPlatform_1:
        case C.TargetPlatform_4:
        case C.TargetPlatform_5:
          _this.___MaterialScrollbarState__useAndroidScrollbar = false;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      _this.super$RawScrollbarState$didChangeDependencies();
    },
    updateScrollbarPainter$0: function() {
      var t2, _this = this,
        t1 = _this.get$scrollbarPainter();
      t1.set$color(0, _this.get$_thumbColor()._material_state$_resolve.call$1(_this.get$_scrollbar0$_states()));
      t1.set$trackColor(_this.get$_scrollbar0$_trackColor()._material_state$_resolve.call$1(_this.get$_scrollbar0$_states()));
      t1.set$trackBorderColor(_this.get$_scrollbar0$_trackBorderColor()._material_state$_resolve.call$1(_this.get$_scrollbar0$_states()));
      t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      t1.set$textDirection(0, t2.textDirection);
      t1.set$thickness(_this.get$_scrollbar0$_thickness()._material_state$_resolve.call$1(_this.get$_scrollbar0$_states()));
      t2 = _this._widget.radius;
      if (t2 == null)
        t2 = _this.get$_scrollbarTheme().radius;
      if (t2 == null)
        t2 = _this.get$_useAndroidScrollbar() ? null : C.Radius_8_8;
      t1.set$radius(t2);
      t2 = _this.get$_scrollbarTheme().crossAxisMargin;
      if (t2 == null)
        t2 = _this.get$_useAndroidScrollbar() ? 0 : 2;
      t1.set$crossAxisMargin(t2);
      t2 = _this.get$_scrollbarTheme().mainAxisMargin;
      t1.set$mainAxisMargin(t2 == null ? 0 : t2);
      t2 = _this.get$_scrollbarTheme().minThumbLength;
      t1.set$minLength(0, t2 == null ? 48 : t2);
      t1.set$padding(0, _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.padding);
    },
    handleThumbPressStart$1: function(localPosition) {
      this.super$RawScrollbarState$handleThumbPressStart(localPosition);
      this.setState$1(new E._MaterialScrollbarState_handleThumbPressStart_closure(this));
    },
    handleThumbPressEnd$2: function(localPosition, velocity) {
      this.super$RawScrollbarState$handleThumbPressEnd(localPosition, velocity);
      this.setState$1(new E._MaterialScrollbarState_handleThumbPressEnd_closure(this));
    },
    handleHover$1: function($event) {
      var _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 E._MaterialScrollbarState_handleHover_closure(_this));
        _this.get$_hoverAnimationController().forward$0(0);
      } else if (_this._scrollbar0$_hoverIsActive) {
        _this.setState$1(new E._MaterialScrollbarState_handleHover_closure0(_this));
        _this.get$_hoverAnimationController().reverse$0(0);
      }
    },
    handleHoverExit$1: function($event) {
      var _this = this;
      _this.super$RawScrollbarState$handleHoverExit($event);
      _this.setState$1(new E._MaterialScrollbarState_handleHoverExit_closure(_this));
      _this.get$_hoverAnimationController().reverse$0(0);
    },
    dispose$0: function(_) {
      this.get$_hoverAnimationController().dispose$0(0);
      this.super$RawScrollbarState$dispose(0);
    }
  };
  E._MaterialScrollbarState__thumbColor_closure.prototype = {
    call$1: function(states) {
      var t1, t2, t3, _this = this;
      if (states.contains$1(0, C.MaterialState_3)) {
        t1 = _this.$this.get$_scrollbarTheme().thumbColor;
        t1 = t1 == null ? null : t1.resolve$1(states);
        return t1 == null ? _this.dragColor._readLocal$0() : t1;
      }
      if (states.contains$1(0, C.MaterialState_0))
        _this.$this.get$_showTrackOnHover();
      t1 = _this.$this;
      t2 = t1.get$_scrollbarTheme().thumbColor;
      t2 = t2 == null ? null : t2.resolve$1(states);
      if (t2 == null)
        t2 = _this.idleColor._readLocal$0();
      t3 = t1.get$_scrollbarTheme().thumbColor;
      t3 = t3 == null ? null : t3.resolve$1(states);
      if (t3 == null)
        t3 = _this.hoverColor._readLocal$0();
      t1 = P.Color_lerp(t2, t3, t1.get$_hoverAnimationController().get$_animation_controller$_value());
      t1.toString;
      return t1;
    },
    $signature: 66
  };
  E._MaterialScrollbarState__trackColor_closure.prototype = {
    call$1: function(states) {
      if (states.contains$1(0, C.MaterialState_0))
        this.$this.get$_showTrackOnHover();
      return C.Color_0;
    },
    $signature: 66
  };
  E._MaterialScrollbarState__trackBorderColor_closure.prototype = {
    call$1: function(states) {
      if (states.contains$1(0, C.MaterialState_0))
        this.$this.get$_showTrackOnHover();
      return C.Color_0;
    },
    $signature: 66
  };
  E._MaterialScrollbarState__thickness_closure.prototype = {
    call$1: function(states) {
      var t1, t2;
      if (states.contains$1(0, C.MaterialState_0))
        this.$this.get$_showTrackOnHover();
      t1 = this.$this;
      t2 = t1._widget.thickness;
      if (t2 == null) {
        t2 = t1.get$_scrollbarTheme().thickness;
        t2 = t2 == null ? null : t2.resolve$1(states);
      }
      if (t2 == null) {
        t2 = 8 / (t1.get$_useAndroidScrollbar() ? 2 : 1);
        t1 = t2;
      } else
        t1 = t2;
      return t1;
    },
    $signature: 784
  };
  E._MaterialScrollbarState_initState_closure.prototype = {
    call$0: function() {
      this.$this.updateScrollbarPainter$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  E._MaterialScrollbarState_handleThumbPressStart_closure.prototype = {
    call$0: function() {
      this.$this._dragIsActive = true;
    },
    $signature: 0
  };
  E._MaterialScrollbarState_handleThumbPressEnd_closure.prototype = {
    call$0: function() {
      this.$this._dragIsActive = false;
    },
    $signature: 0
  };
  E._MaterialScrollbarState_handleHover_closure.prototype = {
    call$0: function() {
      this.$this._scrollbar0$_hoverIsActive = true;
    },
    $signature: 0
  };
  E._MaterialScrollbarState_handleHover_closure0.prototype = {
    call$0: function() {
      this.$this._scrollbar0$_hoverIsActive = false;
    },
    $signature: 0
  };
  E._MaterialScrollbarState_handleHoverExit_closure.prototype = {
    call$0: function() {
      this.$this._scrollbar0$_hoverIsActive = false;
    },
    $signature: 0
  };
  X.ScrollbarThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.thickness, _this.showTrackOnHover, _this.isAlwaysShown, _this.interactive, _this.radius, _this.thumbColor, _this.trackColor, _this.trackBorderColor, _this.crossAxisMargin, _this.mainAxisMargin, _this.minThumbLength, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof X.ScrollbarThemeData)
        if (other.thickness == _this.thickness)
          t1 = 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;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  X._LerpProperties4.prototype = {
    resolve$1: function(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
  };
  X._ScrollbarThemeData_Object_Diagnosticable.prototype = {};
  O._TextSpanEditingController.prototype = {
    buildTextSpan$3$context$style$withComposing: function(context, style, withComposing) {
      return Q.TextSpan$(H._setArrayType([this._textSpan], type$.JSArray_TextSpan), null, null, style, null);
    }
  };
  O._SelectableTextSelectionGestureDetectorBuilder.prototype = {
    onForcePressStart$1: function(details) {
      var t1, t2;
      this.super$TextSelectionGestureDetectorBuilder$onForcePressStart(details);
      t1 = this.delegate;
      t1.get$selectionEnabled();
      t2 = this._shouldShowSelectionToolbar;
      if (t2) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1.showToolbar$0();
      }
    },
    onForcePressEnd$1: function(details) {
    },
    onSingleLongTapMoveUpdate$1: function(details) {
      var t2,
        t1 = this.delegate;
      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(C.SelectionChangedCause_2, t2.$sub(0, details.offsetFromOrigin), t2);
    },
    onSingleTapUp$1: function(details) {
      var t1 = this.delegate,
        t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2.hideToolbar$0();
      t1.get$selectionEnabled();
      t2 = this._selectable_text$_state._framework$_element;
      t2.toString;
      switch (K.Theme_of(t2).platform) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_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(C.SelectionChangedCause_0);
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_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(C.SelectionChangedCause_0, t2);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = this._selectable_text$_state._widget.onTap;
      if (t1 != null)
        t1.call$0();
    },
    onSingleLongTapStart$1: function(details) {
      var t2,
        t1 = this.delegate;
      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(C.SelectionChangedCause_2, t2);
      t2 = this._selectable_text$_state._framework$_element;
      t2.toString;
      M.Feedback_forLongPress(t2);
    }
  };
  O.SelectableText.prototype = {
    createState$0: function() {
      return new O._SelectableTextState(new N.LabeledGlobalKey(null, type$.LabeledGlobalKey_EditableTextState), null, C._StateLifecycle_0);
    },
    get$data: function(receiver) {
      return this.data;
    }
  };
  O._SelectableTextState.prototype = {
    get$_selectable_text$_controller: function() {
      var t1 = this.___SelectableTextState__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    get$_selectable_text$_effectiveFocusNode: function() {
      this._widget.toString;
      var t1 = this._selectable_text$_focusNode;
      if (t1 == null) {
        t1 = O.FocusNode$(true, null, true, null, true);
        this._selectable_text$_focusNode = t1;
      }
      return t1;
    },
    get$_selectable_text$_selectionGestureDetectorBuilder: function() {
      var t1 = this.___SelectableTextState__selectionGestureDetectorBuilder;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_selectionGestureDetectorBuilder")) : t1;
    },
    get$forcePressEnabled: function() {
      var t1 = this.___SelectableTextState_forcePressEnabled;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("forcePressEnabled")) : t1;
    },
    get$selectionEnabled: function() {
      this._widget.toString;
      return true;
    },
    initState$0: function() {
      var t1, t2, _this = this, _null = null;
      _this.super$__SelectableTextState_State_AutomaticKeepAliveClientMixin$initState();
      _this.___SelectableTextState__selectionGestureDetectorBuilder = new O._SelectableTextSelectionGestureDetectorBuilder(_this, _this);
      t1 = _this._widget;
      t2 = t1.textSpan;
      _this.___SelectableTextState__controller = O._TextSpanEditingController$(t2 == null ? Q.TextSpan$(_null, _null, _null, _null, t1.data) : t2);
      _this.get$_selectable_text$_controller().addListener$1(0, _this.get$_onControllerChanged());
    },
    didUpdateWidget$1: function(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.get$_onControllerChanged();
        _this.get$_selectable_text$_controller().removeListener$1(0, t1);
        t2 = _this._widget;
        t3 = t2.textSpan;
        _this.___SelectableTextState__controller = O._TextSpanEditingController$(t3 == null ? Q.TextSpan$(_null, _null, _null, _null, t2.data) : t3);
        _this.get$_selectable_text$_controller().addListener$1(0, t1);
      }
      if (_this.get$_selectable_text$_effectiveFocusNode().get$hasFocus()) {
        t1 = _this.get$_selectable_text$_controller()._value.selection;
        t1 = t1.start == t1.end;
      } else
        t1 = false;
      if (t1)
        _this._selectable_text$_showSelectionHandles = false;
      else
        _this._selectable_text$_showSelectionHandles = true;
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._selectable_text$_focusNode;
      if (t1 != null)
        t1.dispose$0(0);
      _this.get$_selectable_text$_controller().removeListener$1(0, _this.get$_onControllerChanged());
      _this.super$State$dispose(0);
    },
    _onControllerChanged$0: function() {
      var t1, showSelectionHandles, _this = this;
      if (_this.get$_selectable_text$_effectiveFocusNode().get$hasFocus()) {
        t1 = _this.get$_selectable_text$_controller()._value.selection;
        showSelectionHandles = t1.start != t1.end;
      } else
        showSelectionHandles = true;
      if (showSelectionHandles === _this._selectable_text$_showSelectionHandles)
        return;
      _this.setState$1(new O._SelectableTextState__onControllerChanged_closure(_this, showSelectionHandles));
    },
    _selectable_text$_handleSelectionChanged$2: function(selection, cause) {
      var t1, _this = this,
        willShowSelectionHandles = _this._selectable_text$_shouldShowSelectionHandles$1(cause);
      if (willShowSelectionHandles !== _this._selectable_text$_showSelectionHandles)
        _this.setState$1(new O._SelectableTextState__handleSelectionChanged_closure(_this, willShowSelectionHandles));
      _this._widget.toString;
      _this._lastSeenTextSelection = selection;
      t1 = _this._framework$_element;
      t1.toString;
      switch (K.Theme_of(t1).platform) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_4:
          if (cause === C.SelectionChangedCause_2) {
            t1 = _this.editableTextKey.get$currentState();
            if (t1 != null)
              t1.bringIntoView$1(new P.TextPosition(selection.baseOffset, selection.affinity));
          }
          return;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _selectable_text$_handleSelectionHandleTapped$0: function() {
      var t1 = this.get$_selectable_text$_controller()._value.selection;
      if (t1.start == t1.end)
        this.editableTextKey.get$currentState().toggleToolbar$0();
    },
    _selectable_text$_shouldShowSelectionHandles$1: function(cause) {
      var t1;
      if (!this.get$_selectable_text$_selectionGestureDetectorBuilder()._shouldShowSelectionToolbar)
        return false;
      t1 = this.get$_selectable_text$_controller()._value.selection;
      if (t1.start == t1.end)
        return false;
      if (cause === C.SelectionChangedCause_4)
        return false;
      if (cause === C.SelectionChangedCause_2)
        return true;
      if (this.get$_selectable_text$_controller()._value.text.length !== 0)
        return true;
      return false;
    },
    get$wantKeepAlive: function() {
      return true;
    },
    build$1: function(_, context) {
      var theme, selectionTheme, focusNode, cupertinoTheme, textSelectionControls, cursorColor, selectionColor, t1, cursorOffset, paintCursorAboveText, cursorOpacityAnimates, cursorRadius, effectiveTextStyle, t2, t3, t4, t5, t6, t7, t8, _this = this, _null = null;
      _this.super$AutomaticKeepAliveClientMixin$build(0, context);
      theme = K.Theme_of(context);
      selectionTheme = R.TextSelectionTheme_of(context);
      focusNode = _this.get$_selectable_text$_effectiveFocusNode();
      _this._widget.toString;
      switch (theme.platform) {
        case C.TargetPlatform_2:
          cupertinoTheme = K.CupertinoTheme_of(context);
          _this.___SelectableTextState_forcePressEnabled = true;
          textSelectionControls = $.$get$cupertinoTextSelectionControls();
          cursorColor = selectionTheme.cursorColor;
          if (cursorColor == null)
            cursorColor = cupertinoTheme.get$primaryColor();
          selectionColor = selectionTheme.selectionColor;
          if (selectionColor == null) {
            t1 = cupertinoTheme.get$primaryColor();
            selectionColor = P.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          cursorOffset = new P.Offset(-2 / context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.devicePixelRatio, 0);
          paintCursorAboveText = true;
          cursorOpacityAnimates = true;
          cursorRadius = C.Radius_2_2;
          break;
        case C.TargetPlatform_4:
          cupertinoTheme = K.CupertinoTheme_of(context);
          _this.___SelectableTextState_forcePressEnabled = false;
          textSelectionControls = $.$get$cupertinoDesktopTextSelectionControls();
          cursorColor = selectionTheme.cursorColor;
          if (cursorColor == null)
            cursorColor = cupertinoTheme.get$primaryColor();
          selectionColor = selectionTheme.selectionColor;
          if (selectionColor == null) {
            t1 = cupertinoTheme.get$primaryColor();
            selectionColor = P.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          cursorOffset = new P.Offset(-2 / context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.devicePixelRatio, 0);
          paintCursorAboveText = true;
          cursorOpacityAnimates = true;
          cursorRadius = C.Radius_2_2;
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
          _this.___SelectableTextState_forcePressEnabled = false;
          textSelectionControls = $.$get$materialTextSelectionControls();
          cursorColor = selectionTheme.cursorColor;
          if (cursorColor == null)
            cursorColor = theme.colorScheme.primary;
          selectionColor = selectionTheme.selectionColor;
          if (selectionColor == null) {
            t1 = theme.colorScheme.primary;
            selectionColor = P.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 C.TargetPlatform_3:
        case C.TargetPlatform_5:
          _this.___SelectableTextState_forcePressEnabled = false;
          textSelectionControls = $.$get$desktopTextSelectionControls();
          cursorColor = selectionTheme.cursorColor;
          if (cursorColor == null)
            cursorColor = theme.colorScheme.primary;
          selectionColor = selectionTheme.selectionColor;
          if (selectionColor == null) {
            t1 = theme.colorScheme.primary;
            selectionColor = P.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:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextStyle);
      if (t1 == null)
        t1 = C.DefaultTextStyle_kWM;
      effectiveTextStyle = _this._widget.style;
      if (effectiveTextStyle == null || effectiveTextStyle.inherit)
        effectiveTextStyle = t1.style.merge$1(effectiveTextStyle);
      if (F.MediaQuery_boldTextOverride(context))
        effectiveTextStyle = effectiveTextStyle.merge$1(C.TextStyle_oqK);
      _this._widget.toString;
      t2 = _this._selectable_text$_showSelectionHandles;
      t3 = _this.get$_selectable_text$_controller();
      t4 = _this._widget;
      t5 = t4.textAlign;
      if (t5 == null)
        t5 = t1.textAlign;
      if (t5 == null)
        t5 = C.TextAlign_4;
      t6 = t4.toolbarOptions;
      t7 = t4.minLines;
      t8 = t4.maxLines;
      if (t8 == null)
        t8 = t1.maxLines;
      t1 = D.EditableText$(true, _null, _null, false, C.CupertinoDynamicColor_YIZ, t3, cursorColor, _null, cursorOffset, cursorOpacityAnimates, cursorRadius, 2, C.DragStartBehavior_1, true, true, false, focusNode, false, _null, _this.editableTextKey, C.Brightness_1, _null, t8, t7, _null, false, "\u2022", _null, _null, _null, _this.get$_selectable_text$_handleSelectionChanged(), _this.get$_selectable_text$_handleSelectionHandleTapped(), _null, paintCursorAboveText, true, true, _null, _null, C.EdgeInsets_20_20_20_20, t4.scrollPhysics, selectionColor, textSelectionControls, C.BoxHeightStyle_0, C.BoxWidthStyle_0, false, t2, _null, _null, C.StrutStyle_yfz, effectiveTextStyle, t5, C.TextCapitalization_30, _null, t1.textHeightBehavior, _null, _null, t1.textWidthBasis, t6);
      return T.Semantics$(_null, _null, _this.get$_selectable_text$_selectionGestureDetectorBuilder().buildGestureDetector$2$behavior$child(C.HitTestBehavior_2, new T.RepaintBoundary(t1, _null)), false, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new O._SelectableTextState_build_closure(_this), _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    get$editableTextKey: function() {
      return this.editableTextKey;
    }
  };
  O._SelectableTextState__onControllerChanged_closure.prototype = {
    call$0: function() {
      this.$this._selectable_text$_showSelectionHandles = this.showSelectionHandles;
    },
    $signature: 0
  };
  O._SelectableTextState__handleSelectionChanged_closure.prototype = {
    call$0: function() {
      this.$this._selectable_text$_showSelectionHandles = this.willShowSelectionHandles;
    },
    $signature: 0
  };
  O._SelectableTextState_build_closure.prototype = {
    call$0: function() {
      this.$this.get$_selectable_text$_effectiveFocusNode().requestFocus$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  O.__SelectableTextState_State_AutomaticKeepAliveClientMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._ensureKeepAlive$0();
    },
    deactivate$0: function() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  Q.SliderThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashList([_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, _this.rangeTickMarkShape, _this.rangeThumbShape, _this.rangeTrackShape, _this.rangeValueIndicatorShape, _this.showValueIndicator, _this.valueIndicatorTextStyle, _this.minThumbSeparation, _this.thumbSelector]);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof Q.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))
                                    t1 = J.$eq$(other.valueIndicatorTextStyle, _this.valueIndicatorTextStyle) && other.minThumbSeparation == _this.minThumbSeparation && 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;
    }
  };
  Q._SliderThemeData_Object_Diagnosticable.prototype = {};
  N.SnackBarClosedReason.prototype = {
    toString$0: function(_) {
      return this._snack_bar$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.SnackBar.prototype = {
    createState$0: function() {
      return new N._SnackBarState(C._StateLifecycle_0);
    },
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  N._SnackBarState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._widget.animation.addStatusListener$1(this.get$_onAnimationStatusChanged());
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this,
        t1 = _this._widget.animation,
        t2 = oldWidget.animation;
      if (t1 != t2) {
        t1 = _this.get$_onAnimationStatusChanged();
        t2.removeStatusListener$1(t1);
        _this._widget.animation.addStatusListener$1(t1);
      }
      _this.super$State$didUpdateWidget(oldWidget);
    },
    dispose$0: function(_) {
      this._widget.animation.removeStatusListener$1(this.get$_onAnimationStatusChanged());
      this.super$State$dispose(0);
    },
    _onAnimationStatusChanged$1: function(animationStatus) {
      switch (animationStatus) {
        case C.AnimationStatus_0:
        case C.AnimationStatus_1:
        case C.AnimationStatus_2:
          break;
        case C.AnimationStatus_3:
          this._widget.toString;
          this._wasVisible = true;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    build$1: function(_, 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 = K.Theme_of(context),
        colorScheme = theme.colorScheme,
        snackBarTheme = theme.snackBarTheme,
        isThemeDark = colorScheme.brightness === C.Brightness_0,
        buttonColor = isThemeDark ? colorScheme.primaryVariant : colorScheme.secondary,
        brightness = isThemeDark ? C.Brightness_1 : C.Brightness_0,
        themeBackgroundColor = colorScheme.onSurface;
      if (isThemeDark)
        themeBackgroundColor0 = themeBackgroundColor;
      else {
        t1 = themeBackgroundColor.value;
        themeBackgroundColor0 = P.Color_alphaBlend(P.Color$fromARGB(204, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255), colorScheme.surface);
      }
      t1 = colorScheme.onPrimary;
      inverseTheme = theme.copyWith$1$colorScheme(new A.ColorScheme(t1, t1, buttonColor, colorScheme.onSecondary, themeBackgroundColor, themeBackgroundColor0, colorScheme.onError, colorScheme.primary, colorScheme.secondary, colorScheme.surface, colorScheme.background, colorScheme.error, brightness));
      contentTextStyle = snackBarTheme.contentTextStyle;
      if (contentTextStyle == null)
        contentTextStyle = X.ThemeData_ThemeData(brightness, _null).textTheme.subtitle1;
      t1 = _this._widget;
      padding = new V.EdgeInsetsDirectional(24, 0, 24, 0);
      t1 = t1.animation;
      t1.toString;
      heightAnimation = S.CurvedAnimation$(C.Cubic_ifx, t1, _null);
      t1 = _this._widget.animation;
      t1.toString;
      S.CurvedAnimation$(C.Interval_ap6, t1, _null);
      t1 = _this._widget.animation;
      t1.toString;
      fadeOutAnimation = S.CurvedAnimation$(C.Interval_8qt, t1, C.Threshold_0);
      contentTextStyle.toString;
      t1 = H._setArrayType([T.Expanded$(M.Container$(_null, L.DefaultTextStyle$(_this._widget.content, _null, _null, C.TextOverflow_0, true, contentTextStyle, _null, _null, C.TextWidthBasis_0), C.Clip_0, _null, _null, _null, _null, _null, _null, _null, C.EdgeInsets_0_14_0_14, _null, _null, _null), 1)], type$.JSArray_Widget);
      t2 = _this._widget;
      t2.toString;
      snackBar = Q.SafeArea$(true, new T.Padding(padding, T.Row$(t1, C.CrossAxisAlignment_2, _null, C.MainAxisAlignment_0, C.MainAxisSize_1, _null), _null), C.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 = M.Material$(C.Duration_200000, true, _null, new K.Theme(inverseTheme, t1 ? snackBar : K.FadeTransition$(false, snackBar, fadeOutAnimation), _null), C.Clip_0, backgroundColor, elevation, _null, _null, shape, _null, C.MaterialType_0);
      snackBar = T.Semantics$(_null, _null, new Q.Dismissible(snackBar, new N._SnackBarState_build_closure(context), t2.dismissDirection, _null, C.ValueKey_dismissible), true, _null, _null, false, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, new N._SnackBarState_build_closure0(context), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      if (t1)
        snackBarTransition = snackBar;
      else
        snackBarTransition = K.AnimatedBuilder$(heightAnimation, new N._SnackBarState_build_closure1(heightAnimation), snackBar);
      t1 = "<SnackBar Hero tag - " + t2.content.toString$0(0) + ">";
      return T.Hero$(T.ClipRect$(snackBarTransition, _null), t1);
    }
  };
  N._SnackBarState_build_closure0.prototype = {
    call$0: function() {
      M.Scaffold_of(this.context).removeCurrentSnackBar$1$reason(C.SnackBarClosedReason_1);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  N._SnackBarState_build_closure.prototype = {
    call$1: function(direction) {
      M.Scaffold_of(this.context).removeCurrentSnackBar$1$reason(C.SnackBarClosedReason_2);
    },
    $signature: 789
  };
  N._SnackBarState_build_closure1.prototype = {
    call$2: function(context, child) {
      var t1 = this.heightAnimation;
      return new T.Align(C.AlignmentDirectional_m1_m1, null, t1.get$value(t1), child, null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 790
  };
  K.SnackBarThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.backgroundColor, _this.actionTextColor, _this.disabledActionTextColor, _this.contentTextStyle, _this.elevation, _this.shape, _this.behavior, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof K.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;
    }
  };
  K._SnackBarThemeData_Object_Diagnosticable.prototype = {};
  N._SwitchType.prototype = {
    toString$0: function(_) {
      return this._switch$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.Switch.prototype = {
    _getSwitchSize$1: function(theme) {
      theme.toString;
      switch (theme.materialTapTargetSize) {
        case C.MaterialTapTargetSize_0:
          return C.Size_59_48;
        case C.MaterialTapTargetSize_1:
          return C.Size_59_40;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _buildMaterialSwitch$1: function(context) {
      var _null = null;
      return new N._MaterialSwitch(this.value, this.onChanged, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.DragStartBehavior_1, _null, _null, _null, _null, _null, _null, false, this._getSwitchSize$1(K.Theme_of(context)), _null);
    },
    build$1: function(_, context) {
      var size, _this = this, _null = null,
        _s80_ = string$.x60null_c;
      switch (C._SwitchType_0) {
        case C._SwitchType_0:
          return _this._buildMaterialSwitch$1(context);
        case C._SwitchType_1:
          switch (K.Theme_of(context).platform) {
            case C.TargetPlatform_0:
            case C.TargetPlatform_1:
            case C.TargetPlatform_3:
            case C.TargetPlatform_5:
              return _this._buildMaterialSwitch$1(context);
            case C.TargetPlatform_2:
            case C.TargetPlatform_4:
              size = _this._getSwitchSize$1(K.Theme_of(context));
              return L.Focus$(false, _null, M.Container$(C.Alignment_0_0, new N.CupertinoSwitch(_this.value, _this.onChanged, _null, _null, C.DragStartBehavior_1, _null), C.Clip_0, _null, _null, _null, _null, size._dy, _null, _null, _null, _null, _null, size._dx), _null, true, _null, true, _null, _null, _null, _null);
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
    }
  };
  N._MaterialSwitch.prototype = {
    createState$0: function() {
      return new N._MaterialSwitchState(new N._SwitchPainter(P.List_List$filled(0, null, false, type$.nullable_void_Function)), $, $, $, $, $, $, $, $, $, null, false, false, null, C._StateLifecycle_0);
    }
  };
  N._MaterialSwitchState.prototype = {
    didUpdateWidget$1: function(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (oldWidget.value != _this._widget.value) {
        t1 = _this.get$_toggleable$_position(_this);
        if (t1.get$value(t1) !== 0) {
          t1 = _this.get$_toggleable$_position(_this);
          t1 = t1.get$value(t1) === 1;
        } else
          t1 = true;
        if (t1) {
          t1 = _this.get$_toggleable$_position(_this);
          t1.curve = C.Cubic_JUR0;
          t1.reverseCurve = C.Cubic_xDo0;
        }
        _this.animateToValue$0();
      }
    },
    dispose$0: function(_) {
      this._switch$_painter.dispose$0(0);
      this.super$__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin$dispose(0);
    },
    get$onChanged: function() {
      return this._widget.onChanged != null ? this.get$_handleChanged() : null;
    },
    get$tristate: function() {
      return false;
    },
    get$value: function(_) {
      return this._widget.value;
    },
    get$_widgetThumbColor: function() {
      return new V._MaterialStatePropertyWith(new N._MaterialSwitchState__widgetThumbColor_closure(this), type$._MaterialStatePropertyWith_nullable_Color);
    },
    get$_defaultThumbColor: function() {
      var theme,
        t1 = this._framework$_element;
      t1.toString;
      theme = K.Theme_of(t1);
      return new V._MaterialStatePropertyWith(new N._MaterialSwitchState__defaultThumbColor_closure(theme.colorScheme.brightness === C.Brightness_0, theme), type$._MaterialStatePropertyWith_Color);
    },
    get$_widgetTrackColor: function() {
      return new V._MaterialStatePropertyWith(new N._MaterialSwitchState__widgetTrackColor_closure(this), type$._MaterialStatePropertyWith_nullable_Color);
    },
    get$_defaultTrackColor: function() {
      var t1 = this._framework$_element;
      t1.toString;
      return new V._MaterialStatePropertyWith(new N._MaterialSwitchState__defaultTrackColor_closure(this, K.Theme_of(t1).colorScheme.brightness === C.Brightness_0), type$._MaterialStatePropertyWith_Color);
    },
    _switch$_handleDragStart$1: function(details) {
      if (this.get$onChanged() != null)
        this.get$_reactionController().forward$0(0);
    },
    _switch$_handleDragUpdate$1: function(details) {
      var t1, delta, _this = this;
      if (_this.get$onChanged() != null) {
        t1 = _this.get$_toggleable$_position(_this);
        t1.curve = C.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) {
          case C.TextDirection_0:
            t1 = _this.get$_positionController();
            t1.set$value(0, t1.get$_animation_controller$_value() - delta);
            break;
          case C.TextDirection_1:
            t1 = _this.get$_positionController();
            t1.set$value(0, t1.get$_animation_controller$_value() + delta);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      }
    },
    _switch$_handleDragEnd$1: function(details) {
      var t2, t3, _this = this,
        t1 = _this.get$_toggleable$_position(_this);
      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 N._MaterialSwitchState__handleDragEnd_closure(_this));
      } else
        _this.animateToValue$0();
      _this.get$_reactionController().reverse$0(0);
    },
    _handleChanged$1: function(value) {
      var t1 = this._widget.onChanged;
      t1.toString;
      value.toString;
      t1.call$1(value);
    },
    build$1: function(_, context) {
      var theme, activeStates, inactiveStates, t1, effectiveActiveThumbColor, effectiveInactiveThumbColor, effectiveActiveTrackColor, effectiveInactiveTrackColor, focusedStates, effectiveFocusOverlayColor, hoveredStates, effectiveHoverOverlayColor, effectiveActivePressedOverlayColor, effectiveInactivePressedOverlayColor, t2, t3, t4, t5, t6, _this = this, _null = null;
      if (_this._needsPositionAnimation) {
        _this._needsPositionAnimation = false;
        _this.animateToValue$0();
      }
      theme = K.Theme_of(context);
      activeStates = _this.get$states();
      activeStates.add$1(0, C.MaterialState_4);
      inactiveStates = _this.get$states();
      inactiveStates.remove$1(0, C.MaterialState_4);
      _this._widget.toString;
      t1 = _this.get$_widgetThumbColor()._material_state$_resolve.call$1(activeStates);
      if (t1 == null) {
        t1 = theme.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 = theme.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 = theme.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 = theme.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, C.MaterialState_1);
      _this._widget.toString;
      t1 = theme.switchTheme.overlayColor;
      t1 = t1 == null ? _null : t1.resolve$1(focusedStates);
      effectiveFocusOverlayColor = t1;
      if (effectiveFocusOverlayColor == null)
        effectiveFocusOverlayColor = theme.focusColor;
      hoveredStates = _this.get$states();
      hoveredStates.add$1(0, C.MaterialState_0);
      _this._widget.toString;
      t1 = theme.switchTheme.overlayColor;
      t1 = t1 == null ? _null : t1.resolve$1(hoveredStates);
      effectiveHoverOverlayColor = t1;
      if (effectiveHoverOverlayColor == null)
        effectiveHoverOverlayColor = theme.hoverColor;
      activeStates.add$1(0, C.MaterialState_2);
      _this._widget.toString;
      t1 = theme.switchTheme.overlayColor;
      t1 = t1 == null ? _null : t1.resolve$1(activeStates);
      effectiveActivePressedOverlayColor = t1;
      if (effectiveActivePressedOverlayColor == null)
        effectiveActivePressedOverlayColor = P.Color$fromARGB(31, effectiveActiveThumbColor.get$value(effectiveActiveThumbColor) >>> 16 & 255, effectiveActiveThumbColor.get$value(effectiveActiveThumbColor) >>> 8 & 255, effectiveActiveThumbColor.get$value(effectiveActiveThumbColor) & 255);
      inactiveStates.add$1(0, C.MaterialState_2);
      _this._widget.toString;
      t1 = theme.switchTheme.overlayColor;
      t1 = t1 == null ? _null : t1.resolve$1(inactiveStates);
      effectiveInactivePressedOverlayColor = t1;
      if (effectiveInactivePressedOverlayColor == null)
        effectiveInactivePressedOverlayColor = P.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;
      t5.set$position(0, _this.get$_toggleable$_position(_this));
      t5.set$reaction(_this.get$_reaction());
      t5.set$reactionFocusFade(_this.get$_reactionFocusFade());
      t5.set$reactionHoverFade(_this.get$_reactionHoverFade());
      t5.set$inactiveReactionColor(effectiveInactivePressedOverlayColor);
      t5.set$reactionColor(effectiveActivePressedOverlayColor);
      t5.set$hoverColor(effectiveHoverOverlayColor);
      t5.set$focusColor(effectiveFocusOverlayColor);
      _this._widget.toString;
      t6 = theme.switchTheme.splashRadius;
      t5.set$splashRadius(t6 == null ? 20 : t6);
      t5.set$downPosition(_this.ToggleableStateMixin__downPosition);
      t5.set$isFocused(_this.get$states().contains$1(0, C.MaterialState_1));
      t5.set$isHovered(_this.get$states().contains$1(0, C.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(U.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(0, t6.textDirection);
      t5.set$surfaceColor(theme.colorScheme.surface);
      return T.Semantics$(_null, _null, D.GestureDetector$(_null, _this.buildToggleable$5$autofocus$focusNode$mouseCursor$painter$size(false, t4, new V._MaterialStatePropertyWith(new N._MaterialSwitchState_build_closure(_this, theme), 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, _null), false, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t2, _null);
    }
  };
  N._MaterialSwitchState__widgetThumbColor_closure.prototype = {
    call$1: function(states) {
      if (states.contains$1(0, C.MaterialState_6))
        return this.$this._widget.inactiveThumbColor;
      if (states.contains$1(0, C.MaterialState_4))
        return this.$this._widget.activeColor;
      return this.$this._widget.inactiveThumbColor;
    },
    $signature: 82
  };
  N._MaterialSwitchState__defaultThumbColor_closure.prototype = {
    call$1: function(states) {
      var t1;
      if (states.contains$1(0, C.MaterialState_6)) {
        if (this.isDark) {
          t1 = C.Map_HFpTk.$index(0, 800);
          t1.toString;
        } else {
          t1 = C.Map_HFpTk.$index(0, 400);
          t1.toString;
        }
        return t1;
      }
      if (states.contains$1(0, C.MaterialState_4))
        return this.theme.toggleableActiveColor;
      if (this.isDark) {
        t1 = C.Map_HFpTk.$index(0, 400);
        t1.toString;
      } else {
        t1 = C.Map_HFpTk.$index(0, 50);
        t1.toString;
      }
      return t1;
    },
    $signature: 66
  };
  N._MaterialSwitchState__widgetTrackColor_closure.prototype = {
    call$1: function(states) {
      if (states.contains$1(0, C.MaterialState_6))
        return this.$this._widget.inactiveTrackColor;
      if (states.contains$1(0, C.MaterialState_4))
        return this.$this._widget.activeTrackColor;
      return this.$this._widget.inactiveTrackColor;
    },
    $signature: 82
  };
  N._MaterialSwitchState__defaultTrackColor_closure.prototype = {
    call$1: function(states) {
      var t1, activeColor;
      if (states.contains$1(0, C.MaterialState_6))
        return this.isDark ? C.Color_452984831 : C.Color_520093696;
      if (states.contains$1(0, C.MaterialState_4)) {
        states.add$1(0, C.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 P.Color$fromARGB(128, activeColor.get$value(activeColor) >>> 16 & 255, activeColor.get$value(activeColor) >>> 8 & 255, activeColor.get$value(activeColor) & 255);
      }
      return this.isDark ? C.Color_1308622847 : C.Color_1375731712;
    },
    $signature: 66
  };
  N._MaterialSwitchState__handleDragEnd_closure.prototype = {
    call$0: function() {
      this.$this._needsPositionAnimation = true;
    },
    $signature: 0
  };
  N._MaterialSwitchState_build_closure.prototype = {
    call$1: function(states) {
      var t1 = V.MaterialStateProperty_resolveAs(this.$this._widget.mouseCursor, states, type$.nullable_MouseCursor);
      if (t1 == null) {
        this.theme.toString;
        t1 = null;
      }
      return t1 == null ? V.MaterialStateProperty_resolveAs(C._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable, states, type$.MouseCursor) : t1;
    },
    $signature: 274
  };
  N._SwitchPainter.prototype = {
    set$activeThumbImage: function(value) {
      return;
    },
    set$onActiveThumbImageError: function(value) {
      return;
    },
    set$inactiveThumbImage: function(value) {
      return;
    },
    set$onInactiveThumbImageError: function(value) {
      return;
    },
    set$activeTrackColor: function(value) {
      if (J.$eq$(value, this._activeTrackColor))
        return;
      this._activeTrackColor = value;
      this.notifyListeners$0();
    },
    set$inactiveTrackColor: function(value) {
      if (J.$eq$(value, this._inactiveTrackColor))
        return;
      this._inactiveTrackColor = value;
      this.notifyListeners$0();
    },
    set$configuration: function(value) {
      if (value.$eq(0, this._switch$_configuration))
        return;
      this._switch$_configuration = value;
      this.notifyListeners$0();
    },
    set$textDirection: function(_, value) {
      if (this._switch$_textDirection === value)
        return;
      this._switch$_textDirection = value;
      this.notifyListeners$0();
    },
    set$surfaceColor: function(value) {
      if (J.$eq$(value, this._surfaceColor))
        return;
      this._surfaceColor = value;
      this.notifyListeners$0();
    },
    set$isInteractive: function(value) {
      if (value === this._isInteractive)
        return;
      this._isInteractive = value;
      this.notifyListeners$0();
    },
    set$trackInnerLength: function(value) {
      if (value === this._trackInnerLength)
        return;
      this._trackInnerLength = value;
      this.notifyListeners$0();
    },
    _handleDecorationChanged$0: function() {
      if (!this._isPainting)
        this.notifyListeners$0();
    },
    paint$2: function(canvas, size) {
      var currentValue, thumbColor, thumbImage, thumbErrorListener, thumbPosition, thumbPainter, inset, radius, t2, visualPosition, t3, t4, thumbImage0, thumbErrorListener0, paint, _this = this, _null = null,
        t1 = _this._isInteractive;
      t1.toString;
      t2 = _this._toggleable$_position;
      currentValue = t2.get$value(t2);
      t2 = _this._switch$_textDirection;
      t2.toString;
      switch (t2) {
        case C.TextDirection_0:
          visualPosition = 1 - currentValue;
          break;
        case C.TextDirection_1:
          visualPosition = currentValue;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t2 = _this._inactiveTrackColor;
      t2.toString;
      t3 = _this._activeTrackColor;
      t3.toString;
      t3 = P.Color_lerp(t2, t3, currentValue);
      t3.toString;
      t2 = _this._inactiveColor;
      t2.toString;
      t4 = _this._activeColor;
      t4.toString;
      t4 = P.Color_lerp(t2, t4, currentValue);
      t4.toString;
      t2 = _this._surfaceColor;
      t2.toString;
      thumbColor = P.Color_alphaBlend(t4, t2);
      if (t1)
        thumbImage0 = currentValue < 0.5 ? _this._inactiveThumbImage : _this._activeThumbImage;
      else
        thumbImage0 = _this._inactiveThumbImage;
      thumbImage = thumbImage0;
      if (t1)
        thumbErrorListener0 = currentValue < 0.5 ? _this._onInactiveThumbImageError : _this._onActiveThumbImageError;
      else
        thumbErrorListener0 = _this._onInactiveThumbImageError;
      thumbErrorListener = thumbErrorListener0;
      t1 = H._detectRenderer();
      paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, t3);
      t1 = size._dy;
      t2 = (t1 - 14) / 2;
      canvas.drawRRect$2(0, P.RRect$fromRectAndRadius(new P.Rect(13, t2, 13 + (size._dx - 26), t2 + 14), C.Radius_7_7), paint);
      t2 = _this._trackInnerLength;
      t2.toString;
      thumbPosition = new P.Offset(20 + visualPosition * t2, t1 / 2);
      _this.paintRadialReaction$2$canvas$origin(canvas, thumbPosition);
      try {
        _this._isPainting = true;
        if (_this._cachedThumbPainter == null || !J.$eq$(thumbColor, _this._cachedThumbColor) || !J.$eq$(thumbImage, _this._cachedThumbImage) || !J.$eq$(thumbErrorListener, _this._cachedThumbErrorListener)) {
          _this._cachedThumbColor = thumbColor;
          _this._cachedThumbImage = thumbImage;
          _this._cachedThumbErrorListener = thumbErrorListener;
          t1 = _this._cachedThumbPainter;
          if (t1 != null)
            t1.dispose$0(0);
          t1 = thumbImage;
          t1 = t1 == null ? _null : new X.DecorationImage(t1, thumbErrorListener);
          _this._cachedThumbPainter = new S._BoxDecorationPainter(new S.BoxDecoration(thumbColor, t1, _null, _null, C.Map_2VYR1.$index(0, 1), _null, _null, C.BoxShape_1), _this.get$_handleDecorationChanged());
        }
        t1 = _this._cachedThumbPainter;
        t1.toString;
        thumbPainter = t1;
        inset = 1 - Math.abs(currentValue - 0.5) * 2;
        radius = 10 - inset;
        t1 = J.$sub$n(thumbPosition, new P.Offset(radius, radius));
        t2 = _this._switch$_configuration;
        t2.toString;
        t3 = radius * 2;
        thumbPainter.paint$3(canvas, t1, t2.copyWith$1$size(new P.Size(t3, t3)));
      } finally {
        _this._isPainting = false;
      }
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._cachedThumbPainter;
      if (t1 != null)
        t1.dispose$0(0);
      _this._cachedThumbErrorListener = _this._cachedThumbImage = _this._cachedThumbColor = _this._cachedThumbPainter = null;
      _this.super$ToggleablePainter$dispose(0);
    }
  };
  N.__MaterialSwitchState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  N.__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin.prototype = {
    initState$0: function() {
      var _this = this, _null = null;
      _this.super$State$initState();
      _this.ToggleableStateMixin___ToggleableStateMixin__positionController = G.AnimationController$(_null, C.Duration_200000, 0, _null, 1, _this._widget.value === false ? 0 : 1, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__position = S.CurvedAnimation$(C.Cubic_JUR0, _this.get$_positionController(), C.Cubic_xDo0);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionController = G.AnimationController$(_null, C.Duration_100000, 0, _null, 1, _null, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reaction = S.CurvedAnimation$(C.Cubic_ifx, _this.get$_reactionController(), _null);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController = G.AnimationController$(_null, C.Duration_50000, 0, _null, 1, _this.ToggleableStateMixin__hovering || _this.ToggleableStateMixin__focused ? 1 : 0, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade = S.CurvedAnimation$(C.Cubic_ifx, _this.get$_reactionHoverFadeController(), _null);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController = G.AnimationController$(_null, C.Duration_50000, 0, _null, 1, _this.ToggleableStateMixin__hovering || _this.ToggleableStateMixin__focused ? 1 : 0, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade = S.CurvedAnimation$(C.Cubic_ifx, _this.get$_reactionFocusFadeController(), _null);
    },
    dispose$0: function(_) {
      var _this = this;
      _this.get$_positionController().dispose$0(0);
      _this.get$_reactionController().dispose$0(0);
      _this.get$_reactionHoverFadeController().dispose$0(0);
      _this.get$_reactionFocusFadeController().dispose$0(0);
      _this.super$__MaterialSwitchState_State_TickerProviderStateMixin$dispose(0);
    }
  };
  R.SwitchThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.thumbColor, _this.trackColor, _this.materialTapTargetSize, _this.mouseCursor, _this.overlayColor, _this.splashRadius, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof R.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;
    }
  };
  R._LerpProperties.prototype = {
    resolve$1: function(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
  };
  R._SwitchThemeData_Object_Diagnosticable.prototype = {};
  U.TabBarTheme.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.indicator, _this.indicatorSize, _this.labelColor, _this.labelPadding, _this.labelStyle, _this.unselectedLabelColor, _this.unselectedLabelStyle, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof U.TabBarTheme)
        if (J.$eq$(other.indicator, _this.indicator))
          t1 = J.$eq$(other.labelColor, _this.labelColor) && J.$eq$(other.labelPadding, _this.labelPadding) && J.$eq$(other.labelStyle, _this.labelStyle) && J.$eq$(other.unselectedLabelColor, _this.unselectedLabelColor) && J.$eq$(other.unselectedLabelStyle, _this.unselectedLabelStyle);
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  U._TabBarTheme_Object_Diagnosticable.prototype = {};
  U.TabController.prototype = {
    get$animation: function(_) {
      var t1 = this._animationController;
      return t1 == null ? null : t1;
    },
    _changeIndex$3$curve$duration: function(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 = _this._indexIsChangingCount + 1;
      if (duration != null) {
        _this._indexIsChangingCount = t1;
        _this.notifyListeners$0();
        t1 = _this._animationController;
        t1.toString;
        t2 = _this._tab_controller$_index;
        t2.toString;
        curve.toString;
        t1._direction = C._AnimationDirection_0;
        t1._animateToInternal$3$curve$duration(t2, curve, duration).whenCompleteOrCancel$1(new U.TabController__changeIndex_closure(_this));
      } else {
        _this._indexIsChangingCount = t1;
        t1 = _this._animationController;
        t1.toString;
        value.toString;
        t1.set$value(0, value);
        --_this._indexIsChangingCount;
        _this.notifyListeners$0();
      }
    },
    _changeIndex$1: function(value) {
      return this._changeIndex$3$curve$duration(value, null, null);
    },
    get$index: function(_) {
      return this._tab_controller$_index;
    },
    set$index: function(_, value) {
      this._changeIndex$1(value);
    },
    animateTo$1: function(value) {
      this._changeIndex$3$curve$duration(value, C.Cubic_JUR, C.Duration_300000);
    },
    set$offset: function(_, value) {
      var t1 = this._animationController.get$_animation_controller$_value(),
        t2 = this._tab_controller$_index;
      t2.toString;
      if (value === t1 - t2)
        return;
      this._animationController.set$value(0, value + t2);
    },
    dispose$0: function(_) {
      var t1 = this._animationController;
      if (t1 != null)
        t1.dispose$0(0);
      this._animationController = null;
      this.super$ChangeNotifier$dispose(0);
    },
    get$length: function(receiver) {
      return this.length;
    }
  };
  U.TabController__changeIndex_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (t1._animationController != null) {
        --t1._indexIsChangingCount;
        t1.notifyListeners$0();
      }
    },
    $signature: 0
  };
  U._TabControllerScope.prototype = {
    updateShouldNotify$1: function(old) {
      return this.enabled !== old.enabled || this.controller != old.controller;
    }
  };
  U.DefaultTabController.prototype = {
    createState$0: function() {
      return new U._DefaultTabControllerState(null, C._StateLifecycle_0);
    },
    get$length: function(receiver) {
      return this.length;
    }
  };
  U._DefaultTabControllerState.prototype = {
    get$_tab_controller$_controller: function() {
      var t1 = this.___DefaultTabControllerState__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this.___DefaultTabControllerState__controller = U.TabController$(0, _this._widget.length, _this);
    },
    dispose$0: function(_) {
      this.get$_tab_controller$_controller().dispose$0(0);
      this.super$__DefaultTabControllerState_State_SingleTickerProviderStateMixin$dispose(0);
    },
    build$1: function(_, context) {
      return new U._TabControllerScope(this.get$_tab_controller$_controller(), U.TickerMode_of(context), this._widget.child, null);
    },
    didUpdateWidget$1: function(oldWidget) {
      var previousIndex, t1, t2, newIndex, t3, t4, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (oldWidget.length !== _this._widget.length) {
        previousIndex = _this.get$_tab_controller$_controller()._previousIndex;
        t1 = _this.get$_tab_controller$_controller()._tab_controller$_index;
        t2 = _this._widget.length;
        if (t1 >= t2) {
          newIndex = Math.max(0, t2 - 1);
          previousIndex = _this.get$_tab_controller$_controller()._tab_controller$_index;
        } else
          newIndex = null;
        t1 = _this.get$_tab_controller$_controller();
        t2 = _this._widget.length;
        t1.toString;
        t3 = newIndex == null;
        if (!t3)
          t1._animationController.set$value(0, newIndex);
        t3 = t3 ? t1._tab_controller$_index : newIndex;
        t4 = t1._animationController;
        t1 = previousIndex == null ? t1._previousIndex : previousIndex;
        _this.___DefaultTabControllerState__controller = new U.TabController(t4, t2, t3, t1, P.List_List$filled(0, null, false, type$.nullable_void_Function));
      }
    }
  };
  U.__DefaultTabControllerState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  T.UnderlineTabIndicator.prototype = {
    lerpFrom$2: function(a, t) {
      var t1, t2;
      if (a instanceof T.UnderlineTabIndicator) {
        t1 = Y.BorderSide_lerp(a.borderSide, this.borderSide, t);
        t2 = V.EdgeInsetsGeometry_lerp(a.insets, this.insets, t);
        t2.toString;
        return new T.UnderlineTabIndicator(t1, t2);
      }
      return this.super$Decoration$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      var t1, t2;
      if (b instanceof T.UnderlineTabIndicator) {
        t1 = Y.BorderSide_lerp(this.borderSide, b.borderSide, t);
        t2 = V.EdgeInsetsGeometry_lerp(this.insets, b.insets, t);
        t2.toString;
        return new T.UnderlineTabIndicator(t1, t2);
      }
      return this.super$Decoration$lerpTo(b, t);
    },
    createBoxPainter$1: function(onChanged) {
      return new T._UnderlinePainter(this, onChanged);
    },
    _indicatorRectFor$2: function(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 P.Rect(t1, t3, t1 + (indicator.right - t1), t3 + t2);
    },
    getClipPath$2: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addRect$1(0, this._indicatorRectFor$2(rect, textDirection));
      return t1;
    }
  };
  T._UnderlinePainter.prototype = {
    paint$3: function(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 P.Rect(t2, t3, t2 + t4, t3 + t1), t5).inflate$1(-(t7.width / 2));
      paint = t7.toPaint$0();
      paint.set$strokeCap(C.StrokeCap_2);
      t7 = indicator.bottom;
      canvas.drawLine$3(0, new P.Offset(indicator.left, t7), new P.Offset(indicator.right, t7), paint);
    }
  };
  E.Tab.prototype = {
    _buildLabelText$0: function() {
      var _null = null,
        t1 = this.child;
      if (t1 == null) {
        t1 = this.text;
        t1.toString;
        t1 = L.Text$(t1, _null, _null, C.TextOverflow_1, _null, false, _null, _null, _null, _null);
      }
      return t1;
    },
    build$1: function(_, context) {
      var label = this._buildLabelText$0();
      return T.SizedBox$(T.Center$(label, null, null, 1), 46, null);
    },
    get$preferredSize: function() {
      return C.Size_8aB1;
    },
    $isPreferredSizeWidget: 1,
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  E._TabStyle.prototype = {
    build$1: function(_, context) {
      var defaultStyle, defaultUnselectedStyle, textStyle, selectedColor, unselectedColor, color, _this = this, _null = null,
        themeData = K.Theme_of(context),
        tabBarTheme = K.Theme_of(context).tabBarTheme,
        animation = type$.Animation_double._as(_this.listenable),
        t1 = _this.labelStyle,
        t2 = tabBarTheme.labelStyle;
      if (t2 == null) {
        t2 = themeData.primaryTextTheme.bodyText1;
        t2.toString;
      }
      defaultStyle = t2.copyWith$1$inherit(true);
      t2 = tabBarTheme.unselectedLabelStyle;
      t1 = t2 == null ? t1 : t2;
      if (t1 == null) {
        t1 = themeData.primaryTextTheme.bodyText1;
        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.bodyText1.color;
        t2.toString;
        selectedColor = t2;
      }
      unselectedColor = tabBarTheme.unselectedLabelColor;
      if (unselectedColor == null)
        unselectedColor = P.Color$fromARGB(178, selectedColor.get$value(selectedColor) >>> 16 & 255, selectedColor.get$value(selectedColor) >>> 8 & 255, selectedColor.get$value(selectedColor) & 255);
      if (t1) {
        t1 = P.Color_lerp(selectedColor, unselectedColor, animation.get$value(animation));
        t1.toString;
        color = t1;
      } else {
        t1 = P.Color_lerp(unselectedColor, selectedColor, animation.get$value(animation));
        t1.toString;
        color = t1;
      }
      t1 = textStyle.copyWith$1$color(color);
      return L.DefaultTextStyle$(Y.IconTheme_merge(_this.child, new T.IconThemeData(color, _null, 24)), _null, _null, C.TextOverflow_0, true, t1, _null, _null, C.TextWidthBasis_0);
    }
  };
  E._TabLabelBarRenderer.prototype = {
    performLayout$0: function() {
      var child, xOffsets, t1, t2, _this = this;
      _this.super$RenderFlex$performLayout();
      child = _this.ContainerRenderObjectMixin__firstChild;
      xOffsets = H._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;
      }
      t1 = _this._flex$_textDirection;
      t1.toString;
      switch (t1) {
        case C.TextDirection_0:
          C.JSArray_methods.insert$2(xOffsets, 0, _this._box$_size._dx);
          break;
        case C.TextDirection_1:
          xOffsets.push(_this._box$_size._dx);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = _this._flex$_textDirection;
      t1.toString;
      t2 = _this._box$_size._dx;
      _this.onPerformLayout.call$3(xOffsets, t1, t2);
    }
  };
  E._TabLabelBar.prototype = {
    createRenderObject$1: function(context) {
      var _this = this, _null = null,
        t1 = _this.getEffectiveTextDirection$1(context);
      t1.toString;
      t1 = new E._TabLabelBarRenderer(_this.onPerformLayout, _this.direction, _this.mainAxisAlignment, _this.mainAxisSize, _this.crossAxisAlignment, t1, _this.verticalDirection, _null, C.Clip_0, P.List_List$filled(4, U.TextPainter$(_null, _null, _null, _null, _null, C.TextAlign_4, C.TextDirection_1, _null, 1, C.TextWidthBasis_0), false, type$.TextPainter), true, 0, _null, _null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.addAll$1(0, _null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      this.super$Flex$updateRenderObject(context, renderObject);
      renderObject.onPerformLayout = this.onPerformLayout;
    }
  };
  E._IndicatorPainter.prototype = {
    markNeedsPaint$0: function() {
      this._tabs$_needsPaint = true;
    },
    indicatorRect$2: function(tabBarSize, tabIndex) {
      var tabLeft, tabRight, insets, t2, rect, t3, t4, t5, _this = this,
        t1 = _this._currentTextDirection;
      t1.toString;
      switch (t1) {
        case C.TextDirection_0:
          t1 = _this._currentTabOffsets;
          tabLeft = t1[tabIndex + 1];
          tabRight = t1[tabIndex];
          break;
        case C.TextDirection_1:
          t1 = _this._currentTabOffsets;
          tabLeft = t1[tabIndex];
          tabRight = t1[tabIndex + 1];
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      insets = _this.indicatorPadding;
      t1 = tabLeft + (tabRight - tabLeft);
      t2 = 0 + tabBarSize._dy;
      rect = new P.Rect(tabLeft, 0, t1, t2);
      t3 = insets.get$horizontal();
      t4 = insets.get$_edge_insets$_top(insets);
      t5 = insets.get$_edge_insets$_bottom(insets);
      if (!(t1 - tabLeft >= t3 && t2 - 0 >= t4 + t5))
        throw H.wrapException(U.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: function(canvas, size) {
      var t1, t2, value, ltr, 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;
      t2 = t1._tab_controller$_index;
      t2.toString;
      value = t1.get$animation(t1).get$_animation_controller$_value();
      ltr = t2 > value;
      t1 = ltr ? C.JSNumber_methods.floor$0(value) : C.JSNumber_methods.ceil$0(value);
      from = C.JSInt_methods.clamp$2(t1, 0, _this._currentTabOffsets.length - 2);
      t1 = ltr ? from + 1 : from - 1;
      to = C.JSNumber_methods.clamp$2(t1, 0, _this._currentTabOffsets.length - 2);
      t1 = _this._currentRect = P.Rect_lerp(_this.indicatorRect$2(size, from), _this.indicatorRect$2(size, to), Math.abs(value - from));
      t2 = t1.right;
      t3 = t1.left;
      t4 = t1.bottom;
      t1 = t1.top;
      t5 = _this._currentTextDirection;
      _this._tabs$_painter.paint$3(canvas, new P.Offset(t3, t1), new M.ImageConfiguration(_null, _null, _null, t5, new P.Size(t2 - t3, t4 - t1), _null));
    },
    shouldRepaint$1: function(old) {
      var _this = this;
      return _this._tabs$_needsPaint || _this.controller != old.controller || !J.$eq$(_this.indicator, old.indicator) || J.get$length$asx(_this.tabKeys) != J.get$length$asx(old.tabKeys) || !S.listEquals0(_this._currentTabOffsets, old._currentTabOffsets) || _this._currentTextDirection != old._currentTextDirection;
    }
  };
  E._ChangeAnimation.prototype = {
    get$parent: function(_) {
      var t1 = this.controller;
      t1 = t1.get$animation(t1);
      t1.toString;
      return t1;
    },
    removeStatusListener$1: function(listener) {
      var t1 = this.controller;
      if (t1.get$animation(t1) != null)
        this.super$AnimationWithParentMixin$removeStatusListener(listener);
    },
    removeListener$1: function(_, listener) {
      var t1 = this.controller;
      if (t1.get$animation(t1) != null)
        this.super$AnimationWithParentMixin$removeListener(0, listener);
    },
    get$value: function(_) {
      return E._indexChangeProgress(this.controller);
    }
  };
  E._DragAnimation.prototype = {
    get$parent: function(_) {
      var t1 = this.controller;
      t1 = t1.get$animation(t1);
      t1.toString;
      return t1;
    },
    removeStatusListener$1: function(listener) {
      var t1 = this.controller;
      if (t1.get$animation(t1) != null)
        this.super$AnimationWithParentMixin$removeStatusListener(listener);
    },
    removeListener$1: function(_, listener) {
      var t1 = this.controller;
      if (t1.get$animation(t1) != null)
        this.super$AnimationWithParentMixin$removeListener(0, listener);
    },
    get$value: function(_) {
      var t1 = this.controller,
        t2 = t1.length,
        controllerValue = J.clamp$2$n(t1.get$animation(t1).get$_animation_controller$_value(), 0, t2 - 1);
      t2 = this.index;
      t2.toString;
      return C.JSNumber_methods.clamp$2(Math.abs(controllerValue - t2), 0, 1);
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  E._TabBarScrollPosition.prototype = {
    applyContentDimensions$2: function(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;
    }
  };
  E._TabBarScrollController.prototype = {
    createScrollPosition$3: function(physics, context, oldPosition) {
      var _null = null,
        t1 = type$.nullable_void_Function;
      t1 = new E._TabBarScrollPosition(this.tabBar, C.ScrollDirection_0, physics, context, true, _null, new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_bool), P.List_List$filled(0, _null, false, 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;
    }
  };
  E.TabBar.prototype = {
    get$preferredSize: function() {
      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, H.throwConcurrentModificationError)(t1), ++_i) {
        item = t1[_i];
        if (t3._is(item))
          maxHeight = Math.max(H.checkNum(item.get$preferredSize()._dy), maxHeight);
      }
      return new P.Size(1 / 0, maxHeight + 2);
    },
    get$tabHasTextAndIcon: function() {
      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, H.throwConcurrentModificationError)(t1), ++_i) {
        item = t1[_i];
        if (t3._is(item))
          if (item.get$preferredSize()._dy === 72)
            return true;
      }
      return false;
    },
    createState$0: function() {
      return new E._TabBarState(C._StateLifecycle_0);
    },
    $isPreferredSizeWidget: 1
  };
  E._TabBarState.prototype = {
    get$_tabKeys: function() {
      var t1 = this.___TabBarState__tabKeys;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_tabKeys")) : t1;
    },
    initState$0: function() {
      var t1, t2;
      this.super$State$initState();
      t1 = this._widget.tabs;
      t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,GlobalKey<State<StatefulWidget>>>");
      this.___TabBarState__tabKeys = P.List_List$of(new H.MappedListIterable(t1, new E._TabBarState_initState_closure(), t2), true, t2._eval$1("ListIterable.E"));
    },
    get$_indicator: function() {
      var t1, color, t2, _this = this;
      _this._widget.toString;
      t1 = _this._framework$_element;
      t1.toString;
      t1 = K.Theme_of(t1).tabBarTheme.indicator;
      if (t1 != null)
        return t1;
      _this._widget.toString;
      t1 = _this._framework$_element;
      t1.toString;
      color = K.Theme_of(t1).indicatorColor;
      _this._widget.toString;
      t1 = color.value;
      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 = C.Color_4294967295;
      _this._widget.toString;
      return new T.UnderlineTabIndicator(new Y.BorderSide(color, 2, C.BorderStyle_1), C.EdgeInsets_0_0_0_0);
    },
    get$_controllerIsValid: function() {
      var t1 = this._tabs$_controller;
      return (t1 == null ? null : t1.get$animation(t1)) != null;
    },
    _updateTabController$0: function() {
      var t1, _this = this,
        newController = _this._widget.controller;
      if (newController == null) {
        t1 = _this._framework$_element;
        t1.toString;
        newController = U.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._observer_list$_list.push(_this.get$_handleTabControllerAnimationTick());
        _this._tabs$_controller.addListener$1(0, _this.get$_handleTabControllerTick());
        _this._currentIndex = _this._tabs$_controller._tab_controller$_index;
      }
    },
    _initIndicatorPainter$0: function() {
      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 = K.Theme_of(t3).tabBarTheme.indicatorSize;
        _this._widget.toString;
        t4 = _this.get$_tabKeys();
        t5 = _this._indicatorPainter;
        t1 = new E._IndicatorPainter(t1, t2, t3, C.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: function() {
      this.super$State$didChangeDependencies();
      this._updateTabController$0();
      this._initIndicatorPainter$0();
    },
    didUpdateWidget$1: function(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 = oldWidget.tabs;
      t3 = t2.length;
      if (t1 > t3) {
        delta = t1 - t3;
        t1 = _this.get$_tabKeys();
        _list = J.JSArray_JSArray$allocateGrowable(delta, type$.GlobalKey_State_StatefulWidget);
        for (t2 = type$.LabeledGlobalKey_State_StatefulWidget, n = 0; n < delta; ++n)
          _list[n] = new N.LabeledGlobalKey(null, t2);
        J.addAll$1$ax(t1, _list);
      } else if (t1 < t3)
        J.removeRange$2$ax(_this.get$_tabKeys(), _this._widget.tabs.length, t2.length);
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._indicatorPainter._tabs$_painter;
      if (t1 != null)
        t1.dispose$0(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(0);
    },
    _tabScrollOffset$4: function(index, viewportWidth, minExtent, maxExtent) {
      var t1, tabCenter, _this = this;
      if (!_this._widget.isScrollable)
        return 0;
      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) {
        case C.TextDirection_0:
          t1 = _this.___TabBarState__tabStripWidth;
          tabCenter = (t1 === $ ? H.throwExpression(H.LateError$fieldNI("_tabStripWidth")) : t1) - tabCenter;
          break;
        case C.TextDirection_1:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return C.JSNumber_methods.clamp$2(tabCenter - viewportWidth / 2, minExtent, maxExtent);
    },
    _tabCenteredScrollOffset$1: function(index) {
      var t2, t3,
        position = C.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: function() {
      var leadingPosition, middlePosition, trailingPosition, t2, value, offset, _this = this,
        t1 = _this._tabs$_controller;
      if (t1._indexIsChangingCount === 0 && _this._widget.isScrollable) {
        t1 = t1._tab_controller$_index;
        _this._currentIndex = t1;
        t1.toString;
        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;
        t2 = t1._tab_controller$_index;
        t2.toString;
        value = t1.get$animation(t1).get$_animation_controller$_value();
        if (value === t2 - 1)
          offset = leadingPosition == null ? middlePosition : leadingPosition;
        else if (value === t2 + 1)
          offset = trailingPosition == null ? middlePosition : trailingPosition;
        else if (value === t2)
          offset = middlePosition;
        else if (value < t2)
          if (leadingPosition == null)
            offset = middlePosition;
          else {
            t1 = P.lerpDouble(middlePosition, leadingPosition, t2 - value);
            t1.toString;
            offset = t1;
          }
        else if (trailingPosition == null)
          offset = middlePosition;
        else {
          t1 = P.lerpDouble(middlePosition, trailingPosition, value - t2);
          t1.toString;
          offset = t1;
        }
        _this._tabs$_scrollController.jumpTo$1(offset);
      }
    },
    _handleTabControllerTick$0: function() {
      var offset, _this = this,
        t1 = _this._tabs$_controller._tab_controller$_index;
      if (t1 != _this._currentIndex) {
        _this._currentIndex = t1;
        if (_this._widget.isScrollable) {
          t1.toString;
          offset = _this._tabCenteredScrollOffset$1(t1);
          _this._tabs$_scrollController.animateTo$3$curve$duration(offset, C.Cubic_JUR, C.Duration_300000);
        }
      }
      _this.setState$1(new E._TabBarState__handleTabControllerTick_closure());
    },
    _saveTabOffsets$3: function(tabOffsets, textDirection, width) {
      var t1;
      this.___TabBarState__tabStripWidth = width;
      t1 = this._indicatorPainter;
      if (t1 != null) {
        t1._currentTabOffsets = tabOffsets;
        t1._currentTextDirection = textDirection;
      }
    },
    _buildStyledTab$3: function(child, selected, animation) {
      return E._TabStyle$(animation, child, this._widget.labelColor, null, selected, null, null);
    },
    build$1: function(_, context) {
      var tabBarTheme, wrappedTabs, t1, previousIndex, t2, t3, animation, tabIndex, tabCount, index, index0, t4, tabBar, _this = this, _null = null;
      L.Localizations_of(context, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      if (_this._tabs$_controller.length === 0) {
        _this._widget.toString;
        return M.Container$(_null, _null, C.Clip_0, _null, _null, _null, _null, 48, _null, _null, _null, _null, _null, _null);
      }
      tabBarTheme = K.Theme_of(context).tabBarTheme;
      wrappedTabs = P.List_List$generate(_this._widget.tabs.length, new E._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 E._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 E._DragAnimation(t1, t3));
          t1 = _this._currentIndex;
          t1.toString;
          if (t1 > 0) {
            tabIndex = t1 - 1;
            t1 = _this._tabs$_controller;
            t1.toString;
            t2 = H._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus);
            wrappedTabs[tabIndex] = _this._buildStyledTab$3(wrappedTabs[tabIndex], false, new S.ReverseAnimation(new E._DragAnimation(t1, tabIndex), new R.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 = H._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus);
            wrappedTabs[tabIndex] = _this._buildStyledTab$3(wrappedTabs[tabIndex], false, new S.ReverseAnimation(new E._DragAnimation(t1, tabIndex), new R.ObserverList(t2, type$.ObserverList_of_void_Function_AnimationStatus), 0));
          }
        }
      }
      t1 = _this._widget;
      tabCount = t1.tabs.length;
      for (t2 = type$.JSArray_Widget, index = 0; index < tabCount; t1 = t3, index = index0) {
        t1 = wrappedTabs[index];
        t3 = _this._currentIndex;
        index0 = index + 1;
        t4 = "Tab " + index0 + " of " + tabCount;
        t1 = R.InkWell$(false, true, new T.Padding(new V.EdgeInsets(0, 0, 0, 2), new T.Stack(C.AlignmentDirectional_m1_m1, _null, C.StackFit_0, C.Clip_1, H._setArrayType([t1, new T.Semantics(new A.SemanticsProperties(_null, _null, _null, index === t3, _null, _null, _null, _null, _null, _null, _null, _null, _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, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, _null, _null)], t2), _null), _null), _null, true, _null, _null, _null, _null, _null, C.SystemMouseCursor_click, _null, _null, _null, _null, _null, new E._TabBarState_build_closure0(_this, index), _null, _null, _null, _null, _null);
        wrappedTabs[index] = t1;
        t3 = _this._widget;
        if (!t3.isScrollable)
          wrappedTabs[index] = new T.Expanded(1, C.FlexFit_0, t1, _null);
      }
      t2 = _this._indicatorPainter;
      tabBar = T.CustomPaint$(E._TabStyle$(C.C__AlwaysDismissedAnimation, new E._TabLabelBar(_this.get$_saveTabOffsets(), C.Axis_0, C.MainAxisAlignment_0, C.MainAxisSize_1, C.CrossAxisAlignment_2, _null, C.VerticalDirection_1, _null, wrappedTabs, _null), t1.labelColor, _null, false, _null, _null), _null, _null, t2, C.Size_0_0);
      if (t1.isScrollable) {
        t1 = _this._tabs$_scrollController;
        if (t1 == null)
          t1 = _this._tabs$_scrollController = new E._TabBarScrollController(_this, 0, H._setArrayType([], type$.JSArray_ScrollPosition), P.List_List$filled(0, _null, false, type$.nullable_void_Function));
        _this._widget.toString;
        tabBar = E.SingleChildScrollView$(tabBar, t1, C.DragStartBehavior_1, _null, _null, false, C.Axis_0);
      }
      return tabBar;
    }
  };
  E._TabBarState_initState_closure.prototype = {
    call$1: function(tab) {
      return new N.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget);
    },
    $signature: 792
  };
  E._TabBarState__handleTabControllerTick_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  E._TabBarState_build_closure.prototype = {
    call$1: function(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, C.EdgeInsets_0_13_0_13);
          else
            adjustedPadding = C.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 = C.EdgeInsets_16_0_16_0;
      t3 = J.$index$asx(t1.get$_tabKeys(), index);
      return T.Center$(new T.Padding(t2, new T.KeyedSubtree(t1._widget.tabs[index], t3), _null), 1, _null, _null);
    },
    $signature: 793
  };
  E._TabBarState_build_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._tabs$_controller.animateTo$1(this.index);
      t1._widget.toString;
    },
    $signature: 0
  };
  E.TabBarView.prototype = {
    createState$0: function() {
      return new E._TabBarViewState(C._StateLifecycle_0);
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  E._TabBarViewState.prototype = {
    get$_pageController: function() {
      var t1 = this.___TabBarViewState__pageController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_pageController")) : t1;
    },
    get$_childrenWithKey: function() {
      var t1 = this.___TabBarViewState__childrenWithKey;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_childrenWithKey")) : t1;
    },
    get$_controllerIsValid: function() {
      var t1 = this._tabs$_controller;
      return (t1 == null ? null : t1.get$animation(t1)) != null;
    },
    _updateTabController$0: function() {
      var t1, _this = this,
        newController = _this._widget.controller;
      if (newController == null) {
        t1 = _this._framework$_element;
        t1.toString;
        newController = U.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._observer_list$_list.push(_this.get$_handleTabControllerAnimationTick());
      }
    },
    initState$0: function() {
      this.super$State$initState();
      this._updateChildren$0();
    },
    didChangeDependencies$0: function() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      _this._updateTabController$0();
      t1 = _this._tabs$_controller;
      t1 = t1 == null ? null : t1._tab_controller$_index;
      _this._currentIndex = t1;
      _this.___TabBarViewState__pageController = D.PageController$(t1 == null ? 0 : t1);
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.controller != oldWidget.controller)
        _this._updateTabController$0();
      if (_this._widget.children !== oldWidget.children && _this._warpUnderwayCount === 0)
        _this._updateChildren$0();
    },
    dispose$0: function(_) {
      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(0);
    },
    _updateChildren$0: function() {
      var t1 = this._widget.children;
      this.___TabBarViewState__children = t1;
      this.___TabBarViewState__childrenWithKey = T.KeyedSubtree_ensureUniqueKeysForList(t1);
    },
    _handleTabControllerAnimationTick$0: function() {
      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: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, position, t2, t3, previousIndex, initialPage, originalChildren;
      var $async$_warpToCurrentIndex$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._framework$_element == null) {
                $async$returnValue = P.Future_Future$value(null, type$.void);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = type$._PagePosition;
              position = t1._as(C.JSArray_methods.get$single($async$self.get$_pageController()._positions));
              t2 = position.get$page(position);
              t3 = $async$self._currentIndex;
              t3.toString;
              if (t2 === t3) {
                $async$returnValue = P.Future_Future$value(null, type$.void);
                // goto return
                $async$goto = 1;
                break;
              }
              previousIndex = $async$self._tabs$_controller._previousIndex;
              $async$goto = Math.abs(t3 - previousIndex) === 1 ? 3 : 4;
              break;
            case 3:
              // then
              ++$async$self._warpUnderwayCount;
              t1 = $async$self.get$_pageController();
              t2 = $async$self._currentIndex;
              t2.toString;
              $async$goto = 5;
              return P._asyncAwait(t1.animateToPage$3$curve$duration(t2, C.Cubic_JUR, C.Duration_300000), $async$_warpToCurrentIndex$0);
            case 5:
              // returning from await.
              --$async$self._warpUnderwayCount;
              $async$returnValue = P.Future_Future$value(null, type$.void);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              initialPage = t3 > previousIndex ? t3 - 1 : t3 + 1;
              originalChildren = $async$self.get$_childrenWithKey();
              $async$self.setState$1(new E._TabBarViewState__warpToCurrentIndex_closure($async$self, initialPage, previousIndex));
              position = t1._as(C.JSArray_methods.get$single($async$self.get$_pageController()._positions));
              position.jumpTo$1(position.getPixelsFromPage$1(initialPage));
              t1 = $async$self.get$_pageController();
              t2 = $async$self._currentIndex;
              t2.toString;
              $async$goto = 6;
              return P._asyncAwait(t1.animateToPage$3$curve$duration(t2, C.Cubic_JUR, C.Duration_300000), $async$_warpToCurrentIndex$0);
            case 6:
              // returning from await.
              if ($async$self._framework$_element == null) {
                $async$returnValue = P.Future_Future$value(null, type$.void);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.setState$1(new E._TabBarViewState__warpToCurrentIndex_closure0($async$self, originalChildren));
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_warpToCurrentIndex$0, $async$completer);
    },
    _tabs$_handleScrollNotification$1: function(notification) {
      var position, t2, 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 G.ScrollUpdateNotification && _this._tabs$_controller._indexIsChangingCount === 0) {
        t1 = type$._PagePosition;
        position = t1._as(C.JSArray_methods.get$single(_this.get$_pageController()._positions));
        t2 = position.get$page(position);
        t2.toString;
        t3 = _this._tabs$_controller;
        if (Math.abs(t2 - t3._tab_controller$_index) > 1) {
          position = t1._as(C.JSArray_methods.get$single(_this.get$_pageController()._positions));
          t2 = position.get$page(position);
          t2.toString;
          t3._changeIndex$1(C.JSNumber_methods.floor$0(t2));
          t2 = _this._tabs$_controller;
          _this._currentIndex = t2._tab_controller$_index;
        } else
          t2 = t3;
        position = t1._as(C.JSArray_methods.get$single(_this.get$_pageController()._positions));
        t1 = position.get$page(position);
        t1.toString;
        t2.set$offset(0, C.JSNumber_methods.clamp$2(t1 - _this._tabs$_controller._tab_controller$_index, -1, 1));
      } else if (notification instanceof G.ScrollEndNotification) {
        t1 = _this._tabs$_controller;
        t1.toString;
        t2 = type$._PagePosition;
        position = t2._as(C.JSArray_methods.get$single(_this.get$_pageController()._positions));
        t3 = position.get$page(position);
        t3.toString;
        t1._changeIndex$1(C.JSNumber_methods.round$0(t3));
        t3 = _this._tabs$_controller;
        _this._currentIndex = t3._tab_controller$_index;
        if (t3._indexIsChangingCount === 0) {
          position = t2._as(C.JSArray_methods.get$single(_this.get$_pageController()._positions));
          t1 = position.get$page(position);
          t1.toString;
          t3.set$offset(0, C.JSNumber_methods.clamp$2(t1 - _this._tabs$_controller._tab_controller$_index, -1, 1));
        }
      }
      --_this._warpUnderwayCount;
      return false;
    },
    build$1: function(_, context) {
      var t1, t2, t3, _this = this;
      _this._widget.toString;
      t1 = _this.get$_pageController();
      t2 = C.PageScrollPhysics_null.buildParent$1(_this._widget.physics);
      t3 = _this.get$_childrenWithKey();
      if (t1 == null)
        t1 = $.$get$_defaultPageController();
      return new U.NotificationListener(new D.PageView(t1, new D.PageScrollPhysics(t2), G.SliverChildListDelegate$(t3, true, true, true), C.DragStartBehavior_1, null), _this.get$_tabs$_handleScrollNotification(), null, type$.NotificationListener_ScrollNotification);
    }
  };
  E._TabBarViewState__warpToCurrentIndex_closure.prototype = {
    call$0: function() {
      var t2, temp, t3,
        t1 = this.$this;
      ++t1._warpUnderwayCount;
      t1.___TabBarViewState__childrenWithKey = P.List_List$from(t1.get$_childrenWithKey(), false, type$.Widget);
      t2 = this.initialPage;
      temp = J.$index$asx(t1.get$_childrenWithKey(), t2);
      t3 = this.previousIndex;
      J.$indexSet$ax(t1.get$_childrenWithKey(), t2, J.$index$asx(t1.get$_childrenWithKey(), t3));
      J.$indexSet$ax(t1.get$_childrenWithKey(), t3, temp);
    },
    $signature: 0
  };
  E._TabBarViewState__warpToCurrentIndex_closure0.prototype = {
    call$0: function() {
      var t2, t3,
        t1 = this.$this;
      --t1._warpUnderwayCount;
      t2 = t1._widget.children;
      t3 = t1.___TabBarViewState__children;
      if (t2 !== (t3 === $ ? H.throwExpression(H.LateError$fieldNI("_children")) : t3))
        t1._updateChildren$0();
      else
        t1.___TabBarViewState__childrenWithKey = this.originalChildren;
    },
    $signature: 0
  };
  E.__ChangeAnimation_Animation_AnimationWithParentMixin.prototype = {};
  E.__DragAnimation_Animation_AnimationWithParentMixin.prototype = {};
  U.TextButton.prototype = {
    defaultStyleOf$1: function(context) {
      var scaledPadding, t2, t3,
        theme = K.Theme_of(context),
        colorScheme = theme.colorScheme,
        t1 = F.MediaQuery_maybeOf(context);
      t1 = t1 == null ? null : t1.textScaleFactor;
      scaledPadding = K.ButtonStyleButton_scaledPadding(C.EdgeInsets_8_8_8_8, C.EdgeInsets_8_0_8_0, C.EdgeInsets_4_0_4_0, t1 == null ? 1 : t1);
      t1 = theme.shadowColor;
      t2 = theme.textTheme;
      t3 = theme.visualDensity;
      return U.TextButton_styleFrom(C.Alignment_0_0, C.Duration_200000, C.Color_0, C.SystemMouseCursor_forbidden, 0, true, C.SystemMouseCursor_click, null, C.Size_wjo, C.Size_64_36, colorScheme.onSurface, scaledPadding, colorScheme.primary, t1, C.RoundedRectangleBorder_6Fb1, null, C.C__InkRippleFactory, theme.materialTapTargetSize, t2.button, t3);
    },
    themeStyleOf$1: function(context) {
      var buttonTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$.TextButtonTheme),
        t1 = buttonTheme == null ? null : buttonTheme.data;
      return (t1 == null ? K.Theme_of(context).textButtonTheme : t1).style;
    }
  };
  U._TextButtonDefaultForeground.prototype = {
    resolve$1: function(states) {
      var t1;
      if (states.contains$1(0, C.MaterialState_6)) {
        t1 = this.onSurface;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1.value;
          t1 = P.Color$fromARGB(97, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return t1;
      }
      return this.primary;
    },
    toString$0: function(_) {
      var t1 = this.onSurface;
      if (t1 == null)
        t1 = null;
      else {
        t1 = t1.value;
        t1 = P.Color$fromARGB(97, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
      }
      return "{disabled: " + H.S(t1) + ", otherwise: " + H.S(this.primary) + "}";
    }
  };
  U._TextButtonDefaultOverlay.prototype = {
    resolve$1: function(states) {
      var t1;
      if (states.contains$1(0, C.MaterialState_0)) {
        t1 = this.primary;
        return P.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, C.MaterialState_1) || states.contains$1(0, C.MaterialState_2)) {
        t1 = this.primary;
        return P.Color$fromARGB(31, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      return null;
    },
    toString$0: function(_) {
      var t1 = this.primary;
      return "{hovered: " + P.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: " + P.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}";
    }
  };
  U._TextButtonDefaultMouseCursor.prototype = {
    resolve$1: function(states) {
      if (states.contains$1(0, C.MaterialState_6))
        return this.disabledCursor;
      return this.enabledCursor;
    }
  };
  U.__TextButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable.prototype = {};
  T.TextButtonThemeData.prototype = {
    get$hashCode: function(_) {
      return J.get$hashCode$(this.style);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof T.TextButtonThemeData && J.$eq$(other.style, this.style);
    }
  };
  T._TextButtonThemeData_Object_Diagnosticable.prototype = {};
  Z._TextFieldSelectionGestureDetectorBuilder.prototype = {
    onForcePressStart$1: function(details) {
      var t1, t2;
      this.super$TextSelectionGestureDetectorBuilder$onForcePressStart(details);
      t1 = this.delegate;
      t1.get$selectionEnabled();
      t2 = this._shouldShowSelectionToolbar;
      if (t2) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1.showToolbar$0();
      }
    },
    onForcePressEnd$1: function(details) {
    },
    onSingleLongTapMoveUpdate$1: function(details) {
      var t2,
        t1 = this.delegate;
      t1.get$selectionEnabled();
      t2 = this._text_field$_state._framework$_element;
      t2.toString;
      switch (K.Theme_of(t2).platform) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_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(C.SelectionChangedCause_2, details.globalPosition);
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_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(C.SelectionChangedCause_2, t2.$sub(0, details.offsetFromOrigin), t2);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    onSingleTapUp$1: function(details) {
      var _s80_ = string$.x60null_c,
        t1 = this.delegate,
        t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2.hideToolbar$0();
      t1.get$selectionEnabled();
      t2 = this._text_field$_state._framework$_element;
      t2.toString;
      switch (K.Theme_of(t2).platform) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_4:
          switch (details.kind) {
            case C.PointerDeviceKind_1:
            case C.PointerDeviceKind_2:
            case C.PointerDeviceKind_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(C.SelectionChangedCause_0, t2);
              break;
            case C.PointerDeviceKind_0:
            case C.PointerDeviceKind_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(C.SelectionChangedCause_0);
              break;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_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(C.SelectionChangedCause_0, t2);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      t1 = this._text_field$_state;
      t1._requestKeyboard$0();
      t1._widget.toString;
    },
    onSingleLongTapStart$1: function(details) {
      var t2, t3,
        t1 = this.delegate;
      t1.get$selectionEnabled();
      t2 = this._text_field$_state;
      t3 = t2._framework$_element;
      t3.toString;
      switch (K.Theme_of(t3).platform) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_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(C.SelectionChangedCause_2, details.globalPosition);
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_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(C.SelectionChangedCause_2, t3);
          t2 = t2._framework$_element;
          t2.toString;
          M.Feedback_forLongPress(t2);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    }
  };
  Z.TextField0.prototype = {
    createState$0: function() {
      var _null = null;
      return new Z._TextFieldState(new N.LabeledGlobalKey(_null, type$.LabeledGlobalKey_EditableTextState), _null, P.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), _null, true, _null, C._StateLifecycle_0);
    }
  };
  Z._TextFieldState.prototype = {
    get$_effectiveController: function() {
      var t1 = this._widget.controller;
      if (t1 == null) {
        t1 = this._text_field$_controller._restoration_properties$_value;
        t1.toString;
      }
      return t1;
    },
    get$_effectiveFocusNode: function() {
      var t1 = this._widget.focusNode;
      if (t1 == null) {
        t1 = this._focusNode;
        if (t1 == null) {
          t1 = O.FocusNode$(true, null, true, null, false);
          this._focusNode = t1;
        }
      }
      return t1;
    },
    get$_effectiveMaxLengthEnforcement: function() {
      this._widget.toString;
      var t1 = this._framework$_element;
      t1.toString;
      t1 = B.LengthLimitingTextInputFormatter_getDefaultMaxLengthEnforcement(K.Theme_of(t1).platform);
      return t1;
    },
    get$_selectionGestureDetectorBuilder: function() {
      var t1 = this.___TextFieldState__selectionGestureDetectorBuilder;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_selectionGestureDetectorBuilder")) : t1;
    },
    get$forcePressEnabled: function() {
      var t1 = this.___TextFieldState_forcePressEnabled;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("forcePressEnabled")) : t1;
    },
    get$selectionEnabled: function() {
      this._widget.toString;
      return true;
    },
    get$_text_field$_isEnabled: function() {
      var t1 = this._widget,
        t2 = t1.enabled;
      if (t2 == null)
        t1 = t1.decoration.enabled;
      else
        t1 = t2;
      return t1;
    },
    get$_hasIntrinsicError: function() {
      this._widget.toString;
      return false;
    },
    _getEffectiveDecoration$0: function() {
      var themeData, t2, t3, effectiveDecoration, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      L.Localizations_of(t1, C.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      t1 = _this._framework$_element;
      t1.toString;
      themeData = K.Theme_of(t1);
      t1 = _this._widget.decoration;
      t1 = t1.applyDefaults$1(themeData.inputDecorationTheme);
      t2 = _this.get$_text_field$_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 = new T.StringCharacters(_this.get$_effectiveController()._value.text);
      t2.get$length(t2);
      if (t1)
        if (effectiveDecoration.counterText == null)
          _this._widget.toString;
      _this._widget.toString;
      return effectiveDecoration;
    },
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this.___TextFieldState__selectionGestureDetectorBuilder = new Z._TextFieldSelectionGestureDetectorBuilder(_this, _this);
      if (_this._widget.controller == null)
        _this._createLocalController$0();
      _this.get$_effectiveFocusNode().set$canRequestFocus(_this.get$_text_field$_isEnabled());
    },
    get$_text_field$_canRequestFocus: function() {
      var mode,
        t1 = this._framework$_element;
      t1.toString;
      t1 = F.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch (mode == null ? C.NavigationMode_0 : mode) {
        case C.NavigationMode_0:
          return this.get$_text_field$_isEnabled();
        case C.NavigationMode_1:
          return true;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    didChangeDependencies$0: function() {
      this.super$__TextFieldState_State_RestorationMixin$didChangeDependencies();
      this.get$_effectiveFocusNode().set$canRequestFocus(this.get$_text_field$_canRequestFocus());
    },
    didUpdateWidget$1: function(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._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(0);
        _this._text_field$_controller = null;
      }
      _this.get$_effectiveFocusNode().set$canRequestFocus(_this.get$_text_field$_canRequestFocus());
      if (_this.get$_effectiveFocusNode().get$hasFocus()) {
        _this._widget.toString;
        oldWidget.toString;
      }
    },
    restoreState$2: function(oldBucket, initialRestore) {
      var t1 = this._text_field$_controller;
      if (t1 != null)
        this.registerForRestoration$2(t1, "controller");
    },
    _createLocalController$1: function(value) {
      var t1, _this = this;
      if (value == null)
        t1 = new U.RestorableTextEditingController(C.TextEditingValue_8Zw, P.List_List$filled(0, null, false, type$.nullable_void_Function));
      else
        t1 = new U.RestorableTextEditingController(value, P.List_List$filled(0, null, false, type$.nullable_void_Function));
      _this._text_field$_controller = t1;
      if (!_this.get$restorePending()) {
        t1 = _this._text_field$_controller;
        t1.toString;
        _this.registerForRestoration$2(t1, "controller");
      }
    },
    _createLocalController$0: function() {
      return this._createLocalController$1(null);
    },
    get$restorationId: function() {
      this._widget.toString;
      return null;
    },
    dispose$0: function(_) {
      var t1 = this._focusNode;
      if (t1 != null)
        t1.dispose$0(0);
      t1 = this._text_field$_controller;
      if (t1 != null) {
        t1._disposeOldValue$0();
        t1.super$RestorableListenable$dispose(0);
      }
      this.super$__TextFieldState_State_RestorationMixin$dispose(0);
    },
    _requestKeyboard$0: function() {
      var t1 = this.editableTextKey.get$currentState();
      if (t1 != null)
        t1.requestKeyboard$0();
    },
    _shouldShowSelectionHandles$1: function(cause) {
      var _this = this;
      if (!_this.get$_selectionGestureDetectorBuilder()._shouldShowSelectionToolbar)
        return false;
      if (cause === C.SelectionChangedCause_4)
        return false;
      _this._widget.toString;
      if (!_this.get$_text_field$_isEnabled())
        return false;
      if (cause === C.SelectionChangedCause_2)
        return true;
      if (_this.get$_effectiveController()._value.text.length !== 0)
        return true;
      return false;
    },
    _text_field$_handleSelectionChanged$2: function(selection, cause) {
      var t1, _this = this,
        willShowSelectionHandles = _this._shouldShowSelectionHandles$1(cause);
      if (willShowSelectionHandles !== _this._showSelectionHandles)
        _this.setState$1(new Z._TextFieldState__handleSelectionChanged_closure(_this, willShowSelectionHandles));
      t1 = _this._framework$_element;
      t1.toString;
      switch (K.Theme_of(t1).platform) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_4:
          if (cause === C.SelectionChangedCause_2) {
            t1 = _this.editableTextKey.get$currentState();
            if (t1 != null)
              t1.bringIntoView$1(new P.TextPosition(selection.baseOffset, selection.affinity));
          }
          return;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _handleSelectionHandleTapped$0: function() {
      var t1 = this.get$_effectiveController()._value.selection;
      if (t1.start == t1.end)
        this.editableTextKey.get$currentState().toggleToolbar$0();
    },
    _handleHover$1: function(hovering) {
      if (hovering !== this._isHovering)
        this.setState$1(new Z._TextFieldState__handleHover_closure(this, hovering));
    },
    build$1: function(_, context) {
      var style, keyboardAppearance, controller, focusNode, t2, cursorColor, cupertinoTheme, textSelectionControls, selectionColor, cursorOffset, autocorrectionTextRectColor, paintCursorAboveText, cursorOpacityAnimates, cursorRadius, t3, t4, t5, t6, t7, t8, t9, t10, child, effectiveMouseCursor, _this = this, _null = null, _box_0 = {},
        theme = K.Theme_of(context),
        selectionTheme = R.TextSelectionTheme_of(context),
        t1 = theme.textTheme.subtitle1;
      t1.toString;
      style = t1.merge$1(_this._widget.style);
      _this._widget.toString;
      keyboardAppearance = theme.primaryColorBrightness;
      controller = _this.get$_effectiveController();
      focusNode = _this.get$_effectiveFocusNode();
      t1 = H._setArrayType([], type$.JSArray_TextInputFormatter);
      t2 = _this._widget.inputFormatters;
      if (t2 != null)
        C.JSArray_methods.addAll$1(t1, t2);
      t2 = _this._widget;
      cursorColor = t2.cursorColor;
      _box_0.handleDidGainAccessibilityFocus = null;
      switch (theme.platform) {
        case C.TargetPlatform_2:
          cupertinoTheme = K.CupertinoTheme_of(context);
          _this.___TextFieldState_forcePressEnabled = true;
          textSelectionControls = $.$get$cupertinoTextSelectionControls();
          if (cursorColor == null) {
            cursorColor = selectionTheme.cursorColor;
            if (cursorColor == null)
              cursorColor = cupertinoTheme.get$primaryColor();
          }
          selectionColor = selectionTheme.selectionColor;
          if (selectionColor == null) {
            t2 = cupertinoTheme.get$primaryColor();
            selectionColor = P.Color$fromARGB(102, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
          }
          cursorOffset = new P.Offset(-2 / context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.devicePixelRatio, 0);
          autocorrectionTextRectColor = selectionColor;
          paintCursorAboveText = true;
          cursorOpacityAnimates = true;
          cursorRadius = C.Radius_2_2;
          break;
        case C.TargetPlatform_4:
          cupertinoTheme = K.CupertinoTheme_of(context);
          _this.___TextFieldState_forcePressEnabled = false;
          textSelectionControls = $.$get$cupertinoDesktopTextSelectionControls();
          if (cursorColor == null) {
            cursorColor = selectionTheme.cursorColor;
            if (cursorColor == null)
              cursorColor = cupertinoTheme.get$primaryColor();
          }
          selectionColor = selectionTheme.selectionColor;
          if (selectionColor == null) {
            t2 = cupertinoTheme.get$primaryColor();
            selectionColor = P.Color$fromARGB(102, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
          }
          cursorOffset = new P.Offset(-2 / context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.devicePixelRatio, 0);
          _box_0.handleDidGainAccessibilityFocus = new Z._TextFieldState_build_closure(_this);
          autocorrectionTextRectColor = _null;
          paintCursorAboveText = true;
          cursorOpacityAnimates = true;
          cursorRadius = C.Radius_2_2;
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
          _this.___TextFieldState_forcePressEnabled = false;
          textSelectionControls = $.$get$materialTextSelectionControls();
          if (cursorColor == null) {
            cursorColor = selectionTheme.cursorColor;
            if (cursorColor == null)
              cursorColor = theme.colorScheme.primary;
          }
          selectionColor = selectionTheme.selectionColor;
          if (selectionColor == null) {
            t2 = theme.colorScheme.primary;
            selectionColor = P.Color$fromARGB(102, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
          }
          cursorRadius = _null;
          autocorrectionTextRectColor = cursorRadius;
          cursorOffset = autocorrectionTextRectColor;
          paintCursorAboveText = false;
          cursorOpacityAnimates = false;
          break;
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          _this.___TextFieldState_forcePressEnabled = false;
          textSelectionControls = $.$get$desktopTextSelectionControls();
          if (cursorColor == null) {
            cursorColor = selectionTheme.cursorColor;
            if (cursorColor == null)
              cursorColor = theme.colorScheme.primary;
          }
          selectionColor = selectionTheme.selectionColor;
          if (selectionColor == null) {
            t2 = theme.colorScheme.primary;
            selectionColor = P.Color$fromARGB(102, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
          }
          cursorRadius = _null;
          autocorrectionTextRectColor = cursorRadius;
          cursorOffset = autocorrectionTextRectColor;
          paintCursorAboveText = false;
          cursorOpacityAnimates = false;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t2 = _this.RestorationMixin__bucket;
      _this._widget.toString;
      t3 = _this.get$_text_field$_isEnabled();
      t4 = _this._widget;
      t5 = t4.toolbarOptions;
      t6 = _this._showSelectionHandles;
      t7 = t4.keyboardType;
      t8 = t4.autofocus;
      t9 = t4.smartDashesType;
      t10 = t4.smartQuotesType;
      t1 = K.UnmanagedRestorationScope$(t2, D.EditableText$(true, autocorrectionTextRectColor, _null, t8, C.CupertinoDynamicColor_YIZ, controller, cursorColor, _null, cursorOffset, cursorOpacityAnimates, cursorRadius, 2, C.DragStartBehavior_1, true, true, false, focusNode, true, t1, _this.editableTextKey, keyboardAppearance, t7, 1, _null, C.C__DeferringMouseCursor, false, "\u2022", _null, t4.onChanged, t4.onEditingComplete, _this.get$_text_field$_handleSelectionChanged(), _this.get$_handleSelectionHandleTapped(), t4.onSubmitted, paintCursorAboveText, !t3, true, "editable", _null, C.EdgeInsets_20_20_20_20, _null, selectionColor, textSelectionControls, C.BoxHeightStyle_0, C.BoxWidthStyle_0, _null, t6, t9, t10, _null, style, C.TextAlign_4, C.TextCapitalization_30, _null, _null, _null, _null, C.TextWidthBasis_0, t5));
      _this._widget.toString;
      child = K.AnimatedBuilder$(new B._MergingListenable(H._setArrayType([focusNode, controller], type$.JSArray_Listenable)), new Z._TextFieldState_build_closure0(_this, focusNode, controller), new T.RepaintBoundary(t1, _null));
      _this._widget.toString;
      t1 = P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (!_this.get$_text_field$_isEnabled())
        t1.add$1(0, C.MaterialState_6);
      if (_this._isHovering)
        t1.add$1(0, C.MaterialState_0);
      if (focusNode.get$hasFocus())
        t1.add$1(0, C.MaterialState_1);
      t2 = _this._widget.decoration;
      if (t2.errorText != null || _this.get$_hasIntrinsicError())
        t1.add$1(0, C.MaterialState_7);
      effectiveMouseCursor = V.MaterialStateProperty_resolveAs(C._EnabledAndDisabledMouseCursor_SystemMouseCursor_text_textable, t1, type$.MouseCursor);
      _box_0.semanticsMaxValueLength = null;
      _this._widget.toString;
      if (_this.get$_effectiveMaxLengthEnforcement() !== C.MaxLengthEnforcement_0)
        _this._widget.toString;
      return new T.MouseRegion(new Z._TextFieldState_build_closure1(_this), _null, new Z._TextFieldState_build_closure2(_this), effectiveMouseCursor, true, new T.IgnorePointer(!_this.get$_text_field$_isEnabled(), _null, K.AnimatedBuilder$(controller, new Z._TextFieldState_build_closure3(_box_0, _this), _this.get$_selectionGestureDetectorBuilder().buildGestureDetector$2$behavior$child(C.HitTestBehavior_2, child)), _null), _null);
    },
    get$editableTextKey: function() {
      return this.editableTextKey;
    }
  };
  Z._TextFieldState__handleSelectionChanged_closure.prototype = {
    call$0: function() {
      this.$this._showSelectionHandles = this.willShowSelectionHandles;
    },
    $signature: 0
  };
  Z._TextFieldState__handleHover_closure.prototype = {
    call$0: function() {
      this.$this._isHovering = this.hovering;
    },
    $signature: 0
  };
  Z._TextFieldState_build_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (!t1.get$_effectiveFocusNode().get$hasFocus() && t1.get$_effectiveFocusNode().get$canRequestFocus())
        t1.get$_effectiveFocusNode().requestFocus$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  Z._TextFieldState_build_closure0.prototype = {
    call$2: function(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._value.text.length;
      t1._widget.toString;
      return new L.InputDecorator(t2, t3, C.TextAlign_4, null, t5, t4, false, t6 === 0, child, null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 795
  };
  Z._TextFieldState_build_closure1.prototype = {
    call$1: function($event) {
      return this.$this._handleHover$1(true);
    },
    $signature: 117
  };
  Z._TextFieldState_build_closure2.prototype = {
    call$1: function($event) {
      return this.$this._handleHover$1(false);
    },
    $signature: 67
  };
  Z._TextFieldState_build_closure3.prototype = {
    call$2: function(context, child) {
      var _null = null,
        t1 = this._box_0,
        t2 = t1.semanticsMaxValueLength,
        t3 = this.$this,
        t4 = new T.StringCharacters(t3.get$_effectiveController()._value.text);
      t4 = t4.get$length(t4);
      t3._widget.toString;
      return T.Semantics$(_null, _null, child, false, t4, _null, false, _null, _null, _null, _null, _null, _null, t2, _null, _null, _null, t1.handleDidGainAccessibilityFocus, _null, _null, _null, new Z._TextFieldState_build__closure(t3), _null, _null, _null, _null, _null, _null, _null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 796
  };
  Z._TextFieldState_build__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (!t1.get$_effectiveController()._value.selection.get$isValid())
        t1.get$_effectiveController().set$selection(X.TextSelection$collapsed(C.TextAffinity_1, t1.get$_effectiveController()._value.text.length));
      t1._requestKeyboard$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  Z.__TextFieldState_State_RestorationMixin_dispose_closure.prototype = {
    call$2: function(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 69
  };
  Z.__TextFieldState_State_RestorationMixin.prototype = {
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0: function() {
      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 = K.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(0);
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new Z.__TextFieldState_State_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0(0);
      _this.RestorationMixin__bucket = null;
      _this.super$State$dispose(0);
    }
  };
  F.MaterialTextSelectionControls.prototype = {
    getHandleSize$1: function(textLineHeight) {
      return C.Size_22_22;
    },
    buildHandle$3: function(context, type, textHeight) {
      var _null = null,
        theme = K.Theme_of(context),
        handleColor = R.TextSelectionTheme_of(context).selectionHandleColor,
        handle = T.SizedBox$(T.CustomPaint$(_null, _null, _null, new F._TextSelectionHandlePainter(handleColor == null ? theme.colorScheme.primary : handleColor, _null), C.Size_0_0), 22, 22);
      switch (type) {
        case C.TextSelectionHandleType_0:
          return T.Transform$rotate(C.Alignment_0_0, 1.5707963267948966, handle, _null);
        case C.TextSelectionHandleType_1:
          return handle;
        case C.TextSelectionHandleType_2:
          return T.Transform$rotate(C.Alignment_0_0, 0.7853981633974483, handle, _null);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    getHandleAnchor$2: function(type, textLineHeight) {
      switch (type) {
        case C.TextSelectionHandleType_0:
          return C.Offset_22_0;
        case C.TextSelectionHandleType_1:
          return C.Offset_0_0;
        default:
          return C.Offset_11_m4;
      }
    }
  };
  F._TextSelectionHandlePainter.prototype = {
    paint$2: function(canvas, size) {
      var radius, circle, path,
        t1 = H._detectRenderer(),
        paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      paint.set$color(0, this.color);
      radius = size._dx / 2;
      circle = P.Rect$fromCircle(new P.Offset(radius, radius), radius);
      t1 = 0 + radius;
      path = P.Path_Path();
      path.addOval$1(0, circle);
      path.addRect$1(0, new P.Rect(0, 0, t1, t1));
      canvas.drawPath$2(0, path, paint);
    },
    shouldRepaint$1: function(oldPainter) {
      return !J.$eq$(this.color, oldPainter.color);
    }
  };
  R.TextSelectionThemeData.prototype = {
    get$hashCode: function(_) {
      return P.hashValues(this.cursorColor, this.selectionColor, this.selectionHandleColor, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof R.TextSelectionThemeData && J.$eq$(other.cursorColor, _this.cursorColor) && J.$eq$(other.selectionColor, _this.selectionColor) && J.$eq$(other.selectionHandleColor, _this.selectionHandleColor);
    }
  };
  R._TextSelectionThemeData_Object_Diagnosticable.prototype = {};
  R.TextTheme.prototype = {
    merge$1: function(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, _this = this, _null = null;
      if (other == null)
        return _this;
      t1 = _this.headline1;
      t2 = t1 == null ? _null : t1.merge$1(other.headline1);
      if (t2 == null)
        t2 = other.headline1;
      t3 = _this.headline2;
      t4 = t3 == null ? _null : t3.merge$1(other.headline2);
      if (t4 == null)
        t4 = other.headline2;
      t5 = _this.headline3;
      t6 = t5 == null ? _null : t5.merge$1(other.headline3);
      if (t6 == null)
        t6 = other.headline3;
      t7 = _this.headline4;
      t8 = t7 == null ? _null : t7.merge$1(other.headline4);
      if (t8 == null)
        t8 = other.headline4;
      t9 = _this.headline5;
      t10 = t9 == null ? _null : t9.merge$1(other.headline5);
      if (t10 == null)
        t10 = other.headline5;
      t11 = _this.headline6;
      t12 = t11 == null ? _null : t11.merge$1(other.headline6);
      if (t12 == null)
        t12 = other.headline6;
      t13 = _this.subtitle1;
      t14 = t13 == null ? _null : t13.merge$1(other.subtitle1);
      if (t14 == null)
        t14 = other.subtitle1;
      t15 = _this.subtitle2;
      t16 = t15 == null ? _null : t15.merge$1(other.subtitle2);
      if (t16 == null)
        t16 = other.subtitle2;
      t17 = _this.bodyText1;
      t18 = t17 == null ? _null : t17.merge$1(other.bodyText1);
      if (t18 == null)
        t18 = other.bodyText1;
      t19 = _this.bodyText2;
      t20 = t19 == null ? _null : t19.merge$1(other.bodyText2);
      if (t20 == null)
        t20 = other.bodyText2;
      t21 = _this.caption;
      t22 = t21 == null ? _null : t21.merge$1(other.caption);
      if (t22 == null)
        t22 = other.caption;
      t23 = _this.button;
      t24 = t23 == null ? _null : t23.merge$1(other.button);
      if (t24 == null)
        t24 = other.button;
      t25 = _this.overline;
      t26 = t25 == null ? _null : t25.merge$1(other.overline);
      if (t26 == null)
        t26 = other.overline;
      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 ? _null : t8;
      if (t4 == null)
        t4 = t7;
      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 ? t21 : t22;
      t12 = t24 == null ? t23 : t24;
      return R.TextTheme$(t9, t10, t12, t11, t1, t2, t3, t4, t5, t6, t26 == null ? t25 : t26, t7, t8);
    },
    apply$2$fontFamily$fontSizeFactor: function(fontFamily, fontSizeFactor) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, _this = this, _null = null,
        t1 = _this.headline1;
      t1 = t1 == null ? _null : t1.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t2 = _this.headline2;
      t2 = t2 == null ? _null : t2.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t3 = _this.headline3;
      t3 = t3 == null ? _null : t3.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t4 = _this.headline4;
      t4 = t4 == null ? _null : t4.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t5 = _this.headline5;
      t5 = t5 == null ? _null : t5.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t6 = _this.headline6;
      t6 = t6 == null ? _null : t6.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t7 = _this.subtitle1;
      t7 = t7 == null ? _null : t7.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t8 = _this.subtitle2;
      t8 = t8 == null ? _null : t8.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t9 = _this.bodyText1;
      t9 = t9 == null ? _null : t9.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t10 = _this.bodyText2;
      t10 = t10 == null ? _null : t10.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t11 = _this.caption;
      t11 = t11 == null ? _null : t11.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t12 = _this.button;
      t12 = t12 == null ? _null : t12.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t13 = _this.overline;
      return R.TextTheme$(t9, t10, t12, t11, t1, t2, t3, t4, t5, t6, t13 == null ? _null : t13.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor), t7, t8);
    },
    apply$1$fontSizeFactor: function(fontSizeFactor) {
      return this.apply$2$fontFamily$fontSizeFactor(null, fontSizeFactor);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof R.TextTheme && J.$eq$(_this.headline1, other.headline1) && J.$eq$(_this.headline2, other.headline2) && J.$eq$(_this.headline3, other.headline3) && J.$eq$(_this.headline4, other.headline4) && J.$eq$(_this.headline5, other.headline5) && J.$eq$(_this.headline6, other.headline6) && J.$eq$(_this.subtitle1, other.subtitle1) && J.$eq$(_this.subtitle2, other.subtitle2) && J.$eq$(_this.bodyText1, other.bodyText1) && J.$eq$(_this.bodyText2, other.bodyText2) && J.$eq$(_this.caption, other.caption) && J.$eq$(_this.button, other.button) && J.$eq$(_this.overline, other.overline);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.headline1, _this.headline2, _this.headline3, _this.headline4, _this.headline5, _this.headline6, _this.subtitle1, _this.subtitle2, _this.bodyText1, _this.bodyText2, _this.caption, _this.button, _this.overline, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  R._TextTheme_Object_Diagnosticable.prototype = {};
  K.Theme.prototype = {
    build$1: function(_, context) {
      var t2, t3, t4, t5, t6, t7,
        t1 = this.data;
      t1.toString;
      t2 = C.CupertinoThemeData_KQb.brightness;
      t3 = C.CupertinoThemeData_KQb.primaryColor;
      t4 = C.CupertinoThemeData_KQb.primaryContrastingColor;
      t5 = C.CupertinoThemeData_KQb.textTheme;
      t6 = C.CupertinoThemeData_KQb.barBackgroundColor;
      t7 = C.CupertinoThemeData_KQb.scaffoldBackgroundColor;
      return new K._InheritedTheme(this, new K.CupertinoTheme(new X.MaterialBasedCupertinoThemeData(t1, new K.NoDefaultCupertinoThemeData(t2, t3, t4, t5, t6, t7), C._CupertinoThemeDefaults_iF8, t2, t3, t4, t5, t6, t7), Y.IconTheme$(this.child, t1.iconTheme, null), null), null);
    }
  };
  K._InheritedTheme.prototype = {
    wrap$2: function(_, context, child) {
      return new K.Theme(this.theme.data, child, null);
    },
    updateShouldNotify$1: function(old) {
      return !J.$eq$(this.theme.data, old.theme.data);
    }
  };
  K.ThemeDataTween.prototype = {
    lerp$1: function(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, lerpedBorderSide, t180, t181, t182, t183, t184, t185, t186, t187, t188, t189, t190, t191, t192, t193, t194, t195, t196, t197, t198, t199, t200, t201, t202, t203, t204, t205, t206, t207, t208, t209, t210, t211, t212, t213, t214, t215, t216, t217, t218, t219, t220, t221, t222, t223, t224, t225, t226, t227, t228,
        t1 = this.begin;
      t1.toString;
      t2 = this.end;
      t2.toString;
      t3 = t1.visualDensity.horizontal;
      t4 = t2.visualDensity.horizontal;
      t5 = P.lerpDouble(t3, t4, t);
      t5.toString;
      t4 = P.lerpDouble(t3, t4, t);
      t4.toString;
      t3 = P.Color_lerp(t1.primaryColor, t2.primaryColor, t);
      t3.toString;
      t6 = t < 0.5;
      t7 = t6 ? t1.primaryColorBrightness : t2.primaryColorBrightness;
      t8 = P.Color_lerp(t1.primaryColorLight, t2.primaryColorLight, t);
      t8.toString;
      t9 = P.Color_lerp(t1.primaryColorDark, t2.primaryColorDark, t);
      t9.toString;
      t10 = P.Color_lerp(t1.canvasColor, t2.canvasColor, t);
      t10.toString;
      t11 = P.Color_lerp(t1.shadowColor, t2.shadowColor, t);
      t11.toString;
      t12 = P.Color_lerp(t1.accentColor, t2.accentColor, t);
      t12.toString;
      t13 = t6 ? t1.accentColorBrightness : t2.accentColorBrightness;
      t14 = P.Color_lerp(t1.scaffoldBackgroundColor, t2.scaffoldBackgroundColor, t);
      t14.toString;
      t15 = P.Color_lerp(t1.bottomAppBarColor, t2.bottomAppBarColor, t);
      t15.toString;
      t16 = P.Color_lerp(t1.cardColor, t2.cardColor, t);
      t16.toString;
      t17 = P.Color_lerp(t1.dividerColor, t2.dividerColor, t);
      t17.toString;
      t18 = P.Color_lerp(t1.focusColor, t2.focusColor, t);
      t18.toString;
      t19 = P.Color_lerp(t1.hoverColor, t2.hoverColor, t);
      t19.toString;
      t20 = P.Color_lerp(t1.highlightColor, t2.highlightColor, t);
      t20.toString;
      t21 = P.Color_lerp(t1.splashColor, t2.splashColor, t);
      t21.toString;
      t22 = t6 ? t1.splashFactory : t2.splashFactory;
      t23 = P.Color_lerp(t1.selectedRowColor, t2.selectedRowColor, t);
      t23.toString;
      t24 = P.Color_lerp(t1.unselectedWidgetColor, t2.unselectedWidgetColor, t);
      t24.toString;
      t25 = P.Color_lerp(t1.disabledColor, t2.disabledColor, t);
      t25.toString;
      t26 = t6 ? t1.buttonTheme : t2.buttonTheme;
      t27 = S.ToggleButtonsThemeData_lerp(t1.toggleButtonsTheme, t2.toggleButtonsTheme, t);
      t27.toString;
      t28 = P.Color_lerp(t1.buttonColor, t2.buttonColor, t);
      t28.toString;
      t29 = P.Color_lerp(t1.secondaryHeaderColor, t2.secondaryHeaderColor, t);
      t29.toString;
      t30 = P.Color_lerp(t1.textSelectionColor, t2.textSelectionColor, t);
      t30.toString;
      t31 = P.Color_lerp(t1.cursorColor, t2.cursorColor, t);
      t31.toString;
      t32 = P.Color_lerp(t1.textSelectionHandleColor, t2.textSelectionHandleColor, t);
      t32.toString;
      t33 = P.Color_lerp(t1.backgroundColor, t2.backgroundColor, t);
      t33.toString;
      t34 = P.Color_lerp(t1.dialogBackgroundColor, t2.dialogBackgroundColor, t);
      t34.toString;
      t35 = P.Color_lerp(t1.indicatorColor, t2.indicatorColor, t);
      t35.toString;
      t36 = P.Color_lerp(t1.hintColor, t2.hintColor, t);
      t36.toString;
      t37 = P.Color_lerp(t1.errorColor, t2.errorColor, t);
      t37.toString;
      t38 = P.Color_lerp(t1.toggleableActiveColor, t2.toggleableActiveColor, t);
      t38.toString;
      t39 = R.TextTheme_lerp(t1.textTheme, t2.textTheme, t);
      t40 = R.TextTheme_lerp(t1.primaryTextTheme, t2.primaryTextTheme, t);
      t41 = R.TextTheme_lerp(t1.accentTextTheme, t2.accentTextTheme, t);
      t42 = t6 ? t1.inputDecorationTheme : t2.inputDecorationTheme;
      t43 = T.IconThemeData_lerp(t1.iconTheme, t2.iconTheme, t);
      t44 = T.IconThemeData_lerp(t1.primaryIconTheme, t2.primaryIconTheme, t);
      t45 = T.IconThemeData_lerp(t1.accentIconTheme, t2.accentIconTheme, t);
      t46 = t1.sliderTheme;
      t47 = t2.sliderTheme;
      t48 = P.lerpDouble(t46.trackHeight, t47.trackHeight, t);
      t49 = P.Color_lerp(t46.activeTrackColor, t47.activeTrackColor, t);
      t50 = P.Color_lerp(t46.inactiveTrackColor, t47.inactiveTrackColor, t);
      t51 = P.Color_lerp(t46.disabledActiveTrackColor, t47.disabledActiveTrackColor, t);
      t52 = P.Color_lerp(t46.disabledInactiveTrackColor, t47.disabledInactiveTrackColor, t);
      t53 = P.Color_lerp(t46.activeTickMarkColor, t47.activeTickMarkColor, t);
      t54 = P.Color_lerp(t46.inactiveTickMarkColor, t47.inactiveTickMarkColor, t);
      t55 = P.Color_lerp(t46.disabledActiveTickMarkColor, t47.disabledActiveTickMarkColor, t);
      t56 = P.Color_lerp(t46.disabledInactiveTickMarkColor, t47.disabledInactiveTickMarkColor, t);
      t57 = P.Color_lerp(t46.thumbColor, t47.thumbColor, t);
      t58 = P.Color_lerp(t46.overlappingShapeStrokeColor, t47.overlappingShapeStrokeColor, t);
      t59 = P.Color_lerp(t46.disabledThumbColor, t47.disabledThumbColor, t);
      t60 = P.Color_lerp(t46.overlayColor, t47.overlayColor, t);
      t61 = P.Color_lerp(t46.valueIndicatorColor, t47.valueIndicatorColor, t);
      t62 = t6 ? t46.overlayShape : t47.overlayShape;
      t63 = t6 ? t46.tickMarkShape : t47.tickMarkShape;
      t64 = t6 ? t46.thumbShape : t47.thumbShape;
      t65 = t6 ? t46.trackShape : t47.trackShape;
      t66 = t6 ? t46.valueIndicatorShape : t47.valueIndicatorShape;
      t67 = t6 ? t46.rangeTickMarkShape : t47.rangeTickMarkShape;
      t68 = t6 ? t46.rangeThumbShape : t47.rangeThumbShape;
      t69 = t6 ? t46.rangeTrackShape : t47.rangeTrackShape;
      t70 = t6 ? t46.rangeValueIndicatorShape : t47.rangeValueIndicatorShape;
      t71 = t6 ? t46.showValueIndicator : t47.showValueIndicator;
      t72 = A.TextStyle_lerp(t46.valueIndicatorTextStyle, t47.valueIndicatorTextStyle, t);
      t73 = P.lerpDouble(t46.minThumbSeparation, t47.minThumbSeparation, t);
      t46 = t6 ? t46.thumbSelector : t47.thumbSelector;
      t47 = t1.tabBarTheme;
      t74 = t2.tabBarTheme;
      t75 = Z.Decoration_lerp(t47.indicator, t74.indicator, t);
      t76 = t6 ? t47.indicatorSize : t74.indicatorSize;
      t77 = P.Color_lerp(t47.labelColor, t74.labelColor, t);
      t78 = V.EdgeInsetsGeometry_lerp(t47.labelPadding, t74.labelPadding, t);
      t79 = A.TextStyle_lerp(t47.labelStyle, t74.labelStyle, t);
      t80 = P.Color_lerp(t47.unselectedLabelColor, t74.unselectedLabelColor, t);
      t74 = A.TextStyle_lerp(t47.unselectedLabelStyle, t74.unselectedLabelStyle, t);
      t47 = T.TooltipThemeData_lerp(t1.tooltipTheme, t2.tooltipTheme, t);
      t47.toString;
      t81 = t1.cardTheme;
      t82 = t2.cardTheme;
      if (t6)
        t83 = t81.clipBehavior;
      else
        t83 = t82.clipBehavior;
      t84 = P.Color_lerp(t81.color, t82.color, t);
      t85 = P.Color_lerp(t81.shadowColor, t82.shadowColor, t);
      t86 = P.lerpDouble(t81.elevation, t82.elevation, t);
      t87 = V.EdgeInsetsGeometry_lerp(t81.margin, t82.margin, t);
      t81 = Y.ShapeBorder_lerp(t81.shape, t82.shape, t);
      t82 = K.ChipThemeData_lerp(t1.chipTheme, t2.chipTheme, t);
      t82.toString;
      t88 = t6 ? t1.platform : t2.platform;
      t89 = t6 ? t1.materialTapTargetSize : t2.materialTapTargetSize;
      t90 = t6 ? t1.pageTransitionsTheme : t2.pageTransitionsTheme;
      t91 = t1.appBarTheme;
      t92 = t2.appBarTheme;
      if (t6)
        t93 = t91.brightness;
      else
        t93 = t92.brightness;
      t94 = P.Color_lerp(t91.backgroundColor, t92.backgroundColor, t);
      t95 = P.Color_lerp(t91.foregroundColor, t92.foregroundColor, t);
      t96 = P.lerpDouble(t91.elevation, t92.elevation, t);
      t97 = P.Color_lerp(t91.shadowColor, t92.shadowColor, t);
      t98 = T.IconThemeData_lerp(t91.iconTheme, t92.iconTheme, t);
      t99 = T.IconThemeData_lerp(t91.actionsIconTheme, t92.actionsIconTheme, t);
      t100 = R.TextTheme_lerp(t91.textTheme, t92.textTheme, t);
      if (t6)
        t101 = t91.centerTitle;
      else
        t101 = t92.centerTitle;
      t102 = P.lerpDouble(t91.titleSpacing, t92.titleSpacing, t);
      t103 = P.lerpDouble(t91.toolbarHeight, t92.toolbarHeight, t);
      t104 = A.TextStyle_lerp(t91.toolbarTextStyle, t92.toolbarTextStyle, t);
      t105 = A.TextStyle_lerp(t91.titleTextStyle, t92.titleTextStyle, t);
      if (t6)
        t106 = t91.systemOverlayStyle;
      else
        t106 = t92.systemOverlayStyle;
      if (t6)
        t91 = t91.backwardsCompatibility;
      else
        t91 = t92.backwardsCompatibility;
      t92 = t94 == null ? null : t94;
      t94 = t1.scrollbarTheme;
      t107 = t2.scrollbarTheme;
      t108 = X.ScrollbarThemeData__lerpProperties(t94.thickness, t107.thickness, t, P.ui__lerpDouble$closure(), type$.nullable_double);
      if (t6)
        t109 = t94.showTrackOnHover;
      else
        t109 = t107.showTrackOnHover;
      if (t6)
        t110 = t94.isAlwaysShown;
      else
        t110 = t107.isAlwaysShown;
      if (t6)
        t111 = t94.interactive;
      else
        t111 = t107.interactive;
      t112 = P.Radius_lerp(t94.radius, t107.radius, t);
      t113 = type$.nullable_Color;
      t114 = X.ScrollbarThemeData__lerpProperties(t94.thumbColor, t107.thumbColor, t, P.ui_Color_lerp$closure(), t113);
      t115 = X.ScrollbarThemeData__lerpProperties(t94.trackColor, t107.trackColor, t, P.ui_Color_lerp$closure(), t113);
      t116 = X.ScrollbarThemeData__lerpProperties(t94.trackBorderColor, t107.trackBorderColor, t, P.ui_Color_lerp$closure(), t113);
      t117 = P.lerpDouble(t94.crossAxisMargin, t107.crossAxisMargin, t);
      t118 = P.lerpDouble(t94.mainAxisMargin, t107.mainAxisMargin, t);
      t94 = P.lerpDouble(t94.minThumbLength, t107.minThumbLength, t);
      t107 = t1.bottomAppBarTheme;
      t119 = t2.bottomAppBarTheme;
      t120 = P.Color_lerp(t107.color, t119.color, t);
      t121 = P.lerpDouble(t107.elevation, t119.elevation, t);
      if (t6)
        t107 = t107.shape;
      else
        t107 = t119.shape;
      t119 = t1.colorScheme;
      t122 = t2.colorScheme;
      t123 = P.Color_lerp(t119.primary, t122.primary, t);
      t123.toString;
      t124 = P.Color_lerp(t119.primaryVariant, t122.primaryVariant, t);
      t124.toString;
      t125 = P.Color_lerp(t119.secondary, t122.secondary, t);
      t125.toString;
      t126 = P.Color_lerp(t119.secondaryVariant, t122.secondaryVariant, t);
      t126.toString;
      t127 = P.Color_lerp(t119.surface, t122.surface, t);
      t127.toString;
      t128 = P.Color_lerp(t119.background, t122.background, t);
      t128.toString;
      t129 = P.Color_lerp(t119.error, t122.error, t);
      t129.toString;
      t130 = P.Color_lerp(t119.onPrimary, t122.onPrimary, t);
      t130.toString;
      t131 = P.Color_lerp(t119.onSecondary, t122.onSecondary, t);
      t131.toString;
      t132 = P.Color_lerp(t119.onSurface, t122.onSurface, t);
      t132.toString;
      t133 = P.Color_lerp(t119.onBackground, t122.onBackground, t);
      t133.toString;
      t134 = P.Color_lerp(t119.onError, t122.onError, t);
      t134.toString;
      t119 = t6 ? t119.brightness : t122.brightness;
      t122 = t1.dialogTheme;
      t135 = t2.dialogTheme;
      t136 = P.Color_lerp(t122.backgroundColor, t135.backgroundColor, t);
      t137 = P.lerpDouble(t122.elevation, t135.elevation, t);
      t138 = Y.ShapeBorder_lerp(t122.shape, t135.shape, t);
      t139 = A.TextStyle_lerp(t122.titleTextStyle, t135.titleTextStyle, t);
      t122 = A.TextStyle_lerp(t122.contentTextStyle, t135.contentTextStyle, t);
      t135 = S.FloatingActionButtonThemeData_lerp(t1.floatingActionButtonTheme, t2.floatingActionButtonTheme, t);
      t135.toString;
      t140 = E.NavigationRailThemeData_lerp(t1.navigationRailTheme, t2.navigationRailTheme, t);
      t140.toString;
      t141 = t1.typography;
      t142 = t2.typography;
      t143 = R.TextTheme_lerp(t141.black, t142.black, t);
      t144 = R.TextTheme_lerp(t141.white, t142.white, t);
      t145 = R.TextTheme_lerp(t141.englishLike, t142.englishLike, t);
      t146 = R.TextTheme_lerp(t141.dense, t142.dense, t);
      t142 = R.TextTheme_lerp(t141.tall, t142.tall, t);
      t141 = t6 ? t1.cupertinoOverrideTheme : t2.cupertinoOverrideTheme;
      t147 = t1.snackBarTheme;
      t148 = t2.snackBarTheme;
      t149 = P.Color_lerp(t147.backgroundColor, t148.backgroundColor, t);
      t150 = P.Color_lerp(t147.actionTextColor, t148.actionTextColor, t);
      t151 = P.Color_lerp(t147.disabledActionTextColor, t148.disabledActionTextColor, t);
      t152 = A.TextStyle_lerp(t147.contentTextStyle, t148.contentTextStyle, t);
      t153 = P.lerpDouble(t147.elevation, t148.elevation, t);
      t154 = Y.ShapeBorder_lerp(t147.shape, t148.shape, t);
      if (t6)
        t147 = t147.behavior;
      else
        t147 = t148.behavior;
      t148 = X.BottomSheetThemeData_lerp(t1.bottomSheetTheme, t2.bottomSheetTheme, t);
      t148.toString;
      t155 = R.PopupMenuThemeData_lerp(t1.popupMenuTheme, t2.popupMenuTheme, t);
      t155.toString;
      t156 = t1.bannerTheme;
      t157 = t2.bannerTheme;
      t158 = P.Color_lerp(t156.backgroundColor, t157.backgroundColor, t);
      t159 = A.TextStyle_lerp(t156.contentTextStyle, t157.contentTextStyle, t);
      t160 = V.EdgeInsetsGeometry_lerp(t156.padding, t157.padding, t);
      t156 = V.EdgeInsetsGeometry_lerp(t156.leadingPadding, t157.leadingPadding, t);
      t157 = t1.dividerTheme;
      t161 = t2.dividerTheme;
      t162 = P.Color_lerp(t157.color, t161.color, t);
      t163 = P.lerpDouble(t157.space, t161.space, t);
      t164 = P.lerpDouble(t157.thickness, t161.thickness, t);
      t165 = P.lerpDouble(t157.indent, t161.indent, t);
      t157 = P.lerpDouble(t157.endIndent, t161.endIndent, t);
      t161 = M.ButtonBarThemeData_lerp(t1.buttonBarTheme, t2.buttonBarTheme, t);
      t161.toString;
      t166 = t1.bottomNavigationBarTheme;
      t167 = t2.bottomNavigationBarTheme;
      t168 = P.Color_lerp(t166.backgroundColor, t167.backgroundColor, t);
      t169 = P.lerpDouble(t166.elevation, t167.elevation, t);
      t170 = T.IconThemeData_lerp(t166.selectedIconTheme, t167.selectedIconTheme, t);
      t171 = T.IconThemeData_lerp(t166.unselectedIconTheme, t167.unselectedIconTheme, t);
      t172 = P.Color_lerp(t166.selectedItemColor, t167.selectedItemColor, t);
      t173 = P.Color_lerp(t166.unselectedItemColor, t167.unselectedItemColor, t);
      t174 = A.TextStyle_lerp(t166.selectedLabelStyle, t167.selectedLabelStyle, t);
      t175 = A.TextStyle_lerp(t166.unselectedLabelStyle, t167.unselectedLabelStyle, t);
      if (t6)
        t176 = t166.showSelectedLabels;
      else
        t176 = t167.showSelectedLabels;
      if (t6)
        t177 = t166.showUnselectedLabels;
      else
        t177 = t167.showUnselectedLabels;
      if (t6)
        t178 = t166.type;
      else
        t178 = t167.type;
      if (t6)
        t166 = t166.enableFeedback;
      else
        t166 = t167.enableFeedback;
      t167 = t1.timePickerTheme;
      t179 = t2.timePickerTheme;
      lerpedBorderSide = t167.dayPeriodBorderSide;
      t180 = lerpedBorderSide == null;
      if (t180)
        t181 = t179.dayPeriodBorderSide == null;
      else
        t181 = false;
      if (t181)
        lerpedBorderSide = null;
      else if (t180)
        lerpedBorderSide = t179.dayPeriodBorderSide;
      else {
        t180 = t179.dayPeriodBorderSide;
        if (!(t180 == null))
          lerpedBorderSide = Y.BorderSide_lerp(lerpedBorderSide, t180, t);
      }
      t180 = P.Color_lerp(t167.backgroundColor, t179.backgroundColor, t);
      t181 = P.Color_lerp(t167.hourMinuteTextColor, t179.hourMinuteTextColor, t);
      t182 = P.Color_lerp(t167.hourMinuteColor, t179.hourMinuteColor, t);
      t183 = P.Color_lerp(t167.dayPeriodTextColor, t179.dayPeriodTextColor, t);
      t184 = P.Color_lerp(t167.dayPeriodColor, t179.dayPeriodColor, t);
      t185 = P.Color_lerp(t167.dialHandColor, t179.dialHandColor, t);
      t186 = P.Color_lerp(t167.dialBackgroundColor, t179.dialBackgroundColor, t);
      t187 = P.Color_lerp(t167.dialTextColor, t179.dialTextColor, t);
      t188 = P.Color_lerp(t167.entryModeIconColor, t179.entryModeIconColor, t);
      t189 = A.TextStyle_lerp(t167.hourMinuteTextStyle, t179.hourMinuteTextStyle, t);
      t190 = A.TextStyle_lerp(t167.dayPeriodTextStyle, t179.dayPeriodTextStyle, t);
      t191 = A.TextStyle_lerp(t167.helpTextStyle, t179.helpTextStyle, t);
      t192 = Y.ShapeBorder_lerp(t167.shape, t179.shape, t);
      t193 = Y.ShapeBorder_lerp(t167.hourMinuteShape, t179.hourMinuteShape, t);
      t194 = type$.nullable_OutlinedBorder;
      t195 = t194._as(Y.ShapeBorder_lerp(t167.dayPeriodShape, t179.dayPeriodShape, t));
      if (t6)
        t167 = t167.inputDecorationTheme;
      else
        t167 = t179.inputDecorationTheme;
      t179 = T.TextButtonThemeData_lerp(t1.textButtonTheme, t2.textButtonTheme, t);
      t179.toString;
      t196 = T.ElevatedButtonThemeData_lerp(t1.elevatedButtonTheme, t2.elevatedButtonTheme, t);
      t196.toString;
      t197 = U.OutlinedButtonThemeData_lerp(t1.outlinedButtonTheme, t2.outlinedButtonTheme, t);
      t197.toString;
      t198 = R.TextSelectionThemeData_lerp(t1.textSelectionTheme, t2.textSelectionTheme, t);
      t198.toString;
      t199 = t1.dataTableTheme;
      t200 = t2.dataTableTheme;
      t201 = Z.Decoration_lerp(t199.decoration, t200.decoration, t);
      t202 = Z.DataTableThemeData__lerpProperties(t199.dataRowColor, t200.dataRowColor, t, P.ui_Color_lerp$closure(), t113);
      t203 = P.lerpDouble(t199.dataRowHeight, t200.dataRowHeight, t);
      t204 = A.TextStyle_lerp(t199.dataTextStyle, t200.dataTextStyle, t);
      t205 = Z.DataTableThemeData__lerpProperties(t199.headingRowColor, t200.headingRowColor, t, P.ui_Color_lerp$closure(), t113);
      t206 = P.lerpDouble(t199.headingRowHeight, t200.headingRowHeight, t);
      t207 = A.TextStyle_lerp(t199.headingTextStyle, t200.headingTextStyle, t);
      t208 = P.lerpDouble(t199.horizontalMargin, t200.horizontalMargin, t);
      t209 = P.lerpDouble(t199.columnSpacing, t200.columnSpacing, t);
      t210 = P.lerpDouble(t199.dividerThickness, t200.dividerThickness, t);
      t200 = P.lerpDouble(t199.checkboxHorizontalMargin, t200.checkboxHorizontalMargin, t);
      t199 = t1.checkboxTheme;
      t211 = t2.checkboxTheme;
      if (t6)
        t212 = t199.mouseCursor;
      else
        t212 = t211.mouseCursor;
      t213 = F.CheckboxThemeData__lerpProperties(t199.fillColor, t211.fillColor, t, P.ui_Color_lerp$closure(), t113);
      t214 = F.CheckboxThemeData__lerpProperties(t199.checkColor, t211.checkColor, t, P.ui_Color_lerp$closure(), t113);
      t215 = F.CheckboxThemeData__lerpProperties(t199.overlayColor, t211.overlayColor, t, P.ui_Color_lerp$closure(), t113);
      t216 = P.lerpDouble(t199.splashRadius, t211.splashRadius, t);
      if (t6)
        t217 = t199.materialTapTargetSize;
      else
        t217 = t211.materialTapTargetSize;
      if (t6)
        t218 = t199.visualDensity;
      else
        t218 = t211.visualDensity;
      t194 = t194._as(Y.ShapeBorder_lerp(t199.shape, t211.shape, t));
      t199 = F.CheckboxThemeData__lerpSides(t199.side, t211.side, t);
      t211 = t1.radioTheme;
      t219 = t2.radioTheme;
      if (t6)
        t220 = t211.mouseCursor;
      else
        t220 = t219.mouseCursor;
      t221 = T.RadioThemeData__lerpProperties(t211.fillColor, t219.fillColor, t, P.ui_Color_lerp$closure(), t113);
      if (t6)
        t222 = t211.materialTapTargetSize;
      else
        t222 = t219.materialTapTargetSize;
      t223 = T.RadioThemeData__lerpProperties(t211.overlayColor, t219.overlayColor, t, P.ui_Color_lerp$closure(), t113);
      t224 = P.lerpDouble(t211.splashRadius, t219.splashRadius, t);
      if (t6)
        t211 = t211.visualDensity;
      else
        t211 = t219.visualDensity;
      t219 = t1.switchTheme;
      t225 = t2.switchTheme;
      t226 = R.SwitchThemeData__lerpProperties(t219.thumbColor, t225.thumbColor, t, P.ui_Color_lerp$closure(), t113);
      t227 = R.SwitchThemeData__lerpProperties(t219.trackColor, t225.trackColor, t, P.ui_Color_lerp$closure(), t113);
      if (t6)
        t228 = t219.materialTapTargetSize;
      else
        t228 = t225.materialTapTargetSize;
      if (t6)
        t6 = t219.mouseCursor;
      else
        t6 = t225.mouseCursor;
      t113 = R.SwitchThemeData__lerpProperties(t219.overlayColor, t225.overlayColor, t, P.ui_Color_lerp$closure(), t113);
      t219 = P.lerpDouble(t219.splashRadius, t225.splashRadius, t);
      t2 = B.ProgressIndicatorThemeData_lerp(t1.progressIndicatorTheme, t2.progressIndicatorTheme, t);
      t2.toString;
      return X.ThemeData$raw(t12, t13, t45, t41, new V.AppBarTheme(t93, t92, t95, t96, t97, t98, t99, t100, t101, t102, t103, t104, t105, t106, t91), false, t33, new Q.MaterialBannerThemeData(t158, t159, t160, t156), t15, new D.BottomAppBarTheme(t120, t121, t107), new M.BottomNavigationBarThemeData(t168, t169, t170, t171, t172, t173, t174, t175, t176, t177, t178, t166), t148, t161, t28, t26, t10, t16, new A.CardTheme(t83, t84, t85, t86, t87, t81), new F.CheckboxThemeData(t212, t213, t214, t215, t216, t217, t218, t194, t199), t82, new A.ColorScheme(t123, t124, t125, t126, t127, t128, t129, t130, t131, t132, t133, t134, t119), t141, t31, new Z.DataTableThemeData(t201, t202, t203, t204, t205, t206, t207, t208, t209, t210, t200), t34, new Y.DialogTheme(t136, t137, t138, t139, t122), t25, t17, new G.DividerThemeData(t162, t163, t164, t165, t157), t196, t37, false, t135, t18, t20, t36, t19, t43, t35, t42, t89, t140, t197, t90, t88, t155, t3, t7, t9, t8, t44, t40, t2, new T.RadioThemeData(t220, t221, t223, t224, t222, t211), t14, new X.ScrollbarThemeData(t108, t109, t110, t111, t112, t114, t115, t116, t117, t118, t94), t29, t23, t11, new Q.SliderThemeData(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, t46), new K.SnackBarThemeData(t149, t150, t151, t152, t153, t154, t147), t21, t22, new R.SwitchThemeData(t226, t227, t228, t6, t113, t219), new U.TabBarTheme(t75, t76, t77, t78, t79, t80, t74), t179, t30, t32, t198, t39, new A.TimePickerThemeData(t180, t181, t182, t183, t184, t185, t186, t187, t188, t189, t190, t191, t192, t193, t195, lerpedBorderSide, t167), t27, t38, t47, new U.Typography(t143, t144, t145, t146, t142), t24, true, new X.VisualDensity(t5, t4));
    }
  };
  K.AnimatedTheme.prototype = {
    createState$0: function() {
      return new K._AnimatedThemeState(null, C._StateLifecycle_0);
    },
    get$data: function(receiver) {
      return this.data;
    }
  };
  K._AnimatedThemeState.prototype = {
    forEachTween$1: function(visitor) {
      var t1 = visitor.call$3(this._theme$_data, this._widget.data, new K._AnimatedThemeState_forEachTween_closure());
      t1.toString;
      this._theme$_data = type$.ThemeDataTween._as(t1);
    },
    build$1: function(_, context) {
      var t2,
        t1 = this._theme$_data;
      t1.toString;
      t2 = this.get$_implicit_animations$_animation();
      return new K.Theme(t1.transform$1(0, t2.get$value(t2)), this._widget.child, null);
    }
  };
  K._AnimatedThemeState_forEachTween_closure.prototype = {
    call$1: function(value) {
      return new K.ThemeDataTween(type$.ThemeData._as(value), null);
    },
    $signature: 797
  };
  X.MaterialTapTargetSize.prototype = {
    toString$0: function(_) {
      return this._theme_data$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  X.ThemeData.prototype = {
    copyWith$17$accentColor$accentTextTheme$backgroundColor$canvasColor$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$primaryTextTheme$scaffoldBackgroundColor$selectedRowColor$textButtonTheme$textTheme$toggleableActiveColor: function(accentColor, accentTextTheme, backgroundColor, canvasColor, colorScheme, elevatedButtonTheme, indicatorColor, outlinedButtonTheme, primaryColor, primaryColorDark, primaryColorLight, primaryTextTheme, scaffoldBackgroundColor, selectedRowColor, textButtonTheme, textTheme, toggleableActiveColor) {
      var _this = this,
        t1 = primaryColor == null ? _this.primaryColor : primaryColor,
        t2 = primaryColorLight == null ? _this.primaryColorLight : primaryColorLight,
        t3 = primaryColorDark == null ? _this.primaryColorDark : primaryColorDark,
        t4 = accentColor == null ? _this.accentColor : accentColor,
        t5 = canvasColor == null ? _this.canvasColor : canvasColor,
        t6 = scaffoldBackgroundColor == null ? _this.scaffoldBackgroundColor : scaffoldBackgroundColor,
        t7 = selectedRowColor == null ? _this.selectedRowColor : selectedRowColor,
        t8 = backgroundColor == null ? _this.backgroundColor : backgroundColor,
        t9 = indicatorColor == null ? _this.indicatorColor : indicatorColor,
        t10 = toggleableActiveColor == null ? _this.toggleableActiveColor : toggleableActiveColor,
        t11 = textTheme == null ? _this.textTheme : textTheme,
        t12 = primaryTextTheme == null ? _this.primaryTextTheme : primaryTextTheme,
        t13 = accentTextTheme == null ? _this.accentTextTheme : accentTextTheme,
        t14 = (colorScheme == null ? _this.colorScheme : colorScheme).copyWith$1$brightness(null),
        t15 = textButtonTheme == null ? _this.textButtonTheme : textButtonTheme,
        t16 = elevatedButtonTheme == null ? _this.elevatedButtonTheme : elevatedButtonTheme,
        t17 = outlinedButtonTheme == null ? _this.outlinedButtonTheme : outlinedButtonTheme;
      return X.ThemeData$raw(t4, _this.accentColorBrightness, _this.accentIconTheme, t13, _this.appBarTheme, false, t8, _this.bannerTheme, _this.bottomAppBarColor, _this.bottomAppBarTheme, _this.bottomNavigationBarTheme, _this.bottomSheetTheme, _this.buttonBarTheme, _this.buttonColor, _this.buttonTheme, t5, _this.cardColor, _this.cardTheme, _this.checkboxTheme, _this.chipTheme, t14, _this.cupertinoOverrideTheme, _this.cursorColor, _this.dataTableTheme, _this.dialogBackgroundColor, _this.dialogTheme, _this.disabledColor, _this.dividerColor, _this.dividerTheme, t16, _this.errorColor, false, _this.floatingActionButtonTheme, _this.focusColor, _this.highlightColor, _this.hintColor, _this.hoverColor, _this.iconTheme, t9, _this.inputDecorationTheme, _this.materialTapTargetSize, _this.navigationRailTheme, t17, _this.pageTransitionsTheme, _this.platform, _this.popupMenuTheme, t1, _this.primaryColorBrightness, t3, t2, _this.primaryIconTheme, t12, _this.progressIndicatorTheme, _this.radioTheme, t6, _this.scrollbarTheme, _this.secondaryHeaderColor, t7, _this.shadowColor, _this.sliderTheme, _this.snackBarTheme, _this.splashColor, _this.splashFactory, _this.switchTheme, _this.tabBarTheme, t15, _this.textSelectionColor, _this.textSelectionHandleColor, _this.textSelectionTheme, t11, _this.timePickerTheme, _this.toggleButtonsTheme, t10, _this.tooltipTheme, _this.typography, _this.unselectedWidgetColor, true, _this.visualDensity);
    },
    copyWith$2$primaryTextTheme$textTheme: function(primaryTextTheme, textTheme) {
      return this.copyWith$17$accentColor$accentTextTheme$backgroundColor$canvasColor$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$primaryTextTheme$scaffoldBackgroundColor$selectedRowColor$textButtonTheme$textTheme$toggleableActiveColor(null, null, null, null, null, null, null, null, null, null, null, primaryTextTheme, null, null, null, textTheme, null);
    },
    copyWith$1$colorScheme: function(colorScheme) {
      return this.copyWith$17$accentColor$accentTextTheme$backgroundColor$canvasColor$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$primaryTextTheme$scaffoldBackgroundColor$selectedRowColor$textButtonTheme$textTheme$toggleableActiveColor(null, null, null, null, colorScheme, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$14$accentColor$backgroundColor$canvasColor$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$scaffoldBackgroundColor$selectedRowColor$textButtonTheme$toggleableActiveColor: function(accentColor, backgroundColor, canvasColor, colorScheme, elevatedButtonTheme, indicatorColor, outlinedButtonTheme, primaryColor, primaryColorDark, primaryColorLight, scaffoldBackgroundColor, selectedRowColor, textButtonTheme, toggleableActiveColor) {
      return this.copyWith$17$accentColor$accentTextTheme$backgroundColor$canvasColor$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$primaryTextTheme$scaffoldBackgroundColor$selectedRowColor$textButtonTheme$textTheme$toggleableActiveColor(accentColor, null, backgroundColor, canvasColor, colorScheme, elevatedButtonTheme, indicatorColor, outlinedButtonTheme, primaryColor, primaryColorDark, primaryColorLight, null, scaffoldBackgroundColor, selectedRowColor, textButtonTheme, null, toggleableActiveColor);
    },
    copyWith$3$accentTextTheme$primaryTextTheme$textTheme: function(accentTextTheme, primaryTextTheme, textTheme) {
      return this.copyWith$17$accentColor$accentTextTheme$backgroundColor$canvasColor$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$primaryTextTheme$scaffoldBackgroundColor$selectedRowColor$textButtonTheme$textTheme$toggleableActiveColor(null, accentTextTheme, null, null, null, null, null, null, null, null, null, primaryTextTheme, null, null, null, textTheme, null);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof X.ThemeData)
        if (other.visualDensity.$eq(0, _this.visualDensity))
          if (J.$eq$(other.primaryColor, _this.primaryColor))
            if (other.primaryColorBrightness === _this.primaryColorBrightness)
              if (J.$eq$(other.primaryColorLight, _this.primaryColorLight))
                if (J.$eq$(other.primaryColorDark, _this.primaryColorDark))
                  if (J.$eq$(other.accentColor, _this.accentColor))
                    if (other.accentColorBrightness === _this.accentColorBrightness)
                      if (J.$eq$(other.canvasColor, _this.canvasColor))
                        if (J.$eq$(other.scaffoldBackgroundColor, _this.scaffoldBackgroundColor))
                          if (J.$eq$(other.bottomAppBarColor, _this.bottomAppBarColor))
                            if (J.$eq$(other.cardColor, _this.cardColor))
                              if (J.$eq$(other.shadowColor, _this.shadowColor))
                                if (J.$eq$(other.dividerColor, _this.dividerColor))
                                  if (J.$eq$(other.highlightColor, _this.highlightColor))
                                    if (J.$eq$(other.splashColor, _this.splashColor))
                                      if (other.splashFactory === _this.splashFactory)
                                        if (J.$eq$(other.selectedRowColor, _this.selectedRowColor))
                                          if (J.$eq$(other.unselectedWidgetColor, _this.unselectedWidgetColor))
                                            if (J.$eq$(other.disabledColor, _this.disabledColor))
                                              if (other.buttonTheme.$eq(0, _this.buttonTheme))
                                                if (J.$eq$(other.buttonColor, _this.buttonColor))
                                                  if (J.$eq$(other.toggleButtonsTheme, _this.toggleButtonsTheme))
                                                    if (J.$eq$(other.secondaryHeaderColor, _this.secondaryHeaderColor))
                                                      if (J.$eq$(other.textSelectionColor, _this.textSelectionColor))
                                                        if (J.$eq$(other.cursorColor, _this.cursorColor))
                                                          if (J.$eq$(other.textSelectionHandleColor, _this.textSelectionHandleColor))
                                                            if (J.$eq$(other.backgroundColor, _this.backgroundColor))
                                                              if (J.$eq$(other.dialogBackgroundColor, _this.dialogBackgroundColor))
                                                                if (J.$eq$(other.indicatorColor, _this.indicatorColor))
                                                                  if (J.$eq$(other.hintColor, _this.hintColor))
                                                                    if (J.$eq$(other.errorColor, _this.errorColor))
                                                                      if (J.$eq$(other.toggleableActiveColor, _this.toggleableActiveColor))
                                                                        if (other.textTheme.$eq(0, _this.textTheme))
                                                                          if (other.primaryTextTheme.$eq(0, _this.primaryTextTheme))
                                                                            if (other.accentTextTheme.$eq(0, _this.accentTextTheme))
                                                                              if (other.inputDecorationTheme.$eq(0, _this.inputDecorationTheme))
                                                                                if (other.iconTheme.$eq(0, _this.iconTheme))
                                                                                  if (other.primaryIconTheme.$eq(0, _this.primaryIconTheme))
                                                                                    if (other.accentIconTheme.$eq(0, _this.accentIconTheme))
                                                                                      if (other.sliderTheme.$eq(0, _this.sliderTheme))
                                                                                        if (other.tabBarTheme.$eq(0, _this.tabBarTheme))
                                                                                          if (J.$eq$(other.tooltipTheme, _this.tooltipTheme))
                                                                                            if (other.cardTheme.$eq(0, _this.cardTheme))
                                                                                              if (J.$eq$(other.chipTheme, _this.chipTheme))
                                                                                                if (other.platform == _this.platform)
                                                                                                  if (other.materialTapTargetSize === _this.materialTapTargetSize)
                                                                                                    if (other.pageTransitionsTheme.$eq(0, _this.pageTransitionsTheme))
                                                                                                      if (other.appBarTheme.$eq(0, _this.appBarTheme))
                                                                                                        if (other.scrollbarTheme.$eq(0, _this.scrollbarTheme))
                                                                                                          if (other.bottomAppBarTheme.$eq(0, _this.bottomAppBarTheme))
                                                                                                            if (other.colorScheme.$eq(0, _this.colorScheme))
                                                                                                              if (other.dialogTheme.$eq(0, _this.dialogTheme))
                                                                                                                if (J.$eq$(other.floatingActionButtonTheme, _this.floatingActionButtonTheme))
                                                                                                                  if (J.$eq$(other.navigationRailTheme, _this.navigationRailTheme))
                                                                                                                    if (other.typography.$eq(0, _this.typography))
                                                                                                                      if (other.snackBarTheme.$eq(0, _this.snackBarTheme))
                                                                                                                        if (J.$eq$(other.bottomSheetTheme, _this.bottomSheetTheme))
                                                                                                                          if (J.$eq$(other.popupMenuTheme, _this.popupMenuTheme))
                                                                                                                            if (other.bannerTheme.$eq(0, _this.bannerTheme))
                                                                                                                              if (other.dividerTheme.$eq(0, _this.dividerTheme))
                                                                                                                                if (J.$eq$(other.buttonBarTheme, _this.buttonBarTheme))
                                                                                                                                  if (other.bottomNavigationBarTheme.$eq(0, _this.bottomNavigationBarTheme))
                                                                                                                                    if (other.timePickerTheme.$eq(0, _this.timePickerTheme))
                                                                                                                                      if (J.$eq$(other.textButtonTheme, _this.textButtonTheme))
                                                                                                                                        if (J.$eq$(other.elevatedButtonTheme, _this.elevatedButtonTheme))
                                                                                                                                          if (J.$eq$(other.outlinedButtonTheme, _this.outlinedButtonTheme))
                                                                                                                                            if (J.$eq$(other.textSelectionTheme, _this.textSelectionTheme))
                                                                                                                                              if (other.dataTableTheme.$eq(0, _this.dataTableTheme))
                                                                                                                                                if (other.checkboxTheme.$eq(0, _this.checkboxTheme))
                                                                                                                                                  if (other.radioTheme.$eq(0, _this.radioTheme))
                                                                                                                                                    if (other.switchTheme.$eq(0, _this.switchTheme))
                                                                                                                                                      if (J.$eq$(other.progressIndicatorTheme, _this.progressIndicatorTheme))
                                                                                                                                                        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;
                                                                                                                    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: function(_) {
      var _this = this;
      return P.hashList([_this.visualDensity, _this.primaryColor, _this.primaryColorBrightness, _this.primaryColorLight, _this.primaryColorDark, _this.accentColor, _this.accentColorBrightness, _this.canvasColor, _this.shadowColor, _this.scaffoldBackgroundColor, _this.bottomAppBarColor, _this.cardColor, _this.dividerColor, _this.focusColor, _this.hoverColor, _this.highlightColor, _this.splashColor, _this.splashFactory, _this.selectedRowColor, _this.unselectedWidgetColor, _this.disabledColor, _this.buttonTheme, _this.buttonColor, _this.toggleButtonsTheme, _this.toggleableActiveColor, _this.secondaryHeaderColor, _this.textSelectionColor, _this.cursorColor, _this.textSelectionHandleColor, _this.backgroundColor, _this.dialogBackgroundColor, _this.indicatorColor, _this.hintColor, _this.errorColor, _this.textTheme, _this.primaryTextTheme, _this.accentTextTheme, _this.inputDecorationTheme, _this.iconTheme, _this.primaryIconTheme, _this.accentIconTheme, _this.sliderTheme, _this.tabBarTheme, _this.tooltipTheme, _this.cardTheme, _this.chipTheme, _this.platform, _this.materialTapTargetSize, false, _this.pageTransitionsTheme, _this.appBarTheme, _this.scrollbarTheme, _this.bottomAppBarTheme, _this.colorScheme, _this.dialogTheme, _this.floatingActionButtonTheme, _this.navigationRailTheme, _this.typography, _this.cupertinoOverrideTheme, _this.snackBarTheme, _this.bottomSheetTheme, _this.popupMenuTheme, _this.bannerTheme, _this.dividerTheme, _this.buttonBarTheme, _this.bottomNavigationBarTheme, _this.timePickerTheme, _this.textButtonTheme, _this.elevatedButtonTheme, _this.outlinedButtonTheme, _this.textSelectionTheme, _this.dataTableTheme, _this.checkboxTheme, _this.radioTheme, _this.switchTheme, _this.progressIndicatorTheme, false, true]);
    },
    get$colorScheme: function() {
      return this.colorScheme;
    }
  };
  X.ThemeData_localize_closure.prototype = {
    call$0: function() {
      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: 798
  };
  X.MaterialBasedCupertinoThemeData.prototype = {
    get$brightness: function() {
      var t1 = this._cupertinoOverrideTheme.brightness;
      return t1 == null ? this._materialTheme.colorScheme.brightness : t1;
    },
    get$primaryColor: function() {
      var t1 = this._cupertinoOverrideTheme.primaryColor;
      return t1 == null ? this._materialTheme.colorScheme.primary : t1;
    },
    get$primaryContrastingColor: function() {
      var t1 = this._cupertinoOverrideTheme.primaryContrastingColor;
      return t1 == null ? this._materialTheme.colorScheme.onPrimary : t1;
    },
    get$scaffoldBackgroundColor: function() {
      var t1 = this._cupertinoOverrideTheme.scaffoldBackgroundColor;
      return t1 == null ? this._materialTheme.scaffoldBackgroundColor : t1;
    },
    resolveFrom$1: function(context) {
      return X.MaterialBasedCupertinoThemeData$_(this._materialTheme, this._cupertinoOverrideTheme.resolveFrom$1(context));
    }
  };
  X._IdentityThemeDataCacheKey.prototype = {
    get$hashCode: function(_) {
      return (H.objectHashCode(this.baseTheme) ^ H.objectHashCode(this.localTextGeometry)) >>> 0;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof X._IdentityThemeDataCacheKey && other.baseTheme == this.baseTheme && other.localTextGeometry === this.localTextGeometry;
    }
  };
  X._FifoCache.prototype = {
    putIfAbsent$2: function(_, key, loader) {
      var t2,
        t1 = this._theme_data$_cache,
        result = t1.$index(0, key);
      if (result != null)
        return result;
      if (t1.get$length(t1) === this._maximumSize) {
        t2 = t1.get$keys(t1);
        t1.remove$1(0, t2.get$first(t2));
      }
      t2 = loader.call$0();
      t1.$indexSet(0, key, t2);
      return t2;
    }
  };
  X.VisualDensity.prototype = {
    effectiveConstraints$1: function(constraints) {
      var t1 = this.horizontal,
        t2 = this.vertical,
        t3 = C.JSNumber_methods.clamp$2(constraints.minWidth + new P.Offset(t1, t2).$mul(0, 4)._dx, 0, 1 / 0);
      return constraints.copyWith$2$minHeight$minWidth(C.JSNumber_methods.clamp$2(constraints.minHeight + new P.Offset(t1, t2).$mul(0, 4)._dy, 0, 1 / 0), t3);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof X.VisualDensity && other.horizontal == this.horizontal && other.vertical == this.vertical;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.horizontal, this.vertical, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toStringShort$0: function() {
      return this.super$Diagnosticable$toStringShort() + "(h: " + E.debugFormatDouble(this.horizontal) + ", v: " + E.debugFormatDouble(this.vertical) + ")";
    }
  };
  X._ThemeData_Object_Diagnosticable.prototype = {};
  X._VisualDensity_Object_Diagnosticable.prototype = {};
  A.TimePickerThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_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, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.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 = {};
  E.ToggleButtons.prototype = {
    _isFirstButton$3: function(index, $length, textDirection) {
      var t1;
      if (index === 0)
        if (textDirection !== C.TextDirection_1)
          t1 = false;
        else
          t1 = true;
      else
        t1 = false;
      if (!t1)
        if (index === $length - 1)
          if (textDirection !== C.TextDirection_0)
            t1 = false;
          else
            t1 = true;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    _isLastButton$3: function(index, $length, textDirection) {
      var t1;
      if (index === $length - 1)
        if (textDirection !== C.TextDirection_1)
          t1 = false;
        else
          t1 = true;
      else
        t1 = false;
      if (!t1)
        if (index === 0)
          if (textDirection !== C.TextDirection_0)
            t1 = false;
          else
            t1 = true;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    _getEdgeBorderRadius$4: function(index, $length, textDirection, toggleButtonsTheme) {
      var resultingBorderRadius = this.borderRadius;
      if ($length === 1)
        return resultingBorderRadius;
      else if (this._isFirstButton$3(index, $length, textDirection))
        return new K.BorderRadius(resultingBorderRadius.topLeft, C.Radius_0_0, resultingBorderRadius.bottomLeft, C.Radius_0_0);
      else if (this._isLastButton$3(index, $length, textDirection))
        return new K.BorderRadius(C.Radius_0_0, resultingBorderRadius.topRight, C.Radius_0_0, resultingBorderRadius.bottomRight);
      return C.BorderRadius_tLn;
    },
    _getClipBorderRadius$4: function(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 P.Radius(t1, t1));
        t3 = resultingBorderRadius.bottomLeft.$sub(0, new P.Radius(t1, t1));
        return new K.BorderRadius(t2, resultingBorderRadius.topRight.$sub(0, new P.Radius(t1, t1)), t3, resultingBorderRadius.bottomRight.$sub(0, new P.Radius(t1, t1)));
      } else if (this._isFirstButton$3(index, $length, textDirection)) {
        t1 = resultingBorderWidth / 2;
        return new K.BorderRadius(resultingBorderRadius.topLeft.$sub(0, new P.Radius(t1, t1)), C.Radius_0_0, resultingBorderRadius.bottomLeft.$sub(0, new P.Radius(t1, t1)), C.Radius_0_0);
      } else if (this._isLastButton$3(index, $length, textDirection)) {
        t1 = resultingBorderWidth / 2;
        return new K.BorderRadius(C.Radius_0_0, resultingBorderRadius.topRight.$sub(0, new P.Radius(t1, t1)), C.Radius_0_0, resultingBorderRadius.bottomRight.$sub(0, new P.Radius(t1, t1)));
      }
      return C.BorderRadius_tLn;
    },
    _getLeadingBorderSide$3: function(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 = P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new Y.BorderSide(t1, resultingBorderWidth, C.BorderStyle_1);
      } else if (t1 && !this.isSelected[index]) {
        t1 = toggleButtonsTheme.borderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new Y.BorderSide(t1, resultingBorderWidth, C.BorderStyle_1);
      } else {
        t1 = toggleButtonsTheme.disabledBorderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new Y.BorderSide(t1, resultingBorderWidth, C.BorderStyle_1);
      }
    },
    _getBorderSide$3: function(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 = P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new Y.BorderSide(t1, resultingBorderWidth, C.BorderStyle_1);
      } else if (t1 && !this.isSelected[index]) {
        t1 = toggleButtonsTheme.borderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new Y.BorderSide(t1, resultingBorderWidth, C.BorderStyle_1);
      } else {
        t1 = toggleButtonsTheme.disabledBorderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new Y.BorderSide(t1, resultingBorderWidth, C.BorderStyle_1);
      }
    },
    _getTrailingBorderSide$3: function(index, theme, toggleButtonsTheme) {
      var resultingBorderWidth, t1, _this = this;
      if (index !== _this.children.length - 1)
        return C.BorderSide_06g;
      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 = P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new Y.BorderSide(t1, resultingBorderWidth, C.BorderStyle_1);
      } else if (t1 && !_this.isSelected[index]) {
        t1 = toggleButtonsTheme.borderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new Y.BorderSide(t1, resultingBorderWidth, C.BorderStyle_1);
      } else {
        t1 = toggleButtonsTheme.disabledBorderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = P.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new Y.BorderSide(t1, resultingBorderWidth, C.BorderStyle_1);
      }
    },
    build$1: function(_, context) {
      var theme = K.Theme_of(context),
        toggleButtonsTheme = S.ToggleButtonsTheme_of(context),
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = T.Row$(P.List_List$generate(this.children.length, new E.ToggleButtons_build_closure(this, t1.textDirection, toggleButtonsTheme, theme), true, type$.Widget), C.CrossAxisAlignment_3, null, C.MainAxisAlignment_0, C.MainAxisSize_0, null);
      return new T.IntrinsicHeight(t1, null);
    },
    get$children: function(receiver) {
      return this.children;
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  E.ToggleButtons_build_closure.prototype = {
    call$1: function(index) {
      var leadingBorderSide, borderSide, trailingBorderSide, t5, t6, t7, t8, t9, _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);
      t3 = t1.isSelected[index];
      t5 = t4.fillColor;
      t6 = t4.focusColor;
      t7 = t4.highlightColor;
      t8 = t4.hoverColor;
      t4 = t4.splashColor;
      t9 = t1.onPressed != null ? new E.ToggleButtons_build__closure(t1, index) : _null;
      return new E._ToggleButton(t3, t1.textStyle, t1.constraints, t1.color, _null, _null, t5, t6, t8, t7, t4, _null, t9, _null, leadingBorderSide, borderSide, trailingBorderSide, edgeBorderRadius, clipBorderRadius, index === 0, index === t2.length - 1, C.Axis_0, C.VerticalDirection_1, t2[index], _null);
    },
    $signature: 799
  };
  E.ToggleButtons_build__closure.prototype = {
    call$0: function() {
      this.$this.onPressed.call$1(this.index);
    },
    $signature: 0
  };
  E._ToggleButton.prototype = {
    build$1: function(_, context) {
      var currentColor, currentFillColor, currentFocusColor, currentHoverColor, currentSplashColor, t3, currentTextStyle, currentConstraints, _this = this, _null = null,
        theme = K.Theme_of(context),
        toggleButtonsTheme = S.ToggleButtonsTheme_of(context),
        t1 = _this.onPressed,
        t2 = t1 != null;
      if (t2 && _this.selected) {
        currentColor = toggleButtonsTheme.selectedColor;
        if (currentColor == null)
          currentColor = theme.colorScheme.primary;
        currentFillColor = _this.fillColor;
        if (currentFillColor == null) {
          t2 = theme.colorScheme.primary;
          currentFillColor = P.Color$fromARGB(31, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
        }
        t2 = _this.focusColor;
        currentFocusColor = t2 == null ? toggleButtonsTheme.focusColor : t2;
        if (currentFocusColor == null) {
          t2 = theme.colorScheme.primary;
          currentFocusColor = P.Color$fromARGB(31, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
        }
        t2 = _this.hoverColor;
        currentHoverColor = t2 == null ? toggleButtonsTheme.hoverColor : t2;
        if (currentHoverColor == null) {
          t2 = theme.colorScheme.primary;
          currentHoverColor = P.Color$fromARGB(10, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
        }
        t2 = _this.splashColor;
        currentSplashColor = t2 == null ? toggleButtonsTheme.splashColor : t2;
        if (currentSplashColor == null) {
          t2 = theme.colorScheme.primary;
          currentSplashColor = P.Color$fromARGB(41, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
        }
      } else if (t2 && !_this.selected) {
        currentColor = _this.color;
        t2 = theme.colorScheme;
        t3 = t2.surface.value;
        currentFillColor = P.Color$fromARGB(0, t3 >>> 16 & 255, t3 >>> 8 & 255, t3 & 255);
        t3 = _this.focusColor;
        currentFocusColor = t3 == null ? toggleButtonsTheme.focusColor : t3;
        if (currentFocusColor == null) {
          t3 = t2.onSurface.value;
          currentFocusColor = P.Color$fromARGB(31, t3 >>> 16 & 255, t3 >>> 8 & 255, t3 & 255);
        }
        t3 = _this.hoverColor;
        currentHoverColor = t3 == null ? toggleButtonsTheme.hoverColor : t3;
        if (currentHoverColor == null) {
          t3 = t2.onSurface.value;
          currentHoverColor = P.Color$fromARGB(10, t3 >>> 16 & 255, t3 >>> 8 & 255, t3 & 255);
        }
        t3 = _this.splashColor;
        currentSplashColor = t3 == null ? toggleButtonsTheme.splashColor : t3;
        if (currentSplashColor == null) {
          t2 = t2.onSurface.value;
          currentSplashColor = P.Color$fromARGB(41, t2 >>> 16 & 255, t2 >>> 8 & 255, t2 & 255);
        }
      } else {
        currentColor = toggleButtonsTheme.disabledColor;
        if (currentColor == null) {
          t2 = theme.colorScheme.onSurface.value;
          currentColor = P.Color$fromARGB(97, t2 >>> 16 & 255, t2 >>> 8 & 255, t2 & 255);
        }
        t2 = theme.colorScheme.surface.value;
        currentFillColor = P.Color$fromARGB(0, t2 >>> 16 & 255, t2 >>> 8 & 255, t2 & 255);
        currentSplashColor = _null;
        currentHoverColor = currentSplashColor;
        currentFocusColor = currentHoverColor;
      }
      t2 = _this.textStyle;
      currentTextStyle = t2 == null ? toggleButtonsTheme.textStyle : t2;
      if (currentTextStyle == null) {
        t2 = theme.textTheme.bodyText2;
        t2.toString;
        currentTextStyle = t2;
      }
      currentConstraints = _this.constraints;
      t2 = currentTextStyle.copyWith$1$color(currentColor);
      t3 = _this.highlightColor;
      if (t3 == null) {
        t3 = theme.colorScheme.surface.value;
        t3 = P.Color$fromARGB(0, t3 >>> 16 & 255, t3 >>> 8 & 255, t3 & 255);
      }
      return new E._SelectToggleButton(_this.leadingBorderSide, _this.borderSide, _this.trailingBorderSide, _this.borderRadius, _this.isFirstButton, _this.isLastButton, _this.direction, _this.verticalDirection, new T.ClipRRect(_this.clipRadius, Z.RawMaterialButton$(false, _this.child, C.Clip_0, currentConstraints, 0, 0, true, currentFillColor, currentFocusColor, 0, _this.focusNode, t3, 0, currentHoverColor, 0, C.MaterialTapTargetSize_1, _this.mouseCursor, t1, C.RoundedRectangleBorder_6Fb, currentSplashColor, t2), _null), _this.key);
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  E._SelectToggleButton.prototype = {
    createRenderObject$1: function(context) {
      var _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = new E._SelectToggleButtonRenderObject(_this.direction, _this.verticalDirection, _this.leadingBorderSide, _this.borderSide, _this.trailingBorderSide, _this.borderRadius, _this.isFirstButton, _this.isLastButton, t1.textDirection, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(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(0, t1.textDirection);
    }
  };
  E._SelectToggleButtonRenderObject.prototype = {
    set$direction: function(_, value) {
      if (this._toggle_buttons$_direction === value)
        return;
      this._toggle_buttons$_direction = value;
      this.markNeedsLayout$0();
    },
    set$verticalDirection: function(value) {
      if (this._toggle_buttons$_verticalDirection === value)
        return;
      this._toggle_buttons$_verticalDirection = value;
      this.markNeedsLayout$0();
    },
    set$leadingBorderSide: function(value) {
      if (this._leadingBorderSide.$eq(0, value))
        return;
      this._leadingBorderSide = value;
      this.markNeedsLayout$0();
    },
    set$borderSide: function(value) {
      if (this._borderSide.$eq(0, value))
        return;
      this._borderSide = value;
      this.markNeedsLayout$0();
    },
    set$trailingBorderSide: function(value) {
      if (this._trailingBorderSide.$eq(0, value))
        return;
      this._trailingBorderSide = value;
      this.markNeedsLayout$0();
    },
    set$borderRadius: function(_, value) {
      if (this._toggle_buttons$_borderRadius.$eq(0, value))
        return;
      this._toggle_buttons$_borderRadius = value;
      this.markNeedsLayout$0();
    },
    set$isFirstButton: function(value) {
      if (this._isFirstButton === value)
        return;
      this._isFirstButton = value;
      this.markNeedsLayout$0();
    },
    set$isLastButton: function(value) {
      if (this._isLastButton === value)
        return;
      this._isLastButton = value;
      this.markNeedsLayout$0();
    },
    set$textDirection: function(_, value) {
      if (this._toggle_buttons$_textDirection === value)
        return;
      this._toggle_buttons$_textDirection = value;
      this.markNeedsLayout$0();
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      var _this = this,
        t1 = _this._toggle_buttons$_direction,
        t2 = _this.RenderObjectWithChildMixin__child;
      if (t1 === C.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: function(width) {
      var _this = this,
        t1 = _this._toggle_buttons$_direction,
        t2 = _this.RenderObjectWithChildMixin__child;
      if (t1 === C.Axis_0) {
        t1 = _this._borderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, t2.get$computeMaxIntrinsicHeight());
        t2 = t1.width * 2 + t2;
        t1 = t2;
      } else {
        t1 = _this._leadingBorderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, t2.get$computeMaxIntrinsicHeight());
        t2 = t1.width + t2 + _this._trailingBorderSide.width;
        t1 = t2;
      }
      return t1;
    },
    computeMinIntrinsicHeight$1: function(width) {
      var _this = this,
        t1 = _this._toggle_buttons$_direction,
        t2 = _this.RenderObjectWithChildMixin__child;
      if (t1 === C.Axis_0) {
        t1 = _this._borderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, t2.get$computeMinIntrinsicHeight());
        t2 = t1.width * 2 + t2;
        t1 = t2;
      } else {
        t1 = _this._leadingBorderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, t2.get$computeMaxIntrinsicHeight());
        t2 = t1.width + t2 + _this._trailingBorderSide.width;
        t1 = t2;
      }
      return t1;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var _this = this,
        t1 = _this._toggle_buttons$_direction,
        t2 = _this.RenderObjectWithChildMixin__child;
      if (t1 === C.Axis_0) {
        t1 = _this._leadingBorderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(C._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(C._IntrinsicDimension_1, height, t2.get$computeMaxIntrinsicWidth());
        t2 = t1.width * 2 + t2;
        t1 = t2;
      }
      return t1;
    },
    computeMinIntrinsicWidth$1: function(height) {
      var _this = this,
        t1 = _this._toggle_buttons$_direction,
        t2 = _this.RenderObjectWithChildMixin__child;
      if (t1 === C.Axis_0) {
        t1 = _this._leadingBorderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(C._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(C._IntrinsicDimension_0, height, t2.get$computeMinIntrinsicWidth());
        t2 = t1.width * 2 + t2;
        t1 = t2;
      }
      return t1;
    },
    computeDryLayout$1: function(constraints) {
      return this._toggle_buttons$_computeSize$2$constraints$layoutChild(constraints, N.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0: function() {
      var t1, _this = this,
        _s80_ = string$.x60null_c;
      _this._box$_size = _this._toggle_buttons$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)), N.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 === C.Axis_0)
        switch (_this._toggle_buttons$_textDirection) {
          case C.TextDirection_1:
            t1.offset = new P.Offset(_this._leadingBorderSide.width, _this._borderSide.width);
            break;
          case C.TextDirection_0:
            t1.offset = new P.Offset(_this._trailingBorderSide.width, _this._borderSide.width);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
      else
        switch (_this._toggle_buttons$_verticalDirection) {
          case C.VerticalDirection_1:
            t1.offset = new P.Offset(_this._borderSide.width, _this._leadingBorderSide.width);
            break;
          case C.VerticalDirection_0:
            t1.offset = new P.Offset(_this._borderSide.width, _this._trailingBorderSide.width);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
    },
    _toggle_buttons$_computeSize$2$constraints$layoutChild: function(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 === C.Axis_0)
          return constraints.constrain$1(new P.Size(t2 + t3, t4 * 2));
        else
          return constraints.constrain$1(new P.Size(t4 * 2, t2 + t3));
      }
      t1 = _this._toggle_buttons$_direction;
      rightConstraint = _this._trailingBorderSide.width;
      leftConstraint = _this._leadingBorderSide.width;
      topConstraint = _this._borderSide.width;
      if (t1 === C.Axis_0)
        bottomConstraint = topConstraint;
      else {
        bottomConstraint = rightConstraint;
        rightConstraint = topConstraint;
        topConstraint = leftConstraint;
        leftConstraint = rightConstraint;
        t0 = rightConstraint;
        rightConstraint = leftConstraint;
        t0 = leftConstraint;
      }
      innerConstraints = constraints.deflate$1(new V.EdgeInsets(leftConstraint, topConstraint, rightConstraint, bottomConstraint));
      t1 = _this.RenderObjectWithChildMixin__child;
      t1.toString;
      childSize = layoutChild.call$2(t1, innerConstraints);
      return constraints.constrain$1(new P.Size(leftConstraint + childSize._dx + rightConstraint, topConstraint + childSize._dy + bottomConstraint));
    },
    paint$2: function(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,
        _s80_ = string$.x60null_c;
      _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 P.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 : C.Radius_0_0;
      t6 = t4.topRight;
      t6 = t6.x * t6.y !== 0 ? t6 : C.Radius_0_0;
      t7 = t4.bottomLeft;
      t7 = t7.x * t7.y !== 0 ? t7 : C.Radius_0_0;
      t4 = t4.bottomRight;
      rrect = P.RRect$fromRectAndCorners(center, t7, t4.x * t4.y !== 0 ? t4 : C.Radius_0_0, t5, t6).scaleRadii$0();
      t4 = rrect.left;
      t5 = rrect.top;
      t6 = rrect.tlRadiusX;
      t7 = rrect.tlRadiusY;
      tlCorner = new P.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 P.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 P.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 P.Rect(t16, t19, t16 + t14, t19 + t18);
      leadingPaint = _this._leadingBorderSide.toPaint$0();
      t14 = _this._isFirstButton;
      if (t14 && _this._isLastButton) {
        leadingPath = P.Path_Path();
        leadingPath.moveTo$2(0, t13 === 0 ? startX : t10 - t13, t8);
        leadingPath.lineTo$2(0, t4 + t12, t8);
        leadingPath.addArc$3(0, blCorner, 1.5707963267948966, 1.5707963267948966);
        leadingPath.lineTo$2(0, t4, t5 + t7);
        leadingPath.addArc$3(0, tlCorner, 3.141592653589793, 1.5707963267948966);
        leadingPath.lineTo$2(0, t10 - t11, t5);
        leadingPath.addArc$3(0, trCorner, 4.71238898038469, 1.5707963267948966);
        leadingPath.lineTo$2(0, t10, t8 - t17);
        leadingPath.addArc$3(0, brCorner, 0, 1.5707963267948966);
        context.get$canvas(context).drawPath$2(0, leadingPath, leadingPaint);
        return;
      }
      if (_this._toggle_buttons$_direction === C.Axis_0)
        switch (_this._toggle_buttons$_textDirection) {
          case C.TextDirection_1:
            if (_this._isLastButton) {
              leftPath = P.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(0, leftPath, leadingPaint);
              endingPaint = _this._trailingBorderSide.toPaint$0();
              endingPath = P.Path_Path();
              endingPath.moveTo$2(0, t4 + _this._borderSide.width / 2, t5);
              endingPath.lineTo$2(0, t10 - t11, t5);
              endingPath.addArc$3(0, trCorner, 4.71238898038469, 1.5707963267948966);
              endingPath.lineTo$2(0, t10, t8 - t17);
              endingPath.addArc$3(0, brCorner, 0, 1.5707963267948966);
              endingPath.lineTo$2(0, t4 + _this._borderSide.width / 2, t8);
              context.get$canvas(context).drawPath$2(0, endingPath, endingPaint);
            } else if (t14) {
              leadingPath = P.Path_Path();
              leadingPath.moveTo$2(0, startX, t8);
              leadingPath.lineTo$2(0, t4 + t12, t8);
              leadingPath.addArc$3(0, blCorner, 1.5707963267948966, 1.5707963267948966);
              leadingPath.lineTo$2(0, t4, t5 + t7);
              leadingPath.addArc$3(0, tlCorner, 3.141592653589793, 1.5707963267948966);
              leadingPath.lineTo$2(0, startX, t5);
              context.get$canvas(context).drawPath$2(0, leadingPath, leadingPaint);
            } else {
              leadingPath = P.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(0, leadingPath, leadingPaint);
              horizontalPaint = _this._borderSide.toPaint$0();
              horizontalPaths = P.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(0, horizontalPaths, horizontalPaint);
            }
            break;
          case C.TextDirection_0:
            if (_this._isLastButton) {
              leadingPath = P.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(0, leadingPath, leadingPaint);
              endingPaint = _this._trailingBorderSide.toPaint$0();
              endingPath = P.Path_Path();
              endingPath.moveTo$2(0, t10 - _this._borderSide.width / 2, t5);
              endingPath.lineTo$2(0, t4 + t6, t5);
              endingPath.addArc$3(0, tlCorner, 4.71238898038469, -1.5707963267948966);
              endingPath.lineTo$2(0, t4, t8 - t9);
              endingPath.addArc$3(0, blCorner, 3.141592653589793, -1.5707963267948966);
              endingPath.lineTo$2(0, t10 - _this._borderSide.width / 2, t8);
              context.get$canvas(context).drawPath$2(0, endingPath, endingPaint);
            } else if (t14) {
              leadingPath = P.Path_Path();
              leadingPath.moveTo$2(0, t1, t8);
              leadingPath.lineTo$2(0, t10 - t13, t8);
              leadingPath.addArc$3(0, brCorner, 1.5707963267948966, -1.5707963267948966);
              leadingPath.lineTo$2(0, t10, t5 + t15);
              leadingPath.addArc$3(0, trCorner, 0, -1.5707963267948966);
              leadingPath.lineTo$2(0, t1, t5);
              context.get$canvas(context).drawPath$2(0, leadingPath, leadingPaint);
            } else {
              leadingPath = P.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(0, leadingPath, leadingPaint);
              horizontalPaint = _this._borderSide.toPaint$0();
              horizontalPaths = P.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(0, horizontalPaths, horizontalPaint);
            }
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
      else
        switch (_this._toggle_buttons$_verticalDirection) {
          case C.VerticalDirection_1:
            if (_this._isLastButton) {
              topPath = P.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(0, topPath, leadingPaint);
              endingPaint = _this._trailingBorderSide.toPaint$0();
              endingPath = P.Path_Path();
              endingPath.moveTo$2(0, t4, t5 + _this._leadingBorderSide.width / 2);
              endingPath.lineTo$2(0, t4, t8 - t9);
              endingPath.addArc$3(0, blCorner, 9.42477796076938, -1.5707963267948966);
              endingPath.lineTo$2(0, t10 - t12, t8);
              endingPath.addArc$3(0, brCorner, 1.5707963267948966, -1.5707963267948966);
              endingPath.lineTo$2(0, t10, t5 + _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(0, endingPath, endingPaint);
            } else if (t14) {
              leadingPath = P.Path_Path();
              leadingPath.moveTo$2(0, t4, t3);
              leadingPath.lineTo$2(0, t4, t5 + t6);
              leadingPath.addArc$3(0, tlCorner, 3.141592653589793, 1.5707963267948966);
              leadingPath.lineTo$2(0, t10 - t11, t5);
              leadingPath.addArc$3(0, trCorner, 4.71238898038469, 1.5707963267948966);
              leadingPath.lineTo$2(0, t10, t3);
              context.get$canvas(context).drawPath$2(0, leadingPath, leadingPaint);
            } else {
              topPath = P.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(0, topPath, leadingPaint);
              paint = _this._borderSide.toPaint$0();
              paths = P.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(0, paths, paint);
            }
            break;
          case C.VerticalDirection_0:
            if (_this._isLastButton) {
              bottomPath = P.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(0, bottomPath, leadingPaint);
              endingPaint = _this._trailingBorderSide.toPaint$0();
              endingPath = P.Path_Path();
              endingPath.moveTo$2(0, t4, t8 - _this._leadingBorderSide.width / 2);
              endingPath.lineTo$2(0, t4, t5 + t7);
              endingPath.addArc$3(0, tlCorner, 3.141592653589793, 1.5707963267948966);
              endingPath.lineTo$2(0, t10 - t11, t5);
              endingPath.addArc$3(0, trCorner, 4.71238898038469, 1.5707963267948966);
              endingPath.lineTo$2(0, t10, t8 - _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(0, endingPath, endingPaint);
            } else if (t14) {
              leadingPath = P.Path_Path();
              leadingPath.moveTo$2(0, t4, t2);
              leadingPath.lineTo$2(0, t4, t8 - t9);
              leadingPath.addArc$3(0, blCorner, 3.141592653589793, -1.5707963267948966);
              leadingPath.lineTo$2(0, t10 - t13, t8);
              leadingPath.addArc$3(0, brCorner, 1.5707963267948966, -1.5707963267948966);
              leadingPath.lineTo$2(0, t10, t2);
              context.get$canvas(context).drawPath$2(0, leadingPath, leadingPaint);
            } else {
              bottomPath = P.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(0, bottomPath, leadingPaint);
              paint = _this._borderSide.toPaint$0();
              paths = P.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(0, paths, paint);
            }
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
    }
  };
  S.ToggleButtonsThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_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, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof S.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;
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  S._ToggleButtonsThemeData_Object_Diagnosticable.prototype = {};
  F.ToggleableStateMixin.prototype = {
    get$_positionController: function() {
      var t1 = this.ToggleableStateMixin___ToggleableStateMixin__positionController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_positionController")) : t1;
    },
    get$_toggleable$_position: function(_) {
      var t1 = this.ToggleableStateMixin___ToggleableStateMixin__position;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_position")) : t1;
    },
    get$_reactionController: function() {
      var t1 = this.ToggleableStateMixin___ToggleableStateMixin__reactionController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_reactionController")) : t1;
    },
    get$_reaction: function() {
      var t1 = this.ToggleableStateMixin___ToggleableStateMixin__reaction;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_reaction")) : t1;
    },
    get$_reactionHoverFade: function() {
      var t1 = this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_reactionHoverFade")) : t1;
    },
    get$_reactionHoverFadeController: function() {
      var t1 = this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_reactionHoverFadeController")) : t1;
    },
    get$_reactionFocusFade: function() {
      var t1 = this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_reactionFocusFade")) : t1;
    },
    get$_reactionFocusFadeController: function() {
      var t1 = this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_reactionFocusFadeController")) : t1;
    },
    animateToValue$0: function() {
      var _this = this;
      if (_this.get$tristate()) {
        if (_this.get$value(_this) == null)
          _this.get$_positionController().set$value(0, 0);
        if (_this.get$value(_this) !== false)
          _this.get$_positionController().forward$0(0);
        else
          _this.get$_positionController().reverse$0(0);
      } else if (_this.get$value(_this) === true)
        _this.get$_positionController().forward$0(0);
      else
        _this.get$_positionController().reverse$0(0);
    },
    _toggleable$_handleTapDown$1: function(details) {
      var _this = this;
      if (_this.get$onChanged() != null) {
        _this.setState$1(new F.ToggleableStateMixin__handleTapDown_closure(_this, details));
        _this.get$_reactionController().forward$0(0);
      }
    },
    _toggleable$_handleTap$1: function(_) {
      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(C.TapSemanticEvent_tap);
    },
    _toggleable$_handleTap$0: function() {
      return this._toggleable$_handleTap$1(null);
    },
    _handleTapEnd$1: function(_) {
      var _this = this;
      if (_this.ToggleableStateMixin__downPosition != null)
        _this.setState$1(new F.ToggleableStateMixin__handleTapEnd_closure(_this));
      _this.get$_reactionController().reverse$0(0);
    },
    _handleTapEnd$0: function() {
      return this._handleTapEnd$1(null);
    },
    _handleFocusHighlightChanged$1: function(focused) {
      var _this = this;
      if (focused !== _this.ToggleableStateMixin__focused) {
        _this.setState$1(new F.ToggleableStateMixin__handleFocusHighlightChanged_closure(_this, focused));
        if (focused)
          _this.get$_reactionFocusFadeController().forward$0(0);
        else
          _this.get$_reactionFocusFadeController().reverse$0(0);
      }
    },
    _handleHoverChanged$1: function(hovering) {
      var _this = this;
      if (hovering !== _this.ToggleableStateMixin__hovering) {
        _this.setState$1(new F.ToggleableStateMixin__handleHoverChanged_closure(_this, hovering));
        if (hovering)
          _this.get$_reactionHoverFadeController().forward$0(0);
        else
          _this.get$_reactionHoverFadeController().reverse$0(0);
      }
    },
    get$states: function() {
      var _this = this,
        t1 = P.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (_this.get$onChanged() == null)
        t1.add$1(0, C.MaterialState_6);
      if (_this.ToggleableStateMixin__hovering)
        t1.add$1(0, C.MaterialState_0);
      if (_this.ToggleableStateMixin__focused)
        t1.add$1(0, C.MaterialState_1);
      if (_this.get$value(_this) !== false)
        t1.add$1(0, C.MaterialState_4);
      return t1;
    },
    buildToggleable$5$autofocus$focusNode$mouseCursor$painter$size: function(autofocus, focusNode, mouseCursor, painter, size) {
      var t2, t3, t4, t5, t6, _this = this, _null = null,
        t1 = _this.ToggleableStateMixin___ToggleableStateMixin__actionMap;
      if (t1 === $) {
        t1 = P.LinkedHashMap_LinkedHashMap$_literal([C.Type_ActivateIntent_OT9, new U.CallbackAction(_this.get$_toggleable$_handleTap(), new R.ObserverList(H._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 === $)
          _this.ToggleableStateMixin___ToggleableStateMixin__actionMap = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("_actionMap"));
      }
      t2 = _this.get$onChanged();
      t3 = mouseCursor._material_state$_resolve.call$1(_this.get$states());
      t4 = _this.get$onChanged();
      t5 = _this.get$_handleTapEnd();
      t6 = _this.get$onChanged();
      return new U.FocusableActionDetector(t2 != null, focusNode, false, t1, _this.get$_handleFocusHighlightChanged(), _this.get$_handleHoverChanged(), t3, D.GestureDetector$(_null, T.Semantics$(_null, _null, T.CustomPaint$(_null, _null, _null, painter, size), false, _null, t6 != null, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), C.DragStartBehavior_1, t4 == null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_toggleable$_handleTap(), t5, _this.get$_toggleable$_handleTapDown(), t5, _null, _null, _null), _null);
    }
  };
  F.ToggleableStateMixin__handleTapDown_closure.prototype = {
    call$0: function() {
      this.$this.ToggleableStateMixin__downPosition = this.details.localPosition;
    },
    $signature: 0
  };
  F.ToggleableStateMixin__handleTapEnd_closure.prototype = {
    call$0: function() {
      this.$this.ToggleableStateMixin__downPosition = null;
    },
    $signature: 0
  };
  F.ToggleableStateMixin__handleFocusHighlightChanged_closure.prototype = {
    call$0: function() {
      this.$this.ToggleableStateMixin__focused = this.focused;
    },
    $signature: 0
  };
  F.ToggleableStateMixin__handleHoverChanged_closure.prototype = {
    call$0: function() {
      this.$this.ToggleableStateMixin__hovering = this.hovering;
    },
    $signature: 0
  };
  F.ToggleablePainter.prototype = {
    set$position: function(_, 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: function(value) {
      var _this = this,
        t1 = _this._reaction;
      if (value == t1)
        return;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$notifyListeners());
      value.addListener$1(0, _this.get$notifyListeners());
      _this._reaction = value;
      _this.notifyListeners$0();
    },
    set$reactionFocusFade: function(value) {
      var _this = this,
        t1 = _this._reactionFocusFade;
      if (value == t1)
        return;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$notifyListeners());
      value.addListener$1(0, _this.get$notifyListeners());
      _this._reactionFocusFade = value;
      _this.notifyListeners$0();
    },
    set$reactionHoverFade: function(value) {
      var _this = this,
        t1 = _this._reactionHoverFade;
      if (value == t1)
        return;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$notifyListeners());
      value.addListener$1(0, _this.get$notifyListeners());
      _this._reactionHoverFade = value;
      _this.notifyListeners$0();
    },
    set$activeColor: function(value) {
      if (J.$eq$(this._activeColor, value))
        return;
      this._activeColor = value;
      this.notifyListeners$0();
    },
    set$inactiveColor: function(value) {
      if (J.$eq$(this._inactiveColor, value))
        return;
      this._inactiveColor = value;
      this.notifyListeners$0();
    },
    set$inactiveReactionColor: function(value) {
      if (value.$eq(0, this._inactiveReactionColor))
        return;
      this._inactiveReactionColor = value;
      this.notifyListeners$0();
    },
    set$reactionColor: function(value) {
      if (value.$eq(0, this._reactionColor))
        return;
      this._reactionColor = value;
      this.notifyListeners$0();
    },
    set$hoverColor: function(value) {
      if (J.$eq$(value, this._toggleable$_hoverColor))
        return;
      this._toggleable$_hoverColor = value;
      this.notifyListeners$0();
    },
    set$focusColor: function(value) {
      if (J.$eq$(value, this._toggleable$_focusColor))
        return;
      this._toggleable$_focusColor = value;
      this.notifyListeners$0();
    },
    set$splashRadius: function(value) {
      if (value === this._splashRadius)
        return;
      this._splashRadius = value;
      this.notifyListeners$0();
    },
    set$downPosition: function(value) {
      if (J.$eq$(value, this._downPosition))
        return;
      this._downPosition = value;
      this.notifyListeners$0();
    },
    set$isFocused: function(value) {
      if (value === this._toggleable$_isFocused)
        return;
      this._toggleable$_isFocused = value;
      this.notifyListeners$0();
    },
    set$isHovered: function(value) {
      if (value === this._isHovered)
        return;
      this._isHovered = value;
      this.notifyListeners$0();
    },
    paintRadialReaction$2$canvas$origin: function(canvas, origin) {
      var reactionPaint, t2, t3, reactionRadius, _this = this,
        t1 = _this._reaction;
      if (t1.get$status(t1) === C.AnimationStatus_0) {
        t1 = _this._reactionFocusFade;
        if (t1.get$status(t1) === C.AnimationStatus_0) {
          t1 = _this._reactionHoverFade;
          t1 = t1.get$status(t1) !== C.AnimationStatus_0;
        } else
          t1 = true;
      } else
        t1 = true;
      if (t1) {
        t1 = H._detectRenderer();
        reactionPaint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        t1 = _this._inactiveReactionColor;
        t1.toString;
        t2 = _this._reactionColor;
        t2.toString;
        t3 = _this._toggleable$_position;
        t3 = P.Color_lerp(t1, t2, t3.get$value(t3));
        t2 = _this._toggleable$_hoverColor;
        t2.toString;
        t1 = _this._reactionHoverFade;
        t1 = P.Color_lerp(t3, t2, t1.get$value(t1));
        t2 = _this._toggleable$_focusColor;
        t2.toString;
        t3 = _this._reactionFocusFade;
        t3 = P.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 = P.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 R.Tween(0, t1, type$.Tween_double).transform$1(0, t3.get$value(t3));
        }
        if (reactionRadius > 0)
          canvas.drawCircle$3(0, t2.$add(0, C.Offset_0_0), reactionRadius, reactionPaint);
      }
    },
    dispose$0: function(_) {
      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.removeListener$1(0, _this.get$notifyListeners());
      t1 = _this._reactionFocusFade;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$notifyListeners());
      t1 = _this._reactionHoverFade;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$notifyListeners());
      _this.super$ChangeNotifier$dispose(0);
    },
    shouldRepaint$1: function(oldDelegate) {
      return true;
    },
    hitTest$1: function(position) {
      return null;
    },
    get$semanticsBuilder: function() {
      return null;
    },
    shouldRebuildSemantics$1: function(oldDelegate) {
      return false;
    }
  };
  S.Tooltip.prototype = {
    createState$0: function() {
      return new S._TooltipState(null, C._StateLifecycle_0);
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  S._TooltipState.prototype = {
    set$height: function(_, t1) {
      this.___TooltipState_height = t1;
    },
    get$_tooltip$_controller: function() {
      var t1 = this.___TooltipState__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    get$_mouseIsConnected: function() {
      var t1 = this.___TooltipState__mouseIsConnected;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_mouseIsConnected")) : t1;
    },
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = $.RendererBinding__instance.RendererBinding__mouseTracker._mouseStates;
      _this.___TooltipState__mouseIsConnected = t1.get$isNotEmpty(t1);
      t1 = G.AnimationController$(null, C.Duration_150000, 0, C.Duration_75000, 1, null, _this);
      t1.addStatusListener$1(_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);
    },
    _getDefaultTooltipHeight$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      switch (K.Theme_of(t1).platform) {
        case C.TargetPlatform_4:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          return 24;
        default:
          return 32;
      }
    },
    _getDefaultPadding$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      switch (K.Theme_of(t1).platform) {
        case C.TargetPlatform_4:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          return C.EdgeInsets_8_0_8_0;
        default:
          return C.EdgeInsets_16_0_16_0;
      }
    },
    _getDefaultFontSize$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      switch (K.Theme_of(t1).platform) {
        case C.TargetPlatform_4:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          return 10;
        default:
          return 14;
      }
    },
    _handleMouseTrackerChange$0: function() {
      var t1, mouseIsConnected, _this = this;
      if (_this._framework$_element == null)
        return;
      t1 = $.RendererBinding__instance.RendererBinding__mouseTracker._mouseStates;
      mouseIsConnected = t1.get$isNotEmpty(t1);
      if (mouseIsConnected !== _this.get$_mouseIsConnected())
        _this.setState$1(new S._TooltipState__handleMouseTrackerChange_closure(_this, mouseIsConnected));
    },
    _tooltip$_handleStatusChanged$1: function($status) {
      if ($status === C.AnimationStatus_0)
        this._hideTooltip$1$immediately(true);
    },
    _hideTooltip$1$immediately: function(immediately) {
      var t2, _this = this,
        t1 = _this._showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._showTimer = null;
      if (immediately) {
        _this._removeEntry$0();
        return;
      }
      if (_this._longPressActivated) {
        if (_this._hideTimer == null) {
          t1 = _this.___TooltipState_showDuration;
          if (t1 === $)
            t1 = H.throwExpression(H.LateError$fieldNI("showDuration"));
          t2 = _this.get$_tooltip$_controller();
          _this._hideTimer = P.Timer_Timer(t1, t2.get$reverse(t2));
        }
      } else
        _this.get$_tooltip$_controller().reverse$0(0);
      _this._longPressActivated = false;
    },
    _hideTooltip$0: function() {
      return this._hideTooltip$1$immediately(false);
    },
    _showTooltip$0: function() {
      var _this = this,
        t1 = _this._hideTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._hideTimer = null;
      if (_this._showTimer == null) {
        t1 = _this.___TooltipState_waitDuration;
        if (t1 === $)
          t1 = H.throwExpression(H.LateError$fieldNI("waitDuration"));
        _this._showTimer = P.Timer_Timer(t1, _this.get$ensureTooltipVisible());
      }
    },
    ensureTooltipVisible$0: function() {
      var _this = this,
        t1 = _this._showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._showTimer = null;
      if (_this._entry != null) {
        t1 = _this._hideTimer;
        if (t1 != null)
          t1.cancel$0(0);
        _this._hideTimer = null;
        _this.get$_tooltip$_controller().forward$0(0);
        return false;
      }
      _this._createNewEntry$0();
      _this.get$_tooltip$_controller().forward$0(0);
      return true;
    },
    _createNewEntry$0: function() {
      var result, t2, target, t3, t4, t5, t6, t7, t8, t9, t10, _this = this,
        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(C.Offset_0_0);
      target = T.MatrixUtils_transformPoint(t1.getTransformTo$1(0, result._framework$_element.get$renderObject()), t2);
      t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      t1 = _this._widget.message;
      t3 = _this.___TooltipState_height;
      if (t3 === $)
        t3 = H.throwExpression(H.LateError$fieldNI("height"));
      t4 = _this.___TooltipState_padding;
      if (t4 === $)
        t4 = H.throwExpression(H.LateError$fieldNI("padding"));
      t5 = _this.___TooltipState_margin;
      if (t5 === $)
        t5 = H.throwExpression(H.LateError$fieldNI("margin"));
      t6 = _this.___TooltipState_decoration;
      if (t6 === $)
        t6 = H.throwExpression(H.LateError$fieldNI("decoration"));
      t7 = _this.___TooltipState_textStyle;
      if (t7 === $)
        t7 = H.throwExpression(H.LateError$fieldNI("textStyle"));
      t8 = S.CurvedAnimation$(C.Cubic_ifx, _this.get$_tooltip$_controller(), null);
      t9 = _this.___TooltipState_verticalOffset;
      if (t9 === $)
        t9 = H.throwExpression(H.LateError$fieldNI("verticalOffset"));
      t10 = _this.___TooltipState_preferBelow;
      t1 = X.OverlayEntry$(new S._TooltipState__createNewEntry_closure(T.Directionality$(new S._TooltipOverlay(t1, t3, t4, t5, t6, t7, t8, target, t9, t10 === $ ? H.throwExpression(H.LateError$fieldNI("preferBelow")) : t10, null), t2.textDirection)), false, false);
      _this._entry = t1;
      result.insert$1(0, t1);
      S.SemanticsService_tooltip(_this._widget.message);
    },
    _removeEntry$0: function() {
      var _this = this,
        t1 = _this._hideTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._hideTimer = null;
      t1 = _this._showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._showTimer = null;
      t1 = _this._entry;
      if (t1 != null)
        t1.remove$0(0);
      _this._entry = null;
    },
    _tooltip$_handlePointerEvent$1: function($event) {
      if (this._entry == null)
        return;
      if (type$.PointerUpEvent._is($event) || type$.PointerCancelEvent._is($event))
        this._hideTooltip$0();
      else if (type$.PointerDownEvent._is($event))
        this._hideTooltip$1$immediately(true);
    },
    deactivate$0: function() {
      var t1, _this = this;
      if (_this._entry != null)
        _this._hideTooltip$1$immediately(true);
      t1 = _this._showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this.super$State$deactivate();
    },
    dispose$0: function(_) {
      var _this = this;
      $.GestureBinding__instance.GestureBinding_pointerRouter._globalRoutes.remove$1(0, _this.get$_tooltip$_handlePointerEvent());
      $.RendererBinding__instance.RendererBinding__mouseTracker.removeListener$1(0, _this.get$_handleMouseTrackerChange());
      if (_this._entry != null)
        _this._removeEntry$0();
      _this.get$_tooltip$_controller().dispose$0(0);
      _this.super$__TooltipState_State_SingleTickerProviderStateMixin$dispose(0);
    },
    _tooltip$_handleLongPress$0: function() {
      this._longPressActivated = true;
      if (this.ensureTooltipVisible$0()) {
        var t1 = this._framework$_element;
        t1.toString;
        M.Feedback_forLongPress(t1);
      }
    },
    build$1: function(_, context) {
      var t1, tooltipTheme, t2, defaultTextStyle, defaultDecoration, result, _this = this, _null = null,
        theme = K.Theme_of(context);
      context.dependOnInheritedWidgetOfExactType$1$0(type$.TooltipTheme);
      t1 = K.Theme_of(context);
      tooltipTheme = t1.tooltipTheme;
      t1 = theme.colorScheme;
      t2 = theme.textTheme.bodyText2;
      if (t1.brightness === C.Brightness_0) {
        t2.toString;
        defaultTextStyle = t2.copyWith$2$color$fontSize(C.Color_4278190080, _this._getDefaultFontSize$0());
        defaultDecoration = new S.BoxDecoration(P.Color$fromARGB(C.JSNumber_methods.round$0(229.5), 255, 255, 255), _null, _null, C.BorderRadius_tLn0, _null, _null, _null, C.BoxShape_0);
      } else {
        t2.toString;
        defaultTextStyle = t2.copyWith$2$color$fontSize(C.Color_4294967295, _this._getDefaultFontSize$0());
        t1 = C.Map_HFpTk.$index(0, 700);
        t1.toString;
        t1 = t1.value;
        defaultDecoration = new S.BoxDecoration(P.Color$fromARGB(C.JSNumber_methods.round$0(229.5), t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255), _null, _null, C.BorderRadius_tLn0, _null, _null, _null, C.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 ? C.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;
      tooltipTheme.toString;
      _this.___TooltipState_excludeFromSemantics = false;
      t2 = tooltipTheme.decoration;
      _this.___TooltipState_decoration = t2 == null ? defaultDecoration : t2;
      t2 = tooltipTheme.textStyle;
      _this.___TooltipState_textStyle = t2 == null ? defaultTextStyle : t2;
      t2 = t1.waitDuration;
      if (t2 == null) {
        tooltipTheme.toString;
        t2 = _null;
      }
      _this.___TooltipState_waitDuration = t2 == null ? C.Duration_0 : t2;
      tooltipTheme.toString;
      _this.___TooltipState_showDuration = C.Duration_1500000;
      result = D.GestureDetector$(C.HitTestBehavior_1, T.Semantics$(_null, _null, t1.child, false, _null, _null, false, _null, _null, _null, _null, t1.message, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), C.DragStartBehavior_1, true, _null, _null, _null, _null, _null, _null, _null, _this.get$_tooltip$_handleLongPress(), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      return _this.get$_mouseIsConnected() ? new T.MouseRegion(new S._TooltipState_build_closure(_this), _null, new S._TooltipState_build_closure0(_this), C.C__DeferringMouseCursor, true, result, _null) : result;
    }
  };
  S._TooltipState__handleMouseTrackerChange_closure.prototype = {
    call$0: function() {
      this.$this.___TooltipState__mouseIsConnected = this.mouseIsConnected;
    },
    $signature: 0
  };
  S._TooltipState__createNewEntry_closure.prototype = {
    call$1: function(context) {
      return this.overlay;
    },
    $signature: 30
  };
  S._TooltipState_build_closure.prototype = {
    call$1: function($event) {
      return this.$this._showTooltip$0();
    },
    $signature: 117
  };
  S._TooltipState_build_closure0.prototype = {
    call$1: function($event) {
      return this.$this._hideTooltip$0();
    },
    $signature: 67
  };
  S._TooltipPositionDelegate.prototype = {
    getConstraintsForChild$1: function(constraints) {
      return constraints.loosen$0();
    },
    getPositionForChild$2: function(size, childSize) {
      return N.positionDependentBox(childSize, this.preferBelow, size, this.target, this.verticalOffset);
    },
    shouldRelayout$1: function(oldDelegate) {
      return !this.target.$eq(0, oldDelegate.target) || this.verticalOffset != oldDelegate.verticalOffset || this.preferBelow != oldDelegate.preferBelow;
    }
  };
  S._TooltipOverlay.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = K.Theme_of(context).textTheme.bodyText2;
      t1.toString;
      return T.Positioned$fill(new T.IgnorePointer(true, _null, new T.CustomSingleChildLayout(new S._TooltipPositionDelegate(_this.target, _this.verticalOffset, _this.preferBelow), K.FadeTransition$(false, new T.ConstrainedBox(new S.BoxConstraints(0, 1 / 0, _this.height, 1 / 0), L.DefaultTextStyle$(M.Container$(_null, T.Center$(L.Text$(_this.message, _null, _null, _null, _null, _null, _this.textStyle, _null, _null, _null), 1, _null, 1), C.Clip_0, _null, _null, _this.decoration, _null, _null, _null, _this.margin, _this.padding, _null, _null, _null), _null, _null, C.TextOverflow_0, true, t1, _null, _null, C.TextWidthBasis_0), _null), _this.animation), _null), _null));
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  S.__TooltipState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  T.TooltipThemeData.prototype = {
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.height, _this.padding, _this.margin, _this.verticalOffset, _this.preferBelow, _this.excludeFromSemantics, _this.decoration, _this.textStyle, null, null, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof T.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;
    }
  };
  T._TooltipThemeData_Object_Diagnosticable.prototype = {};
  U.ScriptCategory.prototype = {
    toString$0: function(_) {
      return this._typography$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  U.Typography.prototype = {
    geometryThemeFor$1: function(category) {
      switch (category) {
        case C.ScriptCategory_0:
          return this.englishLike;
        case C.ScriptCategory_1:
          return this.dense;
        case C.ScriptCategory_2:
          return this.tall;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof U.Typography && J.$eq$(other.black, _this.black) && J.$eq$(other.white, _this.white) && other.englishLike.$eq(0, _this.englishLike) && other.dense.$eq(0, _this.dense) && other.tall.$eq(0, _this.tall);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.black, _this.white, _this.englishLike, _this.dense, _this.tall, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  U._Typography_Object_Diagnosticable.prototype = {};
  K.AlignmentGeometry.prototype = {
    add$1: function(_, other) {
      var _this = this;
      return new K._MixedAlignment(_this.get$_x() + other.get$_x(), _this.get$_alignment$_start(_this) + other.get$_alignment$_start(other), _this.get$_y() + other.get$_y());
    },
    toString$0: function(_) {
      var _this = this;
      if (_this.get$_alignment$_start(_this) === 0)
        return K.Alignment__stringify(_this.get$_x(), _this.get$_y());
      if (_this.get$_x() === 0)
        return K.AlignmentDirectional__stringify(_this.get$_alignment$_start(_this), _this.get$_y());
      return K.Alignment__stringify(_this.get$_x(), _this.get$_y()) + " + " + K.AlignmentDirectional__stringify(_this.get$_alignment$_start(_this), 0);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof K.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: function(_) {
      var _this = this;
      return P.hashValues(_this.get$_x(), _this.get$_alignment$_start(_this), _this.get$_y(), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  K.Alignment.prototype = {
    get$_x: function() {
      return this.x;
    },
    get$_alignment$_start: function(_) {
      return 0;
    },
    get$_y: function() {
      return this.y;
    },
    add$1: function(_, other) {
      if (other instanceof K.Alignment)
        return this.$add(0, other);
      return this.super$AlignmentGeometry$add(0, other);
    },
    $sub: function(_, other) {
      return new K.Alignment(this.x - other.x, this.y - other.y);
    },
    $add: function(_, other) {
      return new K.Alignment(this.x + other.x, this.y + other.y);
    },
    $mul: function(_, other) {
      return new K.Alignment(this.x * other, this.y * other);
    },
    $div: function(_, other) {
      return new K.Alignment(this.x / other, this.y / other);
    },
    $tdiv: function(_, other) {
      return new K.Alignment(C.JSNumber_methods.$tdiv(this.x, other), C.JSNumber_methods.$tdiv(this.y, other));
    },
    alongOffset$1: function(other) {
      var centerX = other._dx / 2,
        centerY = other._dy / 2;
      return new P.Offset(centerX + this.x * centerX, centerY + this.y * centerY);
    },
    alongSize$1: function(other) {
      var centerX = other._dx / 2,
        centerY = other._dy / 2;
      return new P.Offset(centerX + this.x * centerX, centerY + this.y * centerY);
    },
    withinRect$1: function(rect) {
      var t1 = rect.left,
        halfWidth = (rect.right - t1) / 2,
        t2 = rect.top,
        halfHeight = (rect.bottom - t2) / 2;
      return new P.Offset(t1 + halfWidth + this.x * halfWidth, t2 + halfHeight + this.y * halfHeight);
    },
    inscribe$2: function(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 P.Rect(t1, t3, t1 + t2, t3 + t4);
    },
    resolve$1: function(direction) {
      return this;
    },
    toString$0: function(_) {
      return K.Alignment__stringify(this.x, this.y);
    }
  };
  K.AlignmentDirectional.prototype = {
    get$_x: function() {
      return 0;
    },
    get$_alignment$_start: function(_) {
      return this.start;
    },
    get$_y: function() {
      return this.y;
    },
    add$1: function(_, other) {
      if (other instanceof K.AlignmentDirectional)
        return this.$add(0, other);
      return this.super$AlignmentGeometry$add(0, other);
    },
    $sub: function(_, other) {
      return new K.AlignmentDirectional(this.start - other.start, this.y - other.y);
    },
    $add: function(_, other) {
      return new K.AlignmentDirectional(this.start + other.start, this.y + other.y);
    },
    $mul: function(_, other) {
      return new K.AlignmentDirectional(this.start * other, this.y * other);
    },
    $div: function(_, other) {
      return new K.AlignmentDirectional(this.start / other, this.y / other);
    },
    $tdiv: function(_, other) {
      return new K.AlignmentDirectional(C.JSNumber_methods.$tdiv(this.start, other), C.JSNumber_methods.$tdiv(this.y, other));
    },
    resolve$1: function(direction) {
      var _this = this;
      direction.toString;
      switch (direction) {
        case C.TextDirection_0:
          return new K.Alignment(-_this.start, _this.y);
        case C.TextDirection_1:
          return new K.Alignment(_this.start, _this.y);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    toString$0: function(_) {
      return K.AlignmentDirectional__stringify(this.start, this.y);
    },
    get$start: function(receiver) {
      return this.start;
    }
  };
  K._MixedAlignment.prototype = {
    $mul: function(_, other) {
      return new K._MixedAlignment(this._x * other, this._alignment$_start * other, this._y * other);
    },
    $div: function(_, other) {
      return new K._MixedAlignment(this._x / other, this._alignment$_start / other, this._y / other);
    },
    $tdiv: function(_, other) {
      return new K._MixedAlignment(C.JSNumber_methods.$tdiv(this._x, other), C.JSNumber_methods.$tdiv(this._alignment$_start, other), C.JSNumber_methods.$tdiv(this._y, other));
    },
    resolve$1: function(direction) {
      var _this = this;
      direction.toString;
      switch (direction) {
        case C.TextDirection_0:
          return new K.Alignment(_this._x - _this._alignment$_start, _this._y);
        case C.TextDirection_1:
          return new K.Alignment(_this._x + _this._alignment$_start, _this._y);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$_x: function() {
      return this._x;
    },
    get$_alignment$_start: function(receiver) {
      return this._alignment$_start;
    },
    get$_y: function() {
      return this._y;
    }
  };
  K.TextAlignVertical.prototype = {
    toString$0: function(_) {
      return "TextAlignVertical(y: " + this.y + ")";
    }
  };
  G.RenderComparison.prototype = {
    toString$0: function(_) {
      return this._basic_types$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  G.Axis.prototype = {
    toString$0: function(_) {
      return this._basic_types$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  G.VerticalDirection.prototype = {
    toString$0: function(_) {
      return this._basic_types$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  G.AxisDirection.prototype = {
    toString$0: function(_) {
      return this._basic_types$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.PaintingBinding.prototype = {
    instantiateImageCodec$4$allowUpscaling$cacheHeight$cacheWidth: function(bytes, allowUpscaling, cacheHeight, cacheWidth) {
      return P.instantiateImageCodec(bytes, false, cacheHeight, cacheWidth);
    },
    instantiateImageCodec$1: function(bytes) {
      return this.instantiateImageCodec$4$allowUpscaling$cacheHeight$cacheWidth(bytes, false, null, null);
    }
  };
  N._SystemFontsNotifier.prototype = {
    notifyListeners$0: function() {
      for (var t1 = this._systemFontsCallbacks, t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
        t1._collection$_current.call$0();
    },
    addListener$1: function(_, listener) {
      this._systemFontsCallbacks.add$1(0, listener);
    },
    removeListener$1: function(_, listener) {
      this._systemFontsCallbacks.remove$1(0, listener);
    }
  };
  K.BorderRadiusGeometry.prototype = {
    subtract$1: function(other) {
      var _this = this;
      return new K._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: function(_, other) {
      var _this = this;
      return new K._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: function(_) {
      var visual, t1, comma, logical, _this = this,
        _s18_ = "BorderRadius.only(",
        _s29_ = "BorderRadiusDirectional.only(";
      if (J.$eq$(_this.get$_topLeft(), _this.get$_topRight()) && J.$eq$(_this.get$_topRight(), _this.get$_bottomLeft()) && J.$eq$(_this.get$_bottomLeft(), _this.get$_bottomRight()))
        if (!J.$eq$(_this.get$_topLeft(), C.Radius_0_0))
          visual = _this.get$_topLeft().x === _this.get$_topLeft().y ? "BorderRadius.circular(" + C.JSNumber_methods.toStringAsFixed$1(_this.get$_topLeft().x, 1) + ")" : "BorderRadius.all(" + H.S(_this.get$_topLeft()) + ")";
        else
          visual = null;
      else {
        if (!J.$eq$(_this.get$_topLeft(), C.Radius_0_0)) {
          t1 = _s18_ + ("topLeft: " + H.S(_this.get$_topLeft()));
          comma = true;
        } else {
          t1 = _s18_;
          comma = false;
        }
        if (!J.$eq$(_this.get$_topRight(), C.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "topRight: " + H.S(_this.get$_topRight());
          comma = true;
        }
        if (!J.$eq$(_this.get$_bottomLeft(), C.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "bottomLeft: " + H.S(_this.get$_bottomLeft());
          comma = true;
        }
        if (!J.$eq$(_this.get$_bottomRight(), C.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "bottomRight: " + H.S(_this.get$_bottomRight());
        }
        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, C.Radius_0_0))
          logical = _this.get$_topStart().x === _this.get$_topStart().y ? "BorderRadiusDirectional.circular(" + C.JSNumber_methods.toStringAsFixed$1(_this.get$_topStart().x, 1) + ")" : "BorderRadiusDirectional.all(" + _this.get$_topStart().toString$0(0) + ")";
        else
          logical = null;
      else {
        if (!_this.get$_topStart().$eq(0, C.Radius_0_0)) {
          t1 = _s29_ + ("topStart: " + _this.get$_topStart().toString$0(0));
          comma = true;
        } else {
          t1 = _s29_;
          comma = false;
        }
        if (!_this.get$_topEnd().$eq(0, C.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "topEnd: " + _this.get$_topEnd().toString$0(0);
          comma = true;
        }
        if (!_this.get$_bottomStart().$eq(0, C.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "bottomStart: " + _this.get$_bottomStart().toString$0(0);
          comma = true;
        }
        if (!_this.get$_bottomEnd().$eq(0, C.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 H.S(visual) + " + " + logical;
      if (t1)
        return visual;
      if (logical != null)
        return logical;
      return "BorderRadius.zero";
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof K.BorderRadiusGeometry && J.$eq$(other.get$_topLeft(), _this.get$_topLeft()) && J.$eq$(other.get$_topRight(), _this.get$_topRight()) && J.$eq$(other.get$_bottomLeft(), _this.get$_bottomLeft()) && J.$eq$(other.get$_bottomRight(), _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: function(_) {
      var _this = this;
      return P.hashValues(_this.get$_topLeft(), _this.get$_topRight(), _this.get$_bottomLeft(), _this.get$_bottomRight(), _this.get$_topStart(), _this.get$_topEnd(), _this.get$_bottomStart(), _this.get$_bottomEnd(), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  K.BorderRadius.prototype = {
    get$_topLeft: function() {
      return this.topLeft;
    },
    get$_topRight: function() {
      return this.topRight;
    },
    get$_bottomLeft: function() {
      return this.bottomLeft;
    },
    get$_bottomRight: function() {
      return this.bottomRight;
    },
    get$_topStart: function() {
      return C.Radius_0_0;
    },
    get$_topEnd: function() {
      return C.Radius_0_0;
    },
    get$_bottomStart: function() {
      return C.Radius_0_0;
    },
    get$_bottomEnd: function() {
      return C.Radius_0_0;
    },
    toRRect$1: function(rect) {
      var _this = this;
      return P.RRect$fromRectAndCorners(rect, _this.bottomLeft, _this.bottomRight, _this.topLeft, _this.topRight);
    },
    subtract$1: function(other) {
      if (other instanceof K.BorderRadius)
        return this.$sub(0, other);
      return this.super$BorderRadiusGeometry$subtract(other);
    },
    add$1: function(_, other) {
      if (other instanceof K.BorderRadius)
        return this.$add(0, other);
      return this.super$BorderRadiusGeometry$add(0, other);
    },
    $sub: function(_, other) {
      var _this = this;
      return new K.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: function(_, other) {
      var _this = this;
      return new K.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: function(_, other) {
      var _this = this;
      return new K.BorderRadius(_this.topLeft.$mul(0, other), _this.topRight.$mul(0, other), _this.bottomLeft.$mul(0, other), _this.bottomRight.$mul(0, other));
    },
    $div: function(_, other) {
      var _this = this;
      return new K.BorderRadius(_this.topLeft.$div(0, other), _this.topRight.$div(0, other), _this.bottomLeft.$div(0, other), _this.bottomRight.$div(0, other));
    },
    $tdiv: function(_, other) {
      var _this = this;
      return new K.BorderRadius(_this.topLeft.$tdiv(0, other), _this.topRight.$tdiv(0, other), _this.bottomLeft.$tdiv(0, other), _this.bottomRight.$tdiv(0, other));
    },
    resolve$1: function(direction) {
      return this;
    }
  };
  K._MixedBorderRadius.prototype = {
    $mul: function(_, other) {
      var _this = this;
      return new K._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: function(_, other) {
      var _this = this;
      return new K._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: function(_, other) {
      var _this = this;
      return new K._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: function(direction) {
      var _this = this;
      direction.toString;
      switch (direction) {
        case C.TextDirection_0:
          return new K.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 C.TextDirection_1:
          return new K.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));
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$_topLeft: function() {
      return this._topLeft;
    },
    get$_topRight: function() {
      return this._topRight;
    },
    get$_bottomLeft: function() {
      return this._bottomLeft;
    },
    get$_bottomRight: function() {
      return this._bottomRight;
    },
    get$_topStart: function() {
      return this._topStart;
    },
    get$_topEnd: function() {
      return this._topEnd;
    },
    get$_bottomStart: function() {
      return this._bottomStart;
    },
    get$_bottomEnd: function() {
      return this._bottomEnd;
    }
  };
  Y.BorderStyle.prototype = {
    toString$0: function(_) {
      return this._borders$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Y.BorderSide.prototype = {
    scale$1: function(_, t) {
      var t1 = Math.max(0, this.width * t),
        t2 = t <= 0 ? C.BorderStyle_0 : this.style;
      return new Y.BorderSide(this.color, t1, t2);
    },
    toPaint$0: function() {
      switch (this.style) {
        case C.BorderStyle_1:
          var t1 = H._detectRenderer();
          t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
          t1.set$color(0, this.color);
          t1.set$strokeWidth(this.width);
          t1.set$style(0, C.PaintingStyle_1);
          return t1;
        case C.BorderStyle_0:
          t1 = H._detectRenderer();
          t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
          t1.set$color(0, C.Color_0);
          t1.set$strokeWidth(0);
          t1.set$style(0, C.PaintingStyle_1);
          return t1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof Y.BorderSide && J.$eq$(other.color, _this.color) && other.width === _this.width && other.style === _this.style;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.color, this.width, this.style, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "BorderSide(" + H.S(this.color) + ", " + C.JSNumber_methods.toStringAsFixed$1(this.width, 1) + ", " + this.style.toString$0(0) + ")";
    }
  };
  Y.ShapeBorder.prototype = {
    add$2$reversed: function(_, other, reversed) {
      return null;
    },
    add$1: function($receiver, other) {
      return this.add$2$reversed($receiver, other, false);
    },
    $add: function(_, other) {
      var t1 = this.add$1(0, other);
      if (t1 == null)
        t1 = other.add$2$reversed(0, this, true);
      return t1 == null ? new Y._CompoundBorder(H._setArrayType([other, this], type$.JSArray_ShapeBorder)) : t1;
    },
    lerpFrom$2: function(a, t) {
      if (a == null)
        return this.scale$1(0, t);
      return null;
    },
    lerpTo$2: function(b, t) {
      if (b == null)
        return this.scale$1(0, 1 - t);
      return null;
    },
    toString$0: function(_) {
      return "ShapeBorder()";
    }
  };
  Y.OutlinedBorder.prototype = {};
  Y._CompoundBorder.prototype = {
    get$dimensions: function() {
      return C.JSArray_methods.fold$2(this.borders, C.EdgeInsets_0_0_0_0, new Y._CompoundBorder_dimensions_closure());
    },
    add$2$reversed: function(_, other, reversed) {
      var t2, ours, merged,
        t1 = other instanceof Y._CompoundBorder;
      if (!t1) {
        t2 = this.borders;
        ours = reversed ? C.JSArray_methods.get$last(t2) : C.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 = P.List_List$of(t2, true, type$.ShapeBorder);
          t1[reversed ? t1.length - 1 : 0] = merged;
          return new Y._CompoundBorder(t1);
        }
      }
      t2 = H._setArrayType([], type$.JSArray_ShapeBorder);
      if (reversed)
        C.JSArray_methods.addAll$1(t2, this.borders);
      if (t1)
        C.JSArray_methods.addAll$1(t2, other.borders);
      else
        t2.push(other);
      if (!reversed)
        C.JSArray_methods.addAll$1(t2, this.borders);
      return new Y._CompoundBorder(t2);
    },
    add$1: function($receiver, other) {
      return this.add$2$reversed($receiver, other, false);
    },
    scale$1: function(_, t) {
      var t1 = this.borders,
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ShapeBorder>");
      return new Y._CompoundBorder(P.List_List$of(new H.MappedListIterable(t1, new Y._CompoundBorder_scale_closure(t), t2), true, t2._eval$1("ListIterable.E")));
    },
    lerpFrom$2: function(a, t) {
      return Y._CompoundBorder_lerp(a, this, t);
    },
    lerpTo$2: function(b, t) {
      return Y._CompoundBorder_lerp(this, b, t);
    },
    getInnerPath$2$textDirection: function(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 C.JSArray_methods.get$last(t1).getInnerPath$2$textDirection(rect, textDirection);
    },
    getOuterPath$2$textDirection: function(rect, textDirection) {
      return C.JSArray_methods.get$first(this.borders).getOuterPath$2$textDirection(rect, textDirection);
    },
    paint$3$textDirection: function(canvas, rect, textDirection) {
      var t1, t2, _i, border;
      for (t1 = this.borders, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        border = t1[_i];
        border.paint$3$textDirection(canvas, rect, textDirection);
        rect = border.get$dimensions().resolve$1(textDirection).deflateRect$1(rect);
      }
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof Y._CompoundBorder && S.listEquals0(other.borders, this.borders);
    },
    get$hashCode: function(_) {
      return P.hashList(this.borders);
    },
    toString$0: function(_) {
      var t1 = this.borders,
        t2 = H._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
      return new H.MappedListIterable(new H.ReversedListIterable(t1, t2), new Y._CompoundBorder_toString_closure(), t2._eval$1("MappedListIterable<ListIterable.E,String>")).join$1(0, " + ");
    }
  };
  Y._CompoundBorder_dimensions_closure.prototype = {
    call$2: function(previousValue, border) {
      return previousValue.add$1(0, border.get$dimensions());
    },
    $signature: 802
  };
  Y._CompoundBorder_scale_closure.prototype = {
    call$1: function(border) {
      return border.scale$1(0, this.t);
    },
    $signature: 803
  };
  Y._CompoundBorder_toString_closure.prototype = {
    call$1: function(border) {
      return J.toString$0$(border);
    },
    $signature: 804
  };
  F.BoxShape.prototype = {
    toString$0: function(_) {
      return this._box_border$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.BoxBorder.prototype = {
    add$2$reversed: function(_, other, reversed) {
      return null;
    },
    add$1: function($receiver, other) {
      return this.add$2$reversed($receiver, other, false);
    },
    getInnerPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addRect$1(0, this.get$dimensions().resolve$1(textDirection).deflateRect$1(rect));
      return t1;
    },
    getOuterPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addRect$1(0, rect);
      return t1;
    }
  };
  F.Border.prototype = {
    get$dimensions: function() {
      var _this = this;
      return new V.EdgeInsets(_this.left.width, _this.top.width, _this.right.width, _this.bottom.width);
    },
    get$_colorIsUniform: function() {
      var _this = this,
        topColor = _this.top.color;
      return J.$eq$(_this.right.color, topColor) && J.$eq$(_this.bottom.color, topColor) && J.$eq$(_this.left.color, topColor);
    },
    get$_widthIsUniform: function() {
      var _this = this,
        topWidth = _this.top.width;
      return _this.right.width === topWidth && _this.bottom.width === topWidth && _this.left.width === topWidth;
    },
    get$_styleIsUniform: function() {
      var _this = this,
        topStyle = _this.top.style;
      return _this.right.style === topStyle && _this.bottom.style === topStyle && _this.left.style === topStyle;
    },
    add$2$reversed: function(_, other, reversed) {
      var _this = this;
      if (other instanceof F.Border && Y.BorderSide_canMerge(_this.top, other.top) && Y.BorderSide_canMerge(_this.right, other.right) && Y.BorderSide_canMerge(_this.bottom, other.bottom) && Y.BorderSide_canMerge(_this.left, other.left))
        return new F.Border(Y.BorderSide_merge(_this.top, other.top), Y.BorderSide_merge(_this.right, other.right), Y.BorderSide_merge(_this.bottom, other.bottom), Y.BorderSide_merge(_this.left, other.left));
      return null;
    },
    add$1: function($receiver, other) {
      return this.add$2$reversed($receiver, other, false);
    },
    scale$1: function(_, t) {
      var _this = this;
      return new F.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: function(a, t) {
      if (a instanceof F.Border)
        return F.Border_lerp(a, this, t);
      return this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      if (b instanceof F.Border)
        return F.Border_lerp(this, b, t);
      return this.super$ShapeBorder$lerpTo(b, t);
    },
    paint$5$borderRadius$shape$textDirection: function(canvas, rect, borderRadius, shape, textDirection) {
      var t1, _this = this,
        _s80_ = string$.x60null_c;
      if (_this.get$_colorIsUniform() && _this.get$_widthIsUniform() && _this.get$_styleIsUniform()) {
        t1 = _this.top;
        switch (t1.style) {
          case C.BorderStyle_0:
            return;
          case C.BorderStyle_1:
            switch (shape) {
              case C.BoxShape_1:
                F.BoxBorder__paintUniformBorderWithCircle(canvas, rect, t1);
                break;
              case C.BoxShape_0:
                if (borderRadius != null) {
                  F.BoxBorder__paintUniformBorderWithRadius(canvas, rect, t1, borderRadius);
                  return;
                }
                F.BoxBorder__paintUniformBorderWithRectangle(canvas, rect, t1);
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(_s80_));
            }
            return;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
      }
      Y.paintBorder(canvas, rect, _this.bottom, _this.left, _this.right, _this.top);
    },
    paint$3$textDirection: function(canvas, rect, textDirection) {
      return this.paint$5$borderRadius$shape$textDirection(canvas, rect, null, C.BoxShape_0, textDirection);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof F.Border && J.$eq$(other.top, _this.top) && J.$eq$(other.right, _this.right) && J.$eq$(other.bottom, _this.bottom) && J.$eq$(other.left, _this.left);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.top, _this.right, _this.bottom, _this.left, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var t1, t2, _this = this;
      if (_this.get$_colorIsUniform() && _this.get$_widthIsUniform() && _this.get$_styleIsUniform())
        return "Border.all(" + H.S(_this.top) + ")";
      t1 = H._setArrayType([], type$.JSArray_String);
      t2 = _this.top;
      if (!J.$eq$(t2, C.BorderSide_06g))
        t1.push("top: " + H.S(t2));
      t2 = _this.right;
      if (!J.$eq$(t2, C.BorderSide_06g))
        t1.push("right: " + H.S(t2));
      t2 = _this.bottom;
      if (!J.$eq$(t2, C.BorderSide_06g))
        t1.push("bottom: " + H.S(t2));
      t2 = _this.left;
      if (!J.$eq$(t2, C.BorderSide_06g))
        t1.push("left: " + H.S(t2));
      return "Border(" + C.JSArray_methods.join$1(t1, ", ") + ")";
    },
    get$top: function(receiver) {
      return this.top;
    }
  };
  F.BorderDirectional.prototype = {
    get$dimensions: function() {
      var _this = this;
      return new V.EdgeInsetsDirectional(_this.start.width, _this.top.width, _this.end.width, _this.bottom.width);
    },
    get$isUniform: function() {
      var topWidth, topStyle, _this = this,
        t1 = _this.top,
        topColor = t1.color,
        t2 = _this.start;
      if (!J.$eq$(t2.color, topColor) || !J.$eq$(_this.end.color, topColor) || !J.$eq$(_this.bottom.color, 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;
      return true;
    },
    add$2$reversed: function(_, other, reversed) {
      var t1, t2, t3, _this = this, _null = null;
      if (other instanceof F.BorderDirectional) {
        t1 = _this.top;
        t2 = other.top;
        if (Y.BorderSide_canMerge(t1, t2) && Y.BorderSide_canMerge(_this.start, other.start) && Y.BorderSide_canMerge(_this.end, other.end) && Y.BorderSide_canMerge(_this.bottom, other.bottom))
          return new F.BorderDirectional(Y.BorderSide_merge(t1, t2), Y.BorderSide_merge(_this.start, other.start), Y.BorderSide_merge(_this.end, other.end), Y.BorderSide_merge(_this.bottom, other.bottom));
        return _null;
      }
      if (other instanceof F.Border) {
        t1 = other.top;
        t2 = _this.top;
        if (!Y.BorderSide_canMerge(t1, t2) || !Y.BorderSide_canMerge(other.bottom, _this.bottom))
          return _null;
        t3 = _this.start;
        if (!J.$eq$(t3, C.BorderSide_06g) || !J.$eq$(_this.end, C.BorderSide_06g)) {
          if (!J.$eq$(other.left, C.BorderSide_06g) || !J.$eq$(other.right, C.BorderSide_06g))
            return _null;
          return new F.BorderDirectional(Y.BorderSide_merge(t1, t2), t3, _this.end, Y.BorderSide_merge(other.bottom, _this.bottom));
        }
        return new F.Border(Y.BorderSide_merge(t1, t2), other.right, Y.BorderSide_merge(other.bottom, _this.bottom), other.left);
      }
      return _null;
    },
    add$1: function($receiver, other) {
      return this.add$2$reversed($receiver, other, false);
    },
    scale$1: function(_, t) {
      var _this = this;
      return new F.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: function(a, t) {
      if (a instanceof F.BorderDirectional)
        return F.BorderDirectional_lerp(a, this, t);
      return this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      if (b instanceof F.BorderDirectional)
        return F.BorderDirectional_lerp(this, b, t);
      return this.super$ShapeBorder$lerpTo(b, t);
    },
    paint$5$borderRadius$shape$textDirection: function(canvas, rect, borderRadius, shape, textDirection) {
      var t1, left, right, _this = this,
        _s80_ = string$.x60null_c;
      if (_this.get$isUniform()) {
        t1 = _this.top;
        switch (t1.style) {
          case C.BorderStyle_0:
            return;
          case C.BorderStyle_1:
            switch (shape) {
              case C.BoxShape_1:
                F.BoxBorder__paintUniformBorderWithCircle(canvas, rect, t1);
                break;
              case C.BoxShape_0:
                if (borderRadius != null) {
                  F.BoxBorder__paintUniformBorderWithRadius(canvas, rect, t1, borderRadius);
                  return;
                }
                F.BoxBorder__paintUniformBorderWithRectangle(canvas, rect, t1);
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(_s80_));
            }
            return;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
      }
      textDirection.toString;
      switch (textDirection) {
        case C.TextDirection_0:
          left = _this.end;
          right = _this.start;
          break;
        case C.TextDirection_1:
          left = _this.start;
          right = _this.end;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      Y.paintBorder(canvas, rect, _this.bottom, left, right, _this.top);
    },
    paint$3$textDirection: function(canvas, rect, textDirection) {
      return this.paint$5$borderRadius$shape$textDirection(canvas, rect, null, C.BoxShape_0, textDirection);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof F.BorderDirectional && J.$eq$(other.top, _this.top) && J.$eq$(other.start, _this.start) && J.$eq$(other.end, _this.end) && J.$eq$(other.bottom, _this.bottom);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.top, _this.start, _this.end, _this.bottom, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var _this = this,
        t1 = H._setArrayType([], type$.JSArray_String),
        t2 = _this.top;
      if (!J.$eq$(t2, C.BorderSide_06g))
        t1.push("top: " + H.S(t2));
      t2 = _this.start;
      if (!J.$eq$(t2, C.BorderSide_06g))
        t1.push("start: " + H.S(t2));
      t2 = _this.end;
      if (!J.$eq$(t2, C.BorderSide_06g))
        t1.push("end: " + H.S(t2));
      t2 = _this.bottom;
      if (!J.$eq$(t2, C.BorderSide_06g))
        t1.push("bottom: " + H.S(t2));
      return "BorderDirectional(" + C.JSArray_methods.join$1(t1, ", ") + ")";
    },
    get$top: function(receiver) {
      return this.top;
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  S.BoxDecoration.prototype = {
    copyWith$1$color: function(color) {
      var _this = this;
      return new S.BoxDecoration(color, _this.image, _this.border, _this.borderRadius, _this.boxShadow, _this.gradient, _this.backgroundBlendMode, _this.shape);
    },
    get$padding: function(_) {
      var t1 = this.border;
      return t1 == null ? null : t1.get$dimensions();
    },
    getClipPath$2: function(rect, textDirection) {
      var square, t1, t2;
      switch (this.shape) {
        case C.BoxShape_1:
          square = P.Rect$fromCircle(rect.get$center(), rect.get$shortestSide() / 2);
          t1 = P.Path_Path();
          t1.addOval$1(0, square);
          return t1;
        case C.BoxShape_0:
          t1 = this.borderRadius;
          if (t1 != null) {
            t2 = P.Path_Path();
            t2.addRRect$1(0, t1.resolve$1(textDirection).toRRect$1(rect));
            return t2;
          }
          t1 = P.Path_Path();
          t1.addRect$1(0, rect);
          return t1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    scale$1: function(_, factor) {
      var _this = this, _null = null,
        t1 = P.Color_lerp(_null, _this.color, factor),
        t2 = F.BoxBorder_lerp(_null, _this.border, factor),
        t3 = K.BorderRadiusGeometry_lerp(_null, _this.borderRadius, factor),
        t4 = O.BoxShadow_lerpList(_null, _this.boxShadow, factor),
        t5 = _this.gradient;
      t5 = t5 == null ? _null : t5.scale$1(0, factor);
      return new S.BoxDecoration(t1, _this.image, t2, t3, t4, t5, _null, _this.shape);
    },
    get$isComplex: function() {
      return this.boxShadow != null;
    },
    lerpFrom$2: function(a, t) {
      if (a == null)
        return this.scale$1(0, t);
      if (a instanceof S.BoxDecoration)
        return S.BoxDecoration_lerp(a, this, t);
      return this.super$Decoration$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      if (b == null)
        return this.scale$1(0, 1 - t);
      if (b instanceof S.BoxDecoration)
        return S.BoxDecoration_lerp(this, b, t);
      return this.super$Decoration$lerpTo(b, t);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof S.BoxDecoration && J.$eq$(other.color, _this.color) && J.$eq$(other.image, _this.image) && J.$eq$(other.border, _this.border) && J.$eq$(other.borderRadius, _this.borderRadius) && S.listEquals0(other.boxShadow, _this.boxShadow) && J.$eq$(other.gradient, _this.gradient) && other.shape === _this.shape;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.color, _this.image, _this.border, _this.borderRadius, P.hashList(_this.boxShadow), _this.gradient, _this.shape, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    hitTest$3$textDirection: function(size, position, textDirection) {
      var t1, distance, t2;
      switch (this.shape) {
        case C.BoxShape_0:
          t1 = this.borderRadius;
          if (t1 != null)
            return t1.resolve$1(textDirection).toRRect$1(new P.Rect(0, 0, 0 + size._dx, 0 + size._dy)).contains$1(0, position);
          return true;
        case C.BoxShape_1:
          distance = position.$sub(0, size.center$1(C.Offset_0_0)).get$distance();
          t1 = size._dx;
          t2 = size._dy;
          return distance <= Math.min(H.checkNum(t1), H.checkNum(t2)) / 2;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    createBoxPainter$1: function(onChanged) {
      return new S._BoxDecorationPainter(this, onChanged);
    }
  };
  S._BoxDecorationPainter.prototype = {
    _box_decoration$_paintBox$4: function(canvas, rect, paint, textDirection) {
      var t1 = this._box_decoration$_decoration;
      switch (t1.shape) {
        case C.BoxShape_1:
          canvas.drawCircle$3(0, rect.get$center(), rect.get$shortestSide() / 2, paint);
          break;
        case C.BoxShape_0:
          t1 = t1.borderRadius;
          if (t1 == null)
            canvas.drawRect$2(0, rect, paint);
          else
            canvas.drawRRect$2(0, t1.resolve$1(textDirection).toRRect$1(rect), paint);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _paintShadows$3: function(canvas, rect, textDirection) {
      var t2, _i, boxShadow, t3, result, t4,
        t1 = this._box_decoration$_decoration.boxShadow;
      if (t1 == null)
        return;
      for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        boxShadow = t1[_i];
        boxShadow.toString;
        t3 = H._detectRenderer();
        result = t3 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        result.set$color(0, boxShadow.color);
        t3 = boxShadow.blurRadius;
        result.set$maskFilter(new P.MaskFilter(C.BlurStyle_0, t3 > 0 ? t3 * 0.57735 + 0.5 : 0));
        t3 = rect.shift$1(boxShadow.offset);
        t4 = boxShadow.spreadRadius;
        this._box_decoration$_paintBox$4(canvas, new P.Rect(t3.left - t4, t3.top - t4, t3.right + t4, t3.bottom + t4), result, textDirection);
      }
    },
    _paintBackgroundImage$3: function(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 X.DecorationImagePainter(t2, t3);
      }
      switch (t1.shape) {
        case C.BoxShape_1:
          square = P.Rect$fromCircle(rect.get$center(), rect.get$shortestSide() / 2);
          clipPath = P.Path_Path();
          clipPath.addOval$1(0, square);
          break;
        case C.BoxShape_0:
          t1 = t1.borderRadius;
          if (t1 != null) {
            clipPath = P.Path_Path();
            clipPath.addRRect$1(0, t1.resolve$1(configuration.textDirection).toRRect$1(rect));
          } else
            clipPath = null;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      _this._imagePainter.paint$4(canvas, rect, clipPath, configuration);
    },
    dispose$0: function(_) {
      var t1 = this._imagePainter;
      if (t1 != null)
        t1.dispose$0(0);
      this.super$BoxPainter$dispose(0);
    },
    paint$3: function(canvas, offset, configuration) {
      var t4, paint, _this = this,
        t1 = configuration.size,
        t2 = offset._dx,
        t3 = offset._dy,
        rect = new P.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) {
          t4 = H._detectRenderer();
          paint = t4 ? H.CkPaint$() : new H.SurfacePaint(new H.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._box_decoration$_paintBox$4(canvas, rect, t2, textDirection);
      }
      _this._paintBackgroundImage$3(canvas, rect, configuration);
      t2 = t1.border;
      if (t2 != null)
        t2.paint$5$borderRadius$shape$textDirection(canvas, rect, type$.nullable_BorderRadius._as(t1.borderRadius), t1.shape, textDirection);
    },
    toString$0: function(_) {
      return "BoxPainter for " + this._box_decoration$_decoration.toString$0(0);
    }
  };
  U.BoxFit.prototype = {
    toString$0: function(_) {
      return this._box_fit$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  U.FittedSizes.prototype = {};
  O.BoxShadow.prototype = {
    toPaint$0: function() {
      var t1 = H._detectRenderer(),
        result = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      result.set$color(0, this.color);
      result.set$maskFilter(new P.MaskFilter(C.BlurStyle_0, P.Shadow_convertRadiusToSigma(this.blurRadius)));
      return result;
    },
    scale$1: function(_, factor) {
      var _this = this;
      return new O.BoxShadow(_this.spreadRadius * factor, _this.color, _this.offset.$mul(0, factor), _this.blurRadius * factor);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof O.BoxShadow && J.$eq$(other.color, _this.color) && J.$eq$(other.offset, _this.offset) && other.blurRadius == _this.blurRadius && other.spreadRadius == _this.spreadRadius;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.color, _this.offset, _this.blurRadius, _this.spreadRadius, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var _this = this;
      return "BoxShadow(" + H.S(_this.color) + ", " + H.S(_this.offset) + ", " + E.debugFormatDouble(_this.blurRadius) + ", " + E.debugFormatDouble(_this.spreadRadius) + ")";
    }
  };
  X.CircleBorder.prototype = {
    get$dimensions: function() {
      var t1 = this.side.width;
      return new V.EdgeInsets(t1, t1, t1, t1);
    },
    scale$1: function(_, t) {
      return new X.CircleBorder(this.side.scale$1(0, t));
    },
    lerpFrom$2: function(a, t) {
      if (a instanceof X.CircleBorder)
        return new X.CircleBorder(Y.BorderSide_lerp(a.side, this.side, t));
      return this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      if (b instanceof X.CircleBorder)
        return new X.CircleBorder(Y.BorderSide_lerp(this.side, b.side, t));
      return this.super$ShapeBorder$lerpTo(b, t);
    },
    getInnerPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addOval$1(0, P.Rect$fromCircle(rect.get$center(), Math.max(0, rect.get$shortestSide() / 2 - this.side.width)));
      return t1;
    },
    getOuterPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addOval$1(0, P.Rect$fromCircle(rect.get$center(), rect.get$shortestSide() / 2));
      return t1;
    },
    getOuterPath$1: function(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    copyWith$1$side: function(side) {
      return new X.CircleBorder(side == null ? this.side : side);
    },
    paint$3$textDirection: function(canvas, rect, textDirection) {
      var t1 = this.side;
      switch (t1.style) {
        case C.BorderStyle_0:
          break;
        case C.BorderStyle_1:
          canvas.drawCircle$3(0, rect.get$center(), (rect.get$shortestSide() - t1.width) / 2, t1.toPaint$0());
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    paint$2: function(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof X.CircleBorder && J.$eq$(other.side, this.side);
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.side);
    },
    toString$0: function(_) {
      return "CircleBorder(" + H.S(this.side) + ")";
    }
  };
  Z.ClipContext.prototype = {
    _clipAndPaint$4: function(canvasClipCall, clipBehavior, bounds, painter) {
      var t1, t2, _this = this;
      _this.get$canvas(_this).save$0(0);
      switch (clipBehavior) {
        case C.Clip_0:
          break;
        case C.Clip_1:
          canvasClipCall.call$1(false);
          break;
        case C.Clip_2:
          canvasClipCall.call$1(true);
          break;
        case C.Clip_3:
          canvasClipCall.call$1(true);
          t1 = _this.get$canvas(_this);
          t2 = H._detectRenderer();
          t1.saveLayer$2(0, bounds, t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData()));
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      painter.call$0();
      if (clipBehavior === C.Clip_3)
        _this.get$canvas(_this).restore$0(0);
      _this.get$canvas(_this).restore$0(0);
    },
    clipPathAndPaint$4: function(path, clipBehavior, bounds, painter) {
      this._clipAndPaint$4(new Z.ClipContext_clipPathAndPaint_closure(this, path), clipBehavior, bounds, painter);
    },
    clipRRectAndPaint$4: function(rrect, clipBehavior, bounds, painter) {
      this._clipAndPaint$4(new Z.ClipContext_clipRRectAndPaint_closure(this, rrect), clipBehavior, bounds, painter);
    },
    clipRectAndPaint$4: function(rect, clipBehavior, bounds, painter) {
      this._clipAndPaint$4(new Z.ClipContext_clipRectAndPaint_closure(this, rect), clipBehavior, bounds, painter);
    }
  };
  Z.ClipContext_clipPathAndPaint_closure.prototype = {
    call$1: function(doAntiAias) {
      var t1 = this.$this;
      return t1.get$canvas(t1).clipPath$2$doAntiAlias(0, this.path, doAntiAias);
    },
    $signature: 11
  };
  Z.ClipContext_clipRRectAndPaint_closure.prototype = {
    call$1: function(doAntiAias) {
      var t1 = this.$this;
      return t1.get$canvas(t1).clipRRect$2$doAntiAlias(0, this.rrect, doAntiAias);
    },
    $signature: 11
  };
  Z.ClipContext_clipRectAndPaint_closure.prototype = {
    call$1: function(doAntiAias) {
      var t1 = this.$this;
      return t1.get$canvas(t1).clipRect$2$doAntiAlias(0, this.rect, doAntiAias);
    },
    $signature: 11
  };
  E.ColorSwatch.prototype = {
    $index: function(_, index) {
      return this._swatch.$index(0, index);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return _this.super$Color$$eq(0, other) && H._instanceType(_this)._eval$1("ColorSwatch<ColorSwatch.T>")._is(other) && S.mapEquals(other._swatch, _this._swatch);
    },
    get$hashCode: function(_) {
      return P.hashValues(H.getRuntimeType(this), this.value, this._swatch, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "ColorSwatch(primary value: " + this.super$Color$toString(0) + ")";
    }
  };
  S.ContinuousRectangleBorder.prototype = {
    get$dimensions: function() {
      var t1 = this.side.width;
      return new V.EdgeInsets(t1, t1, t1, t1);
    },
    scale$1: function(_, t) {
      var t1 = this.side.scale$1(0, t);
      return new S.ContinuousRectangleBorder(this.borderRadius.$mul(0, t), t1);
    },
    lerpFrom$2: function(a, t) {
      var t1, t2;
      if (a instanceof S.ContinuousRectangleBorder) {
        t1 = Y.BorderSide_lerp(a.side, this.side, t);
        t2 = K.BorderRadiusGeometry_lerp(a.borderRadius, this.borderRadius, t);
        t2.toString;
        return new S.ContinuousRectangleBorder(t2, t1);
      }
      return this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      var t1, t2;
      if (b instanceof S.ContinuousRectangleBorder) {
        t1 = Y.BorderSide_lerp(this.side, b.side, t);
        t2 = K.BorderRadiusGeometry_lerp(this.borderRadius, b.borderRadius, t);
        t2.toString;
        return new S.ContinuousRectangleBorder(t2, t1);
      }
      return this.super$ShapeBorder$lerpTo(b, t);
    },
    _getPath$1: function(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 = P.Path_Path();
      t1.moveTo$2(0, left, $top + tlRadiusX);
      t1.cubicTo$6(0, left, $top, left, $top, left + tlRadiusY, $top);
      t1.lineTo$2(0, right - trRadiusX, $top);
      t1.cubicTo$6(0, right, $top, right, $top, right, $top + trRadiusY);
      t1.lineTo$2(0, right, bottom - brRadiusX);
      t1.cubicTo$6(0, right, bottom, right, bottom, right - brRadiusY, bottom);
      t1.lineTo$2(0, left + blRadiusX, bottom);
      t1.cubicTo$6(0, left, bottom, left, bottom, left, bottom - blRadiusY);
      t1.close$0(0);
      return t1;
    },
    getInnerPath$2$textDirection: function(rect, textDirection) {
      return this._getPath$1(this.borderRadius.resolve$1(textDirection).toRRect$1(rect).inflate$1(-this.side.width));
    },
    getOuterPath$2$textDirection: function(rect, textDirection) {
      return this._getPath$1(this.borderRadius.resolve$1(textDirection).toRRect$1(rect));
    },
    getOuterPath$1: function(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    copyWith$1$side: function(side) {
      var t1 = side == null ? this.side : side;
      return new S.ContinuousRectangleBorder(this.borderRadius, t1);
    },
    paint$3$textDirection: function(canvas, rect, textDirection) {
      var t1;
      if (rect.get$isEmpty(rect))
        return;
      t1 = this.side;
      switch (t1.style) {
        case C.BorderStyle_0:
          break;
        case C.BorderStyle_1:
          canvas.drawPath$2(0, this.getOuterPath$2$textDirection(rect, textDirection), t1.toPaint$0());
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    paint$2: function(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof S.ContinuousRectangleBorder && J.$eq$(other.side, this.side) && J.$eq$(other.borderRadius, this.borderRadius);
    },
    get$hashCode: function(_) {
      return P.hashValues(this.side, this.borderRadius, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "ContinuousRectangleBorder(" + H.S(this.side) + ", " + H.S(this.borderRadius) + ")";
    }
  };
  E.ImageSizeInfo.prototype = {
    _sizeToBytes$1: function(size) {
      return C.JSNumber_methods.toInt$0(size._dx * size._dy * 4 * 1.3333333333333333);
    },
    toJson$0: function() {
      var t4, t5, _this = this,
        t1 = type$.String,
        t2 = type$.nullable_Object,
        t3 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      t3.$indexSet(0, "source", _this.source);
      t4 = _this.displaySize;
      t3.$indexSet(0, "displaySize", P.LinkedHashMap_LinkedHashMap$_literal(["width", t4._dx, "height", t4._dy], t1, t2));
      t5 = _this.imageSize;
      t3.$indexSet(0, "imageSize", P.LinkedHashMap_LinkedHashMap$_literal(["width", t5._dx, "height", t5._dy], t1, t2));
      t3.$indexSet(0, "displaySizeInBytes", _this._sizeToBytes$1(t4));
      t3.$indexSet(0, "decodedSizeInBytes", _this._sizeToBytes$1(t5));
      return t3;
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof E.ImageSizeInfo && other.source === _this.source && other.imageSize.$eq(0, _this.imageSize) && other.displaySize.$eq(0, _this.displaySize);
    },
    get$hashCode: function(_) {
      return P.hashValues(this.source, this.displaySize, this.imageSize, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "ImageSizeInfo(" + this.source + ", imageSize: " + this.imageSize.toString$0(0) + ", displaySize: " + this.displaySize.toString$0(0) + ")";
    }
  };
  Z.Decoration.prototype = {
    toStringShort$0: function() {
      return "Decoration";
    },
    get$padding: function(_) {
      return C.EdgeInsets_0_0_0_0;
    },
    get$isComplex: function() {
      return false;
    },
    lerpFrom$2: function(a, t) {
      return null;
    },
    lerpTo$2: function(b, t) {
      return null;
    },
    hitTest$3$textDirection: function(size, position, textDirection) {
      return true;
    },
    getClipPath$2: function(rect, textDirection) {
      throw H.wrapException(P.UnsupportedError$("This Decoration subclass does not expect to be used for clipping."));
    }
  };
  Z.BoxPainter.prototype = {
    dispose$0: function(_) {
    }
  };
  Z._Decoration_Object_Diagnosticable.prototype = {};
  X.ImageRepeat.prototype = {
    toString$0: function(_) {
      return this._decoration_image$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  X.DecorationImage.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      other instanceof X.DecorationImage;
      return false;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.image, null, null, C.Alignment_0_0, null, C.ImageRepeat_3, false, 1, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var t1 = H._setArrayType([H.S(this.image)], type$.JSArray_String);
      t1.push(C.Alignment_0_0.toString$0(0));
      t1.push("scale: 1");
      return "DecorationImage(" + C.JSArray_methods.join$1(t1, ", ") + ")";
    }
  };
  X.DecorationImagePainter.prototype = {
    paint$4: function(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 L.ImageStreamListener(_this.get$_handleImage(), _null, t1.onError));
      if (_this._decoration_image$_image == null)
        return;
      t1 = clipPath != null;
      if (t1) {
        canvas.save$0(0);
        canvas.clipPath$1(0, clipPath);
      }
      t2 = _this._decoration_image$_image;
      t3 = t2.image;
      X.paintImage(C.Alignment_0_0, canvas, _null, _null, t2.debugLabel, C.FilterQuality_1, _null, false, t3, false, false, 1, rect, C.ImageRepeat_3, t2.scale);
      if (t1)
        canvas.restore$0(0);
    },
    _handleImage$2: function(value, synchronousCall) {
      var t1, t2, _this = this;
      if (J.$eq$(_this._decoration_image$_image, value))
        return;
      t1 = _this._decoration_image$_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(0);
        return;
      }
      t1 = _this._decoration_image$_image;
      if (t1 != null)
        t1.image.dispose$0(0);
      _this._decoration_image$_image = value;
      if (!synchronousCall)
        _this._onChanged.call$0();
    },
    dispose$0: function(_) {
      var t1 = this._decoration_image$_image;
      if (t1 != null)
        t1.image.dispose$0(0);
      this._decoration_image$_image = null;
    },
    toString$0: function(_) {
      return "DecorationImagePainter(stream: " + H.S(this._imageStream) + ", image: " + H.S(this._decoration_image$_image) + ") for " + this._details.toString$0(0);
    }
  };
  X.paintImage_closure.prototype = {
    call$1: function(timeStamp) {
      var t2, t3, t4,
        t1 = $._pendingImageSizeInfo;
      t1 = t1.get$values(t1);
      $._lastFrameImageSizeInfo = P.LinkedHashSet_LinkedHashSet$of(t1, H._instanceType(t1)._eval$1("Iterable.E"));
      t1 = $._pendingImageSizeInfo;
      if (t1.get$isEmpty(t1))
        return;
      t1 = type$.String;
      t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Object);
      for (t3 = $._pendingImageSizeInfo, t3 = t3.get$values(t3), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, t4.source, t4.toJson$0());
      }
      P.postEvent("Flutter.ImageSizesForFrame", t2);
      $._pendingImageSizeInfo = P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.ImageSizeInfo);
    },
    $signature: 6
  };
  V.EdgeInsetsGeometry.prototype = {
    get$horizontal: function() {
      var _this = this;
      return _this.get$_edge_insets$_left(_this) + _this.get$_edge_insets$_right(_this) + _this.get$_edge_insets$_start(_this) + _this.get$_edge_insets$_end();
    },
    along$1: function(axis) {
      var _this = this;
      switch (axis) {
        case C.Axis_0:
          return _this.get$horizontal();
        case C.Axis_1:
          return _this.get$_edge_insets$_top(_this) + _this.get$_edge_insets$_bottom(_this);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    add$1: function(_, other) {
      var _this = this;
      return new V._MixedEdgeInsets(_this.get$_edge_insets$_left(_this) + other.get$_edge_insets$_left(other), _this.get$_edge_insets$_right(_this) + other.get$_edge_insets$_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$_edge_insets$_top(_this) + other.get$_edge_insets$_top(other), _this.get$_edge_insets$_bottom(_this) + other.get$_edge_insets$_bottom(other));
    },
    clamp$2: function(_, min, max) {
      var _this = this;
      return new V._MixedEdgeInsets(J.clamp$2$n(_this.get$_edge_insets$_left(_this), min.left, max._edge_insets$_left), J.clamp$2$n(_this.get$_edge_insets$_right(_this), min.right, max._edge_insets$_right), J.clamp$2$n(_this.get$_edge_insets$_start(_this), 0, max._edge_insets$_start), J.clamp$2$n(_this.get$_edge_insets$_end(), 0, max._edge_insets$_end), J.clamp$2$n(_this.get$_edge_insets$_top(_this), min.top, max._edge_insets$_top), J.clamp$2$n(_this.get$_edge_insets$_bottom(_this), min.bottom, max._edge_insets$_bottom));
    },
    toString$0: function(_) {
      var _this = this;
      if (_this.get$_edge_insets$_start(_this) === 0 && _this.get$_edge_insets$_end() === 0) {
        if (_this.get$_edge_insets$_left(_this) === 0 && _this.get$_edge_insets$_right(_this) === 0 && _this.get$_edge_insets$_top(_this) === 0 && _this.get$_edge_insets$_bottom(_this) === 0)
          return "EdgeInsets.zero";
        if (_this.get$_edge_insets$_left(_this) == _this.get$_edge_insets$_right(_this) && _this.get$_edge_insets$_right(_this) == _this.get$_edge_insets$_top(_this) && _this.get$_edge_insets$_top(_this) == _this.get$_edge_insets$_bottom(_this))
          return "EdgeInsets.all(" + J.toStringAsFixed$1$n(_this.get$_edge_insets$_left(_this), 1) + ")";
        return "EdgeInsets(" + J.toStringAsFixed$1$n(_this.get$_edge_insets$_left(_this), 1) + ", " + J.toStringAsFixed$1$n(_this.get$_edge_insets$_top(_this), 1) + ", " + J.toStringAsFixed$1$n(_this.get$_edge_insets$_right(_this), 1) + ", " + J.toStringAsFixed$1$n(_this.get$_edge_insets$_bottom(_this), 1) + ")";
      }
      if (_this.get$_edge_insets$_left(_this) === 0 && _this.get$_edge_insets$_right(_this) === 0)
        return "EdgeInsetsDirectional(" + J.toStringAsFixed$1$n(_this.get$_edge_insets$_start(_this), 1) + ", " + J.toStringAsFixed$1$n(_this.get$_edge_insets$_top(_this), 1) + ", " + J.toStringAsFixed$1$n(_this.get$_edge_insets$_end(), 1) + ", " + J.toStringAsFixed$1$n(_this.get$_edge_insets$_bottom(_this), 1) + ")";
      return "EdgeInsets(" + J.toStringAsFixed$1$n(_this.get$_edge_insets$_left(_this), 1) + ", " + J.toStringAsFixed$1$n(_this.get$_edge_insets$_top(_this), 1) + ", " + J.toStringAsFixed$1$n(_this.get$_edge_insets$_right(_this), 1) + ", " + J.toStringAsFixed$1$n(_this.get$_edge_insets$_bottom(_this), 1) + ") + EdgeInsetsDirectional(" + J.toStringAsFixed$1$n(_this.get$_edge_insets$_start(_this), 1) + ", 0.0, " + J.toStringAsFixed$1$n(_this.get$_edge_insets$_end(), 1) + ", 0.0)";
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof V.EdgeInsetsGeometry && other.get$_edge_insets$_left(other) == _this.get$_edge_insets$_left(_this) && other.get$_edge_insets$_right(other) == _this.get$_edge_insets$_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$_edge_insets$_top(other) == _this.get$_edge_insets$_top(_this) && other.get$_edge_insets$_bottom(other) == _this.get$_edge_insets$_bottom(_this);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.get$_edge_insets$_left(_this), _this.get$_edge_insets$_right(_this), _this.get$_edge_insets$_start(_this), _this.get$_edge_insets$_end(), _this.get$_edge_insets$_top(_this), _this.get$_edge_insets$_bottom(_this), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  V.EdgeInsets.prototype = {
    get$_edge_insets$_left: function(_) {
      return this.left;
    },
    get$_edge_insets$_top: function(_) {
      return this.top;
    },
    get$_edge_insets$_right: function(_) {
      return this.right;
    },
    get$_edge_insets$_bottom: function(_) {
      return this.bottom;
    },
    get$_edge_insets$_start: function(_) {
      return 0;
    },
    get$_edge_insets$_end: function() {
      return 0;
    },
    inflateRect$1: function(rect) {
      var _this = this;
      return new P.Rect(rect.left - _this.left, rect.top - _this.top, rect.right + _this.right, rect.bottom + _this.bottom);
    },
    deflateRect$1: function(rect) {
      var _this = this;
      return new P.Rect(rect.left + _this.left, rect.top + _this.top, rect.right - _this.right, rect.bottom - _this.bottom);
    },
    add$1: function(_, other) {
      if (other instanceof V.EdgeInsets)
        return this.$add(0, other);
      return this.super$EdgeInsetsGeometry$add(0, other);
    },
    clamp$2: function(_, min, max) {
      var _this = this;
      return new V.EdgeInsets(J.clamp$2$n(_this.left, min.left, max._edge_insets$_left), J.clamp$2$n(_this.top, min.top, max._edge_insets$_top), J.clamp$2$n(_this.right, min.right, max._edge_insets$_right), J.clamp$2$n(_this.bottom, min.bottom, max._edge_insets$_bottom));
    },
    $sub: function(_, other) {
      var _this = this;
      return new V.EdgeInsets(_this.left - other.left, _this.top - other.top, _this.right - other.right, _this.bottom - other.bottom);
    },
    $add: function(_, other) {
      var _this = this;
      return new V.EdgeInsets(_this.left + other.left, _this.top + other.top, _this.right + other.right, _this.bottom + other.bottom);
    },
    $mul: function(_, other) {
      var _this = this;
      return new V.EdgeInsets(_this.left * other, _this.top * other, _this.right * other, _this.bottom * other);
    },
    $div: function(_, other) {
      var _this = this;
      return new V.EdgeInsets(_this.left / other, _this.top / other, _this.right / other, _this.bottom / other);
    },
    $tdiv: function(_, other) {
      var _this = this;
      return new V.EdgeInsets(C.JSNumber_methods.$tdiv(_this.left, other), C.JSNumber_methods.$tdiv(_this.top, other), C.JSNumber_methods.$tdiv(_this.right, other), C.JSNumber_methods.$tdiv(_this.bottom, other));
    },
    resolve$1: function(direction) {
      return this;
    },
    copyWith$4$bottom$left$right$top: function(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 V.EdgeInsets(t1, t2, t3, bottom == null ? _this.bottom : bottom);
    },
    copyWith$1$bottom: function(bottom) {
      return this.copyWith$4$bottom$left$right$top(bottom, null, null, null);
    },
    copyWith$2$bottom$top: function(bottom, $top) {
      return this.copyWith$4$bottom$left$right$top(bottom, null, null, $top);
    },
    copyWith$2$left$right: function(left, right) {
      return this.copyWith$4$bottom$left$right$top(null, left, right, null);
    }
  };
  V.EdgeInsetsDirectional.prototype = {
    get$_edge_insets$_start: function(_) {
      return this.start;
    },
    get$_edge_insets$_top: function(_) {
      return this.top;
    },
    get$_edge_insets$_end: function() {
      return this.end;
    },
    get$_edge_insets$_bottom: function(_) {
      return this.bottom;
    },
    get$_edge_insets$_left: function(_) {
      return 0;
    },
    get$_edge_insets$_right: function(_) {
      return 0;
    },
    add$1: function(_, other) {
      if (other instanceof V.EdgeInsetsDirectional)
        return this.$add(0, other);
      return this.super$EdgeInsetsGeometry$add(0, other);
    },
    $sub: function(_, other) {
      var _this = this;
      return new V.EdgeInsetsDirectional(_this.start - other.start, _this.top - other.top, _this.end - other.end, _this.bottom - other.bottom);
    },
    $add: function(_, other) {
      var _this = this;
      return new V.EdgeInsetsDirectional(_this.start + other.start, _this.top + other.top, _this.end + other.end, _this.bottom + other.bottom);
    },
    $mul: function(_, other) {
      var _this = this;
      return new V.EdgeInsetsDirectional(_this.start * other, _this.top * other, _this.end * other, _this.bottom * other);
    },
    $div: function(_, other) {
      var _this = this;
      return new V.EdgeInsetsDirectional(_this.start / other, _this.top / other, _this.end / other, _this.bottom / other);
    },
    $tdiv: function(_, other) {
      var _this = this;
      return new V.EdgeInsetsDirectional(C.JSNumber_methods.$tdiv(_this.start, other), C.JSNumber_methods.$tdiv(_this.top, other), C.JSNumber_methods.$tdiv(_this.end, other), C.JSNumber_methods.$tdiv(_this.bottom, other));
    },
    resolve$1: function(direction) {
      var _this = this;
      direction.toString;
      switch (direction) {
        case C.TextDirection_0:
          return new V.EdgeInsets(_this.end, _this.top, _this.start, _this.bottom);
        case C.TextDirection_1:
          return new V.EdgeInsets(_this.start, _this.top, _this.end, _this.bottom);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  V._MixedEdgeInsets.prototype = {
    $mul: function(_, other) {
      var _this = this;
      return new V._MixedEdgeInsets(_this._edge_insets$_left * other, _this._edge_insets$_right * other, _this._edge_insets$_start * other, _this._edge_insets$_end * other, _this._edge_insets$_top * other, _this._edge_insets$_bottom * other);
    },
    $div: function(_, other) {
      var _this = this;
      return new V._MixedEdgeInsets(_this._edge_insets$_left / other, _this._edge_insets$_right / other, _this._edge_insets$_start / other, _this._edge_insets$_end / other, _this._edge_insets$_top / other, _this._edge_insets$_bottom / other);
    },
    $tdiv: function(_, other) {
      var _this = this;
      return new V._MixedEdgeInsets(C.JSNumber_methods.$tdiv(_this._edge_insets$_left, other), C.JSNumber_methods.$tdiv(_this._edge_insets$_right, other), C.JSNumber_methods.$tdiv(_this._edge_insets$_start, other), C.JSNumber_methods.$tdiv(_this._edge_insets$_end, other), C.JSNumber_methods.$tdiv(_this._edge_insets$_top, other), C.JSNumber_methods.$tdiv(_this._edge_insets$_bottom, other));
    },
    resolve$1: function(direction) {
      var _this = this;
      direction.toString;
      switch (direction) {
        case C.TextDirection_0:
          return new V.EdgeInsets(_this._edge_insets$_end + _this._edge_insets$_left, _this._edge_insets$_top, _this._edge_insets$_start + _this._edge_insets$_right, _this._edge_insets$_bottom);
        case C.TextDirection_1:
          return new V.EdgeInsets(_this._edge_insets$_start + _this._edge_insets$_left, _this._edge_insets$_top, _this._edge_insets$_end + _this._edge_insets$_right, _this._edge_insets$_bottom);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$_edge_insets$_left: function(receiver) {
      return this._edge_insets$_left;
    },
    get$_edge_insets$_right: function(receiver) {
      return this._edge_insets$_right;
    },
    get$_edge_insets$_start: function(receiver) {
      return this._edge_insets$_start;
    },
    get$_edge_insets$_end: function() {
      return this._edge_insets$_end;
    },
    get$_edge_insets$_top: function(receiver) {
      return this._edge_insets$_top;
    },
    get$_edge_insets$_bottom: function(receiver) {
      return this._edge_insets$_bottom;
    }
  };
  T._ColorsAndStops.prototype = {};
  T._sample_closure.prototype = {
    call$1: function(s) {
      return s <= this.t;
    },
    $signature: 806
  };
  T._interpolateColorsAndStops_closure.prototype = {
    call$1: function($stop) {
      var _this = this,
        t1 = P.Color_lerp(T._sample(_this.aColors, _this.aStops, $stop), T._sample(_this.bColors, _this.bStops, $stop), _this.t);
      t1.toString;
      return t1;
    },
    $signature: 807
  };
  T.Gradient.prototype = {
    _impliedStops$0: function() {
      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;
    }
  };
  T.LinearGradient.prototype = {
    createShader$2$textDirection: function(_, 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 P.Gradient_Gradient$linear(t1, t2, _this.colors, t3, _this.tileMode, null);
    },
    scale$1: function(_, factor) {
      var _this = this,
        t1 = _this.colors,
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Color>");
      return new T.LinearGradient(_this.begin, _this.end, _this.tileMode, P.List_List$of(new H.MappedListIterable(t1, new T.LinearGradient_scale_closure(factor), t2), true, t2._eval$1("ListIterable.E")), _this.stops, null);
    },
    lerpFrom$2: function(a, t) {
      var t1 = T.LinearGradient_lerp(a, this, t);
      return t1;
    },
    lerpTo$2: function(b, t) {
      var t1 = T.LinearGradient_lerp(this, b, t);
      return t1;
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof T.LinearGradient && J.$eq$(other.begin, _this.begin) && J.$eq$(other.end, _this.end) && other.tileMode === _this.tileMode && S.listEquals0(other.colors, _this.colors) && S.listEquals0(other.stops, _this.stops);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.begin, _this.end, _this.tileMode, P.hashList(_this.colors), P.hashList(_this.stops), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var _this = this;
      return "LinearGradient(" + H.S(_this.begin) + ", " + H.S(_this.end) + ", " + H.S(_this.colors) + ", " + H.S(_this.stops) + ", " + _this.tileMode.toString$0(0) + ")";
    },
    get$begin: function() {
      return this.begin;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  T.LinearGradient_scale_closure.prototype = {
    call$1: function(color) {
      var t1 = P.Color_lerp(null, color, this.factor);
      t1.toString;
      return t1;
    },
    $signature: 279
  };
  E.ImageCache.prototype = {
    clear$0: function(_) {
      var _this = this,
        t1 = _this._pendingImages,
        t2 = _this._image_cache$_cache,
        t3 = _this._liveImages;
      P.Timeline_instantSync("ImageCache.clear", P.LinkedHashMap_LinkedHashMap$_literal(["pendingImages", t1.get$length(t1), "keepAliveImages", t2.get$length(t2), "liveImages", t3.get$length(t3), "currentSizeInBytes", _this._currentSizeBytes], type$.String, type$.dynamic));
      for (t3 = t2.get$values(t2), t3 = t3.get$iterator(t3); t3.moveNext$0();)
        t3.get$current(t3).dispose$0(0);
      t2.clear$0(0);
      t1.clear$0(0);
      _this._currentSizeBytes = 0;
    },
    evict$1: function(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.get$_handleRemove();
        if (t1._image_stream$_disposed)
          H.throwExpression(P.StateError$(string$.Stream));
        C.JSArray_methods.remove$1(t1._onLastListenerRemovedCallbacks, t2);
        image.super$_CachedImageBase$dispose(0);
      }
      pendingImage = _this._pendingImages.remove$1(0, key);
      if (pendingImage != null) {
        P.Timeline_instantSync(_s16_, P.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) {
        P.Timeline_instantSync(_s16_, P.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(0);
        return true;
      }
      P.Timeline_instantSync(_s16_, P.LinkedHashMap_LinkedHashMap$_literal(["type", "miss"], type$.String, type$.dynamic));
      return false;
    },
    _touch$3: function(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(0);
    },
    _trackLiveImage$3: function(key, completer, sizeBytes) {
      var t1 = this._liveImages.putIfAbsent$2(0, key, new E.ImageCache__trackLiveImage_closure(this, completer, key));
      if (t1.sizeBytes == null)
        t1.sizeBytes = sizeBytes;
    },
    putIfAbsent$3$onError: function(_, key, loader, onError) {
      var error, stackTrace, t2, timelineTask, t3, t4, t5, t6, result, image, liveImage, exception, listenerTask, streamListener, _this = this, _null = null, t1 = {};
      t1.listenerTask = t1.timelineTask = null;
      t2 = type$.JSArray__AsyncBlock;
      timelineTask = new P.TimelineTask(_null, 0, H._setArrayType([], t2));
      t3 = type$.String;
      t4 = type$.dynamic;
      timelineTask.start$2$arguments(0, "ImageCache.putIfAbsent", P.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, P.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, P.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)
          H.throwExpression(P.StateError$(string$.Stream));
        t5 = new L.ImageStreamCompleterHandle(t1);
        t5.ImageStreamCompleterHandle$_$1(t1);
        _this._touch$3(key, new E._CachedImage(t1, t2, t5), timelineTask);
        timelineTask.finish$1$arguments(0, P.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 = H.unwrapException(exception);
        stackTrace = H.getTraceFromException(exception);
        timelineTask.finish$1$arguments(0, P.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 P.TimelineTask(timelineTask, 0, H._setArrayType([], t2));
      listenerTask.start$1(0, "listener");
      t1.listenerTask = listenerTask;
      t1.listenedOnce = false;
      t1.untrackedPendingImage = null;
      streamListener = new L.ImageStreamListener(new E.ImageCache_putIfAbsent_listener(t1, _this, key), _null, _null);
      t5.$indexSet(0, key, new E._PendingImage(t3, streamListener));
      t1.result.addListener$1(0, streamListener);
      return t1.result;
    },
    putIfAbsent$2: function($receiver, key, loader) {
      return this.putIfAbsent$3$onError($receiver, key, loader, null);
    },
    containsKey$1: function(_, key) {
      return this._pendingImages.$index(0, key) != null || this._image_cache$_cache.$index(0, key) != null;
    },
    _checkCacheSize$1: function(timelineTask) {
      var t1, t2, it, key, image, t3, _this = this,
        _s11_ = "evictedKeys",
        finishArgs = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic),
        checkCacheTask = new P.TimelineTask(timelineTask, 0, H._setArrayType([], type$.JSArray__AsyncBlock));
      checkCacheTask.start$1(0, "checkCacheSize");
      finishArgs.$indexSet(0, _s11_, H._setArrayType([], type$.JSArray_String));
      t1 = _this._image_cache$_cache;
      finishArgs.$indexSet(0, "currentSize", t1.get$length(t1));
      finishArgs.$indexSet(0, "currentSizeBytes", _this._currentSizeBytes);
      while (true) {
        if (!(_this._currentSizeBytes > 104857600 || t1.get$length(t1) > 1000))
          break;
        t2 = t1.get$keys(t1);
        it = t2.get$iterator(t2);
        if (!it.moveNext$0())
          H.throwExpression(H.IterableElementError_noElement());
        key = it.get$current(it);
        image = t1.$index(0, key);
        t2 = _this._currentSizeBytes;
        t3 = image.sizeBytes;
        t3.toString;
        _this._currentSizeBytes = t2 - t3;
        image.dispose$0(0);
        t1.remove$1(0, key);
        J.add$1$ax(finishArgs.$index(0, _s11_), J.toString$0$(key));
      }
      finishArgs.$indexSet(0, "endSize", t1.get$length(t1));
      finishArgs.$indexSet(0, "endSizeBytes", _this._currentSizeBytes);
      checkCacheTask.finish$1$arguments(0, finishArgs);
    }
  };
  E.ImageCache__trackLiveImage_closure.prototype = {
    call$0: function() {
      return E._LiveImage$(this.completer, new E.ImageCache__trackLiveImage__closure(this.$this, this.key));
    },
    $signature: 808
  };
  E.ImageCache__trackLiveImage__closure.prototype = {
    call$0: function() {
      this.$this._liveImages.remove$1(0, this.key);
    },
    $signature: 0
  };
  E.ImageCache_putIfAbsent_listener.prototype = {
    call$2: function(info, syncCall) {
      var t1, sizeBytes, t2, t3, image, pendingImage, t4, t5, t6;
      if (info != null) {
        t1 = info.image;
        sizeBytes = t1.get$height(t1) * t1.get$width(t1) * 4;
        t1.dispose$0(0);
      } else
        sizeBytes = null;
      t1 = this._box_0;
      t2 = t1.result;
      if (t2._image_stream$_disposed)
        H.throwExpression(P.StateError$(string$.Stream));
      t3 = new L.ImageStreamCompleterHandle(t2);
      t3.ImageStreamCompleterHandle$_$1(t2);
      image = new E._CachedImage(t2, sizeBytes, t3);
      t3 = this.$this;
      t2 = this.key;
      t3._trackLiveImage$3(t2, t1.result, sizeBytes);
      if (t1.untrackedPendingImage == null)
        t3._touch$3(t2, image, t1.listenerTask);
      else
        image.dispose$0(0);
      pendingImage = t1.untrackedPendingImage;
      if (pendingImage == null)
        pendingImage = t3._pendingImages.remove$1(0, t2);
      if (pendingImage != null)
        pendingImage.completer.removeListener$1(0, pendingImage.listener);
      t2 = t1.listenedOnce;
      if (!t2) {
        t2 = t1.listenerTask;
        t2.toString;
        t4 = type$.String;
        t5 = type$.dynamic;
        t2.finish$1$arguments(0, P.LinkedHashMap_LinkedHashMap$_literal(["syncCall", syncCall, "sizeInBytes", sizeBytes], t4, t5));
        t2 = t1.timelineTask;
        t2.toString;
        t6 = t3._image_cache$_cache;
        t2.finish$1$arguments(0, P.LinkedHashMap_LinkedHashMap$_literal(["currentSizeBytes", t3._currentSizeBytes, "currentSize", t6.get$length(t6)], t4, t5));
      }
      t1.listenedOnce = true;
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 809
  };
  E._CachedImageBase.prototype = {
    dispose$0: function(_) {
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new E._CachedImageBase_dispose_closure(this));
    }
  };
  E._CachedImageBase_dispose_closure.prototype = {
    call$1: function(timeStamp) {
      var t1 = this.$this,
        t2 = t1.handle;
      if (t2 != null)
        t2.dispose$0(0);
      t1.handle = null;
    },
    $signature: 6
  };
  E._CachedImage.prototype = {};
  E._LiveImage.prototype = {
    _LiveImage$3$sizeBytes: function(completer, handleRemove, sizeBytes) {
      var t1;
      this.___LiveImage__handleRemove = new E._LiveImage_closure(this, handleRemove);
      t1 = this.get$_handleRemove();
      if (completer._image_stream$_disposed)
        H.throwExpression(P.StateError$(string$.Stream));
      completer._onLastListenerRemovedCallbacks.push(t1);
    },
    get$_handleRemove: function() {
      var t1 = this.___LiveImage__handleRemove;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_handleRemove")) : t1;
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this);
    }
  };
  E._LiveImage_closure.prototype = {
    call$0: function() {
      var t1, t2, t3;
      this.handleRemove.call$0();
      t1 = this.$this;
      t2 = t1.completer;
      t3 = t1.get$_handleRemove();
      if (t2._image_stream$_disposed)
        H.throwExpression(P.StateError$(string$.Stream));
      C.JSArray_methods.remove$1(t2._onLastListenerRemovedCallbacks, t3);
      t1.super$_CachedImageBase$dispose(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  E._PendingImage.prototype = {};
  M.ImageConfiguration.prototype = {
    copyWith$1$size: function(size) {
      var _this = this,
        t1 = size == null ? _this.size : size;
      return new M.ImageConfiguration(_this.bundle, _this.devicePixelRatio, _this.locale, _this.textDirection, t1, _this.platform);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof M.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: function(_) {
      var _this = this;
      return P.hashValues(_this.bundle, _this.devicePixelRatio, _this.locale, _this.size, _this.platform, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var hasArguments, t2, _this = this,
        _s19_ = "ImageConfiguration(",
        t1 = _this.bundle;
      if (t1 != null) {
        t1 = _s19_ + ("bundle: " + t1.toString$0(0));
        hasArguments = true;
      } else {
        t1 = _s19_;
        hasArguments = false;
      }
      t2 = _this.devicePixelRatio;
      if (t2 != null) {
        if (hasArguments)
          t1 += ", ";
        t2 = t1 + ("devicePixelRatio: " + C.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: " + Y.describeEnum(t2));
        t1 = t2;
      }
      t1 += ")";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  M.ImageProvider.prototype = {
    resolve$1: function(configuration) {
      var stream = new L.ImageStream();
      this._createErrorHandlerAndKey$3(configuration, new M.ImageProvider_resolve_closure(this, configuration, stream), new M.ImageProvider_resolve_closure0(this, configuration, stream));
      return stream;
    },
    _createErrorHandlerAndKey$3: function(configuration, successCallback, errorCallback) {
      var t2, _null = null, t1 = {};
      t1.obtainedKey = null;
      t1.didError = false;
      t2 = new M.ImageProvider__createErrorHandlerAndKey_handleError(t1, errorCallback);
      $.Zone__current.fork$1$specification(new P._ZoneSpecification(new M.ImageProvider__createErrorHandlerAndKey_closure(t2), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)).runGuarded$1(new M.ImageProvider__createErrorHandlerAndKey_closure0(t1, this, configuration, t2, successCallback));
    },
    resolveStreamForKey$4: function(configuration, stream, key, handleError) {
      var completer;
      if (stream._completer != null) {
        $.PaintingBinding__instance.PaintingBinding__imageCache.putIfAbsent$3$onError(0, key, new M.ImageProvider_resolveStreamForKey_closure(stream), handleError);
        return;
      }
      completer = $.PaintingBinding__instance.PaintingBinding__imageCache.putIfAbsent$3$onError(0, key, new M.ImageProvider_resolveStreamForKey_closure0(this, key), handleError);
      if (completer != null)
        stream.setCompleter$1(completer);
    },
    toString$0: function(_) {
      return "ImageConfiguration()";
    }
  };
  M.ImageProvider_resolve_closure.prototype = {
    call$2: function(key, errorHandler) {
      this.$this.resolveStreamForKey$4(this.configuration, this.stream, key, errorHandler);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(ImageProvider.T,~(Object,StackTrace?))");
    }
  };
  M.ImageProvider_resolve_closure0.prototype = {
    call$3: function(key, exception, stack) {
      return this.$call$body$ImageProvider_resolve_closure(key, exception, stack);
    },
    $call$body$ImageProvider_resolve_closure: function(key, exception, stack) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$call$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait(null, $async$call$3);
            case 2:
              // returning from await.
              t1 = $async$self.stream;
              if (t1._completer == null)
                t1.setCompleter$1(new M._ErrorImageCompleter(H._setArrayType([], type$.JSArray_ImageStreamListener), H._setArrayType([], type$.JSArray_of_void_Function)));
              t1 = t1._completer;
              t1.toString;
              t1.reportError$5$context$exception$informationCollector$silent$stack(U.ErrorDescription$("while resolving an image"), exception, null, true, stack);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$3, $async$completer);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("Future<~>(ImageProvider.T?,Object,StackTrace?)");
    }
  };
  M.ImageProvider__createErrorHandlerAndKey_handleError.prototype = {
    $call$body$ImageProvider__createErrorHandlerAndKey_handleError: function(exception, stack) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1;
      var $async$call$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$2, $async$completer);
    },
    call$2: function(exception, stack) {
      return this.$call$body$ImageProvider__createErrorHandlerAndKey_handleError(exception, stack);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 810
  };
  M.ImageProvider__createErrorHandlerAndKey_closure.prototype = {
    call$5: function(zone, delegate, $parent, error, stackTrace) {
      this.handleError.call$2(error, stackTrace);
    },
    $signature: 333
  };
  M.ImageProvider__createErrorHandlerAndKey_closure0.prototype = {
    call$0: function() {
      var error, stackTrace, exception, t1, _this = this, key = null;
      try {
        key = _this.$this.obtainKey$1(_this.configuration);
      } catch (exception) {
        error = H.unwrapException(exception);
        stackTrace = H.getTraceFromException(exception);
        _this.handleError.call$2(error, stackTrace);
        return;
      }
      t1 = _this.handleError;
      J.then$1$1$x(key, new M.ImageProvider__createErrorHandlerAndKey__closure(_this._box_0, _this.$this, _this.successCallback, t1), type$.void).catchError$1(t1);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  M.ImageProvider__createErrorHandlerAndKey__closure.prototype = {
    call$1: function(key) {
      var error, stackTrace, exception, _this = this;
      _this._box_0.obtainedKey = key;
      try {
        _this.successCallback.call$2(key, _this.handleError);
      } catch (exception) {
        error = H.unwrapException(exception);
        stackTrace = H.getTraceFromException(exception);
        _this.handleError.call$2(error, stackTrace);
      }
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("Null(ImageProvider.T)");
    }
  };
  M.ImageProvider_resolveStreamForKey_closure.prototype = {
    call$0: function() {
      var t1 = this.stream._completer;
      t1.toString;
      return t1;
    },
    $signature: 255
  };
  M.ImageProvider_resolveStreamForKey_closure0.prototype = {
    call$0: function() {
      return this.$this.load$2(0, this.key, $.PaintingBinding__instance.get$instantiateImageCodec());
    },
    $signature: 255
  };
  M.AssetBundleImageKey.prototype = {
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof M.AssetBundleImageKey && other.bundle == _this.bundle && other.name == _this.name && other.scale === _this.scale;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.bundle, this.name, this.scale, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "AssetBundleImageKey(bundle: " + H.S(this.bundle) + ', name: "' + H.S(this.name) + '", scale: ' + H.S(this.scale) + ")";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  M.AssetBundleImageProvider.prototype = {
    load$2: function(_, key, decode) {
      var t1 = this._loadAsync$2(key, decode),
        t2 = key.scale;
      return L.MultiFrameImageStreamCompleter$(t1, key.name, null, t2);
    },
    _loadAsync$2: function(key, decode) {
      return this._loadAsync$body$AssetBundleImageProvider(key, decode);
    },
    _loadAsync$body$AssetBundleImageProvider: function(key, decode) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Codec),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], exception, data, $async$exception;
      var $async$_loadAsync$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              data = null;
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait(key.bundle.load$1(0, key.name), $async$_loadAsync$2);
            case 7:
              // returning from await.
              data = $async$result;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              if (H.unwrapException($async$exception) instanceof U.FlutterError) {
                $.PaintingBinding__instance.PaintingBinding__imageCache.evict$1(key);
                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
              if (data == null) {
                $.PaintingBinding__instance.PaintingBinding__imageCache.evict$1(key);
                throw H.wrapException(P.StateError$("Unable to read data"));
              }
              $async$returnValue = decode.call$1(J.asUint8List$0$x(J.get$buffer$x(data)));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_loadAsync$2, $async$completer);
    }
  };
  M.MemoryImage.prototype = {
    obtainKey$1: function(configuration) {
      return new O.SynchronousFuture(this, type$.SynchronousFuture_MemoryImage);
    },
    load$2: function(_, key, decode) {
      var t1 = decode.call$1(this.bytes),
        t2 = key.scale;
      return L.MultiFrameImageStreamCompleter$(t1, "MemoryImage(" + ("<optimized out>#" + Y.shortHash(key.bytes)) + ")", null, t2);
    },
    $eq: function(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      if (other instanceof M.MemoryImage) {
        t1 = other.bytes;
        t2 = this.bytes;
        t1 = (t1 == null ? t2 == null : t1 === t2) && other.scale === this.scale;
      } else
        t1 = false;
      return t1;
    },
    get$hashCode: function(_) {
      return P.hashValues(J.get$hashCode$(this.bytes), this.scale, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "MemoryImage(" + ("<optimized out>#" + Y.shortHash(this.bytes)) + ", scale: " + this.scale + ")";
    }
  };
  M._ErrorImageCompleter.prototype = {};
  L.AssetImage.prototype = {
    get$keyName: function() {
      return this.assetName;
    },
    obtainKey$1: function(configuration) {
      var t2, t1 = {},
        chosenBundle = configuration.bundle;
      if (chosenBundle == null)
        chosenBundle = $.$get$rootBundle();
      t1.result = t1.completer = null;
      chosenBundle.loadStructuredData$1$2("AssetManifest.json", L.image_resolution_AssetImage__manifestParser$closure(), type$.nullable_Map_of_String_and_List_String).then$1$1(0, new L.AssetImage_obtainKey_closure(t1, this, configuration, chosenBundle), type$.void).catchError$1(new L.AssetImage_obtainKey_closure0(t1));
      t2 = t1.result;
      if (t2 != null)
        return t2;
      t2 = new P._Future($.Zone__current, type$._Future_AssetBundleImageKey);
      t1.completer = new P._AsyncCompleter(t2, type$._AsyncCompleter_AssetBundleImageKey);
      return t2;
    },
    _chooseVariant$3: function(main, config, candidates) {
      var mapping, t2, t3,
        t1 = config.devicePixelRatio;
      if (t1 == null || candidates == null || J.get$isEmpty$asx(candidates))
        return main;
      mapping = P.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: function(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: function(key) {
      var assetUri, directoryPath, match, t1;
      if (key === this.assetName)
        return 1;
      assetUri = P.Uri_parse(key, 0, null);
      directoryPath = J.get$length$asx(assetUri.get$pathSegments()) > 1 ? J.$index$asx(assetUri.get$pathSegments(), J.get$length$asx(assetUri.get$pathSegments()) - 2) : "";
      match = $.$get$AssetImage__extractRatioRegExp().firstMatch$1(directoryPath);
      if (match != null && match._match.length - 1 > 0) {
        t1 = match._match[1];
        t1.toString;
        return P.double_parse(t1);
      }
      return 1;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof L.AssetImage && other.get$keyName() === this.get$keyName() && true;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.get$keyName(), this.bundle, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "AssetImage(bundle: " + H.S(this.bundle) + ', name: "' + this.get$keyName() + '")';
    }
  };
  L.AssetImage_obtainKey_closure.prototype = {
    call$1: function(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 M.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 O.SynchronousFuture(key, type$.SynchronousFuture_AssetBundleImageKey);
    },
    $signature: 812
  };
  L.AssetImage_obtainKey_closure0.prototype = {
    call$2: function(error, stack) {
      this._box_0.completer.completeError$2(error, stack);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  L.ImageInfo.prototype = {
    clone$0: function(_) {
      return new L.ImageInfo(this.image.clone$0(0), this.scale, this.debugLabel);
    },
    toString$0: function(_) {
      var t1 = this.debugLabel;
      t1 = t1 != null ? t1 + " " : "";
      return t1 + this.image.toString$0(0) + " @ " + E.debugFormatDouble(this.scale) + "x";
    },
    get$hashCode: function(_) {
      return P.hashValues(this.image, this.scale, this.debugLabel, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof L.ImageInfo && other.image === _this.image && other.scale === _this.scale && other.debugLabel == _this.debugLabel;
    }
  };
  L.ImageStreamListener.prototype = {
    get$hashCode: function(_) {
      return P.hashValues(this.onImage, this.onChunk, this.onError, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof L.ImageStreamListener && J.$eq$(other.onImage, _this.onImage) && J.$eq$(other.onChunk, _this.onChunk) && J.$eq$(other.onError, _this.onError);
    },
    onImage$2: function(arg0, arg1) {
      return this.onImage.call$2(arg0, arg1);
    }
  };
  L.ImageStream.prototype = {
    setCompleter$1: function(value) {
      var t1;
      this._completer = value;
      t1 = this._image_stream$_listeners;
      if (t1 != null) {
        this._image_stream$_listeners = null;
        C.JSArray_methods.forEach$1(t1, value.get$addListener(value));
      }
    },
    addListener$1: function(_, 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 = H._setArrayType([], type$.JSArray_ImageStreamListener) : t1).push(listener);
    },
    removeListener$1: function(_, 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;
          C.JSArray_methods.removeAt$1(t1, i);
          break;
        }
    }
  };
  L.ImageStreamCompleterHandle.prototype = {
    ImageStreamCompleterHandle$_$1: function(_completer) {
      ++this._completer._keepAliveHandles;
    },
    dispose$0: function(_) {
      var t1 = this._completer;
      --t1._keepAliveHandles;
      t1._maybeDispose$0();
      this._completer = null;
    }
  };
  L.ImageStreamCompleter.prototype = {
    addListener$1: function(_, listener) {
      var exception, stack, newException, newStack, t1, exception0, t2, _this = this;
      if (_this._image_stream$_disposed)
        H.throwExpression(P.StateError$(string$.Stream));
      _this._hadAtLeastOneListener = true;
      _this._image_stream$_listeners.push(listener);
      t1 = _this._currentImage;
      if (t1 != null)
        try {
          t1 = t1.clone$0(0);
          listener.onImage.call$2(t1, true);
        } catch (exception0) {
          exception = H.unwrapException(exception0);
          stack = H.getTraceFromException(exception0);
          _this.reportError$3$context$exception$stack(U.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 = H.unwrapException(exception);
          newStack = H.getTraceFromException(exception);
          if (!J.$eq$(newException, _this._currentError.exception))
            U.FlutterError_reportError(new U.FlutterErrorDetails(newException, newStack, "image resource service", U.ErrorDescription$("by a synchronously-called image error listener"), null, false));
        }
    },
    removeListener$1: function(_, listener) {
      var t1, i, callbacks, t2, _i, _this = this;
      if (_this._image_stream$_disposed)
        H.throwExpression(P.StateError$(string$.Stream));
      for (t1 = _this._image_stream$_listeners, i = 0; i < t1.length; ++i)
        if (J.$eq$(t1[i], listener)) {
          C.JSArray_methods.removeAt$1(t1, i);
          break;
        }
      if (t1.length === 0) {
        t1 = _this._onLastListenerRemovedCallbacks;
        callbacks = H._setArrayType(t1.slice(0), H._arrayInstanceType(t1));
        for (t2 = callbacks.length, _i = 0; _i < callbacks.length; callbacks.length === t2 || (0, H.throwConcurrentModificationError)(callbacks), ++_i)
          callbacks[_i].call$0();
        C.JSArray_methods.set$length(t1, 0);
        _this._maybeDispose$0();
      }
    },
    _maybeDispose$0: function() {
      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(0);
      _this._currentImage = null;
      _this._image_stream$_disposed = true;
    },
    setImage$1: function(image) {
      var listener, exception, stack, t1, localListeners, t2, t3, t4, _i, exception0, _this = this;
      if (_this._image_stream$_disposed)
        H.throwExpression(P.StateError$(string$.Stream));
      t1 = _this._currentImage;
      if (t1 != null)
        t1.image.dispose$0(0);
      _this._currentImage = image;
      t1 = _this._image_stream$_listeners;
      if (t1.length === 0)
        return;
      localListeners = P.List_List$from(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 L.ImageInfo(t2.clone$0(0), t3, t4), false);
        } catch (exception0) {
          exception = H.unwrapException(exception0);
          stack = H.getTraceFromException(exception0);
          _this.reportError$3$context$exception$stack(U.ErrorDescription$("by an image listener"), exception, stack);
        }
      }
    },
    reportError$5$context$exception$informationCollector$silent$stack: function(context, exception, informationCollector, silent, stack) {
      var handled, errorListener, newException, newStack, t1, t2, localErrorListeners, _i, exception0, t3,
        _s22_ = "image resource service";
      this._currentError = new U.FlutterErrorDetails(exception, stack, _s22_, context, informationCollector, silent);
      t1 = this._image_stream$_listeners;
      t2 = type$.WhereTypeIterable_of_void_Function_2_Object_and_nullable_StackTrace;
      localErrorListeners = P.List_List$of(new H.WhereTypeIterable(new H.MappedListIterable(t1, new L.ImageStreamCompleter_reportError_closure(), H._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 = H.unwrapException(exception0);
          newStack = H.getTraceFromException(exception0);
          if (!J.$eq$(newException, exception)) {
            t2 = U.ErrorDescription$("when reporting an error to an image listener");
            t3 = $.$get$FlutterError_onError();
            if (t3 != null)
              t3.call$1(new U.FlutterErrorDetails(newException, newStack, _s22_, t2, null, false));
          }
        }
      }
      if (!handled) {
        t1 = this._currentError;
        t1.toString;
        U.FlutterError_reportError(t1);
      }
    },
    reportError$3$context$exception$stack: function(context, exception, stack) {
      return this.reportError$5$context$exception$informationCollector$silent$stack(context, exception, null, false, stack);
    }
  };
  L.ImageStreamCompleter_reportError_closure.prototype = {
    call$1: function(listener) {
      return listener.onError;
    },
    $signature: 814
  };
  L.MultiFrameImageStreamCompleter.prototype = {
    MultiFrameImageStreamCompleter$5$chunkEvents$codec$debugLabel$informationCollector$scale: function(chunkEvents, codec, debugLabel, informationCollector, scale) {
      this.debugLabel = debugLabel;
      codec.then$1$2$onError(0, this.get$_handleCodecReady(), new L.MultiFrameImageStreamCompleter_closure(this, informationCollector), type$.void);
    },
    get$_shownTimestamp: function() {
      var t1 = this.__MultiFrameImageStreamCompleter__shownTimestamp;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_shownTimestamp")) : t1;
    },
    _handleCodecReady$1: function(codec) {
      this._image_stream$_codec = codec;
      if (this._image_stream$_listeners.length !== 0)
        this._decodeNextFrameAndSchedule$0();
    },
    _handleAppFrame$1: function(timestamp) {
      var t1, t2, t3, completedCycles, _this = this;
      _this._frameCallbackScheduled = false;
      if (_this._image_stream$_listeners.length === 0)
        return;
      t1 = _this._frameDuration;
      if (t1 != null) {
        t1 = _this.get$_shownTimestamp();
        t2 = timestamp._duration;
        t1 = t1._duration;
        t3 = _this._frameDuration;
        t1 = t2 - t1 >= t3._duration;
        t2 = t3;
      } else {
        t2 = t1;
        t1 = true;
      }
      if (t1) {
        t1 = _this._nextFrame;
        _this._emitFrame$1(new L.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(0);
        _this._nextFrame = null;
        completedCycles = C.JSInt_methods.$tdiv(_this._framesEmitted, _this._image_stream$_codec.get$frameCount());
        if (_this._image_stream$_codec.get$repetitionCount() === -1 || completedCycles <= _this._image_stream$_codec.get$repetitionCount())
          _this._decodeNextFrameAndSchedule$0();
        return;
      }
      t2.toString;
      t1 = _this.get$_shownTimestamp();
      _this._image_stream$_timer = P.Timer_Timer(new P.Duration(C.JSNumber_methods.round$0((t2._duration - (timestamp._duration - t1._duration)) * $._timeDilation)), new L.MultiFrameImageStreamCompleter__handleAppFrame_closure(_this));
    },
    _decodeNextFrameAndSchedule$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, exception, stack, exception0, t1, $async$exception0;
      var $async$_decodeNextFrameAndSchedule$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._nextFrame;
              if (t1 != null)
                t1.get$image(t1).dispose$0(0);
              $async$self._nextFrame = null;
              $async$handler = 4;
              $async$goto = 7;
              return P._asyncAwait($async$self._image_stream$_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 = H.unwrapException($async$exception0);
              stack = H.getTraceFromException($async$exception0);
              $async$self.reportError$5$context$exception$informationCollector$silent$stack(U.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._image_stream$_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 L.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(0);
                $async$self._nextFrame = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._scheduleAppFrame$0();
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_decodeNextFrameAndSchedule$0, $async$completer);
    },
    _scheduleAppFrame$0: function() {
      if (this._frameCallbackScheduled)
        return;
      this._frameCallbackScheduled = true;
      $.SchedulerBinding__instance.scheduleFrameCallback$1(this.get$_handleAppFrame());
    },
    _emitFrame$1: function(imageInfo) {
      this.setImage$1(imageInfo);
      ++this._framesEmitted;
    },
    addListener$1: function(_, listener) {
      var t1, _this = this;
      if (_this._image_stream$_listeners.length === 0) {
        t1 = _this._image_stream$_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: function(_, 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;
      }
    }
  };
  L.MultiFrameImageStreamCompleter_closure.prototype = {
    call$2: function(error, stack) {
      this.$this.reportError$5$context$exception$informationCollector$silent$stack(U.ErrorDescription$("resolving an image codec"), error, this.informationCollector, true, stack);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  L.MultiFrameImageStreamCompleter__handleAppFrame_closure.prototype = {
    call$0: function() {
      this.$this._scheduleAppFrame$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  L._ImageStream_Object_Diagnosticable.prototype = {};
  L._ImageStreamCompleter_Object_Diagnosticable.prototype = {};
  G.Accumulator.prototype = {};
  G.InlineSpanSemanticsInformation.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof G.InlineSpanSemanticsInformation && other.text == this.text && other.semanticsLabel == this.semanticsLabel && other.recognizer == this.recognizer && true;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.text, this.semanticsLabel, this.recognizer, false, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "InlineSpanSemanticsInformation{text: " + H.S(this.text) + ", semanticsLabel: " + H.S(this.semanticsLabel) + ", recognizer: " + H.S(this.recognizer) + "}";
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  G.InlineSpan.prototype = {
    getSpanForPosition$1: function(position) {
      var t1 = {};
      t1.result = null;
      this.visitChildren$1(new G.InlineSpan_getSpanForPosition_closure(t1, position, new G.Accumulator()));
      return t1.result;
    },
    toPlainText$2$includePlaceholders$includeSemanticsLabels: function(includePlaceholders, includeSemanticsLabels) {
      var t1,
        buffer = new P.StringBuffer("");
      this.computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, includePlaceholders, includeSemanticsLabels);
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    toPlainText$1$includePlaceholders: function(includePlaceholders) {
      return this.toPlainText$2$includePlaceholders$includeSemanticsLabels(includePlaceholders, true);
    },
    toPlainText$1$includeSemanticsLabels: function(includeSemanticsLabels) {
      return this.toPlainText$2$includePlaceholders$includeSemanticsLabels(true, includeSemanticsLabels);
    },
    toPlainText$0: function() {
      return this.toPlainText$2$includePlaceholders$includeSemanticsLabels(true, true);
    },
    codeUnitAt$1: function(_, index) {
      var t1 = {};
      if (index < 0)
        return null;
      t1.result = null;
      this.visitChildren$1(new G.InlineSpan_codeUnitAt_closure(t1, index, new G.Accumulator()));
      return t1.result;
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof G.InlineSpan && J.$eq$(other.style, this.style);
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.style);
    }
  };
  G.InlineSpan_getSpanForPosition_closure.prototype = {
    call$1: function(span) {
      var result = span.getSpanForPositionVisitor$2(this.position, this.offset);
      this._box_0.result = result;
      return result == null;
    },
    $signature: 112
  };
  G.InlineSpan_codeUnitAt_closure.prototype = {
    call$1: function(span) {
      var result = span.codeUnitAtVisitor$2(this.index, this.offset);
      this._box_0.result = result;
      return result == null;
    },
    $signature: 112
  };
  X.RoundedRectangleBorder.prototype = {
    get$dimensions: function() {
      var t1 = this.side.width;
      return new V.EdgeInsets(t1, t1, t1, t1);
    },
    scale$1: function(_, t) {
      var t1 = this.side.scale$1(0, t);
      return new X.RoundedRectangleBorder(this.borderRadius.$mul(0, t), t1);
    },
    lerpFrom$2: function(a, t) {
      var t1, t2, _this = this;
      if (a instanceof X.RoundedRectangleBorder) {
        t1 = Y.BorderSide_lerp(a.side, _this.side, t);
        t2 = K.BorderRadiusGeometry_lerp(a.borderRadius, _this.borderRadius, t);
        t2.toString;
        return new X.RoundedRectangleBorder(t2, t1);
      }
      if (a instanceof X.CircleBorder)
        return new X._RoundedRectangleToCircleBorder(_this.borderRadius, 1 - t, Y.BorderSide_lerp(a.side, _this.side, t));
      return _this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      var t1, t2, _this = this;
      if (b instanceof X.RoundedRectangleBorder) {
        t1 = Y.BorderSide_lerp(_this.side, b.side, t);
        t2 = K.BorderRadiusGeometry_lerp(_this.borderRadius, b.borderRadius, t);
        t2.toString;
        return new X.RoundedRectangleBorder(t2, t1);
      }
      if (b instanceof X.CircleBorder)
        return new X._RoundedRectangleToCircleBorder(_this.borderRadius, t, Y.BorderSide_lerp(_this.side, b.side, t));
      return _this.super$ShapeBorder$lerpTo(b, t);
    },
    copyWith$1$side: function(side) {
      var t1 = side == null ? this.side : side;
      return new X.RoundedRectangleBorder(this.borderRadius, t1);
    },
    getInnerPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addRRect$1(0, this.borderRadius.resolve$1(textDirection).toRRect$1(rect).inflate$1(-this.side.width));
      return t1;
    },
    getOuterPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path();
      t1.addRRect$1(0, this.borderRadius.resolve$1(textDirection).toRRect$1(rect));
      return t1;
    },
    getOuterPath$1: function(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    paint$3$textDirection: function(canvas, rect, textDirection) {
      var width, t2, outer, inner, paint,
        t1 = this.side;
      switch (t1.style) {
        case C.BorderStyle_0:
          break;
        case C.BorderStyle_1:
          width = t1.width;
          t2 = this.borderRadius;
          if (width === 0)
            canvas.drawRRect$2(0, t2.resolve$1(textDirection).toRRect$1(rect), t1.toPaint$0());
          else {
            outer = t2.resolve$1(textDirection).toRRect$1(rect);
            inner = outer.inflate$1(-width);
            t2 = H._detectRenderer();
            paint = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
            paint.set$color(0, t1.color);
            canvas.drawDRRect$3(0, outer, inner, paint);
          }
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    paint$2: function(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof X.RoundedRectangleBorder && J.$eq$(other.side, this.side) && J.$eq$(other.borderRadius, this.borderRadius);
    },
    get$hashCode: function(_) {
      return P.hashValues(this.side, this.borderRadius, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "RoundedRectangleBorder(" + H.S(this.side) + ", " + H.S(this.borderRadius) + ")";
    }
  };
  X._RoundedRectangleToCircleBorder.prototype = {
    get$dimensions: function() {
      var t1 = this.side.width;
      return new V.EdgeInsets(t1, t1, t1, t1);
    },
    scale$1: function(_, t) {
      var t1 = this.side.scale$1(0, t);
      return new X._RoundedRectangleToCircleBorder(this.borderRadius.$mul(0, t), t, t1);
    },
    lerpFrom$2: function(a, t) {
      var t1, t2, t3, _this = this;
      if (a instanceof X.RoundedRectangleBorder) {
        t1 = Y.BorderSide_lerp(a.side, _this.side, t);
        t2 = K.BorderRadiusGeometry_lerp(a.borderRadius, _this.borderRadius, t);
        t2.toString;
        return new X._RoundedRectangleToCircleBorder(t2, _this.circleness * t, t1);
      }
      if (a instanceof X.CircleBorder) {
        t1 = _this.circleness;
        return new X._RoundedRectangleToCircleBorder(_this.borderRadius, t1 + (1 - t1) * (1 - t), Y.BorderSide_lerp(a.side, _this.side, t));
      }
      if (a instanceof X._RoundedRectangleToCircleBorder) {
        t1 = Y.BorderSide_lerp(a.side, _this.side, t);
        t2 = K.BorderRadiusGeometry_lerp(a.borderRadius, _this.borderRadius, t);
        t2.toString;
        t3 = P.lerpDouble(a.circleness, _this.circleness, t);
        t3.toString;
        return new X._RoundedRectangleToCircleBorder(t2, t3, t1);
      }
      return _this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      var t1, t2, t3, _this = this;
      if (b instanceof X.RoundedRectangleBorder) {
        t1 = Y.BorderSide_lerp(_this.side, b.side, t);
        t2 = K.BorderRadiusGeometry_lerp(_this.borderRadius, b.borderRadius, t);
        t2.toString;
        return new X._RoundedRectangleToCircleBorder(t2, _this.circleness * (1 - t), t1);
      }
      if (b instanceof X.CircleBorder) {
        t1 = _this.circleness;
        return new X._RoundedRectangleToCircleBorder(_this.borderRadius, t1 + (1 - t1) * t, Y.BorderSide_lerp(_this.side, b.side, t));
      }
      if (b instanceof X._RoundedRectangleToCircleBorder) {
        t1 = Y.BorderSide_lerp(_this.side, b.side, t);
        t2 = K.BorderRadiusGeometry_lerp(_this.borderRadius, b.borderRadius, t);
        t2.toString;
        t3 = P.lerpDouble(_this.circleness, b.circleness, t);
        t3.toString;
        return new X._RoundedRectangleToCircleBorder(t2, t3, t1);
      }
      return _this.super$ShapeBorder$lerpTo(b, t);
    },
    _adjustRect$1: function(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 P.Rect(t3, t6 + delta, t2, t5 - delta);
      } else {
        delta = t1 * (t4 - t7) / 2;
        return new P.Rect(t3 + delta, t6, t2 - delta, t5);
      }
    },
    _adjustBorderRadius$2: function(rect, textDirection) {
      var resolvedRadius = this.borderRadius.resolve$1(textDirection),
        t1 = this.circleness;
      if (t1 === 0)
        return resolvedRadius;
      return K.BorderRadius_lerp(resolvedRadius, K.BorderRadius$circular(rect.get$shortestSide() / 2), t1);
    },
    getInnerPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path(),
        t2 = this._adjustBorderRadius$2(rect, textDirection);
      t2.toString;
      t1.addRRect$1(0, t2.toRRect$1(this._adjustRect$1(rect)).inflate$1(-this.side.width));
      return t1;
    },
    getOuterPath$2$textDirection: function(rect, textDirection) {
      var t1 = P.Path_Path(),
        t2 = this._adjustBorderRadius$2(rect, textDirection);
      t2.toString;
      t1.addRRect$1(0, t2.toRRect$1(this._adjustRect$1(rect)));
      return t1;
    },
    getOuterPath$1: function(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    copyWith$1$side: function(side) {
      var t1 = side == null ? this.side : side;
      return new X._RoundedRectangleToCircleBorder(this.borderRadius, this.circleness, t1);
    },
    paint$3$textDirection: function(canvas, rect, textDirection) {
      var width, t2, outer, inner, paint, _this = this,
        t1 = _this.side;
      switch (t1.style) {
        case C.BorderStyle_0:
          break;
        case C.BorderStyle_1:
          width = t1.width;
          if (width === 0) {
            t2 = _this._adjustBorderRadius$2(rect, textDirection);
            t2.toString;
            canvas.drawRRect$2(0, t2.toRRect$1(_this._adjustRect$1(rect)), t1.toPaint$0());
          } else {
            t2 = _this._adjustBorderRadius$2(rect, textDirection);
            t2.toString;
            outer = t2.toRRect$1(_this._adjustRect$1(rect));
            inner = outer.inflate$1(-width);
            t2 = H._detectRenderer();
            paint = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
            paint.set$color(0, t1.color);
            canvas.drawDRRect$3(0, outer, inner, paint);
          }
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    paint$2: function(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof X._RoundedRectangleToCircleBorder && J.$eq$(other.side, _this.side) && J.$eq$(other.borderRadius, _this.borderRadius) && other.circleness == _this.circleness;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.side, this.borderRadius, this.circleness, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "RoundedRectangleBorder(" + H.S(this.side) + ", " + H.S(this.borderRadius) + ", " + C.JSNumber_methods.toStringAsFixed$1(this.circleness * 100, 1) + "% of the way to being a CircleBorder)";
    }
  };
  D.ShaderWarmUp.prototype = {
    execute$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, picture, recorder;
      var $async$execute$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              recorder = P.PictureRecorder_PictureRecorder();
              $async$goto = 2;
              return P._asyncAwait($async$self.warmUpOnCanvas$1(P.Canvas_Canvas(recorder, null)), $async$execute$0);
            case 2:
              // returning from await.
              picture = recorder.endRecording$0();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$execute$0, $async$completer);
    }
  };
  D.DefaultShaderWarmUp.prototype = {
    warmUpOnCanvas$1: function(canvas) {
      return this.warmUpOnCanvas$body$DefaultShaderWarmUp(canvas);
    },
    warmUpOnCanvas$body$DefaultShaderWarmUp: function(canvas) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        circlePath, path, convexPath, paths, t1, t2, t3, t4, paints, i, _i, paint, paragraphBuilder, paragraph, fraction, rrectPath;
      var $async$warmUpOnCanvas$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              rrectPath = P.Path_Path();
              rrectPath.addRRect$1(0, C.RRect_GZS);
              circlePath = P.Path_Path();
              circlePath.addOval$1(0, P.Rect$fromCircle(C.Offset_40_40, 20));
              path = P.Path_Path();
              path.moveTo$2(0, 20, 60);
              path.quadraticBezierTo$4(60, 20, 60, 60);
              path.close$0(0);
              path.moveTo$2(0, 60, 20);
              path.quadraticBezierTo$4(60, 60, 20, 60);
              convexPath = P.Path_Path();
              convexPath.moveTo$2(0, 20, 30);
              convexPath.lineTo$2(0, 40, 20);
              convexPath.lineTo$2(0, 60, 30);
              convexPath.lineTo$2(0, 60, 60);
              convexPath.lineTo$2(0, 20, 60);
              convexPath.close$0(0);
              paths = [rrectPath, circlePath, path, convexPath];
              t1 = H._detectRenderer();
              t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
              t1.set$isAntiAlias(true);
              t1.set$style(0, C.PaintingStyle_0);
              t2 = H._detectRenderer();
              t2 = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
              t2.set$isAntiAlias(false);
              t2.set$style(0, C.PaintingStyle_0);
              t3 = H._detectRenderer();
              t3 = t3 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
              t3.set$isAntiAlias(true);
              t3.set$style(0, C.PaintingStyle_1);
              t3.set$strokeWidth(10);
              t4 = H._detectRenderer();
              t4 = t4 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
              t4.set$isAntiAlias(true);
              t4.set$style(0, C.PaintingStyle_1);
              t4.set$strokeWidth(0.1);
              paints = [t1, t2, t3, t4];
              for (i = 0; i < 4; ++i) {
                canvas.save$0(0);
                for (_i = 0; _i < 4; ++_i) {
                  paint = paints[_i];
                  canvas.drawPath$2(0, paths[i], paint);
                  canvas.translate$2(0, 0, 0);
                }
                canvas.restore$0(0);
                canvas.translate$2(0, 0, 0);
              }
              canvas.save$0(0);
              canvas.drawShadow$4(0, rrectPath, C.Color_4278190080, 10, true);
              canvas.translate$2(0, 0, 0);
              canvas.drawShadow$4(0, rrectPath, C.Color_4278190080, 10, false);
              canvas.restore$0(0);
              canvas.translate$2(0, 0, 0);
              paragraphBuilder = P.ParagraphBuilder_ParagraphBuilder(P.ParagraphStyle_ParagraphStyle(null, null, null, null, null, null, null, null, null, null, C.TextDirection_1, null));
              paragraphBuilder.pushStyle$1(0, P.TextStyle_TextStyle(null, C.Color_4278190080, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null));
              paragraphBuilder.addText$1(0, "_");
              paragraph = paragraphBuilder.build$0(0);
              paragraph.layout$1(0, C.ParagraphConstraints_60);
              canvas.drawParagraph$2(0, paragraph, C.Offset_20_20);
              for (t1 = [0, 0.5], _i = 0; _i < 2; ++_i) {
                fraction = t1[_i];
                canvas.save$0(0);
                canvas.translate$2(0, fraction, fraction);
                canvas.clipRRect$1(0, new P.RRect(8, 8, 328, 248, 16, 16, 16, 16, 16, 16, 16, 16, true));
                t2 = H._detectRenderer();
                canvas.drawRect$2(0, C.Rect_10_10_320_240, t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData()));
                canvas.restore$0(0);
                canvas.translate$2(0, 0, 0);
              }
              canvas.translate$2(0, 0, 0);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$warmUpOnCanvas$1, $async$completer);
    }
  };
  V.ShapeDecoration.prototype = {
    getClipPath$2: function(rect, textDirection) {
      return this.shape.getOuterPath$2$textDirection(rect, textDirection);
    },
    get$padding: function(_) {
      return this.shape.get$dimensions();
    },
    get$isComplex: function() {
      return this.shadows != null;
    },
    lerpFrom$2: function(a, t) {
      if (a instanceof S.BoxDecoration)
        return V.ShapeDecoration_lerp(V.ShapeDecoration_ShapeDecoration$fromBoxDecoration(a), this, t);
      else if (a == null || a instanceof V.ShapeDecoration)
        return V.ShapeDecoration_lerp(type$.nullable_ShapeDecoration._as(a), this, t);
      return this.super$Decoration$lerpFrom(a, t);
    },
    lerpTo$2: function(b, t) {
      if (b instanceof S.BoxDecoration)
        return V.ShapeDecoration_lerp(this, V.ShapeDecoration_ShapeDecoration$fromBoxDecoration(b), t);
      else if (b == null || b instanceof V.ShapeDecoration)
        return V.ShapeDecoration_lerp(this, type$.nullable_ShapeDecoration._as(b), t);
      return this.super$Decoration$lerpTo(b, t);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof V.ShapeDecoration && J.$eq$(other.color, _this.color) && J.$eq$(other.gradient, _this.gradient) && J.$eq$(other.image, _this.image) && S.listEquals0(other.shadows, _this.shadows) && J.$eq$(other.shape, _this.shape);
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.color, _this.gradient, _this.image, _this.shape, P.hashList(_this.shadows), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    hitTest$3$textDirection: function(size, position, textDirection) {
      return this.shape.getOuterPath$2$textDirection(new P.Rect(0, 0, 0 + size._dx, 0 + size._dy), textDirection).contains$1(0, position);
    },
    createBoxPainter$1: function(onChanged) {
      return new V._ShapeDecorationPainter(this, onChanged);
    }
  };
  V._ShapeDecorationPainter.prototype = {
    _precache$2: function(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 = H._detectRenderer();
        t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.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 = P.List_List$of(new H.MappedListIterable(t2, new V._ShapeDecorationPainter__precache_closure(), H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Paint>")), true, type$.Paint);
        }
        _this.___ShapeDecorationPainter__shadowPaths = P.List_List$of(new H.MappedListIterable(t2, new V._ShapeDecorationPainter__precache_closure0(_this, rect, textDirection), H._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: function(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;
          t1 = J.$index$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI("_shadowPaths")) : t1, index);
          t2 = _this.___ShapeDecorationPainter__shadowPaints;
          canvas.drawPath$2(0, t1, J.$index$asx(t2 === $ ? H.throwExpression(H.LateError$fieldNI("_shadowPaints")) : t2, index));
          ++index;
        }
      }
    },
    _paintImage$2: function(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 X.DecorationImagePainter(t1, t2);
        t1 = t2;
      } else
        t1 = t2;
      t2 = _this._lastRect;
      t2.toString;
      t1.paint$4(canvas, t2, _this._innerPath, configuration);
    },
    dispose$0: function(_) {
      var t1 = this._shape_decoration$_imagePainter;
      if (t1 != null)
        t1.dispose$0(0);
      this.super$BoxPainter$dispose(0);
    },
    paint$3: function(canvas, offset, configuration) {
      var _this = this,
        t1 = configuration.size,
        t2 = offset._dx,
        t3 = offset._dy,
        rect = new P.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;
        canvas.drawPath$2(0, t2 === $ ? H.throwExpression(H.LateError$fieldNI("_outerPath")) : t2, t1);
      }
      _this._paintImage$2(canvas, configuration);
      _this._shape_decoration$_decoration.shape.paint$3$textDirection(canvas, rect, textDirection);
    }
  };
  V._ShapeDecorationPainter__precache_closure.prototype = {
    call$1: function(shadow) {
      return shadow.toPaint$0();
    },
    $signature: 817
  };
  V._ShapeDecorationPainter__precache_closure0.prototype = {
    call$1: function(shadow) {
      return this.$this._shape_decoration$_decoration.shape.getOuterPath$2$textDirection(this.rect.shift$1(shadow.offset).inflate$1(shadow.spreadRadius), this.textDirection);
    },
    $signature: 818
  };
  M.StrutStyle.prototype = {
    get$fontFamilyFallback: function() {
      return this._strut_style$_fontFamilyFallback;
    },
    inheritFromTextStyle$1: function(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 M.StrutStyle(t1, t2, t3, t4, t5, t6, _this.leading, _this.forceStrutHeight, t7);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof M.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: function(_) {
      var _this = this;
      return P.hashValues(_this.fontFamily, _this.fontSize, _this.fontWeight, _this.fontStyle, _this.height, _this.leading, _this.forceStrutHeight, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toStringShort$0: function() {
      return "StrutStyle";
    }
  };
  M._StrutStyle_Object_Diagnosticable.prototype = {};
  U.TextOverflow.prototype = {
    toString$0: function(_) {
      return this._text_painter$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  U.PlaceholderDimensions.prototype = {
    toString$0: function(_) {
      return "PlaceholderDimensions(" + H.S(this.size) + ", " + H.S(this.baseline) + ")";
    }
  };
  U.TextWidthBasis.prototype = {
    toString$0: function(_) {
      return this._text_painter$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  U._CaretMetrics.prototype = {};
  U.TextPainter.prototype = {
    markNeedsLayout$0: function() {
      var _this = this;
      _this._text_painter$_paragraph = null;
      _this._text_painter$_needsLayout = true;
      _this._previousCaretPrototype = _this._previousCaretPosition = null;
    },
    get$text: function(_) {
      return this._text_painter$_text;
    },
    set$text: function(_, value) {
      var t1, _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;
      _this._text_painter$_text = value;
      _this.markNeedsLayout$0();
    },
    set$textAlign: function(_, value) {
      if (this._text_painter$_textAlign === value)
        return;
      this._text_painter$_textAlign = value;
      this.markNeedsLayout$0();
    },
    set$textDirection: function(_, value) {
      var _this = this;
      if (_this._text_painter$_textDirection === value)
        return;
      _this._text_painter$_textDirection = value;
      _this.markNeedsLayout$0();
      _this._layoutTemplate = null;
    },
    set$textScaleFactor: function(value) {
      var _this = this;
      if (_this._textScaleFactor === value)
        return;
      _this._textScaleFactor = value;
      _this.markNeedsLayout$0();
      _this._layoutTemplate = null;
    },
    set$ellipsis: function(_, value) {
      if (this._text_painter$_ellipsis == value)
        return;
      this._text_painter$_ellipsis = value;
      this.markNeedsLayout$0();
    },
    set$locale: function(_, value) {
      if (J.$eq$(this._text_painter$_locale, value))
        return;
      this._text_painter$_locale = value;
      this.markNeedsLayout$0();
    },
    set$maxLines: function(_, value) {
      if (this._text_painter$_maxLines == value)
        return;
      this._text_painter$_maxLines = value;
      this.markNeedsLayout$0();
    },
    set$strutStyle: function(_, value) {
      if (J.$eq$(this._text_painter$_strutStyle, value))
        return;
      this._text_painter$_strutStyle = value;
      this.markNeedsLayout$0();
    },
    set$textWidthBasis: function(value) {
      if (this._textWidthBasis === value)
        return;
      this._textWidthBasis = value;
      this.markNeedsLayout$0();
    },
    setPlaceholderDimensions$1: function(value) {
      if (value == null || value.length === 0 || S.listEquals0(value, this._placeholderDimensions))
        return;
      this._placeholderDimensions = value;
      this.markNeedsLayout$0();
    },
    _createParagraphStyle$1: function(defaultTextDirection) {
      var t2, t3, t4, t5, t6, t7, t8, 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._text_painter$_textAlign;
        t3 = _this._text_painter$_textDirection;
        if (t3 == null)
          t3 = defaultTextDirection;
        t4 = _this._textScaleFactor;
        t5 = _this._text_painter$_maxLines;
        t6 = _this._text_painter$_ellipsis;
        t7 = _this._text_painter$_locale;
        t8 = _this._text_painter$_strutStyle;
        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 = P.StrutStyle_StrutStyle(t13, t14, t15, t8.fontStyle, t18, t8.forceStrutHeight, t16, t17);
          t8 = t17;
        }
        t3 = P.ParagraphStyle_ParagraphStyle(t6, t11, t12 * t4, t10, t9, t1, t7, t5, t8, t2, t3, _null);
        t1 = t3;
      }
      if (t1 == null) {
        t1 = _this._text_painter$_textAlign;
        t2 = _this._text_painter$_textDirection;
        if (t2 == null)
          t2 = defaultTextDirection;
        t3 = _this._textScaleFactor;
        t4 = _this._text_painter$_maxLines;
        t5 = _this._text_painter$_textHeightBehavior;
        t5 = P.ParagraphStyle_ParagraphStyle(_this._text_painter$_ellipsis, _null, 14 * t3, _null, _null, _null, _this._text_painter$_locale, t4, _null, t1, t2, t5);
        t1 = t5;
      }
      return t1;
    },
    _createParagraphStyle$0: function() {
      return this._createParagraphStyle$1(null);
    },
    get$preferredLineHeight: function() {
      var builder, _this = this,
        t1 = _this._layoutTemplate;
      if (t1 == null) {
        builder = P.ParagraphBuilder_ParagraphBuilder(_this._createParagraphStyle$1(C.TextDirection_0));
        t1 = _this._text_painter$_text;
        if ((t1 == null ? null : t1.style) != null)
          builder.pushStyle$1(0, t1.style.getTextStyle$1$textScaleFactor(_this._textScaleFactor));
        builder.addText$1(0, " ");
        t1 = builder.build$0(0);
        t1.layout$1(0, C.ParagraphConstraints_C5f);
        _this._layoutTemplate = t1;
      }
      return t1.get$height(t1);
    },
    get$width: function(_) {
      var t1 = this._textWidthBasis,
        t2 = this._text_painter$_paragraph;
      t1 = t1 === C.TextWidthBasis_1 ? t2.get$longestLine() : t2.get$width(t2);
      t1.toString;
      return Math.ceil(t1);
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      var t1;
      switch (baseline) {
        case C.TextBaseline_0:
          t1 = this._text_painter$_paragraph;
          return t1.get$alphabeticBaseline(t1);
        case C.TextBaseline_1:
          t1 = this._text_painter$_paragraph;
          return t1.get$ideographicBaseline(t1);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    layout$2$maxWidth$minWidth: function(_, maxWidth, minWidth) {
      var t1, builder, t2, newWidth, _this = this;
      if (!_this._text_painter$_needsLayout && minWidth == _this._lastMinWidth && maxWidth == _this._lastMaxWidth)
        return;
      _this._text_painter$_needsLayout = false;
      t1 = _this._text_painter$_paragraph;
      if (t1 == null) {
        builder = P.ParagraphBuilder_ParagraphBuilder(_this._createParagraphStyle$0());
        t1 = _this._text_painter$_text;
        t2 = _this._textScaleFactor;
        t1.build$3$dimensions$textScaleFactor(0, builder, _this._placeholderDimensions, t2);
        _this._inlinePlaceholderScales = builder.get$placeholderScales();
        t2 = _this._text_painter$_paragraph = builder.build$0(0);
        t1 = t2;
      }
      _this._lastMinWidth = minWidth;
      _this._lastMaxWidth = maxWidth;
      _this._previousCaretPrototype = _this._previousCaretPosition = null;
      t1.layout$1(0, new P.ParagraphConstraints(maxWidth));
      if (minWidth != maxWidth) {
        switch (_this._textWidthBasis) {
          case C.TextWidthBasis_1:
            t1 = _this._text_painter$_paragraph.get$longestLine();
            t1.toString;
            newWidth = Math.ceil(t1);
            break;
          case C.TextWidthBasis_0:
            t1 = _this._text_painter$_paragraph.get$maxIntrinsicWidth();
            t1.toString;
            newWidth = Math.ceil(t1);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
        newWidth = C.JSNumber_methods.clamp$2(newWidth, minWidth, maxWidth);
        t1 = _this._text_painter$_paragraph;
        t1 = t1.get$width(t1);
        t1.toString;
        if (newWidth !== Math.ceil(t1))
          _this._text_painter$_paragraph.layout$1(0, new P.ParagraphConstraints(newWidth));
      }
      _this._inlinePlaceholderBoxes = _this._text_painter$_paragraph.getBoxesForPlaceholders$0();
    },
    layout$0: function($receiver) {
      return this.layout$2$maxWidth$minWidth($receiver, 1 / 0, 0);
    },
    layout$1$maxWidth: function($receiver, maxWidth) {
      return this.layout$2$maxWidth$minWidth($receiver, maxWidth, 0);
    },
    getOffsetAfter$1: function(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: function(offset) {
      var t2, prevCodeUnit,
        t1 = this._text_painter$_text;
      t1.toString;
      t2 = offset - 1;
      prevCodeUnit = t1.codeUnitAt$1(0, t2);
      if (prevCodeUnit == null)
        return null;
      return (prevCodeUnit & 63488) === 55296 ? offset - 2 : t2;
    },
    _getRectFromUpstream$2: function(offset, caretPrototype) {
      var prevCodeUnit, needsSearch, graphemeClusterLength, boxes, t2, prevRuneOffset, box, caretEnd, dx, _this = this,
        flattenedText = _this._text_painter$_text.toPlainText$1$includePlaceholders(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 = H._setArrayType([], type$.JSArray_TextBox);
      for (t1 = -flattenedText.length, t2 = !needsSearch; boxes.length === 0;) {
        prevRuneOffset = offset - graphemeClusterLength;
        boxes = _this._text_painter$_paragraph.getBoxesForRange$3$boxHeightStyle(prevRuneOffset, offset, C.BoxHeightStyle_5);
        if (boxes.length === 0) {
          if (t2)
            break;
          if (prevRuneOffset < t1)
            break;
          graphemeClusterLength *= 2;
          continue;
        }
        box = C.JSArray_methods.get$first(boxes);
        if (prevCodeUnit === 10) {
          t1 = box.bottom;
          return new P.Rect(_this.get$_emptyOffset()._dx, t1, _this.get$_emptyOffset()._dx, t1 + t1 - box.top);
        }
        t1 = box.direction;
        caretEnd = t1 === C.TextDirection_1 ? box.right : box.left;
        dx = t1 === C.TextDirection_0 ? caretEnd - (caretPrototype.right - caretPrototype.left) : caretEnd;
        t1 = _this._text_painter$_paragraph;
        t1 = t1.get$width(t1);
        t1 = Math.min(H.checkNum(dx), H.checkNum(t1));
        t2 = _this._text_painter$_paragraph;
        t2 = t2.get$width(t2);
        return new P.Rect(t1, box.top, Math.min(H.checkNum(dx), H.checkNum(t2)), box.bottom);
      }
      return null;
    },
    _getRectFromDownstream$2: function(offset, caretPrototype) {
      var t2, nextCodeUnit, needsSearch, graphemeClusterLength, boxes, nextRuneOffset, box, caretStart, dx, _this = this,
        flattenedText = _this._text_painter$_text.toPlainText$1$includePlaceholders(false),
        t1 = _this._text_painter$_text;
      t1.toString;
      t2 = flattenedText.length;
      nextCodeUnit = t1.codeUnitAt$1(0, Math.min(H.checkNum(offset), t2 - 1));
      if (nextCodeUnit == null)
        return null;
      needsSearch = (nextCodeUnit & 63488) === 55296 || nextCodeUnit === 8205 || nextCodeUnit === 8207 || nextCodeUnit === 8206;
      graphemeClusterLength = needsSearch ? 2 : 1;
      boxes = H._setArrayType([], type$.JSArray_TextBox);
      for (t1 = t2 << 1 >>> 0, t2 = !needsSearch; boxes.length === 0;) {
        nextRuneOffset = offset + graphemeClusterLength;
        boxes = _this._text_painter$_paragraph.getBoxesForRange$3$boxHeightStyle(offset, nextRuneOffset, C.BoxHeightStyle_5);
        if (boxes.length === 0) {
          if (t2)
            break;
          if (nextRuneOffset >= t1)
            break;
          graphemeClusterLength *= 2;
          continue;
        }
        box = C.JSArray_methods.get$last(boxes);
        t1 = box.direction;
        caretStart = t1 === C.TextDirection_1 ? box.left : box.right;
        dx = t1 === C.TextDirection_0 ? caretStart - (caretPrototype.right - caretPrototype.left) : caretStart;
        t1 = _this._text_painter$_paragraph;
        t1 = t1.get$width(t1);
        t1 = Math.min(H.checkNum(dx), H.checkNum(t1));
        t2 = _this._text_painter$_paragraph;
        t2 = t2.get$width(t2);
        return new P.Rect(t1, box.top, Math.min(H.checkNum(dx), H.checkNum(t2)), box.bottom);
      }
      return null;
    },
    get$_emptyOffset: function() {
      var t1, _this = this,
        _s80_ = string$.x60null_c;
      switch (_this._text_painter$_textAlign) {
        case C.TextAlign_0:
          return C.Offset_0_0;
        case C.TextAlign_1:
          return new P.Offset(_this.get$width(_this), 0);
        case C.TextAlign_2:
          return new P.Offset(_this.get$width(_this) / 2, 0);
        case C.TextAlign_3:
        case C.TextAlign_4:
          t1 = _this._text_painter$_textDirection;
          t1.toString;
          switch (t1) {
            case C.TextDirection_0:
              return new P.Offset(_this.get$width(_this), 0);
            case C.TextDirection_1:
              return C.Offset_0_0;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        case C.TextAlign_5:
          t1 = _this._text_painter$_textDirection;
          t1.toString;
          switch (t1) {
            case C.TextDirection_0:
              return C.Offset_0_0;
            case C.TextDirection_1:
              return new P.Offset(_this.get$width(_this), 0);
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
    },
    get$_caretMetrics: function() {
      var t1 = this.__TextPainter__caretMetrics;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_caretMetrics")) : t1;
    },
    _computeCaretMetrics$2: function(position, caretPrototype) {
      var offset, rect, t1, t2, _this = this;
      if (J.$eq$(position, _this._previousCaretPosition) && J.$eq$(caretPrototype, _this._previousCaretPrototype))
        return;
      offset = position.offset;
      switch (position.affinity) {
        case C.TextAffinity_0:
          rect = _this._getRectFromUpstream$2(offset, caretPrototype);
          if (rect == null)
            rect = _this._getRectFromDownstream$2(offset, caretPrototype);
          break;
        case C.TextAffinity_1:
          rect = _this._getRectFromDownstream$2(offset, caretPrototype);
          if (rect == null)
            rect = _this._getRectFromUpstream$2(offset, caretPrototype);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = rect != null;
      t2 = t1 ? new P.Offset(rect.left, rect.top) : _this.get$_emptyOffset();
      _this.__TextPainter__caretMetrics = new U._CaretMetrics(t2, t1 ? rect.bottom - rect.top : null);
      _this._previousCaretPosition = position;
      _this._previousCaretPrototype = caretPrototype;
    },
    getBoxesForSelection$3$boxHeightStyle$boxWidthStyle: function(selection, boxHeightStyle, boxWidthStyle) {
      return this._text_painter$_paragraph.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(selection.start, selection.end, boxHeightStyle, boxWidthStyle);
    },
    getBoxesForSelection$1: function(selection) {
      return this.getBoxesForSelection$3$boxHeightStyle$boxWidthStyle(selection, C.BoxHeightStyle_0, C.BoxWidthStyle_0);
    },
    text$0: function($receiver) {
      return this.get$text(this).call$0();
    }
  };
  Q.TextSpan.prototype = {
    get$cursor: function(_) {
      return this.mouseCursor;
    },
    get$validForMouseTracker: function() {
      return true;
    },
    handleEvent$2: function($event, entry) {
      var t1;
      if (type$.PointerDownEvent._is($event)) {
        t1 = this.recognizer;
        if (t1 != null)
          t1.addPointer$1($event);
      }
    },
    build$3$dimensions$textScaleFactor: function(_, builder, dimensions, textScaleFactor) {
      var t1 = this.style,
        hasStyle = t1 != null;
      if (hasStyle)
        builder.pushStyle$1(0, t1.getTextStyle$1$textScaleFactor(textScaleFactor));
      t1 = this.text;
      if (t1 != null)
        builder.addText$1(0, t1);
      t1 = this.children;
      if (t1 != null)
        for (t1 = J.get$iterator$ax(t1); t1.moveNext$0();)
          t1.get$current(t1).build$3$dimensions$textScaleFactor(0, builder, dimensions, textScaleFactor);
      if (hasStyle)
        builder.pop$0(0);
    },
    visitChildren$1: function(visitor) {
      var t1;
      if (this.text != null)
        if (!visitor.call$1(this))
          return false;
      t1 = this.children;
      if (t1 != null)
        for (t1 = J.get$iterator$ax(t1); t1.moveNext$0();)
          if (!t1.get$current(t1).visitChildren$1(visitor))
            return false;
      return true;
    },
    getSpanForPositionVisitor$2: function(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 === C.TextAffinity_1))
        if (!(t2 < targetOffset && targetOffset < endOffset))
          t1 = endOffset === targetOffset && affinity === C.TextAffinity_0;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        return this;
      offset._inline_span$_value = endOffset;
      return null;
    },
    computeToPlainText$3$includePlaceholders$includeSemanticsLabels: function(buffer, includePlaceholders, includeSemanticsLabels) {
      var t1 = this.text;
      if (t1 != null)
        buffer._contents += t1;
      t1 = this.children;
      if (t1 != null)
        for (t1 = J.get$iterator$ax(t1); t1.moveNext$0();)
          t1.get$current(t1).computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, includePlaceholders, includeSemanticsLabels);
    },
    computeSemanticsInformation$1: function(collector) {
      var t2, _this = this,
        t1 = _this.text;
      if (t1 != null) {
        t2 = _this.recognizer;
        collector.push(new G.InlineSpanSemanticsInformation(t1, _this.semanticsLabel, t2, t2 != null));
      }
      t1 = _this.children;
      if (t1 != null)
        for (t1 = J.get$iterator$ax(t1); t1.moveNext$0();)
          t1.get$current(t1).computeSemanticsInformation$1(collector);
    },
    codeUnitAtVisitor$2: function(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 C.JSString_methods.codeUnitAt$1(t1, t3);
      offset._inline_span$_value = t2 + t4;
      return null;
    },
    compareTo$1: function(_, other) {
      var t1, t2, result, candidate, t3, index, t4, _this = this;
      if (_this === other)
        return C.RenderComparison_0;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return C.RenderComparison_3;
      if (other.text == _this.text) {
        t1 = _this.children;
        t1 = t1 == null ? null : J.get$length$asx(t1);
        t2 = other.children;
        t1 = t1 != (t2 == null ? null : J.get$length$asx(t2)) || _this.style == null !== (other.style == null);
      } else
        t1 = true;
      if (t1)
        return C.RenderComparison_3;
      result = _this.recognizer == other.recognizer ? C.RenderComparison_0 : C.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 === C.RenderComparison_3)
          return result;
      }
      t1 = _this.children;
      if (t1 != null)
        for (t2 = J.getInterceptor$asx(t1), t3 = other.children, index = 0; index < t2.get$length(t1); ++index) {
          t4 = t2.$index(t1, index);
          t3.toString;
          candidate = J.compareTo$1$ns(t4, J.$index$asx(t3, index));
          if (candidate.index > result.index)
            result = candidate;
          if (result === C.RenderComparison_3)
            return result;
        }
      return result;
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (!_this.super$InlineSpan$$eq(0, other))
        return false;
      if (other instanceof Q.TextSpan)
        if (other.text == _this.text)
          if (other.recognizer == _this.recognizer)
            t1 = _this.mouseCursor.$eq(0, other.mouseCursor) && S.listEquals0(other.children, _this.children);
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(G.InlineSpan.prototype.get$hashCode.call(_this, _this), _this.text, _this.recognizer, _this.semanticsLabel, null, null, _this.mouseCursor, P.hashList(_this.children), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toStringShort$0: function() {
      return "TextSpan";
    },
    debugDescribeChildren$0: function() {
      var t1 = this.children;
      if (t1 == null)
        return C.List_empty0;
      return J.map$1$1$ax(t1, new Q.TextSpan_debugDescribeChildren_closure(), type$.DiagnosticsNode).toList$0(0);
    },
    $isMouseTrackerAnnotation: 1,
    text$0: function($receiver) {
      return this.text.call$0();
    },
    get$children: function(receiver) {
      return this.children;
    },
    get$onEnter: function() {
      return null;
    },
    get$onExit: function() {
      return null;
    }
  };
  Q.TextSpan_debugDescribeChildren_closure.prototype = {
    call$1: function(child) {
      if (child != null)
        return Y.DiagnosticableTreeNode$(null, null, child);
      else
        return Y.DiagnosticsNode_DiagnosticsNode$message("<null child>", true, C.DiagnosticsTreeStyle_8);
    },
    $signature: 819
  };
  A.TextStyle.prototype = {
    get$fontFamilyFallback: function() {
      return this._text_style$_fontFamilyFallback;
    },
    copyWith$24$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$shadows$textBaseline$wordSpacing: function(background, backgroundColor, color, debugLabel, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontWeight, foreground, height, inherit, leadingDistribution, letterSpacing, locale, overflow, shadows, textBaseline, wordSpacing) {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, _this = this, _null = null,
        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 = fontFamily == null ? _this.fontFamily : fontFamily;
      t7 = fontFamilyFallback == null ? _this.get$fontFamilyFallback() : fontFamilyFallback;
      t8 = fontSize == null ? _this.fontSize : fontSize;
      t9 = fontWeight == null ? _this.fontWeight : fontWeight;
      t10 = fontStyle == null ? _this.fontStyle : fontStyle;
      t11 = letterSpacing == null ? _this.letterSpacing : letterSpacing;
      t12 = wordSpacing == null ? _this.wordSpacing : wordSpacing;
      t13 = textBaseline == null ? _this.textBaseline : textBaseline;
      t14 = height == null ? _this.height : height;
      t2 = foreground == null ? t2 : foreground;
      t4 = background == null ? t4 : background;
      t15 = shadows == null ? _this.shadows : shadows;
      t16 = decoration == null ? _this.decoration : decoration;
      t17 = decorationColor == null ? _this.decorationColor : decorationColor;
      t18 = decorationStyle == null ? _this.decorationStyle : decorationStyle;
      t19 = decorationThickness == null ? _this.decorationThickness : decorationThickness;
      return A.TextStyle$(t4, t5, t3, _null, t16, t17, t18, t19, t6, t7, _this.fontFeatures, t8, t10, t9, t2, t14, t1, _this.leadingDistribution, t11, _this.locale, _this.overflow, _null, t15, t13, t12);
    },
    copyWith$2$color$letterSpacing: function(color, letterSpacing) {
      return this.copyWith$24$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$shadows$textBaseline$wordSpacing(null, null, color, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, letterSpacing, null, null, null, null, null);
    },
    copyWith$1$color: function(color) {
      return this.copyWith$24$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$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);
    },
    copyWith$23$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontWeight$foreground$height$leadingDistribution$letterSpacing$locale$overflow$shadows$textBaseline$wordSpacing: function(background, backgroundColor, color, debugLabel, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontWeight, foreground, height, leadingDistribution, letterSpacing, locale, overflow, shadows, textBaseline, wordSpacing) {
      return this.copyWith$24$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$shadows$textBaseline$wordSpacing(background, backgroundColor, color, debugLabel, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontWeight, foreground, height, null, leadingDistribution, letterSpacing, locale, overflow, shadows, textBaseline, wordSpacing);
    },
    copyWith$2$color$fontSize: function(color, fontSize) {
      return this.copyWith$24$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$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);
    },
    copyWith$1$fontFamily: function(fontFamily) {
      return this.copyWith$24$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$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);
    },
    copyWith$1$inherit: function(inherit) {
      return this.copyWith$24$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$shadows$textBaseline$wordSpacing(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, inherit, null, null, null, null, null, null, null);
    },
    copyWith$2$backgroundColor$color: function(backgroundColor, color) {
      return this.copyWith$24$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$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);
    },
    apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor: function(color, decoration, decorationColor, decorationStyle, fontFamily, fontSizeDelta, fontSizeFactor) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _this = this, _null = null,
        t1 = _this.foreground;
      if (t1 == null)
        t2 = _this.color;
      else
        t2 = _null;
      t3 = _this.background;
      if (t3 == null)
        t4 = _this.backgroundColor;
      else
        t4 = _null;
      t5 = _this.get$fontFamilyFallback();
      t6 = _this.fontSize;
      t6 = t6 == null ? _null : t6 * fontSizeFactor + fontSizeDelta;
      t7 = _this.fontWeight;
      t7 = t7 == null ? _null : C.List_27p[C.JSInt_methods.clamp$2(t7.index, 0, 8)];
      t8 = _this.letterSpacing;
      t8 = t8 == null ? _null : t8 + 0;
      t9 = _this.wordSpacing;
      t9 = t9 == null ? _null : t9 + 0;
      t10 = _this.height;
      t10 = t10 == null ? _null : t10 + 0;
      t11 = _this.decorationThickness;
      t11 = t11 == null ? _null : t11 + 0;
      return A.TextStyle$(t3, t4, t2, _null, _this.decoration, _this.decorationColor, _this.decorationStyle, t11, _this.fontFamily, t5, _this.fontFeatures, t6, _this.fontStyle, t7, t1, t10, _this.inherit, _this.leadingDistribution, t8, _this.locale, _this.overflow, _null, _this.shadows, _this.textBaseline, t9);
    },
    apply$1$fontSizeDelta: function(fontSizeDelta) {
      return this.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(null, null, null, null, null, fontSizeDelta, 1);
    },
    merge$1: function(other) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17;
      if (other == null)
        return this;
      if (!other.inherit)
        return other;
      t1 = other.color;
      t2 = other.backgroundColor;
      t3 = other.fontFamily;
      t4 = other.get$fontFamilyFallback();
      t5 = other.fontSize;
      t6 = other.fontWeight;
      t7 = other.fontStyle;
      t8 = other.letterSpacing;
      t9 = other.wordSpacing;
      t10 = other.textBaseline;
      t11 = other.height;
      t12 = other.leadingDistribution;
      t13 = other.locale;
      t14 = other.foreground;
      t15 = other.background;
      t16 = other.shadows;
      t17 = other.fontFeatures;
      return this.copyWith$23$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontWeight$foreground$height$leadingDistribution$letterSpacing$locale$overflow$shadows$textBaseline$wordSpacing(t15, t2, t1, null, other.decoration, other.decorationColor, other.decorationStyle, other.decorationThickness, t3, t4, t17, t5, t7, t6, t14, t11, t12, t8, t13, other.overflow, t16, t10, t9);
    },
    getTextStyle$1$textScaleFactor: function(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 = H._detectRenderer();
          t4 = t4 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
          t4.set$color(0, t3);
          t3 = t4;
        } else
          t3 = null;
      }
      return P.TextStyle_TextStyle(t3, _this.color, _this.decoration, _this.decorationColor, _this.decorationStyle, _this.decorationThickness, _this.fontFamily, t1, _this.fontFeatures, t2, _this.fontStyle, _this.fontWeight, _this.foreground, _this.height, _this.leadingDistribution, _this.letterSpacing, _this.locale, _this.shadows, _this.textBaseline, _this.wordSpacing);
    },
    compareTo$1: function(_, other) {
      var t1, _this = this;
      if (_this === other)
        return C.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)
                        t1 = _this.foreground != other.foreground || _this.background != other.background || !S.listEquals0(_this.shadows, other.shadows) || !S.listEquals0(_this.fontFeatures, other.fontFeatures) || !S.listEquals0(_this.get$fontFamilyFallback(), other.get$fontFamilyFallback()) || false;
                      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 C.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 C.RenderComparison_2;
      return C.RenderComparison_0;
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.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.fontFamily == _this.fontFamily)
                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)
                              t1 = other.foreground == _this.foreground && other.background == _this.background && J.$eq$(other.decoration, _this.decoration) && J.$eq$(other.decorationColor, _this.decorationColor) && other.decorationStyle == _this.decorationStyle && other.decorationThickness == _this.decorationThickness && S.listEquals0(other.shadows, _this.shadows) && S.listEquals0(other.fontFeatures, _this.fontFeatures) && S.listEquals0(other.get$fontFamilyFallback(), _this.get$fontFamilyFallback()) && 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;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashList([_this.inherit, _this.color, _this.backgroundColor, _this.fontFamily, _this.fontSize, _this.fontWeight, _this.fontStyle, _this.letterSpacing, _this.wordSpacing, _this.textBaseline, _this.height, _this.leadingDistribution, _this.locale, _this.foreground, _this.background, _this.decoration, _this.decorationColor, _this.decorationStyle, P.hashList(_this.shadows), P.hashList(_this.fontFeatures), P.hashList(_this.get$fontFamilyFallback()), _this.overflow]);
    },
    toStringShort$0: function() {
      return "TextStyle";
    }
  };
  A._TextStyle_Object_Diagnosticable.prototype = {};
  D.FrictionSimulation.prototype = {
    x$1: function(_, 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: function(_, time) {
      H.checkNum(time);
      return this._v * Math.pow(this._drag, time);
    },
    get$finalX: function() {
      return this._friction_simulation$_x - this._v / this._dragLog;
    },
    timeAtX$1: function(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: function(time) {
      return Math.abs(this._v * Math.pow(this._drag, time)) < this.tolerance.velocity;
    },
    toString$0: function(_) {
      return "FrictionSimulation(c\u2093: " + C.JSNumber_methods.toStringAsFixed$1(this._drag, 1) + ", x\u2080: " + C.JSNumber_methods.toStringAsFixed$1(this._friction_simulation$_x, 1) + ", dx\u2080: " + C.JSNumber_methods.toStringAsFixed$1(this._v, 1) + ")";
    }
  };
  T.Simulation.prototype = {
    toString$0: function(_) {
      return "Simulation";
    }
  };
  M.SpringDescription.prototype = {
    toString$0: function(_) {
      return "SpringDescription(mass: " + C.JSNumber_methods.toStringAsFixed$1(this.mass, 1) + ", stiffness: " + C.JSInt_methods.toStringAsFixed$1(this.stiffness, 1) + ", damping: " + C.JSNumber_methods.toStringAsFixed$1(this.damping, 1) + ")";
    }
  };
  M.SpringType.prototype = {
    toString$0: function(_) {
      return this._spring_simulation$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  M.SpringSimulation.prototype = {
    x$1: function(_, time) {
      return this._endPosition + this._solution.x$1(0, time);
    },
    dx$1: function(_, time) {
      return this._solution.dx$1(0, time);
    },
    isDone$1: function(time) {
      var t1 = this._solution;
      return B.nearEqual(t1.x$1(0, time), 0, this.tolerance.distance) && B.nearEqual(t1.dx$1(0, time), 0, this.tolerance.velocity);
    },
    toString$0: function(_) {
      var t1 = this._solution;
      return "SpringSimulation(end: " + J.toStringAsFixed$1$n(this._endPosition, 1) + ", " + t1.get$type(t1).toString$0(0) + ")";
    }
  };
  M.ScrollSpringSimulation.prototype = {
    x$1: function(_, time) {
      return this.isDone$1(time) ? this._endPosition : this.super$SpringSimulation$x(0, time);
    }
  };
  M._CriticalSolution.prototype = {
    x$1: function(_, time) {
      return (this._c1 + this._c2 * time) * Math.pow(2.718281828459045, this._r * time);
    },
    dx$1: function(_, 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: function(_) {
      return C.SpringType_0;
    }
  };
  M._OverdampedSolution.prototype = {
    x$1: function(_, 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: function(_, 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: function(_) {
      return C.SpringType_2;
    }
  };
  M._UnderdampedSolution.prototype = {
    x$1: function(_, 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: function(_, 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: function(_) {
      return C.SpringType_1;
    }
  };
  N.Tolerance.prototype = {
    toString$0: function(_) {
      return "Tolerance(distance: \xb1" + H.S(this.distance) + ", time: \xb10.001, velocity: \xb1" + H.S(this.velocity) + ")";
    }
  };
  F.RenderAnimatedSizeState.prototype = {
    toString$0: function(_) {
      return this._animated_size$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.RenderAnimatedSize.prototype = {
    RenderAnimatedSize$8$alignment$child$clipBehavior$curve$duration$reverseDuration$textDirection$vsync: function(alignment, child, clipBehavior, curve, duration, reverseDuration, textDirection, vsync) {
      var t2, _this = this,
        t1 = G.AnimationController$(null, duration, 0, reverseDuration, 1, null, vsync);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalListenersMixin__listeners;
      t2._isDirty = true;
      t2._observer_list$_list.push(new F.RenderAnimatedSize_closure(_this));
      if (_this.__RenderAnimatedSize__controller === $)
        _this.__RenderAnimatedSize__controller = t1;
      else
        H.throwExpression(H.LateError$fieldAI("_controller"));
      t1 = S.CurvedAnimation$(curve, _this.get$_animated_size$_controller(), null);
      if (_this.__RenderAnimatedSize__animation === $)
        _this.__RenderAnimatedSize__animation = t1;
      else
        H.throwExpression(H.LateError$fieldAI("_animation"));
    },
    get$_animated_size$_controller: function() {
      var t1 = this.__RenderAnimatedSize__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    get$_animated_size$_animation: function() {
      var t1 = this.__RenderAnimatedSize__animation;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_animation")) : t1;
    },
    get$duration: function(_) {
      var t1 = this.get$_animated_size$_controller().duration;
      t1.toString;
      return t1;
    },
    set$duration: function(_, value) {
      if (value.$eq(0, this.get$_animated_size$_controller().duration))
        return;
      this.get$_animated_size$_controller().duration = value;
    },
    set$reverseDuration: function(value) {
      if (value == this.get$_animated_size$_controller().reverseDuration)
        return;
      this.get$_animated_size$_controller().reverseDuration = value;
    },
    set$curve: function(_, value) {
      if (value === this.get$_animated_size$_animation().curve)
        return;
      this.get$_animated_size$_animation().curve = value;
    },
    set$vsync: function(value) {
      var t1, t2, t3, _this = this;
      if (value === _this._vsync)
        return;
      _this._vsync = value;
      t1 = _this.get$_animated_size$_controller();
      t2 = _this._vsync;
      t3 = t1._ticker;
      t3.toString;
      t2 = t2.createTicker$1(t1.get$_animation_controller$_tick());
      t1._ticker = t2;
      t2.toString;
      t1 = t3._ticker$_future;
      if (t1 != null) {
        t2._ticker$_future = t1;
        t2._startTime = t3._startTime;
        if (!t2._muted)
          t1 = t2._animationId == null;
        else
          t1 = false;
        if (t1)
          t2._animationId = $.SchedulerBinding__instance.scheduleFrameCallback$2$rescheduling(t2.get$_ticker$_tick(), false);
        t3._ticker$_future = null;
        t3.unscheduleTick$0();
      }
      t3.dispose$0(0);
    },
    detach$0: function(_) {
      this.get$_animated_size$_controller().stop$0(0);
      this.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    performLayout$0: function() {
      var constraints, t1, t2, t3, _this = this;
      _this._animated_size$_lastValue = _this.get$_animated_size$_controller().get$_animation_controller$_value();
      _this.__RenderAnimatedSize__hasVisualOverflow = false;
      constraints = type$.BoxConstraints._as(K.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) {
        _this.get$_animated_size$_controller().stop$0(0);
        t1 = _this._sizeTween;
        _this._box$_size = t1.begin = t1.end = new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
        _this._animated_size$_state = C.RenderAnimatedSizeState_0;
        t1 = _this.RenderObjectWithChildMixin__child;
        if (t1 != null)
          t1.layout$1(0, constraints);
        return;
      }
      t1.layout$2$parentUsesSize(0, constraints, true);
      switch (_this._animated_size$_state) {
        case C.RenderAnimatedSizeState_0:
          t1 = _this._sizeTween;
          t2 = _this.RenderObjectWithChildMixin__child._box$_size;
          t2.toString;
          t1.begin = t1.end = t2;
          _this._animated_size$_state = C.RenderAnimatedSizeState_1;
          break;
        case C.RenderAnimatedSizeState_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;
            _this.get$_animated_size$_controller().forward$1$from(0, 0);
            _this._animated_size$_state = C.RenderAnimatedSizeState_2;
          } else if (_this.get$_animated_size$_controller().get$_animation_controller$_value() === _this.get$_animated_size$_controller().upperBound) {
            t2 = _this.RenderObjectWithChildMixin__child._box$_size;
            t2.toString;
            t1.begin = t1.end = t2;
          } else {
            t2 = _this.get$_animated_size$_controller()._ticker;
            if (!(t2 != null && t2._ticker$_future != null))
              _this.get$_animated_size$_controller().forward$0(0);
          }
          break;
        case C.RenderAnimatedSizeState_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;
            _this.get$_animated_size$_controller().forward$1$from(0, 0);
            _this._animated_size$_state = C.RenderAnimatedSizeState_3;
          } else {
            _this._animated_size$_state = C.RenderAnimatedSizeState_1;
            t2 = _this.get$_animated_size$_controller()._ticker;
            if (!(t2 != null && t2._ticker$_future != null))
              _this.get$_animated_size$_controller().forward$0(0);
          }
          break;
        case C.RenderAnimatedSizeState_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;
            _this.get$_animated_size$_controller().forward$1$from(0, 0);
          } else {
            _this.get$_animated_size$_controller().stop$0(0);
            _this._animated_size$_state = C.RenderAnimatedSizeState_1;
          }
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t2 = _this.get$_animated_size$_animation();
      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: function(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 P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
      childSize = t1.getDryLayout$1(constraints);
      switch (_this._animated_size$_state) {
        case C.RenderAnimatedSizeState_0:
          return constraints.constrain$1(childSize);
        case C.RenderAnimatedSizeState_1:
          t1 = _this._sizeTween;
          if (!J.$eq$(t1.end, childSize)) {
            t1 = _this._box$_size;
            t1.toString;
            return constraints.constrain$1(t1);
          } else if (_this.get$_animated_size$_controller().get$_animation_controller$_value() === _this.get$_animated_size$_controller().upperBound)
            return constraints.constrain$1(childSize);
          break;
        case C.RenderAnimatedSizeState_3:
        case C.RenderAnimatedSizeState_2:
          t1 = _this._sizeTween;
          if (!J.$eq$(t1.end, childSize))
            return constraints.constrain$1(childSize);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t2 = _this.get$_animated_size$_animation();
      t2 = t1.transform$1(0, t2.get$value(t2));
      t2.toString;
      return constraints.constrain$1(t2);
    },
    paint$2: function(context, offset) {
      var t1, t2, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this.__RenderAnimatedSize__hasVisualOverflow;
        t1 = (t1 === $ ? H.throwExpression(H.LateError$fieldNI("_hasVisualOverflow")) : t1) && _this._animated_size$_clipBehavior !== C.Clip_0;
      } else
        t1 = false;
      if (t1) {
        t1 = _this._box$_size;
        t2 = t1._dx;
        t1 = t1._dy;
        _this._animated_size$_clipRectLayer = context.pushClipRect$6$clipBehavior$oldLayer(_this.get$_needsCompositing(), offset, new P.Rect(0, 0, 0 + t2, 0 + t1), T.RenderShiftedBox.prototype.get$paint.call(_this), _this._animated_size$_clipBehavior, _this._animated_size$_clipRectLayer);
      } else {
        _this._animated_size$_clipRectLayer = null;
        _this.super$RenderShiftedBox$paint(context, offset);
      }
    }
  };
  F.RenderAnimatedSize_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (t1.get$_animated_size$_controller().get$_animation_controller$_value() != t1._animated_size$_lastValue)
        t1.markNeedsLayout$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  N.RendererBinding.prototype = {
    get$_pipelineOwner: function() {
      var t1 = this.RendererBinding___RendererBinding__pipelineOwner;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_pipelineOwner")) : t1;
    },
    handleMetricsChanged$0: function() {
      var t1 = this.get$_pipelineOwner()._rootNode;
      t1.toString;
      t1.set$configuration(this.createViewConfiguration$0());
      this.scheduleForcedFrame$0();
    },
    handlePlatformBrightnessChanged$0: function() {
    },
    createViewConfiguration$0: function() {
      var t1 = $.$get$window(),
        devicePixelRatio = t1._debugDevicePixelRatio;
      if (devicePixelRatio == null)
        devicePixelRatio = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      return new A.ViewConfiguration0(t1.get$physicalSize().$div(0, devicePixelRatio), devicePixelRatio);
    },
    _handleSemanticsEnabledChanged$0: function() {
      var t1, _this = this;
      if ($.$get$window().platformDispatcher._configuration.semanticsEnabled) {
        if (_this.RendererBinding__semanticsHandle == null)
          _this.RendererBinding__semanticsHandle = _this.get$_pipelineOwner().ensureSemantics$0();
      } else {
        t1 = _this.RendererBinding__semanticsHandle;
        if (t1 != null)
          t1.dispose$0(0);
        _this.RendererBinding__semanticsHandle = null;
      }
    },
    setSemanticsEnabled$1: function(enabled) {
      var t1, _this = this;
      if (enabled) {
        if (_this.RendererBinding__semanticsHandle == null)
          _this.RendererBinding__semanticsHandle = _this.get$_pipelineOwner().ensureSemantics$0();
      } else {
        t1 = _this.RendererBinding__semanticsHandle;
        if (t1 != null)
          t1.dispose$0(0);
        _this.RendererBinding__semanticsHandle = null;
      }
    },
    _handleWebFirstFrame$1: function(_) {
      C.MethodChannel_Gpa._invokeMethod$1$3$arguments$missingOk("first-frame", null, false, type$.void);
    },
    _handleSemanticsAction$3: function(id, action, args) {
      var t1 = this.get$_pipelineOwner()._semanticsOwner;
      if (t1 != null)
        t1.performAction$3(id, action, null);
    },
    _handleSemanticsOwnerCreated$0: function() {
      var t2,
        t1 = this.get$_pipelineOwner()._rootNode;
      t1.toString;
      t2 = type$.nullable_PipelineOwner;
      t2._as(B.AbstractNode.prototype.get$owner.call(t1))._nodesNeedingSemantics.add$1(0, t1);
      t2._as(B.AbstractNode.prototype.get$owner.call(t1)).requestVisualUpdate$0();
    },
    _handleSemanticsOwnerDisposed$0: function() {
      this.get$_pipelineOwner()._rootNode.clearSemantics$0();
    },
    _handlePersistentFrameCallback$1: function(timeStamp) {
      this.drawFrame$0();
      this._scheduleMouseTrackerUpdate$0();
    },
    _scheduleMouseTrackerUpdate$0: function() {
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new N.RendererBinding__scheduleMouseTrackerUpdate_closure(this));
    },
    allowFirstFrame$0: function() {
      --this.RendererBinding__firstFrameDeferredCount;
      if (!this.RendererBinding__firstFrameSent)
        this.scheduleWarmUpFrame$0();
    },
    drawFrame$0: function() {
      var _this = this;
      _this.get$_pipelineOwner().flushLayout$0();
      _this.get$_pipelineOwner().flushCompositingBits$0();
      _this.get$_pipelineOwner().flushPaint$0();
      if (_this.RendererBinding__firstFrameSent || _this.RendererBinding__firstFrameDeferredCount === 0) {
        _this.get$_pipelineOwner()._rootNode.compositeFrame$0();
        _this.get$_pipelineOwner().flushSemantics$0();
        _this.RendererBinding__firstFrameSent = true;
      }
    }
  };
  N.RendererBinding__scheduleMouseTrackerUpdate_closure.prototype = {
    call$1: function(duration) {
      var t1 = this.$this,
        t2 = t1.RendererBinding__mouseTracker;
      t2.toString;
      t2.updateAllDevices$1(t1.get$_pipelineOwner()._rootNode.get$hitTestMouseTrackers());
    },
    $signature: 6
  };
  S.BoxConstraints.prototype = {
    copyWith$4$maxHeight$maxWidth$minHeight$minWidth: function(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 S.BoxConstraints(t1, t2, t3, maxHeight == null ? _this.maxHeight : maxHeight);
    },
    copyWith$2$minHeight$minWidth: function(minHeight, minWidth) {
      return this.copyWith$4$maxHeight$maxWidth$minHeight$minWidth(null, null, minHeight, minWidth);
    },
    copyWith$2$maxWidth$minWidth: function(maxWidth, minWidth) {
      return this.copyWith$4$maxHeight$maxWidth$minHeight$minWidth(null, maxWidth, null, minWidth);
    },
    copyWith$2$maxHeight$minHeight: function(maxHeight, minHeight) {
      return this.copyWith$4$maxHeight$maxWidth$minHeight$minWidth(maxHeight, null, minHeight, null);
    },
    copyWith$1$maxWidth: function(maxWidth) {
      return this.copyWith$4$maxHeight$maxWidth$minHeight$minWidth(null, maxWidth, null, null);
    },
    copyWith$1$maxHeight: function(maxHeight) {
      return this.copyWith$4$maxHeight$maxWidth$minHeight$minWidth(maxHeight, null, null, null);
    },
    deflate$1: function(edges) {
      var _this = this,
        horizontal = edges.get$horizontal(),
        vertical = edges.get$_edge_insets$_top(edges) + edges.get$_edge_insets$_bottom(edges),
        deflatedMinWidth = Math.max(0, _this.minWidth - horizontal),
        deflatedMinHeight = Math.max(0, _this.minHeight - vertical);
      return new S.BoxConstraints(deflatedMinWidth, Math.max(deflatedMinWidth, _this.maxWidth - horizontal), deflatedMinHeight, Math.max(deflatedMinHeight, _this.maxHeight - vertical));
    },
    loosen$0: function() {
      return new S.BoxConstraints(0, this.maxWidth, 0, this.maxHeight);
    },
    enforce$1: function(constraints) {
      var t4, _this = this,
        t1 = constraints.minWidth,
        t2 = constraints.maxWidth,
        t3 = J.clamp$2$n(_this.minWidth, t1, t2);
      t2 = J.clamp$2$n(_this.maxWidth, t1, t2);
      t1 = constraints.minHeight;
      t4 = constraints.maxHeight;
      return new S.BoxConstraints(t3, t2, J.clamp$2$n(_this.minHeight, t1, t4), J.clamp$2$n(_this.maxHeight, t1, t4));
    },
    tighten$2$height$width: function(height, width) {
      var t5, t6, _this = this,
        t1 = width == null,
        t2 = _this.minWidth,
        t3 = t1 ? t2 : C.JSNumber_methods.clamp$2(width, t2, _this.maxWidth),
        t4 = _this.maxWidth;
      t1 = t1 ? t4 : C.JSNumber_methods.clamp$2(width, t2, t4);
      t2 = height == null;
      t4 = _this.minHeight;
      t5 = t2 ? t4 : C.JSNumber_methods.clamp$2(height, t4, _this.maxHeight);
      t6 = _this.maxHeight;
      return new S.BoxConstraints(t3, t1, t5, t2 ? t6 : C.JSNumber_methods.clamp$2(height, t4, t6));
    },
    tighten$1$width: function(width) {
      return this.tighten$2$height$width(null, width);
    },
    tighten$1$height: function(height) {
      return this.tighten$2$height$width(height, null);
    },
    get$flipped: function() {
      var _this = this;
      return new S.BoxConstraints(_this.minHeight, _this.maxHeight, _this.minWidth, _this.maxWidth);
    },
    constrain$1: function(size) {
      var _this = this;
      return new P.Size(J.clamp$2$n(size._dx, _this.minWidth, _this.maxWidth), J.clamp$2$n(size._dy, _this.minHeight, _this.maxHeight));
    },
    constrainSizeAndAttemptToPreserveAspectRatio$1: function(size) {
      var width1, height, aspectRatio, height0, height1, _this = this,
        width = _this.minWidth,
        width0 = _this.maxWidth;
      if (width >= width0 && _this.minHeight >= _this.maxHeight)
        return new P.Size(C.JSInt_methods.clamp$2(0, width, width0), C.JSInt_methods.clamp$2(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 P.Size(C.JSNumber_methods.clamp$2(width1, width, width0), C.JSNumber_methods.clamp$2(height, height1, height0));
    },
    get$isTight: function() {
      var _this = this;
      return _this.minWidth >= _this.maxWidth && _this.minHeight >= _this.maxHeight;
    },
    $mul: function(_, factor) {
      var _this = this;
      return new S.BoxConstraints(_this.minWidth * factor, _this.maxWidth * factor, _this.minHeight * factor, _this.maxHeight * factor);
    },
    $div: function(_, factor) {
      var _this = this;
      return new S.BoxConstraints(_this.minWidth / factor, _this.maxWidth / factor, _this.minHeight / factor, _this.maxHeight / factor);
    },
    $tdiv: function(_, factor) {
      var _this = this;
      return new S.BoxConstraints(C.JSNumber_methods.$tdiv(_this.minWidth, factor), C.JSNumber_methods.$tdiv(_this.maxWidth, factor), C.JSNumber_methods.$tdiv(_this.minHeight, factor), C.JSNumber_methods.$tdiv(_this.maxHeight, factor));
    },
    get$isNormalized: function() {
      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: function(_) {
      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 S.BoxConstraints(minWidth, t1, minHeight, minHeight > t2 ? minHeight : t2);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof S.BoxConstraints && other.minWidth == _this.minWidth && other.maxWidth == _this.maxWidth && other.minHeight == _this.minHeight && other.maxHeight == _this.maxHeight;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.minWidth, _this.maxWidth, _this.minHeight, _this.maxHeight, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var t2, width, height, _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 S.BoxConstraints_toString_describe();
      width = t2.call$3(t1, _this.maxWidth, "w");
      height = t2.call$3(_this.minHeight, _this.maxHeight, "h");
      return "BoxConstraints(" + H.S(width) + ", " + H.S(height) + annotation + ")";
    }
  };
  S.BoxConstraints_toString_describe.prototype = {
    call$3: function(min, max, dim) {
      if (min == max)
        return dim + "=" + J.toStringAsFixed$1$n(min, 1);
      return J.toStringAsFixed$1$n(min, 1) + "<=" + dim + "<=" + J.toStringAsFixed$1$n(max, 1);
    },
    $signature: 821
  };
  S.BoxHitTestResult.prototype = {
    addWithPaintTransform$3$hitTest$position$transform: function(hitTest, position, transform) {
      if (transform != null) {
        transform = E.Matrix4_tryInvert(F.PointerEvent_removePerspectiveTransform(transform));
        if (transform == null)
          return false;
      }
      return this.addWithRawTransform$3$hitTest$position$transform(hitTest, position, transform);
    },
    addWithPaintOffset$3$hitTest$offset$position: function(hitTest, offset, position) {
      var isHit,
        t1 = offset == null,
        transformedPosition = t1 ? position : position.$sub(0, offset);
      t1 = !t1;
      if (t1)
        this._localTransforms.push(new O._OffsetTransformPart(new P.Offset(-offset._dx, -offset._dy)));
      isHit = hitTest.call$2(this, transformedPosition);
      if (t1)
        this.popTransform$0();
      return isHit;
    },
    addWithRawTransform$3$hitTest$position$transform: function(hitTest, position, transform) {
      var isHit,
        t1 = transform == null,
        transformedPosition = t1 ? position : T.MatrixUtils_transformPoint(transform, position);
      t1 = !t1;
      if (t1)
        this._localTransforms.push(new O._MatrixTransformPart(transform));
      isHit = hitTest.call$2(this, transformedPosition);
      if (t1)
        this.popTransform$0();
      return isHit;
    },
    addWithOutOfBandPosition$3$hitTest$paintOffset$paintTransform: function(hitTest, paintOffset, paintTransform) {
      var isHit, _this = this;
      if (paintOffset != null)
        _this._localTransforms.push(new O._OffsetTransformPart(new P.Offset(-paintOffset._dx, -paintOffset._dy)));
      else {
        paintTransform.toString;
        paintTransform = E.Matrix4_tryInvert(F.PointerEvent_removePerspectiveTransform(paintTransform));
        paintTransform.toString;
        _this._localTransforms.push(new O._MatrixTransformPart(paintTransform));
      }
      isHit = hitTest.call$1(_this);
      _this.popTransform$0();
      return isHit;
    },
    addWithOutOfBandPosition$2$hitTest$paintTransform: function(hitTest, paintTransform) {
      return this.addWithOutOfBandPosition$3$hitTest$paintOffset$paintTransform(hitTest, null, paintTransform);
    },
    addWithOutOfBandPosition$2$hitTest$paintOffset: function(hitTest, paintOffset) {
      return this.addWithOutOfBandPosition$3$hitTest$paintOffset$paintTransform(hitTest, paintOffset, null);
    }
  };
  S.BoxHitTestEntry.prototype = {
    get$target: function(_) {
      return type$.RenderBox._as(this.target);
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(type$.RenderBox._as(this.target)) + "@" + H.S(this.localPosition);
    }
  };
  S.BoxParentData.prototype = {
    toString$0: function(_) {
      return "offset=" + this.offset.toString$0(0);
    }
  };
  S.ContainerBoxParentData.prototype = {};
  S._IntrinsicDimension.prototype = {
    toString$0: function(_) {
      return this._box$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  S._IntrinsicDimensionsCacheEntry.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof S._IntrinsicDimensionsCacheEntry && other.dimension === this.dimension && other.argument == this.argument;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.dimension, this.argument, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  S.RenderBox.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof S.BoxParentData))
        child.parentData = new S.BoxParentData(C.Offset_0_0);
    },
    _computeIntrinsicDimension$3: function(dimension, argument, computer) {
      var t1 = this._cachedIntrinsicDimensions;
      if (t1 == null)
        t1 = this._cachedIntrinsicDimensions = P.LinkedHashMap_LinkedHashMap$_empty(type$._IntrinsicDimensionsCacheEntry, type$.double);
      return t1.putIfAbsent$2(0, new S._IntrinsicDimensionsCacheEntry(dimension, argument), new S.RenderBox__computeIntrinsicDimension_closure(computer, argument));
    },
    computeMinIntrinsicWidth$1: function(height) {
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      return 0;
    },
    computeMinIntrinsicHeight$1: function(width) {
      return 0;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return 0;
    },
    getDryLayout$1: function(constraints) {
      var t1 = this._cachedDryLayoutSizes;
      if (t1 == null)
        t1 = this._cachedDryLayoutSizes = P.LinkedHashMap_LinkedHashMap$_empty(type$.BoxConstraints, type$.Size);
      return t1.putIfAbsent$2(0, constraints, new S.RenderBox_getDryLayout_closure(this, constraints));
    },
    computeDryLayout$1: function(constraints) {
      return C.Size_0_0;
    },
    get$semanticBounds: function() {
      var t1 = this._box$_size;
      return new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    getDistanceToBaseline$2$onlyReal: function(baseline, onlyReal) {
      var result = this.getDistanceToActualBaseline$1(baseline);
      if (result == null && !onlyReal)
        return this._box$_size._dy;
      return result;
    },
    getDistanceToBaseline$1: function(baseline) {
      return this.getDistanceToBaseline$2$onlyReal(baseline, false);
    },
    getDistanceToActualBaseline$1: function(baseline) {
      var _this = this,
        t1 = _this._cachedBaselines;
      if (t1 == null)
        t1 = _this._cachedBaselines = P.LinkedHashMap_LinkedHashMap$_empty(type$.TextBaseline, type$.nullable_double);
      t1.putIfAbsent$2(0, baseline, new S.RenderBox_getDistanceToActualBaseline_closure(_this, baseline));
      return _this._cachedBaselines.$index(0, baseline);
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      return null;
    },
    get$constraints: function() {
      return type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(this));
    },
    markNeedsLayout$0: function() {
      var _this = this,
        t1 = _this._cachedBaselines;
      if (!(t1 != null && t1.get$isNotEmpty(t1))) {
        t1 = _this._cachedIntrinsicDimensions;
        if (!(t1 != null && t1.get$isNotEmpty(t1))) {
          t1 = _this._cachedDryLayoutSizes;
          t1 = t1 != null && t1.get$isNotEmpty(t1);
        } else
          t1 = true;
      } else
        t1 = true;
      if (t1) {
        t1 = _this._cachedBaselines;
        if (t1 != null)
          t1.clear$0(0);
        t1 = _this._cachedIntrinsicDimensions;
        if (t1 != null)
          t1.clear$0(0);
        t1 = _this._cachedDryLayoutSizes;
        if (t1 != null)
          t1.clear$0(0);
        if (_this.get$parent(_this) instanceof K.RenderObject) {
          _this.markParentNeedsLayout$0();
          return;
        }
      }
      _this.super$RenderObject$markNeedsLayout();
    },
    performResize$0: function() {
      this._box$_size = this.computeDryLayout$1(this.get$constraints());
    },
    performLayout$0: function() {
    },
    hitTest$2$position: function(result, position) {
      var t1, _this = this;
      if (_this._box$_size.contains$1(0, position))
        if (_this.hitTestChildren$2$position(result, position) || _this.hitTestSelf$1(position)) {
          t1 = new S.BoxHitTestEntry(position, _this);
          result._globalizeTransforms$0();
          t1._transform = C.JSArray_methods.get$last(result._transforms);
          result._path.push(t1);
          return true;
        }
      return false;
    },
    hitTestSelf$1: function(position) {
      return false;
    },
    hitTestChildren$2$position: function(result, position) {
      return false;
    },
    applyPaintTransform$2: function(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: function(point) {
      var n, t1, i, d, t2, t3, s,
        transform = this.getTransformTo$1(0, null);
      if (transform.copyInverse$1(transform) === 0)
        return C.Offset_0_0;
      n = new E.Vector3(new Float64Array(3));
      n.setValues$3(0, 0, 1);
      t1 = new E.Vector3(new Float64Array(3));
      t1.setValues$3(0, 0, 0);
      i = transform.perspectiveTransform$1(t1);
      t1 = new E.Vector3(new Float64Array(3));
      t1.setValues$3(0, 0, 1);
      d = transform.perspectiveTransform$1(t1).$sub(0, i);
      t1 = point._dx;
      t2 = point._dy;
      t3 = new E.Vector3(new Float64Array(3));
      t3.setValues$3(t1, t2, 0);
      s = transform.perspectiveTransform$1(t3);
      t3 = s.$sub(0, d.scaled$1(n.dot$1(s) / n.dot$1(d)))._v3storage;
      return new P.Offset(t3[0], t3[1]);
    },
    get$paintBounds: function() {
      var t1 = this._box$_size;
      return new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    handleEvent$2: function($event, entry) {
      this.super$RenderObject$handleEvent($event, entry);
    }
  };
  S.RenderBox__computeIntrinsicDimension_closure.prototype = {
    call$0: function() {
      return this.computer.call$1(this.argument);
    },
    $signature: 130
  };
  S.RenderBox_getDryLayout_closure.prototype = {
    call$0: function() {
      return this.$this.computeDryLayout$1(this.constraints);
    },
    $signature: 822
  };
  S.RenderBox_getDistanceToActualBaseline_closure.prototype = {
    call$0: function() {
      return this.$this.computeDistanceToActualBaseline$1(this.baseline);
    },
    $signature: 823
  };
  S.RenderBoxContainerDefaultsMixin.prototype = {
    defaultComputeDistanceToFirstActualBaseline$1: function(baseline) {
      var t1, childParentData, result,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = H._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: function(baseline) {
      var t1, result, t2, candidate,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = H._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: function(result, position) {
      var t2, child, _box_0 = {},
        t1 = _box_0.child = this.ContainerRenderObjectMixin__lastChild;
      for (t2 = H._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 S.RenderBoxContainerDefaultsMixin_defaultHitTestChildren_closure(_box_0, position, t1), t1.offset, position))
          return true;
        child = t1.ContainerParentDataMixin_previousSibling;
        _box_0.child = child;
      }
      return false;
    },
    defaultPaint$2: function(context, offset) {
      var t1, t2, t3, t4, t5,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = H._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 P.Offset(t5._dx + t2, t5._dy + t3));
        child = t4.ContainerParentDataMixin_nextSibling;
      }
    }
  };
  S.RenderBoxContainerDefaultsMixin_defaultHitTestChildren_closure.prototype = {
    call$2: function(result, transformed) {
      var t1 = this._box_0.child;
      t1.toString;
      transformed.toString;
      return t1.hitTest$2$position(result, transformed);
    },
    $signature: 24
  };
  S._ContainerBoxParentData_BoxParentData_ContainerParentDataMixin.prototype = {
    detach$0: function(_) {
      this.super$ParentData$detach(0);
    }
  };
  B.MultiChildLayoutParentData.prototype = {
    toString$0: function(_) {
      return this.super$BoxParentData$toString(0) + "; id=" + H.S(this.id);
    }
  };
  B.MultiChildLayoutDelegate.prototype = {
    layoutChild$2: function(childId, constraints) {
      var t1,
        child = this._idToChild.$index(0, childId);
      child.layout$2$parentUsesSize(0, constraints, true);
      t1 = child._box$_size;
      t1.toString;
      return t1;
    },
    positionChild$2: function(childId, offset) {
      var t1 = this._idToChild.$index(0, childId).parentData;
      t1.toString;
      type$.MultiChildLayoutParentData._as(t1).offset = offset;
    },
    _callPerformLayout$2: function(size, firstChild) {
      var childParentData, t1, t2, t3, t4, child, _this = this,
        previousIdToChild = _this._idToChild;
      try {
        _this._idToChild = P.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: function(_) {
      return "MultiChildLayoutDelegate";
    }
  };
  B.RenderCustomMultiChildLayoutBox.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof B.MultiChildLayoutParentData))
        child.parentData = new B.MultiChildLayoutParentData(null, null, C.Offset_0_0);
    },
    set$delegate: function(newDelegate) {
      var _this = this,
        t1 = _this._custom_layout$_delegate;
      if (t1 === newDelegate)
        return;
      if (H.getRuntimeType(newDelegate) !== H.getRuntimeType(t1) || newDelegate.shouldRelayout$1(t1))
        _this.markNeedsLayout$0();
      _this._custom_layout$_delegate = newDelegate;
      _this._node$_owner != null;
    },
    attach$1: function(owner) {
      this.super$_RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin$attach(owner);
    },
    detach$0: function(_) {
      this.super$_RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin$detach(0);
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t1 = S.BoxConstraints$tightForFinite(height, 1 / 0),
        width = t1.constrain$1(new P.Size(C.JSInt_methods.clamp$2(1 / 0, t1.minWidth, t1.maxWidth), C.JSInt_methods.clamp$2(1 / 0, t1.minHeight, t1.maxHeight)))._dx;
      width.toString;
      if (isFinite(width))
        return width;
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1 = S.BoxConstraints$tightForFinite(height, 1 / 0),
        width = t1.constrain$1(new P.Size(C.JSInt_methods.clamp$2(1 / 0, t1.minWidth, t1.maxWidth), C.JSInt_methods.clamp$2(1 / 0, t1.minHeight, t1.maxHeight)))._dx;
      width.toString;
      if (isFinite(width))
        return width;
      return 0;
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t1 = S.BoxConstraints$tightForFinite(1 / 0, width),
        height = t1.constrain$1(new P.Size(C.JSInt_methods.clamp$2(1 / 0, t1.minWidth, t1.maxWidth), C.JSInt_methods.clamp$2(1 / 0, t1.minHeight, t1.maxHeight)))._dy;
      height.toString;
      if (isFinite(height))
        return height;
      return 0;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t1 = S.BoxConstraints$tightForFinite(1 / 0, width),
        height = t1.constrain$1(new P.Size(C.JSInt_methods.clamp$2(1 / 0, t1.minWidth, t1.maxWidth), C.JSInt_methods.clamp$2(1 / 0, t1.minHeight, t1.maxHeight)))._dy;
      height.toString;
      if (isFinite(height))
        return height;
      return 0;
    },
    computeDryLayout$1: function(constraints) {
      return constraints.constrain$1(new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight)));
    },
    performLayout$0: function() {
      var _this = this,
        t1 = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this));
      t1 = t1.constrain$1(new P.Size(C.JSInt_methods.clamp$2(1 / 0, t1.minWidth, t1.maxWidth), C.JSInt_methods.clamp$2(1 / 0, t1.minHeight, t1.maxHeight)));
      _this._box$_size = t1;
      _this._custom_layout$_delegate._callPerformLayout$2(t1, _this.ContainerRenderObjectMixin__firstChild);
    },
    paint$2: function(context, offset) {
      this.defaultPaint$2(context, offset);
    },
    hitTestChildren$2$position: function(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    }
  };
  B._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1: function(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: function(_) {
      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;
      }
    }
  };
  B._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  V.CustomPainter.prototype = {
    addListener$1: function(_, listener) {
      var t1 = this._repaint;
      return t1 == null ? null : t1.addListener$1(0, listener);
    },
    removeListener$1: function(_, listener) {
      var t1 = this._repaint;
      return t1 == null ? null : t1.removeListener$1(0, listener);
    },
    get$semanticsBuilder: function() {
      return null;
    },
    shouldRebuildSemantics$1: function(oldDelegate) {
      return this.shouldRepaint$1(oldDelegate);
    },
    hitTest$1: function(position) {
      return null;
    },
    toString$0: function(_) {
      var t1 = "<optimized out>#" + Y.shortHash(this) + "(",
        t2 = this._repaint;
      t2 = t2 == null ? null : t2.toString$0(0);
      return t1 + (t2 == null ? "" : t2) + ")";
    }
  };
  V.RenderCustomPaint.prototype = {
    set$painter: function(value) {
      var oldPainter, _this = this;
      if (J.$eq$(_this._custom_paint$_painter, value))
        return;
      oldPainter = _this._custom_paint$_painter;
      _this._custom_paint$_painter = value;
      _this._didUpdatePainter$2(value, oldPainter);
    },
    set$foregroundPainter: function(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: function(newPainter, oldPainter) {
      var _this = this,
        t1 = newPainter == null;
      if (t1)
        _this.markNeedsPaint$0();
      else if (oldPainter == null || H.getRuntimeType(newPainter) !== H.getRuntimeType(oldPainter) || newPainter.shouldRepaint$1(oldPainter))
        _this.markNeedsPaint$0();
      if (_this._node$_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._node$_owner != null)
          _this.markNeedsSemanticsUpdate$0();
      } else if (oldPainter == null || H.getRuntimeType(newPainter) !== H.getRuntimeType(oldPainter) || newPainter.shouldRebuildSemantics$1(oldPainter))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$preferredSize: function(value) {
      if (this._preferredSize.$eq(0, value))
        return;
      this._preferredSize = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t1;
      if (this.RenderObjectWithChildMixin__child == null) {
        t1 = this._preferredSize._dx;
        t1.toString;
        if (!isFinite(t1))
          t1 = 0;
        return t1;
      }
      return this.super$RenderProxyBoxMixin$computeMinIntrinsicWidth(height);
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1;
      if (this.RenderObjectWithChildMixin__child == null) {
        t1 = this._preferredSize._dx;
        t1.toString;
        if (!isFinite(t1))
          t1 = 0;
        return t1;
      }
      return this.super$RenderProxyBoxMixin$computeMaxIntrinsicWidth(height);
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t1;
      if (this.RenderObjectWithChildMixin__child == null) {
        t1 = this._preferredSize._dy;
        t1.toString;
        if (!isFinite(t1))
          t1 = 0;
        return t1;
      }
      return this.super$RenderProxyBoxMixin$computeMinIntrinsicHeight(width);
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t1;
      if (this.RenderObjectWithChildMixin__child == null) {
        t1 = this._preferredSize._dy;
        t1.toString;
        if (!isFinite(t1))
          t1 = 0;
        return t1;
      }
      return this.super$RenderProxyBoxMixin$computeMaxIntrinsicHeight(width);
    },
    attach$1: function(owner) {
      var t1, _this = this;
      _this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$attach(owner);
      t1 = _this._custom_paint$_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: function(_) {
      var _this = this,
        t1 = _this._custom_paint$_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: function(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: function(position) {
      var t1 = this._custom_paint$_painter;
      if (t1 != null) {
        t1 = t1.hitTest$1(position);
        t1 = t1 !== false;
      } else
        t1 = false;
      return t1;
    },
    performLayout$0: function() {
      this.super$RenderProxyBoxMixin$performLayout();
      this.markNeedsSemanticsUpdate$0();
    },
    computeSizeForNoChild$1: function(constraints) {
      return constraints.constrain$1(this._preferredSize);
    },
    _paintWithPainter$3: function(canvas, offset, painter) {
      var t1;
      H._Cell$named("debugPreviousCanvasSaveCount");
      canvas.save$0(0);
      if (!offset.$eq(0, C.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: function(context, offset) {
      var t1, t2, _this = this;
      if (_this._custom_paint$_painter != null) {
        t1 = context.get$canvas(context);
        t2 = _this._custom_paint$_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: function(context) {
    },
    describeSemanticsConfiguration$1: function(config) {
      var t1, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      t1 = _this._custom_paint$_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: function(node, config, children) {
      var t1, hasBackgroundSemantics, hasForegroundSemantics, t2, _this = this;
      _this._backgroundSemanticsNodes = V.RenderCustomPaint__updateSemanticsChildren(_this._backgroundSemanticsNodes, C.List_empty9);
      _this._foregroundSemanticsNodes = V.RenderCustomPaint__updateSemanticsChildren(_this._foregroundSemanticsNodes, C.List_empty9);
      t1 = _this._backgroundSemanticsNodes;
      hasBackgroundSemantics = t1 != null && !t1.get$isEmpty(t1);
      t1 = _this._foregroundSemanticsNodes;
      hasForegroundSemantics = t1 != null && !t1.get$isEmpty(t1);
      t1 = H._setArrayType([], type$.JSArray_SemanticsNode);
      if (hasBackgroundSemantics) {
        t2 = _this._backgroundSemanticsNodes;
        t2.toString;
        C.JSArray_methods.addAll$1(t1, t2);
      }
      C.JSArray_methods.addAll$1(t1, children);
      if (hasForegroundSemantics) {
        t2 = _this._foregroundSemanticsNodes;
        t2.toString;
        C.JSArray_methods.addAll$1(t1, t2);
      }
      _this.super$RenderObject$assembleSemanticsNode(node, config, t1);
    },
    clearSemantics$0: function() {
      this.super$RenderObject$clearSemantics();
      this._foregroundSemanticsNodes = this._backgroundSemanticsNodes = null;
    }
  };
  T.DebugOverflowIndicatorMixin.prototype = {};
  D.TextSelectionPoint.prototype = {
    toString$0: function(_) {
      var _this = this;
      switch (_this.direction) {
        case C.TextDirection_1:
          return _this.point.toString$0(0) + "-ltr";
        case C.TextDirection_0:
          return _this.point.toString$0(0) + "-rtl";
        case null:
          return _this.point.toString$0(0);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    }
  };
  D.RenderEditable.prototype = {
    _updateForegroundPainter$1: function(newPainter) {
      var foregroundRenderObject, _this = this,
        effectivePainter = _this.get$_builtInForegroundPainters(),
        t1 = _this._foregroundRenderObject;
      if (t1 == null) {
        foregroundRenderObject = D._RenderEditableCustomPaint$(effectivePainter);
        _this.adoptChild$1(foregroundRenderObject);
        _this._foregroundRenderObject = foregroundRenderObject;
      } else
        t1.set$painter(effectivePainter);
      _this._editable$_foregroundPainter = newPainter;
    },
    _updatePainter$1: function(newPainter) {
      var backgroundRenderObject, _this = this,
        effectivePainter = _this.get$_builtInPainters(),
        t1 = _this._backgroundRenderObject;
      if (t1 == null) {
        backgroundRenderObject = D._RenderEditableCustomPaint$(effectivePainter);
        _this.adoptChild$1(backgroundRenderObject);
        _this._backgroundRenderObject = backgroundRenderObject;
      } else
        t1.set$painter(effectivePainter);
      _this._editable$_painter = newPainter;
    },
    get$_caretPainter: function() {
      var _this = this,
        t1 = _this.__RenderEditable__caretPainter;
      if (t1 === $) {
        t1 = H._detectRenderer();
        t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        t1 = new D._FloatingCursorPainter(_this.get$_onCaretChanged(), t1, C.Offset_0_0, P.List_List$filled(0, null, false, type$.nullable_void_Function));
        if (_this.__RenderEditable__caretPainter === $)
          _this.__RenderEditable__caretPainter = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("_caretPainter"));
      }
      return t1;
    },
    get$_builtInForegroundPainters: function() {
      var _this = this,
        t1 = _this._cachedBuiltInForegroundPainters;
      if (t1 == null) {
        t1 = H._setArrayType([], type$.JSArray_RenderEditablePainter);
        if (_this._paintCursorOnTop)
          t1.push(_this.get$_caretPainter());
        t1 = _this._cachedBuiltInForegroundPainters = new D._CompositeRenderEditablePainter(t1, P.List_List$filled(0, null, false, type$.nullable_void_Function));
      }
      return t1;
    },
    get$_builtInPainters: function() {
      var _this = this,
        t1 = _this._cachedBuiltInPainters;
      if (t1 == null) {
        t1 = H._setArrayType([_this._autocorrectHighlightPainter, _this._selectionPainter], type$.JSArray_RenderEditablePainter);
        if (!_this._paintCursorOnTop)
          t1.push(_this.get$_caretPainter());
        t1 = _this._cachedBuiltInPainters = new D._CompositeRenderEditablePainter(t1, P.List_List$filled(0, null, false, type$.nullable_void_Function));
      }
      return t1;
    },
    _onCaretChanged$1: function(caretRect) {
      if (!J.$eq$(this._lastCaretRect, caretRect))
        this.onCaretChanged.call$1(caretRect);
      this._lastCaretRect = caretRect;
    },
    set$textHeightBehavior: function(_, value) {
      return;
    },
    set$textWidthBasis: function(value) {
      var t1 = this._textPainter;
      if (t1._textWidthBasis === value)
        return;
      t1.set$textWidthBasis(value);
      this.markNeedsTextLayout$0();
    },
    set$devicePixelRatio: function(_, value) {
      if (this._editable$_devicePixelRatio === value)
        return;
      this._editable$_devicePixelRatio = value;
      this.markNeedsTextLayout$0();
    },
    set$obscuringCharacter: function(value) {
      if (this._obscuringCharacter === value)
        return;
      this._obscuringCharacter = value;
      this.markNeedsLayout$0();
    },
    set$obscureText: function(value) {
      return;
    },
    _setSelection$2: function(nextSelection, cause) {
      var textLength, t1, _this = this;
      if (nextSelection.get$isValid()) {
        textLength = _this.textSelectionDelegate._widget.controller._value.text.length;
        nextSelection = nextSelection.copyWith$2$baseOffset$extentOffset(Math.min(H.checkNum(nextSelection.baseOffset), textLength), Math.min(H.checkNum(nextSelection.extentOffset), textLength));
      }
      _this._handleSelectionChange$2(nextSelection, cause);
      t1 = _this.textSelectionDelegate._widget.controller._value.copyWith$1$selection(nextSelection);
      _this.textSelectionDelegate.userUpdateTextEditingValue$2(t1, cause);
    },
    _handleSelectionChange$2: function(nextSelection, cause) {
      var focusingEmpty = nextSelection.baseOffset === 0 && nextSelection.extentOffset === 0 && !this._hasFocus;
      if (nextSelection.$eq(0, this._selection) && cause !== C.SelectionChangedCause_4 && !focusingEmpty)
        return;
    },
    _editable$_handleKeyEvent$1: function(keyEvent) {
      return;
    },
    _getTextPositionVertical$2: function(textOffset, verticalOffset) {
      var caretOffset,
        t1 = this._textPainter;
      t1._computeCaretMetrics$2(new P.TextPosition(textOffset, C.TextAffinity_1), this.get$_caretPrototype());
      caretOffset = t1.get$_caretMetrics().offset;
      return t1._text_painter$_paragraph.getPositionForOffset$1(new P.Offset(caretOffset._dx + 0, caretOffset._dy + verticalOffset));
    },
    _getTextPositionAbove$1: function(offset) {
      return this._getTextPositionVertical$2(offset, -0.5 * this._textPainter.get$preferredLineHeight());
    },
    _getTextPositionBelow$1: function(offset) {
      return this._getTextPositionVertical$2(offset, 1.5 * this._textPainter.get$preferredLineHeight());
    },
    _deleteSelection$2: function(selection, cause) {
      var t1, text, t2, textBefore, t3, textAfter, newSelection;
      if (this._readOnly || !selection.get$isValid() || selection.start == selection.end)
        return;
      t1 = this.textSelectionDelegate;
      text = t1._widget.controller._value.text;
      t2 = selection.start;
      textBefore = J.substring$2$s(text, 0, t2);
      t3 = selection.end;
      textAfter = C.JSString_methods.substring$1(text, t3);
      newSelection = X.TextSelection$collapsed(C.TextAffinity_1, Math.min(H.checkNum(t2), H.checkNum(t3)));
      t1.userUpdateTextEditingValue$2(new N.TextEditingValue(textBefore + textAfter, newSelection, C.TextRange_m1_m1), cause);
    },
    _deleteNonEmptySelection$1: function(cause) {
      var t4, textBefore, textAfter, newSelection, composing, newComposingRange,
        t1 = this.textSelectionDelegate._widget.controller._value,
        selection = t1.selection,
        t2 = selection.start,
        t3 = selection.end;
      if (t2 == t3)
        return false;
      t4 = t1.text;
      textBefore = J.substring$2$s(t4, 0, t2);
      textAfter = C.JSString_methods.substring$1(t4, t3);
      newSelection = X.TextSelection$collapsed(C.TextAffinity_1, t2);
      composing = t1.composing;
      if (!composing.get$isValid() || composing.start == composing.end)
        newComposingRange = C.TextRange_m1_m1;
      else {
        t1 = composing.start;
        t3 -= t2;
        t4 = composing.end;
        newComposingRange = new P.TextRange(t1 - C.JSInt_methods.clamp$2(t1 - t2, 0, t3), t4 - C.JSInt_methods.clamp$2(t4 - t2, 0, t3));
      }
      t1 = textBefore + textAfter;
      this.textSelectionDelegate.userUpdateTextEditingValue$2(new N.TextEditingValue(t1, newSelection, newComposingRange), cause);
      return true;
    },
    delete$1: function(_, cause) {
      var t2, textBefore, t3, textAfter, characterBoundary, newSelection, composing, newComposingRange, _this = this,
        t1 = _this.textSelectionDelegate._widget.controller._value,
        selection = t1.selection;
      if (!selection.get$isValid() || _this._readOnly || _this._deleteNonEmptySelection$1(cause))
        return;
      t2 = t1.text;
      textBefore = J.substring$2$s(t2, 0, selection.start);
      t3 = textBefore.length;
      if (t3 === 0)
        return;
      textAfter = C.JSString_methods.substring$1(t2, selection.end);
      characterBoundary = D.RenderEditable_previousCharacter(t3, textBefore, true);
      newSelection = X.TextSelection$collapsed(C.TextAffinity_1, characterBoundary);
      composing = t1.composing;
      if (!composing.get$isValid() || composing.start == composing.end)
        newComposingRange = C.TextRange_m1_m1;
      else {
        t1 = composing.start;
        t3 -= characterBoundary;
        t2 = composing.end;
        newComposingRange = new P.TextRange(t1 - C.JSInt_methods.clamp$2(t1 - characterBoundary, 0, t3), t2 - C.JSInt_methods.clamp$2(t2 - characterBoundary, 0, t3));
      }
      t1 = C.JSString_methods.substring$2(textBefore, 0, characterBoundary) + textAfter;
      _this.textSelectionDelegate.userUpdateTextEditingValue$2(new N.TextEditingValue(t1, newSelection, newComposingRange), cause);
    },
    deleteByWord$2: function(cause, includeWhitespace) {
      var t1, t2, text, textBefore, characterBoundary, textAfter, newSelection, _this = this;
      if (_this._readOnly || !_this._selection.get$isValid())
        return;
      t1 = _this._selection;
      t2 = t1.start;
      if (t2 != t1.end)
        return _this._deleteSelection$2(t1, cause);
      text = _this.textSelectionDelegate._widget.controller._value.text;
      textBefore = J.substring$2$s(text, 0, t2);
      t1 = textBefore.length;
      if (t1 === 0)
        return;
      characterBoundary = D.RenderEditable__getLeftByWord(_this._textPainter, t1, false);
      textBefore = C.JSString_methods.substring$2(C.JSString_methods.trimRight$0(textBefore), 0, characterBoundary);
      textAfter = C.JSString_methods.substring$1(text, _this._selection.end);
      newSelection = X.TextSelection$collapsed(C.TextAffinity_1, characterBoundary);
      t1 = textBefore + textAfter;
      _this.textSelectionDelegate.userUpdateTextEditingValue$2(new N.TextEditingValue(t1, newSelection, C.TextRange_m1_m1), cause);
    },
    deleteByLine$1: function(cause) {
      var t1, t2, text, textBefore, textAfter, newSelection, _this = this;
      if (_this._readOnly || !_this._selection.get$isValid())
        return;
      t1 = _this._selection;
      t2 = t1.start;
      if (t2 != t1.end)
        return _this._deleteSelection$2(t1, cause);
      text = _this.textSelectionDelegate._widget.controller._value.text;
      textBefore = J.substring$2$s(text, 0, t2);
      t1 = textBefore.length;
      if (t1 === 0)
        return;
      --t1;
      if (C.JSString_methods.codeUnitAt$1(textBefore, t1) === 10)
        return;
      textBefore = C.JSString_methods.substring$2(textBefore, 0, _this._getLineAtOffset$1(new P.TextPosition(t1, C.TextAffinity_1)).start);
      textAfter = C.JSString_methods.substring$1(text, _this._selection.end);
      newSelection = X.TextSelection$collapsed(C.TextAffinity_1, textBefore.length);
      t1 = textBefore + textAfter;
      _this.textSelectionDelegate.userUpdateTextEditingValue$2(new N.TextEditingValue(t1, newSelection, C.TextRange_m1_m1), cause);
    },
    deleteForward$1: function(cause) {
      var t2, textAfter, textBefore, characterBoundary, composing, newComposingRange, t3, _this = this,
        t1 = _this.textSelectionDelegate._widget.controller._value,
        selection = t1.selection;
      if (!selection.get$isValid() || _this._readOnly || _this._deleteNonEmptySelection$1(cause))
        return;
      t2 = t1.text;
      textAfter = J.substring$1$s(t2, selection.end);
      if (textAfter.length === 0)
        return;
      textBefore = C.JSString_methods.substring$2(t2, 0, selection.start);
      characterBoundary = D.RenderEditable_nextCharacter(0, textAfter, true);
      composing = t1.composing;
      if (!composing.get$isValid() || composing.start == composing.end)
        newComposingRange = C.TextRange_m1_m1;
      else {
        t1 = composing.start;
        t2 = textBefore.length;
        t3 = composing.end;
        newComposingRange = new P.TextRange(t1 - C.JSInt_methods.clamp$2(t1 - t2, 0, characterBoundary), t3 - C.JSInt_methods.clamp$2(t3 - t2, 0, characterBoundary));
      }
      t1 = textBefore + C.JSString_methods.substring$1(textAfter, characterBoundary);
      _this.textSelectionDelegate.userUpdateTextEditingValue$2(new N.TextEditingValue(t1, selection, newComposingRange), cause);
    },
    deleteForwardByWord$2: function(cause, includeWhitespace) {
      var t1, t2, t3, text, textAfter, textBefore, _this = this;
      if (_this._readOnly || !_this._selection.get$isValid())
        return;
      t1 = _this._selection;
      t2 = t1.start;
      t3 = t1.end;
      if (t2 != t3)
        return _this._deleteSelection$2(t1, cause);
      text = _this.textSelectionDelegate._widget.controller._value.text;
      textAfter = J.substring$1$s(text, t3);
      if (textAfter.length === 0)
        return;
      textBefore = C.JSString_methods.substring$2(text, 0, t2);
      t1 = textBefore.length;
      t1 = textBefore + C.JSString_methods.substring$1(textAfter, D.RenderEditable__getRightByWord(_this._textPainter, t1, false) - t1);
      t2 = _this._selection;
      _this.textSelectionDelegate.userUpdateTextEditingValue$2(new N.TextEditingValue(t1, t2, C.TextRange_m1_m1), cause);
    },
    deleteForwardByLine$1: function(cause) {
      var t1, t2, t3, text, textAfter, textBefore, _this = this;
      if (_this._readOnly || !_this._selection.get$isValid())
        return;
      t1 = _this._selection;
      t2 = t1.start;
      t3 = t1.end;
      if (t2 != t3)
        return _this._deleteSelection$2(t1, cause);
      text = _this.textSelectionDelegate._widget.controller._value.text;
      textAfter = J.substring$1$s(text, t3);
      t1 = textAfter.length;
      if (t1 === 0)
        return;
      if (C.JSString_methods._codeUnitAt$1(textAfter, 0) === 10)
        return;
      textBefore = C.JSString_methods.substring$2(text, 0, t2);
      t2 = textBefore.length;
      t1 = textBefore + C.JSString_methods.substring$2(textAfter, _this._getLineAtOffset$1(new P.TextPosition(t2, C.TextAffinity_1)).end - t2, t1);
      t2 = _this._selection;
      _this.textSelectionDelegate.userUpdateTextEditingValue$2(new N.TextEditingValue(t1, t2, C.TextRange_m1_m1), cause);
    },
    extendSelectionDown$1: function(cause) {
      var positionBelow, nextSelection, t2, _this = this,
        t1 = _this._selection;
      if (t1.start == t1.end && t1.extentOffset >= _this.get$_editable$_plainText().length)
        return;
      if (!_this.get$selectionEnabled())
        return _this.moveSelectionDown$1(cause);
      positionBelow = _this._getTextPositionBelow$1(_this._selection.extentOffset);
      nextSelection = H._Cell$named("nextSelection");
      t1 = positionBelow.offset;
      t2 = _this._selection;
      if (t1 == t2.extentOffset) {
        nextSelection.set$finalLocalValue(t2.copyWith$1$extentOffset(_this.get$_editable$_plainText().length));
        _this._wasSelectingVerticallyWithKeyboard = true;
      } else if (_this._wasSelectingVerticallyWithKeyboard) {
        nextSelection.set$finalLocalValue(t2.copyWith$1$extentOffset(_this._cursorResetLocation));
        _this._wasSelectingVerticallyWithKeyboard = false;
      } else {
        nextSelection.set$finalLocalValue(t2.copyWith$1$extentOffset(t1));
        _this._cursorResetLocation = nextSelection._readLocal$0().extentOffset;
      }
      _this._setSelection$2(nextSelection._readLocal$0(), cause);
    },
    expandSelectionToEnd$1: function(cause) {
      var t1, _this = this;
      if (_this._selection.extentOffset === _this.get$_editable$_plainText().length)
        return;
      if (!_this.get$selectionEnabled())
        return _this.moveSelectionToEnd$1(cause);
      t1 = _this._selection;
      _this._setSelection$2(X.TextSelection$(C.TextAffinity_1, Math.max(0, Math.min(H.checkNum(t1.baseOffset), H.checkNum(t1.extentOffset))), _this.get$_editable$_plainText().length, false), cause);
    },
    extendSelectionLeft$1: function(cause) {
      var nextSelection, t1, _this = this;
      if (!_this.get$selectionEnabled())
        return _this.moveSelectionLeft$1(cause);
      nextSelection = D.RenderEditable__extendGivenSelectionLeft(_this._selection, _this.get$_editable$_plainText());
      if (nextSelection.$eq(0, _this._selection))
        return;
      t1 = _this._selection;
      _this._cursorResetLocation = _this._cursorResetLocation - (t1.extentOffset - nextSelection.extentOffset);
      _this._setSelection$2(nextSelection, cause);
    },
    extendSelectionLeftByLine$1: function(cause) {
      var selectedLine, nextSelection, t1, t2, _this = this;
      if (!_this.get$selectionEnabled())
        return _this.moveSelectionLeftByLine$1(cause);
      selectedLine = _this._getLineAtOffset$1(new P.TextPosition(D.RenderEditable_previousCharacter(_this._selection.extentOffset, _this.get$_editable$_plainText(), false), C.TextAffinity_1));
      nextSelection = H._Cell$named("nextSelection");
      t1 = _this._selection;
      t2 = t1.baseOffset;
      if (t1.extentOffset > t2)
        nextSelection.set$finalLocalValue(t1.copyWith$1$extentOffset(t2));
      else
        nextSelection.set$finalLocalValue(t1.copyWith$1$extentOffset(selectedLine.baseOffset));
      _this._setSelection$2(nextSelection._readLocal$0(), cause);
    },
    extendSelectionRight$1: function(cause) {
      var nextSelection, t1, _this = this;
      if (!_this.get$selectionEnabled())
        return _this.moveSelectionRight$1(cause);
      nextSelection = D.RenderEditable__extendGivenSelectionRight(_this._selection, _this.get$_editable$_plainText());
      if (nextSelection.$eq(0, _this._selection))
        return;
      t1 = _this._selection;
      _this._cursorResetLocation = _this._cursorResetLocation + (nextSelection.extentOffset - t1.extentOffset);
      _this._setSelection$2(nextSelection, cause);
    },
    extendSelectionRightByLine$1: function(cause) {
      var selectedLine, nextSelection, t1, t2, _this = this;
      if (!_this.get$selectionEnabled())
        return _this.moveSelectionRightByLine$1(cause);
      selectedLine = _this._getLineAtOffset$1(new P.TextPosition(D.RenderEditable_nextCharacter(_this._selection.extentOffset, _this.get$_editable$_plainText(), false), C.TextAffinity_1));
      nextSelection = H._Cell$named("nextSelection");
      t1 = _this._selection;
      t2 = t1.baseOffset;
      if (t1.extentOffset < t2)
        nextSelection.set$finalLocalValue(t1.copyWith$1$extentOffset(t2));
      else
        nextSelection.set$finalLocalValue(t1.copyWith$1$extentOffset(selectedLine.extentOffset));
      _this._setSelection$2(nextSelection._readLocal$0(), cause);
    },
    extendSelectionUp$1: function(cause) {
      var positionAbove, nextSelection, t2, t3, _this = this,
        t1 = _this._selection;
      if (t1.start == t1.end && t1.extentOffset <= 0)
        return;
      if (!_this.get$selectionEnabled())
        return _this.moveSelectionUp$1(cause);
      positionAbove = _this._getTextPositionAbove$1(_this._selection.extentOffset);
      nextSelection = H._Cell$named("nextSelection");
      t1 = positionAbove.offset;
      t2 = _this._selection;
      if (t1 == t2.extentOffset) {
        nextSelection.set$finalLocalValue(t2.copyWith$1$extentOffset(0));
        _this._wasSelectingVerticallyWithKeyboard = true;
      } else {
        t3 = t2.baseOffset;
        if (_this._wasSelectingVerticallyWithKeyboard) {
          nextSelection.set$finalLocalValue(t2.copyWith$2$baseOffset$extentOffset(t3, _this._cursorResetLocation));
          _this._wasSelectingVerticallyWithKeyboard = false;
        } else {
          nextSelection.set$finalLocalValue(t2.copyWith$2$baseOffset$extentOffset(t3, t1));
          _this._cursorResetLocation = nextSelection._readLocal$0().extentOffset;
        }
      }
      _this._setSelection$2(nextSelection._readLocal$0(), cause);
    },
    expandSelectionToStart$1: function(cause) {
      var t1, _this = this;
      if (_this._selection.extentOffset === 0)
        return;
      if (!_this.get$selectionEnabled())
        return _this.moveSelectionToStart$1(cause);
      t1 = _this._selection;
      _this._setSelection$2(X.TextSelection$(C.TextAffinity_1, Math.max(0, Math.max(H.checkNum(t1.baseOffset), H.checkNum(t1.extentOffset))), 0, false), cause);
    },
    expandSelectionLeftByLine$1: function(cause) {
      var t1, selectedLine, nextSelection, t2, _this = this;
      if (!_this.get$selectionEnabled())
        return _this.moveSelectionLeftByLine$1(cause);
      t1 = _this._selection;
      selectedLine = _this._getLineAtOffset$1(new P.TextPosition(D.RenderEditable_previousCharacter(Math.min(H.checkNum(t1.baseOffset), H.checkNum(t1.extentOffset)), _this.get$_editable$_plainText(), false), C.TextAffinity_1));
      nextSelection = H._Cell$named("nextSelection");
      t1 = _this._selection;
      t2 = selectedLine.baseOffset;
      if (t1.extentOffset <= t1.baseOffset)
        nextSelection.set$finalLocalValue(t1.copyWith$1$extentOffset(t2));
      else
        nextSelection.set$finalLocalValue(t1.copyWith$1$baseOffset(t2));
      _this._setSelection$2(nextSelection._readLocal$0(), cause);
    },
    extendSelectionLeftByWord$3: function(cause, includeWhitespace, stopAtReversal) {
      var _this = this,
        nextSelection = D.RenderEditable__extendGivenSelectionLeftByWord(_this._textPainter, _this._selection, false, stopAtReversal);
      if (nextSelection.$eq(0, _this._selection))
        return;
      _this._setSelection$2(nextSelection, cause);
    },
    extendSelectionLeftByWord$2: function(cause, includeWhitespace) {
      return this.extendSelectionLeftByWord$3(cause, includeWhitespace, false);
    },
    extendSelectionRightByWord$3: function(cause, includeWhitespace, stopAtReversal) {
      var _this = this,
        nextSelection = D.RenderEditable__extendGivenSelectionRightByWord(_this._textPainter, _this._selection, false, stopAtReversal);
      if (nextSelection.$eq(0, _this._selection))
        return;
      _this._setSelection$2(nextSelection, cause);
    },
    extendSelectionRightByWord$2: function(cause, includeWhitespace) {
      return this.extendSelectionRightByWord$3(cause, includeWhitespace, false);
    },
    expandSelectionRightByLine$1: function(cause) {
      var t1, selectedLine, nextSelection, t2, _this = this;
      if (!_this.get$selectionEnabled())
        return _this.moveSelectionRightByLine$1(cause);
      t1 = _this._selection;
      selectedLine = _this._getLineAtOffset$1(new P.TextPosition(D.RenderEditable_nextCharacter(Math.max(H.checkNum(t1.baseOffset), H.checkNum(t1.extentOffset)), _this.get$_editable$_plainText(), false), C.TextAffinity_1));
      nextSelection = H._Cell$named("nextSelection");
      t1 = _this._selection;
      t2 = selectedLine.extentOffset;
      if (t1.extentOffset >= t1.baseOffset)
        nextSelection.set$finalLocalValue(t1.copyWith$1$extentOffset(t2));
      else
        nextSelection.set$finalLocalValue(t1.copyWith$1$baseOffset(t2));
      _this._setSelection$2(nextSelection._readLocal$0(), cause);
    },
    moveSelectionDown$1: function(cause) {
      var positionBelow, nextSelection, _this = this,
        t1 = _this._selection;
      if (t1.start == t1.end && t1.extentOffset >= _this.get$_editable$_plainText().length)
        return;
      positionBelow = _this._getTextPositionBelow$1(_this._selection.extentOffset);
      nextSelection = H._Cell$named("nextSelection");
      t1 = _this._selection;
      if (positionBelow.offset == t1.extentOffset) {
        nextSelection.set$finalLocalValue(t1.copyWith$2$baseOffset$extentOffset(_this.get$_editable$_plainText().length, _this.get$_editable$_plainText().length));
        _this._wasSelectingVerticallyWithKeyboard = false;
      } else {
        nextSelection.set$finalLocalValue(X.TextSelection$fromPosition(positionBelow));
        _this._cursorResetLocation = nextSelection._readLocal$0().extentOffset;
      }
      _this._setSelection$2(nextSelection._readLocal$0(), cause);
    },
    moveSelectionLeft$1: function(cause) {
      var _this = this,
        nextSelection = D.RenderEditable__moveGivenSelectionLeft(_this._selection, _this.get$_editable$_plainText());
      if (nextSelection.$eq(0, _this._selection))
        return;
      _this._cursorResetLocation = _this._cursorResetLocation - (_this._selection.extentOffset - nextSelection.extentOffset);
      _this._setSelection$2(nextSelection, cause);
    },
    moveSelectionLeftByLine$1: function(cause) {
      var _this = this,
        previousPoint = D.RenderEditable_previousCharacter(_this._selection.extentOffset, _this.get$_editable$_plainText(), true);
      if (_this._getLineAtOffset$1(new P.TextPosition(previousPoint, C.TextAffinity_1)).extentOffset === previousPoint)
        return;
      _this._setSelection$2(X.TextSelection$collapsed(C.TextAffinity_1, _this._getLineAtOffset$1(new P.TextPosition(D.RenderEditable_previousCharacter(_this._selection.extentOffset, _this.get$_editable$_plainText(), false), C.TextAffinity_1)).baseOffset), cause);
    },
    moveSelectionLeftByWord$2: function(cause, includeWhitespace) {
      var _this = this,
        nextSelection = D.RenderEditable__moveGivenSelectionLeftByWord(_this._textPainter, _this._selection, false);
      if (nextSelection.$eq(0, _this._selection))
        return;
      _this._setSelection$2(nextSelection, cause);
    },
    moveSelectionRight$1: function(cause) {
      var _this = this,
        nextSelection = D.RenderEditable__moveGivenSelectionRight(_this._selection, _this.get$_editable$_plainText());
      if (nextSelection.$eq(0, _this._selection))
        return;
      _this._setSelection$2(nextSelection, cause);
    },
    moveSelectionRightByLine$1: function(cause) {
      var _this = this,
        currentLine = _this._getLineAtOffset$1(new P.TextPosition(_this._selection.extentOffset, C.TextAffinity_1)),
        t1 = _this._selection.extentOffset;
      if (currentLine.extentOffset == t1)
        return;
      _this._setSelection$2(X.TextSelection$collapsed(C.TextAffinity_1, _this._getLineAtOffset$1(new P.TextPosition(D.RenderEditable_nextCharacter(t1, _this.get$_editable$_plainText(), false), C.TextAffinity_1)).extentOffset), cause);
    },
    moveSelectionRightByWord$2: function(cause, includeWhitespace) {
      var _this = this,
        nextSelection = D.RenderEditable__moveGivenSelectionRightByWord(_this._textPainter, _this._selection, false);
      if (nextSelection.$eq(0, _this._selection))
        return;
      _this._setSelection$2(nextSelection, cause);
    },
    moveSelectionToEnd$1: function(cause) {
      var _this = this,
        t1 = _this._selection;
      if (t1.start == t1.end && t1.extentOffset === _this.get$_editable$_plainText().length)
        return;
      _this._setSelection$2(X.TextSelection$collapsed(C.TextAffinity_1, _this.get$_editable$_plainText().length), cause);
    },
    moveSelectionToStart$1: function(cause) {
      var t1 = this._selection;
      if (t1.start == t1.end && t1.extentOffset === 0)
        return;
      this._setSelection$2(C.TextSelection_cYr, cause);
    },
    moveSelectionUp$1: function(cause) {
      var positionAbove, nextSelection, t2, _this = this,
        t1 = _this._selection;
      if (t1.start == t1.end && t1.extentOffset <= 0)
        return;
      positionAbove = _this._getTextPositionAbove$1(t1.extentOffset);
      nextSelection = H._Cell$named("nextSelection");
      t1 = positionAbove.offset;
      t2 = _this._selection;
      if (t1 == t2.extentOffset) {
        nextSelection.set$finalLocalValue(t2.copyWith$2$baseOffset$extentOffset(0, 0));
        _this._wasSelectingVerticallyWithKeyboard = false;
      } else {
        nextSelection.set$finalLocalValue(t2.copyWith$2$baseOffset$extentOffset(t1, t1));
        _this._cursorResetLocation = nextSelection._readLocal$0().extentOffset;
      }
      _this._setSelection$2(nextSelection._readLocal$0(), cause);
    },
    markNeedsPaint$0: function() {
      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: function() {
      this._textLayoutLastMinWidth = this._textLayoutLastMaxWidth = null;
      this.markNeedsLayout$0();
    },
    systemFontsDidChange$0: function() {
      var _this = this;
      _this.super$RelayoutWhenSystemFontsChangeMixin$systemFontsDidChange();
      _this._textPainter.markNeedsLayout$0();
      _this._textLayoutLastMinWidth = _this._textLayoutLastMaxWidth = null;
    },
    get$_editable$_plainText: function() {
      var t1 = this._cachedPlainText;
      return t1 == null ? this._cachedPlainText = this._textPainter._text_painter$_text.toPlainText$1$includeSemanticsLabels(false) : t1;
    },
    get$text: function(_) {
      return this._textPainter._text_painter$_text;
    },
    set$text: function(_, value) {
      var _this = this,
        t1 = _this._textPainter;
      if (J.$eq$(t1._text_painter$_text, value))
        return;
      t1.set$text(0, value);
      _this._cachedPlainText = null;
      _this.markNeedsTextLayout$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    set$textAlign: function(_, value) {
      var t1 = this._textPainter;
      if (t1._text_painter$_textAlign === value)
        return;
      t1.set$textAlign(0, value);
      this.markNeedsTextLayout$0();
    },
    set$textDirection: function(_, value) {
      var t1 = this._textPainter;
      if (t1._text_painter$_textDirection === value)
        return;
      t1.set$textDirection(0, value);
      this.markNeedsTextLayout$0();
      this.markNeedsSemanticsUpdate$0();
    },
    set$locale: function(_, value) {
      var t1 = this._textPainter;
      if (J.$eq$(t1._text_painter$_locale, value))
        return;
      t1.set$locale(0, value);
      this.markNeedsTextLayout$0();
    },
    set$strutStyle: function(_, value) {
      var t1 = this._textPainter;
      if (J.$eq$(t1._text_painter$_strutStyle, value))
        return;
      t1.set$strutStyle(0, value);
      this.markNeedsTextLayout$0();
    },
    set$showCursor: function(value) {
      var _this = this,
        t1 = _this._showCursor;
      if (t1 === value)
        return;
      if (_this._node$_owner != null)
        t1.removeListener$1(0, _this.get$_showHideCursor());
      _this._showCursor = value;
      if (_this._node$_owner != null) {
        _this.get$_caretPainter().set$shouldPaint(_this._showCursor._value);
        _this._showCursor.addListener$1(0, _this.get$_showHideCursor());
      }
    },
    _showHideCursor$0: function() {
      this.get$_caretPainter().set$shouldPaint(this._showCursor._value);
    },
    set$hasFocus: function(value) {
      var t1, _this = this;
      if (_this._hasFocus === value)
        return;
      _this._hasFocus = value;
      _this.markNeedsSemanticsUpdate$0();
      if (_this._node$_owner == null)
        return;
      t1 = _this.get$_editable$_handleKeyEvent();
      if (_this._hasFocus) {
        $.$get$RawKeyboard_instance()._raw_keyboard$_listeners.push(t1);
        _this._listenerAttached = true;
      } else {
        C.JSArray_methods.remove$1($.$get$RawKeyboard_instance()._raw_keyboard$_listeners, t1);
        _this._listenerAttached = false;
      }
    },
    set$forceLine: function(value) {
      if (this._forceLine === value)
        return;
      this._forceLine = value;
      this.markNeedsLayout$0();
    },
    set$readOnly: function(_, value) {
      if (this._readOnly === value)
        return;
      this._readOnly = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$maxLines: function(_, value) {
      if (this._editable$_maxLines == value)
        return;
      this._editable$_maxLines = value;
      this.markNeedsTextLayout$0();
    },
    set$minLines: function(value) {
      if (this._minLines == value)
        return;
      this._minLines = value;
      this.markNeedsTextLayout$0();
    },
    set$expands: function(value) {
      return;
    },
    set$textScaleFactor: function(value) {
      var t1 = this._textPainter;
      if (t1._textScaleFactor === value)
        return;
      t1.set$textScaleFactor(value);
      this.markNeedsTextLayout$0();
    },
    set$selection: function(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: function(_, value) {
      var _this = this,
        t1 = _this._editable$_offset;
      if (t1 == value)
        return;
      if (_this._node$_owner != null)
        t1.removeListener$1(0, _this.get$markNeedsPaint());
      _this._editable$_offset = value;
      if (_this._node$_owner != null)
        value.addListener$1(0, _this.get$markNeedsPaint());
      _this.markNeedsLayout$0();
    },
    set$cursorWidth: function(value) {
      if (this._cursorWidth === value)
        return;
      this._cursorWidth = value;
      this.markNeedsLayout$0();
    },
    set$cursorHeight: function(value) {
      return;
    },
    set$paintCursorAboveText: function(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: function(value) {
      if (this._editable$_startHandleLayerLink === value)
        return;
      this._editable$_startHandleLayerLink = value;
      this.markNeedsPaint$0();
    },
    set$endHandleLayerLink: function(value) {
      if (this._editable$_endHandleLayerLink === value)
        return;
      this._editable$_endHandleLayerLink = value;
      this.markNeedsPaint$0();
    },
    get$selectionEnabled: function() {
      return true;
    },
    describeSemanticsConfiguration$1: function(config) {
      var t1, t2, collector, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      t1 = _this._textPainter;
      t2 = t1._text_painter$_text;
      t2.toString;
      collector = H._setArrayType([], type$.JSArray_InlineSpanSemanticsInformation);
      t2.computeSemanticsInformation$1(collector);
      _this._editable$_semanticsInfo = collector;
      if (C.JSArray_methods.any$1(collector, new D.RenderEditable_describeSemanticsConfiguration_closure()) && U.defaultTargetPlatform() !== C.TargetPlatform_4) {
        config.explicitChildNodes = config._isSemanticBoundary = true;
        return;
      }
      t2 = _this.get$_editable$_plainText();
      config._semantics$_value = t2;
      config._hasBeenAnnotated = true;
      config._setFlag$2(C.SemanticsFlag_1024, false);
      config._setFlag$2(C.SemanticsFlag_524288, _this._editable$_maxLines !== 1);
      t2 = t1._text_painter$_textDirection;
      t2.toString;
      config._textDirection = t2;
      config._hasBeenAnnotated = true;
      config._setFlag$2(C.SemanticsFlag_32, _this._hasFocus);
      config._setFlag$2(C.SemanticsFlag_16, true);
      config._setFlag$2(C.SemanticsFlag_1048576, _this._readOnly);
      if (_this._hasFocus && _this.get$selectionEnabled())
        config.set$onSetSelection(_this.get$_handleSetSelection());
      if (_this._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: function(text) {
      this.textSelectionDelegate.userUpdateTextEditingValue$2(new N.TextEditingValue(text, X.TextSelection$collapsed(C.TextAffinity_1, text.length), C.TextRange_m1_m1), C.SelectionChangedCause_4);
    },
    assembleSemanticsNode$3: function(node, config, children) {
      var newChildCache, t3, t4, t5, t6, t7, t8, t9, currentRect, currentDirection, ordinal, start, _i, info, start0, t10, t11, rects, rect, currentDirection0, t12, t13, configuration, ordinal0, recognizer, newChild, _this = this, _null = null,
        newChildren = H._setArrayType([], type$.JSArray_SemanticsNode),
        t1 = _this._textPainter,
        t2 = t1._text_painter$_textDirection;
      t2.toString;
      newChildCache = P.ListQueue$(_null, type$.SemanticsNode);
      t3 = _this._editable$_semanticsInfo;
      t3.toString;
      t3 = G.combineSemanticsInfo(t3);
      t4 = t3.length;
      t5 = type$.BoxConstraints;
      t6 = type$.SemanticsAction;
      t7 = type$.void_Function_nullable_Object;
      t8 = type$.CustomSemanticsAction;
      t9 = type$.void_Function;
      currentRect = _null;
      currentDirection = t2;
      ordinal = 0;
      start = 0;
      _i = 0;
      for (; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i, start = start0) {
        info = t3[_i];
        t2 = info.text;
        start0 = start + t2.length;
        t10 = start < start0;
        t11 = t10 ? start0 : start;
        t10 = t10 ? start : start0;
        rects = t1._text_painter$_paragraph.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(t10, t11, C.BoxHeightStyle_0, C.BoxWidthStyle_0);
        if (rects.length === 0)
          continue;
        t10 = C.JSArray_methods.get$first(rects);
        rect = new P.Rect(t10.left, t10.top, t10.right, t10.bottom);
        currentDirection0 = C.JSArray_methods.get$first(rects).direction;
        for (t10 = H._arrayInstanceType(rects), t11 = t10._eval$1("SubListIterable<1>"), t12 = new H.SubListIterable(rects, 1, _null, t11), t12.SubListIterable$3(rects, 1, _null, t10._precomputed1), t11 = new H.ListIterator(t12, t12.get$length(t12), t11._eval$1("ListIterator<ListIterable.E>")); t11.moveNext$0();) {
          t10 = t11.__internal$_current;
          rect = rect.expandToInclude$1(new P.Rect(t10.left, t10.top, t10.right, t10.bottom));
          currentDirection0 = t10.direction;
        }
        t10 = rect.left;
        t11 = Math.max(0, H.checkNum(t10));
        t12 = rect.top;
        t13 = Math.max(0, H.checkNum(t12));
        t10 = Math.min(rect.right - t10, H.checkNum(t5._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth));
        t12 = Math.min(rect.bottom - t12, H.checkNum(t5._as(K.RenderObject.prototype.get$constraints.call(_this)).maxHeight));
        currentRect = new P.Rect(Math.floor(t11) - 4, Math.floor(t13) - 4, Math.ceil(t11 + t10) + 4, Math.ceil(t13 + t12) + 4);
        configuration = new A.SemanticsConfiguration(P.LinkedHashMap_LinkedHashMap$_empty(t6, t7), P.LinkedHashMap_LinkedHashMap$_empty(t8, t9));
        ordinal0 = ordinal + 1;
        configuration._sortKey = new A.OrdinalSortKey(ordinal, _null);
        configuration._hasBeenAnnotated = true;
        configuration._textDirection = currentDirection;
        t12 = info.semanticsLabel;
        configuration._label = t12 == null ? t2 : t12;
        recognizer = info.recognizer;
        if (recognizer != null) {
          t2 = recognizer.onTap;
          if (t2 != null) {
            configuration._addArgumentlessAction$2(C.SemanticsAction_1, t2);
            configuration._semantics$_onTap = t2;
            configuration._setFlag$2(C.SemanticsFlag_4194304, true);
          }
        }
        t2 = _this._editable$_cachedChildNodes;
        newChild = (t2 == null ? _null : !t2.get$isEmpty(t2)) === true ? _this._editable$_cachedChildNodes.removeFirst$0() : A.SemanticsNode$(_null, _null);
        newChild.updateWith$1$config(0, configuration);
        if (!J.$eq$(newChild._semantics$_rect, currentRect)) {
          newChild._semantics$_rect = currentRect;
          newChild._markDirty$0();
        }
        newChildCache._add$1(0, newChild);
        newChildren.push(newChild);
        ordinal = ordinal0;
        currentDirection = currentDirection0;
      }
      _this._editable$_cachedChildNodes = newChildCache;
      node.updateWith$2$childrenInInversePaintOrder$config(0, newChildren, config);
    },
    _handleSetSelection$1: function(selection) {
      this._setSelection$2(selection, C.SelectionChangedCause_4);
    },
    _handleMoveCursorForwardByCharacter$1: function(extentSelection) {
      var _this = this,
        extentOffset = _this._textPainter.getOffsetAfter$1(_this._selection.extentOffset);
      if (extentOffset == null)
        return;
      _this._setSelection$2(X.TextSelection$(C.TextAffinity_1, !extentSelection ? extentOffset : _this._selection.baseOffset, extentOffset, false), C.SelectionChangedCause_4);
    },
    _handleMoveCursorBackwardByCharacter$1: function(extentSelection) {
      var _this = this,
        extentOffset = _this._textPainter.getOffsetBefore$1(_this._selection.extentOffset);
      if (extentOffset == null)
        return;
      _this._setSelection$2(X.TextSelection$(C.TextAffinity_1, !extentSelection ? extentOffset : _this._selection.baseOffset, extentOffset, false), C.SelectionChangedCause_4);
    },
    _handleMoveCursorForwardByWord$1: function(extentSelection) {
      var baseOffset, _this = this,
        t1 = _this._selection,
        nextWord = _this._getNextWord$1(_this._textPainter._text_painter$_paragraph.getWordBoundary$1(0, new P.TextPosition(t1.extentOffset, t1.affinity)).end);
      if (nextWord == null)
        return;
      baseOffset = extentSelection ? _this._selection.baseOffset : nextWord.start;
      _this._setSelection$2(X.TextSelection$(C.TextAffinity_1, baseOffset, nextWord.start, false), C.SelectionChangedCause_4);
    },
    _handleMoveCursorBackwardByWord$1: function(extentSelection) {
      var baseOffset, _this = this,
        t1 = _this._selection,
        previousWord = _this._getPreviousWord$1(_this._textPainter._text_painter$_paragraph.getWordBoundary$1(0, new P.TextPosition(t1.extentOffset, t1.affinity)).start - 1);
      if (previousWord == null)
        return;
      baseOffset = extentSelection ? _this._selection.baseOffset : previousWord.start;
      _this._setSelection$2(X.TextSelection$(C.TextAffinity_1, baseOffset, previousWord.start, false), C.SelectionChangedCause_4);
    },
    _getNextWord$1: function(offset) {
      var t1, range, t2;
      for (t1 = this._textPainter; true;) {
        range = t1._text_painter$_paragraph.getWordBoundary$1(0, new P.TextPosition(offset, C.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: function(offset) {
      var t1, range, t2;
      for (t1 = this._textPainter; offset >= 0;) {
        range = t1._text_painter$_paragraph.getWordBoundary$1(0, new P.TextPosition(offset, C.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: function(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 (!D._isWhitespace(t3))
          return false;
      }
      return true;
    },
    attach$1: function(owner) {
      var t1, _this = this, _null = null;
      _this.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin$attach(owner);
      t1 = _this._foregroundRenderObject;
      if (t1 != null)
        t1.attach$1(owner);
      t1 = _this._backgroundRenderObject;
      if (t1 != null)
        t1.attach$1(owner);
      t1 = N.TapGestureRecognizer$(_this);
      t1.onTapDown = _this.get$_editable$_handleTapDown();
      t1.onTap = _this.get$_editable$_handleTap();
      _this.__RenderEditable__tap = t1;
      t1 = T.LongPressGestureRecognizer$(_this, _null, _null, _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._value);
      _this._showCursor.addListener$1(0, _this.get$_showHideCursor());
      if (_this._hasFocus) {
        $.$get$RawKeyboard_instance()._raw_keyboard$_listeners.push(_this.get$_editable$_handleKeyEvent());
        _this._listenerAttached = true;
      }
    },
    detach$0: function(_) {
      var _this = this,
        t1 = _this.get$_tap();
      t1._stopTimer$0();
      t1.super$OneSequenceGestureRecognizer$dispose(0);
      t1 = _this.get$_longPress();
      t1._stopTimer$0();
      t1.super$OneSequenceGestureRecognizer$dispose(0);
      _this._editable$_offset.removeListener$1(0, _this.get$markNeedsPaint());
      _this._showCursor.removeListener$1(0, _this.get$_showHideCursor());
      if (_this._listenerAttached) {
        C.JSArray_methods.remove$1($.$get$RawKeyboard_instance()._raw_keyboard$_listeners, _this.get$_editable$_handleKeyEvent());
        _this._listenerAttached = false;
      }
      _this.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin$detach(0);
      t1 = _this._foregroundRenderObject;
      if (t1 != null)
        t1.detach$0(0);
      t1 = _this._backgroundRenderObject;
      if (t1 != null)
        t1.detach$0(0);
    },
    redepthChildren$0: function() {
      var _this = this,
        foregroundChild = _this._foregroundRenderObject,
        backgroundChild = _this._backgroundRenderObject;
      if (foregroundChild != null)
        _this.redepthChild$1(foregroundChild);
      if (backgroundChild != null)
        _this.redepthChild$1(backgroundChild);
    },
    visitChildren$1: function(visitor) {
      var foregroundChild = this._foregroundRenderObject,
        backgroundChild = this._backgroundRenderObject;
      if (foregroundChild != null)
        visitor.call$1(foregroundChild);
      if (backgroundChild != null)
        visitor.call$1(backgroundChild);
    },
    get$_paintOffset: function() {
      switch (this._editable$_maxLines !== 1 ? C.Axis_1 : C.Axis_0) {
        case C.Axis_0:
          var t1 = this._editable$_offset._pixels;
          t1.toString;
          return new P.Offset(-t1, 0);
        case C.Axis_1:
          t1 = this._editable$_offset._pixels;
          t1.toString;
          return new P.Offset(0, -t1);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$_editable$_viewportExtent: function() {
      switch (this._editable$_maxLines !== 1 ? C.Axis_1 : C.Axis_0) {
        case C.Axis_0:
          return this._box$_size._dx;
        case C.Axis_1:
          return this._box$_size._dy;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _getMaxScrollExtent$1: function(contentSize) {
      switch (this._editable$_maxLines !== 1 ? C.Axis_1 : C.Axis_0) {
        case C.Axis_0:
          return Math.max(0, contentSize._dx - this._box$_size._dx);
        case C.Axis_1:
          return Math.max(0, contentSize._dy - this._box$_size._dy);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    getEndpointsForSelection$1: function(selection) {
      var paintOffset, boxes, caretOffset, start, end, _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).minWidth;
      _this._layoutText$2$maxWidth$minWidth(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth, t2);
      paintOffset = _this.get$_paintOffset();
      boxes = selection.start == selection.end ? H._setArrayType([], type$.JSArray_TextBox) : _this._textPainter.getBoxesForSelection$1(selection);
      if (boxes.length === 0) {
        t1 = _this._textPainter;
        t1._computeCaretMetrics$2(new P.TextPosition(selection.extentOffset, selection.affinity), _this.get$_caretPrototype());
        caretOffset = t1.get$_caretMetrics().offset;
        return H._setArrayType([new D.TextSelectionPoint(new P.Offset(0, t1.get$preferredLineHeight()).$add(0, caretOffset).$add(0, paintOffset), null)], type$.JSArray_TextSelectionPoint);
      } else {
        t1 = C.JSArray_methods.get$first(boxes);
        t1 = t1.direction === C.TextDirection_1 ? t1.left : t1.right;
        start = new P.Offset(t1, C.JSArray_methods.get$first(boxes).bottom).$add(0, paintOffset);
        t1 = C.JSArray_methods.get$last(boxes);
        t1 = t1.direction === C.TextDirection_1 ? t1.right : t1.left;
        end = new P.Offset(t1, C.JSArray_methods.get$last(boxes).bottom).$add(0, paintOffset);
        return H._setArrayType([new D.TextSelectionPoint(start, C.JSArray_methods.get$first(boxes).direction), new D.TextSelectionPoint(end, C.JSArray_methods.get$last(boxes).direction)], type$.JSArray_TextSelectionPoint);
      }
    },
    getRectForComposingRange$1: function(range) {
      var t1, t2, _this = this;
      if (!range.get$isValid() || range.start == range.end)
        return null;
      t1 = type$.BoxConstraints;
      t2 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).minWidth;
      _this._layoutText$2$maxWidth$minWidth(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth, t2);
      t2 = C.JSArray_methods.fold$2(_this._textPainter.getBoxesForSelection$1(X.TextSelection$(C.TextAffinity_1, range.start, range.end, false)), null, new D.RenderEditable_getRectForComposingRange_closure());
      return t2 == null ? null : t2.shift$1(_this.get$_paintOffset());
    },
    getPositionForPoint$1: function(globalPosition) {
      var _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).minWidth;
      _this._layoutText$2$maxWidth$minWidth(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth, t2);
      t2 = _this.get$_paintOffset();
      t2 = _this.globalToLocal$1(globalPosition.$add(0, new P.Offset(-t2._dx, -t2._dy)));
      return _this._textPainter._text_painter$_paragraph.getPositionForOffset$1(t2);
    },
    getLocalRectForCaret$1: function(caretPosition) {
      var caretOffset, rect, _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).minWidth;
      _this._layoutText$2$maxWidth$minWidth(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth, t2);
      t2 = _this._textPainter;
      t2._computeCaretMetrics$2(caretPosition, _this.get$_caretPrototype());
      caretOffset = t2.get$_caretMetrics().offset;
      t1 = _this._cursorWidth;
      t2 = t2.get$preferredLineHeight();
      rect = new P.Rect(0, 0, t1, 0 + t2).shift$1(caretOffset.$add(0, _this.get$_paintOffset()).$add(0, _this.get$_caretPainter()._cursorOffset));
      return rect.shift$1(_this._snapToPhysicalPixel$1(new P.Offset(rect.left, rect.top)));
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t1;
      this._layoutText$1$maxWidth(1 / 0);
      t1 = this._textPainter._text_painter$_paragraph.get$minIntrinsicWidth();
      t1.toString;
      return Math.ceil(t1);
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1;
      this._layoutText$1$maxWidth(1 / 0);
      t1 = this._textPainter._text_painter$_paragraph.get$maxIntrinsicWidth();
      t1.toString;
      return Math.ceil(t1) + (1 + this._cursorWidth);
    },
    _preferredHeight$1: function(width) {
      var minLimited, text, lines, index, _this = this,
        t1 = _this._editable$_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._editable$_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._text_painter$_paragraph;
          t3 = t3.get$height(t3);
          t3.toString;
          t3 = Math.ceil(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._text_painter$_paragraph;
          t2 = t2.get$height(t2);
          t2.toString;
          t2 = Math.ceil(t2);
          t1 = t1.get$preferredLineHeight();
          t3 = _this._editable$_maxLines;
          t3.toString;
          t3 = t2 > t1 * t3;
          t1 = t3;
        } else
          t1 = false;
        if (t1) {
          t1 = _this._textPainter.get$preferredLineHeight();
          t2 = _this._editable$_maxLines;
          t2.toString;
          return t1 * t2;
        }
      }
      if (width === 1 / 0) {
        text = _this.get$_editable$_plainText();
        for (t1 = text.length, lines = 1, index = 0; index < t1; ++index)
          if (C.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._text_painter$_paragraph;
      t1 = t1.get$height(t1);
      t1.toString;
      t1 = Math.ceil(t1);
      return Math.max(H.checkNum(t2), t1);
    },
    computeMinIntrinsicHeight$1: function(width) {
      return this._preferredHeight$1(width);
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return this._preferredHeight$1(width);
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      var _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).minWidth;
      _this._layoutText$2$maxWidth$minWidth(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth, t2);
      return _this._textPainter.computeDistanceToActualBaseline$1(baseline);
    },
    hitTestSelf$1: function(position) {
      return true;
    },
    hitTestChildren$2$position: function(result, position) {
      var effectivePosition = position.$sub(0, this.get$_paintOffset()),
        t1 = this._textPainter,
        textPosition = t1._text_painter$_paragraph.getPositionForOffset$1(effectivePosition),
        span = t1._text_painter$_text.getSpanForPosition$1(textPosition);
      if (span != null && true) {
        t1 = new O.HitTestEntry(span);
        result._globalizeTransforms$0();
        t1._transform = C.JSArray_methods.get$last(result._transforms);
        result._path.push(t1);
        return true;
      }
      return false;
    },
    get$_tap: function() {
      var t1 = this.__RenderEditable__tap;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_tap")) : t1;
    },
    get$_longPress: function() {
      var t1 = this.__RenderEditable__longPress;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_longPress")) : t1;
    },
    handleEvent$2: function($event, entry) {
      type$.PointerDownEvent._is($event);
    },
    _editable$_handleTapDown$1: function(details) {
      this._lastTapDownPosition = details.globalPosition;
    },
    _editable$_handleTap$0: function() {
      var t1 = this._lastTapDownPosition;
      t1.toString;
      this.selectPositionAt$2$cause$from(C.SelectionChangedCause_0, t1);
    },
    _editable$_handleLongPress$0: function() {
      var t1 = this._lastTapDownPosition;
      t1.toString;
      this.selectWordsInRange$2$cause$from(C.SelectionChangedCause_2, t1);
    },
    selectPositionAt$3$cause$from$to: function(cause, from, to) {
      var fromPosition, toPosition, baseOffset, extentOffset, _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).minWidth;
      _this._layoutText$2$maxWidth$minWidth(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth, t2);
      t2 = _this._textPainter;
      t1 = _this.globalToLocal$1(from.$sub(0, _this.get$_paintOffset()));
      fromPosition = t2._text_painter$_paragraph.getPositionForOffset$1(t1);
      if (to == null)
        toPosition = null;
      else {
        t1 = _this.globalToLocal$1(to.$sub(0, _this.get$_paintOffset()));
        toPosition = t2._text_painter$_paragraph.getPositionForOffset$1(t1);
      }
      baseOffset = fromPosition.offset;
      extentOffset = toPosition == null ? null : toPosition.offset;
      if (extentOffset == null)
        extentOffset = baseOffset;
      _this._setSelection$2(X.TextSelection$(fromPosition.affinity, baseOffset, extentOffset, false), cause);
    },
    selectPositionAt$2$cause$from: function(cause, from) {
      return this.selectPositionAt$3$cause$from$to(cause, from, null);
    },
    selectWordsInRange$3$cause$from$to: function(cause, from, to) {
      var firstWord, lastWord, _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).minWidth;
      _this._layoutText$2$maxWidth$minWidth(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth, t2);
      t2 = _this._textPainter;
      t1 = _this.globalToLocal$1(from.$sub(0, _this.get$_paintOffset()));
      firstWord = _this._getWordAtOffset$1(t2._text_painter$_paragraph.getPositionForOffset$1(t1));
      if (to == null)
        lastWord = firstWord;
      else {
        t1 = _this.globalToLocal$1(to.$sub(0, _this.get$_paintOffset()));
        lastWord = _this._getWordAtOffset$1(t2._text_painter$_paragraph.getPositionForOffset$1(t1));
      }
      _this._setSelection$2(X.TextSelection$(firstWord.affinity, firstWord.baseOffset, lastWord.extentOffset, false), cause);
    },
    selectWordsInRange$2$cause$from: function(cause, from) {
      return this.selectWordsInRange$3$cause$from$to(cause, from, null);
    },
    selectWordEdge$1$cause: function(cause) {
      var position, word, newSelection, _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).minWidth;
      _this._layoutText$2$maxWidth$minWidth(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth, t2);
      t2 = _this._textPainter;
      t1 = _this._lastTapDownPosition;
      t1.toString;
      t1 = _this.globalToLocal$1(t1.$sub(0, _this.get$_paintOffset()));
      position = t2._text_painter$_paragraph.getPositionForOffset$1(t1);
      word = t2._text_painter$_paragraph.getWordBoundary$1(0, position);
      newSelection = H._Cell$named("newSelection");
      t1 = word.start;
      if (position.offset - t1 <= 1)
        newSelection.__late_helper$_value = X.TextSelection$collapsed(C.TextAffinity_1, t1);
      else
        newSelection.__late_helper$_value = X.TextSelection$collapsed(C.TextAffinity_0, word.end);
      _this._setSelection$2(newSelection._readLocal$0(), cause);
    },
    _getWordAtOffset$1: function(position) {
      var t3, previousWord, nextWord, _this = this,
        word = _this._textPainter._text_painter$_paragraph.getWordBoundary$1(0, position),
        t1 = position.offset,
        t2 = word.end;
      if (t1 >= t2)
        return X.TextSelection$fromPosition(position);
      if (D._isWhitespace(J.codeUnitAt$1$s(_this.get$_editable$_plainText(), t1)) && t1 > 0) {
        t3 = word.start;
        previousWord = _this._getPreviousWord$1(t3);
        switch (U.defaultTargetPlatform()) {
          case C.TargetPlatform_2:
            if (previousWord == null) {
              nextWord = _this._getNextWord$1(t3);
              if (nextWord == null)
                return X.TextSelection$collapsed(C.TextAffinity_1, t1);
              return X.TextSelection$(C.TextAffinity_1, t1, nextWord.end, false);
            }
            return X.TextSelection$(C.TextAffinity_1, previousWord.start, t1, false);
          case C.TargetPlatform_0:
            if (_this._readOnly) {
              if (previousWord == null)
                return X.TextSelection$(C.TextAffinity_1, t1, t1 + 1, false);
              return X.TextSelection$(C.TextAffinity_1, previousWord.start, t1, false);
            }
            break;
          case C.TargetPlatform_1:
          case C.TargetPlatform_4:
          case C.TargetPlatform_3:
          case C.TargetPlatform_5:
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      }
      return X.TextSelection$(C.TextAffinity_1, word.start, t2, false);
    },
    _getLineAtOffset$1: function(position) {
      var line = this._textPainter._text_painter$_paragraph.getLineBoundary$1(position),
        t1 = line.end;
      if (position.offset >= t1)
        return X.TextSelection$fromPosition(position);
      return X.TextSelection$(C.TextAffinity_1, line.start, t1, false);
    },
    _layoutText$2$maxWidth$minWidth: function(maxWidth, minWidth) {
      var availableMaxWidth, availableMinWidth, textMaxWidth, textMinWidth, _this = this;
      if (_this._textLayoutLastMaxWidth == maxWidth && _this._textLayoutLastMinWidth == minWidth)
        return;
      availableMaxWidth = Math.max(0, maxWidth - (1 + _this._cursorWidth));
      availableMinWidth = Math.min(H.checkNum(minWidth), availableMaxWidth);
      textMaxWidth = _this._editable$_maxLines !== 1 ? availableMaxWidth : 1 / 0;
      textMinWidth = _this._forceLine ? availableMaxWidth : availableMinWidth;
      _this._textPainter.layout$2$maxWidth$minWidth(0, textMaxWidth, textMinWidth);
      _this._textLayoutLastMinWidth = minWidth;
      _this._textLayoutLastMaxWidth = maxWidth;
    },
    _layoutText$1$maxWidth: function(maxWidth) {
      return this._layoutText$2$maxWidth$minWidth(maxWidth, 0);
    },
    get$_caretPrototype: function() {
      var t1 = this.__RenderEditable__caretPrototype;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_caretPrototype")) : t1;
    },
    _snapToPhysicalPixel$1: function(sourceOffset) {
      var t2,
        globalOffset = T.MatrixUtils_transformPoint(this.getTransformTo$1(0, null), sourceOffset),
        pixelMultiple = 1 / this._editable$_devicePixelRatio,
        t1 = globalOffset._dx;
      t1.toString;
      t1 = isFinite(t1) ? C.JSNumber_methods.round$0(t1 / pixelMultiple) * pixelMultiple - t1 : 0;
      t2 = globalOffset._dy;
      t2.toString;
      return new P.Offset(t1, isFinite(t2) ? C.JSNumber_methods.round$0(t2 / pixelMultiple) * pixelMultiple - t2 : 0);
    },
    computeDryLayout$1: function(constraints) {
      var width0, t2, t3, _this = this,
        t1 = constraints.minWidth,
        width = constraints.maxWidth;
      _this._layoutText$2$maxWidth$minWidth(width, t1);
      if (_this._forceLine)
        width0 = width;
      else {
        t2 = _this._textPainter;
        t3 = t2.get$width(t2);
        t2 = t2._text_painter$_paragraph;
        t2 = t2.get$height(t2);
        t2.toString;
        Math.ceil(t2);
        width0 = C.JSNumber_methods.clamp$2(t3 + (1 + _this._cursorWidth), t1, width);
      }
      return new P.Size(width0, C.JSNumber_methods.clamp$2(_this._preferredHeight$1(width), constraints.minHeight, constraints.maxHeight));
    },
    performLayout$0: function() {
      var t2, t3, t4, width0, t5, contentSize, painterConstraints, _this = this,
        constraints = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)),
        t1 = constraints.minWidth,
        width = constraints.maxWidth;
      _this._layoutText$2$maxWidth$minWidth(width, t1);
      switch (U.defaultTargetPlatform()) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_4:
          t2 = _this._cursorWidth;
          t3 = _this._textPainter.get$preferredLineHeight();
          _this.__RenderEditable__caretPrototype = new P.Rect(0, 0, t2, 0 + (t3 + 2));
          break;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          t2 = _this._cursorWidth;
          t3 = _this._textPainter.get$preferredLineHeight();
          _this.__RenderEditable__caretPrototype = new P.Rect(0, 2, t2, 2 + (t3 - 4));
          break;
        default:
          H.throwExpression(H.ReachabilityError$(string$.x60null_c));
      }
      t2 = _this._textPainter;
      t3 = t2.get$width(t2);
      t4 = t2._text_painter$_paragraph;
      t4 = t4.get$height(t4);
      t4.toString;
      t4 = Math.ceil(t4);
      if (_this._forceLine)
        width0 = width;
      else {
        t5 = t2.get$width(t2);
        t2 = t2._text_painter$_paragraph;
        t2 = t2.get$height(t2);
        t2.toString;
        Math.ceil(t2);
        width0 = C.JSNumber_methods.clamp$2(t5 + (1 + _this._cursorWidth), t1, width);
      }
      _this._box$_size = new P.Size(width0, C.JSNumber_methods.clamp$2(_this._preferredHeight$1(width), constraints.minHeight, constraints.maxHeight));
      contentSize = new P.Size(t3 + (1 + _this._cursorWidth), t4);
      painterConstraints = S.BoxConstraints$tight(contentSize);
      t1 = _this._foregroundRenderObject;
      if (t1 != null)
        t1.layout$1(0, painterConstraints);
      t1 = _this._backgroundRenderObject;
      if (t1 != null)
        t1.layout$1(0, 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: function(state, boundedOffset, lastTextPosition, resetLerpValue) {
      var t1, sizeAdjustment, _this = this;
      if (state === C.FloatingCursorDragState_0) {
        _this._relativeOrigin = C.Offset_0_0;
        _this._previousOffset = null;
        _this._resetOriginOnRight = _this._resetOriginOnTop = _this._resetOriginOnBottom = false;
      }
      t1 = state !== C.FloatingCursorDragState_2;
      _this._floatingCursorOn = t1;
      _this._resetFloatingCursorAnimationValue = resetLerpValue;
      if (t1) {
        _this.__RenderEditable__floatingCursorTextPosition = lastTextPosition;
        if (resetLerpValue != null) {
          t1 = V.EdgeInsets_lerp(C.EdgeInsets_Otk, C.EdgeInsets_0_0_0_0, resetLerpValue);
          t1.toString;
          sizeAdjustment = t1;
        } else
          sizeAdjustment = C.EdgeInsets_Otk;
        _this.get$_caretPainter().set$floatingCursorRect(sizeAdjustment.inflateRect$1(_this.get$_caretPrototype()).shift$1(boundedOffset));
      } else
        _this.get$_caretPainter().set$floatingCursorRect(null);
      _this.get$_caretPainter().showRegularCaret = _this._resetFloatingCursorAnimationValue == null;
    },
    setFloatingCursor$3: function(state, boundedOffset, lastTextPosition) {
      return this.setFloatingCursor$4$resetLerpValue(state, boundedOffset, lastTextPosition, null);
    },
    _editable$_paintContents$2: function(context, offset) {
      var visibleRegion, t2, startOffset, endOffset, foregroundChild, backgroundChild, _this = this,
        effectiveOffset = offset.$add(0, _this.get$_paintOffset()),
        t1 = _this._floatingCursorOn;
      if (!t1) {
        t1 = _this._box$_size;
        visibleRegion = new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
        t1 = _this._textPainter;
        t2 = _this._selection;
        t1._computeCaretMetrics$2(new P.TextPosition(t2.start, t2.affinity), _this.get$_caretPrototype());
        startOffset = t1.get$_caretMetrics().offset;
        _this._selectionStartInViewport.set$value(0, visibleRegion.inflate$1(0.5).contains$1(0, startOffset.$add(0, effectiveOffset)));
        t2 = _this._selection;
        t1._computeCaretMetrics$2(new P.TextPosition(t2.end, t2.affinity), _this.get$_caretPrototype());
        endOffset = t1.get$_caretMetrics().offset;
        _this._selectionEndInViewport.set$value(0, visibleRegion.inflate$1(0.5).contains$1(0, endOffset.$add(0, effectiveOffset)));
      }
      foregroundChild = _this._foregroundRenderObject;
      backgroundChild = _this._backgroundRenderObject;
      if (backgroundChild != null)
        context.paintChild$2(backgroundChild, offset);
      t1 = context.get$canvas(context);
      t2 = _this._textPainter._text_painter$_paragraph;
      t2.toString;
      t1.drawParagraph$2(0, t2, effectiveOffset);
      if (foregroundChild != null)
        context.paintChild$2(foregroundChild, offset);
    },
    paint$2: function(context, offset) {
      var startPoint, t3, endPoint, _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).minWidth;
      _this._layoutText$2$maxWidth$minWidth(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth, t2);
      if ((_this._editable$_maxScrollExtent > 0 || !_this.get$_paintOffset().$eq(0, C.Offset_0_0)) && _this._editable$_clipBehavior !== C.Clip_0) {
        t1 = _this.get$_needsCompositing();
        t2 = _this._box$_size;
        _this._editable$_clipRectLayer = context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy), _this.get$_editable$_paintContents(), _this._editable$_clipBehavior, _this._editable$_clipRectLayer);
      } else {
        _this._editable$_clipRectLayer = null;
        _this._editable$_paintContents$2(context, offset);
      }
      t1 = _this.getEndpointsForSelection$1(_this._selection);
      startPoint = t1[0].point;
      t2 = J.clamp$2$n(startPoint._dx, 0, _this._box$_size._dx);
      t3 = J.clamp$2$n(startPoint._dy, 0, _this._box$_size._dy);
      context.pushLayer$3(new T.LeaderLayer(_this._editable$_startHandleLayerLink, new P.Offset(t2, t3)), K.RenderObject.prototype.get$paint.call(_this), C.Offset_0_0);
      if (t1.length === 2) {
        endPoint = t1[1].point;
        t1 = J.clamp$2$n(endPoint._dx, 0, _this._box$_size._dx);
        t2 = J.clamp$2$n(endPoint._dy, 0, _this._box$_size._dy);
        context.pushLayer$3(new T.LeaderLayer(_this._editable$_endHandleLayerLink, new P.Offset(t1, t2)), K.RenderObject.prototype.get$paint.call(_this), C.Offset_0_0);
      }
    },
    describeApproximatePaintClip$1: function(child) {
      var t1;
      if (this._editable$_maxScrollExtent > 0 || !this.get$_paintOffset().$eq(0, C.Offset_0_0)) {
        t1 = this._box$_size;
        t1 = new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
      } else
        t1 = null;
      return t1;
    },
    debugDescribeChildren$0: function() {
      var t1 = H._setArrayType([], type$.JSArray_DiagnosticsNode),
        t2 = this._textPainter._text_painter$_text;
      if (t2 != null)
        t1.push(Y.DiagnosticableTreeNode$("text", C.DiagnosticsTreeStyle_4, t2));
      return t1;
    },
    text$0: function($receiver) {
      return this.get$text(this).call$0();
    }
  };
  D.RenderEditable_nextCharacter_closure.prototype = {
    call$1: function(currentString) {
      var t1 = this._box_0,
        t2 = t1.count;
      if (t2 <= this.index) {
        t1.count = t2 + currentString.length;
        return true;
      }
      if (this.includeWhitespace)
        return false;
      return D._isWhitespace(C.JSString_methods._codeUnitAt$1(currentString, 0));
    },
    $signature: 17
  };
  D.RenderEditable_describeSemanticsConfiguration_closure.prototype = {
    call$1: function(info) {
      return info.recognizer != null;
    },
    $signature: 249
  };
  D.RenderEditable_getRectForComposingRange_closure.prototype = {
    call$2: function(accum, incoming) {
      var t1 = accum == null ? null : accum.expandToInclude$1(new P.Rect(incoming.left, incoming.top, incoming.right, incoming.bottom));
      return t1 == null ? new P.Rect(incoming.left, incoming.top, incoming.right, incoming.bottom) : t1;
    },
    $signature: 828
  };
  D._RenderEditableCustomPaint.prototype = {
    get$parent: function(_) {
      return type$.nullable_RenderEditable._as(B.AbstractNode.prototype.get$parent.call(this, this));
    },
    get$isRepaintBoundary: function() {
      return true;
    },
    get$sizedByParent: function() {
      return true;
    },
    set$painter: function(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._node$_owner != null) {
        t2 = _this.get$markNeedsPaint();
        t1.removeListener$1(0, t2);
        newValue.addListener$1(0, t2);
      }
    },
    paint$2: function(context, offset) {
      var t1, t2, _this = this,
        $parent = type$.nullable_RenderEditable._as(B.AbstractNode.prototype.get$parent.call(_this, _this)),
        painter = _this._editable$_painter;
      if ($parent != null) {
        t1 = context.get$canvas(context);
        t2 = _this._box$_size;
        t2.toString;
        painter.paint$3(t1, t2, $parent);
      }
    },
    attach$1: function(owner) {
      this.super$RenderObject$attach(owner);
      this._editable$_painter.addListener$1(0, this.get$markNeedsPaint());
    },
    detach$0: function(_) {
      this._editable$_painter.removeListener$1(0, this.get$markNeedsPaint());
      this.super$AbstractNode$detach(0);
    },
    computeDryLayout$1: function(constraints) {
      return new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight));
    }
  };
  D.RenderEditablePainter.prototype = {};
  D._TextHighlightPainter.prototype = {
    set$highlightColor: function(newValue) {
      if (J.$eq$(newValue, this._highlightColor))
        return;
      this._highlightColor = newValue;
      this.notifyListeners$0();
    },
    set$highlightedRange: function(newValue) {
      if (J.$eq$(newValue, this._highlightedRange))
        return;
      this._highlightedRange = newValue;
      this.notifyListeners$0();
    },
    set$selectionHeightStyle: function(value) {
      if (this._selectionHeightStyle === value)
        return;
      this._selectionHeightStyle = value;
      this.notifyListeners$0();
    },
    set$selectionWidthStyle: function(value) {
      if (this._selectionWidthStyle === value)
        return;
      this._selectionWidthStyle = value;
      this.notifyListeners$0();
    },
    paint$3: function(canvas, size, renderEditable) {
      var t1, boxes, t2, _i, box, _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);
      boxes = renderEditable._textPainter.getBoxesForSelection$3$boxHeightStyle$boxWidthStyle(X.TextSelection$(C.TextAffinity_1, range.start, range.end, false), _this._selectionHeightStyle, _this._selectionWidthStyle);
      for (t2 = boxes.length, _i = 0; _i < boxes.length; boxes.length === t2 || (0, H.throwConcurrentModificationError)(boxes), ++_i) {
        box = boxes[_i];
        canvas.drawRect$2(0, new P.Rect(box.left, box.top, box.right, box.bottom).shift$1(renderEditable.get$_paintOffset()), t1);
      }
    },
    shouldRepaint$1: function(oldDelegate) {
      var _this = this;
      if (oldDelegate === _this)
        return false;
      if (oldDelegate == null)
        return _this._highlightColor != null && _this._highlightedRange != null;
      return !(oldDelegate instanceof D._TextHighlightPainter) || !J.$eq$(oldDelegate._highlightColor, _this._highlightColor) || !J.$eq$(oldDelegate._highlightedRange, _this._highlightedRange) || oldDelegate._selectionHeightStyle !== _this._selectionHeightStyle || oldDelegate._selectionWidthStyle !== _this._selectionWidthStyle;
    }
  };
  D._FloatingCursorPainter.prototype = {
    set$shouldPaint: function(value) {
      if (this._shouldPaint == value)
        return;
      this._shouldPaint = value;
      this.notifyListeners$0();
    },
    set$caretColor: function(value) {
      var t1 = this._caretColor;
      t1 = t1 == null ? null : t1.value;
      if (t1 === value.value)
        return;
      this._caretColor = value;
      this.notifyListeners$0();
    },
    set$cursorRadius: function(value) {
      if (J.$eq$(this._cursorRadius, value))
        return;
      this._cursorRadius = value;
      this.notifyListeners$0();
    },
    set$cursorOffset: function(value) {
      if (this._cursorOffset.$eq(0, value))
        return;
      this._cursorOffset = value;
      this.notifyListeners$0();
    },
    set$backgroundCursorColor: function(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: function(value) {
      if (J.$eq$(this._floatingCursorRect, value))
        return;
      this._floatingCursorRect = value;
      this.notifyListeners$0();
    },
    paint$3: function(canvas, size, renderEditable) {
      var floatingCursorRect, t1, caretColor, caretTextPosition, t2, caretPrototype, caretRect, caretHeight, t3, t4, integralRect, radius, floatingCursorColor, _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 = new P.TextPosition(selection.extentOffset, selection.affinity);
      else {
        t2 = renderEditable.__RenderEditable__floatingCursorTextPosition;
        caretTextPosition = t2 === $ ? H.throwExpression(H.LateError$fieldNI("_floatingCursorTextPosition")) : t2;
      }
      if (caretColor != null) {
        caretPrototype = renderEditable.get$_caretPrototype();
        t2 = renderEditable._textPainter;
        t2._computeCaretMetrics$2(caretTextPosition, caretPrototype);
        caretRect = caretPrototype.shift$1(t2.get$_caretMetrics().offset.$add(0, _this._cursorOffset));
        t2._computeCaretMetrics$2(caretTextPosition, caretPrototype);
        caretHeight = t2.get$_caretMetrics().fullHeight;
        if (caretHeight != null)
          switch (U.defaultTargetPlatform()) {
            case C.TargetPlatform_2:
            case C.TargetPlatform_4:
              t2 = caretRect.top;
              t3 = caretRect.bottom - t2;
              t4 = caretRect.left;
              t2 += (caretHeight - t3) / 2;
              caretRect = new P.Rect(t4, t2, t4 + (caretRect.right - t4), t2 + t3);
              break;
            case C.TargetPlatform_0:
            case C.TargetPlatform_1:
            case C.TargetPlatform_3:
            case C.TargetPlatform_5:
              t2 = caretRect.left;
              t3 = caretRect.top - 2;
              caretRect = new P.Rect(t2, t3, t2 + (caretRect.right - t2), t3 + caretHeight);
              break;
            default:
              H.throwExpression(H.ReachabilityError$(string$.x60null_c));
          }
        caretRect = caretRect.shift$1(renderEditable.get$_paintOffset());
        integralRect = caretRect.shift$1(renderEditable._snapToPhysicalPixel$1(new P.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(0, integralRect, t2);
          else
            canvas.drawRRect$2(0, P.RRect$fromRectAndRadius(integralRect, radius), t2);
        }
        _this.caretPaintCallback.call$1(integralRect);
      }
      t2 = _this._caretColor;
      if (t2 == null)
        floatingCursorColor = null;
      else {
        t2 = t2.value;
        floatingCursorColor = P.Color$fromARGB(191, t2 >>> 16 & 255, t2 >>> 8 & 255, t2 & 255);
      }
      if (t1 || floatingCursorColor == null || !_this._shouldPaint)
        return;
      t1 = P.RRect$fromRectAndRadius(floatingCursorRect.shift$1(renderEditable.get$_paintOffset()), C.Radius_1_1);
      t2 = _this.___FloatingCursorPainter_floatingCursorPaint;
      if (t2 === $) {
        t2 = H._detectRenderer();
        t2 = t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        if (_this.___FloatingCursorPainter_floatingCursorPaint === $)
          _this.___FloatingCursorPainter_floatingCursorPaint = t2;
        else
          t2 = H.throwExpression(H.LateError$fieldADI("floatingCursorPaint"));
      }
      t2.set$color(0, floatingCursorColor);
      canvas.drawRRect$2(0, t1, t2);
    },
    shouldRepaint$1: function(oldDelegate) {
      var _this = this;
      if (_this === oldDelegate)
        return false;
      if (oldDelegate == null)
        return _this._shouldPaint;
      return !(oldDelegate instanceof D._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);
    }
  };
  D._CompositeRenderEditablePainter.prototype = {
    addListener$1: function(_, listener) {
      var t1, t2, _i;
      for (t1 = this.painters, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].addListener$1(0, listener);
    },
    removeListener$1: function(_, listener) {
      var t1, t2, _i;
      for (t1 = this.painters, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].removeListener$1(0, listener);
    },
    paint$3: function(canvas, size, renderEditable) {
      var t1, t2, _i;
      for (t1 = this.painters, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].paint$3(canvas, size, renderEditable);
    },
    shouldRepaint$1: function(oldDelegate) {
      var t1, oldPainters, newPainters;
      if (oldDelegate === this)
        return false;
      if (!(oldDelegate instanceof D._CompositeRenderEditablePainter) || oldDelegate.painters.length !== this.painters.length)
        return true;
      t1 = oldDelegate.painters;
      oldPainters = new J.ArrayIterator(t1, t1.length, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
      t1 = this.painters;
      newPainters = new J.ArrayIterator(t1, t1.length, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
      while (true) {
        if (!(oldPainters.moveNext$0() && newPainters.moveNext$0()))
          break;
        if (newPainters.__interceptors$_current.shouldRepaint$1(oldPainters.__interceptors$_current))
          return true;
      }
      return false;
    }
  };
  D._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin.prototype = {
    attach$1: function(owner) {
      this.super$RenderObject$attach(owner);
      $.PaintingBinding__instance.PaintingBinding__systemFonts._systemFontsCallbacks.add$1(0, this.get$systemFontsDidChange());
    },
    detach$0: function(_) {
      $.PaintingBinding__instance.PaintingBinding__systemFonts._systemFontsCallbacks.remove$1(0, this.get$systemFontsDidChange());
      this.super$AbstractNode$detach(0);
    }
  };
  V.RenderErrorBox.prototype = {
    RenderErrorBox$1: function(message) {
      var builder, t1, exception, _this = this,
        _s10_ = "_paragraph";
      try {
        t1 = _this.message;
        if (t1 !== "") {
          builder = P.ParagraphBuilder_ParagraphBuilder($.$get$RenderErrorBox_paragraphStyle());
          J.pushStyle$1$x(builder, $.$get$RenderErrorBox_textStyle());
          J.addText$1$x(builder, t1);
          t1 = J.build$0$x(builder);
          if (_this.__RenderErrorBox__paragraph === $)
            _this.__RenderErrorBox__paragraph = t1;
          else
            H.throwExpression(H.LateError$fieldAI(_s10_));
        } else if (_this.__RenderErrorBox__paragraph === $)
          _this.__RenderErrorBox__paragraph = null;
        else
          H.throwExpression(H.LateError$fieldAI(_s10_));
      } catch (exception) {
        H.unwrapException(exception);
      }
    },
    get$_error$_paragraph: function() {
      var t1 = this.__RenderErrorBox__paragraph;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_paragraph")) : t1;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      return 100000;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return 100000;
    },
    get$sizedByParent: function() {
      return true;
    },
    hitTestSelf$1: function(position) {
      return true;
    },
    computeDryLayout$1: function(constraints) {
      return constraints.constrain$1(C.Size_100000_100000);
    },
    paint$2: function(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 = H._detectRenderer();
        t6 = t6 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        t6.set$color(0, $.$get$RenderErrorBox_backgroundColor());
        t1.drawRect$2(0, new P.Rect(t3, t4, t3 + t5, t4 + t2), t6);
        if (_this.get$_error$_paragraph() != null) {
          width = _this._box$_size._dx;
          left = 0;
          $top = 0;
          if (width > 328) {
            width -= 128;
            left += 64;
          }
          _this.get$_error$_paragraph().layout$1(0, new P.ParagraphConstraints(width));
          t1 = _this._box$_size._dy;
          t2 = _this.get$_error$_paragraph();
          if (t1 > 96 + t2.get$height(t2) + 12)
            $top += 96;
          t1 = context.get$canvas(context);
          t2 = _this.get$_error$_paragraph();
          t2.toString;
          t1.drawParagraph$2(0, t2, offset.$add(0, new P.Offset(left, $top)));
        }
      } catch (exception) {
        H.unwrapException(exception);
      }
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  F.FlexFit.prototype = {
    toString$0: function(_) {
      return this._flex$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.FlexParentData.prototype = {
    toString$0: function(_) {
      return this.super$BoxParentData$toString(0) + "; flex=" + H.S(this.flex) + "; fit=" + H.S(this.fit);
    }
  };
  F.MainAxisSize.prototype = {
    toString$0: function(_) {
      return this._flex$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.MainAxisAlignment.prototype = {
    toString$0: function(_) {
      return this._flex$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.CrossAxisAlignment.prototype = {
    toString$0: function(_) {
      return this._flex$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.RenderFlex.prototype = {
    set$direction: function(_, value) {
      if (this._flex$_direction !== value) {
        this._flex$_direction = value;
        this.markNeedsLayout$0();
      }
    },
    set$mainAxisAlignment: function(value) {
      if (this._mainAxisAlignment !== value) {
        this._mainAxisAlignment = value;
        this.markNeedsLayout$0();
      }
    },
    set$mainAxisSize: function(value) {
      if (this._mainAxisSize !== value) {
        this._mainAxisSize = value;
        this.markNeedsLayout$0();
      }
    },
    set$crossAxisAlignment: function(value) {
      if (this._crossAxisAlignment !== value) {
        this._crossAxisAlignment = value;
        this.markNeedsLayout$0();
      }
    },
    set$textDirection: function(_, value) {
      if (this._flex$_textDirection != value) {
        this._flex$_textDirection = value;
        this.markNeedsLayout$0();
      }
    },
    set$verticalDirection: function(value) {
      if (this._verticalDirection !== value) {
        this._verticalDirection = value;
        this.markNeedsLayout$0();
      }
    },
    set$textBaseline: function(_, value) {
    },
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof F.FlexParentData))
        child.parentData = new F.FlexParentData(null, null, C.Offset_0_0);
    },
    _getIntrinsicSize$3$childSize$extent$sizingDirection: function(childSize, extent, sizingDirection) {
      var t1, child, totalFlex, inflexibleSpace, maxFlexFractionSoFar, t2, flex, t3, maxCrossSize, mainSize, crossSize, spacePerFlex, _this = this;
      if (_this._crossAxisAlignment === C.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 = H._Cell$named("mainSize");
          crossSize = H._Cell$named("crossSize");
          if (flex === 0) {
            switch (_this._flex$_direction) {
              case C.Axis_0:
                t2 = child._computeIntrinsicDimension$3(C._IntrinsicDimension_1, 1 / 0, child.get$computeMaxIntrinsicWidth());
                if (mainSize.__late_helper$_value !== mainSize)
                  H.throwExpression(H.LateError$localAI(mainSize.__late_helper$_name));
                mainSize.__late_helper$_value = t2;
                t2 = childSize.call$2(child, t2);
                if (crossSize.__late_helper$_value !== crossSize)
                  H.throwExpression(H.LateError$localAI(crossSize.__late_helper$_name));
                crossSize.__late_helper$_value = t2;
                break;
              case C.Axis_1:
                t2 = child._computeIntrinsicDimension$3(C._IntrinsicDimension_3, 1 / 0, child.get$computeMaxIntrinsicHeight());
                if (mainSize.__late_helper$_value !== mainSize)
                  H.throwExpression(H.LateError$localAI(mainSize.__late_helper$_name));
                mainSize.__late_helper$_value = t2;
                t2 = childSize.call$2(child, t2);
                if (crossSize.__late_helper$_value !== crossSize)
                  H.throwExpression(H.LateError$localAI(crossSize.__late_helper$_name));
                crossSize.__late_helper$_value = t2;
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
            }
            t3 = mainSize.__late_helper$_value;
            if (t3 === mainSize)
              H.throwExpression(H.LateError$localNI(mainSize.__late_helper$_name));
            inflexibleSpace += t3;
            if (t2 === crossSize)
              H.throwExpression(H.LateError$localNI(crossSize.__late_helper$_name));
            maxCrossSize = Math.max(maxCrossSize, H.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, H.checkNum(childSize.call$2(child, spacePerFlex * flex)));
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
        return maxCrossSize;
      }
    },
    computeMinIntrinsicWidth$1: function(height) {
      return this._getIntrinsicSize$3$childSize$extent$sizingDirection(new F.RenderFlex_computeMinIntrinsicWidth_closure(), height, C.Axis_0);
    },
    computeMaxIntrinsicWidth$1: function(height) {
      return this._getIntrinsicSize$3$childSize$extent$sizingDirection(new F.RenderFlex_computeMaxIntrinsicWidth_closure(), height, C.Axis_0);
    },
    computeMinIntrinsicHeight$1: function(width) {
      return this._getIntrinsicSize$3$childSize$extent$sizingDirection(new F.RenderFlex_computeMinIntrinsicHeight_closure(), width, C.Axis_1);
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return this._getIntrinsicSize$3$childSize$extent$sizingDirection(new F.RenderFlex_computeMaxIntrinsicHeight_closure(), width, C.Axis_1);
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      if (this._flex$_direction === C.Axis_0)
        return this.defaultComputeDistanceToHighestActualBaseline$1(baseline);
      return this.defaultComputeDistanceToFirstActualBaseline$1(baseline);
    },
    _getCrossSize$1: function(size) {
      switch (this._flex$_direction) {
        case C.Axis_0:
          return size._dy;
        case C.Axis_1:
          return size._dx;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _getMainSize$1: function(size) {
      switch (this._flex$_direction) {
        case C.Axis_0:
          return size._dx;
        case C.Axis_1:
          return size._dy;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeDryLayout$1: function(constraints) {
      var sizes;
      if (this._crossAxisAlignment === C.CrossAxisAlignment_4)
        return C.Size_0_0;
      sizes = this._computeSizes$2$constraints$layoutChild(constraints, N.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
      switch (this._flex$_direction) {
        case C.Axis_0:
          return constraints.constrain$1(new P.Size(sizes.mainSize, sizes.crossSize));
        case C.Axis_1:
          return constraints.constrain$1(new P.Size(sizes.crossSize, sizes.mainSize));
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _computeSizes$2$constraints$layoutChild: function(constraints, layoutChild) {
      var t1, totalFlex, crossSize, allocatedSize, lastFlexChild, t2, flex, innerConstraints, childSize, freeSpace, spacePerFlex, allocatedFlexSpace, maxChildExtent, minChildExtent, t3, _this = this,
        _s80_ = string$.x60null_c,
        maxMainSize = _this._flex$_direction === C.Axis_0 ? constraints.maxWidth : constraints.maxHeight,
        canFlex = maxMainSize < 1 / 0,
        child = _this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.FlexParentData, totalFlex = 0, crossSize = 0, allocatedSize = 0, lastFlexChild = null; child != null;) {
        t2 = child.parentData;
        t2.toString;
        t1._as(t2);
        flex = t2.flex;
        if (flex == null)
          flex = 0;
        if (flex > 0) {
          totalFlex += flex;
          lastFlexChild = child;
        } else {
          if (_this._crossAxisAlignment === C.CrossAxisAlignment_3)
            switch (_this._flex$_direction) {
              case C.Axis_0:
                innerConstraints = S.BoxConstraints$tightFor(constraints.maxHeight, null);
                break;
              case C.Axis_1:
                innerConstraints = S.BoxConstraints$tightFor(null, constraints.maxWidth);
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(_s80_));
            }
          else
            switch (_this._flex$_direction) {
              case C.Axis_0:
                innerConstraints = new S.BoxConstraints(0, 1 / 0, 0, constraints.maxHeight);
                break;
              case C.Axis_1:
                innerConstraints = new S.BoxConstraints(0, constraints.maxWidth, 0, 1 / 0);
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(_s80_));
            }
          childSize = layoutChild.call$2(child, innerConstraints);
          allocatedSize += _this._getMainSize$1(childSize);
          crossSize = Math.max(crossSize, H.checkNum(_this._getCrossSize$1(childSize)));
        }
        child = t2.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;) {
          t2 = child.parentData;
          t2.toString;
          flex = t1._as(t2).flex;
          if (flex == null)
            flex = 0;
          if (flex > 0) {
            if (canFlex)
              maxChildExtent = child === lastFlexChild ? freeSpace - allocatedFlexSpace : spacePerFlex * flex;
            else
              maxChildExtent = 1 / 0;
            minChildExtent = H._Cell$named("minChildExtent");
            t2 = child.parentData;
            t2.toString;
            t2 = t1._as(t2).fit;
            switch (t2 == null ? C.FlexFit_0 : t2) {
              case C.FlexFit_0:
                if (minChildExtent.__late_helper$_value !== minChildExtent)
                  H.throwExpression(H.LateError$localAI(minChildExtent.__late_helper$_name));
                minChildExtent.__late_helper$_value = maxChildExtent;
                t2 = maxChildExtent;
                break;
              case C.FlexFit_1:
                if (minChildExtent.__late_helper$_value !== minChildExtent)
                  H.throwExpression(H.LateError$localAI(minChildExtent.__late_helper$_name));
                t2 = minChildExtent.__late_helper$_value = 0;
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(_s80_));
            }
            if (_this._crossAxisAlignment === C.CrossAxisAlignment_3)
              switch (_this._flex$_direction) {
                case C.Axis_0:
                  t3 = constraints.maxHeight;
                  innerConstraints = new S.BoxConstraints(t2, maxChildExtent, t3, t3);
                  break;
                case C.Axis_1:
                  t3 = constraints.maxWidth;
                  innerConstraints = new S.BoxConstraints(t3, t3, t2, maxChildExtent);
                  break;
                default:
                  throw H.wrapException(H.ReachabilityError$(_s80_));
              }
            else
              switch (_this._flex$_direction) {
                case C.Axis_0:
                  innerConstraints = new S.BoxConstraints(t2, maxChildExtent, 0, constraints.maxHeight);
                  break;
                case C.Axis_1:
                  t3 = constraints.maxWidth;
                  innerConstraints = new S.BoxConstraints(0, t3, t2, maxChildExtent);
                  break;
                default:
                  throw H.wrapException(H.ReachabilityError$(_s80_));
              }
            childSize = layoutChild.call$2(child, innerConstraints);
            allocatedSize += _this._getMainSize$1(childSize);
            allocatedFlexSpace += maxChildExtent;
            crossSize = Math.max(crossSize, H.checkNum(_this._getCrossSize$1(childSize)));
          }
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
      }
      return new F._LayoutSizes(canFlex && _this._mainAxisSize === C.MainAxisSize_1 ? maxMainSize : allocatedSize, crossSize, allocatedSize);
    },
    performLayout$0: function() {
      var child, t1, maxBaselineDistance, maxSizeAboveBaseline, maxSizeBelowBaseline, t2, distance, actualSizeDelta, remainingSpace, leadingSpace, betweenSpace, flipMainAxis, childMainPosition, t3, t4, childCrossPosition, t5, _this = this,
        _s80_ = string$.x60null_c,
        constraints = _this.get$constraints(),
        sizes = _this._computeSizes$2$constraints$layoutChild(constraints, N.layout_helper_ChildLayoutHelper_layoutChild$closure()),
        actualSize = sizes.mainSize,
        crossSize = sizes.crossSize;
      if (_this._crossAxisAlignment === C.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) {
        case C.Axis_0:
          t1 = _this._box$_size = constraints.constrain$1(new P.Size(actualSize, crossSize));
          actualSize = t1._dx;
          crossSize = t1._dy;
          break;
        case C.Axis_1:
          t1 = _this._box$_size = constraints.constrain$1(new P.Size(crossSize, actualSize));
          actualSize = t1._dy;
          crossSize = t1._dx;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      actualSizeDelta = actualSize - sizes.allocatedSize;
      _this._flex$_overflow = Math.max(0, -actualSizeDelta);
      remainingSpace = Math.max(0, actualSizeDelta);
      leadingSpace = H._Cell$named("leadingSpace");
      betweenSpace = H._Cell$named("betweenSpace");
      t1 = F._startIsTopLeft(_this._flex$_direction, _this._flex$_textDirection, _this._verticalDirection);
      flipMainAxis = t1 === false;
      switch (_this._mainAxisAlignment) {
        case C.MainAxisAlignment_0:
          leadingSpace.set$finalLocalValue(0);
          betweenSpace.set$finalLocalValue(0);
          break;
        case C.MainAxisAlignment_1:
          leadingSpace.set$finalLocalValue(remainingSpace);
          betweenSpace.set$finalLocalValue(0);
          break;
        case C.MainAxisAlignment_2:
          leadingSpace.set$finalLocalValue(remainingSpace / 2);
          betweenSpace.set$finalLocalValue(0);
          break;
        case C.MainAxisAlignment_3:
          leadingSpace.set$finalLocalValue(0);
          t1 = _this.ContainerRenderObjectMixin__childCount;
          betweenSpace.set$finalLocalValue(t1 > 1 ? remainingSpace / (t1 - 1) : 0);
          break;
        case C.MainAxisAlignment_4:
          t1 = _this.ContainerRenderObjectMixin__childCount;
          betweenSpace.set$finalLocalValue(t1 > 0 ? remainingSpace / t1 : 0);
          leadingSpace.set$finalLocalValue(betweenSpace._readLocal$0() / 2);
          break;
        case C.MainAxisAlignment_5:
          t1 = _this.ContainerRenderObjectMixin__childCount;
          betweenSpace.set$finalLocalValue(t1 > 0 ? remainingSpace / (t1 + 1) : 0);
          leadingSpace.set$finalLocalValue(betweenSpace._readLocal$0());
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      childMainPosition = flipMainAxis ? actualSize - leadingSpace._readLocal$0() : leadingSpace._readLocal$0();
      child = _this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.FlexParentData, t2 = betweenSpace.__late_helper$_name; child != null;) {
        t3 = child.parentData;
        t3.toString;
        t1._as(t3);
        t4 = _this._crossAxisAlignment;
        switch (t4) {
          case C.CrossAxisAlignment_0:
          case C.CrossAxisAlignment_1:
            if (F._startIsTopLeft(G.flipAxis(_this._flex$_direction), _this._flex$_textDirection, _this._verticalDirection) === (t4 === C.CrossAxisAlignment_0))
              childCrossPosition = 0;
            else {
              t4 = child._box$_size;
              t4.toString;
              childCrossPosition = crossSize - _this._getCrossSize$1(t4);
            }
            break;
          case C.CrossAxisAlignment_2:
            t4 = child._box$_size;
            t4.toString;
            childCrossPosition = crossSize / 2 - _this._getCrossSize$1(t4) / 2;
            break;
          case C.CrossAxisAlignment_3:
            childCrossPosition = 0;
            break;
          case C.CrossAxisAlignment_4:
            if (_this._flex$_direction === C.Axis_0) {
              t4 = _this._flex$_textBaseline;
              t4.toString;
              distance = child.getDistanceToBaseline$2$onlyReal(t4, true);
              childCrossPosition = distance != null ? maxBaselineDistance - distance : 0;
            } else
              childCrossPosition = 0;
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        if (flipMainAxis) {
          t4 = child._box$_size;
          t4.toString;
          childMainPosition -= _this._getMainSize$1(t4);
        }
        switch (_this._flex$_direction) {
          case C.Axis_0:
            t3.offset = new P.Offset(childMainPosition, childCrossPosition);
            break;
          case C.Axis_1:
            t3.offset = new P.Offset(childCrossPosition, childMainPosition);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        if (flipMainAxis) {
          t4 = betweenSpace.__late_helper$_value;
          if (t4 === betweenSpace)
            H.throwExpression(H.LateError$localNI(t2));
          childMainPosition -= t4;
        } else {
          t4 = child._box$_size;
          t4.toString;
          t4 = _this._getMainSize$1(t4);
          t5 = betweenSpace.__late_helper$_value;
          if (t5 === betweenSpace)
            H.throwExpression(H.LateError$localNI(t2));
          childMainPosition += t4 + t5;
        }
        child = t3.ContainerParentDataMixin_nextSibling;
      }
    },
    hitTestChildren$2$position: function(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    },
    paint$2: function(context, offset) {
      var t1, t2, _this = this;
      if (!(_this._flex$_overflow > 1e-10)) {
        _this.defaultPaint$2(context, offset);
        return;
      }
      t1 = _this._box$_size;
      if (t1.get$isEmpty(t1))
        return;
      if (_this._flex$_clipBehavior === C.Clip_0) {
        _this._flex$_clipRectLayer = null;
        _this.defaultPaint$2(context, offset);
      } else {
        t1 = _this.get$_needsCompositing();
        t2 = _this._box$_size;
        _this._flex$_clipRectLayer = context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy), _this.get$defaultPaint(), _this._flex$_clipBehavior, _this._flex$_clipRectLayer);
      }
    },
    describeApproximatePaintClip$1: function(child) {
      var t1;
      if (this._flex$_overflow > 1e-10) {
        t1 = this._box$_size;
        t1 = new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
      } else
        t1 = null;
      return t1;
    },
    toStringShort$0: function() {
      var header = this.super$RenderObject$toStringShort();
      return this._flex$_overflow > 1e-10 ? header + " OVERFLOWING" : header;
    }
  };
  F.RenderFlex_computeMinIntrinsicWidth_closure.prototype = {
    call$2: function(child, extent) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_0, extent, child.get$computeMinIntrinsicWidth());
    },
    $signature: 68
  };
  F.RenderFlex_computeMaxIntrinsicWidth_closure.prototype = {
    call$2: function(child, extent) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_1, extent, child.get$computeMaxIntrinsicWidth());
    },
    $signature: 68
  };
  F.RenderFlex_computeMinIntrinsicHeight_closure.prototype = {
    call$2: function(child, extent) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_2, extent, child.get$computeMinIntrinsicHeight());
    },
    $signature: 68
  };
  F.RenderFlex_computeMaxIntrinsicHeight_closure.prototype = {
    call$2: function(child, extent) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_3, extent, child.get$computeMaxIntrinsicHeight());
    },
    $signature: 68
  };
  F._LayoutSizes.prototype = {};
  F._RenderFlex_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1: function(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: function(_) {
      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;
      }
    }
  };
  F._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  F._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_DebugOverflowIndicatorMixin.prototype = {};
  U.RenderImage.prototype = {
    _image$_resolve$0: function() {
      var _this = this;
      if (_this._image$_resolvedAlignment != null)
        return;
      _this._image$_resolvedAlignment = _this._image$_alignment;
      _this._flipHorizontally = false;
    },
    _markNeedResolution$0: function() {
      this._flipHorizontally = this._image$_resolvedAlignment = null;
      this.markNeedsPaint$0();
    },
    set$image: function(_, value) {
      var _this = this,
        t1 = _this._image$_image;
      if (value == t1)
        return;
      if (value != null && t1 != null && value.isCloneOf$1(t1)) {
        value.dispose$0(0);
        return;
      }
      t1 = _this._image$_image;
      if (t1 != null)
        t1.dispose$0(0);
      _this._image$_image = value;
      _this.markNeedsPaint$0();
      if (_this._image$_width == null || _this._image$_height == null)
        _this.markNeedsLayout$0();
    },
    set$width: function(_, value) {
      if (value == this._image$_width)
        return;
      this._image$_width = value;
      this.markNeedsLayout$0();
    },
    set$height: function(_, value) {
      if (value == this._image$_height)
        return;
      this._image$_height = value;
      this.markNeedsLayout$0();
    },
    set$scale: function(_, value) {
      if (value === this._image$_scale)
        return;
      this._image$_scale = value;
      this.markNeedsLayout$0();
    },
    _updateColorFilter$0: function() {
      var t1 = this._image$_color;
      if (t1 == null)
        this._colorFilter = null;
      else
        this._colorFilter = new H.CkBlendModeColorFilter(t1, C.BlendMode_5);
    },
    set$color: function(_, value) {
      var _this = this;
      if (J.$eq$(value, _this._image$_color))
        return;
      _this._image$_color = value;
      _this._updateColorFilter$0();
      _this.markNeedsPaint$0();
    },
    set$filterQuality: function(value) {
      if (value === this._image$_filterQuality)
        return;
      this._image$_filterQuality = value;
      this.markNeedsPaint$0();
    },
    set$colorBlendMode: function(value) {
      return;
    },
    set$fit: function(value) {
      if (value == this._image$_fit)
        return;
      this._image$_fit = value;
      this.markNeedsPaint$0();
    },
    set$alignment: function(value) {
      if (value.$eq(0, this._image$_alignment))
        return;
      this._image$_alignment = value;
      this._markNeedResolution$0();
    },
    set$repeat: function(_, value) {
      if (value === this._repeat)
        return;
      this._repeat = value;
      this.markNeedsPaint$0();
    },
    set$centerSlice: function(value) {
      return;
    },
    set$invertColors: function(value) {
      if (value == this._invertColors)
        return;
      this._invertColors = value;
      this.markNeedsPaint$0();
    },
    set$matchTextDirection: function(value) {
      return;
    },
    set$textDirection: function(_, value) {
      if (this._image$_textDirection == value)
        return;
      this._image$_textDirection = value;
      this._markNeedResolution$0();
    },
    _sizeForConstraints$1: function(constraints) {
      var t2, t3, _this = this,
        t1 = _this._image$_width;
      constraints = S.BoxConstraints$tightFor(_this._image$_height, t1).enforce$1(constraints);
      t1 = _this._image$_image;
      if (t1 == null)
        return new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
      t1 = t1.get$width(t1);
      t1.toString;
      t2 = _this._image$_scale;
      t3 = _this._image$_image;
      t3 = t3.get$height(t3);
      t3.toString;
      return constraints.constrainSizeAndAttemptToPreserveAspectRatio$1(new P.Size(t1 / t2, t3 / _this._image$_scale));
    },
    computeMinIntrinsicWidth$1: function(height) {
      if (this._image$_width == null && this._image$_height == null)
        return 0;
      return this._sizeForConstraints$1(S.BoxConstraints$tightForFinite(height, 1 / 0))._dx;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      return this._sizeForConstraints$1(S.BoxConstraints$tightForFinite(height, 1 / 0))._dx;
    },
    computeMinIntrinsicHeight$1: function(width) {
      if (this._image$_width == null && this._image$_height == null)
        return 0;
      return this._sizeForConstraints$1(S.BoxConstraints$tightForFinite(1 / 0, width))._dy;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return this._sizeForConstraints$1(S.BoxConstraints$tightForFinite(1 / 0, width))._dy;
    },
    hitTestSelf$1: function(position) {
      return true;
    },
    computeDryLayout$1: function(constraints) {
      return this._sizeForConstraints$1(constraints);
    },
    performLayout$0: function() {
      this._box$_size = this._sizeForConstraints$1(type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(this)));
    },
    attach$1: function(owner) {
      this.super$RenderObject$attach(owner);
    },
    detach$0: function(_) {
      this.super$AbstractNode$detach(0);
    },
    paint$2: function(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._invertColors;
      X.paintImage(t11, t1, t12, t9, t7, _this._image$_filterQuality, t10, t14, t6, t15, false, 1, new P.Rect(t3, t4, t3 + t5, t4 + t2), t13, t8);
    }
  };
  T.AnnotationEntry.prototype = {
    toString$0: function(_) {
      return "AnnotationEntry(annotation: " + this.annotation.toString$0(0) + ", localPosition: " + this.localPosition.toString$0(0) + ")";
    }
  };
  T.AnnotationResult.prototype = {
    add$1: function(_, entry) {
      return this._entries.push(entry);
    }
  };
  T.Layer0.prototype = {
    get$parent: function(_) {
      return type$.nullable_ContainerLayer._as(B.AbstractNode.prototype.get$parent.call(this, this));
    },
    markNeedsAddToScene$0: function() {
      if (this._needsAddToScene)
        return;
      this._needsAddToScene = true;
    },
    get$alwaysNeedsAddToScene: function() {
      return false;
    },
    set$engineLayer: function(value) {
      var t1, _this = this;
      _this._engineLayer = value;
      if (!_this.get$alwaysNeedsAddToScene()) {
        t1 = type$.nullable_ContainerLayer;
        if (t1._as(B.AbstractNode.prototype.get$parent.call(_this, _this)) != null && !t1._as(B.AbstractNode.prototype.get$parent.call(_this, _this)).get$alwaysNeedsAddToScene())
          t1._as(B.AbstractNode.prototype.get$parent.call(_this, _this)).markNeedsAddToScene$0();
      }
    },
    updateSubtreeNeedsAddToScene$0: function() {
      this._needsAddToScene = this._needsAddToScene || this.get$alwaysNeedsAddToScene();
    },
    dropChild$1: function(child) {
      if (!this.get$alwaysNeedsAddToScene())
        this.markNeedsAddToScene$0();
      this.super$AbstractNode$dropChild(child);
    },
    remove$0: function(_) {
      var t2, t3, _this = this,
        t1 = type$.nullable_ContainerLayer._as(B.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);
      }
    },
    findAnnotations$1$3$onlyFirst: function(result, localPosition, onlyFirst) {
      return false;
    },
    find$1$1: function(_, localPosition, $S) {
      var t1 = H._setArrayType([], $S._eval$1("JSArray<AnnotationEntry<0>>"));
      this.findAnnotations$1$3$onlyFirst(new T.AnnotationResult(t1, $S._eval$1("AnnotationResult<0>")), localPosition, true, $S);
      return t1.length === 0 ? null : C.JSArray_methods.get$first(t1).annotation;
    },
    _addToSceneWithRetainedRendering$1: function(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: function() {
      var t1 = this.super$DiagnosticableTreeMixin$toStringShort();
      return t1 + (this._node$_owner == null ? " DETACHED" : "");
    },
    $isDiagnosticableTree: 1
  };
  T.PictureLayer.prototype = {
    addToScene$2: function(builder, layerOffset) {
      var t1 = this._picture;
      t1.toString;
      builder.addPicture$4$isComplexHint$willChangeHint(layerOffset, t1, this._isComplexHint, this._willChangeHint);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    },
    findAnnotations$1$3$onlyFirst: function(result, localPosition, onlyFirst) {
      return false;
    }
  };
  T.PerformanceOverlayLayer.prototype = {
    addToScene$2: function(builder, layerOffset) {
      var shiftedOverlayRect = this._overlayRect;
      shiftedOverlayRect = layerOffset.$eq(0, C.Offset_0_0) ? shiftedOverlayRect : shiftedOverlayRect.shift$1(layerOffset);
      builder.addPerformanceOverlay$2(this.optionsMask, shiftedOverlayRect);
      builder.setRasterizerTracingThreshold$1(this.rasterizerThreshold);
      builder.setCheckerboardRasterCacheImages$1(false);
      builder.setCheckerboardOffscreenLayers$1(false);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    },
    findAnnotations$1$3$onlyFirst: function(result, localPosition, onlyFirst) {
      return false;
    }
  };
  T.ContainerLayer0.prototype = {
    buildScene$1: function(builder) {
      this.updateSubtreeNeedsAddToScene$0();
      this.addToScene$1(builder);
      this._needsAddToScene = false;
      return builder.build$0(0);
    },
    updateSubtreeNeedsAddToScene$0: function() {
      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: function(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: function(owner) {
      var child;
      this.super$AbstractNode$attach(owner);
      child = this._firstChild;
      for (; child != null;) {
        child.attach$1(owner);
        child = child._nextSibling;
      }
    },
    detach$0: function(_) {
      var child;
      this.super$AbstractNode$detach(0);
      child = this._firstChild;
      for (; child != null;) {
        child.detach$0(0);
        child = child._nextSibling;
      }
    },
    append$1: function(_, child) {
      var t1, _this = this;
      if (!_this.get$alwaysNeedsAddToScene())
        _this.markNeedsAddToScene$0();
      _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;
    },
    removeAllChildren$0: function() {
      var next, _this = this,
        child = _this._firstChild;
      for (; child != null; child = next) {
        next = child._nextSibling;
        child._nextSibling = child._previousSibling = null;
        if (!_this.get$alwaysNeedsAddToScene())
          _this.markNeedsAddToScene$0();
        _this.super$AbstractNode$dropChild(child);
      }
      _this._lastChild = _this._firstChild = null;
    },
    addToScene$2: function(builder, layerOffset) {
      this.addChildrenToScene$2(builder, layerOffset);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    },
    addChildrenToScene$2: function(builder, childOffset) {
      var t1, t2, t3,
        child = this._firstChild;
      for (t1 = 0 === childOffset._dx, t2 = 0 === childOffset._dy; child != null;) {
        t3 = t1 && t2;
        if (t3)
          child._addToSceneWithRetainedRendering$1(builder);
        else
          child.addToScene$2(builder, childOffset);
        child = child._nextSibling;
      }
    },
    addChildrenToScene$1: function(builder) {
      return this.addChildrenToScene$2(builder, C.Offset_0_0);
    },
    applyTransform$2: function(child, transform) {
    },
    debugDescribeChildren$0: function() {
      var count,
        children = H._setArrayType([], type$.JSArray_DiagnosticsNode),
        child = this._firstChild;
      if (child == null)
        return children;
      for (count = 1; true;) {
        child.toString;
        children.push(new Y.DiagnosticableTreeNode(child, "child " + count, true, true, null, null));
        if (child === this._lastChild)
          break;
        ++count;
        child = child._nextSibling;
      }
      return children;
    }
  };
  T.OffsetLayer.prototype = {
    set$offset: function(_, value) {
      if (!value.$eq(0, this._layer$_offset))
        this.markNeedsAddToScene$0();
      this._layer$_offset = value;
    },
    findAnnotations$1$3$onlyFirst: function(result, localPosition, onlyFirst, $S) {
      return this.super$ContainerLayer$findAnnotations(result, localPosition.$sub(0, this._layer$_offset), true, $S);
    },
    applyTransform$2: function(child, transform) {
      var t1 = this._layer$_offset;
      transform.multiply$1(0, E.Matrix4_Matrix4$translationValues(t1._dx, t1._dy, 0));
    },
    addToScene$2: function(builder, layerOffset) {
      var _this = this,
        t1 = _this._layer$_offset;
      _this.set$engineLayer(builder.pushOffset$3$oldLayer(layerOffset._dx + t1._dx, layerOffset._dy + t1._dy, type$.nullable_OffsetEngineLayer._as(_this._engineLayer)));
      _this.addChildrenToScene$1(builder);
      builder.pop$0(0);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    }
  };
  T.ClipRectLayer.prototype = {
    findAnnotations$1$3$onlyFirst: function(result, localPosition, onlyFirst, $S) {
      if (!this._clipRect.contains$1(0, localPosition))
        return false;
      return this.super$ContainerLayer$findAnnotations(result, localPosition, true, $S);
    },
    addToScene$2: function(builder, layerOffset) {
      var shiftedClipRect, _this = this,
        t1 = layerOffset.$eq(0, C.Offset_0_0),
        t2 = _this._clipRect;
      if (t1) {
        t2.toString;
        shiftedClipRect = t2;
      } else
        shiftedClipRect = t2.shift$1(layerOffset);
      _this.set$engineLayer(builder.pushClipRect$3$clipBehavior$oldLayer(shiftedClipRect, _this._layer$_clipBehavior, type$.nullable_ClipRectEngineLayer._as(_this._engineLayer)));
      _this.addChildrenToScene$2(builder, layerOffset);
      builder.pop$0(0);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    }
  };
  T.ClipRRectLayer.prototype = {
    findAnnotations$1$3$onlyFirst: function(result, localPosition, onlyFirst, $S) {
      if (!this._layer$_clipRRect.contains$1(0, localPosition))
        return false;
      return this.super$ContainerLayer$findAnnotations(result, localPosition, true, $S);
    },
    addToScene$2: function(builder, layerOffset) {
      var shiftedClipRRect, _this = this,
        t1 = layerOffset.$eq(0, C.Offset_0_0),
        t2 = _this._layer$_clipRRect;
      if (t1) {
        t2.toString;
        shiftedClipRRect = t2;
      } else
        shiftedClipRRect = t2.shift$1(layerOffset);
      _this.set$engineLayer(builder.pushClipRRect$3$clipBehavior$oldLayer(shiftedClipRRect, _this._layer$_clipBehavior, type$.nullable_ClipRRectEngineLayer._as(_this._engineLayer)));
      _this.addChildrenToScene$2(builder, layerOffset);
      builder.pop$0(0);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    }
  };
  T.ClipPathLayer.prototype = {
    findAnnotations$1$3$onlyFirst: function(result, localPosition, onlyFirst, $S) {
      if (!this._clipPath.contains$1(0, localPosition))
        return false;
      return this.super$ContainerLayer$findAnnotations(result, localPosition, true, $S);
    },
    addToScene$2: function(builder, layerOffset) {
      var shiftedPath, _this = this,
        t1 = layerOffset.$eq(0, C.Offset_0_0),
        t2 = _this._clipPath;
      if (t1) {
        t2.toString;
        shiftedPath = t2;
      } else
        shiftedPath = t2.shift$1(layerOffset);
      _this.set$engineLayer(builder.pushClipPath$3$clipBehavior$oldLayer(shiftedPath, _this._layer$_clipBehavior, type$.nullable_ClipPathEngineLayer._as(_this._engineLayer)));
      _this.addChildrenToScene$2(builder, layerOffset);
      builder.pop$0(0);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    }
  };
  T.TransformLayer.prototype = {
    set$transform: function(_, value) {
      var _this = this;
      if (value.$eq(0, _this._layer$_transform))
        return;
      _this._layer$_transform = value;
      _this._inverseDirty = true;
      _this.markNeedsAddToScene$0();
    },
    addToScene$2: function(builder, layerOffset) {
      var totalOffset, t1, t2, _this = this;
      _this._lastEffectiveTransform = _this._layer$_transform;
      totalOffset = _this._layer$_offset.$add(0, layerOffset);
      if (!totalOffset.$eq(0, C.Offset_0_0)) {
        t1 = E.Matrix4_Matrix4$translationValues(totalOffset._dx, totalOffset._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(0);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    },
    _transformOffset$1: function(localPosition) {
      var t1, _this = this;
      if (_this._inverseDirty) {
        t1 = _this._layer$_transform;
        t1.toString;
        _this._invertedTransform = E.Matrix4_tryInvert(F.PointerEvent_removePerspectiveTransform(t1));
        _this._inverseDirty = false;
      }
      t1 = _this._invertedTransform;
      if (t1 == null)
        return null;
      return T.MatrixUtils_transformPoint(t1, localPosition);
    },
    findAnnotations$1$3$onlyFirst: function(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: function(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);
    }
  };
  T.OpacityLayer.prototype = {
    applyTransform$2: function(child, transform) {
      var t1 = this._layer$_offset;
      transform.translate$2(0, t1._dx, t1._dy);
    },
    addToScene$2: function(builder, layerOffset) {
      var t1, _this = this,
        enabled = _this._firstChild != null;
      if (enabled) {
        t1 = _this._layer$_alpha;
        t1.toString;
        _this.set$engineLayer(builder.pushOpacity$3$offset$oldLayer(t1, _this._layer$_offset.$add(0, layerOffset), type$.nullable_OpacityEngineLayer._as(_this._engineLayer)));
      } else
        _this.set$engineLayer(null);
      _this.addChildrenToScene$1(builder);
      if (enabled)
        builder.pop$0(0);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    }
  };
  T.PhysicalModelLayer.prototype = {
    set$clipPath: function(_, value) {
      if (value !== this._clipPath) {
        this._clipPath = value;
        this.markNeedsAddToScene$0();
      }
    },
    set$clipBehavior: function(value) {
      if (value !== this._layer$_clipBehavior) {
        this._layer$_clipBehavior = value;
        this.markNeedsAddToScene$0();
      }
    },
    set$elevation: function(_, value) {
      if (value != this._layer$_elevation) {
        this._layer$_elevation = value;
        this.markNeedsAddToScene$0();
      }
    },
    set$color: function(_, value) {
      if (!J.$eq$(value, this._layer$_color)) {
        this._layer$_color = value;
        this.markNeedsAddToScene$0();
      }
    },
    set$shadowColor: function(_, value) {
      if (!J.$eq$(value, this._layer$_shadowColor)) {
        this._layer$_shadowColor = value;
        this.markNeedsAddToScene$0();
      }
    },
    findAnnotations$1$3$onlyFirst: function(result, localPosition, onlyFirst, $S) {
      if (!this._clipPath.contains$1(0, localPosition))
        return false;
      return this.super$ContainerLayer$findAnnotations(result, localPosition, true, $S);
    },
    addToScene$2: function(builder, layerOffset) {
      var t3, t4, _this = this,
        t1 = layerOffset.$eq(0, C.Offset_0_0),
        t2 = _this._clipPath;
      if (t1) {
        t2.toString;
        t1 = t2;
      } else
        t1 = t2.shift$1(layerOffset);
      t2 = _this._layer$_elevation;
      t2.toString;
      t3 = _this._layer$_color;
      t3.toString;
      t4 = _this._layer$_shadowColor;
      _this.set$engineLayer(builder.pushPhysicalShape$6$clipBehavior$color$elevation$oldLayer$path$shadowColor(_this._layer$_clipBehavior, t3, t2, type$.nullable_PhysicalShapeEngineLayer._as(_this._engineLayer), t1, t4));
      _this.addChildrenToScene$2(builder, layerOffset);
      builder.pop$0(0);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    }
  };
  T.LayerLink.prototype = {
    toString$0: function(_) {
      var t1 = "<optimized out>#" + Y.shortHash(this) + "(";
      return t1 + (this._leader != null ? "<linked>" : "<dangling>") + ")";
    }
  };
  T.LeaderLayer.prototype = {
    get$alwaysNeedsAddToScene: function() {
      return true;
    },
    attach$1: function(owner) {
      var _this = this;
      _this.super$ContainerLayer$attach(owner);
      _this._lastOffset = null;
      _this._layer$_link._leader = _this;
    },
    detach$0: function(_) {
      this._lastOffset = this._layer$_link._leader = null;
      this.super$ContainerLayer$detach(0);
    },
    findAnnotations$1$3$onlyFirst: function(result, localPosition, onlyFirst, $S) {
      return this.super$ContainerLayer$findAnnotations(result, localPosition.$sub(0, this.offset), true, $S);
    },
    addToScene$2: function(builder, layerOffset) {
      var _this = this,
        t1 = _this.offset.$add(0, layerOffset);
      _this._lastOffset = t1;
      if (!t1.$eq(0, C.Offset_0_0)) {
        t1 = _this._lastOffset;
        _this.set$engineLayer(builder.pushTransform$2$oldLayer(E.Matrix4_Matrix4$translationValues(t1._dx, t1._dy, 0)._m4storage, type$.nullable_TransformEngineLayer._as(_this._engineLayer)));
      }
      _this.addChildrenToScene$1(builder);
      if (!J.$eq$(_this._lastOffset, C.Offset_0_0))
        builder.pop$0(0);
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    },
    applyTransform$2: function(child, transform) {
      var t1;
      if (!J.$eq$(this._lastOffset, C.Offset_0_0)) {
        t1 = this._lastOffset;
        transform.translate$2(0, t1._dx, t1._dy);
      }
    }
  };
  T.FollowerLayer.prototype = {
    _transformOffset$1: function(localPosition) {
      var t1, vector, t2, t3, _this = this;
      if (_this._inverseDirty) {
        t1 = _this.getLastTransform$0();
        t1.toString;
        _this._invertedTransform = E.Matrix4_tryInvert(t1);
        _this._inverseDirty = false;
      }
      if (_this._invertedTransform == null)
        return null;
      vector = new E.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 P.Offset(t2 - t3._dx, t1[1] - t3._dy);
    },
    findAnnotations$1$3$onlyFirst: function(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: function() {
      var t1, result;
      if (this._layer$_lastTransform == null)
        return null;
      t1 = this._lastOffset;
      result = E.Matrix4_Matrix4$translationValues(-t1._dx, -t1._dy, 0);
      t1 = this._layer$_lastTransform;
      t1.toString;
      result.multiply$1(0, t1);
      return result;
    },
    _establishTransform$0: function() {
      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 = H._setArrayType([leader], t1);
      inverseLayers = H._setArrayType([_this], t1);
      T.FollowerLayer__pathsToCommonAncestor(leader, _this, forwardLayers, inverseLayers);
      forwardTransform = T.FollowerLayer__collectTransformForLayerChain(forwardLayers);
      leader.applyTransform$2(null, forwardTransform);
      t1 = _this.linkedOffset;
      forwardTransform.translate$2(0, t1._dx, t1._dy);
      inverseTransform = T.FollowerLayer__collectTransformForLayerChain(inverseLayers);
      if (inverseTransform.copyInverse$1(inverseTransform) === 0)
        return;
      inverseTransform.multiply$1(0, forwardTransform);
      _this._layer$_lastTransform = inverseTransform;
      _this._inverseDirty = true;
    },
    get$alwaysNeedsAddToScene: function() {
      return true;
    },
    addToScene$2: function(builder, layerOffset) {
      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.set$engineLayer(builder.pushTransform$2$oldLayer(t1._m4storage, t2._as(_this._engineLayer)));
        _this.addChildrenToScene$1(builder);
        builder.pop$0(0);
        _this._lastOffset = _this.unlinkedOffset.$add(0, layerOffset);
      } else {
        _this._lastOffset = null;
        t1 = _this.unlinkedOffset;
        _this.set$engineLayer(builder.pushTransform$2$oldLayer(E.Matrix4_Matrix4$translationValues(t1._dx, t1._dy, 0)._m4storage, t2._as(_this._engineLayer)));
        _this.addChildrenToScene$1(builder);
        builder.pop$0(0);
      }
      _this._inverseDirty = true;
    },
    addToScene$1: function(builder) {
      return this.addToScene$2(builder, C.Offset_0_0);
    },
    applyTransform$2: function(child, transform) {
      var t1 = this._layer$_lastTransform;
      if (t1 != null)
        transform.multiply$1(0, t1);
      else {
        t1 = this.unlinkedOffset;
        transform.multiply$1(0, E.Matrix4_Matrix4$translationValues(t1._dx, t1._dy, 0));
      }
    }
  };
  T.AnnotatedRegionLayer.prototype = {
    findAnnotations$1$3$onlyFirst: function(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 P.Rect(t4, t3, t4 + t2._dx, t3 + t2._dy).contains$1(0, localPosition);
      } else
        t2 = false;
      if (t2)
        return isAbsorbed;
      if (H.createRuntimeType(_this.$ti._precomputed1) === H.createRuntimeType($S)) {
        isAbsorbed = isAbsorbed || false;
        t1.push(new T.AnnotationEntry($S._as(_this.value), localPosition.$sub(0, _this.offset), $S._eval$1("AnnotationEntry<0>")));
      }
      return isAbsorbed;
    }
  };
  T._Layer_AbstractNode_DiagnosticableTreeMixin.prototype = {};
  R.ListBodyParentData.prototype = {};
  R.RenderListBody.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof R.ListBodyParentData))
        child.parentData = new R.ListBodyParentData(null, null, C.Offset_0_0);
    },
    set$axisDirection: function(value) {
      if (this._list_body$_axisDirection === value)
        return;
      this._list_body$_axisDirection = value;
      this.markNeedsLayout$0();
    },
    computeDryLayout$1: function(constraints) {
      var t1, innerConstraints, t2, mainAxisExtent, t3, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      switch (_this._list_body$_axisDirection) {
        case C.AxisDirection_1:
        case C.AxisDirection_3:
          t1 = constraints.maxHeight;
          innerConstraints = S.BoxConstraints$tightFor(t1, null);
          for (t2 = H._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 P.Size(mainAxisExtent, t1));
        case C.AxisDirection_0:
        case C.AxisDirection_2:
          t1 = constraints.maxWidth;
          innerConstraints = S.BoxConstraints$tightFor(null, t1);
          for (t2 = H._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 P.Size(t1, mainAxisExtent));
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    performLayout$0: function() {
      var t1, innerConstraints, t2, mainAxisExtent, t3, position, _this = this, _null = null,
        constraints = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)),
        child = _this.ContainerRenderObjectMixin__firstChild;
      switch (_this._list_body$_axisDirection) {
        case C.AxisDirection_1:
          t1 = constraints.maxHeight;
          innerConstraints = S.BoxConstraints$tightFor(t1, _null);
          for (t2 = type$.ListBodyParentData, mainAxisExtent = 0; child != null;) {
            child.layout$2$parentUsesSize(0, innerConstraints, true);
            t3 = child.parentData;
            t3.toString;
            t2._as(t3);
            t3.offset = new P.Offset(mainAxisExtent, 0);
            mainAxisExtent += child._box$_size._dx;
            child = t3.ContainerParentDataMixin_nextSibling;
          }
          _this._box$_size = constraints.constrain$1(new P.Size(mainAxisExtent, t1));
          break;
        case C.AxisDirection_3:
          t1 = constraints.maxHeight;
          innerConstraints = S.BoxConstraints$tightFor(t1, _null);
          for (t2 = type$.ListBodyParentData, mainAxisExtent = 0; child != null;) {
            child.layout$2$parentUsesSize(0, 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 P.Offset(mainAxisExtent - position, 0);
            child = t3.ContainerParentDataMixin_nextSibling;
          }
          _this._box$_size = constraints.constrain$1(new P.Size(mainAxisExtent, t1));
          break;
        case C.AxisDirection_2:
          t1 = constraints.maxWidth;
          innerConstraints = S.BoxConstraints$tightFor(_null, t1);
          for (t2 = type$.ListBodyParentData, mainAxisExtent = 0; child != null;) {
            child.layout$2$parentUsesSize(0, innerConstraints, true);
            t3 = child.parentData;
            t3.toString;
            t2._as(t3);
            t3.offset = new P.Offset(0, mainAxisExtent);
            mainAxisExtent += child._box$_size._dy;
            child = t3.ContainerParentDataMixin_nextSibling;
          }
          _this._box$_size = constraints.constrain$1(new P.Size(t1, mainAxisExtent));
          break;
        case C.AxisDirection_0:
          t1 = constraints.maxWidth;
          innerConstraints = S.BoxConstraints$tightFor(_null, t1);
          for (t2 = type$.ListBodyParentData, mainAxisExtent = 0; child != null;) {
            child.layout$2$parentUsesSize(0, 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 P.Offset(0, mainAxisExtent - position);
            child = t3.ContainerParentDataMixin_nextSibling;
          }
          _this._box$_size = constraints.constrain$1(new P.Size(t1, mainAxisExtent));
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _getIntrinsicCrossAxis$1: function(childSize) {
      var t1, extent, t2,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.ListBodyParentData, extent = 0; child != null;) {
        extent = Math.max(extent, H.checkNum(childSize.call$1(child)));
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return extent;
    },
    _getIntrinsicMainAxis$1: function(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: function(height) {
      switch (G.axisDirectionToAxis(this._list_body$_axisDirection)) {
        case C.Axis_0:
          return this._getIntrinsicMainAxis$1(new R.RenderListBody_computeMinIntrinsicWidth_closure(height));
        case C.Axis_1:
          return this._getIntrinsicCrossAxis$1(new R.RenderListBody_computeMinIntrinsicWidth_closure0(height));
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeMaxIntrinsicWidth$1: function(height) {
      switch (G.axisDirectionToAxis(this._list_body$_axisDirection)) {
        case C.Axis_0:
          return this._getIntrinsicMainAxis$1(new R.RenderListBody_computeMaxIntrinsicWidth_closure(height));
        case C.Axis_1:
          return this._getIntrinsicCrossAxis$1(new R.RenderListBody_computeMaxIntrinsicWidth_closure0(height));
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeMinIntrinsicHeight$1: function(width) {
      switch (G.axisDirectionToAxis(this._list_body$_axisDirection)) {
        case C.Axis_0:
          return this._getIntrinsicMainAxis$1(new R.RenderListBody_computeMinIntrinsicHeight_closure(width));
        case C.Axis_1:
          return this._getIntrinsicCrossAxis$1(new R.RenderListBody_computeMinIntrinsicHeight_closure0(width));
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeMaxIntrinsicHeight$1: function(width) {
      switch (G.axisDirectionToAxis(this._list_body$_axisDirection)) {
        case C.Axis_0:
          return this._getIntrinsicMainAxis$1(new R.RenderListBody_computeMaxIntrinsicHeight_closure(width));
        case C.Axis_1:
          return this._getIntrinsicCrossAxis$1(new R.RenderListBody_computeMaxIntrinsicHeight_closure0(width));
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      return this.defaultComputeDistanceToFirstActualBaseline$1(baseline);
    },
    paint$2: function(context, offset) {
      this.defaultPaint$2(context, offset);
    },
    hitTestChildren$2$position: function(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    }
  };
  R.RenderListBody_computeMinIntrinsicWidth_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_0, this.height, child.get$computeMinIntrinsicWidth());
    },
    $signature: 15
  };
  R.RenderListBody_computeMinIntrinsicWidth_closure0.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_0, this.height, child.get$computeMinIntrinsicWidth());
    },
    $signature: 15
  };
  R.RenderListBody_computeMaxIntrinsicWidth_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_1, this.height, child.get$computeMaxIntrinsicWidth());
    },
    $signature: 15
  };
  R.RenderListBody_computeMaxIntrinsicWidth_closure0.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_1, this.height, child.get$computeMaxIntrinsicWidth());
    },
    $signature: 15
  };
  R.RenderListBody_computeMinIntrinsicHeight_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_2, this.width, child.get$computeMinIntrinsicHeight());
    },
    $signature: 15
  };
  R.RenderListBody_computeMinIntrinsicHeight_closure0.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_2, this.width, child.get$computeMinIntrinsicHeight());
    },
    $signature: 15
  };
  R.RenderListBody_computeMaxIntrinsicHeight_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_3, this.width, child.get$computeMaxIntrinsicHeight());
    },
    $signature: 15
  };
  R.RenderListBody_computeMaxIntrinsicHeight_closure0.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_3, this.width, child.get$computeMaxIntrinsicHeight());
    },
    $signature: 15
  };
  R._RenderListBody_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1: function(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: function(_) {
      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;
      }
    }
  };
  R._RenderListBody_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  A._MouseState.prototype = {
    replaceAnnotations$1: function(value) {
      var previous = this._annotations;
      this._annotations = value;
      return previous;
    },
    toString$0: function(_) {
      var _s16_ = "<optimized out>#",
        describeLatestEvent = "latestEvent: " + (_s16_ + Y.shortHash(this._latestEvent)),
        t1 = this._annotations,
        describeAnnotations = "annotations: [list of " + t1.get$length(t1) + "]";
      return _s16_ + Y.shortHash(this) + "(" + describeLatestEvent + ", " + describeAnnotations + ")";
    }
  };
  A._MouseTrackerUpdateDetails.prototype = {
    get$device: function(_) {
      var t1 = this.previousEvent;
      return t1.get$device(t1);
    }
  };
  A.MouseTracker.prototype = {
    _hitTestResultToAnnotations$1: function(result) {
      var t2, t3, _i, entry, t4, t5,
        t1 = type$.MouseTrackerAnnotation,
        annotations = type$.LinkedHashMap_MouseTrackerAnnotation_Matrix4._as(P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Matrix4));
      for (t2 = result._path, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
        entry = t2[_i];
        if (t1._is(entry.get$target(entry))) {
          t4 = t1._as(entry.get$target(entry));
          t5 = entry._transform;
          t5.toString;
          annotations.$indexSet(0, t4, t5);
        }
      }
      return annotations;
    },
    _findAnnotations$2: function(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 type$.LinkedHashMap_MouseTrackerAnnotation_Matrix4._as(P.LinkedHashMap_LinkedHashMap$_empty(type$.MouseTrackerAnnotation, type$.Matrix4));
      return this._hitTestResultToAnnotations$1(hitTest.call$1(globalPosition));
    },
    _handleDeviceUpdate$1: function(details) {
      var t1, t2;
      A.MouseTracker__handleDeviceUpdateMouseEvents(details);
      t1 = details.get$device(details);
      t2 = details.nextAnnotations;
      t2 = t2.get$keys(t2);
      this._mouseCursorMixin.handleDeviceCursorUpdate$3(t1, details.triggeringEvent, H.MappedIterable_MappedIterable(t2, new A.MouseTracker__handleDeviceUpdate_closure(), H._instanceType(t2)._eval$1("Iterable.E"), type$.MouseCursor));
    },
    updateWithEvent$2: function($event, getResult) {
      var device, t1, existingState, mouseWasConnected,
        result = type$.PointerRemovedEvent._is($event) ? O.HitTestResult$() : getResult.call$0();
      if ($event.get$kind($event) !== C.PointerDeviceKind_1)
        return;
      if (type$.PointerSignalEvent._is($event))
        return;
      device = $event.get$device($event);
      t1 = this._mouseStates;
      existingState = t1.$index(0, device);
      if (!A.MouseTracker__shouldMarkStateDirty(existingState, $event))
        return;
      mouseWasConnected = t1.get$isNotEmpty(t1);
      new A.MouseTracker_updateWithEvent_closure(this, existingState, $event, device, result).call$0();
      if (mouseWasConnected !== t1.get$isNotEmpty(t1))
        this.notifyListeners$0();
    },
    updateAllDevices$1: function(hitTest) {
      new A.MouseTracker_updateAllDevices_closure(this, hitTest).call$0();
    }
  };
  A.MouseTracker__handleDeviceUpdate_closure.prototype = {
    call$1: function(annotaion) {
      return annotaion.get$cursor(annotaion);
    },
    $signature: 830
  };
  A.MouseTracker_updateWithEvent_closure.prototype = {
    call$0: function() {
      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: function() {
      var t2, t3, targetState, previous, nextAnnotations, _this = this,
        t1 = _this.existingState;
      if (t1 == null) {
        t2 = _this.event;
        _this.$this._mouseStates.$indexSet(0, _this.device, new A._MouseState(P.LinkedHashMap_LinkedHashMap(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) ? type$.LinkedHashMap_MouseTrackerAnnotation_Matrix4._as(P.LinkedHashMap_LinkedHashMap$_empty(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: function() {
      var t1, t2, t3, t4, lastEvent, nextAnnotations, previous;
      for (t1 = this.$this, t2 = t1._mouseStates, t2 = t2.get$values(t2), t2 = t2.get$iterator(t2), t3 = this.hitTest; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        lastEvent = t4._latestEvent;
        nextAnnotations = t1._findAnnotations$2(t4, t3);
        previous = t4._annotations;
        t4._annotations = nextAnnotations;
        t1._handleDeviceUpdate$1(new A._MouseTrackerUpdateDetails(previous, nextAnnotations, lastEvent, null));
      }
    },
    $signature: 0
  };
  A.MouseTracker__handleDeviceUpdateMouseEvents_closure.prototype = {
    call$2: function(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: 831
  };
  A.MouseTracker__handleDeviceUpdateMouseEvents_closure0.prototype = {
    call$1: function(annotation) {
      return !this.lastAnnotations.containsKey$1(0, annotation);
    },
    $signature: 832
  };
  A.__MouseTrackerUpdateDetails_Object_Diagnosticable.prototype = {};
  K.ParentData.prototype = {
    detach$0: function(_) {
    },
    toString$0: function(_) {
      return "<none>";
    }
  };
  K.PaintingContext.prototype = {
    paintChild$2: function(child, offset) {
      var t1;
      if (child.get$isRepaintBoundary()) {
        this.stopRecordingIfNeeded$0();
        if (child._needsPaint)
          K.PaintingContext__repaintCompositedChild(child, null, true);
        t1 = child._layer;
        t1.toString;
        type$.OffsetLayer._as(t1).set$offset(0, offset);
        t1 = child._layer;
        t1.toString;
        this.appendLayer$1(t1);
      } else
        child._paintWithContext$2(this, offset);
    },
    appendLayer$1: function(layer) {
      layer.remove$0(0);
      this._containerLayer.append$1(0, layer);
    },
    get$canvas: function(_) {
      var t1, _this = this;
      if (_this._canvas == null) {
        _this._currentLayer = new T.PictureLayer(_this.estimatedBounds);
        t1 = P.PictureRecorder_PictureRecorder();
        _this._recorder = t1;
        _this._canvas = P.Canvas_Canvas(t1, null);
        t1 = _this._currentLayer;
        t1.toString;
        _this._containerLayer.append$1(0, t1);
      }
      t1 = _this._canvas;
      t1.toString;
      return t1;
    },
    stopRecordingIfNeeded$0: function() {
      var t1, t2, _this = this;
      if (_this._canvas == null)
        return;
      t1 = _this._currentLayer;
      t1.toString;
      t2 = _this._recorder.endRecording$0();
      t1.markNeedsAddToScene$0();
      t1._picture = t2;
      _this._canvas = _this._recorder = _this._currentLayer = null;
    },
    setIsComplexHint$0: function() {
      var t1 = this._currentLayer;
      if (t1 != null)
        if (!t1._isComplexHint) {
          t1._isComplexHint = true;
          t1.markNeedsAddToScene$0();
        }
    },
    pushLayer$4$childPaintBounds: function(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: function(childLayer, painter, offset) {
      return this.pushLayer$4$childPaintBounds(childLayer, painter, offset, null);
    },
    createChildContext$2: function(childLayer, bounds) {
      return new K.PaintingContext(childLayer, bounds);
    },
    pushClipRect$6$clipBehavior$oldLayer: function(needsCompositing, offset, clipRect, painter, clipBehavior, oldLayer) {
      var layer,
        offsetClipRect = clipRect.shift$1(offset);
      if (needsCompositing) {
        layer = oldLayer == null ? new T.ClipRectLayer(C.Clip_1) : 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 K.PaintingContext_pushClipRect_closure(this, painter, offset));
        return null;
      }
    },
    pushClipRRect$7$clipBehavior$oldLayer: function(needsCompositing, offset, bounds, clipRRect, painter, clipBehavior, oldLayer) {
      var layer,
        offsetBounds = bounds.shift$1(offset),
        offsetClipRRect = clipRRect.shift$1(offset);
      if (needsCompositing) {
        layer = oldLayer == null ? new T.ClipRRectLayer(C.Clip_2) : oldLayer;
        if (!offsetClipRRect.$eq(0, layer._layer$_clipRRect)) {
          layer._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 K.PaintingContext_pushClipRRect_closure(this, painter, offset));
        return null;
      }
    },
    pushClipRRect$6$oldLayer: function(needsCompositing, offset, bounds, clipRRect, painter, oldLayer) {
      return this.pushClipRRect$7$clipBehavior$oldLayer(needsCompositing, offset, bounds, clipRRect, painter, C.Clip_2, oldLayer);
    },
    pushClipPath$7$clipBehavior$oldLayer: function(needsCompositing, offset, bounds, clipPath, painter, clipBehavior, oldLayer) {
      var layer,
        offsetBounds = bounds.shift$1(offset),
        offsetClipPath = clipPath.shift$1(offset);
      if (needsCompositing) {
        layer = oldLayer == null ? new T.ClipPathLayer(C.Clip_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 K.PaintingContext_pushClipPath_closure(this, painter, offset));
        return null;
      }
    },
    pushTransform$5$oldLayer: function(needsCompositing, offset, transform, painter, oldLayer) {
      var layer, _this = this,
        t1 = offset._dx,
        t2 = offset._dy,
        effectiveTransform = E.Matrix4_Matrix4$translationValues(t1, t2, 0);
      effectiveTransform.multiply$1(0, transform);
      effectiveTransform.translate$2(0, -t1, -t2);
      if (needsCompositing) {
        layer = oldLayer == null ? new T.TransformLayer(null, C.Offset_0_0) : oldLayer;
        layer.set$transform(0, effectiveTransform);
        _this.pushLayer$4$childPaintBounds(layer, painter, offset, T.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: function(needsCompositing, offset, transform, painter) {
      return this.pushTransform$5$oldLayer(needsCompositing, offset, transform, painter, null);
    },
    pushOpacity$4$oldLayer: function(offset, alpha, painter, oldLayer) {
      var layer = oldLayer == null ? new T.OpacityLayer(C.Offset_0_0) : oldLayer;
      if (alpha != layer._layer$_alpha) {
        layer._layer$_alpha = alpha;
        layer.markNeedsAddToScene$0();
      }
      if (!offset.$eq(0, layer._layer$_offset)) {
        layer._layer$_offset = offset;
        layer.markNeedsAddToScene$0();
      }
      this.pushLayer$3(layer, painter, C.Offset_0_0);
      return layer;
    },
    toString$0: function(_) {
      return "PaintingContext#" + H.Primitives_objectHashCode(this) + "(layer: " + H.S(this._containerLayer) + ", canvas bounds: " + this.estimatedBounds.toString$0(0) + ")";
    }
  };
  K.PaintingContext_pushClipRect_closure.prototype = {
    call$0: function() {
      return this.painter.call$2(this.$this, this.offset);
    },
    $signature: 0
  };
  K.PaintingContext_pushClipRRect_closure.prototype = {
    call$0: function() {
      return this.painter.call$2(this.$this, this.offset);
    },
    $signature: 0
  };
  K.PaintingContext_pushClipPath_closure.prototype = {
    call$0: function() {
      return this.painter.call$2(this.$this, this.offset);
    },
    $signature: 0
  };
  K.Constraints.prototype = {};
  K.SemanticsHandle.prototype = {
    dispose$0: function(_) {
      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(0);
        t1._semanticsOwner = null;
        t1.onSemanticsOwnerDisposed.call$0();
      }
    }
  };
  K.PipelineOwner.prototype = {
    requestVisualUpdate$0: function() {
      this.onNeedVisualUpdate.call$0();
    },
    set$rootNode: function(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: function() {
      var dirtyNodes, node, t1, t2, t3, t4, t5, _i;
      P.Timeline_startSync("Layout", C.Map_9aZ6I, null);
      try {
        for (t1 = type$.nullable_PipelineOwner, t2 = type$.JSArray_RenderObject; t3 = this._nodesNeedingLayout, t3.length !== 0;) {
          dirtyNodes = t3;
          this._nodesNeedingLayout = H._setArrayType([], t2);
          t3 = dirtyNodes;
          t4 = new K.PipelineOwner_flushLayout_closure();
          if (!!t3.immutable$list)
            H.throwExpression(P.UnsupportedError$("sort"));
          t5 = t3.length - 1;
          if (t5 - 0 <= 32)
            H.Sort__insertionSort(t3, 0, t5, t4);
          else
            H.Sort__dualPivotQuicksort(t3, 0, t5, t4);
          t4 = t3.length;
          _i = 0;
          for (; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
            node = t3[_i];
            if (node._needsLayout) {
              t5 = node;
              t5 = t1._as(B.AbstractNode.prototype.get$owner.call(t5)) === this;
            } else
              t5 = false;
            if (t5)
              node._layoutWithoutResize$0();
          }
        }
      } finally {
        P.Timeline_finishSync();
      }
    },
    _enableMutationsToDirtySubtrees$1: function(callback) {
      try {
        callback.call$0();
      } finally {
      }
    },
    flushCompositingBits$0: function() {
      var t1, t2, t3, _i, node;
      P.Timeline_startSync("Compositing bits", null, null);
      t1 = this._nodesNeedingCompositingBitsUpdate;
      C.JSArray_methods.sort$1(t1, new K.PipelineOwner_flushCompositingBits_closure());
      for (t2 = t1.length, t3 = type$.nullable_PipelineOwner, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        node = t1[_i];
        if (node._needsCompositingBitsUpdate && t3._as(B.AbstractNode.prototype.get$owner.call(node)) === this)
          node._updateCompositingBits$0();
      }
      C.JSArray_methods.set$length(t1, 0);
      P.Timeline_finishSync();
    },
    flushPaint$0: function() {
      var dirtyNodes, node, t1, t2, t3, _i, t4;
      P.Timeline_startSync("Paint", C.Map_9aZ6I, null);
      try {
        dirtyNodes = this._nodesNeedingPaint;
        this._nodesNeedingPaint = H._setArrayType([], type$.JSArray_RenderObject);
        for (t1 = dirtyNodes, J.sort$1$ax(t1, new K.PipelineOwner_flushPaint_closure()), t2 = t1.length, t3 = type$.nullable_PipelineOwner, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          node = t1[_i];
          if (node._needsPaint) {
            t4 = node;
            t4 = t3._as(B.AbstractNode.prototype.get$owner.call(t4)) === this;
          } else
            t4 = false;
          if (t4)
            if (node._layer._node$_owner != null)
              K.PaintingContext__repaintCompositedChild(node, null, false);
            else
              node._skippedPaintingOnLayer$0();
        }
      } finally {
        P.Timeline_finishSync();
      }
    },
    ensureSemantics$1$listener: function(listener) {
      var t1, _this = this;
      if (++_this._outstandingSemanticsHandles === 1) {
        t1 = type$.SemanticsNode;
        _this._semanticsOwner = new A.SemanticsOwner(P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashMap_LinkedHashMap$_empty(type$.int, t1), P.LinkedHashSet_LinkedHashSet$_empty(t1), P.List_List$filled(0, null, false, type$.nullable_void_Function));
        _this.onSemanticsOwnerCreated.call$0();
      }
      if (listener != null)
        _this._semanticsOwner.addListener$1(0, listener);
      return new K.SemanticsHandle(_this, listener);
    },
    ensureSemantics$0: function() {
      return this.ensureSemantics$1$listener(null);
    },
    flushSemantics$0: function() {
      var nodesToProcess, node, t1, nodesToProcess0, t2, t3, _i, t4, _this = this;
      if (_this._semanticsOwner == null)
        return;
      P.Timeline_startSync("Semantics", null, null);
      try {
        t1 = _this._nodesNeedingSemantics;
        nodesToProcess0 = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("SetMixin.E"));
        C.JSArray_methods.sort$1(nodesToProcess0, new K.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, H.throwConcurrentModificationError)(t1), ++_i) {
          node = t1[_i];
          if (node._needsSemanticsUpdate) {
            t4 = node;
            t4 = t3._as(B.AbstractNode.prototype.get$owner.call(t4)) === _this;
          } else
            t4 = false;
          if (t4)
            node._updateSemantics$0();
        }
        _this._semanticsOwner.sendSemanticsUpdate$0();
      } finally {
        P.Timeline_finishSync();
      }
    }
  };
  K.PipelineOwner_flushLayout_closure.prototype = {
    call$2: function(a, b) {
      return a._depth - b._depth;
    },
    $signature: 111
  };
  K.PipelineOwner_flushCompositingBits_closure.prototype = {
    call$2: function(a, b) {
      return a._depth - b._depth;
    },
    $signature: 111
  };
  K.PipelineOwner_flushPaint_closure.prototype = {
    call$2: function(a, b) {
      return b._depth - a._depth;
    },
    $signature: 111
  };
  K.PipelineOwner_flushSemantics_closure.prototype = {
    call$2: function(a, b) {
      return a._depth - b._depth;
    },
    $signature: 111
  };
  K.RenderObject.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof K.ParentData))
        child.parentData = new K.ParentData();
    },
    adoptChild$1: function(child) {
      var _this = this;
      _this.setupParentData$1(child);
      _this.markNeedsLayout$0();
      _this.markNeedsCompositingBitsUpdate$0();
      _this.markNeedsSemanticsUpdate$0();
      _this.super$AbstractNode$adoptChild(child);
    },
    dropChild$1: function(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: function(visitor) {
    },
    _debugReportException$3: function(method, exception, stack) {
      U.FlutterError_reportError(new U.FlutterErrorDetails(exception, stack, "rendering library", U.ErrorDescription$("during " + method + "()"), new K.RenderObject__debugReportException_closure(this), false));
    },
    attach$1: function(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._layer != null) {
        _this._needsPaint = false;
        _this.markNeedsPaint$0();
      }
      if (_this._needsSemanticsUpdate && _this.get$_semanticsConfiguration()._isSemanticBoundary) {
        _this._needsSemanticsUpdate = false;
        _this.markNeedsSemanticsUpdate$0();
      }
    },
    get$constraints: function() {
      var t1 = this._constraints;
      if (t1 == null)
        throw H.wrapException(P.StateError$("A RenderObject does not have any constraints before it has been laid out."));
      return t1;
    },
    markNeedsLayout$0: function() {
      var t1, _this = this;
      if (_this._needsLayout)
        return;
      if (_this._relayoutBoundary !== _this)
        _this.markParentNeedsLayout$0();
      else {
        _this._needsLayout = true;
        t1 = type$.nullable_PipelineOwner;
        if (t1._as(B.AbstractNode.prototype.get$owner.call(_this)) != null) {
          t1._as(B.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingLayout.push(_this);
          t1._as(B.AbstractNode.prototype.get$owner.call(_this)).requestVisualUpdate$0();
        }
      }
    },
    markParentNeedsLayout$0: function() {
      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: function() {
      var _this = this;
      if (_this._relayoutBoundary !== _this) {
        _this._relayoutBoundary = null;
        _this._needsLayout = true;
        _this.visitChildren$1(K.object_RenderObject__cleanChildRelayoutBoundary$closure());
      }
    },
    _layoutWithoutResize$0: function() {
      var e, stack, exception, _this = this;
      try {
        _this.performLayout$0();
        _this.markNeedsSemanticsUpdate$0();
      } catch (exception) {
        e = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        _this._debugReportException$3("performLayout", e, stack);
      }
      _this._needsLayout = false;
      _this.markNeedsPaint$0();
    },
    layout$2$parentUsesSize: function(_, constraints, parentUsesSize) {
      var e, stack, e0, stack0, relayoutBoundary, t1, exception, _this = this;
      if (!parentUsesSize || _this.get$sizedByParent() || constraints.get$isTight() || !(_this.get$parent(_this) instanceof K.RenderObject))
        relayoutBoundary = _this;
      else {
        t1 = _this.get$parent(_this);
        t1.toString;
        relayoutBoundary = type$.RenderObject._as(t1)._relayoutBoundary;
      }
      if (!_this._needsLayout && J.$eq$(constraints, _this._constraints) && relayoutBoundary == _this._relayoutBoundary)
        return;
      _this._constraints = constraints;
      t1 = _this._relayoutBoundary;
      if (t1 != null && relayoutBoundary !== t1)
        _this.visitChildren$1(K.object_RenderObject__cleanChildRelayoutBoundary$closure());
      _this._relayoutBoundary = relayoutBoundary;
      if (_this.get$sizedByParent())
        try {
          _this.performResize$0();
        } catch (exception) {
          e = H.unwrapException(exception);
          stack = H.getTraceFromException(exception);
          _this._debugReportException$3("performResize", e, stack);
        }
      try {
        _this.performLayout$0();
        _this.markNeedsSemanticsUpdate$0();
      } catch (exception) {
        e0 = H.unwrapException(exception);
        stack0 = H.getTraceFromException(exception);
        _this._debugReportException$3("performLayout", e0, stack0);
      }
      _this._needsLayout = false;
      _this.markNeedsPaint$0();
    },
    layout$1: function($receiver, constraints) {
      return this.layout$2$parentUsesSize($receiver, constraints, false);
    },
    get$sizedByParent: function() {
      return false;
    },
    invokeLayoutCallback$1$1: function(callback, $T) {
      var _this = this;
      _this._doingThisLayoutWithCallback = true;
      try {
        type$.nullable_PipelineOwner._as(B.AbstractNode.prototype.get$owner.call(_this))._enableMutationsToDirtySubtrees$1(new K.RenderObject_invokeLayoutCallback_closure(_this, callback, $T));
      } finally {
        _this._doingThisLayoutWithCallback = false;
      }
    },
    get$isRepaintBoundary: function() {
      return false;
    },
    get$alwaysNeedsCompositing: function() {
      return false;
    },
    get$layer: function(_) {
      return this._layer;
    },
    markNeedsCompositingBitsUpdate$0: function() {
      var t1, _this = this;
      if (_this._needsCompositingBitsUpdate)
        return;
      _this._needsCompositingBitsUpdate = true;
      if (_this.get$parent(_this) instanceof K.RenderObject) {
        t1 = _this.get$parent(_this);
        t1.toString;
        type$.RenderObject._as(t1);
        if (t1._needsCompositingBitsUpdate)
          return;
        if (!_this.get$isRepaintBoundary() && !t1.get$isRepaintBoundary()) {
          t1.markNeedsCompositingBitsUpdate$0();
          return;
        }
      }
      t1 = type$.nullable_PipelineOwner;
      if (t1._as(B.AbstractNode.prototype.get$owner.call(_this)) != null)
        t1._as(B.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingCompositingBitsUpdate.push(_this);
    },
    get$_needsCompositing: function() {
      var t1 = this.__RenderObject__needsCompositing;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_needsCompositing")) : t1;
    },
    _updateCompositingBits$0: function() {
      var oldNeedsCompositing, _this = this;
      if (!_this._needsCompositingBitsUpdate)
        return;
      oldNeedsCompositing = _this.get$_needsCompositing();
      _this.__RenderObject__needsCompositing = false;
      _this.visitChildren$1(new K.RenderObject__updateCompositingBits_closure(_this));
      if (_this.get$isRepaintBoundary() || _this.get$alwaysNeedsCompositing())
        _this.__RenderObject__needsCompositing = true;
      if (oldNeedsCompositing != _this.get$_needsCompositing())
        _this.markNeedsPaint$0();
      _this._needsCompositingBitsUpdate = false;
    },
    markNeedsPaint$0: function() {
      var t1, _this = this;
      if (_this._needsPaint)
        return;
      _this._needsPaint = true;
      if (_this.get$isRepaintBoundary()) {
        t1 = type$.nullable_PipelineOwner;
        if (t1._as(B.AbstractNode.prototype.get$owner.call(_this)) != null) {
          t1._as(B.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingPaint.push(_this);
          t1._as(B.AbstractNode.prototype.get$owner.call(_this)).requestVisualUpdate$0();
        }
      } else if (_this.get$parent(_this) instanceof K.RenderObject) {
        t1 = _this.get$parent(_this);
        t1.toString;
        type$.RenderObject._as(t1).markNeedsPaint$0();
      } else {
        t1 = type$.nullable_PipelineOwner;
        if (t1._as(B.AbstractNode.prototype.get$owner.call(_this)) != null)
          t1._as(B.AbstractNode.prototype.get$owner.call(_this)).requestVisualUpdate$0();
      }
    },
    _skippedPaintingOnLayer$0: function() {
      var t1,
        node = this.get$parent(this);
      for (; node instanceof K.RenderObject;) {
        if (node.get$isRepaintBoundary()) {
          t1 = node._layer;
          if (t1 == null)
            break;
          if (t1._node$_owner != null)
            break;
          node._needsPaint = true;
        }
        node = node.get$parent(node);
      }
    },
    _paintWithContext$2: function(context, offset) {
      var e, stack, exception, _this = this;
      if (_this._needsLayout)
        return;
      _this._needsPaint = false;
      try {
        _this.paint$2(context, offset);
      } catch (exception) {
        e = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        _this._debugReportException$3("paint", e, stack);
      }
    },
    paint$2: function(context, offset) {
    },
    applyPaintTransform$2: function(child, transform) {
    },
    getTransformTo$1: function(_, ancestor) {
      var rootNode, renderers, t2, renderer, t3, transform, index, index0,
        t1 = ancestor == null;
      if (t1) {
        rootNode = type$.nullable_PipelineOwner._as(B.AbstractNode.prototype.get$owner.call(this))._rootNode;
        if (rootNode instanceof K.RenderObject)
          ancestor = rootNode;
      }
      renderers = H._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 E.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: function(child) {
      return null;
    },
    describeSemanticsClip$1: function(child) {
      return null;
    },
    describeSemanticsConfiguration$1: function(config) {
    },
    sendSemanticsEvent$1: function(semanticsEvent) {
      var t1, _this = this;
      if (type$.nullable_PipelineOwner._as(B.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: function() {
      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: function() {
      var t1 = this._semantics;
      return t1;
    },
    clearSemantics$0: function() {
      this._needsSemanticsUpdate = true;
      this._semantics = null;
      this.visitChildren$1(new K.RenderObject_clearSemantics_closure());
    },
    markNeedsSemanticsUpdate$0: function() {
      var t1, wasSemanticsBoundary, isEffectiveSemanticsBoundary, t2, t3, t4, t5, node, t6, t7, _this = this;
      if (_this._node$_owner == null || type$.nullable_PipelineOwner._as(B.AbstractNode.prototype.get$owner.call(_this))._semanticsOwner == null) {
        _this._cachedSemanticsConfiguration = null;
        return;
      }
      if (_this._semantics != null) {
        t1 = _this._cachedSemanticsConfiguration;
        wasSemanticsBoundary = (t1 == null ? null : t1._isSemanticBoundary) === true;
      } else
        wasSemanticsBoundary = false;
      _this._cachedSemanticsConfiguration = null;
      isEffectiveSemanticsBoundary = _this.get$_semanticsConfiguration()._isSemanticBoundary && wasSemanticsBoundary;
      t1 = type$.RenderObject;
      t2 = type$.SemanticsAction;
      t3 = type$.void_Function_nullable_Object;
      t4 = type$.CustomSemanticsAction;
      t5 = type$.void_Function;
      node = _this;
      while (true) {
        if (!(!isEffectiveSemanticsBoundary && node.get$parent(node) instanceof K.RenderObject))
          break;
        if (node !== _this && node._needsSemanticsUpdate)
          break;
        node._needsSemanticsUpdate = true;
        t6 = node.get$parent(node);
        t6.toString;
        t1._as(t6);
        if (t6._cachedSemanticsConfiguration == null) {
          t7 = new A.SemanticsConfiguration(P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), P.LinkedHashMap_LinkedHashMap$_empty(t4, t5));
          t6._cachedSemanticsConfiguration = t7;
          t6.describeSemanticsConfiguration$1(t7);
        }
        isEffectiveSemanticsBoundary = t6._cachedSemanticsConfiguration._isSemanticBoundary;
        if (isEffectiveSemanticsBoundary && t6._semantics == null)
          return;
        node = t6;
      }
      if (node !== _this && _this._semantics != null && _this._needsSemanticsUpdate)
        type$.nullable_PipelineOwner._as(B.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingSemantics.remove$1(0, _this);
      if (!node._needsSemanticsUpdate) {
        node._needsSemanticsUpdate = true;
        t1 = type$.nullable_PipelineOwner;
        if (t1._as(B.AbstractNode.prototype.get$owner.call(_this)) != null) {
          t1._as(B.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingSemantics.add$1(0, node);
          t1._as(B.AbstractNode.prototype.get$owner.call(_this)).requestVisualUpdate$0();
        }
      }
    },
    _updateSemantics$0: function() {
      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(B.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 = H._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);
      C.JSArray_methods.get$single(result);
    },
    _getSemanticsForParent$1$mergeIntoParent: function(mergeIntoParent) {
      var producesForkingFragment, t1, fragments, toBeMarkedExplicit, childrenMergeIntoParent, t2, result, _this = this, _box_0 = {},
        config = _this.get$_semanticsConfiguration();
      _box_0.dropSemanticsOfPreviousSiblings = config.isBlockingSemanticsOfPreviouslyPaintedNodes;
      producesForkingFragment = !config._hasBeenAnnotated && !config._isSemanticBoundary;
      t1 = type$.JSArray__InterestingSemanticsFragment;
      fragments = H._setArrayType([], t1);
      toBeMarkedExplicit = P.LinkedHashSet_LinkedHashSet$_empty(type$._InterestingSemanticsFragment);
      childrenMergeIntoParent = mergeIntoParent || config._isMergingSemanticsOfDescendants;
      _box_0.abortWalk = false;
      _this.visitChildrenForSemantics$1(new K.RenderObject__getSemanticsForParent_closure(_box_0, _this, childrenMergeIntoParent, fragments, toBeMarkedExplicit, config, producesForkingFragment));
      if (_box_0.abortWalk)
        return new K._AbortingSemanticsFragment(H._setArrayType([_this], type$.JSArray_RenderObject), false);
      for (t2 = P._LinkedHashSetIterator$(toBeMarkedExplicit, toBeMarkedExplicit._collection$_modifications, toBeMarkedExplicit.$ti._precomputed1); t2.moveNext$0();)
        t2._collection$_current.markAsExplicit$0();
      _this._needsSemanticsUpdate = false;
      if (!(_this.get$parent(_this) instanceof K.RenderObject)) {
        t2 = _box_0.dropSemanticsOfPreviousSiblings;
        result = new K._RootSemanticsFragment(H._setArrayType([], t1), H._setArrayType([_this], type$.JSArray_RenderObject), t2);
      } else {
        t2 = _box_0.dropSemanticsOfPreviousSiblings;
        if (producesForkingFragment)
          result = new K._ContainerSemanticsFragment(H._setArrayType([], t1), t2);
        else {
          result = new K._SwitchableSemanticsFragment(mergeIntoParent, config, H._setArrayType([], t1), H._setArrayType([_this], type$.JSArray_RenderObject), t2);
          if (config._isSemanticBoundary)
            result._isExplicit = true;
        }
      }
      result.addAll$1(0, fragments);
      return result;
    },
    visitChildrenForSemantics$1: function(visitor) {
      this.visitChildren$1(visitor);
    },
    assembleSemanticsNode$3: function(node, config, children) {
      node.updateWith$2$childrenInInversePaintOrder$config(0, type$.List_SemanticsNode._as(children), config);
    },
    handleEvent$2: function($event, entry) {
    },
    toStringShort$0: function() {
      var target, count, _this = this,
        header = "<optimized out>#" + Y.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";
      return _this._node$_owner == null ? header + " DETACHED" : header;
    },
    toString$0: function(_) {
      return this.toStringShort$0();
    },
    debugDescribeChildren$0: function() {
      return H._setArrayType([], type$.JSArray_DiagnosticsNode);
    },
    showOnScreen$4$curve$descendant$duration$rect: function(curve, descendant, duration, rect) {
      var t1, _this = this;
      if (_this.get$parent(_this) instanceof K.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: function() {
      return this.showOnScreen$4$curve$descendant$duration$rect(C.Cubic_JUR, null, C.Duration_0, null);
    },
    showOnScreen$1$rect: function(rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(C.Cubic_JUR, null, C.Duration_0, rect);
    },
    showOnScreen$3$curve$duration$rect: function(curve, duration, rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(curve, null, duration, rect);
    },
    $isDiagnosticableTree: 1
  };
  K.RenderObject__debugReportException_closure.prototype = {
    call$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
        return function $async$call$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
                t1 = $async$self.$this;
                $async$goto = 2;
                return Y.DiagnosticableTreeNode$("The following RenderObject was being processed when the exception was fired", C.DiagnosticsTreeStyle_10, t1);
              case 2:
                // after yield
                $async$goto = 3;
                return Y.DiagnosticableTreeNode$("RenderObject", C.DiagnosticsTreeStyle_11, t1);
              case 3:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  K.RenderObject_invokeLayoutCallback_closure.prototype = {
    call$0: function() {
      this.callback.call$1(this.T._as(this.$this.get$constraints()));
    },
    $signature: 0
  };
  K.RenderObject__updateCompositingBits_closure.prototype = {
    call$1: function(child) {
      child._updateCompositingBits$0();
      if (child.get$_needsCompositing())
        this.$this.__RenderObject__needsCompositing = true;
    },
    $signature: 108
  };
  K.RenderObject_clearSemantics_closure.prototype = {
    call$1: function(child) {
      child.clearSemantics$0();
    },
    $signature: 108
  };
  K.RenderObject__getSemanticsForParent_closure.prototype = {
    call$1: function(renderChild) {
      var parentFragment, t2, t3, t4, t5, t6, t7, _i, fragment, siblingLength, i, siblingFragment, t8, _this = this,
        t1 = _this._box_0;
      if (t1.abortWalk || _this.$this._needsLayout) {
        t1.abortWalk = true;
        return;
      }
      parentFragment = renderChild._getSemanticsForParent$1$mergeIntoParent(_this.childrenMergeIntoParent);
      if (parentFragment.get$abortsWalk()) {
        t1.abortWalk = true;
        return;
      }
      if (parentFragment.dropsSemanticsOfPreviousSiblings) {
        C.JSArray_methods.set$length(_this.fragments, 0);
        _this.toBeMarkedExplicit.clear$0(0);
        if (!_this.config._isSemanticBoundary)
          t1.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, H.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 K.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: 108
  };
  K.RenderObjectWithChildMixin.prototype = {
    set$child: function(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: function() {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        this.redepthChild$1(t1);
    },
    visitChildren$1: function(visitor) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        visitor.call$1(t1);
    },
    debugDescribeChildren$0: function() {
      var t1 = this.RenderObjectWithChildMixin__child,
        t2 = type$.JSArray_DiagnosticsNode;
      return t1 != null ? H._setArrayType([Y.DiagnosticableTreeNode$("child", null, t1)], t2) : H._setArrayType([], t2);
    }
  };
  K.ContainerParentDataMixin.prototype = {};
  K.ContainerRenderObjectMixin.prototype = {
    get$childCount: function() {
      return this.ContainerRenderObjectMixin__childCount;
    },
    _insertIntoChildList$2$after: function(child, after) {
      var t2, t3, t4, _this = this,
        t1 = child.parentData;
      t1.toString;
      t2 = H._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: function(_, child, after) {
      this.adoptChild$1(child);
      this._insertIntoChildList$2$after(child, after);
    },
    add$1: function(_, child) {
      this.insert$2$after(0, child, this.ContainerRenderObjectMixin__lastChild);
    },
    addAll$1: function(_, children) {
    },
    _removeFromChildList$1: function(child) {
      var t2, t3, t4, t5, _this = this,
        t1 = child.parentData;
      t1.toString;
      t2 = H._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: function(_, child) {
      this._removeFromChildList$1(child);
      this.dropChild$1(child);
    },
    move$2$after: function(child, after) {
      var _this = this,
        t1 = child.parentData;
      t1.toString;
      if (H._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: function() {
      var t1, t2, t3,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = H._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: function(visitor) {
      var t1, t2,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = H._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: function(_) {
      return this.ContainerRenderObjectMixin__firstChild;
    },
    childBefore$1: function(child) {
      var t1 = child.parentData;
      t1.toString;
      return H._instanceType(this)._eval$1("ContainerRenderObjectMixin.1")._as(t1).ContainerParentDataMixin_previousSibling;
    },
    childAfter$1: function(child) {
      var t1 = child.parentData;
      t1.toString;
      return H._instanceType(this)._eval$1("ContainerRenderObjectMixin.1")._as(t1).ContainerParentDataMixin_nextSibling;
    },
    debugDescribeChildren$0: function() {
      var t1, count, t2,
        children = H._setArrayType([], type$.JSArray_DiagnosticsNode),
        child = this.ContainerRenderObjectMixin__firstChild;
      if (child != null)
        for (t1 = H._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"), count = 1; true; child = t2) {
          children.push(new Y.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;
    }
  };
  K.RelayoutWhenSystemFontsChangeMixin.prototype = {
    systemFontsDidChange$0: function() {
      this.markNeedsLayout$0();
    }
  };
  K._SemanticsFragment.prototype = {
    get$abortsWalk: function() {
      return false;
    }
  };
  K._ContainerSemanticsFragment.prototype = {
    addAll$1: function(_, fragments) {
      C.JSArray_methods.addAll$1(this.interestingFragments, fragments);
    },
    get$interestingFragments: function() {
      return this.interestingFragments;
    }
  };
  K._InterestingSemanticsFragment.prototype = {
    get$interestingFragments: function() {
      return H._setArrayType([this], type$.JSArray__InterestingSemanticsFragment);
    },
    addTags$1: function(tags) {
      var t1;
      if (tags == null || tags._collection$_length === 0)
        return;
      t1 = this._object$_tagsForChildren;
      (t1 == null ? this._object$_tagsForChildren = P.LinkedHashSet_LinkedHashSet$_empty(type$.SemanticsTag) : t1).addAll$1(0, tags);
    }
  };
  K._RootSemanticsFragment.prototype = {
    compileChildren$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result: function(elevationAdjustment, parentPaintClipRect, parentSemanticsClipRect, result) {
      var t3, t4, t5, children, _i,
        t1 = this._ancestorChain,
        t2 = C.JSArray_methods.get$first(t1);
      if (t2._semantics == null) {
        t3 = C.JSArray_methods.get$first(t1).get$showOnScreen();
        t4 = C.JSArray_methods.get$first(t1);
        t4.toString;
        t4 = type$.nullable_PipelineOwner._as(B.AbstractNode.prototype.get$owner.call(t4))._semanticsOwner;
        t4.toString;
        t5 = $.$get$SemanticsNode__kEmptyConfig();
        t5 = new A.SemanticsNode(null, 0, t3, C.Rect_0_0_0_0, t5._isMergingSemanticsOfDescendants, t5._actions, t5._customSemanticsActions, t5._actionsAsBits, t5._flags, t5._label, t5._semantics$_value, t5._decreasedValue, t5._increasedValue, t5._hint, t5._elevation, t5._thickness, t5._textDirection);
        t5.attach$1(t4);
        t2._semantics = t5;
      }
      t2 = C.JSArray_methods.get$first(t1)._semantics;
      t2.toString;
      t2.set$rect(0, C.JSArray_methods.get$first(t1).get$semanticBounds());
      children = H._setArrayType([], type$.JSArray_SemanticsNode);
      for (t1 = this._object$_children, t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, H.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: function() {
      return null;
    },
    markAsExplicit$0: function() {
    },
    addAll$1: function(_, fragments) {
      C.JSArray_methods.addAll$1(this._object$_children, fragments);
    }
  };
  K._SwitchableSemanticsFragment.prototype = {
    compileChildren$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result: function(elevationAdjustment, parentPaintClipRect, parentSemanticsClipRect, result) {
      var t1, t2, t3, t4, t5, _i, fragment, t6, t7, geometry, node, children, _this = this, _null = null;
      if (!_this._isExplicit) {
        t1 = _this._ancestorChain;
        C.JSArray_methods.get$first(t1)._semantics = null;
        for (t2 = _this._object$_children, t3 = t2.length, t4 = H._arrayInstanceType(t1), t5 = t4._precomputed1, t4 = t4._eval$1("SubListIterable<1>"), _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
          fragment = t2[_i];
          t6 = fragment._ancestorChain;
          t7 = new H.SubListIterable(t1, 1, _null, t4);
          t7.SubListIterable$3(t1, 1, _null, t5);
          C.JSArray_methods.addAll$1(t6, t7);
          fragment.compileChildren$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result(elevationAdjustment + _this._config._elevation, parentPaintClipRect, parentSemanticsClipRect, result);
        }
        return;
      }
      t1 = _this._ancestorChain;
      if (t1.length > 1) {
        geometry = new K._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.get$_rect();
          t4 = t4.get$isEmpty(t4);
        }
        t4 = t4 === true;
      } else
        t4 = false;
      if (t4)
        return;
      t4 = C.JSArray_methods.get$first(t1);
      if (t4._semantics == null)
        t4._semantics = A.SemanticsNode$(_null, C.JSArray_methods.get$first(t1).get$showOnScreen());
      node = C.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) {
        node.set$rect(0, geometry.get$_rect());
        node.set$transform(0, geometry.get$_object$_transform());
        node.parentSemanticsClipRect = geometry._semanticsClipRect;
        node.parentPaintClipRect = geometry._paintClipRect;
        if (t3 && geometry._markAsHidden) {
          _this._ensureConfigIsWritable$0();
          _this._config._setFlag$2(C.SemanticsFlag_8192, true);
        }
      }
      children = H._setArrayType([], type$.JSArray_SemanticsNode);
      for (t2 = _this._object$_children, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.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)
        C.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: function() {
      return this._isExplicit ? null : this._config;
    },
    addAll$1: function(_, 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, H.throwConcurrentModificationError)(fragments), ++_i) {
        fragment = fragments[_i];
        t2.push(fragment);
        if (fragment.get$config() == null)
          continue;
        if (!_this._isConfigWritable) {
          _this._config = _this._config.copy$0(0);
          _this._isConfigWritable = true;
        }
        t3 = _this._config;
        t4 = fragment.get$config();
        t4.toString;
        t3.absorb$1(t4);
      }
    },
    _ensureConfigIsWritable$0: function() {
      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._label = t1._label;
        t2._increasedValue = t1._increasedValue;
        t2._semantics$_value = t1._semantics$_value;
        t2._decreasedValue = t1._decreasedValue;
        t2._hint = t1._hint;
        t2._hintOverrides = t1._hintOverrides;
        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: function() {
      this._isExplicit = true;
    }
  };
  K._AbortingSemanticsFragment.prototype = {
    get$abortsWalk: function() {
      return true;
    },
    get$config: function() {
      return null;
    },
    addAll$1: function(_, fragments) {
    },
    compileChildren$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result: function(elevationAdjustment, parentPaintClipRect, parentSemanticsClipRect, result) {
      var t1 = C.JSArray_methods.get$first(this._ancestorChain)._semantics;
      t1.toString;
      result.push(t1);
    },
    markAsExplicit$0: function() {
    }
  };
  K._SemanticsGeometry.prototype = {
    get$_object$_transform: function() {
      var t1 = this.___SemanticsGeometry__transform;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_transform")) : t1;
    },
    get$_rect: function() {
      var t1 = this.___SemanticsGeometry__rect;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_rect")) : t1;
    },
    _computeValues$3: function(parentSemanticsClipRect, parentPaintClipRect, ancestors) {
      var index, $parent, child, t2, owner, paintRect, _this = this,
        t1 = new E.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 = K._SemanticsGeometry__intersectRects(_this._paintClipRect, $parent.describeApproximatePaintClip$1(child));
        } else
          _this._semanticsClipRect = K._SemanticsGeometry__intersectRects(_this._semanticsClipRect, $parent.describeApproximatePaintClip$1(child));
        t1 = $.$get$_SemanticsGeometry__temporaryTransformHolder();
        t1.setIdentity$0();
        t2 = _this.___SemanticsGeometry__transform;
        K._SemanticsGeometry__applyIntermediatePaintTransforms($parent, child, t2 === $ ? H.throwExpression(H.LateError$fieldNI("_transform")) : t2, t1);
        _this._semanticsClipRect = K._SemanticsGeometry__transformRect(_this._semanticsClipRect, t1);
        _this._paintClipRect = K._SemanticsGeometry__transformRect(_this._paintClipRect, t1);
      }
      owner = C.JSArray_methods.get$first(ancestors);
      t1 = _this._semanticsClipRect;
      _this.___SemanticsGeometry__rect = t1 == null ? owner.get$semanticBounds() : t1.intersect$1(owner.get$semanticBounds());
      t1 = _this._paintClipRect;
      if (t1 != null) {
        paintRect = t1.intersect$1(_this.get$_rect());
        if (paintRect.get$isEmpty(paintRect)) {
          t1 = _this.get$_rect();
          t1 = !t1.get$isEmpty(t1);
        } else
          t1 = false;
        _this._markAsHidden = t1;
        if (!t1)
          _this.___SemanticsGeometry__rect = paintRect;
      }
    }
  };
  K.DiagnosticsDebugCreator.prototype = {};
  K._RenderObject_AbstractNode_DiagnosticableTreeMixin.prototype = {};
  Q.TextParentData.prototype = {
    toString$0: function(_) {
      var t1 = H._setArrayType(["offset=" + this.offset.toString$0(0)], type$.JSArray_String);
      t1.push(this.super$BoxParentData$toString(0));
      return C.JSArray_methods.join$1(t1, "; ");
    }
  };
  Q.RenderParagraph.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof Q.TextParentData))
        child.parentData = new Q.TextParentData(null, null, C.Offset_0_0);
    },
    get$text: function(_) {
      var t1 = this._paragraph$_textPainter._text_painter$_text;
      t1.toString;
      return t1;
    },
    set$text: function(_, value) {
      var _this = this,
        t1 = _this._paragraph$_textPainter;
      switch (t1._text_painter$_text.compareTo$1(0, value)) {
        case C.RenderComparison_0:
        case C.RenderComparison_1:
          return;
        case C.RenderComparison_2:
          t1.set$text(0, value);
          _this._extractPlaceholderSpans$1(value);
          _this.markNeedsPaint$0();
          _this.markNeedsSemanticsUpdate$0();
          break;
        case C.RenderComparison_3:
          t1.set$text(0, value);
          _this._overflowShader = null;
          _this._extractPlaceholderSpans$1(value);
          _this.markNeedsLayout$0();
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$_placeholderSpans: function() {
      var t1 = this.__RenderParagraph__placeholderSpans;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_placeholderSpans")) : t1;
    },
    _extractPlaceholderSpans$1: function(span) {
      this.__RenderParagraph__placeholderSpans = H._setArrayType([], type$.JSArray_PlaceholderSpan);
      span.visitChildren$1(new Q.RenderParagraph__extractPlaceholderSpans_closure(this));
    },
    set$textAlign: function(_, value) {
      var t1 = this._paragraph$_textPainter;
      if (t1._text_painter$_textAlign === value)
        return;
      t1.set$textAlign(0, value);
      this.markNeedsPaint$0();
    },
    set$textDirection: function(_, value) {
      var t1 = this._paragraph$_textPainter;
      if (t1._text_painter$_textDirection === value)
        return;
      t1.set$textDirection(0, value);
      this.markNeedsLayout$0();
    },
    set$softWrap: function(value) {
      if (this._softWrap === value)
        return;
      this._softWrap = value;
      this.markNeedsLayout$0();
    },
    set$overflow: function(_, value) {
      var t1, _this = this;
      if (_this._overflow === value)
        return;
      _this._overflow = value;
      t1 = value === C.TextOverflow_2 ? "\u2026" : null;
      _this._paragraph$_textPainter.set$ellipsis(0, t1);
      _this.markNeedsLayout$0();
    },
    set$textScaleFactor: function(value) {
      var t1 = this._paragraph$_textPainter;
      if (t1._textScaleFactor === value)
        return;
      t1.set$textScaleFactor(value);
      this._overflowShader = null;
      this.markNeedsLayout$0();
    },
    set$maxLines: function(_, value) {
      var t1 = this._paragraph$_textPainter;
      if (t1._text_painter$_maxLines == value)
        return;
      t1.set$maxLines(0, value);
      this._overflowShader = null;
      this.markNeedsLayout$0();
    },
    set$locale: function(_, 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: function(_, value) {
      var t1 = this._paragraph$_textPainter;
      if (J.$eq$(t1._text_painter$_strutStyle, value))
        return;
      t1.set$strutStyle(0, value);
      this._overflowShader = null;
      this.markNeedsLayout$0();
    },
    set$textWidthBasis: function(value) {
      var t1 = this._paragraph$_textPainter;
      if (t1._textWidthBasis === value)
        return;
      t1.set$textWidthBasis(value);
      this._overflowShader = null;
      this.markNeedsLayout$0();
    },
    set$textHeightBehavior: function(_, value) {
      return;
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t1, _this = this;
      if (!_this._canComputeIntrinsics$0())
        return 0;
      _this._computeChildrenWidthWithMinIntrinsics$1(height);
      _this._paragraph$_layoutText$0();
      t1 = _this._paragraph$_textPainter._text_painter$_paragraph.get$minIntrinsicWidth();
      t1.toString;
      return Math.ceil(t1);
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1, _this = this;
      if (!_this._canComputeIntrinsics$0())
        return 0;
      _this._computeChildrenWidthWithMaxIntrinsics$1(height);
      _this._paragraph$_layoutText$0();
      t1 = _this._paragraph$_textPainter._text_painter$_paragraph.get$maxIntrinsicWidth();
      t1.toString;
      return Math.ceil(t1);
    },
    _computeIntrinsicHeight$1: function(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._text_painter$_paragraph;
      t1 = t1.get$height(t1);
      t1.toString;
      return Math.ceil(t1);
    },
    computeMinIntrinsicHeight$1: function(width) {
      return this._computeIntrinsicHeight$1(width);
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return this._computeIntrinsicHeight$1(width);
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      this._layoutTextWithConstraints$1(type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(this)));
      return this._paragraph$_textPainter.computeDistanceToActualBaseline$1(C.TextBaseline_0);
    },
    _canComputeIntrinsics$0: function() {
      for (var t1 = J.get$iterator$ax(this.get$_placeholderSpans()); t1.moveNext$0();)
        switch (t1.get$current(t1).get$alignment()) {
          case C.PlaceholderAlignment_0:
          case C.PlaceholderAlignment_1:
          case C.PlaceholderAlignment_2:
            return false;
          case C.PlaceholderAlignment_3:
          case C.PlaceholderAlignment_5:
          case C.PlaceholderAlignment_4:
            continue;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      return true;
    },
    _computeChildrenWidthWithMaxIntrinsics$1: function(height) {
      var t1, childIndex, t2, t3, _this = this,
        _s17_ = "_placeholderSpans",
        child = _this.ContainerRenderObjectMixin__firstChild,
        placeholderDimensions = P.List_List$filled(_this.ContainerRenderObjectMixin__childCount, C.PlaceholderDimensions_Size_0_0_null, false, type$.PlaceholderDimensions);
      for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), childIndex = 0; child != null;) {
        t2 = child._computeIntrinsicDimension$3(C._IntrinsicDimension_1, 1 / 0, child.get$computeMaxIntrinsicWidth());
        t3 = _this.__RenderParagraph__placeholderSpans;
        J.$index$asx(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s17_)) : t3, childIndex).get$alignment();
        t3 = _this.__RenderParagraph__placeholderSpans;
        placeholderDimensions[childIndex] = new U.PlaceholderDimensions(new P.Size(t2, 0), J.get$baseline$z(J.$index$asx(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s17_)) : t3, childIndex)));
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
      _this._paragraph$_textPainter.setPlaceholderDimensions$1(placeholderDimensions);
    },
    _computeChildrenWidthWithMinIntrinsics$1: function(height) {
      var t1, childIndex, t2, t3, _this = this,
        _s17_ = "_placeholderSpans",
        child = _this.ContainerRenderObjectMixin__firstChild,
        placeholderDimensions = P.List_List$filled(_this.ContainerRenderObjectMixin__childCount, C.PlaceholderDimensions_Size_0_0_null, false, type$.PlaceholderDimensions);
      for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), childIndex = 0; child != null;) {
        t2 = child._computeIntrinsicDimension$3(C._IntrinsicDimension_0, 1 / 0, child.get$computeMinIntrinsicWidth());
        t3 = _this.__RenderParagraph__placeholderSpans;
        J.$index$asx(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s17_)) : t3, childIndex).get$alignment();
        t3 = _this.__RenderParagraph__placeholderSpans;
        placeholderDimensions[childIndex] = new U.PlaceholderDimensions(new P.Size(t2, 0), J.get$baseline$z(J.$index$asx(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s17_)) : t3, childIndex)));
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
      _this._paragraph$_textPainter.setPlaceholderDimensions$1(placeholderDimensions);
    },
    _computeChildrenHeightWithMinIntrinsics$1: function(width) {
      var t2, childIndex, size, t3, _this = this,
        _s17_ = "_placeholderSpans",
        child = _this.ContainerRenderObjectMixin__firstChild,
        placeholderDimensions = P.List_List$filled(_this.ContainerRenderObjectMixin__childCount, C.PlaceholderDimensions_Size_0_0_null, false, type$.PlaceholderDimensions),
        t1 = _this._paragraph$_textPainter;
      width /= t1._textScaleFactor;
      for (t2 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), childIndex = 0; child != null;) {
        size = child.getDryLayout$1(new S.BoxConstraints(0, width, 0, 1 / 0));
        t3 = _this.__RenderParagraph__placeholderSpans;
        J.$index$asx(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s17_)) : t3, childIndex).get$alignment();
        t3 = _this.__RenderParagraph__placeholderSpans;
        placeholderDimensions[childIndex] = new U.PlaceholderDimensions(size, J.get$baseline$z(J.$index$asx(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s17_)) : t3, childIndex)));
        t3 = child.parentData;
        t3.toString;
        child = t2._as(t3).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
      t1.setPlaceholderDimensions$1(placeholderDimensions);
    },
    hitTestSelf$1: function(position) {
      return true;
    },
    hitTestChildren$2$position: function(result, position) {
      var t2, t3, t4, childIndex, t5, t6, transform, child, _box_0 = {},
        hitText = H._Cell$named("hitText"),
        t1 = this._paragraph$_textPainter,
        textPosition = t1._text_painter$_paragraph.getPositionForOffset$1(position),
        span = t1._text_painter$_text.getSpanForPosition$1(textPosition);
      if (span != null && true) {
        t2 = new O.HitTestEntry(span);
        result._globalizeTransforms$0();
        t2._transform = C.JSArray_methods.get$last(result._transforms);
        result._path.push(t2);
        hitText.set$finalLocalValue(true);
      } else
        hitText.set$finalLocalValue(false);
      t2 = _box_0.child = this.ContainerRenderObjectMixin__firstChild;
      t3 = H._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 = new Float64Array(16);
        transform = new E.Matrix4(t6);
        transform.setIdentity$0();
        t6[14] = 0;
        t6[13] = t5._dy;
        t6[12] = t5._dx;
        t5 = t2.scale;
        transform.scale$3(0, t5, t5, t5);
        if (result.addWithPaintTransform$3$hitTest$position$transform(new Q.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._readLocal$0();
    },
    _paragraph$_layoutText$2$maxWidth$minWidth: function(maxWidth, minWidth) {
      var t1 = this._softWrap || this._overflow === C.TextOverflow_2 ? maxWidth : 1 / 0;
      this._paragraph$_textPainter.layout$2$maxWidth$minWidth(0, t1, minWidth);
    },
    _paragraph$_layoutText$0: function() {
      return this._paragraph$_layoutText$2$maxWidth$minWidth(1 / 0, 0);
    },
    systemFontsDidChange$0: function() {
      this.super$RelayoutWhenSystemFontsChangeMixin$systemFontsDidChange();
      this._paragraph$_textPainter.markNeedsLayout$0();
    },
    _layoutTextWithConstraints$1: function(constraints) {
      var t1;
      this._paragraph$_textPainter.setPlaceholderDimensions$1(this._paragraph$_placeholderDimensions);
      t1 = constraints.minWidth;
      this._paragraph$_layoutText$2$maxWidth$minWidth(constraints.maxWidth, t1);
    },
    _layoutChildren$2$dry: function(constraints, dry) {
      var child, placeholderDimensions, boxConstraints, t2, childIndex, t3, t4, childSize, _this = this,
        _s17_ = "_placeholderSpans",
        t1 = _this.ContainerRenderObjectMixin__childCount;
      if (t1 === 0)
        return H._setArrayType([], type$.JSArray_PlaceholderDimensions);
      child = _this.ContainerRenderObjectMixin__firstChild;
      placeholderDimensions = P.List_List$filled(t1, C.PlaceholderDimensions_Size_0_0_null, false, type$.PlaceholderDimensions);
      boxConstraints = new S.BoxConstraints(0, constraints.maxWidth, 0, 1 / 0).$div(0, _this._paragraph$_textPainter._textScaleFactor);
      for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), t2 = !dry, childIndex = 0; child != null;) {
        if (t2) {
          child.layout$2$parentUsesSize(0, boxConstraints, true);
          t3 = child._box$_size;
          t3.toString;
          t4 = _this.__RenderParagraph__placeholderSpans;
          switch (J.$index$asx(t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s17_)) : t4, childIndex).get$alignment()) {
            case C.PlaceholderAlignment_0:
              t4 = _this.__RenderParagraph__placeholderSpans;
              child.getDistanceToBaseline$1(J.get$baseline$z(J.$index$asx(t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s17_)) : t4, childIndex)));
              break;
            default:
              break;
          }
          childSize = t3;
        } else
          childSize = child.getDryLayout$1(boxConstraints);
        t3 = _this.__RenderParagraph__placeholderSpans;
        J.$index$asx(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s17_)) : t3, childIndex).get$alignment();
        t3 = _this.__RenderParagraph__placeholderSpans;
        placeholderDimensions[childIndex] = new U.PlaceholderDimensions(childSize, J.get$baseline$z(J.$index$asx(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s17_)) : t3, childIndex)));
        t3 = child.parentData;
        t3.toString;
        child = t1._as(t3).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
      return placeholderDimensions;
    },
    _layoutChildren$1: function(constraints) {
      return this._layoutChildren$2$dry(constraints, false);
    },
    _setParentData$0: function() {
      var t4, t5,
        child = this.ContainerRenderObjectMixin__firstChild,
        t1 = type$.TextParentData,
        t2 = this._paragraph$_textPainter,
        t3 = H._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 P.Offset(t5.left, t5.top);
        t4.scale = t2._inlinePlaceholderScales[childIndex];
        child = t3._as(t4).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
    },
    _canComputeDryLayout$0: function() {
      for (var t1 = J.get$iterator$ax(this.get$_placeholderSpans()); t1.moveNext$0();)
        switch (t1.get$current(t1).get$alignment()) {
          case C.PlaceholderAlignment_0:
          case C.PlaceholderAlignment_1:
          case C.PlaceholderAlignment_2:
            return false;
          case C.PlaceholderAlignment_3:
          case C.PlaceholderAlignment_5:
          case C.PlaceholderAlignment_4:
            continue;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      return true;
    },
    computeDryLayout$1: function(constraints) {
      var t1, t2, _this = this;
      if (!_this._canComputeDryLayout$0())
        return C.Size_0_0;
      t1 = _this._paragraph$_textPainter;
      t1.setPlaceholderDimensions$1(_this._layoutChildren$2$dry(constraints, true));
      t2 = constraints.minWidth;
      _this._paragraph$_layoutText$2$maxWidth$minWidth(constraints.maxWidth, t2);
      t2 = t1.get$width(t1);
      t1 = t1._text_painter$_paragraph;
      t1 = t1.get$height(t1);
      t1.toString;
      return constraints.constrain$1(new P.Size(t2, Math.ceil(t1)));
    },
    performLayout$0: function() {
      var t1, t2, t3, t4, textDidExceedMaxLines, didOverflowHeight, didOverflowWidth, fadeSizePainter, fadeStart, fadeEnd, _this = this, _null = null,
        _s80_ = string$.x60null_c,
        constraints = type$.BoxConstraints._as(K.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._text_painter$_paragraph;
      t3 = t3.get$height(t3);
      t3.toString;
      t3 = Math.ceil(t3);
      t4 = t1._text_painter$_paragraph;
      textDidExceedMaxLines = t4.get$didExceedMaxLines(t4);
      t4 = _this._box$_size = constraints.constrain$1(new P.Size(t2, t3));
      didOverflowHeight = t4._dy < t3 || textDidExceedMaxLines;
      didOverflowWidth = t4._dx < t2;
      if (didOverflowWidth || didOverflowHeight)
        switch (_this._overflow) {
          case C.TextOverflow_3:
            _this._needsClipping = false;
            _this._overflowShader = null;
            break;
          case C.TextOverflow_0:
          case C.TextOverflow_2:
            _this._needsClipping = true;
            _this._overflowShader = null;
            break;
          case C.TextOverflow_1:
            _this._needsClipping = true;
            t2 = Q.TextSpan$(_null, _null, _null, t1._text_painter$_text.style, "\u2026");
            t3 = t1._text_painter$_textDirection;
            t3.toString;
            t4 = t1._textScaleFactor;
            fadeSizePainter = U.TextPainter$(_null, t1._text_painter$_locale, _null, _null, t2, C.TextAlign_4, t3, _null, t4, C.TextWidthBasis_0);
            fadeSizePainter.layout$0(0);
            if (didOverflowWidth) {
              t1 = t1._text_painter$_textDirection;
              t1.toString;
              switch (t1) {
                case C.TextDirection_0:
                  fadeStart = fadeSizePainter.get$width(fadeSizePainter);
                  fadeEnd = 0;
                  break;
                case C.TextDirection_1:
                  fadeEnd = _this._box$_size._dx;
                  fadeStart = fadeEnd - fadeSizePainter.get$width(fadeSizePainter);
                  break;
                default:
                  throw H.wrapException(H.ReachabilityError$(_s80_));
              }
              _this._overflowShader = P.Gradient_Gradient$linear(new P.Offset(fadeStart, 0), new P.Offset(fadeEnd, 0), H._setArrayType([C.Color_4294967295, C.Color_16777215], type$.JSArray_Color), _null, C.TileMode_0, _null);
            } else {
              fadeEnd = _this._box$_size._dy;
              t1 = fadeSizePainter._text_painter$_paragraph;
              t1 = t1.get$height(t1);
              t1.toString;
              _this._overflowShader = P.Gradient_Gradient$linear(new P.Offset(0, fadeEnd - Math.ceil(t1) / 2), new P.Offset(0, fadeEnd), H._setArrayType([C.Color_4294967295, C.Color_16777215], type$.JSArray_Color), _null, C.TileMode_0, _null);
            }
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
      else {
        _this._needsClipping = false;
        _this._overflowShader = null;
      }
    },
    paint$2: function(context, offset) {
      var t1, t2, t3, bounds, t4, t5, t6, childIndex, t7, t8, child, paint, _this = this, _box_0 = {};
      _this._layoutTextWithConstraints$1(type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)));
      if (_this._needsClipping) {
        t1 = _this._box$_size;
        t2 = offset._dx;
        t3 = offset._dy;
        bounds = new P.Rect(t2, t3, t2 + t1._dx, t3 + t1._dy);
        if (_this._overflowShader != null) {
          t1 = context.get$canvas(context);
          t2 = H._detectRenderer();
          t1.saveLayer$2(0, bounds, t2 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData()));
        } else
          context.get$canvas(context).save$0(0);
        context.get$canvas(context).clipRect$1(0, bounds);
      }
      t1 = _this._paragraph$_textPainter;
      t2 = context.get$canvas(context);
      t3 = t1._text_painter$_paragraph;
      t3.toString;
      t2.drawParagraph$2(0, t3, offset);
      t3 = _box_0.child = _this.ContainerRenderObjectMixin__firstChild;
      t2 = offset._dx;
      t4 = offset._dy;
      t5 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
      t6 = type$.TextParentData;
      childIndex = 0;
      while (true) {
        if (!(t3 != null && childIndex < t1._inlinePlaceholderBoxes.length))
          break;
        t3 = t3.parentData;
        t3.toString;
        t6._as(t3);
        t7 = t3.scale;
        t7.toString;
        t8 = _this.__RenderObject__needsCompositing;
        if (t8 === $)
          t8 = H.throwExpression(H.LateError$fieldNI("_needsCompositing"));
        t3 = t3.offset;
        context.pushTransform$4(t8, new P.Offset(t2 + t3._dx, t4 + t3._dy), E.Matrix4_Matrix4$diagonal3Values(t7, t7, t7), new Q.RenderParagraph_paint_closure(_box_0));
        t7 = _box_0.child.parentData;
        t7.toString;
        child = t5._as(t7).ContainerParentDataMixin_nextSibling;
        _box_0.child = child;
        ++childIndex;
        t3 = child;
      }
      if (_this._needsClipping) {
        if (_this._overflowShader != null) {
          context.get$canvas(context).translate$2(0, t2, t4);
          t1 = H._detectRenderer();
          paint = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
          paint.set$blendMode(C.BlendMode_13);
          paint.set$shader(_this._overflowShader);
          t1 = context.get$canvas(context);
          t2 = _this._box$_size;
          t1.drawRect$2(0, new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy), paint);
        }
        context.get$canvas(context).restore$0(0);
      }
    },
    getBoxesForSelection$1: function(selection) {
      this._layoutTextWithConstraints$1(type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(this)));
      return this._paragraph$_textPainter.getBoxesForSelection$1(selection);
    },
    describeSemanticsConfiguration$1: function(config) {
      var t1, t2, collector, t3, _i, t4, info, t5, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      t1 = _this._paragraph$_textPainter;
      t2 = t1._text_painter$_text;
      t2.toString;
      collector = H._setArrayType([], type$.JSArray_InlineSpanSemanticsInformation);
      t2.computeSemanticsInformation$1(collector);
      _this._semanticsInfo = collector;
      if (C.JSArray_methods.any$1(collector, new Q.RenderParagraph_describeSemanticsConfiguration_closure()))
        config._isSemanticBoundary = config.explicitChildNodes = true;
      else {
        for (t2 = _this._semanticsInfo, t3 = t2.length, _i = 0, t4 = ""; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
          info = t2[_i];
          t5 = info.semanticsLabel;
          t4 += H.S(t5 == null ? info.text : t5);
        }
        config._label = t4.charCodeAt(0) == 0 ? t4 : t4;
        config._hasBeenAnnotated = true;
        t1 = t1._text_painter$_textDirection;
        t1.toString;
        config._textDirection = t1;
      }
    },
    assembleSemanticsNode$3: function(node, config, children) {
      var newChildCache, t3, t4, t5, t6, t7, t8, t9, currentRect, currentDirection, ordinal, start, _i, info, start0, t10, t11, t12, t13, rects, rect, currentDirection0, configuration, ordinal0, recognizer, newChild, _this = this, _null = null,
        newChildren = H._setArrayType([], type$.JSArray_SemanticsNode),
        t1 = _this._paragraph$_textPainter,
        t2 = t1._text_painter$_textDirection;
      t2.toString;
      newChildCache = P.ListQueue$(_null, type$.SemanticsNode);
      t3 = _this._semanticsInfo;
      t3.toString;
      t3 = G.combineSemanticsInfo(t3);
      t4 = t3.length;
      t5 = type$.BoxConstraints;
      t6 = type$.SemanticsAction;
      t7 = type$.void_Function_nullable_Object;
      t8 = type$.CustomSemanticsAction;
      t9 = type$.void_Function;
      currentRect = _null;
      currentDirection = t2;
      ordinal = 0;
      start = 0;
      _i = 0;
      for (; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i, start = start0) {
        info = t3[_i];
        t2 = info.text;
        start0 = start + t2.length;
        t10 = start < start0;
        t11 = t10 ? start0 : start;
        t10 = t10 ? start : start0;
        t12 = t5._as(K.RenderObject.prototype.get$constraints.call(_this));
        t1.setPlaceholderDimensions$1(_this._paragraph$_placeholderDimensions);
        t13 = t12.minWidth;
        t12 = t12.maxWidth;
        t1.layout$2$maxWidth$minWidth(0, _this._softWrap || _this._overflow === C.TextOverflow_2 ? t12 : 1 / 0, t13);
        rects = t1._text_painter$_paragraph.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(t10, t11, C.BoxHeightStyle_0, C.BoxWidthStyle_0);
        if (rects.length === 0)
          continue;
        t10 = C.JSArray_methods.get$first(rects);
        rect = new P.Rect(t10.left, t10.top, t10.right, t10.bottom);
        currentDirection0 = C.JSArray_methods.get$first(rects).direction;
        for (t10 = H._arrayInstanceType(rects), t11 = t10._eval$1("SubListIterable<1>"), t12 = new H.SubListIterable(rects, 1, _null, t11), t12.SubListIterable$3(rects, 1, _null, t10._precomputed1), t11 = new H.ListIterator(t12, t12.get$length(t12), t11._eval$1("ListIterator<ListIterable.E>")); t11.moveNext$0();) {
          t10 = t11.__internal$_current;
          rect = rect.expandToInclude$1(new P.Rect(t10.left, t10.top, t10.right, t10.bottom));
          currentDirection0 = t10.direction;
        }
        t10 = rect.left;
        t11 = Math.max(0, H.checkNum(t10));
        t12 = rect.top;
        t13 = Math.max(0, H.checkNum(t12));
        t10 = Math.min(rect.right - t10, H.checkNum(t5._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth));
        t12 = Math.min(rect.bottom - t12, H.checkNum(t5._as(K.RenderObject.prototype.get$constraints.call(_this)).maxHeight));
        currentRect = new P.Rect(Math.floor(t11) - 4, Math.floor(t13) - 4, Math.ceil(t11 + t10) + 4, Math.ceil(t13 + t12) + 4);
        configuration = new A.SemanticsConfiguration(P.LinkedHashMap_LinkedHashMap$_empty(t6, t7), P.LinkedHashMap_LinkedHashMap$_empty(t8, t9));
        ordinal0 = ordinal + 1;
        configuration._sortKey = new A.OrdinalSortKey(ordinal, _null);
        configuration._hasBeenAnnotated = true;
        configuration._textDirection = currentDirection;
        t12 = info.semanticsLabel;
        configuration._label = t12 == null ? t2 : t12;
        recognizer = info.recognizer;
        if (recognizer != null) {
          t2 = recognizer.onTap;
          if (t2 != null) {
            configuration._addArgumentlessAction$2(C.SemanticsAction_1, t2);
            configuration._semantics$_onTap = t2;
            configuration._setFlag$2(C.SemanticsFlag_4194304, true);
          }
        }
        t2 = _this._cachedChildNodes;
        newChild = (t2 == null ? _null : !t2.get$isEmpty(t2)) === true ? _this._cachedChildNodes.removeFirst$0() : A.SemanticsNode$(_null, _null);
        newChild.updateWith$1$config(0, configuration);
        if (!J.$eq$(newChild._semantics$_rect, currentRect)) {
          newChild._semantics$_rect = currentRect;
          newChild._markDirty$0();
        }
        newChildCache._add$1(0, newChild);
        newChildren.push(newChild);
        ordinal = ordinal0;
        currentDirection = currentDirection0;
      }
      _this._cachedChildNodes = newChildCache;
      node.updateWith$2$childrenInInversePaintOrder$config(0, newChildren, config);
    },
    clearSemantics$0: function() {
      this.super$RenderObject$clearSemantics();
      this._cachedChildNodes = null;
    },
    debugDescribeChildren$0: function() {
      var t1 = this._paragraph$_textPainter._text_painter$_text;
      t1.toString;
      return H._setArrayType([Y.DiagnosticableTreeNode$("text", C.DiagnosticsTreeStyle_4, t1)], type$.JSArray_DiagnosticsNode);
    },
    text$0: function($receiver) {
      return this.get$text(this).call$0();
    }
  };
  Q.RenderParagraph__extractPlaceholderSpans_closure.prototype = {
    call$1: function(span) {
      return true;
    },
    $signature: 112
  };
  Q.RenderParagraph_hitTestChildren_closure.prototype = {
    call$2: function(result, transformed) {
      var t1 = this._box_0.child;
      t1.toString;
      transformed.toString;
      return t1.hitTest$2$position(result, transformed);
    },
    $signature: 24
  };
  Q.RenderParagraph_paint_closure.prototype = {
    call$2: function(context, offset) {
      var t1 = this._box_0.child;
      t1.toString;
      context.paintChild$2(t1, offset);
    },
    $signature: 22
  };
  Q.RenderParagraph_describeSemanticsConfiguration_closure.prototype = {
    call$1: function(info) {
      return info.recognizer != null;
    },
    $signature: 249
  };
  Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1: function(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: function(_) {
      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;
      }
    }
  };
  Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_RelayoutWhenSystemFontsChangeMixin.prototype = {
    attach$1: function(owner) {
      this.super$_RenderParagraph_RenderBox_ContainerRenderObjectMixin$attach(owner);
      $.PaintingBinding__instance.PaintingBinding__systemFonts._systemFontsCallbacks.add$1(0, this.get$systemFontsDidChange());
    },
    detach$0: function(_) {
      $.PaintingBinding__instance.PaintingBinding__systemFonts._systemFontsCallbacks.remove$1(0, this.get$systemFontsDidChange());
      this.super$_RenderParagraph_RenderBox_ContainerRenderObjectMixin$detach(0);
    }
  };
  L.RenderPerformanceOverlay.prototype = {
    set$optionsMask: function(value) {
      if (value === this._optionsMask)
        return;
      this._optionsMask = value;
      this.markNeedsPaint$0();
    },
    set$rasterizerThreshold: function(value) {
      if (value === this._rasterizerThreshold)
        return;
      this._rasterizerThreshold = value;
      this.markNeedsPaint$0();
    },
    get$sizedByParent: function() {
      return true;
    },
    get$alwaysNeedsCompositing: function() {
      return true;
    },
    computeMinIntrinsicWidth$1: function(height) {
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      return 0;
    },
    get$_intrinsicHeight: function() {
      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: function(width) {
      return this.get$_intrinsicHeight();
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return this.get$_intrinsicHeight();
    },
    computeDryLayout$1: function(constraints) {
      return constraints.constrain$1(new P.Size(1 / 0, this.get$_intrinsicHeight()));
    },
    paint$2: function(context, offset) {
      var t5, t6,
        t1 = offset._dx,
        t2 = offset._dy,
        t3 = this._box$_size,
        t4 = t3._dx;
      t3 = t3._dy;
      t5 = this._optionsMask;
      t6 = this._rasterizerThreshold;
      context.stopRecordingIfNeeded$0();
      context.appendLayer$1(new T.PerformanceOverlayLayer(new P.Rect(t1, t2, t1 + t4, t2 + t3), t5, t6, false, false));
    }
  };
  E.RenderProxyBox.prototype = {};
  E.RenderProxyBoxMixin.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof K.ParentData))
        child.parentData = new K.ParentData();
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return 0;
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight());
      return 0;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight());
      return 0;
    },
    computeDryLayout$1: function(constraints) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1.getDryLayout$1(constraints);
      return this.computeSizeForNoChild$1(constraints);
    },
    performLayout$0: function() {
      var _this = this,
        t1 = _this.RenderObjectWithChildMixin__child,
        t2 = type$.BoxConstraints;
      if (t1 != null) {
        t1.layout$2$parentUsesSize(0, t2._as(K.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(K.RenderObject.prototype.get$constraints.call(_this)));
    },
    computeSizeForNoChild$1: function(constraints) {
      return new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
    },
    hitTestChildren$2$position: function(result, position) {
      var t1 = this.RenderObjectWithChildMixin__child;
      t1 = t1 == null ? null : t1.hitTest$2$position(result, position);
      return t1 === true;
    },
    applyPaintTransform$2: function(child, transform) {
    },
    paint$2: function(context, offset) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        context.paintChild$2(t1, offset);
    }
  };
  E.HitTestBehavior.prototype = {
    toString$0: function(_) {
      return this._proxy_box$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  E.RenderProxyBoxWithHitTestBehavior.prototype = {
    hitTest$2$position: function(result, position) {
      var hitTarget, t1, _this = this;
      if (_this._box$_size.contains$1(0, position)) {
        hitTarget = _this.hitTestChildren$2$position(result, position) || _this.behavior === C.HitTestBehavior_1;
        if (hitTarget || _this.behavior === C.HitTestBehavior_2) {
          t1 = new S.BoxHitTestEntry(position, _this);
          result._globalizeTransforms$0();
          t1._transform = C.JSArray_methods.get$last(result._transforms);
          result._path.push(t1);
        }
      } else
        hitTarget = false;
      return hitTarget;
    },
    hitTestSelf$1: function(position) {
      return this.behavior === C.HitTestBehavior_1;
    }
  };
  E.RenderConstrainedBox.prototype = {
    set$additionalConstraints: function(value) {
      if (J.$eq$(this._additionalConstraints, value))
        return;
      this._additionalConstraints = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1: function(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 J.clamp$2$n(width, t2, t1.maxWidth);
      return width;
    },
    computeMaxIntrinsicWidth$1: function(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 J.clamp$2$n(width, t2, t1.maxWidth);
      return width;
    },
    computeMinIntrinsicHeight$1: function(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 J.clamp$2$n(height, t2, t1.maxHeight);
      return height;
    },
    computeMaxIntrinsicHeight$1: function(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 J.clamp$2$n(height, t2, t1.maxHeight);
      return height;
    },
    performLayout$0: function() {
      var _this = this,
        constraints = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)),
        t1 = _this.RenderObjectWithChildMixin__child,
        t2 = _this._additionalConstraints;
      if (t1 != null) {
        t1.layout$2$parentUsesSize(0, 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(C.Size_0_0);
    },
    computeDryLayout$1: function(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(C.Size_0_0);
    }
  };
  E.RenderLimitedBox.prototype = {
    set$maxWidth: function(_, value) {
      if (this._proxy_box$_maxWidth === value)
        return;
      this._proxy_box$_maxWidth = value;
      this.markNeedsLayout$0();
    },
    set$maxHeight: function(_, value) {
      if (this._maxHeight === value)
        return;
      this._maxHeight = value;
      this.markNeedsLayout$0();
    },
    _limitConstraints$1: function(constraints) {
      var t3, t4,
        t1 = constraints.minWidth,
        t2 = constraints.maxWidth;
      t2 = t2 < 1 / 0 ? t2 : C.JSInt_methods.clamp$2(this._proxy_box$_maxWidth, t1, t2);
      t3 = constraints.minHeight;
      t4 = constraints.maxHeight;
      return new S.BoxConstraints(t1, t2, t3, t4 < 1 / 0 ? t4 : C.JSInt_methods.clamp$2(this._maxHeight, t3, t4));
    },
    _proxy_box$_computeSize$2$constraints$layoutChild: function(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(C.Size_0_0);
    },
    computeDryLayout$1: function(constraints) {
      return this._proxy_box$_computeSize$2$constraints$layoutChild(constraints, N.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0: function() {
      this._box$_size = this._proxy_box$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(this)), N.layout_helper_ChildLayoutHelper_layoutChild$closure());
    }
  };
  E.RenderIntrinsicWidth.prototype = {
    set$stepWidth: function(value) {
      if (value == this._stepWidth)
        return;
      this._stepWidth = value;
      this.markNeedsLayout$0();
    },
    set$stepHeight: function(value) {
      return;
    },
    computeMinIntrinsicWidth$1: function(height) {
      return this.computeMaxIntrinsicWidth$1(height);
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      return E.RenderIntrinsicWidth__applyStep(t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth()), this._stepWidth);
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t1, _this = this;
      if (_this.RenderObjectWithChildMixin__child == null)
        return 0;
      width.toString;
      if (!isFinite(width))
        width = _this.computeMaxIntrinsicWidth$1(1 / 0);
      t1 = _this.RenderObjectWithChildMixin__child;
      return E.RenderIntrinsicWidth__applyStep(t1._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight()), _this._stepHeight);
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t1, _this = this;
      if (_this.RenderObjectWithChildMixin__child == null)
        return 0;
      width.toString;
      if (!isFinite(width))
        width = _this.computeMaxIntrinsicWidth$1(1 / 0);
      t1 = _this.RenderObjectWithChildMixin__child;
      return E.RenderIntrinsicWidth__applyStep(t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight()), _this._stepHeight);
    },
    _proxy_box$_computeSize$2$constraints$layoutChild: function(constraints, layoutChild) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        if (!(constraints.minWidth >= constraints.maxWidth))
          constraints = constraints.tighten$1$width(E.RenderIntrinsicWidth__applyStep(t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, constraints.maxHeight, t1.get$computeMaxIntrinsicWidth()), this._stepWidth));
        t1 = this.RenderObjectWithChildMixin__child;
        t1.toString;
        return layoutChild.call$2(t1, constraints);
      } else
        return new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
    },
    computeDryLayout$1: function(constraints) {
      return this._proxy_box$_computeSize$2$constraints$layoutChild(constraints, N.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0: function() {
      this._box$_size = this._proxy_box$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(this)), N.layout_helper_ChildLayoutHelper_layoutChild$closure());
    }
  };
  E.RenderIntrinsicHeight.prototype = {
    computeMinIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      height.toString;
      if (!isFinite(height))
        height = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, 1 / 0, t1.get$computeMaxIntrinsicHeight());
      t1 = this.RenderObjectWithChildMixin__child;
      return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      height.toString;
      if (!isFinite(height))
        height = t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, 1 / 0, t1.get$computeMaxIntrinsicHeight());
      t1 = this.RenderObjectWithChildMixin__child;
      return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
    },
    computeMinIntrinsicHeight$1: function(width) {
      return this.computeMaxIntrinsicHeight$1(width);
    },
    _proxy_box$_computeSize$2$constraints$layoutChild: function(constraints, layoutChild) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        if (!(constraints.minHeight >= constraints.maxHeight))
          constraints = constraints.tighten$1$height(t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, constraints.maxWidth, t1.get$computeMaxIntrinsicHeight()));
        t1 = this.RenderObjectWithChildMixin__child;
        t1.toString;
        return layoutChild.call$2(t1, constraints);
      } else
        return new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
    },
    computeDryLayout$1: function(constraints) {
      return this._proxy_box$_computeSize$2$constraints$layoutChild(constraints, N.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0: function() {
      this._box$_size = this._proxy_box$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(this)), N.layout_helper_ChildLayoutHelper_layoutChild$closure());
    }
  };
  E.RenderOpacity.prototype = {
    get$alwaysNeedsCompositing: function() {
      if (this.RenderObjectWithChildMixin__child != null) {
        var t1 = this._alpha;
        t1 = t1 !== 0 && t1 !== 255;
      } else
        t1 = false;
      return t1;
    },
    set$opacity: function(_, value) {
      var didNeedCompositing, t1, _this = this;
      if (_this._proxy_box$_opacity == value)
        return;
      didNeedCompositing = _this.get$alwaysNeedsCompositing();
      t1 = _this._alpha;
      _this._proxy_box$_opacity = value;
      _this._alpha = C.JSNumber_methods.round$0(J.clamp$2$n(value, 0, 1) * 255);
      if (didNeedCompositing !== _this.get$alwaysNeedsCompositing())
        _this.markNeedsCompositingBitsUpdate$0();
      _this.markNeedsPaint$0();
      if (t1 !== 0 !== (_this._alpha !== 0) && !_this._alwaysIncludeSemantics)
        _this.markNeedsSemanticsUpdate$0();
    },
    set$alwaysIncludeSemantics: function(value) {
      if (value === this._alwaysIncludeSemantics)
        return;
      this._alwaysIncludeSemantics = value;
      this.markNeedsSemanticsUpdate$0();
    },
    paint$2: function(context, offset) {
      var t2, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = _this._alpha;
        if (t2 === 0) {
          _this._layer = null;
          return;
        }
        if (t2 === 255) {
          _this._layer = null;
          context.paintChild$2(t1, offset);
          return;
        }
        _this._layer = context.pushOpacity$4$oldLayer(offset, t2, E.RenderProxyBoxMixin.prototype.get$paint.call(_this), type$.nullable_OpacityLayer._as(_this._layer));
      }
    },
    visitChildrenForSemantics$1: function(visitor) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t2 = this._alpha !== 0 || this._alwaysIncludeSemantics;
      else
        t2 = false;
      if (t2) {
        t1.toString;
        visitor.call$1(t1);
      }
    }
  };
  E.RenderAnimatedOpacityMixin.prototype = {
    get$alwaysNeedsCompositing: function() {
      if (this.RenderObjectWithChildMixin__child != null) {
        var t1 = this.RenderAnimatedOpacityMixin__currentlyNeedsCompositing;
        t1.toString;
      } else
        t1 = false;
      return t1;
    },
    set$opacity: function(_, value) {
      var _this = this,
        t1 = _this.RenderAnimatedOpacityMixin__opacity;
      if (t1 == value)
        return;
      if (_this._node$_owner != null && t1 != null)
        t1.removeListener$1(0, _this.get$_updateOpacity());
      _this.RenderAnimatedOpacityMixin__opacity = value;
      if (_this._node$_owner != null)
        value.addListener$1(0, _this.get$_updateOpacity());
      _this._updateOpacity$0();
    },
    set$alwaysIncludeSemantics: function(value) {
      if (value === this.RenderAnimatedOpacityMixin__alwaysIncludeSemantics)
        return;
      this.RenderAnimatedOpacityMixin__alwaysIncludeSemantics = value;
      this.markNeedsSemanticsUpdate$0();
    },
    _updateOpacity$0: function() {
      var didNeedCompositing, _this = this,
        oldAlpha = _this.RenderAnimatedOpacityMixin__alpha,
        t1 = _this.RenderAnimatedOpacityMixin__opacity;
      t1 = _this.RenderAnimatedOpacityMixin__alpha = C.JSNumber_methods.round$0(J.clamp$2$n(t1.get$value(t1), 0, 1) * 255);
      if (oldAlpha !== t1) {
        didNeedCompositing = _this.RenderAnimatedOpacityMixin__currentlyNeedsCompositing;
        t1 = t1 > 0 && t1 < 255;
        _this.RenderAnimatedOpacityMixin__currentlyNeedsCompositing = t1;
        if (_this.RenderObjectWithChildMixin__child != null && didNeedCompositing !== t1)
          _this.markNeedsCompositingBitsUpdate$0();
        _this.markNeedsPaint$0();
        if (oldAlpha === 0 || _this.RenderAnimatedOpacityMixin__alpha === 0)
          _this.markNeedsSemanticsUpdate$0();
      }
    },
    visitChildrenForSemantics$1: function(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);
      }
    }
  };
  E.RenderAnimatedOpacity.prototype = {};
  E.CustomClipper.prototype = {
    addListener$1: function(_, listener) {
      var t1 = this._reclip;
      return t1 == null ? null : t1.addListener$1(0, listener);
    },
    removeListener$1: function(_, listener) {
      var t1 = this._reclip;
      return t1 == null ? null : t1.removeListener$1(0, listener);
    },
    getApproximateClipRect$1: function(size) {
      return new P.Rect(0, 0, 0 + size._dx, 0 + size._dy);
    },
    toString$0: function(_) {
      return "CustomClipper";
    }
  };
  E.ShapeBorderClipper.prototype = {
    getClip$1: function(size) {
      return this.shape.getOuterPath$2$textDirection(new P.Rect(0, 0, 0 + size._dx, 0 + size._dy), this.textDirection);
    },
    shouldReclip$1: function(oldClipper) {
      if (H.getRuntimeType(oldClipper) !== C.Type_ShapeBorderClipper_QWG)
        return true;
      type$.ShapeBorderClipper._as(oldClipper);
      return !J.$eq$(oldClipper.shape, this.shape) || oldClipper.textDirection != this.textDirection;
    }
  };
  E._RenderCustomClip.prototype = {
    set$clipper: function(newClipper) {
      var t2, _this = this,
        t1 = _this._clipper;
      if (t1 == newClipper)
        return;
      _this._clipper = newClipper;
      t2 = newClipper == null;
      if (t2 || t1 == null || H.getRuntimeType(newClipper) !== H.getRuntimeType(t1) || newClipper.shouldReclip$1(t1))
        _this._markNeedsClip$0();
      if (_this._node$_owner != null) {
        if (t1 != null)
          t1.removeListener$1(0, _this.get$_markNeedsClip());
        if (!t2)
          newClipper.addListener$1(0, _this.get$_markNeedsClip());
      }
    },
    attach$1: function(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: function(_) {
      var t1 = this._clipper;
      if (t1 != null)
        t1.removeListener$1(0, this.get$_markNeedsClip());
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    _markNeedsClip$0: function() {
      this._clip = null;
      this.markNeedsPaint$0();
      this.markNeedsSemanticsUpdate$0();
    },
    set$clipBehavior: function(value) {
      if (value !== this._proxy_box$_clipBehavior) {
        this._proxy_box$_clipBehavior = value;
        this.markNeedsPaint$0();
      }
    },
    performLayout$0: function() {
      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: function() {
      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: function(child) {
      var t2,
        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 P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
      }
      return t1;
    }
  };
  E.RenderClipRect.prototype = {
    get$_defaultClip: function() {
      var t1 = this._box$_size;
      return new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    hitTest$2$position: function(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: function(context, offset) {
      var t1, t2, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        _this._updateClip$0();
        t1 = _this.get$_needsCompositing();
        t2 = _this._clip;
        t2.toString;
        _this._layer = context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, t2, E.RenderProxyBoxMixin.prototype.get$paint.call(_this), _this._proxy_box$_clipBehavior, type$.nullable_ClipRectLayer._as(_this._layer));
      } else
        _this._layer = null;
    }
  };
  E.RenderClipRRect.prototype = {
    set$borderRadius: function(_, value) {
      if (this._proxy_box$_borderRadius.$eq(0, value))
        return;
      this._proxy_box$_borderRadius = value;
      this._markNeedsClip$0();
    },
    get$_defaultClip: function() {
      var t1 = this._proxy_box$_borderRadius,
        t2 = this._box$_size;
      return t1.toRRect$1(new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
    },
    hitTest$2$position: function(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: function(context, offset) {
      var t1, t2, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        _this._updateClip$0();
        t1 = _this.get$_needsCompositing();
        t2 = _this._clip;
        _this._layer = context.pushClipRRect$7$clipBehavior$oldLayer(t1, offset, new P.Rect(t2.left, t2.top, t2.right, t2.bottom), t2, E.RenderProxyBoxMixin.prototype.get$paint.call(_this), _this._proxy_box$_clipBehavior, type$.nullable_ClipRRectLayer._as(_this._layer));
      } else
        _this._layer = null;
    }
  };
  E.RenderClipPath.prototype = {
    get$_defaultClip: function() {
      var t1 = P.Path_Path(),
        t2 = this._box$_size;
      t1.addRect$1(0, new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
      return t1;
    },
    hitTest$2$position: function(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: function(context, offset) {
      var t1, t2, t3, t4, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        _this._updateClip$0();
        t1 = _this.get$_needsCompositing();
        t2 = _this._box$_size;
        t3 = t2._dx;
        t2 = t2._dy;
        t4 = _this._clip;
        t4.toString;
        _this._layer = context.pushClipPath$7$clipBehavior$oldLayer(t1, offset, new P.Rect(0, 0, 0 + t3, 0 + t2), t4, E.RenderProxyBoxMixin.prototype.get$paint.call(_this), _this._proxy_box$_clipBehavior, type$.nullable_ClipPathLayer._as(_this._layer));
      } else
        _this._layer = null;
    }
  };
  E._RenderPhysicalModelBase.prototype = {
    set$elevation: function(_, value) {
      if (this._proxy_box$_elevation == value)
        return;
      this._proxy_box$_elevation = value;
      this.markNeedsPaint$0();
    },
    set$shadowColor: function(_, value) {
      if (J.$eq$(this._proxy_box$_shadowColor, value))
        return;
      this._proxy_box$_shadowColor = value;
      this.markNeedsPaint$0();
    },
    set$color: function(_, value) {
      if (J.$eq$(this._proxy_box$_color, value))
        return;
      this._proxy_box$_color = value;
      this.markNeedsPaint$0();
    },
    get$alwaysNeedsCompositing: function() {
      return true;
    },
    describeSemanticsConfiguration$1: function(config) {
      this.super$RenderObject$describeSemanticsConfiguration(config);
      config.set$elevation(0, this._proxy_box$_elevation);
    }
  };
  E.RenderPhysicalModel.prototype = {
    set$shape: function(_, value) {
      if (this._shape === value)
        return;
      this._shape = value;
      this._markNeedsClip$0();
    },
    set$borderRadius: function(_, value) {
      if (J.$eq$(this._proxy_box$_borderRadius, value))
        return;
      this._proxy_box$_borderRadius = value;
      this._markNeedsClip$0();
    },
    get$_defaultClip: function() {
      var t1, t2, t3, t4, _this = this;
      switch (_this._shape) {
        case C.BoxShape_0:
          t1 = _this._proxy_box$_borderRadius;
          if (t1 == null)
            t1 = C.BorderRadius_tLn;
          t2 = _this._box$_size;
          return t1.toRRect$1(new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
        case C.BoxShape_1:
          t1 = _this._box$_size;
          t2 = 0 + t1._dx;
          t1 = 0 + t1._dy;
          t3 = (t2 - 0) / 2;
          t4 = (t1 - 0) / 2;
          return new P.RRect(0, 0, t2, t1, t3, t4, t3, t4, t3, t4, t3, t4, t3 === t4);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    hitTest$2$position: function(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: function(context, offset) {
      var offsetRRect, offsetRRectAsPath, t1, t2, t3, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        _this._updateClip$0();
        offsetRRect = _this._clip.shift$1(offset);
        offsetRRectAsPath = P.Path_Path();
        offsetRRectAsPath.addRRect$1(0, offsetRRect);
        t1 = type$.nullable_PhysicalModelLayer;
        if (t1._as(K.RenderObject.prototype.get$layer.call(_this, _this)) == null)
          _this._layer = T.PhysicalModelLayer$();
        t2 = t1._as(K.RenderObject.prototype.get$layer.call(_this, _this));
        t2.set$clipPath(0, offsetRRectAsPath);
        t2.set$clipBehavior(_this._proxy_box$_clipBehavior);
        t3 = _this._proxy_box$_elevation;
        t2.set$elevation(0, t3);
        t2.set$color(0, _this._proxy_box$_color);
        t2.set$shadowColor(0, _this._proxy_box$_shadowColor);
        t1 = t1._as(K.RenderObject.prototype.get$layer.call(_this, _this));
        t1.toString;
        context.pushLayer$4$childPaintBounds(t1, E.RenderProxyBoxMixin.prototype.get$paint.call(_this), offset, new P.Rect(offsetRRect.left, offsetRRect.top, offsetRRect.right, offsetRRect.bottom));
      } else
        _this._layer = null;
    }
  };
  E.RenderPhysicalShape.prototype = {
    get$_defaultClip: function() {
      var t1 = P.Path_Path(),
        t2 = this._box$_size;
      t1.addRect$1(0, new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
      return t1;
    },
    hitTest$2$position: function(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: function(context, offset) {
      var t1, t2, t3, t4, offsetPath, t5, t6, t7, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        _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);
        t5 = type$.nullable_PhysicalModelLayer;
        if (t5._as(K.RenderObject.prototype.get$layer.call(_this, _this)) == null)
          _this._layer = T.PhysicalModelLayer$();
        t6 = t5._as(K.RenderObject.prototype.get$layer.call(_this, _this));
        t6.set$clipPath(0, offsetPath);
        t6.set$clipBehavior(_this._proxy_box$_clipBehavior);
        t7 = _this._proxy_box$_elevation;
        t6.set$elevation(0, t7);
        t6.set$color(0, _this._proxy_box$_color);
        t6.set$shadowColor(0, _this._proxy_box$_shadowColor);
        t5 = t5._as(K.RenderObject.prototype.get$layer.call(_this, _this));
        t5.toString;
        context.pushLayer$4$childPaintBounds(t5, E.RenderProxyBoxMixin.prototype.get$paint.call(_this), offset, new P.Rect(t2, t3, t2 + t4, t3 + t1));
      } else
        _this._layer = null;
    }
  };
  E.DecorationPosition.prototype = {
    toString$0: function(_) {
      return this._proxy_box$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  E.RenderDecoratedBox.prototype = {
    set$decoration: function(_, value) {
      var t1, _this = this;
      if (J.$eq$(value, _this._proxy_box$_decoration))
        return;
      t1 = _this._painter;
      if (t1 != null)
        t1.dispose$0(0);
      _this._painter = null;
      _this._proxy_box$_decoration = value;
      _this.markNeedsPaint$0();
    },
    set$position: function(_, value) {
      if (value === this._proxy_box$_position)
        return;
      this._proxy_box$_position = value;
      this.markNeedsPaint$0();
    },
    set$configuration: function(value) {
      if (value.$eq(0, this._proxy_box$_configuration))
        return;
      this._proxy_box$_configuration = value;
      this.markNeedsPaint$0();
    },
    detach$0: function(_) {
      var _this = this,
        t1 = _this._painter;
      if (t1 != null)
        t1.dispose$0(0);
      _this._painter = null;
      _this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
      _this.markNeedsPaint$0();
    },
    hitTestSelf$1: function(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: function(context, offset) {
      var t1, t2, filledConfiguration, _this = this;
      if (_this._painter == null)
        _this._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 === C.DecorationPosition_0) {
        t1 = _this._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 === C.DecorationPosition_1) {
        t1 = _this._painter;
        t1.toString;
        t1.paint$3(context.get$canvas(context), offset, filledConfiguration);
        if (_this._proxy_box$_decoration.get$isComplex())
          context.setIsComplexHint$0();
      }
    }
  };
  E.RenderTransform.prototype = {
    set$origin: function(_, value) {
      return;
    },
    set$alignment: function(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: function(_, value) {
      var _this = this;
      if (_this._proxy_box$_textDirection == value)
        return;
      _this._proxy_box$_textDirection = value;
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    get$alwaysNeedsCompositing: function() {
      return false;
    },
    set$transform: function(_, value) {
      var t1, _this = this;
      if (J.$eq$(_this._proxy_box$_transform, value))
        return;
      t1 = new E.Matrix4(new Float64Array(16));
      t1.setFrom$1(value);
      _this._proxy_box$_transform = t1;
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    set$filterQuality: function(value) {
      return;
    },
    get$_effectiveTransform: function() {
      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 E.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: function(result, position) {
      return this.hitTestChildren$2$position(result, position);
    },
    hitTestChildren$2$position: function(result, position) {
      var t1 = this.transformHitTests ? this.get$_effectiveTransform() : null;
      return result.addWithPaintTransform$3$hitTest$position$transform(new E.RenderTransform_hitTestChildren_closure(this), position, t1);
    },
    paint$2: function(context, offset) {
      var t1, childOffset, t2, t3, t4, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this.get$_effectiveTransform();
        t1.toString;
        childOffset = T.MatrixUtils_getAsTranslation(t1);
        if (childOffset == null) {
          t2 = _this.get$_needsCompositing();
          t3 = E.RenderProxyBoxMixin.prototype.get$paint.call(_this);
          t4 = _this._layer;
          _this._layer = context.pushTransform$5$oldLayer(t2, offset, t1, t3, t4 instanceof T.TransformLayer ? t4 : null);
        } else {
          _this.super$RenderProxyBoxMixin$paint(context, offset.$add(0, childOffset));
          _this._layer = null;
        }
      }
    },
    applyPaintTransform$2: function(child, transform) {
      var t1 = this.get$_effectiveTransform();
      t1.toString;
      transform.multiply$1(0, t1);
    }
  };
  E.RenderTransform_hitTestChildren_closure.prototype = {
    call$2: function(result, position) {
      position.toString;
      return this.$this.super$RenderProxyBoxMixin$hitTestChildren(result, position);
    },
    $signature: 24
  };
  E.RenderFractionalTranslation.prototype = {
    set$translation: function(value) {
      var _this = this;
      if (J.$eq$(_this._translation, value))
        return;
      _this._translation = value;
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    hitTest$2$position: function(result, position) {
      return this.hitTestChildren$2$position(result, position);
    },
    hitTestChildren$2$position: function(result, position) {
      var t1, t2, t3, _this = this;
      if (_this.transformHitTests) {
        t1 = _this._translation;
        t2 = t1._dx;
        t3 = _this._box$_size;
        t3 = new P.Offset(t2 * t3._dx, t1._dy * t3._dy);
        t1 = t3;
      } else
        t1 = null;
      return result.addWithPaintOffset$3$hitTest$offset$position(new E.RenderFractionalTranslation_hitTestChildren_closure(_this), t1, position);
    },
    paint$2: function(context, offset) {
      var t1, t2, t3, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this._translation;
        t2 = t1._dx;
        t3 = _this._box$_size;
        _this.super$RenderProxyBoxMixin$paint(context, new P.Offset(offset._dx + t2 * t3._dx, offset._dy + t1._dy * t3._dy));
      }
    },
    applyPaintTransform$2: function(child, transform) {
      var t1 = this._translation,
        t2 = t1._dx,
        t3 = this._box$_size;
      transform.translate$2(0, t2 * t3._dx, t1._dy * t3._dy);
    }
  };
  E.RenderFractionalTranslation_hitTestChildren_closure.prototype = {
    call$2: function(result, position) {
      position.toString;
      return this.$this.super$RenderProxyBoxMixin$hitTestChildren(result, position);
    },
    $signature: 24
  };
  E.RenderPointerListener.prototype = {
    computeSizeForNoChild$1: function(constraints) {
      return new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    handleEvent$2: function($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$.PointerSignalEvent._is($event)) {
        t1 = _this.onPointerSignal;
        return t1 == null ? _null : t1.call$1($event);
      }
    }
  };
  E.RenderMouseRegion.prototype = {
    hitTestSelf$1: function(position) {
      return true;
    },
    hitTest$2$position: function(result, position) {
      return this.super$RenderBox$hitTest(result, position) && true;
    },
    handleEvent$2: function($event, entry) {
      var t1 = this.onHover;
      if (t1 != null && type$.PointerHoverEvent._is($event))
        return t1.call$1($event);
    },
    get$cursor: function(_) {
      return this._cursor;
    },
    get$validForMouseTracker: function() {
      return this._validForMouseTracker;
    },
    attach$1: function(owner) {
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$attach(owner);
      this._validForMouseTracker = true;
    },
    detach$0: function(_) {
      this._validForMouseTracker = false;
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    computeSizeForNoChild$1: function(constraints) {
      return new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    $isMouseTrackerAnnotation: 1,
    get$onEnter: function(receiver) {
      return this.onEnter;
    },
    get$onExit: function(receiver) {
      return this.onExit;
    }
  };
  E.RenderRepaintBoundary.prototype = {
    get$isRepaintBoundary: function() {
      return true;
    }
  };
  E.RenderIgnorePointer.prototype = {
    set$ignoring: function(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: function(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: function(result, position) {
      return !this._ignoring && this.super$RenderBox$hitTest(result, position);
    },
    visitChildrenForSemantics$1: function(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);
      }
    }
  };
  E.RenderOffstage.prototype = {
    set$offstage: function(value) {
      var _this = this;
      if (value === _this._proxy_box$_offstage)
        return;
      _this._proxy_box$_offstage = value;
      _this.markNeedsLayout$0();
      _this.markParentNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1: function(height) {
      if (this._proxy_box$_offstage)
        return 0;
      return this.super$RenderProxyBoxMixin$computeMinIntrinsicWidth(height);
    },
    computeMaxIntrinsicWidth$1: function(height) {
      if (this._proxy_box$_offstage)
        return 0;
      return this.super$RenderProxyBoxMixin$computeMaxIntrinsicWidth(height);
    },
    computeMinIntrinsicHeight$1: function(width) {
      if (this._proxy_box$_offstage)
        return 0;
      return this.super$RenderProxyBoxMixin$computeMinIntrinsicHeight(width);
    },
    computeMaxIntrinsicHeight$1: function(width) {
      if (this._proxy_box$_offstage)
        return 0;
      return this.super$RenderProxyBoxMixin$computeMaxIntrinsicHeight(width);
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      if (this._proxy_box$_offstage)
        return null;
      return this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin$computeDistanceToActualBaseline(baseline);
    },
    get$sizedByParent: function() {
      return this._proxy_box$_offstage;
    },
    computeDryLayout$1: function(constraints) {
      if (this._proxy_box$_offstage)
        return new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
      return this.super$RenderProxyBoxMixin$computeDryLayout(constraints);
    },
    performResize$0: function() {
      this.super$RenderBox$performResize();
    },
    performLayout$0: function() {
      var t1, _this = this;
      if (_this._proxy_box$_offstage) {
        t1 = _this.RenderObjectWithChildMixin__child;
        if (t1 != null)
          t1.layout$1(0, type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)));
      } else
        _this.super$RenderProxyBoxMixin$performLayout();
    },
    hitTest$2$position: function(result, position) {
      return !this._proxy_box$_offstage && this.super$RenderBox$hitTest(result, position);
    },
    paint$2: function(context, offset) {
      if (this._proxy_box$_offstage)
        return;
      this.super$RenderProxyBoxMixin$paint(context, offset);
    },
    visitChildrenForSemantics$1: function(visitor) {
      if (this._proxy_box$_offstage)
        return;
      this.super$RenderObject$visitChildrenForSemantics(visitor);
    },
    debugDescribeChildren$0: function() {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return H._setArrayType([], type$.JSArray_DiagnosticsNode);
      return H._setArrayType([Y.DiagnosticableTreeNode$("child", this._proxy_box$_offstage ? C.DiagnosticsTreeStyle_2 : C.DiagnosticsTreeStyle_1, t1)], type$.JSArray_DiagnosticsNode);
    }
  };
  E.RenderAbsorbPointer.prototype = {
    set$absorbing: function(value) {
      if (this._absorbing === value)
        return;
      this._absorbing = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$ignoringSemantics: function(value) {
      return;
    },
    hitTest$2$position: function(result, position) {
      return this._absorbing ? this._box$_size.contains$1(0, position) : this.super$RenderBox$hitTest(result, position);
    },
    visitChildrenForSemantics$1: function(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);
      }
    }
  };
  E.RenderMetaData.prototype = {};
  E.RenderSemanticsGestureHandler.prototype = {
    set$validActions: function(value) {
      if (S.setEquals(value, this._validActions))
        return;
      this._validActions = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$onTap: function(value) {
      var t1, _this = this;
      if (J.$eq$(_this._onTap, value))
        return;
      t1 = _this._onTap;
      _this._onTap = value;
      if (value != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onLongPress: function(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: function(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: function(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: function(config) {
      var t1, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      if (_this._onTap != null) {
        t1 = _this._validActions;
        t1 = t1 == null || t1.contains$1(0, C.SemanticsAction_1);
      } else
        t1 = false;
      if (t1)
        config.set$onTap(_this._onTap);
      if (_this._onLongPress != null) {
        t1 = _this._validActions;
        t1 = t1 == null || t1.contains$1(0, C.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, C.SemanticsAction_8))
          config.set$onScrollRight(_this.get$_performSemanticScrollRight());
        t1 = _this._validActions;
        if (t1 == null || t1.contains$1(0, C.SemanticsAction_4))
          config.set$onScrollLeft(_this.get$_performSemanticScrollLeft());
      }
      if (_this._onVerticalDragUpdate != null) {
        t1 = _this._validActions;
        if (t1 == null || t1.contains$1(0, C.SemanticsAction_16))
          config.set$onScrollUp(_this.get$_performSemanticScrollUp());
        t1 = _this._validActions;
        if (t1 == null || t1.contains$1(0, C.SemanticsAction_32))
          config.set$onScrollDown(_this.get$_performSemanticScrollDown());
      }
    },
    _performSemanticScrollLeft$0: function() {
      var t2, primaryDelta,
        t1 = this._onHorizontalDragUpdate;
      if (t1 != null) {
        t2 = this._box$_size;
        primaryDelta = t2._dx * -0.8;
        t2 = t2.center$1(C.Offset_0_0);
        t2 = T.MatrixUtils_transformPoint(this.getTransformTo$1(0, null), t2);
        t1.call$1(new O.DragUpdateDetails(null, new P.Offset(primaryDelta, 0), primaryDelta, t2));
      }
    },
    _performSemanticScrollRight$0: function() {
      var t2, primaryDelta,
        t1 = this._onHorizontalDragUpdate;
      if (t1 != null) {
        t2 = this._box$_size;
        primaryDelta = t2._dx * 0.8;
        t2 = t2.center$1(C.Offset_0_0);
        t2 = T.MatrixUtils_transformPoint(this.getTransformTo$1(0, null), t2);
        t1.call$1(new O.DragUpdateDetails(null, new P.Offset(primaryDelta, 0), primaryDelta, t2));
      }
    },
    _performSemanticScrollUp$0: function() {
      var t2, primaryDelta,
        t1 = this._onVerticalDragUpdate;
      if (t1 != null) {
        t2 = this._box$_size;
        primaryDelta = t2._dy * -0.8;
        t2 = t2.center$1(C.Offset_0_0);
        t2 = T.MatrixUtils_transformPoint(this.getTransformTo$1(0, null), t2);
        t1.call$1(new O.DragUpdateDetails(null, new P.Offset(0, primaryDelta), primaryDelta, t2));
      }
    },
    _performSemanticScrollDown$0: function() {
      var t2, primaryDelta,
        t1 = this._onVerticalDragUpdate;
      if (t1 != null) {
        t2 = this._box$_size;
        primaryDelta = t2._dy * 0.8;
        t2 = t2.center$1(C.Offset_0_0);
        t2 = T.MatrixUtils_transformPoint(this.getTransformTo$1(0, null), t2);
        t1.call$1(new O.DragUpdateDetails(null, new P.Offset(0, primaryDelta), primaryDelta, t2));
      }
    }
  };
  E.RenderSemanticsAnnotations.prototype = {
    set$container: function(value) {
      if (this._proxy_box$_container === value)
        return;
      this._proxy_box$_container = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$explicitChildNodes: function(value) {
      if (this._explicitChildNodes === value)
        return;
      this._explicitChildNodes = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$excludeSemantics: function(value) {
      return;
    },
    set$checked: function(_, value) {
      if (this._checked == value)
        return;
      this._checked = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$enabled: function(_, value) {
      if (this._enabled == value)
        return;
      this._enabled = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$selected: function(_, value) {
      if (this._selected == value)
        return;
      this._selected = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$button: function(_, value) {
      if (this._button == value)
        return;
      this._button = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$slider: function(value) {
      return;
    },
    set$keyboardKey: function(value) {
      return;
    },
    set$link: function(value) {
      return;
    },
    set$header: function(value) {
      if (this._header == value)
        return;
      this._header = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$textField: function(value) {
      return;
    },
    set$readOnly: function(_, value) {
      return;
    },
    set$focusable: function(value) {
      if (this._focusable == value)
        return;
      this._focusable = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$focused: function(_, value) {
      if (this._focused == value)
        return;
      this._focused = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$inMutuallyExclusiveGroup: function(value) {
      return;
    },
    set$obscured: function(value) {
      return;
    },
    set$multiline: function(_, value) {
      return;
    },
    set$scopesRoute: function(value) {
      if (this._scopesRoute == value)
        return;
      this._scopesRoute = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$namesRoute: function(value) {
      if (this._namesRoute == value)
        return;
      this._namesRoute = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$hidden: function(_, value) {
      return;
    },
    set$image: function(_, value) {
      if (this._image == value)
        return;
      this._image = value;
    },
    set$liveRegion: function(value) {
      if (this._liveRegion == value)
        return;
      this._liveRegion = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$maxValueLength: function(value) {
      return;
    },
    set$currentValueLength: function(value) {
      if (this._proxy_box$_currentValueLength == value)
        return;
      this._proxy_box$_currentValueLength = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$toggled: function(value) {
      if (this._toggled == value)
        return;
      this._toggled = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$label: function(_, value) {
      if (this._proxy_box$_label == value)
        return;
      this._proxy_box$_label = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$value: function(_, value) {
      if (this._proxy_box$_value == value)
        return;
      this._proxy_box$_value = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$increasedValue: function(value) {
      return;
    },
    set$decreasedValue: function(value) {
      return;
    },
    set$hint: function(_, value) {
      return;
    },
    set$hintOverrides: function(value) {
      if (J.$eq$(this._proxy_box$_hintOverrides, value))
        return;
      this._proxy_box$_hintOverrides = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$textDirection: function(_, value) {
      if (this._proxy_box$_textDirection == value)
        return;
      this._proxy_box$_textDirection = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$sortKey: function(value) {
      if (this._proxy_box$_sortKey == value)
        return;
      this._proxy_box$_sortKey = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$tagForChildren: function(value) {
      if (J.$eq$(this._tagForChildren, value))
        return;
      this.markNeedsSemanticsUpdate$0();
      this._tagForChildren = value;
    },
    set$onTap: function(handler) {
      var t1, _this = this;
      if (J.$eq$(_this._onTap, handler))
        return;
      t1 = _this._onTap;
      _this._onTap = handler;
      if (handler != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onDismiss: function(handler) {
      var t1, _this = this;
      if (J.$eq$(_this._onDismiss, handler))
        return;
      t1 = _this._onDismiss;
      _this._onDismiss = handler;
      if (handler != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onLongPress: function(handler) {
      var t1, _this = this;
      if (J.$eq$(_this._onLongPress, handler))
        return;
      t1 = _this._onLongPress;
      _this._onLongPress = handler;
      if (handler != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onScrollLeft: function(handler) {
      return;
    },
    set$onScrollRight: function(handler) {
      return;
    },
    set$onScrollUp: function(handler) {
      return;
    },
    set$onScrollDown: function(handler) {
      return;
    },
    set$onIncrease: function(handler) {
      return;
    },
    set$onDecrease: function(handler) {
      return;
    },
    set$onCopy: function(_, handler) {
      var t1, _this = this;
      if (J.$eq$(_this._onCopy, handler))
        return;
      t1 = _this._onCopy;
      _this._onCopy = handler;
      if (handler != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onCut: function(_, handler) {
      var t1, _this = this;
      if (J.$eq$(_this._onCut, handler))
        return;
      t1 = _this._onCut;
      _this._onCut = handler;
      if (handler != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onPaste: function(_, handler) {
      var t1, _this = this;
      if (J.$eq$(_this._onPaste, handler))
        return;
      t1 = _this._onPaste;
      _this._onPaste = handler;
      if (handler != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onMoveCursorForwardByCharacter: function(handler) {
      return;
    },
    set$onMoveCursorBackwardByCharacter: function(handler) {
      return;
    },
    set$onMoveCursorForwardByWord: function(handler) {
      return;
    },
    set$onMoveCursorBackwardByWord: function(handler) {
      return;
    },
    set$onSetSelection: function(handler) {
      return;
    },
    set$onSetText: function(handler) {
      return;
    },
    set$onDidGainAccessibilityFocus: function(handler) {
      var t1, _this = this;
      if (J.$eq$(_this._onDidGainAccessibilityFocus, handler))
        return;
      t1 = _this._onDidGainAccessibilityFocus;
      _this._onDidGainAccessibilityFocus = handler;
      if (handler != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onDidLoseAccessibilityFocus: function(handler) {
      return;
    },
    set$customSemanticsActions: function(value) {
      return;
    },
    visitChildrenForSemantics$1: function(visitor) {
      this.super$RenderObject$visitChildrenForSemantics(visitor);
    },
    describeSemanticsConfiguration$1: function(config) {
      var t1, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      config._isSemanticBoundary = _this._proxy_box$_container;
      config.explicitChildNodes = _this._explicitChildNodes;
      t1 = _this._enabled;
      if (t1 != null) {
        config._setFlag$2(C.SemanticsFlag_64, true);
        config._setFlag$2(C.SemanticsFlag_128, t1);
      }
      t1 = _this._checked;
      if (t1 != null) {
        config._setFlag$2(C.SemanticsFlag_1, true);
        config._setFlag$2(C.SemanticsFlag_2, t1);
      }
      t1 = _this._toggled;
      if (t1 != null) {
        config._setFlag$2(C.SemanticsFlag_65536, true);
        config._setFlag$2(C.SemanticsFlag_131072, t1);
      }
      t1 = _this._selected;
      if (t1 != null)
        config._setFlag$2(C.SemanticsFlag_4, t1);
      t1 = _this._button;
      if (t1 != null)
        config._setFlag$2(C.SemanticsFlag_8, t1);
      t1 = _this._header;
      if (t1 != null)
        config._setFlag$2(C.SemanticsFlag_512, t1);
      t1 = _this._focusable;
      if (t1 != null)
        config._setFlag$2(C.SemanticsFlag_2097152, t1);
      t1 = _this._focused;
      if (t1 != null)
        config._setFlag$2(C.SemanticsFlag_32, t1);
      t1 = _this._image;
      if (t1 != null)
        config._setFlag$2(C.SemanticsFlag_16384, t1);
      t1 = _this._proxy_box$_label;
      if (t1 != null) {
        config._label = t1;
        config._hasBeenAnnotated = true;
      }
      t1 = _this._proxy_box$_value;
      if (t1 != null) {
        config._semantics$_value = t1;
        config._hasBeenAnnotated = true;
      }
      _this._proxy_box$_hintOverrides != null;
      t1 = _this._scopesRoute;
      if (t1 != null)
        config._setFlag$2(C.SemanticsFlag_2048, t1);
      t1 = _this._namesRoute;
      if (t1 != null)
        config._setFlag$2(C.SemanticsFlag_4096, t1);
      t1 = _this._liveRegion;
      if (t1 != null)
        config._setFlag$2(C.SemanticsFlag_32768, t1);
      t1 = _this._proxy_box$_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$_sortKey;
      if (t1 != null) {
        config._sortKey = t1;
        config._hasBeenAnnotated = true;
      }
      t1 = _this._tagForChildren;
      if (t1 != null)
        config.addTagForChildren$1(t1);
      if (_this._onTap != null)
        config.set$onTap(_this.get$_performTap());
      if (_this._onLongPress != null)
        config.set$onLongPress(_this.get$_performLongPress());
      if (_this._onDismiss != null)
        config.set$onDismiss(_this.get$_performDismiss());
      if (_this._onCopy != null)
        config.set$onCopy(0, _this.get$_performCopy());
      if (_this._onCut != null)
        config.set$onCut(0, _this.get$_performCut());
      if (_this._onPaste != null)
        config.set$onPaste(0, _this.get$_performPaste());
      if (_this._onDidGainAccessibilityFocus != null)
        config.set$onDidGainAccessibilityFocus(_this.get$_performDidGainAccessibilityFocus());
    },
    _performTap$0: function() {
      var t1 = this._onTap;
      if (t1 != null)
        t1.call$0();
    },
    _performLongPress$0: function() {
      var t1 = this._onLongPress;
      if (t1 != null)
        t1.call$0();
    },
    _performDismiss$0: function() {
      var t1 = this._onDismiss;
      if (t1 != null)
        t1.call$0();
    },
    _performCopy$0: function() {
      var t1 = this._onCopy;
      if (t1 != null)
        t1.call$0();
    },
    _performCut$0: function() {
      var t1 = this._onCut;
      if (t1 != null)
        t1.call$0();
    },
    _performPaste$0: function() {
      var t1 = this._onPaste;
      if (t1 != null)
        t1.call$0();
    },
    _performDidGainAccessibilityFocus$0: function() {
      var t1 = this._onDidGainAccessibilityFocus;
      if (t1 != null)
        t1.call$0();
    }
  };
  E.RenderBlockSemantics.prototype = {
    set$blocking: function(value) {
      return;
    },
    describeSemanticsConfiguration$1: function(config) {
      this.super$RenderObject$describeSemanticsConfiguration(config);
      config.isBlockingSemanticsOfPreviouslyPaintedNodes = true;
    }
  };
  E.RenderMergeSemantics.prototype = {
    describeSemanticsConfiguration$1: function(config) {
      this.super$RenderObject$describeSemanticsConfiguration(config);
      config._hasBeenAnnotated = config._isMergingSemanticsOfDescendants = config._isSemanticBoundary = true;
    }
  };
  E.RenderExcludeSemantics.prototype = {
    set$excluding: function(value) {
      if (value === this._excluding)
        return;
      this._excluding = value;
      this.markNeedsSemanticsUpdate$0();
    },
    visitChildrenForSemantics$1: function(visitor) {
      if (this._excluding)
        return;
      this.super$RenderObject$visitChildrenForSemantics(visitor);
    }
  };
  E.RenderIndexedSemantics.prototype = {
    get$index: function(_) {
      return this._proxy_box$_index;
    },
    set$index: function(_, value) {
      if (value == this._proxy_box$_index)
        return;
      this._proxy_box$_index = value;
      this.markNeedsSemanticsUpdate$0();
    },
    describeSemanticsConfiguration$1: function(config) {
      this.super$RenderObject$describeSemanticsConfiguration(config);
      config._isSemanticBoundary = true;
      config._indexInParent = this._proxy_box$_index;
      config._hasBeenAnnotated = true;
    }
  };
  E.RenderLeaderLayer.prototype = {
    set$link: function(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: function() {
      return true;
    },
    performLayout$0: function() {
      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: function(context, offset) {
      var _this = this,
        t1 = _this._layer,
        t2 = _this._proxy_box$_link;
      if (t1 == null)
        t1 = _this._layer = new T.LeaderLayer(t2, offset);
      else {
        type$.LeaderLayer._as(t1);
        t1._layer$_link = t2;
        t1.offset = offset;
      }
      context.pushLayer$3(t1, E.RenderProxyBoxMixin.prototype.get$paint.call(_this), C.Offset_0_0);
    }
  };
  E.RenderFollowerLayer.prototype = {
    set$link: function(value) {
      if (this._proxy_box$_link === value)
        return;
      this._proxy_box$_link = value;
      this.markNeedsPaint$0();
    },
    set$showWhenUnlinked: function(value) {
      return;
    },
    set$offset: function(_, value) {
      if (this._proxy_box$_offset.$eq(0, value))
        return;
      this._proxy_box$_offset = value;
      this.markNeedsPaint$0();
    },
    set$leaderAnchor: function(value) {
      if (this._leaderAnchor.$eq(0, value))
        return;
      this._leaderAnchor = value;
      this.markNeedsPaint$0();
    },
    set$followerAnchor: function(value) {
      if (this._followerAnchor.$eq(0, value))
        return;
      this._followerAnchor = value;
      this.markNeedsPaint$0();
    },
    detach$0: function(_) {
      this._layer = null;
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    get$alwaysNeedsCompositing: function() {
      return true;
    },
    getCurrentTransform$0: function() {
      var t1 = type$.nullable_FollowerLayer._as(K.RenderObject.prototype.get$layer.call(this, this));
      t1 = t1 == null ? null : t1.getLastTransform$0();
      if (t1 == null) {
        t1 = new E.Matrix4(new Float64Array(16));
        t1.setIdentity$0();
      }
      return t1;
    },
    hitTest$2$position: function(result, position) {
      if (this._proxy_box$_link._leader == null && true)
        return false;
      return this.hitTestChildren$2$position(result, position);
    },
    hitTestChildren$2$position: function(result, position) {
      return result.addWithPaintTransform$3$hitTest$position$transform(new E.RenderFollowerLayer_hitTestChildren_closure(this), position, this.getCurrentTransform$0());
    },
    paint$2: function(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(K.RenderObject.prototype.get$layer.call(_this, _this)) == null)
        _this._layer = new T.FollowerLayer(_this._proxy_box$_link, false, offset, effectiveLinkedOffset);
      else {
        t2 = t1._as(K.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(K.RenderObject.prototype.get$layer.call(_this, _this));
      t1.toString;
      context.pushLayer$4$childPaintBounds(t1, E.RenderProxyBoxMixin.prototype.get$paint.call(_this), C.Offset_0_0, C.Rect_Vy7);
    },
    applyPaintTransform$2: function(child, transform) {
      transform.multiply$1(0, this.getCurrentTransform$0());
    }
  };
  E.RenderFollowerLayer_hitTestChildren_closure.prototype = {
    call$2: function(result, position) {
      position.toString;
      return this.$this.super$RenderProxyBoxMixin$hitTestChildren(result, position);
    },
    $signature: 24
  };
  E.RenderAnnotatedRegion.prototype = {
    set$value: function(_, newValue) {
      if (this._proxy_box$_value.$eq(0, newValue))
        return;
      this._proxy_box$_value = newValue;
      this.markNeedsPaint$0();
    },
    set$sized: function(value) {
      return;
    },
    paint$2: function(context, offset) {
      var _this = this,
        t1 = _this._proxy_box$_value,
        t2 = _this._box$_size;
      t2.toString;
      context.pushLayer$3(new T.AnnotatedRegionLayer(t1, t2, offset, _this.$ti._eval$1("AnnotatedRegionLayer<1>")), E.RenderProxyBoxMixin.prototype.get$paint.call(_this), offset);
    },
    get$alwaysNeedsCompositing: function() {
      return true;
    }
  };
  E._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin.prototype = {
    computeDistanceToActualBaseline$1: function(baseline) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1.getDistanceToActualBaseline$1(baseline);
      return this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin$computeDistanceToActualBaseline(baseline);
    }
  };
  E._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin_RenderAnimatedOpacityMixin.prototype = {
    attach$1: function(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: function(_) {
      this.RenderAnimatedOpacityMixin__opacity.removeListener$1(0, this.get$_updateOpacity());
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    paint$2: function(context, offset) {
      var t2, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = _this.RenderAnimatedOpacityMixin__alpha;
        if (t2 === 0) {
          _this._layer = null;
          return;
        }
        if (t2 === 255) {
          _this._layer = null;
          context.paintChild$2(t1, offset);
          return;
        }
        t2.toString;
        _this._layer = context.pushOpacity$4$oldLayer(offset, t2, E.RenderProxyBoxMixin.prototype.get$paint.call(_this), type$.nullable_OpacityLayer._as(_this._layer));
      }
    }
  };
  E._RenderProxyBox_RenderBox_RenderObjectWithChildMixin.prototype = {
    attach$1: function(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0: function(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  E._RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin.prototype = {
    computeDistanceToActualBaseline$1: function(baseline) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1.getDistanceToActualBaseline$1(baseline);
      return this.super$RenderBox$computeDistanceToActualBaseline(baseline);
    }
  };
  O.RenderRotatedBox.prototype = {
    set$quarterTurns: function(value) {
      if (this._quarterTurns === value)
        return;
      this._quarterTurns = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      return (this._quarterTurns & 1) === 1 ? t1._computeIntrinsicDimension$3(C._IntrinsicDimension_2, height, t1.get$computeMinIntrinsicHeight()) : t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      return (this._quarterTurns & 1) === 1 ? t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, height, t1.get$computeMaxIntrinsicHeight()) : t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      return (this._quarterTurns & 1) === 1 ? t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, width, t1.get$computeMinIntrinsicWidth()) : t1._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight());
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      return (this._quarterTurns & 1) === 1 ? t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, width, t1.get$computeMaxIntrinsicWidth()) : t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight());
    },
    computeDryLayout$1: function(constraints) {
      var childSize,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
      childSize = t1.getDryLayout$1((this._quarterTurns & 1) === 1 ? constraints.get$flipped() : constraints);
      return (this._quarterTurns & 1) === 1 ? new P.Size(childSize._dy, childSize._dx) : childSize;
    },
    performLayout$0: function() {
      var t1, t2, _this = this;
      _this._paintTransform = null;
      t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = type$.BoxConstraints;
        t1.layout$2$parentUsesSize(0, (_this._quarterTurns & 1) === 1 ? t2._as(K.RenderObject.prototype.get$constraints.call(_this)).get$flipped() : t2._as(K.RenderObject.prototype.get$constraints.call(_this)), true);
        t1 = _this._quarterTurns;
        t2 = _this.RenderObjectWithChildMixin__child;
        if ((t1 & 1) === 1) {
          t1 = t2._box$_size;
          t1 = new P.Size(t1._dy, t1._dx);
        } else {
          t1 = t2._box$_size;
          t1.toString;
        }
        _this._box$_size = t1;
        t1 = new E.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 * C.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(K.RenderObject.prototype.get$constraints.call(_this));
        _this._box$_size = new P.Size(C.JSInt_methods.clamp$2(0, t1.minWidth, t1.maxWidth), C.JSInt_methods.clamp$2(0, t1.minHeight, t1.maxHeight));
      }
    },
    hitTestChildren$2$position: function(result, position) {
      var _this = this;
      if (_this.RenderObjectWithChildMixin__child == null || _this._paintTransform == null)
        return false;
      return result.addWithPaintTransform$3$hitTest$position$transform(new O.RenderRotatedBox_hitTestChildren_closure(_this), position, _this._paintTransform);
    },
    _paintChild$2: function(context, offset) {
      var t1 = this.RenderObjectWithChildMixin__child;
      t1.toString;
      context.paintChild$2(t1, offset);
    },
    paint$2: function(context, offset) {
      var t1, t2, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this.get$_needsCompositing();
        t2 = _this._paintTransform;
        t2.toString;
        _this._rotated_box$_transformLayer = context.pushTransform$5$oldLayer(t1, offset, t2, _this.get$_paintChild(), _this._rotated_box$_transformLayer);
      } else
        _this._rotated_box$_transformLayer = null;
    },
    applyPaintTransform$2: function(child, transform) {
      var t1 = this._paintTransform;
      if (t1 != null)
        transform.multiply$1(0, t1);
      this.super$RenderBox$applyPaintTransform(child, transform);
    }
  };
  O.RenderRotatedBox_hitTestChildren_closure.prototype = {
    call$2: function(result, position) {
      var t1 = this.$this.RenderObjectWithChildMixin__child;
      t1.toString;
      position.toString;
      return t1.hitTest$2$position(result, position);
    },
    $signature: 24
  };
  O._RenderRotatedBox_RenderBox_RenderObjectWithChildMixin.prototype = {
    attach$1: function(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0: function(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  T.RenderShiftedBox.prototype = {
    computeMinIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return 0;
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight());
      return 0;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight());
      return 0;
    },
    computeDistanceToActualBaseline$1: function(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: function(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: function(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 T.RenderShiftedBox_hitTestChildren_closure(this, position, t1), t1.offset, position);
      }
      return false;
    }
  };
  T.RenderShiftedBox_hitTestChildren_closure.prototype = {
    call$2: function(result, transformed) {
      var t1 = this.$this.RenderObjectWithChildMixin__child;
      t1.toString;
      transformed.toString;
      return t1.hitTest$2$position(result, transformed);
    },
    $signature: 24
  };
  T.RenderPadding.prototype = {
    _shifted_box$_resolve$0: function() {
      var _this = this;
      if (_this._resolvedPadding != null)
        return;
      _this._resolvedPadding = _this._padding.resolve$1(_this._shifted_box$_textDirection);
    },
    set$padding: function(_, value) {
      var _this = this;
      if (J.$eq$(_this._padding, value))
        return;
      _this._padding = value;
      _this._resolvedPadding = null;
      _this.markNeedsLayout$0();
    },
    set$textDirection: function(_, value) {
      var _this = this;
      if (_this._shifted_box$_textDirection == value)
        return;
      _this._shifted_box$_textDirection = value;
      _this._resolvedPadding = null;
      _this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1: function(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(C._IntrinsicDimension_0, Math.max(0, height - (t2 + t1)), t3.get$computeMinIntrinsicWidth()) + totalHorizontalPadding;
      return totalHorizontalPadding;
    },
    computeMaxIntrinsicWidth$1: function(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(C._IntrinsicDimension_1, Math.max(0, height - (t2 + t1)), t3.get$computeMaxIntrinsicWidth()) + totalHorizontalPadding;
      return totalHorizontalPadding;
    },
    computeMinIntrinsicHeight$1: function(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(C._IntrinsicDimension_2, Math.max(0, width - (t2 + t3)), t1.get$computeMinIntrinsicHeight()) + totalVerticalPadding;
      return totalVerticalPadding;
    },
    computeMaxIntrinsicHeight$1: function(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(C._IntrinsicDimension_3, Math.max(0, width - (t2 + t3)), t1.get$computeMaxIntrinsicHeight()) + totalVerticalPadding;
      return totalVerticalPadding;
    },
    computeDryLayout$1: function(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 P.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 P.Size(t1.left + childSize._dx + t1.right, t1.top + childSize._dy + t1.bottom));
    },
    performLayout$0: function() {
      var t1, innerConstraints, t2, t3, t4, t5, _this = this,
        constraints = type$.BoxConstraints._as(K.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 P.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(0, 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 P.Offset(t4, t5);
      t1 = t1._box$_size;
      _this._box$_size = constraints.constrain$1(new P.Size(t4 + t1._dx + t3.right, t5 + t1._dy + t3.bottom));
    }
  };
  T.RenderAligningShiftedBox.prototype = {
    _shifted_box$_resolve$0: function() {
      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: function(value) {
      var _this = this;
      if (J.$eq$(_this._shifted_box$_alignment, value))
        return;
      _this._shifted_box$_alignment = value;
      _this._shifted_box$_resolvedAlignment = null;
      _this.markNeedsLayout$0();
    },
    set$textDirection: function(_, 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: function() {
      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)));
    }
  };
  T.RenderPositionedBox.prototype = {
    set$widthFactor: function(value) {
      if (this._widthFactor == value)
        return;
      this._widthFactor = value;
      this.markNeedsLayout$0();
    },
    set$heightFactor: function(value) {
      if (this._heightFactor == value)
        return;
      this._heightFactor = value;
      this.markNeedsLayout$0();
    },
    computeDryLayout$1: function(constraints) {
      var childSize, t2, t3, _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(constraints.loosen$0());
        if (shrinkWrapWidth) {
          t1 = childSize._dx;
          t2 = _this._widthFactor;
          t1 *= t2 == null ? 1 : t2;
        } else
          t1 = 1 / 0;
        if (shrinkWrapHeight) {
          t2 = childSize._dy;
          t3 = _this._heightFactor;
          t2 *= t3 == null ? 1 : t3;
        } else
          t2 = 1 / 0;
        return constraints.constrain$1(new P.Size(t1, t2));
      }
      t1 = shrinkWrapWidth ? 0 : 1 / 0;
      return constraints.constrain$1(new P.Size(t1, shrinkWrapHeight ? 0 : 1 / 0));
    },
    performLayout$0: function() {
      var t2, t3, _this = this,
        constraints = type$.BoxConstraints._as(K.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(0, constraints.loosen$0(), 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 P.Size(t1, t2));
        _this.alignChild$0();
      } else {
        t1 = shrinkWrapWidth ? 0 : 1 / 0;
        _this._box$_size = constraints.constrain$1(new P.Size(t1, shrinkWrapHeight ? 0 : 1 / 0));
      }
    }
  };
  T.RenderConstrainedOverflowBox.prototype = {
    set$minWidth: function(_, value) {
      return;
    },
    set$maxWidth: function(_, value) {
      return;
    },
    set$minHeight: function(_, value) {
      if (this._minHeight === value)
        return;
      this._minHeight = value;
      this.markNeedsLayout$0();
    },
    set$maxHeight: function(_, value) {
      if (this._shifted_box$_maxHeight === value)
        return;
      this._shifted_box$_maxHeight = value;
      this.markNeedsLayout$0();
    },
    get$sizedByParent: function() {
      return true;
    },
    computeDryLayout$1: function(constraints) {
      return new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    performLayout$0: function() {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this));
        t3 = t2.minWidth;
        t2 = t2.maxWidth;
        t4 = _this._minHeight;
        t5 = _this._shifted_box$_maxHeight;
        t1.layout$2$parentUsesSize(0, new S.BoxConstraints(t3, t2, t4, t5), true);
        _this.alignChild$0();
      }
    }
  };
  T.SingleChildLayoutDelegate.prototype = {
    getSize$1: function(constraints) {
      return new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    getConstraintsForChild$1: function(constraints) {
      return constraints;
    },
    getPositionForChild$2: function(size, childSize) {
      return C.Offset_0_0;
    }
  };
  T.RenderCustomSingleChildLayoutBox.prototype = {
    set$delegate: function(newDelegate) {
      var _this = this,
        t1 = _this._shifted_box$_delegate;
      if (t1 === newDelegate)
        return;
      if (H.getRuntimeType(newDelegate) !== H.getRuntimeType(t1) || newDelegate.shouldRelayout$1(t1))
        _this.markNeedsLayout$0();
      _this._shifted_box$_delegate = newDelegate;
      _this._node$_owner != null;
    },
    attach$1: function(owner) {
      this.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$attach(owner);
    },
    detach$0: function(_) {
      this.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t1 = S.BoxConstraints$tightForFinite(height, 1 / 0),
        width = t1.constrain$1(this._shifted_box$_delegate.getSize$1(t1))._dx;
      width.toString;
      if (isFinite(width))
        return width;
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1 = S.BoxConstraints$tightForFinite(height, 1 / 0),
        width = t1.constrain$1(this._shifted_box$_delegate.getSize$1(t1))._dx;
      width.toString;
      if (isFinite(width))
        return width;
      return 0;
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t1 = S.BoxConstraints$tightForFinite(1 / 0, width),
        height = t1.constrain$1(this._shifted_box$_delegate.getSize$1(t1))._dy;
      height.toString;
      if (isFinite(height))
        return height;
      return 0;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t1 = S.BoxConstraints$tightForFinite(1 / 0, width),
        height = t1.constrain$1(this._shifted_box$_delegate.getSize$1(t1))._dy;
      height.toString;
      if (isFinite(height))
        return height;
      return 0;
    },
    computeDryLayout$1: function(constraints) {
      return constraints.constrain$1(this._shifted_box$_delegate.getSize$1(constraints));
    },
    performLayout$0: function() {
      var childConstraints, t3, t4, t5, t6, t7, _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(K.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(K.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(0, 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 P.Size(C.JSInt_methods.clamp$2(0, t2, t3), C.JSInt_methods.clamp$2(0, childConstraints.minHeight, childConstraints.maxHeight));
        else {
          t1 = t1._box$_size;
          t1.toString;
        }
        t5.offset = t6.getPositionForChild$2(t7, t1);
      }
    }
  };
  T._RenderShiftedBox_RenderBox_RenderObjectWithChildMixin.prototype = {
    attach$1: function(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0: function(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  G.GrowthDirection.prototype = {
    toString$0: function(_) {
      return this._sliver$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  G.SliverConstraints.prototype = {
    get$isTight: function() {
      return false;
    },
    asBoxConstraints$2$maxExtent$minExtent: function(maxExtent, minExtent) {
      var crossAxisExtent = this.crossAxisExtent;
      switch (G.axisDirectionToAxis(this.axisDirection)) {
        case C.Axis_0:
          return new S.BoxConstraints(minExtent, maxExtent, crossAxisExtent, crossAxisExtent);
        case C.Axis_1:
          return new S.BoxConstraints(crossAxisExtent, crossAxisExtent, minExtent, maxExtent);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    asBoxConstraints$0: function() {
      return this.asBoxConstraints$2$maxExtent$minExtent(1 / 0, 0);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (!(other instanceof G.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: function(_) {
      var _this = this;
      return P.hashValues(_this.axisDirection, _this.growthDirection, _this.scrollOffset, _this.overlap, _this.remainingPaintExtent, _this.crossAxisExtent, _this.crossAxisDirection, _this.viewportMainAxisExtent, _this.remainingCacheExtent, _this.cacheOrigin, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var _this = this,
        t1 = H._setArrayType([_this.axisDirection.toString$0(0), _this.growthDirection.toString$0(0), H.S(_this.userScrollDirection), "scrollOffset: " + C.JSNumber_methods.toStringAsFixed$1(_this.scrollOffset, 1), "remainingPaintExtent: " + C.JSNumber_methods.toStringAsFixed$1(_this.remainingPaintExtent, 1)], type$.JSArray_String),
        t2 = _this.overlap;
      if (t2 !== 0)
        t1.push("overlap: " + C.JSNumber_methods.toStringAsFixed$1(t2, 1));
      t1.push("crossAxisExtent: " + J.toStringAsFixed$1$n(_this.crossAxisExtent, 1));
      t1.push("crossAxisDirection: " + _this.crossAxisDirection.toString$0(0));
      t1.push("viewportMainAxisExtent: " + J.toStringAsFixed$1$n(_this.viewportMainAxisExtent, 1));
      t1.push("remainingCacheExtent: " + C.JSNumber_methods.toStringAsFixed$1(_this.remainingCacheExtent, 1));
      t1.push("cacheOrigin: " + C.JSNumber_methods.toStringAsFixed$1(_this.cacheOrigin, 1));
      return "SliverConstraints(" + C.JSArray_methods.join$1(t1, ", ") + ")";
    }
  };
  G.SliverGeometry.prototype = {
    toStringShort$0: function() {
      return "SliverGeometry";
    }
  };
  G.SliverHitTestResult.prototype = {};
  G.SliverHitTestEntry.prototype = {
    get$target: function(_) {
      return type$.RenderSliver._as(this.target);
    },
    toString$0: function(_) {
      var _this = this;
      return H.getRuntimeType(type$.RenderSliver._as(_this.target)).toString$0(0) + "@(mainAxis: " + H.S(_this.mainAxisPosition) + ", crossAxis: " + H.S(_this.crossAxisPosition) + ")";
    }
  };
  G.SliverLogicalParentData.prototype = {
    toString$0: function(_) {
      var t1 = this.layoutOffset;
      return "layoutOffset=" + (t1 == null ? "None" : C.JSNumber_methods.toStringAsFixed$1(t1, 1));
    }
  };
  G.SliverLogicalContainerParentData.prototype = {};
  G.SliverPhysicalParentData.prototype = {
    toString$0: function(_) {
      return "paintOffset=" + this.paintOffset.toString$0(0);
    }
  };
  G.SliverPhysicalContainerParentData.prototype = {};
  G.RenderSliver.prototype = {
    get$constraints: function() {
      return type$.SliverConstraints._as(K.RenderObject.prototype.get$constraints.call(this));
    },
    get$semanticBounds: function() {
      return this.get$paintBounds();
    },
    get$paintBounds: function() {
      var _this = this,
        t1 = type$.SliverConstraints;
      switch (G.axisDirectionToAxis(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).axisDirection)) {
        case C.Axis_0:
          return new P.Rect(0, 0, 0 + _this._sliver$_geometry.paintExtent, 0 + t1._as(K.RenderObject.prototype.get$constraints.call(_this)).crossAxisExtent);
        case C.Axis_1:
          return new P.Rect(0, 0, 0 + t1._as(K.RenderObject.prototype.get$constraints.call(_this)).crossAxisExtent, 0 + _this._sliver$_geometry.paintExtent);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    performResize$0: function() {
    },
    hitTest$3$crossAxisPosition$mainAxisPosition: function(result, crossAxisPosition, mainAxisPosition) {
      var t1, _this = this;
      if (mainAxisPosition >= 0 && mainAxisPosition < _this._sliver$_geometry.hitTestExtent && crossAxisPosition >= 0 && crossAxisPosition < type$.SliverConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)).crossAxisExtent)
        if (_this.hitTestChildren$3$crossAxisPosition$mainAxisPosition(result, crossAxisPosition, mainAxisPosition) || false) {
          t1 = new G.SliverHitTestEntry(mainAxisPosition, crossAxisPosition, _this);
          result._globalizeTransforms$0();
          t1._transform = C.JSArray_methods.get$last(result._transforms);
          result._path.push(t1);
          return true;
        }
      return false;
    },
    hitTest$1: function(result) {
      return this.hitTest$3$crossAxisPosition$mainAxisPosition(result, null, null);
    },
    hitTestChildren$3$crossAxisPosition$mainAxisPosition: function(result, crossAxisPosition, mainAxisPosition) {
      return false;
    },
    calculatePaintOffset$3$from$to: function(constraints, from, to) {
      var a = constraints.scrollOffset,
        t1 = constraints.remainingPaintExtent,
        b = a + t1;
      return C.JSNumber_methods.clamp$2(J.clamp$2$n(to, a, b) - J.clamp$2$n(from, a, b), 0, t1);
    },
    calculateCacheOffset$3$from$to: function(constraints, from, to) {
      var t1 = constraints.scrollOffset,
        a = t1 + constraints.cacheOrigin,
        t2 = constraints.remainingCacheExtent,
        b = t1 + t2;
      return C.JSNumber_methods.clamp$2(J.clamp$2$n(to, a, b) - J.clamp$2$n(from, a, b), 0, t2);
    },
    childScrollOffset$1: function(child) {
      return 0;
    },
    applyPaintTransform$2: function(child, transform) {
    },
    handleEvent$2: function($event, entry) {
    }
  };
  G.RenderSliverHelpers.prototype = {
    _getRightWayUp$1: function(constraints) {
      var rightWayUp,
        _s80_ = string$.x60null_c;
      switch (constraints.axisDirection) {
        case C.AxisDirection_0:
        case C.AxisDirection_3:
          rightWayUp = false;
          break;
        case C.AxisDirection_2:
        case C.AxisDirection_1:
          rightWayUp = true;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      switch (constraints.growthDirection) {
        case C.GrowthDirection_0:
          break;
        case C.GrowthDirection_1:
          rightWayUp = !rightWayUp;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      return rightWayUp;
    },
    hitTestBoxChild$4$crossAxisPosition$mainAxisPosition: function(result, child, crossAxisPosition, mainAxisPosition) {
      var delta, absolutePosition, absoluteCrossAxisPosition, paintOffset, _this = this, _box_0 = {},
        t1 = type$.SliverConstraints,
        rightWayUp = _this._getRightWayUp$1(t1._as(K.RenderObject.prototype.get$constraints.call(_this))),
        t2 = child.parentData;
      t2.toString;
      t2 = type$.SliverMultiBoxAdaptorParentData._as(t2).layoutOffset;
      t2.toString;
      delta = t2 - t1._as(K.RenderObject.prototype.get$constraints.call(_this)).scrollOffset;
      absolutePosition = mainAxisPosition - delta;
      absoluteCrossAxisPosition = crossAxisPosition - 0;
      _box_0.transformedPosition = null;
      switch (G.axisDirectionToAxis(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).axisDirection)) {
        case C.Axis_0:
          if (!rightWayUp) {
            t1 = child._box$_size._dx;
            absolutePosition = t1 - absolutePosition;
            delta = _this._sliver$_geometry.paintExtent - t1 - delta;
          }
          paintOffset = new P.Offset(delta, 0);
          _box_0.transformedPosition = new P.Offset(absolutePosition, absoluteCrossAxisPosition);
          break;
        case C.Axis_1:
          if (!rightWayUp) {
            t1 = child._box$_size._dy;
            absolutePosition = t1 - absolutePosition;
            delta = _this._sliver$_geometry.paintExtent - t1 - delta;
          }
          paintOffset = new P.Offset(0, delta);
          _box_0.transformedPosition = new P.Offset(absoluteCrossAxisPosition, absolutePosition);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return result.addWithOutOfBandPosition$2$hitTest$paintOffset(new G.RenderSliverHelpers_hitTestBoxChild_closure(_box_0, child), paintOffset);
    }
  };
  G.RenderSliverHelpers_hitTestBoxChild_closure.prototype = {
    call$1: function(result) {
      return this.child.hitTest$2$position(result, this._box_0.transformedPosition);
    },
    $signature: 194
  };
  G._SliverGeometry_Object_Diagnosticable.prototype = {};
  G._SliverLogicalContainerParentData_SliverLogicalParentData_ContainerParentDataMixin.prototype = {
    detach$0: function(_) {
      this.super$ParentData$detach(0);
    }
  };
  G._SliverPhysicalContainerParentData_SliverPhysicalParentData_ContainerParentDataMixin.prototype = {
    detach$0: function(_) {
      this.super$ParentData$detach(0);
    }
  };
  A.RenderSliverFillViewport.prototype = {
    get$itemExtent: function() {
      return type$.SliverConstraints._as(K.RenderObject.prototype.get$constraints.call(this)).viewportMainAxisExtent * this._sliver_fill0$_viewportFraction;
    },
    set$viewportFraction: function(value) {
      if (this._sliver_fill0$_viewportFraction === value)
        return;
      this._sliver_fill0$_viewportFraction = value;
      this.markNeedsLayout$0();
    }
  };
  X.RenderSliverFixedExtentBoxAdaptor.prototype = {
    getMinChildIndexForScrollOffset$2: function(scrollOffset, itemExtent) {
      var actual, round;
      if (itemExtent > 0) {
        actual = scrollOffset / itemExtent;
        round = C.JSNumber_methods.round$0(actual);
        if (Math.abs(actual - round) < 1e-10)
          return round;
        return C.JSNumber_methods.floor$0(actual);
      }
      return 0;
    },
    getMaxChildIndexForScrollOffset$2: function(scrollOffset, itemExtent) {
      var actual, round;
      if (itemExtent > 0) {
        actual = scrollOffset / itemExtent - 1;
        round = C.JSNumber_methods.round$0(actual);
        if (Math.abs(actual - round) < 1e-10)
          return Math.max(0, round);
        return Math.max(0, C.JSNumber_methods.ceil$0(actual));
      }
      return 0;
    },
    _calculateLeadingGarbage$1: function(firstIndex) {
      var t3,
        walker = this.ContainerRenderObjectMixin__firstChild,
        t1 = H._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: function(targetLastIndex) {
      var t3,
        walker = this.ContainerRenderObjectMixin__lastChild,
        t1 = H._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: function() {
      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(K.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._sliver$_geometry = G.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._sliver$_geometry = G.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(0, 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 = H._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(0, 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._sliver$_geometry = G.SliverGeometry$(cacheExtent, targetLastIndexForPaint != null && t3 >= targetLastIndexForPaint || t2 > 0, _null, _null, estimatedMaxScrollOffset, paintExtent, 0, estimatedMaxScrollOffset, _null);
      if (estimatedMaxScrollOffset === trailingScrollOffset)
        t1._didUnderflow = true;
      t1.didFinishLayout$0();
    }
  };
  X.RenderSliverFixedExtentList.prototype = {
    get$itemExtent: function() {
      return this._itemExtent;
    },
    set$itemExtent: function(value) {
      if (this._itemExtent == value)
        return;
      this._itemExtent = value;
      this.markNeedsLayout$0();
    }
  };
  U.RenderSliverList.prototype = {
    performLayout$0: function() {
      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(K.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._sliver$_geometry = C.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 = H._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._sliver$_geometry = C.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(0, childConstraints, true);
            earliestUsefulChild = _this.ContainerRenderObjectMixin__firstChild;
            if (_box_0.trailingChildWithLayout == null)
              _box_0.trailingChildWithLayout = earliestUsefulChild;
            leadingChildWithLayout = earliestUsefulChild;
            break;
          } else {
            _this._sliver$_geometry = G.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._sliver$_geometry = G.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._sliver$_geometry = G.SliverGeometry$(_null, false, _null, _null, 0, 0, 0, 0, -firstChildScrollOffset);
            return;
          }
        }
      if (leadingChildWithLayout == null) {
        earliestUsefulChild.layout$2$parentUsesSize(0, 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 U.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._sliver$_geometry = G.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 = H._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 = constraints.remainingPaintExtent;
      t4 = _box_0.endScrollOffset;
      _this._sliver$_geometry = G.SliverGeometry$(cacheExtent, t4 > t2 + t3 || t2 > 0, _null, _null, estimatedMaxScrollOffset, paintExtent, 0, estimatedMaxScrollOffset, _null);
      if (estimatedMaxScrollOffset === t4)
        t1._didUnderflow = true;
      t1.didFinishLayout$0();
    }
  };
  U.RenderSliverList_performLayout_advance.prototype = {
    call$0: function() {
      var t4, child, index, 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 = H._instanceType(t4)._eval$1("ContainerRenderObjectMixin.1")._as(t2).ContainerParentDataMixin_nextSibling;
      t2 = child == null;
      if (t2)
        t1.inLayoutRange = false;
      index = t1.index + 1;
      t1.index = index;
      if (!t1.inLayoutRange) {
        if (!t2) {
          t2 = child.parentData;
          t2.toString;
          t2 = type$.SliverMultiBoxAdaptorParentData._as(t2).index;
          t2.toString;
          t2 = t2 !== index;
        } 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(0, 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: 150
  };
  F.KeepAliveParentDataMixin.prototype = {};
  F.RenderSliverWithKeepAliveMixin.prototype = {
    setupParentData$1: function(child) {
    }
  };
  F.SliverMultiBoxAdaptorParentData.prototype = {
    toString$0: function(_) {
      var t1 = "index=" + H.S(this.index) + "; ";
      return t1 + (this.KeepAliveParentDataMixin_keepAlive ? "keepAlive; " : "") + this.super$SliverLogicalParentData$toString(0);
    },
    get$index: function(receiver) {
      return this.index;
    },
    set$index: function(receiver, val) {
      return this.index = val;
    }
  };
  F.RenderSliverMultiBoxAdaptor.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof F.SliverMultiBoxAdaptorParentData))
        child.parentData = new F.SliverMultiBoxAdaptorParentData(false, null, null);
    },
    adoptChild$1: function(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: function(_, child, after) {
      this.super$ContainerRenderObjectMixin$insert(0, child, after);
    },
    move$2$after: function(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: function(_, 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: function(index, after) {
      this.invokeLayoutCallback$1$1(new F.RenderSliverMultiBoxAdaptor__createOrObtainChild_closure(this, index, after), type$.SliverConstraints);
    },
    _destroyOrCacheChild$1: function(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: function(owner) {
      var t1;
      this.super$_RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin$attach(owner);
      for (t1 = this._keepAliveBucket, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();)
        t1.get$current(t1).attach$1(owner);
    },
    detach$0: function(_) {
      var t1;
      this.super$_RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin$detach(0);
      for (t1 = this._keepAliveBucket, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();)
        t1.get$current(t1).detach$0(0);
    },
    redepthChildren$0: function() {
      this.super$ContainerRenderObjectMixin$redepthChildren();
      var t1 = this._keepAliveBucket;
      t1.get$values(t1).forEach$1(0, this.get$redepthChild());
    },
    visitChildren$1: function(visitor) {
      var t1;
      this.super$ContainerRenderObjectMixin$visitChildren(visitor);
      t1 = this._keepAliveBucket;
      t1.get$values(t1).forEach$1(0, visitor);
    },
    visitChildrenForSemantics$1: function(visitor) {
      this.super$ContainerRenderObjectMixin$visitChildren(visitor);
    },
    addInitialChild$2$index$layoutOffset: function(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: function() {
      return this.addInitialChild$2$index$layoutOffset(0, 0);
    },
    insertAndLayoutLeadingChild$2$parentUsesSize: function(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(0, childConstraints, parentUsesSize);
        return _this.ContainerRenderObjectMixin__firstChild;
      }
      _this._childManager._didUnderflow = true;
      return null;
    },
    insertAndLayoutLeadingChild$1: function(childConstraints) {
      return this.insertAndLayoutLeadingChild$2$parentUsesSize(childConstraints, false);
    },
    insertAndLayoutChild$3$after$parentUsesSize: function(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 = H._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(0, childConstraints, parentUsesSize);
        return child;
      }
      this._childManager._didUnderflow = true;
      return null;
    },
    insertAndLayoutChild$2$after: function(childConstraints, after) {
      return this.insertAndLayoutChild$3$after$parentUsesSize(childConstraints, after, false);
    },
    collectGarbage$2: function(leadingGarbage, trailingGarbage) {
      var t1 = {};
      t1.leadingGarbage = leadingGarbage;
      t1.trailingGarbage = trailingGarbage;
      this.invokeLayoutCallback$1$1(new F.RenderSliverMultiBoxAdaptor_collectGarbage_closure(t1, this), type$.SliverConstraints);
    },
    indexOf$1: function(_, child) {
      var t1 = child.parentData;
      t1.toString;
      t1 = type$.SliverMultiBoxAdaptorParentData._as(t1).index;
      t1.toString;
      return t1;
    },
    paintExtentOf$1: function(child) {
      switch (G.axisDirectionToAxis(type$.SliverConstraints._as(K.RenderObject.prototype.get$constraints.call(this)).axisDirection)) {
        case C.Axis_0:
          return child._box$_size._dx;
        case C.Axis_1:
          return child._box$_size._dy;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    hitTestChildren$3$crossAxisPosition$mainAxisPosition: function(result, crossAxisPosition, mainAxisPosition) {
      var t1, t2,
        child = this.ContainerRenderObjectMixin__lastChild,
        boxResult = S.BoxHitTestResult$wrap(result);
      for (t1 = H._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: function(child) {
      var t1 = child.parentData;
      t1.toString;
      return type$.SliverMultiBoxAdaptorParentData._as(t1).layoutOffset;
    },
    applyPaintTransform$2: function(child, transform) {
      var t2, rightWayUp, t3, delta, _this = this,
        t1 = child.parentData;
      t1.toString;
      t2 = type$.SliverMultiBoxAdaptorParentData;
      t1 = t2._as(t1).index;
      if (t1 == null)
        transform.setZero$0();
      else if (_this._keepAliveBucket.containsKey$1(0, t1))
        transform.setZero$0();
      else {
        t1 = type$.SliverConstraints;
        rightWayUp = _this._getRightWayUp$1(t1._as(K.RenderObject.prototype.get$constraints.call(_this)));
        t3 = child.parentData;
        t3.toString;
        t3 = t2._as(t3).layoutOffset;
        t3.toString;
        delta = t3 - t1._as(K.RenderObject.prototype.get$constraints.call(_this)).scrollOffset;
        switch (G.axisDirectionToAxis(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).axisDirection)) {
          case C.Axis_0:
            transform.translate$2(0, !rightWayUp ? _this._sliver$_geometry.paintExtent - child._box$_size._dx - delta : delta, 0);
            break;
          case C.Axis_1:
            transform.translate$2(0, 0, !rightWayUp ? _this._sliver$_geometry.paintExtent - child._box$_size._dy - delta : delta);
            break;
          default:
            H.throwExpression(H.ReachabilityError$(string$.x60null_c));
        }
      }
    },
    paint$2: function(context, offset) {
      var t1, originOffset, mainAxisUnit, crossAxisUnit, addExtent, child, t2, t3, t4, t5, t6, t7, t8, t9, t10, mainAxisDelta, t11, childOffset, t12, _this = this;
      if (_this.ContainerRenderObjectMixin__firstChild == null)
        return;
      t1 = type$.SliverConstraints;
      switch (G.applyGrowthDirectionToAxisDirection(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).axisDirection, t1._as(K.RenderObject.prototype.get$constraints.call(_this)).growthDirection)) {
        case C.AxisDirection_0:
          originOffset = offset.$add(0, new P.Offset(0, _this._sliver$_geometry.paintExtent));
          mainAxisUnit = C.Offset_0_m1;
          crossAxisUnit = C.Offset_1_0;
          addExtent = true;
          break;
        case C.AxisDirection_1:
          originOffset = offset;
          mainAxisUnit = C.Offset_1_0;
          crossAxisUnit = C.Offset_0_1;
          addExtent = false;
          break;
        case C.AxisDirection_2:
          originOffset = offset;
          mainAxisUnit = C.Offset_0_1;
          crossAxisUnit = C.Offset_1_0;
          addExtent = false;
          break;
        case C.AxisDirection_3:
          originOffset = offset.$add(0, new P.Offset(_this._sliver$_geometry.paintExtent, 0));
          mainAxisUnit = C.Offset_m1_0;
          crossAxisUnit = C.Offset_0_1;
          addExtent = true;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      child = _this.ContainerRenderObjectMixin__firstChild;
      for (t2 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), t3 = type$.SliverMultiBoxAdaptorParentData, t4 = originOffset._dx, t5 = mainAxisUnit._dx, t6 = crossAxisUnit._dx, t7 = originOffset._dy, t8 = mainAxisUnit._dy, t9 = crossAxisUnit._dy; child != null;) {
        t10 = child.parentData;
        t10.toString;
        t10 = t3._as(t10).layoutOffset;
        t10.toString;
        mainAxisDelta = t10 - t1._as(K.RenderObject.prototype.get$constraints.call(_this)).scrollOffset;
        t10 = t4 + t5 * mainAxisDelta + t6 * 0;
        t11 = t7 + t8 * mainAxisDelta + t9 * 0;
        childOffset = new P.Offset(t10, t11);
        if (addExtent) {
          t12 = _this.paintExtentOf$1(child);
          childOffset = new P.Offset(t10 + t5 * t12, t11 + t8 * t12);
        }
        if (mainAxisDelta < t1._as(K.RenderObject.prototype.get$constraints.call(_this)).remainingPaintExtent && mainAxisDelta + _this.paintExtentOf$1(child) > 0)
          context.paintChild$2(child, childOffset);
        t10 = child.parentData;
        t10.toString;
        child = t2._as(t10).ContainerParentDataMixin_nextSibling;
      }
    },
    debugDescribeChildren$0: function() {
      var t1, t2, indices, _i, index, t3,
        _s17_ = "child with index ",
        children = H._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 Y.DiagnosticableTreeNode(child, _s17_ + H.S(t2.index), true, true, null, null));
          if (child == this.ContainerRenderObjectMixin__lastChild)
            break;
          child = t2.ContainerParentDataMixin_nextSibling;
        }
      t1 = this._keepAliveBucket;
      if (t1.get$isNotEmpty(t1)) {
        t2 = t1.get$keys(t1);
        indices = P.List_List$of(t2, true, H._instanceType(t2)._eval$1("Iterable.E"));
        C.JSArray_methods.sort$0(indices);
        for (t2 = indices.length, _i = 0; _i < indices.length; indices.length === t2 || (0, H.throwConcurrentModificationError)(indices), ++_i) {
          index = indices[_i];
          t3 = t1.$index(0, index);
          t3.toString;
          children.push(new Y.DiagnosticableTreeNode(t3, _s17_ + H.S(index) + " (kept alive but not laid out)", true, true, null, C.DiagnosticsTreeStyle_2));
        }
      }
      return children;
    }
  };
  F.RenderSliverMultiBoxAdaptor__createOrObtainChild_closure.prototype = {
    call$1: function(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: 247
  };
  F.RenderSliverMultiBoxAdaptor_collectGarbage_closure.prototype = {
    call$1: function(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 = H._instanceType(t1)._eval$1("WhereIterable<Iterable.E>");
      C.JSArray_methods.forEach$1(P.List_List$of(new H.WhereIterable(t1, new F.RenderSliverMultiBoxAdaptor_collectGarbage__closure(), t3), true, t3._eval$1("Iterable.E")), t2._childManager.get$removeChild());
    },
    $signature: 247
  };
  F.RenderSliverMultiBoxAdaptor_collectGarbage__closure.prototype = {
    call$1: function(child) {
      var t1 = child.parentData;
      t1.toString;
      return !type$.SliverMultiBoxAdaptorParentData._as(t1).KeepAliveParentDataMixin_keepAlive;
    },
    $signature: 839
  };
  F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin.prototype = {
    attach$1: function(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: function(_) {
      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;
      }
    }
  };
  F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers.prototype = {};
  F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers_RenderSliverWithKeepAliveMixin.prototype = {};
  F._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin.prototype = {
    detach$0: function(_) {
      this.super$ParentData$detach(0);
    }
  };
  F._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin_KeepAliveParentDataMixin.prototype = {};
  T.RenderSliverEdgeInsetsPadding.prototype = {
    get$beforePadding: function() {
      var _this = this,
        t1 = type$.SliverConstraints;
      switch (G.applyGrowthDirectionToAxisDirection(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).axisDirection, t1._as(K.RenderObject.prototype.get$constraints.call(_this)).growthDirection)) {
        case C.AxisDirection_0:
          return _this.get$resolvedPadding().bottom;
        case C.AxisDirection_1:
          return _this.get$resolvedPadding().left;
        case C.AxisDirection_2:
          return _this.get$resolvedPadding().top;
        case C.AxisDirection_3:
          return _this.get$resolvedPadding().right;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$afterPadding: function() {
      var _this = this,
        t1 = type$.SliverConstraints;
      switch (G.applyGrowthDirectionToAxisDirection(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).axisDirection, t1._as(K.RenderObject.prototype.get$constraints.call(_this)).growthDirection)) {
        case C.AxisDirection_0:
          return _this.get$resolvedPadding().top;
        case C.AxisDirection_1:
          return _this.get$resolvedPadding().right;
        case C.AxisDirection_2:
          return _this.get$resolvedPadding().bottom;
        case C.AxisDirection_3:
          return _this.get$resolvedPadding().left;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$crossAxisPadding: function() {
      switch (G.axisDirectionToAxis(type$.SliverConstraints._as(K.RenderObject.prototype.get$constraints.call(this)).axisDirection)) {
        case C.Axis_0:
          var t1 = this.get$resolvedPadding();
          return t1.get$_edge_insets$_top(t1) + t1.get$_edge_insets$_bottom(t1);
        case C.Axis_1:
          return this.get$resolvedPadding().get$horizontal();
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof G.SliverPhysicalParentData))
        child.parentData = new G.SliverPhysicalParentData(C.Offset_0_0);
    },
    performLayout$0: function() {
      var t2, mainAxisPadding, crossAxisPadding, beforePaddingPaintExtent, overlap, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, childLayoutGeometry, afterPaddingPaintExtent, mainAxisPaddingPaintExtent, beforePaddingCacheExtent, afterPaddingCacheExtent, paintExtent, _this = this, _null = null,
        t1 = type$.SliverConstraints,
        constraints = t1._as(K.RenderObject.prototype.get$constraints.call(_this)),
        beforePadding = _this.get$beforePadding();
      _this.get$afterPadding();
      t2 = _this.get$resolvedPadding();
      t2.toString;
      mainAxisPadding = t2.along$1(G.axisDirectionToAxis(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).axisDirection));
      crossAxisPadding = _this.get$crossAxisPadding();
      if (_this.RenderObjectWithChildMixin__child == null) {
        _this._sliver$_geometry = G.SliverGeometry$(_null, false, _null, _null, mainAxisPadding, Math.min(mainAxisPadding, constraints.remainingPaintExtent), 0, mainAxisPadding, _null);
        return;
      }
      beforePaddingPaintExtent = _this.calculatePaintOffset$3$from$to(constraints, 0, beforePadding);
      overlap = constraints.overlap;
      if (overlap > 0)
        overlap = Math.max(0, overlap - beforePaddingPaintExtent);
      t1 = _this.RenderObjectWithChildMixin__child;
      t1.toString;
      t2 = Math.max(0, constraints.scrollOffset - beforePadding);
      t3 = Math.min(0, constraints.cacheOrigin + beforePadding);
      t4 = constraints.remainingPaintExtent;
      t5 = _this.calculatePaintOffset$3$from$to(constraints, 0, beforePadding);
      t6 = constraints.remainingCacheExtent;
      t7 = _this.calculateCacheOffset$3$from$to(constraints, 0, beforePadding);
      t8 = Math.max(0, constraints.crossAxisExtent - crossAxisPadding);
      t9 = constraints.precedingScrollExtent;
      t10 = constraints.axisDirection;
      t11 = constraints.growthDirection;
      t12 = constraints.userScrollDirection;
      t13 = constraints.crossAxisDirection;
      t14 = constraints.viewportMainAxisExtent;
      t1.layout$2$parentUsesSize(0, new G.SliverConstraints(t10, t11, t12, t2, beforePadding + t9, overlap, t4 - t5, t8, t13, t14, t3, t6 - t7), true);
      childLayoutGeometry = _this.RenderObjectWithChildMixin__child._sliver$_geometry;
      t1 = childLayoutGeometry.scrollOffsetCorrection;
      if (t1 != null) {
        _this._sliver$_geometry = G.SliverGeometry$(_null, false, _null, _null, 0, 0, 0, 0, t1);
        return;
      }
      t1 = childLayoutGeometry.scrollExtent;
      t2 = beforePadding + t1;
      t3 = mainAxisPadding + t1;
      afterPaddingPaintExtent = _this.calculatePaintOffset$3$from$to(constraints, t2, t3);
      mainAxisPaddingPaintExtent = beforePaddingPaintExtent + afterPaddingPaintExtent;
      beforePaddingCacheExtent = _this.calculateCacheOffset$3$from$to(constraints, 0, beforePadding);
      afterPaddingCacheExtent = _this.calculateCacheOffset$3$from$to(constraints, t2, t3);
      t2 = childLayoutGeometry.paintExtent;
      t5 = childLayoutGeometry.layoutExtent;
      paintExtent = Math.min(beforePaddingPaintExtent + Math.max(t2, t5 + afterPaddingPaintExtent), t4);
      t4 = childLayoutGeometry.paintOrigin;
      t5 = Math.min(mainAxisPaddingPaintExtent + t5, paintExtent);
      t6 = Math.min(afterPaddingCacheExtent + beforePaddingCacheExtent + childLayoutGeometry.cacheExtent, t6);
      t7 = childLayoutGeometry.maxPaintExtent;
      t2 = Math.max(mainAxisPaddingPaintExtent + t2, beforePaddingPaintExtent + childLayoutGeometry.hitTestExtent);
      _this._sliver$_geometry = G.SliverGeometry$(t6, childLayoutGeometry.hasVisualOverflow, t2, t5, mainAxisPadding + t7, paintExtent, t4, t3, _null);
      t3 = _this.RenderObjectWithChildMixin__child.parentData;
      t3.toString;
      type$.SliverPhysicalParentData._as(t3);
      switch (G.applyGrowthDirectionToAxisDirection(t10, t11)) {
        case C.AxisDirection_0:
          t3.paintOffset = new P.Offset(_this.get$resolvedPadding().left, _this.calculatePaintOffset$3$from$to(constraints, _this.get$resolvedPadding().bottom + t1, _this.get$resolvedPadding().bottom + t1 + _this.get$resolvedPadding().top));
          break;
        case C.AxisDirection_1:
          t3.paintOffset = new P.Offset(_this.calculatePaintOffset$3$from$to(constraints, 0, _this.get$resolvedPadding().left), _this.get$resolvedPadding().top);
          break;
        case C.AxisDirection_2:
          t3.paintOffset = new P.Offset(_this.get$resolvedPadding().left, _this.calculatePaintOffset$3$from$to(constraints, 0, _this.get$resolvedPadding().top));
          break;
        case C.AxisDirection_3:
          t3.paintOffset = new P.Offset(_this.calculatePaintOffset$3$from$to(constraints, _this.get$resolvedPadding().right + t1, _this.get$resolvedPadding().right + t1 + _this.get$resolvedPadding().left), _this.get$resolvedPadding().top);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    hitTestChildren$3$crossAxisPosition$mainAxisPosition: function(result, crossAxisPosition, mainAxisPosition) {
      var t2, t3, t4, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null && t1._sliver$_geometry.hitTestExtent > 0) {
        t1 = t1.parentData;
        t1.toString;
        type$.SliverPhysicalParentData._as(t1);
        t2 = _this.calculatePaintOffset$3$from$to(type$.SliverConstraints._as(K.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();
        result._localTransforms.push(new O._OffsetTransformPart(new P.Offset(-t1._dx, -t1._dy)));
        t4.call$3$crossAxisPosition$mainAxisPosition(result, crossAxisPosition - t3, mainAxisPosition - t2);
        result.popTransform$0();
      }
      return false;
    },
    childCrossAxisPosition$1: function(child) {
      var _this = this,
        t1 = type$.SliverConstraints;
      switch (G.applyGrowthDirectionToAxisDirection(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).axisDirection, t1._as(K.RenderObject.prototype.get$constraints.call(_this)).growthDirection)) {
        case C.AxisDirection_0:
        case C.AxisDirection_2:
          return _this.get$resolvedPadding().left;
        case C.AxisDirection_3:
        case C.AxisDirection_1:
          return _this.get$resolvedPadding().top;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    childScrollOffset$1: function(child) {
      return this.get$beforePadding();
    },
    applyPaintTransform$2: function(child, transform) {
      var t1 = child.parentData;
      t1.toString;
      t1 = type$.SliverPhysicalParentData._as(t1).paintOffset;
      transform.translate$2(0, t1._dx, t1._dy);
    },
    paint$2: function(context, offset) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null && t1._sliver$_geometry.visible) {
        t2 = t1.parentData;
        t2.toString;
        context.paintChild$2(t1, offset.$add(0, type$.SliverPhysicalParentData._as(t2).paintOffset));
      }
    }
  };
  T.RenderSliverPadding.prototype = {
    get$resolvedPadding: function() {
      return this._sliver_padding$_resolvedPadding;
    },
    _sliver_padding$_resolve$0: function() {
      if (this._sliver_padding$_resolvedPadding != null)
        return;
      this._sliver_padding$_resolvedPadding = this._sliver_padding$_padding;
    },
    set$padding: function(_, 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: function(_, 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: function() {
      this._sliver_padding$_resolve$0();
      this.super$RenderSliverEdgeInsetsPadding$performLayout();
    }
  };
  T._RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin.prototype = {
    attach$1: function(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0: function(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  K.RelativeRect.prototype = {
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      return other instanceof K.RelativeRect && other.left == _this.left && other.top == _this.top && other.right === _this.right && other.bottom === _this.bottom;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.left, _this.top, _this.right, _this.bottom, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var _this = this;
      return "RelativeRect.fromLTRB(" + J.toStringAsFixed$1$n(_this.left, 1) + ", " + J.toStringAsFixed$1$n(_this.top, 1) + ", " + C.JSNumber_methods.toStringAsFixed$1(_this.right, 1) + ", " + C.JSNumber_methods.toStringAsFixed$1(_this.bottom, 1) + ")";
    }
  };
  K.StackParentData.prototype = {
    get$isPositioned: function() {
      var _this = this;
      return _this.top != null || _this.right != null || _this.bottom != null || _this.left != null || _this.width != null || _this.height != null;
    },
    toString$0: function(_) {
      var _this = this,
        t1 = H._setArrayType([], type$.JSArray_String),
        t2 = _this.top;
      if (t2 != null)
        t1.push("top=" + E.debugFormatDouble(t2));
      t2 = _this.right;
      if (t2 != null)
        t1.push("right=" + E.debugFormatDouble(t2));
      t2 = _this.bottom;
      if (t2 != null)
        t1.push("bottom=" + E.debugFormatDouble(t2));
      t2 = _this.left;
      if (t2 != null)
        t1.push("left=" + E.debugFormatDouble(t2));
      t2 = _this.width;
      if (t2 != null)
        t1.push("width=" + E.debugFormatDouble(t2));
      t2 = _this.height;
      if (t2 != null)
        t1.push("height=" + E.debugFormatDouble(t2));
      if (t1.length === 0)
        t1.push("not positioned");
      t1.push(_this.super$BoxParentData$toString(0));
      return C.JSArray_methods.join$1(t1, "; ");
    },
    set$width: function(receiver, val) {
      return this.width = val;
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  K.StackFit.prototype = {
    toString$0: function(_) {
      return this._stack$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  K.Overflow.prototype = {
    toString$0: function(_) {
      return this._stack$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  K.RenderStack.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof K.StackParentData))
        child.parentData = new K.StackParentData(null, null, C.Offset_0_0);
    },
    _resolve$0: function() {
      var _this = this;
      if (_this._resolvedAlignment != null)
        return;
      _this._resolvedAlignment = _this._alignment.resolve$1(_this._stack$_textDirection);
    },
    set$alignment: function(value) {
      var _this = this;
      if (_this._alignment.$eq(0, value))
        return;
      _this._alignment = value;
      _this._resolvedAlignment = null;
      _this.markNeedsLayout$0();
    },
    set$textDirection: function(_, value) {
      var _this = this;
      if (_this._stack$_textDirection == value)
        return;
      _this._stack$_textDirection = value;
      _this._resolvedAlignment = null;
      _this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1: function(height) {
      return K.RenderStack_getIntrinsicDimension(this.ContainerRenderObjectMixin__firstChild, new K.RenderStack_computeMinIntrinsicWidth_closure(height));
    },
    computeMaxIntrinsicWidth$1: function(height) {
      return K.RenderStack_getIntrinsicDimension(this.ContainerRenderObjectMixin__firstChild, new K.RenderStack_computeMaxIntrinsicWidth_closure(height));
    },
    computeMinIntrinsicHeight$1: function(width) {
      return K.RenderStack_getIntrinsicDimension(this.ContainerRenderObjectMixin__firstChild, new K.RenderStack_computeMinIntrinsicHeight_closure(width));
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return K.RenderStack_getIntrinsicDimension(this.ContainerRenderObjectMixin__firstChild, new K.RenderStack_computeMaxIntrinsicHeight_closure(width));
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      return this.defaultComputeDistanceToHighestActualBaseline$1(baseline);
    },
    computeDryLayout$1: function(constraints) {
      return this._computeSize$2$constraints$layoutChild(constraints, N.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    _computeSize$2$constraints$layoutChild: function(constraints, layoutChild) {
      var width, height, nonPositionedConstraints, child, t1, height0, width0, hasNonPositionedChildren, t2, childSize, t3, _this = this;
      _this._resolve$0();
      if (_this.ContainerRenderObjectMixin__childCount === 0)
        return new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight));
      width = constraints.minWidth;
      height = constraints.minHeight;
      switch (_this._fit) {
        case C.StackFit_0:
          nonPositionedConstraints = constraints.loosen$0();
          break;
        case C.StackFit_1:
          nonPositionedConstraints = S.BoxConstraints$tight(new P.Size(C.JSInt_methods.clamp$2(1 / 0, width, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, height, constraints.maxHeight)));
          break;
        case C.StackFit_2:
          nonPositionedConstraints = constraints;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      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);
          t3 = childSize._dx;
          width0 = Math.max(H.checkNum(width0), H.checkNum(t3));
          t3 = childSize._dy;
          height0 = Math.max(H.checkNum(height0), H.checkNum(t3));
          hasNonPositionedChildren = true;
        }
        child = t2.ContainerParentDataMixin_nextSibling;
      }
      return hasNonPositionedChildren ? new P.Size(width0, height0) : new P.Size(C.JSInt_methods.clamp$2(1 / 0, width, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, height, constraints.maxHeight));
    },
    performLayout$0: function() {
      var child, t1, t2, t3, t4, t5, t6, _this = this,
        constraints = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this));
      _this._hasVisualOverflow = false;
      _this._box$_size = _this._computeSize$2$constraints$layoutChild(constraints, N.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 = K.RenderStack_layoutPositionedChild(child, t3, t4, t5) || _this._hasVisualOverflow;
        }
        child = t3.ContainerParentDataMixin_nextSibling;
      }
    },
    hitTestChildren$2$position: function(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    },
    paintStack$2: function(context, offset) {
      this.defaultPaint$2(context, offset);
    },
    paint$2: function(context, offset) {
      var t1, t2, _this = this;
      if (_this._clipBehavior !== C.Clip_0 && _this._hasVisualOverflow) {
        t1 = _this.get$_needsCompositing();
        t2 = _this._box$_size;
        _this._clipRectLayer = context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy), _this.get$paintStack(), _this._clipBehavior, _this._clipRectLayer);
      } else {
        _this._clipRectLayer = null;
        _this.paintStack$2(context, offset);
      }
    },
    describeApproximatePaintClip$1: function(child) {
      var t1;
      if (this._hasVisualOverflow) {
        t1 = this._box$_size;
        t1 = new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
      } else
        t1 = null;
      return t1;
    }
  };
  K.RenderStack_computeMinIntrinsicWidth_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_0, this.height, child.get$computeMinIntrinsicWidth());
    },
    $signature: 15
  };
  K.RenderStack_computeMaxIntrinsicWidth_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_1, this.height, child.get$computeMaxIntrinsicWidth());
    },
    $signature: 15
  };
  K.RenderStack_computeMinIntrinsicHeight_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_2, this.width, child.get$computeMinIntrinsicHeight());
    },
    $signature: 15
  };
  K.RenderStack_computeMaxIntrinsicHeight_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_3, this.width, child.get$computeMaxIntrinsicHeight());
    },
    $signature: 15
  };
  K.RenderIndexedStack.prototype = {
    visitChildrenForSemantics$1: function(visitor) {
      if (this._stack$_index != null && this.ContainerRenderObjectMixin__firstChild != null)
        visitor.call$1(this._childAtIndex$0());
    },
    get$index: function(_) {
      return this._stack$_index;
    },
    set$index: function(_, value) {
      if (this._stack$_index != value) {
        this._stack$_index = value;
        this.markNeedsLayout$0();
      }
    },
    _childAtIndex$0: function() {
      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: function(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 K.RenderIndexedStack_hitTestChildren_closure(position, t1, child), t1.offset, position);
    },
    paintStack$2: function(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));
    }
  };
  K.RenderIndexedStack_hitTestChildren_closure.prototype = {
    call$2: function(result, transformed) {
      transformed.toString;
      return this.child.hitTest$2$position(result, transformed);
    },
    $signature: 24
  };
  K._RenderStack_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1: function(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: function(_) {
      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;
      }
    }
  };
  K._RenderStack_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  S.TableCellParentData.prototype = {
    toString$0: function(_) {
      var t1 = this.super$BoxParentData$toString(0) + "; ",
        t2 = this.verticalAlignment;
      return t1 + (t2 == null ? "default vertical alignment" : t2.toString$0(0));
    }
  };
  S.TableColumnWidth.prototype = {
    flex$1: function(_, cells) {
      return null;
    },
    toString$0: function(_) {
      return "TableColumnWidth";
    }
  };
  S.IntrinsicColumnWidth.prototype = {
    minIntrinsicWidth$2: function(cells, containerWidth) {
      var t1, result, t2;
      for (t1 = new P._SyncStarIterator(cells._outerHelper(), cells.$ti._eval$1("_SyncStarIterator<1>")), result = 0; t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        result = Math.max(result, H.checkNum(t2._computeIntrinsicDimension$3(C._IntrinsicDimension_0, 1 / 0, t2.get$computeMinIntrinsicWidth())));
      }
      return result;
    },
    maxIntrinsicWidth$2: function(cells, containerWidth) {
      var t1, result, t2;
      for (t1 = new P._SyncStarIterator(cells._outerHelper(), cells.$ti._eval$1("_SyncStarIterator<1>")), result = 0; t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        result = Math.max(result, H.checkNum(t2._computeIntrinsicDimension$3(C._IntrinsicDimension_1, 1 / 0, t2.get$computeMaxIntrinsicWidth())));
      }
      return result;
    },
    flex$1: function(_, cells) {
      return this._flex;
    },
    toString$0: function(_) {
      var t1 = this._flex;
      return "IntrinsicColumnWidth(flex: " + H.S(t1 == null ? null : C.JSInt_methods.toStringAsFixed$1(t1, 1)) + ")";
    }
  };
  S.FixedColumnWidth.prototype = {
    minIntrinsicWidth$2: function(cells, containerWidth) {
      return this.value;
    },
    maxIntrinsicWidth$2: function(cells, containerWidth) {
      return this.value;
    },
    toString$0: function(_) {
      return "FixedColumnWidth(" + E.debugFormatDouble(this.value) + ")";
    }
  };
  S.FlexColumnWidth.prototype = {
    minIntrinsicWidth$2: function(cells, containerWidth) {
      return 0;
    },
    maxIntrinsicWidth$2: function(cells, containerWidth) {
      return 0;
    },
    flex$1: function(_, cells) {
      return 1;
    },
    toString$0: function(_) {
      return "FlexColumnWidth(" + E.debugFormatDouble(1) + ")";
    }
  };
  S.TableCellVerticalAlignment.prototype = {
    toString$0: function(_) {
      return this._table0$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  S.RenderTable.prototype = {
    set$columnWidths: function(value) {
      var t1 = this._columnWidths;
      if (t1 === value)
        return;
      t1.get$isEmpty(t1);
      this._columnWidths = value;
      this.markNeedsLayout$0();
    },
    set$defaultColumnWidth: function(value) {
      if (this._defaultColumnWidth === value)
        return;
      this._defaultColumnWidth = value;
      this.markNeedsLayout$0();
    },
    set$textDirection: function(_, value) {
      if (this._table0$_textDirection === value)
        return;
      this._table0$_textDirection = value;
      this.markNeedsLayout$0();
    },
    set$border: function(_, value) {
      return;
    },
    set$rowDecorations: function(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(0);
        }
      t1 = _this._table0$_rowDecorations;
      _this._rowDecorationPainters = t1 != null ? P.List_List$filled(t1.length, null, false, type$.nullable_BoxPainter) : null;
    },
    set$configuration: function(value) {
      if (value.$eq(0, this._table0$_configuration))
        return;
      this._table0$_configuration = value;
      this.markNeedsPaint$0();
    },
    set$defaultVerticalAlignment: function(value) {
      if (this._defaultVerticalAlignment === value)
        return;
      this._defaultVerticalAlignment = value;
      this.markNeedsLayout$0();
    },
    set$textBaseline: function(_, value) {
      return;
    },
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof S.TableCellParentData))
        child.parentData = new S.TableCellParentData(C.Offset_0_0);
    },
    setFlatChildren$2: function(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, H.throwConcurrentModificationError)(t1), ++_i) {
          oldChild = t1[_i];
          if (oldChild != null)
            _this.dropChild$1(oldChild);
        }
        _this._rows = 0;
        C.JSArray_methods.set$length(_this._table0$_children, 0);
        _this.markNeedsLayout$0();
        return;
      }
      lostChildren = P.HashSet_HashSet(type$.RenderBox);
      for (y = 0; y < _this._rows; ++y)
        for (x = 0; t1 = _this._columns, x < t1; ++x) {
          xyOld = x + y * t1;
          xyNew = x + y * columns;
          t1 = _this._table0$_children[xyOld];
          if (t1 != null)
            t1 = x >= columns || xyNew >= cells.length || !J.$eq$(t1, cells[xyNew]);
          else
            t1 = false;
          if (t1) {
            t1 = _this._table0$_children[xyOld];
            t1.toString;
            lostChildren.add$1(0, t1);
          }
        }
      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 = C.JSInt_methods.$tdiv(cells.length, columns);
      _this._table0$_children = P.List_List$from(cells, true, type$.nullable_RenderBox);
      _this.markNeedsLayout$0();
    },
    setChild$3: function(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);
      C.JSArray_methods.$indexSet(_this._table0$_children, xy, value);
      if (value != null)
        _this.adoptChild$1(value);
    },
    attach$1: function(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, H.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        if (child != null)
          child.attach$1(owner);
      }
    },
    detach$0: function(_) {
      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(0);
        }
        _this._rowDecorationPainters = P.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, H.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        if (child != null)
          J.detach$0$z(child);
      }
    },
    visitChildren$1: function(visitor) {
      var t1, t2, _i, child;
      for (t1 = this._table0$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        if (child != null)
          visitor.call$1(child);
      }
    },
    computeMinIntrinsicWidth$1: function(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: function(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: function(width) {
      var rowTop, y, rowHeight, x, t1, child, _this = this,
        widths = _this._table0$_computeColumnWidths$1(S.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, H.checkNum(child._computeIntrinsicDimension$3(C._IntrinsicDimension_3, widths[x], child.get$computeMaxIntrinsicHeight())));
        }
        rowTop += rowHeight;
      }
      return rowTop;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return this.computeMinIntrinsicHeight$1(width);
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      return this._baselineDistance;
    },
    column$1: function(x) {
      return this.column$body$RenderTable(x);
    },
    column$body$RenderTable: function($async$x) {
      var $async$self = this;
      return P._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 P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.RenderBox);
    },
    _table0$_computeColumnWidths$1: function(constraints) {
      var tableWidth, unflexedTableWidth, totalFlex, x, availableColumns, columnWidth, columnCells, maxIntrinsicWidth, flex, maxWidthConstraint, minWidthConstraint, targetWidth, remainingWidth, flexedWidth, delta, deficit, availableColumns0, newTotalFlex, t2, newWidth, t3, newAvailableColumns, availableDelta, _this = this,
        t1 = type$.double,
        widths = P.List_List$filled(_this._columns, 0, false, t1),
        minWidths = P.List_List$filled(_this._columns, 0, false, t1),
        flexes = P.List_List$filled(_this._columns, null, false, type$.nullable_double);
      for (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);
        t1 = constraints.maxWidth;
        maxIntrinsicWidth = columnWidth.maxIntrinsicWidth$2(columnCells, t1);
        widths[x] = maxIntrinsicWidth;
        tableWidth += maxIntrinsicWidth;
        minWidths[x] = columnWidth.minIntrinsicWidth$2(columnCells, t1);
        flex = columnWidth.flex$1(0, columnCells);
        if (flex != null) {
          flexes[x] = flex;
          totalFlex += flex;
        } else
          unflexedTableWidth += maxIntrinsicWidth;
      }
      maxWidthConstraint = constraints.maxWidth;
      minWidthConstraint = constraints.minWidth;
      if (totalFlex > 0) {
        maxWidthConstraint.toString;
        if (isFinite(maxWidthConstraint))
          targetWidth = maxWidthConstraint;
        else
          targetWidth = minWidthConstraint;
        if (tableWidth < targetWidth) {
          remainingWidth = targetWidth - 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 > maxWidthConstraint) {
        deficit = tableWidth - maxWidthConstraint;
        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: function(constraints) {
      var widths, tableWidth, t1, rowTop, y, rowHeight, x, t2, child, _this = this;
      if (_this._rows * _this._columns === 0)
        return constraints.constrain$1(C.Size_0_0);
      widths = _this._table0$_computeColumnWidths$1(constraints);
      tableWidth = C.JSArray_methods.fold$2(widths, 0, new S.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) {
              case C.TableCellVerticalAlignment_3:
                return C.Size_0_0;
              case C.TableCellVerticalAlignment_0:
              case C.TableCellVerticalAlignment_1:
              case C.TableCellVerticalAlignment_2:
                rowHeight = Math.max(rowHeight, H.checkNum(child.getDryLayout$1(S.BoxConstraints$tightFor(null, widths[x]))._dy));
                break;
              case C.TableCellVerticalAlignment_4:
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
            }
          }
        }
        rowTop += rowHeight;
      }
      return constraints.constrain$1(new P.Size(tableWidth, rowTop));
    },
    performLayout$0: function() {
      var widths, t1, positions, x, t2, tableWidth, t3, rowTop, y, baselines, t4, rowHeight, haveBaseline, beforeBaselineDistance, afterBaselineDistance, child, t5, t6, childBaseline, rowTop0, t7, _this = this,
        _s80_ = string$.x60null_c,
        constraints = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)),
        rows = _this._rows,
        columns = _this._columns;
      if (rows * columns === 0) {
        _this._box$_size = constraints.constrain$1(C.Size_0_0);
        return;
      }
      widths = _this._table0$_computeColumnWidths$1(constraints);
      t1 = type$.double;
      positions = P.List_List$filled(columns, 0, false, t1);
      switch (_this._table0$_textDirection) {
        case C.TextDirection_0:
          positions[columns - 1] = 0;
          for (x = columns - 2; x >= 0; --x) {
            t2 = x + 1;
            positions[x] = positions[t2] + widths[t2];
          }
          _this._columnLefts = new H.ReversedListIterable(positions, H._arrayInstanceType(positions)._eval$1("ReversedListIterable<1>"));
          tableWidth = C.JSArray_methods.get$first(positions) + C.JSArray_methods.get$first(widths);
          break;
        case C.TextDirection_1:
          positions[0] = 0;
          for (x = 1; x < columns; ++x) {
            t2 = x - 1;
            positions[x] = positions[t2] + widths[t2];
          }
          _this._columnLefts = positions;
          tableWidth = C.JSArray_methods.get$last(positions) + C.JSArray_methods.get$last(widths);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      t2 = _this._rowTops;
      C.JSArray_methods.set$length(t2, 0);
      _this._baselineDistance = null;
      for (t3 = type$.TableCellParentData, rowTop = 0, y = 0; y < rows; ++y, rowTop = rowTop0) {
        t2.push(rowTop);
        baselines = P.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) {
              case C.TableCellVerticalAlignment_3:
                child.layout$2$parentUsesSize(0, S.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, H.checkNum(t6._dy));
                  t5.offset = new P.Offset(positions[x], rowTop);
                }
                break;
              case C.TableCellVerticalAlignment_0:
              case C.TableCellVerticalAlignment_1:
              case C.TableCellVerticalAlignment_2:
                child.layout$2$parentUsesSize(0, S.BoxConstraints$tightFor(null, widths[x]), true);
                rowHeight = Math.max(rowHeight, H.checkNum(child._box$_size._dy));
                break;
              case C.TableCellVerticalAlignment_4:
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(_s80_));
            }
          }
        }
        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) {
              case C.TableCellVerticalAlignment_3:
                t6.offset = new P.Offset(positions[x], t5 - baselines[x]);
                break;
              case C.TableCellVerticalAlignment_0:
                t6.offset = new P.Offset(positions[x], rowTop);
                break;
              case C.TableCellVerticalAlignment_1:
                t6.offset = new P.Offset(positions[x], rowTop + (rowHeight - child._box$_size._dy) / 2);
                break;
              case C.TableCellVerticalAlignment_2:
                t6.offset = new P.Offset(positions[x], rowTop0 - child._box$_size._dy);
                break;
              case C.TableCellVerticalAlignment_4:
                child.layout$1(0, S.BoxConstraints$tightFor(rowHeight, widths[x]));
                t6.offset = new P.Offset(positions[x], rowTop);
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(_s80_));
            }
          }
        }
      }
      t2.push(rowTop);
      _this._box$_size = constraints.constrain$1(new P.Size(tableWidth, rowTop));
    },
    hitTestChildren$2$position: function(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 S.RenderTable_hitTestChildren_closure(position, t2, child), t2.offset, position))
            return true;
        }
      }
      return false;
    },
    paint$2: function(context, offset) {
      var canvas, t1, t2, t3, t4, y, t5, t6, index, child, _this = this;
      if (_this._rows * _this._columns === 0)
        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 P.Offset(t1, t2 + t6), _this._table0$_configuration.copyWith$1$size(new P.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 P.Offset(t4._dx + t2, t4._dy + t3));
        }
      }
    },
    debugDescribeChildren$0: function() {
      var children, t1, y, x, t2, child, $name, _this = this, _null = null;
      if (_this._table0$_children.length === 0)
        return H._setArrayType([Y.DiagnosticsNode_DiagnosticsNode$message("table is empty", true, C.DiagnosticsTreeStyle_8)], type$.JSArray_DiagnosticsNode);
      children = H._setArrayType([], type$.JSArray_DiagnosticsNode);
      for (t1 = type$.DiagnosticsProperty_Object, y = 0; y < _this._rows; ++y)
        for (x = 0; t2 = _this._columns, x < t2; ++x) {
          child = _this._table0$_children[x + y * t2];
          $name = "child (" + x + ", " + y + ")";
          if (child != null)
            children.push(new Y.DiagnosticableTreeNode(child, $name, true, true, _null, _null));
          else
            children.push(new Y.DiagnosticsProperty(_null, false, true, "is null", _null, _null, false, _null, C.C__NoDefaultValue, C.DiagnosticLevel_3, $name, false, true, _null, C.DiagnosticsTreeStyle_8, t1));
        }
      return children;
    }
  };
  S.RenderTable_computeDryLayout_closure.prototype = {
    call$2: function(a, b) {
      return a + b;
    },
    $signature: 186
  };
  S.RenderTable_hitTestChildren_closure.prototype = {
    call$2: function(result, transformed) {
      transformed.toString;
      return this.child.hitTest$2$position(result, transformed);
    },
    $signature: 24
  };
  S.AlignmentGeometryTween.prototype = {
    lerp$1: function(t) {
      return K.AlignmentGeometry_lerp(this.begin, this.end, t);
    }
  };
  A.ViewConfiguration0.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof A.ViewConfiguration0 && other.size.$eq(0, this.size) && other.devicePixelRatio === this.devicePixelRatio;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.size, this.devicePixelRatio, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return this.size.toString$0(0) + " at " + E.debugFormatDouble(this.devicePixelRatio) + "x";
    }
  };
  A.RenderView.prototype = {
    set$configuration: function(value) {
      var t1, _this = this;
      if (_this._view$_configuration.$eq(0, value))
        return;
      _this._view$_configuration = value;
      t1 = _this._updateMatricesAndCreateNewRootLayer$0();
      _this._layer.detach$0(0);
      _this._layer = t1;
      _this.markNeedsPaint$0();
      _this.markNeedsLayout$0();
    },
    _updateMatricesAndCreateNewRootLayer$0: function() {
      var rootLayer,
        t1 = this._view$_configuration.devicePixelRatio;
      t1 = E.Matrix4_Matrix4$diagonal3Values(t1, t1, 1);
      this._rootTransform = t1;
      rootLayer = new T.TransformLayer(t1, C.Offset_0_0);
      rootLayer.attach$1(this);
      return rootLayer;
    },
    performResize$0: function() {
    },
    performLayout$0: function() {
      var t2,
        t1 = this._view$_configuration.size;
      this._size = t1;
      t2 = this.RenderObjectWithChildMixin__child;
      if (t2 != null)
        t2.layout$1(0, S.BoxConstraints$tight(t1));
    },
    hitTest$2$position: function(result, position) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.hitTest$2$position(S.BoxHitTestResult$wrap(result), position);
      t1 = new O.HitTestEntry(this);
      result._globalizeTransforms$0();
      t1._transform = C.JSArray_methods.get$last(result._transforms);
      result._path.push(t1);
      return true;
    },
    hitTestMouseTrackers$1: function(position) {
      var result,
        t1 = H._setArrayType([], type$.JSArray_HitTestEntry),
        t2 = new E.Matrix4(new Float64Array(16));
      t2.setIdentity$0();
      result = new S.BoxHitTestResult(t1, H._setArrayType([t2], type$.JSArray_Matrix4_2), H._setArrayType([], type$.JSArray__TransformPart));
      this.hitTest$2$position(result, position);
      return result;
    },
    get$isRepaintBoundary: function() {
      return true;
    },
    paint$2: function(context, offset) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        context.paintChild$2(t1, offset);
    },
    applyPaintTransform$2: function(child, transform) {
      var t1 = this._rootTransform;
      t1.toString;
      transform.multiply$1(0, t1);
      this.super$RenderObject$applyPaintTransform(child, transform);
    },
    compositeFrame$0: function() {
      var builder, scene, bounds, t1, t2, t3, upperOverlayStyle, lowerOverlayStyle, t4, t5, t6, _this = this, _null = null;
      P.Timeline_startSync("Compositing", C.Map_9aZ6I, _null);
      try {
        builder = P.SceneBuilder_SceneBuilder();
        scene = _this._layer.buildScene$1(builder);
        if (_this.automaticSystemUiAdjustment) {
          bounds = _this.get$paintBounds();
          t1 = bounds.get$center();
          t2 = _this._window;
          t2.get$viewConfiguration();
          t3 = bounds.get$center();
          t2.get$viewConfiguration();
          t2 = type$.SystemUiOverlayStyle;
          upperOverlayStyle = _this._layer.find$1$1(0, new P.Offset(t1._dx, 0), t2);
          switch (U.defaultTargetPlatform()) {
            case C.TargetPlatform_0:
              lowerOverlayStyle = _this._layer.find$1$1(0, new P.Offset(t3._dx, bounds.bottom - 1 - 0), t2);
              break;
            case C.TargetPlatform_1:
            case C.TargetPlatform_2:
            case C.TargetPlatform_3:
            case C.TargetPlatform_4:
            case C.TargetPlatform_5:
              lowerOverlayStyle = _null;
              break;
            default:
              H.throwExpression(H.ReachabilityError$(string$.x60null_c));
              lowerOverlayStyle = _null;
          }
          t1 = upperOverlayStyle == null;
          if (!t1 || lowerOverlayStyle != null) {
            t2 = t1 ? _null : upperOverlayStyle.statusBarBrightness;
            t3 = t1 ? _null : upperOverlayStyle.statusBarIconBrightness;
            t1 = t1 ? _null : upperOverlayStyle.statusBarColor;
            t4 = lowerOverlayStyle == null;
            t5 = t4 ? _null : lowerOverlayStyle.systemNavigationBarColor;
            t6 = t4 ? _null : lowerOverlayStyle.systemNavigationBarDividerColor;
            X.SystemChrome_setSystemUIOverlayStyle(new X.SystemUiOverlayStyle(t5, t6, t4 ? _null : lowerOverlayStyle.systemNavigationBarIconBrightness, t1, t2, t3));
          }
        }
        t1 = _this._window;
        t1.platformDispatcher.render$2(scene, t1);
        J.dispose$0$x(scene);
      } finally {
        P.Timeline_finishSync();
      }
    },
    get$paintBounds: function() {
      var t1 = this._size.$mul(0, this._view$_configuration.devicePixelRatio);
      return new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    get$semanticBounds: function() {
      var t2,
        t1 = this._rootTransform;
      t1.toString;
      t2 = this._size;
      return T.MatrixUtils_transformRect(t1, new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
    }
  };
  A._RenderView_RenderObject_RenderObjectWithChildMixin.prototype = {
    attach$1: function(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0: function(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  Q.CacheExtentStyle.prototype = {
    toString$0: function(_) {
      return this._viewport$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Q.RevealedOffset.prototype = {
    toString$0: function(_) {
      return "RevealedOffset(offset: " + H.S(this.offset) + ", rect: " + H.S(this.rect) + ")";
    }
  };
  Q.RenderViewportBase.prototype = {
    describeSemanticsConfiguration$1: function(config) {
      this.super$RenderObject$describeSemanticsConfiguration(config);
      config.addTagForChildren$1(C.SemanticsTag_FIw);
    },
    visitChildrenForSemantics$1: function(visitor) {
      var t1 = this.get$childrenInPaintOrder();
      t1.toString;
      new H.WhereIterable(t1, new Q.RenderViewportBase_visitChildrenForSemantics_closure(), t1.$ti._eval$1("WhereIterable<Iterable.E>")).forEach$1(0, visitor);
    },
    set$axisDirection: function(value) {
      if (value === this._viewport$_axisDirection)
        return;
      this._viewport$_axisDirection = value;
      this.markNeedsLayout$0();
    },
    set$crossAxisDirection: function(value) {
      if (value === this._crossAxisDirection)
        return;
      this._crossAxisDirection = value;
      this.markNeedsLayout$0();
    },
    set$offset: function(_, value) {
      var _this = this,
        t1 = _this._viewport$_offset;
      if (value == t1)
        return;
      if (_this._node$_owner != null)
        t1.removeListener$1(0, _this.get$markNeedsLayout());
      _this._viewport$_offset = value;
      if (_this._node$_owner != null)
        value.addListener$1(0, _this.get$markNeedsLayout());
      _this.markNeedsLayout$0();
    },
    set$cacheExtent: function(value) {
      if (value == null)
        value = 250;
      if (value === this._cacheExtent)
        return;
      this._cacheExtent = value;
      this.markNeedsLayout$0();
    },
    set$cacheExtentStyle: function(value) {
      if (value === this._cacheExtentStyle)
        return;
      this._cacheExtentStyle = value;
      this.markNeedsLayout$0();
    },
    set$clipBehavior: function(value) {
      var _this = this;
      if (value !== _this._viewport$_clipBehavior) {
        _this._viewport$_clipBehavior = value;
        _this.markNeedsPaint$0();
        _this.markNeedsSemanticsUpdate$0();
      }
    },
    attach$1: function(owner) {
      this.super$_RenderViewportBase_RenderBox_ContainerRenderObjectMixin$attach(owner);
      this._viewport$_offset.addListener$1(0, this.get$markNeedsLayout());
    },
    detach$0: function(_) {
      this._viewport$_offset.removeListener$1(0, this.get$markNeedsLayout());
      this.super$_RenderViewportBase_RenderBox_ContainerRenderObjectMixin$detach(0);
    },
    computeMinIntrinsicWidth$1: function(height) {
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      return 0;
    },
    computeMinIntrinsicHeight$1: function(width) {
      return 0;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return 0;
    },
    get$isRepaintBoundary: function() {
      return true;
    },
    layoutChildSequence$11$advance$cacheOrigin$child$crossAxisExtent$growthDirection$layoutOffset$mainAxisExtent$overlap$remainingCacheExtent$remainingPaintExtent$scrollOffset: function(advance, cacheOrigin, child, crossAxisExtent, growthDirection, layoutOffset, mainAxisExtent, overlap, remainingCacheExtent, remainingPaintExtent, scrollOffset) {
      var layoutOffset0, precedingScrollExtent, sliverScrollOffset, correctedCacheOrigin, cacheExtentCorrection, childLayoutGeometry, t1, effectiveLayoutOffset, _this = this,
        adjustedUserScrollDirection = G.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(0, new G.SliverConstraints(_this._viewport$_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._sliver$_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: function(child) {
      var t2, overlapCorrection, $top, left,
        t1 = this._box$_size,
        right = 0 + t1._dx,
        bottom = 0 + t1._dy;
      child.toString;
      t1 = type$.SliverConstraints;
      if (t1._as(K.RenderObject.prototype.get$constraints.call(child)).overlap !== 0) {
        t2 = t1._as(K.RenderObject.prototype.get$constraints.call(child)).viewportMainAxisExtent;
        t2.toString;
        t2 = !isFinite(t2);
      } else
        t2 = true;
      if (t2)
        return new P.Rect(0, 0, right, bottom);
      overlapCorrection = t1._as(K.RenderObject.prototype.get$constraints.call(child)).viewportMainAxisExtent - t1._as(K.RenderObject.prototype.get$constraints.call(child)).remainingPaintExtent + t1._as(K.RenderObject.prototype.get$constraints.call(child)).overlap;
      switch (G.applyGrowthDirectionToAxisDirection(this._viewport$_axisDirection, t1._as(K.RenderObject.prototype.get$constraints.call(child)).growthDirection)) {
        case C.AxisDirection_2:
          $top = 0 + overlapCorrection;
          left = 0;
          break;
        case C.AxisDirection_0:
          bottom -= overlapCorrection;
          left = 0;
          $top = 0;
          break;
        case C.AxisDirection_1:
          left = 0 + overlapCorrection;
          $top = 0;
          break;
        case C.AxisDirection_3:
          right -= overlapCorrection;
          left = 0;
          $top = 0;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return new P.Rect(left, $top, right, bottom);
    },
    describeSemanticsClip$1: function(child) {
      var t2, _this = this,
        t1 = _this._calculatedCacheExtent;
      if (t1 == null) {
        t1 = _this._box$_size;
        return new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
      }
      switch (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
        case C.Axis_1:
          t2 = _this._box$_size;
          return new P.Rect(0, 0 - t1, 0 + t2._dx, 0 + t2._dy + t1);
        case C.Axis_0:
          t2 = _this._box$_size;
          return new P.Rect(0 - t1, 0, 0 + t2._dx + t1, 0 + t2._dy);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    paint$2: function(context, offset) {
      var t1, t2, _this = this;
      if (_this.ContainerRenderObjectMixin__firstChild == null)
        return;
      if (_this.get$hasVisualOverflow() && _this._viewport$_clipBehavior !== C.Clip_0) {
        t1 = _this.get$_needsCompositing();
        t2 = _this._box$_size;
        _this._viewport$_clipRectLayer = context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy), _this.get$_paintContents(), _this._viewport$_clipBehavior, _this._viewport$_clipRectLayer);
      } else {
        _this._viewport$_clipRectLayer = null;
        _this._paintContents$2(context, offset);
      }
    },
    _paintContents$2: function(context, offset) {
      var t1, t2, t3, t4, t5;
      for (t1 = this.get$childrenInPaintOrder(), t1 = new P._SyncStarIterator(t1._outerHelper(), H._instanceType(t1)._eval$1("_SyncStarIterator<1>")), t2 = offset._dx, t3 = offset._dy; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        if (t4._sliver$_geometry.visible) {
          t5 = this.paintOffsetOf$1(t4);
          context.paintChild$2(t4, new P.Offset(t2 + t5._dx, t3 + t5._dy));
        }
      }
    },
    hitTestChildren$2$position: function(result, position) {
      var sliverResult, t1, t2, transform, _this = this, _box_0 = {};
      _box_0.crossAxisPosition = _box_0.mainAxisPosition = null;
      switch (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
        case C.Axis_1:
          _box_0.mainAxisPosition = position._dy;
          _box_0.crossAxisPosition = position._dx;
          break;
        case C.Axis_0:
          _box_0.mainAxisPosition = position._dx;
          _box_0.crossAxisPosition = position._dy;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      sliverResult = new G.SliverHitTestResult(result._path, result._transforms, result._localTransforms);
      for (t1 = _this.get$childrenInHitTestOrder(), t1 = new P._SyncStarIterator(t1._outerHelper(), H._instanceType(t1)._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (!t2._sliver$_geometry.visible)
          continue;
        transform = new E.Matrix4(new Float64Array(16));
        transform.setIdentity$0();
        _this.applyPaintTransform$2(t2, transform);
        if (result.addWithOutOfBandPosition$2$hitTest$paintTransform(new Q.RenderViewportBase_hitTestChildren_closure(_box_0, _this, t2, sliverResult), transform))
          return true;
      }
      return false;
    },
    getOffsetToReveal$3$rect: function(target, alignment, rect) {
      var t1, child, leadingScrollOffset, pivot, t2, t3, growthDirection, pivotExtent, rectLocal, targetMainAxisExtent, targetRect, extentOfPinnedSlivers, mainAxisExtent, targetOffset, offsetDifference, _this = this,
        _s80_ = string$.x60null_c,
        onlySlivers = target instanceof G.RenderSliver;
      for (t1 = type$.RenderObject, child = target, leadingScrollOffset = 0, pivot = null; child.get$parent(child) !== _this; child = t2) {
        t2 = child.get$parent(child);
        t2.toString;
        t1._as(t2);
        if (child instanceof S.RenderBox)
          pivot = child;
        if (t2 instanceof G.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(K.RenderObject.prototype.get$constraints.call(t1)).growthDirection;
        switch (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
          case C.Axis_0:
            pivotExtent = pivot._box$_size._dx;
            break;
          case C.Axis_1:
            pivotExtent = pivot._box$_size._dy;
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        if (rect == null)
          rect = target.get$paintBounds();
        rectLocal = T.MatrixUtils_transformRect(target.getTransformTo$1(0, pivot), rect);
      } else {
        if (onlySlivers) {
          type$.RenderSliver._as(target);
          target.toString;
          t1 = type$.SliverConstraints;
          growthDirection = t1._as(K.RenderObject.prototype.get$constraints.call(target)).growthDirection;
          pivotExtent = target._sliver$_geometry.scrollExtent;
          if (rect == null)
            switch (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
              case C.Axis_0:
                rect = new P.Rect(0, 0, 0 + pivotExtent, 0 + t1._as(K.RenderObject.prototype.get$constraints.call(target)).crossAxisExtent);
                break;
              case C.Axis_1:
                rect = new P.Rect(0, 0, 0 + t1._as(K.RenderObject.prototype.get$constraints.call(target)).crossAxisExtent, 0 + target._sliver$_geometry.scrollExtent);
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(_s80_));
            }
        } else {
          t1 = _this._viewport$_offset._pixels;
          t1.toString;
          rect.toString;
          return new Q.RevealedOffset(t1, rect);
        }
        rectLocal = rect;
      }
      type$.RenderSliver._as(child);
      switch (G.applyGrowthDirectionToAxisDirection(_this._viewport$_axisDirection, growthDirection)) {
        case C.AxisDirection_0:
          t1 = rectLocal.bottom;
          leadingScrollOffset += pivotExtent - t1;
          targetMainAxisExtent = t1 - rectLocal.top;
          break;
        case C.AxisDirection_1:
          t1 = rectLocal.left;
          leadingScrollOffset += t1;
          targetMainAxisExtent = rectLocal.right - t1;
          break;
        case C.AxisDirection_2:
          t1 = rectLocal.top;
          leadingScrollOffset += t1;
          targetMainAxisExtent = rectLocal.bottom - t1;
          break;
        case C.AxisDirection_3:
          t1 = rectLocal.right;
          leadingScrollOffset += pivotExtent - t1;
          targetMainAxisExtent = t1 - rectLocal.left;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      child._sliver$_geometry.toString;
      leadingScrollOffset = _this.scrollOffsetOf$2(child, leadingScrollOffset);
      targetRect = T.MatrixUtils_transformRect(target.getTransformTo$1(0, _this), rect);
      extentOfPinnedSlivers = _this.maxScrollObstructionExtentBefore$1(child);
      switch (type$.SliverConstraints._as(K.RenderObject.prototype.get$constraints.call(child)).growthDirection) {
        case C.GrowthDirection_0:
          leadingScrollOffset -= extentOfPinnedSlivers;
          break;
        case C.GrowthDirection_1:
          switch (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
            case C.Axis_1:
              leadingScrollOffset -= targetRect.bottom - targetRect.top;
              break;
            case C.Axis_0:
              leadingScrollOffset -= targetRect.right - targetRect.left;
              break;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      t1 = _this._viewport$_axisDirection;
      switch (G.axisDirectionToAxis(t1)) {
        case C.Axis_0:
          mainAxisExtent = _this._box$_size._dx - extentOfPinnedSlivers;
          break;
        case C.Axis_1:
          mainAxisExtent = _this._box$_size._dy - extentOfPinnedSlivers;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      targetOffset = leadingScrollOffset - (mainAxisExtent - targetMainAxisExtent) * alignment;
      t2 = _this._viewport$_offset._pixels;
      t2.toString;
      offsetDifference = t2 - targetOffset;
      switch (t1) {
        case C.AxisDirection_2:
          targetRect = targetRect.translate$2(0, 0, offsetDifference);
          break;
        case C.AxisDirection_1:
          targetRect = targetRect.translate$2(0, offsetDifference, 0);
          break;
        case C.AxisDirection_0:
          targetRect = targetRect.translate$2(0, 0, -offsetDifference);
          break;
        case C.AxisDirection_3:
          targetRect = targetRect.translate$2(0, -offsetDifference, 0);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      return new Q.RevealedOffset(targetOffset, targetRect);
    },
    computeAbsolutePaintOffset$3: function(child, layoutOffset, growthDirection) {
      switch (G.applyGrowthDirectionToAxisDirection(this._viewport$_axisDirection, growthDirection)) {
        case C.AxisDirection_0:
          return new P.Offset(0, this._box$_size._dy - (layoutOffset + child._sliver$_geometry.paintExtent));
        case C.AxisDirection_1:
          return new P.Offset(layoutOffset, 0);
        case C.AxisDirection_2:
          return new P.Offset(0, layoutOffset);
        case C.AxisDirection_3:
          return new P.Offset(this._box$_size._dx - (layoutOffset + child._sliver$_geometry.paintExtent), 0);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    debugDescribeChildren$0: function() {
      var count, t1, t2, _this = this,
        children = H._setArrayType([], type$.JSArray_DiagnosticsNode),
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return children;
      count = _this.get$indexOfFirstChild();
      for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"); true;) {
        child.toString;
        children.push(new Y.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: function(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, Q.RenderViewportBase_showInViewport(curve, descendant, duration, _this._viewport$_offset, rect, _this));
    },
    showOnScreen$0: function() {
      return this.showOnScreen$4$curve$descendant$duration$rect(C.Cubic_JUR, null, C.Duration_0, null);
    },
    showOnScreen$1$rect: function(rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(C.Cubic_JUR, null, C.Duration_0, rect);
    },
    showOnScreen$3$curve$duration$rect: function(curve, duration, rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(curve, null, duration, rect);
    },
    $isRenderAbstractViewport: 1
  };
  Q.RenderViewportBase_visitChildrenForSemantics_closure.prototype = {
    call$1: function(sliver) {
      var t1 = sliver._sliver$_geometry;
      return t1.visible || t1.cacheExtent > 0;
    },
    $signature: 841
  };
  Q.RenderViewportBase_hitTestChildren_closure.prototype = {
    call$1: function(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: 194
  };
  Q.RenderViewport.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof G.SliverPhysicalContainerParentData))
        child.parentData = new G.SliverPhysicalContainerParentData(null, null, C.Offset_0_0);
    },
    set$anchor: function(value) {
      if (value === this._anchor)
        return;
      this._anchor = value;
      this.markNeedsLayout$0();
    },
    set$center: function(value) {
      if (value == this._viewport$_center)
        return;
      this._viewport$_center = value;
      this.markNeedsLayout$0();
    },
    get$sizedByParent: function() {
      return true;
    },
    computeDryLayout$1: function(constraints) {
      return new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    get$_viewport$_minScrollExtent: function() {
      var t1 = this.__RenderViewport__minScrollExtent;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_minScrollExtent")) : t1;
    },
    get$_viewport$_maxScrollExtent: function() {
      var t1 = this.__RenderViewport__maxScrollExtent;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_maxScrollExtent")) : t1;
    },
    performLayout$0: function() {
      var t1, mainAxisExtent, crossAxisExtent, t2, correction, count, _this = this,
        _s80_ = string$.x60null_c;
      switch (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
        case C.Axis_1:
          _this._viewport$_offset.applyViewportDimension$1(_this._box$_size._dy);
          break;
        case C.Axis_0:
          _this._viewport$_offset.applyViewportDimension$1(_this._box$_size._dx);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      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 (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
        case C.Axis_1:
          t1 = _this._box$_size;
          mainAxisExtent = t1._dy;
          crossAxisExtent = t1._dx;
          break;
        case C.Axis_0:
          t1 = _this._box$_size;
          mainAxisExtent = t1._dx;
          crossAxisExtent = t1._dy;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      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 if (_this._viewport$_offset.applyContentDimensions$2(Math.min(0, _this.get$_viewport$_minScrollExtent() + mainAxisExtent * _this._anchor), Math.max(0, _this.get$_viewport$_maxScrollExtent() - mainAxisExtent * (1 - _this._anchor))))
          break;
        count = t1 + 1;
        if (count < 10) {
          t1 = count;
          continue;
        } else
          break;
      } while (true);
    },
    _attemptLayout$3: function(mainAxisExtent, crossAxisExtent, correctedOffset) {
      var centerOffset, reverseDirectionRemainingPaintExtent, t1, forwardDirectionRemainingPaintExtent, t2, fullCacheExtent, centerCacheOffset, reverseDirectionRemainingCacheExtent, forwardDirectionRemainingCacheExtent, leadingNegativeChild, t3, t4, result, t5, _this = this;
      _this.__RenderViewport__maxScrollExtent = _this.__RenderViewport__minScrollExtent = 0;
      _this._viewport$_hasVisualOverflow = false;
      centerOffset = mainAxisExtent * _this._anchor - correctedOffset;
      reverseDirectionRemainingPaintExtent = C.JSNumber_methods.clamp$2(centerOffset, 0, mainAxisExtent);
      t1 = mainAxisExtent - centerOffset;
      forwardDirectionRemainingPaintExtent = C.JSNumber_methods.clamp$2(t1, 0, mainAxisExtent);
      switch (_this._cacheExtentStyle) {
        case C.CacheExtentStyle_0:
          t2 = _this._calculatedCacheExtent = _this._cacheExtent;
          break;
        case C.CacheExtentStyle_1:
          t2 = _this._calculatedCacheExtent = mainAxisExtent * _this._cacheExtent;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      fullCacheExtent = mainAxisExtent + 2 * t2;
      centerCacheOffset = centerOffset + t2;
      reverseDirectionRemainingCacheExtent = C.JSNumber_methods.clamp$2(centerCacheOffset, 0, fullCacheExtent);
      forwardDirectionRemainingCacheExtent = C.JSNumber_methods.clamp$2(fullCacheExtent - centerCacheOffset, 0, fullCacheExtent);
      t2 = _this._viewport$_center.parentData;
      t2.toString;
      leadingNegativeChild = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1")._as(t2).ContainerParentDataMixin_previousSibling;
      t2 = leadingNegativeChild == null;
      if (!t2) {
        t3 = Math.max(mainAxisExtent, centerOffset);
        t4 = _this._calculatedCacheExtent;
        t4.toString;
        result = _this.layoutChildSequence$11$advance$cacheOrigin$child$crossAxisExtent$growthDirection$layoutOffset$mainAxisExtent$overlap$remainingCacheExtent$remainingPaintExtent$scrollOffset(_this.get$childBefore(), C.JSNumber_methods.clamp$2(t1, -t4, 0), leadingNegativeChild, crossAxisExtent, C.GrowthDirection_1, forwardDirectionRemainingPaintExtent, mainAxisExtent, 0, reverseDirectionRemainingCacheExtent, reverseDirectionRemainingPaintExtent, t3 - mainAxisExtent);
        if (result !== 0)
          return -result;
      }
      t1 = _this._viewport$_center;
      t3 = -centerOffset;
      t4 = Math.max(0, t3);
      t2 = t2 ? Math.min(0, t3) : 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(), C.JSNumber_methods.clamp$2(centerOffset, -t5, 0), t1, crossAxisExtent, C.GrowthDirection_0, t3, mainAxisExtent, t2, forwardDirectionRemainingCacheExtent, forwardDirectionRemainingPaintExtent, t4);
    },
    get$hasVisualOverflow: function() {
      return this._viewport$_hasVisualOverflow;
    },
    updateOutOfBandData$2: function(growthDirection, childLayoutGeometry) {
      var _this = this;
      switch (growthDirection) {
        case C.GrowthDirection_0:
          _this.__RenderViewport__maxScrollExtent = _this.get$_viewport$_maxScrollExtent() + childLayoutGeometry.scrollExtent;
          break;
        case C.GrowthDirection_1:
          _this.__RenderViewport__minScrollExtent = _this.get$_viewport$_minScrollExtent() - childLayoutGeometry.scrollExtent;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      if (childLayoutGeometry.hasVisualOverflow)
        _this._viewport$_hasVisualOverflow = true;
    },
    updateChildLayoutOffset$3: function(child, layoutOffset, growthDirection) {
      var t1 = child.parentData;
      t1.toString;
      type$.SliverPhysicalParentData._as(t1).paintOffset = this.computeAbsolutePaintOffset$3(child, layoutOffset, growthDirection);
    },
    paintOffsetOf$1: function(child) {
      var t1 = child.parentData;
      t1.toString;
      return type$.SliverPhysicalParentData._as(t1).paintOffset;
    },
    scrollOffsetOf$2: function(child, scrollOffsetWithinChild) {
      var current, t1, scrollOffsetToChild, t2, _this = this;
      switch (type$.SliverConstraints._as(K.RenderObject.prototype.get$constraints.call(child)).growthDirection) {
        case C.GrowthDirection_0:
          current = _this._viewport$_center;
          for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), scrollOffsetToChild = 0; current !== child;) {
            scrollOffsetToChild += current._sliver$_geometry.scrollExtent;
            t2 = current.parentData;
            t2.toString;
            current = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return scrollOffsetToChild + scrollOffsetWithinChild;
        case C.GrowthDirection_1:
          t1 = _this._viewport$_center.parentData;
          t1.toString;
          t2 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
          current = t2._as(t1).ContainerParentDataMixin_previousSibling;
          for (scrollOffsetToChild = 0; current !== child;) {
            scrollOffsetToChild -= current._sliver$_geometry.scrollExtent;
            t1 = current.parentData;
            t1.toString;
            current = t2._as(t1).ContainerParentDataMixin_previousSibling;
          }
          return scrollOffsetToChild - scrollOffsetWithinChild;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    maxScrollObstructionExtentBefore$1: function(child) {
      var current, t1, t2, _this = this;
      switch (type$.SliverConstraints._as(K.RenderObject.prototype.get$constraints.call(child)).growthDirection) {
        case C.GrowthDirection_0:
          current = _this._viewport$_center;
          for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"); current !== child;) {
            current._sliver$_geometry.toString;
            t2 = current.parentData;
            t2.toString;
            current = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return 0;
        case C.GrowthDirection_1:
          t1 = _this._viewport$_center.parentData;
          t1.toString;
          t2 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
          current = t2._as(t1).ContainerParentDataMixin_previousSibling;
          for (; current !== child;) {
            current._sliver$_geometry.toString;
            t1 = current.parentData;
            t1.toString;
            current = t2._as(t1).ContainerParentDataMixin_previousSibling;
          }
          return 0;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    applyPaintTransform$2: function(child, transform) {
      var t1 = child.parentData;
      t1.toString;
      t1 = type$.SliverPhysicalParentData._as(t1).paintOffset;
      transform.translate$2(0, t1._dx, t1._dy);
    },
    computeChildMainAxisPosition$2: function(child, parentMainAxisPosition) {
      var t2,
        t1 = child.parentData;
      t1.toString;
      type$.SliverPhysicalParentData._as(t1);
      t2 = type$.SliverConstraints;
      switch (G.applyGrowthDirectionToAxisDirection(t2._as(K.RenderObject.prototype.get$constraints.call(child)).axisDirection, t2._as(K.RenderObject.prototype.get$constraints.call(child)).growthDirection)) {
        case C.AxisDirection_2:
          return parentMainAxisPosition - t1.paintOffset._dy;
        case C.AxisDirection_1:
          return parentMainAxisPosition - t1.paintOffset._dx;
        case C.AxisDirection_0:
          return child._sliver$_geometry.paintExtent - (parentMainAxisPosition - t1.paintOffset._dy);
        case C.AxisDirection_3:
          return child._sliver$_geometry.paintExtent - (parentMainAxisPosition - t1.paintOffset._dx);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$indexOfFirstChild: function() {
      var t1, t2, count, t3,
        child = this._viewport$_center;
      for (t1 = this.ContainerRenderObjectMixin__firstChild, t2 = H._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: function(index) {
      if (index === 0)
        return "center child";
      return "child " + index;
    },
    get$childrenInPaintOrder: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 2, $async$currentError, t1, t2, child;
        return function $async$get$childrenInPaintOrder($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
                child = $async$self.ContainerRenderObjectMixin__firstChild;
                if (child == null) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t1 = H._instanceType($async$self)._eval$1("ContainerRenderObjectMixin.1");
              case 3:
                // for condition
                if (!(child != $async$self._viewport$_center)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                child.toString;
                $async$goto = 5;
                return child;
              case 5:
                // after yield
                t2 = child.parentData;
                t2.toString;
                child = t1._as(t2).ContainerParentDataMixin_nextSibling;
                // goto for condition
                $async$goto = 3;
                break;
              case 4:
                // after for
                child = $async$self.ContainerRenderObjectMixin__lastChild;
              case 6:
                // for condition
                // trivial condition
                child.toString;
                $async$goto = 8;
                return child;
              case 8:
                // after yield
                if (child === $async$self._viewport$_center) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t2 = child.parentData;
                t2.toString;
                child = t1._as(t2).ContainerParentDataMixin_previousSibling;
                // goto for condition
                $async$goto = 6;
                break;
              case 7:
                // after for
              case 1:
                // return
                return P._IterationMarker_endOfIteration();
              case 2:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.RenderSliver);
    },
    get$childrenInHitTestOrder: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 2, $async$currentError, child, t1, t2;
        return function $async$get$childrenInHitTestOrder($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.ContainerRenderObjectMixin__firstChild == null) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                child = $async$self._viewport$_center;
                t1 = H._instanceType($async$self)._eval$1("ContainerRenderObjectMixin.1");
              case 3:
                // for condition
                if (!(child != null)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                $async$goto = 5;
                return child;
              case 5:
                // after yield
                t2 = child.parentData;
                t2.toString;
                child = t1._as(t2).ContainerParentDataMixin_nextSibling;
                // goto for condition
                $async$goto = 3;
                break;
              case 4:
                // after for
                t2 = $async$self._viewport$_center.parentData;
                t2.toString;
                child = t1._as(t2).ContainerParentDataMixin_previousSibling;
              case 6:
                // for condition
                if (!(child != null)) {
                  // goto after for
                  $async$goto = 7;
                  break;
                }
                $async$goto = 8;
                return child;
              case 8:
                // after yield
                t2 = child.parentData;
                t2.toString;
                child = t1._as(t2).ContainerParentDataMixin_previousSibling;
                // goto for condition
                $async$goto = 6;
                break;
              case 7:
                // after for
              case 1:
                // return
                return P._IterationMarker_endOfIteration();
              case 2:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.RenderSliver);
    }
  };
  Q.RenderShrinkWrappingViewport.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof G.SliverLogicalContainerParentData))
        child.parentData = new G.SliverLogicalContainerParentData(null, null);
    },
    get$_viewport$_maxScrollExtent: function() {
      var t1 = this.__RenderShrinkWrappingViewport__maxScrollExtent;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_maxScrollExtent")) : t1;
    },
    get$_shrinkWrapExtent: function() {
      var t1 = this.__RenderShrinkWrappingViewport__shrinkWrapExtent;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_shrinkWrapExtent")) : t1;
    },
    performLayout$0: function() {
      var mainAxisExtent, crossAxisExtent, t1, effectiveExtent, t2, t3, t4, t5, t6, correction, didAcceptViewportDimension, didAcceptContentDimension, _this = this,
        _s80_ = string$.x60null_c,
        constraints = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this));
      if (_this.ContainerRenderObjectMixin__firstChild == null) {
        switch (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
          case C.Axis_1:
            _this._box$_size = new P.Size(constraints.maxWidth, constraints.minHeight);
            break;
          case C.Axis_0:
            _this._box$_size = new P.Size(constraints.minWidth, constraints.maxHeight);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        _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 (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
        case C.Axis_1:
          mainAxisExtent = constraints.maxHeight;
          crossAxisExtent = constraints.maxWidth;
          break;
        case C.Axis_0:
          mainAxisExtent = constraints.maxWidth;
          crossAxisExtent = constraints.maxHeight;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      t1 = _this.get$childAfter();
      effectiveExtent = null;
      do {
        t2 = _this._viewport$_offset._pixels;
        t2.toString;
        _this.__RenderShrinkWrappingViewport__shrinkWrapExtent = _this.__RenderShrinkWrappingViewport__maxScrollExtent = 0;
        t3 = _this._viewport$_hasVisualOverflow = false;
        t4 = _this.ContainerRenderObjectMixin__firstChild;
        t5 = Math.max(0, t2);
        t2 = Math.min(0, t2);
        t6 = _this._cacheExtent;
        correction = _this.layoutChildSequence$11$advance$cacheOrigin$child$crossAxisExtent$growthDirection$layoutOffset$mainAxisExtent$overlap$remainingCacheExtent$remainingPaintExtent$scrollOffset(t1, -t6, t4, crossAxisExtent, C.GrowthDirection_0, 0, mainAxisExtent, t2, mainAxisExtent + 2 * t6, mainAxisExtent, t5);
        if (correction !== 0)
          _this._viewport$_offset.correctBy$1(correction);
        else {
          switch (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
            case C.Axis_1:
              effectiveExtent = J.clamp$2$n(_this.get$_shrinkWrapExtent(), constraints.minHeight, constraints.maxHeight);
              break;
            case C.Axis_0:
              effectiveExtent = J.clamp$2$n(_this.get$_shrinkWrapExtent(), constraints.minWidth, constraints.maxWidth);
              break;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
          didAcceptViewportDimension = _this._viewport$_offset.applyViewportDimension$1(effectiveExtent);
          didAcceptContentDimension = _this._viewport$_offset.applyContentDimensions$2(0, Math.max(0, _this.get$_viewport$_maxScrollExtent() - effectiveExtent));
          if (didAcceptViewportDimension ? didAcceptContentDimension : t3)
            break;
        }
      } while (true);
      switch (G.axisDirectionToAxis(_this._viewport$_axisDirection)) {
        case C.Axis_1:
          _this._box$_size = new P.Size(J.clamp$2$n(crossAxisExtent, constraints.minWidth, constraints.maxWidth), J.clamp$2$n(effectiveExtent, constraints.minHeight, constraints.maxHeight));
          break;
        case C.Axis_0:
          _this._box$_size = new P.Size(J.clamp$2$n(effectiveExtent, constraints.minWidth, constraints.maxWidth), J.clamp$2$n(crossAxisExtent, constraints.minHeight, constraints.maxHeight));
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
    },
    get$hasVisualOverflow: function() {
      return this._viewport$_hasVisualOverflow;
    },
    updateOutOfBandData$2: function(growthDirection, childLayoutGeometry) {
      var _this = this;
      _this.__RenderShrinkWrappingViewport__maxScrollExtent = _this.get$_viewport$_maxScrollExtent() + childLayoutGeometry.scrollExtent;
      if (childLayoutGeometry.hasVisualOverflow)
        _this._viewport$_hasVisualOverflow = true;
      _this.__RenderShrinkWrappingViewport__shrinkWrapExtent = _this.get$_shrinkWrapExtent() + childLayoutGeometry.maxPaintExtent;
    },
    updateChildLayoutOffset$3: function(child, layoutOffset, growthDirection) {
      var t1 = child.parentData;
      t1.toString;
      type$.SliverLogicalParentData._as(t1).layoutOffset = layoutOffset;
    },
    paintOffsetOf$1: function(child) {
      var t1 = child.parentData;
      t1.toString;
      t1 = type$.SliverLogicalParentData._as(t1).layoutOffset;
      t1.toString;
      return this.computeAbsolutePaintOffset$3(child, t1, C.GrowthDirection_0);
    },
    scrollOffsetOf$2: function(child, scrollOffsetWithinChild) {
      var t1, scrollOffsetToChild, t2,
        current = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = H._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"), scrollOffsetToChild = 0; current !== child;) {
        scrollOffsetToChild += current._sliver$_geometry.scrollExtent;
        t2 = current.parentData;
        t2.toString;
        current = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return scrollOffsetToChild + scrollOffsetWithinChild;
    },
    maxScrollObstructionExtentBefore$1: function(child) {
      var t1, t2,
        current = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = H._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"); current !== child;) {
        current._sliver$_geometry.toString;
        t2 = current.parentData;
        t2.toString;
        current = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return 0;
    },
    applyPaintTransform$2: function(child, transform) {
      var offset = this.paintOffsetOf$1(type$.RenderSliver._as(child));
      transform.translate$2(0, offset._dx, offset._dy);
    },
    computeChildMainAxisPosition$2: function(child, parentMainAxisPosition) {
      var t2,
        t1 = child.parentData;
      t1.toString;
      type$.SliverLogicalParentData._as(t1);
      t2 = type$.SliverConstraints;
      switch (G.applyGrowthDirectionToAxisDirection(t2._as(K.RenderObject.prototype.get$constraints.call(child)).axisDirection, t2._as(K.RenderObject.prototype.get$constraints.call(child)).growthDirection)) {
        case C.AxisDirection_2:
        case C.AxisDirection_1:
          t1 = t1.layoutOffset;
          t1.toString;
          return parentMainAxisPosition - t1;
        case C.AxisDirection_0:
          t2 = this._box$_size._dy;
          t1 = t1.layoutOffset;
          t1.toString;
          return t2 - parentMainAxisPosition - t1;
        case C.AxisDirection_3:
          t2 = this._box$_size._dx;
          t1 = t1.layoutOffset;
          t1.toString;
          return t2 - parentMainAxisPosition - t1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$indexOfFirstChild: function() {
      return 0;
    },
    labelForChild$1: function(index) {
      return "child " + index;
    },
    get$childrenInPaintOrder: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, child;
        return function $async$get$childrenInPaintOrder($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
                child = $async$self.ContainerRenderObjectMixin__lastChild;
                t1 = H._instanceType($async$self)._eval$1("ContainerRenderObjectMixin.1");
              case 2:
                // for condition
                if (!(child != null)) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                $async$goto = 4;
                return child;
              case 4:
                // after yield
                t2 = child.parentData;
                t2.toString;
                child = t1._as(t2).ContainerParentDataMixin_previousSibling;
                // goto for condition
                $async$goto = 2;
                break;
              case 3:
                // after for
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.RenderSliver);
    },
    get$childrenInHitTestOrder: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, child;
        return function $async$get$childrenInHitTestOrder($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
                child = $async$self.ContainerRenderObjectMixin__firstChild;
                t1 = H._instanceType($async$self)._eval$1("ContainerRenderObjectMixin.1");
              case 2:
                // for condition
                if (!(child != null)) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                $async$goto = 4;
                return child;
              case 4:
                // after yield
                t2 = child.parentData;
                t2.toString;
                child = t1._as(t2).ContainerParentDataMixin_nextSibling;
                // goto for condition
                $async$goto = 2;
                break;
              case 3:
                // after for
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.RenderSliver);
    }
  };
  Q._RenderViewportBase_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1: function(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = H._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: function(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = H._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;
      }
    }
  };
  N.ScrollDirection.prototype = {
    toString$0: function(_) {
      return this._viewport_offset$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.ViewportOffset.prototype = {
    moveTo$3$curve$duration: function(_, to, curve, duration) {
      var t1 = duration._duration === 0;
      if (t1) {
        this.jumpTo$1(to);
        return P.Future_Future$value(null, type$.void);
      } else
        return this.animateTo$3$curve$duration(to, curve, duration);
    },
    toString$0: function(_) {
      var description = H._setArrayType([], type$.JSArray_String);
      this.debugFillDescription$1(description);
      return "<optimized out>#" + Y.shortHash(this) + "(" + C.JSArray_methods.join$1(description, ", ") + ")";
    },
    debugFillDescription$1: function(description) {
      var t1 = this._pixels;
      if (t1 != null)
        description.push("offset: " + C.JSNumber_methods.toStringAsFixed$1(t1, 1));
    }
  };
  N.WrapAlignment.prototype = {
    toString$0: function(_) {
      return this._wrap$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.WrapCrossAlignment.prototype = {
    toString$0: function(_) {
      return this._wrap$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N._RunMetrics.prototype = {};
  N.WrapParentData.prototype = {};
  N.RenderWrap.prototype = {
    set$direction: function(_, value) {
      if (this._wrap$_direction === value)
        return;
      this._wrap$_direction = value;
      this.markNeedsLayout$0();
    },
    set$alignment: function(value) {
      if (this._wrap$_alignment === value)
        return;
      this._wrap$_alignment = value;
      this.markNeedsLayout$0();
    },
    set$spacing: function(_, value) {
      if (this._wrap$_spacing === value)
        return;
      this._wrap$_spacing = value;
      this.markNeedsLayout$0();
    },
    set$runAlignment: function(value) {
      if (this._runAlignment === value)
        return;
      this._runAlignment = value;
      this.markNeedsLayout$0();
    },
    set$runSpacing: function(value) {
      if (this._runSpacing === value)
        return;
      this._runSpacing = value;
      this.markNeedsLayout$0();
    },
    set$crossAxisAlignment: function(value) {
      if (this._wrap$_crossAxisAlignment === value)
        return;
      this._wrap$_crossAxisAlignment = value;
      this.markNeedsLayout$0();
    },
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof N.WrapParentData))
        child.parentData = new N.WrapParentData(null, null, C.Offset_0_0);
    },
    computeMinIntrinsicWidth$1: function(height) {
      var child, t1, width, t2, _this = this;
      switch (_this._wrap$_direction) {
        case C.Axis_0:
          child = _this.ContainerRenderObjectMixin__firstChild;
          for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), width = 0; child != null;) {
            width = Math.max(width, H.checkNum(child._computeIntrinsicDimension$3(C._IntrinsicDimension_0, 1 / 0, child.get$computeMinIntrinsicWidth())));
            t2 = child.parentData;
            t2.toString;
            child = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return width;
        case C.Axis_1:
          return _this._computeDryLayout$1(new S.BoxConstraints(0, 1 / 0, 0, height))._dx;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var child, t1, width, t2, _this = this;
      switch (_this._wrap$_direction) {
        case C.Axis_0:
          child = _this.ContainerRenderObjectMixin__firstChild;
          for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), width = 0; child != null;) {
            width += child._computeIntrinsicDimension$3(C._IntrinsicDimension_1, 1 / 0, child.get$computeMaxIntrinsicWidth());
            t2 = child.parentData;
            t2.toString;
            child = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return width;
        case C.Axis_1:
          return _this._computeDryLayout$1(new S.BoxConstraints(0, 1 / 0, 0, height))._dx;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeMinIntrinsicHeight$1: function(width) {
      var child, t1, height, t2, _this = this;
      switch (_this._wrap$_direction) {
        case C.Axis_0:
          return _this._computeDryLayout$1(new S.BoxConstraints(0, width, 0, 1 / 0))._dy;
        case C.Axis_1:
          child = _this.ContainerRenderObjectMixin__firstChild;
          for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), height = 0; child != null;) {
            height = Math.max(height, H.checkNum(child._computeIntrinsicDimension$3(C._IntrinsicDimension_2, 1 / 0, child.get$computeMinIntrinsicHeight())));
            t2 = child.parentData;
            t2.toString;
            child = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return height;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var child, t1, height, t2, _this = this;
      switch (_this._wrap$_direction) {
        case C.Axis_0:
          return _this._computeDryLayout$1(new S.BoxConstraints(0, width, 0, 1 / 0))._dy;
        case C.Axis_1:
          child = _this.ContainerRenderObjectMixin__firstChild;
          for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), height = 0; child != null;) {
            height += child._computeIntrinsicDimension$3(C._IntrinsicDimension_3, 1 / 0, child.get$computeMaxIntrinsicHeight());
            t2 = child.parentData;
            t2.toString;
            child = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return height;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      return this.defaultComputeDistanceToHighestActualBaseline$1(baseline);
    },
    _getMainAxisExtent$1: function(childSize) {
      switch (this._wrap$_direction) {
        case C.Axis_0:
          return childSize._dx;
        case C.Axis_1:
          return childSize._dy;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _getCrossAxisExtent$1: function(childSize) {
      switch (this._wrap$_direction) {
        case C.Axis_0:
          return childSize._dy;
        case C.Axis_1:
          return childSize._dx;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _getOffset$2: function(mainAxisOffset, crossAxisOffset) {
      switch (this._wrap$_direction) {
        case C.Axis_0:
          return new P.Offset(mainAxisOffset, crossAxisOffset);
        case C.Axis_1:
          return new P.Offset(crossAxisOffset, mainAxisOffset);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _getChildCrossAxisOffset$3: function(flipCrossAxis, runCrossAxisExtent, childCrossAxisExtent) {
      var freeSpace = runCrossAxisExtent - childCrossAxisExtent;
      switch (this._wrap$_crossAxisAlignment) {
        case C.WrapCrossAlignment_0:
          return flipCrossAxis ? freeSpace : 0;
        case C.WrapCrossAlignment_1:
          return flipCrossAxis ? 0 : freeSpace;
        case C.WrapCrossAlignment_2:
          return freeSpace / 2;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeDryLayout$1: function(constraints) {
      return this._computeDryLayout$1(constraints);
    },
    _computeDryLayout$1: function(constraints) {
      var mainAxisLimit, childConstraints, child, t1, mainAxisExtent, crossAxisExtent, runMainAxisExtent, runCrossAxisExtent, childCount, childSize, childMainAxisExtent, childCrossAxisExtent, t2, _this = this,
        _s80_ = string$.x60null_c;
      switch (_this._wrap$_direction) {
        case C.Axis_0:
          mainAxisLimit = constraints.maxWidth;
          childConstraints = new S.BoxConstraints(0, mainAxisLimit, 0, 1 / 0);
          break;
        case C.Axis_1:
          mainAxisLimit = constraints.maxHeight;
          childConstraints = new S.BoxConstraints(0, 1 / 0, 0, mainAxisLimit);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      child = _this.ContainerRenderObjectMixin__firstChild;
      for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), mainAxisExtent = 0, crossAxisExtent = 0, runMainAxisExtent = 0, runCrossAxisExtent = 0, childCount = 0; child != null;) {
        childSize = N.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, H.checkNum(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) {
        case C.Axis_0:
          return constraints.constrain$1(new P.Size(mainAxisExtent, crossAxisExtent));
        case C.Axis_1:
          return constraints.constrain$1(new P.Size(crossAxisExtent, mainAxisExtent));
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
    },
    performLayout$0: function() {
      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,
        _s80_ = string$.x60null_c,
        constraints = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this));
      _this._wrap$_hasVisualOverflow = false;
      child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null) {
        _this._box$_size = new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
        return;
      }
      switch (_this._wrap$_direction) {
        case C.Axis_0:
          mainAxisLimit = constraints.maxWidth;
          childConstraints = new S.BoxConstraints(0, mainAxisLimit, 0, 1 / 0);
          flipMainAxis = _this._wrap$_textDirection === C.TextDirection_0 && true;
          flipCrossAxis = _this._wrap$_verticalDirection === C.VerticalDirection_0 && true;
          break;
        case C.Axis_1:
          mainAxisLimit = constraints.maxHeight;
          childConstraints = new S.BoxConstraints(0, 1 / 0, 0, mainAxisLimit);
          flipMainAxis = _this._wrap$_verticalDirection === C.VerticalDirection_0 && true;
          flipCrossAxis = _this._wrap$_textDirection === C.TextDirection_0 && true;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      spacing = _this._wrap$_spacing;
      runSpacing = _this._runSpacing;
      runMetrics = H._setArrayType([], type$.JSArray__RunMetrics);
      for (t1 = type$.WrapParentData, mainAxisExtent = 0, crossAxisExtent = 0, runMainAxisExtent = 0, runCrossAxisExtent = 0, childCount = 0; child != null;) {
        child.layout$2$parentUsesSize(0, 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 N._RunMetrics(runMainAxisExtent, runCrossAxisExtent, childCount));
          runMainAxisExtent = 0;
          runCrossAxisExtent = 0;
          childCount = 0;
        }
        runMainAxisExtent += childMainAxisExtent;
        if (childCount > 0)
          runMainAxisExtent += spacing;
        runCrossAxisExtent = Math.max(runCrossAxisExtent, H.checkNum(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 N._RunMetrics(runMainAxisExtent, runCrossAxisExtent, childCount));
      }
      runCount = runMetrics.length;
      switch (_this._wrap$_direction) {
        case C.Axis_0:
          t2 = _this._box$_size = constraints.constrain$1(new P.Size(mainAxisExtent, crossAxisExtent));
          containerMainAxisExtent = t2._dx;
          containerCrossAxisExtent = t2._dy;
          break;
        case C.Axis_1:
          t2 = _this._box$_size = constraints.constrain$1(new P.Size(crossAxisExtent, mainAxisExtent));
          containerMainAxisExtent = t2._dy;
          containerCrossAxisExtent = t2._dx;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      _this._wrap$_hasVisualOverflow = containerMainAxisExtent < mainAxisExtent || containerCrossAxisExtent < crossAxisExtent;
      crossAxisFreeSpace = Math.max(0, containerCrossAxisExtent - crossAxisExtent);
      switch (_this._runAlignment) {
        case C.WrapAlignment_0:
          runLeadingSpace = 0;
          runBetweenSpace = 0;
          break;
        case C.WrapAlignment_1:
          runLeadingSpace = crossAxisFreeSpace;
          runBetweenSpace = 0;
          break;
        case C.WrapAlignment_2:
          runLeadingSpace = crossAxisFreeSpace / 2;
          runBetweenSpace = 0;
          break;
        case C.WrapAlignment_3:
          runBetweenSpace = runCount > 1 ? crossAxisFreeSpace / (runCount - 1) : 0;
          runLeadingSpace = 0;
          break;
        case C.WrapAlignment_4:
          runBetweenSpace = crossAxisFreeSpace / runCount;
          runLeadingSpace = runBetweenSpace / 2;
          break;
        case C.WrapAlignment_5:
          runBetweenSpace = crossAxisFreeSpace / (runCount + 1);
          runLeadingSpace = runBetweenSpace;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      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) {
          case C.WrapAlignment_0:
            childLeadingSpace = 0;
            childBetweenSpace = 0;
            break;
          case C.WrapAlignment_1:
            childLeadingSpace = mainAxisFreeSpace;
            childBetweenSpace = 0;
            break;
          case C.WrapAlignment_2:
            childLeadingSpace = mainAxisFreeSpace / 2;
            childBetweenSpace = 0;
            break;
          case C.WrapAlignment_3:
            childBetweenSpace = childCount > 1 ? mainAxisFreeSpace / (childCount - 1) : 0;
            childLeadingSpace = 0;
            break;
          case C.WrapAlignment_4:
            childBetweenSpace = mainAxisFreeSpace / childCount;
            childLeadingSpace = childBetweenSpace / 2;
            break;
          case C.WrapAlignment_5:
            childBetweenSpace = mainAxisFreeSpace / (childCount + 1);
            childLeadingSpace = childBetweenSpace;
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        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: function(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    },
    paint$2: function(context, offset) {
      var t1, t2, _this = this;
      if (_this._wrap$_hasVisualOverflow && _this._wrap$_clipBehavior !== C.Clip_0) {
        t1 = _this.get$_needsCompositing();
        t2 = _this._box$_size;
        _this._wrap$_clipRectLayer = context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy), _this.get$defaultPaint(), _this._wrap$_clipBehavior, _this._wrap$_clipRectLayer);
      } else {
        _this._wrap$_clipRectLayer = null;
        _this.defaultPaint$2(context, offset);
      }
    }
  };
  N._RenderWrap_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1: function(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: function(_) {
      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;
      }
    }
  };
  N._RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  N._TaskEntry.prototype = {
    run$0: function() {
      P.Timeline_timeSync("Scheduled Task", new N._TaskEntry_run_closure(this), null);
    }
  };
  N._TaskEntry_run_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.completer.complete$1(0, t1.task.call$0());
    },
    $signature: 1
  };
  N._FrameCallbackEntry.prototype = {};
  N.SchedulerPhase.prototype = {
    toString$0: function(_) {
      return this._binding$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.SchedulerBinding.prototype = {
    addTimingsCallback$1: function(callback) {
      var t1 = this.SchedulerBinding__timingsCallbacks;
      t1.push(callback);
      if (t1.length === 1) {
        t1 = $.$get$window().platformDispatcher;
        t1._onReportTimings = this.get$_executeTimingsCallbacks();
        t1._onReportTimingsZone = $.Zone__current;
      }
    },
    removeTimingsCallback$1: function(callback) {
      var t1 = this.SchedulerBinding__timingsCallbacks;
      C.JSArray_methods.remove$1(t1, callback);
      if (t1.length === 0) {
        t1 = $.$get$window().platformDispatcher;
        t1._onReportTimings = null;
        t1._onReportTimingsZone = $.Zone__current;
      }
    },
    _executeTimingsCallbacks$1: function(timings) {
      var callback, exception, stack, t2, _i, exception0, t3, t4,
        t1 = this.SchedulerBinding__timingsCallbacks,
        clonedCallbacks = P.List_List$from(t1, true, type$.void_Function_List_FrameTiming);
      for (t2 = clonedCallbacks.length, _i = 0; _i < t2; ++_i) {
        callback = clonedCallbacks[_i];
        try {
          if (C.JSArray_methods.contains$1(t1, callback))
            callback.call$1(timings);
        } catch (exception0) {
          exception = H.unwrapException(exception0);
          stack = H.getTraceFromException(exception0);
          t3 = U.ErrorDescription$("while executing callbacks for FrameTiming");
          t4 = $.$get$FlutterError_onError();
          if (t4 != null)
            t4.call$1(new U.FlutterErrorDetails(exception, stack, "Flutter framework", t3, null, false));
        }
      }
    },
    handleAppLifecycleStateChanged$1: function(state) {
      this.SchedulerBinding__lifecycleState = state;
      switch (state) {
        case C.AppLifecycleState_0:
        case C.AppLifecycleState_1:
          this._setFramesEnabledState$1(true);
          break;
        case C.AppLifecycleState_2:
        case C.AppLifecycleState_3:
          this._setFramesEnabledState$1(false);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    scheduleTask$1$2: function(task, priority, $T) {
      var t1 = this.SchedulerBinding__taskQueue,
        t2 = t1._priority_queue$_length,
        t3 = new P._Future($.Zone__current, $T._eval$1("_Future<0>"));
      t1.add$1(0, new N._TaskEntry(task, priority._priority$_value, null, null, new P._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: function() {
      if (this.SchedulerBinding__hasRequestedAnEventLoopCallback)
        return;
      this.SchedulerBinding__hasRequestedAnEventLoopCallback = true;
      P.Timer_Timer(C.Duration_0, this.get$_runTasks());
    },
    _runTasks$0: function() {
      this.SchedulerBinding__hasRequestedAnEventLoopCallback = false;
      if (this.handleEventLoopCallback$0())
        this._ensureEventLoopCallback$0();
    },
    handleEventLoopCallback$0: function() {
      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)
            H.throwExpression(P.StateError$("No element"));
          ++t1._priority_queue$_modificationCount;
          t1._elementAt$1(0);
          newLength = t1._priority_queue$_length - 1;
          last = t1._elementAt$1(newLength);
          C.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 = H.unwrapException(exception0);
          exceptionStack = H.getTraceFromException(exception0);
          t2 = U.ErrorDescription$("during a task callback");
          U.FlutterError_reportError(new U.FlutterErrorDetails(exception, exceptionStack, "scheduler library", t2, null, false));
        }
        return t1._priority_queue$_length !== 0;
      }
      return false;
    },
    scheduleFrameCallback$2$rescheduling: function(callback, rescheduling) {
      var t1, _this = this;
      _this.scheduleFrame$0();
      t1 = ++_this.SchedulerBinding__nextFrameCallbackId;
      _this.SchedulerBinding__transientCallbacks.$indexSet(0, t1, new N._FrameCallbackEntry(callback));
      return _this.SchedulerBinding__nextFrameCallbackId;
    },
    scheduleFrameCallback$1: function(callback) {
      return this.scheduleFrameCallback$2$rescheduling(callback, false);
    },
    get$endOfFrame: function() {
      var _this = this;
      if (_this.SchedulerBinding__nextFrameCompleter == null) {
        if (_this.SchedulerBinding__schedulerPhase === C.SchedulerPhase_0)
          _this.scheduleFrame$0();
        _this.SchedulerBinding__nextFrameCompleter = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
        _this.SchedulerBinding__postFrameCallbacks.push(new N.SchedulerBinding_endOfFrame_closure(_this));
      }
      return _this.SchedulerBinding__nextFrameCompleter.future;
    },
    get$framesEnabled: function() {
      return this.SchedulerBinding__framesEnabled;
    },
    _setFramesEnabledState$1: function(enabled) {
      if (this.SchedulerBinding__framesEnabled === enabled)
        return;
      this.SchedulerBinding__framesEnabled = enabled;
      if (enabled)
        this.scheduleFrame$0();
    },
    ensureVisualUpdate$0: function() {
      switch (this.SchedulerBinding__schedulerPhase) {
        case C.SchedulerPhase_0:
        case C.SchedulerPhase_4:
          this.scheduleFrame$0();
          return;
        case C.SchedulerPhase_1:
        case C.SchedulerPhase_2:
        case C.SchedulerPhase_3:
          return;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    scheduleFrame$0: function() {
      var t1, _this = this;
      if (!_this.SchedulerBinding__hasScheduledFrame)
        t1 = !(N.SchedulerBinding.prototype.get$framesEnabled.call(_this) && _this.WidgetsBinding__readyToProduceFrames);
      else
        t1 = true;
      if (t1)
        return;
      t1 = $.$get$window().platformDispatcher;
      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;
      }
      t1.scheduleFrame$0();
      _this.SchedulerBinding__hasScheduledFrame = true;
    },
    scheduleForcedFrame$0: function() {
      var _this = this;
      if (!(N.SchedulerBinding.prototype.get$framesEnabled.call(_this) && _this.WidgetsBinding__readyToProduceFrames))
        return;
      if (_this.SchedulerBinding__hasScheduledFrame)
        return;
      $.$get$window().platformDispatcher.scheduleFrame$0();
      _this.SchedulerBinding__hasScheduledFrame = true;
    },
    scheduleWarmUpFrame$0: function() {
      var hadScheduledFrame, _this = this;
      if (_this.SchedulerBinding__warmUpFrame || _this.SchedulerBinding__schedulerPhase !== C.SchedulerPhase_0)
        return;
      _this.SchedulerBinding__warmUpFrame = true;
      P.Timeline_startSync("Warm-up frame", null, null);
      hadScheduledFrame = _this.SchedulerBinding__hasScheduledFrame;
      P.Timer_Timer(C.Duration_0, new N.SchedulerBinding_scheduleWarmUpFrame_closure(_this));
      P.Timer_Timer(C.Duration_0, new N.SchedulerBinding_scheduleWarmUpFrame_closure0(_this, hadScheduledFrame));
      _this.lockEvents$1(new N.SchedulerBinding_scheduleWarmUpFrame_closure1(_this));
    },
    resetEpoch$0: function() {
      var _this = this;
      _this.SchedulerBinding__epochStart = _this._adjustForEpoch$1(_this.SchedulerBinding__lastRawTimeStamp);
      _this.SchedulerBinding__firstRawTimeStampInEpoch = null;
    },
    _adjustForEpoch$1: function(rawTimeStamp) {
      var t1 = this.SchedulerBinding__firstRawTimeStampInEpoch,
        rawDurationSinceEpoch = t1 == null ? C.Duration_0 : new P.Duration(rawTimeStamp._duration - t1._duration);
      return P.Duration$(C.JSNumber_methods.round$0(rawDurationSinceEpoch._duration / $._timeDilation) + this.SchedulerBinding__epochStart._duration, 0);
    },
    _handleBeginFrame$1: function(rawTimeStamp) {
      if (this.SchedulerBinding__warmUpFrame) {
        this.SchedulerBinding__rescheduleAfterWarmUpFrame = true;
        return;
      }
      this.handleBeginFrame$1(rawTimeStamp);
    },
    _handleDrawFrame$0: function() {
      var _this = this;
      if (_this.SchedulerBinding__rescheduleAfterWarmUpFrame) {
        _this.SchedulerBinding__rescheduleAfterWarmUpFrame = false;
        _this.SchedulerBinding__postFrameCallbacks.push(new N.SchedulerBinding__handleDrawFrame_closure(_this));
        return;
      }
      _this.handleDrawFrame$0();
    },
    handleBeginFrame$1: function(rawTimeStamp) {
      var callbacks, t1, _this = this;
      P.Timeline_startSync("Frame", C.Map_9aZ6I, null);
      if (_this.SchedulerBinding__firstRawTimeStampInEpoch == null)
        _this.SchedulerBinding__firstRawTimeStampInEpoch = rawTimeStamp;
      t1 = rawTimeStamp == null;
      _this.SchedulerBinding__currentFrameTimeStamp = _this._adjustForEpoch$1(t1 ? _this.SchedulerBinding__lastRawTimeStamp : rawTimeStamp);
      if (!t1)
        _this.SchedulerBinding__lastRawTimeStamp = rawTimeStamp;
      _this.SchedulerBinding__hasScheduledFrame = false;
      try {
        P.Timeline_startSync("Animate", C.Map_9aZ6I, null);
        _this.SchedulerBinding__schedulerPhase = C.SchedulerPhase_1;
        callbacks = _this.SchedulerBinding__transientCallbacks;
        _this.SchedulerBinding__transientCallbacks = P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$._FrameCallbackEntry);
        J.forEach$1$ax(callbacks, new N.SchedulerBinding_handleBeginFrame_closure(_this));
        _this.SchedulerBinding__removedIds.clear$0(0);
      } finally {
        _this.SchedulerBinding__schedulerPhase = C.SchedulerPhase_2;
      }
    },
    handleDrawFrame$0: function() {
      var callback, localPostFrameCallbacks, callback0, t1, t2, _i, t3, _this = this;
      P.Timeline_finishSync();
      try {
        _this.SchedulerBinding__schedulerPhase = C.SchedulerPhase_3;
        for (t1 = _this.SchedulerBinding__persistentCallbacks, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          callback = t1[_i];
          t3 = _this.SchedulerBinding__currentFrameTimeStamp;
          t3.toString;
          _this._invokeFrameCallback$2(callback, t3);
        }
        _this.SchedulerBinding__schedulerPhase = C.SchedulerPhase_4;
        t1 = _this.SchedulerBinding__postFrameCallbacks;
        localPostFrameCallbacks = P.List_List$from(t1, true, type$.void_Function_Duration);
        C.JSArray_methods.set$length(t1, 0);
        for (t1 = localPostFrameCallbacks, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          callback0 = t1[_i];
          t3 = _this.SchedulerBinding__currentFrameTimeStamp;
          t3.toString;
          _this._invokeFrameCallback$2(callback0, t3);
        }
      } finally {
        _this.SchedulerBinding__schedulerPhase = C.SchedulerPhase_0;
        P.Timeline_finishSync();
        _this.SchedulerBinding__currentFrameTimeStamp = null;
      }
    },
    _profileFramePostEvent$1: function(frameTiming) {
      var t1 = frameTiming._timestamps,
        t2 = C.JSArray_methods.get$last(t1),
        t3 = t1[1],
        t4 = t1[4],
        t5 = P.Duration$(t4, 0),
        t6 = t1[0];
      P.postEvent("Flutter.Frame", P.LinkedHashMap_LinkedHashMap$_literal(["number", t2, "startTime", t3, "elapsed", t5._duration - P.Duration$(t6, 0)._duration, "build", P.Duration$(t1[2], 0)._duration - P.Duration$(t3, 0)._duration, "raster", P.Duration$(t4, 0)._duration - P.Duration$(t1[3], 0)._duration, "vsyncOverhead", P.Duration$(t3, 0)._duration - P.Duration$(t6, 0)._duration], type$.String, type$.dynamic));
    },
    _invokeFrameCallback$3: function(callback, timeStamp, callbackStack) {
      var exception, exceptionStack, exception0, t1;
      try {
        callback.call$1(timeStamp);
      } catch (exception0) {
        exception = H.unwrapException(exception0);
        exceptionStack = H.getTraceFromException(exception0);
        t1 = U.ErrorDescription$("during a scheduler callback");
        U.FlutterError_reportError(new U.FlutterErrorDetails(exception, exceptionStack, "scheduler library", t1, null, false));
      }
    },
    _invokeFrameCallback$2: function(callback, timeStamp) {
      return this._invokeFrameCallback$3(callback, timeStamp, null);
    }
  };
  N.SchedulerBinding_endOfFrame_closure.prototype = {
    call$1: function(timeStamp) {
      var t1 = this.$this;
      t1.SchedulerBinding__nextFrameCompleter.complete$0(0);
      t1.SchedulerBinding__nextFrameCompleter = null;
    },
    $signature: 6
  };
  N.SchedulerBinding_scheduleWarmUpFrame_closure.prototype = {
    call$0: function() {
      this.$this.handleBeginFrame$1(null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  N.SchedulerBinding_scheduleWarmUpFrame_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.handleDrawFrame$0();
      t1.resetEpoch$0();
      t1.SchedulerBinding__warmUpFrame = false;
      if (this.hadScheduledFrame)
        t1.scheduleFrame$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  N.SchedulerBinding_scheduleWarmUpFrame_closure1.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return P._asyncAwait($async$self.$this.get$endOfFrame(), $async$call$0);
            case 2:
              // returning from await.
              P.Timeline_finishSync();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 88
  };
  N.SchedulerBinding__handleDrawFrame_closure.prototype = {
    call$1: function(timeStamp) {
      var t1 = this.$this;
      t1.SchedulerBinding__hasScheduledFrame = false;
      t1.scheduleFrame$0();
    },
    $signature: 6
  };
  N.SchedulerBinding_handleBeginFrame_closure.prototype = {
    call$2: function(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: 844
  };
  V.Priority.prototype = {
    $add: function(_, offset) {
      if (Math.abs(offset) > 10000)
        offset = 10000 * C.JSInt_methods.get$sign(offset);
      return new V.Priority(this._priority$_value + offset);
    },
    $sub: function(_, offset) {
      return this.$add(0, -offset);
    }
  };
  M.Ticker.prototype = {
    set$muted: function(_, 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: function() {
      if (this._ticker$_future == null)
        return false;
      if (this._muted)
        return false;
      var t1 = $.SchedulerBinding__instance;
      t1.toString;
      if (N.SchedulerBinding.prototype.get$framesEnabled.call(t1) && t1.WidgetsBinding__readyToProduceFrames)
        return true;
      if ($.SchedulerBinding__instance.SchedulerBinding__schedulerPhase !== C.SchedulerPhase_0)
        return true;
      return false;
    },
    start$0: function(_) {
      var t1, t2, _this = this;
      _this._ticker$_future = new M.TickerFuture(new P._AsyncCompleter(new P._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: function(_, 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: function($receiver) {
      return this.stop$1$canceled($receiver, false);
    },
    _ticker$_tick$1: function(timeStamp) {
      var t1, _this = this;
      _this._animationId = null;
      t1 = _this._startTime;
      if (t1 == null)
        t1 = _this._startTime = timeStamp;
      t1.toString;
      _this._onTick.call$1(new P.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: function() {
      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: function(_) {
      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: function(_, debugIncludeStack) {
      return "Ticker()".charCodeAt(0) == 0 ? "Ticker()" : "Ticker()";
    },
    toString$0: function($receiver) {
      return this.toString$1$debugIncludeStack($receiver, false);
    }
  };
  M.TickerFuture.prototype = {
    _ticker$_complete$0: function() {
      this._completed = true;
      this._primaryCompleter.complete$0(0);
      var t1 = this._secondaryCompleter;
      if (t1 != null)
        t1.complete$0(0);
    },
    _ticker$_cancel$1: function(ticker) {
      var t1;
      this._completed = false;
      t1 = this._secondaryCompleter;
      if (t1 != null)
        t1.completeError$1(new M.TickerCanceled(ticker));
    },
    whenCompleteOrCancel$1: function(callback) {
      var t2, t3, _this = this,
        t1 = new M.TickerFuture_whenCompleteOrCancel_thunk(callback);
      if (_this._secondaryCompleter == null) {
        t2 = _this._secondaryCompleter = new P._AsyncCompleter(new P._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(C.TickerCanceled_null);
      }
      _this._secondaryCompleter.future.then$1$2$onError(0, t1, t1, type$.void);
    },
    catchError$2$test: function(onError, test) {
      return this._primaryCompleter.future.catchError$2$test(onError, test);
    },
    catchError$1: function(onError) {
      return this.catchError$2$test(onError, null);
    },
    then$1$2$onError: function(_, onValue, onError, $R) {
      return this._primaryCompleter.future.then$1$2$onError(0, onValue, onError, $R);
    },
    then$1$1: function($receiver, onValue, $R) {
      return this.then$1$2$onError($receiver, onValue, null, $R);
    },
    timeout$2$onTimeout: function(_, timeLimit, onTimeout) {
      return this._primaryCompleter.future.timeout$2$onTimeout(0, timeLimit, onTimeout);
    },
    timeout$1: function($receiver, timeLimit) {
      return this.timeout$2$onTimeout($receiver, timeLimit, null);
    },
    whenComplete$1: function(action) {
      return this._primaryCompleter.future.whenComplete$1(action);
    },
    toString$0: function(_) {
      var t1 = "<optimized out>#" + Y.shortHash(this) + "(",
        t2 = this._completed;
      if (t2 == null)
        t2 = "active";
      else
        t2 = t2 ? "complete" : "canceled";
      return t1 + t2 + ")";
    },
    $isFuture: 1
  };
  M.TickerFuture_whenCompleteOrCancel_thunk.prototype = {
    call$1: function(value) {
      this.callback.call$0();
    },
    $signature: 13
  };
  M.TickerCanceled.prototype = {
    toString$0: function(_) {
      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
  };
  N.SemanticsBinding.prototype = {
    get$_accessibilityFeatures: function() {
      var t1 = this.SemanticsBinding___SemanticsBinding__accessibilityFeatures;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_accessibilityFeatures")) : t1;
    }
  };
  A.SemanticsTag.prototype = {
    toString$0: function(_) {
      return "SemanticsTag(" + this.name + ")";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  A.SemanticsData.prototype = {
    toStringShort$0: function() {
      return "SemanticsData";
    },
    $eq: function(_, 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.label == _this.label)
              if (other.value == _this.value)
                if (other.increasedValue == _this.increasedValue)
                  if (other.decreasedValue == _this.decreasedValue)
                    if (other.hint == _this.hint)
                      if (other.textDirection == _this.textDirection)
                        if (J.$eq$(other.rect, _this.rect))
                          if (S.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;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(P.hashValues(_this.flags, _this.actions, _this.label, _this.value, _this.increasedValue, _this.decreasedValue, _this.hint, _this.textDirection, _this.rect, _this.tags, _this.textSelection, _this.scrollChildCount, _this.scrollIndex, _this.scrollPosition, _this.scrollExtentMax, _this.scrollExtentMin, _this.platformViewId, _this.maxValueLength, _this.currentValueLength, _this.transform), _this.elevation, _this.thickness, P.hashList(_this.customSemanticsActionIds), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  A._SemanticsDiagnosticableNode.prototype = {
    getChildren$0: function() {
      return this.value.debugDescribeChildren$1$childOrder(this.childOrder);
    }
  };
  A.SemanticsProperties.prototype = {
    toStringShort$0: function() {
      return "SemanticsProperties";
    }
  };
  A.SemanticsNode.prototype = {
    set$transform: function(_, value) {
      if (!T.MatrixUtils_matrixEquals(this._semantics$_transform, value)) {
        this._semantics$_transform = value == null || T.MatrixUtils_isIdentity(value) ? null : value;
        this._markDirty$0();
      }
    },
    set$rect: function(_, value) {
      if (!J.$eq$(this._semantics$_rect, value)) {
        this._semantics$_rect = value;
        this._markDirty$0();
      }
    },
    set$isMergedIntoParent: function(value) {
      if (this._isMergedIntoParent === value)
        return;
      this._isMergedIntoParent = value;
      this._markDirty$0();
    },
    _replaceChildren$1: function(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, H.throwConcurrentModificationError)(t1), ++_i) {
          child = t1[_i];
          if (child._dead) {
            t4 = J.getInterceptor$x(child);
            if (t3._as(B.AbstractNode.prototype.get$parent.call(t4, child)) === _this) {
              child._node$_parent = null;
              if (_this._node$_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, H.throwConcurrentModificationError)(newChildren), ++_i) {
        child = newChildren[_i];
        child.toString;
        t3 = J.getInterceptor$x(child);
        if (t2._as(B.AbstractNode.prototype.get$parent.call(t3, child)) !== _this) {
          if (t2._as(B.AbstractNode.prototype.get$parent.call(t3, child)) != null) {
            t3 = t2._as(B.AbstractNode.prototype.get$parent.call(t3, child));
            if (t3 != null) {
              child._node$_parent = null;
              if (t3._node$_owner != null)
                child.detach$0(0);
            }
          }
          child._node$_parent = _this;
          t3 = _this._node$_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: function() {
      var t1 = this._semantics$_children;
      t1 = t1 == null ? null : t1.length !== 0;
      return t1 === true;
    },
    _visitDescendants$1: function(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, H.throwConcurrentModificationError)(t1), ++_i) {
          child = t1[_i];
          if (!visitor.call$1(child) || !child._visitDescendants$1(visitor))
            return false;
        }
      return true;
    },
    get$parent: function(_) {
      return type$.nullable_SemanticsNode._as(B.AbstractNode.prototype.get$parent.call(this, this));
    },
    redepthChildren$0: function() {
      var t1 = this._semantics$_children;
      if (t1 != null)
        C.JSArray_methods.forEach$1(t1, this.get$redepthChild());
    },
    attach$1: function(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, H.throwConcurrentModificationError)(t1), ++_i)
          t1[_i].attach$1(owner);
    },
    detach$0: function(_) {
      var t2, t3, _i, child, t4, _this = this,
        t1 = type$.nullable_SemanticsOwner;
      t1._as(B.AbstractNode.prototype.get$owner.call(_this))._nodes.remove$1(0, _this._id);
      t1._as(B.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, H.throwConcurrentModificationError)(t1), ++_i) {
          child = t1[_i];
          child.toString;
          t4 = J.getInterceptor$x(child);
          if (t3._as(B.AbstractNode.prototype.get$parent.call(t4, child)) === _this)
            t4.detach$0(child);
        }
      _this._markDirty$0();
    },
    _markDirty$0: function() {
      var _this = this;
      if (_this._semantics$_dirty)
        return;
      _this._semantics$_dirty = true;
      if (_this._node$_owner != null)
        type$.nullable_SemanticsOwner._as(B.AbstractNode.prototype.get$owner.call(_this))._dirtyNodes.add$1(0, _this);
    },
    updateWith$2$childrenInInversePaintOrder$config: function(_, childrenInInversePaintOrder, config) {
      var t1, _this = this;
      if (config == null)
        config = $.$get$SemanticsNode__kEmptyConfig();
      if (_this._label == config._label)
        if (_this._hint == config._hint)
          if (_this._elevation == config._elevation)
            if (_this._thickness === config._thickness)
              if (_this._decreasedValue == config._decreasedValue)
                if (_this._semantics$_value == config._semantics$_value)
                  if (_this._increasedValue == config._increasedValue)
                    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;
      if (t1)
        _this._markDirty$0();
      _this._label = config._label;
      _this._decreasedValue = config._decreasedValue;
      _this._semantics$_value = config._semantics$_value;
      _this._increasedValue = config._increasedValue;
      _this._hint = config._hint;
      _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 = P.LinkedHashMap_LinkedHashMap$from(config._actions, type$.SemanticsAction, type$.void_Function_nullable_Object);
      _this._customSemanticsActions = P.LinkedHashMap_LinkedHashMap$from(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 ? C.List_empty1 : childrenInInversePaintOrder);
    },
    updateWith$1$config: function($receiver, config) {
      return this.updateWith$2$childrenInInversePaintOrder$config($receiver, null, config);
    },
    getSemanticsData$0: function() {
      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, _this = this, _box_0 = {};
      _box_0.flags = _this._flags;
      _box_0.actions = _this._actionsAsBits;
      _box_0.label = _this._label;
      _box_0.hint = _this._hint;
      _box_0.value = _this._semantics$_value;
      _box_0.increasedValue = _this._increasedValue;
      _box_0.decreasedValue = _this._decreasedValue;
      _box_0.textDirection = _this._textDirection;
      t1 = _this.tags;
      _box_0.mergedTags = t1 == null ? null : P.LinkedHashSet_LinkedHashSet$from(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 = P.LinkedHashSet_LinkedHashSet$_empty(type$.int);
      for (t1 = _this._customSemanticsActions, t1 = t1.get$keys(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();)
        customSemanticsActionIds.add$1(0, A.CustomSemanticsAction_getIdentifier(t1.get$current(t1)));
      _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.label;
      t4 = _box_0.value;
      t5 = _box_0.increasedValue;
      t6 = _box_0.decreasedValue;
      t7 = _box_0.hint;
      t8 = _box_0.textDirection;
      t9 = _this._semantics$_rect;
      t10 = _this._semantics$_transform;
      t11 = _box_0.thickness;
      t12 = _box_0.mergedTags;
      t13 = _box_0.textSelection;
      t14 = _box_0.scrollChildCount;
      t15 = _box_0.scrollIndex;
      t16 = _box_0.scrollPosition;
      t17 = _box_0.scrollExtentMax;
      t18 = _box_0.scrollExtentMin;
      t19 = _box_0.platformViewId;
      t20 = _box_0.maxValueLength;
      t21 = _box_0.currentValueLength;
      t22 = P.List_List$of(customSemanticsActionIds, true, customSemanticsActionIds.$ti._eval$1("SetMixin.E"));
      C.JSArray_methods.sort$0(t22);
      return new A.SemanticsData(t1, t2, t3, t4, t5, t6, t7, t8, t13, t14, t15, t16, t17, t18, t19, t20, t21, t9, t12, t10, elevation, t11, t22);
    },
    _addToUpdate$2: function(builder, customSemanticsActionIdsUpdate) {
      var childrenInTraversalOrder, childrenInHitTestOrder, childCount, sortedChildren, i, t1, t2, customSemanticsActionIds, t3, t4, t5, t6, t7, t8, t9, t10, _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.textSelection;
      t3 = t2 != null;
      t4 = t3 ? t2.baseOffset : -1;
      t2 = t3 ? t2.extentOffset : -1;
      t3 = data.scrollChildCount;
      if (t3 == null)
        t3 = 0;
      t5 = data.scrollIndex;
      if (t5 == null)
        t5 = 0;
      t6 = data.scrollPosition;
      if (t6 == null)
        t6 = 0 / 0;
      t7 = data.scrollExtentMax;
      if (t7 == null)
        t7 = 0 / 0;
      t8 = data.scrollExtentMin;
      if (t8 == null)
        t8 = 0 / 0;
      t9 = data.transform;
      t9 = t9 == null ? null : t9._m4storage;
      if (t9 == null)
        t9 = $.$get$SemanticsNode__kIdentityTransform();
      t10 = customSemanticsActionIds == null ? $.$get$SemanticsNode__kEmptyCustomSemanticsActionsList() : customSemanticsActionIds;
      t9.length;
      builder._nodeUpdates.push(new H.SemanticsNodeUpdate(t1, data.flags, data.actions, t4, t2, t3, t5, t6, t7, t8, data.rect, data.label, data.hint, data.value, data.increasedValue, data.decreasedValue, data.textDirection, H.toMatrix32(t9), childrenInTraversalOrder, childrenInHitTestOrder, t10, data.thickness));
      _this._semantics$_dirty = false;
    },
    _childrenInTraversalOrder$0: function() {
      var t2, childrenInDefaultOrder, everythingSorted, sortNodes, lastSortKey, position, child, sortKey, isCompatibleWithPreviousSortKey, _this = this,
        inheritedTextDirection = _this._textDirection,
        t1 = type$.nullable_SemanticsNode,
        ancestor = t1._as(B.AbstractNode.prototype.get$parent.call(_this, _this));
      while (true) {
        t2 = inheritedTextDirection == null;
        if (!(t2 && ancestor != null))
          break;
        inheritedTextDirection = ancestor._textDirection;
        ancestor = t1._as(B.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 = H._setArrayType([], t1);
      sortNodes = H._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)
              H.throwExpression(P.UnsupportedError$("sort"));
            t1 = sortNodes.length - 1;
            if (t1 - 0 <= 32)
              H.Sort__insertionSort(sortNodes, 0, t1, J._interceptors_JSArray__compareAny$closure());
            else
              H.Sort__dualPivotQuicksort(sortNodes, 0, t1, J._interceptors_JSArray__compareAny$closure());
          }
          C.JSArray_methods.addAll$1(everythingSorted, sortNodes);
          C.JSArray_methods.set$length(sortNodes, 0);
        }
        sortNodes.push(new A._TraversalSortNode(child, sortKey, position));
      }
      if (lastSortKey != null)
        C.JSArray_methods.sort$0(sortNodes);
      C.JSArray_methods.addAll$1(everythingSorted, sortNodes);
      t1 = type$.MappedListIterable__TraversalSortNode_SemanticsNode;
      return P.List_List$of(new H.MappedListIterable(everythingSorted, new A.SemanticsNode__childrenInTraversalOrder_closure(), t1), true, t1._eval$1("ListIterable.E"));
    },
    sendEvent$1: function($event) {
      if (this._node$_owner == null)
        return;
      C.BasicMessageChannel_8hp.send$1(0, $event.toMap$1$nodeId(this._id));
    },
    toStringShort$0: function() {
      return "SemanticsNode#" + this._id;
    },
    toStringDeep$1$childOrder: function(childOrder) {
      A._SemanticsDiagnosticableNode$(childOrder, null, C.DiagnosticsTreeStyle_1, this);
      return "";
    },
    toDiagnosticsNode$3$childOrder$name$style: function(childOrder, $name, style) {
      return new A._SemanticsDiagnosticableNode(childOrder, this, $name, true, true, null, style);
    },
    toDiagnosticsNode$1$style: function(style) {
      return this.toDiagnosticsNode$3$childOrder$name$style(C.DebugSemanticsDumpOrder_1, null, style);
    },
    toDiagnosticsNode$0: function() {
      return this.toDiagnosticsNode$3$childOrder$name$style(C.DebugSemanticsDumpOrder_1, null, C.DiagnosticsTreeStyle_1);
    },
    debugDescribeChildren$1$childOrder: function(childOrder) {
      var t2,
        t1 = this.debugListChildrenInOrder$1(childOrder);
      t1.toString;
      t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,DiagnosticsNode>");
      return P.List_List$of(new H.MappedListIterable(t1, new A.SemanticsNode_debugDescribeChildren_closure(childOrder), t2), true, t2._eval$1("ListIterable.E"));
    },
    debugDescribeChildren$0: function() {
      return this.debugDescribeChildren$1$childOrder(C.DebugSemanticsDumpOrder_0);
    },
    debugListChildrenInOrder$1: function(childOrder) {
      var t1 = this._semantics$_children;
      if (t1 == null)
        return C.List_empty1;
      switch (childOrder) {
        case C.DebugSemanticsDumpOrder_0:
          return t1;
        case C.DebugSemanticsDumpOrder_1:
          return this._childrenInTraversalOrder$0();
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $isDiagnosticableTree: 1
  };
  A.SemanticsNode_getSemanticsData_closure.prototype = {
    call$1: function(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.value;
      if (t2 === "" || t2 == null)
        t1.value = node._semantics$_value;
      t2 = t1.increasedValue;
      if (t2 === "" || t2 == null)
        t1.increasedValue = node._increasedValue;
      t2 = t1.decreasedValue;
      if (t2 === "" || t2 == null)
        t1.decreasedValue = node._decreasedValue;
      t2 = node.tags;
      if (t2 != null) {
        t3 = t1.mergedTags;
        (t3 == null ? t1.mergedTags = P.LinkedHashSet_LinkedHashSet$_empty(type$.SemanticsTag) : t3).addAll$1(0, t2);
      }
      for (t2 = this.$this._customSemanticsActions, t2 = t2.get$keys(t2), t2 = t2.get$iterator(t2), t3 = this.customSemanticsActionIds; t2.moveNext$0();)
        t3.add$1(0, A.CustomSemanticsAction_getIdentifier(t2.get$current(t2)));
      node._hintOverrides != null;
      t2 = t1.label;
      t3 = t1.textDirection;
      t1.label = A._concatStrings(node._label, node._textDirection, t2, t3);
      t3 = t1.hint;
      t2 = t1.textDirection;
      t1.hint = A._concatStrings(node._hint, node._textDirection, t3, t2);
      t1.thickness = Math.max(t1.thickness, node._thickness + node._elevation);
      return true;
    },
    $signature: 158
  };
  A.SemanticsNode__childrenInTraversalOrder_closure.prototype = {
    call$1: function(sortNode) {
      return sortNode.node;
    },
    $signature: 847
  };
  A.SemanticsNode_debugDescribeChildren_closure.prototype = {
    call$1: function(node) {
      node.toString;
      return A._SemanticsDiagnosticableNode$(this.childOrder, null, C.DiagnosticsTreeStyle_1, node);
    },
    $signature: 848
  };
  A._BoxEdge.prototype = {
    compareTo$1: function(_, other) {
      return J.compareTo$1$ns(this.offset, other.offset);
    },
    $isComparable: 1,
    get$node: function() {
      return this.node;
    }
  };
  A._SemanticsSortGroup.prototype = {
    compareTo$1: function(_, other) {
      return J.compareTo$1$ns(this.startOffset, other.startOffset);
    },
    sortedWithinVerticalGroup$0: function() {
      var t1, t2, _i, child, t3, t4, t5, t6, horizontalGroups, group, depth, edge,
        edges = H._setArrayType([], type$.JSArray__BoxEdge);
      for (t1 = this.nodes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        t3 = child._semantics$_rect;
        t4 = t3.left;
        t5 = t3.top;
        t6 = t3.right;
        t3 = t3.bottom;
        edges.push(new A._BoxEdge(true, A._pointInParentCoordinates(child, new P.Offset(t4 - -0.1, t5 - -0.1))._dx, child));
        edges.push(new A._BoxEdge(false, A._pointInParentCoordinates(child, new P.Offset(t6 + -0.1, t3 + -0.1))._dx, child));
      }
      C.JSArray_methods.sort$0(edges);
      horizontalGroups = H._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, H.throwConcurrentModificationError)(edges), ++_i) {
        edge = edges[_i];
        if (edge.isLeadingEdge) {
          ++depth;
          if (group == null)
            group = new A._SemanticsSortGroup(edge.offset, t2, H._setArrayType([], t3));
          group.nodes.push(edge.node);
        } else
          --depth;
        if (depth === 0) {
          group.toString;
          horizontalGroups.push(group);
          group = null;
        }
      }
      C.JSArray_methods.sort$0(horizontalGroups);
      if (t2 === C.TextDirection_0) {
        t1 = type$.ReversedListIterable__SemanticsSortGroup;
        horizontalGroups = P.List_List$of(new H.ReversedListIterable(horizontalGroups, t1), true, t1._eval$1("ListIterable.E"));
      }
      t1 = H._arrayInstanceType(horizontalGroups)._eval$1("ExpandIterable<1,SemanticsNode>");
      return P.List_List$of(new H.ExpandIterable(horizontalGroups, new A._SemanticsSortGroup_sortedWithinVerticalGroup_closure(), t1), true, t1._eval$1("Iterable.E"));
    },
    sortedWithinKnot$0: function() {
      var t3, nodeMap, edges, t4, t5, t6, _i, node, t7, t8, t9, center, _i0, nextNode, t10, t11, t12, nextCenter, direction, isLtrAndForward, isRtlAndForward, sortedIds, startNodes,
        t1 = this.nodes,
        t2 = t1.length;
      if (t2 <= 1)
        return t1;
      t3 = type$.int;
      nodeMap = P.LinkedHashMap_LinkedHashMap$_empty(t3, type$.SemanticsNode);
      edges = P.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
      for (t4 = this.textDirection, t5 = t4 === C.TextDirection_0, t4 = t4 === C.TextDirection_1, t6 = t2, _i = 0; _i < t6; t9 === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i, t6 = t9) {
        node = t1[_i];
        nodeMap.$indexSet(0, node._id, node);
        t6 = node._semantics$_rect;
        t7 = t6.left;
        t8 = t6.right;
        t9 = t6.top;
        center = A._pointInParentCoordinates(node, new P.Offset(t7 + (t8 - t7) / 2, t9 + (t6.bottom - t9) / 2));
        for (t6 = t1.length, t7 = center._dx, t8 = center._dy, _i0 = 0; t9 = t1.length, _i0 < t9; t1.length === t6 || (0, H.throwConcurrentModificationError)(t1), ++_i0) {
          nextNode = t1[_i0];
          if ((node == null ? nextNode == null : node === nextNode) || edges.$index(0, nextNode._id) === node._id)
            continue;
          t9 = nextNode._semantics$_rect;
          t10 = t9.left;
          t11 = t9.right;
          t12 = t9.top;
          nextCenter = A._pointInParentCoordinates(nextNode, new P.Offset(t10 + (t11 - t10) / 2, t12 + (t9.bottom - t12) / 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 = H._setArrayType([], type$.JSArray_int);
      startNodes = H._setArrayType(t1.slice(0), H._arrayInstanceType(t1));
      C.JSArray_methods.sort$1(startNodes, new A._SemanticsSortGroup_sortedWithinKnot_closure());
      new H.MappedListIterable(startNodes, new A._SemanticsSortGroup_sortedWithinKnot_closure0(), H._arrayInstanceType(startNodes)._eval$1("MappedListIterable<1,int>")).forEach$1(0, new A._SemanticsSortGroup_sortedWithinKnot_search(P.LinkedHashSet_LinkedHashSet$_empty(t3), edges, sortedIds));
      t1 = type$.MappedListIterable_int_SemanticsNode;
      t1 = P.List_List$of(new H.MappedListIterable(sortedIds, new A._SemanticsSortGroup_sortedWithinKnot_closure1(nodeMap), t1), true, t1._eval$1("ListIterable.E"));
      t2 = H._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
      return P.List_List$of(new H.ReversedListIterable(t1, t2), true, t2._eval$1("ListIterable.E"));
    }
  };
  A._SemanticsSortGroup_sortedWithinVerticalGroup_closure.prototype = {
    call$1: function(group) {
      return group.sortedWithinKnot$0();
    },
    $signature: 246
  };
  A._SemanticsSortGroup_sortedWithinKnot_closure.prototype = {
    call$2: function(a, b) {
      var bTopLeft, verticalDiff,
        t1 = a._semantics$_rect,
        aTopLeft = A._pointInParentCoordinates(a, new P.Offset(t1.left, t1.top));
      t1 = b._semantics$_rect;
      bTopLeft = A._pointInParentCoordinates(b, new P.Offset(t1.left, t1.top));
      verticalDiff = J.compareTo$1$ns(aTopLeft._dy, bTopLeft._dy);
      if (verticalDiff !== 0)
        return -verticalDiff;
      return -J.compareTo$1$ns(aTopLeft._dx, bTopLeft._dx);
    },
    $signature: 159
  };
  A._SemanticsSortGroup_sortedWithinKnot_search.prototype = {
    call$1: function(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: 63
  };
  A._SemanticsSortGroup_sortedWithinKnot_closure0.prototype = {
    call$1: function(node) {
      return node._id;
    },
    $signature: 851
  };
  A._SemanticsSortGroup_sortedWithinKnot_closure1.prototype = {
    call$1: function(id) {
      var t1 = this.nodeMap.$index(0, id);
      t1.toString;
      return t1;
    },
    $signature: 852
  };
  A._childrenInDefaultOrder_closure.prototype = {
    call$1: function(group) {
      return group.sortedWithinVerticalGroup$0();
    },
    $signature: 246
  };
  A._TraversalSortNode.prototype = {
    compareTo$1: function(_, 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,
    get$node: function() {
      return this.node;
    }
  };
  A.SemanticsOwner.prototype = {
    dispose$0: function(_) {
      var _this = this;
      _this._dirtyNodes.clear$0(0);
      _this._nodes.clear$0(0);
      _this._detachedNodes.clear$0(0);
      _this.super$ChangeNotifier$dispose(0);
    },
    sendSemanticsUpdate$0: function() {
      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 = P.LinkedHashSet_LinkedHashSet$_empty(type$.int);
      visitedNodes = H._setArrayType([], type$.JSArray_SemanticsNode);
      for (t2 = type$.nullable_SemanticsNode, t3 = H._instanceType(t1)._eval$1("WhereIterable<SetMixin.E>"), t4 = t3._eval$1("Iterable.E"), t5 = _this._detachedNodes; t1._collection$_length !== 0;) {
        localDirtyNodes = P.List_List$of(new H.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)
          H.throwExpression(P.UnsupportedError$("sort"));
        t7 = localDirtyNodes.length - 1;
        if (t7 - 0 <= 32)
          H.Sort__insertionSort(localDirtyNodes, 0, t7, t6);
        else
          H.Sort__dualPivotQuicksort(localDirtyNodes, 0, t7, t6);
        C.JSArray_methods.addAll$1(visitedNodes, localDirtyNodes);
        for (t6 = localDirtyNodes.length, _i = 0; _i < localDirtyNodes.length; localDirtyNodes.length === t6 || (0, H.throwConcurrentModificationError)(localDirtyNodes), ++_i) {
          node = localDirtyNodes[_i];
          if (node._mergeAllDescendantsIntoThisNode || node._isMergedIntoParent) {
            t7 = J.getInterceptor$x(node);
            if (t2._as(B.AbstractNode.prototype.get$parent.call(t7, node)) != null) {
              t8 = t2._as(B.AbstractNode.prototype.get$parent.call(t7, node));
              t8 = t8._mergeAllDescendantsIntoThisNode || t8._isMergedIntoParent;
            } else
              t8 = false;
            if (t8) {
              t2._as(B.AbstractNode.prototype.get$parent.call(t7, node))._markDirty$0();
              node._semantics$_dirty = false;
            }
          }
        }
      }
      C.JSArray_methods.sort$1(visitedNodes, new A.SemanticsOwner_sendSemanticsUpdate_closure1());
      $.SemanticsBinding__instance.toString;
      builder = new P.SemanticsUpdateBuilder(H._setArrayType([], type$.JSArray_SemanticsNodeUpdate));
      for (t2 = visitedNodes.length, _i = 0; _i < visitedNodes.length; visitedNodes.length === t2 || (0, H.throwConcurrentModificationError)(visitedNodes), ++_i) {
        node = visitedNodes[_i];
        if (node._semantics$_dirty && node._node$_owner != null)
          node._addToUpdate$2(builder, customSemanticsActionIds);
      }
      t1.clear$0(0);
      for (t1 = P._LinkedHashSetIterator$(customSemanticsActionIds, customSemanticsActionIds._collection$_modifications, customSemanticsActionIds.$ti._precomputed1); t1.moveNext$0();)
        $.CustomSemanticsAction__actions.$index(0, t1._collection$_current).toString;
      $.SemanticsBinding__instance.toString;
      $.$get$window().platformDispatcher.toString;
      t1 = $.EngineSemanticsOwner__instance;
      if (t1 == null)
        t1 = $.EngineSemanticsOwner__instance = H.EngineSemanticsOwner$_();
      t1.updateSemantics$1(new H.SemanticsUpdate(builder._nodeUpdates));
      _this.notifyListeners$0();
    },
    _getSemanticsActionHandlerForId$2: function(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: function(id, action, args) {
      var handler = this._getSemanticsActionHandlerForId$2(id, action);
      if (handler != null) {
        handler.call$1(args);
        return;
      }
      if (action === C.SemanticsAction_256 && this._nodes.$index(0, id)._showOnScreen != null)
        this._nodes.$index(0, id)._showOnScreen.call$0();
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this);
    }
  };
  A.SemanticsOwner_sendSemanticsUpdate_closure.prototype = {
    call$1: function(node) {
      return !this.$this._detachedNodes.contains$1(0, node);
    },
    $signature: 158
  };
  A.SemanticsOwner_sendSemanticsUpdate_closure0.prototype = {
    call$2: function(a, b) {
      return a._depth - b._depth;
    },
    $signature: 159
  };
  A.SemanticsOwner_sendSemanticsUpdate_closure1.prototype = {
    call$2: function(a, b) {
      return a._depth - b._depth;
    },
    $signature: 159
  };
  A.SemanticsOwner__getSemanticsActionHandlerForId_closure.prototype = {
    call$1: function(node) {
      if (node._actions.containsKey$1(0, this.action)) {
        this._box_0.result = node;
        return false;
      }
      return true;
    },
    $signature: 158
  };
  A.SemanticsConfiguration.prototype = {
    _addAction$2: function(action, handler) {
      var _this = this;
      _this._actions.$indexSet(0, action, handler);
      _this._actionsAsBits = _this._actionsAsBits | action.index;
      _this._hasBeenAnnotated = true;
    },
    _addArgumentlessAction$2: function(action, handler) {
      this._addAction$2(action, new A.SemanticsConfiguration__addArgumentlessAction_closure(handler));
    },
    set$onTap: function(value) {
      value.toString;
      this._addArgumentlessAction$2(C.SemanticsAction_1, value);
      this._semantics$_onTap = value;
    },
    set$onLongPress: function(value) {
      value.toString;
      this._addArgumentlessAction$2(C.SemanticsAction_2, value);
    },
    set$onScrollLeft: function(value) {
      this._addArgumentlessAction$2(C.SemanticsAction_4, value);
    },
    set$onDismiss: function(value) {
      this._addArgumentlessAction$2(C.SemanticsAction_262144, value);
    },
    set$onScrollRight: function(value) {
      this._addArgumentlessAction$2(C.SemanticsAction_8, value);
    },
    set$onScrollUp: function(value) {
      this._addArgumentlessAction$2(C.SemanticsAction_16, value);
    },
    set$onScrollDown: function(value) {
      this._addArgumentlessAction$2(C.SemanticsAction_32, value);
    },
    set$onIncrease: function(value) {
      this._addArgumentlessAction$2(C.SemanticsAction_64, value);
    },
    set$onDecrease: function(value) {
      this._addArgumentlessAction$2(C.SemanticsAction_128, value);
    },
    set$onCopy: function(_, value) {
      this._addArgumentlessAction$2(C.SemanticsAction_4096, value);
    },
    set$onCut: function(_, value) {
      this._addArgumentlessAction$2(C.SemanticsAction_8192, value);
    },
    set$onPaste: function(_, value) {
      this._addArgumentlessAction$2(C.SemanticsAction_16384, value);
    },
    set$onMoveCursorForwardByCharacter: function(value) {
      this._addAction$2(C.SemanticsAction_512, new A.SemanticsConfiguration_onMoveCursorForwardByCharacter_closure(value));
    },
    set$onMoveCursorBackwardByCharacter: function(value) {
      this._addAction$2(C.SemanticsAction_1024, new A.SemanticsConfiguration_onMoveCursorBackwardByCharacter_closure(value));
    },
    set$onMoveCursorForwardByWord: function(value) {
      this._addAction$2(C.SemanticsAction_524288, new A.SemanticsConfiguration_onMoveCursorForwardByWord_closure(value));
    },
    set$onMoveCursorBackwardByWord: function(value) {
      this._addAction$2(C.SemanticsAction_1048576, new A.SemanticsConfiguration_onMoveCursorBackwardByWord_closure(value));
    },
    set$onSetSelection: function(value) {
      this._addAction$2(C.SemanticsAction_2048, new A.SemanticsConfiguration_onSetSelection_closure(value));
    },
    set$onSetText: function(value) {
      this._addAction$2(C.SemanticsAction_2097152, new A.SemanticsConfiguration_onSetText_closure(value));
    },
    set$onDidGainAccessibilityFocus: function(value) {
      this._addArgumentlessAction$2(C.SemanticsAction_32768, value);
    },
    set$onDidLoseAccessibilityFocus: function(value) {
      this._addArgumentlessAction$2(C.SemanticsAction_65536, value);
    },
    set$scrollChildCount: function(value) {
      if (value == this._scrollChildCount)
        return;
      this._scrollChildCount = value;
      this._hasBeenAnnotated = true;
    },
    set$scrollIndex: function(value) {
      if (value == this._scrollIndex)
        return;
      this._scrollIndex = value;
      this._hasBeenAnnotated = true;
    },
    set$maxValueLength: function(value) {
      return;
    },
    set$currentValueLength: function(value) {
      if (value == this._currentValueLength)
        return;
      this._currentValueLength = value;
      this._hasBeenAnnotated = true;
    },
    set$elevation: function(_, value) {
      if (value == this._elevation)
        return;
      this._elevation = value;
      this._hasBeenAnnotated = true;
    },
    addTagForChildren$1: function(tag) {
      var t1 = this._tagsForChildren;
      (t1 == null ? this._tagsForChildren = P.LinkedHashSet_LinkedHashSet$_empty(type$.SemanticsTag) : t1).add$1(0, tag);
    },
    _setFlag$2: function(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: function(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;
      t1 = _this._semantics$_value;
      if (t1 != null)
        if (t1.length !== 0) {
          t1 = other._semantics$_value;
          t1 = t1 != null && t1.length !== 0;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1)
        return false;
      return true;
    },
    absorb$1: function(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._label;
      _this._label = A._concatStrings(child._label, child._textDirection, t2, t1);
      t1 = _this._decreasedValue;
      if (t1 === "" || t1 == null)
        _this._decreasedValue = child._decreasedValue;
      t1 = _this._semantics$_value;
      if (t1 === "" || t1 == null)
        _this._semantics$_value = child._semantics$_value;
      t1 = _this._increasedValue;
      if (t1 === "" || t1 == null)
        _this._increasedValue = child._increasedValue;
      t1 = _this._hint;
      t2 = _this._textDirection;
      _this._hint = A._concatStrings(child._hint, child._textDirection, t1, t2);
      _this._thickness = Math.max(_this._thickness, child._thickness + child._elevation);
      _this._hasBeenAnnotated = _this._hasBeenAnnotated || child._hasBeenAnnotated;
    },
    copy$0: function(_) {
      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._label = _this._label;
      t1._increasedValue = _this._increasedValue;
      t1._semantics$_value = _this._semantics$_value;
      t1._decreasedValue = _this._decreasedValue;
      t1._hint = _this._hint;
      t1._hintOverrides = _this._hintOverrides;
      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: function(args) {
      this.handler.call$0();
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onMoveCursorForwardByCharacter_closure.prototype = {
    call$1: function(args) {
      args.toString;
      this.value.call$1(H._asBoolS(args));
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onMoveCursorBackwardByCharacter_closure.prototype = {
    call$1: function(args) {
      args.toString;
      this.value.call$1(H._asBoolS(args));
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onMoveCursorForwardByWord_closure.prototype = {
    call$1: function(args) {
      args.toString;
      this.value.call$1(H._asBoolS(args));
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onMoveCursorBackwardByWord_closure.prototype = {
    call$1: function(args) {
      args.toString;
      this.value.call$1(H._asBoolS(args));
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onSetSelection_closure.prototype = {
    call$1: function(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(X.TextSelection$(C.TextAffinity_1, t1, t2, false));
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onSetText_closure.prototype = {
    call$1: function(args) {
      args.toString;
      this.value.call$1(H._asStringS(args));
    },
    $signature: 4
  };
  A.DebugSemanticsDumpOrder.prototype = {
    toString$0: function(_) {
      return this._semantics$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  A.SemanticsSortKey.prototype = {
    compareTo$1: function(_, other) {
      var t1;
      other.toString;
      t1 = this.doCompare$1(other);
      return t1;
    },
    $isComparable: 1,
    get$name: function(receiver) {
      return this.name;
    }
  };
  A.OrdinalSortKey.prototype = {
    doCompare$1: function(other) {
      var t1 = other.order === this.order;
      if (t1)
        return 0;
      return C.JSInt_methods.compareTo$1(this.order, other.order);
    }
  };
  A._SemanticsData_Object_Diagnosticable.prototype = {};
  A._SemanticsNode_AbstractNode_DiagnosticableTreeMixin.prototype = {};
  A._SemanticsSortKey_Object_Diagnosticable.prototype = {};
  E.SemanticsEvent.prototype = {
    toMap$1$nodeId: function(nodeId) {
      var $event = P.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: function() {
      return this.toMap$1$nodeId(null);
    },
    toString$0: function(_) {
      var t1, _i, key,
        pairs = H._setArrayType([], type$.JSArray_String),
        dataMap = this.getDataMap$0(),
        sortedKeys = J.toList$0$ax(dataMap.get$keys(dataMap));
      C.JSArray_methods.sort$0(sortedKeys);
      for (t1 = sortedKeys.length, _i = 0; _i < sortedKeys.length; sortedKeys.length === t1 || (0, H.throwConcurrentModificationError)(sortedKeys), ++_i) {
        key = sortedKeys[_i];
        pairs.push(H.S(key) + ": " + H.S(dataMap.$index(0, key)));
      }
      return "SemanticsEvent(" + C.JSArray_methods.join$1(pairs, ", ") + ")";
    }
  };
  E.TooltipSemanticsEvent.prototype = {
    getDataMap$0: function() {
      return P.LinkedHashMap_LinkedHashMap$_literal(["message", this.message], type$.String, type$.dynamic);
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  E.LongPressSemanticsEvent.prototype = {
    getDataMap$0: function() {
      return C.Map_empty6;
    }
  };
  E.TapSemanticEvent.prototype = {
    getDataMap$0: function() {
      return C.Map_empty6;
    }
  };
  Q.AssetBundle.prototype = {
    loadString$2$cache: function(key, cache) {
      return this.loadString$body$AssetBundle(key, true);
    },
    loadString$body$AssetBundle: function(key, cache) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, t1, data;
      var $async$loadString$2$cache = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.load$1(0, key), $async$loadString$2$cache);
            case 3:
              // returning from await.
              data = $async$result;
              if (data == null)
                throw H.wrapException(U.FlutterError_FlutterError("Unable to load asset: " + key));
              t1 = J.getInterceptor$x(data);
              if (t1.get$lengthInBytes(data) < 51200) {
                $async$returnValue = C.Utf8Codec_false.decode$1(0, J.asUint8List$0$x(t1.get$buffer(data)));
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = U.compute(Q.asset_bundle_AssetBundle__utf8decode$closure(), data, 'UTF8 decode for "' + key + '"', type$.ByteData, type$.String);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$loadString$2$cache, $async$completer);
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this) + "()";
    }
  };
  Q.CachingAssetBundle.prototype = {
    loadString$2$cache: function(key, cache) {
      if (cache)
        return this._stringCache.putIfAbsent$2(0, key, new Q.CachingAssetBundle_loadString_closure(this, key));
      return this.super$AssetBundle$loadString(key, true);
    },
    loadString$1: function(key) {
      return this.loadString$2$cache(key, true);
    },
    loadStructuredData$1$2: function(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(0, parser, $T).then$1$1(0, new Q.CachingAssetBundle_loadStructuredData_closure(t1, this, key, $T), type$.void);
      t3 = t1.result;
      if (t3 != null)
        return t3;
      t3 = new P._Future($.Zone__current, $T._eval$1("_Future<0>"));
      t1.completer = new P._AsyncCompleter(t3, $T._eval$1("_AsyncCompleter<0>"));
      t2.$indexSet(0, key, t3);
      return t1.completer.future;
    }
  };
  Q.CachingAssetBundle_loadString_closure.prototype = {
    call$0: function() {
      return this.$this.super$AssetBundle$loadString(this.key, true);
    },
    $signature: 853
  };
  Q.CachingAssetBundle_loadStructuredData_closure.prototype = {
    call$1: function(value) {
      var _this = this,
        result = new O.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: function() {
      return this.T._eval$1("Null(0)");
    }
  };
  Q.PlatformAssetBundle.prototype = {
    load$1: function(_, key) {
      return this.load$body$PlatformAssetBundle(0, key);
    },
    load$body$PlatformAssetBundle: function(_, key) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.ByteData),
        $async$returnValue, encoded, asset;
      var $async$load$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              encoded = C.C_Utf8Encoder.convert$1(P._Uri__Uri(null, P._Uri__uriEncode(C.List_gnE, key, C.Utf8Codec_false, false), null, null, null, null, null).path);
              $async$goto = 3;
              return P._asyncAwait($.ServicesBinding__instance.get$_defaultBinaryMessenger().send$2(0, "flutter/assets", H.NativeByteData_NativeByteData$view(encoded.buffer, 0, null)), $async$load$1);
            case 3:
              // returning from await.
              asset = $async$result;
              if (asset == null)
                throw H.wrapException(U.FlutterError_FlutterError("Unable to load asset: " + H.S(key)));
              $async$returnValue = asset;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$load$1, $async$completer);
    }
  };
  F.AutofillConfiguration.prototype = {
    toJson$0: function() {
      return P.LinkedHashMap_LinkedHashMap$_literal(["uniqueIdentifier", this.uniqueIdentifier, "hints", this.autofillHints, "editingValue", this.currentEditingValue.toJSON$0()], type$.String, type$.dynamic);
    }
  };
  Q.BinaryMessenger.prototype = {};
  N.ServicesBinding.prototype = {
    get$_defaultBinaryMessenger: function() {
      var t1 = this.ServicesBinding___ServicesBinding__defaultBinaryMessenger;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_defaultBinaryMessenger")) : t1;
    },
    handleMemoryPressure$0: function() {
    },
    handleSystemMessage$1: function(systemMessage) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this;
      var $async$handleSystemMessage$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              switch (H._asStringS(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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$handleSystemMessage$1, $async$completer);
    },
    _addLicenses$0: function() {
      var $async$_addLicenses$0 = P._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 = new P._Future($.Zone__current, type$._Future_String);
              rawLicenses = new P._AsyncCompleter(t1, type$._AsyncCompleter_String);
              t2 = type$.Future_Null;
              $async$self.scheduleTask$1$2(new N.ServicesBinding__addLicenses_closure(rawLicenses), C.Priority_100000, t2);
              $async$goto = 3;
              return P._asyncStarHelper(t1, $async$_addLicenses$0, $async$controller);
            case 3:
              // returning from await.
              t1 = new P._Future($.Zone__current, type$._Future_List_LicenseEntry);
              $async$self.scheduleTask$1$2(new N.ServicesBinding__addLicenses_closure0(new P._AsyncCompleter(t1, type$._AsyncCompleter_List_LicenseEntry), rawLicenses), C.Priority_100000, t2);
              $async$goto = 4;
              return P._asyncStarHelper(t1, $async$_addLicenses$0, $async$controller);
            case 4:
              // returning from await.
              $async$temp1 = P;
              $async$goto = 6;
              return P._asyncStarHelper(t1, $async$_addLicenses$0, $async$controller);
            case 6:
              // returning from await.
              $async$goto = 5;
              $async$nextWhenCanceled = [1];
              return P._asyncStarHelper(P._IterationMarker_yieldStar($async$temp1.Stream_Stream$fromIterable($async$result, type$.LicenseEntry)), $async$_addLicenses$0, $async$controller);
            case 5:
              // after yield
            case 1:
              // return
              return P._asyncStarHelper(null, 0, $async$controller);
            case 2:
              // rethrow
              return P._asyncStarHelper($async$currentError, 1, $async$controller);
          }
      });
      var $async$goto = 0,
        $async$controller = P._makeAsyncStarStreamController($async$_addLicenses$0, type$.LicenseEntry),
        $async$nextWhenCanceled, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, t1, rawLicenses, t2, $async$temp1;
      return P._streamOfController($async$controller);
    },
    readInitialLifecycleStateFromNativeWindow$0: function() {
      if (this.SchedulerBinding__lifecycleState != null)
        return;
      $.$get$window().platformDispatcher.toString;
      var state = N.ServicesBinding__parseAppLifecycleMessage("AppLifecycleState.resumed");
      if (state != null)
        this.handleAppLifecycleStateChanged$1(state);
    },
    _handleLifecycleMessage$1: function(message) {
      return this._handleLifecycleMessage$body$ServicesBinding(message);
    },
    _handleLifecycleMessage$body$ServicesBinding: function(message) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.nullable_String),
        $async$returnValue, $async$self = this, t1;
      var $async$_handleLifecycleMessage$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              message.toString;
              t1 = N.ServicesBinding__parseAppLifecycleMessage(message);
              t1.toString;
              $async$self.handleAppLifecycleStateChanged$1(t1);
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleLifecycleMessage$1, $async$completer);
    },
    get$_restorationManager: function() {
      var t1 = this.ServicesBinding___ServicesBinding__restorationManager;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_restorationManager")) : t1;
    }
  };
  N.ServicesBinding__addLicenses_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.$get$rootBundle().loadString$2$cache("NOTICES", false);
              $async$self.rawLicenses.complete$1(0, t1);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 101
  };
  N.ServicesBinding__addLicenses_closure0.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, $async$temp1, $async$temp2, $async$temp3;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = $async$self.parsedLicenses;
              $async$temp2 = U;
              $async$temp3 = N.binding0_ServicesBinding__parseLicenses$closure();
              $async$goto = 2;
              return P._asyncAwait($async$self.rawLicenses.future, $async$call$0);
            case 2:
              // returning from await.
              $async$temp1.complete$1(0, $async$temp2.compute($async$temp3, $async$result, "parseLicenses", type$.String, type$.List_LicenseEntry));
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 101
  };
  N._DefaultBinaryMessenger.prototype = {
    send$2: function(_, channel, message) {
      var t1 = new P._Future($.Zone__current, type$._Future_nullable_ByteData),
        t2 = $.$get$EnginePlatformDispatcher__instance();
      t2.toString;
      t2._sendPlatformMessage$3(channel, message, H.EnginePlatformDispatcher__zonedPlatformMessageResponseCallback(new N._DefaultBinaryMessenger_send_closure(new P._AsyncCompleter(t1, type$._AsyncCompleter_nullable_ByteData))));
      return t1;
    },
    setMessageHandler$2: function(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 N._DefaultBinaryMessenger_setMessageHandler_closure(handler));
    }
  };
  N._DefaultBinaryMessenger_send_closure.prototype = {
    call$1: function(reply) {
      var exception, stack, exception0, t1;
      try {
        this.completer.complete$1(0, reply);
      } catch (exception0) {
        exception = H.unwrapException(exception0);
        stack = H.getTraceFromException(exception0);
        t1 = U.ErrorDescription$("during a platform message response callback");
        U.FlutterError_reportError(new U.FlutterErrorDetails(exception, stack, "services library", t1, null, false));
      }
    },
    $signature: 33
  };
  N._DefaultBinaryMessenger_setMessageHandler_closure.prototype = {
    call$2: function(data, callback) {
      return this.$call$body$_DefaultBinaryMessenger_setMessageHandler_closure(data, callback);
    },
    $call$body$_DefaultBinaryMessenger_setMessageHandler_closure: function(data, callback) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, exception, stack, exception0, t1, response, $async$exception0;
      var $async$call$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              response = null;
              $async$handler = 3;
              $async$goto = 6;
              return P._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 = H.unwrapException($async$exception0);
              stack = H.getTraceFromException($async$exception0);
              t1 = U.ErrorDescription$("during a platform message callback");
              U.FlutterError_reportError(new U.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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 856
  };
  T.ClipboardData.prototype = {
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  G.KeyboardKey.prototype = {};
  G.LogicalKeyboardKey.prototype = {
    get$keyLabel: function() {
      var t1 = this.keyId,
        t2 = G.LogicalKeyboardKey__unicodeKeyLabel(t1);
      t1 = t2 == null ? C.Map_QkRWS.$index(0, t1) : t2;
      return t1 == null ? "" : t1;
    },
    get$hashCode: function(_) {
      return C.JSInt_methods.get$hashCode(this.keyId);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof G.LogicalKeyboardKey && other.keyId === this.keyId;
    },
    get$synonyms: function() {
      var result = $.LogicalKeyboardKey__synonyms.$index(0, this),
        t1 = type$.LogicalKeyboardKey;
      return result == null ? P.LinkedHashSet_LinkedHashSet$_empty(t1) : P.LinkedHashSet_LinkedHashSet$_literal([result], t1);
    }
  };
  G.PhysicalKeyboardKey.prototype = {
    get$hashCode: function(_) {
      return C.JSInt_methods.get$hashCode(this.usbHidUsage);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof G.PhysicalKeyboardKey && other.usbHidUsage === this.usbHidUsage;
    }
  };
  G._KeyboardKey_Object_Diagnosticable.prototype = {};
  F.MethodCall.prototype = {
    toString$0: function(_) {
      return "MethodCall(" + this.method + ", " + H.S(this.$arguments) + ")";
    }
  };
  F.PlatformException.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "PlatformException(" + H.S(_this.code) + ", " + H.S(_this.message) + ", " + H.S(_this.details) + ", " + H.S(_this.stacktrace) + ")";
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    }
  };
  F.MissingPluginException.prototype = {
    toString$0: function(_) {
      return "MissingPluginException(" + H.S(this.message) + ")";
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    }
  };
  U.StringCodec.prototype = {
    decodeMessage$1: function(message) {
      var t1;
      if (message == null)
        return null;
      t1 = J.getInterceptor$x(message);
      return C.Utf8Decoder_false.convert$1(J.asUint8List$2$x(t1.get$buffer(message), t1.get$offsetInBytes(message), t1.get$lengthInBytes(message)));
    },
    encodeMessage$1: function(message) {
      if (message == null)
        return null;
      return H.NativeByteData_NativeByteData$view(C.C_Utf8Encoder.convert$1(message).buffer, 0, null);
    }
  };
  U.JSONMessageCodec0.prototype = {
    encodeMessage$1: function(message) {
      if (message == null)
        return null;
      return C.C_StringCodec.encodeMessage$1(C.C_JsonCodec.encode$1(message));
    },
    decodeMessage$1: function(message) {
      var t1;
      if (message == null)
        return message;
      t1 = C.C_StringCodec.decodeMessage$1(message);
      t1.toString;
      return C.C_JsonCodec.decode$1(0, t1);
    }
  };
  U.JSONMethodCodec0.prototype = {
    encodeMethodCall$1: function($call) {
      var t1 = C.C_JSONMessageCodec.encodeMessage$1(P.LinkedHashMap_LinkedHashMap$_literal(["method", $call.method, "args", $call.$arguments], type$.String, type$.nullable_Object));
      t1.toString;
      return t1;
    },
    decodeMethodCall$1: function(methodCall) {
      var t1, method, $arguments, _null = null,
        decoded = C.C_JSONMessageCodec.decodeMessage$1(methodCall);
      if (!type$.Map_dynamic_dynamic._is(decoded))
        throw H.wrapException(P.FormatException$("Expected method call Map, got " + H.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 F.MethodCall(method, $arguments);
      throw H.wrapException(P.FormatException$("Invalid method call: " + H.S(decoded), _null, _null));
    },
    decodeEnvelope$1: function(envelope) {
      var t1, t2, t3, _null = null,
        decoded = C.C_JSONMessageCodec.decodeMessage$1(envelope);
      if (!type$.List_dynamic._is(decoded))
        throw H.wrapException(P.FormatException$("Expected envelope List, got " + H.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 = H._asStringS(t1.$index(decoded, 0));
        t3 = H._asStringS(t1.$index(decoded, 1));
        throw H.wrapException(F.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 = H._asStringS(t1.$index(decoded, 0));
        t3 = H._asStringS(t1.$index(decoded, 1));
        throw H.wrapException(F.PlatformException$(t2, t1.$index(decoded, 2), t3, H._asStringS(t1.$index(decoded, 3))));
      }
      throw H.wrapException(P.FormatException$("Invalid envelope: " + H.S(decoded), _null, _null));
    },
    encodeSuccessEnvelope$1: function(result) {
      var t1 = C.C_JSONMessageCodec.encodeMessage$1([result]);
      t1.toString;
      return t1;
    },
    encodeErrorEnvelope$3$code$details$message: function(code, details, message) {
      var t1 = C.C_JSONMessageCodec.encodeMessage$1([code, message, details]);
      t1.toString;
      return t1;
    }
  };
  U.StandardMessageCodec0.prototype = {
    encodeMessage$1: function(message) {
      var buffer;
      if (message == null)
        return null;
      buffer = G.WriteBuffer$();
      this.writeValue$2(0, buffer, message);
      return buffer.done$0();
    },
    decodeMessage$1: function(message) {
      var buffer, result;
      if (message == null)
        return null;
      buffer = new G.ReadBuffer(message);
      result = this.readValue$1(0, buffer);
      if (buffer._serialization$_position < J.get$lengthInBytes$x(message))
        throw H.wrapException(C.FormatException_oCg);
      return result;
    },
    writeValue$2: function(_, buffer, value) {
      var t1, t2, t3, bytes, _this = this;
      if (value == null)
        buffer._serialization$_buffer._typed_buffer$_add$1(0, 0);
      else if (H._isBool(value)) {
        t1 = value ? 1 : 2;
        buffer._serialization$_buffer._typed_buffer$_add$1(0, t1);
      } else if (typeof value == "number") {
        buffer._serialization$_buffer._typed_buffer$_add$1(0, 6);
        buffer._alignTo$1(8);
        t1 = $.$get$Endian_host();
        buffer._eightBytes.setFloat64(0, value, C.C_Endian === t1);
        buffer._serialization$_buffer.addAll$1(0, buffer.get$_eightBytesAsList());
      } else if (H._isInt(value)) {
        t1 = -2147483648 <= value && value <= 2147483647;
        t2 = buffer._serialization$_buffer;
        t3 = buffer._eightBytes;
        if (t1) {
          t2._typed_buffer$_add$1(0, 3);
          t1 = $.$get$Endian_host();
          t3.setInt32(0, value, C.C_Endian === t1);
          buffer._serialization$_buffer.addAll$3(0, buffer.get$_eightBytesAsList(), 0, 4);
        } else {
          t2._typed_buffer$_add$1(0, 4);
          t1 = $.$get$Endian_host();
          C.NativeByteData_methods.setInt64$3(t3, 0, value, t1);
        }
      } else if (typeof value == "string") {
        buffer._serialization$_buffer._typed_buffer$_add$1(0, 7);
        bytes = C.C_Utf8Encoder.convert$1(value);
        _this.writeSize$2(buffer, bytes.length);
        buffer._serialization$_buffer.addAll$1(0, bytes);
      } else if (type$.Uint8List._is(value)) {
        buffer._serialization$_buffer._typed_buffer$_add$1(0, 8);
        _this.writeSize$2(buffer, J.get$length$asx(value));
        buffer._serialization$_buffer.addAll$1(0, value);
      } else if (type$.Int32List._is(value)) {
        buffer._serialization$_buffer._typed_buffer$_add$1(0, 9);
        t1 = J.getInterceptor$asx(value);
        _this.writeSize$2(buffer, t1.get$length(value));
        buffer._alignTo$1(4);
        buffer._serialization$_buffer.addAll$1(0, J.asUint8List$2$x(t1.get$buffer(value), t1.get$offsetInBytes(value), 4 * t1.get$length(value)));
      } else if (type$.Int64List._is(value)) {
        buffer._serialization$_buffer._typed_buffer$_add$1(0, 10);
        _this.writeSize$2(buffer, value.get$length(value));
      } else if (type$.Float64List._is(value)) {
        buffer._serialization$_buffer._typed_buffer$_add$1(0, 11);
        t1 = J.getInterceptor$asx(value);
        _this.writeSize$2(buffer, t1.get$length(value));
        buffer._alignTo$1(8);
        buffer._serialization$_buffer.addAll$1(0, J.asUint8List$2$x(t1.get$buffer(value), t1.get$offsetInBytes(value), 8 * t1.get$length(value)));
      } else if (type$.List_dynamic._is(value)) {
        buffer._serialization$_buffer._typed_buffer$_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$_buffer._typed_buffer$_add$1(0, 13);
        t1 = J.getInterceptor$asx(value);
        _this.writeSize$2(buffer, t1.get$length(value));
        t1.forEach$1(value, new U.StandardMessageCodec_writeValue_closure(_this, buffer));
      } else
        throw H.wrapException(P.ArgumentError$value(value, null, null));
    },
    readValue$1: function(_, buffer) {
      if (!(buffer._serialization$_position < J.get$lengthInBytes$x(buffer.data)))
        throw H.wrapException(C.FormatException_oCg);
      return this.readValueOfType$2(buffer.getUint8$0(0), buffer);
    },
    readValueOfType$2: function(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 = J.getInt32$2$x(buffer.data, t1, 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 = J.getFloat64$2$x(buffer.data, t1, t2);
          buffer._serialization$_position += 8;
          return value;
        case 5:
        case 7:
          $length = _this.readSize$1(buffer);
          return C.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;
          t2 = J.getInterceptor$x(t1);
          list = J.asInt32List$2$x(t2.get$buffer(t1), t2.get$offsetInBytes(t1) + buffer._serialization$_position, $length);
          buffer._serialization$_position = buffer._serialization$_position + 4 * $length;
          return list;
        case 10:
          $length = _this.readSize$1(buffer);
          buffer._alignTo$1(8);
          t1 = buffer.data;
          t2 = J.getInterceptor$x(t1);
          list = J.asInt64List$2$x(t2.get$buffer(t1), t2.get$offsetInBytes(t1) + buffer._serialization$_position, $length);
          buffer._serialization$_position = buffer._serialization$_position + 8 * $length;
          return list;
        case 11:
          $length = _this.readSize$1(buffer);
          buffer._alignTo$1(8);
          t1 = buffer.data;
          t2 = J.getInterceptor$x(t1);
          list = J.asFloat64List$2$x(t2.get$buffer(t1), t2.get$offsetInBytes(t1) + buffer._serialization$_position, $length);
          buffer._serialization$_position = buffer._serialization$_position + 8 * $length;
          return list;
        case 12:
          $length = _this.readSize$1(buffer);
          result = P.List_List$filled($length, null, false, type$.nullable_Object);
          for (t1 = buffer.data, t2 = J.getInterceptor$x(t1), i = 0; i < $length; ++i) {
            if (!(buffer._serialization$_position < t2.get$lengthInBytes(t1)))
              H.throwExpression(C.FormatException_oCg);
            result[i] = _this.readValueOfType$2(t2.getUint8$1(t1, buffer._serialization$_position++), buffer);
          }
          return result;
        case 13:
          $length = _this.readSize$1(buffer);
          t1 = type$.nullable_Object;
          result = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
          for (t1 = buffer.data, t2 = J.getInterceptor$x(t1), i = 0; i < $length; ++i) {
            if (!(buffer._serialization$_position < t2.get$lengthInBytes(t1)))
              H.throwExpression(C.FormatException_oCg);
            t3 = _this.readValueOfType$2(t2.getUint8$1(t1, buffer._serialization$_position++), buffer);
            if (!(buffer._serialization$_position < t2.get$lengthInBytes(t1)))
              H.throwExpression(C.FormatException_oCg);
            result.$indexSet(0, t3, _this.readValueOfType$2(t2.getUint8$1(t1, buffer._serialization$_position++), buffer));
          }
          return result;
        default:
          throw H.wrapException(C.FormatException_oCg);
      }
    },
    writeSize$2: function(buffer, value) {
      var t1, t2;
      if (value < 254)
        buffer._serialization$_buffer._typed_buffer$_add$1(0, value);
      else {
        t1 = buffer._serialization$_buffer;
        t2 = buffer._eightBytes;
        if (value <= 65535) {
          t1._typed_buffer$_add$1(0, 254);
          t1 = $.$get$Endian_host();
          t2.setUint16(0, value, C.C_Endian === t1);
          buffer._serialization$_buffer.addAll$3(0, buffer.get$_eightBytesAsList(), 0, 2);
        } else {
          t1._typed_buffer$_add$1(0, 255);
          t1 = $.$get$Endian_host();
          t2.setUint32(0, value, C.C_Endian === t1);
          buffer._serialization$_buffer.addAll$3(0, buffer.get$_eightBytesAsList(), 0, 4);
        }
      }
    },
    readSize$1: function(buffer) {
      var t1, t2,
        value = buffer.getUint8$0(0);
      switch (value) {
        case 254:
          t1 = buffer._serialization$_position;
          t2 = $.$get$Endian_host();
          value = J.getUint16$2$x(buffer.data, t1, t2);
          buffer._serialization$_position += 2;
          return value;
        case 255:
          t1 = buffer._serialization$_position;
          t2 = $.$get$Endian_host();
          value = J.getUint32$2$x(buffer.data, t1, t2);
          buffer._serialization$_position += 4;
          return value;
        default:
          return value;
      }
    }
  };
  U.StandardMessageCodec_writeValue_closure.prototype = {
    call$2: function(key, value) {
      var t1 = this.$this,
        t2 = this.buffer;
      t1.writeValue$2(0, t2, key);
      t1.writeValue$2(0, t2, value);
    },
    $signature: 105
  };
  U.StandardMethodCodec0.prototype = {
    encodeMethodCall$1: function($call) {
      var buffer = G.WriteBuffer$();
      C.C_StandardMessageCodec.writeValue$2(0, buffer, $call.method);
      C.C_StandardMessageCodec.writeValue$2(0, buffer, $call.$arguments);
      return buffer.done$0();
    },
    decodeMethodCall$1: function(methodCall) {
      var buffer, method, $arguments;
      methodCall.toString;
      buffer = new G.ReadBuffer(methodCall);
      method = C.C_StandardMessageCodec.readValue$1(0, buffer);
      $arguments = C.C_StandardMessageCodec.readValue$1(0, buffer);
      if (typeof method == "string" && !(buffer._serialization$_position < J.get$lengthInBytes$x(methodCall)))
        return new F.MethodCall(method, $arguments);
      else
        throw H.wrapException(C.FormatException_Qi2);
    },
    encodeSuccessEnvelope$1: function(result) {
      var buffer = G.WriteBuffer$();
      buffer._serialization$_buffer._typed_buffer$_add$1(0, 0);
      C.C_StandardMessageCodec.writeValue$2(0, buffer, result);
      return buffer.done$0();
    },
    encodeErrorEnvelope$3$code$details$message: function(code, details, message) {
      var buffer = G.WriteBuffer$();
      buffer._serialization$_buffer._typed_buffer$_add$1(0, 1);
      C.C_StandardMessageCodec.writeValue$2(0, buffer, code);
      C.C_StandardMessageCodec.writeValue$2(0, buffer, message);
      C.C_StandardMessageCodec.writeValue$2(0, buffer, details);
      return buffer.done$0();
    },
    decodeEnvelope$1: function(envelope) {
      var buffer, errorCode, errorMessage, errorDetails, errorStacktrace,
        t1 = J.getInterceptor$x(envelope);
      if (t1.get$lengthInBytes(envelope) === 0)
        throw H.wrapException(C.FormatException_iDw);
      buffer = new G.ReadBuffer(envelope);
      if (buffer.getUint8$0(0) === 0)
        return C.C_StandardMessageCodec.readValue$1(0, buffer);
      errorCode = C.C_StandardMessageCodec.readValue$1(0, buffer);
      errorMessage = C.C_StandardMessageCodec.readValue$1(0, buffer);
      errorDetails = C.C_StandardMessageCodec.readValue$1(0, buffer);
      errorStacktrace = buffer._serialization$_position < t1.get$lengthInBytes(envelope) ? H._asStringQ(C.C_StandardMessageCodec.readValue$1(0, buffer)) : null;
      if (typeof errorCode == "string")
        t1 = (errorMessage == null || typeof errorMessage == "string") && !(buffer._serialization$_position < t1.get$lengthInBytes(envelope));
      else
        t1 = false;
      if (t1)
        throw H.wrapException(F.PlatformException$(errorCode, errorDetails, H._asStringQ(errorMessage), errorStacktrace));
      else
        throw H.wrapException(C.FormatException_pSr);
    }
  };
  A.MouseCursorManager.prototype = {
    handleDeviceCursorUpdate$3: function(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);
      C.OptionalMethodChannel_meQ.invokeMethod$1$2("activateSystemCursor", P.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: function(_) {
      var debugDescription = this.get$debugDescription();
      return debugDescription;
    }
  };
  A._DeferringMouseCursor.prototype = {
    createSession$1: function(device) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    get$debugDescription: function() {
      return "defer";
    }
  };
  A._SystemMouseCursorSession.prototype = {};
  A.SystemMouseCursor.prototype = {
    get$debugDescription: function() {
      return "SystemMouseCursor(" + this.kind + ")";
    },
    createSession$1: function(device) {
      return new A._SystemMouseCursorSession(this, device);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof A.SystemMouseCursor && other.kind === this.kind;
    },
    get$hashCode: function(_) {
      return C.JSString_methods.get$hashCode(this.kind);
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  A._MouseCursor_Object_Diagnosticable.prototype = {};
  A.BasicMessageChannel.prototype = {
    get$binaryMessenger: function() {
      var t1 = $.ServicesBinding__instance;
      return t1.get$_defaultBinaryMessenger();
    },
    send$1: function(_, message) {
      return this.send$body$BasicMessageChannel(0, message, this.$ti._eval$1("1?"));
    },
    send$body$BasicMessageChannel: function(_, message, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$send$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.codec;
              $async$temp1 = t1;
              $async$goto = 3;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$send$1, $async$completer);
    },
    setMessageHandler$1: function(handler) {
      this.get$binaryMessenger().setMessageHandler$2(this.name, new A.BasicMessageChannel_setMessageHandler_closure(this, handler));
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  A.BasicMessageChannel_setMessageHandler_closure.prototype = {
    call$1: function(message) {
      return this.$call$body$BasicMessageChannel_setMessageHandler_closure(message);
    },
    $call$body$BasicMessageChannel_setMessageHandler_closure: function(message) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.nullable_ByteData),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this.codec;
              $async$temp1 = t1;
              $async$goto = 3;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 245
  };
  A.MethodChannel.prototype = {
    get$binaryMessenger: function() {
      var t1 = $.ServicesBinding__instance;
      return t1.get$_defaultBinaryMessenger();
    },
    _invokeMethod$1$3$arguments$missingOk: function(method, $arguments, missingOk, $T) {
      return this._invokeMethod$body$MethodChannel(method, $arguments, missingOk, $T, $T._eval$1("0?"));
    },
    _invokeMethod$body$MethodChannel: function(method, $arguments, missingOk, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, t1, t2, result;
      var $async$_invokeMethod$1$3$arguments$missingOk = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.name;
              t2 = $async$self.codec;
              $async$goto = 3;
              return P._asyncAwait($async$self.get$binaryMessenger().send$2(0, t1, t2.encodeMethodCall$1(new F.MethodCall(method, $arguments))), $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 H.wrapException(F.MissingPluginException$("No implementation found for method " + method + " on channel " + t1));
              }
              $async$returnValue = $T._eval$1("0?")._as(t2.decodeEnvelope$1(result));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_invokeMethod$1$3$arguments$missingOk, $async$completer);
    },
    invokeMethod$1$2: function(method, $arguments, $T) {
      return this._invokeMethod$1$3$arguments$missingOk(method, $arguments, false, $T);
    },
    invokeMethod$1$1: function(method, $T) {
      return this.invokeMethod$1$2(method, null, $T);
    },
    invokeListMethod$1$2: function(method, $arguments, $T) {
      return this.invokeListMethod$body$MethodChannel(method, $arguments, $T, $T._eval$1("List<0>?"));
    },
    invokeListMethod$body$MethodChannel: function(method, $arguments, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, result;
      var $async$invokeListMethod$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeListMethod$1$2, $async$completer);
    },
    setMethodCallHandler$1: function(handler) {
      var t1 = this.get$binaryMessenger();
      t1.setMessageHandler$2(this.name, new A.MethodChannel_setMethodCallHandler_closure(this, handler));
    },
    _handleAsMethodCall$2: function(message, handler) {
      return this._handleAsMethodCall$body$MethodChannel(message, handler);
    },
    _handleAsMethodCall$body$MethodChannel: function(message, handler) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.nullable_ByteData),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, e, e0, t2, exception, t3, t1, $call, $async$exception, $async$temp1;
      var $async$_handleAsMethodCall$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.codec;
              $call = t1.decodeMethodCall$1(message);
              $async$handler = 4;
              $async$temp1 = t1;
              $async$goto = 7;
              return P._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 = H.unwrapException($async$exception);
              if (t2 instanceof F.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 F.MissingPluginException) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              } else {
                e0 = t2;
                t1 = t1.encodeErrorEnvelope$3$code$details$message("error", null, J.toString$0$(e0));
                $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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleAsMethodCall$2, $async$completer);
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  A.MethodChannel_setMethodCallHandler_closure.prototype = {
    call$1: function(message) {
      return this.$this._handleAsMethodCall$2(message, this.handler);
    },
    $signature: 245
  };
  A.OptionalMethodChannel.prototype = {
    invokeMethod$1$2: function(method, $arguments, $T) {
      return this.invokeMethod$body$OptionalMethodChannel(method, $arguments, $T, $T._eval$1("0?"));
    },
    invokeMethod$1$1: function(method, $T) {
      return this.invokeMethod$1$2(method, null, $T);
    },
    invokeMethod$body$OptionalMethodChannel: function(method, $arguments, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this;
      var $async$invokeMethod$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = $async$self.super$MethodChannel$_invokeMethod(method, $arguments, true, $T);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$invokeMethod$1$2, $async$completer);
    }
  };
  B.KeyboardSide.prototype = {
    toString$0: function(_) {
      return this._raw_keyboard$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  B.ModifierKey.prototype = {
    toString$0: function(_) {
      return this._raw_keyboard$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  B.RawKeyEventData.prototype = {
    get$modifiersPressed: function() {
      var _i, key, side,
        result = P.LinkedHashMap_LinkedHashMap$_empty(type$.ModifierKey, type$.KeyboardSide);
      for (_i = 0; _i < 9; ++_i) {
        key = C.List_AHF[_i];
        if (this.isModifierPressed$1(key)) {
          side = this.getModifierSide$1(key);
          if (side != null)
            result.$indexSet(0, key, side);
        }
      }
      return result;
    },
    shouldDispatchEvent$0: function() {
      return true;
    }
  };
  B.RawKeyEvent.prototype = {};
  B.RawKeyDownEvent.prototype = {};
  B.RawKeyUpEvent.prototype = {};
  B.RawKeyboard.prototype = {
    _handleKeyEvent$1: function(message) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, shouldDispatch, t2, t3, _i, listener, $event;
      var $async$_handleKeyEvent$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $event = B.RawKeyEvent_RawKeyEvent$fromMessage(type$.Map_String_dynamic._as(message));
              if ($event instanceof B.RawKeyDownEvent) {
                t1 = $event.data;
                if (t1.shouldDispatchEvent$0()) {
                  $async$self._keysPressed.$indexSet(0, t1.get$physicalKey(), t1.get$logicalKey());
                  shouldDispatch = true;
                } else {
                  $async$self._hiddenKeysPressed.add$1(0, t1.get$physicalKey());
                  shouldDispatch = false;
                }
              } else if ($event instanceof B.RawKeyUpEvent) {
                t1 = $async$self._hiddenKeysPressed;
                t2 = $event.data;
                if (!t1.contains$1(0, t2.get$physicalKey())) {
                  $async$self._keysPressed.remove$1(0, t2.get$physicalKey());
                  shouldDispatch = true;
                } else {
                  t1.remove$1(0, t2.get$physicalKey());
                  shouldDispatch = false;
                }
              } else
                shouldDispatch = true;
              if (!shouldDispatch) {
                $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["handled", true], type$.String, type$.dynamic);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._synchronizeModifiers$1($event);
              for (t1 = $async$self._raw_keyboard$_listeners, t2 = P.List_List$from(t1, true, type$.void_Function_RawKeyEvent), t3 = t2.length, _i = 0; _i < t3; ++_i) {
                listener = t2[_i];
                if (C.JSArray_methods.contains$1(t1, listener))
                  listener.call$1($event);
              }
              t1 = $async$self.keyEventHandler;
              $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["handled", t1 != null && t1.call$1($event)], type$.String, type$.dynamic);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleKeyEvent$1, $async$completer);
    },
    _synchronizeModifiers$1: function($event) {
      var t4, t5, thisModifierKeys, mappedKeys, t6, t7,
        t1 = $event.data,
        modifiersPressed = t1.get$modifiersPressed(),
        t2 = type$.PhysicalKeyboardKey,
        modifierKeys = P.LinkedHashMap_LinkedHashMap$_empty(t2, type$.LogicalKeyboardKey),
        anySideKeys = P.LinkedHashSet_LinkedHashSet$_empty(t2),
        t3 = this._keysPressed;
      t2 = P.LinkedHashSet_LinkedHashSet$of(t3.get$keys(t3), t2);
      if ($event instanceof B.RawKeyDownEvent)
        t2.add$1(0, t1.get$physicalKey());
      for (t4 = modifiersPressed.get$keys(modifiersPressed), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
        t5 = t4.get$current(t4);
        if (modifiersPressed.$index(0, t5) === C.KeyboardSide_0) {
          thisModifierKeys = $.RawKeyboard__modifierKeyMap.$index(0, new B._ModifierSidePair(t5, C.KeyboardSide_3));
          thisModifierKeys.toString;
          anySideKeys.addAll$1(0, thisModifierKeys);
          if (thisModifierKeys.any$1(0, t2.get$contains(t2)))
            continue;
        }
        mappedKeys = $.RawKeyboard__modifierKeyMap.$index(0, new B._ModifierSidePair(t5, modifiersPressed.$index(0, t5)));
        if (mappedKeys == null)
          continue;
        for (t5 = new P._LinkedHashSetIterator(mappedKeys, mappedKeys._collection$_modifications, H._instanceType(mappedKeys)._eval$1("_LinkedHashSetIterator<1>")), t5._collection$_cell = mappedKeys._collection$_first; t5.moveNext$0();) {
          t6 = t5._collection$_current;
          t7 = $.$get$RawKeyboard__allModifiers().$index(0, t6);
          t7.toString;
          modifierKeys.$indexSet(0, t6, t7);
        }
      }
      t2 = $.RawKeyboard__allModifiersExceptFn.get$keys($.RawKeyboard__allModifiersExceptFn);
      new H.WhereIterable(t2, new B.RawKeyboard__synchronizeModifiers_closure(anySideKeys), H._instanceType(t2)._eval$1("WhereIterable<Iterable.E>")).forEach$1(0, t3.get$remove(t3));
      if (!(t1 instanceof Q.RawKeyEventDataFuchsia) && !(t1 instanceof B.RawKeyEventDataMacOs))
        t3.remove$1(0, C.PhysicalKeyboardKey_18);
      t3.addAll$1(0, modifierKeys);
    }
  };
  B.RawKeyboard__synchronizeModifiers_closure.prototype = {
    call$1: function(key) {
      return !this.anySideKeys.contains$1(0, key);
    },
    $signature: 858
  };
  B._ModifierSidePair.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof B._ModifierSidePair && other.modifier == this.modifier && other.side == this.side;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.modifier, this.side, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  B._RawKeyEvent_Object_Diagnosticable.prototype = {};
  Q.RawKeyEventDataFuchsia.prototype = {};
  B.RawKeyEventDataMacOs.prototype = {};
  A.RawKeyEventDataWeb.prototype = {
    get$keyLabel: function() {
      var t1 = this.key;
      return t1 === "Unidentified" ? "" : t1;
    },
    get$physicalKey: function() {
      var t1 = C.Map_yfvkU.$index(0, this.code);
      return t1 == null ? C.PhysicalKeyboardKey_0 : t1;
    },
    get$logicalKey: function() {
      var newKey,
        t1 = this.code,
        numPadKey = C.Map_uvi7B.$index(0, t1);
      if (numPadKey != null)
        return numPadKey;
      newKey = C.Map_Ikmuk.$index(0, t1);
      if (newKey != null)
        return newKey;
      return new G.LogicalKeyboardKey((C.JSString_methods.get$hashCode(t1) | 0) >>> 0);
    },
    isModifierPressed$1: function(key) {
      var _this = this;
      switch (key) {
        case C.ModifierKey_0:
          return (_this.metaState & 4) !== 0;
        case C.ModifierKey_1:
          return (_this.metaState & 1) !== 0;
        case C.ModifierKey_2:
          return (_this.metaState & 2) !== 0;
        case C.ModifierKey_3:
          return (_this.metaState & 8) !== 0;
        case C.ModifierKey_5:
          return (_this.metaState & 16) !== 0;
        case C.ModifierKey_4:
          return (_this.metaState & 32) !== 0;
        case C.ModifierKey_6:
          return (_this.metaState & 64) !== 0;
        case C.ModifierKey_7:
        case C.ModifierKey_8:
          return false;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    getModifierSide$1: function(key) {
      return C.KeyboardSide_0;
    },
    toString$0: function(_) {
      var _this = this,
        t1 = _this.key;
      return "RawKeyEventDataWeb(keyLabel: " + (t1 === "Unidentified" ? "" : t1) + ", code: " + _this.code + ", metaState: " + _this.metaState + ", modifiers down: " + _this.get$modifiersPressed().toString$0(0) + ")";
    }
  };
  K.RestorationManager.prototype = {
    get$rootBucket: function() {
      var _this = this;
      if (_this._rootBucketIsValid)
        return new O.SynchronousFuture(_this._rootBucket, type$.SynchronousFuture_nullable_RestorationBucket);
      if (_this._pendingRootBucket == null) {
        _this._pendingRootBucket = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_nullable_RestorationBucket), type$._AsyncCompleter_nullable_RestorationBucket);
        _this._getRootBucketFromEngine$0();
      }
      return _this._pendingRootBucket.future;
    },
    _getRootBucketFromEngine$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, config;
      var $async$_getRootBucketFromEngine$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait(C.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_getRootBucketFromEngine$0, $async$completer);
    },
    _parseAndHandleRestorationUpdateFromEngine$1: function(update) {
      var t2,
        t1 = update == null;
      if (!t1) {
        t2 = J.$index$asx(update, "enabled");
        t2.toString;
        H._asBoolS(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: function(data, enabled) {
      var oldRoot, t2, _this = this,
        t1 = _this._rootBucketIsValid && enabled;
      _this._isReplacing = t1;
      if (t1)
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new K.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 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
        }
        t2 = new K.RestorationBucket(t1, _this, null, "root", P.LinkedHashMap_LinkedHashMap$_empty(t2, type$.RestorationBucket), P.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(0);
      }
    },
    _methodHandler$1: function($call) {
      return this._methodHandler$body$RestorationManager($call);
    },
    _methodHandler$body$RestorationManager: function($call) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.nullable_Object),
        $async$self = this, t1;
      var $async$_methodHandler$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 H.wrapException(P.UnimplementedError$(t1 + " was invoked but isn't implemented by " + H.getRuntimeType($async$self).toString$0(0)));
              }
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_methodHandler$1, $async$completer);
    },
    _decodeRestorationData$1: function(data) {
      var t1;
      if (data == null)
        return null;
      t1 = J.getInterceptor$x(data);
      return type$.nullable_Map_of_nullable_Object_and_nullable_Object._as(C.C_StandardMessageCodec.decodeMessage$1(J.asByteData$2$x(t1.get$buffer(data), t1.get$offsetInBytes(data), t1.get$lengthInBytes(data))));
    },
    scheduleSerializationFor$1: function(bucket) {
      var _this = this;
      _this._bucketsNeedingSerialization.add$1(0, bucket);
      if (!_this._serializationScheduled) {
        _this._serializationScheduled = true;
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new K.RestorationManager_scheduleSerializationFor_closure(_this));
      }
    },
    _doSerialization$0: function() {
      var t1, t2, encoded, _this = this;
      if (!_this._serializationScheduled)
        return;
      _this._serializationScheduled = false;
      for (t1 = _this._bucketsNeedingSerialization, t2 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t2.moveNext$0();)
        t2._collection$_current._needsSerialization = false;
      t1.clear$0(0);
      encoded = C.C_StandardMessageCodec.encodeMessage$1(_this._rootBucket._rawData);
      C.OptionalMethodChannel_fgL.invokeMethod$1$2("put", H.NativeUint8List_NativeUint8List$view(encoded.buffer, encoded.byteOffset, encoded.byteLength), type$.void);
    },
    flushData$0: function() {
      if ($.SchedulerBinding__instance.SchedulerBinding__hasScheduledFrame)
        return;
      this._doSerialization$0();
    }
  };
  K.RestorationManager_handleRestorationUpdateFromEngine_closure.prototype = {
    call$1: function(_) {
      this.$this._isReplacing = false;
    },
    $signature: 6
  };
  K.RestorationManager_scheduleSerializationFor_closure.prototype = {
    call$1: function(_) {
      return this.$this._doSerialization$0();
    },
    $signature: 6
  };
  K.RestorationBucket.prototype = {
    get$_rawChildren: function() {
      var t1 = J.putIfAbsent$2$x(this._rawData, "c", new K.RestorationBucket__rawChildren_closure());
      t1.toString;
      return type$.Map_of_nullable_Object_and_nullable_Object._as(t1);
    },
    get$_rawValues: function() {
      var t1 = J.putIfAbsent$2$x(this._rawData, "v", new K.RestorationBucket__rawValues_closure());
      t1.toString;
      return type$.Map_of_nullable_Object_and_nullable_Object._as(t1);
    },
    remove$1$1: function(_, 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: function(_, restorationId) {
      return J.containsKey$1$x(this.get$_rawValues(), restorationId);
    },
    claimChild$2$debugOwner: function(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 K.RestorationBucket(P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.nullable_Object), null, null, restorationId, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.RestorationBucket), P.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 K.RestorationBucket(type$.Map_of_nullable_Object_and_nullable_Object._as(t4), t3, _this, restorationId, P.LinkedHashMap_LinkedHashMap$_empty(t2, type$.RestorationBucket), P.LinkedHashMap_LinkedHashMap$_empty(t2, type$.List_RestorationBucket));
      t1.$indexSet(0, restorationId, child);
      return child;
    },
    adoptChild$1: function(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: function(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: function() {
      var t1, _this = this;
      if (!_this._needsSerialization) {
        _this._needsSerialization = true;
        t1 = _this._restoration$_manager;
        if (t1 != null)
          t1.scheduleSerializationFor$1(_this);
      }
    },
    _recursivelyUpdateManager$1: function(bucket) {
      bucket._updateManager$1(this._restoration$_manager);
      bucket._visitChildren$1(this.get$_recursivelyUpdateManager());
    },
    _updateManager$1: function(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: function(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);
      if ((t2 == null ? null : J.get$isEmpty$asx(t2)) === true)
        t1.remove$1(0, child._restorationId);
    },
    _addChildData$1: function(child) {
      var _this = this;
      if (_this._claimedChildren.containsKey$1(0, child._restorationId)) {
        J.add$1$ax(_this._childrenToAdd.putIfAbsent$2(0, child._restorationId, new K.RestorationBucket__addChildData_closure()), child);
        _this._markNeedsSerialization$0();
        return;
      }
      _this._finalizeAddChildData$1(child);
      _this._markNeedsSerialization$0();
    },
    _finalizeAddChildData$1: function(child) {
      this._claimedChildren.$indexSet(0, child._restorationId, child);
      J.$indexSet$ax(this.get$_rawChildren(), child._restorationId, child._rawData);
    },
    _visitChildren$2$concurrentModification: function(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 H.ExpandIterable(t2, new K.RestorationBucket__visitChildren_closure(), H._instanceType(t2)._eval$1("ExpandIterable<Iterable.E,RestorationBucket>")));
      J.forEach$1$ax(concurrentModification ? P.List_List$of(children, false, H._instanceType(children)._eval$1("Iterable.E")) : children, visitor);
    },
    _visitChildren$1: function(visitor) {
      return this._visitChildren$2$concurrentModification(visitor, false);
    },
    rename$1: function(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: function(_) {
      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: function(_) {
      return "RestorationBucket(restorationId: " + H.S(this._restorationId) + ", owner: " + H.S(this._debugOwner) + ")";
    }
  };
  K.RestorationBucket__rawChildren_closure.prototype = {
    call$0: function() {
      var t1 = type$.nullable_Object;
      return P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
    },
    $signature: 243
  };
  K.RestorationBucket__rawValues_closure.prototype = {
    call$0: function() {
      var t1 = type$.nullable_Object;
      return P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
    },
    $signature: 243
  };
  K.RestorationBucket__addChildData_closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray_RestorationBucket);
    },
    $signature: 862
  };
  K.RestorationBucket__visitChildren_closure.prototype = {
    call$1: function(buckets) {
      return buckets;
    },
    $signature: 863
  };
  X.ApplicationSwitcherDescription.prototype = {};
  X.SystemUiOverlayStyle.prototype = {
    _toMap$0: function() {
      var t2, t3, t4, _this = this, _null = null,
        t1 = _this.systemNavigationBarColor;
      t1 = t1 == null ? _null : t1.value;
      t2 = _this.statusBarBrightness;
      t2 = t2 == null ? _null : t2._ui$_name;
      t3 = _this.statusBarIconBrightness;
      t3 = t3 == null ? _null : t3._ui$_name;
      t4 = _this.systemNavigationBarIconBrightness;
      return P.LinkedHashMap_LinkedHashMap$_literal(["systemNavigationBarColor", t1, "systemNavigationBarDividerColor", null, "statusBarColor", null, "statusBarBrightness", t2, "statusBarIconBrightness", t3, "systemNavigationBarIconBrightness", t4 == null ? _null : t4._ui$_name], type$.String, type$.dynamic);
    },
    toString$0: function(_) {
      return "SystemUiOverlayStyle(" + this._toMap$0().toString$0(0) + ")";
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.systemNavigationBarColor, _this.systemNavigationBarDividerColor, _this.statusBarColor, _this.statusBarBrightness, _this.statusBarIconBrightness, _this.systemNavigationBarIconBrightness, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof X.SystemUiOverlayStyle)
        if (J.$eq$(other.systemNavigationBarColor, _this.systemNavigationBarColor))
          t1 = other.statusBarIconBrightness == _this.statusBarIconBrightness && other.statusBarBrightness == _this.statusBarBrightness && other.systemNavigationBarIconBrightness == _this.systemNavigationBarIconBrightness;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  X.SystemChrome_setSystemUIOverlayStyle_closure.prototype = {
    call$0: function() {
      if (!J.$eq$($.SystemChrome__pendingStyle, $.SystemChrome__latestStyle)) {
        C.OptionalMethodChannel_cWd.invokeMethod$1$2("SystemChrome.setSystemUIOverlayStyle", $.SystemChrome__pendingStyle._toMap$0(), type$.void);
        $.SystemChrome__latestStyle = $.SystemChrome__pendingStyle;
      }
      $.SystemChrome__pendingStyle = null;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  V.SystemSoundType.prototype = {
    toString$0: function(_) {
      return this._system_sound$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  X.TextSelection.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "TextSelection(baseOffset: " + H.S(_this.baseOffset) + ", extentOffset: " + H.S(_this.extentOffset) + ", affinity: " + _this.affinity.toString$0(0) + ", isDirectional: " + _this.isDirectional + ")";
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      return other instanceof X.TextSelection && other.baseOffset == _this.baseOffset && other.extentOffset == _this.extentOffset && other.affinity === _this.affinity && other.isDirectional === _this.isDirectional;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(J.get$hashCode$(_this.baseOffset), J.get$hashCode$(_this.extentOffset), H.Primitives_objectHashCode(_this.affinity), C.JSBool_methods.get$hashCode(_this.isDirectional), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    copyWith$2$baseOffset$extentOffset: function(baseOffset, extentOffset) {
      var _this = this,
        t1 = baseOffset == null ? _this.baseOffset : baseOffset,
        t2 = extentOffset == null ? _this.extentOffset : extentOffset;
      return X.TextSelection$(_this.affinity, t1, t2, _this.isDirectional);
    },
    copyWith$1$extentOffset: function(extentOffset) {
      return this.copyWith$2$baseOffset$extentOffset(null, extentOffset);
    },
    copyWith$1$baseOffset: function(baseOffset) {
      return this.copyWith$2$baseOffset$extentOffset(baseOffset, null);
    }
  };
  B.MaxLengthEnforcement.prototype = {
    toString$0: function(_) {
      return this._text_formatter$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  B.TextInputFormatter.prototype = {};
  B.FilteringTextInputFormatter.prototype = {
    formatEditUpdate$2: function(oldValue, newValue) {
      var manipulatedText, manipulatedSelection, beforeSelection, inSelection, afterSelection,
        t1 = new B.FilteringTextInputFormatter_formatEditUpdate_closure(this),
        t2 = newValue.selection,
        selectionStartIndex = t2.start,
        selectionEndIndex = t2.end,
        t3 = selectionStartIndex < 0 || selectionEndIndex < 0,
        t4 = newValue.text;
      if (t3) {
        manipulatedText = t1.call$1(t4);
        manipulatedSelection = null;
      } else {
        beforeSelection = t1.call$1(J.substring$2$s(t4, 0, selectionStartIndex));
        inSelection = t1.call$1(C.JSString_methods.substring$2(t4, selectionStartIndex, selectionEndIndex));
        afterSelection = t1.call$1(C.JSString_methods.substring$1(t4, selectionEndIndex));
        manipulatedText = C.JSString_methods.$add(J.$add$ansx(beforeSelection, inSelection), afterSelection);
        t1 = beforeSelection.length;
        manipulatedSelection = t2.baseOffset > t2.extentOffset ? t2.copyWith$2$baseOffset$extentOffset(t1 + inSelection.length, t1) : t2.copyWith$2$baseOffset$extentOffset(t1, t1 + inSelection.length);
      }
      t1 = manipulatedSelection == null ? C.TextSelection_5Zq : manipulatedSelection;
      return new N.TextEditingValue(manipulatedText, t1, manipulatedText == t4 ? newValue.composing : C.TextRange_m1_m1);
    }
  };
  B.FilteringTextInputFormatter_formatEditUpdate_closure.prototype = {
    call$1: function(substring) {
      var t1 = this.$this,
        t2 = t1.allow,
        t3 = !t2 ? new B.FilteringTextInputFormatter_formatEditUpdate__closure(t1) : null;
      t2 = t2 ? new B.FilteringTextInputFormatter_formatEditUpdate__closure0(t1) : null;
      substring.toString;
      return H.stringReplaceAllFuncUnchecked(substring, t1.filterPattern, t3, t2);
    },
    $signature: 19
  };
  B.FilteringTextInputFormatter_formatEditUpdate__closure.prototype = {
    call$1: function(match) {
      return "";
    },
    $signature: 123
  };
  B.FilteringTextInputFormatter_formatEditUpdate__closure0.prototype = {
    call$1: function(nonMatch) {
      return "";
    },
    $signature: 19
  };
  N.SmartDashesType.prototype = {
    toString$0: function(_) {
      return this._text_input$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.SmartQuotesType.prototype = {
    toString$0: function(_) {
      return this._text_input$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.TextInputType.prototype = {
    toJson$0: function() {
      return P.LinkedHashMap_LinkedHashMap$_literal(["name", "TextInputType." + C.List_Gn1[this.index], "signed", this.signed, "decimal", this.decimal], type$.String, type$.dynamic);
    },
    toString$0: function(_) {
      return "TextInputType(name: " + ("TextInputType." + C.List_Gn1[this.index]) + ", signed: " + H.S(this.signed) + ", decimal: " + H.S(this.decimal) + ")";
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof N.TextInputType && other.index === this.index && other.signed == this.signed && other.decimal == this.decimal;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.index, this.signed, this.decimal, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.TextInputAction.prototype = {
    toString$0: function(_) {
      return this._text_input$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.TextCapitalization0.prototype = {
    toString$0: function(_) {
      return "TextCapitalization.none";
    },
    get$index: function() {
      return 3;
    }
  };
  N.TextInputConfiguration.prototype = {
    toJson$0: function() {
      var t2, _this = this,
        t1 = P.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", C.JSInt_methods.toString$0(_this.smartDashesType.index));
      t1.$indexSet(0, "smartQuotesType", C.JSInt_methods.toString$0(_this.smartQuotesType.index));
      t1.$indexSet(0, "enableSuggestions", true);
      t1.$indexSet(0, "actionLabel", null);
      t1.$indexSet(0, "inputAction", _this.inputAction._text_input$_name);
      t1.$indexSet(0, "textCapitalization", "TextCapitalization.none");
      t1.$indexSet(0, "keyboardAppearance", _this.keyboardAppearance._ui$_name);
      t2 = _this.autofillConfiguration;
      if (t2 != null)
        t1.$indexSet(0, "autofill", t2.toJson$0());
      return t1;
    }
  };
  N.FloatingCursorDragState.prototype = {
    toString$0: function(_) {
      return this._text_input$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.TextEditingValue.prototype = {
    toJSON$0: function() {
      var t1 = this.selection,
        t2 = this.composing;
      return P.LinkedHashMap_LinkedHashMap$_literal(["text", this.text, "selectionBase", t1.baseOffset, "selectionExtent", t1.extentOffset, "selectionAffinity", t1.affinity._ui$_name, "selectionIsDirectional", t1.isDirectional, "composingBase", t2.start, "composingExtent", t2.end], type$.String, type$.dynamic);
    },
    copyWith$3$composing$selection$text: function(composing, selection, text) {
      var t1 = text == null ? this.text : text,
        t2 = selection == null ? this.selection : selection;
      return new N.TextEditingValue(t1, t2, composing == null ? this.composing : composing);
    },
    copyWith$1$selection: function(selection) {
      return this.copyWith$3$composing$selection$text(null, selection, null);
    },
    copyWith$1$composing: function(composing) {
      return this.copyWith$3$composing$selection$text(composing, null, null);
    },
    copyWith$2$composing$selection: function(composing, selection) {
      return this.copyWith$3$composing$selection$text(composing, selection, null);
    },
    toString$0: function(_) {
      return "TextEditingValue(text: \u2524" + H.S(this.text) + "\u251c, selection: " + this.selection.toString$0(0) + ", composing: " + this.composing.toString$0(0) + ")";
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      return other instanceof N.TextEditingValue && other.text == _this.text && other.selection.$eq(0, _this.selection) && other.composing.$eq(0, _this.composing);
    },
    get$hashCode: function(_) {
      var t1 = this.selection,
        t2 = this.composing;
      return P.hashValues(J.get$hashCode$(this.text), t1.get$hashCode(t1), P.hashValues(J.get$hashCode$(t2.start), J.get$hashCode$(t2.end), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd), C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  N.SelectionChangedCause.prototype = {
    toString$0: function(_) {
      return this._text_input$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.TextSelectionDelegate.prototype = {};
  N.TextInputConnection.prototype = {
    setComposingRect$1: function(rect) {
      var validRect, t1, t2, t3;
      if (rect.$eq(0, this._cachedRect))
        return;
      this._cachedRect = rect;
      validRect = rect.get$isFinite(rect) ? rect : new P.Rect(0, 0, -1, -1);
      t1 = $.$get$TextInput__instance();
      t2 = validRect.left;
      t3 = validRect.top;
      t3 = P.LinkedHashMap_LinkedHashMap$_literal(["width", validRect.right - t2, "height", validRect.bottom - t3, "x", t2, "y", t3], type$.String, type$.dynamic);
      t1.get$_channel().invokeMethod$1$2("TextInput.setMarkedTextRect", t3, type$.void);
    },
    setCaretRect$1: function(rect) {
      var validRect, t1, t2, t3;
      if (rect.$eq(0, this._cachedCaretRect))
        return;
      this._cachedCaretRect = rect;
      validRect = rect.get$isFinite(rect) ? rect : new P.Rect(0, 0, -1, -1);
      t1 = $.$get$TextInput__instance();
      t2 = validRect.left;
      t3 = validRect.top;
      t3 = P.LinkedHashMap_LinkedHashMap$_literal(["width", validRect.right - t2, "height", validRect.bottom - t3, "x", t2, "y", t3], type$.String, type$.dynamic);
      t1.get$_channel().invokeMethod$1$2("TextInput.setCaretRect", t3, type$.void);
    },
    setStyle$5$fontFamily$fontSize$fontWeight$textAlign$textDirection: function(_, fontFamily, fontSize, fontWeight, textAlign, textDirection) {
      var t1 = $.$get$TextInput__instance(),
        t2 = fontWeight == null ? null : fontWeight.index;
      t2 = P.LinkedHashMap_LinkedHashMap$_literal(["fontFamily", fontFamily, "fontSize", fontSize, "fontWeightIndex", t2, "textAlignIndex", textAlign.index, "textDirectionIndex", textDirection.index], type$.String, type$.dynamic);
      t1.get$_channel().invokeMethod$1$2("TextInput.setStyle", t2, type$.void);
    }
  };
  N.TextInput.prototype = {
    _attach$2: function(connection, configuration) {
      this.get$_channel().invokeMethod$1$2("TextInput.setClient", [connection._text_input$_id, configuration.toJson$0()], type$.void);
      this._currentConnection = connection;
      this.__TextInput__currentConfiguration = configuration;
    },
    get$_channel: function() {
      var t1 = this.__TextInput__channel;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_channel")) : t1;
    },
    _handleTextInputInvocation$1: function(methodCall) {
      return this._handleTextInputInvocation$body$TextInput(methodCall);
    },
    _handleTextInputInvocation$body$TextInput: function(methodCall) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, method, t2, args, editingValue, t3, client, action, t4, offset, t5, currentTextPosition, t6, centeredPoint, rawCursorOffset, t7, bottomBound, rightBound, deltaPosition, currentX, currentY, adjustedX, adjustedY, t8, t1;
      var $async$_handleTextInputInvocation$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._currentConnection;
              if (t1 == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              method = methodCall.method;
              if (method === "TextInputClient.requestExistingInputState") {
                t2 = $async$self.__TextInput__currentConfiguration;
                $async$self._attach$2(t1, t2 === $ ? H.throwExpression(H.LateError$fieldNI("_currentConfiguration")) : t2);
                t1 = $async$self._currentConnection._client._widget.controller._value;
                if (t1 != null)
                  $async$self.get$_channel().invokeMethod$1$2("TextInput.setEditingState", t1.toJSON$0(), type$.void);
                // goto return
                $async$goto = 1;
                break;
              }
              args = type$.List_dynamic._as(methodCall.$arguments);
              if (method === string$.TextIn) {
                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();)
                  N.TextEditingValue_TextEditingValue$fromJSON(t1._as(t2.$index(editingValue, t3.get$current(t3))));
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = J.getInterceptor$asx(args);
              client = H._asIntS(t1.$index(args, 0));
              t2 = $async$self._currentConnection;
              if (client !== t2._text_input$_id) {
                // goto return
                $async$goto = 1;
                break;
              }
              switch (method) {
                case "TextInputClient.updateEditingState":
                  t2._client.updateEditingValue$1(N.TextEditingValue_TextEditingValue$fromJSON(type$.Map_String_dynamic._as(t1.$index(args, 1))));
                  break;
                case "TextInputClient.performAction":
                  t2 = t2._client;
                  action = N._toTextInputAction(H._asStringS(t1.$index(args, 1)));
                  switch (action) {
                    case C.TextInputAction_12:
                      if (t2._widget.maxLines === 1)
                        t2._finalizeEditing$2$shouldUnfocus(action, true);
                      break;
                    case C.TextInputAction_2:
                    case C.TextInputAction_3:
                    case C.TextInputAction_6:
                    case C.TextInputAction_7:
                    case C.TextInputAction_4:
                    case C.TextInputAction_5:
                      t2._finalizeEditing$2$shouldUnfocus(action, true);
                      break;
                    case C.TextInputAction_8:
                    case C.TextInputAction_11:
                    case C.TextInputAction_9:
                    case C.TextInputAction_0:
                    case C.TextInputAction_10:
                    case C.TextInputAction_1:
                      t2._finalizeEditing$2$shouldUnfocus(action, false);
                      break;
                    default:
                      H.throwExpression(H.ReachabilityError$(string$.x60null_c));
                  }
                  break;
                case "TextInputClient.performPrivateCommand":
                  t2 = t2._client;
                  t3 = H._asStringS(J.$index$asx(t1.$index(args, 1), "action"));
                  t1 = type$.Map_String_dynamic._as(J.$index$asx(t1.$index(args, 1), "data"));
                  t2._widget.onAppPrivateCommand.call$2(t3, t1);
                  break;
                case "TextInputClient.updateFloatingCursor":
                  t2 = t2._client;
                  t3 = N._toTextCursorAction(H._asStringS(t1.$index(args, 1)));
                  t1 = type$.Map_String_dynamic._as(t1.$index(args, 2));
                  if (t3 === C.FloatingCursorDragState_1) {
                    t4 = J.getInterceptor$asx(t1);
                    offset = new P.Offset(H._asDoubleS(t4.$index(t1, "X")), H._asDoubleS(t4.$index(t1, "Y")));
                  } else
                    offset = C.Offset_0_0;
                  switch (t3) {
                    case C.FloatingCursorDragState_0:
                      t1 = t2.get$_floatingCursorResetController()._ticker;
                      if (t1 != null && t1._ticker$_future != null) {
                        t2.get$_floatingCursorResetController().stop$0(0);
                        t2._onFloatingCursorResetTick$0();
                      }
                      t2._pointOffsetOrigin = offset;
                      t1 = t2._editableKey;
                      t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
                      t4.toString;
                      t5 = type$.RenderEditable;
                      currentTextPosition = new P.TextPosition(t5._as(t4)._selection.baseOffset, C.TextAffinity_1);
                      t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
                      t4.toString;
                      t4 = t5._as(t4).getLocalRectForCaret$1(currentTextPosition);
                      t2._startCaretRect = t4;
                      t4 = t4.get$center();
                      t6 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
                      t6.toString;
                      t2._lastBoundedOffset = t4.$sub(0, new P.Offset(0, t5._as(t6)._textPainter.get$preferredLineHeight() / 2));
                      t2._lastTextPosition = currentTextPosition;
                      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
                      t1.toString;
                      t5._as(t1);
                      t5 = t2._lastBoundedOffset;
                      t5.toString;
                      t2 = t2._lastTextPosition;
                      t2.toString;
                      t1.setFloatingCursor$3(t3, t5, t2);
                      break;
                    case C.FloatingCursorDragState_1:
                      t1 = t2._pointOffsetOrigin;
                      t1.toString;
                      centeredPoint = offset.$sub(0, t1);
                      t1 = t2._startCaretRect.get$center().$add(0, centeredPoint);
                      t4 = t2._editableKey;
                      t5 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4).get$renderObject();
                      t5.toString;
                      t6 = type$.RenderEditable;
                      rawCursorOffset = t1.$sub(0, new P.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);
                      t1 = t5._textPainter;
                      t7 = t1._text_painter$_paragraph;
                      t7 = t7.get$height(t7);
                      t7.toString;
                      bottomBound = Math.ceil(t7) - t1.get$preferredLineHeight() + 5;
                      rightBound = t1.get$width(t1) + 4;
                      t1 = t5._previousOffset;
                      deltaPosition = t1 != null ? rawCursorOffset.$sub(0, t1) : C.Offset_0_0;
                      if (t5._resetOriginOnLeft && deltaPosition._dx > 0) {
                        t5._relativeOrigin = new P.Offset(rawCursorOffset._dx - -4, t5._relativeOrigin._dy);
                        t5._resetOriginOnLeft = false;
                      } else if (t5._resetOriginOnRight && deltaPosition._dx < 0) {
                        t5._relativeOrigin = new P.Offset(rawCursorOffset._dx - rightBound, t5._relativeOrigin._dy);
                        t5._resetOriginOnRight = false;
                      }
                      if (t5._resetOriginOnTop && deltaPosition._dy > 0) {
                        t5._relativeOrigin = new P.Offset(t5._relativeOrigin._dx, rawCursorOffset._dy - -4);
                        t5._resetOriginOnTop = false;
                      } else if (t5._resetOriginOnBottom && deltaPosition._dy < 0) {
                        t5._relativeOrigin = new P.Offset(t5._relativeOrigin._dx, rawCursorOffset._dy - bottomBound);
                        t5._resetOriginOnBottom = false;
                      }
                      t1 = t5._relativeOrigin;
                      currentX = rawCursorOffset._dx - t1._dx;
                      currentY = rawCursorOffset._dy - t1._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;
                      t2._lastBoundedOffset = new P.Offset(adjustedX, adjustedY);
                      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4).get$renderObject();
                      t1.toString;
                      t6._as(t1);
                      t5 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4).get$renderObject();
                      t5.toString;
                      t6._as(t5);
                      t7 = t2._lastBoundedOffset;
                      t7.toString;
                      t8 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4).get$renderObject();
                      t8.toString;
                      t8 = t7.$add(0, new P.Offset(0, t6._as(t8)._textPainter.get$preferredLineHeight() / 2));
                      t2._lastTextPosition = t1.getPositionForPoint$1(T.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 = t2._lastBoundedOffset;
                      t6.toString;
                      t2 = t2._lastTextPosition;
                      t2.toString;
                      t4.setFloatingCursor$3(t3, t6, t2);
                      break;
                    case C.FloatingCursorDragState_2:
                      if (t2._lastTextPosition != null && t2._lastBoundedOffset != null) {
                        t2.get$_floatingCursorResetController().set$value(0, 0);
                        t1 = t2.get$_floatingCursorResetController();
                        t1._direction = C._AnimationDirection_0;
                        t1._animateToInternal$3$curve$duration(1, C.C__DecelerateCurve, C.Duration_125000);
                      }
                      break;
                    default:
                      H.throwExpression(H.ReachabilityError$(string$.x60null_c));
                  }
                  break;
                case "TextInputClient.onConnectionClosed":
                  t1 = t2._client;
                  if (t1.get$_hasInputConnection()) {
                    t1._textInputConnection.toString;
                    t1._lastKnownRemoteTextEditingValue = t1._textInputConnection = $.$get$TextInput__instance()._currentConnection = null;
                    t1._finalizeEditing$2$shouldUnfocus(C.TextInputAction_2, true);
                  }
                  break;
                case "TextInputClient.showAutocorrectionPromptRect":
                  t2._client.showAutocorrectionPromptRect$2(H._asIntS(t1.$index(args, 1)), H._asIntS(t1.$index(args, 2)));
                  break;
                default:
                  throw H.wrapException(F.MissingPluginException$(null));
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleTextInputInvocation$1, $async$completer);
    },
    _scheduleHide$0: function() {
      if (this._hidePending)
        return;
      this._hidePending = true;
      P.scheduleMicrotask(new N.TextInput__scheduleHide_closure(this));
    }
  };
  N.TextInput__scheduleHide_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._hidePending = false;
      if (t1._currentConnection == null)
        t1.get$_channel().invokeMethod$1$1("TextInput.hide", type$.void);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  U._getParent_closure.prototype = {
    call$1: function(ancestor) {
      this.parent.set$finalLocalValue(ancestor);
      return false;
    },
    $signature: 29
  };
  U.Intent.prototype = {};
  U.Action.prototype = {
    isEnabled$1: function(_, intent) {
      return true;
    },
    consumesKey$1: function(intent) {
      return true;
    }
  };
  U.ContextAction.prototype = {};
  U.CallbackAction.prototype = {
    invoke$1: function(intent) {
      return this.onInvoke.call$1(intent);
    }
  };
  U.ActionDispatcher.prototype = {
    invokeAction$3: function(action, intent, context) {
      if (action instanceof U.ContextAction)
        return action.invoke$2(intent, context);
      else
        return action.invoke$1(intent);
    }
  };
  U.Actions.prototype = {
    createState$0: function() {
      return new U._ActionsState(P.LinkedHashSet_LinkedHashSet$_empty(type$.Action_Intent), new P.Object(), C._StateLifecycle_0);
    }
  };
  U.Actions__findDispatcher_closure.prototype = {
    call$1: function(element) {
      type$._ActionsMarker._as(element.get$widget()).toString;
      return false;
    },
    $signature: 240
  };
  U.Actions_maybeFind_closure.prototype = {
    call$1: function(element) {
      var t1, _this = this,
        result = _this.T._eval$1("Action<0>?")._as(J.$index$asx(type$._ActionsMarker._as(element.get$widget()).actions, _this.type));
      if (result != null) {
        t1 = _this.context;
        t1.toString;
        t1.super$Element$dependOnInheritedElement(element, null);
        _this._box_0.action = result;
        return true;
      }
      return false;
    },
    $signature: 240
  };
  U._ActionsState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._updateActionListeners$0();
    },
    _handleActionChanged$1: function(action) {
      this.setState$1(new U._ActionsState__handleActionChanged_closure(this));
    },
    _updateActionListeners$0: function() {
      var addedActions, t2, t3, t4, _this = this,
        widgetActions = J.toSet$0$ax(J.get$values$x(_this._widget.actions)),
        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();) {
        t3 = t1.get$current(t1)._actions$_listeners;
        t3._isDirty = true;
        t4 = t3.get$_observer_list$_set();
        if (t4._collection$_length > 0) {
          t4._collection$_strings = t4._collection$_nums = t4._collection$_rest = t4._elements = null;
          t4._collection$_length = 0;
        }
        C.JSArray_methods.remove$1(t3._observer_list$_list, t2);
      }
      for (t1 = addedActions.get$iterator(addedActions); t1.moveNext$0();) {
        t3 = t1.get$current(t1)._actions$_listeners;
        t3._isDirty = true;
        t3._observer_list$_list.push(t2);
      }
      _this.listenedActions = widgetActions;
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._updateActionListeners$0();
    },
    dispose$0: function(_) {
      var t1, t2, t3, t4, _this = this;
      _this.super$State$dispose(0);
      for (t1 = _this.listenedActions, t1 = t1.get$iterator(t1), t2 = _this.get$_handleActionChanged(); t1.moveNext$0();) {
        t3 = t1.get$current(t1)._actions$_listeners;
        t3._isDirty = true;
        t4 = t3.get$_observer_list$_set();
        if (t4._collection$_length > 0) {
          t4._collection$_strings = t4._collection$_nums = t4._collection$_rest = t4._elements = null;
          t4._collection$_length = 0;
        }
        C.JSArray_methods.remove$1(t3._observer_list$_list, t2);
      }
      _this.listenedActions = null;
    },
    build$1: function(_, context) {
      var t1 = this._widget;
      return new U._ActionsMarker(null, t1.actions, this.rebuildKey, t1.child, null);
    }
  };
  U._ActionsState__handleActionChanged_closure.prototype = {
    call$0: function() {
      this.$this.rebuildKey = new P.Object();
    },
    $signature: 0
  };
  U._ActionsMarker.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      var t1;
      if (this.rebuildKey === oldWidget.rebuildKey)
        t1 = !S.mapEquals(oldWidget.actions, this.actions);
      else
        t1 = true;
      return t1;
    }
  };
  U.FocusableActionDetector.prototype = {
    createState$0: function() {
      return new U._FocusableActionDetectorState(new N.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), C._StateLifecycle_0);
    }
  };
  U._FocusableActionDetectorState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new U._FocusableActionDetectorState_initState_closure(this));
      $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._listeners.add$1(0, this.get$_actions$_handleFocusHighlightModeChange());
    },
    dispose$0: function(_) {
      $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._listeners.remove$1(0, this.get$_actions$_handleFocusHighlightModeChange());
      this.super$State$dispose(0);
    },
    _actions$_updateHighlightMode$1: function(mode) {
      this._mayTriggerCallback$1$task(new U._FocusableActionDetectorState__updateHighlightMode_closure(this));
    },
    _actions$_handleFocusHighlightModeChange$1: function(mode) {
      if (this._framework$_element == null)
        return;
      this._actions$_updateHighlightMode$1(mode);
    },
    _actions$_handleMouseEnter$1: function($event) {
      if (!this._actions$_hovering)
        this._mayTriggerCallback$1$task(new U._FocusableActionDetectorState__handleMouseEnter_closure(this));
    },
    _actions$_handleMouseExit$1: function($event) {
      if (this._actions$_hovering)
        this._mayTriggerCallback$1$task(new U._FocusableActionDetectorState__handleMouseExit_closure(this));
    },
    _actions$_handleFocusChange$1: function(focused) {
      var _this = this;
      if (_this._actions$_focused !== focused) {
        _this._mayTriggerCallback$1$task(new U._FocusableActionDetectorState__handleFocusChange_closure(_this, focused));
        _this._widget.toString;
      }
    },
    _mayTriggerCallback$2$oldWidget$task: function(oldWidget, task) {
      var t3, oldTarget, didShowHoverHighlight, didShowFocusHighlight, doShowHoverHighlight, doShowFocusHighlight, _this = this,
        t1 = new U._FocusableActionDetectorState__mayTriggerCallback_shouldShowHoverHighlight(_this),
        t2 = new U._FocusableActionDetectorState__mayTriggerCallback_shouldShowFocusHighlight(_this, new U._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)
        _this._widget.onShowFocusHighlight.call$1(doShowFocusHighlight);
      if (didShowHoverHighlight != doShowHoverHighlight)
        _this._widget.onShowHoverHighlight.call$1(doShowHoverHighlight);
    },
    _mayTriggerCallback$1$task: function(task) {
      return this._mayTriggerCallback$2$oldWidget$task(null, task);
    },
    _mayTriggerCallback$1$oldWidget: function(oldWidget) {
      return this._mayTriggerCallback$2$oldWidget$task(oldWidget, null);
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      if (this._widget.enabled !== oldWidget.enabled)
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new U._FocusableActionDetectorState_didUpdateWidget_closure(this, oldWidget));
    },
    get$_actions$_canRequestFocus: function() {
      var mode,
        t1 = this._framework$_element;
      t1.toString;
      t1 = F.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch (mode == null ? C.NavigationMode_0 : mode) {
        case C.NavigationMode_0:
          return this._widget.enabled;
        case C.NavigationMode_1:
          return true;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    build$1: function(_, context) {
      var t3, t4, child, _this = this, _null = null,
        t1 = _this._widget,
        t2 = t1.mouseCursor;
      t1 = t1.focusNode;
      t3 = _this.get$_actions$_canRequestFocus();
      t4 = _this._widget;
      child = new T.MouseRegion(_this.get$_actions$_handleMouseEnter(), _null, _this.get$_actions$_handleMouseExit(), t2, true, L.Focus$(false, t3, t4.child, _null, true, t1, true, _null, _this.get$_actions$_handleFocusChange(), _null, _null), _this._mouseRegionKey);
      if (t4.enabled) {
        t1 = t4.actions;
        t1 = t1 != null && J.get$isNotEmpty$asx(t1);
      } else
        t1 = false;
      if (t1) {
        t1 = _this._widget.actions;
        t1.toString;
        child = new U.Actions(t1, child, _null);
      }
      _this._widget.enabled;
      return child;
    }
  };
  U._FocusableActionDetectorState_initState_closure.prototype = {
    call$1: function(duration) {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._highlightMode;
      if (t1 == null)
        t1 = O.FocusManager__defaultModeForPlatform();
      this.$this._actions$_updateHighlightMode$1(t1);
    },
    $signature: 6
  };
  U._FocusableActionDetectorState__updateHighlightMode_closure.prototype = {
    call$0: function() {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._highlightMode;
      switch (t1 == null ? O.FocusManager__defaultModeForPlatform() : t1) {
        case C.FocusHighlightMode_0:
          this.$this._canShowHighlight = false;
          break;
        case C.FocusHighlightMode_1:
          this.$this._canShowHighlight = true;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $signature: 0
  };
  U._FocusableActionDetectorState__handleMouseEnter_closure.prototype = {
    call$0: function() {
      this.$this._actions$_hovering = true;
    },
    $signature: 0
  };
  U._FocusableActionDetectorState__handleMouseExit_closure.prototype = {
    call$0: function() {
      this.$this._actions$_hovering = false;
    },
    $signature: 0
  };
  U._FocusableActionDetectorState__handleFocusChange_closure.prototype = {
    call$0: function() {
      this.$this._actions$_focused = this.focused;
    },
    $signature: 0
  };
  U._FocusableActionDetectorState__mayTriggerCallback_shouldShowHoverHighlight.prototype = {
    call$1: function(target) {
      var t1 = this.$this;
      return t1._actions$_hovering && target.enabled && t1._canShowHighlight;
    },
    $signature: 162
  };
  U._FocusableActionDetectorState__mayTriggerCallback_canRequestFocus.prototype = {
    call$1: function(target) {
      var mode,
        t1 = this.$this._framework$_element;
      t1.toString;
      t1 = F.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch (mode == null ? C.NavigationMode_0 : mode) {
        case C.NavigationMode_0:
          return target.enabled;
        case C.NavigationMode_1:
          return true;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $signature: 162
  };
  U._FocusableActionDetectorState__mayTriggerCallback_shouldShowFocusHighlight.prototype = {
    call$1: function(target) {
      var t1 = this.$this;
      return t1._actions$_focused && t1._canShowHighlight && this.canRequestFocus.call$1(target);
    },
    $signature: 162
  };
  U._FocusableActionDetectorState_didUpdateWidget_closure.prototype = {
    call$1: function(duration) {
      this.$this._mayTriggerCallback$1$oldWidget(this.oldWidget);
    },
    $signature: 6
  };
  U.DoNothingAction.prototype = {
    consumesKey$1: function(intent) {
      return this._consumesKey;
    },
    invoke$1: function(intent) {
    }
  };
  U.ActivateIntent.prototype = {};
  U.ButtonActivateIntent.prototype = {};
  U.DismissIntent.prototype = {};
  U.DismissAction.prototype = {};
  U.PrioritizedIntents.prototype = {};
  U.PrioritizedAction.prototype = {
    isEnabled$1: function(_, intent) {
      var t1, _i, candidateIntent, t2, candidateAction,
        $focus = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
      if ($focus == null || $focus._focus_manager$_context == null)
        return false;
      intent.toString;
      t1 = type$.Intent;
      _i = 0;
      for (; _i < 2; ++_i) {
        candidateIntent = C.List_oCX[_i];
        t2 = $focus._focus_manager$_context;
        t2.toString;
        candidateAction = U.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: function(intent) {
      var t2,
        t1 = this.__PrioritizedAction__selectedAction;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("_selectedAction"));
      t2 = this.__PrioritizedAction__selectedIntent;
      t1.invoke$1(t2 === $ ? H.throwExpression(H.LateError$fieldNI("_selectedIntent")) : t2);
    }
  };
  U._Action_Object_Diagnosticable.prototype = {};
  U._ActionDispatcher_Object_Diagnosticable.prototype = {};
  U._Intent_Object_Diagnosticable.prototype = {};
  U.CrossFadeState.prototype = {
    toString$0: function(_) {
      return this._animated_cross_fade$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  U.AnimatedCrossFade.prototype = {
    createState$0: function() {
      return new U._AnimatedCrossFadeState(null, C._StateLifecycle_0);
    },
    layoutBuilder$4: function(arg0, arg1, arg2, arg3) {
      return U.animated_cross_fade_AnimatedCrossFade_defaultLayoutBuilder$closure().call$4(arg0, arg1, arg2, arg3);
    },
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  U._AnimatedCrossFadeState.prototype = {
    get$_firstAnimation: function() {
      var t1 = this.___AnimatedCrossFadeState__firstAnimation;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_firstAnimation")) : t1;
    },
    get$_secondAnimation: function() {
      var t1 = this.___AnimatedCrossFadeState__secondAnimation;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_secondAnimation")) : t1;
    },
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = G.AnimationController$(null, _this._widget.duration, 0, null, 1, null, _this);
      _this._animated_cross_fade$_controller = t1;
      if (_this._widget.crossFadeState === C.CrossFadeState_1)
        t1.set$value(0, 1);
      _this._widget.toString;
      _this.___AnimatedCrossFadeState__firstAnimation = _this._initAnimation$2(C.C__Linear, true);
      _this._widget.toString;
      _this.___AnimatedCrossFadeState__secondAnimation = _this._initAnimation$2(C.C__Linear, false);
      _this._animated_cross_fade$_controller.addStatusListener$1(new U._AnimatedCrossFadeState_initState_closure(_this));
    },
    _initAnimation$2: function(curve, inverted) {
      var t2, result,
        t1 = this._animated_cross_fade$_controller;
      t1.toString;
      t2 = type$.Animation_double;
      result = new R._AnimatedEvaluation(t2._as(t1), new R.CurveTween(curve), type$.CurveTween._eval$1("_AnimatedEvaluation<Animatable.T>"));
      if (inverted) {
        t1 = type$.Tween_double;
        result = new R._AnimatedEvaluation(t2._as(result), new R.Tween(1, 0, t1), t1._eval$1("_AnimatedEvaluation<Animatable.T>"));
      }
      return result;
    },
    dispose$0: function(_) {
      this._animated_cross_fade$_controller.dispose$0(0);
      this.super$__AnimatedCrossFadeState_State_TickerProviderStateMixin$dispose(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, t3, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t2 = t1.duration;
      t3 = oldWidget.duration;
      if (t2._duration !== t3._duration)
        _this._animated_cross_fade$_controller.duration = t2;
      t1 = t1.crossFadeState;
      if (t1 !== oldWidget.crossFadeState)
        switch (t1) {
          case C.CrossFadeState_0:
            _this._animated_cross_fade$_controller.reverse$0(0);
            break;
          case C.CrossFadeState_1:
            _this._animated_cross_fade$_controller.forward$0(0);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
    },
    build$1: function(_, context) {
      var topChild, topAnimation, bottomChild, bottomAnimation, topKey, bottomKey, t2, t3, t4, t5, _this = this, _null = null,
        transitioningForwards = _this._animated_cross_fade$_controller.get$_status() === C.AnimationStatus_3 || _this._animated_cross_fade$_controller.get$_status() === C.AnimationStatus_1,
        t1 = _this._widget;
      if (transitioningForwards) {
        topChild = t1.secondChild;
        topAnimation = _this.get$_secondAnimation();
        bottomChild = _this._widget.firstChild;
        bottomAnimation = _this.get$_firstAnimation();
        topKey = C.ValueKey_CrossFadeState_1;
        bottomKey = C.ValueKey_CrossFadeState_0;
      } else {
        topChild = t1.firstChild;
        topAnimation = _this.get$_firstAnimation();
        bottomChild = _this._widget.secondChild;
        bottomAnimation = _this.get$_secondAnimation();
        topKey = C.ValueKey_CrossFadeState_0;
        bottomKey = C.ValueKey_CrossFadeState_1;
      }
      t1 = _this._animated_cross_fade$_controller.get$_status() === C.AnimationStatus_1 || _this._animated_cross_fade$_controller.get$_status() === C.AnimationStatus_2;
      t2 = K.FadeTransition$(false, bottomChild, bottomAnimation);
      t3 = K.FadeTransition$(false, topChild, topAnimation);
      t4 = _this._widget;
      t5 = t4.duration;
      return T.ClipRect$(F.AnimatedSize$(C.Alignment_0_m1, t4.layoutBuilder$4(new U.TickerMode(true, new T.ExcludeSemantics(false, t3, _null), topKey), topKey, new U.TickerMode(t1, new T.ExcludeSemantics(true, t2, _null), bottomKey), bottomKey), C.C__Linear, t5, _null), _null);
    }
  };
  U._AnimatedCrossFadeState_initState_closure.prototype = {
    call$1: function($status) {
      this.$this.setState$1(new U._AnimatedCrossFadeState_initState__closure());
    },
    $signature: 12
  };
  U._AnimatedCrossFadeState_initState__closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  U.__AnimatedCrossFadeState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  F.AnimatedSize.prototype = {
    createState$0: function() {
      return new F._AnimatedSizeState(null, C._StateLifecycle_0);
    },
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  F._AnimatedSizeState.prototype = {
    build$1: function(_, context) {
      var t1 = this._widget;
      return new F._AnimatedSize(t1.alignment, t1.curve, t1.duration, t1.reverseDuration, this, C.Clip_1, t1.child, null);
    }
  };
  F._AnimatedSize.prototype = {
    createRenderObject$1: function(context) {
      var _this = this;
      return F.RenderAnimatedSize$(_this.alignment, _this.clipBehavior, _this.curve, _this.duration, _this.reverseDuration, T.Directionality_maybeOf(context), _this.vsync);
    },
    updateRenderObject$2: function(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(0, T.Directionality_maybeOf(context));
      t1 = _this.clipBehavior;
      if (t1 !== renderObject._animated_size$_clipBehavior) {
        renderObject._animated_size$_clipBehavior = t1;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
    },
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  F.__AnimatedSizeState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  X.AnnotatedRegion.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderAnnotatedRegion(this.value, true, null, this.$ti._eval$1("RenderAnnotatedRegion<1>"));
      t1.get$isRepaintBoundary();
      t1.__RenderObject__needsCompositing = true;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$value(0, this.value);
      renderObject.set$sized(true);
    }
  };
  S.WidgetsApp.prototype = {
    createState$0: function() {
      return new S._WidgetsAppState(C._StateLifecycle_0);
    }
  };
  S._WidgetsAppState.prototype = {
    get$_initialRouteName: function() {
      var t1, t2;
      $.WidgetsBinding__instance.toString;
      t1 = $.$get$window().platformDispatcher;
      if (t1.get$defaultRouteName() !== "/") {
        $.WidgetsBinding__instance.toString;
        t1 = t1.get$defaultRouteName();
      } else {
        this._widget.toString;
        t2 = $.WidgetsBinding__instance;
        t2.toString;
        t1 = t1.get$defaultRouteName();
      }
      return t1;
    },
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this._updateRouting$0();
      $.WidgetsBinding__instance.toString;
      _this._app$_locale = _this._resolveLocales$2($.$get$window().platformDispatcher._configuration.locales, _this._widget.supportedLocales);
      $.WidgetsBinding__instance.WidgetsBinding__observers.push(_this);
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._updateRouting$1$oldWidget(oldWidget);
    },
    dispose$0: function(_) {
      var t1;
      C.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, this);
      t1 = this._defaultRouteInformationProvider;
      if (t1 != null)
        t1.dispose$0(0);
      this.super$State$dispose(0);
    },
    _updateRouting$1$oldWidget: function(oldWidget) {
      var t1, _this = this;
      if (_this._widget.routerDelegate != null) {
        _this._navigator = null;
        if (oldWidget == null || false) {
          t1 = _this._defaultRouteInformationProvider;
          if (t1 != null)
            t1.dispose$0(0);
          _this._defaultRouteInformationProvider = null;
          _this._widget.toString;
          _this._defaultRouteInformationProvider = new Z.PlatformRouteInformationProvider(new Z.RouteInformation(_this.get$_initialRouteName(), null), P.List_List$filled(0, null, false, type$.nullable_void_Function));
        }
      } else if (_this.get$_usesNavigator()) {
        t1 = _this._defaultRouteInformationProvider;
        if (t1 != null)
          t1.dispose$0(0);
        _this._defaultRouteInformationProvider = null;
        if (_this._navigator != null) {
          _this._widget.toString;
          oldWidget.toString;
          t1 = false;
        } else
          t1 = true;
        if (t1) {
          _this._widget.toString;
          _this._navigator = new N.GlobalObjectKey(_this, type$.GlobalObjectKey_NavigatorState);
        }
      } else {
        _this._navigator = null;
        t1 = _this._defaultRouteInformationProvider;
        if (t1 != null)
          t1.dispose$0(0);
        _this._defaultRouteInformationProvider = null;
      }
    },
    _updateRouting$0: function() {
      return this._updateRouting$1$oldWidget(null);
    },
    get$_usesNavigator: function() {
      this._widget.toString;
      return false;
    },
    _onGenerateRoute$1: function(settings) {
      var t1, pageContentBuilder,
        $name = settings.name;
      if ($name === "/")
        this._widget.toString;
      t1 = this._widget;
      pageContentBuilder = t1.routes.$index(0, $name);
      return this._widget.pageRouteBuilder.call$1$2(settings, pageContentBuilder, type$.dynamic);
    },
    _onUnknownRoute$1: function(settings) {
      return this._widget.onUnknownRoute.call$1(settings);
    },
    didPopRoute$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1, $navigator;
      var $async$didPopRoute$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$didPopRoute$0, $async$completer);
    },
    didPushRoute$1: function(route) {
      return this.didPushRoute$body$_WidgetsAppState(route);
    },
    didPushRoute$body$_WidgetsAppState: function(route) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1, $navigator;
      var $async$didPushRoute$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$didPushRoute$1, $async$completer);
    },
    _resolveLocales$2: function(preferredLocales, supportedLocales) {
      this._widget.toString;
      return S.basicLocaleListResolution(preferredLocales, supportedLocales);
    },
    didChangeLocales$1: function(locales) {
      var _this = this,
        newLocale = _this._resolveLocales$2(locales, _this._widget.supportedLocales);
      if (!newLocale.$eq(0, _this._app$_locale))
        _this.setState$1(new S._WidgetsAppState_didChangeLocales_closure(_this, newLocale));
    },
    get$_app$_localizationsDelegates: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError;
        return function $async$get$_app$_localizationsDelegates($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 P._IterationMarker_yieldStar($async$self._widget.localizationsDelegates);
              case 2:
                // after yield
                $async$goto = 3;
                return C.C__WidgetsLocalizationsDelegate;
              case 3:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.LocalizationsDelegate_dynamic);
    },
    build$1: function(_, context) {
      var t2, t3, t4, result, performanceOverlay, t5, appLocale, t6, t7, t8, _this = this, _null = null, t1 = {};
      t1.routing = null;
      t2 = _this._widget;
      t3 = t2.routerDelegate;
      if (t3 != null) {
        t4 = _this._defaultRouteInformationProvider;
        t1.routing = new Z.Router(t4, t2.routeInformationParser, t3, t2.backButtonDispatcher, "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 = K.Navigator$(t3, t2, t4, K.navigator_Navigator_defaultGenerateInitialRoutes$closure(), _this.get$_onGenerateRoute(), _null, _this.get$_onUnknownRoute(), C.List_empty6, true, "nav");
      }
      t1.result = null;
      t2 = _this._widget;
      t2.toString;
      result = new T.Builder(new S._WidgetsAppState_build_closure(t1, _this), _null);
      t1.result = result;
      result = t1.result = L.DefaultTextStyle$(result, _null, _null, C.TextOverflow_0, true, t2.textStyle, _null, _null, C.TextWidthBasis_0);
      t2 = $.WidgetsApp_showPerformanceOverlayOverride;
      if (t2)
        performanceOverlay = new L.PerformanceOverlay(15, false, false, _null);
      else
        performanceOverlay = _null;
      t1 = performanceOverlay != null ? t1.result = T.Stack$(C.AlignmentDirectional_m1_m1, H._setArrayType([result, T.Positioned$(_null, performanceOverlay, _null, _null, 0, 0, 0, _null)], type$.JSArray_Widget), C.Clip_1, C.StackFit_0, _null, _null) : result;
      t2 = _this._widget;
      t3 = t2.title;
      t4 = t2.color;
      t5 = _this._app$_locale;
      t5.toString;
      appLocale = t5;
      t2 = t2.restorationScopeId;
      t5 = S.WidgetsApp_defaultShortcuts();
      t6 = $.$get$WidgetsApp_defaultActions();
      t7 = _this.get$_app$_localizationsDelegates();
      t7 = P.List_List$of(t7, true, t7.$ti._eval$1("Iterable.E"));
      t8 = $.$get$DefaultTextEditingActions__shortcutsActions();
      return new K.RootRestorationScope(new X.Shortcuts(t5, new E.DefaultTextEditingShortcuts(E.DefaultTextEditingShortcuts__shortcuts(), new U.Actions(t6, new E.DefaultTextEditingActions(t8, new U.FocusTraversalGroup(new U.ReadingOrderTraversalPolicy(P.LinkedHashMap_LinkedHashMap$_empty(type$.FocusScopeNode, type$._DirectionalPolicyData)), new S._MediaQueryFromWindow(new L.Localizations(appLocale, t7, new U.Title(t3, t4, t1, _null), _null), _null), _null), _null), _null), "<Default Text Editing Shortcuts>", _null), "<Default WidgetsApp Shortcuts>", _null), t2, _null);
    }
  };
  S._WidgetsAppState_didChangeLocales_closure.prototype = {
    call$0: function() {
      this.$this._app$_locale = this.newLocale;
    },
    $signature: 0
  };
  S._WidgetsAppState_build_closure.prototype = {
    call$1: function(context) {
      return this.$this._widget.builder.call$2(context, this._box_0.routing);
    },
    $signature: 30
  };
  S._MediaQueryFromWindow.prototype = {
    createState$0: function() {
      return new S._MediaQueryFromWindowsState(C._StateLifecycle_0);
    }
  };
  S._MediaQueryFromWindowsState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      $.WidgetsBinding__instance.WidgetsBinding__observers.push(this);
    },
    didChangeMetrics$0: function() {
      this.setState$1(new S._MediaQueryFromWindowsState_didChangeMetrics_closure());
    },
    didChangePlatformBrightness$0: function() {
      this.setState$1(new S._MediaQueryFromWindowsState_didChangePlatformBrightness_closure());
    },
    build$1: function(_, context) {
      var t1, t2, t3, t4, t5, t6, t7, t8, data;
      $.WidgetsBinding__instance.toString;
      t1 = $.$get$window();
      t2 = t1.get$physicalSize();
      t3 = t1._debugDevicePixelRatio;
      t2 = t2.$div(0, t3 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t3);
      t3 = t1._debugDevicePixelRatio;
      if (t3 == null)
        t3 = H.EnginePlatformDispatcher_browserDevicePixelRatio();
      t4 = t1.platformDispatcher._configuration;
      t1.get$viewConfiguration();
      t5 = t1._debugDevicePixelRatio;
      t5 = V.EdgeInsets$fromWindowPadding(C.WindowPadding_0_0_0_0, t5 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t5);
      t1.get$viewConfiguration();
      t6 = t1._debugDevicePixelRatio;
      t6 = V.EdgeInsets$fromWindowPadding(C.WindowPadding_0_0_0_0, t6 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t6);
      t7 = t1._viewInsets;
      t8 = t1._debugDevicePixelRatio;
      t7 = V.EdgeInsets$fromWindowPadding(t7, t8 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t8);
      t1.get$viewConfiguration();
      t1 = t1._debugDevicePixelRatio;
      data = new F.MediaQueryData(t2, t3, t4.textScaleFactor, t4.platformBrightness, t7, t5, t6, V.EdgeInsets$fromWindowPadding(C.WindowPadding_0_0_0_0, t1 == null ? H.EnginePlatformDispatcher_browserDevicePixelRatio() : t1), false, false, false, false, false, false, C.NavigationMode_0).copyWith$1$platformBrightness($.debugBrightnessOverride);
      return new F.MediaQuery(data, this._widget.child, null);
    },
    dispose$0: function(_) {
      C.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, this);
      this.super$State$dispose(0);
    }
  };
  S._MediaQueryFromWindowsState_didChangeMetrics_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  S._MediaQueryFromWindowsState_didChangePlatformBrightness_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  S.__MediaQueryFromWindowsState_State_WidgetsBindingObserver.prototype = {};
  S.__WidgetsAppState_State_WidgetsBindingObserver.prototype = {};
  B.StreamBuilderBase.prototype = {
    createState$0: function() {
      var t1 = this.$ti;
      return new B._StreamBuilderBaseState(C._StateLifecycle_0, t1._eval$1("@<StreamBuilderBase.T>")._bind$1(t1._eval$1("StreamBuilderBase.S"))._eval$1("_StreamBuilderBaseState<1,2>"));
    }
  };
  B._StreamBuilderBaseState.prototype = {
    get$_summary: function() {
      var t1 = this.___StreamBuilderBaseState__summary;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_summary")) : t1;
    },
    initState$0: function() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = _this._widget;
      t2 = t1.initialData;
      t1 = H._instanceType(t1)._eval$1("AsyncSnapshot<1>");
      _this.___StreamBuilderBaseState__summary = t2 == null ? new B.AsyncSnapshot(C.ConnectionState_0, _null, _null, _null, t1) : new B.AsyncSnapshot(C.ConnectionState_0, t2, _null, _null, t1);
      _this._async0$_subscribe$0();
    },
    didUpdateWidget$1: function(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.get$_summary();
          _this.___StreamBuilderBaseState__summary = new B.AsyncSnapshot(C.ConnectionState_0, t1.data, t1.error, t1.stackTrace, H._instanceType(t1));
        }
        _this._async0$_subscribe$0();
      }
    },
    build$1: function(_, context) {
      var t1 = this._widget;
      t1.toString;
      return t1.builder$2(context, this.get$_summary());
    },
    dispose$0: function(_) {
      this._async0$_unsubscribe$0();
      this.super$State$dispose(0);
    },
    _async0$_subscribe$0: function() {
      var t1, _this = this;
      _this._async0$_subscription = _this._widget.stream.listen$3$onDone$onError(new B._StreamBuilderBaseState__subscribe_closure(_this), new B._StreamBuilderBaseState__subscribe_closure0(_this), new B._StreamBuilderBaseState__subscribe_closure1(_this));
      t1 = _this._widget;
      t1.toString;
      t1 = _this.get$_summary();
      _this.___StreamBuilderBaseState__summary = new B.AsyncSnapshot(C.ConnectionState_1, t1.data, t1.error, t1.stackTrace, H._instanceType(t1));
    },
    _async0$_unsubscribe$0: function() {
      var t1 = this._async0$_subscription;
      if (t1 != null) {
        t1.cancel$0(0);
        this._async0$_subscription = null;
      }
    }
  };
  B._StreamBuilderBaseState__subscribe_closure.prototype = {
    call$1: function(data) {
      var t1 = this.$this;
      t1.setState$1(new B._StreamBuilderBaseState__subscribe__closure1(t1, data));
    },
    $signature: function() {
      return this.$this.$ti._eval$1("~(1)");
    }
  };
  B._StreamBuilderBaseState__subscribe__closure1.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._widget;
      t2.toString;
      t1.get$_summary();
      t1.___StreamBuilderBaseState__summary = new B.AsyncSnapshot(C.ConnectionState_2, this.data, null, null, H._instanceType(t2)._eval$1("AsyncSnapshot<1>"));
    },
    $signature: 0
  };
  B._StreamBuilderBaseState__subscribe_closure1.prototype = {
    call$2: function(error, stackTrace) {
      var t1 = this.$this;
      t1.setState$1(new B._StreamBuilderBaseState__subscribe__closure(t1, error, stackTrace));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  B._StreamBuilderBaseState__subscribe__closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._widget;
      t2.toString;
      t1.get$_summary();
      t1.___StreamBuilderBaseState__summary = new B.AsyncSnapshot(C.ConnectionState_2, null, this.error, this.stackTrace, H._instanceType(t2)._eval$1("AsyncSnapshot<1>"));
    },
    $signature: 0
  };
  B._StreamBuilderBaseState__subscribe_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.setState$1(new B._StreamBuilderBaseState__subscribe__closure0(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  B._StreamBuilderBaseState__subscribe__closure0.prototype = {
    call$0: function() {
      var t2,
        t1 = this.$this;
      t1._widget.toString;
      t2 = t1.get$_summary();
      t1.___StreamBuilderBaseState__summary = new B.AsyncSnapshot(C.ConnectionState_3, t2.data, t2.error, t2.stackTrace, H._instanceType(t2));
    },
    $signature: 0
  };
  B.ConnectionState.prototype = {
    toString$0: function(_) {
      return this._async0$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  B.AsyncSnapshot.prototype = {
    toString$0: function(_) {
      var _this = this;
      return "AsyncSnapshot(" + _this.connectionState.toString$0(0) + ", " + H.S(_this.data) + ", " + H.S(_this.error) + ", " + H.S(_this.stackTrace) + ")";
    },
    $eq: function(_, 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: function(_) {
      return P.hashValues(this.connectionState, this.data, this.error, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  B.StreamBuilder.prototype = {
    builder$2: function(arg0, arg1) {
      return this.builder.call$2(arg0, arg1);
    }
  };
  L.AutomaticKeepAlive.prototype = {
    createState$0: function() {
      return new L._AutomaticKeepAliveState(C._StateLifecycle_0);
    }
  };
  L._AutomaticKeepAliveState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._updateChild$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._updateChild$0();
    },
    _updateChild$0: function() {
      this._automatic_keep_alive$_child = new U.NotificationListener(this._widget.child, this.get$_addClient(), null, type$.NotificationListener_KeepAliveNotification);
    },
    dispose$0: function(_) {
      var t2, t3,
        t1 = this._automatic_keep_alive$_handles;
      if (t1 != null)
        for (t1 = t1.get$keys(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
          t2 = t1.get$current(t1);
          t3 = this._automatic_keep_alive$_handles.$index(0, t2);
          t3.toString;
          t2.removeListener$1(0, t3);
        }
      this.super$State$dispose(0);
    },
    _addClient$1: function(notification) {
      var childElement, _this = this,
        handle = notification.handle,
        t1 = _this._automatic_keep_alive$_handles;
      if (t1 == null)
        t1 = _this._automatic_keep_alive$_handles = P.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 L._AutomaticKeepAliveState__addClient_closure(_this));
      }
      return false;
    },
    _getChildElement$0: function() {
      var t1 = {},
        t2 = this._framework$_element;
      t2.toString;
      t1.childElement = null;
      t2.visitChildren$1(new L._AutomaticKeepAliveState__getChildElement_closure(t1));
      return type$.nullable_ParentDataElement_KeepAliveParentDataMixin._as(t1.childElement);
    },
    _updateParentDataOfChild$1: function(childElement) {
      var t1, t2;
      this._framework$_element.toString;
      t1 = this._keepingAlive;
      t2 = this._automatic_keep_alive$_child;
      t2.toString;
      childElement._applyParentData$1(type$.ParentDataWidget_KeepAliveParentDataMixin._as(G.KeepAlive$(t2, t1)));
    },
    _createCallback$1: function(handle) {
      return new L._AutomaticKeepAliveState__createCallback_closure(this, handle);
    },
    build$1: function(_, context) {
      var t1 = this._keepingAlive,
        t2 = this._automatic_keep_alive$_child;
      t2.toString;
      return new G.KeepAlive(t1, t2, null);
    }
  };
  L._AutomaticKeepAliveState__addClient_closure.prototype = {
    call$1: function(timeStamp) {
      var childElement,
        t1 = this.$this;
      if (t1._framework$_element == null)
        return;
      childElement = t1._getChildElement$0();
      childElement.toString;
      t1._updateParentDataOfChild$1(childElement);
    },
    $signature: 6
  };
  L._AutomaticKeepAliveState__getChildElement_closure.prototype = {
    call$1: function(child) {
      this._box_0.childElement = child;
    },
    $signature: 18
  };
  L._AutomaticKeepAliveState__createCallback_closure.prototype = {
    call$0: function() {
      var t2,
        t1 = this.$this;
      t1._automatic_keep_alive$_handles.remove$1(0, this.handle);
      t2 = t1._automatic_keep_alive$_handles;
      if (t2.get$isEmpty(t2))
        if ($.SchedulerBinding__instance.SchedulerBinding__schedulerPhase.index < 3)
          t1.setState$1(new L._AutomaticKeepAliveState__createCallback__closure(t1));
        else {
          t1._keepingAlive = false;
          P.scheduleMicrotask(new L._AutomaticKeepAliveState__createCallback__closure0(t1));
        }
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  L._AutomaticKeepAliveState__createCallback__closure.prototype = {
    call$0: function() {
      this.$this._keepingAlive = false;
    },
    $signature: 0
  };
  L._AutomaticKeepAliveState__createCallback__closure0.prototype = {
    call$0: function() {
      var t2,
        t1 = this.$this;
      if (t1._framework$_element != null) {
        t2 = t1._automatic_keep_alive$_handles;
        t2 = t2.get$isEmpty(t2);
      } else
        t2 = false;
      if (t2)
        t1.setState$1(new L._AutomaticKeepAliveState__createCallback___closure(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  L._AutomaticKeepAliveState__createCallback___closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  L.KeepAliveNotification.prototype = {};
  L.KeepAliveHandle.prototype = {};
  L.AutomaticKeepAliveClientMixin.prototype = {
    _ensureKeepAlive$0: function() {
      var t2,
        t1 = new L.KeepAliveHandle(P.List_List$filled(0, null, false, type$.nullable_void_Function));
      this.AutomaticKeepAliveClientMixin__keepAliveHandle = t1;
      t2 = this._framework$_element;
      t2.toString;
      new L.KeepAliveNotification(t1).dispatch$1(t2);
    },
    updateKeepAlive$0: function() {
      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: function(_, context) {
      if (this.get$wantKeepAlive() && this.AutomaticKeepAliveClientMixin__keepAliveHandle == null)
        this._ensureKeepAlive$0();
      return C._NullWidget_null;
    }
  };
  L._NullWidget1.prototype = {
    build$1: function(_, context) {
      throw H.wrapException(U.FlutterError_FlutterError("Widgets that mix AutomaticKeepAliveClientMixin into their State must call super.build() but must ignore the return value of the superclass."));
    }
  };
  T.Directionality.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return this.textDirection !== oldWidget.textDirection;
    }
  };
  T.Opacity.prototype = {
    createRenderObject$1: function(context) {
      var t2,
        t1 = this.opacity;
      t1 = new E.RenderOpacity(C.JSNumber_methods.round$0(J.clamp$2$n(t1, 0, 1) * 255), t1, this.alwaysIncludeSemantics, null);
      t1.get$isRepaintBoundary();
      t2 = t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = t2;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$opacity(0, this.opacity);
      renderObject.set$alwaysIncludeSemantics(this.alwaysIncludeSemantics);
    }
  };
  T.CustomPaint.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new V.RenderCustomPaint(this.painter, this.foregroundPainter, this.size, false, false, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$painter(this.painter);
      renderObject.set$foregroundPainter(this.foregroundPainter);
      renderObject.set$preferredSize(this.size);
      renderObject.willChange = renderObject.isComplex = false;
    },
    didUnmountRenderObject$1: function(renderObject) {
      renderObject.set$painter(null);
      renderObject.set$foregroundPainter(null);
    }
  };
  T.ClipRect.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderClipRect(this.clipper, C.Clip_1, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$clipper(this.clipper);
      renderObject.set$clipBehavior(C.Clip_1);
    },
    didUnmountRenderObject$1: function(renderObject) {
      renderObject.set$clipper(null);
    }
  };
  T.ClipRRect.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderClipRRect(this.borderRadius, null, C.Clip_2, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$borderRadius(0, this.borderRadius);
      renderObject.set$clipBehavior(C.Clip_2);
      renderObject.set$clipper(null);
    }
  };
  T.ClipPath.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderClipPath(this.clipper, this.clipBehavior, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$clipper(this.clipper);
      renderObject.set$clipBehavior(this.clipBehavior);
    },
    didUnmountRenderObject$1: function(renderObject) {
      renderObject.set$clipper(null);
    }
  };
  T.PhysicalModel.prototype = {
    createRenderObject$1: function(context) {
      var _this = this,
        t1 = new E.RenderPhysicalModel(_this.shape, _this.borderRadius, _this.elevation, _this.shadowColor, _this.color, null, _this.clipBehavior, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = true;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(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);
    }
  };
  T.PhysicalShape.prototype = {
    createRenderObject$1: function(context) {
      var _this = this,
        t1 = new E.RenderPhysicalShape(_this.elevation, _this.shadowColor, _this.color, _this.clipper, _this.clipBehavior, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = true;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(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);
    }
  };
  T.Transform.prototype = {
    createRenderObject$1: function(context) {
      var t3, _this = this,
        t1 = T.Directionality_maybeOf(context),
        t2 = new E.RenderTransform(_this.transformHitTests, null);
      t2.get$isRepaintBoundary();
      t3 = t2.get$alwaysNeedsCompositing();
      t2.__RenderObject__needsCompositing = t3;
      t2.set$child(null);
      t2.set$transform(0, _this.transform);
      t2.set$alignment(_this.alignment);
      t2.set$textDirection(0, t1);
      t2.set$filterQuality(_this.filterQuality);
      t2.set$origin(0, null);
      return t2;
    },
    updateRenderObject$2: function(context, renderObject) {
      var _this = this;
      renderObject.set$transform(0, _this.transform);
      renderObject.set$origin(0, null);
      renderObject.set$alignment(_this.alignment);
      renderObject.set$textDirection(0, T.Directionality_maybeOf(context));
      renderObject.transformHitTests = _this.transformHitTests;
      renderObject.set$filterQuality(_this.filterQuality);
    }
  };
  T.CompositedTransformTarget.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderLeaderLayer(this.link, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = true;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$link(this.link);
    }
  };
  T.CompositedTransformFollower.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderFollowerLayer(this.link, false, this.offset, this.targetAnchor, C.Alignment_m1_m1, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = true;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(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(C.Alignment_m1_m1);
    }
  };
  T.FractionalTranslation.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderFractionalTranslation(this.translation, this.transformHitTests, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$translation(this.translation);
      renderObject.transformHitTests = this.transformHitTests;
    }
  };
  T.RotatedBox.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new O.RenderRotatedBox(this.quarterTurns, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$quarterTurns(this.quarterTurns);
    }
  };
  T.Padding.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new T.RenderPadding(this.padding, T.Directionality_maybeOf(context), null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$padding(0, this.padding);
      renderObject.set$textDirection(0, T.Directionality_maybeOf(context));
    }
  };
  T.Align.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new T.RenderPositionedBox(this.widthFactor, this.heightFactor, this.alignment, T.Directionality_maybeOf(context), null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$alignment(this.alignment);
      renderObject.set$widthFactor(this.widthFactor);
      renderObject.set$heightFactor(this.heightFactor);
      renderObject.set$textDirection(0, T.Directionality_maybeOf(context));
    }
  };
  T.Center.prototype = {};
  T.CustomSingleChildLayout.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new T.RenderCustomSingleChildLayoutBox(this.delegate, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$delegate(this.delegate);
    }
  };
  T.LayoutId.prototype = {
    applyParentData$1: function(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 K.RenderObject)
          targetParent.markNeedsLayout$0();
      }
    }
  };
  T.CustomMultiChildLayout.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new B.RenderCustomMultiChildLayoutBox(this.delegate, 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$delegate(this.delegate);
    }
  };
  T.SizedBox.prototype = {
    createRenderObject$1: function(context) {
      return E.RenderConstrainedBox$(S.BoxConstraints$tightFor(this.height, this.width));
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$additionalConstraints(S.BoxConstraints$tightFor(this.height, this.width));
    },
    toStringShort$0: function() {
      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);
    }
  };
  T.ConstrainedBox.prototype = {
    createRenderObject$1: function(context) {
      return E.RenderConstrainedBox$(this.constraints);
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$additionalConstraints(this.constraints);
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  T.LimitedBox.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderLimitedBox(this.maxWidth, this.maxHeight, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$maxWidth(0, this.maxWidth);
      renderObject.set$maxHeight(0, this.maxHeight);
    }
  };
  T.OverflowBox.prototype = {
    createRenderObject$1: function(context) {
      var _null = null,
        t1 = new T.RenderConstrainedOverflowBox(_null, _null, this.minHeight, this.maxHeight, this.alignment, T.Directionality_maybeOf(context), _null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(_null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$alignment(this.alignment);
      renderObject.set$minWidth(0, null);
      renderObject.set$maxWidth(0, null);
      renderObject.set$minHeight(0, this.minHeight);
      renderObject.set$maxHeight(0, this.maxHeight);
      renderObject.set$textDirection(0, T.Directionality_maybeOf(context));
    }
  };
  T.Offstage.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderOffstage(this.offstage, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$offstage(this.offstage);
    },
    createElement$0: function(_) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new T._OffstageElement(t1, this, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
    }
  };
  T._OffstageElement.prototype = {
    get$widget: function() {
      return type$.Offstage._as(N.SingleChildRenderObjectElement.prototype.get$widget.call(this));
    }
  };
  T.IntrinsicWidth.prototype = {
    createRenderObject$1: function(context) {
      var _null = null,
        t1 = this.stepWidth;
      if (t1 === 0)
        t1 = _null;
      t1 = new E.RenderIntrinsicWidth(t1, _null, _null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(_null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1 = this.stepWidth;
      renderObject.set$stepWidth(t1 === 0 ? null : t1);
      renderObject.set$stepHeight(null);
    }
  };
  T.IntrinsicHeight.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderIntrinsicHeight(null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    }
  };
  T.SliverPadding.prototype = {
    createRenderObject$1: function(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = new T.RenderSliverPadding(this.padding, t1.textDirection, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1;
      renderObject.set$padding(0, this.padding);
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      renderObject.set$textDirection(0, t1.textDirection);
    }
  };
  T.ListBody.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new R.RenderListBody(T.getAxisDirectionFromAxisReverseAndDirectionality(context, C.Axis_1, false), 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$axisDirection(T.getAxisDirectionFromAxisReverseAndDirectionality(context, C.Axis_1, false));
    }
  };
  T.Stack.prototype = {
    createRenderObject$1: function(context) {
      var t1 = T.Directionality_maybeOf(context);
      return K.RenderStack$(this.alignment, null, this.clipBehavior, this.fit, t1);
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1;
      renderObject.set$alignment(this.alignment);
      t1 = T.Directionality_maybeOf(context);
      renderObject.set$textDirection(0, 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();
      }
    }
  };
  T.IndexedStack.prototype = {
    createRenderObject$1: function(context) {
      var t1 = T.Directionality_maybeOf(context);
      t1 = new K.RenderIndexedStack(this.index, this.alignment, t1, C.StackFit_0, C.Clip_1, 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1;
      renderObject.set$index(0, this.index);
      renderObject.set$alignment(this.alignment);
      t1 = T.Directionality_maybeOf(context);
      renderObject.set$textDirection(0, t1);
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  T.Positioned.prototype = {
    applyParentData$1: function(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 K.RenderObject)
          targetParent.markNeedsLayout$0();
      }
    }
  };
  T.Flex.prototype = {
    get$_needTextDirection: function() {
      switch (this.direction) {
        case C.Axis_0:
          return true;
        case C.Axis_1:
          var t1 = this.crossAxisAlignment;
          return t1 === C.CrossAxisAlignment_0 || t1 === C.CrossAxisAlignment_1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    getEffectiveTextDirection$1: function(context) {
      var t1 = this.textDirection;
      if (t1 == null)
        t1 = this.get$_needTextDirection() ? T.Directionality_maybeOf(context) : null;
      return t1;
    },
    createRenderObject$1: function(context) {
      var _this = this;
      return F.RenderFlex$(null, C.Clip_0, _this.crossAxisAlignment, _this.direction, _this.mainAxisAlignment, _this.mainAxisSize, _this.textBaseline, _this.getEffectiveTextDirection$1(context), _this.verticalDirection);
    },
    updateRenderObject$2: function(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(0, _this.getEffectiveTextDirection$1(context));
      renderObject.set$verticalDirection(_this.verticalDirection);
      renderObject.set$textBaseline(0, _this.textBaseline);
      if (C.Clip_0 !== renderObject._flex$_clipBehavior) {
        renderObject._flex$_clipBehavior = C.Clip_0;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
    }
  };
  T.Row.prototype = {};
  T.Column.prototype = {};
  T.Flexible.prototype = {
    applyParentData$1: function(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 K.RenderObject)
          targetParent.markNeedsLayout$0();
      }
    }
  };
  T.Expanded.prototype = {};
  T.Wrap.prototype = {
    createRenderObject$1: function(context) {
      var t1 = T.Directionality_maybeOf(context);
      t1 = new N.RenderWrap(C.Axis_0, C.WrapAlignment_0, 0, C.WrapAlignment_0, 0, C.WrapCrossAlignment_0, t1, C.VerticalDirection_1, C.Clip_0, 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1;
      renderObject.set$direction(0, C.Axis_0);
      renderObject.set$alignment(C.WrapAlignment_0);
      renderObject.set$spacing(0, 0);
      renderObject.set$runAlignment(C.WrapAlignment_0);
      renderObject.set$runSpacing(0);
      renderObject.set$crossAxisAlignment(C.WrapCrossAlignment_0);
      t1 = T.Directionality_maybeOf(context);
      if (renderObject._wrap$_textDirection != t1) {
        renderObject._wrap$_textDirection = t1;
        renderObject.markNeedsLayout$0();
      }
      if (renderObject._wrap$_verticalDirection !== C.VerticalDirection_1) {
        renderObject._wrap$_verticalDirection = C.VerticalDirection_1;
        renderObject.markNeedsLayout$0();
      }
      if (C.Clip_0 !== renderObject._wrap$_clipBehavior) {
        renderObject._wrap$_clipBehavior = C.Clip_0;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
    }
  };
  T.RichText.prototype = {
    createRenderObject$1: function(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 = L.Localizations_maybeLocaleOf(context);
      t5 = t3 === C.TextOverflow_2 ? "\u2026" : _null;
      t3 = new Q.RenderParagraph(U.TextPainter$(t5, t4, _this.maxLines, _this.strutStyle, t1, _this.textAlign, t2, _this.textHeightBehavior, _this.textScaleFactor, _this.textWidthBasis), _this.softWrap, t3, 0, _null, _null);
      t3.get$isRepaintBoundary();
      t3.get$alwaysNeedsCompositing();
      t3.__RenderObject__needsCompositing = false;
      t3.addAll$1(0, _null);
      t3._extractPlaceholderSpans$1(t1);
      return t3;
    },
    updateRenderObject$2: function(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(0, t1);
      renderObject.set$softWrap(_this.softWrap);
      renderObject.set$overflow(0, _this.overflow);
      renderObject.set$textScaleFactor(_this.textScaleFactor);
      renderObject.set$maxLines(0, _this.maxLines);
      renderObject.set$strutStyle(0, _this.strutStyle);
      renderObject.set$textWidthBasis(_this.textWidthBasis);
      renderObject.set$textHeightBehavior(0, _this.textHeightBehavior);
      t1 = L.Localizations_maybeLocaleOf(context);
      renderObject.set$locale(0, t1);
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  T.RichText__extractChildren_closure.prototype = {
    call$1: function(span) {
      return true;
    },
    $signature: 112
  };
  T.RawImage.prototype = {
    createRenderObject$1: function(context) {
      var _this = this,
        t1 = _this.image;
      t1 = t1 == null ? null : t1.clone$0(0);
      t1 = new U.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);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1._updateColorFilter$0();
      return t1;
    },
    updateRenderObject$2: function(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$colorBlendMode(_this.colorBlendMode);
      renderObject.set$alignment(_this.alignment);
      renderObject.set$fit(_this.fit);
      renderObject.set$repeat(0, _this.repeat);
      renderObject.set$centerSlice(_this.centerSlice);
      renderObject.set$matchTextDirection(false);
      renderObject.set$textDirection(0, null);
      renderObject.set$invertColors(_this.invertColors);
      renderObject.set$filterQuality(_this.filterQuality);
    },
    didUnmountRenderObject$1: function(renderObject) {
      renderObject.set$image(0, null);
    }
  };
  T.Listener.prototype = {
    createRenderObject$1: function(context) {
      var _this = this, _null = null,
        t1 = new E.RenderPointerListener(_this.onPointerDown, _null, _this.onPointerUp, _null, _this.onPointerCancel, _this.onPointerSignal, _this.behavior, _null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(_null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var _this = this;
      renderObject.onPointerDown = _this.onPointerDown;
      renderObject.onPointerMove = null;
      renderObject.onPointerUp = _this.onPointerUp;
      renderObject.onPointerHover = null;
      renderObject.onPointerCancel = _this.onPointerCancel;
      renderObject.onPointerSignal = _this.onPointerSignal;
      renderObject.behavior = _this.behavior;
    }
  };
  T.MouseRegion.prototype = {
    createState$0: function() {
      return new T._MouseRegionState(C._StateLifecycle_0);
    }
  };
  T._MouseRegionState.prototype = {
    handleExit$1: function($event) {
      var t1 = this._widget.onExit;
      if (t1 != null && this._framework$_element != null)
        t1.call$1($event);
    },
    getHandleExit$0: function() {
      return this._widget.onExit == null ? null : this.get$handleExit();
    },
    build$1: function(_, context) {
      return new T._RawMouseRegion(this, this._widget.child, null);
    }
  };
  T._RawMouseRegion.prototype = {
    createRenderObject$1: function(context) {
      var t1 = this.owner,
        t2 = t1._widget;
      t2.toString;
      t2 = new E.RenderMouseRegion(true, t2.onEnter, t2.onHover, t1.getHandleExit$0(), t2.cursor, null);
      t2.get$isRepaintBoundary();
      t2.get$alwaysNeedsCompositing();
      t2.__RenderObject__needsCompositing = false;
      t2.set$child(null);
      return t2;
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1 = this.owner,
        t2 = t1._widget;
      t2.toString;
      renderObject.onEnter = t2.onEnter;
      renderObject.onHover = t2.onHover;
      renderObject.onExit = t1.getHandleExit$0();
      t2 = t2.cursor;
      if (!J.$eq$(renderObject._cursor, t2)) {
        renderObject._cursor = t2;
        renderObject.markNeedsPaint$0();
      }
    }
  };
  T.RepaintBoundary.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderRepaintBoundary(null);
      t1.get$isRepaintBoundary();
      t1.__RenderObject__needsCompositing = true;
      t1.set$child(null);
      return t1;
    }
  };
  T.IgnorePointer.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderIgnorePointer(this.ignoring, this.ignoringSemantics, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$ignoring(this.ignoring);
      renderObject.set$ignoringSemantics(this.ignoringSemantics);
    }
  };
  T.AbsorbPointer.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderAbsorbPointer(false, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$absorbing(false);
      renderObject.set$ignoringSemantics(null);
    }
  };
  T.MetaData.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderMetaData(this.metaData, C.HitTestBehavior_0, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.metaData = this.metaData;
      renderObject.behavior = C.HitTestBehavior_0;
    }
  };
  T.Semantics.prototype = {
    createRenderObject$1: function(context) {
      var _this = this, _null = null,
        t1 = _this.properties;
      t1 = new E.RenderSemanticsAnnotations(_this.container, _this.explicitChildNodes, false, t1.checked, t1.enabled, t1.selected, t1.button, t1.slider, t1.keyboardKey, t1.link, t1.header, t1.textField, t1.readOnly, t1.focusable, t1.focused, t1.inMutuallyExclusiveGroup, t1.obscured, t1.multiline, t1.scopesRoute, t1.namesRoute, t1.hidden, t1.image, t1.liveRegion, t1.maxValueLength, t1.currentValueLength, t1.toggled, t1.label, t1.value, t1.increasedValue, t1.decreasedValue, t1.hint, t1.hintOverrides, _this._getTextDirection$1(context), t1.sortKey, t1.tagForChildren, t1.onTap, t1.onDismiss, t1.onLongPress, t1.onScrollLeft, t1.onScrollRight, t1.onScrollUp, t1.onScrollDown, t1.onIncrease, t1.onDecrease, t1.onCopy, t1.onCut, t1.onPaste, t1.onMoveCursorForwardByCharacter, t1.onMoveCursorBackwardByCharacter, _null, _null, t1.onSetSelection, t1.onSetText, t1.onDidGainAccessibilityFocus, t1.onDidLoseAccessibilityFocus, t1.customSemanticsActions, _null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(_null);
      return t1;
    },
    _getTextDirection$1: function(context) {
      var t1 = this.properties,
        t2 = t1.textDirection;
      if (t2 != null)
        return t2;
      if (!(t1.label != null || t1.value != null || false))
        return null;
      return T.Directionality_maybeOf(context);
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1, t2, _this = this;
      renderObject.set$container(_this.container);
      renderObject.set$explicitChildNodes(_this.explicitChildNodes);
      renderObject.set$excludeSemantics(false);
      t1 = _this.properties;
      renderObject.set$scopesRoute(t1.scopesRoute);
      renderObject.set$enabled(0, t1.enabled);
      renderObject.set$checked(0, t1.checked);
      renderObject.set$toggled(t1.toggled);
      renderObject.set$selected(0, t1.selected);
      renderObject.set$button(0, t1.button);
      renderObject.set$slider(t1.slider);
      renderObject.set$keyboardKey(t1.keyboardKey);
      renderObject.set$link(t1.link);
      renderObject.set$header(t1.header);
      renderObject.set$textField(t1.textField);
      renderObject.set$readOnly(0, t1.readOnly);
      renderObject.set$focusable(t1.focusable);
      renderObject.set$focused(0, t1.focused);
      renderObject.set$inMutuallyExclusiveGroup(t1.inMutuallyExclusiveGroup);
      renderObject.set$obscured(t1.obscured);
      renderObject.set$multiline(0, t1.multiline);
      renderObject.set$hidden(0, t1.hidden);
      renderObject.set$image(0, t1.image);
      renderObject.set$liveRegion(t1.liveRegion);
      renderObject.set$maxValueLength(t1.maxValueLength);
      renderObject.set$currentValueLength(t1.currentValueLength);
      renderObject.set$label(0, t1.label);
      renderObject.set$value(0, t1.value);
      renderObject.set$increasedValue(t1.increasedValue);
      renderObject.set$decreasedValue(t1.decreasedValue);
      renderObject.set$hint(0, t1.hint);
      renderObject.set$hintOverrides(t1.hintOverrides);
      renderObject.set$namesRoute(t1.namesRoute);
      renderObject.set$textDirection(0, _this._getTextDirection$1(context));
      renderObject.set$sortKey(t1.sortKey);
      renderObject.set$tagForChildren(t1.tagForChildren);
      renderObject.set$onTap(t1.onTap);
      renderObject.set$onLongPress(t1.onLongPress);
      renderObject.set$onScrollLeft(t1.onScrollLeft);
      renderObject.set$onScrollRight(t1.onScrollRight);
      renderObject.set$onScrollUp(t1.onScrollUp);
      renderObject.set$onScrollDown(t1.onScrollDown);
      renderObject.set$onIncrease(t1.onIncrease);
      renderObject.set$onDismiss(t1.onDismiss);
      renderObject.set$onDecrease(t1.onDecrease);
      renderObject.set$onCopy(0, t1.onCopy);
      renderObject.set$onCut(0, t1.onCut);
      renderObject.set$onPaste(0, t1.onPaste);
      t2 = t1.onMoveCursorForwardByCharacter;
      renderObject.set$onMoveCursorForwardByCharacter(t2);
      renderObject.set$onMoveCursorBackwardByCharacter(t2);
      renderObject.set$onMoveCursorForwardByWord(null);
      renderObject.set$onMoveCursorBackwardByWord(null);
      renderObject.set$onSetSelection(t1.onSetSelection);
      renderObject.set$onSetText(t1.onSetText);
      renderObject.set$onDidGainAccessibilityFocus(t1.onDidGainAccessibilityFocus);
      renderObject.set$onDidLoseAccessibilityFocus(t1.onDidLoseAccessibilityFocus);
      renderObject.set$customSemanticsActions(t1.customSemanticsActions);
    }
  };
  T.MergeSemantics.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderMergeSemantics(null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    }
  };
  T.BlockSemantics.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderBlockSemantics(true, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$blocking(true);
    }
  };
  T.ExcludeSemantics.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderExcludeSemantics(this.excluding, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$excluding(this.excluding);
    }
  };
  T.IndexedSemantics.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderIndexedSemantics(this.index, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$index(0, this.index);
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  T.KeyedSubtree.prototype = {
    build$1: function(_, context) {
      return this.child;
    }
  };
  T.Builder.prototype = {
    build$1: function(_, context) {
      return this.builder.call$1(context);
    }
  };
  T.ColoredBox.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new T._RenderColoredBox(this.color, C.HitTestBehavior_1, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      type$._RenderColoredBox._as(renderObject).set$color(0, this.color);
    }
  };
  T._RenderColoredBox.prototype = {
    set$color: function(_, value) {
      if (J.$eq$(value, this._basic$_color))
        return;
      this._basic$_color = value;
      this.markNeedsPaint$0();
    },
    paint$2: function(context, offset) {
      var t1, t2, t3, t4, t5, t6, _this = this;
      if (_this._box$_size.$gt(0, C.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 = H._detectRenderer();
        t6 = t6 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        t6.set$color(0, _this._basic$_color);
        t1.drawRect$2(0, new P.Rect(t3, t4, t3 + t5, t4 + t2), t6);
      }
      t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        context.paintChild$2(t1, offset);
    }
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure.prototype = {
    call$1: function(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: function(parameters) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Map_String_Object),
        $async$returnValue, data, result, t1;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.RendererBinding__instance;
              if (t1 == null)
                data = null;
              else {
                t1 = t1.get$_pipelineOwner()._rootNode;
                t1.toString;
                result = t1.super$DiagnosticableTreeMixin$toStringDeep(C.DiagnosticLevel_2, "", "");
                data = result;
              }
              $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["data", data == null ? "Render tree unavailable." : data], type$.String, type$.Object);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 113
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0.prototype = {
    call$1: function(parameters) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0(parameters);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0: function(parameters) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Map_String_Object),
        $async$returnValue, data, t1;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.RendererBinding__instance;
              if (t1 == null)
                data = null;
              else {
                t1 = t1.get$_pipelineOwner()._rootNode.get$debugSemantics();
                t1 = t1 == null ? null : t1.toStringDeep$1$childOrder(C.DebugSemanticsDumpOrder_1);
                data = t1;
              }
              $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["data", data == null ? "Semantics not collected." : data], type$.String, type$.Object);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 113
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure1.prototype = {
    call$1: function(parameters) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure(parameters);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure: function(parameters) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Map_String_Object),
        $async$returnValue, data, t1;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.RendererBinding__instance;
              if (t1 == null)
                data = null;
              else {
                t1 = t1.get$_pipelineOwner()._rootNode.get$debugSemantics();
                t1 = t1 == null ? null : t1.toStringDeep$1$childOrder(C.DebugSemanticsDumpOrder_0);
                data = t1;
              }
              $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["data", data == null ? "Semantics not collected." : data], type$.String, type$.Object);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 113
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_dispatchEvent_closure.prototype = {
    call$0: function() {
      var t2, result,
        t1 = this.hitTestResult;
      if (t1 == null) {
        t1 = this.$this.get$_pipelineOwner()._rootNode;
        t1.toString;
        t2 = this.event;
        t2 = t2.get$position(t2);
        result = S.BoxHitTestResult$();
        t1.hitTest$2$position(result, t2);
        t1 = result;
      }
      return t1;
    },
    $signature: 875
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initInstances_closure.prototype = {
    call$1: function(timings) {
      J.forEach$1$ax(timings, this.$this.get$_profileFramePostEvent());
    },
    $signature: 157
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.double),
        $async$returnValue;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = $._timeDilation;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 876
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure0.prototype = {
    call$1: function(value) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure(value);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure: function(value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              N.timeDilation(value);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 877
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_initInstances_closure.prototype = {
    call$1: function(message) {
      return this.$this.handleSystemMessage$1(message);
    },
    $signature: 878
  };
  N.WidgetsBindingObserver.prototype = {
    didPopRoute$0: function() {
      return P.Future_Future$value(false, type$.bool);
    },
    didPushRoute$1: function(route) {
      return P.Future_Future$value(false, type$.bool);
    },
    didPushRouteInformation$1: function(routeInformation) {
      var t1 = routeInformation.location;
      t1.toString;
      return this.didPushRoute$1(t1);
    },
    didChangeMetrics$0: function() {
    },
    didChangePlatformBrightness$0: function() {
    },
    didChangeLocales$1: function(locales) {
    },
    didChangeAppLifecycleState$1: function(state) {
    }
  };
  N.WidgetsBinding.prototype = {
    handleLocaleChanged$0: function() {
      this.dispatchLocalesChanged$1($.$get$window().platformDispatcher._configuration.locales);
    },
    dispatchLocalesChanged$1: function(locales) {
      var t1, t2, _i;
      for (t1 = this.WidgetsBinding__observers, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].didChangeLocales$1(locales);
    },
    handlePopRoute$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, _i;
      var $async$handlePopRoute$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = P.List_List$from($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 P._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
              M.SystemNavigator_pop();
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$handlePopRoute$0, $async$completer);
    },
    handlePushRoute$1: function(route) {
      return this.handlePushRoute$body$WidgetsBinding(route);
    },
    handlePushRoute$body$WidgetsBinding: function(route) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, _i;
      var $async$handlePushRoute$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = P.List_List$from($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 P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$handlePushRoute$1, $async$completer);
    },
    _handlePushRouteInformation$1: function(routeArguments) {
      return this._handlePushRouteInformation$body$WidgetsBinding(routeArguments);
    },
    _handlePushRouteInformation$body$WidgetsBinding: function(routeArguments) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, _i;
      var $async$_handlePushRouteInformation$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = P.List_List$from($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 P._asyncAwait(t1[_i].didPushRouteInformation$1(new Z.RouteInformation(H._asStringS(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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handlePushRouteInformation$1, $async$completer);
    },
    _handleNavigationInvocation$1: function(methodCall) {
      switch (methodCall.method) {
        case "popRoute":
          return this.handlePopRoute$0();
        case "pushRoute":
          return this.handlePushRoute$1(H._asStringS(methodCall.$arguments));
        case "pushRouteInformation":
          return this._handlePushRouteInformation$1(type$.Map_dynamic_dynamic._as(methodCall.$arguments));
      }
      return P.Future_Future$value(null, type$.dynamic);
    },
    _handleBuildScheduled$0: function() {
      this.ensureVisualUpdate$0();
    },
    scheduleAttachRootWidget$1: function(rootWidget) {
      P.Timer_Timer(C.Duration_0, new N.WidgetsBinding_scheduleAttachRootWidget_closure(this, rootWidget));
    }
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure.prototype = {
    call$1: function(parameters) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3(parameters);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3: function(parameters) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Map_String_Object),
        $async$returnValue, t1, t2;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.get$runtimeType$($.WidgetsBinding__instance).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 = P.LinkedHashMap_LinkedHashMap$_literal(["data", t1.charCodeAt(0) == 0 ? t1 : t1], type$.String, type$.Object);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 113
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0.prototype = {
    call$1: function(_) {
      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: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Map_String_dynamic),
        $async$returnValue, $async$self = this;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = P.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 93
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1.prototype = {
    call$1: function(_) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1(_);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Map_String_dynamic),
        $async$returnValue, $async$self = this;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["enabled", $async$self.$this.WidgetsBinding__firstFrameCompleter.future._state !== 0 ? "true" : "false"], type$.String, type$.dynamic);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 93
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure2.prototype = {
    call$1: function(params) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0(params);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0: function(params) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Map_String_String),
        $async$returnValue, $async$self = this, className, t1, t2;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              className = H._asStringQ(J.$index$asx(params, "className"));
              t1 = $async$self.$this;
              t2 = t1.WidgetsBinding__renderViewElement;
              if (t2 != null)
                new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure_markElementsDirty(className).call$1(t2);
              $async$goto = 3;
              return P._asyncAwait(t1.get$endOfFrame(), $async$call$1);
            case 3:
              // returning from await.
              t1 = type$.String;
              $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["type", "Success"], t1, t1);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 879
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure_markElementsDirty.prototype = {
    call$1: function(element) {
      if (H._rtiToString(J.get$runtimeType$(element.get$widget())._rti, null) == this.className)
        element.markNeedsBuild$0();
      element.visitChildren$1(this);
    },
    $signature: 18
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = $.debugProfileBuildsEnabled;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 239
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure4.prototype = {
    call$1: function(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: function(value) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void);
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($.debugProfileBuildsEnabled !== value)
                $.debugProfileBuildsEnabled = value;
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 881
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_drawFrame_closure.prototype = {
    call$1: function(timings) {
      var t1, t2, t3;
      P.Timeline_instantSync("Rasterized first useful frame", null);
      P.postEvent("Flutter.FirstFrame", P.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: 157
  };
  N.WidgetsBinding_scheduleAttachRootWidget_closure.prototype = {
    call$0: function() {
      var t3, t4,
        t1 = this.$this,
        t2 = t1.WidgetsBinding__renderViewElement;
      t1.WidgetsBinding__readyToProduceFrames = true;
      t3 = t1.get$_pipelineOwner()._rootNode;
      t3.toString;
      t4 = t1.WidgetsBinding__buildOwner;
      t4.toString;
      t1.WidgetsBinding__renderViewElement = new N.RenderObjectToWidgetAdapter(this.rootWidget, t3, "[root]", new N.GlobalObjectKey(t3, type$.GlobalObjectKey_State_StatefulWidget), type$.RenderObjectToWidgetAdapter_RenderBox).attachToRenderTree$2(t4, type$.nullable_RenderObjectToWidgetElement_RenderBox._as(t1.WidgetsBinding__renderViewElement));
      if (t2 == null)
        $.SchedulerBinding__instance.ensureVisualUpdate$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  N.RenderObjectToWidgetAdapter.prototype = {
    createElement$0: function(_) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new N.RenderObjectToWidgetElement(t1, this, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2), this.$ti._eval$1("RenderObjectToWidgetElement<1>"));
    },
    createRenderObject$1: function(context) {
      return this.container;
    },
    updateRenderObject$2: function(context, renderObject) {
    },
    attachToRenderTree$2: function(owner, element) {
      var t2, t1 = {};
      t1.element = element;
      if (element == null) {
        owner.lockState$1(new N.RenderObjectToWidgetAdapter_attachToRenderTree_closure(t1, this, owner));
        t2 = t1.element;
        t2.toString;
        owner.buildScope$2(t2, new N.RenderObjectToWidgetAdapter_attachToRenderTree_closure0(t1));
      } else {
        element._newWidget = this;
        element.markNeedsBuild$0();
      }
      t1 = t1.element;
      t1.toString;
      return t1;
    },
    toStringShort$0: function() {
      return this.debugShortDescription;
    }
  };
  N.RenderObjectToWidgetAdapter_attachToRenderTree_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        element = N.RenderObjectToWidgetElement$(t1, t1.$ti._precomputed1);
      this._box_0.element = element;
      element._owner = this.owner;
    },
    $signature: 0
  };
  N.RenderObjectToWidgetAdapter_attachToRenderTree_closure0.prototype = {
    call$0: function() {
      var t1 = this._box_0.element;
      t1.toString;
      t1.super$RootRenderObjectElement$mount(null, null);
      t1._rebuild$0();
    },
    $signature: 0
  };
  N.RenderObjectToWidgetElement.prototype = {
    get$widget: function() {
      return this.$ti._eval$1("RenderObjectToWidgetAdapter<1>")._as(N.RenderObjectElement.prototype.get$widget.call(this));
    },
    visitChildren$1: function(visitor) {
      var t1 = this._child;
      if (t1 != null)
        visitor.call$1(t1);
    },
    forgetChild$1: function(child) {
      this._child = null;
      this.super$Element$forgetChild(child);
    },
    mount$2: function($parent, newSlot) {
      this.super$RootRenderObjectElement$mount($parent, newSlot);
      this._rebuild$0();
    },
    update$1: function(_, newWidget) {
      this.super$RenderObjectElement$update(0, newWidget);
      this._rebuild$0();
    },
    performRebuild$0: function() {
      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: function() {
      var exception, stack, details, error, exception0, t1, _this = this;
      try {
        _this._child = _this.updateChild$3(_this._child, _this.$ti._eval$1("RenderObjectToWidgetAdapter<1>")._as(N.RenderObjectElement.prototype.get$widget.call(_this)).child, C.C_Object);
      } catch (exception0) {
        exception = H.unwrapException(exception0);
        stack = H.getTraceFromException(exception0);
        t1 = U.ErrorDescription$("attaching to the render tree");
        details = new U.FlutterErrorDetails(exception, stack, "widgets library", t1, null, false);
        U.FlutterError_reportError(details);
        error = N.ErrorWidget__defaultErrorWidgetBuilder(details);
        _this._child = _this.updateChild$3(null, error, C.C_Object);
      }
    },
    get$renderObject: function() {
      return this.$ti._eval$1("RenderObjectWithChildMixin<1>")._as(N.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    insertRenderObjectChild$2: function(child, slot) {
      var t1 = this.$ti;
      t1._eval$1("RenderObjectWithChildMixin<1>")._as(N.RenderObjectElement.prototype.get$renderObject.call(this)).set$child(t1._precomputed1._as(child));
    },
    moveRenderObjectChild$3: function(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2: function(child, slot) {
      this.$ti._eval$1("RenderObjectWithChildMixin<1>")._as(N.RenderObjectElement.prototype.get$renderObject.call(this)).set$child(null);
    }
  };
  N.WidgetsFlutterBinding.prototype = {};
  N._WidgetsFlutterBinding_BindingBase_GestureBinding.prototype = {
    initInstances$0: function() {
      this.super$BindingBase$initInstances();
      $.GestureBinding__instance = this;
      var t1 = $.$get$window().platformDispatcher;
      t1._onPointerDataPacket = this.get$_handlePointerDataPacket();
      t1._onPointerDataPacketZone = $.Zone__current;
    },
    unlocked$0: function() {
      this.super$BindingBase$unlocked();
      this._flushPointerEventQueue$0();
    }
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding.prototype = {
    initInstances$0: function() {
      var _this = this;
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding$initInstances();
      $.SchedulerBinding__instance = _this;
      _this.addTimingsCallback$1(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initInstances_closure(_this));
    },
    initServiceExtensions$0: function() {
      this.super$BindingBase$initServiceExtensions();
      this.registerNumericServiceExtension$3$getter$name$setter(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure(), "timeDilation", new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure0());
    }
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding.prototype = {
    initInstances$0: function() {
      var t1, _this = this;
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding$initInstances();
      $.ServicesBinding__instance = _this;
      _this.ServicesBinding___ServicesBinding__defaultBinaryMessenger = C.C__DefaultBinaryMessenger;
      t1 = new K.RestorationManager(P.LinkedHashSet_LinkedHashSet$_empty(type$.RestorationBucket), P.List_List$filled(0, null, false, type$.nullable_void_Function));
      C.OptionalMethodChannel_fgL.setMethodCallHandler$1(t1.get$_methodHandler());
      _this.ServicesBinding___ServicesBinding__restorationManager = t1;
      t1 = $.LicenseRegistry__collectors;
      if (t1 == null)
        t1 = $.LicenseRegistry__collectors = H._setArrayType([], type$.JSArray_of_Stream_LicenseEntry_Function);
      t1.push(_this.get$_addLicenses());
      C.BasicMessageChannel_Qma.setMessageHandler$1(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_initInstances_closure(_this));
      C.BasicMessageChannel_No7.setMessageHandler$1(_this.get$_handleLifecycleMessage());
      _this.readInitialLifecycleStateFromNativeWindow$0();
    },
    initServiceExtensions$0: function() {
      this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding$initServiceExtensions();
    }
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding.prototype = {
    initInstances$0: function() {
      this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding$initInstances();
      $.PaintingBinding__instance = this;
      var t1 = type$.Object;
      this.PaintingBinding__imageCache = new E.ImageCache(P.LinkedHashMap_LinkedHashMap$_empty(t1, type$._PendingImage), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$._CachedImage), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$._LiveImage));
      C.C_DefaultShaderWarmUp.execute$0();
    },
    handleMemoryPressure$0: function() {
      this.super$ServicesBinding$handleMemoryPressure();
      var t1 = this.PaintingBinding__imageCache;
      if (t1 != null)
        t1.clear$0(0);
    },
    handleSystemMessage$1: function(systemMessage) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this;
      var $async$handleSystemMessage$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return P._asyncAwait($async$self.super$ServicesBinding$handleSystemMessage(systemMessage), $async$handleSystemMessage$1);
            case 3:
              // returning from await.
              switch (H._asStringS(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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$handleSystemMessage$1, $async$completer);
    }
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding.prototype = {
    initInstances$0: function() {
      this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding$initInstances();
      $.SemanticsBinding__instance = this;
      this.SemanticsBinding___SemanticsBinding__accessibilityFeatures = $.$get$window().platformDispatcher._configuration.accessibilityFeatures;
    }
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding.prototype = {
    initInstances$0: function() {
      var t1, t2, t3, _this = this;
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding$initInstances();
      $.RendererBinding__instance = _this;
      t1 = type$.JSArray_RenderObject;
      _this.RendererBinding___RendererBinding__pipelineOwner = new K.PipelineOwner(_this.get$ensureVisualUpdate(), _this.get$_handleSemanticsOwnerCreated(), _this.get$_handleSemanticsOwnerDisposed(), H._setArrayType([], t1), H._setArrayType([], t1), H._setArrayType([], t1), P.LinkedHashSet_LinkedHashSet$_empty(type$.RenderObject));
      t1 = $.$get$window();
      t2 = t1.platformDispatcher;
      t2._onMetricsChanged = _this.get$handleMetricsChanged();
      t3 = t2._onMetricsChangedZone = $.Zone__current;
      t2._onPlatformBrightnessChanged = _this.get$handlePlatformBrightnessChanged();
      t2._onPlatformBrightnessChangedZone = t3;
      t2._onSemanticsEnabledChanged = _this.get$_handleSemanticsEnabledChanged();
      t2._onSemanticsEnabledChangedZone = t3;
      t2._onSemanticsAction = _this.get$_handleSemanticsAction();
      t2._onSemanticsActionZone = t3;
      t1 = new A.RenderView(C.Size_0_0, _this.createViewConfiguration$0(), t1, null);
      t1.get$isRepaintBoundary();
      t1.__RenderObject__needsCompositing = true;
      t1.set$child(null);
      _this.get$_pipelineOwner().set$rootNode(t1);
      t1 = _this.get$_pipelineOwner()._rootNode;
      t1._relayoutBoundary = t1;
      t3 = type$.nullable_PipelineOwner;
      t3._as(B.AbstractNode.prototype.get$owner.call(t1))._nodesNeedingLayout.push(t1);
      t1._layer = t1._updateMatricesAndCreateNewRootLayer$0();
      t3._as(B.AbstractNode.prototype.get$owner.call(t1))._nodesNeedingPaint.push(t1);
      _this.setSemanticsEnabled$1(t2._configuration.semanticsEnabled);
      _this.SchedulerBinding__persistentCallbacks.push(_this.get$_handlePersistentFrameCallback());
      t1 = type$.int;
      t2 = P.List_List$filled(0, null, false, type$.nullable_void_Function);
      _this.RendererBinding__mouseTracker = new A.MouseTracker(new A.MouseCursorManager(C.SystemMouseCursor_basic, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.MouseCursorSession)), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$._MouseState), t2);
      _this.SchedulerBinding__postFrameCallbacks.push(_this.get$_handleWebFirstFrame());
    },
    initServiceExtensions$0: function() {
      var _this = this;
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding$initServiceExtensions();
      _this.registerServiceExtension$2$callback$name(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure(), "debugDumpRenderTree");
      _this.registerServiceExtension$2$callback$name(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0(), "debugDumpSemanticsTreeInTraversalOrder");
      _this.registerServiceExtension$2$callback$name(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure1(), "debugDumpSemanticsTreeInInverseHitTestOrder");
    },
    dispatchEvent$2: function(_, $event, hitTestResult) {
      if (hitTestResult != null || type$.PointerAddedEvent._is($event) || type$.PointerRemovedEvent._is($event))
        this.RendererBinding__mouseTracker.updateWithEvent$2($event, new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_dispatchEvent_closure(this, hitTestResult, $event));
      this.super$GestureBinding$dispatchEvent(0, $event, hitTestResult);
    }
  };
  N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding.prototype = {
    initServiceExtensions$0: function() {
      var _this = this;
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding$initServiceExtensions();
      _this.registerServiceExtension$2$callback$name(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure(), "debugDumpApp");
      _this.registerServiceExtension$2$callback$name(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0(_this), "didSendFirstFrameEvent");
      _this.registerServiceExtension$2$callback$name(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1(_this), "didSendFirstFrameRasterizedEvent");
      _this.registerServiceExtension$2$callback$name(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure2(_this), "fastReassemble");
      _this.registerBoolServiceExtension$3$getter$name$setter(new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3(), "profileWidgetBuilds", new N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure4());
    },
    handleMetricsChanged$0: function() {
      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, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].didChangeMetrics$0();
    },
    handlePlatformBrightnessChanged$0: function() {
      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, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].didChangePlatformBrightness$0();
    },
    handleAppLifecycleStateChanged$1: function(state) {
      var t1, t2, _i;
      this.super$SchedulerBinding$handleAppLifecycleStateChanged(state);
      for (t1 = this.WidgetsBinding__observers, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].didChangeAppLifecycleState$1(state);
    },
    handleMemoryPressure$0: function() {
      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: function() {
      var firstFrameCallback, t2, _this = this, t1 = {};
      t1.firstFrameCallback = null;
      if (_this.WidgetsBinding__needToReportFirstFrame) {
        firstFrameCallback = new N._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)
        P.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);
      }
    }
  };
  M.DecoratedBox.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E.RenderDecoratedBox(this.decoration, this.position, U.createLocalImageConfiguration(context, null), null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$decoration(0, this.decoration);
      renderObject.set$configuration(U.createLocalImageConfiguration(context, null));
      renderObject.set$position(0, this.position);
    }
  };
  M.Container.prototype = {
    get$_paddingIncludingDecoration: function() {
      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: function(_, 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 = T.LimitedBox$(new T.ConstrainedBox(C.BoxConstraints_ALM, _null, _null), 0, 0);
      t1 = _this.alignment;
      if (t1 != null)
        current = new T.Align(t1, _null, _null, current, _null);
      effectivePadding = _this.get$_paddingIncludingDecoration();
      if (effectivePadding != null)
        current = new T.Padding(effectivePadding, current, _null);
      t1 = _this.color;
      if (t1 != null)
        current = new T.ColoredBox(t1, current, _null);
      t1 = _this.clipBehavior;
      if (t1 !== C.Clip_0) {
        t2 = T.Directionality_maybeOf(context);
        t3 = _this.decoration;
        t3.toString;
        current = T.ClipPath$(current, t1, new M._DecorationClipper(t2 == null ? C.TextDirection_1 : t2, t3, _null));
      }
      t1 = _this.decoration;
      if (t1 != null)
        current = M.DecoratedBox$(current, t1, C.DecorationPosition_0);
      t1 = _this.foregroundDecoration;
      if (t1 != null)
        current = M.DecoratedBox$(current, t1, C.DecorationPosition_1);
      t1 = _this.constraints;
      if (t1 != null)
        current = new T.ConstrainedBox(t1, current, _null);
      t1 = _this.margin;
      if (t1 != null)
        current = new T.Padding(t1, current, _null);
      t1 = _this.transform;
      if (t1 != null)
        current = T.Transform$(_this.transformAlignment, current, t1, true);
      current.toString;
      return current;
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  M._DecorationClipper.prototype = {
    getClip$1: function(size) {
      return this.decoration.getClipPath$2(new P.Rect(0, 0, 0 + size._dx, 0 + size._dy), this.textDirection);
    },
    shouldReclip$1: function(oldClipper) {
      return !J.$eq$(oldClipper.decoration, this.decoration) || oldClipper.textDirection !== this.textDirection;
    }
  };
  E.DefaultTextEditingActions.prototype = {};
  E._DoNothingAndStopPropagationTextAction.prototype = {
    consumesKey$1: function(intent) {
      return false;
    },
    invoke$2: function(intent, context) {
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._DeleteTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).delete$1(0, C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._DeleteByWordTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).deleteByWord$2(C.SelectionChangedCause_4, false);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._DeleteByLineTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).deleteByLine$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._DeleteForwardTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).deleteForward$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._DeleteForwardByWordTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).deleteForwardByWord$2(C.SelectionChangedCause_4, false);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._DeleteForwardByLineTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).deleteForwardByLine$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExpandSelectionLeftByLineTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).expandSelectionLeftByLine$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExpandSelectionRightByLineTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).expandSelectionRightByLine$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExpandSelectionToEndTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).expandSelectionToEnd$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExpandSelectionToStartTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).expandSelectionToStart$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExtendSelectionDownTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).extendSelectionDown$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExtendSelectionLeftByLineTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).extendSelectionLeftByLine$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExtendSelectionLeftByWordAndStopAtReversalTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).extendSelectionLeftByWord$3(C.SelectionChangedCause_4, false, true);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExtendSelectionLeftByWordTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).extendSelectionLeftByWord$2(C.SelectionChangedCause_4, false);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExtendSelectionLeftTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).extendSelectionLeft$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExtendSelectionRightByLineTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).extendSelectionRightByLine$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExtendSelectionRightByWordAndStopAtReversalTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).extendSelectionRightByWord$3(C.SelectionChangedCause_4, false, true);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExtendSelectionRightByWordTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).extendSelectionRightByWord$2(C.SelectionChangedCause_4, false);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExtendSelectionRightTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).extendSelectionRight$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._ExtendSelectionUpTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).extendSelectionUp$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._MoveSelectionDownTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).moveSelectionDown$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._MoveSelectionLeftTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).moveSelectionLeft$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._MoveSelectionRightTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).moveSelectionRight$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._MoveSelectionUpTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).moveSelectionUp$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._MoveSelectionLeftByLineTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).moveSelectionLeftByLine$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._MoveSelectionLeftByWordTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).moveSelectionLeftByWord$2(C.SelectionChangedCause_4, false);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._MoveSelectionRightByLineTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).moveSelectionRightByLine$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._MoveSelectionRightByWordTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).moveSelectionRightByWord$2(C.SelectionChangedCause_4, false);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._MoveSelectionToEndTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).moveSelectionToEnd$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E._MoveSelectionToStartTextAction.prototype = {
    invoke$2: function(intent, context) {
      var t1 = this.get$textEditingActionTarget()._editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1).moveSelectionToStart$1(C.SelectionChangedCause_4);
    },
    invoke$1: function(intent) {
      return this.invoke$2(intent, null);
    }
  };
  E.DefaultTextEditingShortcuts.prototype = {};
  Q.DismissDirection.prototype = {
    toString$0: function(_) {
      return this._dismissible$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Q.Dismissible.prototype = {
    createState$0: function() {
      return new Q._DismissibleState(null, null, C._StateLifecycle_0);
    }
  };
  Q._FlingGestureKind.prototype = {
    toString$0: function(_) {
      return this._dismissible$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Q._DismissibleState.prototype = {
    initState$0: function() {
      var t1, _this = this;
      _this.super$__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin$initState();
      _this._widget.toString;
      t1 = G.AnimationController$(null, C.Duration_200000, 0, null, 1, null, _this);
      t1.addStatusListener$1(_this.get$_handleDismissStatusChanged());
      _this._moveController = t1;
      _this._updateMoveAnimation$0();
    },
    get$_moveAnimation: function() {
      var t1 = this.___DismissibleState__moveAnimation;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_moveAnimation")) : t1;
    },
    get$wantKeepAlive: function() {
      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: function(_) {
      var t1;
      this._moveController.dispose$0(0);
      t1 = this._resizeController;
      if (t1 != null)
        t1.dispose$0(0);
      this.super$__DismissibleState_State_TickerProviderStateMixin$dispose(0);
    },
    get$_directionIsXAxis: function() {
      var t1 = this._widget.direction;
      return t1 === C.DismissDirection_1 || t1 === C.DismissDirection_2 || t1 === C.DismissDirection_3;
    },
    _extentToDirection$1: function(extent) {
      var t1;
      if (extent === 0)
        return C.DismissDirection_6;
      if (this.get$_directionIsXAxis()) {
        t1 = this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
        t1.toString;
        switch (t1.textDirection) {
          case C.TextDirection_0:
            return extent < 0 ? C.DismissDirection_3 : C.DismissDirection_2;
          case C.TextDirection_1:
            return extent > 0 ? C.DismissDirection_3 : C.DismissDirection_2;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      }
      return extent > 0 ? C.DismissDirection_5 : C.DismissDirection_4;
    },
    get$_overallDragAxisExtent: function() {
      var t1 = this._framework$_element;
      t1 = t1.get$size(t1);
      t1.toString;
      return this.get$_directionIsXAxis() ? t1._dx : t1._dy;
    },
    _dismissible$_handleDragStart$1: function(details) {
      var t1, t2, _this = this;
      _this._dragUnderway = true;
      t1 = _this._moveController;
      t2 = t1._ticker;
      if (t2 != null && t2._ticker$_future != null) {
        _this._dragExtent = t1.get$_animation_controller$_value() * _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 Q._DismissibleState__handleDragStart_closure(_this));
    },
    _dismissible$_handleDragUpdate$1: function(details) {
      var t1, oldDragExtent, t2, _this = this,
        _s80_ = string$.x60null_c;
      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) {
        case C.DismissDirection_1:
        case C.DismissDirection_0:
          _this._dragExtent = oldDragExtent + t1;
          break;
        case C.DismissDirection_4:
          t1 = oldDragExtent + t1;
          if (t1 < 0)
            _this._dragExtent = t1;
          break;
        case C.DismissDirection_5:
          t1 = oldDragExtent + t1;
          if (t1 > 0)
            _this._dragExtent = t1;
          break;
        case C.DismissDirection_2:
          t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t2.toString;
          switch (t2.textDirection) {
            case C.TextDirection_0:
              t1 = _this._dragExtent + t1;
              if (t1 > 0)
                _this._dragExtent = t1;
              break;
            case C.TextDirection_1:
              t1 = _this._dragExtent + t1;
              if (t1 < 0)
                _this._dragExtent = t1;
              break;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
          break;
        case C.DismissDirection_3:
          t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t2.toString;
          switch (t2.textDirection) {
            case C.TextDirection_0:
              t1 = _this._dragExtent + t1;
              if (t1 < 0)
                _this._dragExtent = t1;
              break;
            case C.TextDirection_1:
              t1 = _this._dragExtent + t1;
              if (t1 > 0)
                _this._dragExtent = t1;
              break;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
          break;
        case C.DismissDirection_6:
          _this._dragExtent = 0;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      if (J.get$sign$in(oldDragExtent) !== J.get$sign$in(_this._dragExtent))
        _this.setState$1(new Q._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());
    },
    _updateMoveAnimation$0: function() {
      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 P.Offset(end, 0);
      } else {
        t3.toString;
        t2 = new P.Offset(0, end);
      }
      t3 = type$.Tween_Offset;
      _this.___DismissibleState__moveAnimation = new R._AnimatedEvaluation(type$.Animation_double._as(t1), new R.Tween(C.Offset_0_0, t2, t3), t3._eval$1("_AnimatedEvaluation<Animatable.T>"));
    },
    _describeFlingGesture$1: function(velocity) {
      var t1, vx, vy, flingDirection, _this = this;
      if (_this._dragExtent === 0)
        return C._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 C._FlingGestureKind_0;
        flingDirection = _this._extentToDirection$1(vx);
      } else {
        t1 = Math.abs(vy);
        if (t1 - Math.abs(vx) < 400 || t1 < 700)
          return C._FlingGestureKind_0;
        flingDirection = _this._extentToDirection$1(vy);
      }
      if (flingDirection === _this._extentToDirection$1(_this._dragExtent))
        return C._FlingGestureKind_1;
      return C._FlingGestureKind_2;
    },
    _dismissible$_handleDragEnd$1: function(details) {
      return this._handleDragEnd$body$_DismissibleState(details);
    },
    _handleDragEnd$body$_DismissibleState: function(details) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, flingVelocity, t2, $async$temp1;
      var $async$_dismissible$_handleDragEnd$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (!$async$self._dragUnderway) {
                t1 = $async$self._moveController._ticker;
                t1 = t1 != null && t1._ticker$_future != null;
              } else
                t1 = true;
              if (t1) {
                t1 = $async$self._moveController._ticker;
                t1 = t1 != null && t1._ticker$_future != null;
              } else
                t1 = true;
              if (t1) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._dragUnderway = false;
              t1 = $async$self._moveController;
              $async$temp1 = t1.get$status(t1) === C.AnimationStatus_3;
              if ($async$temp1) {
                // goto then
                $async$goto = 3;
                break;
              } else
                $async$result = $async$temp1;
              // goto join
              $async$goto = 4;
              break;
            case 3:
              // then
              $async$temp1 = J;
              $async$goto = 5;
              return P._asyncAwait($async$self._confirmStartResizeAnimation$0(), $async$_dismissible$_handleDragEnd$1);
            case 5:
              // returning from await.
              $async$result = $async$temp1.$eq$($async$result, true);
            case 4:
              // join
              if ($async$result) {
                $async$self._startResizeAnimation$0();
                // goto return
                $async$goto = 1;
                break;
              }
              if ($async$self.get$_directionIsXAxis()) {
                t1 = details.velocity;
                flingVelocity = t1.pixelsPerSecond._dx;
              } else {
                t1 = details.velocity;
                flingVelocity = t1.pixelsPerSecond._dy;
              }
              details.toString;
              switch ($async$self._describeFlingGesture$1(t1)) {
                case C._FlingGestureKind_1:
                  $async$self._widget.toString;
                  C.Map_empty9.$index(0, $async$self._extentToDirection$1($async$self._dragExtent));
                  $async$self._dragExtent = J.get$sign$in(flingVelocity);
                  $async$self._moveController.fling$1$velocity(Math.abs(flingVelocity) * 0.0033333333333333335);
                  break;
                case C._FlingGestureKind_2:
                  $async$self._dragExtent = J.get$sign$in(flingVelocity);
                  $async$self._moveController.fling$1$velocity(-Math.abs(flingVelocity) * 0.0033333333333333335);
                  break;
                case C._FlingGestureKind_0:
                  t1 = $async$self._moveController;
                  if (t1.get$status(t1) !== C.AnimationStatus_0) {
                    t1 = $async$self._moveController.get$_animation_controller$_value();
                    $async$self._widget.toString;
                    C.Map_empty9.$index(0, $async$self._extentToDirection$1($async$self._dragExtent));
                    t2 = $async$self._moveController;
                    if (t1 > 0.4)
                      t2.forward$0(0);
                    else
                      t2.reverse$0(0);
                  }
                  break;
                default:
                  throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
              }
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_dismissible$_handleDragEnd$1, $async$completer);
    },
    _handleDismissStatusChanged$1: function($status) {
      return this._handleDismissStatusChanged$body$_DismissibleState($status);
    },
    _handleDismissStatusChanged$body$_DismissibleState: function($status) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, $async$temp1;
      var $async$_handleDismissStatusChanged$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = $status === C.AnimationStatus_3 && !$async$self._dragUnderway ? 2 : 3;
              break;
            case 2:
              // then
              $async$temp1 = J;
              $async$goto = 4;
              return P._asyncAwait($async$self._confirmStartResizeAnimation$0(), $async$_handleDismissStatusChanged$1);
            case 4:
              // returning from await.
              if ($async$temp1.$eq$($async$result, true))
                $async$self._startResizeAnimation$0();
              else
                $async$self._moveController.reverse$0(0);
            case 3:
              // join
              $async$self.updateKeepAlive$0();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_handleDismissStatusChanged$1, $async$completer);
    },
    _confirmStartResizeAnimation$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.nullable_bool),
        $async$returnValue, $async$self = this;
      var $async$_confirmStartResizeAnimation$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._widget.toString;
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_confirmStartResizeAnimation$0, $async$completer);
    },
    _startResizeAnimation$0: function() {
      var direction, t1, _this = this;
      _this._widget.toString;
      direction = _this._extentToDirection$1(_this._dragExtent);
      t1 = _this._widget;
      t1.onDismissed.call$1(direction);
    },
    build$1: function(_, context) {
      var t1, t2, t3, t4, $content, t5, t6, _this = this, _null = null;
      _this.super$AutomaticKeepAliveClientMixin$build(0, context);
      _this._widget.toString;
      t1 = _this._resizeAnimation;
      if (t1 != null) {
        t2 = _this.get$_directionIsXAxis() ? C.Axis_1 : C.Axis_0;
        t3 = _this._sizePriorToCollapse;
        t4 = t3._dx;
        return new K.SizeTransition(t2, T.SizedBox$(_null, t3._dy, t4), t1, _null);
      }
      t1 = _this.get$_moveAnimation();
      $content = K.SlideTransition$(_this._widget.child, t1, _null, true);
      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 D.GestureDetector$(C.HitTestBehavior_1, $content, C.DragStartBehavior_1, false, _null, _null, _null, _null, t3, t1, t2, _null, _null, _null, _null, _null, _null, _null, _null, _null, t6, t4, t5);
    }
  };
  Q._DismissibleState__handleDragStart_closure.prototype = {
    call$0: function() {
      this.$this._updateMoveAnimation$0();
    },
    $signature: 0
  };
  Q._DismissibleState__handleDragUpdate_closure.prototype = {
    call$0: function() {
      this.$this._updateMoveAnimation$0();
    },
    $signature: 0
  };
  Q.__DismissibleState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  Q.__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      if (this.get$wantKeepAlive())
        this._ensureKeepAlive$0();
    },
    deactivate$0: function() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  K.DisposableBuildContext.prototype = {
    get$context: function(_) {
      var t1 = this._disposable_build_context$_state;
      if (t1 == null)
        return null;
      t1 = t1._framework$_element;
      t1.toString;
      return t1;
    }
  };
  D.TextEditingController.prototype = {
    get$text: function(_) {
      return this._value.text;
    },
    set$text: function(_, newText) {
      this.super$ValueNotifier$value(0, this._value.copyWith$3$composing$selection$text(C.TextRange_m1_m1, C.TextSelection_5Zq, newText));
    },
    set$value: function(_, newValue) {
      this.super$ValueNotifier$value(0, newValue);
    },
    buildTextSpan$3$context$style$withComposing: function(context, style, withComposing) {
      var t3, composingStyle, _null = null,
        t1 = this._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 Q.TextSpan$(_null, _null, _null, style, this._value.text);
      composingStyle = style.merge$1(C.TextStyle_3WR);
      t1 = this._value;
      t2 = t1.composing;
      t1 = t1.text;
      t3 = t2.start;
      t2 = t2.end;
      return Q.TextSpan$(H._setArrayType([Q.TextSpan$(_null, _null, _null, _null, J.substring$2$s(t1, 0, t3)), Q.TextSpan$(_null, _null, _null, composingStyle, C.JSString_methods.substring$2(t1, t3, t2)), Q.TextSpan$(_null, _null, _null, _null, C.JSString_methods.substring$1(t1, t2))], type$.JSArray_TextSpan), _null, _null, style, _null);
    },
    set$selection: function(newSelection) {
      var t1, t2, t3, newComposing, _this = this;
      if (!_this.isSelectionWithinTextBounds$1(newSelection))
        throw H.wrapException(U.FlutterError_FlutterError("invalid text selection: " + newSelection.toString$0(0)));
      t1 = newSelection.start;
      t2 = newSelection.end;
      if (t1 == t2) {
        t3 = _this._value.composing;
        t1 = t1 >= t3.start && t2 <= t3.end;
      } else
        t1 = false;
      newComposing = t1 ? _this._value.composing : C.TextRange_m1_m1;
      _this.super$ValueNotifier$value(0, _this._value.copyWith$2$composing$selection(newComposing, newSelection));
    },
    clear$0: function(_) {
      this.super$ValueNotifier$value(0, C.TextEditingValue_4QF);
    },
    isSelectionWithinTextBounds$1: function(selection) {
      var t1 = this._value.text.length;
      return selection.start <= t1 && selection.end <= t1;
    },
    text$0: function($receiver) {
      return this.get$text(this).call$0();
    }
  };
  D.ToolbarOptions.prototype = {};
  D.EditableText.prototype = {
    get$strutStyle: function(_) {
      var t2,
        t1 = this._editable_text$_strutStyle;
      if (t1 == null) {
        t1 = this.style;
        t2 = t1.get$fontFamilyFallback();
        return new M.StrutStyle(t1.fontFamily, t2, t1.fontSize, t1.height, t1.fontWeight, t1.fontStyle, null, true, t1.debugLabel);
      }
      return t1.inheritFromTextStyle$1(this.style);
    },
    createState$0: function() {
      var _null = null;
      return new D.EditableTextState(new B.ValueNotifier(true, P.List_List$filled(0, _null, false, type$.nullable_void_Function), type$.ValueNotifier_bool), new N.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), new T.LayerLink(), new T.LayerLink(), new T.LayerLink(), _null, _null, C._StateLifecycle_0);
    }
  };
  D.EditableTextState.prototype = {
    get$_cursorBlinkOpacityController: function() {
      var t1 = this.__EditableTextState__cursorBlinkOpacityController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_cursorBlinkOpacityController")) : t1;
    },
    get$_floatingCursorResetController: function() {
      var t1 = this.__EditableTextState__floatingCursorResetController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_floatingCursorResetController")) : t1;
    },
    get$wantKeepAlive: function() {
      return this._widget.focusNode.get$hasFocus();
    },
    initState$0: function() {
      var t1, t2, _this = this, _null = null;
      _this.super$_EditableTextState_State_AutomaticKeepAliveClientMixin$initState();
      _this._widget.controller.addListener$1(0, _this.get$_didChangeTextEditingValue());
      t1 = _this._widget.focusNode;
      t2 = _this._framework$_element;
      t2.toString;
      _this._editable_text$_focusAttachment = t1.attach$1(t2);
      _this._widget.focusNode.addListener$1(0, _this.get$_editable_text$_handleFocusChanged());
      _this._widget.toString;
      t1 = F.ScrollController$(0);
      _this._scrollController = t1;
      t1.addListener$1(0, new D.EditableTextState_initState_closure(_this));
      _this.__EditableTextState__cursorBlinkOpacityController = G.AnimationController$(_null, C.Duration_250000, 0, _null, 1, _null, _this);
      t1 = _this.get$_cursorBlinkOpacityController();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._observer_list$_list.push(_this.get$_onCursorColorTick());
      _this.__EditableTextState__floatingCursorResetController = G.AnimationController$(_null, _null, 0, _null, 1, _null, _this);
      t1 = _this.get$_floatingCursorResetController();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._observer_list$_list.push(_this.get$_onFloatingCursorResetTick());
      _this._cursorVisibilityNotifier.set$value(0, _this._widget.showCursor);
    },
    didChangeDependencies$0: function() {
      var _this = this;
      _this.super$_EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin$didChangeDependencies();
      _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$._AutofillScope);
      if (!_this._didAutoFocus && _this._widget.autofocus) {
        _this._didAutoFocus = true;
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new D.EditableTextState_didChangeDependencies_closure(_this));
      }
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, t3, style, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.controller;
      t2 = oldWidget.controller;
      if (t1 != t2) {
        t1 = _this.get$_didChangeTextEditingValue();
        t2.removeListener$1(0, t1);
        _this._widget.controller.addListener$1(0, t1);
        _this._updateRemoteEditingValueIfNeeded$0();
      }
      if (!_this._widget.controller._value.selection.$eq(0, t2._value.selection)) {
        t1 = _this._selectionOverlay;
        if (t1 != null)
          t1.update$1(0, _this._widget.controller._value);
      }
      t1 = _this._selectionOverlay;
      if (t1 != null)
        t1.set$handlesVisible(_this._widget.showSelectionHandles);
      if (!_this._isInAutofillContext) {
        _this.get$_needsAutofill();
        t1 = false;
      } else
        t1 = true;
      _this._isInAutofillContext = t1;
      t1 = _this._widget.focusNode;
      t2 = oldWidget.focusNode;
      if (t1 !== t2) {
        t1 = _this.get$_editable_text$_handleFocusChanged();
        t2.removeListener$1(0, t1);
        t2 = _this._editable_text$_focusAttachment;
        if (t2 != null)
          t2.detach$0(0);
        t2 = _this._widget.focusNode;
        t3 = _this._framework$_element;
        t3.toString;
        _this._editable_text$_focusAttachment = t2.attach$1(t3);
        _this._widget.focusNode.addListener$1(0, t1);
        _this.updateKeepAlive$0();
      }
      if (oldWidget.readOnly && _this._widget.focusNode.get$hasFocus())
        _this._openInputConnection$0();
      t1 = _this.get$_hasInputConnection();
      if (t1)
        if (oldWidget.readOnly !== _this._widget.readOnly) {
          _this._textInputConnection.toString;
          _this.get$_needsAutofill();
          t1 = _this._createTextInputConfiguration$1(false);
          $.$get$TextInput__instance().get$_channel().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(0, style.fontFamily, style.fontSize, style.fontWeight, _this._widget.textAlign, t2);
        }
      }
      t1 = _this._widget;
      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;
      t1;
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this._widget.controller.removeListener$1(0, _this.get$_didChangeTextEditingValue());
      _this.get$_cursorBlinkOpacityController().removeListener$1(0, _this.get$_onCursorColorTick());
      _this.get$_floatingCursorResetController().removeListener$1(0, _this.get$_onFloatingCursorResetTick());
      _this._closeInputConnectionIfNeeded$0();
      _this._stopCursorTimer$0();
      t1 = _this._selectionOverlay;
      if (t1 != null) {
        t1.hide$0();
        t1.get$_toolbarController().dispose$0(0);
      }
      _this._selectionOverlay = null;
      _this._editable_text$_focusAttachment.detach$0(0);
      _this._widget.focusNode.removeListener$1(0, _this.get$_editable_text$_handleFocusChanged());
      C.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, _this);
      _this.super$_EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin$dispose(0);
    },
    updateEditingValue$1: function(value) {
      var _this = this,
        t1 = _this._widget;
      if (t1.readOnly)
        value = t1.controller._value.copyWith$1$selection(value.selection);
      _this._lastKnownRemoteTextEditingValue = value;
      if (value.$eq(0, _this._widget.controller._value))
        return;
      t1 = _this._widget.controller._value;
      if (value.text == t1.text && value.composing.$eq(0, t1.composing))
        _this._handleSelectionChanged$2(value.selection, C.SelectionChangedCause_4);
      else {
        _this.hideToolbar$0();
        _this._currentPromptRectRange = null;
        if (_this.get$_hasInputConnection())
          _this._widget.toString;
        _this._formatAndSetValue$2(value, C.SelectionChangedCause_4);
      }
      _this._scheduleShowCaretOnScreen$0();
      if (_this.get$_hasInputConnection()) {
        _this._stopCursorTimer$1$resetCharTicks(false);
        _this._startCursorTimer$0();
      }
    },
    _onFloatingCursorResetTick$0: function() {
      var t3, t4, finalPosition, lerpValue, _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 P.Offset(0, t3._as(t2)._textPainter.get$preferredLineHeight() / 2));
      t2 = _this.get$_floatingCursorResetController();
      if (t2.get$status(t2) === C.AnimationStatus_3) {
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t2.toString;
        t3._as(t2);
        t4 = _this._lastTextPosition;
        t4.toString;
        t2.setFloatingCursor$3(C.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(X.TextSelection$collapsed(C.TextAffinity_1, _this._lastTextPosition.offset), C.SelectionChangedCause_3);
        _this._lastBoundedOffset = _this._pointOffsetOrigin = _this._lastTextPosition = _this._startCaretRect = null;
      } else {
        lerpValue = _this.get$_floatingCursorResetController().get$_animation_controller$_value();
        t2 = _this._lastBoundedOffset;
        t4 = P.lerpDouble(t2._dx, finalPosition._dx, lerpValue);
        t4.toString;
        t2 = P.lerpDouble(t2._dy, finalPosition._dy, lerpValue);
        t2.toString;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t1.toString;
        t3._as(t1);
        t3 = _this._lastTextPosition;
        t3.toString;
        t1.setFloatingCursor$4$resetLerpValue(C.FloatingCursorDragState_1, new P.Offset(t4, t2), t3, lerpValue);
      }
    },
    _finalizeEditing$2$shouldUnfocus: function(action, shouldUnfocus) {
      var exception, stack, exception0, stack0, exception1, _this = this,
        t1 = _this._widget,
        t2 = t1.onEditingComplete;
      if (t2 != null)
        try {
          t2.call$0();
        } catch (exception1) {
          exception = H.unwrapException(exception1);
          stack = H.getTraceFromException(exception1);
          t1 = U.ErrorDescription$("while calling onEditingComplete for " + action.toString$0(0));
          U.FlutterError_reportError(new U.FlutterErrorDetails(exception, stack, "widgets", t1, null, false));
        }
      else {
        t1 = t1.controller;
        t1.super$ValueNotifier$value(0, t1._value.copyWith$1$composing(C.TextRange_m1_m1));
        if (shouldUnfocus)
          switch (action) {
            case C.TextInputAction_0:
            case C.TextInputAction_1:
            case C.TextInputAction_2:
            case C.TextInputAction_3:
            case C.TextInputAction_4:
            case C.TextInputAction_5:
            case C.TextInputAction_8:
            case C.TextInputAction_9:
            case C.TextInputAction_10:
            case C.TextInputAction_11:
            case C.TextInputAction_12:
              _this._widget.focusNode.unfocus$0();
              break;
            case C.TextInputAction_6:
              t1 = _this._widget.focusNode;
              t1._focus_manager$_context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker).policy._moveFocus$2$forward(t1, true);
              break;
            case C.TextInputAction_7:
              t1 = _this._widget.focusNode;
              t1._focus_manager$_context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker).policy._moveFocus$2$forward(t1, false);
              break;
            default:
              throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
          }
      }
      try {
        t1 = _this._widget;
        t2 = t1.onSubmitted;
        if (t2 != null)
          t2.call$1(t1.controller._value.text);
      } catch (exception) {
        exception0 = H.unwrapException(exception);
        stack0 = H.getTraceFromException(exception);
        t1 = U.ErrorDescription$("while calling onSubmitted for " + action.toString$0(0));
        U.FlutterError_reportError(new U.FlutterErrorDetails(exception0, stack0, "widgets", t1, null, false));
      }
    },
    _updateRemoteEditingValueIfNeeded$0: function() {
      var t1, _this = this;
      if (_this._batchEditDepth > 0 || !_this.get$_hasInputConnection())
        return;
      t1 = _this._widget.controller._value;
      if (J.$eq$(t1, _this._lastKnownRemoteTextEditingValue))
        return;
      _this._textInputConnection.toString;
      $.$get$TextInput__instance().get$_channel().invokeMethod$1$2("TextInput.setEditingState", t1.toJSON$0(), type$.void);
      _this._lastKnownRemoteTextEditingValue = t1;
    },
    _getOffsetToRevealCaret$1: function(rect) {
      var t1, t2, t3, additionalOffset, unitOffset, t4, t5, t6, t7, t8, expandedRect, targetOffset, _this = this;
      if (!C.JSArray_methods.get$single(_this._scrollController._positions).physics.get$allowImplicitScrolling()) {
        t1 = _this._scrollController;
        t1 = t1.get$position(t1)._pixels;
        t1.toString;
        return new Q.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 : C.JSInt_methods.clamp$2(0, t1 - t2, t3);
        unitOffset = C.Offset_1_0;
      } else {
        t4 = rect.get$center();
        t5 = rect.right;
        t6 = rect.left;
        t7 = rect.bottom;
        t8 = rect.top;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t1.toString;
        expandedRect = P.Rect$fromCenter(t4, Math.max(t7 - t8, H.checkNum(t3._as(t1)._textPainter.get$preferredLineHeight())), t5 - t6);
        t1 = expandedRect.bottom;
        t3 = expandedRect.top;
        t2 = t2._dy;
        additionalOffset = t1 - t3 >= t2 ? t2 / 2 - expandedRect.get$center()._dy : C.JSInt_methods.clamp$2(0, t1 - t2, t3);
        unitOffset = C.Offset_0_1;
      }
      t1 = _this._scrollController;
      t1 = t1.get$position(t1)._pixels;
      t1.toString;
      t2 = C.JSArray_methods.get$single(_this._scrollController._positions)._minScrollExtent;
      t2.toString;
      t3 = C.JSArray_methods.get$single(_this._scrollController._positions)._maxScrollExtent;
      t3.toString;
      targetOffset = C.JSNumber_methods.clamp$2(additionalOffset + t1, t2, t3);
      t3 = _this._scrollController;
      t3 = t3.get$position(t3)._pixels;
      t3.toString;
      return new Q.RevealedOffset(targetOffset, rect.shift$1(unitOffset.$mul(0, t3 - targetOffset)));
    },
    get$_hasInputConnection: function() {
      var t1 = this._textInputConnection;
      t1 = t1 == null ? null : $.$get$TextInput__instance()._currentConnection === t1;
      return t1 === true;
    },
    get$_needsAutofill: function() {
      this._widget.toString;
      return false;
    },
    _openInputConnection$0: function() {
      var t1, t2, t3, connection, style, t4, t5, _this = this,
        _s14_ = "TextInput.show";
      if (!_this.get$_hasInputConnection()) {
        t1 = _this._widget.controller._value;
        _this.get$_needsAutofill();
        if (!_this._isInAutofillContext) {
          _this.get$_needsAutofill();
          t2 = false;
        } else
          t2 = true;
        t2 = _this._createTextInputConfiguration$1(t2);
        t3 = $.TextInputConnection__nextId;
        $.TextInputConnection__nextId = t3 + 1;
        connection = new N.TextInputConnection(t3, _this);
        $.$get$TextInput__instance()._attach$2(connection, t2);
        t2 = connection;
        _this._textInputConnection = t2;
        t2 = $.$get$TextInput__instance();
        t3 = type$.void;
        t2.get$_channel().invokeMethod$1$1(_s14_, t3);
        _this._updateSizeAndTransform$0();
        _this._updateComposingRectIfNeeded$0();
        _this._updateCaretRectIfNeeded$0();
        _this.get$_needsAutofill();
        style = _this._widget.style;
        t4 = _this._textInputConnection;
        t4.toString;
        t5 = _this.get$_editable_text$_textDirection();
        t4.setStyle$5$fontFamily$fontSize$fontWeight$textAlign$textDirection(0, style.fontFamily, style.fontSize, style.fontWeight, _this._widget.textAlign, t5);
        t2.get$_channel().invokeMethod$1$2("TextInput.setEditingState", t1.toJSON$0(), t3);
      } else {
        _this._textInputConnection.toString;
        $.$get$TextInput__instance().get$_channel().invokeMethod$1$1(_s14_, type$.void);
      }
    },
    _closeInputConnectionIfNeeded$0: function() {
      var t1, t2, _this = this;
      if (_this.get$_hasInputConnection()) {
        t1 = _this._textInputConnection;
        t1.toString;
        t2 = $.$get$TextInput__instance();
        if (t2._currentConnection === t1) {
          t2.get$_channel().invokeMethod$1$1("TextInput.clearClient", type$.void);
          t2._currentConnection = null;
          t2._scheduleHide$0();
        }
        _this._lastKnownRemoteTextEditingValue = _this._textInputConnection = null;
      }
    },
    requestKeyboard$0: function() {
      if (this._widget.focusNode.get$hasFocus())
        this._openInputConnection$0();
      else
        this._widget.focusNode.requestFocus$0();
    },
    _updateOrDisposeSelectionOverlayIfNeeded$0: function() {
      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._value);
        } else {
          t2.hide$0();
          t2.get$_toolbarController().dispose$0(0);
          _this._selectionOverlay = null;
        }
      }
    },
    _handleSelectionChanged$2: function(selection, cause) {
      var exception, stack, t1, t2, t3, t4, t5, result, exception0, _this = this, _null = null;
      if (!_this._widget.controller.isSelectionWithinTextBounds$1(selection))
        return;
      _this._widget.controller.set$selection(selection);
      _this.requestKeyboard$0();
      t1 = _this._widget;
      if (t1.selectionControls == null) {
        t1 = _this._selectionOverlay;
        if (t1 != null) {
          t1.hide$0();
          t1.get$_toolbarController().dispose$0(0);
        }
        _this._selectionOverlay = null;
      } else {
        t2 = _this._selectionOverlay;
        t3 = t1.controller;
        if (t2 == null) {
          t2 = _this._framework$_element;
          t2.toString;
          t3 = t3._value;
          t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, _this._editableKey).get$renderObject();
          t4.toString;
          type$.RenderEditable._as(t4);
          t5 = _this._widget;
          t3 = new F.TextSelectionOverlay(t2, t1, _this._toolbarLayerLink, _this._startHandleLayerLink, _this._endHandleLayerLink, t4, t5.selectionControls, _this, t5.dragStartBehavior, t5.onSelectionHandleTapped, _null, t3);
          result = t2.findRootAncestorStateOfType$1$0(type$.OverlayState);
          result.toString;
          t3.__TextSelectionOverlay__toolbarController = G.AnimationController$(_null, C.Duration_150000, 0, _null, 1, _null, result);
          _this._selectionOverlay = t3;
        } else
          t2.update$1(0, t3._value);
        t1 = _this._selectionOverlay;
        t1.toString;
        t1.set$handlesVisible(_this._widget.showSelectionHandles);
        _this._selectionOverlay.showHandles$0();
      }
      try {
        _this._widget.onSelectionChanged.call$2(selection, cause);
      } catch (exception0) {
        exception = H.unwrapException(exception0);
        stack = H.getTraceFromException(exception0);
        t1 = U.ErrorDescription$("while calling onSelectionChanged for " + H.S(cause));
        U.FlutterError_reportError(new U.FlutterErrorDetails(exception, stack, "widgets", t1, _null, false));
      }
      if (_this._cursorTimer != null) {
        _this._stopCursorTimer$1$resetCharTicks(false);
        _this._startCursorTimer$0();
      }
    },
    _handleCaretChanged$1: function(caretRect) {
      this._currentCaretRect = caretRect;
    },
    _scheduleShowCaretOnScreen$0: function() {
      if (this._showCaretOnScreenScheduled)
        return;
      this._showCaretOnScreenScheduled = true;
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new D.EditableTextState__scheduleShowCaretOnScreen_closure(this));
    },
    didChangeMetrics$0: function() {
      var t2,
        t1 = this.__EditableTextState__lastBottomViewInset;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("_lastBottomViewInset"));
      $.WidgetsBinding__instance.toString;
      t2 = $.$get$window();
      if (t1 < t2._viewInsets.bottom)
        this._scheduleShowCaretOnScreen$0();
      $.WidgetsBinding__instance.toString;
      this.__EditableTextState__lastBottomViewInset = t2._viewInsets.bottom;
    },
    _formatAndSetValue$3$userInteraction: function(value, cause, userInteraction) {
      var exception, stack, t1, t2, textChanged, value0, t3, exception0, _this = this;
      value = value;
      t1 = _this._widget.controller._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) {
        t2 = _this._widget.inputFormatters;
        value0 = t2 == null ? null : C.JSArray_methods.fold$2(t2, value, new D.EditableTextState__formatAndSetValue_closure(_this));
        value = value0 == null ? value : value0;
      }
      ++_this._batchEditDepth;
      t2 = value;
      t3 = _this._widget.controller;
      t3.toString;
      t3.super$ValueNotifier$value(0, t2);
      if (t1)
        if (userInteraction)
          t1 = cause === C.SelectionChangedCause_2 || cause === C.SelectionChangedCause_4;
        else
          t1 = false;
      else
        t1 = true;
      if (t1)
        _this._handleSelectionChanged$2(value.selection, cause);
      if (textChanged)
        try {
          t1 = _this._widget.onChanged;
          if (t1 != null)
            t1.call$1(value.text);
        } catch (exception0) {
          exception = H.unwrapException(exception0);
          stack = H.getTraceFromException(exception0);
          t1 = U.ErrorDescription$("while calling onChanged");
          U.FlutterError_reportError(new U.FlutterErrorDetails(exception, stack, "widgets", t1, null, false));
        }
      --_this._batchEditDepth;
      _this._updateRemoteEditingValueIfNeeded$0();
    },
    _formatAndSetValue$2: function(value, cause) {
      return this._formatAndSetValue$3$userInteraction(value, cause, false);
    },
    _onCursorColorTick$0: function() {
      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.get$_cursorBlinkOpacityController().get$_animation_controller$_value();
      t2.toString;
      t2 = P.Color$fromARGB(C.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);
      t1 = _this._widget.showCursor && _this.get$_cursorBlinkOpacityController().get$_animation_controller$_value() > 0;
      _this._cursorVisibilityNotifier.set$value(0, t1);
    },
    _cursorTick$1: function(timer) {
      var targetOpacity, _this = this,
        t1 = !_this._targetCursorVisibility;
      _this._targetCursorVisibility = t1;
      targetOpacity = t1 ? 1 : 0;
      if (_this._widget.cursorOpacityAnimates) {
        t1 = _this.get$_cursorBlinkOpacityController();
        t1._direction = C._AnimationDirection_0;
        t1._animateToInternal$3$curve$duration(targetOpacity, C.Cubic_xDo0, null);
      } else
        _this.get$_cursorBlinkOpacityController().set$value(0, targetOpacity);
      if (_this._obscureShowCharTicksPending > 0)
        _this.setState$1(new D.EditableTextState__cursorTick_closure(_this));
    },
    _cursorWaitForStart$1: function(timer) {
      var t1 = this._cursorTimer;
      if (t1 != null)
        t1.cancel$0(0);
      this._cursorTimer = P.Timer_Timer$periodic(C.Duration_500000, this.get$_cursorTick());
    },
    _startCursorTimer$0: function() {
      var _this = this;
      _this._targetCursorVisibility = true;
      _this.get$_cursorBlinkOpacityController().set$value(0, 1);
      if (_this._widget.cursorOpacityAnimates)
        _this._cursorTimer = P.Timer_Timer$periodic(C.Duration_150000, _this.get$_cursorWaitForStart());
      else
        _this._cursorTimer = P.Timer_Timer$periodic(C.Duration_500000, _this.get$_cursorTick());
    },
    _stopCursorTimer$1$resetCharTicks: function(resetCharTicks) {
      var _this = this,
        t1 = _this._cursorTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._cursorTimer = null;
      _this._targetCursorVisibility = false;
      _this.get$_cursorBlinkOpacityController().set$value(0, 0);
      if (resetCharTicks)
        _this._obscureShowCharTicksPending = 0;
      if (_this._widget.cursorOpacityAnimates) {
        _this.get$_cursorBlinkOpacityController().stop$0(0);
        _this.get$_cursorBlinkOpacityController().set$value(0, 0);
      }
    },
    _stopCursorTimer$0: function() {
      return this._stopCursorTimer$1$resetCharTicks(true);
    },
    _startOrStopCursorTimerIfNeeded$0: function() {
      var t1, _this = this;
      if (_this._cursorTimer == null)
        if (_this._widget.focusNode.get$hasFocus()) {
          t1 = _this._widget.controller._value.selection;
          t1 = t1.start == t1.end;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1)
        _this._startCursorTimer$0();
      else {
        if (_this._cursorTimer != null)
          if (_this._widget.focusNode.get$hasFocus()) {
            t1 = _this._widget.controller._value.selection;
            t1 = t1.start != t1.end;
          } else
            t1 = true;
        else
          t1 = false;
        if (t1)
          _this._stopCursorTimer$0();
      }
    },
    _didChangeTextEditingValue$0: function() {
      var _this = this;
      _this._updateRemoteEditingValueIfNeeded$0();
      _this._startOrStopCursorTimerIfNeeded$0();
      _this._updateOrDisposeSelectionOverlayIfNeeded$0();
      _this.setState$1(new D.EditableTextState__didChangeTextEditingValue_closure());
    },
    _editable_text$_handleFocusChanged$0: function() {
      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._value.copyWith$1$composing(C.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$0();
        if (!_this._widget.controller._value.selection.get$isValid())
          _this._handleSelectionChanged$2(X.TextSelection$collapsed(C.TextAffinity_1, _this._widget.controller._value.text.length), null);
      } else {
        C.JSArray_methods.remove$1(t2.WidgetsBinding__observers, _this);
        t1 = _this._widget.controller;
        t1.super$ValueNotifier$value(0, new N.TextEditingValue(t1._value.text, C.TextSelection_5Zq, C.TextRange_m1_m1));
        _this._currentPromptRectRange = null;
      }
      _this.updateKeepAlive$0();
    },
    _updateSizeAndTransform$0: function() {
      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 = P.LinkedHashMap_LinkedHashMap$_literal(["width", t2._dx, "height", t2._dy, "transform", transform._m4storage], type$.String, type$.dynamic);
          t1.get$_channel().invokeMethod$1$2("TextInput.setEditableSizeAndTransform", t2, type$.void);
        }
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new D.EditableTextState__updateSizeAndTransform_closure(_this));
      }
    },
    _updateComposingRectIfNeeded$0: function() {
      var t1, t2, t3, composingRect, offset, _this = this,
        composingRange = _this._widget.controller._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 P.TextPosition(offset, C.TextAffinity_1));
        }
        _this._textInputConnection.setComposingRect$1(composingRect);
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new D.EditableTextState__updateComposingRectIfNeeded_closure(_this));
      }
    },
    _updateCaretRectIfNeeded$0: function() {
      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 P.TextPosition(t2.baseOffset, C.TextAffinity_1));
          _this._textInputConnection.setCaretRect$1(caretRect);
        }
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new D.EditableTextState__updateCaretRectIfNeeded_closure(_this));
      }
    },
    get$_editable_text$_textDirection: function() {
      var t1, result;
      this._widget.toString;
      t1 = this._framework$_element;
      t1 = t1.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      result = t1.textDirection;
      return result;
    },
    userUpdateTextEditingValue$2: function(value, cause) {
      var t1 = this._widget,
        t2 = t1.readOnly;
      t1 = t1.controller;
      if (t2 ? !t1._value.selection.$eq(0, value.selection) : !J.$eq$(t1._value, value))
        this._scheduleShowCaretOnScreen$0();
      this._formatAndSetValue$3$userInteraction(value, cause, true);
    },
    bringIntoView$1: function(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._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: function() {
      return false;
    },
    hideToolbar$1: function(hideHandles) {
      var t1 = this._selectionOverlay;
      if (hideHandles) {
        if (t1 != null)
          t1.hide$0();
      } else if (t1 != null)
        t1.hideToolbar$0();
    },
    hideToolbar$0: function() {
      return this.hideToolbar$1(true);
    },
    toggleToolbar$0: function() {
      if (this._selectionOverlay._toolbar != null)
        this.hideToolbar$0();
      else
        this.showToolbar$0();
    },
    _createTextInputConfiguration$1: function(needsAutofillConfiguration) {
      var t5, t6, t7, t8, t9, _this = this,
        t1 = _this._widget,
        t2 = t1.keyboardType,
        t3 = t1.readOnly,
        t4 = t1.smartDashesType;
      t1 = t1.smartQuotesType;
      t5 = t2.$eq(0, C.TextInputType_1_null_null) ? C.TextInputAction_12 : C.TextInputAction_2;
      t6 = _this._widget;
      t7 = t6.textCapitalization;
      t6 = t6.keyboardAppearance;
      if (!needsAutofillConfiguration)
        t8 = null;
      else {
        t8 = "EditableText-" + H.Primitives_objectHashCode(_this);
        _this._widget.toString;
        t9 = H._setArrayType([], type$.JSArray_String);
        t8 = new F.AutofillConfiguration(t8, t9, _this._widget.controller._value);
      }
      return new N.TextInputConfiguration(t2, t3, false, true, t8, t4, t1, true, t5, t7, t6);
    },
    showAutocorrectionPromptRect$2: function(start, end) {
      this.setState$1(new D.EditableTextState_showAutocorrectionPromptRect_closure(this, start, end));
    },
    _semanticsOnCopy$1: function(controls) {
      var t1 = this._widget;
      if (t1.toolbarOptions.copy)
        if (t1.focusNode.get$hasFocus()) {
          if (controls == null)
            t1 = null;
          else {
            t1 = this._widget;
            if (t1.toolbarOptions.copy) {
              t1 = t1.controller._value.selection;
              t1 = t1.start != t1.end;
            } else
              t1 = false;
          }
          t1 = t1 === true;
        } else
          t1 = false;
      else
        t1 = false;
      return t1 ? new D.EditableTextState__semanticsOnCopy_closure(this, controls) : null;
    },
    _semanticsOnCut$1: function(controls) {
      var t1 = this._widget;
      if (t1.toolbarOptions.cut && !t1.readOnly)
        if (t1.focusNode.get$hasFocus()) {
          if (controls == null)
            t1 = null;
          else {
            t1 = this._widget;
            if (t1.toolbarOptions.cut && !t1.readOnly) {
              t1 = t1.controller._value.selection;
              t1 = t1.start != t1.end;
            } else
              t1 = false;
          }
          t1 = t1 === true;
        } else
          t1 = false;
      else
        t1 = false;
      return t1 ? new D.EditableTextState__semanticsOnCut_closure(this, controls) : null;
    },
    _semanticsOnPaste$1: function(controls) {
      var t1 = this._widget;
      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;
      return t1 ? new D.EditableTextState__semanticsOnPaste_closure(this, controls) : null;
    },
    build$1: function(_, context) {
      var t1, controls, t2, t3, t4, t5, t6, t7, _this = this, _null = null;
      _this._editable_text$_focusAttachment.reparent$0();
      _this.super$AutomaticKeepAliveClientMixin$build(0, context);
      t1 = _this._widget;
      controls = t1.selectionControls;
      t2 = t1.mouseCursor;
      if (t2 == null)
        t2 = C.SystemMouseCursor_text;
      t3 = t1.maxLines !== 1;
      t4 = t3 ? C.AxisDirection_2 : C.AxisDirection_1;
      t5 = _this._scrollController;
      t6 = t1.scrollPhysics;
      t7 = t1.dragStartBehavior;
      t1 = t1.restorationId;
      t3 = t3 ? _null : K.ScrollConfiguration_of(context).copyWith$1$scrollbars(false);
      return new T.MouseRegion(_null, _null, _null, t2, true, F.Scrollable$(t4, t5, t7, true, t6, t1, t3, _null, new D.EditableTextState_build_closure(_this, controls)), _null);
    },
    buildTextSpan$0: function() {
      var t1 = this._widget,
        t2 = t1.controller,
        t3 = this._framework$_element;
      t3.toString;
      return t2.buildTextSpan$3$context$style$withComposing(t3, t1.style, !t1.readOnly);
    },
    $isTextEditingActionTarget: 1
  };
  D.EditableTextState_initState_closure.prototype = {
    call$0: function() {
      var t1 = this.$this._selectionOverlay;
      if (t1 != null)
        t1._text_selection$_markNeedsBuild$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  D.EditableTextState_didChangeDependencies_closure.prototype = {
    call$1: function(_) {
      var t1 = this.$this,
        t2 = t1._framework$_element;
      if (t2 != null)
        L.FocusScope_of(t2).autofocus$1(0, t1._widget.focusNode);
    },
    $signature: 6
  };
  D.EditableTextState__scheduleShowCaretOnScreen_closure.prototype = {
    call$1: function(_) {
      var t2, t3, t4, lineHeight, bottomSpacing, handleHeight, interactiveHandleHeight, caretPadding, targetOffset,
        t1 = this.$this;
      t1._showCaretOnScreenScheduled = false;
      if (t1._currentCaretRect == null || t1._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(H.checkNum(handleHeight), 48);
        bottomSpacing = Math.max(handleHeight / 2 - t1._selectionOverlay.selectionControls.getHandleAnchor$2(C.TextSelectionHandleType_2, lineHeight)._dy + interactiveHandleHeight / 2, H.checkNum(bottomSpacing));
      }
      caretPadding = t1._widget.scrollPadding.copyWith$1$bottom(bottomSpacing);
      t3 = t1._currentCaretRect;
      t3.toString;
      targetOffset = t1._getOffsetToRevealCaret$1(t3);
      t1._scrollController.animateTo$3$curve$duration(targetOffset.offset, C.Cubic_ifx, C.Duration_100000);
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
      t2.toString;
      t4._as(t2).showOnScreen$3$curve$duration$rect(C.Cubic_ifx, C.Duration_100000, caretPadding.inflateRect$1(targetOffset.rect));
    },
    $signature: 6
  };
  D.EditableTextState__formatAndSetValue_closure.prototype = {
    call$2: function(newValue, formatter) {
      return formatter.formatEditUpdate$2(this.$this._widget.controller._value, newValue);
    },
    $signature: 884
  };
  D.EditableTextState__cursorTick_closure.prototype = {
    call$0: function() {
      --this.$this._obscureShowCharTicksPending;
    },
    $signature: 0
  };
  D.EditableTextState__didChangeTextEditingValue_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  D.EditableTextState__updateSizeAndTransform_closure.prototype = {
    call$1: function(_) {
      return this.$this._updateSizeAndTransform$0();
    },
    $signature: 6
  };
  D.EditableTextState__updateComposingRectIfNeeded_closure.prototype = {
    call$1: function(_) {
      return this.$this._updateComposingRectIfNeeded$0();
    },
    $signature: 6
  };
  D.EditableTextState__updateCaretRectIfNeeded_closure.prototype = {
    call$1: function(_) {
      return this.$this._updateCaretRectIfNeeded$0();
    },
    $signature: 6
  };
  D.EditableTextState_showAutocorrectionPromptRect_closure.prototype = {
    call$0: function() {
      this.$this._currentPromptRectRange = new P.TextRange(this.start, this.end);
    },
    $signature: 0
  };
  D.EditableTextState__semanticsOnCopy_closure.prototype = {
    call$0: function() {
      return this.controls.handleCopy$2(this.$this, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  D.EditableTextState__semanticsOnCut_closure.prototype = {
    call$0: function() {
      return this.controls.handleCut$1(this.$this);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  D.EditableTextState__semanticsOnPaste_closure.prototype = {
    call$0: function() {
      return this.controls.handlePaste$1(this.$this);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  D.EditableTextState_build_closure.prototype = {
    call$2: function(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, _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.buildTextSpan$0();
      t6 = t1._widget;
      t7 = t6.controller._value;
      t6 = t6.cursorColor;
      t8 = t1.get$_cursorBlinkOpacityController().get$_animation_controller$_value();
      t6.toString;
      t6 = P.Color$fromARGB(C.JSNumber_methods.round$0(255 * t8), t6.get$value(t6) >>> 16 & 255, t6.get$value(t6) >>> 8 & 255, t6.get$value(t6) & 255);
      t8 = t1._widget;
      t9 = t8.backgroundCursorColor;
      t10 = t8.forceLine;
      t11 = t8.readOnly;
      t8 = t8.focusNode.get$hasFocus();
      t12 = t1._widget;
      t13 = t12.maxLines;
      t14 = t12.minLines;
      t12 = t12.get$strutStyle(t12);
      t15 = t1._widget.selectionColor;
      t16 = F.MediaQuery_textScaleFactorOf(context);
      t17 = t1._widget.textAlign;
      t18 = t1.get$_editable_text$_textDirection();
      t1._widget.toString;
      t19 = L.DefaultTextHeightBehavior_of(context);
      t20 = t1._widget;
      t21 = t20.textWidthBasis;
      t22 = t20.obscuringCharacter;
      t23 = t20.cursorWidth;
      t24 = t20.cursorHeight;
      t25 = t20.cursorRadius;
      t26 = t20.cursorOffset;
      if (t26 == null)
        t26 = C.Offset_0_0;
      t27 = t20.selectionHeightStyle;
      t28 = t20.selectionWidthStyle;
      return new T.CompositedTransformTarget(t1._toolbarLayerLink, T.Semantics$(_null, _null, new D._Editable(t5, t7, t6, t1._startHandleLayerLink, t1._endHandleLayerLink, t9, t1._cursorVisibilityNotifier, t10, t11, t8, t13, t14, false, t12, t15, t16, t17, t18, _null, t22, false, t19, t21, offset, t1.get$_handleCaretChanged(), true, t23, t24, t25, t26, t20.paintCursorAboveText, t27, t28, true, t1, t1._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.devicePixelRatio, t1._currentPromptRectRange, t1._widget.autocorrectionTextRectColor, C.Clip_1, t1._editableKey), false, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, _null, t3, t4, _null, _null, _null, t2, _null, _null, _null, _null, _null, _null, _null, _null), _null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 885
  };
  D._Editable.prototype = {
    createRenderObject$1: function(context) {
      var _this = this, _null = null,
        t1 = L.Localizations_maybeLocaleOf(context),
        t2 = _this.value.selection,
        t3 = D._TextHighlightPainter$(),
        t4 = D._TextHighlightPainter$(),
        t5 = type$.nullable_void_Function,
        t6 = P.List_List$filled(0, _null, false, t5),
        t7 = type$.ValueNotifier_bool;
      t5 = P.List_List$filled(0, _null, false, t5);
      t1 = U.TextPainter$(_null, t1, _null, _this.strutStyle, _this.textSpan, _this.textAlign, _this.textDirection, _this.textHeightBehavior, _this.textScaleFactor, _this.textWidthBasis);
      t1 = new D.RenderEditable(t3, t4, _this.onCaretChanged, true, _this.devicePixelRatio, _this.obscuringCharacter, false, _this.textSelectionDelegate, new B.ValueNotifier(true, t6, t7), new B.ValueNotifier(true, t5, t7), t1, _this.showCursor, _this.hasFocus, _this.forceLine, _this.readOnly, _this.maxLines, _this.minLines, false, t2, _this.offset, _this.cursorWidth, _this.cursorHeight, _this.paintCursorAboveText, _this.startHandleLayerLink, _this.endHandleLayerLink, true, _this.clipBehavior, C.Offset_0_0);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t3.set$highlightColor(_this.selectionColor);
      t3.set$highlightedRange(t2);
      t3.set$selectionHeightStyle(_this.selectionHeightStyle);
      t3.set$selectionWidthStyle(_this.selectionWidthStyle);
      t4.set$highlightColor(_this.promptRectColor);
      t4.set$highlightedRange(_this.promptRectRange);
      t1.get$_caretPainter().set$caretColor(_this.cursorColor);
      t1.get$_caretPainter().set$cursorRadius(_this.cursorRadius);
      t1.get$_caretPainter().set$cursorOffset(_this.cursorOffset);
      t1.get$_caretPainter().set$backgroundCursorColor(_this.backgroundCursorColor);
      t1._updateForegroundPainter$1(_null);
      t1._updatePainter$1(_null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1, t2, _this = this;
      renderObject.set$text(0, _this.textSpan);
      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(0, _this.maxLines);
      renderObject.set$minLines(_this.minLines);
      renderObject.set$expands(false);
      renderObject.set$strutStyle(0, _this.strutStyle);
      t1 = renderObject._selectionPainter;
      t1.set$highlightColor(_this.selectionColor);
      renderObject.set$textScaleFactor(_this.textScaleFactor);
      renderObject.set$textAlign(0, _this.textAlign);
      renderObject.set$textDirection(0, _this.textDirection);
      t2 = L.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(0, _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.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);
    }
  };
  D._EditableTextState_State_AutomaticKeepAliveClientMixin.prototype = {
    initState$0: function() {
      this.super$State$initState();
      if (this._widget.focusNode.get$hasFocus())
        this._ensureKeepAlive$0();
    },
    deactivate$0: function() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver.prototype = {};
  D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin_TextSelectionDelegate.prototype = {};
  O.KeyEventResult.prototype = {
    toString$0: function(_) {
      return this._focus_manager$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  O.FocusAttachment.prototype = {
    detach$0: function(_) {
      var t2,
        t1 = this._focus_manager$_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(C.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: function() {
      var t2, $parent,
        t1 = this._focus_manager$_node;
      if (t1._attachment === this) {
        t2 = t1._focus_manager$_context;
        t2.toString;
        $parent = L.Focus_maybeOf(t2, true);
        ($parent == null ? t1._focus_manager$_context._owner.focusManager.rootScope : $parent)._reparent$1(t1);
      }
    }
  };
  O.UnfocusDisposition.prototype = {
    toString$0: function(_) {
      return this._focus_manager$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  O.FocusNode.prototype = {
    set$skipTraversal: function(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: function() {
      var scope, t1, t2, _i;
      if (!this._focus_manager$_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)
        t1[_i].toString;
      return true;
    },
    set$canRequestFocus: function(value) {
      var t1, _this = this;
      if (value != _this._focus_manager$_canRequestFocus) {
        _this._focus_manager$_canRequestFocus = value;
        if (_this.get$hasFocus() && !value)
          _this.unfocus$1$disposition(C.UnfocusDisposition_1);
        t1 = _this._manager;
        if (t1 != null) {
          t1._markNeedsUpdate$0();
          t1._focus_manager$_dirtyNodes.add$1(0, _this);
        }
      }
    },
    set$descendantsAreFocusable: function(value) {
      return;
    },
    get$parent: function(_) {
      return this._focus_manager$_parent;
    },
    get$children: function(_) {
      return this._children;
    },
    get$descendants: function() {
      var result, t2, _i, child,
        t1 = this._descendants;
      if (t1 == null) {
        result = H._setArrayType([], type$.JSArray_FocusNode);
        for (t1 = this._children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          child = t1[_i];
          C.JSArray_methods.addAll$1(result, child.get$descendants());
          result.push(child);
        }
        this._descendants = result;
        t1 = result;
      }
      return t1;
    },
    get$traversalDescendants: function() {
      var t1 = this.get$descendants();
      t1.toString;
      return new H.WhereIterable(t1, new O.FocusNode_traversalDescendants_closure(), H._arrayInstanceType(t1)._eval$1("WhereIterable<1>"));
    },
    get$ancestors: function() {
      var result, $parent,
        t1 = this._ancestors;
      if (t1 == null) {
        result = H._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: function() {
      if (!this.get$hasPrimaryFocus()) {
        var t1 = this._manager;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1._primaryFocus;
          if (t1 == null)
            t1 = null;
          else {
            t1 = t1.get$ancestors();
            t1 = (t1 && C.JSArray_methods).contains$1(t1, this);
          }
        }
        t1 = t1 === true;
      } else
        t1 = true;
      return t1;
    },
    get$hasPrimaryFocus: function() {
      var t1 = this._manager;
      return (t1 == null ? null : t1._primaryFocus) === this;
    },
    get$nearestScope: function() {
      return this.get$enclosingScope();
    },
    get$enclosingScope: function() {
      var t1, t2, _i, node;
      for (t1 = this.get$ancestors(), t2 = t1.length, _i = 0; _i < t2; ++_i) {
        node = t1[_i];
        if (node instanceof O.FocusScopeNode)
          return node;
      }
      return null;
    },
    get$rect: function(_) {
      var bottomRight,
        object = this._focus_manager$_context.get$renderObject(),
        t1 = object.getTransformTo$1(0, null),
        t2 = object.get$semanticBounds(),
        topLeft = T.MatrixUtils_transformPoint(t1, new P.Offset(t2.left, t2.top));
      t2 = object.getTransformTo$1(0, null);
      t1 = object.get$semanticBounds();
      bottomRight = T.MatrixUtils_transformPoint(t2, new P.Offset(t1.right, t1.bottom));
      return new P.Rect(topLeft._dx, topLeft._dy, bottomRight._dx, bottomRight._dy);
    },
    unfocus$1$disposition: function(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) {
        case C.UnfocusDisposition_0:
          if (scope.get$canRequestFocus())
            C.JSArray_methods.set$length(scope._focusedChildren, 0);
          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 C.UnfocusDisposition_1:
          if (scope.get$canRequestFocus())
            C.JSArray_methods.remove$1(scope._focusedChildren, _this);
          for (; !scope.get$canRequestFocus();) {
            t1 = scope.get$enclosingScope();
            if (t1 != null)
              C.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;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    unfocus$0: function() {
      return this.unfocus$1$disposition(C.UnfocusDisposition_0);
    },
    consumeKeyboardToken$0: function() {
      if (!this._hasKeyboardToken)
        return false;
      this._hasKeyboardToken = false;
      return true;
    },
    _markNextFocus$1: function(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: function(_, node, removeScopeFocus) {
      var t1, t2, _i;
      if (removeScopeFocus) {
        t1 = node.get$enclosingScope();
        if (t1 != null)
          C.JSArray_methods.remove$1(t1._focusedChildren, node);
      }
      node._focus_manager$_parent = null;
      C.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: function($receiver, node) {
      return this._removeChild$2$removeScopeFocus($receiver, node, true);
    },
    _focus_manager$_updateManager$1: function(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: function(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._focus_manager$_context != null && child.get$enclosingScope() !== oldScope) {
        inherited = child._focus_manager$_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;
      }
    },
    attach$2$onKey: function(context, onKey) {
      var _this = this;
      _this._focus_manager$_context = context;
      _this.onKey = onKey == null ? _this.onKey : onKey;
      return _this._attachment = new O.FocusAttachment(_this);
    },
    attach$1: function(context) {
      return this.attach$2$onKey(context, null);
    },
    dispose$0: function(_) {
      var t1 = this._attachment;
      if (t1 != null)
        t1.detach$0(0);
      this.super$ChangeNotifier$dispose(0);
    },
    _notify$0: function() {
      var _this = this;
      if (_this._focus_manager$_parent == null)
        return;
      if (_this.get$hasPrimaryFocus())
        _this._setAsFocusedChildForScope$0();
      _this.notifyListeners$0();
    },
    requestFocus$1: function(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: function() {
      return this.requestFocus$1(null);
    },
    _doRequestFocus$1$findFirstFocus: function(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: function() {
      var t2, t3, scopeFocus, scopeFocus0, t4,
        t1 = this.get$ancestors();
      t1.toString;
      t1 = C.JSArray_methods.get$iterator(t1);
      t2 = new H.WhereTypeIterator(t1, type$.WhereTypeIterator_FocusScopeNode);
      t3 = type$.FocusScopeNode;
      scopeFocus = this;
      for (; t2.moveNext$0(); scopeFocus = scopeFocus0) {
        scopeFocus0 = t3._as(t1.get$current(t1));
        t4 = scopeFocus0._focusedChildren;
        C.JSArray_methods.remove$1(t4, scopeFocus);
        t4.push(scopeFocus);
      }
    },
    debugDescribeChildren$0: function() {
      var t2, t3, t1 = {};
      t1.count = 1;
      t2 = this._children;
      t3 = H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,DiagnosticsNode>");
      return P.List_List$of(new H.MappedListIterable(t2, new O.FocusNode_debugDescribeChildren_closure(t1), t3), true, t3._eval$1("ListIterable.E"));
    },
    toStringShort$0: function() {
      var t1, extraData, _this = this;
      _this.get$hasFocus();
      t1 = _this.get$hasFocus() && !_this.get$hasPrimaryFocus() ? "[IN FOCUS PATH]" : "";
      extraData = t1 + (_this.get$hasPrimaryFocus() ? "[PRIMARY FOCUS]" : "");
      t1 = "<optimized out>#" + Y.shortHash(_this);
      return t1 + (extraData.length !== 0 ? "(" + extraData + ")" : "");
    },
    $isListenable: 1,
    $isDiagnosticableTree: 1
  };
  O.FocusNode_traversalDescendants_closure.prototype = {
    call$1: function(node) {
      return !node._skipTraversal && node.get$canRequestFocus();
    },
    $signature: 34
  };
  O.FocusNode_debugDescribeChildren_closure.prototype = {
    call$1: function(child) {
      var t1 = "Child " + this._box_0.count++;
      child.toString;
      return Y.DiagnosticableTreeNode$(t1, null, child);
    },
    $signature: 888
  };
  O.FocusScopeNode.prototype = {
    get$nearestScope: function() {
      return this;
    },
    setFirstFocus$1: function(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: function(_, node) {
      var t1 = this._focusedChildren;
      if ((t1.length !== 0 ? C.JSArray_methods.get$last(t1) : null) == null) {
        if (node._focus_manager$_parent == null)
          this._reparent$1(node);
        node._doRequestFocus$1$findFirstFocus(true);
      }
    },
    _doRequestFocus$1$findFirstFocus: function(findFirstFocus) {
      var t2, primaryFocus, _this = this, _null = null,
        t1 = _this._focusedChildren;
      while (true) {
        if ((t1.length !== 0 ? C.JSArray_methods.get$last(t1) : _null) != null)
          t2 = !(t1.length !== 0 ? C.JSArray_methods.get$last(t1) : _null).get$canRequestFocus();
        else
          t2 = false;
        if (!t2)
          break;
        t1.pop();
      }
      if (!findFirstFocus) {
        if (_this.get$canRequestFocus()) {
          _this._setAsFocusedChildForScope$0();
          _this._markNextFocus$1(_this);
        }
        return;
      }
      primaryFocus = t1.length !== 0 ? C.JSArray_methods.get$last(t1) : _null;
      if (primaryFocus == null)
        primaryFocus = _this;
      while (true) {
        if (primaryFocus instanceof O.FocusScopeNode) {
          t1 = primaryFocus._focusedChildren;
          t1 = (t1.length !== 0 ? C.JSArray_methods.get$last(t1) : _null) != null;
        } else
          t1 = false;
        if (!t1)
          break;
        t1 = primaryFocus._focusedChildren;
        t1 = t1.length !== 0 ? C.JSArray_methods.get$last(t1) : _null;
        t1.toString;
        primaryFocus = t1;
      }
      if (primaryFocus === _this) {
        if (primaryFocus.get$canRequestFocus()) {
          _this._setAsFocusedChildForScope$0();
          _this._markNextFocus$1(_this);
        }
      } else
        primaryFocus._doRequestFocus$1$findFirstFocus(true);
    }
  };
  O.FocusHighlightMode.prototype = {
    toString$0: function(_) {
      return this._focus_manager$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  O.FocusHighlightStrategy.prototype = {
    toString$0: function(_) {
      return this._focus_manager$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  O.FocusManager.prototype = {
    dispose$0: function(_) {
      var t1 = $.$get$RawKeyboard_instance();
      if (J.$eq$(t1.keyEventHandler, this.get$_handleRawKeyEvent())) {
        t1.keyEventHandler = null;
        $.GestureBinding__instance.GestureBinding_pointerRouter._globalRoutes.remove$1(0, this.get$_handlePointerEvent());
      }
      this.super$ChangeNotifier$dispose(0);
    },
    _updateHighlightMode$0: function() {
      var t1, newMode, oldMode, _this = this;
      switch (C.FocusHighlightStrategy_0) {
        case C.FocusHighlightStrategy_0:
          t1 = _this._lastInteractionWasTouch;
          if (t1 == null)
            return;
          newMode = t1 ? C.FocusHighlightMode_0 : C.FocusHighlightMode_1;
          break;
        case C.FocusHighlightStrategy_1:
          newMode = C.FocusHighlightMode_0;
          break;
        case C.FocusHighlightStrategy_2:
          newMode = C.FocusHighlightMode_1;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      oldMode = _this._highlightMode;
      if (oldMode == null)
        oldMode = O.FocusManager__defaultModeForPlatform();
      _this._highlightMode = newMode;
      if (newMode !== oldMode)
        _this._notifyHighlightModeListeners$0();
    },
    _notifyHighlightModeListeners$0: function() {
      var listener, exception, stack, localListeners, _i, t3, exception0, rti, t4, _this = this,
        t1 = _this._listeners,
        t2 = t1._observer_list$_map;
      if (t2.get$isEmpty(t2))
        return;
      localListeners = P.List_List$from(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 = O.FocusManager__defaultModeForPlatform();
            listener.call$1(t3);
          }
        } catch (exception0) {
          exception = H.unwrapException(exception0);
          stack = H.getTraceFromException(exception0);
          rti = _this instanceof H.Closure ? H.closureFunctionType(_this) : null;
          t3 = U.ErrorDescription$("while dispatching notifications for " + H.createRuntimeType(rti == null ? H.instanceType(_this) : rti).toString$0(0));
          t4 = $.$get$FlutterError_onError();
          if (t4 != null)
            t4.call$1(new U.FlutterErrorDetails(exception, stack, "widgets library", t3, null, false));
        }
      }
    },
    _handlePointerEvent$1: function($event) {
      var expectedMode, t1, _this = this;
      switch ($event.get$kind($event)) {
        case C.PointerDeviceKind_0:
        case C.PointerDeviceKind_2:
        case C.PointerDeviceKind_3:
          _this._lastInteractionWasTouch = true;
          expectedMode = C.FocusHighlightMode_0;
          break;
        case C.PointerDeviceKind_1:
        case C.PointerDeviceKind_4:
          _this._lastInteractionWasTouch = false;
          expectedMode = C.FocusHighlightMode_1;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = _this._highlightMode;
      if (expectedMode !== (t1 == null ? O.FocusManager__defaultModeForPlatform() : t1))
        _this._updateHighlightMode$0();
    },
    _handleRawKeyEvent$1: function($event) {
      var t1, handled, t2, _i, node, t3, _this = this;
      _this._lastInteractionWasTouch = false;
      _this._updateHighlightMode$0();
      t1 = _this._primaryFocus;
      if (t1 == null)
        return false;
      t1 = H._setArrayType([t1], type$.JSArray_FocusNode);
      C.JSArray_methods.addAll$1(t1, _this._primaryFocus.get$ancestors());
      t2 = t1.length;
      _i = 0;
      while (true) {
        if (!(_i < t1.length)) {
          handled = false;
          break;
        }
        c$1: {
          node = t1[_i];
          t3 = node.onKey;
          if (t3 != null) {
            switch (t3.call$2(node, $event)) {
              case C.KeyEventResult_0:
                handled = true;
                break;
              case C.KeyEventResult_2:
                handled = false;
                break;
              case C.KeyEventResult_1:
                break c$1;
              default:
                throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
            }
            break;
          }
        }
        t1.length === t2 || (0, H.throwConcurrentModificationError)(t1);
        ++_i;
      }
      return handled;
    },
    _markNeedsUpdate$0: function() {
      if (this._haveScheduledUpdate)
        return;
      this._haveScheduledUpdate = true;
      P.scheduleMicrotask(this.get$_applyFocusChange());
    },
    _applyFocusChange$0: function() {
      var previousFocus, t1, t2, previousPath, nextPath, _this = this;
      _this._haveScheduledUpdate = false;
      previousFocus = _this._primaryFocus;
      t1 = previousFocus == null;
      if (t1 && _this._markedForFocus == null)
        _this._markedForFocus = _this.rootScope;
      t2 = _this._markedForFocus;
      if (t2 != null && t2 !== previousFocus) {
        if (t1)
          previousPath = null;
        else {
          t2 = previousFocus.get$ancestors();
          t2.toString;
          t2 = P.LinkedHashSet_LinkedHashSet$from(t2, H._arrayInstanceType(t2)._precomputed1);
          previousPath = t2;
        }
        if (previousPath == null)
          previousPath = P.LinkedHashSet_LinkedHashSet$_empty(type$.FocusNode);
        t2 = _this._markedForFocus.get$ancestors();
        t2.toString;
        nextPath = P.LinkedHashSet_LinkedHashSet$from(t2, H._arrayInstanceType(t2)._precomputed1);
        t2 = _this._focus_manager$_dirtyNodes;
        t2.addAll$1(0, nextPath.difference$1(previousPath));
        t2.addAll$1(0, previousPath.difference$1(nextPath));
        t2 = _this._primaryFocus = _this._markedForFocus;
        _this._markedForFocus = null;
      } else
        t2 = previousFocus;
      if (previousFocus != t2) {
        if (!t1)
          _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 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t2.moveNext$0();)
        t2._collection$_current._notify$0();
      t1.clear$0(0);
      if (previousFocus != _this._primaryFocus)
        _this.notifyListeners$0();
    },
    debugDescribeChildren$0: function() {
      return H._setArrayType([Y.DiagnosticableTreeNode$("rootScope", null, this.rootScope)], type$.JSArray_DiagnosticsNode);
    },
    $isListenable: 1,
    $isDiagnosticableTree: 1
  };
  O._FocusManager_Object_DiagnosticableTreeMixin.prototype = {};
  O._FocusManager_Object_DiagnosticableTreeMixin_ChangeNotifier.prototype = {};
  O._FocusNode_Object_DiagnosticableTreeMixin.prototype = {};
  O._FocusNode_Object_DiagnosticableTreeMixin_ChangeNotifier.prototype = {};
  L.Focus.prototype = {
    createState$0: function() {
      return new L._FocusState(C._StateLifecycle_0);
    }
  };
  L._FocusState.prototype = {
    get$focusNode: function(_) {
      var t1 = this._widget.focusNode;
      if (t1 == null) {
        t1 = this._internalNode;
        t1.toString;
      }
      return t1;
    },
    initState$0: function() {
      this.super$State$initState();
      this._initNode$0();
    },
    _initNode$0: function() {
      var t1, t2, _this = this;
      if (_this._widget.focusNode == null)
        if (_this._internalNode == null)
          _this._internalNode = _this._createNode$0();
      t1 = _this.get$focusNode(_this);
      _this._widget.toString;
      t1.set$descendantsAreFocusable(true);
      if (_this._widget.skipTraversal != null) {
        t1 = _this.get$focusNode(_this);
        t2 = _this._widget.skipTraversal;
        t2.toString;
        t1.set$skipTraversal(t2);
      }
      if (_this._widget.canRequestFocus != null) {
        t1 = _this.get$focusNode(_this);
        t2 = _this._widget.canRequestFocus;
        t2.toString;
        t1.set$canRequestFocus(t2);
      }
      _this._canRequestFocus = _this.get$focusNode(_this).get$canRequestFocus();
      _this.get$focusNode(_this).toString;
      _this._descendantsAreFocusable = true;
      _this._hasPrimaryFocus = _this.get$focusNode(_this).get$hasPrimaryFocus();
      t1 = _this.get$focusNode(_this);
      t2 = _this._framework$_element;
      t2.toString;
      _this._focusAttachment = t1.attach$2$onKey(t2, _this._widget.onKey);
      _this.get$focusNode(_this).addListener$1(0, _this.get$_handleFocusChanged());
    },
    _createNode$0: function() {
      var t1 = this._widget,
        t2 = t1.debugLabel,
        t3 = t1.canRequestFocus;
      t1 = t1.skipTraversal;
      return O.FocusNode$(t3 !== false, t2, true, null, t1 === true);
    },
    dispose$0: function(_) {
      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(0);
      _this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      this.super$State$didChangeDependencies();
      var t1 = this._focusAttachment;
      if (t1 != null)
        t1.reparent$0();
      this._handleAutofocus$0();
    },
    _handleAutofocus$0: function() {
      var t1, _this = this;
      if (!_this._didAutofocus && _this._widget.autofocus) {
        t1 = _this._framework$_element;
        t1.toString;
        L.FocusScope_of(t1).autofocus$1(0, _this.get$focusNode(_this));
        _this._didAutofocus = true;
      }
    },
    deactivate$0: function() {
      this.super$State$deactivate();
      var t1 = this._focusAttachment;
      if (t1 != null)
        t1.reparent$0();
      this._didAutofocus = false;
    },
    didUpdateWidget$1: function(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.onKey, _this.get$focusNode(_this).onKey))
          _this.get$focusNode(_this).onKey = _this._widget.onKey;
        if (_this._widget.skipTraversal != null) {
          t1 = _this.get$focusNode(_this);
          t2 = _this._widget.skipTraversal;
          t2.toString;
          t1.set$skipTraversal(t2);
        }
        if (_this._widget.canRequestFocus != null) {
          t1 = _this.get$focusNode(_this);
          t2 = _this._widget.canRequestFocus;
          t2.toString;
          t1.set$canRequestFocus(t2);
        }
        t1 = _this.get$focusNode(_this);
        _this._widget.toString;
        t1.set$descendantsAreFocusable(true);
      } else {
        _this._focusAttachment.detach$0(0);
        _this.get$focusNode(_this).removeListener$1(0, _this.get$_handleFocusChanged());
        _this._initNode$0();
      }
      if (oldWidget.autofocus !== _this._widget.autofocus)
        _this._handleAutofocus$0();
    },
    _handleFocusChanged$0: function() {
      var t1, _this = this,
        hasPrimaryFocus = _this.get$focusNode(_this).get$hasPrimaryFocus(),
        canRequestFocus = _this.get$focusNode(_this).get$canRequestFocus();
      _this.get$focusNode(_this).toString;
      t1 = _this._widget.onFocusChange;
      if (t1 != null)
        t1.call$1(_this.get$focusNode(_this).get$hasFocus());
      if (_this._hasPrimaryFocus !== hasPrimaryFocus)
        _this.setState$1(new L._FocusState__handleFocusChanged_closure(_this, hasPrimaryFocus));
      if (_this._canRequestFocus !== canRequestFocus)
        _this.setState$1(new L._FocusState__handleFocusChanged_closure0(_this, canRequestFocus));
      if (_this._descendantsAreFocusable !== true)
        _this.setState$1(new L._FocusState__handleFocusChanged_closure1(_this, true));
    },
    build$1: function(_, context) {
      var t1, child, _this = this, _null = null;
      _this._focusAttachment.reparent$0();
      t1 = _this._widget;
      child = t1.child;
      if (t1.includeSemantics)
        child = T.Semantics$(_null, _null, child, false, _null, _null, false, _this._canRequestFocus, _this._hasPrimaryFocus, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      return L._FocusMarker$(child, _this.get$focusNode(_this));
    }
  };
  L._FocusState__handleFocusChanged_closure.prototype = {
    call$0: function() {
      this.$this._hasPrimaryFocus = this.hasPrimaryFocus;
    },
    $signature: 0
  };
  L._FocusState__handleFocusChanged_closure0.prototype = {
    call$0: function() {
      this.$this._canRequestFocus = this.canRequestFocus;
    },
    $signature: 0
  };
  L._FocusState__handleFocusChanged_closure1.prototype = {
    call$0: function() {
      this.$this._descendantsAreFocusable = this.descendantsAreFocusable;
    },
    $signature: 0
  };
  L.FocusScope.prototype = {
    createState$0: function() {
      return new L._FocusScopeState(C._StateLifecycle_0);
    }
  };
  L._FocusScopeState.prototype = {
    _createNode$0: function() {
      var t1 = this._widget,
        t2 = t1.debugLabel,
        t3 = t1.canRequestFocus;
      t1 = t1.skipTraversal;
      return O.FocusScopeNode$(t3 !== false, t2, t1 === true);
    },
    build$1: function(_, context) {
      var t1, _this = this, _null = null;
      _this._focusAttachment.reparent$0();
      t1 = _this.get$focusNode(_this);
      return T.Semantics$(_null, _null, L._FocusMarker$(_this._widget.child, t1), false, _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);
    }
  };
  L._FocusMarker.prototype = {};
  U._getAncestor_closure.prototype = {
    call$1: function(ancestor) {
      var t1 = this._box_0;
      if (--t1.count === 0) {
        t1.target = ancestor;
        return false;
      }
      return true;
    },
    $signature: 29
  };
  U._FocusTraversalGroupInfo.prototype = {};
  U.TraversalDirection.prototype = {
    toString$0: function(_) {
      return this._focus_traversal$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  U.FocusTraversalPolicy.prototype = {
    _findInitialFocus$2$fromEnd: function(currentNode, fromEnd) {
      var sorted,
        scope = currentNode.get$nearestScope(),
        t1 = scope._focusedChildren,
        candidate = t1.length !== 0 ? C.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 ? C.JSArray_methods.get$last(sorted) : C.JSArray_methods.get$first(sorted);
      }
      return candidate == null ? currentNode : candidate;
    },
    _findInitialFocus$1: function(currentNode) {
      return this._findInitialFocus$2$fromEnd(currentNode, false);
    },
    invalidateScopeData$1: function(node) {
    },
    changedScope$2$node$oldScope: function(node, oldScope) {
    },
    _getMarker$1: function(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: function(scope, currentNode) {
      var groups, t2, t3, t4, t5, t6, _i, node, t7, ancestor, groupNode, parentContext, parentNode, groupKeys, sortedDescendants, _null = null,
        scopeGroupMarker = this._getMarker$1(scope._focus_manager$_context),
        t1 = scopeGroupMarker == null,
        defaultPolicy = t1 ? _null : scopeGroupMarker.policy;
      if (defaultPolicy == null)
        defaultPolicy = new U.ReadingOrderTraversalPolicy(P.LinkedHashMap_LinkedHashMap$_empty(type$.FocusScopeNode, type$._DirectionalPolicyData));
      groups = P.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, H.throwConcurrentModificationError)(t2), ++_i) {
        node = t2[_i];
        t7 = node._focus_manager$_context;
        if (t7 == null)
          t7 = _null;
        else {
          t7 = t7._inheritedWidgets;
          ancestor = t7 == null ? _null : t7.$index(0, H.createRuntimeType(t5));
          t7 = ancestor == null ? _null : ancestor.get$widget();
        }
        t4._as(t7);
        groupNode = t7 == null ? _null : t7.focusNode;
        if (J.$eq$(node, groupNode)) {
          t7 = groupNode._focus_manager$_context;
          t7.toString;
          parentContext = U._getAncestor(t7, 2);
          if (parentContext == null)
            t7 = _null;
          else {
            t7 = parentContext._inheritedWidgets;
            ancestor = t7 == null ? _null : t7.$index(0, H.createRuntimeType(t5));
            t7 = ancestor == null ? _null : ancestor.get$widget();
          }
          t4._as(t7);
          parentNode = t7 == null ? _null : t7.focusNode;
          if (groups.$index(0, parentNode) == null)
            groups.$indexSet(0, parentNode, U._FocusTraversalGroupInfo$(t7, defaultPolicy, H._setArrayType([], t6)));
          groups.$index(0, parentNode).members.push(groupNode);
          continue;
        }
        if (node.get$canRequestFocus() && !node._skipTraversal) {
          if (groups.$index(0, groupNode) == null)
            groups.$indexSet(0, groupNode, U._FocusTraversalGroupInfo$(t7, defaultPolicy, H._setArrayType([], t6)));
          groups.$index(0, groupNode).members.push(node);
        }
      }
      t2 = groups.get$keys(groups);
      groupKeys = P.LinkedHashSet_LinkedHashSet$of(t2, H._instanceType(t2)._eval$1("Iterable.E"));
      for (t2 = groups.get$keys(groups), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t4 = groups.$index(0, t3).policy.sortDescendants$2(groups.$index(0, t3).members, currentNode);
        t4 = H._setArrayType(t4.slice(0), H._arrayInstanceType(t4));
        C.JSArray_methods.set$length(groups.$index(0, t3).members, 0);
        C.JSArray_methods.addAll$1(groups.$index(0, t3).members, t4);
      }
      sortedDescendants = H._setArrayType([], t6);
      t2 = groups.$index(0, t1 ? _null : scopeGroupMarker.focusNode);
      t2.toString;
      new U.FocusTraversalPolicy__sortAllDescendants_visitGroups(groupKeys, groups, sortedDescendants).call$1(t2);
      if (!!sortedDescendants.fixed$length)
        H.throwExpression(P.UnsupportedError$("removeWhere"));
      C.JSArray_methods._removeWhere$2(sortedDescendants, new U.FocusTraversalPolicy__sortAllDescendants_closure(), true);
      return sortedDescendants;
    },
    _moveFocus$2$forward: function(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 ? C.JSArray_methods.get$last(t2) : null;
      if (focusedChild == null) {
        firstFocus = $forward ? _this._findInitialFocus$1(currentNode) : _this._findInitialFocus$2$fromEnd(currentNode, true);
        U._focusAndEnsureVisible(firstFocus, $forward ? C.ScrollPositionAlignmentPolicy_1 : C.ScrollPositionAlignmentPolicy_2);
        return true;
      }
      sortedNodes = _this._sortAllDescendants$2(t1, currentNode);
      if ($forward && focusedChild == C.JSArray_methods.get$last(sortedNodes)) {
        U._focusAndEnsureVisible(C.JSArray_methods.get$first(sortedNodes), C.ScrollPositionAlignmentPolicy_1);
        return true;
      }
      if (!$forward && focusedChild == C.JSArray_methods.get$first(sortedNodes)) {
        U._focusAndEnsureVisible(C.JSArray_methods.get$last(sortedNodes), C.ScrollPositionAlignmentPolicy_2);
        return true;
      }
      for (t1 = J.get$iterator$ax($forward ? sortedNodes : new H.ReversedListIterable(sortedNodes, H._arrayInstanceType(sortedNodes)._eval$1("ReversedListIterable<1>"))), previousNode = null; t1.moveNext$0(); previousNode = previousNode0) {
        previousNode0 = t1.get$current(t1);
        if (previousNode == focusedChild) {
          t1 = $forward ? C.ScrollPositionAlignmentPolicy_1 : C.ScrollPositionAlignmentPolicy_2;
          previousNode0.requestFocus$0();
          t2 = previousNode0._focus_manager$_context;
          t2.toString;
          F.Scrollable_ensureVisible(t2, 1, t1);
          return true;
        }
      }
      return false;
    }
  };
  U.FocusTraversalPolicy__sortAllDescendants_visitGroups.prototype = {
    call$1: function(info) {
      var t1, t2, t3, t4, t5, _i, node, t6, _this = this;
      for (t1 = info.members, t2 = t1.length, t3 = _this.sortedDescendants, t4 = _this.groupKeys, t5 = _this.groups, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        node = t1[_i];
        if (t4.contains$1(0, node)) {
          t6 = t5.$index(0, node);
          t6.toString;
          _this.call$1(t6);
        } else
          t3.push(node);
      }
    },
    $signature: 890
  };
  U.FocusTraversalPolicy__sortAllDescendants_closure.prototype = {
    call$1: function(node) {
      return !node.get$canRequestFocus() || node._skipTraversal;
    },
    $signature: 34
  };
  U._DirectionalPolicyDataEntry.prototype = {
    get$node: function() {
      return this.node;
    }
  };
  U._DirectionalPolicyData.prototype = {};
  U.DirectionalFocusTraversalPolicyMixin.prototype = {
    findFirstFocusInDirection$2: function(currentNode, direction) {
      var _this = this;
      switch (direction) {
        case C.TraversalDirection_0:
          return _this._sortAndFindInitial$3$first$vertical(currentNode, false, true);
        case C.TraversalDirection_2:
          return _this._sortAndFindInitial$3$first$vertical(currentNode, true, true);
        case C.TraversalDirection_3:
          return _this._sortAndFindInitial$3$first$vertical(currentNode, false, false);
        case C.TraversalDirection_1:
          return _this._sortAndFindInitial$3$first$vertical(currentNode, true, false);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _sortAndFindInitial$3$first$vertical: function(currentNode, first, vertical) {
      var nodes = currentNode.get$nearestScope().get$traversalDescendants(),
        sorted = P.List_List$of(nodes, true, nodes.$ti._eval$1("Iterable.E"));
      S.mergeSort(sorted, new U.DirectionalFocusTraversalPolicyMixin__sortAndFindInitial_closure(vertical, first), type$.FocusNode);
      if (sorted.length !== 0)
        return C.JSArray_methods.get$first(sorted);
      return null;
    },
    _sortAndFilterHorizontally$3: function(direction, target, nearestScope) {
      var result,
        nodes = nearestScope.get$traversalDescendants(),
        sorted = P.List_List$of(nodes, true, nodes.$ti._eval$1("Iterable.E"));
      S.mergeSort(sorted, new U.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure(), type$.FocusNode);
      switch (direction) {
        case C.TraversalDirection_3:
          result = new H.WhereIterable(sorted, new U.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure0(target), H._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
          break;
        case C.TraversalDirection_1:
          result = new H.WhereIterable(sorted, new U.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure1(target), H._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
          break;
        case C.TraversalDirection_0:
        case C.TraversalDirection_2:
          result = null;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return result;
    },
    _sortAndFilterVertically$3: function(direction, target, nodes) {
      var sorted = P.List_List$of(nodes, true, nodes.$ti._eval$1("Iterable.E"));
      S.mergeSort(sorted, new U.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure(), type$.FocusNode);
      switch (direction) {
        case C.TraversalDirection_0:
          return new H.WhereIterable(sorted, new U.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure0(target), H._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
        case C.TraversalDirection_2:
          return new H.WhereIterable(sorted, new U.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure1(target), H._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
        case C.TraversalDirection_3:
        case C.TraversalDirection_1:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return null;
    },
    _popPolicyDataIfNeeded$3: function(direction, nearestScope, focusedChild) {
      var t3, popOrInvalidate, _this = this,
        _s80_ = string$.x60null_c,
        t1 = _this.DirectionalFocusTraversalPolicyMixin__policyData,
        policyData = t1.$index(0, nearestScope),
        t2 = policyData != null;
      if (t2) {
        t3 = policyData.history;
        t3 = t3.length !== 0 && C.JSArray_methods.get$first(t3).direction !== direction;
      } else
        t3 = false;
      if (t3) {
        t3 = policyData.history;
        if (C.JSArray_methods.get$last(t3).node._focus_manager$_parent == null) {
          _this.super$FocusTraversalPolicy$invalidateScopeData(nearestScope);
          t1.remove$1(0, nearestScope);
          return false;
        }
        popOrInvalidate = new U.DirectionalFocusTraversalPolicyMixin__popPolicyDataIfNeeded_popOrInvalidate(_this, policyData, nearestScope);
        switch (direction) {
          case C.TraversalDirection_2:
          case C.TraversalDirection_0:
            switch (C.JSArray_methods.get$first(t3).direction) {
              case C.TraversalDirection_3:
              case C.TraversalDirection_1:
                _this.super$FocusTraversalPolicy$invalidateScopeData(nearestScope);
                t1.remove$1(0, nearestScope);
                break;
              case C.TraversalDirection_0:
              case C.TraversalDirection_2:
                if (popOrInvalidate.call$1(direction))
                  return true;
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(_s80_));
            }
            break;
          case C.TraversalDirection_3:
          case C.TraversalDirection_1:
            switch (C.JSArray_methods.get$first(t3).direction) {
              case C.TraversalDirection_3:
              case C.TraversalDirection_1:
                if (popOrInvalidate.call$1(direction))
                  return true;
                break;
              case C.TraversalDirection_0:
              case C.TraversalDirection_2:
                _this.super$FocusTraversalPolicy$invalidateScopeData(nearestScope);
                t1.remove$1(0, nearestScope);
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(_s80_));
            }
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
      }
      if (t2 && policyData.history.length === 0) {
        _this.super$FocusTraversalPolicy$invalidateScopeData(nearestScope);
        t1.remove$1(0, nearestScope);
      }
      return false;
    },
    inDirection$2: function(currentNode, direction) {
      var firstFocus, focusedScrollable, eligibleNodes, filteredEligibleNodes, found, sorted, inBand, policyData, newEntry, _this = this,
        _s80_ = string$.x60null_c,
        nearestScope = currentNode.get$nearestScope(),
        t1 = nearestScope._focusedChildren,
        focusedChild = t1.length !== 0 ? C.JSArray_methods.get$last(t1) : null;
      if (focusedChild == null) {
        firstFocus = _this.findFirstFocusInDirection$2(currentNode, direction);
        if (firstFocus == null)
          firstFocus = currentNode;
        switch (direction) {
          case C.TraversalDirection_0:
          case C.TraversalDirection_3:
            U._focusAndEnsureVisible(firstFocus, C.ScrollPositionAlignmentPolicy_2);
            break;
          case C.TraversalDirection_1:
          case C.TraversalDirection_2:
            U._focusAndEnsureVisible(firstFocus, C.ScrollPositionAlignmentPolicy_1);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        return true;
      }
      if (_this._popPolicyDataIfNeeded$3(direction, nearestScope, focusedChild))
        return true;
      t1 = focusedChild._focus_manager$_context;
      t1.toString;
      focusedScrollable = F.Scrollable_of(t1);
      switch (direction) {
        case C.TraversalDirection_2:
        case C.TraversalDirection_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 H.WhereIterable(eligibleNodes, new U.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 = P.List_List$of(eligibleNodes, true, H._instanceType(eligibleNodes)._eval$1("Iterable.E"));
          if (direction === C.TraversalDirection_0) {
            t1 = H._arrayInstanceType(sorted)._eval$1("ReversedListIterable<1>");
            sorted = P.List_List$of(new H.ReversedListIterable(sorted, t1), true, t1._eval$1("ListIterable.E"));
          }
          inBand = new H.WhereIterable(sorted, new U.DirectionalFocusTraversalPolicyMixin_inDirection_closure0(new P.Rect(focusedChild.get$rect(focusedChild).left, -1 / 0, focusedChild.get$rect(focusedChild).right, 1 / 0)), H._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
          if (!inBand.get$isEmpty(inBand)) {
            found = inBand.get$first(inBand);
            break;
          }
          S.mergeSort(sorted, new U.DirectionalFocusTraversalPolicyMixin_inDirection_closure1(focusedChild), type$.FocusNode);
          found = C.JSArray_methods.get$first(sorted);
          break;
        case C.TraversalDirection_1:
        case C.TraversalDirection_3:
          eligibleNodes = _this._sortAndFilterHorizontally$3(direction, focusedChild.get$rect(focusedChild), nearestScope);
          if (focusedScrollable != null && !focusedScrollable._scrollable$_position.get$atEdge()) {
            eligibleNodes.toString;
            filteredEligibleNodes = new H.WhereIterable(eligibleNodes, new U.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 = P.List_List$of(eligibleNodes, true, H._instanceType(eligibleNodes)._eval$1("Iterable.E"));
          if (direction === C.TraversalDirection_3) {
            t1 = H._arrayInstanceType(sorted)._eval$1("ReversedListIterable<1>");
            sorted = P.List_List$of(new H.ReversedListIterable(sorted, t1), true, t1._eval$1("ListIterable.E"));
          }
          inBand = new H.WhereIterable(sorted, new U.DirectionalFocusTraversalPolicyMixin_inDirection_closure3(new P.Rect(-1 / 0, focusedChild.get$rect(focusedChild).top, 1 / 0, focusedChild.get$rect(focusedChild).bottom)), H._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
          if (!inBand.get$isEmpty(inBand)) {
            found = inBand.get$first(inBand);
            break;
          }
          S.mergeSort(sorted, new U.DirectionalFocusTraversalPolicyMixin_inDirection_closure4(focusedChild), type$.FocusNode);
          found = C.JSArray_methods.get$first(sorted);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
      if (found != null) {
        t1 = _this.DirectionalFocusTraversalPolicyMixin__policyData;
        policyData = t1.$index(0, nearestScope);
        newEntry = new U._DirectionalPolicyDataEntry(direction, focusedChild);
        if (policyData != null)
          policyData.history.push(newEntry);
        else
          t1.$indexSet(0, nearestScope, new U._DirectionalPolicyData(H._setArrayType([newEntry], type$.JSArray__DirectionalPolicyDataEntry)));
        switch (direction) {
          case C.TraversalDirection_0:
          case C.TraversalDirection_3:
            U._focusAndEnsureVisible(found, C.ScrollPositionAlignmentPolicy_2);
            break;
          case C.TraversalDirection_2:
          case C.TraversalDirection_1:
            U._focusAndEnsureVisible(found, C.ScrollPositionAlignmentPolicy_1);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        return true;
      }
      return false;
    }
  };
  U._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin_changedScope_closure.prototype = {
    call$1: function(entry) {
      return entry.node === this.node;
    },
    $signature: 891
  };
  U.DirectionalFocusTraversalPolicyMixin__sortAndFindInitial_closure.prototype = {
    call$2: function(a, b) {
      if (this.vertical)
        if (this.first)
          return J.compareTo$1$ns(a.get$rect(a).top, b.get$rect(b).top);
        else
          return J.compareTo$1$ns(b.get$rect(b).bottom, a.get$rect(a).bottom);
      else if (this.first)
        return J.compareTo$1$ns(a.get$rect(a).left, b.get$rect(b).left);
      else
        return J.compareTo$1$ns(b.get$rect(b).right, a.get$rect(a).right);
    },
    $signature: 89
  };
  U.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure.prototype = {
    call$2: function(a, b) {
      return J.compareTo$1$ns(a.get$rect(a).get$center()._dx, b.get$rect(b).get$center()._dx);
    },
    $signature: 89
  };
  U.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure0.prototype = {
    call$1: function(node) {
      var t1 = this.target;
      return !node.get$rect(node).$eq(0, t1) && node.get$rect(node).get$center()._dx <= t1.left;
    },
    $signature: 34
  };
  U.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure1.prototype = {
    call$1: function(node) {
      var t1 = this.target;
      return !node.get$rect(node).$eq(0, t1) && node.get$rect(node).get$center()._dx >= t1.right;
    },
    $signature: 34
  };
  U.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure.prototype = {
    call$2: function(a, b) {
      return J.compareTo$1$ns(a.get$rect(a).get$center()._dy, b.get$rect(b).get$center()._dy);
    },
    $signature: 89
  };
  U.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure0.prototype = {
    call$1: function(node) {
      var t1 = this.target;
      return !node.get$rect(node).$eq(0, t1) && node.get$rect(node).get$center()._dy <= t1.top;
    },
    $signature: 34
  };
  U.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure1.prototype = {
    call$1: function(node) {
      var t1 = this.target;
      return !node.get$rect(node).$eq(0, t1) && node.get$rect(node).get$center()._dy >= t1.bottom;
    },
    $signature: 34
  };
  U.DirectionalFocusTraversalPolicyMixin__popPolicyDataIfNeeded_popOrInvalidate.prototype = {
    call$1: function(direction) {
      var t2, alignmentPolicy,
        lastNode = this.policyData.history.pop().node,
        t1 = lastNode._focus_manager$_context;
      t1.toString;
      t1 = F.Scrollable_of(t1);
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus._focus_manager$_context;
      t2.toString;
      if (t1 != F.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) {
        case C.TraversalDirection_0:
        case C.TraversalDirection_3:
          alignmentPolicy = C.ScrollPositionAlignmentPolicy_2;
          break;
        case C.TraversalDirection_1:
        case C.TraversalDirection_2:
          alignmentPolicy = C.ScrollPositionAlignmentPolicy_1;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      U._focusAndEnsureVisible(lastNode, alignmentPolicy);
      return true;
    },
    $signature: 893
  };
  U.DirectionalFocusTraversalPolicyMixin_inDirection_closure.prototype = {
    call$1: function(node) {
      var t1 = node._focus_manager$_context;
      t1.toString;
      return F.Scrollable_of(t1) === this.focusedScrollable;
    },
    $signature: 34
  };
  U.DirectionalFocusTraversalPolicyMixin_inDirection_closure0.prototype = {
    call$1: function(node) {
      var t1 = node.get$rect(node).intersect$1(this.band);
      return !t1.get$isEmpty(t1);
    },
    $signature: 34
  };
  U.DirectionalFocusTraversalPolicyMixin_inDirection_closure1.prototype = {
    call$2: function(a, b) {
      var t1 = this.focusedChild;
      return C.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: 89
  };
  U.DirectionalFocusTraversalPolicyMixin_inDirection_closure2.prototype = {
    call$1: function(node) {
      var t1 = node._focus_manager$_context;
      t1.toString;
      return F.Scrollable_of(t1) === this.focusedScrollable;
    },
    $signature: 34
  };
  U.DirectionalFocusTraversalPolicyMixin_inDirection_closure3.prototype = {
    call$1: function(node) {
      var t1 = node.get$rect(node).intersect$1(this.band);
      return !t1.get$isEmpty(t1);
    },
    $signature: 34
  };
  U.DirectionalFocusTraversalPolicyMixin_inDirection_closure4.prototype = {
    call$2: function(a, b) {
      var t1 = this.focusedChild;
      return C.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: 89
  };
  U._ReadingOrderSortData.prototype = {
    get$directionalAncestors: function() {
      var t1 = this._directionalAncestors;
      if (t1 == null) {
        t1 = this.node._focus_manager$_context;
        t1.toString;
        t1 = this._directionalAncestors = new U._ReadingOrderSortData_directionalAncestors_getDirectionalityAncestors().call$1(t1);
      }
      t1.toString;
      return t1;
    },
    get$node: function() {
      return this.node;
    }
  };
  U._ReadingOrderSortData_commonDirectionalityOf_closure.prototype = {
    call$1: function(member) {
      var t1 = member.get$directionalAncestors();
      t1.toString;
      return P.LinkedHashSet_LinkedHashSet$from(t1, H._arrayInstanceType(t1)._precomputed1);
    },
    $signature: 894
  };
  U._ReadingOrderSortData_sortWithDirectionality_closure.prototype = {
    call$2: function(a, b) {
      switch (this.directionality) {
        case C.TextDirection_1:
          return J.compareTo$1$ns(a.rect.left, b.rect.left);
        case C.TextDirection_0:
          return J.compareTo$1$ns(b.rect.right, a.rect.right);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $signature: 238
  };
  U._ReadingOrderSortData_directionalAncestors_getDirectionalityAncestors.prototype = {
    call$1: function(context) {
      var t2, ancestor,
        result = H._setArrayType([], type$.JSArray_Directionality),
        t1 = type$.Directionality,
        directionalityElement = context.getElementForInheritedWidgetOfExactType$1$0(t1);
      for (; directionalityElement != null;) {
        result.push(t1._as(directionalityElement.get$widget()));
        t2 = U._getAncestor(directionalityElement, 1);
        if (t2 == null)
          directionalityElement = null;
        else {
          t2 = t2._inheritedWidgets;
          ancestor = t2 == null ? null : t2.$index(0, H.createRuntimeType(t1));
          directionalityElement = ancestor;
        }
      }
      return result;
    },
    $signature: 896
  };
  U._ReadingOrderDirectionalGroupData.prototype = {
    get$rect: function(_) {
      var t1, t2, t3, _this = this;
      if (_this._focus_traversal$_rect == null)
        for (t1 = _this.members, t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Rect>"), t1 = new H.MappedListIterable(t1, new U._ReadingOrderDirectionalGroupData_rect_closure(), t2), t2 = new H.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")); t2.moveNext$0();) {
          t1 = t2.__internal$_current;
          t3 = _this._focus_traversal$_rect;
          if (t3 == null) {
            _this._focus_traversal$_rect = t1;
            t3 = t1;
          }
          _this._focus_traversal$_rect = t3.expandToInclude$1(t1);
        }
      t1 = _this._focus_traversal$_rect;
      t1.toString;
      return t1;
    }
  };
  U._ReadingOrderDirectionalGroupData_rect_closure.prototype = {
    call$1: function(data) {
      return data.rect;
    },
    $signature: 897
  };
  U._ReadingOrderDirectionalGroupData_sortWithDirectionality_closure.prototype = {
    call$2: function(a, b) {
      switch (this.directionality) {
        case C.TextDirection_1:
          return J.compareTo$1$ns(a.get$rect(a).left, b.get$rect(b).left);
        case C.TextDirection_0:
          return J.compareTo$1$ns(b.get$rect(b).right, a.get$rect(a).right);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $signature: 898
  };
  U.ReadingOrderTraversalPolicy.prototype = {
    _collectDirectionalityGroups$1: function(candidates) {
      var t2, _i, candidate, currentDirection0, t3,
        currentDirection = C.JSArray_methods.get$first(candidates).directionality,
        t1 = type$.JSArray__ReadingOrderSortData,
        currentGroup = H._setArrayType([], t1),
        result = H._setArrayType([], type$.JSArray__ReadingOrderDirectionalGroupData);
      for (t2 = candidates.length, _i = 0; _i < candidates.length; candidates.length === t2 || (0, H.throwConcurrentModificationError)(candidates), ++_i) {
        candidate = candidates[_i];
        currentDirection0 = candidate.directionality;
        if (currentDirection0 == currentDirection) {
          currentGroup.push(candidate);
          continue;
        }
        result.push(new U._ReadingOrderDirectionalGroupData(currentGroup));
        currentGroup = H._setArrayType([candidate], t1);
        currentDirection = currentDirection0;
      }
      if (currentGroup.length !== 0)
        result.push(new U._ReadingOrderDirectionalGroupData(currentGroup));
      for (t1 = result.length, _i = 0; _i < result.length; result.length === t1 || (0, H.throwConcurrentModificationError)(result), ++_i) {
        t2 = result[_i].members;
        if (t2.length === 1)
          continue;
        t3 = C.JSArray_methods.get$first(t2).directionality;
        t3.toString;
        U._ReadingOrderSortData_sortWithDirectionality(t2, t3);
      }
      return result;
    },
    _pickNext$1: function(candidates) {
      var topmost, inBandOfTop, nearestCommonDirectionality, bandGroups;
      S.mergeSort(candidates, new U.ReadingOrderTraversalPolicy__pickNext_closure(), type$._ReadingOrderSortData);
      topmost = C.JSArray_methods.get$first(candidates);
      inBandOfTop = new U.ReadingOrderTraversalPolicy__pickNext_inBand().call$2(topmost, candidates);
      if (J.get$length$asx(inBandOfTop) <= 1)
        return topmost;
      nearestCommonDirectionality = U._ReadingOrderSortData_commonDirectionalityOf(inBandOfTop);
      nearestCommonDirectionality.toString;
      U._ReadingOrderSortData_sortWithDirectionality(inBandOfTop, nearestCommonDirectionality);
      bandGroups = this._collectDirectionalityGroups$1(inBandOfTop);
      if (bandGroups.length === 1)
        return C.JSArray_methods.get$first(C.JSArray_methods.get$first(bandGroups).members);
      U._ReadingOrderDirectionalGroupData_sortWithDirectionality(bandGroups, nearestCommonDirectionality);
      return C.JSArray_methods.get$first(C.JSArray_methods.get$first(bandGroups).members);
    },
    sortDescendants$2: function(descendants, currentNode) {
      var t1, t2, t3, t4, _i, node, t5, t6, ancestor, sortedList, current, next;
      if (descendants.length <= 1)
        return descendants;
      t1 = H._setArrayType([], type$.JSArray__ReadingOrderSortData);
      for (t2 = descendants.length, t3 = type$.nullable_Directionality, t4 = type$.Directionality, _i = 0; _i < descendants.length; descendants.length === t2 || (0, H.throwConcurrentModificationError)(descendants), ++_i) {
        node = descendants[_i];
        t5 = node.get$rect(node);
        t6 = node._focus_manager$_context._inheritedWidgets;
        ancestor = t6 == null ? null : t6.$index(0, H.createRuntimeType(t4));
        t6 = t3._as(ancestor == null ? null : ancestor.get$widget());
        t1.push(new U._ReadingOrderSortData(t6 == null ? null : t6.textDirection, t5, node));
      }
      sortedList = H._setArrayType([], type$.JSArray_FocusNode);
      current = this._pickNext$1(t1);
      sortedList.push(current.node);
      C.JSArray_methods.remove$1(t1, current);
      for (; t1.length !== 0;) {
        next = this._pickNext$1(t1);
        sortedList.push(next.node);
        C.JSArray_methods.remove$1(t1, next);
      }
      return sortedList;
    }
  };
  U.ReadingOrderTraversalPolicy__pickNext_closure.prototype = {
    call$2: function(a, b) {
      return J.compareTo$1$ns(a.rect.top, b.rect.top);
    },
    $signature: 238
  };
  U.ReadingOrderTraversalPolicy__pickNext_inBand.prototype = {
    call$2: function(current, candidates) {
      var t1 = current.rect,
        t2 = H._arrayInstanceType(candidates)._eval$1("WhereIterable<1>");
      return P.List_List$of(new H.WhereIterable(candidates, new U.ReadingOrderTraversalPolicy__pickNext_inBand_closure(new P.Rect(-1 / 0, t1.top, 1 / 0, t1.bottom)), t2), true, t2._eval$1("Iterable.E"));
    },
    $signature: 899
  };
  U.ReadingOrderTraversalPolicy__pickNext_inBand_closure.prototype = {
    call$1: function(item) {
      var t1 = item.rect.intersect$1(this.band);
      return !t1.get$isEmpty(t1);
    },
    $signature: 900
  };
  U.FocusTraversalGroup.prototype = {
    createState$0: function() {
      return new U._FocusTraversalGroupState(C._StateLifecycle_0);
    }
  };
  U._FocusTraversalGroupState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.focusNode = O.FocusNode$(false, "FocusTraversalGroup", true, null, true);
    },
    dispose$0: function(_) {
      var t1 = this.focusNode;
      if (t1 != null)
        t1.dispose$0(0);
      this.super$State$dispose(0);
    },
    build$1: function(_, context) {
      var _null = null,
        t1 = this._widget,
        t2 = t1.policy,
        t3 = this.focusNode;
      t3.toString;
      return new U._FocusTraversalGroupMarker(t2, t3, L.Focus$(false, false, t1.child, _null, true, t3, false, _null, _null, _null, true), _null);
    }
  };
  U._FocusTraversalGroupMarker.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return false;
    }
  };
  U.RequestFocusAction.prototype = {
    invoke$1: function(intent) {
      U._focusAndEnsureVisible(intent.get$focusNode(intent), C.ScrollPositionAlignmentPolicy_0);
    }
  };
  U.NextFocusIntent.prototype = {};
  U.NextFocusAction.prototype = {
    invoke$1: function(intent) {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
      t1._focus_manager$_context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker).policy._moveFocus$2$forward(t1, true);
    }
  };
  U.PreviousFocusIntent.prototype = {};
  U.PreviousFocusAction.prototype = {
    invoke$1: function(intent) {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
      t1._focus_manager$_context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker).policy._moveFocus$2$forward(t1, false);
    }
  };
  U.DirectionalFocusIntent.prototype = {};
  U.DirectionalFocusAction.prototype = {
    invoke$1: function(intent) {
      var t1, t2;
      intent.toString;
      t1 = $.WidgetsBinding__instance;
      t2 = t1.WidgetsBinding__buildOwner.focusManager._primaryFocus._focus_manager$_context._widget;
      t2.toString;
      t2 = !(t2 instanceof D.EditableText);
      if (t2) {
        t1 = t1.WidgetsBinding__buildOwner.focusManager._primaryFocus;
        t1._focus_manager$_context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker).policy.inDirection$2(t1, intent.direction);
      }
    }
  };
  U._FocusTraversalPolicy_Object_Diagnosticable.prototype = {};
  U._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin.prototype = {
    changedScope$2$node$oldScope: function(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)
          H.throwExpression(P.UnsupportedError$("removeWhere"));
        C.JSArray_methods._removeWhere$2(t1, new U._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin_changedScope_closure(node), true);
      }
    }
  };
  U.__ReadingOrderDirectionalGroupData_Object_Diagnosticable.prototype = {};
  U.__ReadingOrderSortData_Object_Diagnosticable.prototype = {};
  N.UniqueKey.prototype = {
    toString$0: function(_) {
      return "[#" + Y.shortHash(this) + "]";
    }
  };
  N.GlobalKey.prototype = {
    get$currentState: function() {
      var t1,
        element = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this);
      if (element instanceof N.StatefulElement) {
        t1 = element._framework$_state;
        t1.toString;
        if (H._instanceType(this)._precomputed1._is(t1))
          return t1;
      }
      return null;
    }
  };
  N.LabeledGlobalKey.prototype = {
    toString$0: function(_) {
      var _this = this,
        t1 = _this._framework$_debugLabel,
        label = t1 != null ? " " + t1 : "";
      if (H.getRuntimeType(_this) === C.Type_LabeledGlobalKey_6TW)
        return "[GlobalKey#" + Y.shortHash(_this) + label + "]";
      return "[" + ("<optimized out>#" + Y.shortHash(_this)) + label + "]";
    }
  };
  N.GlobalObjectKey.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return this.$ti._is(other) && other.value == this.value;
    },
    get$hashCode: function(_) {
      return H.objectHashCode(this.value);
    },
    toString$0: function(_) {
      var _s15_ = "GlobalObjectKey";
      return "[" + (C.JSString_methods.endsWith$1(_s15_, "<State<StatefulWidget>>") ? C.JSString_methods.substring$2(_s15_, 0, -8) : _s15_) + " " + ("<optimized out>#" + Y.shortHash(this.value)) + "]";
    }
  };
  N.Widget.prototype = {
    toStringShort$0: function() {
      var t1 = this.key;
      return t1 == null ? "Widget" : "Widget-" + t1.toString$0(0);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return this.super$Object$$eq(0, other);
    },
    get$hashCode: function(_) {
      return P.Object.prototype.get$hashCode.call(this, this);
    }
  };
  N.StatelessWidget.prototype = {
    createElement$0: function(_) {
      return N.StatelessElement$(this);
    }
  };
  N.StatefulWidget.prototype = {
    createElement$0: function(_) {
      return N.StatefulElement$(this);
    }
  };
  N._StateLifecycle.prototype = {
    toString$0: function(_) {
      return this._framework$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N.State.prototype = {
    initState$0: function() {
    },
    didUpdateWidget$1: function(oldWidget) {
    },
    setState$1: function(fn) {
      fn.call$0();
      this._framework$_element.markNeedsBuild$0();
    },
    deactivate$0: function() {
    },
    activate$0: function() {
    },
    dispose$0: function(_) {
    },
    didChangeDependencies$0: function() {
    }
  };
  N.ProxyWidget.prototype = {};
  N.ParentDataWidget.prototype = {
    createElement$0: function(_) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new N.ParentDataElement(t1, this, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2), H._instanceType(this)._eval$1("ParentDataElement<ParentDataWidget.T>"));
    }
  };
  N.InheritedWidget.prototype = {
    createElement$0: function(_) {
      return N.InheritedElement$(this);
    }
  };
  N.RenderObjectWidget.prototype = {
    updateRenderObject$2: function(context, renderObject) {
    },
    didUnmountRenderObject$1: function(renderObject) {
    }
  };
  N.LeafRenderObjectWidget.prototype = {
    createElement$0: function(_) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new N.LeafRenderObjectElement(t1, this, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
    }
  };
  N.SingleChildRenderObjectWidget.prototype = {
    createElement$0: function(_) {
      return N.SingleChildRenderObjectElement$(this);
    }
  };
  N.MultiChildRenderObjectWidget.prototype = {
    createElement$0: function(_) {
      return N.MultiChildRenderObjectElement$(this);
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  N._ElementLifecycle.prototype = {
    toString$0: function(_) {
      return this._framework$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N._InactiveElements.prototype = {
    _unmount$1: function(element) {
      element.visitChildren$1(new N._InactiveElements__unmount_closure(this, element));
      element.unmount$0();
    },
    _unmountAll$0: function() {
      var elements, t1, elements0, _this = this;
      _this._locked = true;
      t1 = _this._framework$_elements;
      elements0 = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("SetMixin.E"));
      C.JSArray_methods.sort$1(elements0, N.framework_Element__sort$closure());
      elements = elements0;
      t1.clear$0(0);
      try {
        t1 = elements;
        new H.ReversedListIterable(t1, H.instanceType(t1)._eval$1("ReversedListIterable<1>")).forEach$1(0, _this.get$_unmount());
      } finally {
        _this._locked = false;
      }
    },
    add$1: function(_, element) {
      if (element._lifecycleState === C._ElementLifecycle_1) {
        element.deactivate$0();
        element.visitChildren$1(N.framework__InactiveElements__deactivateRecursively$closure());
      }
      this._framework$_elements.add$1(0, element);
    }
  };
  N._InactiveElements__unmount_closure.prototype = {
    call$1: function(child) {
      this.$this._unmount$1(child);
    },
    $signature: 18
  };
  N.BuildOwner.prototype = {
    scheduleBuildFor$1: function(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: function(callback) {
      try {
        callback.call$0();
      } finally {
      }
    },
    buildScope$2: function(context, callback) {
      var e, stack, element, t2, exception, t3, t4, _i, _this = this, _box_0 = {},
        t1 = callback == null;
      if (t1 && _this._dirtyElements.length === 0)
        return;
      P.Timeline_startSync("Build", C.Map_9aZ6I, null);
      try {
        _this._scheduledFlushDirtyElements = true;
        if (!t1) {
          _box_0.debugPreviousBuildTarget = null;
          _this._dirtyElementsNeedsResorting = false;
          try {
            callback.call$0();
          } finally {
          }
        }
        t1 = _this._dirtyElements;
        C.JSArray_methods.sort$1(t1, N.framework_Element__sort$closure());
        _this._dirtyElementsNeedsResorting = false;
        _box_0.dirtyCount = t1.length;
        _box_0.index = 0;
        for (t2 = 0; t2 < _box_0.dirtyCount;) {
          try {
            t1[t2].rebuild$0();
          } catch (exception) {
            e = H.unwrapException(exception);
            stack = H.getTraceFromException(exception);
            t2 = U.ErrorDescription$("while rebuilding dirty elements");
            t3 = $.$get$FlutterError_onError();
            if (t3 != null)
              t3.call$1(new U.FlutterErrorDetails(e, stack, "widgets library", t2, new N.BuildOwner_buildScope_closure(_box_0, _this), false));
          }
          t2 = ++_box_0.index;
          t3 = _box_0.dirtyCount;
          t4 = t1.length;
          if (t3 >= t4) {
            t3 = _this._dirtyElementsNeedsResorting;
            t3.toString;
          } else
            t3 = true;
          if (t3) {
            if (!!t1.immutable$list)
              H.throwExpression(P.UnsupportedError$("sort"));
            t2 = t4 - 1;
            if (t2 - 0 <= 32)
              H.Sort__insertionSort(t1, 0, t2, N.framework_Element__sort$closure());
            else
              H.Sort__dualPivotQuicksort(t1, 0, t2, N.framework_Element__sort$closure());
            t2 = _this._dirtyElementsNeedsResorting = false;
            _box_0.dirtyCount = t1.length;
            while (true) {
              t3 = _box_0.index;
              if (!(t3 > 0 ? t1[t3 - 1]._dirty : t2))
                break;
              _box_0.index = t3 - 1;
            }
            t2 = t3;
          }
        }
      } finally {
        for (t1 = _this._dirtyElements, t2 = t1.length, _i = 0; _i < t2; ++_i) {
          element = t1[_i];
          element._inDirtyList = false;
        }
        C.JSArray_methods.set$length(t1, 0);
        _this._scheduledFlushDirtyElements = false;
        _this._dirtyElementsNeedsResorting = null;
        P.Timeline_finishSync();
      }
    },
    buildScope$1: function(context) {
      return this.buildScope$2(context, null);
    },
    finalizeTree$0: function() {
      var e, stack, exception;
      P.Timeline_startSync("Finalize tree", C.Map_9aZ6I, null);
      try {
        this.lockState$1(new N.BuildOwner_finalizeTree_closure(this));
      } catch (exception) {
        e = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        N._debugReportException(U.ErrorSummary$("while finalizing the widget tree"), e, stack, null);
      } finally {
        P.Timeline_finishSync();
      }
    }
  };
  N.BuildOwner_buildScope_closure.prototype = {
    call$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3;
        return function $async$call$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
                t1 = $async$self._box_0;
                t2 = t1.index;
                t3 = $async$self.$this._dirtyElements;
                $async$goto = t2 < t3.length ? 2 : 4;
                break;
              case 2:
                // then
                $async$goto = 5;
                return K.DiagnosticsDebugCreator$(new N.DebugCreator(t3[t2]));
              case 5:
                // after yield
                t2 = t1.index;
                t3 = t3[t2];
                $async$goto = 6;
                return Y.DiagnosticsProperty$(string$.The_el + t2 + " of " + t1.dirtyCount, t3, true, C.C__NoDefaultValue, null, false, null, null, C.DiagnosticLevel_3, null, false, true, true, C.DiagnosticsTreeStyle_9, null, type$.Element_2);
              case 6:
                // after yield
                // goto join
                $async$goto = 3;
                break;
              case 4:
                // else
                $async$goto = 7;
                return U.ErrorHint$(string$.The_el + t2 + " of " + t1.dirtyCount + ", but _dirtyElements only had " + t3.length + " entries. This suggests some confusion in the framework internals.");
              case 7:
                // after yield
              case 3:
                // join
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  N.BuildOwner_finalizeTree_closure.prototype = {
    call$0: function() {
      this.$this._inactiveElements._unmountAll$0();
    },
    $signature: 0
  };
  N.Element0.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      return this === other;
    },
    get$hashCode: function(_) {
      return this._cachedHash;
    },
    get$depth: function() {
      return this.get$_framework$_depth();
    },
    get$_framework$_depth: function() {
      var t1 = this.__Element__depth;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_depth")) : t1;
    },
    get$widget: function() {
      var t1 = this._widget;
      t1.toString;
      return t1;
    },
    get$renderObject: function() {
      var t1 = {};
      t1.result = null;
      new N.Element_renderObject_visit(t1).call$1(this);
      return t1.result;
    },
    describeElement$1: function($name) {
      var _null = null;
      return Y.DiagnosticsProperty$($name, this, true, C.C__NoDefaultValue, _null, false, _null, _null, C.DiagnosticLevel_3, _null, false, true, true, C.DiagnosticsTreeStyle_9, _null, type$.Element_2);
    },
    visitChildren$1: function(visitor) {
    },
    updateChild$3: function(child, newWidget, newSlot) {
      var t1, newChild, _this = this;
      if (newWidget == null) {
        if (child != null)
          _this.deactivateChild$1(child);
        return null;
      }
      if (child != null) {
        t1 = J.$eq$(child.get$widget(), newWidget);
        if (t1) {
          if (!J.$eq$(child._slot, newSlot))
            _this.updateSlotForChild$2(child, newSlot);
          t1 = child;
        } else {
          t1 = child.get$widget();
          t1 = J.get$runtimeType$(t1) === newWidget.get$runtimeType(newWidget) && J.$eq$(t1.key, newWidget.key);
          if (t1) {
            if (!J.$eq$(child._slot, newSlot))
              _this.updateSlotForChild$2(child, newSlot);
            child.update$1(0, newWidget);
            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: function($parent, newSlot) {
      var t1, key, _this = this;
      _this._framework$_parent = $parent;
      _this._slot = newSlot;
      _this._lifecycleState = C._ElementLifecycle_1;
      t1 = $parent != null;
      _this.__Element__depth = t1 ? $parent.get$_framework$_depth() + 1 : 1;
      if (t1)
        _this._owner = $parent._owner;
      key = _this.get$widget().key;
      if (key instanceof N.GlobalKey)
        _this._owner._globalKeyRegistry.$indexSet(0, key, _this);
      _this._updateInheritance$0();
    },
    update$1: function(_, newWidget) {
      this._widget = newWidget;
    },
    updateSlotForChild$2: function(child, newSlot) {
      new N.Element_updateSlotForChild_visit(newSlot).call$1(child);
    },
    _updateSlot$1: function(newSlot) {
      this._slot = newSlot;
    },
    _updateDepth$1: function(parentDepth) {
      var expectedDepth = parentDepth + 1;
      if (this.get$_framework$_depth() < expectedDepth) {
        this.__Element__depth = expectedDepth;
        this.visitChildren$1(new N.Element__updateDepth_closure(expectedDepth));
      }
    },
    detachRenderObject$0: function() {
      this.visitChildren$1(new N.Element_detachRenderObject_closure());
      this._slot = null;
    },
    attachRenderObject$1: function(newSlot) {
      this.visitChildren$1(new N.Element_attachRenderObject_closure(newSlot));
      this._slot = newSlot;
    },
    _retakeInactiveElement$2: function(key, newWidget) {
      var t1, $parent,
        element = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, key);
      if (element == null)
        return null;
      t1 = element.get$widget();
      if (!(J.get$runtimeType$(t1) === newWidget.get$runtimeType(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._owner._inactiveElements._framework$_elements.remove$1(0, element);
      return element;
    },
    inflateWidget$2: function(newWidget, newSlot) {
      var newChild, updatedChild, _this = this,
        key = newWidget.key;
      if (key instanceof N.GlobalKey) {
        newChild = _this._retakeInactiveElement$2(key, newWidget);
        if (newChild != null) {
          newChild._framework$_parent = _this;
          newChild._updateDepth$1(_this.get$_framework$_depth());
          newChild.activate$0();
          newChild.visitChildren$1(N.framework_Element__activateRecursively$closure());
          newChild.attachRenderObject$1(newSlot);
          updatedChild = _this.updateChild$3(newChild, newWidget, newSlot);
          updatedChild.toString;
          return updatedChild;
        }
      }
      newChild = newWidget.createElement$0(0);
      newChild.mount$2(_this, newSlot);
      return newChild;
    },
    deactivateChild$1: function(child) {
      child._framework$_parent = null;
      child.detachRenderObject$0();
      this._owner._inactiveElements.add$1(0, child);
    },
    forgetChild$1: function(child) {
    },
    activate$0: function() {
      var _this = this,
        t1 = _this._dependencies,
        t2 = t1 == null,
        hadDependencies = !t2 && t1._collection$_length !== 0 || _this._hadUnsatisfiedDependencies;
      _this._lifecycleState = C._ElementLifecycle_1;
      if (!t2)
        t1.clear$0(0);
      _this._hadUnsatisfiedDependencies = false;
      _this._updateInheritance$0();
      if (_this._dirty)
        _this._owner.scheduleBuildFor$1(_this);
      if (hadDependencies)
        _this.didChangeDependencies$0();
    },
    deactivate$0: function() {
      var _this = this,
        t1 = _this._dependencies;
      if (t1 != null && t1._collection$_length !== 0)
        for (t1 = new P._HashSetIterator(t1, t1._computeElements$0(), H._instanceType(t1)._eval$1("_HashSetIterator<1>")); t1.moveNext$0();)
          t1._collection$_current._dependents.remove$1(0, _this);
      _this._inheritedWidgets = null;
      _this._lifecycleState = C._ElementLifecycle_2;
    },
    unmount$0: function() {
      var t1, _this = this,
        key = _this._widget.key;
      if (key instanceof N.GlobalKey) {
        t1 = _this._owner._globalKeyRegistry;
        if (J.$eq$(t1.$index(0, key), _this))
          t1.remove$1(0, key);
      }
      _this._dependencies = _this._widget = null;
      _this._lifecycleState = C._ElementLifecycle_3;
    },
    get$size: function(_) {
      var t1,
        renderObject = this.get$renderObject();
      if (renderObject instanceof S.RenderBox) {
        t1 = renderObject._box$_size;
        t1.toString;
        return t1;
      }
      return null;
    },
    dependOnInheritedElement$2$aspect: function(ancestor, aspect) {
      var t1 = this._dependencies;
      (t1 == null ? this._dependencies = P.HashSet_HashSet(type$.InheritedElement) : t1).add$1(0, ancestor);
      ancestor.updateDependencies$2(this, aspect);
      return ancestor.get$widget();
    },
    dependOnInheritedElement$1: function(ancestor) {
      return this.dependOnInheritedElement$2$aspect(ancestor, null);
    },
    dependOnInheritedWidgetOfExactType$1$0: function($T) {
      var t1 = this._inheritedWidgets,
        ancestor = t1 == null ? null : t1.$index(0, H.createRuntimeType($T));
      if (ancestor != null)
        return $T._as(this.dependOnInheritedElement$2$aspect(ancestor, null));
      this._hadUnsatisfiedDependencies = true;
      return null;
    },
    getElementForInheritedWidgetOfExactType$1$0: function($T) {
      var t1 = this._inheritedWidgets;
      return t1 == null ? null : t1.$index(0, H.createRuntimeType($T));
    },
    _updateInheritance$0: function() {
      var t1 = this._framework$_parent;
      this._inheritedWidgets = t1 == null ? null : t1._inheritedWidgets;
    },
    findAncestorWidgetOfExactType$1$0: function($T) {
      var t1,
        ancestor = this._framework$_parent;
      while (true) {
        t1 = ancestor == null;
        if (!(!t1 && J.get$runtimeType$(ancestor.get$widget()) !== H.createRuntimeType($T)))
          break;
        ancestor = ancestor._framework$_parent;
      }
      t1 = t1 ? null : ancestor.get$widget();
      return $T._eval$1("0?")._as(t1);
    },
    findAncestorStateOfType$1$0: function($T) {
      var t1, t2,
        ancestor = this._framework$_parent;
      for (; t1 = ancestor == null, !t1;) {
        if (ancestor instanceof N.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: function($T) {
      var statefulAncestor, t1,
        ancestor = this._framework$_parent;
      for (statefulAncestor = null; ancestor != null;) {
        if (ancestor instanceof N.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: function($T) {
      var ancestor = this._framework$_parent;
      for (; ancestor != null;) {
        if (ancestor instanceof N.RenderObjectElement && $T._is(ancestor.get$renderObject()))
          return $T._as(ancestor.get$renderObject());
        ancestor = ancestor._framework$_parent;
      }
      return null;
    },
    visitAncestorElements$1: function(visitor) {
      var ancestor = this._framework$_parent;
      while (true) {
        if (!(ancestor != null && visitor.call$1(ancestor)))
          break;
        ancestor = ancestor._framework$_parent;
      }
    },
    didChangeDependencies$0: function() {
      this.markNeedsBuild$0();
    },
    debugGetCreatorChain$1: function(limit) {
      var t1,
        chain = H._setArrayType([], type$.JSArray_String),
        node = this;
      while (true) {
        if (!(chain.length < limit && node != null))
          break;
        t1 = node._widget;
        t1 = t1 == null ? null : t1.toStringShort$0();
        chain.push(t1 == null ? "<optimized out>#" + C.JSString_methods.padLeft$2(C.JSInt_methods.toRadixString$1(node.get$hashCode(node) & 1048575, 16), 5, "0") + "(DEFUNCT)" : t1);
        node = node._framework$_parent;
      }
      if (node != null)
        chain.push("\u22ef");
      return C.JSArray_methods.join$1(chain, " \u2190 ");
    },
    toStringShort$0: function() {
      var t1 = this._widget;
      t1 = t1 == null ? null : t1.toStringShort$0();
      return t1 == null ? "<optimized out>#" + Y.shortHash(this) + "(DEFUNCT)" : t1;
    },
    toDiagnosticsNode$2$name$style: function($name, style) {
      return N._ElementDiagnosticableTreeNode$($name, false, style, this);
    },
    toDiagnosticsNode$0: function() {
      return this.toDiagnosticsNode$2$name$style(null, null);
    },
    debugDescribeChildren$0: function() {
      var children = H._setArrayType([], type$.JSArray_DiagnosticsNode);
      this.visitChildren$1(new N.Element_debugDescribeChildren_closure(children));
      return children;
    },
    markNeedsBuild$0: function() {
      var _this = this;
      if (_this._lifecycleState !== C._ElementLifecycle_1)
        return;
      if (_this._dirty)
        return;
      _this._dirty = true;
      _this._owner.scheduleBuildFor$1(_this);
    },
    rebuild$0: function() {
      if (this._lifecycleState !== C._ElementLifecycle_1 || !this._dirty)
        return;
      this.performRebuild$0();
    },
    $isBuildContext: 1
  };
  N.Element_renderObject_visit.prototype = {
    call$1: function(element) {
      if (element instanceof N.RenderObjectElement)
        this._box_0.result = element.get$renderObject();
      else
        element.visitChildren$1(this);
    },
    $signature: 18
  };
  N.Element_updateSlotForChild_visit.prototype = {
    call$1: function(element) {
      element._updateSlot$1(this.newSlot);
      if (!(element instanceof N.RenderObjectElement))
        element.visitChildren$1(this);
    },
    $signature: 18
  };
  N.Element__updateDepth_closure.prototype = {
    call$1: function(child) {
      child._updateDepth$1(this.expectedDepth);
    },
    $signature: 18
  };
  N.Element_detachRenderObject_closure.prototype = {
    call$1: function(child) {
      child.detachRenderObject$0();
    },
    $signature: 18
  };
  N.Element_attachRenderObject_closure.prototype = {
    call$1: function(child) {
      child.attachRenderObject$1(this.newSlot);
    },
    $signature: 18
  };
  N.Element_debugDescribeChildren_closure.prototype = {
    call$1: function(child) {
      this.children.push(child.toDiagnosticsNode$0());
    },
    $signature: 18
  };
  N._ElementDiagnosticableTreeNode.prototype = {};
  N.ErrorWidget.prototype = {
    createRenderObject$1: function(context) {
      var t1 = this.message,
        t2 = new V.RenderErrorBox(t1);
      t2.get$isRepaintBoundary();
      t2.get$alwaysNeedsCompositing();
      t2.__RenderObject__needsCompositing = false;
      t2.RenderErrorBox$1(t1);
      return t2;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  N.ComponentElement.prototype = {
    mount$2: function($parent, newSlot) {
      this.super$Element$mount($parent, newSlot);
      this._firstBuild$0();
    },
    _firstBuild$0: function() {
      this.rebuild$0();
    },
    performRebuild$0: function() {
      var built, e, stack, e0, stack0, exception, built0, _this = this,
        t1 = $.debugProfileBuildsEnabled;
      if (t1)
        P.Timeline_startSync(J.get$runtimeType$(_this.get$widget()).toString$0(0), C.Map_9aZ6I, null);
      built = null;
      try {
        built = _this.build$0(0);
        _this.get$widget();
      } catch (exception) {
        e = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        built0 = N.ErrorWidget__defaultErrorWidgetBuilder(N._debugReportException(U.ErrorDescription$("building " + _this.toString$0(0)), e, stack, new N.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 = H.unwrapException(exception);
        stack0 = H.getTraceFromException(exception);
        built0 = N.ErrorWidget__defaultErrorWidgetBuilder(N._debugReportException(U.ErrorDescription$("building " + _this.toString$0(0)), e0, stack0, new N.ComponentElement_performRebuild_closure0(_this)));
        built = built0;
        _this._framework$_child = _this.updateChild$3(null, built, _this._slot);
      }
      t1 = $.debugProfileBuildsEnabled;
      if (t1)
        P.Timeline_finishSync();
    },
    visitChildren$1: function(visitor) {
      var t1 = this._framework$_child;
      if (t1 != null)
        visitor.call$1(t1);
    },
    forgetChild$1: function(child) {
      this._framework$_child = null;
      this.super$Element$forgetChild(child);
    }
  };
  N.ComponentElement_performRebuild_closure.prototype = {
    call$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError;
        return function $async$call$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
                $async$goto = 2;
                return K.DiagnosticsDebugCreator$(new N.DebugCreator($async$self.$this));
              case 2:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  N.ComponentElement_performRebuild_closure0.prototype = {
    call$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError;
        return function $async$call$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
                $async$goto = 2;
                return K.DiagnosticsDebugCreator$(new N.DebugCreator($async$self.$this));
              case 2:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  N.StatelessElement.prototype = {
    get$widget: function() {
      return type$.StatelessWidget._as(N.Element0.prototype.get$widget.call(this));
    },
    build$0: function(_) {
      return this.get$widget().build$1(0, this);
    },
    update$1: function(_, newWidget) {
      this.super$Element$update(0, newWidget);
      this._dirty = true;
      this.rebuild$0();
    }
  };
  N.StatefulElement.prototype = {
    build$0: function(_) {
      return this._framework$_state.build$1(0, this);
    },
    _firstBuild$0: function() {
      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: function() {
      var _this = this;
      if (_this._didChangeDependencies) {
        _this._framework$_state.didChangeDependencies$0();
        _this._didChangeDependencies = false;
      }
      _this.super$ComponentElement$performRebuild();
    },
    update$1: function(_, 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: function() {
      this.super$Element$activate();
      this._framework$_state.activate$0();
      this.markNeedsBuild$0();
    },
    deactivate$0: function() {
      this._framework$_state.deactivate$0();
      this.super$Element$deactivate();
    },
    unmount$0: function() {
      var _this = this;
      _this.super$Element$unmount();
      _this._framework$_state.dispose$0(0);
      _this._framework$_state = _this._framework$_state._framework$_element = null;
    },
    dependOnInheritedElement$2$aspect: function(ancestor, aspect) {
      return this.super$Element$dependOnInheritedElement(ancestor, aspect);
    },
    dependOnInheritedElement$1: function(ancestor) {
      return this.dependOnInheritedElement$2$aspect(ancestor, null);
    },
    didChangeDependencies$0: function() {
      this.super$Element$didChangeDependencies();
      this._didChangeDependencies = true;
    },
    toDiagnosticsNode$2$name$style: function($name, style) {
      return N._ElementDiagnosticableTreeNode$($name, true, style, this);
    },
    toDiagnosticsNode$0: function() {
      return this.toDiagnosticsNode$2$name$style(null, null);
    }
  };
  N.ProxyElement.prototype = {
    get$widget: function() {
      return type$.ProxyWidget._as(N.Element0.prototype.get$widget.call(this));
    },
    build$0: function(_) {
      return this.get$widget().child;
    },
    update$1: function(_, newWidget) {
      var _this = this,
        oldWidget = _this.get$widget();
      _this.super$Element$update(0, newWidget);
      _this.updated$1(oldWidget);
      _this._dirty = true;
      _this.rebuild$0();
    },
    updated$1: function(oldWidget) {
      this.notifyClients$1(oldWidget);
    }
  };
  N.ParentDataElement.prototype = {
    get$widget: function() {
      return this.$ti._eval$1("ParentDataWidget<1>")._as(N.ProxyElement.prototype.get$widget.call(this));
    },
    _applyParentData$1: function(widget) {
      this.visitChildren$1(new N.ParentDataElement__applyParentData_applyParentDataToChild(widget));
    },
    notifyClients$1: function(oldWidget) {
      this._applyParentData$1(this.$ti._eval$1("ParentDataWidget<1>")._as(N.ProxyElement.prototype.get$widget.call(this)));
    }
  };
  N.ParentDataElement__applyParentData_applyParentDataToChild.prototype = {
    call$1: function(child) {
      if (child instanceof N.RenderObjectElement)
        this.widget.applyParentData$1(child.get$renderObject());
      else
        child.visitChildren$1(this);
    },
    $signature: 18
  };
  N.InheritedElement.prototype = {
    get$widget: function() {
      return type$.InheritedWidget._as(N.ProxyElement.prototype.get$widget.call(this));
    },
    _updateInheritance$0: function() {
      var t2, _this = this, _null = null,
        t1 = _this._framework$_parent,
        incomingWidgets = t1 == null ? _null : t1._inheritedWidgets;
      t1 = type$.Type;
      t2 = type$.InheritedElement;
      t1 = incomingWidgets != null ? _this._inheritedWidgets = P.HashMap_HashMap$from(incomingWidgets, t1, t2) : _this._inheritedWidgets = P.HashMap_HashMap(_null, _null, _null, t1, t2);
      t1.$indexSet(0, J.get$runtimeType$(_this.get$widget()), _this);
    },
    updateDependencies$2: function(dependent, aspect) {
      this._dependents.$indexSet(0, dependent, null);
    },
    notifyDependent$2: function(oldWidget, dependent) {
      dependent.didChangeDependencies$0();
    },
    updated$1: function(oldWidget) {
      if (this.get$widget().updateShouldNotify$1(oldWidget))
        this.super$ProxyElement$updated(oldWidget);
    },
    notifyClients$1: function(oldWidget) {
      var t1;
      for (t1 = this._dependents, t1 = new P._HashMapKeyIterator(t1, t1._computeKeys$0(), H._instanceType(t1)._eval$1("_HashMapKeyIterator<1>")); t1.moveNext$0();)
        this.notifyDependent$2(oldWidget, t1._collection$_current);
    }
  };
  N.RenderObjectElement.prototype = {
    get$widget: function() {
      return type$.RenderObjectWidget._as(N.Element0.prototype.get$widget.call(this));
    },
    get$renderObject: function() {
      var t1 = this._renderObject;
      t1.toString;
      return t1;
    },
    _findAncestorRenderObjectElement$0: function() {
      var ancestor = this._framework$_parent;
      while (true) {
        if (!(ancestor != null && !(ancestor instanceof N.RenderObjectElement)))
          break;
        ancestor = ancestor._framework$_parent;
      }
      return type$.nullable_RenderObjectElement._as(ancestor);
    },
    _findAncestorParentDataElement$0: function() {
      var ancestor, _box_0 = {},
        t1 = _box_0.ancestor = this._framework$_parent;
      _box_0.result = null;
      while (true) {
        if (!(t1 != null && !(t1 instanceof N.RenderObjectElement)))
          break;
        if (t1 instanceof N.ParentDataElement) {
          _box_0.result = t1;
          break;
        }
        ancestor = t1._framework$_parent;
        _box_0.ancestor = ancestor;
        t1 = ancestor;
      }
      return _box_0.result;
    },
    mount$2: function($parent, newSlot) {
      var _this = this;
      _this.super$Element$mount($parent, newSlot);
      _this._renderObject = _this.get$widget().createRenderObject$1(_this);
      _this.attachRenderObject$1(newSlot);
      _this._dirty = false;
    },
    update$1: function(_, newWidget) {
      var _this = this;
      _this.super$Element$update(0, newWidget);
      _this.get$widget().updateRenderObject$2(_this, _this.get$renderObject());
      _this._dirty = false;
    },
    performRebuild$0: function() {
      var _this = this;
      _this.get$widget().updateRenderObject$2(_this, _this.get$renderObject());
      _this._dirty = false;
    },
    updateChildren$4$forgottenChildren$slots: function(oldChildren, newWidgets, forgottenChildren, slots) {
      var oldChild, newWidget, t4, haveOldChildren, oldKeyedChildren, key, _this = this, _null = null,
        replaceWithNullIfForgotten = new N.RenderObjectElement_updateChildren_replaceWithNullIfForgotten(forgottenChildren),
        slotFor = new N.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 : P.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();
          t4 = !(J.get$runtimeType$(t4) === J.get$runtimeType$(newWidget) && 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();
          t4 = !(J.get$runtimeType$(t4) === J.get$runtimeType$(newWidget) && J.$eq$(t4.key, newWidget.key));
        } else
          t4 = true;
        if (t4)
          break;
        --oldChildrenBottom;
        --newChildrenBottom;
      }
      if (haveOldChildren) {
        oldKeyedChildren = P.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._owner._inactiveElements;
              if (oldChild._lifecycleState === C._ElementLifecycle_1) {
                oldChild.deactivate$0();
                oldChild.visitChildren$1(N.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();
              if (J.get$runtimeType$(t4) === newWidget.get$runtimeType(newWidget) && 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.get$isNotEmpty(oldKeyedChildren))
        for (t1 = oldKeyedChildren.get$values(oldKeyedChildren), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
          t2 = t1.get$current(t1);
          if (!forgottenChildren.contains$1(0, t2)) {
            t2._framework$_parent = null;
            t2.detachRenderObject$0();
            t3 = _this._owner._inactiveElements;
            if (t2._lifecycleState === C._ElementLifecycle_1) {
              t2.deactivate$0();
              t2.visitChildren$1(N.framework__InactiveElements__deactivateRecursively$closure());
            }
            t3._framework$_elements.add$1(0, t2);
          }
        }
      return newChildren;
    },
    updateChildren$3$forgottenChildren: function(oldChildren, newWidgets, forgottenChildren) {
      return this.updateChildren$4$forgottenChildren$slots(oldChildren, newWidgets, forgottenChildren, null);
    },
    deactivate$0: function() {
      this.super$Element$deactivate();
    },
    unmount$0: function() {
      var oldWidget = this.get$widget();
      this.super$Element$unmount();
      oldWidget.didUnmountRenderObject$1(this.get$renderObject());
    },
    _updateSlot$1: function(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: function(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)
        parentDataElement.$ti._eval$1("ParentDataWidget<1>")._as(N.ProxyElement.prototype.get$widget.call(parentDataElement)).applyParentData$1(_this.get$renderObject());
    },
    detachRenderObject$0: function() {
      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: function(child, slot) {
    },
    moveRenderObjectChild$3: function(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2: function(child, slot) {
    }
  };
  N.RenderObjectElement_updateChildren_replaceWithNullIfForgotten.prototype = {
    call$1: function(child) {
      var t1 = this.forgottenChildren.contains$1(0, child);
      return t1 ? null : child;
    },
    $signature: 901
  };
  N.RenderObjectElement_updateChildren_slotFor.prototype = {
    call$2: function(newChildIndex, previousChild) {
      var t1 = this.slots;
      return t1 != null ? t1[newChildIndex] : new N.IndexedSlot(previousChild, newChildIndex, type$.IndexedSlot_nullable_Element);
    },
    $signature: 902
  };
  N.RootRenderObjectElement.prototype = {
    mount$2: function($parent, newSlot) {
      this.super$RenderObjectElement$mount($parent, newSlot);
    }
  };
  N.LeafRenderObjectElement.prototype = {
    forgetChild$1: function(child) {
      this.super$Element$forgetChild(child);
    },
    insertRenderObjectChild$2: function(child, slot) {
    },
    moveRenderObjectChild$3: function(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2: function(child, slot) {
    },
    debugDescribeChildren$0: function() {
      type$.RenderObjectWidget._as(N.Element0.prototype.get$widget.call(this)).toString;
      return C.List_empty0;
    }
  };
  N.SingleChildRenderObjectElement.prototype = {
    get$widget: function() {
      return type$.SingleChildRenderObjectWidget._as(N.RenderObjectElement.prototype.get$widget.call(this));
    },
    visitChildren$1: function(visitor) {
      var t1 = this._framework$_child;
      if (t1 != null)
        visitor.call$1(t1);
    },
    forgetChild$1: function(child) {
      this._framework$_child = null;
      this.super$Element$forgetChild(child);
    },
    mount$2: function($parent, newSlot) {
      var _this = this;
      _this.super$RenderObjectElement$mount($parent, newSlot);
      _this._framework$_child = _this.updateChild$3(_this._framework$_child, _this.get$widget().child, null);
    },
    update$1: function(_, newWidget) {
      var _this = this;
      _this.super$RenderObjectElement$update(0, newWidget);
      _this._framework$_child = _this.updateChild$3(_this._framework$_child, _this.get$widget().child, null);
    },
    insertRenderObjectChild$2: function(child, slot) {
      var t1 = this._renderObject;
      t1.toString;
      type$.RenderObjectWithChildMixin_RenderObject._as(t1).set$child(child);
    },
    moveRenderObjectChild$3: function(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2: function(child, slot) {
      var t1 = this._renderObject;
      t1.toString;
      type$.RenderObjectWithChildMixin_RenderObject._as(t1).set$child(null);
    }
  };
  N.MultiChildRenderObjectElement.prototype = {
    get$widget: function() {
      return type$.MultiChildRenderObjectWidget._as(N.RenderObjectElement.prototype.get$widget.call(this));
    },
    get$renderObject: function() {
      return type$.ContainerRenderObjectMixin_of_RenderObject_and_ContainerParentDataMixin_RenderObject._as(N.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    get$children: function(_) {
      return J.where$1$ax(this.get$_framework$_children(this), new N.MultiChildRenderObjectElement_children_closure(this));
    },
    get$_framework$_children: function(_) {
      var t1 = this.__MultiChildRenderObjectElement__children;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_children")) : t1;
    },
    insertRenderObjectChild$2: function(child, slot) {
      var renderObject = this.get$renderObject(),
        t1 = slot.value;
      renderObject.insert$2$after(0, child, t1 == null ? null : t1.get$renderObject());
    },
    moveRenderObjectChild$3: function(child, oldSlot, newSlot) {
      var renderObject = this.get$renderObject(),
        t1 = newSlot.value;
      renderObject.move$2$after(child, t1 == null ? null : t1.get$renderObject());
    },
    removeRenderObjectChild$2: function(child, slot) {
      this.get$renderObject().remove$1(0, child);
    },
    visitChildren$1: function(visitor) {
      var t1, t2, t3;
      for (t1 = J.get$iterator$ax(this.get$_framework$_children(this)), t2 = this._forgottenChildren; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        if (!t2.contains$1(0, t3))
          visitor.call$1(t3);
      }
    },
    forgetChild$1: function(child) {
      this._forgottenChildren.add$1(0, child);
      this.super$Element$forgetChild(child);
    },
    inflateWidget$2: function(newWidget, newSlot) {
      return this.super$Element$inflateWidget(newWidget, newSlot);
    },
    mount$2: function($parent, newSlot) {
      var children, t1, t2, previousChild, i, newChild, _this = this;
      _this.super$RenderObjectElement$mount($parent, newSlot);
      children = P.List_List$filled(J.get$length$asx(_this.get$widget().children), $.$get$_NullElement_instance(), false, type$.Element_2);
      for (t1 = children.length, t2 = type$.IndexedSlot_nullable_Element, previousChild = null, i = 0; i < t1; ++i, previousChild = newChild) {
        newChild = _this.super$Element$inflateWidget(J.$index$asx(_this.get$widget().children, i), new N.IndexedSlot(previousChild, i, t2));
        children[i] = newChild;
      }
      _this.__MultiChildRenderObjectElement__children = children;
    },
    update$1: function(_, newWidget) {
      var t1, _this = this;
      _this.super$RenderObjectElement$update(0, newWidget);
      t1 = _this._forgottenChildren;
      _this.__MultiChildRenderObjectElement__children = _this.updateChildren$3$forgottenChildren(_this.get$_framework$_children(_this), _this.get$widget().children, t1);
      t1.clear$0(0);
    }
  };
  N.MultiChildRenderObjectElement_children_closure.prototype = {
    call$1: function(child) {
      return !this.$this._forgottenChildren.contains$1(0, child);
    },
    $signature: 29
  };
  N.DebugCreator.prototype = {
    toString$0: function(_) {
      return this.element.debugGetCreatorChain$1(12);
    }
  };
  N.IndexedSlot.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof N.IndexedSlot && this.index === other.index && J.$eq$(this.value, other.value);
    },
    get$hashCode: function(_) {
      return P.hashValues(this.index, this.value, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N._NullElement.prototype = {
    performRebuild$0: function() {
    }
  };
  N._NullWidget.prototype = {
    createElement$0: function(_) {
      return H.throwExpression(P.UnimplementedError$(null));
    }
  };
  N._State_Object_Diagnosticable.prototype = {};
  D.GestureRecognizerFactory.prototype = {};
  D.GestureRecognizerFactoryWithHandlers.prototype = {
    constructor$0: function(_) {
      return this._constructor.call$0();
    },
    initializer$1: function(instance) {
      return this._initializer.call$1(instance);
    }
  };
  D.GestureDetector.prototype = {
    build$1: function(_, context) {
      var t1, _this = this,
        gestures = P.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.GestureRecognizerFactory_GestureRecognizer);
      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, C.Type_TapGestureRecognizer_62h, new D.GestureRecognizerFactoryWithHandlers(new D.GestureDetector_build_closure(_this), new D.GestureDetector_build_closure0(_this), type$.GestureRecognizerFactoryWithHandlers_TapGestureRecognizer));
      if (_this.onDoubleTap != null)
        gestures.$indexSet(0, C.Type_DoubleTapGestureRecognizer_oyU, new D.GestureRecognizerFactoryWithHandlers(new D.GestureDetector_build_closure1(_this), new D.GestureDetector_build_closure2(_this), type$.GestureRecognizerFactoryWithHandlers_DoubleTapGestureRecognizer));
      if (_this.onLongPress == null)
        t1 = false;
      else
        t1 = true;
      if (t1)
        gestures.$indexSet(0, C.Type_LongPressGestureRecognizer_46y, new D.GestureRecognizerFactoryWithHandlers(new D.GestureDetector_build_closure3(_this), new D.GestureDetector_build_closure4(_this), type$.GestureRecognizerFactoryWithHandlers_LongPressGestureRecognizer));
      t1 = _this.onVerticalDragStart != null || _this.onVerticalDragUpdate != null || _this.onVerticalDragEnd != null || false;
      if (t1)
        gestures.$indexSet(0, C.Type_mLh, new D.GestureRecognizerFactoryWithHandlers(new D.GestureDetector_build_closure5(_this), new D.GestureDetector_build_closure6(_this), type$.GestureRecognizerFactoryWithHandlers_VerticalDragGestureRecognizer));
      if (_this.onHorizontalDragDown != null || _this.onHorizontalDragStart != null || _this.onHorizontalDragUpdate != null || _this.onHorizontalDragEnd != null || _this.onHorizontalDragCancel != null)
        gestures.$indexSet(0, C.Type_Vq1, new D.GestureRecognizerFactoryWithHandlers(new D.GestureDetector_build_closure7(_this), new D.GestureDetector_build_closure8(_this), type$.GestureRecognizerFactoryWithHandlers_HorizontalDragGestureRecognizer));
      if (_this.onPanDown != null || _this.onPanStart != null || _this.onPanUpdate != null || _this.onPanEnd != null || false)
        gestures.$indexSet(0, C.Type_PanGestureRecognizer_bbH, new D.GestureRecognizerFactoryWithHandlers(new D.GestureDetector_build_closure9(_this), new D.GestureDetector_build_closure10(_this), type$.GestureRecognizerFactoryWithHandlers_PanGestureRecognizer));
      return new D.RawGestureDetector(_this.child, gestures, _this.behavior, _this.excludeFromSemantics, null, null);
    }
  };
  D.GestureDetector_build_closure.prototype = {
    call$0: function() {
      return N.TapGestureRecognizer$(this.$this);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 903
  };
  D.GestureDetector_build_closure0.prototype = {
    call$1: function(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;
    },
    $signature: 904
  };
  D.GestureDetector_build_closure1.prototype = {
    call$0: function() {
      var t1 = type$.int;
      return new F.DoubleTapGestureRecognizer(P.LinkedHashMap_LinkedHashMap$_empty(t1, type$._TapTracker), this.$this, null, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 905
  };
  D.GestureDetector_build_closure2.prototype = {
    call$1: function(instance) {
      instance.onDoubleTapDown = null;
      instance.onDoubleTap = this.$this.onDoubleTap;
      instance.onDoubleTapCancel = null;
    },
    $signature: 906
  };
  D.GestureDetector_build_closure3.prototype = {
    call$0: function() {
      var _null = null;
      return T.LongPressGestureRecognizer$(this.$this, _null, _null, _null, _null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 237
  };
  D.GestureDetector_build_closure4.prototype = {
    call$1: function(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;
    },
    $signature: 236
  };
  D.GestureDetector_build_closure5.prototype = {
    call$0: function() {
      return O.VerticalDragGestureRecognizer$(this.$this, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 235
  };
  D.GestureDetector_build_closure6.prototype = {
    call$1: function(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;
    },
    $signature: 234
  };
  D.GestureDetector_build_closure7.prototype = {
    call$0: function() {
      return O.HorizontalDragGestureRecognizer$(this.$this, null, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 167
  };
  D.GestureDetector_build_closure8.prototype = {
    call$1: function(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;
    },
    $signature: 168
  };
  D.GestureDetector_build_closure9.prototype = {
    call$0: function() {
      var t1 = type$.int,
        t2 = P.HashSet_HashSet(t1);
      return new O.PanGestureRecognizer(C.DragStartBehavior_1, O.monodrag_DragGestureRecognizer__defaultBuilder$closure(), C._DragState_0, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.VelocityTracker), P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, this.$this, null, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 913
  };
  D.GestureDetector_build_closure10.prototype = {
    call$1: function(instance) {
      var t1 = this.$this;
      instance.onDown = t1.onPanDown;
      instance.onStart = t1.onPanStart;
      instance.onUpdate = t1.onPanUpdate;
      instance.onEnd = t1.onPanEnd;
      instance.onCancel = null;
      instance.dragStartBehavior = t1.dragStartBehavior;
    },
    $signature: 914
  };
  D.RawGestureDetector.prototype = {
    createState$0: function() {
      return new D.RawGestureDetectorState(C.Map_empty3, C._StateLifecycle_0);
    }
  };
  D.RawGestureDetectorState.prototype = {
    initState$0: function() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = _this._widget;
      t2 = t1.semantics;
      _this._gesture_detector$_semantics = t2 == null ? new D._DefaultSemanticsGestureDelegate(_this) : t2;
      _this._syncAll$1(t1.gestures);
    },
    didUpdateWidget$1: function(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 D._DefaultSemanticsGestureDelegate(_this) : t1;
      }
      _this._syncAll$1(_this._widget.gestures);
    },
    replaceGestureRecognizers$1: function(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: function(actions) {
      if (this._widget.excludeFromSemantics)
        return;
      type$.nullable_RenderSemanticsGestureHandler._as(this._framework$_element.get$renderObject()).set$validActions(actions);
    },
    dispose$0: function(_) {
      var t1;
      for (t1 = this._recognizers, t1 = J.get$iterator$ax(t1.get$values(t1)); t1.moveNext$0();)
        t1.get$current(t1).dispose$0(0);
      this._recognizers = null;
      this.super$State$dispose(0);
    },
    _syncAll$1: function(gestures) {
      var t2, t3, t4, t5, _this = this,
        t1 = _this._recognizers;
      t1.toString;
      _this._recognizers = P.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(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(0);
      }
    },
    _handlePointerDown$1: function($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);
      }
    },
    _updateSemanticsForRenderObject$1: function(renderObject) {
      this._gesture_detector$_semantics.assignSemantics$1(renderObject);
    },
    build$1: function(_, context) {
      var t4, t5, result, _null = null,
        t1 = this._widget,
        t2 = t1.behavior,
        t3 = t2 == null;
      if (t3)
        t4 = t1.child == null ? C.HitTestBehavior_2 : C.HitTestBehavior_0;
      else
        t4 = t2;
      t5 = t1.child;
      result = T.Listener$(t4, t5, _null, this.get$_handlePointerDown(), _null, _null);
      if (!t1.excludeFromSemantics) {
        if (t3)
          t1 = t5 == null ? C.HitTestBehavior_2 : C.HitTestBehavior_0;
        else
          t1 = t2;
        result = new D._GestureSemantics(t1, this.get$_updateSemanticsForRenderObject(), result, _null);
      }
      return result;
    }
  };
  D._GestureSemantics.prototype = {
    createRenderObject$1: function(context) {
      var renderObject = new E.RenderSemanticsGestureHandler(C.HitTestBehavior_0, null);
      renderObject.get$isRepaintBoundary();
      renderObject.get$alwaysNeedsCompositing();
      renderObject.__RenderObject__needsCompositing = false;
      renderObject.set$child(null);
      renderObject.behavior = this.behavior;
      this.assignSemantics.call$1(renderObject);
      return renderObject;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.behavior = this.behavior;
      this.assignSemantics.call$1(renderObject);
    }
  };
  D.SemanticsGestureDelegate.prototype = {
    toString$0: function(_) {
      return "SemanticsGestureDelegate()";
    }
  };
  D._DefaultSemanticsGestureDelegate.prototype = {
    assignSemantics$1: function(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: function(recognizers) {
      var tap = type$.nullable_TapGestureRecognizer._as(recognizers.$index(0, C.Type_TapGestureRecognizer_62h));
      if (tap == null)
        return null;
      return new D._DefaultSemanticsGestureDelegate__getTapHandler_closure(tap);
    },
    _getLongPressHandler$1: function(recognizers) {
      var longPress = type$.nullable_LongPressGestureRecognizer._as(recognizers.$index(0, C.Type_LongPressGestureRecognizer_46y));
      if (longPress == null)
        return null;
      return new D._DefaultSemanticsGestureDelegate__getLongPressHandler_closure(longPress);
    },
    _getHorizontalDragUpdateHandler$1: function(recognizers) {
      var horizontal = type$.nullable_HorizontalDragGestureRecognizer._as(recognizers.$index(0, C.Type_Vq1)),
        pan = type$.nullable_PanGestureRecognizer._as(recognizers.$index(0, C.Type_PanGestureRecognizer_bbH)),
        horizontalHandler = horizontal == null ? null : new D._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure(horizontal),
        panHandler = pan == null ? null : new D._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure0(pan);
      if (horizontalHandler == null && panHandler == null)
        return null;
      return new D._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure1(horizontalHandler, panHandler);
    },
    _getVerticalDragUpdateHandler$1: function(recognizers) {
      var vertical = type$.nullable_VerticalDragGestureRecognizer._as(recognizers.$index(0, C.Type_mLh)),
        pan = type$.nullable_PanGestureRecognizer._as(recognizers.$index(0, C.Type_PanGestureRecognizer_bbH)),
        verticalHandler = vertical == null ? null : new D._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure(vertical),
        panHandler = pan == null ? null : new D._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure0(pan);
      if (verticalHandler == null && panHandler == null)
        return null;
      return new D._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure1(verticalHandler, panHandler);
    }
  };
  D._DefaultSemanticsGestureDelegate__getTapHandler_closure.prototype = {
    call$0: function() {
      var t1 = this.tap,
        t2 = t1.onTapDown;
      if (t2 != null)
        t2.call$1(new N.TapDownDetails(C.Offset_0_0, null, C.Offset_0_0));
      t2 = t1.onTapUp;
      if (t2 != null)
        t2.call$1(new N.TapUpDetails(C.Offset_0_0, C.PointerDeviceKind_4));
      t1 = t1.onTap;
      if (t1 != null)
        t1.call$0();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  D._DefaultSemanticsGestureDelegate__getLongPressHandler_closure.prototype = {
    call$0: function() {
      var t1 = this.longPress,
        t2 = t1.onLongPressStart;
      if (t2 != null)
        t2.call$1(C.LongPressStartDetails_aWR);
      t2 = t1.onLongPress;
      if (t2 != null)
        t2.call$0();
      t1 = t1.onLongPressEnd;
      if (t1 != null)
        t1.call$1(C.LongPressEndDetails_aB0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  D._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure.prototype = {
    call$1: function(details) {
      var t1 = this.horizontal,
        t2 = t1.onDown;
      if (t2 != null)
        t2.call$1(new O.DragDownDetails(C.Offset_0_0));
      t2 = t1.onStart;
      if (t2 != null)
        t2.call$1(new O.DragStartDetails(null, C.Offset_0_0, null));
      t2 = t1.onUpdate;
      if (t2 != null)
        t2.call$1(details);
      t1 = t1.onEnd;
      if (t1 != null)
        t1.call$1(new O.DragEndDetails(C.Velocity_Offset_0_0, 0));
    },
    $signature: 26
  };
  D._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure0.prototype = {
    call$1: function(details) {
      var t1 = this.pan,
        t2 = t1.onDown;
      if (t2 != null)
        t2.call$1(new O.DragDownDetails(C.Offset_0_0));
      t2 = t1.onStart;
      if (t2 != null)
        t2.call$1(new O.DragStartDetails(null, C.Offset_0_0, null));
      t2 = t1.onUpdate;
      if (t2 != null)
        t2.call$1(details);
      t1 = t1.onEnd;
      if (t1 != null)
        t1.call$1(new O.DragEndDetails(C.Velocity_Offset_0_0, null));
    },
    $signature: 26
  };
  D._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure1.prototype = {
    call$1: function(details) {
      var t1 = this.horizontalHandler;
      if (t1 != null)
        t1.call$1(details);
      t1 = this.panHandler;
      if (t1 != null)
        t1.call$1(details);
    },
    $signature: 26
  };
  D._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure.prototype = {
    call$1: function(details) {
      var t1 = this.vertical,
        t2 = t1.onDown;
      if (t2 != null)
        t2.call$1(new O.DragDownDetails(C.Offset_0_0));
      t2 = t1.onStart;
      if (t2 != null)
        t2.call$1(new O.DragStartDetails(null, C.Offset_0_0, null));
      t2 = t1.onUpdate;
      if (t2 != null)
        t2.call$1(details);
      t1 = t1.onEnd;
      if (t1 != null)
        t1.call$1(new O.DragEndDetails(C.Velocity_Offset_0_0, 0));
    },
    $signature: 26
  };
  D._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure0.prototype = {
    call$1: function(details) {
      var t1 = this.pan,
        t2 = t1.onDown;
      if (t2 != null)
        t2.call$1(new O.DragDownDetails(C.Offset_0_0));
      t2 = t1.onStart;
      if (t2 != null)
        t2.call$1(new O.DragStartDetails(null, C.Offset_0_0, null));
      t2 = t1.onUpdate;
      if (t2 != null)
        t2.call$1(details);
      t1 = t1.onEnd;
      if (t1 != null)
        t1.call$1(new O.DragEndDetails(C.Velocity_Offset_0_0, null));
    },
    $signature: 26
  };
  D._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure1.prototype = {
    call$1: function(details) {
      var t1 = this.verticalHandler;
      if (t1 != null)
        t1.call$1(details);
      t1 = this.panHandler;
      if (t1 != null)
        t1.call$1(details);
    },
    $signature: 26
  };
  T.HeroFlightDirection.prototype = {
    toString$0: function(_) {
      return this._heroes$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  T.Hero.prototype = {
    createState$0: function() {
      return new T._HeroState(new N.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), C._StateLifecycle_0);
    }
  };
  T.Hero__allHeroesFor_inviteHero.prototype = {
    call$2: function(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: 917
  };
  T.Hero__allHeroesFor_visitor.prototype = {
    call$1: function(element) {
      var tag, heroRoute, _this = this,
        widget = element.get$widget();
      if (widget instanceof T.Hero) {
        type$.StatefulElement._as(element);
        tag = widget.tag;
        if (K.Navigator_of(element, false) === _this.navigator)
          _this.inviteHero.call$2(element, tag);
        else {
          heroRoute = T.ModalRoute_of(element, type$.nullable_Object);
          if (heroRoute != null && heroRoute instanceof V.PageRoute && heroRoute.get$isCurrent())
            _this.inviteHero.call$2(element, tag);
        }
      }
      element.visitChildren$1(_this);
    },
    $signature: 18
  };
  T._HeroState.prototype = {
    startFlight$1$shouldIncludedChildInPlaceholder: function(shouldIncludedChildInPlaceholder) {
      var t1, _this = this;
      _this._shouldIncludeChild = shouldIncludedChildInPlaceholder;
      t1 = _this._framework$_element.get$renderObject();
      t1.toString;
      _this.setState$1(new T._HeroState_startFlight_closure(_this, type$.RenderBox._as(t1)));
    },
    startFlight$0: function() {
      return this.startFlight$1$shouldIncludedChildInPlaceholder(false);
    },
    endFlight$1$keepPlaceholder: function(keepPlaceholder) {
      var _this = this;
      if (keepPlaceholder || _this._placeholderSize == null)
        return;
      _this._placeholderSize = null;
      if (_this._framework$_element != null)
        _this.setState$1(new T._HeroState_endFlight_closure());
    },
    endFlight$0: function() {
      return this.endFlight$1$keepPlaceholder(false);
    },
    build$1: function(_, 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 T.SizedBox$(_null, t1._dy, t2);
      }
      t3 = t2 ? _null : t1._dx;
      t1 = t2 ? _null : t1._dy;
      return T.SizedBox$(new T.Offstage(showPlaceholder, new U.TickerMode(t2, new T.KeyedSubtree(_this._widget.child, _this._heroes$_key), _null), _null), t1, t3);
    }
  };
  T._HeroState_startFlight_closure.prototype = {
    call$0: function() {
      var t1 = this.box._box$_size;
      t1.toString;
      this.$this._placeholderSize = t1;
    },
    $signature: 0
  };
  T._HeroState_endFlight_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  T._HeroFlightManifest.prototype = {
    get$animation: function(_) {
      var t1, _this = this;
      if (_this.type === C.HeroFlightDirection_0) {
        t1 = _this.toRoute._animationProxy;
        t1.toString;
      } else {
        t1 = _this.fromRoute._animationProxy;
        t1.toString;
      }
      return S.CurvedAnimation$(C.Cubic_ifx, t1, _this.isDiverted ? null : new Z.FlippedCurve(C.Cubic_ifx));
    },
    createHeroRectTween$2$begin$end: function(begin, end) {
      var t1;
      this.toHero._widget.toString;
      t1 = this.createRectTween.call$2(begin, end);
      return t1 == null ? new R.RectTween(begin, end) : t1;
    },
    get$fromHeroLocation: function() {
      var _this = this,
        t1 = _this.___HeroFlightManifest_fromHeroLocation;
      if (t1 === $) {
        t1 = _this.fromHero._framework$_element;
        t1.toString;
        t1 = T._HeroFlightManifest__boundingBoxFor(t1, $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, _this.fromRoute._subtreeKey));
        if (_this.___HeroFlightManifest_fromHeroLocation === $)
          _this.___HeroFlightManifest_fromHeroLocation = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("fromHeroLocation"));
      }
      return t1;
    },
    get$toHeroLocation: function() {
      var _this = this,
        t1 = _this.___HeroFlightManifest_toHeroLocation;
      if (t1 === $) {
        t1 = _this.toHero._framework$_element;
        t1.toString;
        t1 = T._HeroFlightManifest__boundingBoxFor(t1, $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, _this.toRoute._subtreeKey));
        if (_this.___HeroFlightManifest_toHeroLocation === $)
          _this.___HeroFlightManifest_toHeroLocation = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("toHeroLocation"));
      }
      return t1;
    },
    get$isValid: function() {
      var _this = this,
        t1 = _this.___HeroFlightManifest_isValid;
      if (t1 === $) {
        t1 = _this.get$toHeroLocation();
        if (t1.get$isFinite(t1))
          if (!_this.isDiverted) {
            t1 = _this.get$fromHeroLocation();
            t1 = t1.get$isFinite(t1);
          } else
            t1 = true;
        else
          t1 = false;
        if (_this.___HeroFlightManifest_isValid === $)
          _this.___HeroFlightManifest_isValid = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("isValid"));
      }
      return t1;
    },
    toString$0: function(_) {
      var _this = this,
        t1 = _this.fromHero;
      t1 = "_HeroFlightManifest(" + _this.type.toString$0(0) + " tag: " + H.S(t1._widget.tag) + " from route: " + H.S(_this.fromRoute._settings) + " to route: " + H.S(_this.toRoute._settings) + " with hero: " + t1.toString$0(0) + " to " + _this.toHero.toString$0(0) + ")";
      return t1 + (_this.get$isValid() ? "" : ", INVALID");
    }
  };
  T._HeroFlight.prototype = {
    get$heroRectTween: function() {
      var t1 = this.___HeroFlight_heroRectTween;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("heroRectTween")) : t1;
    },
    get$_proxyAnimation: function() {
      var t1 = this.___HeroFlight__proxyAnimation;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_proxyAnimation")) : t1;
    },
    get$manifest: function() {
      var t1 = this.___HeroFlight_manifest;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("manifest")) : t1;
    },
    _buildOverlay$1: function(context) {
      var t1, t2, t3, t4, t5, _this = this;
      if (_this.shuttle == null) {
        t1 = _this.get$manifest();
        t2 = _this.get$manifest();
        t2 = t2.get$animation(t2);
        t3 = _this.get$manifest().type;
        t4 = _this.get$manifest().fromHero._framework$_element;
        t4.toString;
        t5 = _this.get$manifest().toHero._framework$_element;
        t5.toString;
        _this.shuttle = t1.shuttleBuilder.call$5(context, t2, t3, t4, t5);
      }
      return K.AnimatedBuilder$(_this.get$_proxyAnimation(), new T._HeroFlight__buildOverlay_closure(_this), _this.shuttle);
    },
    _performAnimationUpdate$1: function($status) {
      var _this = this,
        t1 = $status === C.AnimationStatus_3;
      if (t1 || $status === C.AnimationStatus_0) {
        _this.get$_proxyAnimation().set$parent(0, null);
        _this.overlayEntry.remove$0(0);
        _this.overlayEntry = null;
        _this.get$manifest().fromHero.endFlight$1$keepPlaceholder(t1);
        _this.get$manifest().toHero.endFlight$1$keepPlaceholder($status === C.AnimationStatus_0);
        _this.onFlightEnded.call$1(_this);
        _this.get$_proxyAnimation().removeListener$1(0, _this.get$onTick());
      }
    },
    _handleAnimationUpdate$1: function($status) {
      var _this = this,
        t1 = _this.get$manifest().fromRoute._navigator$_navigator;
      if ((t1 == null ? null : t1.userGestureInProgressNotifier._value) !== true) {
        _this._performAnimationUpdate$1($status);
        return;
      }
      if (_this._scheduledPerformAnimtationUpdate)
        return;
      t1 = _this.get$manifest().fromRoute._navigator$_navigator;
      t1.toString;
      _this._scheduledPerformAnimtationUpdate = true;
      t1.userGestureInProgressNotifier.addListener$1(0, new T._HeroFlight__handleAnimationUpdate_delayedPerformAnimtationUpdate(_this, t1));
    },
    onTick$0: function() {
      var t1, toHeroOrigin, t2, t3, t4, t5, t6, t7, _this = this,
        toHeroBox = !_this._aborted && _this.get$manifest().toHero._framework$_element != null ? type$.nullable_RenderBox._as(_this.get$manifest().toHero._framework$_element.get$renderObject()) : null;
      if (toHeroBox != null && toHeroBox._node$_owner != null && toHeroBox._box$_size != null) {
        t1 = _this.get$manifest().toRoute;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._subtreeKey);
        t1 = t1 == null ? null : t1.get$renderObject();
        toHeroOrigin = T.MatrixUtils_transformPoint(toHeroBox.getTransformTo$1(0, type$.nullable_RenderBox._as(t1)), C.Offset_0_0);
      } else
        toHeroOrigin = null;
      t1 = toHeroOrigin != null;
      if (t1) {
        t2 = toHeroOrigin._dx;
        t2.toString;
        if (isFinite(t2)) {
          t2 = toHeroOrigin._dy;
          t2.toString;
          t2 = isFinite(t2);
        } else
          t2 = false;
      } else
        t2 = false;
      if (t2) {
        t2 = _this.get$heroRectTween().end;
        if (!J.$eq$(toHeroOrigin, new P.Offset(t2.left, t2.top))) {
          t2 = _this.get$heroRectTween().end;
          t3 = t2.right;
          t4 = t2.left;
          t5 = t2.bottom;
          t2 = t2.top;
          t6 = toHeroOrigin._dx;
          t7 = toHeroOrigin._dy;
          _this.___HeroFlight_heroRectTween = _this.get$manifest().createHeroRectTween$2$begin$end(_this.get$heroRectTween().begin, new P.Rect(t6, t7, t6 + (t3 - t4), t7 + (t5 - t2)));
        }
      } else {
        t2 = _this._heroOpacity;
        if (t2.get$status(t2) === C.AnimationStatus_3) {
          t2 = _this.get$_proxyAnimation();
          t3 = $.$get$_HeroFlight__reverseTween();
          t4 = _this.get$_proxyAnimation();
          t4 = t4.get$value(t4);
          t3.toString;
          t5 = t3.$ti._eval$1("_ChainedEvaluation<Animatable.T>");
          t2.toString;
          _this._heroOpacity = new R._AnimatedEvaluation(type$.Animation_double._as(t2), new R._ChainedEvaluation(new R.CurveTween(new Z.Interval(t4, 1, C.C__Linear)), t3, t5), t5._eval$1("_AnimatedEvaluation<Animatable.T>"));
        }
      }
      if (t1) {
        t1 = toHeroOrigin._dx;
        t1.toString;
        if (isFinite(t1)) {
          t1 = toHeroOrigin._dy;
          t1.toString;
          t1 = isFinite(t1);
        } else
          t1 = false;
        t1 = !t1;
      } else
        t1 = true;
      _this._aborted = t1;
    },
    start$1: function(_, initialManifest) {
      var t1, t2, shouldIncludeChildInPlacehold, _this = this;
      _this.___HeroFlight_manifest = initialManifest;
      switch (_this.get$manifest().type) {
        case C.HeroFlightDirection_1:
          t1 = _this.get$_proxyAnimation();
          t2 = _this.get$manifest();
          t1.set$parent(0, new S.ReverseAnimation(t2.get$animation(t2), new R.ObserverList(H._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), 0));
          shouldIncludeChildInPlacehold = false;
          break;
        case C.HeroFlightDirection_0:
          t1 = _this.get$_proxyAnimation();
          t2 = _this.get$manifest();
          t1.set$parent(0, t2.get$animation(t2));
          shouldIncludeChildInPlacehold = true;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      _this.___HeroFlight_heroRectTween = _this.get$manifest().createHeroRectTween$2$begin$end(_this.get$manifest().get$fromHeroLocation(), _this.get$manifest().get$toHeroLocation());
      _this.get$manifest().fromHero.startFlight$1$shouldIncludedChildInPlaceholder(shouldIncludeChildInPlacehold);
      _this.get$manifest().toHero.startFlight$0();
      t1 = _this.get$manifest().overlay;
      t2 = X.OverlayEntry$(_this.get$_buildOverlay(), false, false);
      _this.overlayEntry = t2;
      t1.insert$1(0, t2);
      t2 = _this.get$_proxyAnimation();
      t2.didRegisterListener$0();
      t2 = t2.AnimationLocalListenersMixin__listeners;
      t2._isDirty = true;
      t2._observer_list$_list.push(_this.get$onTick());
    },
    toString$0: function(_) {
      var _this = this,
        from = _this.get$manifest().fromRoute._settings,
        to = _this.get$manifest().toRoute._settings;
      return "HeroFlight(for: " + H.S(_this.get$manifest().fromHero._widget.tag) + ", from: " + H.S(from) + ", to: " + H.S(to) + " " + H.S(_this.get$_proxyAnimation()._animations$_parent) + ")";
    }
  };
  T._HeroFlight__buildOverlay_closure.prototype = {
    call$2: function(context, child) {
      var t4, _null = null,
        t1 = this.$this,
        t2 = t1.get$heroRectTween(),
        t3 = t1.get$_proxyAnimation();
      t2.toString;
      t3 = t2.transform$1(0, t3.get$value(t3));
      t3.toString;
      t2 = t1.get$manifest().navigatorSize;
      t4 = t2._dx;
      t2 = t2._dy;
      t1 = t1._heroOpacity;
      return T.Positioned$(t2 - t3.bottom, new T.IgnorePointer(true, _null, new T.RepaintBoundary(T.Opacity$(false, child, t1.get$value(t1)), _null), _null), _null, _null, t3.left, t4 - t3.right, t3.top, _null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 919
  };
  T._HeroFlight__handleAnimationUpdate_delayedPerformAnimtationUpdate.prototype = {
    call$0: function() {
      var t2,
        t1 = this.$this;
      t1._scheduledPerformAnimtationUpdate = false;
      this.navigator.userGestureInProgressNotifier.removeListener$1(0, this);
      t2 = t1.get$_proxyAnimation();
      t1._performAnimationUpdate$1(t2.get$status(t2));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  T.HeroController.prototype = {
    _maybeStartHeroTransition$4: function(fromRoute, toRoute, flightType, isUserGestureTransition) {
      var t1, animation;
      if (toRoute != fromRoute && toRoute instanceof V.PageRoute && fromRoute instanceof V.PageRoute) {
        if (flightType === C.HeroFlightDirection_0) {
          t1 = toRoute._animationProxy;
          t1.toString;
          animation = t1;
        } else {
          t1 = fromRoute._animationProxy;
          t1.toString;
          animation = t1;
        }
        switch (flightType) {
          case C.HeroFlightDirection_1:
            if (animation.get$value(animation) === 0)
              return;
            break;
          case C.HeroFlightDirection_0:
            if (animation.get$value(animation) === 1)
              return;
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
        if (isUserGestureTransition)
          if (flightType === C.HeroFlightDirection_1) {
            toRoute.get$maintainState();
            t1 = true;
          } else
            t1 = false;
        else
          t1 = false;
        if (t1)
          this._startHeroTransition$5(fromRoute, toRoute, animation, flightType, isUserGestureTransition);
        else {
          t1 = toRoute._animationProxy;
          toRoute.set$offstage(t1.get$value(t1) === 0);
          $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new T.HeroController__maybeStartHeroTransition_closure(this, fromRoute, toRoute, animation, flightType, isUserGestureTransition));
        }
      }
    },
    _startHeroTransition$5: function(from, to, animation, flightType, isUserGestureTransition) {
      var $navigator, t1, overlay, navigatorRenderObject, fromSubtreeContext, fromHeroes, toSubtreeContext, toHeroes, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, tag, fromHero, toHero, existingFlight, manifest, t15, t16, t17, _this = this,
        _s8_ = "manifest",
        _s15_ = "_proxyAnimation",
        _s13_ = "heroRectTween";
      to.set$offstage(false);
      $navigator = _this._navigator$_navigator;
      t1 = $navigator == null;
      overlay = t1 ? null : $navigator.get$_overlayKey().get$currentState();
      if (t1 || overlay == null)
        return;
      navigatorRenderObject = $navigator._framework$_element.get$renderObject();
      if (!(navigatorRenderObject instanceof S.RenderBox))
        return;
      fromSubtreeContext = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, from._subtreeKey);
      fromHeroes = fromSubtreeContext != null ? T.Hero__allHeroesFor(fromSubtreeContext, isUserGestureTransition, $navigator) : C.Map_empty4;
      toSubtreeContext = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, to._subtreeKey);
      toHeroes = toSubtreeContext != null ? T.Hero__allHeroesFor(toSubtreeContext, isUserGestureTransition, $navigator) : C.Map_empty4;
      for (t1 = fromHeroes.get$entries(fromHeroes), t1 = t1.get$iterator(t1), t2 = _this.get$_defaultHeroFlightShuttleBuilder(), t3 = _this.createRectTween, t4 = _this._flights, t5 = _this.get$_handleFlightEnded(), t6 = type$.JSArray_of_void_Function_AnimationStatus, t7 = type$.ObserverList_of_void_Function_AnimationStatus, t8 = type$.JSArray_of_void_Function, t9 = type$.ObserverList_of_void_Function, t10 = type$.Tween_double, t11 = type$.Animation_double, t12 = t10._eval$1("_AnimatedEvaluation<Animatable.T>"), t13 = type$.ReverseTween_nullable_Rect; t1.moveNext$0();) {
        t14 = t1.get$current(t1);
        tag = t14.get$key(t14);
        fromHero = t14.get$value(t14);
        toHero = toHeroes.$index(0, tag);
        existingFlight = t4.$index(0, tag);
        if (toHero == null)
          manifest = null;
        else {
          t14 = navigatorRenderObject._box$_size;
          t14.toString;
          toHero._widget.toString;
          fromHero._widget.toString;
          manifest = new T._HeroFlightManifest(flightType, overlay, t14, from, to, fromHero, toHero, t3, t2, isUserGestureTransition, existingFlight != null);
        }
        if (manifest != null && manifest.get$isValid()) {
          toHeroes.remove$1(0, tag);
          if (existingFlight != null) {
            t14 = existingFlight.___HeroFlight_manifest;
            if ((t14 === $ ? H.throwExpression(H.LateError$fieldNI(_s8_)) : t14).type === C.HeroFlightDirection_0 && manifest.type === C.HeroFlightDirection_1) {
              t14 = existingFlight.___HeroFlight__proxyAnimation;
              if (t14 === $)
                t14 = H.throwExpression(H.LateError$fieldNI(_s15_));
              t14.set$parent(0, new S.ReverseAnimation(manifest.get$animation(manifest), new R.ObserverList(H._setArrayType([], t6), t7), 0));
              t14 = existingFlight.___HeroFlight_heroRectTween;
              if (t14 === $)
                t14 = H.throwExpression(H.LateError$fieldNI(_s13_));
              existingFlight.___HeroFlight_heroRectTween = new R.ReverseTween(t14, t14.end, t14.begin, t13);
            } else if (t14.type === C.HeroFlightDirection_1 && manifest.type === C.HeroFlightDirection_0) {
              t14 = existingFlight.___HeroFlight__proxyAnimation;
              if (t14 === $)
                t14 = H.throwExpression(H.LateError$fieldNI(_s15_));
              t15 = manifest.get$animation(manifest);
              t16 = existingFlight.___HeroFlight_manifest;
              if (t16 === $)
                t16 = H.throwExpression(H.LateError$fieldNI(_s8_));
              t16 = t16.get$animation(t16);
              t16 = t16.get$value(t16);
              t14.set$parent(0, new R._AnimatedEvaluation(t11._as(t15), new R.Tween(t16, 1, t10), t12));
              t14 = existingFlight.___HeroFlight_manifest;
              t15 = (t14 === $ ? H.throwExpression(H.LateError$fieldNI(_s8_)) : t14).fromHero;
              t16 = manifest.toHero;
              if (t15 !== t16) {
                t14.fromHero.endFlight$1$keepPlaceholder(true);
                t16.startFlight$0();
                t14 = existingFlight.___HeroFlight_manifest;
                if (t14 === $)
                  t14 = H.throwExpression(H.LateError$fieldNI(_s8_));
                t15 = existingFlight.___HeroFlight_heroRectTween;
                existingFlight.___HeroFlight_heroRectTween = t14.createHeroRectTween$2$begin$end((t15 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t15).end, manifest.get$toHeroLocation());
              } else {
                t15 = existingFlight.___HeroFlight_heroRectTween;
                t16 = (t15 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t15).end;
                existingFlight.___HeroFlight_heroRectTween = t14.createHeroRectTween$2$begin$end(t16, t15.begin);
              }
            } else {
              t15 = existingFlight.___HeroFlight_heroRectTween;
              if (t15 === $)
                t15 = H.throwExpression(H.LateError$fieldNI(_s13_));
              t16 = existingFlight.___HeroFlight__proxyAnimation;
              if (t16 === $)
                t16 = H.throwExpression(H.LateError$fieldNI(_s15_));
              t15.toString;
              existingFlight.___HeroFlight_heroRectTween = t14.createHeroRectTween$2$begin$end(t15.transform$1(0, t16.get$value(t16)), manifest.get$toHeroLocation());
              existingFlight.shuttle = null;
              t14 = manifest.type;
              t15 = existingFlight.___HeroFlight__proxyAnimation;
              if (t14 === C.HeroFlightDirection_1) {
                if (t15 === $)
                  t15 = H.throwExpression(H.LateError$fieldNI(_s15_));
                t15.set$parent(0, new S.ReverseAnimation(manifest.get$animation(manifest), new R.ObserverList(H._setArrayType([], t6), t7), 0));
              } else {
                if (t15 === $)
                  t15 = H.throwExpression(H.LateError$fieldNI(_s15_));
                t15.set$parent(0, manifest.get$animation(manifest));
              }
              t15 = existingFlight.___HeroFlight_manifest;
              (t15 === $ ? H.throwExpression(H.LateError$fieldNI(_s8_)) : t15).fromHero.endFlight$1$keepPlaceholder(true);
              t15 = existingFlight.___HeroFlight_manifest;
              (t15 === $ ? H.throwExpression(H.LateError$fieldNI(_s8_)) : t15).toHero.endFlight$1$keepPlaceholder(true);
              manifest.fromHero.startFlight$1$shouldIncludedChildInPlaceholder(t14 === C.HeroFlightDirection_0);
              manifest.toHero.startFlight$0();
              t14 = existingFlight.overlayEntry._key.get$currentState();
              if (t14 != null)
                t14._markNeedsBuild$0();
            }
            existingFlight.___HeroFlight_manifest = manifest;
          } else {
            t14 = new T._HeroFlight(t5, C.C__AlwaysCompleteAnimation);
            t15 = H._setArrayType([], t6);
            t16 = new R.ObserverList(t15, t7);
            t17 = new S.ProxyAnimation(t16, new R.ObserverList(H._setArrayType([], t8), t9), 0);
            t17._animations$_status = C.AnimationStatus_0;
            t17._animations$_value = 0;
            t17.didRegisterListener$0();
            t16._isDirty = true;
            t15.push(t14.get$_handleAnimationUpdate());
            t14.___HeroFlight__proxyAnimation = t17;
            t14.start$1(0, manifest);
            t4.$indexSet(0, tag, t14);
          }
        } 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: function(flight) {
      this._flights.remove$1(0, flight.get$manifest().fromHero._widget.tag);
    },
    _defaultHeroFlightShuttleBuilder$5: function(flightContext, animation, flightDirection, fromHeroContext, toHeroContext) {
      return type$.Hero._as(toHeroContext.get$widget()).child;
    }
  };
  T.HeroController__maybeStartHeroTransition_closure.prototype = {
    call$1: function(value) {
      var _this = this;
      _this.$this._startHeroTransition$5(_this.from, _this.to, _this.animation, _this.flightType, _this.isUserGestureTransition);
    },
    $signature: 6
  };
  L.Icon.prototype = {
    build$1: function(_, context) {
      var textDirection, iconThemeData, t2, iconTheme, t3, iconSize, iconOpacity, iconColor, iconWidget, _null = null,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      textDirection = t1.textDirection;
      iconThemeData = Y.IconTheme__getInheritedIconThemeData(context).resolve$1(context);
      t1 = iconThemeData.color;
      t2 = t1 == null;
      if (!t2 && iconThemeData.get$opacity(iconThemeData) != null && iconThemeData.size != null)
        iconTheme = iconThemeData;
      else {
        t3 = iconThemeData.size;
        if (t3 == null)
          t3 = 24;
        if (t2)
          t1 = C.Color_4278190080;
        t2 = iconThemeData.get$opacity(iconThemeData);
        iconTheme = iconThemeData.copyWith$3$color$opacity$size(t1, t2 == null ? C.IconThemeData_Color_4278190080_1_24.get$opacity(C.IconThemeData_Color_4278190080_1_24) : t2, t3);
      }
      iconSize = this.size;
      if (iconSize == null)
        iconSize = iconTheme.size;
      t1 = this.icon;
      if (t1 == null)
        return T.Semantics$(_null, _null, T.SizedBox$(_null, iconSize, iconSize), false, _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);
      iconOpacity = iconTheme.get$opacity(iconTheme);
      if (iconOpacity == null)
        iconOpacity = 1;
      iconColor = this.color;
      if (iconColor == null) {
        t2 = iconTheme.color;
        t2.toString;
        iconColor = t2;
      }
      if (iconOpacity !== 1)
        iconColor = P.Color$fromARGB(C.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 = H.Primitives_stringFromCharCode(t1.codePoint);
      iconWidget = T.RichText$(_null, _null, C.TextOverflow_3, true, _null, Q.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, iconColor, _null, _null, _null, _null, _null, t1.fontFamily, _null, _null, iconSize, _null, _null, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, _null), t2), C.TextAlign_4, textDirection, _null, 1, C.TextWidthBasis_0);
      if (t1.matchTextDirection)
        switch (textDirection) {
          case C.TextDirection_0:
            t1 = new E.Matrix4(new Float64Array(16));
            t1.setIdentity$0();
            t1.scale$3(0, -1, 1, 1);
            iconWidget = T.Transform$(C.Alignment_0_0, iconWidget, t1, false);
            break;
          case C.TextDirection_1:
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
      return T.Semantics$(_null, _null, new T.ExcludeSemantics(true, T.SizedBox$(T.Center$(iconWidget, _null, _null, _null), iconSize, iconSize), _null), false, _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);
    }
  };
  X.IconData.prototype = {
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof X.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: function(_) {
      return P.hashValues(this.codePoint, this.fontFamily, null, this.matchTextDirection, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      return "IconData(U+" + C.JSString_methods.padLeft$2(C.JSInt_methods.toRadixString$1(this.codePoint, 16).toUpperCase(), 5, "0") + ")";
    }
  };
  Y.IconTheme.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return !this.data.$eq(0, oldWidget.data);
    },
    wrap$2: function(_, context, child) {
      return Y.IconTheme$(child, this.data, null);
    }
  };
  Y.IconTheme_merge_closure.prototype = {
    call$1: function(context) {
      return Y.IconTheme$(this.child, Y.IconTheme__getInheritedIconThemeData(context).merge$1(this.data), this.key);
    },
    $signature: 922
  };
  T.IconThemeData.prototype = {
    copyWith$3$color$opacity$size: function(color, opacity, size) {
      var _this = this,
        t1 = color == null ? _this.color : color,
        t2 = opacity == null ? _this.get$opacity(_this) : opacity;
      return new T.IconThemeData(t1, t2, size == null ? _this.size : size);
    },
    merge$1: function(other) {
      if (other == null)
        return this;
      return this.copyWith$3$color$opacity$size(other.color, other.get$opacity(other), other.size);
    },
    resolve$1: function(context) {
      return this;
    },
    get$opacity: function(_) {
      var t1 = this._opacity;
      return t1 == null ? null : C.JSNumber_methods.clamp$2(t1, 0, 1);
    },
    $eq: function(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      return other instanceof T.IconThemeData && J.$eq$(other.color, _this.color) && other.get$opacity(other) == _this.get$opacity(_this) && other.size == _this.size;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_this.color, _this.get$opacity(_this), _this.size, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  T._IconThemeData_Object_Diagnosticable.prototype = {};
  U.Image.prototype = {
    createState$0: function() {
      return new U._ImageState(C._StateLifecycle_0);
    }
  };
  U._ImageState.prototype = {
    get$_scrollAwareContext: function() {
      var t1 = this.___ImageState__scrollAwareContext;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_scrollAwareContext")) : t1;
    },
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      $.WidgetsBinding__instance.WidgetsBinding__observers.push(_this);
      _this.___ImageState__scrollAwareContext = new K.DisposableBuildContext(_this, type$.DisposableBuildContext_State_Image);
    },
    dispose$0: function(_) {
      var t1, _this = this;
      C.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, _this);
      _this._stopListeningToStream$0();
      t1 = _this._completerHandle;
      if (t1 != null)
        t1.dispose$0(0);
      _this.get$_scrollAwareContext()._disposable_build_context$_state = null;
      _this._replaceImage$1$info(null);
      _this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t1, _this = this;
      _this._updateInvertColors$0();
      _this._resolveImage$0();
      t1 = _this._framework$_element;
      t1.toString;
      if (U.TickerMode_of(t1))
        _this._listenToStream$0();
      else
        _this._stopListeningToStream$1$keepStreamAlive(true);
      _this.super$State$didChangeDependencies();
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._isListeningToStream) {
        _this._widget.toString;
        oldWidget.toString;
      }
      if (!_this._widget.image.$eq(0, oldWidget.image))
        _this._resolveImage$0();
    },
    _updateInvertColors$0: function() {
      var t1 = this._framework$_element;
      t1.toString;
      t1 = F.MediaQuery_maybeOf(t1);
      t1 = t1 == null ? null : t1.invertColors;
      if (t1 == null) {
        $.SemanticsBinding__instance.get$_accessibilityFeatures().toString;
        t1 = false;
      }
      this.___ImageState__invertColors = t1;
    },
    _resolveImage$0: function() {
      var t5, _this = this,
        t1 = _this.get$_scrollAwareContext(),
        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 P.Size(t5, t2);
      } else
        t2 = null;
      _this._updateSourceStream$1(new Y.ScrollAwareImageProvider(t1, t3, type$.ScrollAwareImageProvider_Object).resolve$1(U.createLocalImageConfiguration(t4, t2)));
    },
    _getListener$1$recreateListener: function(recreateListener) {
      var _this = this,
        t1 = _this._imageStreamListener;
      if (t1 == null || recreateListener) {
        _this._lastStack = _this._lastException = null;
        _this._widget.toString;
        t1 = _this._imageStreamListener = new L.ImageStreamListener(_this.get$_handleImageFrame(), null, null);
      }
      t1.toString;
      return t1;
    },
    _getListener$0: function() {
      return this._getListener$1$recreateListener(false);
    },
    _handleImageFrame$2: function(imageInfo, synchronousCall) {
      this.setState$1(new U._ImageState__handleImageFrame_closure(this, imageInfo, synchronousCall));
    },
    _replaceImage$1$info: function(info) {
      var t1 = this._imageInfo;
      if (t1 != null)
        t1.image.dispose$0(0);
      this._imageInfo = info;
    },
    _updateSourceStream$1: function(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 U._ImageState__updateSourceStream_closure(_this));
      _this.setState$1(new U._ImageState__updateSourceStream_closure0(_this));
      _this._image0$_imageStream = newStream;
      if (_this._isListeningToStream)
        newStream.addListener$1(0, _this._getListener$0());
    },
    _listenToStream$0: function() {
      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(0);
      _this._completerHandle = null;
      _this._isListeningToStream = true;
    },
    _stopListeningToStream$1$keepStreamAlive: function(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)
          H.throwExpression(P.StateError$(string$.Stream));
        t2 = new L.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: function() {
      return this._stopListeningToStream$1$keepStreamAlive(false);
    },
    build$1: function(_, 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 === $)
        t10 = H.throwExpression(H.LateError$fieldNI("_invertColors"));
      result = T.Semantics$(_null, _null, new T.RawImage(t3, t4, t6, t7, t1, t2, _null, C.FilterQuality_1, _null, t8, t9, t5, _null, false, t10, false, _null), false, _null, _null, false, _null, _null, _null, true, "", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      return result;
    }
  };
  U._ImageState__handleImageFrame_closure.prototype = {
    call$0: function() {
      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 = C.JSBool_methods.$or(t1._wasSynchronouslyLoaded, this.synchronousCall);
    },
    $signature: 0
  };
  U._ImageState__updateSourceStream_closure.prototype = {
    call$0: function() {
      this.$this._replaceImage$1$info(null);
    },
    $signature: 0
  };
  U._ImageState__updateSourceStream_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._frameNumber = t1._loadingProgress = null;
      t1._wasSynchronouslyLoaded = false;
    },
    $signature: 0
  };
  U.__ImageState_State_WidgetsBindingObserver.prototype = {};
  G.BoxConstraintsTween.prototype = {
    lerp$1: function(t) {
      var t1 = S.BoxConstraints_lerp(this.begin, this.end, t);
      t1.toString;
      return t1;
    }
  };
  G.DecorationTween.prototype = {
    lerp$1: function(t) {
      var t1 = Z.Decoration_lerp(this.begin, this.end, t);
      t1.toString;
      return t1;
    }
  };
  G.EdgeInsetsGeometryTween.prototype = {
    lerp$1: function(t) {
      var t1 = V.EdgeInsetsGeometry_lerp(this.begin, this.end, t);
      t1.toString;
      return t1;
    }
  };
  G.BorderRadiusTween.prototype = {
    lerp$1: function(t) {
      return K.BorderRadius_lerp(this.begin, this.end, t);
    }
  };
  G.Matrix4Tween.prototype = {
    lerp$1: function(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 E.Vector3(new Float64Array(3)),
        endTranslation = new E.Vector3(new Float64Array(3)),
        beginRotation = E.Quaternion_Quaternion$identity(),
        endRotation = E.Quaternion_Quaternion$identity(),
        beginScale = new E.Vector3(new Float64Array(3)),
        endScale = new E.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 E.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 E.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;
    }
  };
  G.TextStyleTween.prototype = {
    lerp$1: function(t) {
      var t1 = A.TextStyle_lerp(this.begin, this.end, t);
      t1.toString;
      return t1;
    }
  };
  G.ImplicitlyAnimatedWidget.prototype = {
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  G.ImplicitlyAnimatedWidgetState.prototype = {
    get$_implicit_animations$_controller: function() {
      var _this = this,
        t1 = _this.__ImplicitlyAnimatedWidgetState__controller;
      if (t1 === $) {
        t1 = _this._widget.duration;
        t1 = G.AnimationController$(null, t1, 0, null, 1, null, _this);
        if (_this.__ImplicitlyAnimatedWidgetState__controller === $)
          _this.__ImplicitlyAnimatedWidgetState__controller = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("_controller"));
      }
      return t1;
    },
    get$_implicit_animations$_animation: function() {
      var _this = this,
        t1 = _this.__ImplicitlyAnimatedWidgetState__animation;
      if (t1 === $) {
        t1 = _this.get$_implicit_animations$_controller();
        t1 = _this.__ImplicitlyAnimatedWidgetState__animation = S.CurvedAnimation$(_this._widget.curve, t1, null);
      }
      return t1;
    },
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this.get$_implicit_animations$_controller().addStatusListener$1(new G.ImplicitlyAnimatedWidgetState_initState_closure(_this));
      _this._constructTweens$0();
      _this.didUpdateTweens$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.curve !== oldWidget.curve) {
        t1 = _this.get$_implicit_animations$_controller();
        _this.__ImplicitlyAnimatedWidgetState__animation = S.CurvedAnimation$(_this._widget.curve, t1, null);
      }
      _this.get$_implicit_animations$_controller().duration = _this._widget.duration;
      if (_this._constructTweens$0()) {
        _this.forEachTween$1(new G.ImplicitlyAnimatedWidgetState_didUpdateWidget_closure(_this));
        t1 = _this.get$_implicit_animations$_controller();
        t1.set$value(0, 0);
        t1.forward$0(0);
        _this.didUpdateTweens$0();
      }
    },
    dispose$0: function(_) {
      this.get$_implicit_animations$_controller().dispose$0(0);
      this.super$_ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin$dispose(0);
    },
    _updateTween$2: function(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: function() {
      var t1 = {};
      t1.shouldStartAnimation = false;
      this.forEachTween$1(new G.ImplicitlyAnimatedWidgetState__constructTweens_closure(t1, this));
      return t1.shouldStartAnimation;
    },
    didUpdateTweens$0: function() {
    }
  };
  G.ImplicitlyAnimatedWidgetState_initState_closure.prototype = {
    call$1: function($status) {
      var t1;
      switch ($status) {
        case C.AnimationStatus_3:
          t1 = this.$this._widget.onEnd;
          if (t1 != null)
            t1.call$0();
          break;
        case C.AnimationStatus_0:
        case C.AnimationStatus_1:
        case C.AnimationStatus_2:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $signature: 12
  };
  G.ImplicitlyAnimatedWidgetState_didUpdateWidget_closure.prototype = {
    call$3: function(tween, targetValue, $constructor) {
      this.$this._updateTween$2(tween, targetValue);
      return tween;
    },
    $signature: 232
  };
  G.ImplicitlyAnimatedWidgetState__constructTweens_closure.prototype = {
    call$3: function(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
        tween = null;
      return tween;
    },
    $signature: 232
  };
  G.AnimatedWidgetBaseState.prototype = {
    initState$0: function() {
      this.super$ImplicitlyAnimatedWidgetState$initState();
      var t1 = this.get$_implicit_animations$_controller();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._observer_list$_list.push(this.get$_handleAnimationChanged());
    },
    _handleAnimationChanged$0: function() {
      this.setState$1(new G.AnimatedWidgetBaseState__handleAnimationChanged_closure());
    }
  };
  G.AnimatedWidgetBaseState__handleAnimationChanged_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  G.AnimatedContainer.prototype = {
    createState$0: function() {
      return new G._AnimatedContainerState(null, C._StateLifecycle_0);
    },
    get$constraints: function() {
      return this.constraints;
    }
  };
  G._AnimatedContainerState.prototype = {
    forEachTween$1: function(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 G._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 G._AnimatedContainerState_forEachTween_closure0()));
      t1 = type$.nullable_DecorationTween;
      _this._implicit_animations$_decoration = t1._as(visitor.call$3(_this._implicit_animations$_decoration, _this._widget.decoration, new G._AnimatedContainerState_forEachTween_closure1()));
      t4 = _this._foregroundDecoration;
      _this._widget.toString;
      _this._foregroundDecoration = t1._as(visitor.call$3(t4, _null, new G._AnimatedContainerState_forEachTween_closure2()));
      _this._implicit_animations$_constraints = type$.nullable_BoxConstraintsTween._as(visitor.call$3(_this._implicit_animations$_constraints, _this._widget.constraints, new G._AnimatedContainerState_forEachTween_closure3()));
      t4 = _this._margin;
      _this._widget.toString;
      _this._margin = t3._as(visitor.call$3(t4, _null, new G._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 G._AnimatedContainerState_forEachTween_closure5()));
      t4 = _this._transformAlignment;
      _this._widget.toString;
      _this._transformAlignment = t2._as(visitor.call$3(t4, _null, new G._AnimatedContainerState_forEachTween_closure6()));
    },
    build$1: function(_, 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 M.Container$(t1, _null, C.Clip_0, _null, t5, t3, t4, _null, _null, t6, t2, t7, t8, _null);
    }
  };
  G._AnimatedContainerState_forEachTween_closure.prototype = {
    call$1: function(value) {
      return new S.AlignmentGeometryTween(type$.AlignmentGeometry._as(value), null);
    },
    $signature: 231
  };
  G._AnimatedContainerState_forEachTween_closure0.prototype = {
    call$1: function(value) {
      return new G.EdgeInsetsGeometryTween(type$.EdgeInsetsGeometry._as(value), null);
    },
    $signature: 169
  };
  G._AnimatedContainerState_forEachTween_closure1.prototype = {
    call$1: function(value) {
      return new G.DecorationTween(type$.Decoration._as(value), null);
    },
    $signature: 229
  };
  G._AnimatedContainerState_forEachTween_closure2.prototype = {
    call$1: function(value) {
      return new G.DecorationTween(type$.Decoration._as(value), null);
    },
    $signature: 229
  };
  G._AnimatedContainerState_forEachTween_closure3.prototype = {
    call$1: function(value) {
      return new G.BoxConstraintsTween(type$.BoxConstraints._as(value), null);
    },
    $signature: 927
  };
  G._AnimatedContainerState_forEachTween_closure4.prototype = {
    call$1: function(value) {
      return new G.EdgeInsetsGeometryTween(type$.EdgeInsetsGeometry._as(value), null);
    },
    $signature: 169
  };
  G._AnimatedContainerState_forEachTween_closure5.prototype = {
    call$1: function(value) {
      return new G.Matrix4Tween(type$.Matrix4._as(value), null);
    },
    $signature: 928
  };
  G._AnimatedContainerState_forEachTween_closure6.prototype = {
    call$1: function(value) {
      return new S.AlignmentGeometryTween(type$.AlignmentGeometry._as(value), null);
    },
    $signature: 231
  };
  G.AnimatedPadding.prototype = {
    createState$0: function() {
      return new G._AnimatedPaddingState(null, C._StateLifecycle_0);
    }
  };
  G._AnimatedPaddingState.prototype = {
    forEachTween$1: function(visitor) {
      this._implicit_animations$_padding = type$.nullable_EdgeInsetsGeometryTween._as(visitor.call$3(this._implicit_animations$_padding, this._widget.padding, new G._AnimatedPaddingState_forEachTween_closure()));
    },
    build$1: function(_, context) {
      var t2,
        t1 = this._implicit_animations$_padding;
      t1.toString;
      t2 = this.get$_implicit_animations$_animation();
      return new T.Padding(J.clamp$2$n(t1.transform$1(0, t2.get$value(t2)), C.EdgeInsets_0_0_0_0, C._MixedEdgeInsets_QWq), this._widget.child, null);
    }
  };
  G._AnimatedPaddingState_forEachTween_closure.prototype = {
    call$1: function(value) {
      return new G.EdgeInsetsGeometryTween(type$.EdgeInsetsGeometry._as(value), null);
    },
    $signature: 169
  };
  G.AnimatedOpacity.prototype = {
    createState$0: function() {
      return new G._AnimatedOpacityState(null, C._StateLifecycle_0);
    }
  };
  G._AnimatedOpacityState.prototype = {
    forEachTween$1: function(visitor) {
      this._implicit_animations$_opacity = type$.nullable_Tween_double._as(visitor.call$3(this._implicit_animations$_opacity, this._widget.opacity, new G._AnimatedOpacityState_forEachTween_closure()));
    },
    didUpdateTweens$0: function() {
      var t1 = this.get$_implicit_animations$_animation(),
        t2 = this._implicit_animations$_opacity;
      t2.toString;
      t1.toString;
      this.___AnimatedOpacityState__opacityAnimation = new R._AnimatedEvaluation(type$.Animation_double._as(t1), t2, H._instanceType(t2)._eval$1("_AnimatedEvaluation<Animatable.T>"));
    },
    build$1: function(_, context) {
      var t2,
        t1 = this.___AnimatedOpacityState__opacityAnimation;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("_opacityAnimation"));
      t2 = this._widget;
      return K.FadeTransition$(t2.alwaysIncludeSemantics, t2.child, t1);
    }
  };
  G._AnimatedOpacityState_forEachTween_closure.prototype = {
    call$1: function(value) {
      return new R.Tween(H._asDoubleS(value), null, type$.Tween_double);
    },
    $signature: 144
  };
  G.AnimatedDefaultTextStyle.prototype = {
    createState$0: function() {
      return new G._AnimatedDefaultTextStyleState(null, C._StateLifecycle_0);
    }
  };
  G._AnimatedDefaultTextStyleState.prototype = {
    forEachTween$1: function(visitor) {
      this._implicit_animations$_style = type$.nullable_TextStyleTween._as(visitor.call$3(this._implicit_animations$_style, this._widget.style, new G._AnimatedDefaultTextStyleState_forEachTween_closure()));
    },
    build$1: function(_, 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 L.DefaultTextStyle$(t1.child, _null, _null, C.TextOverflow_0, t3, t2, _null, _null, C.TextWidthBasis_0);
    }
  };
  G._AnimatedDefaultTextStyleState_forEachTween_closure.prototype = {
    call$1: function(value) {
      return new G.TextStyleTween(type$.TextStyle._as(value), null);
    },
    $signature: 929
  };
  G.AnimatedPhysicalModel.prototype = {
    createState$0: function() {
      return new G._AnimatedPhysicalModelState(null, C._StateLifecycle_0);
    }
  };
  G._AnimatedPhysicalModelState.prototype = {
    forEachTween$1: function(visitor) {
      var t1, _this = this;
      _this._borderRadius = type$.nullable_BorderRadiusTween._as(visitor.call$3(_this._borderRadius, _this._widget.borderRadius, new G._AnimatedPhysicalModelState_forEachTween_closure()));
      _this._implicit_animations$_elevation = type$.nullable_Tween_double._as(visitor.call$3(_this._implicit_animations$_elevation, _this._widget.elevation, new G._AnimatedPhysicalModelState_forEachTween_closure0()));
      t1 = type$.nullable_ColorTween;
      _this._implicit_animations$_color = t1._as(visitor.call$3(_this._implicit_animations$_color, _this._widget.color, new G._AnimatedPhysicalModelState_forEachTween_closure1()));
      _this._implicit_animations$_shadowColor = t1._as(visitor.call$3(_this._implicit_animations$_shadowColor, _this._widget.shadowColor, new G._AnimatedPhysicalModelState_forEachTween_closure2()));
    },
    build$1: function(_, 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;
      t6 = t7;
      return new T.PhysicalModel(t2, t1, t4, t5, t3, t6, _this._widget.child, null);
    }
  };
  G._AnimatedPhysicalModelState_forEachTween_closure.prototype = {
    call$1: function(value) {
      return new G.BorderRadiusTween(type$.BorderRadius._as(value), null);
    },
    $signature: 930
  };
  G._AnimatedPhysicalModelState_forEachTween_closure0.prototype = {
    call$1: function(value) {
      return new R.Tween(H._asDoubleS(value), null, type$.Tween_double);
    },
    $signature: 144
  };
  G._AnimatedPhysicalModelState_forEachTween_closure1.prototype = {
    call$1: function(value) {
      return new R.ColorTween(type$.Color._as(value), null);
    },
    $signature: 145
  };
  G._AnimatedPhysicalModelState_forEachTween_closure2.prototype = {
    call$1: function(value) {
      return new R.ColorTween(type$.Color._as(value), null);
    },
    $signature: 145
  };
  G._ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  S.InheritedNotifier.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return oldWidget.notifier != this.notifier;
    },
    createElement$0: function(_) {
      var t1 = type$.Element_2,
        t2 = P.HashMap_HashMap(null, null, null, t1, type$.nullable_Object),
        t3 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t3;
      t1 = new S._InheritedNotifierElement(t2, t3, this, C._ElementLifecycle_0, P.HashSet_HashSet(t1), H._instanceType(this)._eval$1("_InheritedNotifierElement<InheritedNotifier.T>"));
      t3 = this.notifier;
      if (t3 != null)
        t3.addListener$1(0, t1.get$_handleUpdate());
      return t1;
    }
  };
  S._InheritedNotifierElement.prototype = {
    get$widget: function() {
      return this.$ti._eval$1("InheritedNotifier<1>")._as(N.InheritedElement.prototype.get$widget.call(this));
    },
    update$1: function(_, newWidget) {
      var _this = this,
        oldNotifier = _this.$ti._eval$1("InheritedNotifier<1>")._as(N.InheritedElement.prototype.get$widget.call(_this)).notifier,
        newNotifier = newWidget.notifier;
      if (oldNotifier != newNotifier) {
        if (oldNotifier != null)
          oldNotifier.removeListener$1(0, _this.get$_handleUpdate());
        if (newNotifier != null)
          newNotifier.addListener$1(0, _this.get$_handleUpdate());
      }
      _this.super$ProxyElement$update(0, newWidget);
    },
    build$0: function(_) {
      var _this = this;
      if (_this._inherited_notifier$_dirty) {
        _this.super$InheritedElement$notifyClients(_this.$ti._eval$1("InheritedNotifier<1>")._as(N.InheritedElement.prototype.get$widget.call(_this)));
        _this._inherited_notifier$_dirty = false;
      }
      return _this.super$ProxyElement$build(0);
    },
    _handleUpdate$0: function() {
      this._inherited_notifier$_dirty = true;
      this.markNeedsBuild$0();
    },
    notifyClients$1: function(oldWidget) {
      this.super$InheritedElement$notifyClients(oldWidget);
      this._inherited_notifier$_dirty = false;
    },
    unmount$0: function() {
      var _this = this,
        t1 = _this.$ti._eval$1("InheritedNotifier<1>")._as(N.InheritedElement.prototype.get$widget.call(_this)).notifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_handleUpdate());
      _this.super$Element$unmount();
    }
  };
  M.InheritedTheme.prototype = {};
  M.InheritedTheme_capture_closure.prototype = {
    call$1: function(ancestor) {
      var theme, themeType, t1;
      if (ancestor.$eq(0, this.to))
        return false;
      if (ancestor instanceof N.InheritedElement && ancestor.get$widget() instanceof M.InheritedTheme) {
        theme = type$.InheritedTheme._as(ancestor.get$widget());
        themeType = J.get$runtimeType$(theme);
        t1 = this.themeTypes;
        if (!t1.contains$1(0, themeType)) {
          t1.add$1(0, themeType);
          this.themes.push(theme);
        }
      }
      return true;
    },
    $signature: 29
  };
  M.CapturedThemes.prototype = {};
  M._CaptureAll.prototype = {
    build$1: function(_, context) {
      var t1, t2, _i,
        wrappedChild = this.child;
      for (t1 = this.themes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        wrappedChild = t1[_i].wrap$2(0, context, wrappedChild);
      return wrappedChild;
    }
  };
  A.ConstrainedLayoutBuilder.prototype = {
    createElement$0: function(_) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new A._LayoutBuilderElement(t1, this, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2), H._instanceType(this)._eval$1("_LayoutBuilderElement<ConstrainedLayoutBuilder.0>"));
    }
  };
  A._LayoutBuilderElement.prototype = {
    get$widget: function() {
      return this.$ti._eval$1("ConstrainedLayoutBuilder<1>")._as(N.RenderObjectElement.prototype.get$widget.call(this));
    },
    get$renderObject: function() {
      return this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(N.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    visitChildren$1: function(visitor) {
      var t1 = this._layout_builder$_child;
      if (t1 != null)
        visitor.call$1(t1);
    },
    forgetChild$1: function(child) {
      this._layout_builder$_child = null;
      this.super$Element$forgetChild(child);
    },
    mount$2: function($parent, newSlot) {
      var _this = this;
      _this.super$RenderObjectElement$mount($parent, newSlot);
      _this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(N.RenderObjectElement.prototype.get$renderObject.call(_this)).updateCallback$1(_this.get$_layout());
    },
    update$1: function(_, newWidget) {
      var t1, _this = this;
      _this.super$RenderObjectElement$update(0, newWidget);
      t1 = _this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>");
      t1._as(N.RenderObjectElement.prototype.get$renderObject.call(_this)).updateCallback$1(_this.get$_layout());
      t1 = t1._as(N.RenderObjectElement.prototype.get$renderObject.call(_this));
      t1.RenderConstrainedLayoutBuilder__needsBuild = true;
      t1.markNeedsLayout$0();
    },
    performRebuild$0: function() {
      var t1 = this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(N.RenderObjectElement.prototype.get$renderObject.call(this));
      t1.RenderConstrainedLayoutBuilder__needsBuild = true;
      t1.markNeedsLayout$0();
      this.super$RenderObjectElement$performRebuild();
    },
    unmount$0: function() {
      this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(N.RenderObjectElement.prototype.get$renderObject.call(this)).updateCallback$1(null);
      this.super$RenderObjectElement$unmount();
    },
    _layout$1: function(constraints) {
      this._owner.buildScope$2(this, new A._LayoutBuilderElement__layout_layoutCallback(this, constraints));
    },
    insertRenderObjectChild$2: function(child, slot) {
      this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(N.RenderObjectElement.prototype.get$renderObject.call(this)).set$child(child);
    },
    moveRenderObjectChild$3: function(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2: function(child, slot) {
      this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(N.RenderObjectElement.prototype.get$renderObject.call(this)).set$child(null);
    }
  };
  A._LayoutBuilderElement__layout_layoutCallback.prototype = {
    call$0: function() {
      var e, stack, e0, stack0, t1, t2, t3, exception, built0, _this = this, built = null;
      try {
        t1 = _this.$this;
        t2 = t1.$ti._eval$1("ConstrainedLayoutBuilder<1>");
        t3 = t2._as(N.RenderObjectElement.prototype.get$widget.call(t1));
        t3.toString;
        built = t3.builder.call$2(t1, _this.constraints);
        t2._as(N.RenderObjectElement.prototype.get$widget.call(t1));
      } catch (exception) {
        e = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        t1 = _this.$this;
        built0 = N.ErrorWidget__defaultErrorWidgetBuilder(A._debugReportException0(U.ErrorDescription$("building " + H.S(t1.$ti._eval$1("ConstrainedLayoutBuilder<1>")._as(N.RenderObjectElement.prototype.get$widget.call(t1)))), 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 = H.unwrapException(exception);
        stack0 = H.getTraceFromException(exception);
        t1 = _this.$this;
        built0 = N.ErrorWidget__defaultErrorWidgetBuilder(A._debugReportException0(U.ErrorDescription$("building " + H.S(t1.$ti._eval$1("ConstrainedLayoutBuilder<1>")._as(N.RenderObjectElement.prototype.get$widget.call(t1)))), 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: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError;
        return function $async$call$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
                $async$goto = 2;
                return K.DiagnosticsDebugCreator$(new N.DebugCreator($async$self.$this));
              case 2:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  A._LayoutBuilderElement__layout_layoutCallback_closure0.prototype = {
    call$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError;
        return function $async$call$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
                $async$goto = 2;
                return K.DiagnosticsDebugCreator$(new N.DebugCreator($async$self.$this));
              case 2:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  A.RenderConstrainedLayoutBuilder.prototype = {
    updateCallback$1: function(value) {
      if (J.$eq$(value, this.RenderConstrainedLayoutBuilder__callback))
        return;
      this.RenderConstrainedLayoutBuilder__callback = value;
      this.markNeedsLayout$0();
    }
  };
  A.LayoutBuilder.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new A._RenderLayoutBuilder(null, true, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      return t1;
    }
  };
  A._RenderLayoutBuilder.prototype = {
    computeMinIntrinsicWidth$1: function(height) {
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      return 0;
    },
    computeMinIntrinsicHeight$1: function(width) {
      return 0;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return 0;
    },
    computeDryLayout$1: function(constraints) {
      return C.Size_0_0;
    },
    performLayout$0: function() {
      var _this = this,
        t1 = type$.BoxConstraints,
        constraints = t1._as(K.RenderObject.prototype.get$constraints.call(_this));
      if (_this.RenderConstrainedLayoutBuilder__needsBuild || !J.$eq$(t1._as(K.RenderObject.prototype.get$constraints.call(_this)), _this.RenderConstrainedLayoutBuilder__previousConstraints)) {
        _this.RenderConstrainedLayoutBuilder__previousConstraints = t1._as(K.RenderObject.prototype.get$constraints.call(_this));
        _this.RenderConstrainedLayoutBuilder__needsBuild = false;
        t1 = _this.RenderConstrainedLayoutBuilder__callback;
        t1.toString;
        _this.invokeLayoutCallback$1$1(t1, H._instanceType(_this)._eval$1("RenderConstrainedLayoutBuilder.0"));
      }
      t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1.layout$2$parentUsesSize(0, constraints, true);
        t1 = _this.RenderObjectWithChildMixin__child._box$_size;
        t1.toString;
        _this._box$_size = constraints.constrain$1(t1);
      } else
        _this._box$_size = new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    computeDistanceToActualBaseline$1: function(baseline) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1.getDistanceToActualBaseline$1(baseline);
      return this.super$RenderBox$computeDistanceToActualBaseline(baseline);
    },
    hitTestChildren$2$position: function(result, position) {
      var t1 = this.RenderObjectWithChildMixin__child;
      t1 = t1 == null ? null : t1.hitTest$2$position(result, position);
      return t1 === true;
    },
    paint$2: function(context, offset) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        context.paintChild$2(t1, offset);
    }
  };
  A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin.prototype = {
    attach$1: function(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0: function(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder.prototype = {};
  L._Pending.prototype = {};
  L._loadAll_closure.prototype = {
    call$1: function(value) {
      return this._box_0.completedValue = value;
    },
    $signature: 43
  };
  L._loadAll_closure0.prototype = {
    call$1: function(p) {
      return p.futureValue;
    },
    $signature: 931
  };
  L._loadAll_closure1.prototype = {
    call$1: function(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, H.createRuntimeType(H._instanceType(t2.pendingList[i].delegate)._eval$1("LocalizationsDelegate.T")), t1.$index(values, i));
      return t3;
    },
    $signature: 932
  };
  L.LocalizationsDelegate.prototype = {
    toString$0: function(_) {
      return "LocalizationsDelegate[" + H.createRuntimeType(H._instanceType(this)._eval$1("LocalizationsDelegate.T")).toString$0(0) + "]";
    }
  };
  L._WidgetsLocalizationsDelegate.prototype = {
    isSupported$1: function(locale) {
      return true;
    },
    load$1: function(_, locale) {
      return new O.SynchronousFuture(C.C_DefaultWidgetsLocalizations, type$.SynchronousFuture_WidgetsLocalizations);
    },
    shouldReload$1: function(old) {
      return false;
    },
    toString$0: function(_) {
      return "DefaultWidgetsLocalizations.delegate(en_US)";
    }
  };
  L.DefaultWidgetsLocalizations.prototype = {$isWidgetsLocalizations: 1};
  L._LocalizationsScope.prototype = {
    updateShouldNotify$1: function(old) {
      var t1 = this.typeToResources,
        t2 = old.typeToResources;
      return t1 == null ? t2 != null : t1 !== t2;
    }
  };
  L.Localizations.prototype = {
    createState$0: function() {
      return new L._LocalizationsState(new N.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), P.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.dynamic), C._StateLifecycle_0);
    }
  };
  L._LocalizationsState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.load$1(0, this._widget.locale);
    },
    _anyDelegatesShouldReload$1: function(old) {
      var delegates, oldDelegates, i, delegate, oldDelegate,
        t1 = this._widget.delegates,
        t2 = old.delegates;
      if (t1.length !== t2.length)
        return true;
      delegates = H._setArrayType(t1.slice(0), H._arrayInstanceType(t1));
      oldDelegates = H._setArrayType(t2.slice(0), H._arrayInstanceType(t2));
      for (i = 0; i < delegates.length; ++i) {
        delegate = delegates[i];
        oldDelegate = oldDelegates[i];
        if (J.get$runtimeType$(delegate) === J.get$runtimeType$(oldDelegate)) {
          delegate.shouldReload$1(oldDelegate);
          t1 = false;
        } else
          t1 = true;
        if (t1)
          return true;
      }
      return false;
    },
    didUpdateWidget$1: function(old) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(old);
      if (J.$eq$(_this._widget.locale, old.locale)) {
        _this._widget.toString;
        t1 = _this._anyDelegatesShouldReload$1(old);
      } else
        t1 = true;
      if (t1)
        _this.load$1(0, _this._widget.locale);
    },
    load$1: function(_, 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 = L._loadAll(locale, delegates).then$1$1(0, new L._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(0, new L._LocalizationsState_load_closure0(_this, locale), type$.void);
      }
    },
    get$_localizations$_textDirection: function() {
      type$.WidgetsLocalizations._as(J.$index$asx(this._typeToResources, C.Type_WidgetsLocalizations_43h)).toString;
      return C.TextDirection_1;
    },
    build$1: function(_, context) {
      var t1, t2, t3, _this = this, _null = null;
      if (_this._localizations$_locale == null)
        return M.Container$(_null, _null, C.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();
      return T.Semantics$(_null, _null, new L._LocalizationsScope(_this, t2, T.Directionality$(_this._widget.child, t3), _this._localizedResourcesScopeKey), false, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t1, _null, _null);
    }
  };
  L._LocalizationsState_load_closure.prototype = {
    call$1: function(value) {
      return this._box_0.typeToResources = value;
    },
    $signature: 933
  };
  L._LocalizationsState_load_closure0.prototype = {
    call$1: function(value) {
      var t1 = this.$this;
      if (t1._framework$_element != null)
        t1.setState$1(new L._LocalizationsState_load__closure(t1, value, this.locale));
      $.RendererBinding__instance.allowFirstFrame$0();
    },
    $signature: 934
  };
  L._LocalizationsState_load__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._typeToResources = this.value;
      t1._localizations$_locale = this.locale;
    },
    $signature: 0
  };
  F.Orientation.prototype = {
    toString$0: function(_) {
      return this._media_query$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.MediaQueryData.prototype = {
    copyWith$3$padding$platformBrightness$textScaleFactor: function(padding, platformBrightness, textScaleFactor) {
      var _this = this,
        t1 = textScaleFactor == null ? _this.textScaleFactor : textScaleFactor,
        t2 = padding == null ? _this.padding : padding;
      return new F.MediaQueryData(_this.size, _this.devicePixelRatio, t1, _this.platformBrightness, _this.viewInsets, t2, _this.viewPadding, _this.systemGestureInsets, false, _this.accessibleNavigation, _this.invertColors, _this.highContrast, _this.disableAnimations, _this.boldText, _this.navigationMode);
    },
    copyWith$1$platformBrightness: function(platformBrightness) {
      return this.copyWith$3$padding$platformBrightness$textScaleFactor(null, platformBrightness, null);
    },
    copyWith$1$padding: function(padding) {
      return this.copyWith$3$padding$platformBrightness$textScaleFactor(padding, null, null);
    },
    copyWith$1$textScaleFactor: function(textScaleFactor) {
      return this.copyWith$3$padding$platformBrightness$textScaleFactor(null, null, textScaleFactor);
    },
    removePadding$4$removeBottom$removeLeft$removeRight$removeTop: function(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 new F.MediaQueryData(_this.size, _this.devicePixelRatio, _this.textScaleFactor, _this.platformBrightness, _this.viewInsets, t2, t3.copyWith$4$bottom$left$right$top(removeBottom ? Math.max(0, t3.bottom - t1.bottom) : _null, t4, t6, t5), C.EdgeInsets_0_0_0_0, false, _this.accessibleNavigation, _this.invertColors, _this.highContrast, _this.disableAnimations, _this.boldText, C.NavigationMode_0);
    },
    removeViewInsets$4$removeBottom$removeLeft$removeRight$removeTop: function(removeBottom, removeLeft, removeRight, removeTop) {
      var t1, t2, t3, t4, t5, _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;
      t1 = t1.copyWith$4$bottom$left$right$top(Math.max(0, t1.bottom - t5.bottom), t2, t4, t3);
      t2 = removeLeft ? 0 : _null;
      t3 = removeTop ? 0 : _null;
      t4 = removeRight ? 0 : _null;
      return new F.MediaQueryData(_this.size, _this.devicePixelRatio, _this.textScaleFactor, _this.platformBrightness, t5.copyWith$4$bottom$left$right$top(0, t2, t4, t3), _this.padding, t1, C.EdgeInsets_0_0_0_0, false, _this.accessibleNavigation, _this.invertColors, _this.highContrast, _this.disableAnimations, _this.boldText, C.NavigationMode_0);
    },
    removeViewInsets$1$removeBottom: function(removeBottom) {
      return this.removeViewInsets$4$removeBottom$removeLeft$removeRight$removeTop(removeBottom, false, false, false);
    },
    $eq: function(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(_this))
        return false;
      if (other instanceof F.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;
                    else
                      t1 = false;
                  else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode: function(_) {
      var _this = this;
      return P.hashValues(_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, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    },
    toString$0: function(_) {
      var _this = this;
      return "MediaQueryData(" + C.JSArray_methods.join$1(H._setArrayType(["size: " + _this.size.toString$0(0), "devicePixelRatio: " + C.JSNumber_methods.toStringAsFixed$1(_this.devicePixelRatio, 1), "textScaleFactor: " + C.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: " + Y.describeEnum(_this.navigationMode)], type$.JSArray_String), ", ") + ")";
    }
  };
  F.MediaQuery.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return !this.data.$eq(0, oldWidget.data);
    }
  };
  F.NavigationMode.prototype = {
    toString$0: function(_) {
      return this._media_query$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  X.ModalBarrier.prototype = {
    build$1: function(_, context) {
      var platformSupportsDismissingBarrier, semanticsDismissible, t1, t2, t3, t4, t5, t6, _this = this, _null = null;
      switch (U.defaultTargetPlatform()) {
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          platformSupportsDismissingBarrier = false;
          break;
        case C.TargetPlatform_2:
        case C.TargetPlatform_4:
          platformSupportsDismissingBarrier = true;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      semanticsDismissible = _this.dismissible && platformSupportsDismissingBarrier;
      t1 = new X.ModalBarrier_build_handleDismiss(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;
      return T.BlockSemantics$(new T.ExcludeSemantics(t2, new X._ModalBarrierGestureDetector(T.Semantics$(_null, _null, new T.MouseRegion(_null, _null, _null, C.SystemMouseCursor_basic, true, new T.ConstrainedBox(C.BoxConstraints_ALM, t6 == null ? _null : new T.ColoredBox(t6, _null, _null), _null), _null), false, _null, _null, false, _null, _null, _null, _null, t3, _null, _null, _null, _null, _null, _null, t4, _null, _null, _null, _null, _null, _null, _null, t5, _null, _null), new X.ModalBarrier_build_closure(_this, t1), _null), _null));
    }
  };
  X.ModalBarrier_build_handleDismiss.prototype = {
    call$0: function() {
      K.Navigator_maybePop(this.context);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  X.ModalBarrier_build_closure.prototype = {
    call$0: function() {
      if (this.$this.dismissible)
        this.handleDismiss.call$0();
      else
        V.SystemSound_play(C.SystemSoundType_1);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  X.AnimatedModalBarrier.prototype = {
    build$1: function(_, context) {
      var t1 = type$.Animation_nullable_Color._as(this.listenable);
      return new X.ModalBarrier(t1.get$value(t1), this.dismissible, true, this.semanticsLabel, null);
    }
  };
  X._AnyTapGestureRecognizer.prototype = {
    isPointerAllowed$1: function($event) {
      if (this.onAnyTapUp == null)
        return false;
      return this.super$GestureRecognizer$isPointerAllowed($event);
    },
    handleTapDown$1$down: function(down) {
    },
    handleTapUp$2$down$up: function(down, up) {
      var t1 = this.onAnyTapUp;
      if (t1 != null)
        t1.call$0();
    },
    handleTapCancel$3$cancel$down$reason: function(cancel, down, reason) {
    }
  };
  X._ModalBarrierSemanticsDelegate.prototype = {
    assignSemantics$1: function(renderObject) {
      renderObject.set$onTap(this.onDismiss);
    }
  };
  X._AnyTapGestureRecognizerFactory.prototype = {
    constructor$0: function(_) {
      var t1 = type$.int,
        t2 = P.HashSet_HashSet(t1);
      return new X._AnyTapGestureRecognizer(C.Duration_100000, 18, C.GestureRecognizerState_0, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, null, null, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    initializer$1: function(instance) {
      instance.onAnyTapUp = this.onAnyTapUp;
    }
  };
  X._ModalBarrierGestureDetector.prototype = {
    build$1: function(_, context) {
      var t1 = this.onDismiss;
      return new D.RawGestureDetector(this.child, P.LinkedHashMap_LinkedHashMap$_literal([C.Type__AnyTapGestureRecognizer_5RQ, new X._AnyTapGestureRecognizerFactory(t1)], type$.Type, type$.GestureRecognizerFactory_GestureRecognizer), C.HitTestBehavior_1, false, new X._ModalBarrierSemanticsDelegate(t1), null);
    }
  };
  E.NavigationToolbar.prototype = {
    build$1: function(_, context) {
      var t2, t3, _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t2 = H._setArrayType([], type$.JSArray_Widget);
      t3 = _this.leading;
      if (t3 != null)
        t2.push(T.LayoutId$(t3, C._ToolbarSlot_0));
      t3 = _this.middle;
      if (t3 != null)
        t2.push(T.LayoutId$(t3, C._ToolbarSlot_1));
      t3 = _this.trailing;
      if (t3 != null)
        t2.push(T.LayoutId$(t3, C._ToolbarSlot_2));
      return new T.CustomMultiChildLayout(new E._ToolbarLayout(_this.centerMiddle, _this.middleSpacing, t1.textDirection), t2, null);
    }
  };
  E._ToolbarSlot.prototype = {
    toString$0: function(_) {
      return this._navigation_toolbar$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  E._ToolbarLayout.prototype = {
    performLayout$1: function(size) {
      var t1, t2, leadingWidth, leadingX, trailingSize, trailingX, trailingWidth, maxWidth, middleSize, middleStartMargin, t3, t4, middleStart, t5, middleX, _this = this,
        _s80_ = string$.x60null_c;
      if (_this._idToChild.$index(0, C._ToolbarSlot_0) != null) {
        t1 = size._dx;
        t2 = size._dy;
        leadingWidth = _this.layoutChild$2(C._ToolbarSlot_0, new S.BoxConstraints(0, t1 / 3, t2, t2))._dx;
        switch (_this.textDirection) {
          case C.TextDirection_0:
            leadingX = t1 - leadingWidth;
            break;
          case C.TextDirection_1:
            leadingX = 0;
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        _this.positionChild$2(C._ToolbarSlot_0, new P.Offset(leadingX, 0));
      } else
        leadingWidth = 0;
      if (_this._idToChild.$index(0, C._ToolbarSlot_2) != null) {
        trailingSize = _this.layoutChild$2(C._ToolbarSlot_2, S.BoxConstraints$loose(size));
        switch (_this.textDirection) {
          case C.TextDirection_0:
            trailingX = 0;
            break;
          case C.TextDirection_1:
            trailingX = size._dx - trailingSize._dx;
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        t1 = size._dy;
        t2 = trailingSize._dy;
        trailingWidth = trailingSize._dx;
        _this.positionChild$2(C._ToolbarSlot_2, new P.Offset(trailingX, (t1 - t2) / 2));
      } else
        trailingWidth = 0;
      if (_this._idToChild.$index(0, C._ToolbarSlot_1) != null) {
        t1 = size._dx;
        t2 = _this.middleSpacing;
        maxWidth = Math.max(t1 - leadingWidth - trailingWidth - t2 * 2, 0);
        middleSize = _this.layoutChild$2(C._ToolbarSlot_1, S.BoxConstraints$loose(size).copyWith$1$maxWidth(maxWidth));
        middleStartMargin = leadingWidth + t2;
        t2 = size._dy;
        t3 = middleSize._dy;
        if (_this.centerMiddle) {
          t4 = middleSize._dx;
          middleStart = (t1 - t4) / 2;
          t5 = t1 - trailingWidth;
          if (middleStart + t4 > t5)
            middleStart = t5 - t4;
          else if (middleStart < middleStartMargin)
            middleStart = middleStartMargin;
        } else
          middleStart = middleStartMargin;
        switch (_this.textDirection) {
          case C.TextDirection_0:
            middleX = t1 - middleSize._dx - middleStart;
            break;
          case C.TextDirection_1:
            middleX = middleStart;
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(_s80_));
        }
        _this.positionChild$2(C._ToolbarSlot_1, new P.Offset(middleX, (t2 - t3) / 2));
      }
    },
    shouldRelayout$1: function(oldDelegate) {
      return oldDelegate.centerMiddle != this.centerMiddle || oldDelegate.middleSpacing !== this.middleSpacing || oldDelegate.textDirection !== this.textDirection;
    }
  };
  K.RoutePopDisposition.prototype = {
    toString$0: function(_) {
      return this._navigator$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  K.Route.prototype = {
    get$overlayEntries: function() {
      return C.List_empty7;
    },
    install$0: function() {
    },
    didPush$0: function() {
      var t1 = M.TickerFuture$complete();
      t1.then$1$1(0, new K.Route_didPush_closure(this), type$.void);
      return t1;
    },
    didAdd$0: function() {
      M.TickerFuture$complete().then$1$1(0, new K.Route_didAdd_closure(this), type$.void);
    },
    didReplace$1: function(oldRoute) {
    },
    willPop$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.RoutePopDisposition),
        $async$returnValue, $async$self = this;
      var $async$willPop$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = $async$self.get$isFirst() ? C.RoutePopDisposition_2 : C.RoutePopDisposition_0;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$willPop$0, $async$completer);
    },
    didPop$1: function(result) {
      this.didComplete$1(result);
      return true;
    },
    didComplete$1: function(result) {
      var t1 = result == null ? null : result;
      this._popCompleter.complete$1(0, t1);
    },
    didPopNext$1: function(nextRoute) {
    },
    didChangeNext$1: function(nextRoute) {
    },
    didChangePrevious$1: function(previousRoute) {
    },
    changedInternalState$0: function() {
    },
    changedExternalState$0: function() {
    },
    dispose$0: function(_) {
      this._navigator$_navigator = null;
    },
    get$isCurrent: function() {
      var currentRouteEntry,
        t1 = this._navigator$_navigator;
      if (t1 == null)
        return false;
      t1 = t1._history;
      t1 = new H.CastList(t1, H._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
      currentRouteEntry = t1.lastWhere$2$orElse(t1, new K.Route_isCurrent_closure(), new K.Route_isCurrent_closure0());
      if (currentRouteEntry == null)
        return false;
      return currentRouteEntry.route === this;
    },
    get$isFirst: function() {
      var currentRouteEntry,
        t1 = this._navigator$_navigator;
      if (t1 == null)
        return false;
      t1 = t1._history;
      t1 = new H.CastList(t1, H._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
      currentRouteEntry = t1.firstWhere$2$orElse(t1, new K.Route_isFirst_closure(), new K.Route_isFirst_closure0());
      if (currentRouteEntry == null)
        return false;
      return currentRouteEntry.route === this;
    },
    get$hasActiveRouteBelow: function() {
      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 <= 9 && t3 >= 1)
          return true;
      }
      return false;
    },
    get$isActive: function() {
      var t1 = this._navigator$_navigator;
      if (t1 == null)
        return false;
      t1 = t1._history;
      t1 = new H.CastList(t1, H._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
      t1 = t1.firstWhere$2$orElse(t1, new K.Route_isActive_closure(this), new K.Route_isActive_closure0());
      return (t1 == null ? null : t1.get$isPresent()) === true;
    }
  };
  K.Route_didPush_closure.prototype = {
    call$1: function(_) {
      var t1 = this.$this._navigator$_navigator;
      if (t1 != null)
        t1.focusScopeNode.requestFocus$0();
    },
    $signature: 23
  };
  K.Route_didAdd_closure.prototype = {
    call$1: function(_) {
      var t1 = this.$this._navigator$_navigator;
      if (t1 != null)
        t1.focusScopeNode.requestFocus$0();
    },
    $signature: 23
  };
  K.Route_isCurrent_closure.prototype = {
    call$1: function(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 57
  };
  K.Route_isCurrent_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  K.Route_isFirst_closure.prototype = {
    call$1: function(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 57
  };
  K.Route_isFirst_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  K.Route_isActive_closure.prototype = {
    call$1: function(e) {
      return e != null && K._RouteEntry_isRoutePredicate(this.$this).call$1(e);
    },
    $signature: 57
  };
  K.Route_isActive_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  K.RouteSettings.prototype = {
    toString$0: function(_) {
      return 'RouteSettings("' + H.S(this.name) + '", ' + H.S(this.$arguments) + ")";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  K.Page.prototype = {
    toString$0: function(_) {
      return 'Page("' + H.S(this.name) + '", ' + H.S(this.key) + ", " + H.S(this.$arguments) + ")";
    }
  };
  K.NavigatorObserver.prototype = {};
  K.HeroControllerScope.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return oldWidget.controller != this.controller;
    }
  };
  K.RouteTransitionRecord.prototype = {};
  K.TransitionDelegate.prototype = {};
  K.DefaultTransitionDelegate.prototype = {
    resolve$3$locationToExitingPageRoute$newPageRouteHistory$pageRouteToPagelessRoutes: function(locationToExitingPageRoute, newPageRouteHistory, pageRouteToPagelessRoutes) {
      var t1, _i, pageRoute, isLastIteration,
        results = H._setArrayType([], type$.JSArray_RouteTransitionRecord),
        handleExitingRoute = new K.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, H.throwConcurrentModificationError)(newPageRouteHistory), ++_i) {
        pageRoute = newPageRouteHistory[_i];
        isLastIteration = C.JSArray_methods.get$last(newPageRouteHistory) === pageRoute;
        if (pageRoute.currentState === C._RouteLifecycle_0)
          if (!locationToExitingPageRoute.containsKey$1(0, pageRoute) && isLastIteration)
            pageRoute.currentState = C._RouteLifecycle_3;
          else
            pageRoute.currentState = C._RouteLifecycle_1;
        results.push(pageRoute);
        handleExitingRoute.call$2(pageRoute, isLastIteration);
      }
      return results;
    }
  };
  K.DefaultTransitionDelegate_resolve_handleExitingRoute.prototype = {
    call$2: function($location, isLast) {
      var t2, hasPagelessRoute, isLastExitingPageRoute, t3, t4, t5, t6, _this = this, _null = null,
        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);
        t1 = isLastExitingPageRoute && !hasPagelessRoute;
        t3 = exitingPageRoute.route;
        if (t1) {
          t3.toString;
          exitingPageRoute.pop$1(0, _null);
          exitingPageRoute._isWaitingForExitingDecision = false;
        } else {
          t3.toString;
          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) {
                t5 = t2.get$last(t1);
                t5 = t4 == null ? t5 == null : t4 === t5;
              } else
                t5 = false;
              t6 = t4.route;
              if (t5) {
                t6.toString;
                t4.doingPop = true;
                if (t6.didPop$1(_null) && t4.doingPop)
                  t4.currentState = C._RouteLifecycle_8;
                t4._isWaitingForExitingDecision = t4.doingPop = false;
              } else {
                t6.toString;
                t4.complete$1(0, _null);
                t4._isWaitingForExitingDecision = false;
              }
            }
          }
        }
      }
      _this.results.push(exitingPageRoute);
      _this.call$2(exitingPageRoute, isLast);
    },
    $signature: 936
  };
  K.Navigator.prototype = {
    createState$0: function() {
      var _null = null,
        t1 = type$.nullable_void_Function,
        t2 = type$._NavigatorObservation;
      return new K.NavigatorState(H._setArrayType([], type$.JSArray__RouteEntry), new K._HistoryProperty(P.List_List$filled(0, _null, false, t1)), P.ListQueue$(_null, t2), P.ListQueue$(_null, t2), O.FocusScopeNode$(true, "Navigator Scope", false), new U.RestorableNum(0, P.List_List$filled(0, _null, false, t1), type$.RestorableNum_int), new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_bool), P.LinkedHashSet_LinkedHashSet$_empty(type$.int), _null, P.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), _null, true, _null, _null, C._StateLifecycle_0);
    },
    onGenerateInitialRoutes$2: function(arg0, arg1) {
      return this.onGenerateInitialRoutes.call$2(arg0, arg1);
    }
  };
  K.Navigator_defaultGenerateInitialRoutes_closure.prototype = {
    call$1: function(route) {
      return route == null;
    },
    $signature: 937
  };
  K._RouteLifecycle.prototype = {
    toString$0: function(_) {
      return this._navigator$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  K._NotAnnounced.prototype = {};
  K._RouteEntry.prototype = {
    get$restorationId: function() {
      if (this.route._settings instanceof K.Page)
        return null;
      var t1 = this.restorationInformation;
      if (t1 != null)
        return "r+" + H.S(t1.get$restorationScopeId());
      return null;
    },
    canUpdateFrom$1: function(page) {
      var t1;
      if (this.currentState.index > 7)
        return false;
      t1 = this.route._settings;
      if (!(t1 instanceof K.Page))
        return false;
      page.toString;
      return t1.get$runtimeType(t1) === H.getRuntimeType(page) && true;
    },
    handlePush$4$isNewFirst$navigator$previous$previousPresent: function(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 === C._RouteLifecycle_3 || t2 === C._RouteLifecycle_4) {
        routeFuture = t1.didPush$0();
        _this.currentState = C._RouteLifecycle_5;
        routeFuture.whenCompleteOrCancel$1(new K._RouteEntry_handlePush_closure(_this, $navigator));
      } else {
        t1.didReplace$1(previous);
        _this.currentState = C._RouteLifecycle_7;
      }
      if (isNewFirst)
        t1.didChangeNext$1(null);
      t2 = previousState === C._RouteLifecycle_6 || previousState === C._RouteLifecycle_4;
      t3 = $navigator._observedRouteAdditions;
      if (t2)
        t3._add$1(0, new K._NavigatorReplaceObservation(t1, previousPresent));
      else
        t3._add$1(0, new K._NavigatorPushObservation(t1, previousPresent));
    },
    pop$1$1: function(_, result) {
      var _this = this;
      _this.doingPop = true;
      if (_this.route.didPop$1(result) && _this.doingPop)
        _this.currentState = C._RouteLifecycle_8;
      _this.doingPop = false;
    },
    pop$1: function($receiver, result) {
      return this.pop$1$1($receiver, result, type$.dynamic);
    },
    remove$0: function(_) {
      if (this.currentState.index >= 9)
        return;
      this._reportRemovalToObserver = true;
      this.currentState = C._RouteLifecycle_9;
    },
    complete$1$1: function(_, result) {
      var _this = this;
      if (_this.currentState.index >= 9)
        return;
      _this._reportRemovalToObserver = true;
      _this.route.didComplete$1(result);
      _this.currentState = C._RouteLifecycle_9;
    },
    complete$1: function($receiver, result) {
      return this.complete$1$1($receiver, result, type$.dynamic);
    },
    dispose$0: function(_) {
      var t1, t2, t3, t4, mountedEntries, listener, _box_0 = {};
      this.currentState = C._RouteLifecycle_13;
      t1 = this.route;
      t2 = t1.get$overlayEntries();
      t3 = new K._RouteEntry_dispose_closure();
      t4 = H._arrayInstanceType(t2);
      mountedEntries = new H.WhereIterable(t2, t3, t4._eval$1("WhereIterable<1>"));
      if (!mountedEntries.get$iterator(mountedEntries).moveNext$0())
        t1.dispose$0(0);
      else {
        _box_0.mounted = mountedEntries.get$length(mountedEntries);
        for (t1 = C.JSArray_methods.get$iterator(t2), t4 = new H.WhereIterator(t1, t3, t4._eval$1("WhereIterator<1>")); t4.moveNext$0();) {
          t2 = t1.get$current(t1);
          listener = H._Cell$named("listener");
          t3 = new K._RouteEntry_dispose_closure0(_box_0, this, t2, listener);
          listener.__late_helper$_value = t3;
          t2.addListener$1(0, t3);
        }
      }
    },
    get$isPresent: function() {
      var t1 = this.currentState.index;
      return t1 <= 9 && t1 >= 1;
    }
  };
  K._RouteEntry_handlePush_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (t1.currentState === C._RouteLifecycle_5) {
        t1.currentState = C._RouteLifecycle_7;
        this.navigator._flushHistoryUpdates$0();
      }
    },
    $signature: 0
  };
  K._RouteEntry_dispose_closure.prototype = {
    call$1: function(e) {
      return e._overlay$_mounted;
    },
    $signature: 938
  };
  K._RouteEntry_dispose_closure0.prototype = {
    call$0: function() {
      var _this = this,
        t1 = _this._box_0;
      --t1.mounted;
      _this.entry.removeListener$1(0, _this.listener._readLocal$0());
      if (t1.mounted === 0)
        _this.$this.route.dispose$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  K._RouteEntry_isRoutePredicate_closure.prototype = {
    call$1: function(entry) {
      return entry.route === this.route;
    },
    $signature: 92
  };
  K._NavigatorObservation.prototype = {};
  K._NavigatorPushObservation.prototype = {
    notify$1: function(observer) {
      observer._maybeStartHeroTransition$4(this.secondaryRoute, this.primaryRoute, C.HeroFlightDirection_0, false);
    }
  };
  K._NavigatorPopObservation.prototype = {
    notify$1: function(observer) {
      if (!observer._navigator$_navigator.userGestureInProgressNotifier._value)
        observer._maybeStartHeroTransition$4(this.primaryRoute, this.secondaryRoute, C.HeroFlightDirection_1, false);
    }
  };
  K._NavigatorRemoveObservation.prototype = {
    notify$1: function(observer) {
      observer.toString;
    }
  };
  K._NavigatorReplaceObservation.prototype = {
    notify$1: function(observer) {
      var t1 = this.primaryRoute;
      observer.toString;
      if ((t1 == null ? null : t1.get$isCurrent()) === true)
        observer._maybeStartHeroTransition$4(this.secondaryRoute, t1, C.HeroFlightDirection_0, false);
    }
  };
  K.NavigatorState.prototype = {
    get$_overlayKey: function() {
      var t1 = this.__NavigatorState__overlayKey;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_overlayKey")) : t1;
    },
    get$_effectiveObservers: function() {
      var t1 = this.__NavigatorState__effectiveObservers;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_effectiveObservers")) : t1;
    },
    initState$0: function() {
      var t1, _i, _this = this;
      _this.super$State$initState();
      for (t1 = _this._widget.observers, t1.length, _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)
        C.OptionalMethodChannel_urv.invokeMethod$1$1("selectSingleEntryHistory", type$.void);
    },
    restoreState$2: function(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;)
        J.dispose$0$x(t2.pop());
      _this.__NavigatorState__overlayKey = new N.LabeledGlobalKey(null, type$.LabeledGlobalKey_OverlayState);
      C.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, H.throwConcurrentModificationError)(t2), ++_i) {
        page = t2[_i];
        _this._framework$_element.toString;
        page.toString;
        t4 = V._PageBasedMaterialPageRoute$(page, page.$ti._precomputed1);
        t5 = $.$get$_RouteEntry_notAnnounced();
        entry = new K._RouteEntry(t4, null, C._RouteLifecycle_1, t5, t5, t5);
        _this._history.push(entry);
        C.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;
          C.JSArray_methods.addAll$1(t2, J.map$1$1$ax(t1.onGenerateInitialRoutes$2(_this, initialRoute == null ? "/" : initialRoute), new K.NavigatorState_restoreState_closure(_this), type$._RouteEntry));
        }
      }
      _this._flushHistoryUpdates$0();
    },
    didToggleBucket$1: function(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: function() {
      return this._widget.restorationScopeId;
    },
    didChangeDependencies$0: function() {
      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, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].route.changedExternalState$0();
    },
    _updateHeroController$1: function(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: function() {
      var _this = this,
        t1 = _this._heroControllerFromScope,
        t2 = _this._widget;
      if (t1 != null) {
        t2 = t2.observers;
        _this.__NavigatorState__effectiveObservers = (t2 && C.JSArray_methods).$add(t2, H._setArrayType([t1], type$.JSArray_NavigatorObserver));
      } else
        _this.__NavigatorState__effectiveObservers = t2.observers;
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _i, _this = this;
      _this.super$_NavigatorState_State_TickerProviderStateMixin_RestorationMixin$didUpdateWidget(oldWidget);
      t1 = oldWidget.observers;
      t2 = _this._widget.observers;
      if (t1 == null ? t2 != null : t1 !== t2) {
        for (t1.length, _i = 0; false; ++_i)
          t1[_i]._navigator$_navigator = null;
        for (t1 = _this._widget.observers, t1.length, _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, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].route.changedExternalState$0();
    },
    deactivate$0: function() {
      for (var t1 = J.get$iterator$ax(this.get$_effectiveObservers()); t1.moveNext$0();)
        t1.get$current(t1)._navigator$_navigator = null;
      this.super$State$deactivate();
    },
    activate$0: function() {
      this.super$State$activate();
      for (var t1 = J.get$iterator$ax(this.get$_effectiveObservers()); t1.moveNext$0();)
        t1.get$current(t1)._navigator$_navigator = this;
    },
    dispose$0: function(_) {
      var t1, t2, _i, _this = this;
      _this._updateHeroController$1(null);
      _this.focusScopeNode.dispose$0(0);
      for (t1 = _this._history, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        J.dispose$0$x(t1[_i]);
      _this.super$_NavigatorState_State_TickerProviderStateMixin_RestorationMixin$dispose(0);
    },
    get$_allRouteOverlayEntries: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, _i;
        return function $async$get$_allRouteOverlayEntries($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._history, t2 = t1.length, _i = 0;
              case 2:
                // for condition
                if (!(_i < t1.length)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                $async$goto = 5;
                return P._IterationMarker_yieldStar(t1[_i].route.get$overlayEntries());
              case 5:
                // after yield
              case 3:
                // for update
                t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.OverlayEntry);
    },
    _updatePages$0: function() {
      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 = H._setArrayType([], t1);
      pageRouteToPagelessRoutes = P.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 K.Page)) {
          J.add$1$ax(pageRouteToPagelessRoutes.putIfAbsent$2(0, previousOldPageRouteEntry, new K.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 K.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 K.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;
        nextPage.toString;
        t2 = _this._framework$_element;
        t2.toString;
        t2 = V._PageBasedMaterialPageRoute$(nextPage, nextPage.$ti._precomputed1);
        t3 = $.$get$_RouteEntry_notAnnounced();
        newHistory.push(new K._RouteEntry(t2, _null, C._RouteLifecycle_0, t3, t3, t3));
      }
      locationToExitingPageRoute = P.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 K.Page)) {
          J.add$1$ax(pageRouteToPagelessRoutes.putIfAbsent$2(0, previousOldPageRouteEntry, new K.NavigatorState__updatePages_closure0()), potentialEntryToRemove);
          if (previousOldPageRouteEntry._isWaitingForExitingDecision) {
            t2 = potentialEntryToRemove.currentState.index;
            t2 = t2 <= 9 && t2 >= 1;
          } else
            t2 = false;
          if (t2)
            potentialEntryToRemove._isWaitingForExitingDecision = true;
          continue;
        }
        locationToExitingPageRoute.$indexSet(0, previousOldPageRouteEntry, potentialEntryToRemove);
        t2 = potentialEntryToRemove.currentState.index;
        if (t2 <= 9 && 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 K.Page)) {
            J.add$1$ax(pageRouteToPagelessRoutes.putIfAbsent$2(0, previousOldPageRouteEntry, new K.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.get$isNotEmpty(locationToExitingPageRoute)) {
        _this._widget.toString;
        results = C.C_DefaultTransitionDelegate.resolve$3$locationToExitingPageRoute$newPageRouteHistory$pageRouteToPagelessRoutes(locationToExitingPageRoute, newHistory, pageRouteToPagelessRoutes);
        results = new H.CastList(results, H._arrayInstanceType(results)._eval$1("CastList<1,_RouteEntry>"));
      } else
        results = newHistory;
      _this._history = H._setArrayType([], t1);
      if (pageRouteToPagelessRoutes.containsKey$1(0, _null)) {
        t1 = _this._history;
        t2 = pageRouteToPagelessRoutes.$index(0, _null);
        t2.toString;
        C.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;
          C.JSArray_methods.addAll$1(t3, t2);
        }
      }
      _this._flushHistoryUpdates$0();
    },
    _flushHistoryUpdates$1$rearrangeOverlay: function(rearrangeOverlay) {
      var t2, poppedRoute, next, canRemoveOrAdd, seenTopActiveRoute, index0, t3, t4, previous0, lastEntry, routeName, _i, _i0, _this = this, _null = null,
        t1 = _this._history,
        index = t1.length - 1,
        entry = t1[index],
        previous = index > 0 ? t1[index - 1] : _null,
        toBeDisposed = H._setArrayType([], type$.JSArray__RouteEntry);
      for (t1 = _this._observedRouteDeletions, t2 = _this._observedRouteAdditions, poppedRoute = _null, next = poppedRoute, canRemoveOrAdd = false, seenTopActiveRoute = false; index >= 0;) {
        switch (entry.currentState) {
          case C._RouteLifecycle_1:
            index0 = _this._getIndexBefore$2(index - 1, K.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 = C._RouteLifecycle_2;
            t2._add$1(0, new K._NavigatorPushObservation(t4, t3));
            continue;
          case C._RouteLifecycle_2:
            if (canRemoveOrAdd || next == null) {
              t3 = entry.route;
              t3.didAdd$0();
              entry.currentState = C._RouteLifecycle_7;
              if (next == null)
                t3.didChangeNext$1(_null);
              continue;
            }
            break;
          case C._RouteLifecycle_3:
          case C._RouteLifecycle_4:
          case C._RouteLifecycle_6:
            t3 = previous == null ? _null : previous.route;
            index0 = _this._getIndexBefore$2(index - 1, K.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 === C._RouteLifecycle_7)
              continue;
            break;
          case C._RouteLifecycle_5:
            if (!seenTopActiveRoute && poppedRoute != null) {
              entry.route.didPopNext$1(poppedRoute);
              entry.lastAnnouncedPoppedNextRoute = poppedRoute;
            }
            seenTopActiveRoute = true;
            break;
          case C._RouteLifecycle_7:
            if (!seenTopActiveRoute && poppedRoute != null) {
              entry.route.didPopNext$1(poppedRoute);
              entry.lastAnnouncedPoppedNextRoute = poppedRoute;
            }
            canRemoveOrAdd = true;
            seenTopActiveRoute = true;
            break;
          case C._RouteLifecycle_8:
            if (!seenTopActiveRoute) {
              if (poppedRoute != null) {
                entry.route.didPopNext$1(poppedRoute);
                entry.lastAnnouncedPoppedNextRoute = poppedRoute;
              }
              poppedRoute = entry.route;
            }
            index0 = _this._getIndexBefore$2(index, K.navigator__RouteEntry_willBePresentPredicate$closure());
            t3 = index0 >= 0 ? _this._history[index0] : _null;
            t3 = t3 == null ? _null : t3.route;
            entry.currentState = C._RouteLifecycle_10;
            t1._add$1(0, new K._NavigatorPopObservation(entry.route, t3));
            canRemoveOrAdd = true;
            break;
          case C._RouteLifecycle_10:
            break;
          case C._RouteLifecycle_9:
            if (!seenTopActiveRoute) {
              if (poppedRoute != null)
                entry.route.didPopNext$1(poppedRoute);
              poppedRoute = _null;
            }
            index0 = _this._getIndexBefore$2(index, K.navigator__RouteEntry_willBePresentPredicate$closure());
            t3 = index0 >= 0 ? _this._history[index0] : _null;
            t3 = t3 == null ? _null : t3.route;
            entry.currentState = C._RouteLifecycle_11;
            if (entry._reportRemovalToObserver)
              t1._add$1(0, new K._NavigatorRemoveObservation(entry.route, t3));
            continue;
          case C._RouteLifecycle_11:
            if (!canRemoveOrAdd && next != null)
              break;
            entry.currentState = C._RouteLifecycle_12;
            continue;
          case C._RouteLifecycle_12:
            toBeDisposed.push(C.JSArray_methods.removeAt$1(_this._history, index));
            entry = next;
            break;
          case C._RouteLifecycle_13:
          case C._RouteLifecycle_0:
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
        --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 H.CastList(t1, H._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
        lastEntry = t1.lastWhere$2$orElse(t1, new K.NavigatorState__flushHistoryUpdates_closure(), new K.NavigatorState__flushHistoryUpdates_closure0());
        routeName = lastEntry == null ? _null : lastEntry.route._settings.name;
        if (routeName != null && routeName !== _this._lastAnnouncedRouteName) {
          M.SystemNavigator_routeInformationUpdated(routeName, _null);
          _this._lastAnnouncedRouteName = routeName;
        }
      }
      for (t1 = toBeDisposed.length, _i = 0; _i < toBeDisposed.length; toBeDisposed.length === t1 || (0, H.throwConcurrentModificationError)(toBeDisposed), ++_i) {
        entry = toBeDisposed[_i];
        for (t2 = entry.route.get$overlayEntries(), t3 = t2.length, _i0 = 0; _i0 < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i0)
          J.remove$0$ax(t2[_i0]);
        entry.dispose$0(0);
      }
      if (rearrangeOverlay) {
        t1 = _this.get$_overlayKey().get$currentState();
        if (t1 != null)
          t1.rearrange$1(_this.get$_allRouteOverlayEntries());
      }
      if (_this.RestorationMixin__bucket != null)
        _this._serializableHistory.update$1(0, _this._history);
    },
    _flushHistoryUpdates$0: function() {
      return this._flushHistoryUpdates$1$rearrangeOverlay(true);
    },
    _flushObserverNotifications$0: function() {
      var t1, observation, t2, _this = this,
        _s19_ = "_effectiveObservers";
      if (J.get$isEmpty$asx(_this.get$_effectiveObservers())) {
        _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 === $)
          t2 = H.throwExpression(H.LateError$fieldNI(_s19_));
        J.forEach$1$ax(t2, observation.get$notify());
      }
      for (t1 = _this._observedRouteDeletions; !t1.get$isEmpty(t1);) {
        observation = t1.removeFirst$0();
        t2 = _this.__NavigatorState__effectiveObservers;
        if (t2 === $)
          t2 = H.throwExpression(H.LateError$fieldNI(_s19_));
        J.forEach$1$ax(t2, observation.get$notify());
      }
    },
    _flushRouteAnnouncement$0: function() {
      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 <= 11 && t1 >= 3)) {
          --index;
          continue;
        }
        next = _this._getRouteAfter$2(index + 1, K.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, K.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;
        }
      }
    },
    _getIndexBefore$2: function(index, predicate) {
      while (true) {
        if (!(index >= 0 && !predicate.call$1(this._history[index])))
          break;
        --index;
      }
      return index;
    },
    _getRouteAfter$2: function(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: function($name, allowNull, $arguments, $T) {
      var settings, t1, route;
      if (allowNull && this._widget.onGenerateRoute == null)
        return null;
      settings = new K.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: function($name, $arguments, $T) {
      return this._routeNamed$1$3$allowNull$arguments($name, false, $arguments, $T);
    },
    push$1$1: function(route) {
      var t1 = K._RouteEntry$(route, C._RouteLifecycle_3, null);
      this._history.push(t1);
      this._flushHistoryUpdates$0();
      this._afterNavigation$1(t1.route);
      return route._popCompleter.future;
    },
    push$1: function(route) {
      return this.push$1$1(route, type$.nullable_Object);
    },
    _afterNavigation$1: function(route) {
      var t1, t2, routeJsonable, settings, settingsJsonable;
      if (route != null) {
        t1 = type$.String;
        t2 = type$.dynamic;
        routeJsonable = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        routeJsonable.$indexSet(0, "description", route instanceof T.TransitionRoute ? route.get$debugLabel() : route.toString$0(0));
        settings = route._settings;
        settingsJsonable = P.LinkedHashMap_LinkedHashMap$_literal(["name", settings.name], t1, t2);
        t1 = settings.$arguments;
        if (t1 != null)
          settingsJsonable.$indexSet(0, "arguments", C.C_JsonCodec.encode$2$toEncodable(t1, new K.NavigatorState__afterNavigation_closure()));
        routeJsonable.$indexSet(0, "settings", settingsJsonable);
      } else
        routeJsonable = null;
      P.postEvent("Flutter.Navigation", P.LinkedHashMap_LinkedHashMap$_literal(["route", routeJsonable], type$.String, type$.dynamic));
      this._cancelActivePointers$0();
    },
    maybePop$1$1: function(result) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, lastEntry, disposition, t1;
      var $async$maybePop$1$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          $async$outer:
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = $async$self._history;
                t1 = new H.CastList(t1, H._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
                lastEntry = t1.lastWhere$2$orElse(t1, new K.NavigatorState_maybePop_closure(), new K.NavigatorState_maybePop_closure0());
                if (lastEntry == null) {
                  $async$returnValue = false;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                $async$goto = 3;
                return P._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 H.CastList(t1, H._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
                if (lastEntry !== t1.lastWhere$2$orElse(t1, new K.NavigatorState_maybePop_closure1(), new K.NavigatorState_maybePop_closure2())) {
                  $async$returnValue = true;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                switch (disposition) {
                  case C.RoutePopDisposition_2:
                    $async$returnValue = false;
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  case C.RoutePopDisposition_0:
                    $async$self.pop$1(0, result);
                    $async$returnValue = true;
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  case C.RoutePopDisposition_1:
                    $async$returnValue = true;
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  default:
                    throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
                }
              case 1:
                // return
                return P._asyncReturn($async$returnValue, $async$completer);
            }
      });
      return P._asyncStartSync($async$maybePop$1$1, $async$completer);
    },
    maybePop$0: function() {
      return this.maybePop$1$1(null, type$.nullable_Object);
    },
    maybePop$1: function(result) {
      return this.maybePop$1$1(result, type$.nullable_Object);
    },
    pop$1$1: function(_, result) {
      var _this = this,
        entry = C.JSArray_methods.lastWhere$1(_this._history, K.navigator__RouteEntry_isPresentPredicate$closure()),
        t1 = entry.route;
      if (t1._settings instanceof K.Page) {
        if (_this._widget.onPopPage.call$2(t1, result))
          entry.currentState = C._RouteLifecycle_8;
      } else
        entry.pop$1(0, result);
      if (entry.currentState === C._RouteLifecycle_8)
        _this._flushHistoryUpdates$1$rearrangeOverlay(false);
      _this._afterNavigation$1(t1);
    },
    pop$1: function($receiver, result) {
      return this.pop$1$1($receiver, result, type$.nullable_Object);
    },
    removeRoute$1: function(route) {
      var t1, _this = this,
        wasCurrent = route.get$isCurrent();
      C.JSArray_methods.firstWhere$1(_this._history, K._RouteEntry_isRoutePredicate(route)).remove$0(0);
      _this._flushHistoryUpdates$1$rearrangeOverlay(false);
      if (wasCurrent) {
        t1 = _this._history;
        t1 = new H.CastList(t1, H._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
        t1 = t1.lastWhere$2$orElse(t1, new K.NavigatorState_removeRoute_closure(), new K.NavigatorState_removeRoute_closure0());
        _this._afterNavigation$1(t1 == null ? null : t1.route);
      }
    },
    finalizeRoute$1: function(route) {
      var entry = C.JSArray_methods.firstWhere$1(this._history, K._RouteEntry_isRoutePredicate(route));
      if (entry.doingPop) {
        entry.currentState = C._RouteLifecycle_8;
        this._flushHistoryUpdates$1$rearrangeOverlay(false);
      }
      entry.currentState = C._RouteLifecycle_12;
      this._flushHistoryUpdates$1$rearrangeOverlay(false);
    },
    _navigator$_handlePointerDown$1: function($event) {
      this._activePointers.add$1(0, $event.get$pointer());
    },
    _handlePointerUpOrCancel$1: function($event) {
      this._activePointers.remove$1(0, $event.get$pointer());
    },
    _cancelActivePointers$0: function() {
      if ($.SchedulerBinding__instance.SchedulerBinding__schedulerPhase === C.SchedulerPhase_0) {
        var t1 = this.get$_overlayKey();
        t1.toString;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1);
        this.setState$1(new K.NavigatorState__cancelActivePointers_closure(t1 == null ? null : t1.findAncestorRenderObjectOfType$1$0(type$.RenderAbsorbPointer)));
      }
      t1 = this._activePointers;
      C.JSArray_methods.forEach$1(P.List_List$of(t1, true, H._instanceType(t1)._eval$1("SetMixin.E")), $.WidgetsBinding__instance.get$cancelPointer());
    },
    build$1: function(_, context) {
      var t4, _this = this, _null = null,
        t1 = _this.get$_handlePointerUpOrCancel(),
        t2 = _this.RestorationMixin__bucket,
        t3 = _this.get$_overlayKey();
      if (_this.get$_overlayKey().get$currentState() == null) {
        t4 = _this.get$_allRouteOverlayEntries();
        t4 = P.List_List$of(t4, false, t4.$ti._eval$1("Iterable.E"));
      } else
        t4 = C.List_empty7;
      return new K.HeroControllerScope(_null, T.Listener$(C.HitTestBehavior_0, new T.AbsorbPointer(false, L.FocusScope$(true, K.UnmanagedRestorationScope$(t2, new X.Overlay(t4, t3)), _null, _this.focusScopeNode), _null), t1, _this.get$_navigator$_handlePointerDown(), _null, t1), _null);
    }
  };
  K.NavigatorState_restoreState_closure.prototype = {
    call$1: function(route) {
      var t2, t3,
        t1 = route._settings.name;
      if (t1 != null) {
        t2 = this.$this._rawNextPagelessRestorationScopeId;
        t3 = t2._restoration_properties$_value;
        t2.super$RestorableValue$value(0, t3 + 1);
        t1 = new K._NamedRestorationInformation(t3, t1, null, C._RouteRestorationType_0);
      } else
        t1 = null;
      return K._RouteEntry$(route, C._RouteLifecycle_1, t1);
    },
    $signature: 941
  };
  K.NavigatorState__updatePages_closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray__RouteEntry);
    },
    $signature: 173
  };
  K.NavigatorState__updatePages_closure0.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray__RouteEntry);
    },
    $signature: 173
  };
  K.NavigatorState__updatePages_closure1.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray__RouteEntry);
    },
    $signature: 173
  };
  K.NavigatorState__flushHistoryUpdates_closure.prototype = {
    call$1: function(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 57
  };
  K.NavigatorState__flushHistoryUpdates_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  K.NavigatorState__afterNavigation_closure.prototype = {
    call$1: function(object) {
      return H.S(object);
    },
    $signature: 943
  };
  K.NavigatorState_maybePop_closure.prototype = {
    call$1: function(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 57
  };
  K.NavigatorState_maybePop_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  K.NavigatorState_maybePop_closure1.prototype = {
    call$1: function(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 57
  };
  K.NavigatorState_maybePop_closure2.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  K.NavigatorState_removeRoute_closure.prototype = {
    call$1: function(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 57
  };
  K.NavigatorState_removeRoute_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  K.NavigatorState__cancelActivePointers_closure.prototype = {
    call$0: function() {
      var t1 = this.absorber;
      if (t1 != null)
        t1.set$absorbing(true);
    },
    $signature: 0
  };
  K._RouteRestorationType.prototype = {
    toString$0: function(_) {
      return this._navigator$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  K._RestorationInformation.prototype = {
    get$isRestorable: function() {
      return true;
    },
    computeSerializableData$0: function() {
      return H._setArrayType([this.type.index], type$.JSArray_Object);
    }
  };
  K._NamedRestorationInformation.prototype = {
    computeSerializableData$0: function() {
      var _this = this,
        t1 = _this.super$_RestorationInformation$computeSerializableData(),
        t2 = H._setArrayType([_this.restorationScopeId, _this.name], type$.JSArray_Object),
        t3 = _this.$arguments;
      if (t3 != null)
        t2.push(t3);
      C.JSArray_methods.addAll$1(t1, t2);
      return t1;
    },
    createRoute$1: function($navigator) {
      var t1 = $navigator._routeNamed$1$3$allowNull$arguments(this.name, false, this.$arguments, type$.dynamic);
      t1.toString;
      return t1;
    },
    get$restorationScopeId: function() {
      return this.restorationScopeId;
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  K._AnonymousRestorationInformation.prototype = {
    get$isRestorable: function() {
      return false;
    },
    computeSerializableData$0: function() {
      P.PluginUtilities_getCallbackHandle(this.routeBuilder);
    },
    createRoute$1: function($navigator) {
      var t1 = $navigator._framework$_element;
      t1.toString;
      return this.routeBuilder.call$2(t1, this.$arguments);
    },
    get$restorationScopeId: function() {
      return this.restorationScopeId;
    }
  };
  K._HistoryProperty.prototype = {
    update$1: function(_, $history) {
      var t1, newRoutesForCurrentPage, t2, oldRoutesForCurrentPage, newMap, removedPages, currentPage, needsSerialization, restorationEnabled, _i, entry, t3, t4, restorationId, serializedData, t5, _this = this, _null = null,
        wasUninitialized = _this._pageToPagelessRoutes == null;
      if (wasUninitialized)
        _this._pageToPagelessRoutes = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.List_Object);
      t1 = type$.JSArray_Object;
      newRoutesForCurrentPage = H._setArrayType([], t1);
      t2 = _this._pageToPagelessRoutes;
      t2.toString;
      oldRoutesForCurrentPage = J.$index$asx(t2, null);
      if (oldRoutesForCurrentPage == null)
        oldRoutesForCurrentPage = C.List_empty2;
      newMap = P.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, H.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 K.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 = H._setArrayType([], t1);
            t3 = _this._pageToPagelessRoutes;
            t3.toString;
            oldRoutesForCurrentPage = J.$index$asx(t3, entry.get$restorationId());
            if (oldRoutesForCurrentPage == null)
              oldRoutesForCurrentPage = C.List_empty2;
          } else {
            newRoutesForCurrentPage = C.List_empty2;
            oldRoutesForCurrentPage = C.List_empty2;
          }
          currentPage = entry;
          continue;
        }
        if (restorationEnabled) {
          t4 = entry.restorationInformation;
          restorationEnabled = (t4 == null ? _null : t4.get$isRestorable()) === true;
        } else
          restorationEnabled = false;
        t4 = restorationEnabled ? entry.get$restorationId() : _null;
        t3._restorationScopeId.set$value(0, t4);
        if (restorationEnabled) {
          t3 = entry.restorationInformation;
          serializedData = t3._serializableData;
          if (serializedData == null)
            serializedData = t3._serializableData = t3.computeSerializableData$0();
          if (!needsSerialization) {
            t3 = J.getInterceptor$asx(oldRoutesForCurrentPage);
            t4 = t3.get$length(oldRoutesForCurrentPage);
            t5 = newRoutesForCurrentPage.length;
            needsSerialization = t4 <= t5 || !J.$eq$(t3.$index(oldRoutesForCurrentPage, t5), serializedData);
          } else
            needsSerialization = true;
          C.JSArray_methods.add$1(newRoutesForCurrentPage, serializedData);
        }
      }
      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: function(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: function(_) {
      if (this._pageToPagelessRoutes == null)
        return;
      this._pageToPagelessRoutes = null;
      this.notifyListeners$0();
    },
    restoreEntriesForPage$2: function(page, $navigator) {
      var t1, serializedData, t2, route, t3,
        result = H._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 = K._RestorationInformation__RestorationInformation$fromSerializableData(t1.get$current(t1));
        route = t2.createRoute$1($navigator);
        t3 = $.$get$_RouteEntry_notAnnounced();
        result.push(new K._RouteEntry(route, t2, C._RouteLifecycle_1, t3, t3, t3));
      }
      return result;
    },
    createDefaultValue$0: function() {
      return null;
    },
    fromPrimitives$1: function(data) {
      data.toString;
      return J.map$2$1$ax(type$.Map_dynamic_dynamic._as(data), new K._HistoryProperty_fromPrimitives_closure(), type$.nullable_String, type$.List_Object);
    },
    initWithValue$1: function(value) {
      this._pageToPagelessRoutes = value;
    },
    toPrimitives$0: function() {
      return this._pageToPagelessRoutes;
    },
    get$enabled: function(_) {
      return this._pageToPagelessRoutes != null;
    }
  };
  K._HistoryProperty_fromPrimitives_closure.prototype = {
    call$2: function(key, value) {
      return new P.MapEntry(H._asStringQ(key), P.List_List$from(type$.List_dynamic._as(value), true, type$.Object), type$.MapEntry_of_nullable_String_and_List_Object);
    },
    $signature: 944
  };
  K._NavigatorState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure.prototype = {
    call$2: function(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 69
  };
  K._NavigatorState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  K._NavigatorState_State_TickerProviderStateMixin_RestorationMixin.prototype = {
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0: function() {
      var oldBucket, needsRestore, t1, didReplaceBucket, _this = this;
      _this.super$_NavigatorState_State_TickerProviderStateMixin$didChangeDependencies();
      oldBucket = _this.RestorationMixin__bucket;
      needsRestore = _this.get$restorePending();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = K.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(0);
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new K._NavigatorState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0(0);
      _this.RestorationMixin__bucket = null;
      _this.super$_NavigatorState_State_TickerProviderStateMixin$dispose(0);
    }
  };
  U.Notification1.prototype = {
    visitAncestor$1: function(element) {
      var widget;
      if (element instanceof N.StatelessElement) {
        widget = element.get$widget();
        if (widget instanceof U.NotificationListener)
          if (widget._notification_listener$_dispatch$2(this, element))
            return false;
      }
      return true;
    },
    dispatch$1: function(target) {
      if (target != null)
        target.visitAncestorElements$1(this.get$visitAncestor());
    },
    toString$0: function(_) {
      var description = H._setArrayType([], type$.JSArray_String);
      this.debugFillDescription$1(description);
      return "Notification(" + C.JSArray_methods.join$1(description, ", ") + ")";
    },
    debugFillDescription$1: function(description) {
    }
  };
  U.NotificationListener.prototype = {
    _notification_listener$_dispatch$2: function(notification, element) {
      if (this.$ti._precomputed1._is(notification))
        return this.onNotification.call$1(notification) === true;
      return false;
    },
    build$1: function(_, context) {
      return this.child;
    }
  };
  U.LayoutChangedNotification.prototype = {};
  E.OverflowBarAlignment.prototype = {
    toString$0: function(_) {
      return this._overflow_bar$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  E.OverflowBar.prototype = {
    createRenderObject$1: function(context) {
      var _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = t1.textDirection;
      t1 = new E._RenderOverflowBar(_this.spacing, _this.overflowSpacing, _this.overflowAlignment, _this.overflowDirection, t1, C.Clip_0, 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1, _this = this;
      type$._RenderOverflowBar._as(renderObject);
      renderObject.set$spacing(0, _this.spacing);
      renderObject.set$overflowSpacing(_this.overflowSpacing);
      renderObject.set$overflowAlignment(_this.overflowAlignment);
      renderObject.set$overflowDirection(_this.overflowDirection);
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = t1.textDirection;
      renderObject.set$textDirection(0, t1);
      renderObject.set$clipBehavior(C.Clip_0);
    }
  };
  E._OverflowBarParentData.prototype = {};
  E._RenderOverflowBar.prototype = {
    set$spacing: function(_, value) {
      if (this._spacing === value)
        return;
      this._spacing = value;
      this.markNeedsLayout$0();
    },
    set$overflowSpacing: function(value) {
      if (this._overflowSpacing === value)
        return;
      this._overflowSpacing = value;
      this.markNeedsLayout$0();
    },
    set$overflowAlignment: function(value) {
      if (this._overflowAlignment === value)
        return;
      this._overflowAlignment = value;
      this.markNeedsLayout$0();
    },
    set$overflowDirection: function(value) {
      if (this._overflowDirection === value)
        return;
      this._overflowDirection = value;
      this.markNeedsLayout$0();
    },
    set$textDirection: function(_, value) {
      if (this._overflow_bar$_textDirection === value)
        return;
      this._overflow_bar$_textDirection = value;
      this.markNeedsLayout$0();
    },
    set$clipBehavior: function(value) {
      var _this = this;
      if (value === _this._overflow_bar$_clipBehavior)
        return;
      _this._overflow_bar$_clipBehavior = value;
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof E._OverflowBarParentData))
        child.parentData = new E._OverflowBarParentData(null, null, C.Offset_0_0);
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t1, barWidth, t2, t3, height, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return 0;
      for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), barWidth = 0; child != null;) {
        barWidth += child._computeIntrinsicDimension$3(C._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(C._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, H.checkNum(child._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, child.get$computeMinIntrinsicHeight())));
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
        return height;
      }
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t1, barWidth, t2, t3, height, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return 0;
      for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), barWidth = 0; child != null;) {
        barWidth += child._computeIntrinsicDimension$3(C._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(C._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, H.checkNum(child._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, child.get$computeMaxIntrinsicHeight())));
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
        return height;
      }
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t1, width, t2, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return 0;
      for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), width = 0; child != null;) {
        width += child._computeIntrinsicDimension$3(C._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: function(height) {
      var t1, width, t2, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return 0;
      for (t1 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), width = 0; child != null;) {
        width += child._computeIntrinsicDimension$3(C._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: function(baseline) {
      return this.defaultComputeDistanceToHighestActualBaseline$1(baseline);
    },
    computeDryLayout$1: function(constraints) {
      var childConstraints, t1, childrenWidth, maxChildHeight, y, childSize, t2, actualWidth, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
      childConstraints = constraints.loosen$0();
      for (t1 = H._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, H.checkNum(t2));
        y += t2 + _this._overflowSpacing;
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      actualWidth = childrenWidth + _this._spacing * (_this.ContainerRenderObjectMixin__childCount - 1);
      t1 = constraints.maxWidth;
      if (actualWidth > t1)
        return constraints.constrain$1(new P.Size(t1, y - _this._overflowSpacing));
      else
        return constraints.constrain$1(new P.Size(actualWidth, maxChildHeight));
    },
    performLayout$0: function() {
      var t1, childConstraints, t2, t3, childrenWidth, maxChildHeight, maxChildWidth, t4, t5, rtl, actualWidth, nextChild, y, x, _this = this, _box_0 = {},
        child = _box_0.child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null) {
        t1 = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this));
        _this._box$_size = new P.Size(C.JSInt_methods.clamp$2(0, t1.minWidth, t1.maxWidth), C.JSInt_methods.clamp$2(0, t1.minHeight, t1.maxHeight));
        return;
      }
      t1 = type$.BoxConstraints;
      childConstraints = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).loosen$0();
      for (t2 = H._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), t3 = child, childrenWidth = 0, maxChildHeight = 0, maxChildWidth = 0; t3 != null; t3 = child) {
        t3.layout$2$parentUsesSize(0, childConstraints, true);
        t3 = _box_0.child;
        t4 = t3._box$_size;
        t5 = t4._dx;
        childrenWidth += t5;
        maxChildHeight = Math.max(maxChildHeight, H.checkNum(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 === C.TextDirection_0;
      actualWidth = childrenWidth + _this._spacing * (_this.ContainerRenderObjectMixin__childCount - 1);
      if (actualWidth > t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth) {
        child = _this._overflowDirection === C.VerticalDirection_1 ? _this.ContainerRenderObjectMixin__firstChild : _this.ContainerRenderObjectMixin__lastChild;
        _box_0.child = child;
        nextChild = new E._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) {
            case C.OverflowBarAlignment_0:
              if (rtl) {
                t3 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth;
                t5 = _box_0.child;
                x = t3 - t5._box$_size._dx;
                t3 = t5;
              } else
                x = 0;
              break;
            case C.OverflowBarAlignment_2:
              t3 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth;
              t5 = _box_0.child;
              x = (t3 - t5._box$_size._dx) / 2;
              t3 = t5;
              break;
            case C.OverflowBarAlignment_1:
              if (rtl)
                x = 0;
              else {
                t3 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth;
                t5 = _box_0.child;
                x = t3 - t5._box$_size._dx;
                t3 = t5;
              }
              break;
            default:
              throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
          }
          t4.offset = new P.Offset(x, y);
          y += t3._box$_size._dy + _this._overflowSpacing;
          child = nextChild.call$0();
          _box_0.child = child;
        }
        _this._box$_size = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).constrain$1(new P.Size(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).maxWidth, y - _this._overflowSpacing));
      } else {
        t1 = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).constrain$1(new P.Size(actualWidth, maxChildHeight));
        _this._box$_size = t1;
        child = _box_0.child = _this.ContainerRenderObjectMixin__firstChild;
        x = rtl ? t1._dx - child._box$_size._dx : 0;
        for (t1 = !rtl, t3 = type$._OverflowBarParentData, t4 = child; t4 != null; t4 = child) {
          t5 = t4.parentData;
          t5.toString;
          t3._as(t5);
          t4 = t4._box$_size;
          t5.offset = new P.Offset(x, (maxChildHeight - t4._dy) / 2);
          if (t1)
            x += t4._dx + _this._spacing;
          child = _box_0.child = t2._as(t5).ContainerParentDataMixin_nextSibling;
          if (rtl && child != null)
            x -= child._box$_size._dx + _this._spacing;
        }
      }
    },
    hitTestChildren$2$position: function(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    },
    paint$2: function(context, offset) {
      this.defaultPaint$2(context, offset);
    }
  };
  E._RenderOverflowBar_performLayout_nextChild.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._overflowDirection,
        t3 = this._box_0.child;
      t1 = H._instanceType(t1)._eval$1("ContainerRenderObjectMixin.1");
      if (t2 === C.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: 945
  };
  E.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1: function(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: function(_) {
      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;
      }
    }
  };
  E.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  X.OverlayEntry.prototype = {
    set$opaque: function(value) {
      var t1;
      if (this._opaque === value)
        return;
      this._opaque = value;
      t1 = this._overlay;
      if (t1 != null)
        t1._didChangeEntryOpacity$0();
    },
    set$maintainState: function(value) {
      if (this._maintainState)
        return;
      this._maintainState = true;
      this._overlay._didChangeEntryOpacity$0();
    },
    _updateMounted$1: function(value) {
      if (value === this._overlay$_mounted)
        return;
      this._overlay$_mounted = value;
      this.notifyListeners$0();
    },
    remove$0: function(_) {
      var t2,
        t1 = this._overlay;
      t1.toString;
      this._overlay = null;
      if (t1._framework$_element == null)
        return;
      C.JSArray_methods.remove$1(t1._overlay$_entries, this);
      t2 = $.SchedulerBinding__instance;
      if (t2.SchedulerBinding__schedulerPhase === C.SchedulerPhase_3)
        t2.SchedulerBinding__postFrameCallbacks.push(new X.OverlayEntry_remove_closure(t1));
      else
        t1._overlay$_markDirty$0();
    },
    markNeedsBuild$0: function() {
      var t1 = this._key.get$currentState();
      if (t1 != null)
        t1._markNeedsBuild$0();
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this) + "(opaque: " + this._opaque + "; maintainState: " + this._maintainState + ")";
    }
  };
  X.OverlayEntry_remove_closure.prototype = {
    call$1: function(duration) {
      this.overlay._overlay$_markDirty$0();
    },
    $signature: 6
  };
  X._OverlayEntryWidget.prototype = {
    createState$0: function() {
      return new X._OverlayEntryWidgetState(C._StateLifecycle_0);
    }
  };
  X._OverlayEntryWidgetState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._widget.entry._updateMounted$1(true);
    },
    dispose$0: function(_) {
      this._widget.entry._updateMounted$1(false);
      this.super$State$dispose(0);
    },
    build$1: function(_, context) {
      var t1 = this._widget;
      return new U.TickerMode(t1.tickerEnabled, t1.entry.builder.call$1(context), null);
    },
    _markNeedsBuild$0: function() {
      this.setState$1(new X._OverlayEntryWidgetState__markNeedsBuild_closure());
    }
  };
  X._OverlayEntryWidgetState__markNeedsBuild_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  X.Overlay.prototype = {
    createState$0: function() {
      return new X.OverlayState(H._setArrayType([], type$.JSArray_OverlayEntry), null, C._StateLifecycle_0);
    }
  };
  X.OverlayState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this.insertAll$1(0, this._widget.initialEntries);
    },
    _insertionIndex$2: function(below, above) {
      return this._overlay$_entries.length;
    },
    insert$1: function(_, entry) {
      entry._overlay = this;
      this.setState$1(new X.OverlayState_insert_closure(this, null, null, entry));
    },
    insertAll$1: function(_, entries) {
      var _i,
        t1 = entries.length;
      if (t1 === 0)
        return;
      for (_i = 0; _i < t1; ++_i)
        entries[_i]._overlay = this;
      this.setState$1(new X.OverlayState_insertAll_closure(this, null, null, entries));
    },
    rearrange$1: function(newEntries) {
      var t1, old, _i, entry, _this = this,
        newEntriesList = P.List_List$of(newEntries, false, newEntries.$ti._eval$1("Iterable.E"));
      if (newEntriesList.length === 0)
        return;
      t1 = _this._overlay$_entries;
      if (S.listEquals0(t1, newEntriesList))
        return;
      old = P.LinkedHashSet_LinkedHashSet$from(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 X.OverlayState_rearrange_closure(_this, newEntriesList, old, null, null));
    },
    _overlay$_markDirty$0: function() {
      if (this._framework$_element != null)
        this.setState$1(new X.OverlayState__markDirty_closure());
    },
    _didChangeEntryOpacity$0: function() {
      this.setState$1(new X.OverlayState__didChangeEntryOpacity_closure());
    },
    build$1: function(_, context) {
      var t1, i, onstage, onstageCount, entry, t2,
        children = H._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 X._OverlayEntryWidget(entry, true, entry._key));
          onstage = !entry._opaque || false;
        } else if (entry._maintainState)
          children.push(new X._OverlayEntryWidget(entry, false, entry._key));
      }
      t1 = children.length;
      this._widget.toString;
      t2 = type$.ReversedListIterable_Widget;
      return new X._Theatre(t1 - onstageCount, C.Clip_1, P.List_List$of(new H.ReversedListIterable(children, t2), false, t2._eval$1("ListIterable.E")), null);
    }
  };
  X.OverlayState_insert_closure.prototype = {
    call$0: function() {
      var _this = this,
        t1 = _this.$this;
      C.JSArray_methods.insert$2(t1._overlay$_entries, t1._insertionIndex$2(_this.below, _this.above), _this.entry);
    },
    $signature: 0
  };
  X.OverlayState_insertAll_closure.prototype = {
    call$0: function() {
      var _this = this,
        t1 = _this.$this;
      C.JSArray_methods.insertAll$2(t1._overlay$_entries, t1._insertionIndex$2(_this.below, _this.above), _this.entries);
    },
    $signature: 0
  };
  X.OverlayState_rearrange_closure.prototype = {
    call$0: function() {
      var t3, t4, _this = this,
        t1 = _this.$this,
        t2 = t1._overlay$_entries;
      C.JSArray_methods.set$length(t2, 0);
      t3 = _this.newEntriesList;
      C.JSArray_methods.addAll$1(t2, t3);
      t4 = _this.old;
      t4.removeAll$1(t3);
      C.JSArray_methods.insertAll$2(t2, t1._insertionIndex$2(_this.below, _this.above), t4);
    },
    $signature: 0
  };
  X.OverlayState__markDirty_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  X.OverlayState__didChangeEntryOpacity_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  X._Theatre.prototype = {
    createElement$0: function(_) {
      var t1 = type$.Element_2,
        t2 = P.HashSet_HashSet(t1),
        t3 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t3;
      return new X._TheatreElement(t2, t3, this, C._ElementLifecycle_0, P.HashSet_HashSet(t1));
    },
    createRenderObject$1: function(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = new X._RenderTheatre(t1.textDirection, this.skipCount, this.clipBehavior, 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2: function(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(0, t1.textDirection);
      t1 = this.clipBehavior;
      if (t1 !== renderObject._overlay$_clipBehavior) {
        renderObject._overlay$_clipBehavior = t1;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
    }
  };
  X._TheatreElement.prototype = {
    get$widget: function() {
      return type$._Theatre._as(N.MultiChildRenderObjectElement.prototype.get$widget.call(this));
    },
    get$renderObject: function() {
      return type$._RenderTheatre._as(N.MultiChildRenderObjectElement.prototype.get$renderObject.call(this));
    }
  };
  X._RenderTheatre.prototype = {
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof K.StackParentData))
        child.parentData = new K.StackParentData(null, null, C.Offset_0_0);
    },
    _overlay$_resolve$0: function() {
      if (this._overlay$_resolvedAlignment != null)
        return;
      this._overlay$_resolvedAlignment = C.AlignmentDirectional_m1_m1.resolve$1(this._overlay$_textDirection);
    },
    set$textDirection: function(_, value) {
      var _this = this;
      if (_this._overlay$_textDirection === value)
        return;
      _this._overlay$_textDirection = value;
      _this._overlay$_resolvedAlignment = null;
      _this.markNeedsLayout$0();
    },
    get$_firstOnstageChild: function() {
      var child, toSkip, t1, t2, _this = this;
      if (_this._overlay$_skipCount === K.ContainerRenderObjectMixin.prototype.get$childCount.call(_this))
        return null;
      child = K.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: function(height) {
      return K.RenderStack_getIntrinsicDimension(this.get$_firstOnstageChild(), new X._RenderTheatre_computeMinIntrinsicWidth_closure(height));
    },
    computeMaxIntrinsicWidth$1: function(height) {
      return K.RenderStack_getIntrinsicDimension(this.get$_firstOnstageChild(), new X._RenderTheatre_computeMaxIntrinsicWidth_closure(height));
    },
    computeMinIntrinsicHeight$1: function(width) {
      return K.RenderStack_getIntrinsicDimension(this.get$_firstOnstageChild(), new X._RenderTheatre_computeMinIntrinsicHeight_closure(width));
    },
    computeMaxIntrinsicHeight$1: function(width) {
      return K.RenderStack_getIntrinsicDimension(this.get$_firstOnstageChild(), new X._RenderTheatre_computeMaxIntrinsicHeight_closure(width));
    },
    computeDistanceToActualBaseline$1: function(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: function() {
      return true;
    },
    computeDryLayout$1: function(constraints) {
      return new P.Size(C.JSInt_methods.clamp$2(1 / 0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    performLayout$0: function() {
      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(K.RenderObject.prototype.get$constraints.call(_this));
      nonPositionedConstraints = S.BoxConstraints$tight(new P.Size(C.JSInt_methods.clamp$2(1 / 0, t1.minWidth, t1.maxWidth), C.JSInt_methods.clamp$2(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(0, 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 = K.RenderStack_layoutPositionedChild(child, t3, t4, t5) || _this._overlay$_hasVisualOverflow;
        }
        child = t3.ContainerParentDataMixin_nextSibling;
      }
    },
    hitTestChildren$2$position: function(result, position) {
      var t2, i, child, _this = this, _box_0 = {},
        t1 = _box_0.child = _this._overlay$_skipCount === K.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 X._RenderTheatre_hitTestChildren_closure(_box_0, position, t1), t1.offset, position))
          return true;
        child = t1.ContainerParentDataMixin_previousSibling;
        _box_0.child = child;
      }
      return false;
    },
    paintStack$2: function(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 P.Offset(t5._dx + t2, t5._dy + t3));
        child = t4.ContainerParentDataMixin_nextSibling;
      }
    },
    paint$2: function(context, offset) {
      var t1, t2, _this = this;
      if (_this._overlay$_hasVisualOverflow && _this._overlay$_clipBehavior !== C.Clip_0) {
        t1 = _this.get$_needsCompositing();
        t2 = _this._box$_size;
        _this._overlay$_clipRectLayer = context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new P.Rect(0, 0, 0 + t2._dx, 0 + t2._dy), _this.get$paintStack(), _this._overlay$_clipBehavior, _this._overlay$_clipRectLayer);
      } else {
        _this._overlay$_clipRectLayer = null;
        _this.paintStack$2(context, offset);
      }
    },
    visitChildrenForSemantics$1: function(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: function(child) {
      var t1;
      if (this._overlay$_hasVisualOverflow) {
        t1 = this._box$_size;
        t1 = new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
      } else
        t1 = null;
      return t1;
    },
    debugDescribeChildren$0: function() {
      var count, onstage, t2,
        t1 = type$.JSArray_DiagnosticsNode,
        offstageChildren = H._setArrayType([], t1),
        onstageChildren = H._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;
        }
        if (onstage)
          onstageChildren.push(new Y.DiagnosticableTreeNode(child, "onstage " + count, true, true, null, null));
        else
          offstageChildren.push(new Y.DiagnosticableTreeNode(child, "offstage " + count, true, true, null, C.DiagnosticsTreeStyle_2));
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        ++count;
      }
      t1 = P.List_List$of(onstageChildren, true, type$.DiagnosticsNode);
      if (offstageChildren.length !== 0)
        C.JSArray_methods.addAll$1(t1, offstageChildren);
      else
        t1.push(Y.DiagnosticsNode_DiagnosticsNode$message("no offstage children", true, C.DiagnosticsTreeStyle_2));
      return t1;
    }
  };
  X._RenderTheatre_computeMinIntrinsicWidth_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_0, this.height, child.get$computeMinIntrinsicWidth());
    },
    $signature: 15
  };
  X._RenderTheatre_computeMaxIntrinsicWidth_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_1, this.height, child.get$computeMaxIntrinsicWidth());
    },
    $signature: 15
  };
  X._RenderTheatre_computeMinIntrinsicHeight_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_2, this.width, child.get$computeMinIntrinsicHeight());
    },
    $signature: 15
  };
  X._RenderTheatre_computeMaxIntrinsicHeight_closure.prototype = {
    call$1: function(child) {
      return child._computeIntrinsicDimension$3(C._IntrinsicDimension_3, this.width, child.get$computeMaxIntrinsicHeight());
    },
    $signature: 15
  };
  X._RenderTheatre_hitTestChildren_closure.prototype = {
    call$2: function(result, transformed) {
      var t1 = this._box_0.child;
      t1.toString;
      transformed.toString;
      return t1.hitTest$2$position(result, transformed);
    },
    $signature: 24
  };
  X._OverlayState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  X.__RenderTheatre_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1: function(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: function(_) {
      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;
      }
    }
  };
  L.GlowingOverscrollIndicator.prototype = {
    createState$0: function() {
      var t1 = type$.bool;
      return new L._GlowingOverscrollIndicatorState(P.LinkedHashMap_LinkedHashMap$_literal([false, true, true, true], t1, t1), null, C._StateLifecycle_0);
    },
    notificationPredicate$1: function(arg0) {
      return G.scroll_notification__defaultScrollNotificationPredicate$closure().call$1(arg0);
    }
  };
  L._GlowingOverscrollIndicatorState.prototype = {
    initState$0: function() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = _this._widget;
      t2 = t1.color;
      _this._leadingController = L._GlowController$(G.axisDirectionToAxis(t1.axisDirection), t2, _this);
      t2 = _this._widget;
      t1 = t2.color;
      t1 = L._GlowController$(G.axisDirectionToAxis(t2.axisDirection), t1, _this);
      _this._trailingController = t1;
      t2 = _this._leadingController;
      t2.toString;
      _this._leadingAndTrailingListener = new B._MergingListenable(H._setArrayType([t2, t1], type$.JSArray_Listenable));
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (!J.$eq$(oldWidget.color, _this._widget.color) || G.axisDirectionToAxis(oldWidget.axisDirection) !== G.axisDirectionToAxis(_this._widget.axisDirection)) {
        t1 = _this._leadingController;
        t1.toString;
        t1.set$color(0, _this._widget.color);
        t1 = _this._leadingController;
        t1.toString;
        t1.set$axis(G.axisDirectionToAxis(_this._widget.axisDirection));
        t1 = _this._trailingController;
        t1.toString;
        t1.set$color(0, _this._widget.color);
        t1 = _this._trailingController;
        t1.toString;
        t1.set$axis(G.axisDirectionToAxis(_this._widget.axisDirection));
      }
    },
    _overscroll_indicator$_handleScrollNotification$1: function(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 G.OverscrollNotification) {
        t3 = notification.overscroll;
        if (t3 < 0)
          controller = t1;
        else if (t3 > 0)
          controller = t4;
        else
          controller = null;
        isLeading = controller === t1;
        if (_this._lastNotificationType !== C.Type_OverscrollNotification_Ps9) {
          t1 = _this._framework$_element;
          t1.toString;
          new L.OverscrollIndicatorNotification(isLeading, 0).dispatch$1(t1);
          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 = C.JSNumber_methods.clamp$2(Math.abs(t1), 100, 10000);
          t1 = controller._glowOpacityTween;
          if (controller._overscroll_indicator$_state === C._GlowState_0)
            t2 = 0.3;
          else {
            t2 = controller.get$_glowOpacity();
            t2 = t2.get$value(t2);
          }
          t1.begin = t2;
          t2.toString;
          t1.end = C.JSNumber_methods.clamp$2(velocity * 0.00006, t2, 0.5);
          t2 = controller._glowSizeTween;
          t1 = controller.get$_glowSize();
          t2.begin = t1.get$value(t1);
          t2.end = Math.min(0.025 + 75e-8 * velocity * velocity, 1);
          controller.get$_glowController().duration = P.Duration$(0, C.JSNumber_methods.round$0(0.15 + velocity * 0.02));
          controller.get$_glowController().forward$1$from(0, 0);
          controller._displacement = 0.5;
          controller._overscroll_indicator$_state = C._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 (G.axisDirectionToAxis(t2.axisDirection)) {
              case C.Axis_0:
                controller.toString;
                t1 = t5._dy;
                controller.pull$4(0, Math.abs(t3), t5._dx, J.clamp$2$n(position._dy, 0, t1), t1);
                break;
              case C.Axis_1:
                controller.toString;
                t1 = t5._dx;
                controller.pull$4(0, Math.abs(t3), t5._dy, J.clamp$2$n(position._dx, 0, t1), t1);
                break;
              default:
                throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
            }
          }
        }
      } else if (notification instanceof G.ScrollEndNotification || notification instanceof G.ScrollUpdateNotification)
        if (notification.get$dragDetails() != null) {
          t1 = _this._leadingController;
          if (t1._overscroll_indicator$_state === C._GlowState_2)
            t1._recede$1(C.Duration_600000);
          t1 = _this._trailingController;
          if (t1._overscroll_indicator$_state === C._GlowState_2)
            t1._recede$1(C.Duration_600000);
        }
      _this._lastNotificationType = H.getRuntimeType(notification);
      return false;
    },
    dispose$0: function(_) {
      this._leadingController.dispose$0(0);
      this._trailingController.dispose$0(0);
      this.super$__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin$dispose(0);
    },
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this._widget,
        t2 = _this._leadingController,
        t3 = _this._trailingController,
        t4 = t1.axisDirection,
        t5 = _this._leadingAndTrailingListener;
      return new U.NotificationListener(new T.RepaintBoundary(T.CustomPaint$(new T.RepaintBoundary(t1.child, _null), new L._GlowingOverscrollIndicatorPainter(t2, t3, t4, t5), _null, _null, C.Size_0_0), _null), _this.get$_overscroll_indicator$_handleScrollNotification(), _null, type$.NotificationListener_ScrollNotification);
    }
  };
  L._GlowState.prototype = {
    toString$0: function(_) {
      return this._overscroll_indicator$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  L._GlowController.prototype = {
    get$_glowController: function() {
      var t1 = this.___GlowController__glowController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_glowController")) : t1;
    },
    get$_glowOpacity: function() {
      var t1 = this.___GlowController__glowOpacity;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_glowOpacity")) : t1;
    },
    get$_glowSize: function() {
      var t1 = this.___GlowController__glowSize;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_glowSize")) : t1;
    },
    get$_displacementTicker: function() {
      var t1 = this.___GlowController__displacementTicker;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_displacementTicker")) : t1;
    },
    set$color: function(_, value) {
      if (J.$eq$(this._overscroll_indicator$_color, value))
        return;
      this._overscroll_indicator$_color = value;
      this.notifyListeners$0();
    },
    set$axis: function(value) {
      if (this._axis === value)
        return;
      this._axis = value;
      this.notifyListeners$0();
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this.get$_glowController().dispose$0(0);
      _this.get$_displacementTicker().dispose$0(0);
      t1 = _this._pullRecedeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this.super$ChangeNotifier$dispose(0);
    },
    pull$4: function(_, overscroll, extent, crossAxisOffset, crossExtent) {
      var t2, height, t3, _this = this,
        t1 = _this._pullRecedeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._pullDistance = _this._pullDistance + overscroll / 200;
      t1 = _this._glowOpacityTween;
      t2 = _this.get$_glowOpacity();
      t1.begin = t2.get$value(t2);
      t2 = _this.get$_glowOpacity();
      t1.end = Math.min(t2.get$value(t2) + overscroll / extent * 0.8, 0.5);
      height = Math.min(extent, crossExtent * 0.20096189432249995);
      t2 = _this._glowSizeTween;
      t1 = _this.get$_glowSize();
      t2.begin = t1.get$value(t1);
      t1 = Math.sqrt(_this._pullDistance * height);
      t3 = _this.get$_glowSize();
      t2.end = Math.max(1 - 1 / (0.7 * t1), H.checkNum(t3.get$value(t3)));
      t3 = crossAxisOffset / crossExtent;
      _this._displacementTarget = t3;
      if (t3 !== _this._displacement) {
        if (!_this.get$_displacementTicker().get$isTicking())
          _this.get$_displacementTicker().start$0(0);
      } else {
        _this.get$_displacementTicker().stop$0(0);
        _this._displacementTickerLastElapsed = null;
      }
      _this.get$_glowController().duration = C.Duration_167000;
      if (_this._overscroll_indicator$_state !== C._GlowState_2) {
        _this.get$_glowController().forward$1$from(0, 0);
        _this._overscroll_indicator$_state = C._GlowState_2;
      } else {
        t1 = _this.get$_glowController()._ticker;
        if (!(t1 != null && t1._ticker$_future != null))
          _this.notifyListeners$0();
      }
      _this._pullRecedeTimer = P.Timer_Timer(C.Duration_167000, new L._GlowController_pull_closure(_this));
    },
    _changePhase$1: function($status) {
      var _this = this;
      if ($status !== C.AnimationStatus_3)
        return;
      switch (_this._overscroll_indicator$_state) {
        case C._GlowState_1:
          _this._recede$1(C.Duration_600000);
          break;
        case C._GlowState_3:
          _this._overscroll_indicator$_state = C._GlowState_0;
          _this._pullDistance = 0;
          break;
        case C._GlowState_2:
        case C._GlowState_0:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _recede$1: function(duration) {
      var t2, _this = this,
        t1 = _this._overscroll_indicator$_state;
      if (t1 === C._GlowState_3 || t1 === C._GlowState_0)
        return;
      t1 = _this._pullRecedeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._pullRecedeTimer = null;
      t1 = _this._glowOpacityTween;
      t2 = _this.get$_glowOpacity();
      t1.begin = t2.get$value(t2);
      t1.end = 0;
      t1 = _this._glowSizeTween;
      t2 = _this.get$_glowSize();
      t1.begin = t2.get$value(t2);
      t1.end = 0;
      _this.get$_glowController().duration = duration;
      _this.get$_glowController().forward$1$from(0, 0);
      _this._overscroll_indicator$_state = C._GlowState_3;
    },
    _tickDisplacement$1: function(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 (B.nearEqual(_this._displacementTarget, _this._displacement, 0.001)) {
        _this.get$_displacementTicker().stop$0(0);
        _this._displacementTickerLastElapsed = null;
      } else
        _this._displacementTickerLastElapsed = elapsed;
    },
    paint$2: function(canvas, size) {
      var t2, baseGlowScale, radius, height, t3, t4, paint, t5, _this = this,
        t1 = _this.get$_glowOpacity();
      if (J.$eq$(t1.get$value(t1), 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.get$_glowSize();
      t2 = t2.get$value(t2);
      t3 = _this._displacement;
      t4 = H._detectRenderer();
      paint = t4 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t4 = _this._overscroll_indicator$_color;
      t5 = _this.get$_glowOpacity();
      t5 = t5.get$value(t5);
      t4.toString;
      paint.set$color(0, P.Color$fromARGB(C.JSNumber_methods.round$0(255 * t5), 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, t2 * baseGlowScale);
      canvas.clipRect$1(0, new P.Rect(0, 0, 0 + t1, 0 + height));
      canvas.drawCircle$3(0, new P.Offset(t1 / 2 * (0.5 + t3), height - radius), radius, paint);
      canvas.restore$0(0);
    }
  };
  L._GlowController_pull_closure.prototype = {
    call$0: function() {
      return this.$this._recede$1(C.Duration_2000000);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  L._GlowingOverscrollIndicatorPainter.prototype = {
    _paintSide$5: function(canvas, size, controller, axisDirection, growthDirection) {
      var t1;
      if (controller == null)
        return;
      switch (G.applyGrowthDirectionToAxisDirection(axisDirection, growthDirection)) {
        case C.AxisDirection_0:
          controller.paint$2(canvas, size);
          break;
        case C.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 C.AxisDirection_3:
          canvas.save$0(0);
          canvas.rotate$1(0, 1.5707963267948966);
          canvas.scale$2(0, 1, -1);
          controller.paint$2(canvas, new P.Size(size._dy, size._dx));
          canvas.restore$0(0);
          break;
        case C.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 P.Size(size._dy, t1));
          canvas.restore$0(0);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    paint$2: function(canvas, size) {
      var _this = this,
        t1 = _this.axisDirection;
      _this._paintSide$5(canvas, size, _this.leadingController, t1, C.GrowthDirection_1);
      _this._paintSide$5(canvas, size, _this.trailingController, t1, C.GrowthDirection_0);
    },
    shouldRepaint$1: function(oldDelegate) {
      return oldDelegate.leadingController != this.leadingController || oldDelegate.trailingController != this.trailingController;
    }
  };
  L.OverscrollIndicatorNotification.prototype = {
    debugFillDescription$1: function(description) {
      this.super$_OverscrollIndicatorNotification_Notification_ViewportNotificationMixin$debugFillDescription(description);
      description.push("side: " + (this.leading ? "leading edge" : "trailing edge"));
    }
  };
  L._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin.prototype = {
    visitAncestor$1: function(element) {
      if (element instanceof N.RenderObjectElement && type$.RenderAbstractViewport._is(element.get$renderObject()))
        ++this.ViewportNotificationMixin__depth;
      return this.super$Notification$visitAncestor(element);
    },
    debugFillDescription$1: function(description) {
      var t1;
      this.super$Notification$debugFillDescription(description);
      t1 = "depth: " + this.ViewportNotificationMixin__depth + " (";
      description.push(t1 + (this.ViewportNotificationMixin__depth === 0 ? "local" : "remote") + ")");
    }
  };
  L.__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  S.PageStorageKey.prototype = {};
  S._StorageEntryIdentifier.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof S._StorageEntryIdentifier && S.listEquals0(other.keys, this.keys);
    },
    get$hashCode: function(_) {
      return P.hashList(this.keys);
    },
    toString$0: function(_) {
      return "StorageEntryIdentifier(" + C.JSArray_methods.join$1(this.keys, ":") + ")";
    },
    get$keys: function(receiver) {
      return this.keys;
    }
  };
  S.PageStorageBucket.prototype = {
    _allKeys$1: function(context) {
      var keys = H._setArrayType([], type$.JSArray_PageStorageKey_dynamic);
      if (S.PageStorageBucket__maybeAddKey(context, keys))
        context.visitAncestorElements$1(new S.PageStorageBucket__allKeys_closure(keys));
      return keys;
    },
    writeState$2: function(context, data) {
      var t1, _this = this;
      if (_this._storage == null)
        _this._storage = P.LinkedHashMap_LinkedHashMap$_empty(type$.Object, type$.dynamic);
      t1 = _this._allKeys$1(context);
      if (t1.length !== 0)
        _this._storage.$indexSet(0, new S._StorageEntryIdentifier(t1), data);
    },
    readState$1: function(context) {
      var t1;
      if (this._storage == null)
        return null;
      t1 = this._allKeys$1(context);
      return t1.length !== 0 ? this._storage.$index(0, new S._StorageEntryIdentifier(t1)) : null;
    }
  };
  S.PageStorageBucket__allKeys_closure.prototype = {
    call$1: function(element) {
      return S.PageStorageBucket__maybeAddKey(element, this.keys);
    },
    $signature: 29
  };
  S.PageStorage.prototype = {
    build$1: function(_, context) {
      return this.child;
    }
  };
  D.PageController.prototype = {
    animateToPage$3$curve$duration: function(page, curve, duration) {
      var position = type$._PagePosition._as(C.JSArray_methods.get$single(this._positions));
      page.toString;
      return position.animateTo$3$curve$duration(position.getPixelsFromPage$1(page), curve, duration);
    },
    createScrollPosition$3: function(physics, context, oldPosition) {
      var _null = null,
        t1 = type$.nullable_void_Function;
      t1 = new D._PagePosition(this.initialPage, 1, C.ScrollDirection_0, physics, context, true, _null, new B.ValueNotifier(false, P.List_List$filled(0, _null, false, t1), type$.ValueNotifier_bool), P.List_List$filled(0, _null, false, 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: function(position) {
      this.super$ScrollController$attach(position);
      type$._PagePosition._as(position).set$viewportFraction(1);
    }
  };
  D.PageMetrics.prototype = {};
  D._PagePosition.prototype = {
    ensureVisible$6$alignment$alignmentPolicy$curve$duration$targetRenderObject: function(object, alignment, alignmentPolicy, curve, duration, targetRenderObject) {
      return this.super$ScrollPosition$ensureVisible(object, alignment, alignmentPolicy, curve, duration, null);
    },
    ensureVisible$3$alignment$duration: function(object, alignment, duration) {
      return this.ensureVisible$6$alignment$alignmentPolicy$curve$duration$targetRenderObject(object, alignment, C.ScrollPositionAlignmentPolicy_0, C.Cubic_JUR, duration, null);
    },
    set$viewportFraction: function(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: function() {
      var t1 = this._viewportDimension;
      t1.toString;
      return Math.max(0, t1 * (this._page_view$_viewportFraction - 1) / 2);
    },
    getPageFromPixels$2: function(pixels, viewportDimension) {
      var actual = Math.max(0, pixels - this.get$_initialPageOffset()) / Math.max(1, viewportDimension * this._page_view$_viewportFraction),
        round = C.JSNumber_methods.roundToDouble$0(actual);
      if (Math.abs(actual - round) < 1e-10)
        return round;
      return actual;
    },
    getPixelsFromPage$1: function(page) {
      var t1 = this._viewportDimension;
      t1.toString;
      return page * t1 * this._page_view$_viewportFraction + this.get$_initialPageOffset();
    },
    get$page: function(_) {
      var t2, t3, _this = this,
        t1 = _this._pixels;
      if (t1 == null)
        t1 = null;
      else {
        t2 = _this._minScrollExtent;
        t2.toString;
        t3 = _this._maxScrollExtent;
        t3.toString;
        t3 = C.JSNumber_methods.clamp$2(t1, t2, t3);
        t2 = _this._viewportDimension;
        t2.toString;
        t2 = _this.getPageFromPixels$2(t3, t2);
        t1 = t2;
      }
      return t1;
    },
    saveScrollOffset$0: function() {
      var t3, t4, _this = this,
        t1 = _this.context,
        t2 = S.PageStorage_of(t1.get$storageContext());
      if (t2 != null) {
        t1 = t1.get$storageContext();
        t3 = _this._pixels;
        t3.toString;
        t4 = _this._viewportDimension;
        t4.toString;
        t2.writeState$2(t1, _this.getPageFromPixels$2(t3, t4));
      }
    },
    restoreScrollOffset$0: function() {
      var t1, t2, value;
      if (this._pixels == null) {
        t1 = this.context;
        t2 = S.PageStorage_of(t1.get$storageContext());
        value = H._asDoubleQ(t2 == null ? null : t2.readState$1(t1.get$storageContext()));
        if (value != null)
          this._pageToUseOnStartup = value;
      }
    },
    saveOffset$0: function() {
      var t2, _this = this,
        t1 = _this._pixels;
      t1.toString;
      t2 = _this._viewportDimension;
      t2.toString;
      _this.context.saveOffset$1(_this.getPageFromPixels$2(t1, t2));
    },
    restoreOffset$2$initialRestore: function(offset, initialRestore) {
      if (initialRestore)
        this._pageToUseOnStartup = offset;
      else
        this.jumpTo$1(this.getPixelsFromPage$1(offset));
    },
    applyViewportDimension$1: function(viewportDimension) {
      var oldPixels, page, 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 || oldViewportDimensions === 0)
        page = _this._pageToUseOnStartup;
      else {
        oldViewportDimensions.toString;
        page = _this.getPageFromPixels$2(oldPixels, oldViewportDimensions);
      }
      newPixels = _this.getPixelsFromPage$1(page);
      if (newPixels !== oldPixels) {
        _this._pixels = newPixels;
        return false;
      }
      return true;
    },
    applyContentDimensions$2: function(minScrollExtent, maxScrollExtent) {
      var newMinScrollExtent = minScrollExtent + this.get$_initialPageOffset();
      return this.super$ScrollPosition$applyContentDimensions(newMinScrollExtent, Math.max(newMinScrollExtent, maxScrollExtent - this.get$_initialPageOffset()));
    },
    copyWith$0: function() {
      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 D.PageMetrics(t6, t1, t2, t3, t4, t5);
    }
  };
  D._ForceImplicitScrollPhysics.prototype = {
    applyTo$1: function(ancestor) {
      return new D._ForceImplicitScrollPhysics(false, this.buildParent$1(ancestor));
    },
    get$allowImplicitScrolling: function() {
      return this.allowImplicitScrolling;
    }
  };
  D.PageScrollPhysics.prototype = {
    applyTo$1: function(ancestor) {
      return new D.PageScrollPhysics(this.buildParent$1(ancestor));
    },
    _page_view$_getPage$1: function(position) {
      var t1, t2;
      if (position instanceof D._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: function(position, page) {
      var t1;
      if (position instanceof D._PagePosition)
        return position.getPixelsFromPage$1(page);
      t1 = position._viewportDimension;
      t1.toString;
      return page * t1;
    },
    createBallisticSimulation$2: function(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, J.roundToDouble$0$n(page));
      t1 = position._pixels;
      t1.toString;
      if (target !== t1) {
        t1 = _this.get$spring();
        t2 = position._pixels;
        t2.toString;
        return new M.ScrollSpringSimulation(target, M._SpringSolution__SpringSolution(t1, t2 - target, velocity), tolerance);
      }
      return null;
    },
    get$allowImplicitScrolling: function() {
      return false;
    }
  };
  D.PageView.prototype = {
    createState$0: function() {
      return new D._PageViewState(C._StateLifecycle_0);
    }
  };
  D._PageViewState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._lastReportedPage = this._widget.controller.initialPage;
    },
    _getDirection$1: function(context) {
      var t1, axisDirection;
      this._widget.toString;
      switch (C.Axis_0) {
        case C.Axis_0:
          t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t1.toString;
          axisDirection = G.textDirectionToAxisDirection(t1.textDirection);
          this._widget.toString;
          return axisDirection;
        case C.Axis_1:
          return C.AxisDirection_2;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    build$1: function(_, context) {
      var t2, t3, t4, _this = this, _null = null,
        axisDirection = _this._getDirection$1(context),
        t1 = _this._widget.physics;
      t1 = new D.PageScrollPhysics(C.PageScrollPhysics_null.buildParent$1(t1));
      t1 = new D._ForceImplicitScrollPhysics(false, _null).buildParent$1(t1);
      t2 = _this._widget;
      t3 = t2.dragStartBehavior;
      t2 = t2.controller;
      t4 = K.ScrollConfiguration_of(context).copyWith$1$scrollbars(false);
      return new U.NotificationListener(F.Scrollable$(axisDirection, t2, t3, false, new D._ForceImplicitScrollPhysics(false, t1), _null, t4, _null, new D._PageViewState_build_closure(_this, axisDirection)), new D._PageViewState_build_closure0(_this), _null, type$.NotificationListener_ScrollNotification);
    }
  };
  D._PageViewState_build_closure0.prototype = {
    call$1: function(notification) {
      if (notification.ViewportNotificationMixin__depth === 0)
        this.$this._widget.toString;
      return false;
    },
    $signature: 70
  };
  D._PageViewState_build_closure.prototype = {
    call$2: function(context, position) {
      var t1 = this.$this._widget;
      t1.controller.toString;
      return Q.Viewport$(0, this.axisDirection, 0, C.CacheExtentStyle_1, null, C.Clip_1, position, H._setArrayType([new A.SliverFillViewport(1, true, t1.childrenDelegate, null)], type$.JSArray_Widget));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 946
  };
  V.PageRoute.prototype = {
    get$opaque: function() {
      return true;
    },
    get$barrierDismissible: function() {
      return false;
    },
    canTransitionTo$1: function(nextRoute) {
      return nextRoute instanceof V.PageRoute;
    },
    canTransitionFrom$1: function(previousRoute) {
      return previousRoute instanceof V.PageRoute;
    },
    get$fullscreenDialog: function() {
      return this.fullscreenDialog;
    }
  };
  L.PerformanceOverlay.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new L.RenderPerformanceOverlay(this.optionsMask, 0, false, false);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = true;
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$optionsMask(this.optionsMask);
      renderObject.set$rasterizerThreshold(0);
    }
  };
  Q.PreferredSize.prototype = {
    build$1: function(_, context) {
      return this.child;
    },
    $isPreferredSizeWidget: 1,
    get$preferredSize: function() {
      return this.preferredSize;
    }
  };
  E.PrimaryScrollController.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return this.controller != oldWidget.controller;
    }
  };
  O.RawKeyboardListener.prototype = {
    createState$0: function() {
      return new O._RawKeyboardListenerState(C._StateLifecycle_0);
    }
  };
  O._RawKeyboardListenerState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._widget.focusNode.addListener$1(0, this.get$_raw_keyboard_listener$_handleFocusChanged());
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.focusNode;
      t2 = oldWidget.focusNode;
      if (t1 !== t2) {
        t1 = _this.get$_raw_keyboard_listener$_handleFocusChanged();
        t2.removeListener$1(0, t1);
        _this._widget.focusNode.addListener$1(0, t1);
      }
    },
    dispose$0: function(_) {
      var _this = this;
      _this._widget.focusNode.removeListener$1(0, _this.get$_raw_keyboard_listener$_handleFocusChanged());
      _this._detachKeyboardIfAttached$0();
      _this.super$State$dispose(0);
    },
    _raw_keyboard_listener$_handleFocusChanged$0: function() {
      if (this._widget.focusNode.get$hasFocus())
        this._attachKeyboardIfDetached$0();
      else
        this._detachKeyboardIfAttached$0();
    },
    _attachKeyboardIfDetached$0: function() {
      if (this._listening)
        return;
      $.$get$RawKeyboard_instance()._raw_keyboard$_listeners.push(this.get$_raw_keyboard_listener$_handleRawKeyEvent());
      this._listening = true;
    },
    _detachKeyboardIfAttached$0: function() {
      if (!this._listening)
        return;
      C.JSArray_methods.remove$1($.$get$RawKeyboard_instance()._raw_keyboard$_listeners, this.get$_raw_keyboard_listener$_handleRawKeyEvent());
      this._listening = false;
    },
    _raw_keyboard_listener$_handleRawKeyEvent$1: function($event) {
      var t1 = this._widget.onKey;
      if (t1 != null)
        t1.call$1($event);
    },
    build$1: function(_, context) {
      var _null = null,
        t1 = this._widget,
        t2 = t1.focusNode;
      return L.Focus$(t1.autofocus, _null, t1.child, _null, true, t2, true, _null, _null, _null, _null);
    }
  };
  K.RestorationScope.prototype = {
    createState$0: function() {
      return new K._RestorationScopeState(null, P.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), null, true, null, C._StateLifecycle_0);
    }
  };
  K._RestorationScopeState.prototype = {
    get$restorationId: function() {
      return this._widget.restorationId;
    },
    restoreState$2: function(oldBucket, initialRestore) {
    },
    build$1: function(_, context) {
      return K.UnmanagedRestorationScope$(this.RestorationMixin__bucket, this._widget.child);
    }
  };
  K.UnmanagedRestorationScope.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return oldWidget.bucket != this.bucket;
    }
  };
  K.RootRestorationScope.prototype = {
    createState$0: function() {
      return new K._RootRestorationScopeState(C._StateLifecycle_0);
    }
  };
  K._RootRestorationScopeState.prototype = {
    didChangeDependencies$0: function() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      _this._ancestorBucket = K.RestorationScope_of(t1);
      _this._loadRootBucketIfNecessary$0();
      if (_this._okToRenderBlankContainer == null) {
        _this._widget.toString;
        _this._okToRenderBlankContainer = false;
      }
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._loadRootBucketIfNecessary$0();
    },
    get$_isWaitingForRootBucket: function() {
      this._widget.toString;
      return false;
    },
    _loadRootBucketIfNecessary$0: function() {
      var _this = this;
      if (_this.get$_isWaitingForRootBucket() && !_this._isLoadingRootBucket) {
        _this._isLoadingRootBucket = true;
        ++$.RendererBinding__instance.RendererBinding__firstFrameDeferredCount;
        $.ServicesBinding__instance.get$_restorationManager().get$rootBucket().then$1$1(0, new K._RootRestorationScopeState__loadRootBucketIfNecessary_closure(_this), type$.Null);
      }
    },
    _replaceRootBucket$0: function() {
      var _this = this;
      _this._rootBucketValid = false;
      _this._restoration0$_rootBucket = null;
      $.ServicesBinding__instance.get$_restorationManager().removeListener$1(0, _this.get$_replaceRootBucket());
      _this._loadRootBucketIfNecessary$0();
    },
    dispose$0: function(_) {
      if (this._rootBucketValid)
        $.ServicesBinding__instance.get$_restorationManager().removeListener$1(0, this.get$_replaceRootBucket());
      this.super$State$dispose(0);
    },
    build$1: function(_, context) {
      var t2, t3, _this = this,
        t1 = _this._okToRenderBlankContainer;
      t1.toString;
      if (t1 && _this.get$_isWaitingForRootBucket())
        return C.SizedBox_0_0_null_null;
      t1 = _this._ancestorBucket;
      if (t1 == null)
        t1 = _this._restoration0$_rootBucket;
      t2 = _this._widget;
      t3 = t2.restorationId;
      return K.UnmanagedRestorationScope$(t1, new K.RestorationScope(t2.child, t3, null));
    }
  };
  K._RootRestorationScopeState__loadRootBucketIfNecessary_closure.prototype = {
    call$1: function(bucket) {
      var t1 = this.$this;
      t1._isLoadingRootBucket = false;
      if (t1._framework$_element != null) {
        $.ServicesBinding__instance.get$_restorationManager().addListener$1(0, t1.get$_replaceRootBucket());
        t1.setState$1(new K._RootRestorationScopeState__loadRootBucketIfNecessary__closure(t1, bucket));
      }
      $.RendererBinding__instance.allowFirstFrame$0();
    },
    $signature: 947
  };
  K._RootRestorationScopeState__loadRootBucketIfNecessary__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1._restoration0$_rootBucket = this.bucket;
      t1._rootBucketValid = true;
      t1._okToRenderBlankContainer = false;
    },
    $signature: 0
  };
  K.RestorableProperty.prototype = {
    get$enabled: function(_) {
      return true;
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._restoration0$_owner;
      if (t1 != null)
        t1._unregister$1(_this);
      _this.super$ChangeNotifier$dispose(0);
      _this._restoration0$_disposed = true;
    }
  };
  K.RestorationMixin.prototype = {
    didToggleBucket$1: function(oldBucket) {
    },
    registerForRestoration$2: function(property, restorationId) {
      var _this = this,
        t1 = _this.RestorationMixin__bucket,
        hasSerializedValue = (t1 == null ? null : J.containsKey$1$x(t1.get$_rawValues(), restorationId)) === 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 K.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: function() {
      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(0);
    },
    get$restorePending: function() {
      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 = K.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: function($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: function(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;
          t2.get$keys(t2).forEach$1(0, _this.get$_updateProperty());
        }
        _this.didToggleBucket$1(t1);
      }
      return true;
    },
    _updateProperty$1: function(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: function(property) {
      var t1 = this.RestorationMixin__properties.remove$1(0, property);
      t1.toString;
      property.removeListener$1(0, t1);
      property._restoration0$_owner = property._restoration0$_restorationId = null;
    }
  };
  K.RestorationMixin_registerForRestoration_listener.prototype = {
    call$0: function() {
      var t1 = this.$this;
      if (t1.RestorationMixin__bucket == null)
        return;
      t1._updateProperty$1(this.property);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  K.__RestorationScopeState_State_RestorationMixin_dispose_closure.prototype = {
    call$2: function(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 69
  };
  K.__RestorationScopeState_State_RestorationMixin.prototype = {
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0: function() {
      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 = K.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(0);
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new K.__RestorationScopeState_State_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0(0);
      _this.RestorationMixin__bucket = null;
      _this.super$State$dispose(0);
    }
  };
  U.RestorableValue.prototype = {
    set$value: function(_, newValue) {
      var oldValue, _this = this;
      if (!J.$eq$(newValue, _this._restoration_properties$_value)) {
        oldValue = _this._restoration_properties$_value;
        _this._restoration_properties$_value = newValue;
        _this.didUpdateValue$1(oldValue);
      }
    },
    initWithValue$1: function(value) {
      this._restoration_properties$_value = value;
    }
  };
  U._RestorablePrimitiveValueN.prototype = {
    createDefaultValue$0: function() {
      return this._defaultValue;
    },
    didUpdateValue$1: function(oldValue) {
      this.notifyListeners$0();
    },
    fromPrimitives$1: function(serialized) {
      return H._instanceType(this)._eval$1("_RestorablePrimitiveValueN.T")._as(serialized);
    },
    toPrimitives$0: function() {
      return this._restoration_properties$_value;
    }
  };
  U._RestorablePrimitiveValue.prototype = {
    fromPrimitives$1: function(serialized) {
      return this.super$_RestorablePrimitiveValueN$fromPrimitives(serialized);
    },
    toPrimitives$0: function() {
      var t1 = this.super$_RestorablePrimitiveValueN$toPrimitives();
      t1.toString;
      return t1;
    }
  };
  U.RestorableNum.prototype = {};
  U.RestorableBool.prototype = {};
  U.RestorableListenable.prototype = {
    initWithValue$1: function(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: function(_) {
      var t1;
      this.super$RestorableProperty$dispose(0);
      t1 = this._restoration_properties$_value;
      if (t1 != null)
        t1.removeListener$1(0, this.get$notifyListeners());
    }
  };
  U.RestorableChangeNotifier.prototype = {
    initWithValue$1: function(value) {
      this._disposeOldValue$0();
      this.super$RestorableListenable$initWithValue(value);
    },
    dispose$0: function(_) {
      this._disposeOldValue$0();
      this.super$RestorableListenable$dispose(0);
    },
    _disposeOldValue$0: function() {
      var t1 = this._restoration_properties$_value;
      if (t1 != null)
        P.scheduleMicrotask(t1.get$dispose(t1));
    }
  };
  U.RestorableTextEditingController.prototype = {
    createDefaultValue$0: function() {
      return new D.TextEditingController(this._initialValue, P.List_List$filled(0, null, false, type$.nullable_void_Function));
    },
    fromPrimitives$1: function(data) {
      data.toString;
      return D.TextEditingController$(H._asStringS(data));
    },
    toPrimitives$0: function() {
      return this._restoration_properties$_value._value.text;
    }
  };
  Z.__RouterState_State_RestorationMixin_dispose_closure.prototype = {
    call$2: function(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 69
  };
  Z.RouteInformation.prototype = {};
  Z.Router.prototype = {
    createState$0: function() {
      var _null = null;
      return new Z._RouterState(C._IntentionToReportRouteInformation_0, new Z._RestorableRouteInformation(P.List_List$filled(0, _null, false, type$.nullable_void_Function)), _null, P.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), _null, true, _null, C._StateLifecycle_0, this.$ti._eval$1("_RouterState<1>"));
    }
  };
  Z._IntentionToReportRouteInformation.prototype = {
    toString$0: function(_) {
      return this._router$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  Z._RouterState.prototype = {
    get$restorationId: function() {
      return this._widget.restorationScopeId;
    },
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = _this._widget.routeInformationProvider;
      if (t1 != null)
        t1.addListener$1(0, _this.get$_handleRouteInformationProviderNotification());
      t1 = _this._widget.backButtonDispatcher;
      if (t1 != null)
        t1.addCallback$1(_this.get$_handleBackButtonDispatcherNotification());
      _this._widget.routerDelegate.addListener$1(0, _this.get$_handleRouterDelegateNotification());
    },
    restoreState$2: function(oldBucket, initialRestore) {
      var _this = this,
        t1 = _this._routeInformation;
      _this.registerForRestoration$2(t1, "route");
      t1 = t1._restoration_properties$_value;
      if (t1 != null)
        _this._processRouteInformation$2(t1, new Z._RouterState_restoreState_closure(_this));
      else {
        t1 = _this._widget.routeInformationProvider;
        if (t1 != null)
          _this._processRouteInformation$2(t1._router$_value, new Z._RouterState_restoreState_closure0(_this));
      }
    },
    _scheduleRouteInformationReportingTask$0: function() {
      var _this = this;
      if (_this._routeInformationReportingTaskScheduled || _this._widget.routeInformationProvider == null)
        return;
      _this._routeInformationReportingTaskScheduled = true;
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(_this.get$_reportRouteInformation());
    },
    _reportRouteInformation$1: function(timestamp) {
      var t1, _this = this;
      _this._routeInformationReportingTaskScheduled = false;
      t1 = _this._routeInformation._restoration_properties$_value;
      if (t1 != null) {
        switch (_this._currentIntentionToReport) {
          case C._IntentionToReportRouteInformation_0:
            return;
          case C._IntentionToReportRouteInformation_3:
            break;
          case C._IntentionToReportRouteInformation_1:
            if (_this._lastSeenLocation != t1.location)
              _this._widget.routeInformationProvider.routerReportsNewRouteInformation$1(t1);
            break;
          case C._IntentionToReportRouteInformation_2:
            _this._widget.routeInformationProvider.routerReportsNewRouteInformation$1(t1);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
        _this._lastSeenLocation = t1.location;
      }
      _this._currentIntentionToReport = C._IntentionToReportRouteInformation_0;
    },
    _retrieveNewRouteInformation$0: function() {
      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: function() {
      var t1, _this = this;
      _this._routeInformation.set$value(0, _this._retrieveNewRouteInformation$0());
      t1 = _this._currentIntentionToReport;
      _this._currentIntentionToReport = t1 !== C._IntentionToReportRouteInformation_0 ? t1 : C._IntentionToReportRouteInformation_1;
      _this._scheduleRouteInformationReportingTask$0();
    },
    didChangeDependencies$0: function() {
      this.super$__RouterState_State_RestorationMixin$didChangeDependencies();
      this._maybeNeedToReportRouteInformation$0();
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, t3, _this = this;
      _this.super$__RouterState_State_RestorationMixin$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t2 = t1.routeInformationProvider;
      t3 = oldWidget.routeInformationProvider;
      t2 = t2 == t3;
      if (!t2 || t1.backButtonDispatcher != oldWidget.backButtonDispatcher || t1.routeInformationParser != oldWidget.routeInformationParser || t1.routerDelegate != oldWidget.routerDelegate) {
        _this._currentRouteInformationParserTransaction = new P.Object();
        _this._currentRouterDelegateTransaction = new P.Object();
      }
      if (!t2) {
        t1 = t3 == null;
        if (!t1)
          t3.removeListener$1(0, _this.get$_handleRouteInformationProviderNotification());
        t2 = _this._widget.routeInformationProvider;
        if (t2 != null)
          t2.addListener$1(0, _this.get$_handleRouteInformationProviderNotification());
        t1 = t1 ? null : t3._router$_value;
        t2 = _this._widget.routeInformationProvider;
        if (t1 != (t2 == null ? null : t2._router$_value))
          _this._handleRouteInformationProviderNotification$0();
      }
      t1 = _this._widget.backButtonDispatcher;
      t2 = oldWidget.backButtonDispatcher;
      if (t1 != t2) {
        if (t2 != null)
          t2.removeCallback$1(_this.get$_handleBackButtonDispatcherNotification());
        t1 = _this._widget.backButtonDispatcher;
        if (t1 != null)
          t1.addCallback$1(_this.get$_handleBackButtonDispatcherNotification());
      }
      t1 = _this._widget.routerDelegate;
      t2 = oldWidget.routerDelegate;
      if (t1 != t2) {
        t1 = _this.get$_handleRouterDelegateNotification();
        t2.removeListener$1(0, t1);
        _this._widget.routerDelegate.addListener$1(0, t1);
        _this._maybeNeedToReportRouteInformation$0();
      }
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._widget.routeInformationProvider;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_handleRouteInformationProviderNotification());
      t1 = _this._widget.backButtonDispatcher;
      if (t1 != null)
        t1.removeCallback$1(_this.get$_handleBackButtonDispatcherNotification());
      _this._widget.routerDelegate.removeListener$1(0, _this.get$_handleRouterDelegateNotification());
      _this._currentRouterDelegateTransaction = _this._currentRouteInformationParserTransaction = null;
      _this.super$__RouterState_State_RestorationMixin$dispose(0);
    },
    _processRouteInformation$2: function(information, delegateRouteSetter) {
      var t1, uri, path, t2, t3, t4, _this = this;
      _this._currentRouteInformationParserTransaction = new P.Object();
      _this._currentRouterDelegateTransaction = new P.Object();
      t1 = information.location;
      _this._lastSeenLocation = t1;
      _this._widget.routeInformationParser.toString;
      uri = P.Uri_parse(t1, 0, null);
      if (J.$index$asx(uri.get$queryParameters(), "uri") == null)
        $.globals.$index(0, C.Type_ServiceConnectionManager_qdG).vmServiceClosed$1$connectionState(C.ConnectedState_false_true);
      path = uri.get$path(uri).length !== 0 ? C.JSString_methods.substring$1(uri.get$path(uri), 1) : "";
      t1 = uri.get$queryParameters();
      t2 = _this._currentRouteInformationParserTransaction;
      t3 = _this._widget;
      t3.toString;
      t4 = type$.void;
      t3 = new O.SynchronousFuture(new T.DevToolsRouteConfiguration(path, t1), type$.SynchronousFuture_legacy_DevToolsRouteConfiguration).then$1$1(0, _this._verifyRouteInformationParserStillCurrent$2(t2, t3), _this.$ti._precomputed1).then$1$1(0, delegateRouteSetter.call$0(), t4);
      t2 = _this._currentRouterDelegateTransaction;
      t1 = _this._widget;
      t1.toString;
      t3.then$1$1(0, _this._verifyRouterDelegatePushStillCurrent$2(t2, t1), t4).then$1$1(0, _this.get$_router$_rebuild(), t4);
    },
    _handleRouteInformationProviderNotification$0: function() {
      this._processRouteInformation$2(this._widget.routeInformationProvider._router$_value, new Z._RouterState__handleRouteInformationProviderNotification_closure(this));
    },
    _handleBackButtonDispatcherNotification$0: function() {
      var t1, t2, t3, t4, _this = this;
      _this._currentRouteInformationParserTransaction = new P.Object();
      _this._currentRouterDelegateTransaction = new P.Object();
      t1 = _this._widget.routerDelegate.popRoute$0();
      t2 = _this._currentRouterDelegateTransaction;
      t3 = _this._widget;
      t3.toString;
      t4 = type$.bool;
      return t1.then$1$1(0, _this._verifyRouterDelegatePopStillCurrent$2(t2, t3), t4).then$1$1(0, new Z._RouterState__handleBackButtonDispatcherNotification_closure(_this), t4);
    },
    _verifyRouteInformationParserStillCurrent$2: function(transaction, originalWidget) {
      return new Z._RouterState__verifyRouteInformationParserStillCurrent_closure(this, transaction, originalWidget);
    },
    _verifyRouterDelegatePushStillCurrent$2: function(transaction, originalWidget) {
      return new Z._RouterState__verifyRouterDelegatePushStillCurrent_closure(this, transaction, originalWidget);
    },
    _verifyRouterDelegatePopStillCurrent$2: function(transaction, originalWidget) {
      return new Z._RouterState__verifyRouterDelegatePopStillCurrent_closure(this, transaction, originalWidget);
    },
    _router$_rebuild$1: function(value) {
      this.setState$1(new Z._RouterState__rebuild_closure());
      this._maybeNeedToReportRouteInformation$0();
      return new O.SynchronousFuture(value, type$.SynchronousFuture_void);
    },
    _router$_rebuild$0: function() {
      return this._router$_rebuild$1(null);
    },
    _handleRouterDelegateNotification$0: function() {
      this.setState$1(new Z._RouterState__handleRouterDelegateNotification_closure());
      this._maybeNeedToReportRouteInformation$0();
    },
    build$1: function(_, context) {
      var t1 = this.RestorationMixin__bucket,
        t2 = this._widget,
        t3 = t2.routeInformationProvider,
        t4 = t2.backButtonDispatcher,
        t5 = t2.routeInformationParser;
      t2 = t2.routerDelegate;
      return K.UnmanagedRestorationScope$(t1, new Z._RouterScope(t3, t4, t5, t2, this, new T.Builder(t2.get$build(t2), null), null));
    }
  };
  Z._RouterState_restoreState_closure.prototype = {
    call$0: function() {
      return this.$this._widget.routerDelegate.get$setRestoredRoutePath();
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Future<~>(1)()");
    }
  };
  Z._RouterState_restoreState_closure0.prototype = {
    call$0: function() {
      return this.$this._widget.routerDelegate.get$setInitialRoutePath();
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Future<~>(1)()");
    }
  };
  Z._RouterState__handleRouteInformationProviderNotification_closure.prototype = {
    call$0: function() {
      return this.$this._widget.routerDelegate.get$setNewRoutePath();
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Future<~>(1)()");
    }
  };
  Z._RouterState__handleBackButtonDispatcherNotification_closure.prototype = {
    call$1: function(data) {
      this.$this._router$_rebuild$0();
      return new O.SynchronousFuture(data, type$.SynchronousFuture_bool);
    },
    $signature: 228
  };
  Z._RouterState__verifyRouteInformationParserStillCurrent_closure.prototype = {
    call$1: function(data) {
      var t2, t3,
        t1 = this.$this;
      if (this.transaction == t1._currentRouteInformationParserTransaction) {
        t2 = t1._widget;
        t3 = this.originalWidget;
        t2 = t2.routeInformationProvider == t3.routeInformationProvider && t2.backButtonDispatcher == t3.backButtonDispatcher && t2.routeInformationParser == t3.routeInformationParser && t2.routerDelegate == t3.routerDelegate;
      } else
        t2 = false;
      if (t2)
        return new O.SynchronousFuture(data, t1.$ti._eval$1("SynchronousFuture<1>"));
      return t1.$ti._eval$1("Future<1>")._as($.$get$_RouterState__never());
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Future<1>(1)");
    }
  };
  Z._RouterState__verifyRouterDelegatePushStillCurrent_closure.prototype = {
    call$1: function(data) {
      var t2,
        t1 = this.$this;
      if (this.transaction == t1._currentRouterDelegateTransaction) {
        t1 = t1._widget;
        t2 = this.originalWidget;
        t1 = t1.routeInformationProvider == t2.routeInformationProvider && t1.backButtonDispatcher == t2.backButtonDispatcher && t1.routeInformationParser == t2.routeInformationParser && t1.routerDelegate == t2.routerDelegate;
      } else
        t1 = false;
      if (t1)
        return new O.SynchronousFuture(data, type$.SynchronousFuture_void);
      return $.$get$_RouterState__never();
    },
    $signature: 951
  };
  Z._RouterState__verifyRouterDelegatePopStillCurrent_closure.prototype = {
    call$1: function(data) {
      var t2,
        t1 = this.$this;
      if (this.transaction == t1._currentRouterDelegateTransaction) {
        t1 = t1._widget;
        t2 = this.originalWidget;
        t1 = t1.routeInformationProvider == t2.routeInformationProvider && t1.backButtonDispatcher == t2.backButtonDispatcher && t1.routeInformationParser == t2.routeInformationParser && t1.routerDelegate == t2.routerDelegate;
      } else
        t1 = false;
      if (t1)
        return new O.SynchronousFuture(data, type$.SynchronousFuture_bool);
      return new O.SynchronousFuture(true, type$.SynchronousFuture_bool);
    },
    $signature: 228
  };
  Z._RouterState__rebuild_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  Z._RouterState__handleRouterDelegateNotification_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  Z._RouterScope.prototype = {
    updateShouldNotify$1: function(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;
    }
  };
  Z._CallbackHookProvider.prototype = {
    get$hasCallbacks: function() {
      return this._callbacks._observer_list$_list.length !== 0;
    },
    addCallback$1: function(callback) {
      var t1 = this._callbacks;
      t1._isDirty = true;
      t1._observer_list$_list.push(callback);
      return null;
    },
    removeCallback$1: function(callback) {
      return this._callbacks.remove$1(0, callback);
    },
    invokeCallback$1: function(defaultValue) {
      var exception, stack, exception0,
        t1 = this._callbacks;
      if (t1._observer_list$_list.length === 0)
        return defaultValue;
      try {
        t1 = t1.single$0(0);
        return t1;
      } catch (exception0) {
        exception = H.unwrapException(exception0);
        stack = H.getTraceFromException(exception0);
        t1 = U.ErrorDescription$("while invoking the callback for " + H.getRuntimeType(this).toString$0(0));
        U.FlutterError_reportError(new U.FlutterErrorDetails(exception, stack, "widget library", t1, new Z._CallbackHookProvider_invokeCallback_closure(this), false));
        return defaultValue;
      }
    }
  };
  Z._CallbackHookProvider_invokeCallback_closure.prototype = {
    call$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
        return function $async$call$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
                t1 = $async$self.$this;
                $async$goto = 2;
                return Y.DiagnosticsProperty$("The " + H.getRuntimeType(t1).toString$0(0) + " that invoked the callback was", t1, true, C.C__NoDefaultValue, null, false, null, null, C.DiagnosticLevel_3, null, false, true, true, C.DiagnosticsTreeStyle_9, null, H._instanceType(t1)._eval$1("_CallbackHookProvider<_CallbackHookProvider.T>"));
              case 2:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  Z.BackButtonDispatcher.prototype = {
    get$_router$_children: function(_) {
      var t1 = this.__BackButtonDispatcher__children;
      if (t1 === $) {
        t1 = type$.LinkedHashSet_ChildBackButtonDispatcher._as(P.LinkedHashSet_LinkedHashSet$_empty(type$.ChildBackButtonDispatcher));
        this.__BackButtonDispatcher__children = t1;
      }
      return t1;
    },
    invokeCallback$1: function(defaultValue) {
      var t2, children, childIndex, _this = this, t1 = {};
      if (_this.get$_router$_children(_this)._collection$_length !== 0) {
        t2 = _this.get$_router$_children(_this);
        t2.toString;
        children = P.List_List$of(t2, true, H._instanceType(t2)._eval$1("SetMixin.E"));
        childIndex = children.length - 1;
        t1.childIndex = childIndex;
        return children[childIndex].notifiedByParent$1(defaultValue).then$1$1(0, new Z.BackButtonDispatcher_invokeCallback_notifyNextChild(t1, _this, children, defaultValue), type$.bool);
      }
      return _this.super$_CallbackHookProvider$invokeCallback(defaultValue);
    }
  };
  Z.BackButtonDispatcher_invokeCallback_notifyNextChild.prototype = {
    call$1: function(result) {
      var t1, t2, childIndex, _this = this;
      if (result)
        return new O.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(0, _this, type$.bool);
      }
      return _this.$this.super$_CallbackHookProvider$invokeCallback(_this.defaultValue);
    },
    $signature: 952
  };
  Z.RootBackButtonDispatcher.prototype = {
    addCallback$1: function(callback) {
      var _this = this;
      if (!(Z._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: function(callback) {
      var _this = this;
      _this.super$_CallbackHookProvider$removeCallback(callback);
      if (!(Z._CallbackHookProvider.prototype.get$hasCallbacks.call(_this) || _this.get$_router$_children(_this)._collection$_length !== 0))
        C.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, _this);
    },
    didPopRoute$0: function() {
      return this.invokeCallback$1(P.Future_Future$value(false, type$.bool));
    }
  };
  Z.RouteInformationParser.prototype = {};
  Z.RouterDelegate.prototype = {
    setInitialRoutePath$1: function(configuration) {
      this._replaceStack$1(configuration);
      return new O.SynchronousFuture(null, type$.SynchronousFuture_void);
    },
    setRestoredRoutePath$1: function(configuration) {
      this._replaceStack$1(configuration);
      return new O.SynchronousFuture(null, type$.SynchronousFuture_void);
    }
  };
  Z.RouteInformationProvider.prototype = {};
  Z.PlatformRouteInformationProvider.prototype = {
    routerReportsNewRouteInformation$1: function(routeInformation) {
      var t1;
      C.OptionalMethodChannel_urv.invokeMethod$1$1("selectMultiEntryHistory", type$.void);
      t1 = routeInformation.location;
      t1.toString;
      M.SystemNavigator_routeInformationUpdated(t1, routeInformation.state);
      this._router$_value = routeInformation;
    },
    _platformReportsNewRouteInformation$1: function(routeInformation) {
      if (this._router$_value === routeInformation)
        return;
      this._router$_value = routeInformation;
      this.notifyListeners$0();
    },
    addListener$1: function(_, listener) {
      if (this.ChangeNotifier__count <= 0)
        $.WidgetsBinding__instance.WidgetsBinding__observers.push(this);
      this.super$ChangeNotifier$addListener(0, listener);
    },
    removeListener$1: function(_, listener) {
      this.super$ChangeNotifier$removeListener(0, listener);
      if (this.ChangeNotifier__count <= 0)
        C.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, this);
    },
    dispose$0: function(_) {
      if (this.ChangeNotifier__count > 0)
        C.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, this);
      this.super$ChangeNotifier$dispose(0);
    },
    didPushRouteInformation$1: function(routeInformation) {
      return this.didPushRouteInformation$body$PlatformRouteInformationProvider(routeInformation);
    },
    didPushRouteInformation$body$PlatformRouteInformationProvider: function(routeInformation) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this;
      var $async$didPushRouteInformation$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._platformReportsNewRouteInformation$1(routeInformation);
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$didPushRouteInformation$1, $async$completer);
    },
    didPushRoute$1: function(route) {
      return this.didPushRoute$body$PlatformRouteInformationProvider(route);
    },
    didPushRoute$body$PlatformRouteInformationProvider: function(route) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this;
      var $async$didPushRoute$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._platformReportsNewRouteInformation$1(new Z.RouteInformation(route, null));
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$didPushRoute$1, $async$completer);
    }
  };
  Z.PopNavigatorRouterDelegateMixin.prototype = {
    popRoute$0: function() {
      var $navigator = this.navigatorKey.get$currentState();
      if ($navigator == null)
        return new O.SynchronousFuture(false, type$.SynchronousFuture_bool);
      return $navigator.maybePop$0();
    }
  };
  Z._RestorableRouteInformation.prototype = {
    createDefaultValue$0: function() {
      return null;
    },
    didUpdateValue$1: function(oldValue) {
      this.notifyListeners$0();
    },
    fromPrimitives$1: function(data) {
      var t1;
      if (data == null)
        return null;
      type$.List_nullable_Object._as(data);
      t1 = J.getInterceptor$ax(data);
      return new Z.RouteInformation(H._asStringQ(t1.get$first(data)), t1.get$last(data));
    },
    toPrimitives$0: function() {
      var t1 = this._restoration_properties$_value;
      return t1 == null ? null : [t1.location, t1.state];
    }
  };
  Z._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver.prototype = {};
  Z._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver_ChangeNotifier.prototype = {};
  Z._RootBackButtonDispatcher_BackButtonDispatcher_WidgetsBindingObserver.prototype = {};
  Z.__RouterState_State_RestorationMixin.prototype = {
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0: function() {
      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 = K.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(0);
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new Z.__RouterState_State_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0(0);
      _this.RestorationMixin__bucket = null;
      _this.super$State$dispose(0);
    }
  };
  T.OverlayRoute.prototype = {
    get$overlayEntries: function() {
      return this._overlayEntries;
    },
    install$0: function() {
      C.JSArray_methods.addAll$1(this._overlayEntries, this.createOverlayEntries$0());
      this.super$Route$install();
    },
    didPop$1: function(result) {
      var _this = this;
      _this.super$Route$didPop(result);
      if (_this._routes$_controller.get$_status() === C.AnimationStatus_0)
        _this._navigator$_navigator.finalizeRoute$1(_this);
      return true;
    },
    dispose$0: function(_) {
      C.JSArray_methods.set$length(this._overlayEntries, 0);
      this.super$Route$dispose(0);
    }
  };
  T.TransitionRoute.prototype = {
    get$animation: function(_) {
      return this._animation;
    },
    get$secondaryAnimation: function() {
      return this._secondaryAnimation;
    },
    createAnimation$0: function() {
      var t1 = this._routes$_controller;
      t1.toString;
      return t1;
    },
    _handleStatusChanged$1: function($status) {
      var t1, _this = this;
      switch ($status) {
        case C.AnimationStatus_3:
          t1 = _this._overlayEntries;
          if (t1.length !== 0)
            C.JSArray_methods.get$first(t1).set$opaque(_this.get$opaque());
          break;
        case C.AnimationStatus_1:
        case C.AnimationStatus_2:
          t1 = _this._overlayEntries;
          if (t1.length !== 0)
            C.JSArray_methods.get$first(t1).set$opaque(false);
          break;
        case C.AnimationStatus_0:
          if (!_this.get$isActive())
            _this._navigator$_navigator.finalizeRoute$1(_this);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    install$0: function() {
      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 = G.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) === C.AnimationStatus_3 && _this._overlayEntries.length !== 0)
        C.JSArray_methods.get$first(_this._overlayEntries).set$opaque(_this.get$opaque());
    },
    didPush$0: function() {
      this.super$Route$didPush();
      return this._routes$_controller.forward$0(0);
    },
    didAdd$0: function() {
      this.super$Route$didAdd();
      var t1 = this._routes$_controller;
      t1.set$value(0, t1.upperBound);
    },
    didReplace$1: function(oldRoute) {
      var t1;
      if (oldRoute instanceof T.TransitionRoute) {
        t1 = this._routes$_controller;
        t1.toString;
        t1.set$value(0, oldRoute._routes$_controller.get$_animation_controller$_value());
      }
      this.super$Route$didReplace(oldRoute);
    },
    didPop$1: function(result) {
      this._result = result;
      this._routes$_controller.reverse$0(0);
      this.super$OverlayRoute$didPop(result);
      return true;
    },
    didPopNext$1: function(nextRoute) {
      this._updateSecondaryAnimation$1(nextRoute);
      this.super$Route$didPopNext(nextRoute);
    },
    didChangeNext$1: function(nextRoute) {
      this._updateSecondaryAnimation$1(nextRoute);
      this.super$Route$didChangeNext(nextRoute);
    },
    _updateSecondaryAnimation$1: function(nextRoute) {
      var current, t2, t3, t4, t5, newAnimation, _this = this, t1 = {},
        previousTrainHoppingListenerRemover = _this._trainHoppingListenerRemover;
      _this._trainHoppingListenerRemover = null;
      if (nextRoute instanceof T.TransitionRoute && _this.canTransitionTo$1(nextRoute) && nextRoute.canTransitionFrom$1(_this)) {
        current = _this._secondaryAnimation._animations$_parent;
        if (current != null) {
          t2 = current instanceof S.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) === C.AnimationStatus_3 || t3.get$status(t3) === C.AnimationStatus_0;
          t5 = nextRoute._transitionCompleter.future;
          if (t4)
            _this._setSecondaryAnimation$2(t3, t5);
          else {
            t1.newAnimation = null;
            t4 = new T.TransitionRoute__updateSecondaryAnimation__jumpOnAnimationEnd(_this, t3, nextRoute);
            _this._trainHoppingListenerRemover = new T.TransitionRoute__updateSecondaryAnimation_closure(t1, t3, t4);
            t3.addStatusListener$1(t4);
            newAnimation = S.TrainHoppingAnimation$(t2, t3, new T.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(C.C__AlwaysDismissedAnimation);
      if (previousTrainHoppingListenerRemover != null)
        previousTrainHoppingListenerRemover.call$0();
    },
    _setSecondaryAnimation$2: function(animation, disposed) {
      this._secondaryAnimation.set$parent(0, animation);
      if (disposed != null)
        disposed.then$1$1(0, new T.TransitionRoute__setSecondaryAnimation_closure(this, animation), type$.Null);
    },
    _setSecondaryAnimation$1: function(animation) {
      return this._setSecondaryAnimation$2(animation, null);
    },
    canTransitionTo$1: function(nextRoute) {
      return true;
    },
    canTransitionFrom$1: function(previousRoute) {
      return true;
    },
    dispose$0: function(_) {
      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(0);
      _this._transitionCompleter.complete$1(0, _this._result);
      _this.super$OverlayRoute$dispose(0);
    },
    get$debugLabel: function() {
      return "TransitionRoute";
    },
    toString$0: function(_) {
      return "TransitionRoute(animation: " + H.S(this._routes$_controller) + ")";
    }
  };
  T.TransitionRoute__updateSecondaryAnimation__jumpOnAnimationEnd.prototype = {
    call$1: function($status) {
      var t1, t2;
      switch ($status) {
        case C.AnimationStatus_3:
        case C.AnimationStatus_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 C.AnimationStatus_1:
        case C.AnimationStatus_2:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $signature: 12
  };
  T.TransitionRoute__updateSecondaryAnimation_closure.prototype = {
    call$0: function() {
      this.nextTrain.removeStatusListener$1(this._jumpOnAnimationEnd);
      var t1 = this._box_0.newAnimation;
      if (t1 != null)
        t1.dispose$0(0);
    },
    $signature: 0
  };
  T.TransitionRoute__updateSecondaryAnimation_closure0.prototype = {
    call$0: function() {
      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
  };
  T.TransitionRoute__setSecondaryAnimation_closure.prototype = {
    call$1: function(_) {
      var t1 = this.$this._secondaryAnimation,
        t2 = this.animation;
      if (t1._animations$_parent == t2) {
        t1.set$parent(0, C.C__AlwaysDismissedAnimation);
        if (t2 instanceof S.TrainHoppingAnimation)
          t2.dispose$0(0);
      }
    },
    $signature: 5
  };
  T.LocalHistoryRoute.prototype = {};
  T._DismissModalAction.prototype = {
    isEnabled$1: function(_, intent) {
      return T.ModalRoute_of(this.context, type$.dynamic).get$barrierDismissible();
    },
    invoke$1: function(intent) {
      return K.Navigator_of(this.context, false).maybePop$0();
    }
  };
  T._ModalScopeStatus.prototype = {
    updateShouldNotify$1: function(old) {
      return this.isCurrent !== old.isCurrent || this.canPop !== old.canPop || this.route !== old.route;
    }
  };
  T._ModalScope.prototype = {
    createState$0: function() {
      return new T._ModalScopeState(O.FocusScopeNode$(true, C.Type__ModalScopeState_Yap.toString$0(0) + " Focus Scope", false), F.ScrollController$(0), C._StateLifecycle_0, this.$ti._eval$1("_ModalScopeState<1>"));
    }
  };
  T._ModalScopeState.prototype = {
    initState$0: function() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = H._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 B._MergingListenable(t1);
      if (_this._widget.route.get$isCurrent())
        _this._widget.route._navigator$_navigator.focusScopeNode.setFirstFocus$1(_this.focusScopeNode);
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.route.get$isCurrent())
        _this._widget.route._navigator$_navigator.focusScopeNode.setFirstFocus$1(_this.focusScopeNode);
    },
    didChangeDependencies$0: function() {
      this.super$State$didChangeDependencies();
      this._page = null;
    },
    _forceRebuildPage$0: function() {
      this.setState$1(new T._ModalScopeState__forceRebuildPage_closure(this));
    },
    dispose$0: function(_) {
      this.focusScopeNode.dispose$0(0);
      this.super$State$dispose(0);
    },
    get$_shouldIgnoreFocusRequest: function() {
      var t1 = this._widget.route._animationProxy;
      if ((t1 == null ? null : t1.get$status(t1)) !== C.AnimationStatus_2) {
        t1 = this._widget.route._navigator$_navigator;
        t1 = t1 == null ? null : t1.userGestureInProgressNotifier._value;
        t1 = t1 === true;
      } else
        t1 = true;
      return t1;
    },
    build$1: function(_, context) {
      var t4, _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;
      return K.AnimatedBuilder$(t1._restorationScopeId, new T._ModalScopeState_build_closure(_this), new T._ModalScopeStatus(t2, t3, t1, new T.Offstage(t4._offstage, new S.PageStorage(new T.Builder(new T._ModalScopeState_build_closure0(_this), _null), t4._storageBucket, _null), _null), _null));
    }
  };
  T._ModalScopeState__forceRebuildPage_closure.prototype = {
    call$0: function() {
      this.$this._page = null;
    },
    $signature: 0
  };
  T._ModalScopeState_build_closure.prototype = {
    call$2: function(context, child) {
      var t1 = this.$this._widget.route._restorationScopeId._value;
      child.toString;
      return new K.RestorationScope(child, t1, null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 954
  };
  T._ModalScopeState_build_closure0.prototype = {
    call$1: function(context) {
      var t4, _null = null,
        t1 = P.LinkedHashMap_LinkedHashMap$_literal([C.Type_DismissIntent_Fb0, new T._DismissModalAction(context, new R.ObserverList(H._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.___ModalScopeState__listenable;
      if (t3 === $)
        t3 = H.throwExpression(H.LateError$fieldNI("_listenable"));
      t4 = t2._page;
      if (t4 == null)
        t4 = t2._page = new T.RepaintBoundary(new T.Builder(new T._ModalScopeState_build__closure(t2), _null), t2._widget.route._subtreeKey);
      return new U.Actions(t1, E.PrimaryScrollController$(L.FocusScope$(false, new T.RepaintBoundary(K.AnimatedBuilder$(t3, new T._ModalScopeState_build__closure0(t2), t4), _null), _null, t2.focusScopeNode), t2.primaryScrollController), _null);
    },
    $signature: 955
  };
  T._ModalScopeState_build__closure0.prototype = {
    call$2: function(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 B.ValueNotifier(false, P.List_List$filled(0, null, false, type$.nullable_void_Function), type$.ValueNotifier_bool);
      return t2.buildTransitions$4(context, t3, t4, K.AnimatedBuilder$(t5, new T._ModalScopeState_build___closure(t1), child));
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 80
  };
  T._ModalScopeState_build___closure.prototype = {
    call$2: function(context, child) {
      var t1 = this.$this,
        ignoreEvents = t1.get$_shouldIgnoreFocusRequest();
      t1.focusScopeNode.set$canRequestFocus(!ignoreEvents);
      return new T.IgnorePointer(ignoreEvents, null, child, null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 956
  };
  T._ModalScopeState_build__closure.prototype = {
    call$1: function(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: 30
  };
  T.ModalRoute.prototype = {
    setState$1: function(fn) {
      var t1 = this._scopeKey;
      if (t1.get$currentState() != null) {
        t1 = t1.get$currentState();
        if (t1._widget.route.get$isCurrent() && !t1.get$_shouldIgnoreFocusRequest())
          t1._widget.route._navigator$_navigator.focusScopeNode.setFirstFocus$1(t1.focusScopeNode);
        t1.setState$1(fn);
      } else
        fn.call$0();
    },
    buildTransitions$4: function(context, animation, secondaryAnimation, child) {
      return child;
    },
    install$0: function() {
      var _this = this;
      _this.super$TransitionRoute$install();
      _this._animationProxy = S.ProxyAnimation$(T.TransitionRoute.prototype.get$animation.call(_this, _this));
      _this._secondaryAnimationProxy = S.ProxyAnimation$(T.TransitionRoute.prototype.get$secondaryAnimation.call(_this));
    },
    didPush$0: function() {
      var t1 = this._scopeKey;
      if (t1.get$currentState() != null)
        this._navigator$_navigator.focusScopeNode.setFirstFocus$1(t1.get$currentState().focusScopeNode);
      return this.super$TransitionRoute$didPush();
    },
    didAdd$0: function() {
      var t1 = this._scopeKey;
      if (t1.get$currentState() != null)
        this._navigator$_navigator.focusScopeNode.setFirstFocus$1(t1.get$currentState().focusScopeNode);
      this.super$TransitionRoute$didAdd();
    },
    set$offstage: function(value) {
      var t1, _this = this;
      if (_this._offstage === value)
        return;
      _this.setState$1(new T.ModalRoute_offstage_closure(_this, value));
      t1 = _this._animationProxy;
      t1.toString;
      t1.set$parent(0, _this._offstage ? C.C__AlwaysCompleteAnimation : T.TransitionRoute.prototype.get$animation.call(_this, _this));
      t1 = _this._secondaryAnimationProxy;
      t1.toString;
      t1.set$parent(0, _this._offstage ? C.C__AlwaysDismissedAnimation : T.TransitionRoute.prototype.get$secondaryAnimation.call(_this));
      _this.changedInternalState$0();
    },
    willPop$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.RoutePopDisposition),
        $async$returnValue, $async$self = this, t1, t2, _i, $async$temp1;
      var $async$willPop$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._scopeKey.get$currentState();
              t1 = P.List_List$from($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 P._asyncAwait(t1[_i].call$0(), $async$willPop$0);
            case 6:
              // returning from await.
              if (!$async$temp1.$eq$($async$result, true)) {
                $async$returnValue = C.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$willPop$0, $async$completer);
    },
    didChangePrevious$1: function(previousRoute) {
      this.super$Route$didChangePrevious(previousRoute);
      this.changedInternalState$0();
    },
    changedInternalState$0: function() {
      var t1, _this = this;
      _this.super$Route$changedInternalState();
      _this.setState$1(new T.ModalRoute_changedInternalState_closure());
      _this.get$_modalBarrier().markNeedsBuild$0();
      t1 = _this.__ModalRoute__modalScope;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("_modalScope"));
      _this.get$maintainState();
      t1.set$maintainState(true);
    },
    changedExternalState$0: function() {
      this.super$Route$changedExternalState();
      this.get$_modalBarrier().markNeedsBuild$0();
      var t1 = this._scopeKey;
      if (t1.get$currentState() != null)
        t1.get$currentState()._forceRebuildPage$0();
    },
    get$_modalBarrier: function() {
      var t1 = this.__ModalRoute__modalBarrier;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_modalBarrier")) : t1;
    },
    _buildModalBarrier$1: function(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 = P.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 X.AnimatedModalBarrier(_this.get$barrierDismissible(), _this.get$barrierLabel(), true, new R._AnimatedEvaluation(t1, new R._ChainedEvaluation(new R.CurveTween(C.Cubic_JUR), new R.ColorTween(t2, t3), t4), t4._eval$1("_AnimatedEvaluation<Animatable.T>")), _null);
      } else
        barrier = new X.ModalBarrier(_null, _this.get$barrierDismissible(), true, _this.get$barrierLabel(), _null);
      t1 = _this._animationProxy;
      if (t1.get$status(t1) !== C.AnimationStatus_2) {
        t1 = _this._animationProxy;
        t1 = t1.get$status(t1) === C.AnimationStatus_0;
      } else
        t1 = true;
      barrier = new T.IgnorePointer(t1, _null, barrier, _null);
      t1 = _this.get$barrierDismissible();
      return t1 ? T.Semantics$(_null, _null, barrier, false, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.OrdinalSortKey_1_null, _null, _null, _null, _null) : barrier;
    },
    _buildModalScope$1: function(context) {
      var _this = this, _null = null,
        t1 = _this._modalScopeCache;
      return t1 == null ? _this._modalScopeCache = T.Semantics$(_null, _null, new T._ModalScope(_this, _this._scopeKey, H._instanceType(_this)._eval$1("_ModalScope<ModalRoute.T>")), false, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, C.OrdinalSortKey_0_null, _null, _null, _null, _null) : t1;
    },
    createOverlayEntries$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
        return function $async$createOverlayEntries$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
                t1 = X.OverlayEntry$($async$self.get$_buildModalBarrier(), false, false);
                $async$self.__ModalRoute__modalBarrier = t1;
                $async$goto = 2;
                return t1;
              case 2:
                // after yield
                $async$self.get$maintainState();
                t1 = X.OverlayEntry$($async$self.get$_buildModalScope(), true, false);
                $async$self.__ModalRoute__modalScope = t1;
                $async$goto = 3;
                return t1;
              case 3:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.OverlayEntry);
    },
    toString$0: function(_) {
      return "ModalRoute(" + H.S(this._settings) + ", animation: " + H.S(this._animation) + ")";
    }
  };
  T.ModalRoute_offstage_closure.prototype = {
    call$0: function() {
      this.$this._offstage = this.value;
    },
    $signature: 0
  };
  T.ModalRoute_changedInternalState_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  T.PopupRoute.prototype = {
    get$opaque: function() {
      return false;
    },
    get$maintainState: function() {
      return true;
    }
  };
  T.RawDialogRoute.prototype = {
    get$barrierDismissible: function() {
      return this._barrierDismissible;
    },
    get$barrierLabel: function() {
      return this._barrierLabel;
    },
    get$barrierColor: function() {
      return this._barrierColor;
    },
    get$transitionDuration: function(_) {
      return this._transitionDuration;
    },
    buildPage$3: function(context, animation, secondaryAnimation) {
      var _null = null;
      return T.Semantics$(_null, _null, this._pageBuilder.call$3(context, animation, secondaryAnimation), false, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null);
    },
    buildTransitions$4: function(context, animation, secondaryAnimation, child) {
      return this._transitionBuilder.call$4(context, animation, secondaryAnimation, child);
    }
  };
  T._ModalRoute_TransitionRoute_LocalHistoryRoute.prototype = {
    willPop$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.RoutePopDisposition),
        $async$returnValue, $async$self = this, t1;
      var $async$willPop$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.LocalHistoryRoute__localHistory;
              if (t1 != null && t1.length !== 0) {
                $async$returnValue = C.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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$willPop$0, $async$completer);
    },
    didPop$1: function(result) {
      var entry, _this = this,
        t1 = _this.LocalHistoryRoute__localHistory;
      if (t1 != null && t1.length !== 0) {
        entry = t1.pop();
        entry._routes$_owner = null;
        entry._notifyRemoved$0();
        if (_this.LocalHistoryRoute__localHistory.length === 0)
          _this.changedInternalState$0();
        return false;
      }
      _this.super$TransitionRoute$didPop(result);
      return true;
    }
  };
  Q.SafeArea.prototype = {
    build$1: function(_, context) {
      var t2, t3, t4, t5, t6, t7, _this = this,
        padding = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.padding,
        t1 = padding.bottom;
      t1 === 0;
      t2 = _this.minimum;
      t3 = Math.max(H.checkNum(padding.left), H.checkNum(t2.left));
      t4 = _this.top;
      t5 = Math.max(H.checkNum(t4 ? padding.top : 0), H.checkNum(t2.top));
      t6 = Math.max(H.checkNum(padding.right), H.checkNum(t2.right));
      t7 = _this.bottom;
      return new T.Padding(new V.EdgeInsets(t3, t5, t6, Math.max(H.checkNum(t7 ? t1 : 0), H.checkNum(t2.bottom))), F.MediaQuery_MediaQuery$removePadding(_this.child, context, t7, true, true, t4), null);
    }
  };
  M.ScrollActivity.prototype = {
    get$delegate: function() {
      return this._scroll_activity$_delegate;
    },
    resetActivity$0: function() {
    },
    dispatchScrollStartNotification$2: function(metrics, context) {
      new G.ScrollStartNotification(null, metrics, context, 0).dispatch$1(context);
    },
    dispatchScrollUpdateNotification$3: function(metrics, context, scrollDelta) {
      new G.ScrollUpdateNotification(null, scrollDelta, metrics, context, 0).dispatch$1(context);
    },
    dispatchOverscrollNotification$3: function(metrics, context, overscroll) {
      new G.OverscrollNotification(null, overscroll, 0, metrics, context, 0).dispatch$1(context);
    },
    dispatchScrollEndNotification$2: function(metrics, context) {
      new G.ScrollEndNotification(null, metrics, context, 0).dispatch$1(context);
    },
    applyNewDimensions$0: function() {
    },
    dispose$0: function(_) {
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this);
    }
  };
  M.IdleScrollActivity.prototype = {
    applyNewDimensions$0: function() {
      this._scroll_activity$_delegate.goBallistic$1(0);
    },
    get$shouldIgnorePointer: function() {
      return false;
    },
    get$isScrolling: function() {
      return false;
    },
    get$velocity: function() {
      return 0;
    }
  };
  M.HoldScrollActivity.prototype = {
    get$shouldIgnorePointer: function() {
      return false;
    },
    get$isScrolling: function() {
      return false;
    },
    get$velocity: function() {
      return 0;
    },
    dispose$0: function(_) {
      var t1 = this.onHoldCanceled;
      if (t1 != null)
        t1.call$0();
      this.super$ScrollActivity$dispose(0);
    }
  };
  M.ScrollDragController.prototype = {
    _adjustForScrollStartThreshold$2: function(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: function(_, 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 (G.axisDirectionIsReversed(_this._scroll_activity$_delegate.context.get$axisDirection()))
        offset = -offset;
      t1 = _this._scroll_activity$_delegate;
      t1.updateUserScrollDirection$1(offset > 0 ? C.ScrollDirection_1 : C.ScrollDirection_2);
      t2 = t1._pixels;
      t2.toString;
      t1.setPixels$1(t2 - t1.physics.applyPhysicsToUserOffset$2(t1, offset));
    },
    end$1: function(_, details) {
      var velocity, isVelocityNotSubstantiallyLessThanCarriedMomentum, _this = this,
        t1 = details.primaryVelocity;
      t1.toString;
      velocity = -t1;
      if (G.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: function(_) {
      this._lastDetails = null;
      this.onDragCanceled.call$0();
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this);
    }
  };
  M.DragScrollActivity.prototype = {
    dispatchScrollStartNotification$2: function(metrics, context) {
      new G.ScrollStartNotification(type$.DragStartDetails._as(this._scroll_activity$_controller._lastDetails), metrics, context, 0).dispatch$1(context);
    },
    dispatchScrollUpdateNotification$3: function(metrics, context, scrollDelta) {
      new G.ScrollUpdateNotification(type$.DragUpdateDetails._as(this._scroll_activity$_controller._lastDetails), scrollDelta, metrics, context, 0).dispatch$1(context);
    },
    dispatchOverscrollNotification$3: function(metrics, context, overscroll) {
      new G.OverscrollNotification(type$.DragUpdateDetails._as(this._scroll_activity$_controller._lastDetails), overscroll, 0, metrics, context, 0).dispatch$1(context);
    },
    dispatchScrollEndNotification$2: function(metrics, context) {
      var lastDetails = this._scroll_activity$_controller._lastDetails;
      new G.ScrollEndNotification(lastDetails instanceof O.DragEndDetails ? lastDetails : null, metrics, context, 0).dispatch$1(context);
    },
    get$shouldIgnorePointer: function() {
      return true;
    },
    get$isScrolling: function() {
      return true;
    },
    get$velocity: function() {
      return 0;
    },
    dispose$0: function(_) {
      this._scroll_activity$_controller = null;
      this.super$ScrollActivity$dispose(0);
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this) + "(" + H.S(this._scroll_activity$_controller) + ")";
    }
  };
  M.BallisticScrollActivity.prototype = {
    get$_scroll_activity$_controller: function() {
      var t1 = this.__BallisticScrollActivity__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    resetActivity$0: function() {
      this._scroll_activity$_delegate.goBallistic$1(this.get$_scroll_activity$_controller().get$velocity());
    },
    applyNewDimensions$0: function() {
      this._scroll_activity$_delegate.goBallistic$1(this.get$_scroll_activity$_controller().get$velocity());
    },
    _scroll_activity$_tick$0: function() {
      var t1 = this.get$_scroll_activity$_controller().get$_animation_controller$_value();
      if (this._scroll_activity$_delegate.setPixels$1(t1) !== 0) {
        t1 = this._scroll_activity$_delegate;
        t1.beginActivity$1(new M.IdleScrollActivity(t1));
      }
    },
    _scroll_activity$_end$0: function() {
      this._scroll_activity$_delegate.goBallistic$1(0);
    },
    dispatchOverscrollNotification$3: function(metrics, context, overscroll) {
      new G.OverscrollNotification(null, overscroll, this.get$_scroll_activity$_controller().get$velocity(), metrics, context, 0).dispatch$1(context);
    },
    get$shouldIgnorePointer: function() {
      return true;
    },
    get$isScrolling: function() {
      return true;
    },
    get$velocity: function() {
      return this.get$_scroll_activity$_controller().get$velocity();
    },
    dispose$0: function(_) {
      this.get$_scroll_activity$_controller().dispose$0(0);
      this.super$ScrollActivity$dispose(0);
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this) + "(" + H.S(this.get$_scroll_activity$_controller()) + ")";
    }
  };
  M.DrivenScrollActivity.prototype = {
    get$_scroll_activity$_completer: function() {
      var t1 = this.__DrivenScrollActivity__completer;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_completer")) : t1;
    },
    get$_scroll_activity$_controller: function() {
      var t1 = this.__DrivenScrollActivity__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    _scroll_activity$_tick$0: function() {
      if (this._scroll_activity$_delegate.setPixels$1(this.get$_scroll_activity$_controller().get$_animation_controller$_value()) !== 0) {
        var t1 = this._scroll_activity$_delegate;
        t1.beginActivity$1(new M.IdleScrollActivity(t1));
      }
    },
    _scroll_activity$_end$0: function() {
      this._scroll_activity$_delegate.goBallistic$1(this.get$_scroll_activity$_controller().get$velocity());
    },
    dispatchOverscrollNotification$3: function(metrics, context, overscroll) {
      new G.OverscrollNotification(null, overscroll, this.get$_scroll_activity$_controller().get$velocity(), metrics, context, 0).dispatch$1(context);
    },
    get$shouldIgnorePointer: function() {
      return true;
    },
    get$isScrolling: function() {
      return true;
    },
    get$velocity: function() {
      return this.get$_scroll_activity$_controller().get$velocity();
    },
    dispose$0: function(_) {
      this.get$_scroll_activity$_completer().complete$0(0);
      this.get$_scroll_activity$_controller().dispose$0(0);
      this.super$ScrollActivity$dispose(0);
    },
    toString$0: function(_) {
      return "<optimized out>#" + Y.shortHash(this) + "(" + H.S(this.get$_scroll_activity$_controller()) + ")";
    }
  };
  Y.ScrollAwareImageProvider.prototype = {
    resolveStreamForKey$4: function(configuration, stream, key, handleError) {
      var t1, _this = this;
      if (stream._completer != null || $.PaintingBinding__instance.PaintingBinding__imageCache.containsKey$1(0, key)) {
        _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 (F.Scrollable_recommendDeferredLoadingForContext(t1)) {
        $.SchedulerBinding__instance.scheduleFrameCallback$1(new Y.ScrollAwareImageProvider_resolveStreamForKey_closure(_this, configuration, stream, key, handleError));
        return;
      }
      _this.imageProvider.resolveStreamForKey$4(configuration, stream, key, handleError);
    },
    load$2: function(_, key, decode) {
      return this.imageProvider.load$2(0, key, decode);
    },
    obtainKey$1: function(configuration) {
      return this.imageProvider.obtainKey$1(configuration);
    }
  };
  Y.ScrollAwareImageProvider_resolveStreamForKey_closure.prototype = {
    call$1: function(_) {
      var _this = this;
      P.scheduleMicrotask(new Y.ScrollAwareImageProvider_resolveStreamForKey__closure(_this.$this, _this.configuration, _this.stream, _this.key, _this.handleError));
    },
    $signature: 6
  };
  Y.ScrollAwareImageProvider_resolveStreamForKey__closure.prototype = {
    call$0: function() {
      var _this = this;
      return _this.$this.resolveStreamForKey$4(_this.configuration, _this.stream, _this.key, _this.handleError);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  K.ScrollBehavior.prototype = {
    copyWith$5$dragDevices$overscroll$physics$platform$scrollbars: function(dragDevices, overscroll, physics, platform, $scrollbars) {
      return new K._WrappedScrollBehavior(this, $scrollbars, overscroll, physics, platform, dragDevices);
    },
    copyWith$1$scrollbars: function($scrollbars) {
      return this.copyWith$5$dragDevices$overscroll$physics$platform$scrollbars(null, true, null, null, $scrollbars);
    },
    copyWith$3$overscroll$physics$platform: function(overscroll, physics, platform) {
      return this.copyWith$5$dragDevices$overscroll$physics$platform$scrollbars(null, overscroll, physics, platform, true);
    },
    getPlatform$1: function(context) {
      return U.defaultTargetPlatform();
    },
    get$dragDevices: function() {
      return C.Set_6h591;
    },
    buildViewportChrome$3: function(context, child, axisDirection) {
      switch (this.getPlatform$1(context)) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_3:
        case C.TargetPlatform_4:
        case C.TargetPlatform_5:
          return child;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
          return L.GlowingOverscrollIndicator$(axisDirection, child, C.Color_4294967295);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    buildScrollbar$3: function(context, child, details) {
      var _null = null;
      switch (this.getPlatform$1(context)) {
        case C.TargetPlatform_3:
        case C.TargetPlatform_4:
        case C.TargetPlatform_5:
          return E.RawScrollbar$(child, details.controller, C.Duration_300000, _null, _null, _null, G.scroll_notification__defaultScrollNotificationPredicate$closure(), C.Duration_0, _null, _null, C.Duration_600000);
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_2:
          return child;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    buildOverscrollIndicator$3: function(context, child, details) {
      return this.buildViewportChrome$3(context, child, details.direction);
    },
    velocityTrackerBuilder$1: function(context) {
      switch (this.getPlatform$1(context)) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_4:
          return new K.ScrollBehavior_velocityTrackerBuilder_closure();
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          return new K.ScrollBehavior_velocityTrackerBuilder_closure0();
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    getScrollPhysics$1: function(context) {
      switch (this.getPlatform$1(context)) {
        case C.TargetPlatform_2:
        case C.TargetPlatform_4:
          return C.BouncingScrollPhysics_MuS;
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          return C.ClampingScrollPhysics_KYr;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    shouldNotify$1: function(oldDelegate) {
      return false;
    },
    toString$0: function(_) {
      return "ScrollBehavior";
    }
  };
  K.ScrollBehavior_velocityTrackerBuilder_closure.prototype = {
    call$1: function($event) {
      var t1 = $event.get$kind($event),
        t2 = type$.nullable__PointAtTime;
      return new R.IOSScrollViewFlingVelocityTracker(P.List_List$filled(20, null, false, t2), t1, P.List_List$filled(20, null, false, t2));
    },
    $signature: 957
  };
  K.ScrollBehavior_velocityTrackerBuilder_closure0.prototype = {
    call$1: function($event) {
      return new R.VelocityTracker($event.get$kind($event), P.List_List$filled(20, null, false, type$.nullable__PointAtTime));
    },
    $signature: 226
  };
  K._WrappedScrollBehavior.prototype = {
    get$dragDevices: function() {
      return C.Set_6h591;
    },
    buildOverscrollIndicator$3: function(context, child, details) {
      if (this.overscrollIndicator)
        return this.delegate.buildOverscrollIndicator$3(context, child, details);
      return child;
    },
    buildScrollbar$3: function(context, child, details) {
      if (this.scrollbar)
        return this.delegate.buildScrollbar$3(context, child, details);
      return child;
    },
    copyWith$5$dragDevices$overscroll$physics$platform$scrollbars: function(dragDevices, overscroll, physics, platform, $scrollbars) {
      return this.delegate.copyWith$5$dragDevices$overscroll$physics$platform$scrollbars(dragDevices, overscroll, physics, platform, $scrollbars);
    },
    copyWith$1$scrollbars: function($scrollbars) {
      return this.copyWith$5$dragDevices$overscroll$physics$platform$scrollbars(null, true, null, null, $scrollbars);
    },
    copyWith$3$overscroll$physics$platform: function(overscroll, physics, platform) {
      return this.copyWith$5$dragDevices$overscroll$physics$platform$scrollbars(null, overscroll, physics, platform, true);
    },
    getScrollPhysics$1: function(context) {
      var t1 = this.physics;
      return t1 == null ? this.delegate.getScrollPhysics$1(context) : t1;
    },
    shouldNotify$1: function(oldDelegate) {
      var _this = this;
      return H.getRuntimeType(oldDelegate.delegate) !== H.getRuntimeType(_this.delegate) || oldDelegate.scrollbar !== _this.scrollbar || oldDelegate.overscrollIndicator !== _this.overscrollIndicator || oldDelegate.physics != _this.physics || oldDelegate.platform != _this.platform || S.setEquals(oldDelegate.get$dragDevices(), _this.get$dragDevices()) || false;
    },
    velocityTrackerBuilder$1: function(context) {
      return this.delegate.velocityTrackerBuilder$1(context);
    },
    toString$0: function(_) {
      return "_WrappedScrollBehavior";
    }
  };
  K.ScrollConfiguration.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      var t1 = this.behavior,
        t2 = H.getRuntimeType(t1),
        t3 = oldWidget.behavior;
      if (t2 === H.getRuntimeType(t3))
        t1 = t1 !== t3 && t1.shouldNotify$1(t3);
      else
        t1 = true;
      return t1;
    }
  };
  F.ScrollController.prototype = {
    get$position: function(_) {
      return C.JSArray_methods.get$single(this._positions);
    },
    animateTo$3$curve$duration: function(offset, curve, duration) {
      return this.animateTo$body$ScrollController(offset, curve, duration);
    },
    animateTo$body$ScrollController: function(offset, curve, duration) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, i, t1;
      var $async$animateTo$3$curve$duration = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = H._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 P._asyncAwait(P.Future_wait(t1, type$.void), $async$animateTo$3$curve$duration);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$animateTo$3$curve$duration, $async$completer);
    },
    jumpTo$1: function(value) {
      var t1, t2, _i;
      for (t1 = P.List_List$from(this._positions, true, type$.ScrollPosition), t2 = t1.length, _i = 0; _i < t2; ++_i)
        t1[_i].jumpTo$1(value);
    },
    attach$1: function(position) {
      this._positions.push(position);
      position.addListener$1(0, this.get$notifyListeners());
    },
    detach$1: function(_, position) {
      position.removeListener$1(0, this.get$notifyListeners());
      C.JSArray_methods.remove$1(this._positions, position);
    },
    dispose$0: function(_) {
      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, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].removeListener$1(0, t3);
      this.super$ChangeNotifier$dispose(0);
    },
    createScrollPosition$3: function(physics, context, oldPosition) {
      return R.ScrollPositionWithSingleContext$(context, null, this._initialScrollOffset, true, oldPosition, physics);
    },
    toString$0: function(_) {
      var _this = this,
        description = H._setArrayType([], type$.JSArray_String),
        t1 = _this._initialScrollOffset;
      if (t1 !== 0)
        description.push("initialScrollOffset: " + J.toStringAsFixed$1$n(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 " + C.JSNumber_methods.toStringAsFixed$1(t1, 1));
      } else
        description.push("" + t1 + " clients");
      return "<optimized out>#" + Y.shortHash(_this) + "(" + C.JSArray_methods.join$1(description, ", ") + ")";
    }
  };
  M.ScrollMetrics.prototype = {
    copyWith$0: function() {
      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 M.FixedScrollMetrics(t1, t2, t3, t4, t5);
    },
    get$outOfRange: function() {
      var _this = this;
      return _this.get$pixels() < _this.get$minScrollExtent() || _this.get$pixels() > _this.get$maxScrollExtent();
    },
    get$atEdge: function() {
      var _this = this;
      return _this.get$pixels() == _this.get$minScrollExtent() || _this.get$pixels() == _this.get$maxScrollExtent();
    },
    get$extentInside: function() {
      var _this = this;
      return _this.get$viewportDimension() - C.JSNumber_methods.clamp$2(_this.get$minScrollExtent() - _this.get$pixels(), 0, _this.get$viewportDimension()) - C.JSNumber_methods.clamp$2(_this.get$pixels() - _this.get$maxScrollExtent(), 0, _this.get$viewportDimension());
    }
  };
  M.FixedScrollMetrics.prototype = {
    get$minScrollExtent: function() {
      var t1 = this._scroll_metrics$_minScrollExtent;
      t1.toString;
      return t1;
    },
    get$maxScrollExtent: function() {
      var t1 = this._scroll_metrics$_maxScrollExtent;
      t1.toString;
      return t1;
    },
    get$hasContentDimensions: function() {
      return this._scroll_metrics$_minScrollExtent != null && this._scroll_metrics$_maxScrollExtent != null;
    },
    get$pixels: function() {
      var t1 = this._scroll_metrics$_pixels;
      t1.toString;
      return t1;
    },
    get$hasPixels: function() {
      return this._scroll_metrics$_pixels != null;
    },
    get$viewportDimension: function() {
      var t1 = this._scroll_metrics$_viewportDimension;
      t1.toString;
      return t1;
    },
    get$hasViewportDimension: function() {
      return this._scroll_metrics$_viewportDimension != null;
    },
    toString$0: function(_) {
      var _this = this;
      return "FixedScrollMetrics(" + C.JSNumber_methods.toStringAsFixed$1(Math.max(_this.get$pixels() - _this.get$minScrollExtent(), 0), 1) + "..[" + C.JSNumber_methods.toStringAsFixed$1(_this.get$extentInside(), 1) + "].." + C.JSNumber_methods.toStringAsFixed$1(Math.max(_this.get$maxScrollExtent() - _this.get$pixels(), 0), 1) + ")";
    },
    get$axisDirection: function() {
      return this.axisDirection;
    }
  };
  M._FixedScrollMetrics_Object_ScrollMetrics.prototype = {};
  G.ViewportNotificationMixin.prototype = {
    get$depth: function() {
      return this.ViewportNotificationMixin__depth;
    }
  };
  G.ScrollNotification.prototype = {
    debugFillDescription$1: function(description) {
      this.super$_ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin$debugFillDescription(description);
      description.push(this.metrics.toString$0(0));
    }
  };
  G.ScrollStartNotification.prototype = {
    debugFillDescription$1: function(description) {
      var t1;
      this.super$ScrollNotification$debugFillDescription(description);
      t1 = this.dragDetails;
      if (t1 != null)
        description.push(t1.toString$0(0));
    }
  };
  G.ScrollUpdateNotification.prototype = {
    debugFillDescription$1: function(description) {
      var t1;
      this.super$ScrollNotification$debugFillDescription(description);
      description.push("scrollDelta: " + H.S(this.scrollDelta));
      t1 = this.dragDetails;
      if (t1 != null)
        description.push(t1.toString$0(0));
    },
    get$dragDetails: function() {
      return this.dragDetails;
    }
  };
  G.OverscrollNotification.prototype = {
    debugFillDescription$1: function(description) {
      var t1, _this = this;
      _this.super$ScrollNotification$debugFillDescription(description);
      description.push("overscroll: " + C.JSNumber_methods.toStringAsFixed$1(_this.overscroll, 1));
      description.push("velocity: " + C.JSNumber_methods.toStringAsFixed$1(_this.velocity, 1));
      t1 = _this.dragDetails;
      if (t1 != null)
        description.push(t1.toString$0(0));
    }
  };
  G.ScrollEndNotification.prototype = {
    debugFillDescription$1: function(description) {
      var t1;
      this.super$ScrollNotification$debugFillDescription(description);
      t1 = this.dragDetails;
      if (t1 != null)
        description.push(t1.toString$0(0));
    },
    get$dragDetails: function() {
      return this.dragDetails;
    }
  };
  G.UserScrollNotification.prototype = {
    debugFillDescription$1: function(description) {
      this.super$ScrollNotification$debugFillDescription(description);
      description.push("direction: " + H.S(this.direction));
    }
  };
  G._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin.prototype = {
    visitAncestor$1: function(element) {
      if (element instanceof N.RenderObjectElement && type$.RenderAbstractViewport._is(element.get$renderObject()))
        ++this.ViewportNotificationMixin__depth;
      return this.super$Notification$visitAncestor(element);
    },
    debugFillDescription$1: function(description) {
      var t1;
      this.super$Notification$debugFillDescription(description);
      t1 = "depth: " + this.ViewportNotificationMixin__depth + " (";
      description.push(t1 + (this.ViewportNotificationMixin__depth === 0 ? "local" : "remote") + ")");
    }
  };
  Q._ScrollNotificationObserverScope.prototype = {
    updateShouldNotify$1: function(old) {
      return this._scrollNotificationObserverState !== old._scrollNotificationObserverState;
    }
  };
  Q._ListenerEntry.prototype = {
    listener$1: function($receiver, arg0) {
      return this.listener.call$1(arg0);
    }
  };
  Q.ScrollNotificationObserver.prototype = {
    createState$0: function() {
      return new Q.ScrollNotificationObserverState(new P.LinkedList(type$.LinkedList__ListenerEntry), C._StateLifecycle_0);
    }
  };
  Q.ScrollNotificationObserverState.prototype = {
    removeListener$1: function(_, listener) {
      var t2,
        t1 = this._scroll_notification_observer$_listeners;
      t1.toString;
      t1 = P._LinkedListIterator$(t1, t1.$ti._precomputed1);
      for (; t1.moveNext$0();) {
        t2 = t1._collection$_current;
        if (J.$eq$(t2.listener, listener)) {
          t1 = t2._collection$_list;
          t1.toString;
          t1._unlink$1(H._instanceType(t2)._eval$1("LinkedListEntry.E")._as(t2));
          return;
        }
      }
    },
    _notifyListeners$1: function(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 = P.List_List$from(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 = H.unwrapException(exception0);
          stack = H.getTraceFromException(exception0);
          rti = _this instanceof H.Closure ? H.closureFunctionType(_this) : null;
          t2 = U.ErrorDescription$("while dispatching notifications for " + H.createRuntimeType(rti == null ? H.instanceType(_this) : rti).toString$0(0));
          t3 = $.$get$FlutterError_onError();
          if (t3 != null)
            t3.call$1(new U.FlutterErrorDetails(exception, stack, "widget library", t2, new Q.ScrollNotificationObserverState__notifyListeners_closure(_this), false));
        }
      }
    },
    build$1: function(_, context) {
      return new U.NotificationListener(new Q._ScrollNotificationObserverScope(this, this._widget.child, null), new Q.ScrollNotificationObserverState_build_closure(this), null, type$.NotificationListener_ScrollNotification);
    },
    dispose$0: function(_) {
      this._scroll_notification_observer$_listeners = null;
      this.super$State$dispose(0);
    }
  };
  Q.ScrollNotificationObserverState__notifyListeners_closure.prototype = {
    call$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
        return function $async$call$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
                t1 = $async$self.$this;
                $async$goto = 2;
                return Y.DiagnosticsProperty$("The " + H.getRuntimeType(t1).toString$0(0) + " sending notification was", t1, true, C.C__NoDefaultValue, null, false, null, null, C.DiagnosticLevel_3, null, false, true, true, C.DiagnosticsTreeStyle_9, null, type$.ScrollNotificationObserverState);
              case 2:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.DiagnosticsNode);
    },
    $signature: 28
  };
  Q.ScrollNotificationObserverState_build_closure.prototype = {
    call$1: function(notification) {
      this.$this._notifyListeners$1(notification);
      return false;
    },
    $signature: 70
  };
  L.ScrollPhysics.prototype = {
    buildParent$1: function(ancestor) {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.applyTo$1(ancestor);
      return t1 == null ? ancestor : t1;
    },
    applyTo$1: function(ancestor) {
      return new L.ScrollPhysics(this.buildParent$1(ancestor));
    },
    applyPhysicsToUserOffset$2: function(position, offset) {
      var t1 = this.parent;
      if (t1 == null)
        return offset;
      return t1.applyPhysicsToUserOffset$2(position, offset);
    },
    shouldAcceptUserOffset$1: function(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: function(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: function(position, value) {
      var t1 = this.parent;
      if (t1 == null)
        return 0;
      return t1.applyBoundaryConditions$2(position, value);
    },
    adjustPositionForNewDimensions$4$isScrolling$newPosition$oldPosition$velocity: function(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: function(position, velocity) {
      var t1 = this.parent;
      if (t1 == null)
        return null;
      return t1.createBallisticSimulation$2(position, velocity);
    },
    get$spring: function() {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.get$spring();
      return t1 == null ? $.$get$ScrollPhysics__kDefaultSpring() : t1;
    },
    get$tolerance: function() {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.get$tolerance();
      return t1 == null ? $.$get$ScrollPhysics__kDefaultTolerance() : t1;
    },
    get$minFlingDistance: function() {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.get$minFlingDistance();
      return t1 == null ? 18 : t1;
    },
    get$minFlingVelocity: function() {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.get$minFlingVelocity();
      return t1 == null ? 50 : t1;
    },
    get$maxFlingVelocity: function() {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.get$maxFlingVelocity();
      return t1 == null ? 8000 : t1;
    },
    carriedMomentum$1: function(existingVelocity) {
      var t1 = this.parent;
      if (t1 == null)
        return 0;
      return t1.carriedMomentum$1(existingVelocity);
    },
    get$dragStartDistanceMotionThreshold: function() {
      var t1 = this.parent;
      return t1 == null ? null : t1.get$dragStartDistanceMotionThreshold();
    },
    get$allowImplicitScrolling: function() {
      return true;
    },
    toString$0: function(_) {
      var t1 = this.parent;
      if (t1 == null)
        return "ScrollPhsyics";
      return "ScrollPhysics -> " + t1.toString$0(0);
    },
    get$parent: function(receiver) {
      return this.parent;
    }
  };
  L.RangeMaintainingScrollPhysics.prototype = {
    applyTo$1: function(ancestor) {
      return new L.RangeMaintainingScrollPhysics(this.buildParent$1(ancestor));
    },
    adjustPositionForNewDimensions$4$isScrolling$newPosition$oldPosition$velocity: function(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)
          return t2 - (t1 - t3);
        t1 = oldPosition._scroll_metrics$_maxScrollExtent;
        t1.toString;
        if (t3 > t1) {
          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 = J.clamp$2$n(result, t2, t1);
      }
      return result;
    }
  };
  L.BouncingScrollPhysics.prototype = {
    applyTo$1: function(ancestor) {
      return new L.BouncingScrollPhysics(this.buildParent$1(ancestor));
    },
    applyPhysicsToUserOffset$2: function(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) * L.BouncingScrollPhysics__applyFriction(overscrollPast, Math.abs(offset), friction);
    },
    applyBoundaryConditions$2: function(position, value) {
      return 0;
    },
    createBallisticSimulation$2: function(position, velocity) {
      var t1, t2, t3, t4, t5, finalX, t6,
        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 Y.BouncingScrollSimulation(t3, t4, t1, tolerance);
        if (t2 < t3) {
          t5.__BouncingScrollSimulation__springSimulation = new M.ScrollSpringSimulation(t3, M._SpringSolution__SpringSolution(t1, t2 - t3, velocity), C.Tolerance_Gdw);
          t5.__BouncingScrollSimulation__springTime = -1 / 0;
        } else if (t2 > t4) {
          t5.__BouncingScrollSimulation__springSimulation = new M.ScrollSpringSimulation(t4, M._SpringSolution__SpringSolution(t1, t2 - t4, velocity), C.Tolerance_Gdw);
          t5.__BouncingScrollSimulation__springTime = -1 / 0;
        } else {
          t5.__BouncingScrollSimulation__frictionSimulation = new D.FrictionSimulation(0.135, Math.log(0.135), t2, velocity, C.Tolerance_Gdw);
          finalX = t5.get$_frictionSimulation().get$finalX();
          if (velocity > 0 && finalX > t4) {
            t5.__BouncingScrollSimulation__springTime = t5.get$_frictionSimulation().timeAtX$1(t4);
            t2 = t5.get$_frictionSimulation();
            t3 = t5.get$_springTime();
            t6 = t2._v;
            t2 = t2._drag;
            H.checkNum(t3);
            t5.__BouncingScrollSimulation__springSimulation = new M.ScrollSpringSimulation(t4, M._SpringSolution__SpringSolution(t1, t4 - t4, Math.min(t6 * Math.pow(t2, t3), 5000)), C.Tolerance_Gdw);
          } else if (velocity < 0 && finalX < t3) {
            t5.__BouncingScrollSimulation__springTime = t5.get$_frictionSimulation().timeAtX$1(t3);
            t2 = t5.get$_frictionSimulation();
            t4 = t5.get$_springTime();
            t6 = t2._v;
            t2 = t2._drag;
            H.checkNum(t4);
            t5.__BouncingScrollSimulation__springSimulation = new M.ScrollSpringSimulation(t3, M._SpringSolution__SpringSolution(t1, t3 - t3, Math.min(t6 * Math.pow(t2, t4), 5000)), C.Tolerance_Gdw);
          } else
            t5.__BouncingScrollSimulation__springTime = 1 / 0;
        }
        return t5;
      }
      return null;
    },
    get$minFlingVelocity: function() {
      return 100;
    },
    carriedMomentum$1: function(existingVelocity) {
      return J.get$sign$in(existingVelocity) * Math.min(0.000816 * Math.pow(Math.abs(existingVelocity), 1.967), 40000);
    },
    get$dragStartDistanceMotionThreshold: function() {
      return 3.5;
    }
  };
  L.ClampingScrollPhysics.prototype = {
    applyTo$1: function(ancestor) {
      return new L.ClampingScrollPhysics(this.buildParent$1(ancestor));
    },
    applyBoundaryConditions$2: function(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: function(position, velocity) {
      var t1, t2, end, deceleration, _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 M.ScrollSpringSimulation(end, M._SpringSolution__SpringSolution(t1, t2 - end, Math.min(0, velocity)), tolerance);
      }
      if (Math.abs(velocity) < tolerance.velocity)
        return _null;
      if (velocity > 0) {
        t1 = position._pixels;
        t1.toString;
        t2 = position._maxScrollExtent;
        t2.toString;
        t2 = t1 >= t2;
        t1 = t2;
      } else
        t1 = false;
      if (t1)
        return _null;
      if (velocity < 0) {
        t1 = position._pixels;
        t1.toString;
        t2 = position._minScrollExtent;
        t2.toString;
        t2 = t1 <= t2;
        t1 = t2;
      } else
        t1 = false;
      if (t1)
        return _null;
      t1 = position._pixels;
      t1.toString;
      t1 = new Y.ClampingScrollSimulation(t1, velocity, tolerance);
      deceleration = t1._splineDeceleration$1(velocity);
      t2 = $.$get$ClampingScrollSimulation__kDecelerationRate();
      t1.__ClampingScrollSimulation__duration = C.JSNumber_methods.round$0(1000 * Math.exp(deceleration / (t2 - 1)));
      t1.__ClampingScrollSimulation__distance = 778.3530259679998 * Math.exp(t2 / (t2 - 1) * t1._splineDeceleration$1(velocity));
      return t1;
    }
  };
  L.AlwaysScrollableScrollPhysics.prototype = {
    applyTo$1: function(ancestor) {
      return new L.AlwaysScrollableScrollPhysics(this.buildParent$1(ancestor));
    },
    shouldAcceptUserOffset$1: function(position) {
      return true;
    }
  };
  L.NeverScrollableScrollPhysics.prototype = {
    applyTo$1: function(ancestor) {
      return new L.NeverScrollableScrollPhysics(this.buildParent$1(ancestor));
    },
    shouldAcceptUserOffset$1: function(position) {
      return false;
    },
    get$allowImplicitScrolling: function() {
      return false;
    }
  };
  A.ScrollPositionAlignmentPolicy.prototype = {
    toString$0: function(_) {
      return this._scroll_position$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  A.ScrollPosition.prototype = {
    ScrollPosition$5$context$debugLabel$keepScrollOffset$oldPosition$physics: function(context, debugLabel, keepScrollOffset, oldPosition, physics) {
      if (oldPosition != null)
        this.absorb$1(oldPosition);
      this.restoreScrollOffset$0();
    },
    get$minScrollExtent: function() {
      var t1 = this._minScrollExtent;
      t1.toString;
      return t1;
    },
    get$maxScrollExtent: function() {
      var t1 = this._maxScrollExtent;
      t1.toString;
      return t1;
    },
    get$hasContentDimensions: function() {
      return this._minScrollExtent != null && this._maxScrollExtent != null;
    },
    get$pixels: function() {
      var t1 = this._pixels;
      t1.toString;
      return t1;
    },
    get$hasPixels: function() {
      return this._pixels != null;
    },
    get$viewportDimension: function() {
      var t1 = this._viewportDimension;
      t1.toString;
      return t1;
    },
    get$hasViewportDimension: function() {
      return this._viewportDimension != null;
    },
    absorb$1: function(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 (H.getRuntimeType(other) !== H.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: function(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: function(correction) {
      var t1 = this._pixels;
      t1.toString;
      this._pixels = t1 + correction;
      this._didChangeViewportDimensionOrReceiveCorrection = true;
    },
    forcePixels$1: function(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: function() {
      var t3,
        t1 = this.context,
        t2 = S.PageStorage_of(t1.get$storageContext());
      if (t2 != null) {
        t1 = t1.get$storageContext();
        t3 = this._pixels;
        t3.toString;
        t2.writeState$2(t1, t3);
      }
    },
    restoreScrollOffset$0: function() {
      var t1, t2, value;
      if (this._pixels == null) {
        t1 = this.context;
        t2 = S.PageStorage_of(t1.get$storageContext());
        value = H._asDoubleQ(t2 == null ? null : t2.readState$1(t1.get$storageContext()));
        if (value != null)
          this._pixels = value;
      }
    },
    restoreOffset$2$initialRestore: function(offset, initialRestore) {
      if (initialRestore)
        this._pixels = offset;
      else
        this.jumpTo$1(offset);
    },
    saveOffset$0: function() {
      var t1 = this._pixels;
      t1.toString;
      this.context.saveOffset$1(t1);
    },
    applyViewportDimension$1: function(viewportDimension) {
      if (this._viewportDimension != viewportDimension) {
        this._viewportDimension = viewportDimension;
        this._didChangeViewportDimensionOrReceiveCorrection = true;
      }
      return true;
    },
    applyContentDimensions$2: function(minScrollExtent, maxScrollExtent) {
      var currentMetrics, t1, _this = this;
      if (!B.nearEqual(_this._minScrollExtent, minScrollExtent, 0.001) || !B.nearEqual(_this._maxScrollExtent, maxScrollExtent, 0.001) || _this._didChangeViewportDimensionOrReceiveCorrection || _this._lastAxis !== G.axisDirectionToAxis(_this.get$axisDirection())) {
        _this._minScrollExtent = minScrollExtent;
        _this._maxScrollExtent = maxScrollExtent;
        _this._lastAxis = G.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;
      }
      _this._scroll_position$_lastMetrics = _this.copyWith$0();
      return true;
    },
    correctForNewDimensions$2: function(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: function() {
      this._activity.applyNewDimensions$0();
      this._updateSemanticActions$0();
    },
    _updateSemanticActions$0: function() {
      var $forward, backward, actions, t2, t3, _this = this,
        t1 = _this.context;
      switch (t1.get$axisDirection()) {
        case C.AxisDirection_0:
          $forward = C.SemanticsAction_32;
          backward = C.SemanticsAction_16;
          break;
        case C.AxisDirection_1:
          $forward = C.SemanticsAction_4;
          backward = C.SemanticsAction_8;
          break;
        case C.AxisDirection_2:
          $forward = C.SemanticsAction_16;
          backward = C.SemanticsAction_32;
          break;
        case C.AxisDirection_3:
          $forward = C.SemanticsAction_8;
          backward = C.SemanticsAction_4;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      actions = P.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 (S.setEquals(actions, _this._semanticActions))
        return;
      _this._semanticActions = actions;
      t1.setSemanticsActions$1(actions);
    },
    ensureVisible$6$alignment$alignmentPolicy$curve$duration$targetRenderObject: function(object, alignment, alignmentPolicy, curve, duration, targetRenderObject) {
      var targetRect, t2, t3, target, _this = this,
        t1 = Q.RenderAbstractViewport_of(object);
      t1.toString;
      targetRect = targetRenderObject != null && targetRenderObject !== object ? T.MatrixUtils_transformRect(targetRenderObject.getTransformTo$1(0, object), object.get$paintBounds().intersect$1(targetRenderObject.get$paintBounds())) : null;
      switch (alignmentPolicy) {
        case C.ScrollPositionAlignmentPolicy_0:
          t1 = t1.getOffsetToReveal$3$rect(object, alignment, targetRect);
          t2 = _this._minScrollExtent;
          t2.toString;
          t3 = _this._maxScrollExtent;
          t3.toString;
          target = J.clamp$2$n(t1.offset, t2, t3);
          break;
        case C.ScrollPositionAlignmentPolicy_1:
          t1 = t1.getOffsetToReveal$3$rect(object, 1, targetRect);
          t2 = _this._minScrollExtent;
          t2.toString;
          t3 = _this._maxScrollExtent;
          t3.toString;
          target = J.clamp$2$n(t1.offset, t2, t3);
          t1 = _this._pixels;
          t1.toString;
          if (target < t1)
            target = t1;
          break;
        case C.ScrollPositionAlignmentPolicy_2:
          t1 = t1.getOffsetToReveal$3$rect(object, 0, targetRect);
          t2 = _this._minScrollExtent;
          t2.toString;
          t3 = _this._maxScrollExtent;
          t3.toString;
          target = J.clamp$2$n(t1.offset, t2, t3);
          t1 = _this._pixels;
          t1.toString;
          if (target > t1)
            target = t1;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = _this._pixels;
      t1.toString;
      if (target === t1)
        return P.Future_Future$value(null, type$.void);
      if (duration._duration === 0) {
        _this.jumpTo$1(target);
        return P.Future_Future$value(null, type$.void);
      }
      return _this.animateTo$3$curve$duration(target, curve, duration);
    },
    ensureVisible$3$alignment$duration: function(object, alignment, duration) {
      return this.ensureVisible$6$alignment$alignmentPolicy$curve$duration$targetRenderObject(object, alignment, C.ScrollPositionAlignmentPolicy_0, C.Cubic_JUR, duration, null);
    },
    moveTo$3$curve$duration: function(_, to, curve, duration) {
      var t2,
        t1 = this._minScrollExtent;
      t1.toString;
      t2 = this._maxScrollExtent;
      t2.toString;
      to = J.clamp$2$n(to, t1, t2);
      return this.super$ViewportOffset$moveTo(0, to, curve, duration);
    },
    beginActivity$1: function(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(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: function() {
      var t1 = this._activity;
      t1.toString;
      t1.dispatchScrollStartNotification$2(this.copyWith$0(), this.context.get$notificationContext());
    },
    didUpdateScrollPositionBy$1: function(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: function() {
      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();
    },
    dispose$0: function(_) {
      var t1 = this._activity;
      if (t1 != null)
        t1.dispose$0(0);
      this._activity = null;
      this.super$ChangeNotifier$dispose(0);
    },
    debugFillDescription$1: function(description) {
      var t1, t2, _this = this;
      _this.super$ViewportOffset$debugFillDescription(description);
      t1 = _this._minScrollExtent;
      t1 = "range: " + H.S(t1 == null ? null : C.JSNumber_methods.toStringAsFixed$1(t1, 1)) + "..";
      t2 = _this._maxScrollExtent;
      description.push(t1 + H.S(t2 == null ? null : C.JSNumber_methods.toStringAsFixed$1(t2, 1)));
      t1 = _this._viewportDimension;
      description.push("viewport: " + H.S(t1 == null ? null : C.JSNumber_methods.toStringAsFixed$1(t1, 1)));
    }
  };
  A.ScrollPosition_forcePixels_closure.prototype = {
    call$1: function(timeStamp) {
      this.$this._impliedVelocity = 0;
    },
    $signature: 6
  };
  A._ScrollPosition_ViewportOffset_ScrollMetrics.prototype = {};
  R.ScrollPositionWithSingleContext.prototype = {
    ScrollPositionWithSingleContext$6$context$debugLabel$initialPixels$keepScrollOffset$oldPosition$physics: function(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 M.IdleScrollActivity(_this));
    },
    get$axisDirection: function() {
      return this.context.get$axisDirection();
    },
    setPixels$1: function(newPixels) {
      return this.super$ScrollPosition$setPixels(newPixels);
    },
    absorb$1: function(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: function(newActivity) {
      var t1, _this = this;
      _this._heldPreviousVelocity = 0;
      _this.super$ScrollPosition$beginActivity(newActivity);
      t1 = _this._currentDrag;
      if (t1 != null)
        t1.dispose$0(0);
      _this._currentDrag = null;
      if (!_this._activity.get$isScrolling())
        _this.updateUserScrollDirection$1(C.ScrollDirection_0);
    },
    goBallistic$1: function(velocity) {
      var t1, t2, t3, _this = this,
        simulation = _this.physics.createBallisticSimulation$2(_this, velocity);
      if (simulation != null) {
        t1 = _this.context.get$vsync();
        t2 = new M.BallisticScrollActivity(_this);
        t1 = G.AnimationController$unbounded(null, 0, t1);
        t1.didRegisterListener$0();
        t3 = t1.AnimationLocalListenersMixin__listeners;
        t3._isDirty = true;
        t3._observer_list$_list.push(t2.get$_scroll_activity$_tick());
        t1.stop$0(0);
        t1._direction = C._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 M.IdleScrollActivity(_this));
    },
    updateUserScrollDirection$1: function(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;
      new G.UserScrollNotification(value, t1, t3, 0).dispatch$1(t2.get$notificationContext());
    },
    animateTo$3$curve$duration: function(to, curve, duration) {
      var t2, activity, _this = this,
        t1 = _this._pixels;
      t1.toString;
      if (B.nearEqual(to, t1, _this.physics.get$tolerance().distance)) {
        _this.jumpTo$1(to);
        return P.Future_Future$value(null, type$.void);
      }
      t1 = _this._pixels;
      t1.toString;
      t2 = _this.context.get$vsync();
      activity = new M.DrivenScrollActivity(_this);
      activity.__DrivenScrollActivity__completer = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
      t1 = G.AnimationController$unbounded("DrivenScrollActivity", t1, t2);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalListenersMixin__listeners;
      t2._isDirty = true;
      t2._observer_list$_list.push(activity.get$_scroll_activity$_tick());
      t1._direction = C._AnimationDirection_0;
      t1._animateToInternal$3$curve$duration(to, curve, duration)._primaryCompleter.future.whenComplete$1(activity.get$_scroll_activity$_end());
      if (activity.__DrivenScrollActivity__controller === $)
        activity.__DrivenScrollActivity__controller = t1;
      else
        H.throwExpression(H.LateError$fieldAI("_controller"));
      _this.beginActivity$1(activity);
      return activity.get$_scroll_activity$_completer().get$future();
    },
    jumpTo$1: function(value) {
      var t1, t2, _this = this;
      _this.beginActivity$1(new M.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: function(holdCancelCallback) {
      var _this = this,
        previousVelocity = _this._activity.get$velocity(),
        holdActivity = new M.HoldScrollActivity(holdCancelCallback, _this);
      _this.beginActivity$1(holdActivity);
      _this._heldPreviousVelocity = previousVelocity;
      return holdActivity;
    },
    drag$2: function(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 M.ScrollDragController(_this, dragCancelCallback, t2, t1, details.sourceTimeStamp, t2 !== 0, t3, details);
      _this.beginActivity$1(new M.DragScrollActivity(drag, _this));
      return _this._currentDrag = drag;
    },
    dispose$0: function(_) {
      var t1 = this._currentDrag;
      if (t1 != null)
        t1.dispose$0(0);
      this._currentDrag = null;
      this.super$ScrollPosition$dispose(0);
    },
    debugFillDescription$1: function(description) {
      var _this = this;
      _this.super$ScrollPosition$debugFillDescription(description);
      description.push(J.get$runtimeType$(_this.context).toString$0(0));
      description.push(H.S(_this.physics));
      description.push(H.S(_this._activity));
      description.push(H.S(_this._userScrollDirection));
    }
  };
  Y.BouncingScrollSimulation.prototype = {
    get$_frictionSimulation: function() {
      var t1 = this.__BouncingScrollSimulation__frictionSimulation;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_frictionSimulation")) : t1;
    },
    get$_springTime: function() {
      var t1 = this.__BouncingScrollSimulation__springTime;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_springTime")) : t1;
    },
    _scroll_simulation$_simulation$1: function(time) {
      var t1, simulation, _this = this;
      if (time > _this.get$_springTime()) {
        t1 = _this.get$_springTime();
        t1.toString;
        _this._timeOffset = isFinite(t1) ? _this.get$_springTime() : 0;
        simulation = _this.__BouncingScrollSimulation__springSimulation;
        if (simulation === $)
          simulation = H.throwExpression(H.LateError$fieldNI("_springSimulation"));
      } else {
        _this._timeOffset = 0;
        simulation = _this.get$_frictionSimulation();
      }
      simulation.tolerance = _this.tolerance;
      return simulation;
    },
    x$1: function(_, time) {
      return this._scroll_simulation$_simulation$1(time).x$1(0, time - this._timeOffset);
    },
    dx$1: function(_, time) {
      return this._scroll_simulation$_simulation$1(time).dx$1(0, time - this._timeOffset);
    },
    isDone$1: function(time) {
      return this._scroll_simulation$_simulation$1(time).isDone$1(time - this._timeOffset);
    },
    toString$0: function(_) {
      return "BouncingScrollSimulation(leadingExtent: " + H.S(this.leadingExtent) + ", trailingExtent: " + H.S(this.trailingExtent) + ")";
    }
  };
  Y.ClampingScrollSimulation.prototype = {
    get$_scroll_simulation$_duration: function() {
      var t1 = this.__ClampingScrollSimulation__duration;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_duration")) : t1;
    },
    get$_distance: function() {
      var t1 = this.__ClampingScrollSimulation__distance;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_distance")) : t1;
    },
    _splineDeceleration$1: function(velocity) {
      return Math.log(0.35 * Math.abs(velocity) / 778.3530259679998);
    },
    x$1: function(_, time) {
      var t1, _this = this;
      if (time === 0)
        return _this.position;
      t1 = Y._NBSample$(time, _this.get$_scroll_simulation$_duration()).___NBSample__distanceCoef;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("_distanceCoef"));
      return _this.position + t1 * _this.get$_distance() * J.get$sign$in(_this.velocity);
    },
    dx$1: function(_, time) {
      var _this = this;
      if (time === 0)
        return _this.velocity;
      return Y._NBSample$(time, _this.get$_scroll_simulation$_duration()).get$_velocityCoef() * _this.get$_distance() / _this.get$_scroll_simulation$_duration() * J.get$sign$in(_this.velocity) * 1000;
    },
    isDone$1: function(time) {
      return time * 1000 >= this.get$_scroll_simulation$_duration();
    }
  };
  Y._NBSample.prototype = {
    get$_velocityCoef: function() {
      var t1 = this.___NBSample__velocityCoef;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_velocityCoef")) : t1;
    }
  };
  B.ScrollViewKeyboardDismissBehavior.prototype = {
    toString$0: function(_) {
      return this._scroll_view$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  B.ScrollView.prototype = {
    buildViewport$4: function(context, offset, axisDirection, slivers) {
      var _this = this;
      if (_this.shrinkWrap)
        return new Q.ShrinkWrappingViewport(axisDirection, offset, _this.clipBehavior, slivers, null);
      return Q.Viewport$(0, axisDirection, _this.cacheExtent, C.CacheExtentStyle_0, null, _this.clipBehavior, offset, slivers);
    },
    build$1: function(_, context) {
      var _this = this,
        slivers = _this.buildSlivers$1(context),
        axisDirection = T.getAxisDirectionFromAxisReverseAndDirectionality(context, _this.scrollDirection, false),
        t1 = _this.primary,
        scrollController = t1 ? E.PrimaryScrollController_of(context) : _this.controller,
        scrollable = F.Scrollable$(axisDirection, scrollController, _this.dragStartBehavior, false, _this.physics, _this.restorationId, null, _this.semanticChildCount, new B.ScrollView_build_closure(_this, axisDirection, slivers)),
        scrollableResult = t1 && scrollController != null ? E.PrimaryScrollController$none(scrollable) : scrollable;
      if (_this.keyboardDismissBehavior === C.ScrollViewKeyboardDismissBehavior_1)
        return new U.NotificationListener(scrollableResult, new B.ScrollView_build_closure0(context), null, type$.NotificationListener_ScrollUpdateNotification);
      else
        return scrollableResult;
    }
  };
  B.ScrollView_build_closure.prototype = {
    call$2: function(context, offset) {
      return this.$this.buildViewport$4(context, offset, this.axisDirection, this.slivers);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 959
  };
  B.ScrollView_build_closure0.prototype = {
    call$1: function(notification) {
      var focusScope = L.FocusScope_of(this.context);
      if (notification.dragDetails != null && focusScope.get$hasFocus())
        focusScope.unfocus$0();
      return false;
    },
    $signature: 960
  };
  B.BoxScrollView.prototype = {
    buildSlivers$1: function(context) {
      var mediaQuery, t1, mediaQueryHorizontalPadding, mediaQueryVerticalPadding,
        sliver = this.buildChildLayout$1(context),
        effectivePadding = this.padding;
      if (effectivePadding == null) {
        mediaQuery = F.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 === C.Axis_1;
          effectivePadding = t1 ? mediaQueryVerticalPadding : mediaQueryHorizontalPadding;
          sliver = new F.MediaQuery(mediaQuery.copyWith$1$padding(t1 ? mediaQueryHorizontalPadding : mediaQueryVerticalPadding), sliver, null);
        }
      }
      return H._setArrayType([effectivePadding != null ? new T.SliverPadding(effectivePadding, sliver, null) : sliver], type$.JSArray_Widget);
    }
  };
  B.ListView.prototype = {
    buildChildLayout$1: function(context) {
      var t1 = this.itemExtent;
      if (t1 != null)
        return new G.SliverFixedExtentList(t1, this.childrenDelegate, null);
      return new G.SliverList(this.childrenDelegate, null);
    }
  };
  B.ListView$separated_closure.prototype = {
    call$2: function(context, index) {
      var itemIndex = C.JSInt_methods._tdivFast$1(index, 2);
      return (index & 1) === 0 ? this.itemBuilder.call$2(context, itemIndex) : this.separatorBuilder.call$2(context, itemIndex);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 961
  };
  B.ListView$separated_closure0.prototype = {
    call$2: function(_, index) {
      return (index & 1) === 0 ? C.JSInt_methods._tdivFast$1(index, 2) : null;
    },
    $signature: 962
  };
  F._ScrollableState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure.prototype = {
    call$2: function(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 69
  };
  F.Scrollable0.prototype = {
    createState$0: function() {
      var _null = null,
        t1 = type$.LabeledGlobalKey_State_StatefulWidget;
      return new F.ScrollableState(new F._RestorableScrollOffset(P.List_List$filled(0, _null, false, type$.nullable_void_Function)), new N.LabeledGlobalKey(_null, t1), new N.LabeledGlobalKey(_null, type$.LabeledGlobalKey_RawGestureDetectorState), new N.LabeledGlobalKey(_null, t1), C.Map_empty7, _null, P.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), _null, true, _null, _null, C._StateLifecycle_0);
    },
    viewportBuilder$2: function(arg0, arg1) {
      return this.viewportBuilder.call$2(arg0, arg1);
    }
  };
  F._ScrollableScope.prototype = {
    updateShouldNotify$1: function(old) {
      return this.position != old.position;
    }
  };
  F.ScrollableState.prototype = {
    get$axisDirection: function() {
      return this._widget.axisDirection;
    },
    get$_scrollable$_configuration: function() {
      var t1 = this.__ScrollableState__configuration;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_configuration")) : t1;
    },
    get$_effectiveScrollController: function() {
      var t1 = this._widget.controller;
      if (t1 == null) {
        t1 = this._fallbackScrollController;
        t1.toString;
      }
      return t1;
    },
    _updatePosition$0: function() {
      var t2, t3, oldPosition, _this = this,
        t1 = _this._widget.scrollBehavior;
      if (t1 == null) {
        t1 = _this._framework$_element;
        t1.toString;
        t1 = K.ScrollConfiguration_of(t1);
      }
      _this.__ScrollableState__configuration = t1;
      t1 = _this.get$_scrollable$_configuration();
      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);
        P.scheduleMicrotask(oldPosition.get$dispose(oldPosition));
      }
      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: function(oldBucket, initialRestore) {
      var t1 = this._persistedScrollOffset;
      this.registerForRestoration$2(t1, "offset");
      t1 = t1._restoration_properties$_value;
      if (t1 != null)
        this._scrollable$_position.restoreOffset$2$initialRestore(t1, initialRestore);
    },
    saveOffset$1: function(offset) {
      this._persistedScrollOffset.set$value(0, offset);
      $.ServicesBinding__instance.get$_restorationManager().flushData$0();
    },
    initState$0: function() {
      if (this._widget.controller == null)
        this._fallbackScrollController = F.ScrollController$(0);
      this.super$State$initState();
    },
    didChangeDependencies$0: function() {
      this._updatePosition$0();
      this.super$_ScrollableState_State_TickerProviderStateMixin_RestorationMixin$didChangeDependencies();
    },
    _shouldUpdatePosition$1: function(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 : H.getRuntimeType(newPhysics);
        t3 = oldPhysics == null;
        if (t2 != (t3 ? _null : H.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 : H.getRuntimeType(t1);
      t2 = oldWidget.controller;
      return t1 != (t2 == null ? _null : H.getRuntimeType(t2));
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _this = this;
      _this.super$_ScrollableState_State_TickerProviderStateMixin_RestorationMixin$didUpdateWidget(oldWidget);
      t1 = _this._widget.controller;
      t2 = oldWidget.controller;
      if (t1 != t2) {
        if (t2 == null) {
          t1 = _this._fallbackScrollController;
          t1.toString;
          t2 = _this._scrollable$_position;
          t2.toString;
          t1.detach$1(0, t2);
          _this._fallbackScrollController.dispose$0(0);
          _this._fallbackScrollController = null;
        } else {
          t1 = _this._scrollable$_position;
          t1.toString;
          t2.detach$1(0, t1);
          if (_this._widget.controller == null)
            _this._fallbackScrollController = F.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: function(_) {
      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(0);
      }
      _this._scrollable$_position.dispose$0(0);
      _this._persistedScrollOffset.dispose$0(0);
      _this.super$_ScrollableState_State_TickerProviderStateMixin_RestorationMixin$dispose(0);
    },
    setSemanticsActions$1: function(actions) {
      var t1 = this._gestureDetectorKey;
      if (t1.get$currentState() != null)
        t1.get$currentState().replaceSemanticsActions$1(actions);
    },
    setCanDrag$1: function(canDrag) {
      var t1, _this = this;
      if (canDrag === _this._lastCanDrag)
        t1 = !canDrag || G.axisDirectionToAxis(_this._widget.axisDirection) === _this._scrollable$_lastAxisDirection;
      else
        t1 = false;
      if (t1)
        return;
      if (!canDrag) {
        _this._gestureRecognizers = C.Map_empty7;
        _this._handleDragCancel$0();
      } else {
        switch (G.axisDirectionToAxis(_this._widget.axisDirection)) {
          case C.Axis_1:
            _this._gestureRecognizers = P.LinkedHashMap_LinkedHashMap$_literal([C.Type_mLh, new D.GestureRecognizerFactoryWithHandlers(new F.ScrollableState_setCanDrag_closure(_this), new F.ScrollableState_setCanDrag_closure0(_this), type$.GestureRecognizerFactoryWithHandlers_VerticalDragGestureRecognizer)], type$.Type, type$.GestureRecognizerFactory_GestureRecognizer);
            break;
          case C.Axis_0:
            _this._gestureRecognizers = P.LinkedHashMap_LinkedHashMap$_literal([C.Type_Vq1, new D.GestureRecognizerFactoryWithHandlers(new F.ScrollableState_setCanDrag_closure1(_this), new F.ScrollableState_setCanDrag_closure2(_this), type$.GestureRecognizerFactoryWithHandlers_HorizontalDragGestureRecognizer)], type$.Type, type$.GestureRecognizerFactory_GestureRecognizer);
            break;
          default:
            throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
        }
        canDrag = true;
      }
      _this._lastCanDrag = canDrag;
      _this._scrollable$_lastAxisDirection = G.axisDirectionToAxis(_this._widget.axisDirection);
      t1 = _this._gestureDetectorKey;
      if (t1.get$currentState() != null)
        t1.get$currentState().replaceGestureRecognizers$1(_this._gestureRecognizers);
    },
    get$vsync: function() {
      return this;
    },
    setIgnorePointer$1: function(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: function() {
      return $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this._gestureDetectorKey);
    },
    get$storageContext: function() {
      var t1 = this._framework$_element;
      t1.toString;
      return t1;
    },
    _handleDragDown$1: function(details) {
      this._hold = this._scrollable$_position.hold$1(this.get$_disposeHold());
    },
    _scrollable$_handleDragStart$1: function(details) {
      this._scrollable$_drag = this._scrollable$_position.drag$2(details, this.get$_disposeDrag());
    },
    _scrollable$_handleDragUpdate$1: function(details) {
      var t1 = this._scrollable$_drag;
      if (t1 != null)
        t1.update$1(0, details);
    },
    _handleDragEnd$1: function(details) {
      var t1 = this._scrollable$_drag;
      if (t1 != null)
        t1.end$1(0, details);
    },
    _handleDragCancel$0: function() {
      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: function() {
      this._hold = null;
    },
    _disposeDrag$0: function() {
      this._scrollable$_drag = null;
    },
    _targetScrollOffsetForPointerScroll$1: function(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: function($event) {
      var delta = G.axisDirectionToAxis(this._widget.axisDirection) === C.Axis_0 ? $event.get$scrollDelta()._dx : $event.get$scrollDelta()._dy;
      return G.axisDirectionIsReversed(this._widget.axisDirection) ? delta * -1 : delta;
    },
    _receivedPointerSignal$1: function($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: function($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 M.IdleScrollActivity(t1));
          t1.updateUserScrollDirection$1(-delta > 0 ? C.ScrollDirection_1 : C.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);
        }
      }
    },
    build$1: function(_, context) {
      var t2, t3, t4, result, details, _this = this, _null = null,
        t1 = _this._scrollable$_position;
      t1.toString;
      t2 = _this._gestureRecognizers;
      t3 = _this._widget;
      t4 = t3.excludeFromSemantics;
      result = new F._ScrollableScope(_this, t1, T.Listener$(C.HitTestBehavior_0, new D.RawGestureDetector(T.Semantics$(_null, _null, new T.IgnorePointer(_this._shouldIgnorePointer, false, t3.viewportBuilder$2(context, t1), _this._ignorePointerKey), false, _null, _null, !t4, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), t2, C.HitTestBehavior_1, t4, _null, _this._gestureDetectorKey), _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 F._ScrollSemantics(t1, t2, t3.semanticChildCount, result, _this._scrollSemanticsKey);
        t1 = t3;
      }
      details = new F.ScrollableDetails(t1.axisDirection, _this.get$_effectiveScrollController());
      return _this.get$_scrollable$_configuration().buildScrollbar$3(context, _this.get$_scrollable$_configuration().buildOverscrollIndicator$3(context, result, details), details);
    },
    get$restorationId: function() {
      return this._widget.restorationId;
    }
  };
  F.ScrollableState_setCanDrag_closure.prototype = {
    call$0: function() {
      return O.VerticalDragGestureRecognizer$(null, this.$this.get$_scrollable$_configuration().get$dragDevices());
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 235
  };
  F.ScrollableState_setCanDrag_closure0.prototype = {
    call$1: function(instance) {
      var t2, t3,
        t1 = this.$this;
      instance.onDown = t1.get$_handleDragDown();
      instance.onStart = t1.get$_scrollable$_handleDragStart();
      instance.onUpdate = t1.get$_scrollable$_handleDragUpdate();
      instance.onEnd = t1.get$_handleDragEnd();
      instance.onCancel = t1.get$_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.get$_scrollable$_configuration();
      t3 = t1._framework$_element;
      t3.toString;
      instance.velocityTrackerBuilder = t2.velocityTrackerBuilder$1(t3);
      instance.dragStartBehavior = t1._widget.dragStartBehavior;
    },
    $signature: 234
  };
  F.ScrollableState_setCanDrag_closure1.prototype = {
    call$0: function() {
      return O.HorizontalDragGestureRecognizer$(null, null, this.$this.get$_scrollable$_configuration().get$dragDevices());
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 167
  };
  F.ScrollableState_setCanDrag_closure2.prototype = {
    call$1: function(instance) {
      var t2, t3,
        t1 = this.$this;
      instance.onDown = t1.get$_handleDragDown();
      instance.onStart = t1.get$_scrollable$_handleDragStart();
      instance.onUpdate = t1.get$_scrollable$_handleDragUpdate();
      instance.onEnd = t1.get$_handleDragEnd();
      instance.onCancel = t1.get$_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.get$_scrollable$_configuration();
      t3 = t1._framework$_element;
      t3.toString;
      instance.velocityTrackerBuilder = t2.velocityTrackerBuilder$1(t3);
      instance.dragStartBehavior = t1._widget.dragStartBehavior;
    },
    $signature: 168
  };
  F.ScrollableDetails.prototype = {};
  F._ScrollSemantics.prototype = {
    createRenderObject$1: function(context) {
      var t1 = this.position,
        t2 = new F._RenderScrollSemantics(t1, this.allowImplicitScrolling, this.semanticChildCount, null);
      t2.get$isRepaintBoundary();
      t2.get$alwaysNeedsCompositing();
      t2.__RenderObject__needsCompositing = false;
      t2.set$child(null);
      t1.addListener$1(0, t2.get$markNeedsSemanticsUpdate());
      return t2;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$allowImplicitScrolling(this.allowImplicitScrolling);
      renderObject.set$position(0, this.position);
      renderObject.set$semanticChildCount(this.semanticChildCount);
    }
  };
  F._RenderScrollSemantics.prototype = {
    set$position: function(_, 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: function(value) {
      if (value === this._allowImplicitScrolling)
        return;
      this._allowImplicitScrolling = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$semanticChildCount: function(value) {
      if (value == this._semanticChildCount)
        return;
      this._semanticChildCount = value;
      this.markNeedsSemanticsUpdate$0();
    },
    describeSemanticsConfiguration$1: function(config) {
      var t1, t2, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      config._isSemanticBoundary = true;
      if (_this._scrollable$_position._haveDimensions) {
        config._setFlag$2(C.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: function(node, config, children) {
      var t1, t2, excluded, included, firstVisibleIndex, _i, child, _this = this;
      if (children.length !== 0) {
        t1 = C.JSArray_methods.get$first(children).tags;
        t1 = !(t1 != null && t1.contains$1(0, C.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._semantics$_rect);
      t1 = _this._innerNode;
      t1.toString;
      t2 = type$.JSArray_SemanticsNode;
      excluded = H._setArrayType([t1], t2);
      included = H._setArrayType([], t2);
      for (t1 = children.length, firstVisibleIndex = null, _i = 0; _i < children.length; children.length === t1 || (0, H.throwConcurrentModificationError)(children), ++_i) {
        child = children[_i];
        t2 = child.tags;
        if (t2 != null && t2.contains$1(0, C.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: function() {
      this.super$RenderObject$clearSemantics();
      this._innerNode = null;
    }
  };
  F.ScrollIncrementType.prototype = {
    toString$0: function(_) {
      return this._scrollable$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.ScrollIntent.prototype = {};
  F.ScrollAction.prototype = {
    isEnabled$1: function(_, intent) {
      var t1, primaryScrollController,
        $focus = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
      if ($focus != null && $focus._focus_manager$_context != null) {
        t1 = $focus._focus_manager$_context;
        t1.toString;
        if (F.Scrollable_of(t1) != null)
          return true;
        t1 = $focus._focus_manager$_context;
        t1.toString;
        if (E.PrimaryScrollController_of(t1) != null) {
          t1 = $focus._focus_manager$_context;
          t1.toString;
          primaryScrollController = E.PrimaryScrollController_of(t1);
          if (primaryScrollController != null) {
            t1 = primaryScrollController._positions;
            if (t1.length !== 0)
              if (C.JSArray_methods.get$single(t1).context.get$notificationContext() != null) {
                t1 = C.JSArray_methods.get$single(t1).context.get$notificationContext();
                t1.toString;
                t1 = F.Scrollable_of(t1) != null;
              } else
                t1 = false;
            else
              t1 = false;
          } else
            t1 = false;
          return t1;
        }
      }
      return false;
    },
    _calculateScrollIncrement$2$type: function(state, type) {
      var t1;
      state._widget.toString;
      switch (type) {
        case C.ScrollIncrementType_0:
          return 50;
        case C.ScrollIncrementType_1:
          t1 = state._scrollable$_position._viewportDimension;
          t1.toString;
          return 0.8 * t1;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _getIncrement$2: function(state, intent) {
      var _s80_ = string$.x60null_c,
        increment = this._calculateScrollIncrement$2$type(state, intent.type);
      switch (intent.direction) {
        case C.AxisDirection_2:
          switch (state._widget.axisDirection) {
            case C.AxisDirection_0:
              return -increment;
            case C.AxisDirection_2:
              return increment;
            case C.AxisDirection_1:
            case C.AxisDirection_3:
              return 0;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        case C.AxisDirection_0:
          switch (state._widget.axisDirection) {
            case C.AxisDirection_0:
              return increment;
            case C.AxisDirection_2:
              return -increment;
            case C.AxisDirection_1:
            case C.AxisDirection_3:
              return 0;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        case C.AxisDirection_3:
          switch (state._widget.axisDirection) {
            case C.AxisDirection_1:
              return -increment;
            case C.AxisDirection_3:
              return increment;
            case C.AxisDirection_0:
            case C.AxisDirection_2:
              return 0;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        case C.AxisDirection_1:
          switch (state._widget.axisDirection) {
            case C.AxisDirection_1:
              return increment;
            case C.AxisDirection_3:
              return -increment;
            case C.AxisDirection_0:
            case C.AxisDirection_2:
              return 0;
            default:
              throw H.wrapException(H.ReachabilityError$(_s80_));
          }
        default:
          throw H.wrapException(H.ReachabilityError$(_s80_));
      }
    },
    invoke$1: function(intent) {
      var state, t2, increment,
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus._focus_manager$_context;
      t1.toString;
      state = F.Scrollable_of(t1);
      if (state == null) {
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus._focus_manager$_context;
        t1.toString;
        t1 = C.JSArray_methods.get$single(E.PrimaryScrollController_of(t1)._positions).context.get$notificationContext();
        t1.toString;
        state = F.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, C.Cubic_xDo, C.Duration_100000);
    }
  };
  F._RestorableScrollOffset.prototype = {
    createDefaultValue$0: function() {
      return null;
    },
    didUpdateValue$1: function(oldValue) {
      this.notifyListeners$0();
    },
    fromPrimitives$1: function(data) {
      data.toString;
      return H._asDoubleS(data);
    },
    toPrimitives$0: function() {
      return this._restoration_properties$_value;
    },
    get$enabled: function(_) {
      return this._restoration_properties$_value != null;
    }
  };
  F._ScrollableState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  F._ScrollableState_State_TickerProviderStateMixin_RestorationMixin.prototype = {
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0: function() {
      var oldBucket, needsRestore, t1, didReplaceBucket, _this = this;
      _this.super$_ScrollableState_State_TickerProviderStateMixin$didChangeDependencies();
      oldBucket = _this.RestorationMixin__bucket;
      needsRestore = _this.get$restorePending();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = K.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(0);
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new F._ScrollableState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0(0);
      _this.RestorationMixin__bucket = null;
      _this.super$_ScrollableState_State_TickerProviderStateMixin$dispose(0);
    }
  };
  E.ScrollbarPainter.prototype = {
    set$color: function(_, value) {
      if (J.$eq$(this._scrollbar$_color, value))
        return;
      this._scrollbar$_color = value;
      this.notifyListeners$0();
    },
    set$trackColor: function(value) {
      if (J.$eq$(this._trackColor, value))
        return;
      this._trackColor = value;
      this.notifyListeners$0();
    },
    set$trackBorderColor: function(value) {
      if (J.$eq$(this._trackBorderColor, value))
        return;
      this._trackBorderColor = value;
      this.notifyListeners$0();
    },
    set$textDirection: function(_, value) {
      if (this._scrollbar$_textDirection === value)
        return;
      this._scrollbar$_textDirection = value;
      this.notifyListeners$0();
    },
    set$thickness: function(value) {
      if (this._scrollbar$_thickness == value)
        return;
      this._scrollbar$_thickness = value;
      this.notifyListeners$0();
    },
    set$mainAxisMargin: function(value) {
      if (this._mainAxisMargin === value)
        return;
      this._mainAxisMargin = value;
      this.notifyListeners$0();
    },
    set$crossAxisMargin: function(value) {
      if (this._crossAxisMargin === value)
        return;
      this._crossAxisMargin = value;
      this.notifyListeners$0();
    },
    set$radius: function(value) {
      if (J.$eq$(this._scrollbar$_radius, value))
        return;
      this._scrollbar$_radius = value;
      this.notifyListeners$0();
    },
    set$padding: function(_, value) {
      if (this._scrollbar$_padding.$eq(0, value))
        return;
      this._scrollbar$_padding = value;
      this.notifyListeners$0();
    },
    set$minLength: function(_, value) {
      if (this._minLength === value)
        return;
      this._minLength = value;
      this.notifyListeners$0();
    },
    set$minOverscrollLength: function(value) {
      if (this._minOverscrollLength === value)
        return;
      this._minOverscrollLength = value;
      this.notifyListeners$0();
    },
    get$_thumbOffset: function() {
      var t1 = this.__ScrollbarPainter__thumbOffset;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_thumbOffset")) : t1;
    },
    get$_paintThumb: function() {
      var t2, t3,
        t1 = H._detectRenderer();
      t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t2 = this._scrollbar$_color;
      t3 = this.fadeoutOpacityAnimation;
      t1.set$color(0, P.Color$fromARGB(C.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: function(isBorder) {
      var t1, t2, t3, _this = this;
      if (isBorder) {
        t1 = H._detectRenderer();
        t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
        t2 = _this._trackBorderColor;
        t3 = _this.fadeoutOpacityAnimation;
        t1.set$color(0, P.Color$fromARGB(C.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, C.PaintingStyle_1);
        t1.set$strokeWidth(1);
        return t1;
      }
      t1 = H._detectRenderer();
      t1 = t1 ? H.CkPaint$() : new H.SurfacePaint(new H.SurfacePaintData());
      t2 = _this._trackColor;
      t3 = _this.fadeoutOpacityAnimation;
      t1.set$color(0, P.Color$fromARGB(C.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: function() {
      return this._paintTrack$1$isBorder(false);
    },
    _thumbExtent$0: function() {
      var t3, t4, t5, t6, t7, fractionVisible, thumbExtent, safeMinLength, newMinLength, _this = this,
        t1 = _this._lastMetrics.get$extentInside(),
        t2 = _this._lastAxisDirection;
      t2 = t2 === C.AxisDirection_2 || t2 === C.AxisDirection_0;
      t3 = _this._scrollbar$_padding;
      t2 = t2 ? t3.get$_edge_insets$_top(t3) + t3.get$_edge_insets$_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 === C.AxisDirection_2 || t6 === C.AxisDirection_0;
      t7 = _this._scrollbar$_padding;
      t6 = t6 ? t7.get$_edge_insets$_top(t7) + t7.get$_edge_insets$_bottom(t7) : t7.get$horizontal();
      fractionVisible = C.JSNumber_methods.clamp$2((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 === C.AxisDirection_0 || t1 === C.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 === C.AxisDirection_0 || t1 === C.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 - C.JSNumber_methods.clamp$2(1 - t6 / t3, 0, 0.2) / 0.2);
      return C.JSNumber_methods.clamp$2(thumbExtent, newMinLength, _this.get$_trackExtent());
    },
    dispose$0: function(_) {
      this.fadeoutOpacityAnimation.removeListener$1(0, this.get$notifyListeners());
      this.super$ChangeNotifier$dispose(0);
    },
    get$_trackExtent: function() {
      var t2, t3, t4, _this = this,
        t1 = _this._lastMetrics._scroll_metrics$_viewportDimension;
      t1.toString;
      t2 = _this._mainAxisMargin;
      t3 = _this._lastAxisDirection;
      t3 = t3 === C.AxisDirection_2 || t3 === C.AxisDirection_0;
      t4 = _this._scrollbar$_padding;
      t3 = t3 ? t4.get$_edge_insets$_top(t4) + t4.get$_edge_insets$_bottom(t4) : t4.get$horizontal();
      return t1 - 2 * t2 - t3;
    },
    paint$2: function(canvas, size) {
      var t1, t2, t3, beforePadding, thumbExtent, scrollableExtent, fractionPast, thumbSize, trackSize, x, y, trackOffset, _this = this, _null = null;
      if (_this._lastAxisDirection != null)
        if (_this._lastMetrics != null) {
          t1 = _this.fadeoutOpacityAnimation;
          t1 = J.$eq$(t1.get$value(t1), 0);
        } else
          t1 = true;
      else
        t1 = true;
      if (t1)
        return;
      t1 = _this._lastMetrics._scroll_metrics$_viewportDimension;
      t1.toString;
      t2 = _this._lastAxisDirection;
      t2 = t2 === C.AxisDirection_2 || t2 === C.AxisDirection_0;
      t3 = _this._scrollbar$_padding;
      if (t1 <= (t2 ? t3.get$_edge_insets$_top(t3) + t3.get$_edge_insets$_bottom(t3) : t3.get$horizontal()) || _this.get$_trackExtent() <= 0)
        return;
      t1 = _this._lastAxisDirection;
      t1 = t1 === C.AxisDirection_2 || t1 === C.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 = C.JSNumber_methods.clamp$2((t1 - t3) / scrollableExtent, 0, 1);
      } else
        fractionPast = 0;
      t1 = _this._lastAxisDirection;
      t1 = t1 === C.AxisDirection_0 || t1 === C.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;
      switch (t1) {
        case C.AxisDirection_2:
          t1 = _this._scrollbar$_thickness;
          thumbSize = new P.Size(t1, thumbExtent);
          trackSize = new P.Size(t1 + 2 * _this._crossAxisMargin, _this.get$_trackExtent());
          t1 = _this._scrollbar$_textDirection;
          t2 = _this._crossAxisMargin;
          t3 = _this._scrollbar$_padding;
          x = t1 === C.TextDirection_0 ? t2 + t3.left : size._dx - _this._scrollbar$_thickness - t2 - t3.right;
          y = _this.get$_thumbOffset();
          trackOffset = new P.Offset(x - _this._crossAxisMargin, 0);
          break;
        case C.AxisDirection_0:
          t1 = _this._scrollbar$_thickness;
          thumbSize = new P.Size(t1, thumbExtent);
          trackSize = new P.Size(t1 + 2 * _this._crossAxisMargin, _this.get$_trackExtent());
          t1 = _this._scrollbar$_textDirection;
          t2 = _this._crossAxisMargin;
          t3 = _this._scrollbar$_padding;
          x = t1 === C.TextDirection_0 ? t2 + t3.left : size._dx - _this._scrollbar$_thickness - t2 - t3.right;
          y = _this.get$_thumbOffset();
          trackOffset = new P.Offset(x - _this._crossAxisMargin, 0);
          break;
        case C.AxisDirection_3:
          thumbSize = new P.Size(thumbExtent, _this._scrollbar$_thickness);
          x = _this.get$_thumbOffset();
          y = size._dy - _this._scrollbar$_thickness - _this._crossAxisMargin - _this._scrollbar$_padding.bottom;
          t1 = _this.get$_trackExtent();
          t2 = _this._scrollbar$_thickness;
          t3 = _this._crossAxisMargin;
          trackSize = new P.Size(t1, t2 + 2 * t3);
          trackOffset = new P.Offset(0, y - t3);
          break;
        case C.AxisDirection_1:
          thumbSize = new P.Size(thumbExtent, _this._scrollbar$_thickness);
          trackSize = new P.Size(_this.get$_trackExtent(), _this._scrollbar$_thickness + 2 * _this._crossAxisMargin);
          x = _this.get$_thumbOffset();
          t1 = size._dy;
          t2 = _this._scrollbar$_thickness;
          t3 = _this._crossAxisMargin;
          y = t1 - t2 - t3 - _this._scrollbar$_padding.bottom;
          trackOffset = new P.Offset(0, y - t3);
          break;
        default:
          H.throwExpression(H.ReachabilityError$(string$.x60null_c));
          trackOffset = _null;
          trackSize = trackOffset;
          thumbSize = trackSize;
          y = thumbSize;
          x = y;
      }
      t1 = trackOffset._dx;
      t2 = trackOffset._dy;
      t3 = new P.Rect(t1, t2, t1 + trackSize._dx, t2 + trackSize._dy);
      _this._trackRect = t3;
      canvas.drawRect$2(0, t3, _this._paintTrack$0());
      canvas.drawLine$3(0, trackOffset, new P.Offset(t1, t2 + _this.get$_trackExtent()), _this._paintTrack$1$isBorder(true));
      t2 = _this._thumbRect = new P.Rect(x, y, x + thumbSize._dx, y + thumbSize._dy);
      t1 = _this._scrollbar$_radius;
      if (t1 == null)
        canvas.drawRect$2(0, t2, _this.get$_paintThumb());
      else
        canvas.drawRRect$2(0, P.RRect$fromRectAndRadius(t2, t1), _this.get$_paintThumb());
      return _null;
    },
    hitTestInteractive$3$forHover: function(position, kind, forHover) {
      var interactiveRect0, paddedRect, t1,
        interactiveRect = this._thumbRect;
      if (interactiveRect == null)
        return false;
      interactiveRect0 = this._trackRect;
      if (interactiveRect0 == null)
        interactiveRect0 = interactiveRect;
      paddedRect = interactiveRect0.expandToInclude$1(P.Rect$fromCircle(interactiveRect.get$center(), 24));
      t1 = this.fadeoutOpacityAnimation;
      if (J.$eq$(t1.get$value(t1), 0)) {
        if (forHover && kind === C.PointerDeviceKind_1)
          return paddedRect.contains$1(0, position);
        return false;
      }
      switch (kind) {
        case C.PointerDeviceKind_0:
          return paddedRect.contains$1(0, position);
        case C.PointerDeviceKind_1:
        case C.PointerDeviceKind_2:
        case C.PointerDeviceKind_3:
        case C.PointerDeviceKind_4:
          return interactiveRect0.contains$1(0, position);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    hitTestInteractive$2: function(position, kind) {
      return this.hitTestInteractive$3$forHover(position, kind, false);
    },
    hitTestOnlyThumbInteractive$2: function(position, kind) {
      var t1, _this = this;
      if (_this._thumbRect == null)
        return false;
      t1 = _this.fadeoutOpacityAnimation;
      if (J.$eq$(t1.get$value(t1), 0))
        return false;
      switch (kind) {
        case C.PointerDeviceKind_0:
          t1 = _this._thumbRect;
          return t1.expandToInclude$1(P.Rect$fromCircle(t1.get$center(), 24)).contains$1(0, position);
        case C.PointerDeviceKind_1:
        case C.PointerDeviceKind_2:
        case C.PointerDeviceKind_3:
        case C.PointerDeviceKind_4:
          return _this._thumbRect.contains$1(0, position);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    hitTest$1: function(position) {
      var t1;
      if (this._thumbRect == null)
        return null;
      t1 = this.fadeoutOpacityAnimation;
      if (J.$eq$(t1.get$value(t1), 0))
        return false;
      t1 = this._thumbRect;
      t1.toString;
      position.toString;
      return t1.contains$1(0, position);
    },
    shouldRepaint$1: function(old) {
      var _this = this;
      return !J.$eq$(_this._scrollbar$_color, old._scrollbar$_color) || !J.$eq$(_this._trackColor, old._trackColor) || !J.$eq$(_this._trackBorderColor, old._trackBorderColor) || _this._scrollbar$_textDirection != old._scrollbar$_textDirection || _this._scrollbar$_thickness != old._scrollbar$_thickness || _this.fadeoutOpacityAnimation != old.fadeoutOpacityAnimation || _this._mainAxisMargin !== old._mainAxisMargin || _this._crossAxisMargin !== old._crossAxisMargin || !J.$eq$(_this._scrollbar$_radius, old._scrollbar$_radius) || _this._minLength !== old._minLength || !_this._scrollbar$_padding.$eq(0, old._scrollbar$_padding) || _this._minOverscrollLength !== old._minOverscrollLength;
    },
    shouldRebuildSemantics$1: function(oldDelegate) {
      return false;
    },
    get$semanticsBuilder: function() {
      return null;
    }
  };
  E.RawScrollbar.prototype = {
    createState$0: function() {
      return E.RawScrollbarState$(type$.RawScrollbar);
    },
    notificationPredicate$1: function(arg0) {
      return this.notificationPredicate.call$1(arg0);
    }
  };
  E.RawScrollbarState.prototype = {
    get$_fadeoutAnimationController: function() {
      var t1 = this.__RawScrollbarState__fadeoutAnimationController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_fadeoutAnimationController")) : t1;
    },
    get$scrollbarPainter: function() {
      var t1 = this.__RawScrollbarState_scrollbarPainter;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("scrollbarPainter")) : t1;
    },
    get$showScrollbar: function() {
      var t1 = this._widget.isAlwaysShown;
      return t1 === true;
    },
    get$enableGestures: function() {
      this._widget.toString;
      return true;
    },
    initState$0: function() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      _this.__RawScrollbarState__fadeoutAnimationController = G.AnimationController$(_null, _this._widget.fadeDuration, 0, _null, 1, _null, _this);
      t1 = _this.__RawScrollbarState__fadeoutOpacityAnimation = S.CurvedAnimation$(C.Cubic_ifx, _this.get$_fadeoutAnimationController(), _null);
      t2 = _this._widget;
      t2 = t2.thickness;
      if (t2 == null)
        t2 = 6;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("_fadeoutOpacityAnimation"));
      t2 = new E.ScrollbarPainter(C.Color_1723645116, C.Color_0, C.Color_0, t2, t1, C.EdgeInsets_0_0_0_0, 18, P.List_List$filled(0, _null, false, type$.nullable_void_Function));
      t1.addListener$1(0, t2.get$notifyListeners());
      if (_this.__RawScrollbarState_scrollbarPainter === $)
        _this.__RawScrollbarState_scrollbarPainter = t2;
      else
        H.throwExpression(H.LateError$fieldAI("scrollbarPainter"));
    },
    didChangeDependencies$0: function() {
      this.super$_RawScrollbarState_State_TickerProviderStateMixin$didChangeDependencies();
      this._maybeTriggerScrollbar$0();
    },
    _maybeTriggerScrollbar$0: function() {
      $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new E.RawScrollbarState__maybeTriggerScrollbar_closure(this));
    },
    updateScrollbarPainter$0: function() {
      var t2, _this = this,
        t1 = _this.get$scrollbarPainter();
      _this._widget.toString;
      t1.set$color(0, C.Color_1723645116);
      t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      t1.set$textDirection(0, 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);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.isAlwaysShown;
      if (t1 != oldWidget.isAlwaysShown)
        if (t1 === true) {
          _this._maybeTriggerScrollbar$0();
          t1 = _this.get$_fadeoutAnimationController();
          t1._direction = C._AnimationDirection_0;
          t1._animateToInternal$3$curve$duration(1, C.C__Linear, null);
        } else
          _this.get$_fadeoutAnimationController().reverse$0(0);
    },
    _updateScrollPosition$1: function(primaryDelta) {
      var t2, t3, t4, t5, scrollOffsetGlobal,
        t1 = this._currentController,
        position = t1.get$position(t1);
      t1 = this.get$scrollbarPainter();
      t2 = t1._lastMetrics;
      t3 = t2._scroll_metrics$_maxScrollExtent;
      t3.toString;
      t2 = t2._scroll_metrics$_minScrollExtent;
      t2.toString;
      t4 = t1.get$_trackExtent();
      t1 = t1._thumbExtent$0();
      t5 = position._pixels;
      t5.toString;
      scrollOffsetGlobal = (t3 - t2) * primaryDelta / (t4 - t1) + t5;
      if (scrollOffsetGlobal !== t5)
        position.jumpTo$1(scrollOffsetGlobal - position.physics.applyBoundaryConditions$2(position, scrollOffsetGlobal));
    },
    _maybeStartFadeoutTimer$0: function() {
      var t1, _this = this;
      if (!_this.get$showScrollbar()) {
        t1 = _this._fadeoutTimer;
        if (t1 != null)
          t1.cancel$0(0);
        _this._fadeoutTimer = P.Timer_Timer(_this._widget.timeToFade, new E.RawScrollbarState__maybeStartFadeoutTimer_closure(_this));
      }
    },
    getScrollbarDirection$0: function() {
      var t1 = this._currentController;
      if (t1._positions.length !== 0)
        return G.axisDirectionToAxis(t1.get$position(t1).get$axisDirection());
      return null;
    },
    handleThumbPress$0: function() {
      if (this.getScrollbarDirection$0() == null)
        return;
      var t1 = this._fadeoutTimer;
      if (t1 != null)
        t1.cancel$0(0);
    },
    handleThumbPressStart$1: function(localPosition) {
      var direction, _this = this,
        t1 = _this._widget.controller;
      if (t1 == null) {
        t1 = _this._framework$_element;
        t1.toString;
        t1 = E.PrimaryScrollController_of(t1);
      }
      _this._currentController = t1;
      direction = _this.getScrollbarDirection$0();
      if (direction == null)
        return;
      t1 = _this._fadeoutTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this.get$_fadeoutAnimationController().forward$0(0);
      switch (direction) {
        case C.Axis_1:
          _this._dragScrollbarAxisPosition = localPosition._dy;
          break;
        case C.Axis_0:
          _this._dragScrollbarAxisPosition = localPosition._dx;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    handleThumbPressUpdate$1: function(localPosition) {
      var t1, t2, _this = this,
        direction = _this.getScrollbarDirection$0();
      if (direction == null)
        return;
      switch (direction) {
        case C.Axis_1:
          t1 = localPosition._dy;
          t2 = _this._dragScrollbarAxisPosition;
          t2.toString;
          _this._updateScrollPosition$1(t1 - t2);
          _this._dragScrollbarAxisPosition = t1;
          break;
        case C.Axis_0:
          t1 = localPosition._dx;
          t2 = _this._dragScrollbarAxisPosition;
          t2.toString;
          _this._updateScrollPosition$1(t1 - t2);
          _this._dragScrollbarAxisPosition = t1;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    handleThumbPressEnd$2: function(localPosition, velocity) {
      var _this = this;
      if (_this.getScrollbarDirection$0() == null)
        return;
      _this._maybeStartFadeoutTimer$0();
      _this._currentController = _this._dragScrollbarAxisPosition = null;
    },
    _handleTrackTapDown$1: function(details) {
      var scrollIncrement, t2, _this = this,
        t1 = _this._widget.controller;
      if (t1 == null) {
        t1 = _this._framework$_element;
        t1.toString;
        t1 = E.PrimaryScrollController_of(t1);
      }
      _this._currentController = t1;
      t1 = t1.get$position(t1).context.get$notificationContext();
      t1.toString;
      t1 = F.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()) {
        case C.AxisDirection_0:
          if (details.localPosition._dy > _this.get$scrollbarPainter().get$_thumbOffset())
            scrollIncrement = -scrollIncrement;
          break;
        case C.AxisDirection_2:
          if (details.localPosition._dy < _this.get$scrollbarPainter().get$_thumbOffset())
            scrollIncrement = -scrollIncrement;
          break;
        case C.AxisDirection_1:
          if (details.localPosition._dx < _this.get$scrollbarPainter().get$_thumbOffset())
            scrollIncrement = -scrollIncrement;
          break;
        case C.AxisDirection_3:
          if (details.localPosition._dx > _this.get$scrollbarPainter().get$_thumbOffset())
            scrollIncrement = -scrollIncrement;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      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, C.Cubic_xDo, C.Duration_100000);
    },
    _handleScrollNotification$1: function(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)
        return false;
      if (notification instanceof G.ScrollUpdateNotification || notification instanceof G.OverscrollNotification) {
        if (_this.get$_fadeoutAnimationController().get$_status() !== C.AnimationStatus_1)
          _this.get$_fadeoutAnimationController().forward$0(0);
        t1 = _this._fadeoutTimer;
        if (t1 != null)
          t1.cancel$0(0);
        t1 = _this.get$scrollbarPainter();
        t1._lastMetrics = metrics;
        t1._lastAxisDirection = metrics.axisDirection;
        t1.notifyListeners$0();
      } else if (notification instanceof G.ScrollEndNotification)
        if (_this._dragScrollbarAxisPosition == null)
          _this._maybeStartFadeoutTimer$0();
      return false;
    },
    get$_gestures: function() {
      var t1, _this = this,
        gestures = P.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.GestureRecognizerFactory_GestureRecognizer),
        controller = _this._widget.controller;
      if (controller == null) {
        t1 = _this._framework$_element;
        t1.toString;
        controller = E.PrimaryScrollController_of(t1);
      }
      if (controller == null || !_this.get$enableGestures())
        return gestures;
      gestures.$indexSet(0, C.Type__ThumbPressGestureRecognizer_KUi, new D.GestureRecognizerFactoryWithHandlers(new E.RawScrollbarState__gestures_closure(_this), new E.RawScrollbarState__gestures_closure0(_this), type$.GestureRecognizerFactoryWithHandlers__ThumbPressGestureRecognizer));
      gestures.$indexSet(0, C.Type__TrackTapGestureRecognizer_LjJ, new D.GestureRecognizerFactoryWithHandlers(new E.RawScrollbarState__gestures_closure1(_this), new E.RawScrollbarState__gestures_closure2(_this), type$.GestureRecognizerFactoryWithHandlers__TrackTapGestureRecognizer));
      return gestures;
    },
    isPointerOverScrollbar$3$forHover: function(position, kind, forHover) {
      var localOffset,
        t1 = this._scrollbarPainterKey;
      if ($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1) == null)
        return false;
      localOffset = E._getLocalOffset(t1, position);
      return this.get$scrollbarPainter().hitTestInteractive$3$forHover(localOffset, kind, true);
    },
    handleHover$1: function($event) {
      var t1, _this = this;
      if (_this.isPointerOverScrollbar$3$forHover($event.get$position($event), $event.get$kind($event), true)) {
        _this._hoverIsActive = true;
        _this.get$_fadeoutAnimationController().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: function($event) {
      this._hoverIsActive = false;
      this._maybeStartFadeoutTimer$0();
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this.get$_fadeoutAnimationController().dispose$0(0);
      t1 = _this._fadeoutTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this.get$scrollbarPainter();
      t1.fadeoutOpacityAnimation.removeListener$1(0, t1.get$notifyListeners());
      t1.super$ChangeNotifier$dispose(0);
      _this.super$_RawScrollbarState_State_TickerProviderStateMixin$dispose(0);
    },
    build$1: function(_, context) {
      var t1, t2, _this = this, _null = null;
      _this.updateScrollbarPainter$0();
      t1 = _this.get$_gestures();
      t2 = _this.get$scrollbarPainter();
      return new U.NotificationListener(new T.RepaintBoundary(new D.RawGestureDetector(new T.MouseRegion(_null, new E.RawScrollbarState_build_closure(_this), new E.RawScrollbarState_build_closure0(_this), C.C__DeferringMouseCursor, true, T.CustomPaint$(new T.RepaintBoundary(_this._widget.child, _null), t2, _this._scrollbarPainterKey, _null, C.Size_0_0), _null), t1, _null, false, _null, _null), _null), _this.get$_handleScrollNotification(), _null, type$.NotificationListener_ScrollNotification);
    }
  };
  E.RawScrollbarState__maybeTriggerScrollbar_closure.prototype = {
    call$1: function(duration) {
      var t2, scrollController,
        t1 = this.$this;
      if (t1.get$showScrollbar()) {
        t2 = t1._fadeoutTimer;
        if (t2 != null)
          t2.cancel$0(0);
        scrollController = t1._widget.controller;
        if (scrollController == null) {
          t2 = t1._framework$_element;
          t2.toString;
          scrollController = E.PrimaryScrollController_of(t2);
        }
        t1._widget.toString;
        scrollController.get$position(scrollController).didUpdateScrollPositionBy$1(0);
      }
    },
    $signature: 6
  };
  E.RawScrollbarState__maybeStartFadeoutTimer_closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.get$_fadeoutAnimationController().reverse$0(0);
      t1._fadeoutTimer = null;
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  E.RawScrollbarState__gestures_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._widget.pressDuration,
        t3 = type$.int,
        t4 = P.HashSet_HashSet(t3);
      return new E._ThumbPressGestureRecognizer(t1._scrollbarPainterKey, t2, null, C.GestureRecognizerState_0, P.LinkedHashMap_LinkedHashMap$_empty(t3, type$.GestureArenaEntry), t4, t1, null, P.LinkedHashMap_LinkedHashMap$_empty(t3, type$.PointerDeviceKind));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 965
  };
  E.RawScrollbarState__gestures_closure0.prototype = {
    call$1: function(instance) {
      var t1 = this.$this;
      instance.onLongPress = t1.get$handleThumbPress();
      instance.onLongPressStart = new E.RawScrollbarState__gestures__closure(t1);
      instance.onLongPressMoveUpdate = new E.RawScrollbarState__gestures__closure0(t1);
      instance.onLongPressEnd = new E.RawScrollbarState__gestures__closure1(t1);
    },
    $signature: 966
  };
  E.RawScrollbarState__gestures__closure.prototype = {
    call$1: function(details) {
      return this.$this.handleThumbPressStart$1(details.localPosition);
    },
    $signature: 85
  };
  E.RawScrollbarState__gestures__closure0.prototype = {
    call$1: function(details) {
      return this.$this.handleThumbPressUpdate$1(details.localPosition);
    },
    $signature: 84
  };
  E.RawScrollbarState__gestures__closure1.prototype = {
    call$1: function(details) {
      return this.$this.handleThumbPressEnd$2(details.localPosition, details.velocity);
    },
    $signature: 174
  };
  E.RawScrollbarState__gestures_closure1.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = type$.int,
        t3 = P.HashSet_HashSet(t2);
      return new E._TrackTapGestureRecognizer(t1._scrollbarPainterKey, C.Duration_100000, 18, C.GestureRecognizerState_0, P.LinkedHashMap_LinkedHashMap$_empty(t2, type$.GestureArenaEntry), t3, t1, null, P.LinkedHashMap_LinkedHashMap$_empty(t2, type$.PointerDeviceKind));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 968
  };
  E.RawScrollbarState__gestures_closure2.prototype = {
    call$1: function(instance) {
      instance.onTapDown = this.$this.get$_handleTrackTapDown();
    },
    $signature: 969
  };
  E.RawScrollbarState_build_closure0.prototype = {
    call$1: function($event) {
      var t1;
      switch ($event.get$kind($event)) {
        case C.PointerDeviceKind_1:
          t1 = this.$this;
          if (t1.get$enableGestures())
            t1.handleHoverExit$1($event);
          break;
        case C.PointerDeviceKind_2:
        case C.PointerDeviceKind_3:
        case C.PointerDeviceKind_4:
        case C.PointerDeviceKind_0:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $signature: 67
  };
  E.RawScrollbarState_build_closure.prototype = {
    call$1: function($event) {
      var t1;
      switch ($event.get$kind($event)) {
        case C.PointerDeviceKind_1:
          t1 = this.$this;
          if (t1.get$enableGestures())
            t1.handleHover$1($event);
          break;
        case C.PointerDeviceKind_2:
        case C.PointerDeviceKind_3:
        case C.PointerDeviceKind_4:
        case C.PointerDeviceKind_0:
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $signature: 970
  };
  E._ThumbPressGestureRecognizer.prototype = {
    isPointerAllowed$1: function($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: function(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(E._getLocalOffset(customPaintKey, offset), kind);
    }
  };
  E._TrackTapGestureRecognizer.prototype = {
    isPointerAllowed$1: function($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: function(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 = E._getLocalOffset(customPaintKey, offset);
      return t1.hitTestInteractive$2(localOffset, kind) && !t1.hitTestOnlyThumbInteractive$2(localOffset, kind);
    }
  };
  E._RawScrollbarState_State_TickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var muted,
        t1 = this._framework$_element;
      t1.toString;
      muted = !U.TickerMode_of(t1);
      t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null)
        for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
          t1._collection$_current.set$muted(0, muted);
      this.super$State$didChangeDependencies();
    }
  };
  X.KeySet.prototype = {
    KeySet$4: function(key1, key2, key3, key4, _box_0, $T) {
      _box_0.count = 1;
      if (key2 != null)
        this._shortcuts$_keys.add$1(0, key2);
    },
    get$keys: function(_) {
      return this._shortcuts$_keys.toSet$0(0);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return H._instanceType(this)._eval$1("KeySet<KeySet.T>")._is(other) && S.setEquals(other._shortcuts$_keys, this._shortcuts$_keys);
    },
    get$hashCode: function(_) {
      var _this = this,
        t1 = _this.__KeySet_hashCode;
      if (t1 === $) {
        t1 = X.KeySet__computeHashCode(_this._shortcuts$_keys);
        if (_this.__KeySet_hashCode === $)
          _this.__KeySet_hashCode = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("hashCode"));
      }
      return t1;
    }
  };
  X.LogicalKeySet.prototype = {
    get$triggers: function() {
      return this.get$_triggers();
    },
    get$_triggers: function() {
      var t2, _this = this,
        t1 = _this.__LogicalKeySet__triggers;
      if (t1 === $) {
        t1 = _this._shortcuts$_keys.toSet$0(0);
        t2 = H._instanceType(t1)._eval$1("ExpandIterable<SetMixin.E,LogicalKeyboardKey>");
        t2 = P.LinkedHashSet_LinkedHashSet$of(new H.ExpandIterable(t1, new X.LogicalKeySet__triggers_closure(), t2), t2._eval$1("Iterable.E"));
        if (_this.__LogicalKeySet__triggers === $) {
          _this.__LogicalKeySet__triggers = t2;
          t1 = t2;
        } else
          t1 = H.throwExpression(H.LateError$fieldADI("_triggers"));
      }
      return t1;
    },
    accepts$2: function($event, state) {
      var collapsedPressed, keysEqual,
        collapsedRequired = G.LogicalKeyboardKey_collapseSynonyms(this._shortcuts$_keys.toSet$0(0)),
        t1 = state._keysPressed;
      t1 = t1.get$values(t1);
      collapsedPressed = G.LogicalKeyboardKey_collapseSynonyms(P.LinkedHashSet_LinkedHashSet$of(t1, H._instanceType(t1)._eval$1("Iterable.E")));
      t1 = collapsedRequired.difference$1(collapsedPressed);
      keysEqual = t1.get$isEmpty(t1) && collapsedRequired._collection$_length === collapsedPressed._collection$_length;
      return keysEqual;
    },
    $isShortcutActivator: 1
  };
  X.LogicalKeySet__triggers_closure.prototype = {
    call$1: function(key) {
      var t1 = $.LogicalKeySet__unmapSynonyms.$index(0, key);
      return t1 == null ? H._setArrayType([key], type$.JSArray_LogicalKeyboardKey) : t1;
    },
    $signature: 971
  };
  X.SingleActivator.prototype = {
    get$triggers: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError;
        return function $async$get$triggers($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 $async$self.trigger;
              case 2:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.LogicalKeyboardKey);
    },
    accepts$2: function($event, state) {
      var pressed, _this = this,
        t1 = state._keysPressed;
      t1 = t1.get$values(t1);
      pressed = P.LinkedHashSet_LinkedHashSet$of(t1, H._instanceType(t1)._eval$1("Iterable.E"));
      t1 = pressed.contains$1(0, C.LogicalKeyboardKey_3298534883589) || pressed.contains$1(0, C.LogicalKeyboardKey_4398046511365);
      if (_this.control === t1) {
        t1 = pressed.contains$1(0, C.LogicalKeyboardKey_3298534883597) || pressed.contains$1(0, C.LogicalKeyboardKey_4398046511373);
        if (_this.shift === t1) {
          t1 = pressed.contains$1(0, C.LogicalKeyboardKey_3298534883586) || pressed.contains$1(0, C.LogicalKeyboardKey_4398046511362);
          if (_this.alt === t1) {
            t1 = pressed.contains$1(0, C.LogicalKeyboardKey_3298534883593) || pressed.contains$1(0, C.LogicalKeyboardKey_4398046511369);
            t1 = _this.meta === t1;
          } else
            t1 = false;
        } else
          t1 = false;
      } else
        t1 = false;
      return t1;
    },
    $isShortcutActivator: 1
  };
  X._ActivatorIntentPair.prototype = {};
  X.ShortcutManager.prototype = {
    set$shortcuts: function(value) {
      var _this = this;
      if (!S.mapEquals(_this._shortcuts, value)) {
        _this._shortcuts = value;
        _this._indexedShortcutsCache = null;
        _this.notifyListeners$0();
      }
    },
    get$_indexedShortcuts: function() {
      var t1 = this._indexedShortcutsCache;
      return t1 == null ? this._indexedShortcutsCache = X.ShortcutManager__indexShortcuts(this._shortcuts) : t1;
    },
    _find$2: function($event, state) {
      var t2, _i, activatorIntent,
        candidatesByKey = this.get$_indexedShortcuts().$index(0, $event.data.get$logicalKey()),
        candidatesByNull = this.get$_indexedShortcuts().$index(0, null),
        t1 = H._setArrayType([], type$.JSArray__ActivatorIntentPair);
      if (candidatesByKey != null)
        C.JSArray_methods.addAll$1(t1, candidatesByKey);
      if (candidatesByNull != null)
        C.JSArray_methods.addAll$1(t1, candidatesByNull);
      for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        activatorIntent = t1[_i];
        if (activatorIntent.activator.accepts$2($event, state))
          return activatorIntent.intent;
      }
      return null;
    },
    handleKeypress$2: function(context, $event) {
      var matchedIntent, t1, primaryContext, action;
      if (!($event instanceof B.RawKeyDownEvent))
        return C.KeyEventResult_1;
      matchedIntent = this._find$2($event, $.$get$RawKeyboard_instance());
      if (matchedIntent != null) {
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
        primaryContext = t1 == null ? null : t1._focus_manager$_context;
        if (primaryContext != null) {
          action = U.Actions_maybeFind(primaryContext, matchedIntent, type$.Intent);
          if (action != null && action.isEnabled$1(0, matchedIntent)) {
            primaryContext.dependOnInheritedWidgetOfExactType$1$0(type$._ActionsMarker);
            t1 = U.Actions__findDispatcher(primaryContext);
            t1.invokeAction$3(action, matchedIntent, primaryContext);
            return action.consumesKey$1(matchedIntent) ? C.KeyEventResult_0 : C.KeyEventResult_2;
          }
        }
      }
      return C.KeyEventResult_1;
    }
  };
  X.ShortcutManager__indexShortcuts_closure.prototype = {
    call$2: function(activator, intent) {
      var nullableTriggers = activator.get$triggers(),
        t1 = J.get$iterator$ax(nullableTriggers == null ? H._setArrayType([null], type$.JSArray_nullable_LogicalKeyboardKey) : nullableTriggers),
        t2 = this.result;
      for (; t1.moveNext$0();)
        J.add$1$ax(t2.putIfAbsent$2(0, t1.get$current(t1), new X.ShortcutManager__indexShortcuts__closure()), new X._ActivatorIntentPair(activator, intent));
    },
    $signature: 972
  };
  X.ShortcutManager__indexShortcuts__closure.prototype = {
    call$0: function() {
      return H._setArrayType([], type$.JSArray__ActivatorIntentPair);
    },
    $signature: 973
  };
  X.Shortcuts.prototype = {
    createState$0: function() {
      return new X._ShortcutsState(C._StateLifecycle_0);
    }
  };
  X._ShortcutsState.prototype = {
    get$manager: function() {
      this._widget.toString;
      var t1 = this._internalManager;
      t1.toString;
      return t1;
    },
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    initState$0: function() {
      var _this = this;
      _this.super$State$initState();
      _this._widget.toString;
      _this._internalManager = X.ShortcutManager$();
      _this.get$manager().set$shortcuts(_this._widget.shortcuts);
    },
    didUpdateWidget$1: function(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      _this._widget.toString;
      oldWidget.toString;
      _this.get$manager().set$shortcuts(_this._widget.shortcuts);
    },
    _handleOnKey$2: function(node, $event) {
      var t1, t2;
      if (node._focus_manager$_context == null)
        return C.KeyEventResult_1;
      t1 = this.get$manager();
      t2 = node._focus_manager$_context;
      t2.toString;
      return t1.handleKeypress$2(t2, $event);
    },
    build$1: function(_, context) {
      var _null = null,
        t1 = C.Type_Shortcuts_6TW.toString$0(0);
      return L.Focus$(false, false, new X._ShortcutsMarker(this.get$manager(), this._widget.child, _null), t1, true, _null, true, _null, _null, this.get$_handleOnKey(), _null);
    }
  };
  X._ShortcutsMarker.prototype = {};
  X._LogicalKeySet_KeySet_Diagnosticable.prototype = {};
  X._ShortcutManager_ChangeNotifier_Diagnosticable.prototype = {};
  X._SingleActivator_Object_Diagnosticable.prototype = {};
  X.__ActivatorIntentPair_Object_Diagnosticable.prototype = {};
  E.SingleChildScrollView.prototype = {
    build$1: function(_, context) {
      var t2, scrollController, scrollable, _this = this, _null = null, t1 = {},
        axisDirection = T.getAxisDirectionFromAxisReverseAndDirectionality(context, _this.scrollDirection, _this.reverse),
        contents = _this.child;
      t1.contents = contents;
      t2 = _this.padding;
      if (t2 != null)
        t1.contents = new T.Padding(t2, contents, _null);
      t2 = _this.primary;
      scrollController = t2 ? E.PrimaryScrollController_of(context) : _this.controller;
      scrollable = F.Scrollable$(axisDirection, scrollController, _this.dragStartBehavior, false, _this.physics, _null, _null, _null, new E.SingleChildScrollView_build_closure(t1, _this, axisDirection));
      return t2 && scrollController != null ? E.PrimaryScrollController$none(scrollable) : scrollable;
    }
  };
  E.SingleChildScrollView_build_closure.prototype = {
    call$2: function(context, offset) {
      return new E._SingleChildViewport(this.axisDirection, offset, C.Clip_1, this._box_0.contents, null);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 975
  };
  E._SingleChildViewport.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new E._RenderSingleChildViewport(this.axisDirection, this.offset, this.clipBehavior, null);
      t1.get$isRepaintBoundary();
      t1.__RenderObject__needsCompositing = true;
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2: function(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();
      }
    }
  };
  E._RenderSingleChildViewport.prototype = {
    set$axisDirection: function(value) {
      if (value === this._axisDirection)
        return;
      this._axisDirection = value;
      this.markNeedsLayout$0();
    },
    set$offset: function(_, value) {
      var _this = this,
        t1 = _this._single_child_scroll_view$_offset;
      if (value == t1)
        return;
      if (_this._node$_owner != null)
        t1.removeListener$1(0, _this.get$_hasScrolled());
      _this._single_child_scroll_view$_offset = value;
      if (_this._node$_owner != null)
        value.addListener$1(0, _this.get$_hasScrolled());
      _this.markNeedsLayout$0();
    },
    _hasScrolled$0: function() {
      this.markNeedsPaint$0();
      this.markNeedsSemanticsUpdate$0();
    },
    setupParentData$1: function(child) {
      if (!(child.parentData instanceof K.ParentData))
        child.parentData = new K.ParentData();
    },
    attach$1: function(owner) {
      this.super$__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin$attach(owner);
      this._single_child_scroll_view$_offset.addListener$1(0, this.get$_hasScrolled());
    },
    detach$0: function(_) {
      this._single_child_scroll_view$_offset.removeListener$1(0, this.get$_hasScrolled());
      this.super$__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    get$isRepaintBoundary: function() {
      return true;
    },
    get$_viewportExtent: function() {
      switch (G.axisDirectionToAxis(this._axisDirection)) {
        case C.Axis_0:
          return this._box$_size._dx;
        case C.Axis_1:
          return this._box$_size._dy;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    get$_single_child_scroll_view$_maxScrollExtent: function() {
      var _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      switch (G.axisDirectionToAxis(_this._axisDirection)) {
        case C.Axis_0:
          return Math.max(0, t1._box$_size._dx - _this._box$_size._dx);
        case C.Axis_1:
          return Math.max(0, t1._box$_size._dy - _this._box$_size._dy);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _getInnerConstraints$1: function(constraints) {
      switch (G.axisDirectionToAxis(this._axisDirection)) {
        case C.Axis_0:
          return new S.BoxConstraints(0, 1 / 0, constraints.minHeight, constraints.maxHeight);
        case C.Axis_1:
          return new S.BoxConstraints(constraints.minWidth, constraints.maxWidth, 0, 1 / 0);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    computeMinIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
      return 0;
    },
    computeMaxIntrinsicWidth$1: function(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return 0;
    },
    computeMinIntrinsicHeight$1: function(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight());
      return 0;
    },
    computeMaxIntrinsicHeight$1: function(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(C._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight());
      return 0;
    },
    computeDryLayout$1: function(constraints) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
      return constraints.constrain$1(t1.getDryLayout$1(this._getInnerConstraints$1(constraints)));
    },
    performLayout$0: function() {
      var _this = this,
        constraints = type$.BoxConstraints._as(K.RenderObject.prototype.get$constraints.call(_this)),
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        _this._box$_size = new P.Size(C.JSInt_methods.clamp$2(0, constraints.minWidth, constraints.maxWidth), C.JSInt_methods.clamp$2(0, constraints.minHeight, constraints.maxHeight));
      else {
        t1.layout$2$parentUsesSize(0, _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: function(position) {
      var _this = this;
      switch (_this._axisDirection) {
        case C.AxisDirection_0:
          return new P.Offset(0, position - _this.RenderObjectWithChildMixin__child._box$_size._dy + _this._box$_size._dy);
        case C.AxisDirection_2:
          return new P.Offset(0, -position);
        case C.AxisDirection_3:
          return new P.Offset(position - _this.RenderObjectWithChildMixin__child._box$_size._dx + _this._box$_size._dx, 0);
        case C.AxisDirection_1:
          return new P.Offset(-position, 0);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    _shouldClipAtPaintOffset$1: function(paintOffset) {
      var t2, t3, t4, t5,
        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: function(context, offset) {
      var t1, paintOffset, t2, t3, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this._single_child_scroll_view$_offset._pixels;
        t1.toString;
        paintOffset = _this._paintOffsetForPosition$1(t1);
        t1 = new E._RenderSingleChildViewport_paint_paintContents(_this, paintOffset);
        if (_this._shouldClipAtPaintOffset$1(paintOffset) && _this._single_child_scroll_view$_clipBehavior !== C.Clip_0) {
          t2 = _this.get$_needsCompositing();
          t3 = _this._box$_size;
          _this._single_child_scroll_view$_clipRectLayer = context.pushClipRect$6$clipBehavior$oldLayer(t2, offset, new P.Rect(0, 0, 0 + t3._dx, 0 + t3._dy), t1, _this._single_child_scroll_view$_clipBehavior, _this._single_child_scroll_view$_clipRectLayer);
        } else {
          _this._single_child_scroll_view$_clipRectLayer = null;
          t1.call$2(context, offset);
        }
      }
    },
    applyPaintTransform$2: function(child, transform) {
      var paintOffset,
        t1 = this._single_child_scroll_view$_offset._pixels;
      t1.toString;
      paintOffset = this._paintOffsetForPosition$1(t1);
      transform.translate$2(0, paintOffset._dx, paintOffset._dy);
    },
    describeApproximatePaintClip$1: function(child) {
      var t1, _this = this;
      if (child != null) {
        t1 = _this._single_child_scroll_view$_offset._pixels;
        t1.toString;
        t1 = _this._shouldClipAtPaintOffset$1(_this._paintOffsetForPosition$1(t1));
      } else
        t1 = false;
      if (t1) {
        t1 = _this._box$_size;
        return new P.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
      }
      return null;
    },
    hitTestChildren$2$position: function(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 E._RenderSingleChildViewport_hitTestChildren_closure(_this, position), _this._paintOffsetForPosition$1(t1), position);
      }
      return false;
    },
    getOffsetToReveal$3$rect: function(target, alignment, rect) {
      var t1, bounds, mainAxisExtent, t2, leadingScrollOffset, targetMainAxisExtent, targetOffset, _this = this;
      if (rect == null)
        rect = target.get$paintBounds();
      if (!(target instanceof S.RenderBox)) {
        t1 = _this._single_child_scroll_view$_offset._pixels;
        t1.toString;
        return new Q.RevealedOffset(t1, rect);
      }
      bounds = T.MatrixUtils_transformRect(target.getTransformTo$1(0, _this.RenderObjectWithChildMixin__child), rect);
      t1 = _this.RenderObjectWithChildMixin__child._box$_size;
      t1.toString;
      switch (_this._axisDirection) {
        case C.AxisDirection_0:
          mainAxisExtent = _this._box$_size._dy;
          t2 = bounds.bottom;
          leadingScrollOffset = t1._dy - t2;
          targetMainAxisExtent = t2 - bounds.top;
          break;
        case C.AxisDirection_1:
          mainAxisExtent = _this._box$_size._dx;
          leadingScrollOffset = bounds.left;
          targetMainAxisExtent = bounds.right - leadingScrollOffset;
          break;
        case C.AxisDirection_2:
          mainAxisExtent = _this._box$_size._dy;
          leadingScrollOffset = bounds.top;
          targetMainAxisExtent = bounds.bottom - leadingScrollOffset;
          break;
        case C.AxisDirection_3:
          mainAxisExtent = _this._box$_size._dx;
          t2 = bounds.right;
          leadingScrollOffset = t1._dx - t2;
          targetMainAxisExtent = t2 - bounds.left;
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      targetOffset = leadingScrollOffset - (mainAxisExtent - targetMainAxisExtent) * alignment;
      return new Q.RevealedOffset(targetOffset, bounds.shift$1(_this._paintOffsetForPosition$1(targetOffset)));
    },
    showOnScreen$4$curve$descendant$duration$rect: function(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, Q.RenderViewportBase_showInViewport(curve, descendant, duration, _this._single_child_scroll_view$_offset, rect, _this));
    },
    showOnScreen$0: function() {
      return this.showOnScreen$4$curve$descendant$duration$rect(C.Cubic_JUR, null, C.Duration_0, null);
    },
    showOnScreen$1$rect: function(rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(C.Cubic_JUR, null, C.Duration_0, rect);
    },
    showOnScreen$3$curve$duration$rect: function(curve, duration, rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(curve, null, duration, rect);
    },
    describeSemanticsClip$1: function(child) {
      var t1;
      switch (G.axisDirectionToAxis(this._axisDirection)) {
        case C.Axis_1:
          t1 = this._box$_size;
          return new P.Rect(0, -250, 0 + t1._dx, 0 + t1._dy + 250);
        case C.Axis_0:
          t1 = this._box$_size;
          return new P.Rect(-250, 0, 0 + t1._dx + 250, 0 + t1._dy);
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $isRenderAbstractViewport: 1
  };
  E._RenderSingleChildViewport_paint_paintContents.prototype = {
    call$2: function(context, offset) {
      var t1 = this.$this.RenderObjectWithChildMixin__child;
      t1.toString;
      context.paintChild$2(t1, offset.$add(0, this.paintOffset));
    },
    $signature: 22
  };
  E._RenderSingleChildViewport_hitTestChildren_closure.prototype = {
    call$2: function(result, transformed) {
      var t1 = this.$this.RenderObjectWithChildMixin__child;
      t1.toString;
      transformed.toString;
      return t1.hitTest$2$position(result, transformed);
    },
    $signature: 24
  };
  E.__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin.prototype = {
    attach$1: function(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0: function(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  G.SliverChildDelegate.prototype = {
    get$estimatedChildCount: function() {
      return null;
    },
    findIndexByKey$1: function(key) {
      return null;
    },
    toString$0: function(_) {
      var description = H._setArrayType([], type$.JSArray_String);
      this.debugFillDescription$1(description);
      return "<optimized out>#" + Y.shortHash(this) + "(" + C.JSArray_methods.join$1(description, ", ") + ")";
    },
    debugFillDescription$1: function(description) {
      var children, e, exception;
      try {
        children = this.get$estimatedChildCount();
        if (children != null)
          description.push("estimated child count: " + H.S(children));
      } catch (exception) {
        e = H.unwrapException(exception);
        description.push("estimated child count: EXCEPTION (" + J.get$runtimeType$(e).toString$0(0) + ")");
      }
    }
  };
  G._SaltedValueKey.prototype = {};
  G.SliverChildBuilderDelegate.prototype = {
    findIndexByKey$1: function(key) {
      return null;
    },
    build$2: function(_, context, index) {
      var child, exception, stackTrace, t1, exception0, details, key, semanticIndex, _this = this, _null = null;
      if (!(index < 0)) {
        t1 = _this.childCount;
        t1 = t1 != null && index >= t1;
      } else
        t1 = true;
      if (t1)
        return _null;
      child = null;
      try {
        child = _this.builder.call$2(context, index);
      } catch (exception0) {
        exception = H.unwrapException(exception0);
        stackTrace = H.getTraceFromException(exception0);
        details = new U.FlutterErrorDetails(exception, stackTrace, "widgets library", U.ErrorDescription$("building"), _null, false);
        U.FlutterError_reportError(details);
        child = N.ErrorWidget__defaultErrorWidgetBuilder(details);
      }
      if (child == null)
        return _null;
      if (child.key != null) {
        t1 = child.key;
        t1.toString;
        key = new G._SaltedValueKey(t1);
      } else
        key = _null;
      if (_this.addRepaintBoundaries)
        child = new T.RepaintBoundary(child, _null);
      semanticIndex = _this.semanticIndexCallback.call$2(child, index);
      if (semanticIndex != null)
        child = new T.IndexedSemantics(semanticIndex, child, _null);
      if (_this.addAutomaticKeepAlives)
        child = new L.AutomaticKeepAlive(child, _null);
      return new T.KeyedSubtree(child, key);
    },
    get$estimatedChildCount: function() {
      return this.childCount;
    },
    shouldRebuild$1: function(oldDelegate) {
      return true;
    }
  };
  G.SliverChildListDelegate.prototype = {
    _findChildIndex$1: function(key) {
      var t2, t3, t4, index, _null = null,
        t1 = this._keyToIndex;
      if (!t1.containsKey$1(0, key)) {
        t2 = t1.$index(0, _null);
        t2.toString;
        for (t3 = this.children, t4 = J.getInterceptor$asx(t3), index = t2; index < t4.get$length(t3);) {
          t2 = t4.$index(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: function(key) {
      return this._findChildIndex$1(key instanceof G._SaltedValueKey ? key.value : key);
    },
    build$2: function(_, context, index) {
      var child, t1, key, semanticIndex, _null = null;
      if (index < 0 || index >= J.get$length$asx(this.children))
        return _null;
      child = J.$index$asx(this.children, index);
      t1 = child.key;
      key = t1 != null ? new G._SaltedValueKey(t1) : _null;
      child = new T.RepaintBoundary(child, _null);
      semanticIndex = G._kDefaultSemanticIndexCallback(child, index);
      if (semanticIndex != null)
        child = new T.IndexedSemantics(semanticIndex, child, _null);
      return new T.KeyedSubtree(new L.AutomaticKeepAlive(child, _null), key);
    },
    get$estimatedChildCount: function() {
      return J.get$length$asx(this.children);
    },
    shouldRebuild$1: function(oldDelegate) {
      return !J.$eq$(this.children, oldDelegate.children);
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  G.SliverWithKeepAliveWidget.prototype = {};
  G.SliverMultiBoxAdaptorWidget.prototype = {
    createElement$0: function(_) {
      return G.SliverMultiBoxAdaptorElement$(this, false);
    }
  };
  G.SliverList.prototype = {
    createElement$0: function(_) {
      return G.SliverMultiBoxAdaptorElement$(this, true);
    },
    createRenderObject$1: function(context) {
      var t1 = new U.RenderSliverList(type$.SliverMultiBoxAdaptorElement._as(context), P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.RenderBox), 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      return t1;
    }
  };
  G.SliverFixedExtentList.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new X.RenderSliverFixedExtentList(this.itemExtent, type$.SliverMultiBoxAdaptorElement._as(context), P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.RenderBox), 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$itemExtent(this.itemExtent);
    }
  };
  G.SliverMultiBoxAdaptorElement.prototype = {
    get$widget: function() {
      return type$.SliverMultiBoxAdaptorWidget._as(N.RenderObjectElement.prototype.get$widget.call(this));
    },
    get$renderObject: function() {
      return type$.RenderSliverMultiBoxAdaptor._as(N.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    update$1: function(_, newWidget) {
      var newDelegate, oldDelegate, t1,
        oldWidget = this.get$widget();
      this.super$RenderObjectElement$update(0, newWidget);
      newDelegate = newWidget.delegate;
      oldDelegate = oldWidget.delegate;
      if (newDelegate !== oldDelegate)
        t1 = H.getRuntimeType(newDelegate) !== H.getRuntimeType(oldDelegate) || newDelegate.shouldRebuild$1(oldDelegate);
      else
        t1 = false;
      if (t1)
        this.performRebuild$0();
    },
    performRebuild$0: function() {
      var newChildren, indexToLayoutOffset, 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 = P.SplayTreeMap$(_null, t1, type$.nullable_Element);
        indexToLayoutOffset = P.HashMap_HashMap(_null, _null, _null, t1, type$.double);
        processElement = new G.SliverMultiBoxAdaptorElement_performRebuild_processElement(_box_0, _this, newChildren, indexToLayoutOffset);
        for (t1 = _this._sliver0$_childElements, t2 = t1.$ti, t2 = t2._eval$1("@<1>")._bind$1(t2._eval$1("_SplayTreeMapNode<1,2>"))._eval$1("_SplayTreeKeyIterable<1,2>"), t2 = P.List_List$of(new P._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 : _this.get$widget().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 G.SliverMultiBoxAdaptorElement_performRebuild_closure());
            t1.remove$1(0, index);
          } else
            J.putIfAbsent$2$x(newChildren, index, new G.SliverMultiBoxAdaptorElement_performRebuild_closure0(_this, index));
        }
        _this.get$renderObject().toString;
        t2 = newChildren;
        t3 = H.instanceType(t2);
        new P._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().toString;
      }
    },
    createChild$2$after: function(index, after) {
      this._owner.buildScope$2(this, new G.SliverMultiBoxAdaptorElement_createChild_closure(this, after, index));
    },
    updateChild$3: function(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: function(child) {
      this._sliver0$_childElements.remove$1(0, child._slot);
      this.super$Element$forgetChild(child);
    },
    removeChild$1: function(child) {
      var t1, _this = this;
      _this.get$renderObject().toString;
      t1 = child.parentData;
      t1.toString;
      t1 = type$.SliverMultiBoxAdaptorParentData._as(t1).index;
      t1.toString;
      _this._owner.buildScope$2(_this, new G.SliverMultiBoxAdaptorElement_removeChild_closure(_this, t1));
    },
    estimateMaxScrollOffset$5$firstIndex$lastIndex$leadingScrollOffset$trailingScrollOffset: function(constraints, firstIndex, lastIndex, leadingScrollOffset, trailingScrollOffset) {
      var t1,
        childCount = this.get$widget().delegate.get$estimatedChildCount();
      if (childCount == null)
        return 1 / 0;
      t1 = this.get$widget();
      firstIndex.toString;
      lastIndex.toString;
      leadingScrollOffset.toString;
      t1.toString;
      t1 = G.SliverMultiBoxAdaptorElement__extrapolateMaxScrollOffset(firstIndex, lastIndex, leadingScrollOffset, trailingScrollOffset, childCount);
      return t1;
    },
    get$childCount: function() {
      var lo, hi, lo0, t1, mid, _this = this,
        result = _this.get$widget().delegate.get$estimatedChildCount();
      if (result == null) {
        for (lo = 0, hi = 1; lo0 = hi - 1, _this.get$widget().delegate.build$2(0, _this, lo0) != null; lo = lo0)
          if (hi < 4503599627370496)
            hi *= 2;
          else {
            if (hi >= 9007199254740992)
              throw H.wrapException(U.FlutterError_FlutterError("Could not find the number of children in " + _this.get$widget().delegate.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 (; t1 = hi - lo, t1 > 1;) {
          mid = C.JSInt_methods._tdivFast$1(t1, 2) + lo;
          if (_this.get$widget().delegate.build$2(0, _this, mid - 1) == null)
            hi = mid;
          else
            lo = mid;
        }
        result = lo;
      }
      return result;
    },
    didFinishLayout$0: function() {
      var t1 = this._sliver0$_childElements;
      t1.firstKey$0();
      t1.lastKey$0();
      this.get$widget().toString;
    },
    didAdoptChild$1: function(child) {
      var t1 = child.parentData;
      t1.toString;
      type$.SliverMultiBoxAdaptorParentData._as(t1).index = this._currentlyUpdatingChildIndex;
    },
    insertRenderObjectChild$2: function(child, slot) {
      var t2,
        t1 = this.get$renderObject();
      type$.RenderBox._as(child);
      t2 = this._currentBeforeChild;
      t1.toString;
      t1.super$ContainerRenderObjectMixin$insert(0, child, t2);
    },
    moveRenderObjectChild$3: function(child, oldSlot, newSlot) {
      this.get$renderObject().move$2$after(type$.RenderBox._as(child), this._currentBeforeChild);
    },
    removeRenderObjectChild$2: function(child, slot) {
      this.get$renderObject().remove$1(0, type$.RenderBox._as(child));
    },
    visitChildren$1: function(visitor) {
      var t1 = this._sliver0$_childElements,
        t2 = t1.$ti;
      t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_SplayTreeValueIterable<1,2>");
      t2 = H.CastIterable_CastIterable(new P._SplayTreeValueIterable(t1, t2), t2._eval$1("Iterable.E"), type$.Element_2);
      C.JSArray_methods.forEach$1(P.List_List$of(t2, true, H._instanceType(t2)._eval$1("Iterable.E")), visitor);
    }
  };
  G.SliverMultiBoxAdaptorElement_performRebuild_processElement.prototype = {
    call$1: function(index) {
      var newChild, parentData, t2, t3, _this = this,
        t1 = _this.$this;
      t1._currentlyUpdatingChildIndex = index;
      t2 = t1._sliver0$_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), t1.get$widget().delegate.build$2(0, 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: 63
  };
  G.SliverMultiBoxAdaptorElement_performRebuild_closure.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  G.SliverMultiBoxAdaptorElement_performRebuild_closure0.prototype = {
    call$0: function() {
      return this.$this._sliver0$_childElements.$index(0, this.index);
    },
    $signature: 977
  };
  G.SliverMultiBoxAdaptorElement_createChild_closure.prototype = {
    call$0: function() {
      var newChild, t2, _this = this,
        t1 = _this.$this;
      t1._currentBeforeChild = _this.after == null ? null : type$.nullable_RenderBox._as(t1._sliver0$_childElements.$index(0, _this.index - 1).get$renderObject());
      newChild = null;
      try {
        t2 = t1._currentlyUpdatingChildIndex = _this.index;
        newChild = t1.updateChild$3(t1._sliver0$_childElements.$index(0, t2), t1.get$widget().delegate.build$2(0, t1, t2), t2);
      } finally {
        t1._currentlyUpdatingChildIndex = null;
      }
      t2 = _this.index;
      t1 = t1._sliver0$_childElements;
      if (newChild != null)
        t1.$indexSet(0, t2, newChild);
      else
        t1.remove$1(0, t2);
    },
    $signature: 0
  };
  G.SliverMultiBoxAdaptorElement_removeChild_closure.prototype = {
    call$0: function() {
      var result, t1, t2, _this = this;
      try {
        t1 = _this.$this;
        t2 = t1._currentlyUpdatingChildIndex = _this.index;
        result = t1.updateChild$3(t1._sliver0$_childElements.$index(0, t2), null, t2);
      } finally {
        _this.$this._currentlyUpdatingChildIndex = null;
      }
      _this.$this._sliver0$_childElements.remove$1(0, _this.index);
    },
    $signature: 0
  };
  G.KeepAlive.prototype = {
    applyParentData$1: function(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 K.RenderObject && !t2)
          targetParent.markNeedsLayout$0();
      }
    }
  };
  A.SliverFillViewport.prototype = {
    build$1: function(_, context) {
      var t1 = this.viewportFraction,
        t2 = C.JSInt_methods.clamp$2(1 - t1, 0, 1);
      return new A._SliverFractionalPadding(t2 / 2, new A._SliverFillViewportRenderObjectWidget(t1, this.delegate, null), null);
    }
  };
  A._SliverFillViewportRenderObjectWidget.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new A.RenderSliverFillViewport(this.viewportFraction, type$.SliverMultiBoxAdaptorElement._as(context), P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.RenderBox), 0, null, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$viewportFraction(this.viewportFraction);
    }
  };
  A._SliverFractionalPadding.prototype = {
    createRenderObject$1: function(context) {
      var t1 = new A._RenderSliverFractionalPadding(this.viewportFraction, null);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$viewportFraction(this.viewportFraction);
    }
  };
  A._RenderSliverFractionalPadding.prototype = {
    set$viewportFraction: function(newValue) {
      var _this = this;
      if (_this._viewportFraction === newValue)
        return;
      _this._viewportFraction = newValue;
      _this._sliver_fill$_resolvedPadding = null;
      _this.markNeedsLayout$0();
    },
    get$resolvedPadding: function() {
      return this._sliver_fill$_resolvedPadding;
    },
    _sliver_fill$_resolve$0: function() {
      var t1, paddingValue, _this = this;
      if (_this._sliver_fill$_resolvedPadding != null && J.$eq$(_this._lastResolvedConstraints, type$.SliverConstraints._as(K.RenderObject.prototype.get$constraints.call(_this))))
        return;
      t1 = type$.SliverConstraints;
      paddingValue = t1._as(K.RenderObject.prototype.get$constraints.call(_this)).viewportMainAxisExtent * _this._viewportFraction;
      _this._lastResolvedConstraints = t1._as(K.RenderObject.prototype.get$constraints.call(_this));
      switch (G.axisDirectionToAxis(t1._as(K.RenderObject.prototype.get$constraints.call(_this)).axisDirection)) {
        case C.Axis_0:
          _this._sliver_fill$_resolvedPadding = new V.EdgeInsets(paddingValue, 0, paddingValue, 0);
          break;
        case C.Axis_1:
          _this._sliver_fill$_resolvedPadding = new V.EdgeInsets(0, paddingValue, 0, paddingValue);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      return;
    },
    performLayout$0: function() {
      this._sliver_fill$_resolve$0();
      this.super$RenderSliverEdgeInsetsPadding$performLayout();
    }
  };
  R.Spacer.prototype = {
    build$1: function(_, context) {
      return T.Expanded$(C.SizedBox_0_0_null_null, 1);
    }
  };
  S.TableRow0.prototype = {
    toString$0: function(_) {
      var t2,
        t1 = this.key;
      t1 = t1 != null ? "TableRow(" + (t1.toString$0(0) + ", ") : "TableRow(";
      t1 += this.decoration.toString$0(0) + ", ";
      t2 = this.children;
      t1 = t2.length === 0 ? t1 + "no children" : t1 + H.S(t2);
      t1 += ")";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  S._TableElementRow.prototype = {
    get$children: function(receiver) {
      return this.children;
    }
  };
  S.Table.prototype = {
    createElement$0: function(_) {
      var t1 = type$.Element_2,
        t2 = P.HashSet_HashSet(t1),
        t3 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t3;
      return new S._TableElement(C.List_empty15, t2, t3, this, C._ElementLifecycle_0, P.HashSet_HashSet(t1));
    },
    createRenderObject$1: function(context) {
      var t3, t4, t5,
        t1 = this.children,
        t2 = t1.length;
      t1 = t2 !== 0 ? t1[0].children.length : 0;
      t3 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t3.toString;
      t3 = t3.textDirection;
      t4 = U.createLocalImageConfiguration(context, null);
      t5 = H._setArrayType([], type$.JSArray_double);
      t1 = new S.RenderTable(C.List_empty14, t1, t2, this.columnWidths, C.C_FlexColumnWidth, t3, null, t4, C.TableCellVerticalAlignment_0, null, t5);
      t1.get$isRepaintBoundary();
      t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = false;
      t2 = H._setArrayType([], type$.JSArray_nullable_RenderBox);
      C.JSArray_methods.set$length(t2, t1._columns * t1._rows);
      t1._table0$_children = t2;
      t1.set$rowDecorations(this._rowDecorations);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1;
      renderObject.set$columnWidths(this.columnWidths);
      renderObject.set$defaultColumnWidth(C.C_FlexColumnWidth);
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = t1.textDirection;
      renderObject.set$textDirection(0, t1);
      renderObject.set$border(0, null);
      renderObject.set$rowDecorations(this._rowDecorations);
      renderObject.set$configuration(U.createLocalImageConfiguration(context, null));
      renderObject.set$defaultVerticalAlignment(C.TableCellVerticalAlignment_0);
      renderObject.set$textBaseline(0, null);
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  S.Table_closure.prototype = {
    call$1: function(row) {
      row.toString;
      return true;
    },
    $signature: 978
  };
  S.Table_closure0.prototype = {
    call$1: function(row) {
      return row.decoration;
    },
    $signature: 979
  };
  S._TableElement.prototype = {
    get$widget: function() {
      return type$.Table._as(N.RenderObjectElement.prototype.get$widget.call(this));
    },
    get$renderObject: function() {
      return type$.RenderTable._as(N.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    mount$2: function($parent, newSlot) {
      var t2, t3, _this = this, t1 = {};
      _this._doingMountOrUpdate = true;
      _this.super$RenderObjectElement$mount($parent, newSlot);
      t1.rowIndex = -1;
      t2 = type$.Table._as(N.RenderObjectElement.prototype.get$widget.call(_this)).children;
      t3 = H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,_TableElementRow>");
      _this._table1$_children = P.List_List$of(new H.MappedListIterable(t2, new S._TableElement_mount_closure(t1, _this), t3), false, t3._eval$1("ListIterable.E"));
      _this._updateRenderObjectChildren$0();
      _this._doingMountOrUpdate = false;
    },
    insertRenderObjectChild$2: function(child, slot) {
      var t1 = type$.RenderTable;
      t1._as(N.RenderObjectElement.prototype.get$renderObject.call(this)).toString;
      if (!(child.parentData instanceof S.TableCellParentData))
        child.parentData = new S.TableCellParentData(C.Offset_0_0);
      if (!this._doingMountOrUpdate)
        t1._as(N.RenderObjectElement.prototype.get$renderObject.call(this)).setChild$3(slot.column, slot.row, child);
    },
    moveRenderObjectChild$3: function(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2: function(child, slot) {
      type$.RenderTable._as(N.RenderObjectElement.prototype.get$renderObject.call(this)).setChild$3(slot.column, slot.row, null);
    },
    update$1: function(_, newWidget) {
      var t1, oldKeyedRows, t2, t3, _i, row, t4, oldUnkeyedRows, newChildren, taken, rowIndex, t5, t6, oldChildren, _length, slots, columnIndex, _this = this;
      _this._doingMountOrUpdate = true;
      t1 = type$.List_Element;
      oldKeyedRows = P.LinkedHashMap_LinkedHashMap$_empty(type$.LocalKey, t1);
      for (t2 = _this._table1$_children, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
        row = t2[_i];
        t4 = row.key;
        if (t4 != null)
          oldKeyedRows.$indexSet(0, t4, row.children);
      }
      t2 = _this._table1$_children;
      t3 = C.JSArray_methods.get$iterator(t2);
      oldUnkeyedRows = new H.WhereIterator(t3, new S._TableElement_update_closure(), H._arrayInstanceType(t2)._eval$1("WhereIterator<1>"));
      newChildren = H._setArrayType([], type$.JSArray__TableElementRow);
      taken = P.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 : C.List_empty16;
        t6 = row.children;
        _length = t6.length;
        slots = H._setArrayType(new Array(_length), t4);
        for (columnIndex = 0; columnIndex < _length; ++columnIndex)
          slots[columnIndex] = new S._TableSlot(columnIndex, rowIndex);
        newChildren.push(new S._TableElementRow(t5, _this.updateChildren$4$forgottenChildren$slots(oldChildren, t6, t2, slots)));
      }
      for (; oldUnkeyedRows.moveNext$0();)
        _this.updateChildren$3$forgottenChildren(t3.get$current(t3).children, C.List_empty11, t2);
      for (t1 = oldKeyedRows.get$values(oldKeyedRows), t3 = t1.get$iterator(t1), t1 = new H.WhereIterator(t3, new S._TableElement_update_closure0(taken), H._instanceType(t1)._eval$1("WhereIterator<Iterable.E>")); t1.moveNext$0();)
        _this.updateChildren$3$forgottenChildren(t3.get$current(t3), C.List_empty11, t2);
      _this._table1$_children = newChildren;
      _this._updateRenderObjectChildren$0();
      t2.clear$0(0);
      _this.super$RenderObjectElement$update(0, newWidget);
      _this._doingMountOrUpdate = false;
    },
    _updateRenderObjectChildren$0: function() {
      var t3, t4,
        t1 = type$.RenderTable._as(N.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 = H._arrayInstanceType(t3)._eval$1("ExpandIterable<1,RenderBox>");
      t1.setFlatChildren$2(t2, P.List_List$of(new H.ExpandIterable(t3, new S._TableElement__updateRenderObjectChildren_closure(), t4), true, t4._eval$1("Iterable.E")));
    },
    visitChildren$1: function(visitor) {
      var t1, t2, t3;
      for (t1 = this._table1$_children, t2 = H._arrayInstanceType(t1), t2 = new H.ExpandIterator(C.JSArray_methods.get$iterator(t1), new S._TableElement_visitChildren_closure(), C.C_EmptyIterator, t2._eval$1("@<1>")._bind$1(t2._eval$1("Element0"))._eval$1("ExpandIterator<1,2>")), t1 = this._table1$_forgottenChildren; t2.moveNext$0();) {
        t3 = t2.__internal$_current;
        if (!t1.contains$1(0, t3))
          visitor.call$1(t3);
      }
    },
    forgetChild$1: function(child) {
      this._table1$_forgottenChildren.add$1(0, child);
      this.super$Element$forgetChild(child);
      return true;
    }
  };
  S._TableElement_mount_closure.prototype = {
    call$1: function(row) {
      var t2, t3, t4, t5, t1 = {};
      t1.columnIndex = 0;
      t2 = this._box_1;
      ++t2.rowIndex;
      t3 = row.key;
      t4 = row.children;
      t5 = H._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Element0>");
      return new S._TableElementRow(t3, P.List_List$of(new H.MappedListIterable(t4, new S._TableElement_mount__closure(t1, t2, this.$this), t5), false, t5._eval$1("ListIterable.E")));
    },
    $signature: 980
  };
  S._TableElement_mount__closure.prototype = {
    call$1: function(child) {
      return this.$this.inflateWidget$2(child, new S._TableSlot(this._box_0.columnIndex++, this._box_1.rowIndex));
    },
    $signature: 981
  };
  S._TableElement_update_closure.prototype = {
    call$1: function(row) {
      return row.key == null;
    },
    $signature: 982
  };
  S._TableElement_update_closure0.prototype = {
    call$1: function(list) {
      return !this.taken.contains$1(0, list);
    },
    $signature: 983
  };
  S._TableElement__updateRenderObjectChildren_closure.prototype = {
    call$1: function(row) {
      return J.map$1$1$ax(row.children, new S._TableElement__updateRenderObjectChildren__closure(), type$.RenderBox);
    },
    $signature: 984
  };
  S._TableElement__updateRenderObjectChildren__closure.prototype = {
    call$1: function(child) {
      var t1 = child.get$renderObject();
      t1.toString;
      return type$.RenderBox._as(t1);
    },
    $signature: 985
  };
  S._TableElement_visitChildren_closure.prototype = {
    call$1: function(row) {
      return row.children;
    },
    $signature: 986
  };
  S.TableCell.prototype = {
    applyParentData$1: function(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 K.RenderObject)
          targetParent.markNeedsLayout$0();
      }
    }
  };
  S._TableSlot.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== H.getRuntimeType(this))
        return false;
      return other instanceof S._TableSlot && this.column === other.column && this.row === other.row;
    },
    get$hashCode: function(_) {
      return P.hashValues(this.column, this.row, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd, C.C__HashEnd);
    }
  };
  S.__TableSlot_Object_Diagnosticable.prototype = {};
  L.DefaultTextStyle.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      var t1, _this = this;
      if (J.$eq$(_this.style, oldWidget.style))
        t1 = _this.softWrap !== oldWidget.softWrap || _this.overflow !== oldWidget.overflow || _this.maxLines != oldWidget.maxLines || _this.textWidthBasis !== oldWidget.textWidthBasis || false;
      else
        t1 = true;
      return t1;
    },
    wrap$2: function(_, context, child) {
      var _this = this;
      return L.DefaultTextStyle$(child, null, _this.maxLines, _this.overflow, _this.softWrap, _this.style, _this.textAlign, _this.textHeightBehavior, _this.textWidthBasis);
    }
  };
  L.DefaultTextStyle_merge_closure.prototype = {
    call$1: function(context) {
      var t2,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextStyle);
      if (t1 == null)
        t1 = C.DefaultTextStyle_kWM;
      t2 = t1.style.merge$1(this.style);
      return L.DefaultTextStyle$(this.child, this.key, t1.maxLines, t1.overflow, t1.softWrap, t2, t1.textAlign, null, t1.textWidthBasis);
    },
    $signature: 987
  };
  L._NullWidget2.prototype = {
    build$1: function(_, context) {
      throw H.wrapException(U.FlutterError_FlutterError("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."));
    }
  };
  L.Text.prototype = {
    build$1: function(_, context) {
      var effectiveTextStyle, t2, t3, t4, t5, t6, t7, t8, t9, result, _this = this, _null = null,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextStyle);
      if (t1 == null)
        t1 = C.DefaultTextStyle_kWM;
      effectiveTextStyle = _this.style;
      if (effectiveTextStyle == null || effectiveTextStyle.inherit)
        effectiveTextStyle = t1.style.merge$1(effectiveTextStyle);
      if (F.MediaQuery_boldTextOverride(context))
        effectiveTextStyle = effectiveTextStyle.merge$1(C.TextStyle_oqK);
      t2 = _this.textAlign;
      if (t2 == null)
        t2 = t1.textAlign;
      if (t2 == null)
        t2 = C.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 = F.MediaQuery_textScaleFactorOf(context);
      t7 = _this.maxLines;
      if (t7 == null)
        t7 = t1.maxLines;
      t8 = L.DefaultTextHeightBehavior_of(context);
      t9 = _this.textSpan;
      t9 = t9 != null ? H._setArrayType([t9], type$.JSArray_InlineSpan) : _null;
      result = T.RichText$(_null, t7, t5, t4, _null, Q.TextSpan$(t9, _null, _null, effectiveTextStyle, _this.data), t2, t3, t8, t6, t1.textWidthBasis);
      t1 = _this.semanticsLabel;
      return t1 != null ? T.Semantics$(_null, _null, new T.ExcludeSemantics(true, result, _null), false, _null, _null, false, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t3, _null, _null) : result;
    }
  };
  Y.TextEditingAction.prototype = {
    get$textEditingActionTarget: function() {
      var t2,
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
      if ((t1 == null ? null : t1._focus_manager$_context) != null) {
        t2 = t1._focus_manager$_context._framework$_state;
        t2.toString;
        t2 = !type$.TextEditingActionTarget._is(t2);
      } else
        t2 = true;
      if (t2)
        return null;
      t1 = t1._focus_manager$_context._framework$_state;
      t1.toString;
      return type$.TextEditingActionTarget._as(t1);
    },
    isEnabled$1: function(_, intent) {
      return this.get$textEditingActionTarget() != null;
    }
  };
  M.DoNothingAndStopPropagationTextIntent.prototype = {};
  F.TextSelectionHandleType.prototype = {
    toString$0: function(_) {
      return this._text_selection$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F._TextSelectionHandlePosition.prototype = {
    toString$0: function(_) {
      return this._text_selection$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  F.TextSelectionControls.prototype = {
    handleCut$1: function(delegate) {
      var t3,
        t1 = delegate._widget.controller._value,
        t2 = t1.selection;
      t1 = t1.text;
      t3 = t2.start;
      t2 = t2.end;
      T.Clipboard_setData(new T.ClipboardData(J.substring$2$s(t1, t3, t2)));
      delegate.userUpdateTextEditingValue$2(new N.TextEditingValue(C.JSString_methods.substring$2(t1, 0, t3) + C.JSString_methods.substring$1(t1, t2), X.TextSelection$collapsed(C.TextAffinity_1, t3), C.TextRange_m1_m1), C.SelectionChangedCause_5);
      t3 = delegate._widget.controller._value.selection;
      delegate.bringIntoView$1(new P.TextPosition(t3.extentOffset, t3.affinity));
      delegate.hideToolbar$0();
    },
    handleCopy$2: function(delegate, clipboardStatus) {
      var t3,
        t1 = delegate._widget.controller._value,
        t2 = t1.selection;
      t1 = t1.text;
      t3 = t2.end;
      T.Clipboard_setData(new T.ClipboardData(J.substring$2$s(t1, t2.start, t3)));
      t2 = delegate._widget.controller._value.selection;
      delegate.bringIntoView$1(new P.TextPosition(t2.extentOffset, t2.affinity));
      switch (U.defaultTargetPlatform()) {
        case C.TargetPlatform_2:
          delegate.hideToolbar$1(false);
          return;
        case C.TargetPlatform_4:
        case C.TargetPlatform_0:
        case C.TargetPlatform_1:
        case C.TargetPlatform_3:
        case C.TargetPlatform_5:
          delegate.userUpdateTextEditingValue$2(new N.TextEditingValue(t1, X.TextSelection$collapsed(C.TextAffinity_1, t3), C.TextRange_m1_m1), C.SelectionChangedCause_5);
          delegate.hideToolbar$0();
          return;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    handlePaste$1: function(delegate) {
      return this.handlePaste$body$TextSelectionControls(delegate);
    },
    handlePaste$body$TextSelectionControls: function(delegate) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        t2, t3, t4, t5, t1, data;
      var $async$handlePaste$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = delegate._widget.controller._value;
              $async$goto = 2;
              return P._asyncAwait(T.Clipboard_getData("text/plain"), $async$handlePaste$1);
            case 2:
              // returning from await.
              data = $async$result;
              if (data != null) {
                t2 = t1.selection;
                t1 = t1.text;
                t3 = t2.start;
                t4 = J.substring$2$s(t1, 0, t3);
                t5 = data.text;
                t5.toString;
                delegate.userUpdateTextEditingValue$2(new N.TextEditingValue(t4 + t5 + C.JSString_methods.substring$1(t1, t2.end), X.TextSelection$collapsed(C.TextAffinity_1, t3 + t5.length), C.TextRange_m1_m1), C.SelectionChangedCause_5);
              }
              t1 = delegate._widget.controller._value.selection;
              delegate.bringIntoView$1(new P.TextPosition(t1.extentOffset, t1.affinity));
              delegate.hideToolbar$0();
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$handlePaste$1, $async$completer);
    }
  };
  F.TextSelectionOverlay.prototype = {
    get$_toolbarController: function() {
      var t1 = this.__TextSelectionOverlay__toolbarController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_toolbarController")) : t1;
    },
    set$handlesVisible: function(visible) {
      var t1, _this = this;
      if (_this._handlesVisible === visible)
        return;
      _this._handlesVisible = visible;
      t1 = $.SchedulerBinding__instance;
      if (t1.SchedulerBinding__schedulerPhase === C.SchedulerPhase_3)
        t1.SchedulerBinding__postFrameCallbacks.push(_this.get$_text_selection$_markNeedsBuild());
      else
        _this._text_selection$_markNeedsBuild$0();
    },
    showHandles$0: function() {
      var result, t1, _this = this;
      if (_this._handles != null)
        return;
      _this._handles = H._setArrayType([X.OverlayEntry$(new F.TextSelectionOverlay_showHandles_closure(_this), false, false), X.OverlayEntry$(new F.TextSelectionOverlay_showHandles_closure0(_this), 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);
    },
    update$1: function(_, newValue) {
      var t1, _this = this;
      if (J.$eq$(_this._text_selection$_value, newValue))
        return;
      _this._text_selection$_value = newValue;
      t1 = $.SchedulerBinding__instance;
      if (t1.SchedulerBinding__schedulerPhase === C.SchedulerPhase_3)
        t1.SchedulerBinding__postFrameCallbacks.push(_this.get$_text_selection$_markNeedsBuild());
      else
        _this._text_selection$_markNeedsBuild$0();
    },
    _text_selection$_markNeedsBuild$1: function(duration) {
      var t1 = this._handles;
      if (t1 != null) {
        t1[0].markNeedsBuild$0();
        this._handles[1].markNeedsBuild$0();
      }
      t1 = this._toolbar;
      if (t1 != null)
        t1.markNeedsBuild$0();
    },
    _text_selection$_markNeedsBuild$0: function() {
      return this._text_selection$_markNeedsBuild$1(null);
    },
    hide$0: function() {
      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: function() {
      this.get$_toolbarController().stop$0(0);
      this._toolbar.remove$0(0);
      this._toolbar = null;
    },
    _buildHandle$2: function(context, position) {
      var _this = this, _null = null,
        t1 = _this._text_selection$_value.selection;
      return new T.ExcludeSemantics(true, t1.start == t1.end && position === C._TextSelectionHandlePosition_1 || _this.selectionControls == null ? M.Container$(_null, _null, C.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null) : new L.Visibility(new F._TextSelectionHandleOverlay(t1, position, _this.startHandleLayerLink, _this.endHandleLayerLink, _this.renderObject, new F.TextSelectionOverlay__buildHandle_closure(_this, position), _this.onSelectionHandleTapped, _this.selectionControls, _this.dragStartBehavior, _null), _this._handlesVisible, _null), _null);
    }
  };
  F.TextSelectionOverlay_showHandles_closure.prototype = {
    call$1: function(context) {
      return this.$this._buildHandle$2(context, C._TextSelectionHandlePosition_0);
    },
    $signature: 30
  };
  F.TextSelectionOverlay_showHandles_closure0.prototype = {
    call$1: function(context) {
      return this.$this._buildHandle$2(context, C._TextSelectionHandlePosition_1);
    },
    $signature: 30
  };
  F.TextSelectionOverlay__buildHandle_closure.prototype = {
    call$1: function(newSelection) {
      var textPosition, t2,
        t1 = this.$this;
      switch (this.position) {
        case C._TextSelectionHandlePosition_0:
          textPosition = new P.TextPosition(newSelection.baseOffset, newSelection.affinity);
          break;
        case C._TextSelectionHandlePosition_1:
          textPosition = new P.TextPosition(newSelection.extentOffset, newSelection.affinity);
          break;
        default:
          H.throwExpression(H.ReachabilityError$(string$.x60null_c));
          textPosition = null;
      }
      t2 = t1.selectionDelegate;
      t2.userUpdateTextEditingValue$2(t1._text_selection$_value.copyWith$2$composing$selection(C.TextRange_m1_m1, newSelection), C.SelectionChangedCause_6);
      t2.bringIntoView$1(textPosition);
    },
    $signature: 250
  };
  F._TextSelectionHandleOverlay.prototype = {
    createState$0: function() {
      return new F._TextSelectionHandleOverlayState(null, C._StateLifecycle_0);
    },
    get$_visibility: function(_) {
      switch (this.position) {
        case C._TextSelectionHandlePosition_0:
          return this.renderObject._selectionStartInViewport;
        case C._TextSelectionHandlePosition_1:
          return this.renderObject._selectionEndInViewport;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    onSelectionHandleChanged$1: function(arg0) {
      return this.onSelectionHandleChanged.call$1(arg0);
    }
  };
  F._TextSelectionHandleOverlayState.prototype = {
    get$_dragPosition: function() {
      var t1 = this.___TextSelectionHandleOverlayState__dragPosition;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_dragPosition")) : t1;
    },
    get$_text_selection$_controller: function() {
      var t1 = this.___TextSelectionHandleOverlayState__controller;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_controller")) : t1;
    },
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      _this.___TextSelectionHandleOverlayState__controller = G.AnimationController$(null, C.Duration_150000, 0, null, 1, null, _this);
      _this._handleVisibilityChanged$0();
      t1 = _this._widget;
      t1.get$_visibility(t1).addListener$1(0, _this.get$_handleVisibilityChanged());
    },
    _handleVisibilityChanged$0: function() {
      var t1 = this._widget;
      if (t1.get$_visibility(t1)._value)
        this.get$_text_selection$_controller().forward$0(0);
      else
        this.get$_text_selection$_controller().reverse$0(0);
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this.get$_handleVisibilityChanged();
      oldWidget.get$_visibility(oldWidget).removeListener$1(0, t1);
      _this._handleVisibilityChanged$0();
      t2 = _this._widget;
      t2.get$_visibility(t2).addListener$1(0, t1);
    },
    dispose$0: function(_) {
      var _this = this,
        t1 = _this._widget;
      t1.get$_visibility(t1).removeListener$1(0, _this.get$_handleVisibilityChanged());
      _this.get$_text_selection$_controller().dispose$0(0);
      _this.super$__TextSelectionHandleOverlayState_State_SingleTickerProviderStateMixin$dispose(0);
    },
    _handleDragStart$1: function(details) {
      var t1 = this._widget,
        t2 = t1.selectionControls;
      t2.toString;
      this.___TextSelectionHandleOverlayState__dragPosition = details.globalPosition.$add(0, new P.Offset(0, -t2.getHandleSize$1(t1.renderObject._textPainter.get$preferredLineHeight())._dy));
    },
    _handleDragUpdate$1: function(details) {
      var position, t1, t2, newSelection, _this = this;
      _this.___TextSelectionHandleOverlayState__dragPosition = _this.get$_dragPosition().$add(0, details.delta);
      position = _this._widget.renderObject.getPositionForPoint$1(_this.get$_dragPosition());
      t1 = _this._widget;
      t2 = t1.selection;
      if (t2.start == t2.end) {
        t1.onSelectionHandleChanged$1(X.TextSelection$fromPosition(position));
        return;
      }
      switch (t1.position) {
        case C._TextSelectionHandlePosition_0:
          newSelection = X.TextSelection$(C.TextAffinity_1, position.offset, t2.extentOffset, false);
          break;
        case C._TextSelectionHandlePosition_1:
          newSelection = X.TextSelection$(C.TextAffinity_1, t2.baseOffset, position.offset, false);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      if (newSelection.baseOffset >= newSelection.extentOffset)
        return;
      t1.onSelectionHandleChanged$1(newSelection);
    },
    _handleTap$0: function() {
      this._widget.onSelectionHandleTapped.call$0();
    },
    build$1: function(_, context) {
      var layerLink, type, t2, handleAnchor, handleSize, t3, t4, handleRect, interactiveRect, t5, t6, t7, t8, t9, t10, _this = this, _null = null,
        t1 = _this._widget;
      switch (t1.position) {
        case C._TextSelectionHandlePosition_0:
          layerLink = t1.startHandleLayerLink;
          t1 = t1.renderObject._textPainter._text_painter$_textDirection;
          t1.toString;
          type = _this._chooseType$3(t1, C.TextSelectionHandleType_0, C.TextSelectionHandleType_1);
          break;
        case C._TextSelectionHandlePosition_1:
          layerLink = t1.endHandleLayerLink;
          t1 = t1.renderObject._textPainter._text_painter$_textDirection;
          t1.toString;
          type = _this._chooseType$3(t1, C.TextSelectionHandleType_1, C.TextSelectionHandleType_0);
          break;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
      t1 = _this._widget;
      t2 = t1.selectionControls;
      t2.toString;
      handleAnchor = t2.getHandleAnchor$2(type, t1.renderObject._textPainter.get$preferredLineHeight());
      t1 = _this._widget;
      t2 = t1.selectionControls;
      t2.toString;
      handleSize = t2.getHandleSize$1(t1.renderObject._textPainter.get$preferredLineHeight());
      t1 = -handleAnchor._dx;
      t2 = -handleAnchor._dy;
      t3 = t1 + handleSize._dx;
      t4 = t2 + handleSize._dy;
      handleRect = new P.Rect(t1, t2, t3, t4);
      interactiveRect = handleRect.expandToInclude$1(P.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.get$_text_selection$_controller();
      t4.toString;
      t8 = _this._widget;
      t9 = t8.dragStartBehavior;
      t10 = t8.selectionControls;
      t10.toString;
      return T.CompositedTransformFollower$(K.FadeTransition$(false, M.Container$(C.Alignment_m1_m1, D.GestureDetector$(C.HitTestBehavior_2, new T.Padding(new V.EdgeInsets(t1, t2, t1, t2), t10.buildHandle$3(context, type, t8.renderObject._textPainter.get$preferredLineHeight()), _null), t9, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_handleDragStart(), _this.get$_handleDragUpdate(), _this.get$_handleTap(), _null, _null, _null, _null, _null, _null), C.Clip_0, _null, _null, _null, _null, t7, _null, _null, _null, _null, _null, t6), t4), layerLink, new P.Offset(t5, t3), false, C.Alignment_m1_m1);
    },
    _chooseType$3: function(textDirection, ltrType, rtlType) {
      var t1 = this._widget.selection;
      if (t1.start == t1.end)
        return C.TextSelectionHandleType_2;
      switch (textDirection) {
        case C.TextDirection_1:
          return ltrType;
        case C.TextDirection_0:
          return rtlType;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    }
  };
  F.TextSelectionGestureDetectorBuilder.prototype = {
    get$_lastSecondaryTapWasOnSelection: function() {
      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;
    },
    onTapDown$1: function(details) {
      var kind,
        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)._lastTapDownPosition = details.globalPosition;
      kind = details.kind;
      this._shouldShowSelectionToolbar = kind == null || kind === C.PointerDeviceKind_0 || kind === C.PointerDeviceKind_2;
    },
    onForcePressStart$1: function(details) {
      var t1;
      this._shouldShowSelectionToolbar = true;
      t1 = this.delegate;
      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(C.SelectionChangedCause_3, details.globalPosition);
    },
    onForcePressEnd$1: function(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(C.SelectionChangedCause_3, details.globalPosition);
      if (this._shouldShowSelectionToolbar) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1.showToolbar$0();
      }
    },
    onSingleTapUp$1: function(details) {
      var t1 = this.delegate;
      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).selectWordEdge$1$cause(C.SelectionChangedCause_0);
    },
    onSingleTapCancel$0: function() {
    },
    onSingleLongTapStart$1: function(details) {
      var t1 = this.delegate;
      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(C.SelectionChangedCause_2, details.globalPosition);
    },
    onSingleLongTapMoveUpdate$1: function(details) {
      var t1 = this.delegate;
      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(C.SelectionChangedCause_2, details.globalPosition);
    },
    onSingleLongTapEnd$1: function(details) {
      var t1;
      if (this._shouldShowSelectionToolbar) {
        t1 = this.delegate.get$editableTextKey().get$currentState();
        t1.toString;
        t1.showToolbar$0();
      }
    },
    onSecondaryTap$0: function() {
      var t2, t3,
        t1 = this.delegate;
      t1.get$selectionEnabled();
      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;
        type$.RenderEditable._as(t2);
        t3 = t2._lastTapDownPosition;
        t3.toString;
        t2.selectWordsInRange$2$cause$from(C.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();
      }
    },
    onSecondaryTapDown$1: function(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: function(details) {
      var t2, t3,
        t1 = this.delegate;
      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(C.SelectionChangedCause_0, t3);
      if (this._shouldShowSelectionToolbar) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1.showToolbar$0();
      }
    },
    onDragSelectionStart$1: function(details) {
      var kind, t2, t3,
        t1 = this.delegate;
      t1.get$selectionEnabled();
      kind = details.kind;
      this._shouldShowSelectionToolbar = kind == null || kind === C.PointerDeviceKind_0 || kind === C.PointerDeviceKind_2;
      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).selectPositionAt$2$cause$from(C.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 = t3._as(t1)._editable$_offset._pixels;
      t1.toString;
      this._dragStartViewportOffset = t1;
    },
    onDragSelectionUpdate$2: function(startDetails, updateDetails) {
      var t2, t3, startOffset,
        t1 = this.delegate;
      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;
      t3 = type$.RenderEditable;
      if (t3._as(t2)._editable$_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 P.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 P.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;
      t3._as(t1).selectPositionAt$3$cause$from$to(C.SelectionChangedCause_6, startDetails.globalPosition.$sub(0, startOffset), updateDetails.globalPosition);
    },
    onDragSelectionEnd$1: function(details) {
    },
    buildGestureDetector$2$behavior$child: function(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 F.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);
    }
  };
  F.TextSelectionGestureDetector.prototype = {
    createState$0: function() {
      return new F._TextSelectionGestureDetectorState(C._StateLifecycle_0);
    }
  };
  F._TextSelectionGestureDetectorState.prototype = {
    dispose$0: function(_) {
      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(0);
    },
    _text_selection$_handleTapDown$1: function(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;
      }
    },
    _handleTapUp$1: function(details) {
      var _this = this;
      if (!_this._isDoubleTap) {
        _this._widget.onSingleTapUp.call$1(details);
        _this._lastTapOffset = details.globalPosition;
        _this._text_selection$_doubleTapTimer = P.Timer_Timer(C.Duration_300000, _this.get$_doubleTapTimeout());
      }
      _this._isDoubleTap = false;
    },
    _text_selection$_handleTapCancel$0: function() {
      this._widget.onSingleTapCancel.call$0();
    },
    _handleDragStart$1: function(details) {
      this._lastDragStartDetails = details;
      this._widget.onDragSelectionStart.call$1(details);
    },
    _handleDragUpdate$1: function(details) {
      var _this = this;
      _this._lastDragUpdateDetails = details;
      if (_this._dragUpdateThrottleTimer == null)
        _this._dragUpdateThrottleTimer = P.Timer_Timer(C.Duration_50000, _this.get$_handleDragUpdateThrottled());
    },
    _handleDragUpdateThrottled$0: function() {
      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: function(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: function(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: function(details) {
      var t1 = this._widget.onForcePressEnd;
      if (t1 != null)
        t1.call$1(details);
    },
    _handleLongPressStart$1: function(details) {
      var t1;
      if (!this._isDoubleTap) {
        this._widget.toString;
        t1 = true;
      } else
        t1 = false;
      if (t1)
        this._widget.onSingleLongTapStart.call$1(details);
    },
    _handleLongPressMoveUpdate$1: function(details) {
      var t1;
      if (!this._isDoubleTap) {
        this._widget.toString;
        t1 = true;
      } else
        t1 = false;
      if (t1)
        this._widget.onSingleLongTapMoveUpdate.call$1(details);
    },
    _handleLongPressEnd$1: function(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: function() {
      this._lastTapOffset = this._text_selection$_doubleTapTimer = null;
    },
    _isWithinDoubleTapTolerance$1: function(secondTapOffset) {
      var t1 = this._lastTapOffset;
      if (t1 == null)
        return false;
      return secondTapOffset.$sub(0, t1).get$distance() <= 100;
    },
    build$1: function(_, context) {
      var t1, t2, _this = this,
        gestures = P.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.GestureRecognizerFactory_GestureRecognizer);
      gestures.$indexSet(0, C.Type_D34, new D.GestureRecognizerFactoryWithHandlers(new F._TextSelectionGestureDetectorState_build_closure(_this), new F._TextSelectionGestureDetectorState_build_closure0(_this), type$.GestureRecognizerFactoryWithHandlers__TransparentTapGestureRecognizer));
      _this._widget.toString;
      gestures.$indexSet(0, C.Type_LongPressGestureRecognizer_46y, new D.GestureRecognizerFactoryWithHandlers(new F._TextSelectionGestureDetectorState_build_closure1(_this), new F._TextSelectionGestureDetectorState_build_closure2(_this), type$.GestureRecognizerFactoryWithHandlers_LongPressGestureRecognizer));
      _this._widget.toString;
      gestures.$indexSet(0, C.Type_Vq1, new D.GestureRecognizerFactoryWithHandlers(new F._TextSelectionGestureDetectorState_build_closure3(_this), new F._TextSelectionGestureDetectorState_build_closure4(_this), type$.GestureRecognizerFactoryWithHandlers_HorizontalDragGestureRecognizer));
      t1 = _this._widget;
      if (t1.onForcePressStart != null || t1.onForcePressEnd != null)
        gestures.$indexSet(0, C.Type_ForcePressGestureRecognizer_TN2, new D.GestureRecognizerFactoryWithHandlers(new F._TextSelectionGestureDetectorState_build_closure5(_this), new F._TextSelectionGestureDetectorState_build_closure6(_this), type$.GestureRecognizerFactoryWithHandlers_ForcePressGestureRecognizer));
      t1 = _this._widget;
      t2 = t1.behavior;
      return new D.RawGestureDetector(t1.child, gestures, t2, true, null, null);
    }
  };
  F._TextSelectionGestureDetectorState_build_closure.prototype = {
    call$0: function() {
      var t1 = type$.int,
        t2 = P.HashSet_HashSet(t1);
      return new F._TransparentTapGestureRecognizer(C.Duration_100000, 18, C.GestureRecognizerState_0, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, this.$this, null, P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 990
  };
  F._TextSelectionGestureDetectorState_build_closure0.prototype = {
    call$1: function(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$_handleTapUp();
      instance.onTapCancel = t1.get$_text_selection$_handleTapCancel();
    },
    $signature: 991
  };
  F._TextSelectionGestureDetectorState_build_closure1.prototype = {
    call$0: function() {
      return T.LongPressGestureRecognizer$(this.$this, null, C.PointerDeviceKind_0, null, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 237
  };
  F._TextSelectionGestureDetectorState_build_closure2.prototype = {
    call$1: function(instance) {
      var t1 = this.$this;
      instance.onLongPressStart = t1.get$_handleLongPressStart();
      instance.onLongPressMoveUpdate = t1.get$_handleLongPressMoveUpdate();
      instance.onLongPressEnd = t1.get$_handleLongPressEnd();
    },
    $signature: 236
  };
  F._TextSelectionGestureDetectorState_build_closure3.prototype = {
    call$0: function() {
      return O.HorizontalDragGestureRecognizer$(this.$this, C.PointerDeviceKind_1, null);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 167
  };
  F._TextSelectionGestureDetectorState_build_closure4.prototype = {
    call$1: function(instance) {
      var t1;
      instance.dragStartBehavior = C.DragStartBehavior_0;
      t1 = this.$this;
      instance.onStart = t1.get$_handleDragStart();
      instance.onUpdate = t1.get$_handleDragUpdate();
      instance.onEnd = t1.get$_text_selection$_handleDragEnd();
    },
    $signature: 168
  };
  F._TextSelectionGestureDetectorState_build_closure5.prototype = {
    call$0: function() {
      return K.ForcePressGestureRecognizer$(this.$this);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 992
  };
  F._TextSelectionGestureDetectorState_build_closure6.prototype = {
    call$1: function(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: 993
  };
  F._TransparentTapGestureRecognizer.prototype = {
    rejectGesture$1: function(pointer) {
      if (this._recognizer$_state === C.GestureRecognizerState_0)
        this.acceptGesture$1(pointer);
      else
        this.super$BaseTapGestureRecognizer$rejectGesture(pointer);
    }
  };
  F.__TextSelectionHandleOverlayState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0: function(_) {
      this.super$State$dispose(0);
    },
    didChangeDependencies$0: function() {
      var t2,
        t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null) {
        t2 = this._framework$_element;
        t2.toString;
        t1.set$muted(0, !U.TickerMode_of(t2));
      }
      this.super$State$didChangeDependencies();
    }
  };
  U.TickerMode.prototype = {
    build$1: function(_, context) {
      var t1 = this.enabled && U.TickerMode_of(context);
      return new U._EffectiveTickerMode(t1, this.child, null);
    }
  };
  U._EffectiveTickerMode.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return this.enabled !== oldWidget.enabled;
    }
  };
  U.SingleTickerProviderStateMixin.prototype = {
    createTicker$1: function(onTick) {
      return this.SingleTickerProviderStateMixin__ticker = new M.Ticker(onTick, null);
    }
  };
  U.TickerProviderStateMixin.prototype = {
    createTicker$1: function(onTick) {
      var result,
        t1 = this.TickerProviderStateMixin__tickers;
      if (t1 == null)
        t1 = this.TickerProviderStateMixin__tickers = P.LinkedHashSet_LinkedHashSet$_empty(type$._WidgetTicker);
      result = new U._WidgetTicker(this, onTick, null);
      t1.add$1(0, result);
      return result;
    }
  };
  U._WidgetTicker.prototype = {
    dispose$0: function(_) {
      this._creator.TickerProviderStateMixin__tickers.remove$1(0, this);
      this.super$Ticker$dispose(0);
    }
  };
  U.Title.prototype = {
    build$1: function(_, context) {
      var t1 = this.color;
      X.SystemChrome_setApplicationSwitcherDescription(new X.ApplicationSwitcherDescription(this.title, t1.get$value(t1)));
      return this.child;
    }
  };
  K.AnimatedWidget.prototype = {
    createState$0: function() {
      return new K._AnimatedState(C._StateLifecycle_0);
    }
  };
  K._AnimatedState.prototype = {
    initState$0: function() {
      this.super$State$initState();
      this._widget.listenable.addListener$1(0, this.get$_transitions$_handleChange());
    },
    didUpdateWidget$1: function(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.listenable;
      t2 = oldWidget.listenable;
      if (!J.$eq$(t1, t2)) {
        t1 = _this.get$_transitions$_handleChange();
        t2.removeListener$1(0, t1);
        _this._widget.listenable.addListener$1(0, t1);
      }
    },
    dispose$0: function(_) {
      this._widget.listenable.removeListener$1(0, this.get$_transitions$_handleChange());
      this.super$State$dispose(0);
    },
    _transitions$_handleChange$0: function() {
      this.setState$1(new K._AnimatedState__handleChange_closure());
    },
    build$1: function(_, context) {
      return this._widget.build$1(0, context);
    }
  };
  K._AnimatedState__handleChange_closure.prototype = {
    call$0: function() {
    },
    $signature: 0
  };
  K.SlideTransition.prototype = {
    build$1: function(_, context) {
      var _this = this,
        t1 = type$.Animation_Offset._as(_this.listenable),
        offset = t1.get$value(t1);
      if (_this.textDirection === C.TextDirection_0)
        offset = new P.Offset(-offset._dx, offset._dy);
      return T.FractionalTranslation$(_this.child, _this.transformHitTests, offset);
    }
  };
  K.ScaleTransition.prototype = {
    build$1: function(_, context) {
      var t1 = type$.Animation_double._as(this.listenable);
      t1 = t1.get$value(t1);
      return new T.Transform(E.Matrix4_Matrix4$diagonal3Values(t1, t1, 1), C.Alignment_0_0, true, null, this.child, null);
    }
  };
  K.RotationTransition.prototype = {
    build$1: function(_, context) {
      var t1 = type$.Animation_double._as(this.listenable);
      return T.Transform$rotate(C.Alignment_0_0, t1.get$value(t1) * 3.141592653589793 * 2, this.child, null);
    }
  };
  K.SizeTransition.prototype = {
    build$1: function(_, context) {
      var _this = this, _null = null,
        t1 = _this.axis,
        t2 = t1 === C.Axis_1,
        alignment = t2 ? new K.AlignmentDirectional(-1, 0) : new K.AlignmentDirectional(0, -1);
      if (t2) {
        t2 = type$.Animation_double._as(_this.listenable);
        t2 = Math.max(H.checkNum(t2.get$value(t2)), 0);
      } else
        t2 = _null;
      if (t1 === C.Axis_0) {
        t1 = type$.Animation_double._as(_this.listenable);
        t1 = Math.max(H.checkNum(t1.get$value(t1)), 0);
      } else
        t1 = _null;
      return T.ClipRect$(new T.Align(alignment, t1, t2, _this.child, _null), _null);
    }
  };
  K.FadeTransition.prototype = {
    createRenderObject$1: function(context) {
      var t2, _null = null,
        t1 = new E.RenderAnimatedOpacity(_null, _null, _null, _null, _null);
      t1.get$isRepaintBoundary();
      t2 = t1.get$alwaysNeedsCompositing();
      t1.__RenderObject__needsCompositing = t2;
      t1.set$child(_null);
      t1.set$opacity(0, this.opacity);
      t1.set$alwaysIncludeSemantics(this.alwaysIncludeSemantics);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      renderObject.set$opacity(0, this.opacity);
      renderObject.set$alwaysIncludeSemantics(this.alwaysIncludeSemantics);
    }
  };
  K.AnimatedBuilder.prototype = {
    build$1: function(_, context) {
      return this.builder.call$2(context, this.child);
    }
  };
  Z.TweenAnimationBuilder.prototype = {
    createState$0: function() {
      return new Z._TweenAnimationBuilderState(null, C._StateLifecycle_0, this.$ti._eval$1("_TweenAnimationBuilderState<1>"));
    }
  };
  Z._TweenAnimationBuilderState.prototype = {
    initState$0: function() {
      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: function(visitor) {
      var _this = this;
      _this._currentTween = _this.$ti._eval$1("Tween<1>?")._as(visitor.call$3(_this._currentTween, _this._widget.tween.end, new Z._TweenAnimationBuilderState_forEachTween_closure()));
    },
    build$1: function(_, 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);
    }
  };
  Z._TweenAnimationBuilderState_forEachTween_closure.prototype = {
    call$1: function(value) {
      throw H.wrapException(P.StateError$("Constructor will never be called because null is never provided as current tween."));
    },
    $signature: 994
  };
  N.ValueListenableBuilder.prototype = {
    createState$0: function() {
      return new N._ValueListenableBuilderState(C._StateLifecycle_0, this.$ti._eval$1("_ValueListenableBuilderState<1>"));
    }
  };
  N._ValueListenableBuilderState.prototype = {
    get$value: function(_) {
      var t1 = this.___ValueListenableBuilderState_value;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("value")) : t1;
    },
    initState$0: function() {
      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: function(oldWidget) {
      var t2, _this = this,
        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);
      }
      _this.super$State$didUpdateWidget(oldWidget);
    },
    dispose$0: function(_) {
      this._widget.valueListenable.removeListener$1(0, this.get$_valueChanged());
      this.super$State$dispose(0);
    },
    _valueChanged$0: function() {
      this.setState$1(new N._ValueListenableBuilderState__valueChanged_closure(this));
    },
    build$1: function(_, context) {
      var t2, _this = this,
        t1 = _this._widget;
      t1.toString;
      t2 = _this.get$value(_this);
      _this._widget.toString;
      return t1.builder.call$3(context, t2, null);
    }
  };
  N._ValueListenableBuilderState__valueChanged_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._widget.valueListenable;
      t1.___ValueListenableBuilderState_value = t2.get$value(t2);
    },
    $signature: 0
  };
  Q.Viewport.prototype = {
    createRenderObject$1: function(context) {
      var _this = this,
        t1 = _this.axisDirection,
        t2 = Q.Viewport_getDefaultCrossAxisDirection(context, t1),
        t3 = _this.cacheExtent;
      if (t3 == null)
        t3 = 250;
      t3 = new Q.RenderViewport(_this.anchor, t1, t2, _this.offset, t3, _this.cacheExtentStyle, _this.clipBehavior, 0, null, null);
      t3.get$isRepaintBoundary();
      t3.__RenderObject__needsCompositing = true;
      t3.addAll$1(0, null);
      t1 = t3.ContainerRenderObjectMixin__firstChild;
      if (t1 != null)
        t3._viewport$_center = t1;
      return t3;
    },
    updateRenderObject$2: function(context, renderObject) {
      var _this = this,
        t1 = _this.axisDirection;
      renderObject.set$axisDirection(t1);
      t1 = Q.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: function(_) {
      var t1 = type$.Element_2,
        t2 = P.HashSet_HashSet(t1),
        t3 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t3;
      return new Q._ViewportElement(t2, t3, this, C._ElementLifecycle_0, P.HashSet_HashSet(t1));
    }
  };
  Q._ViewportElement.prototype = {
    get$widget: function() {
      return type$.Viewport._as(N.MultiChildRenderObjectElement.prototype.get$widget.call(this));
    },
    get$renderObject: function() {
      return type$.RenderViewport._as(N.MultiChildRenderObjectElement.prototype.get$renderObject.call(this));
    },
    mount$2: function($parent, newSlot) {
      this.super$MultiChildRenderObjectElement$mount($parent, newSlot);
      this._updateCenter$0();
    },
    update$1: function(_, newWidget) {
      this.super$MultiChildRenderObjectElement$update(0, newWidget);
      this._updateCenter$0();
    },
    _updateCenter$0: function() {
      var t1, t2, _this = this;
      type$.Viewport._as(N.MultiChildRenderObjectElement.prototype.get$widget.call(_this)).toString;
      t1 = _this.get$children(_this);
      t2 = type$.RenderViewport;
      if (!t1.get$isEmpty(t1)) {
        t1 = t2._as(N.MultiChildRenderObjectElement.prototype.get$renderObject.call(_this));
        t2 = _this.get$children(_this);
        t1.set$center(type$.nullable_RenderSliver._as(t2.get$first(t2).get$renderObject()));
      } else
        t2._as(N.MultiChildRenderObjectElement.prototype.get$renderObject.call(_this)).set$center(null);
    }
  };
  Q.ShrinkWrappingViewport.prototype = {
    createRenderObject$1: function(context) {
      var t1 = this.axisDirection,
        t2 = Q.Viewport_getDefaultCrossAxisDirection(context, t1);
      t1 = new Q.RenderShrinkWrappingViewport(t1, t2, this.offset, 250, C.CacheExtentStyle_0, this.clipBehavior, 0, null, null);
      t1.get$isRepaintBoundary();
      t1.__RenderObject__needsCompositing = true;
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2: function(context, renderObject) {
      var t1 = this.axisDirection;
      renderObject.set$axisDirection(t1);
      t1 = Q.Viewport_getDefaultCrossAxisDirection(context, t1);
      renderObject.set$crossAxisDirection(t1);
      renderObject.set$offset(0, this.offset);
      renderObject.set$clipBehavior(this.clipBehavior);
    }
  };
  L.Visibility.prototype = {
    build$1: function(_, context) {
      return this.visible ? this.child : C.SizedBox_0_0_null_null;
    }
  };
  U.Consumer.prototype = {
    build$2: function(_, context, watch) {
      return this._builder.call$3(context, watch, null);
    }
  };
  U.ConsumerWidget.prototype = {
    createState$0: function() {
      return new U._ConsumerState(P.LinkedHashMap_LinkedHashMap$_empty(type$.ProviderBase_dynamic_dynamic, type$.ProviderSubscription_dynamic), C._StateLifecycle_0);
    }
  };
  U._ConsumerState.prototype = {
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._isExternalBuild = true;
    },
    didChangeDependencies$0: function() {
      var t1, newContainer, t2, t3, _this = this;
      _this.super$State$didChangeDependencies();
      _this._isExternalBuild = true;
      t1 = _this._framework$_element;
      t1.toString;
      newContainer = N.ProviderScope_containerOf(t1, true);
      if (_this._consumer$_container != newContainer) {
        _this._consumer$_container = newContainer;
        for (t1 = _this._consumer$_dependencies, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
          t2 = t1.get$current(t1)._listener;
          t3 = t2._collection$_list;
          if (t3 != null) {
            t2.$ti._eval$1("LinkedListEntry.E")._as(t2);
            t3._unlink$1(t2);
            t2.element.mayNeedDispose$0();
          }
        }
        _this._consumer$_dependencies.clear$0(0);
      }
    },
    build$1: function(_, context) {
      var dep, t1, didFlush, shouldRecompute, t2, t3, _this = this;
      for (t1 = _this._consumer$_dependencies, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1), didFlush = false; t1.moveNext$0();)
        if (t1.get$current(t1).flush$0(0))
          didFlush = true;
      shouldRecompute = _this._isExternalBuild || didFlush;
      _this._isExternalBuild = false;
      if (!shouldRecompute) {
        t1 = _this.___ConsumerState__buildCache;
        return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_buildCache")) : t1;
      }
      try {
        _this._oldDependencies = _this._consumer$_dependencies;
        _this._consumer$_dependencies = P.LinkedHashMap_LinkedHashMap$_empty(type$.ProviderBase_dynamic_dynamic, type$.ProviderSubscription_dynamic);
        t1 = _this._widget.build$2(0, context, _this.get$_reader());
        _this.___ConsumerState__buildCache = t1;
        return t1;
      } finally {
        for (t1 = _this._oldDependencies, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
          dep = t1.get$current(t1);
          t2 = dep._listener;
          t3 = t2._collection$_list;
          if (t3 != null) {
            t2.$ti._eval$1("LinkedListEntry.E")._as(t2);
            t3._unlink$1(t2);
            t2.element.mayNeedDispose$0();
          }
        }
        _this._oldDependencies = null;
      }
    },
    _reader$1$1: function(target, Res) {
      return Res._as(J.read$0$z(this._consumer$_dependencies.putIfAbsent$2(0, target, new U._ConsumerState__reader_closure(this, target, Res))));
    },
    _reader$1: function(target) {
      return this._reader$1$1(target, type$.dynamic);
    },
    _consumer$_mayHaveChanged$1: function(sub) {
      this._framework$_element.markNeedsBuild$0();
    },
    dispose$0: function(_) {
      var t1, t2, t3;
      for (t1 = this._consumer$_dependencies, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1)._listener;
        t3 = t2._collection$_list;
        if (t3 != null) {
          t2.$ti._eval$1("LinkedListEntry.E")._as(t2);
          t3._unlink$1(t2);
          t2.element.mayNeedDispose$0();
        }
      }
      this.super$State$dispose(0);
    }
  };
  U._ConsumerState__reader_closure.prototype = {
    call$0: function() {
      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._consumer$_container.listen$1$2$mayHaveChanged(_this.target, t1.get$_consumer$_mayHaveChanged(), _this.Res);
    },
    $signature: 224
  };
  N.ProviderScope.prototype = {
    createState$0: function() {
      return new N.ProviderScopeState(C._StateLifecycle_0);
    },
    createElement$0: function(_) {
      return N._ProviderScopeElement$(this);
    }
  };
  N._ProviderScopeElement.prototype = {};
  N.ProviderScopeState.prototype = {
    get$container: function() {
      var t1 = this.__ProviderScopeState_container;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("container")) : t1;
    },
    initState$0: function() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = _this._framework$_element.getElementForInheritedWidgetOfExactType$1$0(type$.UncontrolledProviderScope);
      t1 = t1 == null ? null : t1.get$widget();
      type$.nullable_UncontrolledProviderScope._as(t1);
      t1 = t1 == null ? null : t1.container;
      _this.__ProviderScopeState_container = L.ProviderContainer$(_this._widget.observers, C.List_empty5, t1);
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._framework1$_dirty = true;
    },
    build$1: function(_, context) {
      var t1, _this = this;
      if (_this._framework1$_dirty) {
        _this._framework1$_dirty = false;
        t1 = _this.get$container();
        _this._widget.toString;
        t1.updateOverrides$1(C.List_empty5);
      }
      return new N.UncontrolledProviderScope(_this.get$container(), _this._widget.child, null);
    },
    dispose$0: function(_) {
      this.get$container().dispose$0(0);
      this.super$State$dispose(0);
    }
  };
  N.UncontrolledProviderScope.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return this.container != oldWidget.container;
    },
    createElement$0: function(_) {
      var t1 = type$.Element_2,
        t2 = P.HashMap_HashMap(null, null, null, t1, type$.nullable_Object),
        t3 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t3;
      return new N._UncontrolledProviderScopeElement(t2, t3, this, C._ElementLifecycle_0, P.HashSet_HashSet(t1));
    }
  };
  N._UncontrolledProviderScopeElement.prototype = {
    mount$2: function($parent, newSlot) {
      this.super$ComponentElement$mount($parent, newSlot);
    },
    update$1: function(_, newWidget) {
      this.super$ProxyElement$update(0, newWidget);
    },
    unmount$0: function() {
      this.super$Element$unmount();
    }
  };
  T.ProviderListener.prototype = {
    createState$0: function() {
      return new T._ProviderListenerState(C._StateLifecycle_0, this.$ti._eval$1("_ProviderListenerState<1>"));
    }
  };
  T._ProviderListenerState.prototype = {
    didChangeDependencies$0: function() {
      var t1, container, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      container = N.ProviderScope_containerOf(t1, true);
      if (container != _this._provider_listener$_container) {
        _this._provider_listener$_container = container;
        _this._provider_listener$_listen$0();
      }
    },
    didUpdateWidget$1: function(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      if (oldWidget.provider != this._widget.provider)
        this._provider_listener$_listen$0();
    },
    _provider_listener$_listen$0: function() {
      var _this = this,
        t1 = _this._provider_listener$_subscription;
      if (t1 != null)
        t1.close$0(0);
      _this._provider_listener$_subscription = null;
      t1 = _this._widget.provider;
      if (t1 != null)
        _this._provider_listener$_subscription = _this._provider_listener$_container.listen$1$2$mayHaveChanged(t1, _this.get$_mayHaveChanged(), _this.$ti._precomputed1);
    },
    _mayHaveChanged$1: function(subscription) {
      P.Future_Future$microtask(new T._ProviderListenerState__mayHaveChanged_closure(this, subscription), type$.Null);
    },
    build$1: function(_, context) {
      return this._widget.child;
    },
    dispose$0: function(_) {
      var t1 = this._provider_listener$_subscription;
      if (t1 != null)
        t1.close$0(0);
      this.super$State$dispose(0);
    }
  };
  T._ProviderListenerState__mayHaveChanged_closure.prototype = {
    call$0: function() {
      var t2, t3,
        t1 = this.subscription;
      if (t1.flush$0(0)) {
        t2 = this.$this;
        t3 = t2._widget;
        t3.toString;
        t2 = t2._framework$_element;
        t2.toString;
        t3.onChange.call$2(t2, t1.read$0(0));
      }
    },
    $signature: 1
  };
  L.JsUrlStrategy0.prototype = {};
  D.Registrar.prototype = {
    handleFrameworkMessage$3: function(channel, data, callback) {
      return this.handleFrameworkMessage$body$Registrar(channel, data, callback);
    },
    handleFrameworkMessage$body$Registrar: function(channel, data, callback) {
      var $async$goto = 0,
        $async$completer = P._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 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              response = null;
              $async$handler = 3;
              handler = $async$self._handlers.$index(0, channel);
              $async$goto = handler != null ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return P._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 = H.unwrapException($async$exception0);
              stack = H.getTraceFromException($async$exception0);
              t1 = U.ErrorDescription$("during a framework-to-plugin message");
              U.FlutterError_reportError(new U.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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$handleFrameworkMessage$3, $async$completer);
    },
    send$2: function(_, channel, message) {
      var t1 = new P._Future($.Zone__current, type$._Future_nullable_ByteData);
      $.$get$channelBuffers().push$3(channel, message, new D.Registrar_send_closure(new P._AsyncCompleter(t1, type$._AsyncCompleter_nullable_ByteData)));
      return t1;
    },
    setMessageHandler$2: function(channel, handler) {
      var t1 = this._handlers;
      if (handler == null)
        t1.remove$1(0, channel);
      else
        t1.$indexSet(0, channel, handler);
    }
  };
  D.Registrar_send_closure.prototype = {
    call$1: function(reply) {
      var exception, stack, exception0, t1;
      try {
        this.completer.complete$1(0, reply);
      } catch (exception0) {
        exception = H.unwrapException(exception0);
        stack = H.getTraceFromException(exception0);
        t1 = U.ErrorDescription$("during a plugin-to-framework message");
        U.FlutterError_reportError(new U.FlutterErrorDetails(exception, stack, "flutter web plugins", t1, null, false));
      }
    },
    $signature: 33
  };
  D.PluginRegistry.prototype = {};
  G.get_closure.prototype = {
    call$1: function(client) {
      return client._sendUnstreamed$3("GET", this.url, this.headers);
    },
    $signature: 999
  };
  E.BaseClient.prototype = {
    patch$4$body$encoding$headers: function(url, body, encoding, headers) {
      return this._sendUnstreamed$5("PATCH", url, headers, body, encoding);
    },
    patch$1: function(url) {
      return this.patch$4$body$encoding$headers(url, null, null, null);
    },
    _sendUnstreamed$5: function(method, url, headers, body, encoding) {
      return this._sendUnstreamed$body$BaseClient(method, url, headers, body, encoding);
    },
    _sendUnstreamed$3: function(method, url, headers) {
      return this._sendUnstreamed$5(method, url, headers, null, null);
    },
    _sendUnstreamed$body$BaseClient: function(method, url, headers, body, encoding) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Response_2),
        $async$returnValue, $async$self = this, t1, contentType, request, $async$temp1;
      var $async$_sendUnstreamed$5 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              request = O.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 = B.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(R.MediaType$("application", "x-www-form-urlencoded", null));
                  else if (contentType.type + "/" + contentType.subtype !== "application/x-www-form-urlencoded")
                    H.throwExpression(P.StateError$('Cannot set the body fields of a Request with content-type "' + contentType.get$mimeType(contentType) + '".'));
                  request.set$body(0, B.mapToQuery(t1, request.get$encoding(request)));
                } else
                  throw H.wrapException(P.ArgumentError$('Invalid request body "' + H.S(body) + '".'));
              $async$temp1 = U;
              $async$goto = 3;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_sendUnstreamed$5, $async$completer);
    },
    $isClient0: 1
  };
  G.BaseRequest.prototype = {
    finalize$0: function() {
      if (this._finalized)
        throw H.wrapException(P.StateError$("Can't finalize a finalized Request."));
      this._finalized = true;
      return C.ByteStream__EmptyStream;
    },
    toString$0: function(_) {
      return this.method + " " + H.S(this.url);
    }
  };
  G.BaseRequest_closure.prototype = {
    call$2: function(key1, key2) {
      return key1.toLowerCase() === key2.toLowerCase();
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 1001
  };
  G.BaseRequest_closure0.prototype = {
    call$1: function(key) {
      return C.JSString_methods.get$hashCode(key.toLowerCase());
    },
    $signature: 1002
  };
  T.BaseResponse.prototype = {
    BaseResponse$7$contentLength$headers$isRedirect$persistentConnection$reasonPhrase$request: function(statusCode, contentLength, headers, isRedirect, persistentConnection, reasonPhrase, request) {
      var t1 = this.statusCode;
      if (t1 < 100)
        throw H.wrapException(P.ArgumentError$("Invalid status code " + H.S(t1) + "."));
    }
  };
  O.BrowserClient.prototype = {
    send$1: function(_, request) {
      return this.send$body$BrowserClient(0, request);
    },
    send$body$BrowserClient: function(_, request) {
      var $async$goto = 0,
        $async$completer = P._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 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              request.super$BaseRequest$finalize();
              $async$goto = 3;
              return P._asyncAwait(new Z.ByteStream(P.Stream_Stream$fromIterable(H._setArrayType([request._bodyBytes], type$.JSArray_List_int), 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, H.S(request.url), true);
              t2.responseType = "arraybuffer";
              t2.withCredentials = false;
              request.headers.forEach$1(0, J.get$setRequestHeader$x(xhr));
              completer = new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_StreamedResponse), type$._AsyncCompleter_StreamedResponse);
              t2 = type$._EventStream_legacy_ProgressEvent;
              t3 = new W._EventStream(xhr, "load", false, t2);
              t4 = type$.void;
              t3.get$first(t3).then$1$1(0, new O.BrowserClient_send_closure(xhr, completer, request), t4);
              t2 = new W._EventStream(xhr, "error", false, t2);
              t2.get$first(t2).then$1$1(0, new O.BrowserClient_send_closure0(completer, request), t4);
              J.send$1$x(xhr, bytes);
              $async$handler = 4;
              $async$goto = 7;
              return P._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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$send$1, $async$completer);
    },
    close$0: function(_) {
      var t1;
      for (t1 = this._xhrs, t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();)
        t1._collection$_current.abort();
    }
  };
  O.BrowserClient_send_closure.prototype = {
    call$1: function(_) {
      var t4, t5, t6,
        t1 = this.xhr,
        body = J.asUint8List$0$x(type$.ByteBuffer._as(W._convertNativeToDart_XHR_Response(t1.response))),
        t2 = P.Stream_Stream$fromIterable(H._setArrayType([body], type$.JSArray_List_int), type$.List_int),
        t3 = t1.status;
      t3.toString;
      t4 = J.get$length$asx(body);
      t5 = this.request;
      t6 = C.HttpRequest_methods.get$responseHeaders(t1);
      t1 = t1.statusText;
      t2 = new X.StreamedResponse(B.toByteStream(new Z.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: 223
  };
  O.BrowserClient_send_closure0.prototype = {
    call$1: function(_) {
      this.completer.completeError$2(new E.ClientException("XMLHttpRequest error.", this.request.url), P.StackTrace_current());
    },
    $signature: 223
  };
  Z.ByteStream.prototype = {
    toBytes$0: function() {
      var t1 = new P._Future($.Zone__current, type$._Future_Uint8List),
        completer = new P._AsyncCompleter(t1, type$._AsyncCompleter_Uint8List),
        sink = new P._ByteCallbackSink(new Z.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;
    }
  };
  Z.ByteStream_toBytes_closure.prototype = {
    call$1: function(bytes) {
      return this.completer.complete$1(0, new Uint8Array(H._ensureNativeList(bytes)));
    },
    $signature: 1004
  };
  E.ClientException.prototype = {
    toString$0: function(_) {
      return this.message;
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    },
    get$uri: function() {
      return this.uri;
    }
  };
  O.Request.prototype = {
    get$encoding: function(_) {
      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 = P.Encoding_getByName(t1);
      return t2 == null ? H.throwExpression(P.FormatException$('Unsupported encoding "' + t1 + '".', null, null)) : t2;
    },
    set$encoding: function(_, 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(P.LinkedHashMap_LinkedHashMap$_literal(["charset", value.get$name(value)], t1, t1)));
    },
    set$body: function(_, value) {
      var contentType, t2, _this = this,
        t1 = _this.get$encoding(_this).encode$1(value);
      _this._checkFinalized$0();
      _this._bodyBytes = B.toUint8List(t1);
      contentType = _this.get$_contentType();
      if (contentType == null) {
        t1 = _this.get$encoding(_this);
        t2 = type$.String;
        _this.set$_contentType(R.MediaType$("text", "plain", P.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(P.LinkedHashMap_LinkedHashMap$_literal(["charset", t1.get$name(t1)], t2, t2)));
      }
    },
    get$_contentType: function() {
      var contentType = this.headers.$index(0, "content-type");
      if (contentType == null)
        return null;
      return R.MediaType_MediaType$parse(contentType);
    },
    set$_contentType: function(value) {
      this.headers.$indexSet(0, "content-type", value.toString$0(0));
    },
    _checkFinalized$0: function() {
      if (!this._finalized)
        return;
      throw H.wrapException(P.StateError$("Can't modify a finalized Request."));
    }
  };
  U.Response.prototype = {};
  X.StreamedResponse.prototype = {};
  B.mapToQuery_closure.prototype = {
    call$2: function(key, value) {
      var t1 = this.encoding,
        t2 = P._Uri__uriEncode(C.List_nxB, key, t1, true);
      return this.pairs.push(H._setArrayType([t2, P._Uri__uriEncode(C.List_nxB, value, t1, true)], type$.JSArray_String));
    },
    $signature: 52
  };
  B.mapToQuery_closure0.prototype = {
    call$1: function(pair) {
      var t1 = J.getInterceptor$asx(pair);
      return H.S(t1.$index(pair, 0)) + "=" + H.S(t1.$index(pair, 1));
    },
    $signature: 1005
  };
  Z.CaseInsensitiveMap.prototype = {};
  Z.CaseInsensitiveMap$from_closure.prototype = {
    call$1: function(key) {
      return key.toLowerCase();
    },
    $signature: 19
  };
  R.MediaType.prototype = {
    get$mimeType: function(_) {
      return this.type + "/" + this.subtype;
    },
    change$1$parameters: function(parameters) {
      var t1 = type$.String,
        parameters0 = P.LinkedHashMap_LinkedHashMap$from(this.parameters, t1, t1);
      parameters0.addAll$1(0, parameters);
      return R.MediaType$(this.type, this.subtype, parameters0);
    },
    toString$0: function(_) {
      var buffer = new P.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 R.MediaType_toString_closure(buffer));
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  R.MediaType_MediaType$parse_closure.prototype = {
    call$0: function() {
      var t2, t3, t4, t5, parameters, t6, t7, success, t8, value,
        scanner = X.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 = P.LinkedHashMap_LinkedHashMap$_empty(t5, t5);
      t5 = scanner.string;
      while (true) {
        t6 = scanner._lastMatch = C.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 = N.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 R.MediaType$(t3, t4, parameters);
    },
    $signature: 1006
  };
  R.MediaType_toString_closure.prototype = {
    call$2: function(attribute, value) {
      var t2,
        t1 = this.buffer;
      t1._contents += "; " + H.S(attribute) + "=";
      t2 = $.$get$nonToken()._nativeRegExp;
      if (typeof value != "string")
        H.throwExpression(H.argumentErrorValue(value));
      if (t2.test(value)) {
        t1._contents += '"';
        t2 = $.$get$_escapedChar();
        value.toString;
        t2 = t1._contents += H.stringReplaceAllFuncUnchecked(value, t2, new R.MediaType_toString__closure(), null);
        t1._contents = t2 + '"';
      } else
        t1._contents += H.S(value);
    },
    $signature: 52
  };
  R.MediaType_toString__closure.prototype = {
    call$1: function(match) {
      return "\\" + H.S(match.$index(0, 0));
    },
    $signature: 123
  };
  N.expectQuotedString_closure.prototype = {
    call$1: function(match) {
      var t1 = match.$index(0, 1);
      t1.toString;
      return t1;
    },
    $signature: 123
  };
  G.ExifData.prototype = {
    ExifData$from$1: function(other) {
      var _length, _list, i;
      if (other != null && other.rawData != null) {
        _length = other.rawData.length;
        _list = J.JSArray_JSArray$allocateGrowable(_length, type$.Uint8List);
        for (i = 0; i < _length; ++i)
          _list[i] = J.sublist$1$ax(other.rawData[i], 0);
        this.rawData = _list;
      }
    }
  };
  L.BitmapCompression.prototype = {
    toString$0: function(_) {
      return this._bmp_info$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  L.BitmapFileHeader.prototype = {
    get$offset: function(_) {
      var t1 = this.__BitmapFileHeader_offset;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("offset")) : t1;
    },
    toJson$0: function() {
      var t1 = this.get$offset(this),
        t2 = this.__BitmapFileHeader_fileLength;
      return P.LinkedHashMap_LinkedHashMap$_literal(["offset", t1, "fileLength", t2 === $ ? H.throwExpression(H.LateError$fieldNI("fileLength")) : t2, "fileType", 19778], type$.String, type$.int);
    }
  };
  L.BmpInfo.prototype = {
    get$ignoreAlphaChannel: function() {
      var t1 = this.headerSize;
      if (t1 !== 40)
        t1 = t1 === 124 && this.v5alphaMask === 0;
      else
        t1 = true;
      return t1;
    },
    get$height: function(_) {
      return Math.abs(this._bmp_info$_height);
    },
    BmpInfo$2$fileHeader: function(p, fileHeader) {
      var _this = this;
      if (C.JSArray_methods.contains$1(H._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: function(p) {
      var _this = this,
        colors = _this.totalColors;
      if (colors === 0)
        colors = C.JSInt_methods._shlPositive$1(1, _this.bpp);
      _this.colorPalette = P.Iterable_Iterable$generate(colors, new L.BmpInfo_readPalette_closure(_this, p, _this.headerSize === 12 ? 3 : 4), type$.int).toList$0(0);
    },
    _readRgba$2$aDefault: function(input, aDefault) {
      var b, g, r, a;
      if (!C.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 K.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 K.getColor(r, b, g, this.get$ignoreAlphaChannel() ? 255 : a);
      }
    },
    _readRgba$1: function(input) {
      return this._readRgba$2$aDefault(input, null);
    },
    decodeRgba$2: function(input, pixel) {
      var b, left, t1, t2, _this = this;
      if (_this.colorPalette != null)
        if (_this.bpp === 4) {
          b = input.readByte$0();
          left = C.JSInt_methods._shrOtherPositive$1(b, 4);
          pixel.call$1(_this.colorPalette[left]);
          pixel.call$1(_this.colorPalette[b & 15]);
          return;
        }
      t1 = _this.compression;
      if (t1 === C.BitmapCompression_0 && _this.bpp === 32)
        return pixel.call$1(_this._readRgba$1(input));
      else {
        t2 = _this.bpp;
        if (t2 === 32 && t1 === C.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 H.wrapException(K.ImageException$("Unsupported bpp (" + t2 + ") or compression unsupported."));
      }
    },
    _compToString$0: function() {
      switch (this.compression) {
        case C.BitmapCompression_0:
          return "BI_BITFIELDS";
        case C.BitmapCompression_1:
          return "none";
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    toString$0: function(_) {
      var _this = this;
      return P._JsonStringStringifier_stringify(P.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", !C.JSInt_methods.get$isNegative(_this._bmp_info$_height), "v5redMask", Z.debugBits32(_this.v5redMask), "v5greenMask", Z.debugBits32(_this.v5greenMask), "v5blueMask", Z.debugBits32(_this.v5blueMask), "v5alphaMask", Z.debugBits32(_this.v5alphaMask)], type$.String, type$.Object), null, " ");
    }
  };
  L.BmpInfo_readPalette_closure.prototype = {
    call$1: function(i) {
      var t1 = this.colorBytes === 3 ? 100 : null;
      return this.$this._readRgba$2$aDefault(this.p, t1);
    },
    $signature: 39
  };
  E.BmpDecoder.prototype = {
    get$_bmp_decoder$_input: function() {
      var t1 = this.__BmpDecoder__input;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_input")) : t1;
    },
    startDecode$1: function(bytes) {
      var _null = null;
      if (!L.BitmapFileHeader_isValidFile(Z.InputBuffer$(bytes, false, _null, 0)))
        return _null;
      this.__BmpDecoder__input = Z.InputBuffer$(bytes, false, _null, 0);
      return this.info = L.BmpInfo$(this.get$_bmp_decoder$_input(), _null);
    },
    decodeFrame$1: function(frame) {
      var rowStride, t3, image, y, y0, line, bytes, _box_0, _box_00, _this = this,
        t1 = _this.get$_bmp_decoder$_input(),
        t2 = _this.info.file;
      t1.offset = t2.get$offset(t2);
      t2 = _this.info;
      t1 = t2.BmpInfo_width;
      rowStride = C.JSInt_methods._shrOtherPositive$1(t1 * t2.bpp, 3);
      t3 = C.JSInt_methods.$mod(rowStride, 4);
      if (t3 !== 0)
        rowStride += 4 - t3;
      image = U.Image$0(t1, t2.get$height(t2), C.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 === $)
          t2 = H.throwExpression(H.LateError$fieldNI("_input"));
        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 E.BmpDecoder_decodeFrame_closure(_box_0, image, line));
      }
      return image;
    },
    decodeImage$1: function(data) {
      if (!L.BitmapFileHeader_isValidFile(Z.InputBuffer$(data, false, null, 0)))
        return null;
      this.startDecode$1(data);
      return this.decodeFrame$1(0);
    }
  };
  E.BmpDecoder_decodeFrame_closure.prototype = {
    call$1: function(color) {
      return this.image.setPixel$3(this._box_0.x++, this.line, color);
    },
    $signature: 63
  };
  E.DibDecoder.prototype = {};
  A.DecodeInfo.prototype = {
    set$width: function(receiver, val) {
      return this.width = val;
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  B.Decoder.prototype = {};
  U.ExrAttribute.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  D.InternalExrB44Compressor.prototype = {
    numScanLines$0: function() {
      return this._numScanLines;
    },
    uncompress$5: function(input, x, y, width, height) {
      throw H.wrapException(K.ImageException$("B44 compression not yet supported."));
    },
    uncompress$3: function(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    }
  };
  D.ExrChannel.prototype = {
    get$type: function(_) {
      var t1 = this.__ExrChannel_type;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("type")) : t1;
    },
    ExrChannel$1: function(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 = input.offset + 3;
      _this.__ExrChannel_xSampling = input.readUint32$0();
      _this.__ExrChannel_ySampling = input.readUint32$0();
      switch (_this.get$type(_this)) {
        case 0:
          _this.__ExrChannel_size = 4;
          break;
        case 1:
          _this.__ExrChannel_size = 2;
          break;
        case 2:
          _this.__ExrChannel_size = 4;
          break;
        default:
          throw H.wrapException(K.ImageException$("EXR Invalid pixel type: " + H.S(_this.get$type(_this))));
      }
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  B.ExrCompressor.prototype = {
    uncompress$5: function(input, x, y, width, height) {
      throw H.wrapException(K.ImageException$("Unsupported compression type"));
    },
    uncompress$3: function(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    }
  };
  B.InternalExrCompressor.prototype = {};
  Y.ExrHufDec.prototype = {};
  Y.ExrImage.prototype = {
    ExrImage$1: function(bytes) {
      var t1, part, t2, _i, _this = this,
        input = Z.InputBuffer$(bytes, false, null, 0);
      if (input.readUint32$0() !== 20000630)
        throw H.wrapException(K.ImageException$("File is not an OpenEXR image file."));
      t1 = _this.version = input.readByte$0();
      if (t1 !== 2)
        throw H.wrapException(K.ImageException$("Cannot read version " + H.S(t1) + " image files."));
      _this.__ExrImage_flags = input.readUint24$0();
      if ((_this.get$flags() & 4294967289) >>> 0 !== 0)
        throw H.wrapException(K.ImageException$("The file format version number's flag field contains unrecognized flags."));
      if ((_this.get$flags() & 16) === 0) {
        part = S.InternalExrPart$((_this.get$flags() & 2) !== 0, input);
        if (part.width != null)
          _this._parts.push(part);
      } else
        for (t1 = _this._parts; true;) {
          t2 = _this.__ExrImage_flags;
          part = S.InternalExrPart$(((t2 === $ ? H.throwExpression(H.LateError$fieldNI("flags")) : t2) & 2) !== 0, input);
          if (part.width == null)
            break;
          t1.push(part);
        }
      t1 = _this._parts;
      t2 = t1.length;
      if (t2 === 0)
        throw H.wrapException(K.ImageException$("Error reading image header"));
      for (_i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].readOffsets$1(input);
      _this._readImage$1(input);
    },
    _readImage$1: function(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;
            t7 = (t7 === $ ? H.throwExpression(H.LateError$fieldNI("type")) : t7) === 0 ? 0 : 3;
            t8 = ch.__ExrChannel_size;
            t8 = 8 * (t8 === $ ? H.throwExpression(H.LateError$fieldNI("size")) : t8);
            framebuffer.addSlice$1(new K.HdrSlice(t6, t4, t5, t7, t8, K.HdrSlice_allocateDataForType(t4 * t5, t7, t8)));
          }
        }
        if (part._tiled)
          _this._readTiledPart$2(pi, input);
        else
          _this._readScanlinePart$2(pi, input);
      }
    },
    _readTiledPart$2: function(pi, input) {
      var t3, lx, ty, oi, tx, tileX, tileY, bytes, t4, ty0, t5, uncompressedData, tileWidth, tileHeight, len, numChannels, si, yi, ci, ch, slice, tx0, xx, bi, t6, t7, si0, _this = this,
        part = _this._parts[pi],
        multiPart = (_this.get$flags() & 16) !== 0,
        compressor = part._compressor,
        offsets = part._offsets,
        imgData = Z.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 H.wrapException(K.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;
              t4 = J.getInterceptor$asx(uncompressedData);
              len = t4.get$length(uncompressedData);
              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];
                  slice = C.NativeByteBuffer_methods.asUint8List$2(t2.$index(0, ch.name).data.buffer, 0, null);
                  if (si >= len)
                    break;
                  t5 = part._tileWidth;
                  t5.toString;
                  tx0 = tileX * t5;
                  for (xx = 0; xx < tileWidth; ++xx, ++tx0) {
                    bi = 0;
                    while (true) {
                      t5 = ch.__ExrChannel_size;
                      if (!(bi < (t5 === $ ? H.throwExpression(H.LateError$fieldNI("size")) : t5)))
                        break;
                      t6 = part.width;
                      t6.toString;
                      if (tx0 < t6) {
                        t7 = part.height;
                        t7.toString;
                        t7 = ty0 < t7;
                      } else
                        t7 = false;
                      if (t7) {
                        si0 = si + 1;
                        slice[(ty0 * t6 + tx0) * t5 + bi] = t4.$index(uncompressedData, si);
                        si = si0;
                      } else
                        ++si;
                      ++bi;
                    }
                  }
                }
                ++yi;
                ++ty0;
              }
            }
          ++lx;
          ++l;
        }
        ++ly;
      }
    },
    _readScanlinePart$2: function(pi, input) {
      var t3, t4, yy, _i, t5, t6, bytes, uncompressedData, len, numChannels, yi, si, ci, ch, slice, xx, bi, si0,
        part = this._parts[pi],
        multiPart = (this.get$flags() & 16) !== 0,
        compressor = part._compressor,
        offsets = part._offsets[0],
        linesInBuffer = part._linesInBuffer,
        t1 = part.channels,
        t2 = t1.length,
        fbi = new Uint32Array(t2),
        imgData = Z.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 H.wrapException(K.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();
        t5 = J.getInterceptor$asx(uncompressedData);
        len = t5.get$length(uncompressedData);
        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];
            slice = C.NativeByteBuffer_methods.asUint8List$2(t3.$index(0, ch.name).data.buffer, 0, null);
            if (si >= len)
              break;
            xx = 0;
            while (true) {
              t6 = part.width;
              t6.toString;
              if (!(xx < t6))
                break;
              bi = 0;
              while (true) {
                t6 = ch.__ExrChannel_size;
                if (!(bi < (t6 === $ ? H.throwExpression(H.LateError$fieldNI("size")) : t6)))
                  break;
                t6 = fbi[ci];
                fbi[ci] = t6 + 1;
                si0 = si + 1;
                slice[t6] = t5.$index(uncompressedData, si);
                ++bi;
                si = si0;
              }
              ++xx;
            }
          }
          ++yi;
          ++yy;
        }
      }
    },
    get$flags: function() {
      var t1 = this.__ExrImage_flags;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("flags")) : t1;
    },
    get$version: function(receiver) {
      return this.version;
    }
  };
  S.ExrPart.prototype = {
    get$dataWindow: function() {
      var t1 = this.__ExrPart_dataWindow;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("dataWindow")) : t1;
    },
    ExrPart$2: function(_tiled, input, _box_0) {
      var t1, t2, t3, $name, size, bytes, channel, t4, t5, t6, t7, t8, s, num, w, h, _i, ch, nBytes, y, maxBytesPerLine, offset, i, _this = this,
        _s14_ = "chromaticities",
        _s10_ = "dataWindow",
        _s25_ = "Unknown LevelMode format.",
        _s13_ = "_bytesPerLine";
      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 U.ExrAttribute($name, size, bytes));
        switch ($name) {
          case "channels":
            for (; true;) {
              channel = new D.ExrChannel();
              channel.ExrChannel$1(bytes);
              if (channel.name == null)
                break;
              t3.push(channel);
            }
            break;
          case "chromaticities":
            t4 = _this.__ExrPart_chromaticities = new Float32Array(8);
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s14_));
            t5 = bytes.readUint32$0();
            t6 = $.$get$__uint32();
            t6[0] = t5;
            t5 = $.$get$__uint32ToFloat32();
            t4[0] = t5[0];
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s14_));
            t6[0] = bytes.readUint32$0();
            J.$indexSet$ax(t4, 1, t5[0]);
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s14_));
            t6[0] = bytes.readUint32$0();
            J.$indexSet$ax(t4, 2, t5[0]);
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s14_));
            t6[0] = bytes.readUint32$0();
            J.$indexSet$ax(t4, 3, t5[0]);
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s14_));
            t6[0] = bytes.readUint32$0();
            J.$indexSet$ax(t4, 4, t5[0]);
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s14_));
            t6[0] = bytes.readUint32$0();
            J.$indexSet$ax(t4, 5, t5[0]);
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s14_));
            t6[0] = bytes.readUint32$0();
            J.$indexSet$ax(t4, 6, t5[0]);
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s14_));
            t6[0] = bytes.readUint32$0();
            J.$indexSet$ax(t4, 7, t5[0]);
            break;
          case "compression":
            t4 = bytes.buffer;
            t5 = bytes.offset;
            bytes.offset = t5 + 1;
            t5 = J.$index$asx(t4, t5);
            _this._compressionType = t5;
            if (t5 > 7)
              throw H.wrapException(K.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 = H._setArrayType([t6, t7, t8, t4[0]], t2);
            t4 = (t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s10_)) : t4)[2];
            t5 = _this.__ExrPart_dataWindow;
            _this.width = t4 - J.$index$asx(t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s10_)) : t5, 0) + 1;
            t4 = _this.__ExrPart_dataWindow;
            t4 = J.$index$asx(t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s10_)) : t4, 3);
            t5 = _this.__ExrPart_dataWindow;
            _this.height = t4 - J.$index$asx(t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s10_)) : t5, 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;
            t5 = bytes.offset;
            bytes.offset = t5 + 1;
            t5 = J.$index$asx(t4, t5);
            _this._tileLevelMode = t5 & 15;
            _this._tileRoundingMode = C.JSInt_methods._shrOtherPositive$1(t5, 4) & 15;
            break;
          case "type":
            s = bytes.readString$0();
            if (s !== "deepscanline")
              if (s !== "deeptile")
                throw H.wrapException(K.ImageException$("EXR Invalid type: " + s));
            break;
          default:
            break;
        }
      }
      if (_this._tiled) {
        t1 = J.$index$asx(_this.get$dataWindow(), 0);
        t2 = J.$index$asx(_this.get$dataWindow(), 2);
        t3 = J.$index$asx(_this.get$dataWindow(), 1);
        t4 = J.$index$asx(_this.get$dataWindow(), 3);
        switch (_this._tileLevelMode) {
          case 0:
            num = 1;
            break;
          case 1:
            t1 = Math.max(t2 - t1 + 1, t4 - t3 + 1);
            num = (_this._tileRoundingMode === 0 ? _this._floorLog2$1(t1) : _this._ceilLog2$1(t1)) + 1;
            break;
          case 2:
            w = t2 - t1 + 1;
            num = (_this._tileRoundingMode === 0 ? _this._floorLog2$1(w) : _this._ceilLog2$1(w)) + 1;
            break;
          default:
            H.throwExpression(K.ImageException$(_s25_));
            num = 0;
        }
        _this._numXLevels = num;
        t1 = J.$index$asx(_this.get$dataWindow(), 0);
        t2 = J.$index$asx(_this.get$dataWindow(), 2);
        t3 = J.$index$asx(_this.get$dataWindow(), 1);
        t4 = J.$index$asx(_this.get$dataWindow(), 3);
        switch (_this._tileLevelMode) {
          case 0:
            num = 1;
            break;
          case 1:
            t1 = Math.max(t2 - t1 + 1, t4 - t3 + 1);
            num = (_this._tileRoundingMode === 0 ? _this._floorLog2$1(t1) : _this._ceilLog2$1(t1)) + 1;
            break;
          case 2:
            h = t4 - t3 + 1;
            num = (_this._tileRoundingMode === 0 ? _this._floorLog2$1(h) : _this._ceilLog2$1(h)) + 1;
            break;
          default:
            H.throwExpression(K.ImageException$(_s25_));
            num = 0;
        }
        _this._numYLevels = num;
        if (_this._tileLevelMode !== 2)
          _this._numYLevels = 1;
        t1 = _this._numXLevels;
        t1.toString;
        _this._numXTiles = _this._calculateNumTiles$5(t1, J.$index$asx(_this.get$dataWindow(), 0), J.$index$asx(_this.get$dataWindow(), 2), _this._tileWidth, _this._tileRoundingMode);
        t1 = _this._numYLevels;
        t1.toString;
        _this._numYTiles = _this._calculateNumTiles$5(t1, J.$index$asx(_this.get$dataWindow(), 1), J.$index$asx(_this.get$dataWindow(), 3), _this._tileHeight, _this._tileRoundingMode);
        t1 = _this.__ExrPart__bytesPerPixel = _this._calculateBytesPerPixel$0();
        if (t1 === $)
          t1 = H.throwExpression(H.LateError$fieldNI("_bytesPerPixel"));
        t2 = _this._tileWidth;
        t2.toString;
        t2 = t1 * t2;
        _this._maxBytesPerTileLine = t2;
        _this._compressor = B.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 = P.List_List$generate(t2 * t1, new S.ExrPart_closure(_box_0, _this), true, type$.Uint32List);
      } else {
        t1 = _this.height;
        t1.toString;
        _this.__ExrPart__bytesPerLine = new Uint32Array(t1 + 1);
        for (t1 = t3.length, _i = 0; _i < t3.length; t3.length === t1 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
          ch = t3[_i];
          t2 = ch.__ExrChannel_size;
          if (t2 === $)
            t2 = H.throwExpression(H.LateError$fieldNI("size"));
          t4 = _this.width;
          t4.toString;
          t5 = ch.__ExrChannel_xSampling;
          if (t5 === $)
            t5 = H.throwExpression(H.LateError$fieldNI("xSampling"));
          nBytes = C.JSInt_methods.$tdiv(t2 * t4, t5);
          y = 0;
          while (true) {
            t2 = _this.height;
            t2.toString;
            if (!(y < t2))
              break;
            t2 = _this.__ExrPart_dataWindow;
            t2 = J.$index$asx(t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s10_)) : t2, 1);
            t4 = ch.__ExrChannel_ySampling;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI("ySampling"));
            if (C.JSInt_methods.$mod(y + t2, t4) === 0) {
              t2 = _this.__ExrPart__bytesPerLine;
              if (t2 === $)
                t2 = H.throwExpression(H.LateError$fieldNI(_s13_));
              t4 = J.getInterceptor$asx(t2);
              t4.$indexSet(t2, y, t4.$index(t2, y) + nBytes);
            }
            ++y;
          }
        }
        maxBytesPerLine = 0;
        y = 0;
        while (true) {
          t1 = _this.height;
          t1.toString;
          if (!(y < t1))
            break;
          t1 = _this.__ExrPart__bytesPerLine;
          maxBytesPerLine = Math.max(maxBytesPerLine, J.$index$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t1, y));
          ++y;
        }
        t1 = B.ExrCompressor_ExrCompressor(_this._compressionType, _this, maxBytesPerLine, null);
        _this._compressor = t1;
        _this._linesInBuffer = t1.numScanLines$0();
        t1 = J.get$length$asx(_this.get$_bytesPerLine());
        _this._offsetInLineBuffer = new Uint32Array(t1);
        offset = 0;
        i = 0;
        while (true) {
          t1 = _this.__ExrPart__bytesPerLine;
          if (!(i <= J.get$length$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t1) - 1))
            break;
          t1 = _this._linesInBuffer;
          t1.toString;
          if (C.JSInt_methods.$mod(i, t1) === 0)
            offset = 0;
          _this._offsetInLineBuffer[i] = offset;
          t1 = _this.__ExrPart__bytesPerLine;
          offset += J.$index$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t1, i);
          ++i;
        }
        t1 = _this.height;
        t1.toString;
        t2 = _this._linesInBuffer;
        t2.toString;
        t2 = C.JSInt_methods.$tdiv(t1 + t2, t2);
        _this._offsets = H._setArrayType([new Uint32Array(t2 - 1)], type$.JSArray_nullable_Uint32List);
      }
    },
    _floorLog2$1: function(x) {
      var y;
      for (y = 0; x > 1;) {
        ++y;
        x = C.JSInt_methods._shrOtherPositive$1(x, 1);
      }
      return y;
    },
    _ceilLog2$1: function(x) {
      var y, r;
      for (y = 0, r = 0; x > 1;) {
        if ((x & 1) !== 0)
          r = 1;
        ++y;
        x = C.JSInt_methods._shrOtherPositive$1(x, 1);
      }
      return y + r;
    },
    _calculateBytesPerPixel$0: function() {
      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;
        bytesPerPixel += t3 === $ ? H.throwExpression(H.LateError$fieldNI("size")) : t3;
      }
      return bytesPerPixel;
    },
    _calculateNumTiles$5: function(numLevels, min, max, size, rmode) {
      var t1, i, a, b, size0, t2,
        _list = J.JSArray_JSArray$allocateFixed(numLevels, type$.int);
      for (t1 = rmode === 1, i = 0; i < numLevels; ++i) {
        a = max - min + 1;
        b = C.JSInt_methods._shlPositive$1(1, i);
        size0 = C.JSInt_methods.$tdiv(a, b);
        if (t1 && size0 * b < a)
          ++size0;
        t2 = Math.max(size0, 1);
        size.toString;
        _list[i] = C.JSInt_methods.$tdiv(t2 + size - 1, size);
      }
      return _list;
    },
    get$_bytesPerLine: function() {
      var t1 = this.__ExrPart__bytesPerLine;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_bytesPerLine")) : t1;
    },
    set$width: function(receiver, val) {
      return this.width = val;
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  S.ExrPart_closure.prototype = {
    call$1: function(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: 1007
  };
  S.InternalExrPart.prototype = {
    readOffsets$1: function(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();
      }
    }
  };
  G.InternalExrPizCompressor.prototype = {
    InternalExrPizCompressor$3: function(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 G._PizChannelData();
      _this.__InternalExrPizCompressor__channelData = _list;
      t1 = _this._exr_piz_compressor$_maxScanLineSize;
      t1.toString;
      tmpBufferSize = C.JSInt_methods._tdivFast$1(t1 * _this._exr_piz_compressor$_numScanLines, 2);
      _this._tmpBuffer = new Uint16Array(tmpBufferSize);
    },
    numScanLines$0: function() {
      return this._exr_piz_compressor$_numScanLines;
    },
    uncompress$5: function(input, x, y, width, height) {
      var maxX, maxY, t1, t2, channels, numChannels, tmpBufferEnd, i, ch, a1, b1, t3, t4, minNonZero, maxNonZero, bitmap, b, len, j, j0, lut, maxValue, t5, t6, t7, _this = this,
        _s12_ = "_channelData",
        _s4_ = "size";
      if (width == null)
        width = _this._exr_compressor$_header.width;
      if (height == null)
        height = _this._exr_compressor$_header._linesInBuffer;
      width.toString;
      maxX = x + width - 1;
      height.toString;
      maxY = y + height - 1;
      t1 = _this._exr_compressor$_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;
        t1 = J.$index$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s12_)) : t1, i);
        t1.toString;
        t1.___PizChannelData_start = tmpBufferEnd;
        t1.___PizChannelData_end = tmpBufferEnd === $ ? H.throwExpression(H.LateError$fieldNI("start")) : tmpBufferEnd;
        t2 = ch.__ExrChannel_xSampling;
        if (t2 === $)
          t2 = H.throwExpression(H.LateError$fieldNI("xSampling"));
        a1 = C.JSInt_methods.$tdiv(x, t2);
        b1 = C.JSInt_methods.$tdiv(maxX, t2);
        t2 = a1 * t2 < x ? 0 : 1;
        t2 = t1.___PizChannelData_nx = b1 - a1 + t2;
        t3 = ch.__ExrChannel_ySampling;
        t4 = t3 === $ ? H.throwExpression(H.LateError$fieldNI("ySampling")) : t3;
        a1 = C.JSInt_methods.$tdiv(y, t4);
        b1 = C.JSInt_methods.$tdiv(maxY, t4);
        t4 = a1 * t4 < y ? 0 : 1;
        t4 = t1.___PizChannelData_ny = b1 - a1 + t4;
        t1.___PizChannelData_ys = t3;
        t3 = ch.__ExrChannel_size;
        t1 = t1.___PizChannelData_size = C.JSInt_methods._tdivFast$1(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s4_)) : t3, 2);
        if (t2 === $)
          t2 = H.throwExpression(H.LateError$fieldNI("nx"));
        t3 = t4 === $ ? H.throwExpression(H.LateError$fieldNI("ny")) : t4;
        if (t1 === $)
          t1 = H.throwExpression(H.LateError$fieldNI(_s4_));
        tmpBufferEnd += t2 * t3 * t1;
      }
      minNonZero = input.readUint16$0();
      maxNonZero = input.readUint16$0();
      if (maxNonZero >= 8192)
        throw H.wrapException(K.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 (len = b.end - b.offset, j = minNonZero, i = 0; i < len; ++i, j = j0) {
          j0 = j + 1;
          bitmap[j] = J.$index$asx(b.buffer, b.offset + i);
        }
      }
      lut = new Uint16Array(65536);
      maxValue = _this._reverseLutFromBitmap$2(bitmap, lut);
      Y.ExrHuffman_uncompress(input, input.readUint32$0(), _this._tmpBuffer, tmpBufferEnd);
      for (i = 0; i < numChannels; ++i) {
        t1 = _this.__InternalExrPizCompressor__channelData;
        t1 = J.$index$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s12_)) : t1, i);
        t1.toString;
        j = 0;
        while (true) {
          t2 = t1.___PizChannelData_size;
          if (!(j < (t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s4_)) : t2)))
            break;
          t3 = _this._tmpBuffer;
          t3.toString;
          t4 = t1.___PizChannelData_start;
          if (t4 === $)
            t4 = H.throwExpression(H.LateError$fieldNI("start"));
          t5 = t1.___PizChannelData_nx;
          t6 = t5 === $ ? H.throwExpression(H.LateError$fieldNI("nx")) : t5;
          t7 = t1.___PizChannelData_ny;
          if (t7 === $)
            t7 = H.throwExpression(H.LateError$fieldNI("ny"));
          Q.ExrWavelet_decode(t3, t4 + j, t6, t2, t7, t5 * t2, 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 = G.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;
          t1 = J.$index$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s12_)) : t1, i);
          t1.toString;
          t2 = t1.___PizChannelData_ys;
          if (C.JSInt_methods.$mod(y, t2 === $ ? H.throwExpression(H.LateError$fieldNI("ys")) : t2) !== 0)
            continue;
          t2 = t1.___PizChannelData_nx;
          if (t2 === $)
            t2 = H.throwExpression(H.LateError$fieldNI("nx"));
          t3 = t1.___PizChannelData_size;
          x = t2 * (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s4_)) : t3);
          for (; x > 0; --x) {
            t2 = _this._exr_piz_compressor$_output;
            t2.toString;
            t3 = _this._tmpBuffer;
            t3.toString;
            t4 = t1.___PizChannelData_end;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI("end"));
            t1.___PizChannelData_end = t4 + 1;
            t2.writeUint16$1(t3[t4]);
          }
        }
      t1 = _this._exr_piz_compressor$_output;
      return C.NativeByteBuffer_methods.asUint8List$2(t1._output_buffer$_buffer.buffer, 0, t1.length);
    },
    uncompress$3: function(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    },
    _applyLut$3: function(lut, data, nData) {
      var i;
      for (i = 0; i < nData; ++i)
        data[i] = lut[data[i]];
    },
    _reverseLutFromBitmap$2: function(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;
    }
  };
  G._PizChannelData.prototype = {
    get$start: function(_) {
      var t1 = this.___PizChannelData_start;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("start")) : t1;
    },
    get$end: function(_) {
      var t1 = this.___PizChannelData_end;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("end")) : t1;
    }
  };
  O.InternalExrPxr24Compressor.prototype = {
    numScanLines$0: function() {
      return this._exr_pxr24_compressor$_numScanLines;
    },
    uncompress$5: function(input, x, y, width, height) {
      var ptr, pixel, pixelBytes, maxX, maxY, t2, numChannels, yi, tmpEnd, ci, ch, t3, a1, b1, n, j, t4, t5, k, _this = this,
        data = C.C__ZLibDecoder.decodeBuffer$2$verify(T.InputStream$(input.toUint8List$0(), 1, null, 0), false),
        t1 = _this._output;
      if (t1 == null) {
        t1 = _this._maxScanLineSize;
        t1.toString;
        t1 = _this._output = G.OutputBuffer$(_this._exr_pxr24_compressor$_numScanLines * t1);
      }
      t1.length = 0;
      ptr = H._setArrayType([0, 0, 0, 0], type$.JSArray_int);
      pixel = new Uint32Array(1);
      pixelBytes = C.NativeByteBuffer_methods.asUint8List$2(pixel.buffer, 0, null);
      if (width == null)
        width = _this._exr_compressor$_header.width;
      if (height == null)
        height = _this._exr_compressor$_header._linesInBuffer;
      width.toString;
      maxX = x + width - 1;
      height.toString;
      maxY = y + height - 1;
      t1 = _this._exr_compressor$_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 (t2 = J.getInterceptor$asx(data), yi = y, tmpEnd = 0; yi <= maxY; ++yi)
        for (ci = 0; ci < numChannels; ++ci) {
          ch = t1[ci];
          t3 = ch.__ExrChannel_ySampling;
          if (C.JSInt_methods.$mod(y, t3 === $ ? H.throwExpression(H.LateError$fieldNI("ySampling")) : t3) !== 0)
            continue;
          t3 = ch.__ExrChannel_xSampling;
          if (t3 === $)
            t3 = H.throwExpression(H.LateError$fieldNI("xSampling"));
          a1 = C.JSInt_methods.$tdiv(x, t3);
          b1 = C.JSInt_methods.$tdiv(maxX, t3);
          t3 = a1 * t3 < x ? 0 : 1;
          n = b1 - a1 + t3;
          pixel[0] = 0;
          t3 = ch.__ExrChannel_type;
          switch (t3 === $ ? H.throwExpression(H.LateError$fieldNI("type")) : t3) {
            case 0:
              ptr[0] = tmpEnd;
              t3 = tmpEnd + n;
              ptr[1] = t3;
              t3 += n;
              ptr[2] = t3;
              tmpEnd = t3 + n;
              for (j = 0; j < n; ++j) {
                t3 = ptr[0];
                ptr[0] = t3 + 1;
                t3 = t2.$index(data, t3);
                t4 = ptr[1];
                ptr[1] = t4 + 1;
                t4 = t2.$index(data, t4);
                t5 = ptr[2];
                ptr[2] = t5 + 1;
                t5 = t2.$index(data, t5);
                pixel[0] = pixel[0] + ((t3 << 24 | t4 << 16 | t5 << 8) >>> 0);
                for (k = 0; k < 4; ++k)
                  _this._output.writeByte$1(pixelBytes[k]);
              }
              break;
            case 1:
              ptr[0] = tmpEnd;
              t3 = tmpEnd + n;
              ptr[1] = t3;
              tmpEnd = t3 + n;
              for (j = 0; j < n; ++j) {
                t3 = ptr[0];
                ptr[0] = t3 + 1;
                t3 = t2.$index(data, t3);
                t4 = ptr[1];
                ptr[1] = t4 + 1;
                t4 = t2.$index(data, t4);
                pixel[0] = pixel[0] + ((t3 << 8 | t4) >>> 0);
                for (k = 0; k < 2; ++k)
                  _this._output.writeByte$1(pixelBytes[k]);
              }
              break;
            case 2:
              ptr[0] = tmpEnd;
              t3 = tmpEnd + n;
              ptr[1] = t3;
              t3 += n;
              ptr[2] = t3;
              tmpEnd = t3 + n;
              for (j = 0; j < n; ++j) {
                t3 = ptr[0];
                ptr[0] = t3 + 1;
                t3 = t2.$index(data, t3);
                t4 = ptr[1];
                ptr[1] = t4 + 1;
                t4 = t2.$index(data, t4);
                t5 = ptr[2];
                ptr[2] = t5 + 1;
                t5 = t2.$index(data, t5);
                pixel[0] = pixel[0] + ((t3 << 24 | t4 << 16 | t5 << 8) >>> 0);
                for (k = 0; k < 4; ++k)
                  _this._output.writeByte$1(pixelBytes[k]);
              }
              break;
          }
        }
      t1 = _this._output;
      return C.NativeByteBuffer_methods.asUint8List$2(t1._output_buffer$_buffer.buffer, 0, t1.length);
    },
    uncompress$3: function(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    }
  };
  Y.InternalExrRleCompressor.prototype = {
    numScanLines$0: function() {
      return 1;
    },
    uncompress$5: function(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 = G.OutputBuffer$((t1 - input.offset) * 2);
      if (width == null)
        width = _this._exr_compressor$_header.width;
      if (height == null)
        height = _this._exr_compressor$_header._linesInBuffer;
      width.toString;
      maxX = x + width - 1;
      height.toString;
      maxY = y + height - 1;
      t2 = _this._exr_compressor$_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 = J.$index$asx(t3, t2);
        $.$get$__uint8()[0] = t2;
        n = $.$get$__uint8ToInt8()[0];
        if (n < 0) {
          count = -n;
          for (; count0 = count - 1, count > 0; count = count0) {
            t2 = input.buffer;
            t3 = input.offset;
            input.offset = t3 + 1;
            out.writeByte$1(J.$index$asx(t2, t3));
          }
        } else
          for (count = n; count0 = count - 1, count >= 0; count = count0) {
            t2 = input.buffer;
            t3 = input.offset;
            input.offset = t3 + 1;
            out.writeByte$1(J.$index$asx(t2, t3));
          }
      }
      data = C.NativeByteBuffer_methods.asUint8List$2(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 = C.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: function(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    }
  };
  R.InternalExrZipCompressor.prototype = {
    numScanLines$0: function() {
      return this._exr_zip_compressor$_numScanLines;
    },
    uncompress$5: function(input, x, y, width, height) {
      var maxX, maxY, t1, t2, len, i, t10, si, t3, si0, t11, t20, _this = this,
        data = C.C__ZLibDecoder.decodeBuffer$2$verify(T.InputStream$(input.toUint8List$0(), 1, null, 0), false);
      if (width == null)
        width = _this._exr_compressor$_header.width;
      if (height == null)
        height = _this._exr_compressor$_header._linesInBuffer;
      width.toString;
      maxX = x + width - 1;
      height.toString;
      maxY = y + height - 1;
      t1 = _this._exr_compressor$_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 (t1 = J.getInterceptor$asx(data), len = t1.get$length(data), i = 1; i < len; ++i)
        t1.$indexSet(data, i, t1.$index(data, i - 1) + t1.$index(data, i) - 128);
      t2 = _this._outCache;
      if (t2 == null || t2.length !== t1.get$length(data)) {
        t2 = t1.get$length(data);
        _this._outCache = new Uint8Array(t2);
      }
      len = t1.get$length(data);
      t2 = C.JSInt_methods._tdivFast$1(len + 1, 2);
      for (t10 = 0, si = 0; true; t2 = t20, t10 = t11) {
        if (si < len) {
          t3 = _this._outCache;
          t3.toString;
          si0 = si + 1;
          t11 = t10 + 1;
          t3[si] = t1.$index(data, t10);
        } else
          break;
        if (si0 < len) {
          t3 = _this._outCache;
          t3.toString;
          si = si0 + 1;
          t20 = t2 + 1;
          t3[si0] = t1.$index(data, t2);
        } else
          break;
      }
      t1 = _this._outCache;
      t1.toString;
      return t1;
    },
    uncompress$3: function(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    }
  };
  U.ExrDecoder.prototype = {
    decodeFrame$1: function(frame) {
      var t1 = this.exrImage;
      if (t1 == null)
        return null;
      return A.hdrToImage(t1._parts[frame].framebuffer, 1);
    },
    decodeImage$1: function(bytes) {
      var t1 = new Y.ExrImage(H._setArrayType([], type$.JSArray_InternalExrPart));
      t1.ExrImage$1(bytes);
      this.exrImage = t1;
      return this.decodeFrame$1(0);
    }
  };
  M.GifColorMap.prototype = {
    $index: function(_, index) {
      return this.colors[index];
    },
    $indexSet: function(_, index, value) {
      this.colors[index] = value;
      return value;
    },
    setColor$4: function(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 = {
    get$y: function(_) {
      var t1 = this.__GifImageDesc_y;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("y")) : t1;
    },
    set$width: function(_, t1) {
      this.__GifImageDesc_width = t1;
    },
    set$height: function(_, t1) {
      this.__GifImageDesc_height = t1;
    },
    GifImageDesc$1: function(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 = M.GifColorMap$(C.JSInt_methods._shlPositive$1(1, (b & 7) + 1));
        for (i = 0; t1 = _this.colorMap, i < t1.numColors; ++i) {
          t2 = input.buffer;
          t3 = input.offset;
          input.offset = t3 + 1;
          t3 = J.$index$asx(t2, t3);
          t2 = input.buffer;
          t4 = input.offset;
          input.offset = t4 + 1;
          t4 = J.$index$asx(t2, t4);
          t2 = input.buffer;
          t5 = input.offset;
          input.offset = t5 + 1;
          t1.setColor$4(i, t3, t4, J.$index$asx(t2, t5));
        }
      }
      _this.__GifImageDesc__inputPosition = input.offset - input.start;
    },
    get$duration: function(receiver) {
      return this.duration;
    }
  };
  A.InternalGifImageDesc.prototype = {};
  K.GifInfo.prototype = {};
  F.GifDecoder.prototype = {
    startDecode$1: function(bytes) {
      var recordType, gifImage, extCode, error, t1, t2, t3, t4, exception, _this = this;
      _this._gif_decoder$_input = Z.InputBuffer$(bytes, false, null, 0);
      _this.info = new K.GifInfo(H._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;
          t1.offset = t2 + 1;
          recordType = J.$index$asx(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 = _this._gif_decoder$_input;
              t2 = t1.buffer;
              t3 = t1.offset;
              t1.offset = t3 + 1;
              extCode = J.$index$asx(t2, t3);
              if (J.$eq$(extCode, 255)) {
                t1 = _this._gif_decoder$_input;
                t2 = t1.buffer;
                t3 = t1.offset;
                t1.offset = t3 + 1;
                if (t1.readString$1(J.$index$asx(t2, t3)) === "NETSCAPE2.0") {
                  t2 = t1.buffer;
                  t3 = t1.offset;
                  t1.offset = t3 + 1;
                  t3 = J.$index$asx(t2, t3);
                  t2 = t1.buffer;
                  t4 = t1.offset;
                  t1.offset = t4 + 1;
                  t4 = J.$index$asx(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 = H.unwrapException(exception);
        P.print(error);
      }
      return _this.info;
    },
    _readGraphicsControlExt$1: function(_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();
      C.JSInt_methods._shrOtherPositive$1(b, 2);
      t1 = _input.subset$2$offset(1, 0);
      if (J.$index$asx(t1.buffer, t1.offset) === 44) {
        _input.offset = _input.offset + 1;
        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: function(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;
      t1.offset = t2 === $ ? H.throwExpression(H.LateError$fieldNI("_inputPosition")) : t2;
      return _this._decodeImage$1(gifImage);
    },
    decodeImage$1: function(bytes) {
      if (this.startDecode$1(bytes) == null)
        return null;
      return this.decodeFrame$1(0);
    },
    _skipImage$0: function() {
      var gifImage,
        t1 = this._gif_decoder$_input;
      if (t1.offset >= t1.end)
        return null;
      gifImage = new A.InternalGifImageDesc();
      gifImage.GifImageDesc$1(t1);
      t1 = this._gif_decoder$_input;
      t1.offset = t1.offset + 1;
      this._skipRemainder$0();
      return gifImage;
    },
    _decodeImage$1: function(gifImage) {
      var t1, t2, width, height, colorMap, image, line, row, 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._gif_decoder$_prefix = new Uint32Array(4096);
      }
      t1 = _this._bitsPerPixel = _this._gif_decoder$_input.readByte$0();
      t2 = C.JSInt_methods.$shl(1, t1);
      _this._clearCode = t2;
      ++t2;
      _this._eofCode = t2;
      _this._runningCode = t2 + 1;
      ++t1;
      _this._runningBits = t1;
      _this._maxCode1 = C.JSInt_methods.$shl(1, t1);
      _this._stackPtr = 0;
      _this._lastCode = 4098;
      _this._currentShiftDWord = _this._currentShiftState = 0;
      _this._gif_decoder$_buffer[0] = 0;
      t1 = _this._gif_decoder$_prefix;
      t1.toString;
      C.NativeUint32List_methods.fillRange$3(t1, 0, 4096, 4098);
      width = gifImage.__GifImageDesc_width;
      if (width === $)
        width = H.throwExpression(H.LateError$fieldNI("width"));
      height = gifImage.__GifImageDesc_height;
      if (height === $)
        height = H.throwExpression(H.LateError$fieldNI("height"));
      t1 = gifImage.__GifImageDesc_x;
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("x"));
      t2 = _this.info;
      if (!(t1 + width > t2.width)) {
        t1 = gifImage.get$y(gifImage);
        t2 = _this.info;
        t1 = t1 + height > t2.height;
      } else
        t1 = true;
      if (t1)
        return null;
      colorMap = gifImage.colorMap;
      colorMap = colorMap != null ? colorMap : t2.globalColorMap;
      _this._pixelCount = width * height;
      image = U.Image$0(width, height, C.Channels_1);
      line = new Uint8Array(width);
      t1 = gifImage.__GifImageDesc_interlaced;
      if (t1 === $ ? H.throwExpression(H.LateError$fieldNI("interlaced")) : t1) {
        row = gifImage.get$y(gifImage);
        for (i = 0, j = 0; i < 4; ++i)
          for (y = row + C.List_0_4_2_1[i], t1 = row + height; y < t1; y += C.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 < height; ++y) {
          if (!_this._getLine$1(line))
            return image;
          _this._updateImage$4(image, y, colorMap, line);
        }
      return image;
    },
    _updateImage$4: function(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 = 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[y * t3 + x] = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(a, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(t6, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(t5, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(t4, 0, 255))) >>> 0;
        }
    },
    _getInfo$0: function() {
      var t1, b, i, t2, t3, t4, t5, _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();
      t1 = _this._gif_decoder$_input;
      t1.offset = t1.offset + 1;
      if ((b & 128) !== 0) {
        t1 = _this.info;
        t1.toString;
        t1.globalColorMap = M.GifColorMap$(C.JSInt_methods._shlPositive$1(1, (b & 7) + 1));
        for (i = 0; i < _this.info.globalColorMap.numColors; ++i) {
          t1 = _this._gif_decoder$_input;
          t2 = t1.buffer;
          t3 = t1.offset;
          t1.offset = t3 + 1;
          t3 = J.$index$asx(t2, t3);
          t2 = _this._gif_decoder$_input;
          t1 = t2.buffer;
          t4 = t2.offset;
          t2.offset = t4 + 1;
          t4 = J.$index$asx(t1, t4);
          t1 = _this._gif_decoder$_input;
          t2 = t1.buffer;
          t5 = t1.offset;
          t1.offset = t5 + 1;
          t5 = J.$index$asx(t2, t5);
          _this.info.globalColorMap.setColor$4(i, t3, t4, t5);
        }
      }
      _this.info.toString;
      return true;
    },
    _getLine$1: function(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: function() {
      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 = t1.offset + b;
        if (t2 >= t1.end)
          return true;
        t3 = t1.buffer;
        t1.offset = t2 + 1;
        b = J.$index$asx(t3, t2);
      }
      return true;
    },
    _decompressLine$1: function(line) {
      var lineLen, i, i0, t2, currentPrefix, currentPrefix0, j, t3, t4, t5, t6, j0, _this = this, _s6_ = "_stack",
        _s7_ = "_suffix",
        t1 = _this._stackPtr;
      if (t1 > 4095)
        return false;
      lineLen = line.length;
      if (t1 !== 0) {
        i = 0;
        while (true) {
          t1 = _this._stackPtr;
          if (!(t1 !== 0 && i < lineLen))
            break;
          i0 = i + 1;
          t2 = _this.__GifDecoder__stack;
          if (t2 === $)
            t2 = H.throwExpression(H.LateError$fieldNI(_s6_));
          --t1;
          _this._stackPtr = t1;
          line[i] = J.$index$asx(t2, t1);
          i = i0;
        }
      } else
        i = 0;
      for (currentPrefix = null; i < lineLen;) {
        currentPrefix0 = _this._currentCode = _this._decompressInput$0();
        if (currentPrefix0 == null)
          return false;
        t1 = _this._eofCode;
        if (currentPrefix0 === t1)
          return false;
        t2 = _this._clearCode;
        if (currentPrefix0 === t2) {
          for (t2 = _this._gif_decoder$_prefix, j = 0; j <= 4095; ++j)
            t2[j] = 4098;
          _this._runningCode = t1 + 1;
          t1 = _this._bitsPerPixel + 1;
          _this._runningBits = t1;
          _this._maxCode1 = C.JSInt_methods.$shl(1, t1);
          _this._lastCode = 4098;
        } else {
          if (currentPrefix0 < t2) {
            i0 = i + 1;
            line[i] = currentPrefix0;
            i = i0;
          } else {
            t1 = _this._gif_decoder$_prefix;
            if (t1[currentPrefix0] === 4098) {
              t3 = _this._runningCode - 2;
              if (currentPrefix0 === t3) {
                currentPrefix = _this._lastCode;
                t4 = _this.__GifDecoder__suffix;
                if (t4 === $)
                  t4 = H.throwExpression(H.LateError$fieldNI(_s7_));
                t5 = _this.__GifDecoder__stack;
                if (t5 === $)
                  t5 = H.throwExpression(H.LateError$fieldNI(_s6_));
                t6 = _this._stackPtr++;
                t2 = _this._getPrefixChar$3(t1, currentPrefix, t2);
                J.$indexSet$ax(t5, t6, t2);
                J.$indexSet$ax(t4, t3, t2);
              } else
                return false;
            } else
              currentPrefix = currentPrefix0;
            j = 0;
            while (true) {
              j0 = j + 1;
              if (j <= 4095) {
                currentPrefix.toString;
                t1 = currentPrefix > _this._clearCode && currentPrefix <= 4095;
              } else
                t1 = false;
              if (!t1)
                break;
              t1 = _this.__GifDecoder__stack;
              if (t1 === $)
                t1 = H.throwExpression(H.LateError$fieldNI(_s6_));
              t2 = _this._stackPtr++;
              t3 = _this.__GifDecoder__suffix;
              J.$indexSet$ax(t1, t2, J.$index$asx(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s7_)) : t3, currentPrefix));
              currentPrefix = _this._gif_decoder$_prefix[currentPrefix];
              j = j0;
            }
            if (j0 < 4095) {
              currentPrefix.toString;
              t1 = currentPrefix > 4095;
            } else
              t1 = true;
            if (t1)
              return false;
            t1 = _this.__GifDecoder__stack;
            if (t1 === $)
              t1 = H.throwExpression(H.LateError$fieldNI(_s6_));
            J.$indexSet$ax(t1, _this._stackPtr++, currentPrefix);
            while (true) {
              t1 = _this._stackPtr;
              if (!(t1 !== 0 && i < lineLen))
                break;
              i0 = i + 1;
              t2 = _this.__GifDecoder__stack;
              if (t2 === $)
                t2 = H.throwExpression(H.LateError$fieldNI(_s6_));
              --t1;
              _this._stackPtr = t1;
              line[i] = J.$index$asx(t2, t1);
              i = i0;
            }
          }
          t1 = _this._lastCode;
          if (t1 !== 4098 && _this._gif_decoder$_prefix[_this._runningCode - 2] === 4098) {
            t2 = _this._gif_decoder$_prefix;
            t3 = _this._runningCode - 2;
            t2[t3] = t1;
            t4 = _this._currentCode;
            t5 = _this.__GifDecoder__suffix;
            if (t4 === t3) {
              t4 = t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s7_)) : t5;
              J.$indexSet$ax(t4, t3, _this._getPrefixChar$3(t2, t1, _this._clearCode));
            } else {
              t1 = t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s7_)) : t5;
              t4.toString;
              J.$indexSet$ax(t1, t3, _this._getPrefixChar$3(t2, t4, _this._clearCode));
            }
          }
          t1 = _this._currentCode;
          t1.toString;
          _this._lastCode = t1;
        }
      }
      return true;
    },
    _decompressInput$0: function() {
      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 | C.JSInt_methods.$shl(t1, t3)) >>> 0;
        _this._currentShiftState = t3 + 8;
      }
      t3 = _this._currentShiftDWord;
      t4 = C.List_Qw3[t2];
      _this._currentShiftDWord = C.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: function(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: function() {
      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;
        C.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;
    }
  };
  X.IcoDecoder.prototype = {
    decodeFrame$1: function(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 G.PngDecoder();
      if (png.isValidFile$1(imageBuffer))
        return png.decodeImage$1(imageBuffer);
      dummyBmpHeader = G.OutputBuffer$(14);
      dummyBmpHeader.writeUint16$1(19778);
      dummyBmpHeader.writeUint32$1(t3);
      dummyBmpHeader.writeUint32$1(0);
      dummyBmpHeader.writeUint32$1(0);
      t1 = Z.InputBuffer$(imageBuffer, false, _null, 0);
      t2 = L.BitmapFileHeader$(Z.InputBuffer$(C.NativeByteBuffer_methods.asUint8List$2(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 = P.LinkedHashMap_LinkedHashMap$_literal([0, C.BitmapCompression_1, 3, C.BitmapCompression_0], type$.int, type$.BitmapCompression).$index(0, t10);
      if (compression == null)
        H.throwExpression(K.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 X.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 * C.JSInt_methods._shlPositive$1(1, t9) : 40 + 4 * t5;
      t2.__BitmapFileHeader_offset = offset;
      dummyBmpHeader.length -= 4;
      dummyBmpHeader.writeUint32$1(offset);
      inp = Z.InputBuffer$(imageBuffer, false, _null, 0);
      bmp = new E.DibDecoder();
      bmp.__BmpDecoder__input = inp;
      bmp.info = bmpInfo;
      image = bmp.decodeFrame$1(0);
      if (t9 >= 32)
        return image;
      padding = 32 - C.JSInt_methods.$mod(t6, 32);
      rowLength = C.JSInt_methods._tdivFast$1(padding === 32 ? t6 : t6 + padding, 8);
      for (t1 = image.data, t2 = image.width, t3 = image.height, t4 = 1 / t7 < 0, t5 = t7 < 0, t7 = t7 === 0, y = 0; y < C.JSInt_methods._tdivFast$1(L.BmpInfo.prototype.get$height.call(bmpInfo, bmpInfo), 2); ++y) {
        line = !(t7 ? t4 : t5) ? y : t3 - 1 - y;
        bytes = inp.subset$1(rowLength);
        inp.offset = inp.offset + (bytes.end - bytes.offset);
        for (x = 0; x < t6;) {
          t8 = bytes.buffer;
          t9 = bytes.offset;
          bytes.offset = t9 + 1;
          t9 = J.$index$asx(t8, t9);
          j = 7;
          while (true) {
            if (!(j > -1 && x < t6))
              break;
            if ((t9 & C.JSInt_methods.$shl(1, j)) >>> 0 !== 0)
              t1[line * t2 + x] = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(0, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(0, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(0, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(0, 0, 255))) >>> 0;
            ++x;
            --j;
          }
        }
      }
      return image;
    },
    decodeImage$1: function(bytes) {
      var t1 = Z.InputBuffer$(bytes, false, null, 0);
      this._ico_decoder$_input = t1;
      t1 = X.IcoInfo__read(t1);
      this._icoInfo = t1;
      if (t1 == null)
        return null;
      return this.decodeFrame$1(0);
    }
  };
  X.IcoInfo.prototype = {};
  X.IcoInfo__read_closure.prototype = {
    call$1: function(e) {
      var t2,
        t1 = this.input;
      t1.readByte$0();
      t2 = t1.readByte$0();
      t1.readByte$0();
      t1.offset = t1.offset + 1;
      t1.readUint16$0();
      t1.readUint16$0();
      return new X.IcoInfoImage(t2, t1.readUint32$0(), t1.readUint32$0());
    },
    $signature: 1008
  };
  X.IcoInfoImage.prototype = {};
  X.IcoBmpInfo.prototype = {
    get$height: function(_) {
      return C.JSInt_methods._tdivFast$1(L.BmpInfo.prototype.get$height.call(this, this), 2);
    },
    get$ignoreAlphaChannel: function() {
      return this.headerSize === 40 && this.bpp === 32 ? false : L.BmpInfo.prototype.get$ignoreAlphaChannel.call(this);
    }
  };
  U.ComponentData.prototype = {};
  D.JpegAdobe.prototype = {
    get$version: function(receiver) {
      return this.version;
    }
  };
  R.JpegComponent.prototype = {
    get$blocksPerLine: function() {
      var t1 = this.__JpegComponent_blocksPerLine;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("blocksPerLine")) : t1;
    },
    get$blocksPerColumn: function() {
      var t1 = this.__JpegComponent_blocksPerColumn;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("blocksPerColumn")) : t1;
    },
    get$blocks: function() {
      var t1 = this.__JpegComponent_blocks;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("blocks")) : t1;
    },
    get$huffmanTableDC: function() {
      var t1 = this.__JpegComponent_huffmanTableDC;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("huffmanTableDC")) : t1;
    },
    get$pred: function() {
      var t1 = this.__JpegComponent_pred;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("pred")) : t1;
    }
  };
  Y.JpegData.prototype = {
    get$input: function() {
      var t1 = this.__JpegData_input;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("input")) : t1;
    },
    validate$1: function(bytes) {
      var marker, hasSOF, hasSOS, t1, sectionByteSize, _this = this, _s5_ = "input";
      _this.__JpegData_input = Z.InputBuffer$(bytes, true, null, 0);
      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 === $)
            t1 = H.throwExpression(H.LateError$fieldNI(_s5_));
          t1 = !(t1.offset >= t1.end);
        } else
          t1 = false;
        if (!t1)
          break;
        t1 = _this.__JpegData_input;
        sectionByteSize = (t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s5_)) : t1).readUint16$0();
        if (sectionByteSize < 2)
          break;
        t1 = _this.__JpegData_input;
        if (t1 === $)
          t1 = H.throwExpression(H.LateError$fieldNI(_s5_));
        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: function(_, bytes) {
      var t1, i, t2, t3, component, t4, t5, t6, _this = this;
      _this.__JpegData_input = Z.InputBuffer$(bytes, true, null, 0);
      _this._read$0();
      if (_this.frames.length !== 1)
        throw H.wrapException(K.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 U.ComponentData(t3, t2, t5 === 1 && t6 === 2 ? 1 : 0));
      }
    },
    _read$0: function() {
      var marker, t1, $length, bytes, t2, _this = this, _s5_ = "input", _s4_ = "jfif";
      if (_this._nextMarker$0() !== 216)
        throw H.wrapException(K.ImageException$("Start Of Image marker not found."));
      marker = _this._nextMarker$0();
      while (true) {
        if (marker !== 217) {
          t1 = _this.__JpegData_input;
          if (t1 === $)
            t1 = H.throwExpression(H.LateError$fieldNI(_s5_));
          t1 = !(t1.offset >= t1.end);
        } else
          t1 = false;
        if (!t1)
          break;
        t1 = _this.__JpegData_input;
        $length = (t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s5_)) : t1).readUint16$0();
        if ($length < 2)
          H.throwExpression(K.ImageException$("Invalid Block"));
        t1 = _this.__JpegData_input;
        if (t1 === $)
          t1 = H.throwExpression(H.LateError$fieldNI(_s5_));
        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:
            if (marker === 224) {
              if (J.$index$asx(bytes.buffer, bytes.offset) === 74 && J.$index$asx(bytes.buffer, bytes.offset + 1) === 70 && J.$index$asx(bytes.buffer, bytes.offset + 2) === 73 && J.$index$asx(bytes.buffer, bytes.offset + 3) === 70 && J.$index$asx(bytes.buffer, bytes.offset + 4) === 0) {
                t1 = new S.JpegJfif();
                _this.__JpegData_jfif = t1;
                if (t1 === $)
                  H.throwExpression(H.LateError$fieldNI(_s4_));
                J.$index$asx(bytes.buffer, bytes.offset + 5);
                if (_this.__JpegData_jfif === $)
                  H.throwExpression(H.LateError$fieldNI(_s4_));
                J.$index$asx(bytes.buffer, bytes.offset + 6);
                if (_this.__JpegData_jfif === $)
                  H.throwExpression(H.LateError$fieldNI(_s4_));
                J.$index$asx(bytes.buffer, bytes.offset + 7);
                if (_this.__JpegData_jfif === $)
                  H.throwExpression(H.LateError$fieldNI(_s4_));
                J.$index$asx(bytes.buffer, bytes.offset + 8);
                J.$index$asx(bytes.buffer, bytes.offset + 9);
                if (_this.__JpegData_jfif === $)
                  H.throwExpression(H.LateError$fieldNI(_s4_));
                J.$index$asx(bytes.buffer, bytes.offset + 10);
                J.$index$asx(bytes.buffer, bytes.offset + 11);
                t1 = _this.__JpegData_jfif;
                if (t1 === $)
                  t1 = H.throwExpression(H.LateError$fieldNI(_s4_));
                t1.__JpegJfif_thumbWidth = J.$index$asx(bytes.buffer, bytes.offset + 12);
                t1 = _this.__JpegData_jfif;
                if (t1 === $)
                  t1 = H.throwExpression(H.LateError$fieldNI(_s4_));
                t1.__JpegJfif_thumbHeight = J.$index$asx(bytes.buffer, bytes.offset + 13);
                t1 = _this.__JpegData_jfif;
                t2 = (t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s4_)) : t1).__JpegJfif_thumbWidth;
                if (t2 === $)
                  t2 = H.throwExpression(H.LateError$fieldNI("thumbWidth"));
                t1 = t1.__JpegJfif_thumbHeight;
                if (t1 === $)
                  t1 = H.throwExpression(H.LateError$fieldNI("thumbHeight"));
                bytes.subset$2$offset(14 + 3 * t2 * t1, 14);
              }
            } else if (marker === 225)
              _this._readExifData$1(bytes);
            else if (marker === 238)
              if (J.$index$asx(bytes.buffer, bytes.offset) === 65 && J.$index$asx(bytes.buffer, bytes.offset + 1) === 100 && J.$index$asx(bytes.buffer, bytes.offset + 2) === 111 && J.$index$asx(bytes.buffer, bytes.offset + 3) === 98 && J.$index$asx(bytes.buffer, bytes.offset + 4) === 101 && J.$index$asx(bytes.buffer, bytes.offset + 5) === 0) {
                t1 = new D.JpegAdobe();
                _this.adobe = t1;
                t1.version = J.$index$asx(bytes.buffer, bytes.offset + 6);
                _this.adobe.toString;
                J.$index$asx(bytes.buffer, bytes.offset + 7);
                J.$index$asx(bytes.buffer, bytes.offset + 8);
                _this.adobe.toString;
                J.$index$asx(bytes.buffer, bytes.offset + 9);
                J.$index$asx(bytes.buffer, bytes.offset + 10);
                t1 = _this.adobe;
                t1.toString;
                t1.transformCode = J.$index$asx(bytes.buffer, bytes.offset + 11);
              }
            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 H.wrapException(K.ImageException$("Unhandled frame type " + J.toRadixString$1$n(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 === $)
              t1 = H.throwExpression(H.LateError$fieldNI(_s5_));
            if (J.$index$asx(t1.buffer, t1.offset) !== 255) {
              t1 = _this.__JpegData_input;
              if (t1 === $)
                t1 = H.throwExpression(H.LateError$fieldNI(_s5_));
              t1.offset = t1.offset - 1;
            }
            break;
          default:
            t1 = _this.__JpegData_input;
            if (t1 === $)
              t1 = H.throwExpression(H.LateError$fieldNI(_s5_));
            if (J.$index$asx(t1.buffer, t1.offset + -3) === 255) {
              t1 = _this.__JpegData_input;
              if (t1 === $)
                t1 = H.throwExpression(H.LateError$fieldNI(_s5_));
              if (J.$index$asx(t1.buffer, t1.offset + -2) >= 192) {
                t1 = _this.__JpegData_input;
                if (t1 === $)
                  t1 = H.throwExpression(H.LateError$fieldNI(_s5_));
                t1 = J.$index$asx(t1.buffer, t1.offset + -2) <= 254;
              } else
                t1 = false;
            } else
              t1 = false;
            if (t1) {
              t1 = _this.__JpegData_input;
              if (t1 === $)
                t1 = H.throwExpression(H.LateError$fieldNI(_s5_));
              t1.offset = t1.offset - 3;
              break;
            }
            if (marker !== 0)
              throw H.wrapException(K.ImageException$("Unknown JPEG marker " + J.toRadixString$1$n(marker, 16)));
            break;
        }
        marker = _this._nextMarker$0();
      }
    },
    _nextMarker$0: function() {
      var c, _this = this,
        t1 = _this.get$input();
      if (t1.offset >= t1.end)
        return 0;
      do {
        do {
          c = _this.get$input().readByte$0();
          if (c !== 255) {
            t1 = _this.get$input();
            t1 = !(t1.offset >= t1.end);
          } else
            t1 = false;
        } while (t1);
        t1 = _this.get$input();
        if (t1.offset >= t1.end)
          return c;
        do {
          c = _this.get$input().readByte$0();
          if (c === 255) {
            t1 = _this.get$input();
            t1 = !(t1.offset >= t1.end);
          } else
            t1 = false;
        } while (t1);
        if (c === 0) {
          t1 = _this.get$input();
          t1 = !(t1.offset >= t1.end);
        } else
          t1 = false;
      } while (t1);
      return c;
    },
    _readExifValue$3: function(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: function(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 = C.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: function(block) {
      var rawData, saveEndian, alignment, offset,
        t1 = this.exif;
      if (t1.rawData == null)
        t1.rawData = H._setArrayType([], type$.JSArray_Uint8List);
      rawData = J.sublist$1$ax(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 = 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 = block.offset + (offset - 8);
      this._readExifDir$1(block);
      block.bigEndian = saveEndian;
    },
    _readDQT$1: function(block) {
      var t1, t2, t3, t4, prec, n, i, tmp, t5, t6;
      for (t1 = block.end, t2 = this.quantizationTables; t3 = block.offset, t4 = !(t3 >= t1), t4;) {
        t4 = block.buffer;
        block.offset = t3 + 1;
        t3 = J.$index$asx(t4, t3);
        prec = C.JSInt_methods._shrOtherPositive$1(t3, 4);
        n = t3 & 15;
        if (n >= 4)
          throw H.wrapException(K.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) {
          if (t4)
            tmp = block.readUint16$0();
          else {
            t5 = block.buffer;
            t6 = block.offset;
            block.offset = t6 + 1;
            tmp = J.$index$asx(t5, t6);
          }
          t3[C.List_AZw[i]] = tmp;
        }
      }
      if (t4)
        throw H.wrapException(K.ImageException$("Bad length for DQT block"));
    },
    _readFrame$2: function(marker, block) {
      var t1, numComponents, i, t2, t3, t4, t5, t6, _this = this;
      if (_this.frame != null)
        throw H.wrapException(K.ImageException$("Duplicate JPG frame data found."));
      t1 = _this.frame = new L.JpegFrame(P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.JpegComponent), H._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;
        block.offset = t3 + 1;
        t3 = J.$index$asx(t2, t3);
        t2 = block.buffer;
        t4 = block.offset;
        block.offset = t4 + 1;
        t4 = J.$index$asx(t2, t4);
        t2 = C.JSInt_methods._shrOtherPositive$1(t4, 4);
        t5 = block.buffer;
        t6 = block.offset;
        block.offset = t6 + 1;
        t6 = J.$index$asx(t5, t6);
        _this.frame.componentsOrder.push(t3);
        _this.frame.components.$indexSet(0, t3, new R.JpegComponent(t2 & 15, t4 & 15, t1, t6));
      }
      _this.frame.prepare$0();
      _this.frames.push(_this.frame);
    },
    _readDHT$1: function(block) {
      var t1, ht, ht0, t2, t3, index, bits, count, j, huffmanValues, ht1;
      for (t1 = block.end, ht = this.huffmanTablesDC, ht0 = this.huffmanTablesAC; t2 = block.offset, !(t2 >= t1);) {
        t3 = block.buffer;
        block.offset = t2 + 1;
        index = J.$index$asx(t3, t2);
        bits = new Uint8Array(16);
        for (count = 0, j = 0; j < 16; ++j) {
          t2 = block.buffer;
          t3 = block.offset;
          block.offset = t3 + 1;
          bits[j] = J.$index$asx(t2, t3);
          count += bits[j];
        }
        huffmanValues = new Uint8Array(count);
        for (j = 0; j < count; ++j) {
          t2 = block.buffer;
          t3 = block.offset;
          block.offset = t3 + 1;
          huffmanValues[j] = J.$index$asx(t2, t3);
        }
        if ((index & 16) !== 0) {
          index -= 16;
          ht1 = ht0;
        } else
          ht1 = ht;
        if (ht1.length <= index)
          C.JSArray_methods.set$length(ht1, index + 1);
        ht1[index] = this._buildHuffmanTable$2(bits, huffmanValues);
      }
    },
    _readSOS$1: function(block) {
      var components, spectralStart, spectralEnd, successiveApproximation, t1, t2, t3, _this = this,
        n = block.readByte$0();
      if (n < 1 || n > 4)
        throw H.wrapException(K.ImageException$("Invalid SOS block"));
      components = P.List_List$generate(n, new Y.JpegData__readSOS_closure(_this, block), true, type$.JpegComponent);
      spectralStart = block.readByte$0();
      spectralEnd = block.readByte$0();
      successiveApproximation = block.readByte$0();
      t1 = C.JSInt_methods._shrOtherPositive$1(successiveApproximation, 4);
      t2 = _this.get$input();
      t3 = _this.frame;
      t1 = new R.JpegScan(t2, t3, components, _this.resetInterval, spectralStart, spectralEnd, t1 & 15, successiveApproximation & 15);
      t1.__JpegScan_mcusPerLine = t3.get$mcusPerLine();
      t1.progressive = t3.progressive;
      t1.decode$0(0);
    },
    _buildHuffmanTable$2: function(codeLengths, values) {
      var p, k, q, i, j, t1, t2, t3, t4,
        code = H._setArrayType([], type$.JSArray__JpegHuffman),
        $length = 16;
      while (true) {
        if (!($length > 0 && codeLengths[$length - 1] === 0))
          break;
        --$length;
      }
      code.push(new Y._JpegHuffman([]));
      p = code[0];
      for (k = 0, q = null, 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)
            C.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 Y._JpegHuffman(t1);
            code.push(q);
            t2 = p.children;
            t3 = t2.length;
            t4 = p.index;
            if (t3 <= t4)
              C.JSArray_methods.set$length(t2, t4 + 1);
            t2[p.index] = t1;
          }
          ++k;
        }
        ++i;
        if (i < $length) {
          t1 = [];
          q = new Y._JpegHuffman(t1);
          code.push(q);
          t2 = p.children;
          t3 = t2.length;
          t4 = p.index;
          if (t3 <= t4)
            C.JSArray_methods.set$length(t2, t4 + 1);
          t2[p.index] = t1;
          p = q;
        }
      }
      return code[0].children;
    },
    _buildComponentData$2: function(frame, component) {
      var t1, t2, t3, l, blockRow, scanLine, i, l0, blockCol, t4, t5, sample, offset, j, line, offset0,
        blocksPerLine = component.get$blocksPerLine(),
        blocksPerColumn = component.get$blocksPerColumn(),
        samplesPerLine = blocksPerLine << 3 >>> 0,
        $R = new Int32Array(64),
        r = new Uint8Array(64),
        lines = P.List_List$filled(blocksPerColumn * 8, null, false, type$.nullable_Uint8List);
      for (t1 = type$.Int32List, t2 = component.quantizationTableList, t3 = component.quantizationIndex, l = 0, blockRow = 0; blockRow < blocksPerColumn; ++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 < blocksPerLine; ++blockCol) {
          t4 = t2[t3];
          t4.toString;
          t5 = component.__JpegComponent_blocks;
          L.quantizeAndInverse(t4, t1._as(J.$index$asx(J.$index$asx(t5 === $ ? H.throwExpression(H.LateError$fieldNI("blocks")) : t5, 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;
    }
  };
  Y.JpegData__readSOS_closure.prototype = {
    call$1: function(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 H.wrapException(K.ImageException$("Invalid Component in SOS block"));
      t2 = t1.frame.components.$index(0, id);
      t2.toString;
      dc_tbl_no = C.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: 1009
  };
  Y._JpegHuffman.prototype = {
    get$children: function(receiver) {
      return this.children;
    },
    get$index: function(receiver) {
      return this.index;
    },
    set$index: function(receiver, val) {
      return this.index = val;
    }
  };
  L.JpegFrame.prototype = {
    get$mcusPerLine: function() {
      var t1 = this.__JpegFrame_mcusPerLine;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("mcusPerLine")) : t1;
    },
    get$mcusPerColumn: function() {
      var t1 = this.__JpegFrame_mcusPerColumn;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("mcusPerColumn")) : t1;
    },
    prepare$0: function() {
      var t1, t2, component, t3, t4, t5, t6, t7, blocksPerLine, t8, blocksPerColumn, blocksPerLineForMcu, blocksPerColumnForMcu, blocks, _i, _list, _i0, _this = this;
      for (t1 = _this.components, t2 = t1.get$keys(t1), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        component = t1.$index(0, t2.get$current(t2));
        _this.maxHSamples = Math.max(_this.maxHSamples, component.hSamples);
        _this.maxVSamples = Math.max(_this.maxVSamples, component.vSamples);
      }
      t2 = _this.samplesPerLine;
      t2.toString;
      _this.__JpegFrame_mcusPerLine = C.JSNumber_methods.ceil$0(t2 / 8 / _this.maxHSamples);
      t2 = _this.scanLines;
      t2.toString;
      _this.__JpegFrame_mcusPerColumn = C.JSNumber_methods.ceil$0(t2 / 8 / _this.maxVSamples);
      for (t2 = t1.get$keys(t1), t2 = t2.get$iterator(t2), t3 = type$.Int32List, t4 = type$.List_Int32List; t2.moveNext$0();) {
        t5 = t1.$index(0, t2.get$current(t2));
        t5.toString;
        t6 = _this.samplesPerLine;
        t6.toString;
        t7 = t5.hSamples;
        blocksPerLine = C.JSNumber_methods.ceil$0(C.JSNumber_methods.ceil$0(t6 / 8) * t7 / _this.maxHSamples);
        t6 = _this.scanLines;
        t6.toString;
        t8 = t5.vSamples;
        blocksPerColumn = C.JSNumber_methods.ceil$0(C.JSNumber_methods.ceil$0(t6 / 8) * t8 / _this.maxVSamples);
        t6 = _this.__JpegFrame_mcusPerLine;
        blocksPerLineForMcu = (t6 === $ ? H.throwExpression(H.LateError$fieldNI("mcusPerLine")) : t6) * t7;
        t6 = _this.__JpegFrame_mcusPerColumn;
        blocksPerColumnForMcu = (t6 === $ ? H.throwExpression(H.LateError$fieldNI("mcusPerColumn")) : t6) * 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;
      }
    }
  };
  S.JpegJfif.prototype = {};
  R.JpegScan.prototype = {
    get$mcusPerLine: function() {
      var t1 = this.__JpegScan_mcusPerLine;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("mcusPerLine")) : t1;
    },
    decode$0: function(_) {
      var decodeFn, mcuExpected, t3, component, mcu, h, v, i, n, t4, blockRow, blockCol, j, k, t5, _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;
      mcuExpected = t2 ? t1[0].get$blocksPerLine() * t1[0].get$blocksPerColumn() : _this.get$mcusPerLine() * _this.frame.get$mcusPerColumn();
      t3 = _this.resetInterval;
      if (t3 == null || t3 === 0)
        _this.resetInterval = mcuExpected;
      for (t3 = _this.input, component = null, mcu = 0, h = null, v = null; 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;
            blockRow = C.JSInt_methods.$tdiv(mcu, t4 === $ ? H.throwExpression(H.LateError$fieldNI("blocksPerLine")) : t4);
            blockCol = C.JSInt_methods.$mod(mcu, t4);
            t4 = component.__JpegComponent_blocks;
            decodeFn.call$2(component, J.$index$asx(J.$index$asx(t4 === $ ? H.throwExpression(H.LateError$fieldNI("blocks")) : 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 = J.$index$asx(t3.buffer, t3.offset);
        t5 = J.$index$asx(t3.buffer, t3.offset + 1);
        if (t4 === 255)
          if (t5 >= 208 && t5 <= 215)
            t3.offset = t3.offset + 2;
          else
            break;
      }
    },
    _readBit$0: function() {
      var t2, nextByte, _this = this,
        t1 = _this.bitsCount;
      if (t1 > 0) {
        --t1;
        _this.bitsCount = t1;
        return C.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 H.wrapException(K.ImageException$("unexpected marker: " + C.JSInt_methods.toRadixString$1((_this.bitsData << 8 | nextByte) >>> 0, 16)));
      }
      _this.bitsCount = 7;
      return C.JSInt_methods._shrOtherPositive$1(_this.bitsData, 7) & 1;
    },
    _jpeg_scan$_decodeHuffman$1: function(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 C.JSNumber_methods.toInt$0(node);
      }
      return null;
    },
    _receive$1: function($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: function($length) {
      var t1;
      if ($length === 1)
        return this._readBit$0() === 1 ? 1 : -1;
      $length.toString;
      t1 = this._receive$1($length);
      t1.toString;
      if (t1 >= C.JSInt_methods.$shl(1, $length - 1))
        return t1;
      return t1 + C.JSInt_methods.$shl(-1, $length) + 1;
    },
    _decodeBaseline$2: function(component, zz) {
      var t1, k, t2, s, r, _this = this,
        t = _this._jpeg_scan$_decodeHuffman$1(component.get$huffmanTableDC()),
        diff = t === 0 ? 0 : _this._receiveAndExtend$1(t);
      component.__JpegComponent_pred = component.get$pred() + diff;
      t1 = J.getInterceptor$ax(zz);
      t1.$indexSet(zz, 0, component.get$pred());
      for (k = 1; k < 64;) {
        t2 = component.__JpegComponent_huffmanTableAC;
        t2 = _this._jpeg_scan$_decodeHuffman$1(t2 === $ ? H.throwExpression(H.LateError$fieldNI("huffmanTableAC")) : t2);
        t2.toString;
        s = t2 & 15;
        r = C.JSInt_methods._shrOtherPositive$1(t2, 4);
        if (s === 0) {
          if (r < 15)
            break;
          k += 16;
          continue;
        }
        k += r;
        s = _this._receiveAndExtend$1(s);
        t1.$indexSet(zz, C.List_AZw[k], s);
        ++k;
      }
    },
    _decodeDCFirst$2: function(component, zz) {
      var t = this._jpeg_scan$_decodeHuffman$1(component.get$huffmanTableDC()),
        diff = t === 0 ? 0 : C.JSInt_methods._shlPositive$1(this._receiveAndExtend$1(t), this.successive);
      component.__JpegComponent_pred = component.get$pred() + diff;
      J.$indexSet$ax(zz, 0, component.get$pred());
    },
    _decodeDCSuccessive$2: function(component, zz) {
      var t1 = J.getInterceptor$asx(zz),
        t2 = t1.$index(zz, 0),
        t3 = this._readBit$0();
      t3.toString;
      t1.$indexSet(zz, 0, (t2 | C.JSInt_methods._shlPositive$1(t3, this.successive)) >>> 0);
    },
    _decodeACFirst$2: function(component, zz) {
      var k, e, t2, t3, 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, t2 = J.getInterceptor$ax(zz); k <= e;) {
        t3 = component.__JpegComponent_huffmanTableAC;
        t3 = _this._jpeg_scan$_decodeHuffman$1(t3 === $ ? H.throwExpression(H.LateError$fieldNI("huffmanTableAC")) : t3);
        t3.toString;
        s = t3 & 15;
        r = C.JSInt_methods._shrOtherPositive$1(t3, 4);
        if (s === 0) {
          if (r < 15) {
            t1 = _this._receive$1(r);
            t1.toString;
            _this.eobrun = t1 + C.JSInt_methods._shlPositive$1(1, r) - 1;
            break;
          }
          k += 16;
          continue;
        }
        k += r;
        t2.$indexSet(zz, C.List_AZw[k], _this._receiveAndExtend$1(s) * C.JSInt_methods._shlPositive$1(1, t1));
        ++k;
      }
    },
    _decodeACSuccessive$2: function(component, zz) {
      var t1, t2, s, r, z, t3, rs, t4, _this = this,
        k = _this.spectralStart,
        e = _this.spectralEnd;
      for (t1 = J.getInterceptor$asx(zz), t2 = _this.successive, s = 0, r = 0; k <= e;) {
        z = C.List_AZw[k];
        switch (_this.successiveACState) {
          case 0:
            t3 = component.__JpegComponent_huffmanTableAC;
            rs = _this._jpeg_scan$_decodeHuffman$1(t3 === $ ? H.throwExpression(H.LateError$fieldNI("huffmanTableAC")) : t3);
            if (rs == null)
              continue;
            s = rs & 15;
            r = C.JSInt_methods._shrOtherPositive$1(rs, 4);
            if (s === 0)
              if (r < 15) {
                t3 = _this._receive$1(r);
                t3.toString;
                _this.eobrun = t3 + C.JSInt_methods._shlPositive$1(1, r);
                _this.successiveACState = 4;
              } else {
                _this.successiveACState = 1;
                r = 16;
              }
            else {
              if (s !== 1)
                throw H.wrapException(K.ImageException$("invalid ACn encoding"));
              _this.__JpegScan_successiveACNextValue = _this._receiveAndExtend$1(s);
              _this.successiveACState = r !== 0 ? 2 : 3;
            }
            continue;
          case 1:
          case 2:
            if (!J.$eq$(t1.$index(zz, z), 0)) {
              t3 = t1.$index(zz, z);
              t4 = _this._readBit$0();
              t4.toString;
              t1.$indexSet(zz, z, t3 + C.JSInt_methods._shlPositive$1(t4, t2));
            } else {
              --r;
              if (r === 0)
                _this.successiveACState = _this.successiveACState === 2 ? 3 : 0;
            }
            break;
          case 3:
            if (!J.$eq$(t1.$index(zz, z), 0)) {
              t3 = t1.$index(zz, z);
              t4 = _this._readBit$0();
              t4.toString;
              t1.$indexSet(zz, z, t3 + C.JSInt_methods._shlPositive$1(t4, t2));
            } else {
              t3 = _this.__JpegScan_successiveACNextValue;
              t1.$indexSet(zz, z, C.JSInt_methods._shlPositive$1(t3 === $ ? H.throwExpression(H.LateError$fieldNI("successiveACNextValue")) : t3, t2));
              _this.successiveACState = 0;
            }
            break;
          case 4:
            if (!J.$eq$(t1.$index(zz, z), 0)) {
              t3 = t1.$index(zz, z);
              t4 = _this._readBit$0();
              t4.toString;
              t1.$indexSet(zz, z, t3 + C.JSInt_methods._shlPositive$1(t4, t2));
            }
            break;
        }
        ++k;
      }
      if (_this.successiveACState === 4)
        if (--_this.eobrun === 0)
          _this.successiveACState = 0;
    },
    _decodeMcu$5: function(component, decodeFn, mcu, row, col) {
      var blockRow = C.JSInt_methods.$tdiv(mcu, this.get$mcusPerLine()) * component.vSamples + row,
        blockCol = C.JSInt_methods.$mod(mcu, this.get$mcusPerLine()) * component.hSamples + col;
      if (blockRow >= J.get$length$asx(component.get$blocks()))
        return;
      if (blockCol >= J.get$length$asx(J.$index$asx(component.get$blocks(), blockRow)))
        return;
      decodeFn.call$2(component, J.$index$asx(J.$index$asx(component.get$blocks(), blockRow), blockCol));
    }
  };
  Z.JpegDecoder.prototype = {
    decodeImage$1: function(bytes) {
      var jpeg = Y.JpegData$();
      jpeg.read$1(0, bytes);
      if (jpeg.frames.length !== 1)
        throw H.wrapException(K.ImageException$("only single frame JPEGs supported"));
      return L.getImageFromJpeg(jpeg);
    }
  };
  D.PngFrame.prototype = {
    set$width: function(receiver, val) {
      return this.width = val;
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  D.InternalPngFrame.prototype = {};
  Q.PngInfo.prototype = {};
  Q.InternalPngInfo.prototype = {};
  G.PngDecoder.prototype = {
    isValidFile$1: function(data) {
      var i,
        pngHeader = Z.InputBuffer$(data, true, null, 0).readBytes$1(8);
      for (i = 0; i < 8; ++i)
        if (J.$index$asx(pngHeader.buffer, pngHeader.offset + i) !== C.List_2Vk1[i])
          return false;
      return true;
    },
    startDecode$1: function(data) {
      var pngHeader, i, t1, t2, t3, t4, inputPos, chunkSize, chunkType, bytes, hdr, hdrBytes, t5, crc, gammaInt, frame, p3, r, g, b, _this = this, _null = null, _s6_ = "_input";
      _this.__PngDecoder__input = Z.InputBuffer$(data, true, _null, 0);
      pngHeader = _this.get$_png_decoder$_input().readBytes$1(8);
      for (i = 0; i < 8; ++i)
        if (J.$index$asx(pngHeader.buffer, pngHeader.offset + i) !== C.List_2Vk1[i])
          return _null;
      for (t1 = type$.JSArray_int, t2 = type$.JSArray_PngFrame; true;) {
        t3 = _this.__PngDecoder__input;
        t4 = t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3;
        inputPos = t4.offset - t4.start;
        chunkSize = t3.readUint32$0();
        t3 = _this.__PngDecoder__input;
        chunkType = (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readString$1(4);
        switch (chunkType) {
          case "IHDR":
            t3 = _this.__PngDecoder__input;
            if (t3 === $)
              t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
            bytes = t3.subset$1(chunkSize);
            t3.offset = t3.offset + (bytes.end - bytes.offset);
            hdr = Z.InputBuffer$from(bytes, _null, 0);
            hdrBytes = hdr.toUint8List$0();
            t3 = new Q.InternalPngInfo(H._setArrayType([], t2), H._setArrayType([], t1));
            _this._png_decoder$_info = t3;
            t3.width = hdr.readUint32$0();
            t3 = _this._png_decoder$_info;
            t3.toString;
            t3.height = hdr.readUint32$0();
            t3 = _this._png_decoder$_info;
            t3.toString;
            t4 = hdr.buffer;
            t5 = hdr.offset;
            hdr.offset = t5 + 1;
            t3.bits = J.$index$asx(t4, t5);
            t5 = _this._png_decoder$_info;
            t5.toString;
            t4 = hdr.buffer;
            t3 = hdr.offset;
            hdr.offset = t3 + 1;
            t5.colorType = J.$index$asx(t4, t3);
            _this._png_decoder$_info.toString;
            t3 = hdr.buffer;
            t4 = hdr.offset;
            hdr.offset = t4 + 1;
            J.$index$asx(t3, t4);
            t4 = _this._png_decoder$_info;
            t4.toString;
            t3 = hdr.buffer;
            t5 = hdr.offset;
            hdr.offset = t5 + 1;
            t4.filterMethod = J.$index$asx(t3, t5);
            t5 = _this._png_decoder$_info;
            t5.toString;
            t3 = hdr.buffer;
            t4 = hdr.offset;
            hdr.offset = t4 + 1;
            t5.interlaceMethod = J.$index$asx(t3, t4);
            if (!C.JSArray_methods.contains$1(H._setArrayType([0, 2, 3, 4, 6], t1), _this._png_decoder$_info.colorType))
              return _null;
            t3 = _this._png_decoder$_info;
            if (t3.filterMethod !== 0)
              return _null;
            switch (t3.colorType) {
              case 0:
                if (!C.JSArray_methods.contains$1(H._setArrayType([1, 2, 4, 8, 16], t1), _this._png_decoder$_info.bits))
                  return _null;
                break;
              case 2:
                if (!C.JSArray_methods.contains$1(H._setArrayType([8, 16], t1), _this._png_decoder$_info.bits))
                  return _null;
                break;
              case 3:
                if (!C.JSArray_methods.contains$1(H._setArrayType([1, 2, 4, 8], t1), _this._png_decoder$_info.bits))
                  return _null;
                break;
              case 4:
                if (!C.JSArray_methods.contains$1(H._setArrayType([8, 16], t1), _this._png_decoder$_info.bits))
                  return _null;
                break;
              case 6:
                if (!C.JSArray_methods.contains$1(H._setArrayType([8, 16], t1), _this._png_decoder$_info.bits))
                  return _null;
                break;
            }
            t3 = _this.__PngDecoder__input;
            if ((t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0() !== X.getCrc32(hdrBytes, X.getCrc32(new H.CodeUnits(chunkType), 0)))
              throw H.wrapException(K.ImageException$("Invalid " + chunkType + " checksum"));
            break;
          case "PLTE":
            t3 = _this._png_decoder$_info;
            t3.toString;
            t4 = _this.__PngDecoder__input;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s6_));
            bytes = t4.subset$1(chunkSize);
            t4.offset = t4.offset + (bytes.end - bytes.offset);
            t3.palette = bytes.toUint8List$0();
            t3 = _this.__PngDecoder__input;
            if ((t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0() !== X.getCrc32(_this._png_decoder$_info.palette, X.getCrc32(new H.CodeUnits(chunkType), 0)))
              throw H.wrapException(K.ImageException$("Invalid " + chunkType + " checksum"));
            break;
          case "tRNS":
            t3 = _this._png_decoder$_info;
            t3.toString;
            t4 = _this.__PngDecoder__input;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s6_));
            bytes = t4.subset$1(chunkSize);
            t4.offset = t4.offset + (bytes.end - bytes.offset);
            t3.transparency = bytes.toUint8List$0();
            t3 = _this.__PngDecoder__input;
            crc = (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0();
            t3 = _this._png_decoder$_info.transparency;
            t3.toString;
            if (crc !== X.getCrc32(t3, X.getCrc32(new H.CodeUnits(chunkType), 0)))
              throw H.wrapException(K.ImageException$("Invalid " + chunkType + " checksum"));
            break;
          case "IEND":
            t3 = _this.__PngDecoder__input;
            if (t3 === $)
              t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
            t3.offset = t3.offset + 4;
            break;
          case "gAMA":
            if (chunkSize !== 4)
              throw H.wrapException(K.ImageException$("Invalid gAMA chunk"));
            t3 = _this.__PngDecoder__input;
            gammaInt = (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0();
            t3 = _this.__PngDecoder__input;
            if (t3 === $)
              t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
            t3.offset = t3.offset + 4;
            if (gammaInt !== 100000)
              _this._png_decoder$_info.gamma = gammaInt / 100000;
            break;
          case "IDAT":
            _this._png_decoder$_info._idat.push(inputPos);
            t3 = _this.__PngDecoder__input;
            t4 = t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3;
            t4.offset = t4.offset + chunkSize;
            t3.offset = t3.offset + 4;
            break;
          case "acTL":
            _this._png_decoder$_info.toString;
            t3 = _this.__PngDecoder__input;
            (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0();
            _this._png_decoder$_info.toString;
            t3 = _this.__PngDecoder__input;
            (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0();
            t3 = _this.__PngDecoder__input;
            if (t3 === $)
              t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
            t3.offset = t3.offset + 4;
            break;
          case "fcTL":
            frame = new D.InternalPngFrame(H._setArrayType([], t1));
            _this._png_decoder$_info.frames.push(frame);
            t3 = _this.__PngDecoder__input;
            (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0();
            t3 = _this.__PngDecoder__input;
            frame.width = (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0();
            t3 = _this.__PngDecoder__input;
            frame.height = (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0();
            t3 = _this.__PngDecoder__input;
            (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0();
            t3 = _this.__PngDecoder__input;
            (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0();
            t3 = _this.__PngDecoder__input;
            (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint16$0();
            t3 = _this.__PngDecoder__input;
            (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint16$0();
            t3 = _this.__PngDecoder__input;
            if (t3 === $)
              t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
            t4 = t3.buffer;
            t5 = t3.offset;
            t3.offset = t5 + 1;
            frame.dispose = J.$index$asx(t4, t5);
            t5 = _this.__PngDecoder__input;
            t3 = t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t5;
            t4 = t3.buffer;
            t5 = t3.offset;
            t3.offset = t5 + 1;
            J.$index$asx(t4, t5);
            t5 = _this.__PngDecoder__input;
            t3 = t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t5;
            t3.offset = t3.offset + 4;
            break;
          case "fdAT":
            t3 = _this.__PngDecoder__input;
            (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint32$0();
            C.JSArray_methods.get$last(_this._png_decoder$_info.frames)._fdat.push(inputPos);
            t3 = _this.__PngDecoder__input;
            t4 = t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3;
            t4.offset = t4.offset + (chunkSize - 4);
            t3.offset = t3.offset + 4;
            break;
          case "bKGD":
            t3 = _this._png_decoder$_info.colorType;
            if (t3 === 3) {
              t3 = _this.__PngDecoder__input;
              if (t3 === $)
                t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
              t4 = t3.buffer;
              t5 = t3.offset;
              t3.offset = t5 + 1;
              --chunkSize;
              p3 = J.$index$asx(t4, t5) * 3;
              t5 = _this._png_decoder$_info.palette;
              t5.toString;
              r = J.$index$asx(t5, p3);
              t5 = _this._png_decoder$_info.palette;
              t5.toString;
              g = J.$index$asx(t5, p3 + 1);
              t5 = _this._png_decoder$_info.palette;
              t5.toString;
              b = J.$index$asx(t5, p3 + 2);
              _this._png_decoder$_info.toString;
              C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255, 0, 255));
              C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(b, 0, 255));
              C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(g, 0, 255));
              C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(r, 0, 255));
            } else if (t3 === 0 || t3 === 4) {
              t3 = _this.__PngDecoder__input;
              (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint16$0();
              chunkSize -= 2;
            } else if (t3 === 2 || t3 === 6) {
              t3 = _this.__PngDecoder__input;
              (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint16$0();
              t3 = _this.__PngDecoder__input;
              (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint16$0();
              t3 = _this.__PngDecoder__input;
              (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3).readUint16$0();
              chunkSize -= 24;
            }
            if (chunkSize > 0) {
              t3 = _this.__PngDecoder__input;
              if (t3 === $)
                t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
              t3.offset = t3.offset + chunkSize;
            }
            t3 = _this.__PngDecoder__input;
            if (t3 === $)
              t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
            t3.offset = t3.offset + 4;
            break;
          case "iCCP":
            t3 = _this._png_decoder$_info;
            t3.toString;
            t4 = _this.__PngDecoder__input;
            t3.iCCPName = (t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t4).readString$0();
            _this._png_decoder$_info.toString;
            t3 = _this.__PngDecoder__input;
            if (t3 === $)
              t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
            t4 = t3.buffer;
            t5 = t3.offset;
            t3.offset = t5 + 1;
            J.$index$asx(t4, t5);
            t5 = _this._png_decoder$_info.iCCPName;
            t4 = _this.__PngDecoder__input;
            t3 = t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t4;
            bytes = t3.subset$1(chunkSize - (t5.length + 2));
            t3.offset = t3.offset + (bytes.end - bytes.offset);
            t3 = _this._png_decoder$_info;
            t3.toString;
            t3.iCCPData = bytes.toUint8List$0();
            t3 = _this.__PngDecoder__input;
            if (t3 === $)
              t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
            t3.offset = t3.offset + 4;
            break;
          default:
            t3 = _this.__PngDecoder__input;
            t4 = t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t3;
            t4.offset = t4.offset + chunkSize;
            t3.offset = t3.offset + 4;
            break;
        }
        if (chunkType === "IEND")
          break;
        t3 = _this.__PngDecoder__input;
        if (t3 === $)
          t3 = H.throwExpression(H.LateError$fieldNI(_s6_));
        if (t3.offset >= t3.end)
          return _null;
      }
      return _this._png_decoder$_info;
    },
    decodeFrame$1: function(frame) {
      var imageData, t1, width, height, t2, t3, len, i, chunkSize, chunkType, bytes, data, f, channels, image, input, origW, origH, _this = this, _s6_ = "_input";
      if (_this._png_decoder$_info == null)
        return null;
      imageData = H._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;
          t2 = t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t1;
          t2.offset = _this._png_decoder$_info._idat[i];
          chunkSize = t1.readUint32$0();
          t1 = _this.__PngDecoder__input;
          chunkType = (t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t1).readString$1(4);
          t1 = _this.__PngDecoder__input;
          if (t1 === $)
            t1 = H.throwExpression(H.LateError$fieldNI(_s6_));
          bytes = t1.subset$1(chunkSize);
          t1.offset = t1.offset + (bytes.end - bytes.offset);
          data = bytes.toUint8List$0();
          C.JSArray_methods.addAll$1(imageData, data);
          t1 = _this.__PngDecoder__input;
          if ((t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t1).readUint32$0() !== X.getCrc32(data, X.getCrc32(new H.CodeUnits(chunkType), 0)))
            throw H.wrapException(K.ImageException$("Invalid " + chunkType + " checksum"));
        }
      else {
        if (frame >= t3)
          throw H.wrapException(K.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;
          t3 = t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t2;
          t3.offset = t1[i];
          chunkSize = t2.readUint32$0();
          t2 = _this.__PngDecoder__input;
          (t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t2).readString$1(4);
          t2 = _this.__PngDecoder__input;
          t3 = t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t2;
          t3.offset = t3.offset + 4;
          bytes = t2.subset$1(chunkSize);
          t2.offset = t2.offset + (bytes.end - bytes.offset);
          C.JSArray_methods.addAll$1(imageData, bytes.toUint8List$0());
        }
      }
      t1 = _this._png_decoder$_info;
      t2 = t1.colorType;
      channels = t2 === 4 || t2 === 6 || t1.transparency != null ? C.Channels_1 : C.Channels_0;
      width.toString;
      height.toString;
      image = U.Image$0(width, height, channels);
      input = Z.InputBuffer$(C.C__ZLibDecoder.decodeBuffer$2$verify(T.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 = P.List_List$generate(256, new G.PngDecoder_decodeFrame_closure(), false, type$.int);
        t1 = _this._png_decoder$_info;
        if (t1.palette != null && t1.gamma != null) {
          i = 0;
          while (true) {
            t1 = _this._png_decoder$_info.palette;
            t1.toString;
            if (!(i < J.get$length$asx(t1)))
              break;
            t1 = _this._png_decoder$_info;
            t2 = t1.palette;
            t2.toString;
            t1 = t1.colorLut;
            t1.toString;
            t3 = J.getInterceptor$asx(t2);
            t3.$indexSet(t2, i, t1[t3.$index(t2, i)]);
            ++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 = C.JSInt_methods._shrOtherPositive$1(width + 7, 3);
        t2 = C.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, C.JSInt_methods._shrOtherPositive$1(t1, 3), t2);
        t2 = height + 3;
        _this._processPass$8(input, image, 0, 4, 4, 8, C.JSInt_methods._shrOtherPositive$1(t1, 2), C.JSInt_methods._shrOtherPositive$1(t2, 3));
        t1 = width + 1;
        _this._processPass$8(input, image, 2, 0, 4, 4, C.JSInt_methods._shrOtherPositive$1(t1, 2), C.JSInt_methods._shrOtherPositive$1(t2, 2));
        t2 = height + 1;
        _this._processPass$8(input, image, 0, 2, 2, 4, C.JSInt_methods._shrOtherPositive$1(t1, 1), C.JSInt_methods._shrOtherPositive$1(t2, 2));
        _this._processPass$8(input, image, 1, 0, 2, 2, C.JSInt_methods._shrOtherPositive$1(width, 1), C.JSInt_methods._shrOtherPositive$1(t2, 1));
        _this._processPass$8(input, image, 0, 1, 1, 2, width, C.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;
      return image;
    },
    decodeImage$1: function(bytes) {
      if (this.startDecode$1(bytes) == null)
        return null;
      return this.decodeFrame$1(0);
    },
    _processPass$8: function(input, image, xOffset, yOffset, xStep, yStep, passWidth, passHeight) {
      var channels, pixelDepth, bpp, rowBytes, line, inData, pixel, t3, t4, blockWidth, dstY, srcY, ri, t5, t6, bytes, rowInput, dstX, srcX, c, i, j, t7, t8, _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 = C.JSInt_methods._shrOtherPositive$1(pixelDepth + 7, 3);
      rowBytes = C.JSInt_methods._shrOtherPositive$1(pixelDepth * passWidth + 7, 3);
      line = P.List_List$filled(rowBytes, 0, false, type$.int);
      inData = H._setArrayType([line, line], type$.JSArray_List_int);
      pixel = H._setArrayType([0, 0, 0, 0], type$.JSArray_int);
      for (t1 = image.data, t2 = image.width, t3 = xStep > 1, t4 = image.height, blockWidth = xStep - xOffset, dstY = yOffset, srcY = 0, ri = 0; srcY < passHeight; ++srcY, dstY += yStep, ++_this._progressY) {
        t5 = input.buffer;
        t6 = input.offset;
        input.offset = t6 + 1;
        t6 = J.$index$asx(t5, t6);
        bytes = input.subset$1(rowBytes);
        input.offset = input.offset + (bytes.end - bytes.offset);
        t5 = bytes.toUint8List$0();
        inData[ri] = t5;
        ri = 1 - ri;
        _this._unfilter$4(t6, bpp, t5, inData[ri]);
        _this._png_decoder$_bitBufferLen = _this._png_decoder$_bitBuffer = 0;
        t6 = J.get$length$asx(t5);
        rowInput = new Z.InputBuffer(t5, 0, t6, 0, true);
        for (t5 = blockWidth <= 1, dstX = xOffset, srcX = 0; srcX < passWidth; ++srcX, dstX += xStep) {
          _this._readPixel$2(rowInput, pixel);
          c = _this._getColor$1(pixel);
          t1[dstY * t2 + dstX] = c;
          if (!t5 || t3)
            for (i = 0; i < xStep; ++i)
              for (j = 0; j < blockWidth; ++j) {
                t6 = dstX + j;
                t7 = dstY + j;
                if (t6 < t2)
                  t8 = t7 < t4;
                else
                  t8 = false;
                if (t8)
                  t1[t7 * t2 + t6] = c;
              }
        }
      }
    },
    _png_decoder$_process$2: function(input, image) {
      var channels, pixelDepth, w, h, rowBytes, bpp, line, inData, pixel, y, pi, ri, t3, bytes, 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 = C.JSInt_methods._shrOtherPositive$1(w * pixelDepth + 7, 3);
      bpp = C.JSInt_methods._shrOtherPositive$1(pixelDepth + 7, 3);
      line = P.List_List$filled(rowBytes, 0, false, type$.int);
      inData = H._setArrayType([line, line], type$.JSArray_List_int);
      pixel = H._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;
        t3 = input.offset;
        input.offset = t3 + 1;
        t3 = J.$index$asx(t2, t3);
        bytes = input.subset$1(rowBytes);
        input.offset = input.offset + (bytes.end - bytes.offset);
        t2 = bytes.toUint8List$0();
        inData[ri] = t2;
        ri0 = 1 - ri;
        _this._unfilter$4(t3, bpp, t2, inData[ri0]);
        _this._png_decoder$_bitBufferLen = _this._png_decoder$_bitBuffer = 0;
        t2 = inData[ri];
        t3 = J.get$length$asx(t2);
        rowInput = new Z.InputBuffer(t2, 0, t3, 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: function(filterType, bpp, row, prevRow) {
      var x, t2, a, b, t3, c, p, pa, pb, pc, paeth,
        t1 = J.getInterceptor$asx(row),
        rowBytes = t1.get$length(row);
      switch (filterType) {
        case 0:
          break;
        case 1:
          for (x = bpp; x < rowBytes; ++x)
            t1.$indexSet(row, x, t1.$index(row, x) + t1.$index(row, x - bpp) & 255);
          break;
        case 2:
          for (t2 = J.getInterceptor$asx(prevRow), x = 0; x < rowBytes; ++x)
            t1.$indexSet(row, x, t1.$index(row, x) + t2.$index(prevRow, x) & 255);
          break;
        case 3:
          for (t2 = J.getInterceptor$asx(prevRow), x = 0; x < rowBytes; ++x) {
            a = x < bpp ? 0 : t1.$index(row, x - bpp);
            b = t2.$index(prevRow, x);
            t1.$indexSet(row, x, t1.$index(row, x) + C.JSInt_methods._shrOtherPositive$1(a + b, 1) & 255);
          }
          break;
        case 4:
          for (t2 = J.getInterceptor$asx(prevRow), x = 0; x < rowBytes; ++x) {
            t3 = x < bpp;
            a = t3 ? 0 : t1.$index(row, x - bpp);
            b = t2.$index(prevRow, x);
            c = t3 ? 0 : t2.$index(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;
            t1.$indexSet(row, x, t1.$index(row, x) + paeth & 255);
          }
          break;
        default:
          throw H.wrapException(K.ImageException$("Invalid filter value: " + H.S(filterType)));
      }
    },
    _png_decoder$_readBits$2: function(input, numBits) {
      var t1, t2, t3, 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;) {
        t2 = input.offset;
        if (t2 >= t1)
          throw H.wrapException(K.ImageException$("Invalid PNG data."));
        t3 = input.buffer;
        input.offset = t2 + 1;
        t2 = J.$index$asx(t3, t2);
        t3 = _this._png_decoder$_bitBufferLen;
        _this._png_decoder$_bitBuffer = C.JSInt_methods.$shl(t2, t3);
        _this._png_decoder$_bitBufferLen = t3 + 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 = C.JSInt_methods._shrReceiverPositive$1(_this._png_decoder$_bitBuffer, t1);
      _this._png_decoder$_bitBufferLen = t1;
      return t2 & mask;
    },
    _readPixel$2: function(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 H.wrapException(K.ImageException$("Invalid color type: " + H.S(t2) + "."));
    },
    _getColor$1: function(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 = H._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 = C.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) {
            t1 = J.$index$asx(t1, 0);
            t2 = _this._png_decoder$_info.transparency;
            t2.toString;
            t2 = J.$index$asx(t2, 1);
            if (raw[0] === ((t1 & 255) << 24 | t2 & 255) >>> 0)
              return K.getColor(g._readLocal$0(), g._readLocal$0(), g._readLocal$0(), 0);
          }
          return K.getColor(g._readLocal$0(), g._readLocal$0(), g._readLocal$0(), 255);
        case 2:
          r = H._Cell$named("r");
          g = H._Cell$named("g");
          b = H._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 = C.JSInt_methods._shrOtherPositive$1(raw[0], 8);
              g.__late_helper$_value = C.JSInt_methods._shrOtherPositive$1(raw[1], 8);
              b.__late_helper$_value = C.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) {
            t1 = J.$index$asx(t1, 0);
            t2 = _this._png_decoder$_info.transparency;
            t2.toString;
            t2 = J.$index$asx(t2, 1);
            t3 = _this._png_decoder$_info.transparency;
            t3.toString;
            t3 = J.$index$asx(t3, 2);
            t4 = _this._png_decoder$_info.transparency;
            t4.toString;
            t4 = J.$index$asx(t4, 3);
            t5 = _this._png_decoder$_info.transparency;
            t5.toString;
            t5 = J.$index$asx(t5, 4);
            t6 = _this._png_decoder$_info.transparency;
            t6.toString;
            t6 = J.$index$asx(t6, 5);
            if (raw[0] === ((t1 & 255) << 8 | t2 & 255) && raw[1] === ((t3 & 255) << 8 | t4 & 255) && raw[2] === ((t5 & 255) << 8 | t6 & 255))
              return K.getColor(r._readLocal$0(), g._readLocal$0(), b._readLocal$0(), 0);
          }
          return K.getColor(r._readLocal$0(), g._readLocal$0(), b._readLocal$0(), 255);
        case 3:
          t2 = raw[0];
          p = t2 * 3;
          t1 = t1.transparency;
          if (t1 != null && t2 < J.get$length$asx(t1)) {
            t1 = _this._png_decoder$_info.transparency;
            t1.toString;
            a = J.$index$asx(t1, raw[0]);
          } else
            a = 255;
          t1 = _this._png_decoder$_info.palette;
          t1.toString;
          if (p >= J.get$length$asx(t1))
            return K.getColor(255, 255, 255, a);
          t1 = _this._png_decoder$_info.palette;
          t1.toString;
          r = J.$index$asx(t1, p);
          t1 = _this._png_decoder$_info.palette;
          t1.toString;
          g = J.$index$asx(t1, p + 1);
          t1 = _this._png_decoder$_info.palette;
          t1.toString;
          return K.getColor(r, g, J.$index$asx(t1, p + 2), a);
        case 4:
          g = H._Cell$named("g");
          a = H._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 = C.JSInt_methods._shrOtherPositive$1(raw[0], 8);
              a.__late_helper$_value = C.JSInt_methods._shrOtherPositive$1(raw[1], 8);
              break;
          }
          t1 = t1.colorLut;
          t1.toString;
          g.__late_helper$_value = t1[g._readLocal$0()];
          return K.getColor(g._readLocal$0(), g._readLocal$0(), g._readLocal$0(), a._readLocal$0());
        case 6:
          r = H._Cell$named("r");
          g = H._Cell$named("g");
          b = H._Cell$named("b");
          a = H._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 = C.JSInt_methods._shrOtherPositive$1(raw[0], 8);
              g.__late_helper$_value = C.JSInt_methods._shrOtherPositive$1(raw[1], 8);
              b.__late_helper$_value = C.JSInt_methods._shrOtherPositive$1(raw[2], 8);
              a.__late_helper$_value = C.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 K.getColor(r._readLocal$0(), g._readLocal$0(), b._readLocal$0(), a._readLocal$0());
      }
      throw H.wrapException(K.ImageException$("Invalid color type: " + H.S(t2) + "."));
    },
    get$_png_decoder$_input: function() {
      var t1 = this.__PngDecoder__input;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_input")) : t1;
    }
  };
  G.PngDecoder_decodeFrame_closure.prototype = {
    call$1: function(i) {
      return i;
    },
    $signature: 39
  };
  U.PsdBevelEffect.prototype = {};
  M.PsdDropShadowEffect.prototype = {};
  V.PsdEffect.prototype = {
    get$version: function(receiver) {
      return this.version;
    }
  };
  D.PsdInnerGlowEffect.prototype = {};
  L.PsdInnerShadowEffect.prototype = {};
  N.PsdOuterGlowEffect.prototype = {};
  F.PsdSolidFillEffect.prototype = {};
  K.PsdLayerAdditionalData.prototype = {};
  Y.PsdLayerSectionDivider.prototype = {};
  O.PsdBlendingRanges.prototype = {
    PsdBlendingRanges$1: function(input) {
      var numChannels, i, t1, _this = this;
      input.readUint16$0();
      input.readUint16$0();
      input.readUint16$0();
      input.readUint16$0();
      numChannels = C.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 === $)
            t1 = H.throwExpression(H.LateError$fieldNI("blackSrc"));
          J.$indexSet$ax(t1, i, input.readUint16$0());
          t1 = _this.__PsdBlendingRanges_whiteSrc;
          if (t1 === $)
            t1 = H.throwExpression(H.LateError$fieldNI("whiteSrc"));
          J.$indexSet$ax(t1, i, input.readUint16$0());
          t1 = _this.__PsdBlendingRanges_blackDst;
          if (t1 === $)
            t1 = H.throwExpression(H.LateError$fieldNI("blackDst"));
          J.$indexSet$ax(t1, i, input.readUint16$0());
          t1 = _this.__PsdBlendingRanges_whiteDst;
          if (t1 === $)
            t1 = H.throwExpression(H.LateError$fieldNI("whiteDst"));
          J.$indexSet$ax(t1, i, input.readUint16$0());
        }
      }
    }
  };
  N.PsdChannel.prototype = {
    get$data: function(_) {
      var t1 = this.__PsdChannel_data;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("data")) : t1;
    },
    readPlane$7: function(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 H.wrapException(K.ImageException$("Unsupported compression: " + compression));
      }
    },
    readPlane$4: function(input, width, height, bitDepth) {
      return this.readPlane$7(input, width, height, bitDepth, null, null, 0);
    },
    _readLineLengths$2: function(input, height) {
      var lineLengths, i;
      if (!H._isInt(height))
        H.throwExpression(P.ArgumentError$("Invalid length " + H.S(height)));
      lineLengths = new Uint16Array(height);
      for (i = 0; i < height; ++i)
        lineLengths[i] = input.readUint16$0();
      return lineLengths;
    },
    _readPlaneUncompressed$4: function(input, width, height, bitDepth) {
      var _this = this,
        len = width * height;
      if (bitDepth === 16)
        len *= 2;
      if (len > input.end - input.offset) {
        _this.__PsdChannel_data = new Uint8Array(len);
        J.fillRange$3$ax(_this.get$data(_this), 0, len, 255);
        return;
      }
      _this.__PsdChannel_data = input.readBytes$1(len).toUint8List$0();
    },
    _readPlaneRleCompressed$6: function(input, width, height, bitDepth, lineLengths, planeNum) {
      var lineIndex, pos, i, lineIndex0, bytes, t1, _this = this,
        len = width * height;
      if (bitDepth === 16)
        len *= 2;
      _this.__PsdChannel_data = new Uint8Array(len);
      lineIndex = planeNum * height;
      if (lineIndex >= lineLengths.length) {
        J.fillRange$3$ax(_this.get$data(_this), 0, J.get$length$asx(_this.get$data(_this)), 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;
        _this._decodeRLE$3(bytes, t1 === $ ? H.throwExpression(H.LateError$fieldNI("data")) : t1, pos);
        pos += width;
      }
    },
    _decodeRLE$3: function(src, dst, dstIndex) {
      var t1, t2, t3, t4, n, i, dstIndex0;
      for (t1 = src.end, t2 = J.getInterceptor$ax(dst); t3 = src.offset, !(t3 >= t1);) {
        t4 = src.buffer;
        src.offset = t3 + 1;
        t3 = J.$index$asx(t4, t3);
        $.$get$__uint8()[0] = t3;
        n = $.$get$__uint8ToInt8()[0];
        if (n < 0) {
          n = 1 - n;
          t3 = src.buffer;
          t4 = src.offset;
          src.offset = t4 + 1;
          t4 = J.$index$asx(t3, t4);
          for (i = 0; i < n; ++i, dstIndex = dstIndex0) {
            dstIndex0 = dstIndex + 1;
            t2.$indexSet(dst, dstIndex, t4);
          }
        } else {
          ++n;
          for (i = 0; i < n; ++i, dstIndex = dstIndex0) {
            dstIndex0 = dstIndex + 1;
            t3 = src.buffer;
            t4 = src.offset;
            src.offset = t4 + 1;
            t2.$indexSet(dst, dstIndex, J.$index$asx(t3, t4));
          }
        }
      }
    }
  };
  L.PsdImage.prototype = {
    get$channels: function() {
      var t1 = this.__PsdImage_channels;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("channels")) : t1;
    },
    get$mergeImageChannels: function() {
      var t1 = this.__PsdImage_mergeImageChannels;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("mergeImageChannels")) : t1;
    },
    PsdImage$1: function(bytes) {
      var len, t1, t2, _this = this;
      _this.__PsdImage__input = Z.InputBuffer$(bytes, true, null, 0);
      _this._psd_image$_readHeader$0();
      if (_this.signature !== 943870035)
        return;
      len = _this.get$_psd_image$_input().readUint32$0();
      _this.get$_psd_image$_input().readBytes$1(len);
      len = _this.get$_psd_image$_input().readUint32$0();
      _this.__PsdImage__imageResourceData = _this.get$_psd_image$_input().readBytes$1(len);
      len = _this.get$_psd_image$_input().readUint32$0();
      _this.__PsdImage__layerAndMaskData = _this.get$_psd_image$_input().readBytes$1(len);
      t1 = _this.get$_psd_image$_input();
      t1.toString;
      t2 = _this.get$_psd_image$_input();
      _this.__PsdImage__imageData = t1.readBytes$1(t2.end - t2.offset);
    },
    decode$0: function(_) {
      var _this = this;
      if (_this.signature !== 943870035 || _this.get$_psd_image$_input() == null)
        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: function() {
      if (!this.decode$0(0))
        return null;
      return this.renderImage$0();
    },
    renderImage$0: function() {
      var pixels, li, t2, layer, opacity, blendMode, srcP, t3, sy, y, si, t4, t5, 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 = U.Image$0(_this.width, _this.height, C.Channels_1);
      _this.mergedImage = t1;
      t1 = t1.data;
      C.NativeUint32List_methods.fillRange$3(t1, 0, t1.length, 0);
      pixels = _this.mergedImage.getBytes$0();
      t1 = J.getInterceptor$asx(pixels);
      li = 0;
      while (true) {
        t2 = _this.__PsdImage_layers;
        if (!(li < J.get$length$asx(t2 === $ ? H.throwExpression(H.LateError$fieldNI("layers")) : t2)))
          break;
        c$0: {
          t2 = _this.__PsdImage_layers;
          layer = J.$index$asx(t2 === $ ? H.throwExpression(H.LateError$fieldNI("layers")) : t2, li);
          t2 = layer.__PsdLayer_flags;
          if (((t2 === $ ? H.throwExpression(H.LateError$fieldNI("flags")) : t2) & 2) !== 0)
            break c$0;
          t2 = layer.__PsdLayer_opacity;
          opacity = (t2 === $ ? H.throwExpression(H.LateError$fieldNI("opacity")) : t2) / 255;
          blendMode = layer.blendMode;
          t2 = layer.__PsdLayer_layerImage;
          srcP = (t2 === $ ? H.throwExpression(H.LateError$fieldNI("layerImage")) : t2).getBytes$0();
          t2 = layer.top;
          t2.toString;
          t3 = J.getInterceptor$asx(srcP);
          sy = t2;
          y = 0;
          si = 0;
          while (true) {
            t2 = layer.__PsdLayer_height;
            if (!(y < (t2 === $ ? H.throwExpression(H.LateError$fieldNI("height")) : t2)))
              break;
            t2 = layer.top;
            t2.toString;
            t4 = _this.width;
            t5 = layer.left;
            t5.toString;
            di = (t2 + y) * t4 * 4 + t5 * 4;
            t2 = sy >= 0;
            sx = t5;
            x = 0;
            while (true) {
              t4 = layer.__PsdLayer_width;
              if (!(x < (t4 === $ ? H.throwExpression(H.LateError$fieldNI("width")) : t4)))
                break;
              si0 = si + 1;
              br = t3.$index(srcP, si);
              si = si0 + 1;
              bg = t3.$index(srcP, si0);
              si0 = si + 1;
              bb = t3.$index(srcP, si);
              si = si0 + 1;
              ba = t3.$index(srcP, si0);
              if (sx >= 0 && sx < _this.width && t2 && sy < _this.height) {
                ar = t1.$index(pixels, di);
                t4 = di + 1;
                ag = t1.$index(pixels, t4);
                ab = t1.$index(pixels, di + 2);
                aa = t1.$index(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 = L.PsdImage__blendColorBurn(ar, br);
                    g = L.PsdImage__blendColorBurn(ag, bg);
                    b = L.PsdImage__blendColorBurn(ab, bb);
                    a = ba;
                    break;
                  case 1818391150:
                    r = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(ar + br - 255, 0, 255));
                    g = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(ag + bg - 255, 0, 255));
                    b = C.JSNumber_methods.toInt$0(C.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 = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255 - (255 - br) * (255 - ar), 0, 255));
                    g = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255 - (255 - bg) * (255 - ag), 0, 255));
                    b = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255 - (255 - bb) * (255 - ab), 0, 255));
                    a = ba;
                    break;
                  case 1684633120:
                    r = L.PsdImage__blendColorDodge(ar, br);
                    g = L.PsdImage__blendColorDodge(ag, bg);
                    b = L.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 = L.PsdImage__blendOverlay(ar, br, aa, ba);
                    g = L.PsdImage__blendOverlay(ag, bg, aa, ba);
                    b = L.PsdImage__blendOverlay(ab, bb, aa, ba);
                    a = ba;
                    break;
                  case 1934387572:
                    r = L.PsdImage__blendSoftLight(ar, br);
                    g = L.PsdImage__blendSoftLight(ag, bg);
                    b = L.PsdImage__blendSoftLight(ab, bb);
                    a = ba;
                    break;
                  case 1749838196:
                    r = L.PsdImage__blendHardLight(ar, br);
                    g = L.PsdImage__blendHardLight(ag, bg);
                    b = L.PsdImage__blendHardLight(ab, bb);
                    a = ba;
                    break;
                  case 1984719220:
                    r = L.PsdImage__blendVividLight(ar, br);
                    g = L.PsdImage__blendVividLight(ag, bg);
                    b = L.PsdImage__blendVividLight(ab, bb);
                    a = ba;
                    break;
                  case 1816947060:
                    r = L.PsdImage__blendLinearLight(ar, br);
                    g = L.PsdImage__blendLinearLight(ag, bg);
                    b = L.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 = C.JSNumber_methods.round$0(br + ar - 2 * br * ar / 255);
                    g = C.JSNumber_methods.round$0(bg + ag - 2 * bg * ag / 255);
                    b = C.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;
                }
                t5 = 1 - da;
                r = C.JSNumber_methods.toInt$0(ar * t5 + r * da);
                g = C.JSNumber_methods.toInt$0(ag * t5 + g * da);
                b = C.JSNumber_methods.toInt$0(ab * t5 + b * da);
                a = C.JSNumber_methods.toInt$0(aa * t5 + a * da);
                t1.$indexSet(pixels, di, r);
                di0 = t4 + 1;
                t1.$indexSet(pixels, t4, g);
                t1.$indexSet(pixels, di0, b);
                t1.$indexSet(pixels, di0 + 1, a);
              }
              di += 4;
              ++x;
              ++sx;
            }
            ++y;
            ++sy;
          }
        }
        ++li;
      }
      t1 = _this.mergedImage;
      t1.toString;
      return t1;
    },
    _psd_image$_readHeader$0: function() {
      var t1, padding, i, _this = this;
      _this.signature = _this.get$_psd_image$_input().readUint32$0();
      t1 = _this.get$_psd_image$_input().readUint16$0();
      _this.version = t1;
      if (t1 !== 1) {
        _this.signature = 0;
        return;
      }
      padding = _this.get$_psd_image$_input().readBytes$1(6);
      for (i = 0; i < 6; ++i)
        if (J.$index$asx(padding.buffer, padding.offset + i) !== 0) {
          _this.signature = 0;
          return;
        }
      _this.__PsdImage_channels = _this.get$_psd_image$_input().readUint16$0();
      _this.height = _this.get$_psd_image$_input().readUint32$0();
      _this.width = _this.get$_psd_image$_input().readUint32$0();
      _this.depth = _this.get$_psd_image$_input().readUint16$0();
      _this.colorMode = _this.get$_psd_image$_input().readUint16$0();
    },
    _readImageResources$0: function() {
      var t2, t3, blockSignature, blockId, t4, blockName, len, bytes, _this = this,
        _s18_ = "_imageResourceData",
        t1 = _this.get$_imageResourceData();
      t1.offset = t1.start;
      t1 = _this.imageResources;
      while (true) {
        t2 = _this.__PsdImage__imageResourceData;
        t3 = t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s18_)) : t2;
        if (!!(t3.offset >= t3.end))
          break;
        blockSignature = t2.readUint32$0();
        t2 = _this.__PsdImage__imageResourceData;
        blockId = (t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s18_)) : t2).readUint16$0();
        t2 = _this.__PsdImage__imageResourceData;
        if (t2 === $)
          t2 = H.throwExpression(H.LateError$fieldNI(_s18_));
        t3 = t2.buffer;
        t4 = t2.offset;
        t2.offset = t4 + 1;
        t4 = J.$index$asx(t3, t4);
        t3 = _this.__PsdImage__imageResourceData;
        blockName = (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s18_)) : t3).readString$1(t4);
        if ((t4 & 1) === 0) {
          t2 = _this.__PsdImage__imageResourceData;
          if (t2 === $)
            t2 = H.throwExpression(H.LateError$fieldNI(_s18_));
          t2.offset = t2.offset + 1;
        }
        t2 = _this.__PsdImage__imageResourceData;
        len = (t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s18_)) : t2).readUint32$0();
        t2 = _this.__PsdImage__imageResourceData;
        if (t2 === $)
          t2 = H.throwExpression(H.LateError$fieldNI(_s18_));
        bytes = t2.subset$1(len);
        t2.offset = t2.offset + (bytes.end - bytes.offset);
        if ((len & 1) === 1) {
          t2 = _this.__PsdImage__imageResourceData;
          if (t2 === $)
            t2 = H.throwExpression(H.LateError$fieldNI(_s18_));
          t2.offset = t2.offset + 1;
        }
        if (blockSignature === 943868237)
          t1.$indexSet(0, blockId, new S.PsdImageResource(blockName, bytes));
      }
    },
    _readLayerAndMaskData$0: function() {
      var len, layerData, t2, count, t3, t4, i, layer, t5, maskData, _this = this, _s6_ = "layers",
        t1 = _this.get$_layerAndMaskData();
      t1.offset = t1.start;
      len = _this.get$_layerAndMaskData().readUint32$0();
      if ((len & 1) !== 0)
        ++len;
      layerData = _this.get$_layerAndMaskData().readBytes$1(len);
      t1 = type$.JSArray_PsdLayer;
      _this.__PsdImage_layers = H._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 S.PsdLayer(P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), H._setArrayType([], t1), H._setArrayType([], t4));
          layer.PsdLayer$1(layerData);
          t5 = _this.__PsdImage_layers;
          J.add$1$ax(t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t5, layer);
        }
      }
      i = 0;
      while (true) {
        t1 = _this.__PsdImage_layers;
        if (!(i < J.get$length$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t1)))
          break;
        t1 = _this.__PsdImage_layers;
        J.$index$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s6_)) : t1, i).readImageData$2(layerData, _this);
        ++i;
      }
      len = _this.get$_layerAndMaskData().readUint32$0();
      maskData = _this.get$_layerAndMaskData().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: function() {
      var compression, numLines, lineLengths, i, t2, t3, _this = this,
        _s10_ = "_imageData",
        t1 = _this.get$_imageData();
      t1.offset = t1.start;
      compression = _this.get$_imageData().readUint16$0();
      if (compression === 1) {
        numLines = _this.height * _this.get$channels();
        lineLengths = new Uint16Array(numLines);
        for (i = 0; i < numLines; ++i) {
          t1 = _this.__PsdImage__imageData;
          lineLengths[i] = (t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s10_)) : t1).readUint16$0();
        }
      } else
        lineLengths = null;
      _this.__PsdImage_mergeImageChannels = H._setArrayType([], type$.JSArray_PsdChannel);
      i = 0;
      while (true) {
        t1 = _this.__PsdImage_channels;
        if (!(i < (t1 === $ ? H.throwExpression(H.LateError$fieldNI("channels")) : t1)))
          break;
        t1 = _this.__PsdImage_mergeImageChannels;
        if (t1 === $)
          t1 = H.throwExpression(H.LateError$fieldNI("mergeImageChannels"));
        t2 = _this.__PsdImage__imageData;
        if (t2 === $)
          t2 = H.throwExpression(H.LateError$fieldNI(_s10_));
        t2.toString;
        t3 = i === 3 ? -1 : i;
        t3 = new N.PsdChannel(t3);
        t3.readPlane$7(t2, _this.width, _this.height, _this.depth, compression, lineLengths, i);
        J.add$1$ax(t1, t3);
        ++i;
      }
      _this.mergedImage = L.PsdImage_createImageFromChannels(_this.colorMode, _this.depth, _this.width, _this.height, _this.get$mergeImageChannels());
    },
    get$_psd_image$_input: function() {
      var t1 = this.__PsdImage__input;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_input")) : t1;
    },
    get$_imageResourceData: function() {
      var t1 = this.__PsdImage__imageResourceData;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_imageResourceData")) : t1;
    },
    get$_layerAndMaskData: function() {
      var t1 = this.__PsdImage__layerAndMaskData;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_layerAndMaskData")) : t1;
    },
    get$_imageData: function() {
      var t1 = this.__PsdImage__imageData;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_imageData")) : t1;
    },
    get$version: function(receiver) {
      return this.version;
    },
    get$depth: function() {
      return this.depth;
    }
  };
  S.PsdImageResource.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  S.PsdLayer.prototype = {
    get$width: function(_) {
      var t1 = this.__PsdLayer_width;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("width")) : t1;
    },
    set$width: function(_, t1) {
      this.__PsdLayer_width = t1;
    },
    get$height: function(_) {
      var t1 = this.__PsdLayer_height;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("height")) : t1;
    },
    set$height: function(_, t1) {
      this.__PsdLayer_height = t1;
    },
    get$channels: function() {
      var t1 = this.__PsdLayer_channels;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("channels")) : t1;
    },
    PsdLayer$1: function(input) {
      var numChannels, i, id, sig, len, extra, maskData, padding, t3, t4, tag, bytes, t5, data, numFx, j, fxTag, size, fx, t6, _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 = _this.__PsdLayer_right = t1[0];
      if (t1 === $)
        t1 = H.throwExpression(H.LateError$fieldNI("right"));
      t2 = _this.left;
      t2.toString;
      _this.__PsdLayer_width = t1 - t2;
      t2 = _this.__PsdLayer_bottom;
      t1 = t2 === $ ? H.throwExpression(H.LateError$fieldNI("bottom")) : t2;
      t2 = _this.top;
      t2.toString;
      _this.__PsdLayer_height = t1 - t2;
      _this.__PsdLayer_channels = H._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 === $)
          t1 = H.throwExpression(H.LateError$fieldNI("channels"));
        J.add$1$ax(t1, new N.PsdChannel(id));
      }
      sig = input.readUint32$0();
      if (sig !== 943868237)
        throw H.wrapException(K.ImageException$("Invalid PSD layer signature: " + C.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 H.wrapException(K.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 = 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 O.PsdBlendingRanges().PsdBlendingRanges$1(extra.readBytes$1(len));
        len = extra.readByte$0();
        _this.name = extra.readString$1(len);
        padding = 4 - C.JSInt_methods.$mod(len, 4) - 1;
        if (padding > 0)
          extra.offset = 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 H.wrapException(K.ImageException$("PSD invalid signature for layer additional data: " + C.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, Q.PsdLayerData_PsdLayerData(tag, bytes));
          if (tag === "lrFX") {
            data = Z.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 M.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;
                data.offset = t6 + 1;
                fx.enabled = J.$index$asx(t5, t6) !== 0;
                t6 = data.buffer;
                t5 = data.offset;
                data.offset = t5 + 1;
                J.$index$asx(t6, t5);
                t5 = data.buffer;
                t6 = data.offset;
                data.offset = t6 + 1;
                J.$index$asx(t5, t6);
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
              } else if (fxTag === "isdw") {
                fx = new L.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;
                data.offset = t6 + 1;
                fx.enabled = J.$index$asx(t5, t6) !== 0;
                t6 = data.buffer;
                t5 = data.offset;
                data.offset = t5 + 1;
                J.$index$asx(t6, t5);
                t5 = data.buffer;
                t6 = data.offset;
                data.offset = t6 + 1;
                J.$index$asx(t5, t6);
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
              } else if (fxTag === "oglw") {
                fx = new N.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;
                data.offset = t6 + 1;
                fx.enabled = J.$index$asx(t5, t6) !== 0;
                t6 = data.buffer;
                t5 = data.offset;
                data.offset = t5 + 1;
                J.$index$asx(t6, t5);
                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 D.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;
                data.offset = t6 + 1;
                fx.enabled = J.$index$asx(t5, t6) !== 0;
                t6 = data.buffer;
                t5 = data.offset;
                data.offset = t5 + 1;
                J.$index$asx(t6, t5);
                if (fx.version === 2) {
                  t5 = data.buffer;
                  t6 = data.offset;
                  data.offset = t6 + 1;
                  J.$index$asx(t5, t6);
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                }
              } else if (fxTag === "bevl") {
                fx = new U.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.buffer;
                t6 = data.offset;
                data.offset = t6 + 1;
                J.$index$asx(t5, t6);
                t6 = data.buffer;
                t5 = data.offset;
                data.offset = t5 + 1;
                J.$index$asx(t6, t5);
                t5 = data.buffer;
                t6 = data.offset;
                data.offset = t6 + 1;
                J.$index$asx(t5, t6);
                t6 = data.buffer;
                t5 = data.offset;
                data.offset = t5 + 1;
                fx.enabled = J.$index$asx(t6, t5) !== 0;
                t5 = data.buffer;
                t6 = data.offset;
                data.offset = t6 + 1;
                J.$index$asx(t5, t6);
                t6 = data.buffer;
                t5 = data.offset;
                data.offset = t5 + 1;
                J.$index$asx(t6, t5);
                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 F.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.buffer;
                t6 = data.offset;
                data.offset = t6 + 1;
                J.$index$asx(t5, t6);
                t6 = data.buffer;
                t5 = data.offset;
                data.offset = t5 + 1;
                fx.enabled = J.$index$asx(t6, t5) !== 0;
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
              } else
                data.offset = data.offset + size;
            }
          }
        }
      }
    },
    readImageData$2: function(input, psd) {
      var t1, t2, t3, _this = this,
        _s8_ = "channels",
        i = 0;
      while (true) {
        t1 = _this.__PsdLayer_channels;
        if (!(i < J.get$length$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s8_)) : t1)))
          break;
        t1 = _this.__PsdLayer_channels;
        t1 = J.$index$asx(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s8_)) : t1, i);
        t2 = _this.__PsdLayer_width;
        if (t2 === $)
          t2 = H.throwExpression(H.LateError$fieldNI("width"));
        t3 = _this.__PsdLayer_height;
        if (t3 === $)
          t3 = H.throwExpression(H.LateError$fieldNI("height"));
        t1.readPlane$4(input, t2, t3, psd.depth);
        ++i;
      }
      _this.__PsdLayer_layerImage = L.PsdImage_createImageFromChannels(psd.colorMode, psd.depth, _this.get$width(_this), _this.get$height(_this), _this.get$channels());
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$children: function(receiver) {
      return this.children;
    },
    get$parent: function(receiver) {
      return this.parent;
    },
    set$parent: function(receiver, val) {
      return this.parent = val;
    }
  };
  Q.PsdLayerData.prototype = {};
  V.PsdDecoder.prototype = {
    decodeImage$1: function(bytes) {
      this.info = L.PsdImage$(bytes);
      return this.decodeFrame$1(0);
    },
    decodeFrame$1: function(frame) {
      var t1 = this.info;
      if (t1 == null)
        return null;
      return t1.decodeImage$0();
    }
  };
  R.TgaInfo.prototype = {};
  B.TgaDecoder.prototype = {
    get$input: function() {
      var t1 = this.__TgaDecoder_input;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("input")) : t1;
    },
    isValidFile$1: function(data) {
      var header = Z.InputBuffer$(data, true, null, 0).readBytes$1(18);
      if (J.$index$asx(header.buffer, header.offset + 2) !== 2)
        return false;
      if (J.$index$asx(header.buffer, header.offset + 16) !== 24 && J.$index$asx(header.buffer, header.offset + 16) !== 32)
        return false;
      return true;
    },
    startDecode$1: function(bytes) {
      var header, t1, _this = this;
      _this.info = new R.TgaInfo();
      _this.__TgaDecoder_input = Z.InputBuffer$(bytes, true, null, 0);
      header = _this.get$input().readBytes$1(18);
      if (J.$index$asx(header.buffer, header.offset + 2) !== 2)
        return null;
      if (J.$index$asx(header.buffer, header.offset + 16) !== 24 && J.$index$asx(header.buffer, header.offset + 16) !== 32)
        return null;
      t1 = _this.info;
      t1.toString;
      t1.width = J.$index$asx(header.buffer, header.offset + 12) & 255 | (J.$index$asx(header.buffer, header.offset + 13) & 255) << 8;
      t1 = _this.info;
      t1.toString;
      t1.height = J.$index$asx(header.buffer, header.offset + 14) & 255 | (J.$index$asx(header.buffer, header.offset + 15) & 255) << 8;
      t1 = _this.info;
      t1.toString;
      t1.imageOffset = _this.get$input().offset;
      t1 = _this.info;
      t1.toString;
      t1.bpp = J.$index$asx(header.buffer, header.offset + 16);
      return _this.info;
    },
    decodeFrame$1: function(frame) {
      var t1, t2, t3, image, y, x, t4, t5, t6, t7, t8, t9, a, _this = this, _s5_ = "input";
      if (_this.info == null)
        return null;
      t1 = _this.get$input();
      t2 = _this.info;
      t3 = t2.imageOffset;
      t3.toString;
      t1.offset = t3;
      image = U.Image$0(t2.width, t2.height, C.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 === $)
            t4 = H.throwExpression(H.LateError$fieldNI(_s5_));
          t5 = t4.buffer;
          t6 = t4.offset;
          t4.offset = t6 + 1;
          t6 = J.$index$asx(t5, t6);
          t5 = _this.__TgaDecoder_input;
          t4 = t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s5_)) : t5;
          t5 = t4.buffer;
          t7 = t4.offset;
          t4.offset = t7 + 1;
          t7 = J.$index$asx(t5, t7);
          t5 = _this.__TgaDecoder_input;
          t4 = t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s5_)) : t5;
          t5 = t4.buffer;
          t8 = t4.offset;
          t4.offset = t8 + 1;
          t8 = J.$index$asx(t5, t8);
          if (_this.info.bpp === 32) {
            t4 = _this.__TgaDecoder_input;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s5_));
            t5 = t4.buffer;
            t9 = t4.offset;
            t4.offset = t9 + 1;
            a = J.$index$asx(t5, t9);
          } else
            a = 255;
          t2[t3 + x] = (C.JSNumber_methods.toInt$0(J.clamp$2$n(a, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(J.clamp$2$n(t6, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(J.clamp$2$n(t7, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(J.clamp$2$n(t8, 0, 255))) >>> 0;
        }
      return image;
    },
    decodeImage$1: function(bytes) {
      if (this.startDecode$1(bytes) == null)
        return null;
      return this.decodeFrame$1(0);
    }
  };
  A.TiffBitReader.prototype = {
    readBits$1: function(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 = C.JSInt_methods.$shl(value, t2) + (_this._tiff_bit_reader$_bitBuffer & C.List_knt[t2]);
        numBits -= t2;
        _this._bitPos = 8;
        t2 = t1.buffer;
        t3 = t1.offset;
        t1.offset = t3 + 1;
        _this._tiff_bit_reader$_bitBuffer = J.$index$asx(t2, t3);
      }
      if (numBits > 0) {
        if (t2 === 0) {
          _this._bitPos = 8;
          _this._tiff_bit_reader$_bitBuffer = t1.readByte$0();
        }
        t1 = C.JSInt_methods.$shl(value, numBits);
        t2 = _this._tiff_bit_reader$_bitBuffer;
        t3 = _this._bitPos - numBits;
        value = t1 + (C.JSInt_methods.$shr(t2, t3) & C.List_knt[numBits]);
        _this._bitPos = t3;
      }
      return value;
    }
  };
  G.TiffEntry.prototype = {
    toString$0: function(_) {
      var _this = this,
        t1 = _this.tag;
      if (C.Map_6zffn.containsKey$1(0, t1))
        return H.S(C.Map_6zffn.$index(0, t1)) + ": " + _this.type + " " + _this.numValues;
      return "<" + t1 + ">: " + _this.type + " " + _this.numValues;
    },
    readValue$0: function(_) {
      var t1 = this.valueOffset;
      t1.toString;
      this.p.offset = t1;
      return this._readValue$0();
    },
    readValues$0: function() {
      var values, i, _this = this,
        t1 = _this.valueOffset;
      t1.toString;
      _this.p.offset = t1;
      values = H._setArrayType([], type$.JSArray_int);
      for (t1 = _this.numValues, i = 0; i < t1; ++i)
        values.push(_this._readValue$0());
      return values;
    },
    _readValue$0: function() {
      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 C.JSInt_methods.$tdiv(num, den);
        case 6:
          throw H.wrapException(K.ImageException$("Unhandled value type: SBYTE"));
        case 7:
          return _this.p.readByte$0();
        case 8:
          throw H.wrapException(K.ImageException$("Unhandled value type: SSHORT"));
        case 9:
          throw H.wrapException(K.ImageException$("Unhandled value type: SLONG"));
        case 10:
          throw H.wrapException(K.ImageException$("Unhandled value type: SRATIONAL"));
        case 11:
          throw H.wrapException(K.ImageException$("Unhandled value type: FLOAT"));
        case 12:
          throw H.wrapException(K.ImageException$("Unhandled value type: DOUBLE"));
      }
      return 0;
    }
  };
  A.TiffFaxDecoder.prototype = {
    get$data: function(_) {
      var t1 = this.__TiffFaxDecoder_data;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("data")) : t1;
    },
    decode1D$4: function(out, compData, startX, height) {
      var scanlineStride, lineOffset, i, _this = this;
      _this.__TiffFaxDecoder_data = compData;
      _this.bytePointer = _this.bitPointer = 0;
      scanlineStride = C.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: function(buffer, lineOffset, bitOffset) {
      var bits, code, isT, current, entry, twoBits, isWhite, t1, _this = this;
      _this.changingElemSize = 0;
      for (bits = 0, code = 0, isT = 0, current = null, entry = null, twoBits = null, isWhite = true; bitOffset < _this.width;) {
        for (; isWhite;) {
          current = _this._nextNBits$1(10);
          entry = C.List_VSP[current];
          isT = entry & 1;
          bits = C.JSInt_methods._shrOtherPositive$1(entry, 1) & 15;
          if (bits === 12) {
            twoBits = _this._nextLesserThan8Bits$1(2);
            current = (current << 2 & 12 | twoBits) >>> 0;
            entry = C.List_MEg[current];
            bits = C.JSInt_methods._shrOtherPositive$1(entry, 1) & 7;
            code = C.JSInt_methods._shrOtherPositive$1(entry, 4) & 4095;
            bitOffset += code;
            _this._updatePointer$1(4 - bits);
          } else if (bits === 0)
            throw H.wrapException(K.ImageException$("TIFFFaxDecoder0"));
          else if (bits === 15)
            throw H.wrapException(K.ImageException$("TIFFFaxDecoder1"));
          else {
            code = C.JSInt_methods._shrOtherPositive$1(entry, 5) & 2047;
            bitOffset += code;
            _this._updatePointer$1(10 - bits);
            if (isT === 0) {
              _this.currChangingElems[_this.changingElemSize++] = bitOffset;
              isWhite = false;
            }
          }
        }
        if (bitOffset === _this.width) {
          if (_this.compression === 2)
            if (_this.bitPointer !== 0) {
              t1 = _this.bytePointer;
              t1.toString;
              _this.bytePointer = t1 + 1;
              _this.bitPointer = 0;
            }
          break;
        }
        for (; !isWhite;) {
          current = _this._nextLesserThan8Bits$1(4);
          entry = C.List_89P[current];
          isT = entry & 1;
          bits = entry >>> 1 & 15;
          code = entry >>> 5 & 2047;
          if (code === 100) {
            current = _this._nextNBits$1(9);
            entry = C.List_nLG[current];
            isT = entry & 1;
            bits = C.JSInt_methods._shrOtherPositive$1(entry, 1) & 15;
            code = C.JSInt_methods._shrOtherPositive$1(entry, 5) & 2047;
            if (bits === 12) {
              _this._updatePointer$1(5);
              current = _this._nextLesserThan8Bits$1(4);
              entry = C.List_MEg[current];
              bits = C.JSInt_methods._shrOtherPositive$1(entry, 1) & 7;
              code = C.JSInt_methods._shrOtherPositive$1(entry, 4) & 4095;
              _this._setToBlack$4(buffer, lineOffset, bitOffset, code);
              bitOffset += code;
              _this._updatePointer$1(4 - bits);
            } else if (bits === 15)
              throw H.wrapException(K.ImageException$("TIFFFaxDecoder2"));
            else {
              _this._setToBlack$4(buffer, lineOffset, bitOffset, code);
              bitOffset += code;
              _this._updatePointer$1(9 - bits);
              if (isT === 0) {
                _this.currChangingElems[_this.changingElemSize++] = bitOffset;
                isWhite = true;
              }
            }
          } else {
            if (code === 200) {
              current = _this._nextLesserThan8Bits$1(2);
              entry = C.List_292_260_226_226[current];
              code = entry >>> 5 & 2047;
              bits = entry >>> 1 & 15;
              _this._setToBlack$4(buffer, lineOffset, bitOffset, code);
              bitOffset += code;
              _this._updatePointer$1(2 - bits);
              _this.currChangingElems[_this.changingElemSize++] = bitOffset;
            } else {
              _this._setToBlack$4(buffer, lineOffset, bitOffset, code);
              bitOffset += code;
              _this._updatePointer$1(4 - bits);
              _this.currChangingElems[_this.changingElemSize++] = bitOffset;
            }
            isWhite = true;
          }
        }
        if (bitOffset === _this.width) {
          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: function(out, compData, startX, height, tiffT4Options) {
      var scanlineStride, b, bitOffset, lineOffset, temp, isWhite, bits, code, entry, b2, b1, a1, a0, currIndex, lines, currIndex0, currIndex1, number, _this = this, _null = null;
      _this.__TiffFaxDecoder_data = compData;
      _this.compression = 3;
      _this.bytePointer = _this.bitPointer = 0;
      scanlineStride = C.JSInt_methods._tdivFast$1(_this.width + 7, 8);
      b = P.List_List$filled(2, _null, false, type$.nullable_int);
      _this.oneD = tiffT4Options & 1;
      _this.fillBits = tiffT4Options >>> 2 & 1;
      if (_this._readEOL$0() !== 1)
        throw H.wrapException(K.ImageException$("TIFFFaxDecoder3"));
      _this._decodeNextScanline$3(out, 0, startX);
      for (bitOffset = _null, lineOffset = scanlineStride, temp = bitOffset, isWhite = temp, bits = isWhite, code = bits, entry = code, b2 = entry, b1 = b2, a1 = b1, a0 = a1, currIndex = 0, 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 < _this.width))
              break;
            _this._getNextChangingElement$3(a0, isWhite, b);
            b1 = b[0];
            b2 = b[1];
            entry = C.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 H.wrapException(K.ImageException$("TIFFFaxDecoder4"));
              bitOffset = a1;
              currIndex = currIndex0;
              a0 = bitOffset;
            }
          }
          currIndex0 = currIndex + 1;
          _this.currChangingElems[currIndex] = bitOffset;
          _this.changingElemSize = currIndex0;
          currIndex = currIndex0;
        } else
          _this._decodeNextScanline$3(out, lineOffset, startX);
        lineOffset += scanlineStride;
      }
    },
    decodeT6$5: function(out, compData, startX, height, tiffT6Options) {
      var scanlineStride, b, cce, t1, bits, code, entry, b2, b1, a1, lineOffset, lines, temp, bitOffset, a0, isWhite, currIndex, currIndex0, currIndex1, number, zeros, exit, _this = this, _null = null;
      _this.__TiffFaxDecoder_data = compData;
      _this.compression = 4;
      _this.bytePointer = _this.bitPointer = 0;
      scanlineStride = C.JSInt_methods._tdivFast$1(_this.width + 7, 8);
      b = P.List_List$filled(2, _null, false, type$.nullable_int);
      cce = _this.currChangingElems;
      _this.changingElemSize = 0;
      _this.changingElemSize = 1;
      t1 = _this.width;
      cce[0] = t1;
      _this.changingElemSize = 2;
      cce[1] = t1;
      for (bits = _null, code = bits, entry = code, b2 = entry, b1 = b2, a1 = b1, 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 < _this.width))
            break;
          _this._getNextChangingElement$3(a0, isWhite, b);
          b1 = b[0];
          b2 = b[1];
          entry = C.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 H.wrapException(K.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 H.wrapException(K.ImageException$("TIFFFaxDecoder5 " + code));
        }
        temp[currIndex] = bitOffset;
        _this.changingElemSize = currIndex + 1;
        lineOffset += scanlineStride;
      }
    },
    _decodeWhiteCodeWord$0: function() {
      var twoBits, runLength, isWhite, current, entry, bits, t1, _this = this;
      for (twoBits = null, runLength = 0, isWhite = true; isWhite;) {
        current = _this._nextNBits$1(10);
        entry = C.List_VSP[current];
        bits = C.JSInt_methods._shrOtherPositive$1(entry, 1) & 15;
        if (bits === 12) {
          twoBits = _this._nextLesserThan8Bits$1(2);
          entry = C.List_MEg[(current << 2 & 12 | twoBits) >>> 0];
          t1 = C.JSInt_methods._shrOtherPositive$1(entry, 1);
          runLength += C.JSInt_methods._shrOtherPositive$1(entry, 4) & 4095;
          _this._updatePointer$1(4 - (t1 & 7));
        } else if (bits === 0)
          throw H.wrapException(K.ImageException$("TIFFFaxDecoder0"));
        else if (bits === 15)
          throw H.wrapException(K.ImageException$("TIFFFaxDecoder1"));
        else {
          runLength += C.JSInt_methods._shrOtherPositive$1(entry, 5) & 2047;
          _this._updatePointer$1(10 - bits);
          if ((entry & 1) === 0)
            isWhite = false;
        }
      }
      return runLength;
    },
    _decodeBlackCodeWord$0: function() {
      var runLength, isWhite, entry, code, bits, t1, _this = this;
      for (runLength = 0, isWhite = false; !isWhite;) {
        entry = C.List_89P[_this._nextLesserThan8Bits$1(4)];
        code = entry >>> 5 & 2047;
        if (code === 100) {
          entry = C.List_nLG[_this._nextNBits$1(9)];
          bits = C.JSInt_methods._shrOtherPositive$1(entry, 1) & 15;
          t1 = C.JSInt_methods._shrOtherPositive$1(entry, 5);
          if (bits === 12) {
            _this._updatePointer$1(5);
            entry = C.List_MEg[_this._nextLesserThan8Bits$1(4)];
            t1 = C.JSInt_methods._shrOtherPositive$1(entry, 1);
            runLength += C.JSInt_methods._shrOtherPositive$1(entry, 4) & 4095;
            _this._updatePointer$1(4 - (t1 & 7));
          } else if (bits === 15)
            throw H.wrapException(K.ImageException$("TIFFFaxDecoder2"));
          else {
            runLength += t1 & 2047;
            _this._updatePointer$1(9 - bits);
            if ((entry & 1) === 0)
              isWhite = true;
          }
        } else {
          if (code === 200) {
            entry = C.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: function() {
      var bitsLeft, n, _this = this,
        _s15_ = "TIFFFaxDecoder8",
        t1 = _this.fillBits;
      if (t1 === 0) {
        if (_this._nextNBits$1(12) !== 1)
          throw H.wrapException(K.ImageException$("TIFFFaxDecoder6"));
      } else if (t1 === 1) {
        t1 = _this.bitPointer;
        t1.toString;
        bitsLeft = 8 - t1;
        if (_this._nextNBits$1(bitsLeft) !== 0)
          throw H.wrapException(K.ImageException$(_s15_));
        if (bitsLeft < 4)
          if (_this._nextNBits$1(8) !== 0)
            throw H.wrapException(K.ImageException$(_s15_));
        for (; n = _this._nextNBits$1(8), n !== 1;)
          if (n !== 0)
            throw H.wrapException(K.ImageException$(_s15_));
      }
      if (_this.oneD === 0)
        return 1;
      else
        return _this._nextLesserThan8Bits$1(1);
    },
    _getNextChangingElement$3: function(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: function(buffer, lineOffset, bitOffset, numBits) {
      var maskVal, val, t1, byteNum0, t2,
        bitNum = 8 * lineOffset + bitOffset,
        lastBit = bitNum + numBits,
        byteNum = C.JSInt_methods._shrOtherPositive$1(bitNum, 3),
        shift = bitNum & 7;
      if (shift > 0) {
        maskVal = C.JSInt_methods.$shl(1, 7 - shift);
        val = J.$index$asx(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 = C.JSInt_methods._shrOtherPositive$1(bitNum, 3);
      for (t1 = lastBit - 7; bitNum < t1; byteNum = byteNum0) {
        byteNum0 = byteNum + 1;
        J.$indexSet$ax(buffer.buffer, buffer.offset + byteNum, 255);
        bitNum += 8;
      }
      for (; bitNum < lastBit;) {
        byteNum = C.JSInt_methods._shrOtherPositive$1(bitNum, 3);
        t1 = J.$index$asx(buffer.buffer, buffer.offset + byteNum);
        t2 = C.JSInt_methods.$shl(1, 7 - (bitNum & 7));
        J.$indexSet$ax(buffer.buffer, buffer.offset + byteNum, (t1 | t2) >>> 0);
        ++bitNum;
      }
    },
    _nextNBits$1: function(bitsToGet) {
      var b, next, next2next, t2, bitsLeft, bitsFromNextByte, bitsFromNext2NextByte, bitsFromNextByte0, i1, i2, _this = this,
        t1 = _this.get$data(_this),
        l = t1.end - t1.offset - 1,
        bp = _this.bytePointer;
      t1 = _this.fillOrder;
      if (t1 === 1) {
        t1 = _this.get$data(_this);
        bp.toString;
        b = J.$index$asx(t1.buffer, t1.offset + bp);
        if (bp === l) {
          next = 0;
          next2next = 0;
        } else {
          t1 = bp + 1;
          if (t1 === l) {
            t2 = _this.get$data(_this);
            next = J.$index$asx(t2.buffer, t2.offset + t1);
            next2next = 0;
          } else {
            t2 = _this.get$data(_this);
            next = J.$index$asx(t2.buffer, t2.offset + t1);
            t1 = _this.get$data(_this);
            next2next = J.$index$asx(t1.buffer, t1.offset + (bp + 2));
          }
        }
      } else if (t1 === 2) {
        t1 = _this.get$data(_this);
        bp.toString;
        b = C.List_VvJ[J.$index$asx(t1.buffer, t1.offset + bp) & 255];
        if (bp === l) {
          next = 0;
          next2next = 0;
        } else {
          t1 = bp + 1;
          if (t1 === l) {
            t2 = _this.get$data(_this);
            next = C.List_VvJ[J.$index$asx(t2.buffer, t2.offset + t1) & 255];
            next2next = 0;
          } else {
            t2 = _this.get$data(_this);
            next = C.List_VvJ[J.$index$asx(t2.buffer, t2.offset + t1) & 255];
            t1 = _this.get$data(_this);
            next2next = C.List_VvJ[J.$index$asx(t1.buffer, t1.offset + (bp + 2)) & 255];
          }
        }
      } else
        throw H.wrapException(K.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;
      }
      t1 = _this.bytePointer;
      t1.toString;
      t1 = _this.bytePointer = t1 + 1;
      i1 = C.JSInt_methods.$shl(b & C.List_knt[bitsLeft], bitsFromNextByte);
      i2 = C.JSInt_methods._shrReceiverPositive$1(next & C.List_knt0[bitsFromNextByte0], 8 - bitsFromNextByte0);
      if (bitsFromNext2NextByte !== 0) {
        i2 = C.JSInt_methods.$shl(i2, bitsFromNext2NextByte) | C.JSInt_methods._shrReceiverPositive$1(next2next & C.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: function(bitsToGet) {
      var b, next, bitsLeft, bitsFromNextByte, shift, i1, _this = this,
        t1 = _this.get$data(_this),
        l = t1.end - t1.offset - 1,
        bp = _this.bytePointer;
      t1 = _this.fillOrder;
      if (t1 === 1) {
        t1 = _this.get$data(_this);
        bp.toString;
        b = J.$index$asx(t1.buffer, t1.offset + bp);
        if (bp === l)
          next = 0;
        else {
          t1 = _this.get$data(_this);
          next = J.$index$asx(t1.buffer, t1.offset + (bp + 1));
        }
      } else if (t1 === 2) {
        t1 = _this.get$data(_this);
        bp.toString;
        b = C.List_VvJ[J.$index$asx(t1.buffer, t1.offset + bp) & 255];
        if (bp === l)
          next = 0;
        else {
          t1 = _this.get$data(_this);
          next = C.List_VvJ[J.$index$asx(t1.buffer, t1.offset + (bp + 1)) & 255];
        }
      } else
        throw H.wrapException(K.ImageException$("TIFFFaxDecoder7"));
      t1 = _this.bitPointer;
      t1.toString;
      bitsLeft = 8 - t1;
      bitsFromNextByte = bitsToGet - bitsLeft;
      shift = bitsLeft - bitsToGet;
      if (shift >= 0) {
        i1 = C.JSInt_methods._shrReceiverPositive$1(b & C.List_knt[bitsLeft], shift);
        t1 += bitsToGet;
        _this.bitPointer = t1;
        if (t1 === 8) {
          _this.bitPointer = 0;
          t1 = _this.bytePointer;
          t1.toString;
          _this.bytePointer = t1 + 1;
        }
      } else {
        i1 = (C.JSInt_methods.$shl(b & C.List_knt[bitsLeft], -shift) | C.JSInt_methods._shrReceiverPositive$1(next & C.List_knt0[bitsFromNextByte], 8 - bitsFromNextByte)) >>> 0;
        t1 = _this.bytePointer;
        t1.toString;
        _this.bytePointer = t1 + 1;
        _this.bitPointer = bitsFromNextByte;
      }
      return i1;
    },
    _updatePointer$1: function(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;
    },
    set$width: function(receiver, val) {
      return this.width = val;
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  U.TiffImage.prototype = {
    get$tilesX: function() {
      var t1 = this.__TiffImage_tilesX;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("tilesX")) : t1;
    },
    TiffImage$1: function(p) {
      var t1, i, tag, type, numValues, entry, t2, len, l, t3, v, _this = this,
        p3 = Z.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 G.TiffEntry(tag, type, numValues, p3);
        if (numValues * (type < 13 && type > 0 ? C.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 = _this.__TiffImage_colorMapGreen = t2.length / 3 | 0;
          _this.__TiffImage_colorMapBlue = (t2 === $ ? H.throwExpression(H.LateError$fieldNI("colorMapGreen")) : t2) * 2;
        }
      }
      if (_this.width == null || _this.height == null)
        return;
      t2 = _this.colorMap;
      if (t2 != null && _this.bitsPerSample === 8)
        for (len = t2.length, i = 0; i < len; ++i)
          t2[i] = C.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;
      t2.toString;
      t3 = _this.tileWidth;
      t3.toString;
      _this.__TiffImage_tilesX = C.JSInt_methods.$tdiv(t2 + t3 - 1, t3);
      t3 = _this.height;
      t3.toString;
      t2 = _this.tileHeight;
      t2.toString;
      _this.__TiffImage_tilesY = C.JSInt_methods.$tdiv(t3 + t2 - 1, t2);
      _this.samplesPerPixel;
      _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 (C.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 (C.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 = v[0];
              _this.__TiffImage_chromaSubH = t1;
              t2 = v[1];
              _this.__TiffImage_chromaSubV = t2;
            } else {
              _this.__TiffImage_chromaSubV = _this.__TiffImage_chromaSubH = 2;
              t1 = 2;
              t2 = 2;
            }
            if (t1 === $)
              t1 = H.throwExpression(H.LateError$fieldNI("chromaSubH"));
            if (t1 * (t2 === $ ? H.throwExpression(H.LateError$fieldNI("chromaSubV")) : t2) === 1)
              _this.imageType = 8;
            else if (_this.bitsPerSample === 8 && _this.samplesPerPixel === 3)
              _this.imageType = 7;
          }
          break;
        default:
          if (C.JSInt_methods.$mod(_this.bitsPerSample, 8) === 0)
            _this.imageType = 8;
          break;
      }
    },
    decode$1: function(_, p) {
      var t2, tileY, ti, tileX, _this = this,
        t1 = _this.width;
      t1.toString;
      t2 = _this.height;
      t2.toString;
      _this.image = U.Image$0(t1, t2, C.Channels_1);
      tileY = 0;
      ti = 0;
      while (true) {
        t1 = _this.__TiffImage_tilesY;
        if (!(tileY < (t1 === $ ? H.throwExpression(H.LateError$fieldNI("tilesY")) : t1)))
          break;
        tileX = 0;
        while (true) {
          t1 = _this.__TiffImage_tilesX;
          if (!(tileX < (t1 === $ ? H.throwExpression(H.LateError$fieldNI("tilesX")) : t1)))
            break;
          _this._decodeTile$3(p, tileX, tileY);
          ++tileX;
          ++ti;
        }
        ++tileY;
      }
      t1 = _this.image;
      t1.toString;
      return t1;
    },
    _decodeTile$3: function(p, tileX, tileY) {
      var byteCount, bdata, decoder, e, tileIndex, t1, outX, t2, outY, bytesInThisTile, exception, j, i, count, len, t3, t4, tile, py, y, px, x, sample, gray, c, alpha, t5, r, g, b, ri, gi, bi, a, _this = this, _null = null,
        _s11_ = "colorMapRed",
        _s13_ = "colorMapGreen",
        _s12_ = "colorMapBlue";
      if (_this.imageType === 0) {
        _this._decodeBilevelTile$3(p, tileX, tileY);
        return;
      }
      tileIndex = tileY * _this.get$tilesX() + tileX;
      p.offset = _this.tileOffsets[tileIndex];
      t1 = _this.tileWidth;
      t1.toString;
      outX = tileX * t1;
      t2 = _this.tileHeight;
      t2.toString;
      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 = Z.InputBuffer$(new Uint8Array(bytesInThisTile), false, _null, 0);
          decoder = G.LzwDecoder$();
          try {
            J.decode$2$x(decoder, Z.InputBuffer$from(p, byteCount, 0), bdata.buffer);
          } catch (exception) {
            e = H.unwrapException(exception);
            P.print(e);
          }
          if (_this.predictor === 2) {
            j = 0;
            while (true) {
              t1 = _this.tileHeight;
              t1.toString;
              if (!(j < t1))
                break;
              i = _this.samplesPerPixel;
              t1 = _this.tileWidth;
              t1.toString;
              count = i * (j * t1 + 1);
              for (len = t1 * i; i < len; ++i) {
                t1 = bdata;
                t2 = J.$index$asx(t1.buffer, t1.offset + count);
                t3 = bdata;
                t4 = _this.samplesPerPixel;
                t4 = J.$index$asx(t3.buffer, t3.offset + (count - t4));
                J.$indexSet$ax(t1.buffer, t1.offset + count, t2 + t4);
                ++count;
              }
              ++j;
            }
          }
        } else if (t1 === 32773) {
          bdata = Z.InputBuffer$(new Uint8Array(bytesInThisTile), false, _null, 0);
          _this._decodePackbits$3(p, bytesInThisTile, bdata.buffer);
        } else if (t1 === 32946) {
          t1 = S.Inflate$(p.toList$2(0, 0, byteCount)).output;
          bdata = Z.InputBuffer$(type$.List_int._as(C.NativeByteBuffer_methods.asUint8List$2(t1._output_stream$_buffer.buffer, 0, t1._output_stream$_length)), false, _null, 0);
        } else if (t1 === 8)
          bdata = Z.InputBuffer$(C.C__ZLibDecoder.decodeBuffer$2$verify(T.InputStream$(p.toList$2(0, 0, byteCount), 1, _null, 0), false), false, _null, 0);
        else if (t1 === 6) {
          if (_this.image == null) {
            t1 = _this.width;
            t1.toString;
            t2 = _this.height;
            t2.toString;
            _this.image = U.Image$0(t1, t2, C.Channels_1);
          }
          tile = new Z.JpegDecoder().decodeImage$1(p.toList$2(0, 0, byteCount));
          t1 = _this.image;
          t2 = _this.tileWidth;
          t3 = _this.tileHeight;
          t3.toString;
          _this._jpegToImage$6(tile, t1, outX, outY, t2, t3);
          if (_this.hdrImage != null) {
            t1 = _this.image;
            t1.toString;
            t2 = new F.HdrImage(P.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_String, type$.HdrSlice));
            t2.HdrImage$fromImage$3$bitsPerSample$type(t1, 16, 3);
            _this.hdrImage = t2;
          }
          return;
        } else
          throw H.wrapException(K.ImageException$("Unsupported Compression Type: " + H.S(t1)));
        py = outY;
        y = 0;
        while (true) {
          t1 = _this.tileHeight;
          t1.toString;
          if (y < t1) {
            t1 = _this.height;
            t1.toString;
            t1 = py < t1;
          } else
            t1 = false;
          if (!t1)
            break;
          px = outX;
          x = 0;
          while (true) {
            t1 = _this.tileWidth;
            t1.toString;
            if (x < t1) {
              t1 = _this.width;
              t1.toString;
              t1 = px < t1;
            } else
              t1 = false;
            if (!t1)
              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)
                    Q.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 = C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2(sample * 255, 0, 255));
                  if (_this.photometricType === 3 && _this.colorMap != null) {
                    t1 = _this.colorMap;
                    t1.toString;
                    t2 = _this.__TiffImage_colorMapRed;
                    t2 = t1[(t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s11_)) : t2) + gray];
                    t3 = _this.__TiffImage_colorMapGreen;
                    t3 = t1[(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t3) + gray];
                    t4 = _this.__TiffImage_colorMapBlue;
                    t1 = t1[(t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s12_)) : t4) + gray];
                    c = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(J.clamp$2$n(t1, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(J.clamp$2$n(t3, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(J.clamp$2$n(t2, 0, 255))) >>> 0;
                  } else
                    c = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(gray, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(gray, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.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;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    t3 = J.$index$asx(t2, t3);
                    $.$get$__uint8()[0] = t3;
                    gray = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    gray = J.$index$asx(t2, t3);
                  }
                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 = C.JSInt_methods._shrOtherPositive$1(gray, 8);
                  else if (t1 === 32)
                    gray = C.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;
                    t2 = t1[(t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s11_)) : t2) + gray];
                    t3 = _this.__TiffImage_colorMapGreen;
                    t3 = t1[(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t3) + gray];
                    t4 = _this.__TiffImage_colorMapBlue;
                    t1 = t1[(t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s12_)) : t4) + gray];
                    c = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(J.clamp$2$n(t1, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(J.clamp$2$n(t3, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(J.clamp$2$n(t2, 0, 255))) >>> 0;
                  } else
                    c = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(J.clamp$2$n(gray, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(gray, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.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) {
                if (_this.sampleFormat === 2) {
                  t1 = bdata;
                  t2 = t1.buffer;
                  t3 = t1.offset;
                  t1.offset = t3 + 1;
                  t3 = J.$index$asx(t2, t3);
                  $.$get$__uint8()[0] = t3;
                  gray = $.$get$__uint8ToInt8()[0];
                } else {
                  t1 = bdata;
                  t2 = t1.buffer;
                  t3 = t1.offset;
                  t1.offset = t3 + 1;
                  gray = J.$index$asx(t2, t3);
                }
                if (_this.sampleFormat === 2) {
                  t1 = bdata;
                  t2 = t1.buffer;
                  t3 = t1.offset;
                  t1.offset = t3 + 1;
                  t3 = J.$index$asx(t2, t3);
                  $.$get$__uint8()[0] = t3;
                  alpha = $.$get$__uint8ToInt8()[0];
                } else {
                  t1 = bdata;
                  t2 = t1.buffer;
                  t3 = t1.offset;
                  t1.offset = t3 + 1;
                  alpha = J.$index$asx(t2, t3);
                }
              } 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 = C.JSInt_methods._shrOtherPositive$1(gray, 8);
                else if (t1 === 32)
                  gray = C.JSInt_methods._shrOtherPositive$1(gray, 24);
                if (t2)
                  alpha = C.JSInt_methods._shrOtherPositive$1(alpha, 8);
                else if (t1 === 32)
                  alpha = C.JSInt_methods._shrOtherPositive$1(alpha, 24);
                t1 = C.JSNumber_methods.toInt$0(J.clamp$2$n(alpha, 0, 255));
                t2 = C.JSNumber_methods.toInt$0(J.clamp$2$n(gray, 0, 255));
                t3 = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(gray, 0, 255));
                t4 = C.JSNumber_methods.toInt$0(C.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)
                    Q.Half__initialize();
                  r = $.Half__toFloatFloat32[t1];
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    Q.Half__initialize();
                  g = $.Half__toFloatFloat32[t1];
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    Q.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 = C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2(r * 255, 0, 255));
                  gi = C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2(g * 255, 0, 255));
                  bi = C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2(b * 255, 0, 255));
                  t1 = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255, 0, 255));
                  t2 = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(bi, 0, 255));
                  t3 = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(gi, 0, 255));
                  t4 = C.JSNumber_methods.toInt$0(C.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) {
                  if (t1 === 2) {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    t3 = J.$index$asx(t2, t3);
                    $.$get$__uint8()[0] = t3;
                    r = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    r = J.$index$asx(t2, t3);
                  }
                  if (_this.sampleFormat === 2) {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    t3 = J.$index$asx(t2, t3);
                    $.$get$__uint8()[0] = t3;
                    g = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    g = J.$index$asx(t2, t3);
                  }
                  if (_this.sampleFormat === 2) {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    t3 = J.$index$asx(t2, t3);
                    $.$get$__uint8()[0] = t3;
                    b = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    b = J.$index$asx(t2, t3);
                  }
                } 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 = C.JSInt_methods._shrOtherPositive$1(r, 8);
                  else if (t1 === 32)
                    r = C.JSInt_methods._shrOtherPositive$1(r, 24);
                  if (t2)
                    g = C.JSInt_methods._shrOtherPositive$1(g, 8);
                  else if (t1 === 32)
                    g = C.JSInt_methods._shrOtherPositive$1(g, 24);
                  if (t2)
                    b = C.JSInt_methods._shrOtherPositive$1(b, 8);
                  else if (t1 === 32)
                    b = C.JSInt_methods._shrOtherPositive$1(b, 24);
                  t1 = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(255, 0, 255));
                  t2 = C.JSNumber_methods.toInt$0(J.clamp$2$n(b, 0, 255));
                  t3 = C.JSNumber_methods.toInt$0(J.clamp$2$n(g, 0, 255));
                  t4 = C.JSNumber_methods.toInt$0(J.clamp$2$n(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)
                    Q.Half__initialize();
                  r = $.Half__toFloatFloat32[t1];
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    Q.Half__initialize();
                  g = $.Half__toFloatFloat32[t1];
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    Q.Half__initialize();
                  b = $.Half__toFloatFloat32[t1];
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    Q.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 = C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2(r * 255, 0, 255));
                  gi = C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2(g * 255, 0, 255));
                  bi = C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2(b * 255, 0, 255));
                  t1 = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2(a * 255, 0, 255)), 0, 255));
                  t2 = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(bi, 0, 255));
                  t3 = C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(gi, 0, 255));
                  t4 = C.JSNumber_methods.toInt$0(C.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) {
                  if (t1 === 2) {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    t3 = J.$index$asx(t2, t3);
                    $.$get$__uint8()[0] = t3;
                    r = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    r = J.$index$asx(t2, t3);
                  }
                  if (_this.sampleFormat === 2) {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    t3 = J.$index$asx(t2, t3);
                    $.$get$__uint8()[0] = t3;
                    g = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    g = J.$index$asx(t2, t3);
                  }
                  if (_this.sampleFormat === 2) {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    t3 = J.$index$asx(t2, t3);
                    $.$get$__uint8()[0] = t3;
                    b = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    b = J.$index$asx(t2, t3);
                  }
                  if (_this.sampleFormat === 2) {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    t3 = J.$index$asx(t2, t3);
                    $.$get$__uint8()[0] = t3;
                    a = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    t2 = t1.buffer;
                    t3 = t1.offset;
                    t1.offset = t3 + 1;
                    a = J.$index$asx(t2, t3);
                  }
                } 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 = C.JSInt_methods._shrOtherPositive$1(r, 8);
                  else if (t1 === 32)
                    r = C.JSInt_methods._shrOtherPositive$1(r, 24);
                  if (t2)
                    g = C.JSInt_methods._shrOtherPositive$1(g, 8);
                  else if (t1 === 32)
                    g = C.JSInt_methods._shrOtherPositive$1(g, 24);
                  if (t2)
                    b = C.JSInt_methods._shrOtherPositive$1(b, 8);
                  else if (t1 === 32)
                    b = C.JSInt_methods._shrOtherPositive$1(b, 24);
                  if (t2)
                    a = C.JSInt_methods._shrOtherPositive$1(a, 8);
                  else if (t1 === 32)
                    a = C.JSInt_methods._shrOtherPositive$1(a, 24);
                  t1 = C.JSNumber_methods.toInt$0(J.clamp$2$n(a, 0, 255));
                  t2 = C.JSNumber_methods.toInt$0(J.clamp$2$n(b, 0, 255));
                  t3 = C.JSNumber_methods.toInt$0(J.clamp$2$n(g, 0, 255));
                  t4 = C.JSNumber_methods.toInt$0(J.clamp$2$n(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 H.wrapException(K.ImageException$("Unsupported bitsPerSample: " + H.S(t1)));
    },
    _jpegToImage$6: function(tile, image, outX, outY, tileWidth, tileHeight) {
      var t1, t2, y, t3, x;
      for (t1 = tile.data, t2 = tile.width, y = 0; y < tileHeight; ++y) {
        tileWidth.toString;
        t3 = y + outY;
        x = 0;
        for (; x < tileWidth; ++x) {
          image.toString;
          image.data[t3 * image.width + (x + outX)] = t1[y * t2 + x];
        }
      }
    },
    _decodeBilevelTile$3: function(p, tileX, tileY) {
      var bdata, t1, outX, t2, outY, byteCount, t3, bytesInThisTile, j, i, count, t4, exception, br, white, black, py, y, px, x, _this = this, _null = null, _4278190080 = 4278190080, _4294967295 = 4294967295,
        tileIndex = tileY * _this.get$tilesX() + tileX;
      p.offset = _this.tileOffsets[tileIndex];
      t1 = _this.tileWidth;
      t1.toString;
      outX = tileX * t1;
      t2 = _this.tileHeight;
      t2.toString;
      outY = tileY * t2;
      byteCount = _this.tileByteCounts[tileIndex];
      bdata = null;
      t3 = _this.compression;
      if (t3 === 32773) {
        bytesInThisTile = C.JSInt_methods.$mod(t1, 8) === 0 ? C.JSInt_methods._tdivFast$1(t1, 8) * t2 : (C.JSInt_methods._tdivFast$1(t1, 8) + 1) * t2;
        bdata = Z.InputBuffer$(new Uint8Array(t1 * t2), false, _null, 0);
        _this._decodePackbits$3(p, bytesInThisTile, bdata.buffer);
      } else if (t3 === 5) {
        bdata = Z.InputBuffer$(new Uint8Array(t1 * t2), false, _null, 0);
        G.LzwDecoder$().decode$2(0, Z.InputBuffer$from(p, byteCount, 0), bdata.buffer);
        if (_this.predictor === 2) {
          j = 0;
          while (true) {
            t1 = _this.height;
            t1.toString;
            if (!(j < t1))
              break;
            i = _this.samplesPerPixel;
            t1 = _this.width;
            t1.toString;
            count = i * (j * t1 + 1);
            while (true) {
              t1 = _this.width;
              t1.toString;
              if (!(i < t1 * _this.samplesPerPixel))
                break;
              t1 = bdata;
              t2 = J.$index$asx(t1.buffer, t1.offset + count);
              t3 = bdata;
              t4 = _this.samplesPerPixel;
              t4 = J.$index$asx(t3.buffer, t3.offset + (count - t4));
              J.$indexSet$ax(t1.buffer, t1.offset + count, t2 + t4);
              ++count;
              ++i;
            }
            ++j;
          }
        }
      } else if (t3 === 2) {
        bdata = Z.InputBuffer$(new Uint8Array(t1 * t2), false, _null, 0);
        try {
          t1 = _this.fillOrder;
          t2 = _this.tileWidth;
          t2.toString;
          t3 = _this.tileHeight;
          t3.toString;
          t3 = A.TiffFaxDecoder$(t1, t2, t3);
          t2 = bdata;
          t1 = _this.tileHeight;
          t1.toString;
          t3.decode1D$4(t2, p, 0, t1);
        } catch (exception) {
          H.unwrapException(exception);
        }
      } else if (t3 === 3) {
        bdata = Z.InputBuffer$(new Uint8Array(t1 * t2), false, _null, 0);
        try {
          t1 = _this.fillOrder;
          t2 = _this.tileWidth;
          t2.toString;
          t3 = _this.tileHeight;
          t3.toString;
          t3 = A.TiffFaxDecoder$(t1, t2, t3);
          t2 = bdata;
          t1 = _this.tileHeight;
          t1.toString;
          t4 = _this.t4Options;
          t4.toString;
          t3.decode2D$5(t2, p, 0, t1, t4);
        } catch (exception) {
          H.unwrapException(exception);
        }
      } else if (t3 === 4) {
        bdata = Z.InputBuffer$(new Uint8Array(t1 * t2), false, _null, 0);
        try {
          t1 = _this.fillOrder;
          t2 = _this.tileWidth;
          t2.toString;
          t3 = _this.tileHeight;
          t3.toString;
          t3 = A.TiffFaxDecoder$(t1, t2, t3);
          t2 = bdata;
          t1 = _this.tileHeight;
          t1.toString;
          t4 = _this.t6Options;
          t4.toString;
          t3.decodeT6$5(t2, p, 0, t1, t4);
        } catch (exception) {
          H.unwrapException(exception);
        }
      } else if (t3 === 8)
        bdata = Z.InputBuffer$(C.C__ZLibDecoder.decodeBuffer$2$verify(T.InputStream$(p.toList$2(0, 0, byteCount), 1, _null, 0), false), false, _null, 0);
      else if (t3 === 32946) {
        t1 = S.Inflate$(p.toList$2(0, 0, byteCount)).output;
        bdata = Z.InputBuffer$(type$.List_int._as(C.NativeByteBuffer_methods.asUint8List$2(t1._output_stream$_buffer.buffer, 0, t1._output_stream$_length)), false, _null, 0);
      } else if (t3 === 1)
        bdata = p;
      else
        throw H.wrapException(K.ImageException$("Unsupported Compression Type: " + H.S(t3)));
      br = new A.TiffBitReader(bdata);
      t1 = _this.isWhiteZero;
      white = t1 ? _4278190080 : _4294967295;
      black = t1 ? _4294967295 : _4278190080;
      py = outY;
      y = 0;
      while (true) {
        t1 = _this.tileHeight;
        t1.toString;
        if (!(y < t1))
          break;
        px = outX;
        x = 0;
        while (true) {
          t1 = _this.tileWidth;
          t1.toString;
          if (!(x < t1))
            break;
          t1 = br.readBits$1(1);
          t2 = _this.image;
          if (t1 === 0)
            t2.data[py * t2.width + px] = black;
          else
            t2.data[py * t2.width + px] = white;
          ++x;
          ++px;
        }
        br._bitPos = 0;
        ++y;
        ++py;
      }
    },
    _decodePackbits$3: function(data, arraySize, dst) {
      var t1, srcCount, dstCount, srcCount0, t2, b, i, dstCount0, t3;
      for (t1 = J.getInterceptor$ax(dst), srcCount = 0, dstCount = 0; dstCount < arraySize;) {
        srcCount0 = srcCount + 1;
        t2 = J.$index$asx(data.buffer, data.offset + srcCount);
        $.$get$__uint8()[0] = t2;
        b = $.$get$__uint8ToInt8()[0];
        if (b >= 0 && b <= 127)
          for (t2 = b + 1, srcCount = srcCount0, i = 0; i < t2; ++i, dstCount = dstCount0, srcCount = srcCount0) {
            dstCount0 = dstCount + 1;
            srcCount0 = srcCount + 1;
            t1.$indexSet(dst, dstCount, J.$index$asx(data.buffer, data.offset + srcCount));
          }
        else {
          t2 = b <= -1 && b >= -127;
          srcCount = srcCount0 + 1;
          if (t2) {
            t2 = J.$index$asx(data.buffer, data.offset + srcCount0);
            for (t3 = -b + 1, i = 0; i < t3; ++i, dstCount = dstCount0) {
              dstCount0 = dstCount + 1;
              t1.$indexSet(dst, dstCount, t2);
            }
          }
        }
      }
    },
    _readTag$2: function(type, defaultValue) {
      var t1 = this.tags;
      if (!t1.containsKey$1(0, type))
        return defaultValue;
      return t1.$index(0, type).readValue$0(0);
    },
    _readTag$1: function(type) {
      return this._readTag$2(type, 0);
    },
    _readTagList$1: function(type) {
      var t1 = this.tags;
      if (!t1.containsKey$1(0, type))
        return null;
      return t1.$index(0, type).readValues$0();
    },
    set$width: function(receiver, val) {
      return this.width = val;
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  A.TiffInfo.prototype = {};
  G.LzwDecoder.prototype = {
    decode$2: function(_, p, out) {
      var outLen, code, t1, oldCode, t2, t3, i, t4, _this = this,
        _s11_ = "_outPointer",
        _s4_ = "_out",
        _s13_ = "_bufferLength";
      _this.__LzwDecoder__out = out;
      outLen = J.get$length$asx(out);
      _this.__LzwDecoder__outPointer = 0;
      _this.__LzwDecoder__data = type$.Uint8List._as(p.buffer);
      _this.__LzwDecoder__dataLength = J.get$length$asx(_this.get$_tiff_lzw_decoder$_data());
      _this._bytePointer = p.offset;
      if (J.$index$asx(_this.get$_tiff_lzw_decoder$_data(), 0) === 0 && J.$index$asx(_this.get$_tiff_lzw_decoder$_data(), 1) === 1)
        throw H.wrapException(K.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;
          t2 = (t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s11_)) : 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 === $)
            t2 = H.throwExpression(H.LateError$fieldNI(_s4_));
          t3 = _this.__LzwDecoder__outPointer;
          if (t3 === $)
            t3 = H.throwExpression(H.LateError$fieldNI(_s11_));
          _this.__LzwDecoder__outPointer = t3 + 1;
          J.$indexSet$ax(t2, t3, code);
          oldCode = code;
        } else {
          t2 = _this._tableIndex;
          t2.toString;
          if (code < t2) {
            _this._getString$1(code);
            t2 = _this.__LzwDecoder__bufferLength;
            i = (t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t2) - 1;
            for (; i >= 0; --i) {
              t2 = _this.__LzwDecoder__out;
              if (t2 === $)
                t2 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t3 = _this.__LzwDecoder__outPointer;
              if (t3 === $)
                t3 = H.throwExpression(H.LateError$fieldNI(_s11_));
              _this.__LzwDecoder__outPointer = t3 + 1;
              J.$indexSet$ax(t2, t3, t1[i]);
            }
            t2 = _this.__LzwDecoder__bufferLength;
            _this._addString$2(oldCode, t1[(t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t2) - 1]);
          } else {
            _this._getString$1(oldCode);
            t2 = _this.__LzwDecoder__bufferLength;
            i = (t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t2) - 1;
            for (; i >= 0; --i) {
              t2 = _this.__LzwDecoder__out;
              if (t2 === $)
                t2 = H.throwExpression(H.LateError$fieldNI(_s4_));
              t3 = _this.__LzwDecoder__outPointer;
              if (t3 === $)
                t3 = H.throwExpression(H.LateError$fieldNI(_s11_));
              _this.__LzwDecoder__outPointer = t3 + 1;
              J.$indexSet$ax(t2, t3, t1[i]);
            }
            t2 = _this.__LzwDecoder__out;
            if (t2 === $)
              t2 = H.throwExpression(H.LateError$fieldNI(_s4_));
            t3 = _this.__LzwDecoder__outPointer;
            if (t3 === $)
              t3 = H.throwExpression(H.LateError$fieldNI(_s11_));
            _this.__LzwDecoder__outPointer = t3 + 1;
            t4 = _this.__LzwDecoder__bufferLength;
            J.$indexSet$ax(t2, t3, t1[(t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t4) - 1]);
            t2 = _this.__LzwDecoder__bufferLength;
            _this._addString$2(oldCode, t1[(t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s13_)) : t2) - 1]);
          }
          oldCode = code;
        }
        code = _this._getNextCode$0();
      }
    },
    _addString$2: function(string, newString) {
      var _this = this,
        t1 = _this.get$_tiff_lzw_decoder$_table(),
        t2 = _this._tableIndex;
      t2.toString;
      J.$indexSet$ax(t1, t2, newString);
      t2 = _this.get$_tiff_lzw_decoder$_prefix();
      t1 = _this._tableIndex;
      t1.toString;
      J.$indexSet$ax(t2, t1, string);
      t1 = _this._tableIndex;
      t1.toString;
      t1 = _this._tableIndex = t1 + 1;
      if (t1 === 511)
        _this._bitsToGet = 10;
      else if (t1 === 1023)
        _this._bitsToGet = 11;
      else if (t1 === 2047)
        _this._bitsToGet = 12;
    },
    _getString$1: function(code) {
      var t1, t2, c, t3, _this = this;
      _this.__LzwDecoder__bufferLength = 0;
      t1 = _this._tiff_lzw_decoder$_buffer;
      t2 = _this.get$_bufferLength();
      _this.__LzwDecoder__bufferLength = t2 + 1;
      t1[t2] = J.$index$asx(_this.get$_tiff_lzw_decoder$_table(), code);
      c = J.$index$asx(_this.get$_tiff_lzw_decoder$_prefix(), code);
      for (; c !== 4098;) {
        t2 = _this.__LzwDecoder__bufferLength;
        if (t2 === $)
          t2 = H.throwExpression(H.LateError$fieldNI("_bufferLength"));
        _this.__LzwDecoder__bufferLength = t2 + 1;
        t3 = _this.__LzwDecoder__table;
        t1[t2] = J.$index$asx(t3 === $ ? H.throwExpression(H.LateError$fieldNI("_table")) : t3, c);
        t2 = _this.__LzwDecoder__prefix;
        c = J.$index$asx(t2 === $ ? H.throwExpression(H.LateError$fieldNI("_prefix")) : t2, c);
      }
    },
    _getNextCode$0: function() {
      var t1, t2, t3, _this = this;
      if (_this._bytePointer >= _this.get$_dataLength())
        return 257;
      for (; t1 = _this._nextBits, t2 = _this._bitsToGet, t1 < t2;) {
        t1 = _this._bytePointer;
        t2 = _this.__LzwDecoder__dataLength;
        if (t1 >= (t2 === $ ? H.throwExpression(H.LateError$fieldNI("_dataLength")) : t2))
          return 257;
        t2 = _this._nextData;
        t3 = _this.__LzwDecoder__data;
        if (t3 === $)
          t3 = H.throwExpression(H.LateError$fieldNI("_data"));
        _this._bytePointer = t1 + 1;
        _this._nextData = (t2 << 8 >>> 0) + J.$index$asx(t3, t1) >>> 0;
        _this._nextBits += 8;
      }
      t1 -= t2;
      _this._nextBits = t1;
      return C.JSInt_methods._shrReceiverPositive$1(_this._nextData, t1) & C.List_511_1023_2047_4095[t2 - 9];
    },
    _initializeStringTable$0: function() {
      var i, t1, _this = this;
      _this.__LzwDecoder__table = new Uint8Array(4096);
      _this.__LzwDecoder__prefix = new Uint32Array(4096);
      J.fillRange$3$ax(_this.get$_tiff_lzw_decoder$_prefix(), 0, J.get$length$asx(_this.get$_tiff_lzw_decoder$_prefix()), 4098);
      for (i = 0; i < 256; ++i) {
        t1 = _this.__LzwDecoder__table;
        J.$indexSet$ax(t1 === $ ? H.throwExpression(H.LateError$fieldNI("_table")) : t1, i, i);
      }
      _this._bitsToGet = 9;
      _this._tableIndex = 258;
    },
    get$_tiff_lzw_decoder$_data: function() {
      var t1 = this.__LzwDecoder__data;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_data")) : t1;
    },
    get$_dataLength: function() {
      var t1 = this.__LzwDecoder__dataLength;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_dataLength")) : t1;
    },
    get$_tiff_lzw_decoder$_table: function() {
      var t1 = this.__LzwDecoder__table;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_table")) : t1;
    },
    get$_tiff_lzw_decoder$_prefix: function() {
      var t1 = this.__LzwDecoder__prefix;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_prefix")) : t1;
    },
    get$_bufferLength: function() {
      var t1 = this.__LzwDecoder__bufferLength;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_bufferLength")) : t1;
    }
  };
  N.TiffDecoder.prototype = {
    decodeImage$1: function(bytes) {
      var t1, _this = this;
      _this.__TiffDecoder__input = Z.InputBuffer$(bytes, false, null, 0);
      t1 = _this.info = _this._readHeader$1(_this.get$_tiff_decoder$_input());
      if (t1 == null)
        return null;
      return t1.images[0].decode$1(0, _this.get$_tiff_decoder$_input());
    },
    _readHeader$1: function(p) {
      var p2, img, t2, offset, t3, img0, t4, exception, t5, _null = null,
        t1 = H._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 = Z.InputBuffer$from(p, _null, 0);
      p2.offset = offset;
      for (t2 = type$.int, t3 = type$.TiffEntry; offset !== 0;) {
        img = null;
        try {
          img0 = new U.TiffImage(P.LinkedHashMap_LinkedHashMap$_empty(t2, t3));
          img0.TiffImage$1(p2);
          img = img0;
          t4 = img;
          if (!(t4.width != null && t4.height != null))
            break;
        } catch (exception) {
          H.unwrapException(exception);
          break;
        }
        t1.push(img);
        if (t1.length === 1) {
          t4 = t1[0];
          t5 = t4.width;
          t5.toString;
          info.width = t5;
          t4 = t4.height;
          t4.toString;
          info.height = t4;
        }
        offset = p2.readUint32$0();
        if (offset !== 0)
          p2.offset = offset;
      }
      return t1.length !== 0 ? info : _null;
    },
    get$_tiff_decoder$_input: function() {
      var t1 = this.__TiffDecoder__input;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_input")) : t1;
    }
  };
  A.VP8.prototype = {
    decodeHeader$0: function() {
      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: function(_) {
      var t1, _this = this;
      if (!_this._getHeaders$0())
        return null;
      t1 = _this._webp;
      _this.output = U.Image$0(t1.width, t1.height, C.Channels_1);
      _this._initFrame$0();
      if (!_this._parseFrame$0())
        return null;
      return _this.output;
    },
    _getHeaders$0: function() {
      var t1, i, t2, t3, _this = this;
      if (!_this.decodeHeader$0())
        return false;
      _this._proba = L.VP8Proba$();
      for (t1 = _this._dqm, i = 0; i < 4; ++i) {
        t2 = new Int32Array(2);
        t3 = new Int32Array(2);
        t1[i] = new L.VP8QuantMatrix(t2, t3, new Int32Array(2));
      }
      t1 = _this._webp;
      t2 = _this._picHeader.height = t1.height;
      t1 = t1.width;
      C.JSInt_methods._shrOtherPositive$1(t1, 8);
      C.JSInt_methods._shrOtherPositive$1(t2, 8);
      _this.__VP8__cropLeft = _this._cropTop = 0;
      _this.__VP8__cropRight = t1;
      _this._cropBottom = t2;
      _this._mbWidth = C.JSInt_methods._shrOtherPositive$1(t1 + 15, 4);
      _this._mbHeight = C.JSInt_methods._shrOtherPositive$1(t2 + 15, 4);
      _this.__VP8__segment = 0;
      t2 = _this.input;
      t1 = _this._frameHeader;
      _this.__VP8_br = B.VP8BitReader$(t2.subset$1(t1.get$partitionLength()));
      t1 = t1.get$partitionLength();
      t2.offset = t2.offset + t1;
      _this.get$br().getValue$1(1);
      _this.get$br().getValue$1(1);
      _this._parseSegmentHeader$2(_this._segmentHeader, _this._proba);
      _this._parseFilterHeader$0();
      if (!_this._parsePartitions$1(t2))
        return false;
      _this._parseQuant$0();
      _this.get$br().getValue$1(1);
      _this._parseProba$0();
      return true;
    },
    _parseSegmentHeader$2: function(hdr, proba) {
      var s, t2, value, _this = this, _s2_ = "br",
        t1 = _this.get$br().getValue$1(1) !== 0;
      hdr.useSegment = t1;
      if (t1) {
        hdr.updateMap = _this.get$br().getValue$1(1) !== 0;
        if (_this.get$br().getValue$1(1) !== 0) {
          hdr.absoluteDelta = _this.get$br().getValue$1(1) !== 0;
          for (t1 = hdr.quantizer, s = 0; s < 4; ++s) {
            t2 = _this.__VP8_br;
            if ((t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s2_)) : t2).getValue$1(1) !== 0) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                t2 = H.throwExpression(H.LateError$fieldNI(_s2_));
              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 === $ ? H.throwExpression(H.LateError$fieldNI(_s2_)) : t2).getValue$1(1) !== 0) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                t2 = H.throwExpression(H.LateError$fieldNI(_s2_));
              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 === $ ? H.throwExpression(H.LateError$fieldNI(_s2_)) : t2).getValue$1(1) !== 0) {
              t2 = _this.__VP8_br;
              t2 = (t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s2_)) : t2).getValue$1(8);
            } else
              t2 = 255;
            t1[s] = t2;
          }
      } else
        hdr.updateMap = false;
      return true;
    },
    _parseFilterHeader$0: function() {
      var t1, i, t2, value, _this = this, _s2_ = "br",
        hdr = _this._filterHeader;
      hdr.__VP8FilterHeader_simple = _this.get$br().getValue$1(1) !== 0;
      hdr.level = _this.get$br().getValue$1(6);
      hdr.__VP8FilterHeader_sharpness = _this.get$br().getValue$1(3);
      hdr.__VP8FilterHeader_useLfDelta = _this.get$br().getValue$1(1) !== 0;
      if (hdr.get$useLfDelta())
        if (_this.get$br().getValue$1(1) !== 0) {
          for (t1 = hdr.refLfDelta, i = 0; i < 4; ++i) {
            t2 = _this.__VP8_br;
            if ((t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s2_)) : t2).getValue$1(1) !== 0) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                t2 = H.throwExpression(H.LateError$fieldNI(_s2_));
              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 === $ ? H.throwExpression(H.LateError$fieldNI(_s2_)) : t2).getValue$1(1) !== 0) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                t2 = H.throwExpression(H.LateError$fieldNI(_s2_));
              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;
        t1 = (t1 === $ ? H.throwExpression(H.LateError$fieldNI("simple")) : t1) ? 1 : 2;
      }
      _this._filterType = t1;
      return true;
    },
    _parsePartitions$1: function(input) {
      var lastPart, partStart, t1, sz, p, szb, partEnd, t2, _this = this,
        bufEnd = input.end - input.offset;
      _this.__VP8__numPartitions = C.JSInt_methods._shlPositive$1(1, _this.get$br().getValue$1(2));
      lastPart = _this.get$_numPartitions() - 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);
        partEnd = partStart + ((J.$index$asx(szb.buffer, szb.offset) | J.$index$asx(szb.buffer, szb.offset + 1) << 8 | J.$index$asx(szb.buffer, szb.offset + 2) << 16) >>> 0);
        if (partEnd > bufEnd)
          partEnd = bufEnd;
        t2 = new B.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] = B.VP8BitReader$(input.subset$2$position(bufEnd - partStart, input.offset - input.start + partStart));
      return partStart < bufEnd;
    },
    _parseQuant$0: function() {
      var t1, t2, t3, t4, i, q, m, t5, t6, _this = this,
        base_q0 = _this.get$br().getValue$1(7),
        dqy1_dc = _this.get$br().getValue$1(1) !== 0 ? _this.get$br().getSignedValue$1(4) : 0,
        dqy2_dc = _this.get$br().getValue$1(1) !== 0 ? _this.get$br().getSignedValue$1(4) : 0,
        dqy2_ac = _this.get$br().getValue$1(1) !== 0 ? _this.get$br().getSignedValue$1(4) : 0,
        dquv_dc = _this.get$br().getValue$1(1) !== 0 ? _this.get$br().getSignedValue$1(4) : 0,
        dquv_ac = _this.get$br().getValue$1(1) !== 0 ? _this.get$br().getSignedValue$1(4) : 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] = C.List_8co1[t6];
        if (q < 0)
          t6 = 0;
        else
          t6 = q > 127 ? 127 : q;
        t5[1] = C.List_AiM[t6];
        t6 = m.y2Mat;
        t5 = q + dqy2_dc;
        if (t5 < 0)
          t5 = 0;
        else if (t5 > 127)
          t5 = 127;
        t6[0] = C.List_8co1[t5] * 2;
        t5 = q + dqy2_ac;
        if (t5 < 0)
          t5 = 0;
        else if (t5 > 127)
          t5 = 127;
        t6[1] = C.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] = C.List_8co1[t6];
        t6 = q + dquv_ac;
        if (t6 < 0)
          t6 = 0;
        else if (t6 > 127)
          t6 = 127;
        t5[1] = C.List_AiM[t6];
      }
    },
    _parseProba$0: function() {
      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 === $)
                t1 = H.throwExpression(H.LateError$fieldNI("br"));
              if (t1.getBit$1(C.List_MIe[t][b][c][p]) !== 0) {
                t1 = _this.__VP8_br;
                v = (t1 === $ ? H.throwExpression(H.LateError$fieldNI("br")) : t1).getValue$1(8);
              } else
                v = C.List_S8N[t][b][c][p];
              proba.bands[t][b].probas[c][p] = v;
            }
      _this.__VP8__useSkipProba = _this.get$br().getValue$1(1) !== 0;
      if (_this.get$_useSkipProba())
        _this.__VP8__skipP = _this.get$br().getValue$1(8);
    },
    _precomputeFilterStrengths$0: function() {
      var hdr, t2, t3, t4, s, baseLevel, t5, i4x4, info, level, ilevel, _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;
            info = J.$index$asx(J.$index$asx(t5 === $ ? H.throwExpression(H.LateError$fieldNI("_fStrengths")) : t5, s), i4x4);
            t5 = hdr.__VP8FilterHeader_useLfDelta;
            if (t5 === $ ? H.throwExpression(H.LateError$fieldNI("useLfDelta")) : 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 === $ ? H.throwExpression(H.LateError$fieldNI("sharpness")) : t5) > 0) {
                ilevel = t5 > 4 ? C.JSInt_methods._shrOtherPositive$1(level, 2) : C.JSInt_methods._shrOtherPositive$1(level, 1);
                if (ilevel > 9 - t5)
                  ilevel = 9 - t5;
              } 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: function() {
      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] = H._setArrayType([new L.VP8FInfo(), new L.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 L.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 = C.List_0_2_8[t4];
      extra_y = extra_rows * t3;
      extra_uv = (extra_rows / 2 | 0) * t2;
      _this.__VP8__cacheY = Z.InputBuffer$(new Uint8Array(16 * t3 + extra_y), false, _null, extra_y);
      t2 = _this._cacheUVStride;
      t2.toString;
      _this.__VP8__cacheU = Z.InputBuffer$(new Uint8Array(8 * t2 + extra_uv), false, _null, extra_uv);
      t2 = _this._cacheUVStride;
      t2.toString;
      _this.__VP8__cacheV = Z.InputBuffer$(new Uint8Array(8 * t2 + extra_uv), false, _null, extra_uv);
      t2 = t1.width;
      if (!H._isInt(t2))
        H.throwExpression(P.ArgumentError$("Invalid length " + H.S(t2)));
      _this.__VP8__tmpY = Z.InputBuffer$(new Uint8Array(t2), false, _null, 0);
      uvWidth = C.JSInt_methods._shrOtherPositive$1(t1.width + 1, 1);
      _this.__VP8__tmpU = Z.InputBuffer$(new Uint8Array(uvWidth), false, _null, 0);
      _this.__VP8__tmpV = Z.InputBuffer$(new Uint8Array(uvWidth), false, _null, 0);
      t1 = _this._filterType;
      t1.toString;
      extraPixels = C.List_0_2_8[t1];
      if (t1 === 2)
        _this.__VP8__tlMbY = _this.__VP8__tlMbX = 0;
      else {
        _this.__VP8__tlMbX = C.JSInt_methods._tdivFast$1(_this.get$_cropLeft() - extraPixels, 16);
        t1 = _this._cropTop;
        t1.toString;
        _this.__VP8__tlMbY = C.JSInt_methods._tdivFast$1(t1 - extraPixels, 16);
        if (_this.get$_tlMbX() < 0)
          _this.__VP8__tlMbX = 0;
        if (_this.get$_tlMbY() < 0)
          _this.__VP8__tlMbY = 0;
      }
      t1 = _this._cropBottom;
      t1.toString;
      _this._brMbY = C.JSInt_methods._tdivFast$1(t1 + 15 + extraPixels, 16);
      t1 = C.JSInt_methods._tdivFast$1(_this.get$_cropRight() + 15 + extraPixels, 16);
      _this._brMbX = t1;
      t2 = _this._mbWidth;
      t2.toString;
      if (t1 > t2)
        _this._brMbX = t2;
      t1 = _this._brMbY;
      t1.toString;
      t3 = _this._mbHeight;
      t3.toString;
      if (t1 > t3)
        _this._brMbY = t3;
      _length = t2 + 1;
      _list = J.JSArray_JSArray$allocateFixed(_length, type$.VP8MB);
      for (_i = 0; _i < _length; ++_i)
        _list[_i] = new L.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 L.VP8MBData(t2, new Uint8Array(16));
      }
      _this.__VP8__mbData = _list;
      t1 = _this._mbWidth;
      t1.toString;
      _this.__VP8__fInfo = P.List_List$filled(t1, _null, false, type$.nullable_VP8FInfo);
      _this._precomputeFilterStrengths$0();
      V.VP8Filter__initTables();
      _this.__VP8__dsp = new V.VP8Filter();
      return true;
    },
    _parseFrame$0: function() {
      var t1, t2, t3, t4, t5, tokenBr, left, mb, block, skip, t6, t7, useFilter, _this = this,
        _s7_ = "_mbInfo",
        _s2_ = "br",
        _s10_ = "isIntra4x4";
      _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;
        tokenBr = t3[(t4 & (t5 === $ ? H.throwExpression(H.LateError$fieldNI("_numPartitions")) : t5) - 1) >>> 0];
        while (true) {
          t4 = _this._mbX;
          t5 = _this._mbWidth;
          t5.toString;
          if (!(t4 < t5))
            break;
          t4 = _this.__VP8__mbInfo;
          left = J.$index$asx(t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s7_)) : t4, 0);
          t4 = _this.__VP8__mbInfo;
          if (t4 === $)
            t4 = H.throwExpression(H.LateError$fieldNI(_s7_));
          mb = J.$index$asx(t4, 1 + _this._mbX);
          t4 = _this.__VP8__mbData;
          if (t4 === $)
            t4 = H.throwExpression(H.LateError$fieldNI("_mbData"));
          block = J.$index$asx(t4, _this._mbX);
          if (t2.updateMap) {
            t4 = _this.__VP8_br;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s2_));
            t4 = t4.getBit$1(_this._proba.segments[0]);
            t5 = _this.__VP8_br;
            if (t4 === 0) {
              t4 = t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s2_)) : t5;
              t4 = t4.getBit$1(_this._proba.segments[1]);
            } else {
              t4 = t5 === $ ? H.throwExpression(H.LateError$fieldNI(_s2_)) : t5;
              t4 = 2 + t4.getBit$1(_this._proba.segments[2]);
            }
            _this.__VP8__segment = t4;
          }
          t4 = _this.__VP8__useSkipProba;
          if (t4 === $ ? H.throwExpression(H.LateError$fieldNI("_useSkipProba")) : t4) {
            t4 = _this.__VP8_br;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI(_s2_));
            t5 = _this.__VP8__skipP;
            skip = t4.getBit$1(t5 === $ ? H.throwExpression(H.LateError$fieldNI("_skipP")) : 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 === $ ? H.throwExpression(H.LateError$fieldNI(_s10_)) : 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 === $)
              t4 = H.throwExpression(H.LateError$fieldNI("_fInfo"));
            t5 = _this._mbX;
            t6 = _this.__VP8__fStrengths;
            if (t6 === $)
              t6 = H.throwExpression(H.LateError$fieldNI("_fStrengths"));
            t7 = _this.__VP8__segment;
            t6 = J.$index$asx(t6, t7 === $ ? H.throwExpression(H.LateError$fieldNI("_segment")) : t7);
            t7 = block.__VP8MBData_isIntra4x4;
            J.$indexSet$ax(t4, t5, J.$index$asx(t6, (t7 === $ ? H.throwExpression(H.LateError$fieldNI(_s10_)) : t7) ? 1 : 0));
            t4 = _this.__VP8__fInfo;
            if (t4 === $)
              t4 = H.throwExpression(H.LateError$fieldNI("_fInfo"));
            t4 = J.$index$asx(t4, _this._mbX);
            t4.toString;
            t4.fInner = t4.fInner || !skip;
          }
          ++_this._mbX;
        }
        t4 = _this.__VP8__mbInfo;
        left = J.$index$asx(t4 === $ ? H.throwExpression(H.LateError$fieldNI(_s7_)) : t4, 0);
        left.nzDc = left.nz = 0;
        C.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 (t4 >= (t5 === $ ? H.throwExpression(H.LateError$fieldNI("_tlMbY")) : 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: function() {
      var t2, block, j, t3, top_yuv, coeffs, bits, topRight, topRight32, t4, p, n, dst, bits_uv, c1, c2, y_out, u_out, _this = this, _null = null, _s4_ = "_dsp",
        mb_y = _this._mbY,
        y_dst = Z.InputBuffer$(_this.get$_yuvBlock(), false, _null, 40),
        u_dst = Z.InputBuffer$(_this.get$_yuvBlock(), false, _null, 584),
        v_dst = Z.InputBuffer$(_this.get$_yuvBlock(), 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;
        block = J.$index$asx(t2 === $ ? H.throwExpression(H.LateError$fieldNI("_mbData")) : 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 (j = 0; j < 16; ++j)
            J.$indexSet$ax(y_dst.buffer, y_dst.offset + (j * 32 - 1), 129);
          for (j = 0; j < 8; ++j) {
            t2 = j * 32 - 1;
            J.$indexSet$ax(u_dst.buffer, u_dst.offset + t2, 129);
            J.$indexSet$ax(v_dst.buffer, v_dst.offset + t2, 129);
          }
          if (t1) {
            J.$indexSet$ax(v_dst.buffer, v_dst.offset + -33, 129);
            J.$indexSet$ax(u_dst.buffer, u_dst.offset + -33, 129);
            J.$indexSet$ax(y_dst.buffer, y_dst.offset + -33, 129);
          }
        }
        t2 = _this.__VP8__yuvT;
        top_yuv = J.$index$asx(t2 === $ ? H.throwExpression(H.LateError$fieldNI("_yuvT")) : 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 === $ ? H.throwExpression(H.LateError$fieldNI("isIntra4x4")) : t2) {
          topRight = Z.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 === $)
                t2 = H.throwExpression(H.LateError$fieldNI("_yuvT"));
              topRight.memcpy$3(0, 4, J.$index$asx(t2, mb_x + 1).y);
            }
          }
          t2 = J.getInterceptor$asx(topRight32);
          p = t2.$index(topRight32, 0);
          t2.$indexSet(topRight32, 96, p);
          t2.$indexSet(topRight32, 64, p);
          t2.$indexSet(topRight32, 32, p);
          for (t2 = block.imodes, n = 0; n < 16; ++n, bits = bits << 2 >>> 0) {
            dst = Z.InputBuffer$from(y_dst, _null, C.List_cGl0[n]);
            C.List_sty[t2[n]].call$1(dst);
            bits.toString;
            t3 = n * 16;
            _this._doTransform$3(bits, new Z.InputBuffer(coeffs, t3, 384, t3, false), dst);
          }
        } else {
          t2 = A.VP8__checkMode(mb_x, mb_y, block.imodes[0]);
          t2.toString;
          C.List_8aB[t2].call$1(y_dst);
          if (bits !== 0)
            for (n = 0; n < 16; ++n, bits = bits << 2 >>> 0) {
              dst = Z.InputBuffer$from(y_dst, _null, C.List_cGl0[n]);
              bits.toString;
              t2 = n * 16;
              _this._doTransform$3(bits, new Z.InputBuffer(coeffs, t2, 384, t2, false), dst);
            }
        }
        bits_uv = block.__VP8MBData_nonZeroUV;
        if (bits_uv === $)
          bits_uv = H.throwExpression(H.LateError$fieldNI("nonZeroUV"));
        t2 = A.VP8__checkMode(mb_x, mb_y, block.uvmode);
        t2.toString;
        C.List_0W6[t2].call$1(u_dst);
        C.List_0W6[t2].call$1(v_dst);
        c1 = new Z.InputBuffer(coeffs, 256, 384, 256, false);
        if ((bits_uv & 255) !== 0) {
          t2 = _this.__VP8__dsp;
          if ((bits_uv & 170) !== 0) {
            if (t2 === $)
              t2 = H.throwExpression(H.LateError$fieldNI(_s4_));
            t2.transformOne$2(c1, u_dst);
            t2.transformOne$2(Z.InputBuffer$from(c1, _null, 16), Z.InputBuffer$from(u_dst, _null, 4));
            t3 = Z.InputBuffer$from(c1, _null, 32);
            t4 = Z.InputBuffer$from(u_dst, _null, 128);
            t2.transformOne$2(t3, t4);
            t2.transformOne$2(Z.InputBuffer$from(t3, _null, 16), Z.InputBuffer$from(t4, _null, 4));
          } else
            (t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s4_)) : t2).transformDCUV$2(c1, u_dst);
        }
        c2 = new Z.InputBuffer(coeffs, 320, 384, 320, false);
        t2 = C.JSInt_methods._shrOtherPositive$1(bits_uv, 8);
        if ((t2 & 255) !== 0) {
          t3 = _this.__VP8__dsp;
          if ((t2 & 170) !== 0) {
            t2 = t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s4_)) : t3;
            t2.transformOne$2(c2, v_dst);
            t2.transformOne$2(Z.InputBuffer$from(c2, _null, 16), Z.InputBuffer$from(v_dst, _null, 4));
            t3 = Z.InputBuffer$from(c2, _null, 32);
            t4 = Z.InputBuffer$from(v_dst, _null, 128);
            t2.transformOne$2(t3, t4);
            t2.transformOne$2(Z.InputBuffer$from(t3, _null, 16), Z.InputBuffer$from(t4, _null, 4));
          } else
            (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s4_)) : t3).transformDCUV$2(c2, v_dst);
        }
        t2 = _this._mbHeight;
        t2.toString;
        if (mb_y < t2 - 1) {
          C.NativeUint8List_methods.setRange$4(top_yuv.y, 0, 16, y_dst.toUint8List$0(), 480);
          C.NativeUint8List_methods.setRange$4(top_yuv.u, 0, 8, u_dst.toUint8List$0(), 224);
          C.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 === $)
            t3 = H.throwExpression(H.LateError$fieldNI("_cacheY"));
          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 === $)
            t3 = H.throwExpression(H.LateError$fieldNI("_cacheU"));
          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 === $)
            t3 = H.throwExpression(H.LateError$fieldNI("_cacheV"));
          t3.memcpy$4(u_out + j * t2, 8, v_dst, t4);
        }
        ++mb_x;
      }
    },
    _doTransform$3: function(bits, src, dst) {
      var a, c4, d4, c1, d1;
      switch (bits >>> 30) {
        case 3:
          this.get$_dsp().transform$3(0, src, dst, false);
          break;
        case 2:
          this.get$_dsp().toString;
          a = J.$index$asx(src.buffer, src.offset) + 4;
          c4 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(J.$index$asx(src.buffer, src.offset + 4) * 35468, 16), 32);
          d4 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(J.$index$asx(src.buffer, src.offset + 4) * 85627, 16), 32);
          c1 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(J.$index$asx(src.buffer, src.offset + 1) * 35468, 16), 32);
          d1 = C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(J.$index$asx(src.buffer, src.offset + 1) * 85627, 16), 32);
          V.VP8Filter__store2(dst, 0, a + d4, d1, c1);
          V.VP8Filter__store2(dst, 1, a + c4, d1, c1);
          V.VP8Filter__store2(dst, 2, a - c4, d1, c1);
          V.VP8Filter__store2(dst, 3, a - d4, d1, c1);
          break;
        case 1:
          this.get$_dsp().transformDC$2(src, dst);
          break;
        default:
          break;
      }
    },
    _doFilter$2: function(mbX, mbY) {
      var yDst, ilevel, limit, t2, uvBps, uDst, vDst, hevThresh, t3, u2, v2, _this = this, _null = null,
        yBps = _this._cacheYStride,
        t1 = J.$index$asx(_this.get$_fInfo(), mbX);
      t1.toString;
      yDst = Z.InputBuffer$from(_this.get$_cacheY(), _null, mbX * 16);
      ilevel = t1.fInnerLevel;
      limit = t1.fLimit;
      if (limit === 0)
        return;
      if (_this._filterType === 1) {
        if (mbX > 0) {
          t2 = _this.get$_dsp();
          yBps.toString;
          t2.simpleHFilter16$3(yDst, yBps, limit + 4);
        }
        if (t1.fInner) {
          t2 = _this.get$_dsp();
          yBps.toString;
          t2.simpleHFilter16i$3(yDst, yBps, limit);
        }
        if (mbY > 0) {
          t2 = _this.get$_dsp();
          yBps.toString;
          t2.simpleVFilter16$3(yDst, yBps, limit + 4);
        }
        if (t1.fInner) {
          t1 = _this.get$_dsp();
          yBps.toString;
          t1.simpleVFilter16i$3(yDst, yBps, limit);
        }
      } else {
        uvBps = _this._cacheUVStride;
        t2 = mbX * 8;
        uDst = Z.InputBuffer$from(_this.get$_cacheU(), _null, t2);
        vDst = Z.InputBuffer$from(_this.get$_cacheV(), _null, t2);
        hevThresh = t1.hevThresh;
        if (mbX > 0) {
          t2 = _this.get$_dsp();
          yBps.toString;
          t3 = limit + 4;
          t2._filterLoop26$7(yDst, 1, yBps, 16, t3, ilevel, hevThresh);
          t2 = _this.get$_dsp();
          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.get$_dsp();
          yBps.toString;
          t2.hFilter16i$5(yDst, yBps, limit, ilevel, hevThresh);
          t2 = _this.get$_dsp();
          uvBps.toString;
          t2.toString;
          u2 = Z.InputBuffer$from(uDst, _null, 4);
          v2 = Z.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.get$_dsp();
          yBps.toString;
          t3 = limit + 4;
          t2._filterLoop26$7(yDst, yBps, 1, 16, t3, ilevel, hevThresh);
          t2 = _this.get$_dsp();
          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.get$_dsp();
          yBps.toString;
          t1.vFilter16i$5(yDst, yBps, limit, ilevel, hevThresh);
          t1 = _this.get$_dsp();
          uvBps.toString;
          t1.toString;
          t2 = 4 * uvBps;
          u2 = Z.InputBuffer$from(uDst, _null, t2);
          v2 = Z.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: function() {
      var t1, _this = this,
        mbX = _this.get$_tlMbX();
      while (true) {
        t1 = _this._brMbX;
        t1.toString;
        if (!(mbX < t1))
          break;
        _this._doFilter$2(mbX, _this._mbY);
        ++mbX;
      }
    },
    _finishRow$1: function(useFilter) {
      var extraYRows, ySize, uvSize, yDst, t2, uDst, vDst, mbY, t3, yStart, yEnd, t4, deltaY, t5, t6, t7, t8, _this = this, _null = null,
        t1 = _this._filterType;
      t1.toString;
      extraYRows = C.List_0_2_8[t1];
      t1 = _this._cacheYStride;
      t1.toString;
      ySize = extraYRows * t1;
      t1 = _this._cacheUVStride;
      t1.toString;
      uvSize = (extraYRows / 2 | 0) * t1;
      t1 = -ySize;
      yDst = Z.InputBuffer$from(_this.get$_cacheY(), _null, t1);
      t2 = -uvSize;
      uDst = Z.InputBuffer$from(_this.get$_cacheU(), _null, t2);
      vDst = Z.InputBuffer$from(_this.get$_cacheV(), _null, t2);
      mbY = _this._mbY;
      t3 = _this._brMbY;
      t3.toString;
      yStart = mbY * 16;
      yEnd = (mbY + 1) * 16;
      if (useFilter)
        _this._filterRow$0();
      if (mbY !== 0) {
        yStart -= extraYRows;
        _this.__VP8__y = Z.InputBuffer$from(yDst, _null, 0);
        _this.__VP8__u = Z.InputBuffer$from(uDst, _null, 0);
        _this.__VP8__v = Z.InputBuffer$from(vDst, _null, 0);
      } else {
        _this.__VP8__y = Z.InputBuffer$from(_this.get$_cacheY(), _null, 0);
        _this.__VP8__u = Z.InputBuffer$from(_this.get$_cacheU(), _null, 0);
        _this.__VP8__v = Z.InputBuffer$from(_this.get$_cacheV(), _null, 0);
      }
      t3 = mbY < t3 - 1;
      if (t3)
        yEnd -= extraYRows;
      t4 = _this._cropBottom;
      t4.toString;
      if (yEnd > t4)
        yEnd = t4;
      _this._a = null;
      if (_this._alphaData != null && yStart < yEnd) {
        t4 = _this._decompressAlphaRows$2(yStart, yEnd - yStart);
        _this._a = t4;
        if (t4 == null)
          return false;
      }
      t4 = _this._cropTop;
      t4.toString;
      if (yStart < t4) {
        deltaY = t4 - yStart;
        t5 = _this.get$_vp8$_y();
        t6 = t5.offset;
        t7 = _this._cacheYStride;
        t7.toString;
        t5.offset = t6 + t7 * deltaY;
        t7 = _this.get$_u();
        t6 = t7.offset;
        t5 = _this._cacheUVStride;
        t5.toString;
        t8 = C.JSInt_methods._shrOtherPositive$1(deltaY, 1);
        t7.offset = t6 + t5 * t8;
        t5 = _this.get$_vp8$_v();
        t6 = t5.offset;
        t7 = _this._cacheUVStride;
        t7.toString;
        t5.offset = t6 + t7 * t8;
        t5 = _this._a;
        if (t5 != null)
          t5.offset = t5.offset + _this._webp.width * deltaY;
        yStart = t4;
      }
      if (yStart < yEnd) {
        t4 = _this.get$_vp8$_y();
        t4.offset = t4.offset + _this.get$_cropLeft();
        t4 = _this.get$_u();
        t4.offset = t4.offset + C.JSInt_methods._shrOtherPositive$1(_this.get$_cropLeft(), 1);
        t4 = _this.get$_vp8$_v();
        t4.offset = t4.offset + C.JSInt_methods._shrOtherPositive$1(_this.get$_cropLeft(), 1);
        t4 = _this._a;
        if (t4 != null)
          t4.offset = t4.offset + _this.get$_cropLeft();
        t4 = _this._cropTop;
        t4.toString;
        _this._put$3(0, yStart - t4, _this.get$_cropRight() - _this.get$_cropLeft(), yEnd - yStart);
      }
      if (t3) {
        t3 = _this.get$_cacheY();
        t4 = _this._cacheYStride;
        t4.toString;
        t3.memcpy$4(t1, ySize, yDst, 16 * t4);
        t4 = _this.get$_cacheU();
        t1 = _this._cacheUVStride;
        t1.toString;
        t4.memcpy$4(t2, uvSize, uDst, 8 * t1);
        t1 = _this.get$_cacheV();
        t4 = _this._cacheUVStride;
        t4.toString;
        t1.memcpy$4(t2, uvSize, vDst, 8 * t4);
      }
      return true;
    },
    _put$3: function(_, 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: function(v) {
      var d;
      if ((v & -4194304) >>> 0 === 0)
        d = C.JSInt_methods._shrOtherPositive$1(v, 14);
      else
        d = v < 0 ? 0 : 255;
      return d;
    },
    _yuvToRgb$4: function(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: function(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, d, _this = this, _null = null,
        LOAD_UV = new A.VP8__upsample_LOAD_UV(),
        t1 = len - 1,
        lastPixelPair = C.JSInt_methods._shrOtherPositive$1(t1, 1),
        tl_uv = LOAD_UV.call$2(J.$index$asx(topU.buffer, topU.offset), J.$index$asx(topV.buffer, topV.offset)),
        l_uv = LOAD_UV.call$2(J.$index$asx(curU.buffer, curU.offset), J.$index$asx(curV.buffer, curV.offset)),
        uv0 = C.JSInt_methods._shrOtherPositive$1(3 * tl_uv + l_uv + 131074, 2);
      _this._yuvToRgb$4(J.$index$asx(topY.buffer, topY.offset), uv0 & 255, uv0 >>> 16, topDst);
      topDst.$indexSet(0, 3, 255);
      t2 = bottomY != null;
      if (t2) {
        uv0 = C.JSInt_methods._shrOtherPositive$1(3 * l_uv + tl_uv + 131074, 2);
        t3 = J.$index$asx(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(J.$index$asx(topU.buffer, topU.offset + x), J.$index$asx(topV.buffer, topV.offset + x));
        uv = LOAD_UV.call$2(J.$index$asx(curU.buffer, curU.offset + x), J.$index$asx(curV.buffer, curV.offset + x));
        avg = tl_uv + t_uv + l_uv + uv + 524296;
        diag_12 = C.JSInt_methods._shrOtherPositive$1(avg + 2 * (t_uv + l_uv), 3);
        diag_03 = C.JSInt_methods._shrOtherPositive$1(avg + 2 * (tl_uv + uv), 3);
        uv0 = C.JSInt_methods._shrOtherPositive$1(diag_12 + tl_uv, 1);
        uv1 = C.JSInt_methods._shrOtherPositive$1(diag_03 + t_uv, 1);
        t3 = 2 * x;
        t4 = t3 - 1;
        t5 = J.$index$asx(topY.buffer, topY.offset + t4);
        t6 = uv0 & 255;
        t7 = uv0 >>> 16;
        t8 = t4 * 4;
        t9 = Z.InputBuffer$from(topDst, _null, t8);
        t5 = 19077 * t5;
        t10 = t5 + 26149 * t7 + -3644112;
        if ((t10 & -4194304) >>> 0 === 0)
          d = C.JSInt_methods._shrOtherPositive$1(t10, 14);
        else
          d = t10 < 0 ? 0 : 255;
        J.$indexSet$ax(t9.buffer, t9.offset, d);
        t7 = t5 - 6419 * t6 - 13320 * t7 + 2229552;
        if ((t7 & -4194304) >>> 0 === 0)
          d = C.JSInt_methods._shrOtherPositive$1(t7, 14);
        else
          d = t7 < 0 ? 0 : 255;
        J.$indexSet$ax(t9.buffer, t9.offset + 1, d);
        t5 = t5 + 33050 * t6 + -4527440;
        if ((t5 & -4194304) >>> 0 === 0)
          d = C.JSInt_methods._shrOtherPositive$1(t5, 14);
        else
          d = t5 < 0 ? 0 : 255;
        J.$indexSet$ax(t9.buffer, t9.offset + 2, d);
        J.$indexSet$ax(t9.buffer, t9.offset + 3, 255);
        t5 = t3 - 0;
        t6 = J.$index$asx(topY.buffer, topY.offset + t5);
        t7 = uv1 & 255;
        t9 = uv1 >>> 16;
        t5 = Z.InputBuffer$from(topDst, _null, t5 * 4);
        t6 = 19077 * t6;
        t10 = t6 + 26149 * t9 + -3644112;
        if ((t10 & -4194304) >>> 0 === 0)
          d = C.JSInt_methods._shrOtherPositive$1(t10, 14);
        else
          d = t10 < 0 ? 0 : 255;
        J.$indexSet$ax(t5.buffer, t5.offset, d);
        t9 = t6 - 6419 * t7 - 13320 * t9 + 2229552;
        if ((t9 & -4194304) >>> 0 === 0)
          d = C.JSInt_methods._shrOtherPositive$1(t9, 14);
        else
          d = t9 < 0 ? 0 : 255;
        J.$indexSet$ax(t5.buffer, t5.offset + 1, d);
        t6 = t6 + 33050 * t7 + -4527440;
        if ((t6 & -4194304) >>> 0 === 0)
          d = C.JSInt_methods._shrOtherPositive$1(t6, 14);
        else
          d = t6 < 0 ? 0 : 255;
        J.$indexSet$ax(t5.buffer, t5.offset + 2, d);
        J.$indexSet$ax(t5.buffer, t5.offset + 3, 255);
        if (t2) {
          uv0 = C.JSInt_methods._shrOtherPositive$1(diag_03 + l_uv, 1);
          uv1 = C.JSInt_methods._shrOtherPositive$1(diag_12 + uv, 1);
          t4 = J.$index$asx(bottomY.buffer, bottomY.offset + t4);
          t5 = uv0 & 255;
          t6 = uv0 >>> 16;
          bottomDst.toString;
          t8 = Z.InputBuffer$from(bottomDst, _null, t8);
          t4 = 19077 * t4;
          t7 = t4 + 26149 * t6 + -3644112;
          if ((t7 & -4194304) >>> 0 === 0)
            d = C.JSInt_methods._shrOtherPositive$1(t7, 14);
          else
            d = t7 < 0 ? 0 : 255;
          J.$indexSet$ax(t8.buffer, t8.offset, d);
          t6 = t4 - 6419 * t5 - 13320 * t6 + 2229552;
          if ((t6 & -4194304) >>> 0 === 0)
            d = C.JSInt_methods._shrOtherPositive$1(t6, 14);
          else
            d = t6 < 0 ? 0 : 255;
          J.$indexSet$ax(t8.buffer, t8.offset + 1, d);
          t4 = t4 + 33050 * t5 + -4527440;
          if ((t4 & -4194304) >>> 0 === 0)
            d = C.JSInt_methods._shrOtherPositive$1(t4, 14);
          else
            d = t4 < 0 ? 0 : 255;
          J.$indexSet$ax(t8.buffer, t8.offset + 2, d);
          J.$indexSet$ax(t8.buffer, t8.offset + 3, 255);
          t4 = J.$index$asx(bottomY.buffer, bottomY.offset + t3);
          t5 = uv1 & 255;
          t6 = uv1 >>> 16;
          t3 = Z.InputBuffer$from(bottomDst, _null, t3 * 4);
          t4 = 19077 * t4;
          t7 = t4 + 26149 * t6 + -3644112;
          if ((t7 & -4194304) >>> 0 === 0)
            d = C.JSInt_methods._shrOtherPositive$1(t7, 14);
          else
            d = t7 < 0 ? 0 : 255;
          J.$indexSet$ax(t3.buffer, t3.offset, d);
          t6 = t4 - 6419 * t5 - 13320 * t6 + 2229552;
          if ((t6 & -4194304) >>> 0 === 0)
            d = C.JSInt_methods._shrOtherPositive$1(t6, 14);
          else
            d = t6 < 0 ? 0 : 255;
          J.$indexSet$ax(t3.buffer, t3.offset + 1, d);
          t4 = t4 + 33050 * t5 + -4527440;
          if ((t4 & -4194304) >>> 0 === 0)
            d = C.JSInt_methods._shrOtherPositive$1(t4, 14);
          else
            d = t4 < 0 ? 0 : 255;
          J.$indexSet$ax(t3.buffer, t3.offset + 2, d);
          J.$indexSet$ax(t3.buffer, t3.offset + 3, 255);
        }
      }
      if ((len & 1) === 0) {
        uv0 = C.JSInt_methods._shrOtherPositive$1(3 * tl_uv + l_uv + 131074, 2);
        t3 = J.$index$asx(topY.buffer, topY.offset + t1);
        t4 = t1 * 4;
        t5 = Z.InputBuffer$from(topDst, _null, t4);
        _this._yuvToRgb$4(t3, uv0 & 255, uv0 >>> 16, t5);
        t5.$indexSet(0, 3, 255);
        if (t2) {
          uv0 = C.JSInt_methods._shrOtherPositive$1(3 * l_uv + tl_uv + 131074, 2);
          t1 = J.$index$asx(bottomY.buffer, bottomY.offset + t1);
          bottomDst.toString;
          t4 = Z.InputBuffer$from(bottomDst, _null, t4);
          _this._yuvToRgb$4(t1, uv0 & 255, uv0 >>> 16, t4);
          t4.$indexSet(0, 3, 255);
        }
      }
    },
    _emitAlphaRGB$3: function(mbY, mbW, mbH) {
      var t2, t3, stride, alpha, numRows, startY, dst, y, x, _this = this,
        t1 = _this._a;
      if (t1 == null)
        return;
      t2 = _this._webp;
      t3 = t2.width;
      stride = t3 * 4;
      alpha = Z.InputBuffer$from(t1, null, 0);
      if (mbY === 0) {
        numRows = mbH - 1;
        startY = mbY;
      } else {
        startY = mbY - 1;
        alpha.offset = alpha.offset - t3;
        numRows = mbH;
      }
      dst = Z.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 (x = 0; x < mbW; ++x) {
          t1 = J.$index$asx(alpha.buffer, alpha.offset + x);
          J.$indexSet$ax(dst.buffer, dst.offset + 4 * x, t1 & 255);
        }
        alpha.offset = alpha.offset + t2.width;
        dst.offset = dst.offset + stride;
      }
    },
    _emitFancyRGB$3: function(mbY, mbW, mbH) {
      var numLinesOut, t2, y, t3, t4, _this = this, _null = null,
        t1 = _this._webp,
        dst = Z.InputBuffer$(_this.output.getBytes$0(), false, _null, mbY * t1.width * 4),
        curY = Z.InputBuffer$from(_this.get$_vp8$_y(), _null, 0),
        curU = Z.InputBuffer$from(_this.get$_u(), _null, 0),
        curV = Z.InputBuffer$from(_this.get$_vp8$_v(), _null, 0),
        yEnd = mbY + mbH,
        uvW = C.JSInt_methods._shrOtherPositive$1(mbW + 1, 1),
        stride = t1.width * 4,
        topU = Z.InputBuffer$from(_this.get$_tmpU(), _null, 0),
        topV = Z.InputBuffer$from(_this.get$_tmpV(), _null, 0);
      if (mbY === 0) {
        _this._upsample$9(curY, _null, curU, curV, curU, curV, dst, _null, mbW);
        numLinesOut = mbH;
      } else {
        _this._upsample$9(_this.get$_tmpY(), curY, topU, topV, curU, curV, Z.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 = curV.offset + t4;
        dst.offset = dst.offset + t1;
        t4 = curY.offset;
        t3 = _this._cacheYStride;
        t3.toString;
        curY.offset = t4 + 2 * t3;
        _this._upsample$9(Z.InputBuffer$from(curY, _null, -t3), curY, topU, topV, curU, curV, Z.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) {
        _this.get$_tmpY().memcpy$3(0, mbW, curY);
        _this.get$_tmpU().memcpy$3(0, uvW, curU);
        _this.get$_tmpV().memcpy$3(0, uvW, curV);
        --numLinesOut;
      } else if ((yEnd & 1) === 0)
        _this._upsample$9(curY, _null, curU, curV, curU, curV, Z.InputBuffer$from(dst, _null, stride), _null, mbW);
      return numLinesOut;
    },
    _decompressAlphaRows$2: function(row, numRows) {
      var t2, b, t3, 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) {
        _this.__VP8__alphaPlane = new Uint8Array(width * height);
        t1 = _this._alphaData;
        t2 = new S.WebPAlpha(t1, width, height);
        b = t1.readByte$0();
        t2.method = b & 3;
        t2.filter = C.JSInt_methods._shrOtherPositive$1(b, 2) & 3;
        t2.preProcessing = C.JSInt_methods._shrOtherPositive$1(b, 4) & 3;
        t2.rsrv = C.JSInt_methods._shrOtherPositive$1(b, 6) & 3;
        if (t2.get$isValid()) {
          t3 = t2.method;
          if (t3 === 0) {
            t3 = t2.width;
            t4 = t2.height;
            if (t1.end - t1.offset < t3 * t4)
              t2.rsrv = 1;
          } else if (t3 === 1) {
            webp = new D.WebPInfo(H._setArrayType([], type$.JSArray_WebPFrame));
            webp.width = t2.width;
            webp.height = t2.height;
            t3 = H._setArrayType([], type$.JSArray_HTreeGroup);
            t4 = H._setArrayType([], type$.JSArray_VP8LTransform);
            t5 = new Uint32Array(2);
            t6 = new A.VP8LBitReader(t1, t5);
            t6.__VP8LBitReader__buffer8 = C.NativeByteBuffer_methods.asUint8List$2(t5.buffer, 0, _null);
            J.$indexSet$ax(t6.get$_buffer8(), 0, t1.readByte$0());
            J.$indexSet$ax(t6.get$_buffer8(), 1, t1.readByte$0());
            J.$indexSet$ax(t6.get$_buffer8(), 2, t1.readByte$0());
            J.$indexSet$ax(t6.get$_buffer8(), 3, t1.readByte$0());
            J.$indexSet$ax(t6.get$_buffer8(), 4, t1.readByte$0());
            J.$indexSet$ax(t6.get$_buffer8(), 5, t1.readByte$0());
            J.$indexSet$ax(t6.get$_buffer8(), 6, t1.readByte$0());
            J.$indexSet$ax(t6.get$_buffer8(), 7, t1.readByte$0());
            t2.__WebPAlpha__vp8l = new S.InternalVP8L(t6, webp, t3, t4);
            t2.get$_vp8l()._ioWidth = t2.width;
            t2.get$_vp8l().toString;
            t2.get$_vp8l()._decodeImageStream$3(webp.width, webp.height, true);
            if (t2.get$_vp8l()._vp8l$_transforms.length === 1 && t2.get$_vp8l()._vp8l$_transforms[0].type === 3 && t2.get$_vp8l()._is8bOptimizable$0()) {
              t2._use8bDecode = true;
              t1 = t2.get$_vp8l();
              t3 = t1.webp;
              totalNumPixels = t3.width * t3.height;
              t1._argbCache = 0;
              t3 = C.JSInt_methods.$mod(totalNumPixels, 4);
              t1.__VP8L__pixels8 = new Uint8Array(totalNumPixels + (4 - t3));
              t1._vp8l$_pixels = J.asUint32List$2$x(J.get$buffer$x(t1.get$_pixels8()), 0, null);
            } else {
              t2._use8bDecode = false;
              t2.get$_vp8l()._allocateInternalBuffers32b$0();
            }
          } else
            t2.rsrv = 1;
        }
        _this.__VP8__alpha = t2;
      }
      if (!_this.get$_vp8$_alpha().isAlphaDecoded)
        if (!_this.get$_vp8$_alpha().decode$3(0, row, numRows, _this.get$_alphaPlane()))
          return _null;
      return Z.InputBuffer$(_this.get$_alphaPlane(), false, _null, row * width);
    },
    _parseResiduals$2: function(mb, tokenBr) {
      var dc, t1, 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,
        q = _this._dqm[_this.get$_segment()],
        block = J.$index$asx(_this.get$_mbData(), _this._mbX),
        dst = Z.InputBuffer$(block.coeffs, false, null, 0),
        leftMb = J.$index$asx(_this.get$_mbInfo(), 0);
      dst.memset$3(0, dst.end - dst.offset, 0);
      if (!block.get$isIntra4x4()) {
        dc = Z.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 = C.JSInt_methods._shrOtherPositive$1(J.$index$asx(dc.buffer, dc.offset) + 3, 3);
          for (i = 0; i < 256; i += 16)
            J.$indexSet$ax(dst.buffer, dst.offset + 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 = J.$index$asx(dst.buffer, dst.offset) !== 0 ? 1 : 0;
          if (nz > 3)
            t1 = 3;
          else if (nz > 1)
            t1 = 2;
          nz_coeffs = nzCoeffs << 2 | t1;
          dst.offset = dst.offset + 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 = C.JSInt_methods._shrBothPositive$1(mb.nz, t1);
        lnz = C.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 = J.$index$asx(dst.buffer, dst.offset) !== 0 ? 1 : 0;
            if (nz > 3)
              t1 = 3;
            else if (nz > 1)
              t1 = 2;
            nz_coeffs = (nzCoeffs << 2 | t1) >>> 0;
            dst.offset = dst.offset + 16;
          }
          tnz = tnz >>> 2;
          lnz = lnz >>> 1 | l << 5;
        }
        nonZeroUV = (nonZeroUV | C.JSInt_methods._shlPositive$1(nzCoeffs, 4 * ch)) >>> 0;
        outTopNz = (outTopNz | C.JSInt_methods._shlPositive$1(tnz << 4 >>> 0, ch)) >>> 0;
        outLeftNz = (outLeftNz | C.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: function(src, out) {
      var i, t1, a0, t2, t3, a1, a2, a3, oi, dc,
        tmp = new Int32Array(16);
      for (i = 0; i < 4; ++i) {
        t1 = 12 + i;
        a0 = J.$index$asx(src.buffer, src.offset + i) + J.$index$asx(src.buffer, src.offset + t1);
        t2 = 4 + i;
        t3 = 8 + i;
        a1 = J.$index$asx(src.buffer, src.offset + t2) + J.$index$asx(src.buffer, src.offset + t3);
        a2 = J.$index$asx(src.buffer, src.offset + t2) - J.$index$asx(src.buffer, src.offset + t3);
        a3 = J.$index$asx(src.buffer, src.offset + i) - J.$index$asx(src.buffer, src.offset + t1);
        tmp[i] = a0 + a1;
        tmp[t3] = a0 - a1;
        tmp[t2] = a3 + a2;
        tmp[t1] = a3 - a2;
      }
      for (oi = 0, i = 0; i < 4; ++i) {
        t1 = i * 4;
        dc = tmp[t1] + 3;
        t2 = tmp[3 + t1];
        a0 = dc + t2;
        t3 = tmp[1 + t1];
        t1 = tmp[2 + t1];
        a1 = t3 + t1;
        a2 = t3 - t1;
        a3 = dc - t2;
        t2 = C.JSInt_methods._shrOtherPositive$1(a0 + a1, 3);
        J.$indexSet$ax(out.buffer, out.offset + oi, t2);
        t2 = C.JSInt_methods._shrOtherPositive$1(a3 + a2, 3);
        J.$indexSet$ax(out.buffer, out.offset + (oi + 16), t2);
        t2 = C.JSInt_methods._shrOtherPositive$1(a0 - a1, 3);
        J.$indexSet$ax(out.buffer, out.offset + (oi + 32), t2);
        t2 = C.JSInt_methods._shrOtherPositive$1(a3 - a2, 3);
        J.$indexSet$ax(out.buffer, out.offset + (oi + 48), t2);
        oi += 64;
      }
    },
    _getLargeValue$2: function(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 = C.List_sao[cat];
        for (len = tab.length, v = 0, i = 0; i < len; ++i)
          v += v + br.getBit$1(tab[i]);
        v += 3 + C.JSInt_methods._shlPositive$1(8, cat);
      }
      return v;
    },
    _getCoeffs$6: function(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[C.List_F1L[n]].probas[0];
          if (n === 16)
            return 16;
        }
        n0 = n + 1;
        p_ctx = prob[C.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 = C.List_cGl1[n];
        t2 = br.__VP8BitReader__range;
        bit = br._bitUpdate$1(C.JSInt_methods._shrOtherPositive$1(t2 === $ ? H.throwExpression(H.LateError$fieldNI("_range")) : t2, 1));
        t2 = br.__VP8BitReader__range;
        shift = C.List_8co0[t2 === $ ? H.throwExpression(H.LateError$fieldNI("_range")) : t2];
        br.__VP8BitReader__range = C.List_wmc[t2];
        t2 = br.__VP8BitReader__bits;
        br.__VP8BitReader__bits = (t2 === $ ? H.throwExpression(H.LateError$fieldNI("_bits")) : t2) - shift;
        t2 = bit !== 0 ? -v : v;
        t3 = dq[n > 0 ? 1 : 0];
        J.$indexSet$ax(out.buffer, out.offset + t1, t2 * t3);
      }
      return 16;
    },
    _parseIntraMode$0: function() {
      var ymode, modes, mi, y, x, t1, prob, t2, i, mi0, _this = this,
        ti = 4 * _this._mbX,
        $top = _this._intraT,
        left = _this._intraL,
        block = J.$index$asx(_this.get$_mbData(), _this._mbX);
      block.__VP8MBData_isIntra4x4 = _this.get$br().getBit$1(145) === 0;
      if (!block.get$isIntra4x4()) {
        if (_this.get$br().getBit$1(156) !== 0)
          ymode = _this.get$br().getBit$1(128) !== 0 ? 1 : 3;
        else
          ymode = _this.get$br().getBit$1(163) !== 0 ? 2 : 0;
        block.imodes[0] = ymode;
        $top.toString;
        C.NativeUint8List_methods.fillRange$3($top, ti, ti + 4, ymode);
        C.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 = C.List_799[$top[t1]][ymode];
            t2 = _this.__VP8_br;
            if (t2 === $)
              t2 = H.throwExpression(H.LateError$fieldNI("br"));
            i = C.List_Y3m[t2.getBit$1(prob[0])];
            for (; i > 0;) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                t2 = H.throwExpression(H.LateError$fieldNI("br"));
              i = C.List_Y3m[2 * i + t2.getBit$1(prob[i])];
            }
            ymode = -i;
            $top[t1] = ymode;
          }
          mi0 = mi + 4;
          $top.toString;
          C.NativeUint8List_methods.setRange$4(modes, mi, mi0, $top, ti);
          left[y] = ymode;
        }
      }
      if (_this.get$br().getBit$1(142) === 0)
        t1 = 0;
      else if (_this.get$br().getBit$1(114) === 0)
        t1 = 2;
      else
        t1 = _this.get$br().getBit$1(183) !== 0 ? 1 : 3;
      block.uvmode = t1;
    },
    get$br: function() {
      var t1 = this.__VP8_br;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("br")) : t1;
    },
    get$_dsp: function() {
      var t1 = this.__VP8__dsp;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_dsp")) : t1;
    },
    get$_cropLeft: function() {
      var t1 = this.__VP8__cropLeft;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_cropLeft")) : t1;
    },
    get$_cropRight: function() {
      var t1 = this.__VP8__cropRight;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_cropRight")) : t1;
    },
    get$_tlMbX: function() {
      var t1 = this.__VP8__tlMbX;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_tlMbX")) : t1;
    },
    get$_tlMbY: function() {
      var t1 = this.__VP8__tlMbY;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_tlMbY")) : t1;
    },
    get$_numPartitions: function() {
      var t1 = this.__VP8__numPartitions;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_numPartitions")) : t1;
    },
    get$_useSkipProba: function() {
      var t1 = this.__VP8__useSkipProba;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_useSkipProba")) : t1;
    },
    get$_segment: function() {
      var t1 = this.__VP8__segment;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_segment")) : t1;
    },
    get$_mbInfo: function() {
      var t1 = this.__VP8__mbInfo;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_mbInfo")) : t1;
    },
    get$_fInfo: function() {
      var t1 = this.__VP8__fInfo;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_fInfo")) : t1;
    },
    get$_yuvBlock: function() {
      var t1 = this.__VP8__yuvBlock;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_yuvBlock")) : t1;
    },
    get$_cacheY: function() {
      var t1 = this.__VP8__cacheY;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_cacheY")) : t1;
    },
    get$_cacheU: function() {
      var t1 = this.__VP8__cacheU;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_cacheU")) : t1;
    },
    get$_cacheV: function() {
      var t1 = this.__VP8__cacheV;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_cacheV")) : t1;
    },
    get$_tmpY: function() {
      var t1 = this.__VP8__tmpY;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_tmpY")) : t1;
    },
    get$_tmpU: function() {
      var t1 = this.__VP8__tmpU;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_tmpU")) : t1;
    },
    get$_tmpV: function() {
      var t1 = this.__VP8__tmpV;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_tmpV")) : t1;
    },
    get$_vp8$_y: function() {
      var t1 = this.__VP8__y;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_y")) : t1;
    },
    get$_u: function() {
      var t1 = this.__VP8__u;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_u")) : t1;
    },
    get$_vp8$_v: function() {
      var t1 = this.__VP8__v;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_v")) : t1;
    },
    get$_mbData: function() {
      var t1 = this.__VP8__mbData;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_mbData")) : t1;
    },
    get$_vp8$_alpha: function() {
      var t1 = this.__VP8__alpha;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_alpha")) : t1;
    },
    get$_alphaPlane: function() {
      var t1 = this.__VP8__alphaPlane;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_alphaPlane")) : t1;
    }
  };
  A.VP8__upsample_LOAD_UV.prototype = {
    call$2: function(u, v) {
      return (u | v << 16) >>> 0;
    },
    $signature: 71
  };
  B.VP8BitReader.prototype = {
    get$_range: function() {
      var t1 = this.__VP8BitReader__range;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_range")) : t1;
    },
    get$_vp8_bit_reader$_value: function() {
      var t1 = this.__VP8BitReader__value;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_value")) : t1;
    },
    get$_bits: function() {
      var t1 = this.__VP8BitReader__bits;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_bits")) : t1;
    },
    getValue$1: function(bits) {
      var v, bits0;
      for (v = 0; bits0 = bits - 1, bits > 0; bits = bits0)
        v = (v | C.JSInt_methods.$shl(this.getBit$1(128), bits0)) >>> 0;
      return v;
    },
    getSignedValue$1: function(bits) {
      var value = this.getValue$1(bits);
      return this.getValue$1(1) === 1 ? -value : value;
    },
    getBit$1: function(prob) {
      var _this = this,
        bit = _this._bitUpdate$1(C.JSInt_methods._shrOtherPositive$1(_this.get$_range() * prob, 8));
      if (_this.get$_range() <= 126)
        _this._shift$0();
      return bit;
    },
    _bitUpdate$1: function(split) {
      var t1, t2, t3, pos, _this = this;
      if (_this.get$_bits() < 0) {
        t1 = _this.input;
        t2 = t1.end;
        t3 = t1.offset;
        if (t2 - t3 >= 1) {
          _this.__VP8BitReader__value = (t1.readByte$0() | _this.get$_vp8_bit_reader$_value() << 8) >>> 0;
          _this.__VP8BitReader__bits = _this.get$_bits() + 8;
        } else if (!(t3 >= t2)) {
          _this.__VP8BitReader__value = (t1.readByte$0() | _this.get$_vp8_bit_reader$_value() << 8) >>> 0;
          _this.__VP8BitReader__bits = _this.get$_bits() + 8;
        } else if (!_this._eof) {
          _this.__VP8BitReader__value = _this.get$_vp8_bit_reader$_value() << 8 >>> 0;
          _this.__VP8BitReader__bits = _this.get$_bits() + 8;
          _this._eof = true;
        }
      }
      pos = _this.get$_bits();
      if (C.JSInt_methods.$shr(_this.get$_vp8_bit_reader$_value(), pos) > split) {
        t1 = split + 1;
        _this.__VP8BitReader__range = _this.get$_range() - t1;
        _this.__VP8BitReader__value = _this.get$_vp8_bit_reader$_value() - C.JSInt_methods.$shl(t1, pos);
        return 1;
      } else {
        _this.__VP8BitReader__range = split;
        return 0;
      }
    },
    _shift$0: function() {
      var _this = this,
        shift = C.List_8co0[_this.get$_range()];
      _this.__VP8BitReader__range = C.List_wmc[_this.get$_range()];
      _this.__VP8BitReader__bits = _this.get$_bits() - shift;
    }
  };
  V.VP8Filter.prototype = {
    simpleVFilter16$3: function(p, stride, thresh) {
      var i,
        p2 = Z.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: function(p, stride, thresh) {
      var i,
        p2 = Z.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: function(p, stride, thresh) {
      var k,
        p2 = Z.InputBuffer$from(p, null, 0);
      for (k = 3; k > 0; --k) {
        p2.offset = p2.offset + 4 * stride;
        this.simpleVFilter16$3(p2, stride, thresh);
      }
    },
    simpleHFilter16i$3: function(p, stride, thresh) {
      var k,
        p2 = Z.InputBuffer$from(p, null, 0);
      for (k = 3; k > 0; --k) {
        p2.offset = p2.offset + 4;
        this.simpleHFilter16$3(p2, stride, thresh);
      }
    },
    vFilter16i$5: function(p, stride, thresh, ithresh, hev_thresh) {
      var k,
        p2 = Z.InputBuffer$from(p, null, 0);
      for (k = 3; k > 0; --k) {
        p2.offset = p2.offset + 4 * stride;
        this._filterLoop24$7(p2, stride, 1, 16, thresh, ithresh, hev_thresh);
      }
    },
    hFilter16i$5: function(p, stride, thresh, ithresh, hev_thresh) {
      var k,
        p2 = Z.InputBuffer$from(p, null, 0);
      for (k = 3; k > 0; --k) {
        p2.offset = p2.offset + 4;
        this._filterLoop24$7(p2, 1, stride, 16, thresh, ithresh, hev_thresh);
      }
    },
    _filterLoop26$7: function(p, hstride, vstride, size, thresh, ithresh, hev_thresh) {
      var size0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, a, a1, a2, a3,
        p2 = Z.InputBuffer$from(p, null, 0);
      for (; 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 {
            t1 = -3 * hstride;
            t2 = J.$index$asx(p2.buffer, p2.offset + t1);
            t3 = -2 * hstride;
            t4 = J.$index$asx(p2.buffer, p2.offset + t3);
            t5 = -hstride;
            t6 = J.$index$asx(p2.buffer, p2.offset + t5);
            t7 = J.$index$asx(p2.buffer, p2.offset);
            t8 = J.$index$asx(p2.buffer, p2.offset + hstride);
            t9 = 2 * hstride;
            t10 = J.$index$asx(p2.buffer, p2.offset + t9);
            t11 = $.$get$VP8Filter_sclip1();
            a = t11[1020 + 3 * (t7 - t6) + t11[1020 + t4 - t8]];
            t11 = C.JSInt_methods._shrOtherPositive$1(27 * a + 63, 7);
            a1 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
            t11 = C.JSInt_methods._shrOtherPositive$1(18 * a + 63, 7);
            a2 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
            t11 = C.JSInt_methods._shrOtherPositive$1(9 * a + 63, 7);
            a3 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
            t2 = $.$get$VP8Filter_clip1()[255 + t2 + a3];
            J.$indexSet$ax(p2.buffer, p2.offset + t1, t2);
            t4 = $.$get$VP8Filter_clip1()[255 + t4 + a2];
            J.$indexSet$ax(p2.buffer, p2.offset + t3, t4);
            t6 = $.$get$VP8Filter_clip1()[255 + t6 + a1];
            J.$indexSet$ax(p2.buffer, p2.offset + t5, t6);
            t7 = $.$get$VP8Filter_clip1()[255 + t7 - a1];
            J.$indexSet$ax(p2.buffer, p2.offset, t7);
            t8 = $.$get$VP8Filter_clip1()[255 + t8 - a2];
            J.$indexSet$ax(p2.buffer, p2.offset + hstride, t8);
            t10 = $.$get$VP8Filter_clip1()[255 + t10 - a3];
            J.$indexSet$ax(p2.buffer, p2.offset + t9, t10);
          }
        p2.offset = p2.offset + vstride;
      }
    },
    _filterLoop24$7: function(p, hstride, vstride, size, thresh, ithresh, hev_thresh) {
      var size0, t1, t2, t3, t4, t5, t6, a, t7, t8, a1, a2, a3,
        p2 = Z.InputBuffer$from(p, null, 0);
      for (; 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 {
            t1 = -2 * hstride;
            t2 = J.$index$asx(p2.buffer, p2.offset + t1);
            t3 = -hstride;
            t4 = J.$index$asx(p2.buffer, p2.offset + t3);
            t5 = J.$index$asx(p2.buffer, p2.offset);
            t6 = J.$index$asx(p2.buffer, p2.offset + hstride);
            a = 3 * (t5 - t4);
            t7 = $.$get$VP8Filter_sclip2();
            t8 = C.JSInt_methods._shrOtherPositive$1(a + 4, 3);
            a1 = t7[112 + ((t8 & 2147483647) - ((t8 & 2147483648) >>> 0))];
            t8 = C.JSInt_methods._shrOtherPositive$1(a + 3, 3);
            a2 = t7[112 + ((t8 & 2147483647) - ((t8 & 2147483648) >>> 0))];
            t8 = C.JSInt_methods._shrOtherPositive$1(a1 + 1, 1);
            a3 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
            t2 = $.$get$VP8Filter_clip1()[255 + t2 + a3];
            J.$indexSet$ax(p2.buffer, p2.offset + t1, t2);
            t4 = $.$get$VP8Filter_clip1()[255 + t4 + a2];
            J.$indexSet$ax(p2.buffer, p2.offset + t3, t4);
            t5 = $.$get$VP8Filter_clip1()[255 + t5 - a1];
            J.$indexSet$ax(p2.buffer, p2.offset, t5);
            t6 = $.$get$VP8Filter_clip1()[255 + t6 - a3];
            J.$indexSet$ax(p2.buffer, p2.offset + hstride, t6);
          }
        p2.offset = p2.offset + vstride;
      }
    },
    _doFilter2$2: function(p, step) {
      var t1 = J.$index$asx(p.buffer, p.offset + -2 * step),
        t2 = -step,
        t3 = J.$index$asx(p.buffer, p.offset + t2),
        t4 = J.$index$asx(p.buffer, p.offset),
        t5 = J.$index$asx(p.buffer, p.offset + step),
        a = 3 * (t4 - t3) + $.$get$VP8Filter_sclip1()[1020 + t1 - t5],
        a1 = $.$get$VP8Filter_sclip2()[112 + C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(a + 4, 3), 32)],
        a2 = $.$get$VP8Filter_sclip2()[112 + C.JSInt_methods.toSigned$1(C.JSInt_methods._shrOtherPositive$1(a + 3, 3), 32)];
      p.$indexSet(0, t2, $.$get$VP8Filter_clip1()[255 + t3 + a2]);
      p.$indexSet(0, 0, $.$get$VP8Filter_clip1()[255 + t4 - a1]);
    },
    _hev$3: function(p, step, thresh) {
      var t1 = J.$index$asx(p.buffer, p.offset + -2 * step),
        t2 = J.$index$asx(p.buffer, p.offset + -step),
        t3 = J.$index$asx(p.buffer, p.offset),
        t4 = J.$index$asx(p.buffer, p.offset + step),
        t5 = $.$get$VP8Filter_abs0();
      return t5[255 + t1 - t2] > thresh || t5[255 + t4 - t3] > thresh;
    },
    _needsFilter$3: function(p, step, thresh) {
      var t1 = J.$index$asx(p.buffer, p.offset + -2 * step),
        t2 = J.$index$asx(p.buffer, p.offset + -step),
        t3 = J.$index$asx(p.buffer, p.offset),
        t4 = J.$index$asx(p.buffer, p.offset + step);
      return 2 * $.$get$VP8Filter_abs0()[255 + t2 - t3] + $.$get$VP8Filter_abs1()[255 + t1 - t4] <= thresh;
    },
    _needsFilter2$4: function(p, step, t, it) {
      var t1 = J.$index$asx(p.buffer, p.offset + -4 * step),
        t2 = J.$index$asx(p.buffer, p.offset + -3 * step),
        t3 = J.$index$asx(p.buffer, p.offset + -2 * step),
        t4 = J.$index$asx(p.buffer, p.offset + -step),
        t5 = J.$index$asx(p.buffer, p.offset),
        t6 = J.$index$asx(p.buffer, p.offset + step),
        t7 = J.$index$asx(p.buffer, p.offset + 2 * step),
        t8 = J.$index$asx(p.buffer, p.offset + 3 * step),
        t9 = $.$get$VP8Filter_abs0(),
        t10 = 255 + t3;
      if (2 * t9[255 + t4 - t5] + $.$get$VP8Filter_abs1()[t10 - t6] > t)
        return false;
      return t9[255 + t1 - t2] <= it && t9[255 + t2 - t3] <= it && t9[t10 - t4] <= it && t9[255 + t8 - t7] <= it && t9[255 + t7 - t6] <= it && t9[255 + t6 - t5] <= it;
    },
    transformOne$2: function(src, dst) {
      var si, tmp, i, t1, a, b, t2, t3, t4, c, d, tmp0, di, dc,
        $C = new Int32Array(16);
      for (si = 0, tmp = 0, i = 0; i < 4; ++i) {
        t1 = si + 8;
        a = J.$index$asx(src.buffer, src.offset + si) + J.$index$asx(src.buffer, src.offset + t1);
        b = J.$index$asx(src.buffer, src.offset + si) - J.$index$asx(src.buffer, src.offset + t1);
        t1 = si + 4;
        t2 = C.JSInt_methods._shrOtherPositive$1(J.$index$asx(src.buffer, src.offset + t1) * 35468, 16);
        t3 = si + 12;
        t4 = C.JSInt_methods._shrOtherPositive$1(J.$index$asx(src.buffer, src.offset + t3) * 85627, 16);
        c = (t2 & 2147483647) - ((t2 & 2147483648) >>> 0) - ((t4 & 2147483647) - ((t4 & 2147483648) >>> 0));
        t1 = C.JSInt_methods._shrOtherPositive$1(J.$index$asx(src.buffer, src.offset + t1) * 85627, 16);
        t3 = C.JSInt_methods._shrOtherPositive$1(J.$index$asx(src.buffer, src.offset + t3) * 35468, 16);
        d = (t1 & 2147483647) - ((t1 & 2147483648) >>> 0) + ((t3 & 2147483647) - ((t3 & 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 = C.JSInt_methods._shrOtherPositive$1(t1 * 35468, 16);
        t3 = $C[tmp + 12];
        t4 = C.JSInt_methods._shrOtherPositive$1(t3 * 85627, 16);
        c = (t2 & 2147483647) - ((t2 & 2147483648) >>> 0) - ((t4 & 2147483647) - ((t4 & 2147483648) >>> 0));
        t1 = C.JSInt_methods._shrOtherPositive$1(t1 * 85627, 16);
        t3 = C.JSInt_methods._shrOtherPositive$1(t3 * 35468, 16);
        d = (t1 & 2147483647) - ((t1 & 2147483648) >>> 0) + ((t3 & 2147483647) - ((t3 & 2147483648) >>> 0));
        V.VP8Filter__store(dst, di, 0, 0, a + d);
        V.VP8Filter__store(dst, di, 1, 0, b + c);
        V.VP8Filter__store(dst, di, 2, 0, b - c);
        V.VP8Filter__store(dst, di, 3, 0, a - d);
        ++tmp;
        di += 32;
      }
    },
    transform$3: function(_, src, dst, doTwo) {
      this.transformOne$2(src, dst);
      if (doTwo)
        this.transformOne$2(Z.InputBuffer$from(src, null, 16), Z.InputBuffer$from(dst, null, 4));
    },
    transformDC$2: function(src, dst) {
      var j, i,
        DC = J.$index$asx(src.buffer, src.offset) + 4;
      for (j = 0; j < 4; ++j)
        for (i = 0; i < 4; ++i)
          V.VP8Filter__store(dst, 0, i, j, DC);
    },
    transformDCUV$2: function(src, dst) {
      var _this = this, _null = null;
      if (J.$index$asx(src.buffer, src.offset) !== 0)
        _this.transformDC$2(src, dst);
      if (J.$index$asx(src.buffer, src.offset + 16) !== 0)
        _this.transformDC$2(Z.InputBuffer$from(src, _null, 16), Z.InputBuffer$from(dst, _null, 4));
      if (J.$index$asx(src.buffer, src.offset + 32) !== 0)
        _this.transformDC$2(Z.InputBuffer$from(src, _null, 32), Z.InputBuffer$from(dst, _null, 128));
      if (J.$index$asx(src.buffer, src.offset + 48) !== 0)
        _this.transformDC$2(Z.InputBuffer$from(src, _null, 48), Z.InputBuffer$from(dst, _null, 132));
    }
  };
  L.VP8FrameHeader.prototype = {
    get$partitionLength: function() {
      var t1 = this.__VP8FrameHeader_partitionLength;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("partitionLength")) : t1;
    }
  };
  L.VP8PictureHeader.prototype = {
    set$width: function() {
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  L.VP8SegmentHeader.prototype = {};
  L.VP8BandProbas.prototype = {};
  L.VP8Proba.prototype = {};
  L.VP8FilterHeader.prototype = {
    get$useLfDelta: function() {
      var t1 = this.__VP8FilterHeader_useLfDelta;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("useLfDelta")) : t1;
    },
    get$level: function(receiver) {
      return this.level;
    }
  };
  L.VP8FInfo.prototype = {};
  L.VP8MB.prototype = {};
  L.VP8QuantMatrix.prototype = {};
  L.VP8MBData.prototype = {
    get$isIntra4x4: function() {
      var t1 = this.__VP8MBData_isIntra4x4;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("isIntra4x4")) : t1;
    }
  };
  L.VP8TopSamples.prototype = {};
  S.VP8L.prototype = {
    decodeHeader$0: function() {
      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: function(_) {
      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 = U.Image$0(t1.width, t1.height, C.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: function() {
      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 = C.NativeByteBuffer_methods.asUint8List$2(pixels32.buffer, 0, null);
      _this._argbCache = t1;
      return true;
    },
    _readTransform$1: function(transformSize) {
      var transform, numColors, bits, _this = this,
        t1 = _this.br,
        type = t1.readBits$1(2),
        t2 = _this._transformsSeen,
        t3 = C.JSInt_methods._shlPositive$1(1, type);
      if ((t2 & t3) >>> 0 !== 0)
        return false;
      _this._transformsSeen = (t2 | t3) >>> 0;
      transform = new R.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(S.VP8L__subSampleSize(transform.xsize, t1), S.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] = S.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 H.wrapException(K.ImageException$("Invalid WebP tranform type: " + type));
      }
      return true;
    },
    _decodeImageStream$3: function(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 = H._setArrayType([transformXsize, transformYsize], t2);
          if (!_this._readTransform$1(sizes))
            throw H.wrapException(K.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 H.wrapException(K.ImageException$("Invalid Color Cache"));
      } else
        colorCacheBits = 0;
      if (!_this._readHuffmanCodes$4(transformXsize, transformYsize, colorCacheBits, isLevel0))
        throw H.wrapException(K.ImageException$("Invalid Huffman Codes"));
      if (colorCacheBits > 0) {
        t1 = C.JSInt_methods._shlPositive$1(1, colorCacheBits);
        _this._colorCacheSize = t1;
        _this._colorCache = new Y.VP8LColorCache(new Uint32Array(t1), 32 - colorCacheBits);
      } else
        _this._colorCacheSize = 0;
      t1 = _this.webp;
      t1.width = transformXsize;
      t1.height = transformYsize;
      numBits = _this._huffmanSubsampleBits;
      _this._huffmanXsize = S.VP8L__subSampleSize(transformXsize, numBits);
      _this._huffmanMask = numBits === 0 ? 4294967295 : C.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 H.wrapException(K.ImageException$("Failed to decode image data."));
      _this._lastPixel = 0;
      return data;
    },
    _decodeImageData$5: function(data, width, height, lastRow, processFunc) {
      var colorCacheLimit, colorCache, mask, t2, t3, lastCached, t4, t5, t6, metaIndex, code, red, blue, $length, distSymbol, dist, i, _this = this,
        t1 = _this._lastPixel,
        row = C.JSInt_methods.$tdiv(t1, width),
        col = C.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 = J.getInterceptor$asx(data);
      t2 = _this.br;
      t3 = processFunc != null;
      lastCached = src;
      while (true) {
        t4 = t2._vp8l_bit_reader$_input;
        t5 = t4.offset;
        t6 = t4.end;
        if (!(!(t5 >= t6 && t2.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 (t2.bitPos >= 32)
          t2._shiftBytes$0();
        t4 = htreeGroup.htrees;
        code = t4[0].readSymbol$1(t2);
        if (code < 256) {
          red = t4[1].readSymbol$1(t2);
          if (t2.bitPos >= 32)
            t2._shiftBytes$0();
          blue = t4[2].readSymbol$1(t2);
          t1.$indexSet(data, src, (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(t4[3].readSymbol$1(t2), 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(blue, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(code, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(red, 0, 255))) >>> 0);
          ++src;
          ++col;
          if (col >= width) {
            ++row;
            if (C.JSInt_methods.$mod(row, 16) === 0 && t3)
              processFunc.call$1(row);
            if (colorCache != null)
              for (t4 = colorCache.hashShift, t5 = colorCache.colors; lastCached < src;) {
                t6 = t1.$index(data, lastCached);
                t5[C.JSInt_methods._shrReceiverPositive$1(t6 * 506832829 >>> 0, t4)] = t6;
                ++lastCached;
              }
            col = 0;
          }
        } else if (code < 280) {
          $length = _this._getCopyDistance$1(code - 256);
          distSymbol = t4[4].readSymbol$1(t2);
          if (t2.bitPos >= 32)
            t2._shiftBytes$0();
          dist = _this._planeCodeToDistance$2(width, _this._getCopyDistance$1(distSymbol));
          if (src < dist || srcEnd - src < $length)
            return false;
          else {
            for (i = 0; i < $length; ++i)
              t1.$indexSet(data, src + i, t1.$index(data, src + (i - dist)));
            src += $length;
          }
          col += $length;
          for (; col >= width;) {
            col -= width;
            ++row;
            if (C.JSInt_methods.$mod(row, 16) === 0 && t3)
              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 (t4 = colorCache.hashShift, t5 = colorCache.colors; lastCached < src;) {
                t6 = t1.$index(data, lastCached);
                t5[C.JSInt_methods._shrReceiverPositive$1(t6 * 506832829 >>> 0, t4)] = t6;
                ++lastCached;
              }
          }
        } else if (code < colorCacheLimit) {
          for (; lastCached < src;) {
            colorCache.toString;
            t4 = t1.$index(data, lastCached);
            colorCache.colors[C.JSInt_methods._shrReceiverPositive$1(t4 * 506832829 >>> 0, colorCache.hashShift)] = t4;
            ++lastCached;
          }
          t4 = colorCache.colors;
          t1.$indexSet(data, src, t4[code - 280]);
          ++src;
          ++col;
          if (col >= width) {
            ++row;
            if (C.JSInt_methods.$mod(row, 16) === 0 && t3)
              processFunc.call$1(row);
            for (t5 = colorCache.hashShift; lastCached < src;) {
              t6 = t1.$index(data, lastCached);
              t4[C.JSInt_methods._shrReceiverPositive$1(t6 * 506832829 >>> 0, t5)] = t6;
              ++lastCached;
            }
            col = 0;
          }
        } else
          return false;
      }
      if (t3)
        processFunc.call$1(row);
      if (t4.offset >= t6 && t2.bitPos >= 64 && src < srcEnd)
        return false;
      _this._lastPixel = src;
      return true;
    },
    _is8bOptimizable$0: function() {
      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: function(row) {
      var t2, width, cachePixs, di, src, 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 = Z.InputBuffer$(t2, false, null, t1);
      for (i = 0; i < cachePixs; ++i) {
        t1 = _this._vp8l$_opaque;
        t1.toString;
        J.$indexSet$ax(t1, di + i, C.JSInt_methods._shrOtherPositive$1(J.$index$asx(src.buffer, src.offset + i), 8) & 255);
      }
      _this._lastRow = row;
    },
    _decodeAlphaData$3: function(width, height, lastRow) {
      var t2, metaIndex, t3, code, $length, distSymbol, dist, i, t4, t5, _this = this,
        _s8_ = "_pixels8",
        t1 = _this._lastPixel,
        row = C.JSInt_methods.$tdiv(t1, width),
        col = C.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;
      t2 = t1._vp8l_bit_reader$_input;
      while (true) {
        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();
        t3 = htreeGroup.htrees;
        code = t3[0].readSymbol$1(t1);
        if (code < 256) {
          t3 = _this.__VP8L__pixels8;
          J.$indexSet$ax(t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s8_)) : t3, pos, code);
          ++pos;
          ++col;
          if (col >= width) {
            ++row;
            if (C.JSInt_methods.$mod(row, 16) === 0)
              _this._extractPalettedAlphaRows$1(row);
            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 (pos >= dist && end - pos >= $length)
            for (i = 0; i < $length; ++i) {
              t3 = _this.__VP8L__pixels8;
              t4 = t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s8_)) : t3;
              t5 = pos + i;
              J.$indexSet$ax(t4, t5, J.$index$asx(t3, t5 - dist));
            }
          else {
            _this._lastPixel = pos;
            return true;
          }
          pos += $length;
          col += $length;
          for (; col >= width;) {
            col -= width;
            ++row;
            if (C.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: function(row) {
      var startRow, t1, t2, rowsOut, _this = this,
        numRows = row - _this._lastRow,
        pIn = Z.InputBuffer$(_this.get$_pixels8(), false, null, _this.webp.width * _this._lastRow);
      if (numRows > 0) {
        startRow = _this._lastRow;
        t1 = _this._vp8l$_opaque;
        t1.toString;
        t2 = _this._ioWidth;
        t2.toString;
        rowsOut = Z.InputBuffer$(t1, false, null, t2 * startRow);
        _this._vp8l$_transforms[0].colorIndexInverseTransformAlpha$4(startRow, startRow + numRows, pIn, rowsOut);
      }
      _this._lastRow = row;
    },
    _processRows$1: function(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) {
          t2 = _this._vp8l$_pixels;
          t2.toString;
          c = J.$index$asx(t2, pi);
          t2 = _this.image;
          t2.toString;
          t2.data[dy * t2.width + x] = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(c >>> 24 & 255, 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(c >>> 16 & 255, 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(c >>> 8 & 255, 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(c & 255, 0, 255))) >>> 0;
        }
      _this._lastRow = row;
    },
    _applyInverseTransforms$2: function(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;
      J.setRange$4$ax(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;
              J.setRange$4$ax(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 * C.JSInt_methods._shrOtherPositive$1(width + C.JSInt_methods._shlPositive$1(1, t6) - 1, t6);
              src = t3 + t2 * width - inStride;
              J.setRange$4$ax(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: function(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 = S.VP8L__subSampleSize(xsize, huffmanPrecision);
        huffmanYsize = S.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] = B.HTreeGroup$();
      for (t1 = colorCacheBits > 0, i = 0; i < numHtreeGroups; ++i)
        for (j = 0; j < 5; ++j) {
          alphabetSize = C.List_yTu[j];
          if (j === 0 && t1)
            alphabetSize += C.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: function(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 = H._setArrayType([0, 0], t2);
        codes = H._setArrayType([0, 0], t2);
        codeLengths = H._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[C.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: function(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 = B.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 = C.List_2_3_7[slot];
          repeat_offset = C.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: function(distanceSymbol) {
      var extraBits;
      if (distanceSymbol < 4)
        return distanceSymbol + 1;
      extraBits = C.JSInt_methods._shrOtherPositive$1(distanceSymbol - 2, 1);
      return C.JSInt_methods._shlPositive$1(2 + (distanceSymbol & 1), extraBits) + this.br.readBits$1(extraBits) + 1;
    },
    _planeCodeToDistance$2: function(xsize, planeCode) {
      var distCode, dist;
      if (planeCode > 120)
        return planeCode - 120;
      else {
        distCode = C.List_AYZ[planeCode - 1];
        dist = (distCode >>> 4) * xsize + (8 - (distCode & 15));
        return dist >= 1 ? dist : 1;
      }
    },
    _expandColorMap$2: function(numColors, transform) {
      var len, i,
        finalNumColors = C.JSInt_methods._shlPositive$1(1, C.JSInt_methods._shrBothPositive$1(8, transform.bits)),
        newColorMap = new Uint32Array(finalNumColors),
        data = C.NativeByteBuffer_methods.asUint8List$2(transform.data.buffer, 0, null),
        newData = C.NativeByteBuffer_methods.asUint8List$2(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: function(image, xsize, bits, x, y) {
      if (bits === 0)
        return 0;
      image.toString;
      return image[xsize * C.JSInt_methods._shrOtherPositive$1(y, bits) + C.JSInt_methods._shrOtherPositive$1(x, bits)];
    },
    _getHtreeGroupForPos$2: function(x, y) {
      var _this = this,
        metaIndex = _this._getMetaIndex$5(_this._huffmanImage, _this._huffmanXsize, _this._huffmanSubsampleBits, x, y);
      return _this._htreeGroups[metaIndex];
    },
    get$_pixels8: function() {
      var t1 = this.__VP8L__pixels8;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_pixels8")) : t1;
    }
  };
  S.InternalVP8L.prototype = {
    extractAlphaRows$1: function(row) {
      return this._extractAlphaRows$1(row);
    }
  };
  A.VP8LBitReader.prototype = {
    prefetchBits$0: function() {
      var t2, b2,
        t1 = this.bitPos;
      if (t1 < 32) {
        t2 = this._vp8l_bit_reader$_buffer;
        b2 = C.JSInt_methods._shrReceiverPositive$1(t2[0], t1) + ((t2[1] & C.List_DKo[t1]) >>> 0) * (C.List_DKo[32 - t1] + 1);
      } else {
        t2 = this._vp8l_bit_reader$_buffer;
        b2 = t1 === 32 ? t2[1] : C.JSInt_methods._shrReceiverPositive$1(t2[1], t1 - 32);
      }
      return b2;
    },
    readBits$1: function(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 = C.List_DKo[numBits];
        _this.bitPos += numBits;
        _this._shiftBytes$0();
        return (t1 & t2) >>> 0;
      } else
        throw H.wrapException(K.ImageException$("Not enough data in input."));
    },
    _shiftBytes$0: function() {
      var t3, t4, t5, _this = this,
        t1 = _this._vp8l_bit_reader$_input,
        t2 = _this._vp8l_bit_reader$_buffer;
      while (true) {
        if (!(_this.bitPos >= 8 && !(t1.offset >= t1.end)))
          break;
        t3 = t1.buffer;
        t4 = t1.offset;
        t1.offset = t4 + 1;
        t4 = J.$index$asx(t3, t4);
        t3 = t2[0];
        t5 = t2[1];
        t2[0] = (t3 >>> 8) + (t5 & 255) * 16777216;
        t2[1] = t5 >>> 8;
        t2[1] = (t2[1] | t4 * 16777216) >>> 0;
        _this.bitPos -= 8;
      }
    },
    get$_buffer8: function() {
      var t1 = this.__VP8LBitReader__buffer8;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_buffer8")) : t1;
    }
  };
  Y.VP8LColorCache.prototype = {};
  R.VP8LTransform.prototype = {
    colorIndexInverseTransformAlpha$4: function(yStart, yEnd, src, dst) {
      var countMask, bit_mask, y, packed_pixels, x,
        t1 = this.bits,
        bitsPerPixel = C.JSInt_methods._shrBothPositive$1(8, t1),
        width = this.xsize,
        colorMap = this.data;
      if (bitsPerPixel < 8) {
        countMask = C.JSInt_methods._shlPositive$1(1, t1) - 1;
        bit_mask = C.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) {
              packed_pixels = J.$index$asx(src.buffer, src.offset);
              src.offset = src.offset + 1;
            }
            colorMap.toString;
            t1 = colorMap[(packed_pixels & bit_mask) >>> 0];
            J.$indexSet$ax(dst.buffer, dst.offset, t1 >>> 8 & 255);
            dst.offset = dst.offset + 1;
            packed_pixels = C.JSInt_methods._shrOtherPositive$1(packed_pixels, bitsPerPixel);
          }
      } else
        for (y = yStart; y < yEnd; ++y)
          for (x = 0; x < width; ++x) {
            t1 = J.$index$asx(src.buffer, src.offset);
            src.offset = src.offset + 1;
            t1 = colorMap[t1];
            J.$indexSet$ax(dst.buffer, dst.offset, t1 >>> 8 & 255);
            dst.offset = dst.offset + 1;
          }
    },
    colorIndexInverseTransform$6: function(yStart, yEnd, inData, src, outData, dst) {
      var countMask, bit_mask, t2, y, packed_pixels, x, src0, dst0,
        t1 = this.bits,
        bitsPerPixel = C.JSInt_methods._shrBothPositive$1(8, t1),
        width = this.xsize,
        colorMap = this.data;
      if (bitsPerPixel < 8) {
        countMask = C.JSInt_methods._shlPositive$1(1, t1) - 1;
        bit_mask = C.JSInt_methods._shlPositive$1(1, bitsPerPixel) - 1;
        for (t1 = J.getInterceptor$ax(outData), t2 = J.getInterceptor$asx(inData), 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 = t2.$index(inData, src) >>> 8 & 255;
              src = src0;
            }
            dst0 = dst + 1;
            t1.$indexSet(outData, dst, colorMap[packed_pixels & bit_mask]);
            packed_pixels = C.JSInt_methods._shrBothPositive$1(packed_pixels, bitsPerPixel);
          }
      } else
        for (t1 = J.getInterceptor$asx(inData), t2 = J.getInterceptor$ax(outData), y = yStart; y < yEnd; ++y)
          for (x = 0; x < width; ++x, dst = dst0, src = src0) {
            dst0 = dst + 1;
            colorMap.toString;
            src0 = src + 1;
            t2.$indexSet(outData, dst, colorMap[t1.$index(inData, src) >>> 8 & 255]);
          }
    },
    colorSpaceInverseTransform$4: function(yStart, yEnd, outData, data) {
      var y, t2, pred, x, pred0, t3, t4, green, t5, t6, a, b, t7, t8, t9, newRed, d, d0,
        width = this.xsize,
        t1 = this.bits,
        mask = C.JSInt_methods._shlPositive$1(1, t1) - 1,
        tilesPerRow = S.VP8L__subSampleSize(width, t1),
        predRow = C.JSInt_methods._shrOtherPositive$1(yStart, t1) * tilesPerRow;
      for (t1 = J.getInterceptor$asx(outData), y = yStart; y < yEnd;) {
        t2 = new Uint8Array(3);
        for (pred = predRow, x = 0; x < width; ++x) {
          if ((x & mask) >>> 0 === 0) {
            pred0 = pred + 1;
            t3 = this.data[pred];
            t2[0] = t3 & 255;
            t2[1] = t3 >>> 8 & 255;
            t2[2] = t3 >>> 16 & 255;
            pred = pred0;
          }
          t3 = data + x;
          t4 = t1.$index(outData, t3);
          green = t4 >>> 8 & 255;
          t5 = t2[0];
          t6 = $.$get$__uint8();
          t6[0] = t5;
          t5 = $.$get$__uint8ToInt8();
          a = t5[0];
          t6[0] = green;
          b = t5[0];
          t7 = $.$get$__int32();
          t7[0] = a * b;
          t8 = $.$get$__int32ToUint32();
          t9 = J.getInterceptor$asx(t8);
          newRed = (t4 >>> 16 & 255) + (t9.$index(t8, 0) >>> 5) >>> 0 & 255;
          t6[0] = t2[1];
          a = t5[0];
          t6[0] = green;
          t7[0] = a * t5[0];
          d = t9.$index(t8, 0);
          t6[0] = t2[2];
          a = t5[0];
          t6[0] = newRed;
          t7[0] = a * t5[0];
          d0 = t9.$index(t8, 0);
          t1.$indexSet(outData, t3, (t4 & 4278255360 | newRed << 16 | ((t4 & 255) + (d >>> 5) >>> 0) + (d0 >>> 5) >>> 0 & 255) >>> 0);
        }
        data += width;
        ++y;
        if ((y & mask) >>> 0 === 0)
          predRow += tilesPerRow;
      }
    },
    predictorInverseTransform$4: function(yStart, yEnd, outData, data) {
      var t1, x, t2, mask, tilesPerRow, predModeBase, y, predModeSrc, predFunc, predModeSrc0, _this = this,
        width = _this.xsize;
      if (yStart === 0) {
        t1 = J.getInterceptor$asx(outData);
        t1.$index(outData, data - 1);
        R.VP8LTransform__addPixelsEq(outData, data, 4278190080);
        for (x = 1; x < width; ++x) {
          t2 = data + x;
          R.VP8LTransform__addPixelsEq(outData, t2, t1.$index(outData, t2 - 1));
        }
        data += width;
        ++yStart;
      }
      t1 = _this.bits;
      mask = C.JSInt_methods._shlPositive$1(1, t1) - 1;
      tilesPerRow = S.VP8L__subSampleSize(width, t1);
      predModeBase = C.JSInt_methods._shrOtherPositive$1(yStart, t1) * tilesPerRow;
      for (t1 = J.getInterceptor$asx(outData), y = yStart; y < yEnd;) {
        t1.$index(outData, data - 1);
        R.VP8LTransform__addPixelsEq(outData, data, t1.$index(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;
          }
          t2 = data + x;
          R.VP8LTransform__addPixelsEq(outData, t2, predFunc.call$3(outData, t1.$index(outData, t2 - 1), t2 - width));
        }
        data += width;
        ++y;
        if ((y & mask) >>> 0 === 0)
          predModeBase += tilesPerRow;
      }
    },
    addGreenToBlueAndRed$3: function(pixels, data, dataEnd) {
      var t1, argb, green, data0;
      for (t1 = J.getInterceptor$asx(pixels); data < dataEnd; data = data0) {
        argb = t1.$index(pixels, data);
        green = argb >>> 8 & 255;
        data0 = data + 1;
        t1.$indexSet(pixels, data, (argb & 4278255360 | (argb & 16711935) + (green << 16 | green) & 16711935) >>> 0);
      }
    }
  };
  S.WebPAlpha.prototype = {
    get$isValid: function() {
      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: function(_, row, numRows, output) {
      var unfilterFunc, t1, offset, t2, t3, _this = this;
      if (!_this.get$isValid())
        return false;
      unfilterFunc = C.List_HHa[_this.filter];
      if (_this.method === 0) {
        t1 = _this.width;
        offset = row * t1;
        t2 = _this.input;
        J.setRange$4$ax(output, offset, numRows * t1, t2.buffer, t2.offset - t2.start + offset);
      } else {
        t1 = row + numRows;
        _this.get$_vp8l()._vp8l$_opaque = output;
        if (_this._use8bDecode)
          t1 = _this.get$_vp8l()._decodeAlphaData$3(_this.get$_vp8l().webp.width, _this.get$_vp8l().webp.height, t1);
        else {
          t2 = _this.get$_vp8l();
          t3 = _this.get$_vp8l()._vp8l$_pixels;
          t3.toString;
          t1 = t2._decodeImageData$5(t3, _this.get$_vp8l().webp.width, _this.get$_vp8l().webp.height, t1, _this.get$_vp8l().get$extractAlphaRows());
        }
        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: function(data, width, height, row, num_rows) {
      if (width <= 0 || height <= 0 || row < 0 || num_rows < 0 || row + num_rows > height)
        return false;
      return true;
    },
    get$_vp8l: function() {
      var t1 = this.__WebPAlpha__vp8l;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_vp8l")) : t1;
    },
    set$width: function(receiver, val) {
      return this.width = val;
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  X.WebPFrame.prototype = {
    WebPFrame$2: function(input, size) {
      input.readByte$0();
      this._reserved = 0;
      this.__WebPFrame__framePosition = input.offset - input.start;
      this.__WebPFrame__frameSize = size - 16;
    },
    get$_framePosition: function() {
      var t1 = this.__WebPFrame__framePosition;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_framePosition")) : t1;
    },
    get$_webp_frame$_frameSize: function() {
      var t1 = this.__WebPFrame__frameSize;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_frameSize")) : t1;
    },
    get$duration: function(receiver) {
      return this.duration;
    },
    set$width: function() {
    },
    set$height: function(receiver, val) {
      return this.height = val;
    }
  };
  X.InternalWebPFrame.prototype = {};
  B.HuffmanTree.prototype = {
    get$tree: function() {
      var t1 = this.__HuffmanTree_tree;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("tree")) : t1;
    },
    _webp_huffman$_init$1: function(numLeaves) {
      var t1, _this = this;
      if (numLeaves === 0)
        return false;
      t1 = (numLeaves << 1 >>> 0) - 1;
      _this.maxNodes = t1;
      _this.__HuffmanTree_tree = new Int32Array(t1 << 1 >>> 0);
      J.$indexSet$ax(_this.get$tree(), 1, -1);
      _this.numNodes = 1;
      C.NativeUint8List_methods.fillRange$3(_this.lutBits, 0, 128, 255);
      return true;
    },
    buildImplicit$2: function(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: function(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: function(br) {
      var node, _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 {
        node = node + J.$index$asx(_this.get$tree(), (node << 1 >>> 0) + 1) + (bits & 1);
        bits = bits >>> 1;
        ++newBitPos;
      } while (_this._nodeIsNotLeaf$1(node));
      br.bitPos = newBitPos;
      return J.$index$asx(_this.get$tree(), node << 1 >>> 0);
    },
    _addSymbol$3: function(symbol, code, codeLength) {
      var baseCode, t1, t2, t3, i, idx, step, node, codeLength0, t4, _this = this, _s4_ = "tree";
      if (codeLength <= 7) {
        baseCode = _this._reverseBitsShort$2(code, codeLength);
        for (t1 = C.JSInt_methods.$shl(1, 7 - codeLength), t2 = _this.lutSymbol, t3 = _this.lutBits, i = 0; i < t1; ++i) {
          idx = (baseCode | C.JSInt_methods.$shl(i, codeLength)) >>> 0;
          t2[idx] = symbol;
          t3[idx] = codeLength;
        }
      } else
        baseCode = _this._reverseBitsShort$2(C.JSInt_methods.$shr(code, codeLength - 7), 7);
      for (t1 = _this.lutJump, step = 7, node = 0; codeLength0 = codeLength - 1, codeLength > 0; codeLength = codeLength0) {
        if (node >= _this.maxNodes)
          return false;
        t2 = _this.__HuffmanTree_tree;
        if (t2 === $)
          t2 = H.throwExpression(H.LateError$fieldNI(_s4_));
        t3 = (node << 1 >>> 0) + 1;
        if (J.$index$asx(t2, t3) < 0) {
          t2 = _this.numNodes;
          if (t2 === _this.maxNodes)
            return false;
          t4 = _this.__HuffmanTree_tree;
          if (t4 === $)
            t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
          J.$indexSet$ax(t4, t3, t2 - node);
          _this.numNodes += 2;
          t4 = _this.__HuffmanTree_tree;
          if (t4 === $)
            t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
          J.$indexSet$ax(t4, (t2 << 1 >>> 0) + 1, -1);
          t4 = _this.__HuffmanTree_tree;
          if (t4 === $)
            t4 = H.throwExpression(H.LateError$fieldNI(_s4_));
          J.$indexSet$ax(t4, (t2 + 1 << 1 >>> 0) + 1, -1);
        } else {
          t2 = _this.__HuffmanTree_tree;
          if (J.$index$asx(t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s4_)) : t2, t3) === 0)
            return false;
        }
        t2 = _this.__HuffmanTree_tree;
        node += J.$index$asx(t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s4_)) : t2, t3) + (C.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;
      J.$indexSet$ax(_this.get$tree(), node << 1 >>> 0, symbol);
      return true;
    },
    _reverseBitsShort$2: function(bits, numBits) {
      return C.JSInt_methods._shrReceiverPositive$1((C.List_cGl[bits & 15] << 4 | C.List_cGl[C.JSInt_methods._shrOtherPositive$1(bits, 4)]) >>> 0, 8 - numBits);
    },
    _nodeSetChildren$2: function(node, children) {
      J.$indexSet$ax(this.get$tree(), (node << 1 >>> 0) + 1, children);
    },
    _nodeIsNotLeaf$1: function(node) {
      return J.$index$asx(this.get$tree(), (node << 1 >>> 0) + 1) !== 0;
    },
    _nodeIsEmpty$1: function(node) {
      return J.$index$asx(this.get$tree(), (node << 1 >>> 0) + 1) < 0;
    },
    _huffmanCodeLengthsToCodes$3: function(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;
    }
  };
  B.HTreeGroup.prototype = {
    $index: function(_, index) {
      return this.htrees[index];
    }
  };
  D.WebPInfo.prototype = {};
  D.InternalWebPInfo.prototype = {};
  E.WebPDecoder.prototype = {
    isValidFile$1: function(bytes) {
      var t1 = Z.InputBuffer$(bytes, false, null, 0);
      this._webp_decoder$_input = t1;
      if (!this._getHeader$1(t1))
        return false;
      return true;
    },
    startDecode$1: function(bytes) {
      var t2, _this = this, _null = null,
        t1 = Z.InputBuffer$(bytes, false, _null, 0);
      _this._webp_decoder$_input = t1;
      if (!_this._getHeader$1(t1))
        return _null;
      t1 = new D.InternalWebPInfo(H._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 (!S.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: function(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;
        return _this._decodeFrame$2$frame(t1.subset$2$position(f.get$_webp_frame$_frameSize(), f.get$_framePosition()), frame);
      }
      t3 = t2.format;
      if (t3 === 2) {
        t1.toString;
        data = t1.subset$2$position(t2._vp8Size, t2._vp8Position);
        t1 = _this._info;
        t1.toString;
        return S.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: function(bytes) {
      var t1;
      this.startDecode$1(bytes);
      t1 = this._info;
      t1._frame = 0;
      t1._numFrames = 1;
      return this.decodeFrame$1(0);
    },
    _decodeFrame$2$frame: function(input, frame) {
      var t2, f, data, _null = null,
        t1 = H._setArrayType([], type$.JSArray_WebPFrame),
        webp = new D.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];
        return this._decodeFrame$2$frame(input.subset$2$position(f.get$_webp_frame$_frameSize(), f.get$_framePosition()), frame);
      } else {
        data = input.subset$2$position(webp._vp8Size, webp._vp8Position);
        t1 = webp.format;
        if (t1 === 2)
          return S.VP8L$(data, webp).decode$0(0);
        else if (t1 === 1)
          return A.VP8$(data, webp).decode$0(0);
      }
      return _null;
    },
    _getHeader$1: function(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: function(input, webp) {
      var tag, size, diskSize, p, t3, t4, t5, c, line, toZone, remainder,
        t1 = input.end,
        t2 = input.start,
        found = false;
      while (true) {
        if (!(!(input.offset >= t1) && !found))
          break;
        tag = input.readString$1(4);
        size = input.readUint32$0();
        diskSize = size + 1 >>> 1 << 1 >>> 0;
        p = input.offset - t2;
        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":
            webp.toString;
            t3 = input.buffer;
            t4 = input.bigEndian;
            t5 = J.get$length$asx(t3);
            t3 = new Z.InputBuffer(t3, 0, t5, 0, t4);
            webp._webp_info$_alphaData = t3;
            t3.offset = input.offset;
            input.offset = input.offset + diskSize;
            break;
          case "ANIM":
            webp.format = 3;
            c = input.readUint32$0();
            input.readUint16$0();
            C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(c & 255, 0, 255));
            C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(c >>> 24 & 255, 0, 255));
            C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2(c >>> 16 & 255, 0, 255));
            C.JSNumber_methods.toInt$0(C.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;
            input.readString$1(size);
            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)
              H.printString(line);
            else
              toZone.call$1(line);
            input.offset = input.offset + diskSize;
            break;
        }
        t3 = input.offset;
        remainder = diskSize - (t3 - t2 - p);
        if (remainder > 0)
          input.offset = t3 + remainder;
      }
      if (!webp.hasAlpha)
        webp.hasAlpha = webp._webp_info$_alphaData != null;
      return webp.format !== 0;
    },
    _getVp8xInfo$2: function(input, webp) {
      var t1, t2, t3, t4,
        b = input.readByte$0();
      if ((b & 192) !== 0)
        return false;
      t1 = C.JSInt_methods._shrOtherPositive$1(b, 4);
      t2 = C.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: function(input, webp, size) {
      var frame;
      input.readUint24$0();
      input.readUint24$0();
      input.readUint24$0();
      frame = new X.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;
    }
  };
  F.HdrImage.prototype = {
    HdrImage$fromImage$3$bitsPerSample$type: function(other, bitsPerSample, type) {
      var rgb, t3, y, si, x, t4, si0, _this = this,
        t1 = other.width,
        t2 = other.height;
      _this.addSlice$1(K.HdrSlice$("R", t1, t2, type, bitsPerSample));
      _this.addSlice$1(K.HdrSlice$("G", t1, t2, type, bitsPerSample));
      _this.addSlice$1(K.HdrSlice$("B", t1, t2, type, bitsPerSample));
      if (other.channels === C.Channels_1)
        _this.addSlice$1(K.HdrSlice$("A", t1, t2, type, bitsPerSample));
      rgb = other.getBytes$0();
      for (t3 = J.getInterceptor$asx(rgb), y = 0, si = 0; y < t2; ++y)
        for (x = 0; x < t1; ++x) {
          t4 = _this.red;
          t4.toString;
          si0 = si + 1;
          t4.setFloat$3(x, y, t3.$index(rgb, si) / 255);
          t4 = _this.green;
          t4.toString;
          si = si0 + 1;
          t4.setFloat$3(x, y, t3.$index(rgb, si0) / 255);
          t4 = _this.blue;
          t4.toString;
          si0 = si + 1;
          t4.setFloat$3(x, y, t3.$index(rgb, si) / 255);
          t4 = _this.alpha;
          if (t4 != null) {
            si = si0 + 1;
            t4.setFloat$3(x, y, t3.$index(rgb, si0) / 255);
          } else
            si = si0;
        }
    },
    get$width: function(_) {
      var t1 = this.slices;
      if (t1.get$isEmpty(t1))
        t1 = 0;
      else {
        t1 = t1.get$values(t1);
        t1 = t1.get$first(t1).width;
      }
      return t1;
    },
    get$height: function(_) {
      var t1 = this.slices;
      if (t1.get$isEmpty(t1))
        t1 = 0;
      else {
        t1 = t1.get$values(t1);
        t1 = t1.get$first(t1).height;
      }
      return t1;
    },
    setRed$3: function(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, H._asIntS(c));
    },
    setGreen$3: function(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, H._asIntS(c));
    },
    setBlue$3: function(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, H._asIntS(c));
      }
    },
    setAlpha$3: function(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, H._asIntS(c));
    },
    $index: function(_, ch) {
      return this.slices.$index(0, ch);
    },
    addSlice$1: function(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;
      }
    },
    get$depth: function() {
      return this.depth;
    }
  };
  K.HdrSlice.prototype = {
    getFloat$2: function(x, y) {
      var t3, v, s, _this = this,
        pi = y * _this.width + x,
        t1 = _this.type,
        t2 = t1 === 1;
      if (t2 || t1 === 0) {
        t1 = H._asIntS(_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 = H._asIntS(t2[pi]);
        if ($.Half__toFloatFloat32 == null)
          Q.Half__initialize();
        s = $.Half__toFloatFloat32[t1];
      } else
        s = t2[pi];
      return s;
    },
    setFloat$3: function(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] = Q.Half_DoubleToHalf(v);
      else
        t1[pi] = v;
    },
    setInt$3: function(x, y, v) {
      this.data[y * this.width + x] = v;
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  A.hdrToImage__knee.prototype = {
    call$2: function(x, f) {
      return Math.log(x * f + 1) / f;
    },
    $signature: 221
  };
  A.hdrToImage__gamma.prototype = {
    call$2: function(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: 221
  };
  U.Format.prototype = {
    toString$0: function(_) {
      return this._image1$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  U.Channels.prototype = {
    toString$0: function(_) {
      return this._image1$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  U.Image0.prototype = {
    getBytes$0: function() {
      var len, bytes, i, t2, t3, j, _this = this,
        t1 = _this.data,
        rgba = C.NativeByteBuffer_methods.asUint8List$2(t1.buffer, 0, null);
      switch (C.Format_2) {
        case C.Format_2:
          return rgba;
        case C.Format_3:
          len = _this.width * _this.height * 4;
          bytes = new Uint8Array(len);
          for (i = 0; i < len; i += 4) {
            t1 = i + 2;
            bytes[i] = rgba[t1];
            t2 = i + 1;
            bytes[t2] = rgba[t2];
            bytes[t1] = rgba[i];
            t1 = i + 3;
            bytes[t1] = rgba[t1];
          }
          return bytes;
        case C.Format_1:
          len = _this.width * _this.height * 4;
          bytes = new Uint8Array(len);
          for (i = 0; i < len; i += 4) {
            t1 = i + 3;
            bytes[i] = rgba[t1];
            t2 = i + 1;
            t3 = i + 2;
            bytes[t2] = rgba[t3];
            bytes[t3] = rgba[t2];
            bytes[t1] = rgba[i];
          }
          return bytes;
        case C.Format_0:
          len = _this.width * _this.height * 4;
          bytes = new Uint8Array(len);
          for (i = 0; i < len; i += 4) {
            t1 = i + 3;
            bytes[i] = rgba[t1];
            t2 = i + 1;
            bytes[t2] = rgba[i];
            t3 = i + 2;
            bytes[t3] = rgba[t2];
            bytes[t1] = rgba[t3];
          }
          return bytes;
        case C.Format_4:
          len = _this.width * _this.height * 3;
          bytes = new Uint8Array(len);
          for (i = 0, j = 0; j < len; i += 4, j += 3) {
            bytes[j] = rgba[i];
            bytes[j + 1] = rgba[i + 1];
            bytes[j + 2] = rgba[i + 2];
          }
          return bytes;
        case C.Format_5:
          len = _this.width * _this.height * 3;
          bytes = new Uint8Array(len);
          for (i = 0, j = 0; j < len; i += 4, j += 3) {
            bytes[j] = rgba[i + 2];
            bytes[j + 1] = rgba[i + 1];
            bytes[j + 2] = rgba[i];
          }
          return bytes;
        case C.Format_6:
          bytes = new Uint8Array(_this.width * _this.height);
          for (len = t1.length, i = 0; i < len; ++i) {
            t2 = t1[i];
            bytes[i] = C.JSNumber_methods.round$0(0.299 * (t2 & 255) + 0.587 * (t2 >>> 8 & 255) + 0.114 * (t2 >>> 16 & 255));
          }
          return bytes;
        default:
          throw H.wrapException(H.ReachabilityError$(string$.x60null_c));
      }
    },
    $add: function(_, other) {
      var t2, w, t3, t4, y, x, t5, c1, c2, _this = this,
        t1 = other.height,
        h = Math.min(H.checkNum(_this.height), H.checkNum(t1));
      t1 = _this.width;
      t2 = other.width;
      w = Math.min(H.checkNum(t1), H.checkNum(t2));
      for (t3 = _this.data, t4 = other.data, y = 0; y < h; ++y)
        for (x = 0; x < w; ++x) {
          t5 = y * t1 + x;
          c1 = t3[t5];
          c2 = t4[y * t2 + x];
          t3[t5] = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 >>> 24 & 255) + (c2 >>> 24 & 255), 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 >>> 16 & 255) + (c2 >>> 16 & 255), 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 >>> 8 & 255) + (c2 >>> 8 & 255), 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 & 255) + (c2 & 255), 0, 255))) >>> 0;
        }
      return _this;
    },
    $sub: function(_, other) {
      var t2, w, t3, t4, y, x, t5, c1, c2, _this = this,
        t1 = other.height,
        h = Math.min(H.checkNum(_this.height), H.checkNum(t1));
      t1 = _this.width;
      t2 = other.width;
      w = Math.min(H.checkNum(t1), H.checkNum(t2));
      for (t3 = _this.data, t4 = other.data, y = 0; y < h; ++y)
        for (x = 0; x < w; ++x) {
          t5 = y * t1 + x;
          c1 = t3[t5];
          c2 = t4[y * t2 + x];
          t3[t5] = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 >>> 24 & 255) - (c2 >>> 24 & 255), 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 >>> 16 & 255) - (c2 >>> 16 & 255), 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 >>> 8 & 255) - (c2 >>> 8 & 255), 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 & 255) - (c2 & 255), 0, 255))) >>> 0;
        }
      return _this;
    },
    $mul: function(_, other) {
      var t2, w, y, x, t3, c1, c2, r2, t4, t5, _this = this,
        t1 = other.get$height(other),
        h = Math.min(H.checkNum(_this.height), H.checkNum(t1));
      t1 = _this.width;
      t2 = other.get$width(other);
      w = Math.min(H.checkNum(t1), H.checkNum(t2));
      for (t2 = _this.data, y = 0; y < h; ++y)
        for (x = 0; x < w; ++x) {
          t3 = y * t1 + x;
          c1 = t2[t3];
          c2 = other.getPixel$2(x, y);
          r2 = c2.$and(0, 255);
          t4 = c2.$shr(0, 8);
          t5 = c2.$shr(0, 16);
          t2[t3] = (C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 >>> 24 & 255) * (c2.$shr(0, 24) & 255), 0, 255)) << 24 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 >>> 16 & 255) * (t5 & 255), 0, 255)) << 16 | C.JSNumber_methods.toInt$0(C.JSInt_methods.clamp$2((c1 >>> 8 & 255) * (t4 & 255), 0, 255)) << 8 | C.JSNumber_methods.toInt$0(C.JSNumber_methods.clamp$2((c1 & 255) * r2, 0, 255))) >>> 0;
        }
      return _this;
    },
    get$length: function(_) {
      return this.data.length;
    },
    $index: function(_, index) {
      return this.data[index];
    },
    $indexSet: function(_, index, color) {
      this.data[index] = color;
    },
    index$2: function(_, x, y) {
      return y.$mul(0, this.width).$add(0, x);
    },
    setPixel$3: function(x, y, color) {
      this.data[y * this.width + x] = color;
    },
    get$duration: function() {
      return 0;
    }
  };
  K.ImageException.prototype = {
    toString$0: function(_) {
      return "ImageException: " + this.message;
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    }
  };
  Z.InputBuffer.prototype = {
    get$length: function(_) {
      return this.end - this.offset;
    },
    $index: function(_, index) {
      return J.$index$asx(this.buffer, this.offset + index);
    },
    $indexSet: function(_, index, value) {
      J.$indexSet$ax(this.buffer, this.offset + index, value);
      return value;
    },
    memcpy$4: function(start, $length, other, offset) {
      var t1 = this.buffer,
        t2 = this.offset,
        t3 = J.getInterceptor$ax(t1);
      if (other instanceof Z.InputBuffer) {
        t2 += start;
        t3.setRange$4(t1, t2, t2 + $length, other.buffer, other.offset + offset);
      } else {
        t2 += start;
        t3.setRange$4(t1, t2, t2 + $length, type$.List_int._as(other), offset);
      }
    },
    memcpy$3: function(start, $length, other) {
      return this.memcpy$4(start, $length, other, 0);
    },
    memset$3: function(start, $length, value) {
      var t1 = this.buffer,
        t2 = this.offset + start;
      J.fillRange$3$ax(t1, t2, t2 + $length, value);
    },
    subset$3$offset$position: function(count, offset, position) {
      var _this = this,
        pos = position != null ? _this.start + position : _this.offset;
      return Z.InputBuffer$(_this.buffer, _this.bigEndian, count, pos + offset);
    },
    subset$1: function(count) {
      return this.subset$3$offset$position(count, 0, null);
    },
    subset$2$position: function(count, position) {
      return this.subset$3$offset$position(count, 0, position);
    },
    subset$2$offset: function(count, offset) {
      return this.subset$3$offset$position(count, offset, null);
    },
    indexOf$1: function(_, value) {
      var i, end, _this = this;
      for (i = _this.offset, end = i + (_this.end - i); i < end; ++i)
        if (J.$eq$(J.$index$asx(_this.buffer, i), value))
          return i - _this.start;
      return -1;
    },
    readByte$0: function() {
      var t1 = this.buffer,
        t2 = this.offset;
      this.offset = t2 + 1;
      return J.$index$asx(t1, t2);
    },
    readBytes$1: function(count) {
      var bytes = this.subset$1(count);
      this.offset = this.offset + (bytes.end - bytes.offset);
      return bytes;
    },
    readString$1: function(len) {
      var codes, t1, t2, t3, _this = this;
      if (len == null) {
        codes = H._setArrayType([], type$.JSArray_int);
        for (t1 = _this.end; t2 = _this.offset, !(t2 >= t1);) {
          t3 = _this.buffer;
          _this.offset = t2 + 1;
          t2 = J.$index$asx(t3, t2);
          if (t2 === 0)
            return P.String_String$fromCharCodes(codes, 0, null);
          codes.push(t2);
        }
        throw H.wrapException(K.ImageException$("EOF reached without finding string terminator"));
      }
      return P.String_String$fromCharCodes(_this.readBytes$1(len).toUint8List$0(), 0, null);
    },
    readString$0: function() {
      return this.readString$1(null);
    },
    readUint16$0: function() {
      var b1, b2, _this = this,
        t1 = _this.buffer,
        t2 = _this.offset;
      _this.offset = t2 + 1;
      b1 = J.$index$asx(t1, t2) & 255;
      t2 = _this.buffer;
      t1 = _this.offset;
      _this.offset = t1 + 1;
      b2 = J.$index$asx(t2, t1) & 255;
      if (_this.bigEndian)
        return b1 << 8 | b2;
      return b2 << 8 | b1;
    },
    readUint24$0: function() {
      var b1, b2, b3, _this = this,
        t1 = _this.buffer,
        t2 = _this.offset;
      _this.offset = t2 + 1;
      b1 = J.$index$asx(t1, t2) & 255;
      t2 = _this.buffer;
      t1 = _this.offset;
      _this.offset = t1 + 1;
      b2 = J.$index$asx(t2, t1) & 255;
      t1 = _this.buffer;
      t2 = _this.offset;
      _this.offset = t2 + 1;
      b3 = J.$index$asx(t1, t2) & 255;
      if (_this.bigEndian)
        return b3 | b2 << 8 | b1 << 16;
      return b1 | b2 << 8 | b3 << 16;
    },
    readUint32$0: function() {
      var b1, b2, b3, b4, _this = this,
        t1 = _this.buffer,
        t2 = _this.offset;
      _this.offset = t2 + 1;
      b1 = J.$index$asx(t1, t2) & 255;
      t2 = _this.buffer;
      t1 = _this.offset;
      _this.offset = t1 + 1;
      b2 = J.$index$asx(t2, t1) & 255;
      t1 = _this.buffer;
      t2 = _this.offset;
      _this.offset = t2 + 1;
      b3 = J.$index$asx(t1, t2) & 255;
      t2 = _this.buffer;
      t1 = _this.offset;
      _this.offset = t1 + 1;
      b4 = J.$index$asx(t2, t1) & 255;
      if (_this.bigEndian)
        return (b1 << 24 | b2 << 16 | b3 << 8 | b4) >>> 0;
      return (b4 << 24 | b3 << 16 | b2 << 8 | b1) >>> 0;
    },
    readUint64$0: function() {
      var b1, b2, b3, b4, b5, b6, b7, b8, _this = this,
        t1 = _this.buffer,
        t2 = _this.offset;
      _this.offset = t2 + 1;
      b1 = J.$index$asx(t1, t2) & 255;
      t2 = _this.buffer;
      t1 = _this.offset;
      _this.offset = t1 + 1;
      b2 = J.$index$asx(t2, t1) & 255;
      t1 = _this.buffer;
      t2 = _this.offset;
      _this.offset = t2 + 1;
      b3 = J.$index$asx(t1, t2) & 255;
      t2 = _this.buffer;
      t1 = _this.offset;
      _this.offset = t1 + 1;
      b4 = J.$index$asx(t2, t1) & 255;
      t1 = _this.buffer;
      t2 = _this.offset;
      _this.offset = t2 + 1;
      b5 = J.$index$asx(t1, t2) & 255;
      t2 = _this.buffer;
      t1 = _this.offset;
      _this.offset = t1 + 1;
      b6 = J.$index$asx(t2, t1) & 255;
      t1 = _this.buffer;
      t2 = _this.offset;
      _this.offset = t2 + 1;
      b7 = J.$index$asx(t1, t2) & 255;
      t2 = _this.buffer;
      t1 = _this.offset;
      _this.offset = t1 + 1;
      b8 = J.$index$asx(t2, t1) & 255;
      if (_this.bigEndian)
        return (C.JSInt_methods._shlPositive$1(b1, 56) | C.JSInt_methods._shlPositive$1(b2, 48) | C.JSInt_methods._shlPositive$1(b3, 40) | C.JSInt_methods._shlPositive$1(b4, 32) | b5 << 24 | b6 << 16 | b7 << 8 | b8) >>> 0;
      return (C.JSInt_methods._shlPositive$1(b8, 56) | C.JSInt_methods._shlPositive$1(b7, 48) | C.JSInt_methods._shlPositive$1(b6, 40) | C.JSInt_methods._shlPositive$1(b5, 32) | b4 << 24 | b3 << 16 | b2 << 8 | b1) >>> 0;
    },
    toList$2: function(_, 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: function($receiver) {
      return this.toList$2($receiver, 0, 0);
    },
    toUint8List$2: function(offset, $length) {
      var t2, _this = this,
        len = $length == null ? _this.end - _this.offset - offset : $length,
        t1 = _this.buffer;
      if (type$.Uint8List._is(t1)) {
        t2 = J.getInterceptor$x(t1);
        return J.asUint8List$2$x(t2.get$buffer(t1), t2.get$offsetInBytes(t1) + _this.offset + offset, len);
      }
      t2 = _this.offset;
      t2 += offset;
      t2 = new Uint8Array(H._ensureNativeList(J.sublist$2$ax(t1, t2, t2 + len)));
      t1 = t2;
      return t1;
    },
    toUint8List$0: function() {
      return this.toUint8List$2(0, null);
    },
    toUint32List$0: function() {
      var t2,
        t1 = this.buffer;
      if (type$.Uint8List._is(t1)) {
        t2 = J.getInterceptor$x(t1);
        return J.asUint32List$2$x(t2.get$buffer(t1), t2.get$offsetInBytes(t1) + this.offset, null);
      }
      return J.asUint32List$2$x(J.get$buffer$x(this.toUint8List$0()), 0, null);
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    }
  };
  G.OutputBuffer.prototype = {
    writeByte$1: function(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: function(value) {
      this.writeByte$1(value & 255);
      this.writeByte$1(C.JSInt_methods._shrOtherPositive$1(value, 8) & 255);
    },
    writeUint32$1: function(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: function(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);
      C.NativeUint8List_methods.setRange$3(newBuffer, 0, t2, t1);
      this._output_buffer$_buffer = newBuffer;
    },
    _expandBuffer$0: function() {
      return this._expandBuffer$1(null);
    },
    get$length: function(receiver) {
      return this.length;
    }
  };
  B.DateSymbols.prototype = {
    toString$0: function(_) {
      return this.NAME;
    }
  };
  B.NumberSymbols.prototype = {
    toString$0: function(_) {
      return this.NAME;
    }
  };
  B.CompactNumberSymbols.prototype = {};
  A.DateFormat.prototype = {
    format$1: function(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 = H._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
        t2 = _this._formatFieldsPrivate = P.List_List$of(new H.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, H.throwConcurrentModificationError)(t1), ++_i)
        t3 += H.S(t1[_i].format$1(date));
      return t3.charCodeAt(0) == 0 ? t3 : t3;
    },
    _appendPattern$2: function(inputPattern, separator) {
      var t1 = this._date_format$_pattern;
      this._date_format$_pattern = t1 == null ? inputPattern : t1 + separator + H.S(inputPattern);
    },
    addPattern$1: function(inputPattern) {
      var t1, t2, _this = this;
      _this._formatFieldsPrivate = null;
      t1 = $.$get$dateTimePatterns();
      t2 = _this._date_format$_locale;
      t1.toString;
      if (!(X.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((X.canonicalizedLocale(t2) === "en_US" ? t1.fallbackData : t1._throwException$0()).$index(0, inputPattern), " ");
      }
      return _this;
    },
    get$dateSymbols: function() {
      var t2,
        t1 = this._date_format$_locale;
      if (t1 != $.lastDateSymbolLocale) {
        $.lastDateSymbolLocale = t1;
        t2 = $.$get$_dateTimeSymbols();
        t2.toString;
        $.cachedDateSymbols = X.canonicalizedLocale(t1) === "en_US" ? t2.fallbackData : t2._throwException$0();
      }
      t1 = $.cachedDateSymbols;
      t1.toString;
      return t1;
    },
    get$useNativeDigits: function() {
      var t1 = this._useNativeDigits;
      if (t1 == null) {
        $.DateFormat__useNativeDigitsByDefault.$index(0, this._date_format$_locale);
        t1 = this._useNativeDigits = true;
      }
      return t1;
    },
    _localizeDigits$1: function(numberString) {
      var t1, newDigits, t2, i, t3, t4, _this = this;
      if (!(_this.get$useNativeDigits() && _this._localeZeroCodeUnit != $.$get$asciiZeroCodeUnit()))
        return numberString;
      t1 = numberString.length;
      newDigits = P.List_List$filled(t1, 0, false, type$.int);
      for (t2 = _this._date_format$_locale, i = 0; i < t1; ++i) {
        t3 = C.JSString_methods._codeUnitAt$1(numberString, i);
        t4 = _this._localeZeroCodeUnit;
        if (t4 == null) {
          t4 = _this._localeZero;
          if (t4 == null) {
            t4 = _this._useNativeDigits;
            if (t4 == null) {
              $.DateFormat__useNativeDigitsByDefault.$index(0, t2);
              t4 = _this._useNativeDigits = true;
            }
            if (t4) {
              if (t2 != $.lastDateSymbolLocale) {
                $.lastDateSymbolLocale = t2;
                t4 = $.$get$_dateTimeSymbols();
                t4.toString;
                $.cachedDateSymbols = X.canonicalizedLocale(t2) === "en_US" ? t4.fallbackData : t4._throwException$0();
              }
              $.cachedDateSymbols.toString;
            }
            t4 = _this._localeZero = "0";
          }
          t4 = _this._localeZeroCodeUnit = C.JSString_methods._codeUnitAt$1(t4, 0);
        }
        newDigits[i] = t3 + t4 - $.$get$asciiZeroCodeUnit();
      }
      return P.String_String$fromCharCodes(newDigits, 0, null);
    },
    _parsePatternHelper$1: function(pattern) {
      var matched, parsed;
      if (pattern.length === 0)
        return H._setArrayType([], type$.JSArray__DateFormatField);
      matched = this._date_format$_match$1(pattern);
      if (matched == null)
        return H._setArrayType([], type$.JSArray__DateFormatField);
      parsed = this._parsePatternHelper$1(C.JSString_methods.substring$1(pattern, matched.fullPattern$0().length));
      parsed.push(matched);
      return parsed;
    },
    _date_format$_match$1: function(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: function(year, month, day, hour24, minute, second, fractionalSecond, utc) {
      var t1;
      if (utc) {
        t1 = H.Primitives_valueFromDecomposedDate(year, month, day, hour24, minute, second, fractionalSecond.$add(0, 0), true);
        if (!H._isInt(t1))
          H.throwExpression(H.argumentErrorValue(t1));
        return new P.DateTime(t1, true);
      } else {
        t1 = H.Primitives_valueFromDecomposedDate(year, month, day, hour24, minute, second, fractionalSecond.$add(0, 0), false);
        if (!H._isInt(t1))
          H.throwExpression(H.argumentErrorValue(t1));
        return new P.DateTime(t1, false);
      }
    },
    $signature: 1013
  };
  A.DateFormat__fieldConstructors_closure.prototype = {
    call$2: function(pattern, $parent) {
      var t1 = A._DateFormatQuotedField__patchQuotes(pattern);
      C.JSString_methods.trim$0(t1);
      return new A._DateFormatQuotedField(pattern, t1, $parent);
    },
    $signature: 1014
  };
  A.DateFormat__fieldConstructors_closure0.prototype = {
    call$2: function(pattern, $parent) {
      J.trim$0$s(pattern);
      return new A._DateFormatPatternField(pattern, $parent);
    },
    $signature: 1015
  };
  A.DateFormat__fieldConstructors_closure1.prototype = {
    call$2: function(pattern, $parent) {
      J.trim$0$s(pattern);
      return new A._DateFormatLiteralField(pattern, $parent);
    },
    $signature: 1016
  };
  A._DateFormatField.prototype = {
    fullPattern$0: function() {
      return this.pattern;
    },
    toString$0: function(_) {
      return this.pattern;
    },
    format$1: function(date) {
      return this.pattern;
    },
    get$parent: function(receiver) {
      return this.parent;
    },
    set$parent: function(receiver, val) {
      return this.parent = val;
    }
  };
  A._DateFormatLiteralField.prototype = {};
  A._DateFormatQuotedField.prototype = {
    fullPattern$0: function() {
      return this._fullPattern;
    }
  };
  A._DateFormatPatternField.prototype = {
    format$1: function(date) {
      return this.formatField$1(date);
    },
    formatField$1: function(date) {
      var hours, index, t2, era, hour, year, _this = this, _s1_ = "0",
        t1 = _this.pattern;
      switch (t1[0]) {
        case "a":
          date.toString;
          hours = H.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":
          t1 = t1.length;
          date.toString;
          return _this.parent._localizeDigits$1(C.JSString_methods.padLeft$2("" + H.Primitives_getDay(date), t1, _s1_));
        case "D":
          t1 = t1.length;
          date.toString;
          t2 = H.Primitives_valueFromDecomposedDate(H.Primitives_getYear(date), 2, 29, 0, 0, 0, 0, false);
          if (!H._isInt(t2))
            H.throwExpression(H.argumentErrorValue(t2));
          t2 = E.dayOfYear(H.Primitives_getMonth(date), H.Primitives_getDay(date), H.Primitives_getMonth(new P.DateTime(t2, false)) === 2);
          return _this.parent._localizeDigits$1(C.JSString_methods.padLeft$2("" + t2, t1, _s1_));
        case "E":
          t1 = t1.length;
          t2 = _this.parent;
          t1 = t1 >= 4 ? t2.get$dateSymbols().WEEKDAYS : t2.get$dateSymbols().SHORTWEEKDAYS;
          date.toString;
          return t1[C.JSInt_methods.$mod(H.Primitives_getWeekday(date), 7)];
        case "G":
          date.toString;
          era = H.Primitives_getYear(date) > 0 ? 1 : 0;
          t1 = t1.length;
          t2 = _this.parent;
          return t1 >= 4 ? t2.get$dateSymbols().ERANAMES[era] : t2.get$dateSymbols().ERAS[era];
        case "h":
          date.toString;
          hours = H.Primitives_getHours(date);
          if (H.Primitives_getHours(date) > 12)
            hours -= 12;
          if (hours === 0)
            hours = 12;
          t1 = t1.length;
          return _this.parent._localizeDigits$1(C.JSString_methods.padLeft$2("" + hours, t1, _s1_));
        case "H":
          t1 = t1.length;
          date.toString;
          return _this.parent._localizeDigits$1(C.JSString_methods.padLeft$2("" + H.Primitives_getHours(date), t1, _s1_));
        case "K":
          t1 = t1.length;
          date.toString;
          t2 = C.JSInt_methods.$mod(H.Primitives_getHours(date), 12);
          return _this.parent._localizeDigits$1(C.JSString_methods.padLeft$2("" + t2, t1, _s1_));
        case "k":
          date.toString;
          hour = H.Primitives_getHours(date) === 0 ? 24 : H.Primitives_getHours(date);
          t1 = t1.length;
          return _this.parent._localizeDigits$1(C.JSString_methods.padLeft$2("" + hour, t1, _s1_));
        case "L":
          return _this.formatStandaloneMonth$1(date);
        case "M":
          return _this.formatMonth$1(date);
        case "m":
          t1 = t1.length;
          date.toString;
          return _this.parent._localizeDigits$1(C.JSString_methods.padLeft$2("" + H.Primitives_getMinutes(date), t1, _s1_));
        case "Q":
          return _this.formatQuarter$1(date);
        case "S":
          return _this.formatFractionalSeconds$1(date);
        case "s":
          t1 = t1.length;
          date.toString;
          return _this.parent._localizeDigits$1(C.JSString_methods.padLeft$2("" + H.Primitives_getSeconds(date), t1, _s1_));
        case "v":
          return _this.formatTimeZoneId$1(date);
        case "y":
          date.toString;
          year = H.Primitives_getYear(date);
          if (year < 0)
            year = -year;
          t1 = t1.length;
          t2 = _this.parent;
          return t1 === 2 ? t2._localizeDigits$1(C.JSString_methods.padLeft$2("" + C.JSInt_methods.$mod(year, 100), 2, _s1_)) : t2._localizeDigits$1(C.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: function(date) {
      var t1 = this.pattern.length,
        t2 = this.parent;
      switch (t1) {
        case 5:
          t1 = t2.get$dateSymbols().NARROWMONTHS;
          date.toString;
          return t1[H.Primitives_getMonth(date) - 1];
        case 4:
          t1 = t2.get$dateSymbols().MONTHS;
          date.toString;
          return t1[H.Primitives_getMonth(date) - 1];
        case 3:
          t1 = t2.get$dateSymbols().SHORTMONTHS;
          date.toString;
          return t1[H.Primitives_getMonth(date) - 1];
        default:
          date.toString;
          return t2._localizeDigits$1(C.JSString_methods.padLeft$2("" + H.Primitives_getMonth(date), t1, "0"));
      }
    },
    formatFractionalSeconds$1: function(date) {
      var basic, t1;
      date.toString;
      basic = this.parent._localizeDigits$1(C.JSString_methods.padLeft$2("" + H.Primitives_getMilliseconds(date), 3, "0"));
      t1 = this.pattern.length - 3;
      if (t1 > 0)
        return basic + this.parent._localizeDigits$1(C.JSString_methods.padLeft$2("0", t1, "0"));
      else
        return basic;
    },
    formatStandaloneDay$1: function(date) {
      var t1 = this.pattern.length,
        t2 = this.parent;
      switch (t1) {
        case 5:
          t1 = t2.get$dateSymbols().STANDALONENARROWWEEKDAYS;
          date.toString;
          return t1[C.JSInt_methods.$mod(H.Primitives_getWeekday(date), 7)];
        case 4:
          t1 = t2.get$dateSymbols().STANDALONEWEEKDAYS;
          date.toString;
          return t1[C.JSInt_methods.$mod(H.Primitives_getWeekday(date), 7)];
        case 3:
          t1 = t2.get$dateSymbols().STANDALONESHORTWEEKDAYS;
          date.toString;
          return t1[C.JSInt_methods.$mod(H.Primitives_getWeekday(date), 7)];
        default:
          date.toString;
          return t2._localizeDigits$1(C.JSString_methods.padLeft$2("" + H.Primitives_getDay(date), 1, "0"));
      }
    },
    formatStandaloneMonth$1: function(date) {
      var t1 = this.pattern.length,
        t2 = this.parent;
      switch (t1) {
        case 5:
          t1 = t2.get$dateSymbols().STANDALONENARROWMONTHS;
          date.toString;
          return t1[H.Primitives_getMonth(date) - 1];
        case 4:
          t1 = t2.get$dateSymbols().STANDALONEMONTHS;
          date.toString;
          return t1[H.Primitives_getMonth(date) - 1];
        case 3:
          t1 = t2.get$dateSymbols().STANDALONESHORTMONTHS;
          date.toString;
          return t1[H.Primitives_getMonth(date) - 1];
        default:
          date.toString;
          return t2._localizeDigits$1(C.JSString_methods.padLeft$2("" + H.Primitives_getMonth(date), t1, "0"));
      }
    },
    formatQuarter$1: function(date) {
      var quarter, t1, t2;
      date.toString;
      quarter = C.JSNumber_methods.toInt$0((H.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(C.JSString_methods.padLeft$2("" + (quarter + 1), t1, "0"));
      }
    },
    formatTimeZoneId$1: function(date) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    formatTimeZone$1: function(date) {
      throw H.wrapException(P.UnimplementedError$(null));
    },
    formatTimeZoneRFC$1: function(date) {
      throw H.wrapException(P.UnimplementedError$(null));
    }
  };
  S._CompactStyleBase.prototype = {};
  S._CompactStyleWithNegative.prototype = {
    styleForSign$1: function(number) {
      return J.$lt$n(number, 0) ? this.negativeStyle : this.positiveStyle;
    },
    get$totalDigits: function() {
      var t1 = this.positiveStyle;
      return t1.normalizedExponent + t1.expectedDigits - 1;
    }
  };
  S._CompactStyle.prototype = {
    get$totalDigits: function() {
      return this.normalizedExponent + this.expectedDigits - 1;
    },
    styleForSign$1: function(number) {
      return this;
    }
  };
  S._CompactFormatType.prototype = {
    toString$0: function(_) {
      return this._number_format$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  S._CompactNumberFormat.prototype = {
    _fractionDigitsAfter$1: function(remainingSignificantDigits) {
      var newFractionDigits = this.super$NumberFormat$_fractionDigitsAfter(remainingSignificantDigits);
      return newFractionDigits;
    },
    get$minimumFractionDigits: function() {
      var t1 = this.minimumFractionDigits;
      return t1;
    },
    _divide$2: function(numerator, denominator) {
      var t1, divided, t2, integerPart, remainder, originalFraction, fraction;
      if (typeof numerator == "number")
        return numerator / denominator;
      t1 = J.getInterceptor$n(numerator);
      divided = t1.$tdiv(numerator, denominator);
      t2 = J.getInterceptor$n(divided);
      integerPart = t2.toInt$0(divided);
      if (!t2.$eq(divided, integerPart))
        throw H.wrapException(P.FormatException$("Number too big to use with compact format", numerator, null));
      remainder = C.JSNumber_methods.toInt$0(t1.remainder$1(numerator, denominator));
      originalFraction = t1.$sub(numerator, t1.$tdiv(numerator, 1));
      t1 = J.getInterceptor$(originalFraction);
      fraction = t1.$eq(originalFraction, 0) ? 0 : t1.$div(originalFraction, denominator);
      return integerPart + remainder / denominator + fraction;
    },
    _styleFor$1: function(number) {
      var additionalDigits, divisor, digitLength, t2, _i, style,
        originalLength = S.NumberFormat_numberOfIntegerDigits(number),
        t1 = this._significantDigits;
      t1.toString;
      additionalDigits = originalLength - t1;
      if (additionalDigits > 0) {
        divisor = Math.pow(10, additionalDigits);
        digitLength = S.NumberFormat_numberOfIntegerDigits(C.JSNumber_methods.round$0(J.toDouble$0$n(number) / divisor) * divisor);
      } else
        digitLength = originalLength;
      for (t1 = this._styles, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
        style = t1[_i];
        if (digitLength > style.get$totalDigits())
          return style.styleForSign$1(number);
      }
      throw H.wrapException(P.FormatException$("No compact style found for number. This should not happen", number, null));
    }
  };
  S._CompactNumberFormat__CompactNumberFormat_closure.prototype = {
    call$2: function(exponent, pattern) {
      var patterns,
        t1 = this._box_0;
      if (J.contains$1$asx(pattern, ";")) {
        patterns = pattern.split(";");
        C.JSArray_methods.add$1(t1.styles, new S._CompactStyleWithNegative(S._CompactStyle_createStyle(C.JSArray_methods.get$first(patterns), exponent), S._CompactStyle_createStyle(C.JSArray_methods.get$last(patterns), exponent)));
      } else
        C.JSArray_methods.add$1(t1.styles, S._CompactStyle_createStyle(pattern, exponent));
    },
    $signature: 1017
  };
  S.NumberFormat.prototype = {
    format$1: function(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 += C.JSNumber_methods.get$isNegative(number) ? _this.negativeSuffix : _this.positiveSuffix;
      t2._contents = "";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _formatExponential$1: function(number) {
      var exponent, mantissa, t1, _this = this;
      if (number === 0) {
        _this._formatFixed$1(number);
        _this._formatExponent$1(0);
        return;
      }
      exponent = C.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 (; C.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: function(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 = C.JSInt_methods.toString$0(exponent);
      if (_this._zeroOffset === 0)
        t2._contents += C.JSString_methods.padLeft$2(t3, t1, "0");
      else
        _this._slowPad$2(t1, t3);
    },
    _floor$1: function(number) {
      var t1;
      if (C.JSNumber_methods.get$isNegative(number) && !C.JSNumber_methods.get$isNegative(Math.abs(number)))
        throw H.wrapException(P.ArgumentError$("Internal error: expected positive number, got " + H.S(number)));
      t1 = C.JSNumber_methods.floor$0(number);
      return t1;
    },
    _round$1: function(number) {
      if (number == 1 / 0 || number == -1 / 0)
        return $.$get$NumberFormat__maxInt();
      else
        return C.JSNumber_methods.round$0(number);
    },
    _fractionDigitsAfter$1: function(remainingSignificantDigits) {
      return Math.max(0, remainingSignificantDigits);
    },
    _formatFixed$1: function(number) {
      var integerPart, fractionPart, extraIntegerDigits, power, fraction, integerLength, remainingSignificantDigits, divideBy, 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 = C.JSNumber_methods.toInt$0(number);
        fractionPart = 0;
        extraIntegerDigits = 0;
        power = 0;
      } else {
        integerPart = _this._floor$1(number);
        fraction = number - integerPart;
        if (C.JSNumber_methods.toInt$0(fraction) !== 0) {
          integerPart = number;
          fraction = 0;
        }
        if (_this.significantDigitsInUse) {
          t1 = _this._significantDigits;
          t1.toString;
          integerLength = S.NumberFormat_numberOfIntegerDigits(integerPart);
          remainingSignificantDigits = t1 - _this._multiplierDigits - integerLength;
          fractionDigits = _this._fractionDigitsAfter$1(remainingSignificantDigits);
          if (remainingSignificantDigits < 0) {
            divideBy = Math.pow(10, integerLength - t1);
            integerPart = C.JSNumber_methods.round$0(integerPart / divideBy) * divideBy;
          }
        }
        H.checkNum(fractionDigits);
        power = H._asIntS(Math.pow(10, fractionDigits));
        digitMultiplier = power * _this.multiplier;
        remainingDigits = C.JSNumber_methods.toInt$0(_this._round$1(fraction * digitMultiplier));
        if (remainingDigits >= digitMultiplier) {
          ++integerPart;
          remainingDigits -= digitMultiplier;
        }
        extraIntegerDigits = C.JSInt_methods.$tdiv(remainingDigits, power);
        fractionPart = C.JSInt_methods.$mod(remainingDigits, power);
      }
      t1 = $.$get$NumberFormat__maxInt();
      if (integerPart > t1) {
        howManyDigitsTooBig = C.JSNumber_methods.ceil$0(Math.log(integerPart) / $.$get$_ln10()) - $.$get$NumberFormat__maxDigits();
        divisor = C.JSNumber_methods.round$0(Math.pow(10, howManyDigitsTooBig));
        if (divisor === 0)
          divisor = Math.pow(10, howManyDigitsTooBig);
        paddingDigits = C.JSString_methods.$mul("0", C.JSInt_methods.toInt$0(howManyDigitsTooBig));
        integerPart = C.JSNumber_methods.toInt$0(integerPart / divisor);
      } else
        paddingDigits = "";
      extra = extraIntegerDigits === 0 ? "" : C.JSInt_methods.toString$0(extraIntegerDigits);
      intDigits = _this._mainIntegerDigits$1(integerPart);
      integerDigits = intDigits + (intDigits.length === 0 ? extra : C.JSString_methods.padLeft$2(extra, _this._multiplierDigits, "0")) + paddingDigits;
      digitLength = integerDigits.length;
      if (fractionDigits > 0)
        fractionPresent = _this.get$minimumFractionDigits() > 0 || fractionPart > 0;
      else
        fractionPresent = false;
      if (digitLength !== 0 || _this.minimumIntegerDigits > 0) {
        integerDigits = C.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 += H.Primitives_stringFromCharCode(C.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(C.JSInt_methods.toString$0(fractionPart + power));
    },
    _mainIntegerDigits$1: function(integer) {
      var digits, t1, t2;
      if (integer === 0)
        return "";
      digits = C.JSNumber_methods.toString$0(integer);
      if (this.significantDigitsInUse) {
        t1 = this._significantDigits;
        t1.toString;
        t1 = digits.length > t1;
      } else
        t1 = false;
      if (t1) {
        t1 = this._significantDigits;
        t2 = C.JSString_methods.substring$2(digits, 0, t1);
        t1.toString;
        digits = t2 + C.JSString_methods.padLeft$2("", digits.length - t1, "0");
      }
      return C.JSString_methods.startsWith$1(digits, "-") ? C.JSString_methods.substring$1(digits, 1) : digits;
    },
    _formatFractionPart$1: function(fractionPart) {
      var fractionLength0, t1, t2, i,
        fractionLength = fractionPart.length;
      while (true) {
        fractionLength0 = fractionLength - 1;
        if (!(C.JSString_methods.codeUnitAt$1(fractionPart, fractionLength0) === $.$get$asciiZeroCodeUnit() && fractionLength > this.get$minimumFractionDigits() + 1))
          break;
        fractionLength = fractionLength0;
      }
      for (t1 = this._number_format$_buffer, t2 = this._zeroOffset, i = 1; i < fractionLength; ++i)
        t1._contents += H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(fractionPart, i) + t2);
    },
    _slowPad$2: function(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 += H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(basic, i) + t2);
    },
    _group$2: function(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 && C.JSInt_methods.$mod(distanceFromEnd - t1, _this._groupingSize) === 1)
        _this._number_format$_buffer._contents += _this._symbols.GROUP_SEP;
    },
    toString$0: function(_) {
      return "NumberFormat(" + H.S(this._number_format$_locale) + ", " + H.S(this._number_format$_pattern) + ")";
    },
    get$minimumFractionDigits: function() {
      return this.minimumFractionDigits;
    }
  };
  S.NumberFormat_NumberFormat$decimalPattern_closure.prototype = {
    call$1: function(x) {
      return x.DECIMAL_PATTERN;
    },
    $signature: 220
  };
  Q.NumberFormatParseResult.prototype = {};
  Q.NumberFormatParser.prototype = {
    _parse$0: function() {
      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 K.StringIterator(trunk);
        for (; trunkIterator.moveNext$0();) {
          each = trunkIterator._string_iterator$_current;
          t2 = t3._string_iterator$_current;
          if (t2 != each && t2 != null)
            throw H.wrapException(P.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: function() {
      var affix = new P.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: function(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 H.wrapException(C.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 H.wrapException(C.FormatException_oQ2);
            t1.multiplier = 1000;
            affix._contents += _this.symbols.PERMILL;
            break;
          default:
            affix._contents += ch;
        }
      return true;
    },
    _parseTrunk$0: function() {
      var t2, n, effectiveDecimalPos, t3, totalDigits, t4, t5, _this = this,
        trunk = new P.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 H.wrapException(P.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: function(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 H.wrapException(P.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 H.wrapException(P.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 += H.S(ch);
          t2 = _this.result;
          if (t2.useExponentialNotation)
            throw H.wrapException(P.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 += H.S(nextChar);
            t1.moveNext$0();
            t2.useSignForPositiveExponent = true;
          }
          for (; t3 = t1._string_iterator$_current, t3 === "0";) {
            trunk._contents += H.S(t3);
            t1.moveNext$0();
            ++t2.minimumExponentDigits;
          }
          if (_this.digitLeftCount + _this.zeroDigitCount < 1 || t2.minimumExponentDigits < 1)
            throw H.wrapException(P.FormatException$('Malformed exponential pattern "' + t1.toString$0(0) + '"', _null, _null));
          return false;
        default:
          return false;
      }
      trunk._contents += H.S(ch);
      t1.moveNext$0();
      return true;
    }
  };
  K.StringIterator.prototype = {
    moveNext$0: function() {
      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;
    }
  };
  X.UninitializedLocaleData.prototype = {
    $index: function(_, key) {
      return X.canonicalizedLocale(key) === "en_US" ? this.fallbackData : this._throwException$0();
    },
    get$keys: function(_) {
      return type$.List_String._as(this._throwException$0());
    },
    containsKey$1: function(_, key) {
      if (X.canonicalizedLocale(key) !== "en_US")
        this._throwException$0();
      return true;
    },
    _throwException$0: function() {
      throw H.wrapException(new X.LocaleDataException("Locale data has not been initialized, call " + this.message + "."));
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  X.LocaleDataException.prototype = {
    toString$0: function(_) {
      return "LocaleDataException: " + this.message;
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    }
  };
  Y.Level.prototype = {
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Y.Level && this.value === other.value;
    },
    $lt: function(_, other) {
      return C.JSInt_methods.$lt(this.value, other.get$value(other));
    },
    $gt: function(_, other) {
      return C.JSInt_methods.$gt(this.value, other.get$value(other));
    },
    compareTo$1: function(_, other) {
      return this.value - other.value;
    },
    get$hashCode: function(_) {
      return this.value;
    },
    toString$0: function(_) {
      return this.name;
    },
    $isComparable: 1,
    get$name: function(receiver) {
      return this.name;
    }
  };
  L.LogRecord0.prototype = {
    toString$0: function(_) {
      return "[" + this.level.name + "] " + this.loggerName + ": " + this.message;
    },
    get$level: function(receiver) {
      return this.level;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  F.Logger.prototype = {
    get$fullName: function() {
      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: function(_) {
      var t1, effectiveLevel;
      if (this.parent == null) {
        t1 = this._level;
        t1.toString;
        effectiveLevel = t1;
      } else {
        t1 = $.$get$Logger_root();
        t1 = t1._level;
        t1.toString;
        effectiveLevel = t1;
      }
      return effectiveLevel;
    },
    log$4: function(logLevel, message, error, stackTrace) {
      var t2, record, _this = this,
        t1 = logLevel.value;
      if (t1 >= _this.get$level(_this).value) {
        if (t1 >= 2000) {
          P.StackTrace_current();
          logLevel.toString$0(0);
        }
        t1 = _this.get$fullName();
        t2 = Date.now();
        $.LogRecord__nextNumber = $.LogRecord__nextNumber + 1;
        record = new L.LogRecord0(logLevel, message, t1, new P.DateTime(t2, false));
        if (_this.parent == null)
          _this._publish$1(record);
        else
          $.$get$Logger_root()._publish$1(record);
      }
    },
    _publish$1: function(record) {
      return null;
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$parent: function(receiver) {
      return this.parent;
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  F.Logger_Logger_closure.prototype = {
    call$0: function() {
      var dot, $parent, t1,
        thisName = this.name;
      if (C.JSString_methods.startsWith$1(thisName, "."))
        H.throwExpression(P.ArgumentError$("name shouldn't start with a '.'"));
      dot = C.JSString_methods.lastIndexOf$1(thisName, ".");
      if (dot === -1)
        $parent = thisName !== "" ? F.Logger_Logger("") : null;
      else {
        $parent = F.Logger_Logger(C.JSString_methods.substring$2(thisName, 0, dot));
        thisName = C.JSString_methods.substring$1(thisName, dot + 1);
      }
      t1 = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger);
      t1 = new F.Logger(thisName, $parent, t1, new P.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_Logger));
      if ($parent == null)
        t1._level = C.Level_INFO_800;
      else
        $parent._logger0$_children.$indexSet(0, thisName, t1);
      return t1;
    },
    $signature: 1019
  };
  D.Nested.prototype = {
    build$1: function(_, context) {
      throw H.wrapException(P.StateError$("implemented internally"));
    },
    createElement$0: function(_) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new D._NestedElement(P.LinkedHashSet_LinkedHashSet$_empty(type$._NestedHookElement), null, t1, this, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
    }
  };
  D._NestedElement.prototype = {
    get$widget: function() {
      return type$.Nested._as(N.StatelessElement.prototype.get$widget.call(this));
    },
    build$0: function(_) {
      var t2, nestedHook, t3, _this = this,
        t1 = _this.SingleChildWidgetElementMixin__parent,
        nextNode = t1 == null ? null : t1._injectedChild;
      if (nextNode == null)
        nextNode = type$.Nested._as(N.StatelessElement.prototype.get$widget.call(_this))._nested$_child;
      for (t1 = type$.Nested._as(N.StatelessElement.prototype.get$widget.call(_this))._nested$_children, t2 = H._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>"), t1 = new H.ReversedListIterable(t1, t2), t2 = new H.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")), nestedHook = null; t2.moveNext$0(); nextNode = nestedHook)
        nestedHook = new D._NestedHook(t2.__internal$_current, nextNode, _this, null);
      if (nestedHook != null)
        for (t1 = _this.nodes, t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications, H._instanceType(t1)._precomputed1); t1.moveNext$0();) {
          t2 = t1._collection$_current;
          t3 = nestedHook.wrappedWidget;
          if (!J.$eq$(t2._wrappedChild, t3)) {
            t2._wrappedChild = t3;
            t2.markNeedsBuild$0();
          }
          nestedHook = nestedHook.injectedChild;
          t2.set$injectedChild(nestedHook);
          if (!(nestedHook instanceof D._NestedHook))
            break;
        }
      return nextNode;
    }
  };
  D._NestedHook.prototype = {
    createElement$0: function(_) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new D._NestedHookElement(t1, this, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
    },
    build$1: function(_, context) {
      return H.throwExpression(P.StateError$("handled internally"));
    }
  };
  D._NestedHookElement.prototype = {
    get$widget: function() {
      return type$._NestedHook._as(N.StatelessElement.prototype.get$widget.call(this));
    },
    set$injectedChild: function(value) {
      var t1, t2,
        previous = this._injectedChild;
      if (value instanceof D._NestedHook)
        if (previous instanceof D._NestedHook) {
          t1 = value.wrappedWidget;
          t2 = previous.wrappedWidget;
          t1 = J.get$runtimeType$(t1) === J.get$runtimeType$(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 D._NestedHookElement_injectedChild_closure());
      }
    },
    mount$2: function($parent, newSlot) {
      var _this = this,
        t1 = type$._NestedHook;
      t1._as(N.StatelessElement.prototype.get$widget.call(_this)).owner.nodes.add$1(0, _this);
      _this._wrappedChild = t1._as(N.StatelessElement.prototype.get$widget.call(_this)).wrappedWidget;
      _this._injectedChild = t1._as(N.StatelessElement.prototype.get$widget.call(_this)).injectedChild;
      _this.super$ComponentElement$mount($parent, newSlot);
    },
    unmount$0: function() {
      type$._NestedHook._as(N.StatelessElement.prototype.get$widget.call(this)).owner.nodes.remove$1(0, this);
      this.super$Element$unmount();
    },
    build$0: function(_) {
      var t1 = this._wrappedChild;
      t1.toString;
      return t1;
    }
  };
  D._NestedHookElement_injectedChild_closure.prototype = {
    call$1: function(e) {
      return e.markNeedsBuild$0();
    },
    $signature: 18
  };
  D.SingleChildWidgetElementMixin.prototype = {};
  D._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure.prototype = {
    call$1: function($parent) {
      if ($parent instanceof D._NestedHookElement)
        this.$this.SingleChildWidgetElementMixin__parent = $parent;
      return false;
    },
    $signature: 29
  };
  D.__NestedElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure.prototype = {
    call$1: function($parent) {
      if ($parent instanceof D._NestedHookElement)
        this.$this.SingleChildWidgetElementMixin__parent = $parent;
      return false;
    },
    $signature: 29
  };
  D.SingleChildStatelessWidget.prototype = {
    build$1: function(_, context) {
      return this.buildWithChild$2(context, this._nested$_child);
    },
    createElement$0: function(_) {
      return D.SingleChildStatelessElement$(this);
    }
  };
  D.SingleChildStatelessElement.prototype = {
    build$0: function(_) {
      var _this = this;
      if (_this.SingleChildWidgetElementMixin__parent != null)
        return type$.SingleChildStatelessWidget._as(N.StatelessElement.prototype.get$widget.call(_this)).buildWithChild$2(_this, _this.SingleChildWidgetElementMixin__parent._injectedChild);
      return _this.super$StatelessElement$build(0);
    },
    get$widget: function() {
      return type$.SingleChildStatelessWidget._as(N.StatelessElement.prototype.get$widget.call(this));
    }
  };
  D._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin.prototype = {
    mount$2: function($parent, newSlot) {
      if (type$.nullable__NestedHookElement._is($parent))
        this.SingleChildWidgetElementMixin__parent = $parent;
      this.super$ComponentElement$mount($parent, newSlot);
    },
    activate$0: function() {
      this.super$Element$activate();
      this.visitAncestorElements$1(new D._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure(this));
    }
  };
  D.__NestedElement_StatelessElement_SingleChildWidgetElementMixin.prototype = {
    mount$2: function($parent, newSlot) {
      if (type$.nullable__NestedHookElement._is($parent))
        this.SingleChildWidgetElementMixin__parent = $parent;
      this.super$ComponentElement$mount($parent, newSlot);
    },
    activate$0: function() {
      this.super$Element$activate();
      this.visitAncestorElements$1(new D.__NestedElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure(this));
    }
  };
  M.Context.prototype = {
    absolute$7: function(_, part1, part2, part3, part4, part5, part6, part7) {
      var t1;
      M._validateArgList("absolute", H._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 ? D.current() : t1, part1, part2, part3, part4, part5, part6, part7);
    },
    absolute$1: function($receiver, part1) {
      return this.absolute$7($receiver, part1, null, null, null, null, null, null);
    },
    extension$2: function(path, level) {
      return X.ParsedPath_ParsedPath$parse(path, this.style)._splitExtension$1(level)[1];
    },
    extension$1: function(path) {
      return this.extension$2(path, 1);
    },
    join$8: function(_, part1, part2, part3, part4, part5, part6, part7, part8) {
      var parts = H._setArrayType([part1, part2, part3, part4, part5, part6, part7, part8], type$.JSArray_nullable_String);
      M._validateArgList("join", parts);
      return this.joinAll$1(new H.WhereTypeIterable(parts, type$.WhereTypeIterable_String));
    },
    join$2: function($receiver, part1, part2) {
      return this.join$8($receiver, part1, part2, null, null, null, null, null, null);
    },
    joinAll$1: function(parts) {
      var t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, t4, t5, parsed, path;
      for (t1 = parts.get$iterator(parts), t2 = new H.WhereIterator(t1, new M.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 = X.ParsedPath_ParsedPath$parse(t5, t3);
          path = t4.charCodeAt(0) == 0 ? t4 : t4;
          t4 = C.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 = H.S(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: function(_, path) {
      var parsed = X.ParsedPath_ParsedPath$parse(path, this.style),
        t1 = parsed.parts,
        t2 = H._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
      t2 = P.List_List$of(new H.WhereIterable(t1, new M.Context_split_closure(), t2), true, t2._eval$1("Iterable.E"));
      parsed.parts = t2;
      t1 = parsed.root;
      if (t1 != null)
        C.JSArray_methods.insert$2(t2, 0, t1);
      return parsed.parts;
    },
    normalize$1: function(_, path) {
      var parsed;
      if (!this._needsNormalization$1(path))
        return path;
      parsed = X.ParsedPath_ParsedPath$parse(path, this.style);
      parsed.normalize$0(0);
      return parsed.toString$0(0);
    },
    _needsNormalization$1: function(path) {
      var t1, root, i, start, previous, t2, t3, previousPrevious, codeUnit, t4;
      path.toString;
      t1 = this.style;
      root = t1.rootLength$1(path);
      if (root !== 0) {
        if (t1 === $.$get$Style_windows())
          for (i = 0; i < root; ++i)
            if (C.JSString_methods._codeUnitAt$1(path, i) === 47)
              return true;
        start = root;
        previous = 47;
      } else {
        start = 0;
        previous = null;
      }
      for (t2 = new H.CodeUnits(path)._string, t3 = t2.length, i = start, previousPrevious = null; i < t3; ++i, previousPrevious = previous, previous = codeUnit) {
        codeUnit = C.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: function(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 ? D.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 H.wrapException(X.PathException$(_s26_ + H.S(path) + '" from "' + H.S(from) + '".'));
      fromParsed = X.ParsedPath_ParsedPath$parse(from, t1);
      fromParsed.normalize$0(0);
      pathParsed = X.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;
        C.JSArray_methods.removeAt$1(fromParsed.parts, 0);
        C.JSArray_methods.removeAt$1(fromParsed.separators, 1);
        C.JSArray_methods.removeAt$1(pathParsed.parts, 0);
        C.JSArray_methods.removeAt$1(pathParsed.separators, 1);
      }
      t2 = fromParsed.parts;
      if (t2.length !== 0 && J.$eq$(t2[0], ".."))
        throw H.wrapException(X.PathException$(_s26_ + H.S(path) + '" from "' + H.S(from) + '".'));
      t2 = type$.String;
      C.JSArray_methods.insertAll$2(pathParsed.parts, 0, P.List_List$filled(fromParsed.parts.length, "..", false, t2));
      t3 = pathParsed.separators;
      t3[0] = "";
      C.JSArray_methods.insertAll$2(t3, 1, P.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$(C.JSArray_methods.get$last(t1), ".")) {
        C.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: function(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 ? D.current() : t2, path));
      }
    },
    prettyUri$1: function(uri) {
      var path, rel, _this = this,
        typedUri = M._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(M._parseUri(typedUri)));
      rel = _this.relative$1(path);
      return _this.split$1(0, rel).length > _this.split$1(0, path).length ? path : rel;
    }
  };
  M.Context_joinAll_closure.prototype = {
    call$1: function(part) {
      return part !== "";
    },
    $signature: 17
  };
  M.Context_split_closure.prototype = {
    call$1: function(part) {
      return part.length !== 0;
    },
    $signature: 17
  };
  M._validateArgList_closure.prototype = {
    call$1: function(arg) {
      return arg == null ? "null" : '"' + arg + '"';
    },
    $signature: 1021
  };
  B.InternalStyle.prototype = {
    getRoot$1: function(path) {
      var $length = this.rootLength$1(path);
      if ($length > 0)
        return J.substring$2$s(path, 0, $length);
      return this.isRootRelative$1(path) ? path[0] : null;
    },
    relativePathToUri$1: function(path) {
      var _null = null,
        segments = M.Context_Context(this).split$1(0, path);
      if (this.isSeparator$1(J.codeUnitAt$1$s(path, path.length - 1)))
        C.JSArray_methods.add$1(segments, "");
      return P._Uri__Uri(_null, _null, segments, _null, _null, _null, _null);
    },
    pathsEqual$2: function(path1, path2) {
      return path1 == path2;
    }
  };
  X.ParsedPath.prototype = {
    extension$1: function(level) {
      return this._splitExtension$1(level)[1];
    },
    extension$0: function() {
      return this.extension$1(1);
    },
    get$basename: function() {
      var _this = this,
        t1 = type$.String,
        copy = new X.ParsedPath(_this.style, _this.root, _this.isRootRelative, P.List_List$from(_this.parts, true, t1), P.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 C.JSArray_methods.get$last(t1);
    },
    get$hasTrailingSeparator: function() {
      var t1 = this.parts;
      if (t1.length !== 0)
        t1 = J.$eq$(C.JSArray_methods.get$last(t1), "") || !J.$eq$(C.JSArray_methods.get$last(this.separators), "");
      else
        t1 = false;
      return t1;
    },
    removeTrailingSeparators$0: function() {
      var t1, t2, _this = this;
      while (true) {
        t1 = _this.parts;
        if (!(t1.length !== 0 && J.$eq$(C.JSArray_methods.get$last(t1), "")))
          break;
        C.JSArray_methods.removeLast$0(_this.parts);
        _this.separators.pop();
      }
      t1 = _this.separators;
      t2 = t1.length;
      if (t2 !== 0)
        t1[t2 - 1] = "";
    },
    normalize$0: function(_) {
      var t1, t2, leadingDoubles, _i, part, t3, _this = this,
        newParts = H._setArrayType([], type$.JSArray_String);
      for (t1 = _this.parts, t2 = t1.length, leadingDoubles = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.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)
        C.JSArray_methods.insertAll$2(newParts, 0, P.List_List$filled(leadingDoubles, "..", false, type$.String));
      if (newParts.length === 0 && _this.root == null)
        newParts.push(".");
      _this.parts = newParts;
      t1 = _this.style;
      _this.separators = P.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 = H.stringReplaceAllUnchecked(t2, "/", "\\");
      }
      _this.removeTrailingSeparators$0();
    },
    toString$0: function(_) {
      var i, _this = this,
        t1 = _this.root;
      t1 = t1 != null ? t1 : "";
      for (i = 0; i < _this.parts.length; ++i)
        t1 = t1 + H.S(_this.separators[i]) + H.S(_this.parts[i]);
      t1 += H.S(C.JSArray_methods.get$last(_this.separators));
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _kthLastIndexOf$3: function(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: function(level) {
      var t1, file, lastDot;
      if (level <= 0)
        throw H.wrapException(P.RangeError$value(level, "level", "level's value must be greater than 0"));
      t1 = this.parts;
      t1 = new H.CastList(t1, H._arrayInstanceType(t1)._eval$1("CastList<1,String?>"));
      file = t1.lastWhere$2$orElse(t1, new X.ParsedPath__splitExtension_closure(), new X.ParsedPath__splitExtension_closure0());
      if (file == null)
        return H._setArrayType(["", ""], type$.JSArray_String);
      if (file === "..")
        return H._setArrayType(["..", ""], type$.JSArray_String);
      lastDot = this._kthLastIndexOf$3(file, ".", level);
      if (lastDot <= 0)
        return H._setArrayType([file, ""], type$.JSArray_String);
      return H._setArrayType([C.JSString_methods.substring$2(file, 0, lastDot), C.JSString_methods.substring$1(file, lastDot)], type$.JSArray_String);
    }
  };
  X.ParsedPath__splitExtension_closure.prototype = {
    call$1: function(p) {
      return p !== "";
    },
    $signature: 1023
  };
  X.ParsedPath__splitExtension_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  X.PathException.prototype = {
    toString$0: function(_) {
      return "PathException: " + this.message;
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    }
  };
  O.Style.prototype = {
    toString$0: function(_) {
      return this.get$name(this);
    }
  };
  E.PosixStyle.prototype = {
    containsSeparator$1: function(path) {
      return C.JSString_methods.contains$1(path, "/");
    },
    isSeparator$1: function(codeUnit) {
      return codeUnit === 47;
    },
    needsSeparator$1: function(path) {
      var t1 = path.length;
      return t1 !== 0 && C.JSString_methods.codeUnitAt$1(path, t1 - 1) !== 47;
    },
    rootLength$2$withDrive: function(path, withDrive) {
      if (path.length !== 0 && C.JSString_methods._codeUnitAt$1(path, 0) === 47)
        return 1;
      return 0;
    },
    rootLength$1: function(path) {
      return this.rootLength$2$withDrive(path, false);
    },
    isRootRelative$1: function(path) {
      return false;
    },
    pathFromUri$1: function(uri) {
      var t1;
      if (uri.get$scheme() === "" || uri.get$scheme() === "file") {
        t1 = uri.get$path(uri);
        return P._Uri__uriDecode(t1, 0, t1.length, C.Utf8Codec_false, false);
      }
      throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'."));
    },
    absolutePathToUri$1: function(path) {
      var _null = null,
        parsed = X.ParsedPath_ParsedPath$parse(path, this),
        t1 = parsed.parts;
      if (t1.length === 0)
        C.JSArray_methods.addAll$1(t1, H._setArrayType(["", ""], type$.JSArray_String));
      else if (parsed.get$hasTrailingSeparator())
        C.JSArray_methods.add$1(parsed.parts, "");
      return P._Uri__Uri(_null, _null, parsed.parts, _null, _null, "file", _null);
    },
    get$name: function() {
      return "posix";
    },
    get$separator: function() {
      return "/";
    }
  };
  F.UrlStyle.prototype = {
    containsSeparator$1: function(path) {
      return C.JSString_methods.contains$1(path, "/");
    },
    isSeparator$1: function(codeUnit) {
      return codeUnit === 47;
    },
    needsSeparator$1: function(path) {
      var t1 = path.length;
      if (t1 === 0)
        return false;
      if (C.JSString_methods.codeUnitAt$1(path, t1 - 1) !== 47)
        return true;
      return C.JSString_methods.endsWith$1(path, "://") && this.rootLength$1(path) === t1;
    },
    rootLength$2$withDrive: function(path, withDrive) {
      var i, codeUnit, index, t2,
        t1 = path.length;
      if (t1 === 0)
        return 0;
      if (C.JSString_methods._codeUnitAt$1(path, 0) === 47)
        return 1;
      for (i = 0; i < t1; ++i) {
        codeUnit = C.JSString_methods._codeUnitAt$1(path, i);
        if (codeUnit === 47)
          return 0;
        if (codeUnit === 58) {
          if (i === 0)
            return 0;
          index = C.JSString_methods.indexOf$2(path, "/", C.JSString_methods.startsWith$2(path, "//", i + 1) ? i + 3 : i);
          if (index <= 0)
            return t1;
          if (!withDrive || t1 < index + 3)
            return index;
          if (!C.JSString_methods.startsWith$1(path, "file://"))
            return index;
          if (!B.isDriveLetter(path, index + 1))
            return index;
          t2 = index + 3;
          return t1 === t2 ? t2 : index + 4;
        }
      }
      return 0;
    },
    rootLength$1: function(path) {
      return this.rootLength$2$withDrive(path, false);
    },
    isRootRelative$1: function(path) {
      return path.length !== 0 && C.JSString_methods._codeUnitAt$1(path, 0) === 47;
    },
    pathFromUri$1: function(uri) {
      return uri.toString$0(0);
    },
    relativePathToUri$1: function(path) {
      return P.Uri_parse(path, 0, null);
    },
    absolutePathToUri$1: function(path) {
      return P.Uri_parse(path, 0, null);
    },
    get$name: function() {
      return "url";
    },
    get$separator: function() {
      return "/";
    }
  };
  L.WindowsStyle.prototype = {
    containsSeparator$1: function(path) {
      return C.JSString_methods.contains$1(path, "/");
    },
    isSeparator$1: function(codeUnit) {
      return codeUnit === 47 || codeUnit === 92;
    },
    needsSeparator$1: function(path) {
      var t1 = path.length;
      if (t1 === 0)
        return false;
      t1 = C.JSString_methods.codeUnitAt$1(path, t1 - 1);
      return !(t1 === 47 || t1 === 92);
    },
    rootLength$2$withDrive: function(path, withDrive) {
      var t2, index,
        t1 = path.length;
      if (t1 === 0)
        return 0;
      t2 = C.JSString_methods._codeUnitAt$1(path, 0);
      if (t2 === 47)
        return 1;
      if (t2 === 92) {
        if (t1 < 2 || C.JSString_methods._codeUnitAt$1(path, 1) !== 92)
          return 1;
        index = C.JSString_methods.indexOf$2(path, "\\", 2);
        if (index > 0) {
          index = C.JSString_methods.indexOf$2(path, "\\", index + 1);
          if (index > 0)
            return index;
        }
        return t1;
      }
      if (t1 < 3)
        return 0;
      if (!B.isAlphabetic(t2))
        return 0;
      if (C.JSString_methods._codeUnitAt$1(path, 1) !== 58)
        return 0;
      t1 = C.JSString_methods._codeUnitAt$1(path, 2);
      if (!(t1 === 47 || t1 === 92))
        return 0;
      return 3;
    },
    rootLength$1: function(path) {
      return this.rootLength$2$withDrive(path, false);
    },
    isRootRelative$1: function(path) {
      return this.rootLength$1(path) === 1;
    },
    pathFromUri$1: function(uri) {
      var path, t1;
      if (uri.get$scheme() !== "" && uri.get$scheme() !== "file")
        throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'."));
      path = uri.get$path(uri);
      if (uri.get$host(uri) === "") {
        if (path.length >= 3 && C.JSString_methods.startsWith$1(path, "/") && B.isDriveLetter(path, 1))
          path = C.JSString_methods.replaceFirst$2(path, "/", "");
      } else
        path = "\\\\" + uri.get$host(uri) + path;
      t1 = H.stringReplaceAllUnchecked(path, "/", "\\");
      return P._Uri__uriDecode(t1, 0, t1.length, C.Utf8Codec_false, false);
    },
    absolutePathToUri$1: function(path) {
      var rootParts, t2, _null = null,
        parsed = X.ParsedPath_ParsedPath$parse(path, this),
        t1 = parsed.root;
      t1.toString;
      if (C.JSString_methods.startsWith$1(t1, "\\\\")) {
        rootParts = new H.WhereIterable(H._setArrayType(t1.split("\\"), type$.JSArray_String), new L.WindowsStyle_absolutePathToUri_closure(), type$.WhereIterable_String);
        C.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(rootParts));
        if (parsed.get$hasTrailingSeparator())
          C.JSArray_methods.add$1(parsed.parts, "");
        return P._Uri__Uri(rootParts.get$first(rootParts), _null, parsed.parts, _null, _null, "file", _null);
      } else {
        if (parsed.parts.length === 0 || parsed.get$hasTrailingSeparator())
          C.JSArray_methods.add$1(parsed.parts, "");
        t1 = parsed.parts;
        t2 = parsed.root;
        t2.toString;
        t2 = H.stringReplaceAllUnchecked(t2, "/", "");
        C.JSArray_methods.insert$2(t1, 0, H.stringReplaceAllUnchecked(t2, "\\", ""));
        return P._Uri__Uri(_null, _null, parsed.parts, _null, _null, "file", _null);
      }
    },
    codeUnitsEqual$2: function(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: function(path1, path2) {
      var t1, t2, i;
      if (path1 == path2)
        return true;
      t1 = path1.length;
      if (t1 !== path2.length)
        return false;
      for (t2 = J.getInterceptor$s(path2), i = 0; i < t1; ++i)
        if (!this.codeUnitsEqual$2(C.JSString_methods._codeUnitAt$1(path1, i), t2._codeUnitAt$1(path2, i)))
          return false;
      return true;
    },
    get$name: function() {
      return "windows";
    },
    get$separator: function() {
      return "\\";
    }
  };
  L.WindowsStyle_absolutePathToUri_closure.prototype = {
    call$1: function(part) {
      return part !== "";
    },
    $signature: 17
  };
  E.PlatformInterface.prototype = {};
  O.Pool.prototype = {
    request$0: function(_) {
      var t1, _this = this;
      if (_this._closeMemo._async_memoizer$_completer.future._state !== 0)
        throw H.wrapException(P.StateError$("request() may not be called on a closed Pool."));
      t1 = _this._allocatedResources;
      if (t1 < _this._maxAllocatedResources) {
        _this._allocatedResources = t1 + 1;
        return P.Future_Future$value(new O.PoolResource(_this), type$.PoolResource);
      } else {
        t1 = _this._onReleaseCallbacks;
        if (!t1.get$isEmpty(t1))
          return _this._runOnRelease$1(t1.removeFirst$0());
        else {
          t1 = new P._Future($.Zone__current, type$._Future_PoolResource);
          _this._requestedResources._add$1(0, new P._AsyncCompleter(t1, type$._AsyncCompleter_PoolResource));
          _this._resetTimer$0();
          return t1;
        }
      }
    },
    withResource$1$1: function(callback, $T) {
      return this.withResource$body$Pool(callback, $T, $T);
    },
    withResource$body$Pool: function(callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, resource, t1, t2;
      var $async$withResource$1$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._closeMemo._async_memoizer$_completer.future._state !== 0)
                throw H.wrapException(P.StateError$("withResource() may not be called on a closed Pool."));
              $async$goto = 3;
              return P._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 P._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)
                H.throwExpression(P.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 O.PoolResource(t1));
              else {
                t2 = --t1._allocatedResources;
                if (t1._closeMemo._async_memoizer$_completer.future._state !== 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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$withResource$1$1, $async$completer);
    },
    _runOnRelease$1: function(onRelease) {
      var t1;
      P.Future_Future$sync(onRelease, type$.dynamic).then$1$1(0, new O.Pool__runOnRelease_closure(this), type$.Null).catchError$1(new O.Pool__runOnRelease_closure0(this));
      t1 = new P._Future($.Zone__current, type$._Future_PoolResource);
      this._onReleaseCompleters._add$1(0, new P._SyncCompleter(t1, type$._SyncCompleter_PoolResource));
      return t1;
    },
    _resetTimer$0: function() {
      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 = P.Timer_Timer(t1._restartable_timer$_duration, t1._restartable_timer$_callback);
      }
    }
  };
  O.Pool__runOnRelease_closure.prototype = {
    call$1: function(value) {
      var t1 = this.$this;
      J.complete$1$z(t1._onReleaseCompleters.removeFirst$0(), new O.PoolResource(t1));
    },
    $signature: 5
  };
  O.Pool__runOnRelease_closure0.prototype = {
    call$2: function(error, stackTrace) {
      this.$this._onReleaseCompleters.removeFirst$0().completeError$2(error, stackTrace);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  O.PoolResource.prototype = {};
  Y.InheritedProvider.prototype = {
    createElement$0: function(_) {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new Y._InheritedProviderElement(null, t1, this, C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2), this.$ti._eval$1("_InheritedProviderElement<1>"));
    },
    buildWithChild$2: function(context, child) {
      var t1, _this = this;
      if (_this.builder != null)
        t1 = new T.Builder(new Y.InheritedProvider_buildWithChild_closure(_this, child), null);
      else {
        child.toString;
        t1 = child;
      }
      return new Y._InheritedProviderScope(_this, "", t1, null, _this.$ti._eval$1("_InheritedProviderScope<1>"));
    }
  };
  Y.InheritedProvider_buildWithChild_closure.prototype = {
    call$1: function(context) {
      return this.$this.builder.call$2(context, this.child);
    },
    $signature: 30
  };
  Y._InheritedProviderElement.prototype = {};
  Y._InheritedProviderScope.prototype = {
    updateShouldNotify$1: function(oldWidget) {
      return false;
    },
    createElement$0: function(_) {
      var t1 = type$.Element_2,
        t2 = P.HashMap_HashMap(null, null, null, t1, type$.nullable_Object),
        t3 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t3;
      return new Y._InheritedProviderScopeElement(t2, t3, this, C._ElementLifecycle_0, P.HashSet_HashSet(t1), this.$ti._eval$1("_InheritedProviderScopeElement<1>"));
    }
  };
  Y._Dependency.prototype = {};
  Y._InheritedProviderScopeElement.prototype = {
    get$_delegateState: function() {
      var t1 = this.___InheritedProviderScopeElement__delegateState;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_delegateState")) : t1;
    },
    mount$2: function($parent, newSlot) {
      this.super$ComponentElement$mount($parent, newSlot);
    },
    get$widget: function() {
      return this.$ti._eval$1("_InheritedProviderScope<1>")._as(N.InheritedElement.prototype.get$widget.call(this));
    },
    updateDependencies$2: function(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 Y._Dependency(H._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;
          C.JSArray_methods.set$length(t2.selectors, 0);
        }
        if (!t2.shouldClearMutationScheduled) {
          t2.shouldClearMutationScheduled = true;
          $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new Y._InheritedProviderScopeElement_updateDependencies_closure(t2));
        }
        t2.selectors.push(aspect);
        t1.$indexSet(0, dependent, t2);
      } else
        t1.$indexSet(0, dependent, C.C_Object);
    },
    notifyDependent$2: function(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, H.throwConcurrentModificationError)(t1), ++_i) {
            updateShouldNotify = t1[_i];
            try {
              t3 = this.___InheritedProviderScopeElement__delegateState;
              if (t3 === $)
                t3 = H.throwExpression(H.LateError$fieldNI("_delegateState"));
              shouldNotify = updateShouldNotify.call$1(t3.get$value(t3));
            } finally {
            }
            if (shouldNotify)
              break;
          }
        } else
          shouldNotify = true;
      if (shouldNotify)
        dependent.didChangeDependencies$0();
    },
    performRebuild$0: function() {
      var t1, _this = this;
      if (_this._provider$_firstBuild) {
        _this._provider$_firstBuild = false;
        t1 = _this.$ti._eval$1("_InheritedProviderScope<1>")._as(N.InheritedElement.prototype.get$widget.call(_this)).owner._provider$_delegate.createState$0();
        t1.element = _this;
        _this.___InheritedProviderScopeElement__delegateState = t1;
      }
      _this.super$ComponentElement$performRebuild();
    },
    update$1: function(_, 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: function(oldWidget) {
      this.super$InheritedElement$updated(oldWidget);
      if (this._updatedShouldNotify)
        this.notifyClients$1(oldWidget);
    },
    didChangeDependencies$0: function() {
      this._isBuildFromExternalSources = true;
      this.super$Element$didChangeDependencies();
    },
    build$0: function(_) {
      var _this = this,
        t1 = _this.$ti._eval$1("_InheritedProviderScope<1>");
      t1._as(N.InheritedElement.prototype.get$widget.call(_this)).toString;
      _this.get$_delegateState().build$1$isBuildFromExternalSources(0, _this._isBuildFromExternalSources);
      _this._isBuildFromExternalSources = false;
      if (_this._shouldNotifyDependents) {
        _this._shouldNotifyDependents = false;
        _this.notifyClients$1(t1._as(N.InheritedElement.prototype.get$widget.call(_this)));
      }
      return _this.super$ProxyElement$build(0);
    },
    unmount$0: function() {
      this.get$_delegateState().dispose$0(0);
      this.super$Element$unmount();
    },
    dependOnInheritedElement$2$aspect: function(ancestor, aspect) {
      return this.super$Element$dependOnInheritedElement(ancestor, aspect);
    },
    dependOnInheritedElement$1: function(ancestor) {
      return this.dependOnInheritedElement$2$aspect(ancestor, null);
    }
  };
  Y._InheritedProviderScopeElement_updateDependencies_closure.prototype = {
    call$1: function(_) {
      var t1 = this.selectorDependency;
      t1.shouldClearMutationScheduled = false;
      t1.shouldClearSelectors = true;
    },
    $signature: 6
  };
  Y._Delegate.prototype = {};
  Y._DelegateState.prototype = {
    willUpdateDelegate$1: function(newDelegate) {
      return false;
    },
    dispose$0: function(_) {
    },
    build$1$isBuildFromExternalSources: function(_, isBuildFromExternalSources) {
    }
  };
  Y._CreateInheritedProvider.prototype = {
    createState$0: function() {
      return new Y._CreateInheritedProviderState(this.$ti._eval$1("_CreateInheritedProviderState<1>"));
    }
  };
  Y._CreateInheritedProviderState.prototype = {
    get$value: function(_) {
      var t2, t3, _this = this,
        t1 = _this._didInitValue;
      if (t1 && !_this.$ti._precomputed1._is(_this._provider$_value))
        throw H.wrapException(P.StateError$("Tried to read a provider that threw during the creation of its value.\nThe exception occurred during the creation of type " + H.createRuntimeType(_this.$ti._precomputed1).toString$0(0) + "."));
      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(N.InheritedElement.prototype.get$widget.call(t1)).owner._provider$_delegate);
        try {
          t1 = _this.element;
          t1.toString;
          t1 = t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(N.InheritedElement.prototype.get$widget.call(t1)).owner._provider$_delegate);
          t3 = _this.element;
          t3.toString;
          _this._provider$_value = t1.create.call$1(t3);
        } finally {
        }
        t1 = _this.element;
        t1.toString;
        t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(N.InheritedElement.prototype.get$widget.call(t1)).owner._provider$_delegate);
      }
      t1 = _this.element;
      t1.toString;
      t1 = t1.$ti._eval$1("_InheritedProviderScope<1>")._as(N.InheritedElement.prototype.get$widget.call(t1));
      _this.$ti._eval$1("_DelegateState.D")._as(t1.owner._provider$_delegate);
      _this._removeListener = null;
      _this.element.toString;
      return _this._provider$_value;
    },
    dispose$0: function(_) {
      var t1, _this = this;
      _this.super$_DelegateState$dispose(0);
      if (_this._didInitValue) {
        t1 = _this.element;
        t1.toString;
        _this.$ti._eval$1("_DelegateState.D")._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(N.InheritedElement.prototype.get$widget.call(t1)).owner._provider$_delegate);
      }
    },
    build$1$isBuildFromExternalSources: function(_, 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(N.InheritedElement.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(N.InheritedElement.prototype.get$widget.call(t1)).owner._provider$_delegate);
      return _this.super$_DelegateState$build(0, isBuildFromExternalSources);
    }
  };
  Y._ValueInheritedProvider.prototype = {
    createState$0: function() {
      return new Y._ValueInheritedProviderState(this.$ti._eval$1("_ValueInheritedProviderState<1>"));
    }
  };
  Y._ValueInheritedProviderState.prototype = {
    get$value: function(_) {
      var _this = this,
        t1 = _this.element;
      t1.toString;
      t1 = t1.$ti._eval$1("_InheritedProviderScope<1>")._as(N.InheritedElement.prototype.get$widget.call(t1));
      _this.$ti._eval$1("_DelegateState.D")._as(t1.owner._provider$_delegate);
      _this._removeListener = null;
      t1 = _this.element;
      t1.toString;
      return _this.$ti._eval$1("_DelegateState.D")._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(N.InheritedElement.prototype.get$widget.call(t1)).owner._provider$_delegate).value;
    },
    willUpdateDelegate$1: function(newDelegate) {
      var t2, shouldNotify,
        t1 = this.element;
      t1.toString;
      t2 = this.$ti._eval$1("_DelegateState.D");
      t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(N.InheritedElement.prototype.get$widget.call(t1)).owner._provider$_delegate);
      t1 = this.element;
      t1.toString;
      shouldNotify = newDelegate.value != t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(N.InheritedElement.prototype.get$widget.call(t1)).owner._provider$_delegate).value;
      return shouldNotify;
    },
    dispose$0: function(_) {
      this.super$_DelegateState$dispose(0);
    }
  };
  Y.MultiProvider.prototype = {};
  Y.Provider.prototype = {};
  Y.Provider_closure.prototype = {
    call$1: function(value) {
      var t1 = $.$get$Provider_debugCheckInvalidValueType().call$1$1(value, this.T);
      return t1;
    },
    $signature: function() {
      return this.T._eval$1("~(0)");
    }
  };
  Y.Provider__inheritedElementOf_closure.prototype = {
    call$1: function($parent) {
      var t1 = this.T;
      this._box_0.inheritedElement = t1._eval$1("_InheritedProviderScopeElement<0>?")._as($parent.getElementForInheritedWidgetOfExactType$1$0(t1._eval$1("_InheritedProviderScope<0>")));
      return false;
    },
    $signature: 29
  };
  Y.Provider_debugCheckInvalidValueType_closure.prototype = {
    call$1$1: function(value, $T) {
    },
    call$1: function(value) {
      return this.call$1$1(value, type$.dynamic);
    },
    $signature: 1024
  };
  Y.ProviderNotFoundException.prototype = {
    toString$0: function(_) {
      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>()),\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) {\n        // No longer throws\n        return Text(context.watch<Example>()),\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
  };
  X.AutoDisposeProviderBuilder.prototype = {
    call$1$1: function(create, $T) {
      return Y.AutoDisposeProvider$(create, null, $T);
    },
    call$1: function(create) {
      return this.call$1$1(create, type$.dynamic);
    }
  };
  R.AsyncValue.prototype = {
    get$data: function(_) {
      var _this = this;
      return _this.map$3$data$error$loading(0, new R.AsyncValue_data_closure(_this), new R.AsyncValue_data_closure0(_this), new R.AsyncValue_data_closure1(_this));
    }
  };
  R.AsyncValue_data_closure.prototype = {
    call$1: function(data) {
      return data;
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("AsyncData<1>(AsyncData<1>)");
    }
  };
  R.AsyncValue_data_closure1.prototype = {
    call$1: function(_) {
      return null;
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("Null(AsyncLoading<1>)");
    }
  };
  R.AsyncValue_data_closure0.prototype = {
    call$1: function(_) {
      return null;
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("Null(AsyncError0<1>)");
    }
  };
  R._$AsyncValue.prototype = {};
  R._$AsyncData.prototype = {
    toString$0: function(_) {
      return "AsyncValue<" + H.createRuntimeType(this.$ti._precomputed1).toString$0(0) + ">.data(value: " + H.S(this.value) + ")";
    },
    $eq: function(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (this !== other)
        if (this.$ti._eval$1("AsyncData<1>")._is(other)) {
          t1 = other.value;
          t2 = this.value;
          t1 = (t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2);
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      return (H.Primitives_objectHashCode(H.getRuntimeType(this)) ^ C.C_DeepCollectionEquality.hash$1(0, this.value)) >>> 0;
    },
    when$1$3$data$error$loading: function(data, error, loading) {
      return data.call$1(this.value);
    },
    when$3$data$error$loading: function(data, error, loading) {
      return this.when$1$3$data$error$loading(data, error, loading, type$.nullable_Object);
    },
    map$1$3$data$error$loading: function(_, data, error, loading) {
      return data.call$1(this);
    },
    map$3$data$error$loading: function($receiver, data, error, loading) {
      return this.map$1$3$data$error$loading($receiver, data, error, loading, type$.nullable_Object);
    }
  };
  R.AsyncData.prototype = {};
  R._$AsyncLoading.prototype = {
    toString$0: function(_) {
      return "AsyncValue<" + H.createRuntimeType(this.$ti._precomputed1).toString$0(0) + ">.loading()";
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return this === other || this.$ti._eval$1("AsyncLoading<1>")._is(other);
    },
    get$hashCode: function(_) {
      return H.Primitives_objectHashCode(H.getRuntimeType(this));
    },
    when$1$3$data$error$loading: function(data, error, loading) {
      return loading.call$0();
    },
    when$3$data$error$loading: function(data, error, loading) {
      return this.when$1$3$data$error$loading(data, error, loading, type$.nullable_Object);
    },
    map$1$3$data$error$loading: function(_, data, error, loading) {
      return loading.call$1(this);
    },
    map$3$data$error$loading: function($receiver, data, error, loading) {
      return this.map$1$3$data$error$loading($receiver, data, error, loading, type$.nullable_Object);
    }
  };
  R.AsyncLoading.prototype = {};
  R._$AsyncError.prototype = {
    toString$0: function(_) {
      return "AsyncValue<" + H.createRuntimeType(this.$ti._precomputed1).toString$0(0) + ">.error(error: " + H.S(this.error) + ", stackTrace: " + H.S(this.stackTrace) + ")";
    },
    $eq: function(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (_this.$ti._eval$1("AsyncError0<1>")._is(other)) {
          t1 = other.error;
          t2 = _this.error;
          if ((t1 == null ? t2 == null : t1 === t2) || C.C_DeepCollectionEquality.equals$2(t1, t2)) {
            t1 = other.stackTrace;
            t2 = _this.stackTrace;
            t1 = t1 == t2 || C.C_DeepCollectionEquality.equals$2(t1, t2);
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode: function(_) {
      return (H.Primitives_objectHashCode(H.getRuntimeType(this)) ^ C.C_DeepCollectionEquality.hash$1(0, this.error) ^ C.C_DeepCollectionEquality.hash$1(0, this.stackTrace)) >>> 0;
    },
    when$1$3$data$error$loading: function(data, error, loading) {
      return error.call$2(this.error, this.stackTrace);
    },
    when$3$data$error$loading: function(data, error, loading) {
      return this.when$1$3$data$error$loading(data, error, loading, type$.nullable_Object);
    },
    map$1$3$data$error$loading: function(_, data, error, loading) {
      return error.call$1(this);
    },
    map$3$data$error$loading: function($receiver, data, error, loading) {
      return this.map$1$3$data$error$loading($receiver, data, error, loading, type$.nullable_Object);
    }
  };
  R.AsyncError0.prototype = {};
  R._AsyncValue_Object__$AsyncValue.prototype = {};
  R.CreatedProvider.prototype = {};
  R.CreatedProvider_closure.prototype = {
    call$1: function(ref) {
      var t1 = this.provider,
        t2 = type$.nullable_Object;
      ref.watch$1$1(t1, t2);
      return ref.get$_container().readProviderElement$2$1(t1, this.T, t2).state._createdValue;
    },
    $signature: function() {
      return this.T._eval$1("0(ProviderReference)");
    }
  };
  R.AutoDisposeCreatedProvider.prototype = {};
  R.AutoDisposeCreatedProvider_closure.prototype = {
    call$1: function(ref) {
      var t1 = this.provider,
        t2 = type$.nullable_Object;
      ref.watch$1$1(t1, t2);
      return ref.get$_container().readProviderElement$2$1(t1, this.T, t2).state._createdValue;
    },
    $signature: function() {
      return this.T._eval$1("0(AutoDisposeProviderReference)");
    }
  };
  L.AutoDisposeProviderBase.prototype = {
    createElement$0: function(_) {
      var t1 = H._instanceType(this);
      return new L.AutoDisposeProviderElement(this, this.createState$0(), new P.LinkedList(t1._eval$1("LinkedList<_Listener<AutoDisposeProviderBase.1>>")), P.LinkedHashMap_LinkedHashMap$_empty(type$.ProviderElement_dynamic_dynamic, type$.ProviderSubscription_dynamic), t1._eval$1("@<AutoDisposeProviderBase.0>")._bind$1(t1._eval$1("AutoDisposeProviderBase.1"))._eval$1("AutoDisposeProviderElement<1,2>"));
    }
  };
  L.AutoDisposeProviderElement.prototype = {
    mayNeedDispose$0: function() {
      var t1 = this._framework0$_listeners;
      t1 = t1.get$isEmpty(t1);
      if (t1)
        $.$get$_AutoDisposer_instance().scheduleDispose$1(this);
    },
    $isAutoDisposeProviderReference: 1
  };
  L._LinkedListEntry.prototype = {};
  L._AutoDisposer.prototype = {
    scheduleDispose$1: function(element) {
      var _this = this,
        t1 = _this._stateToDispose;
      t1._insertBefore$3$updateFirst(t1._collection$_first, new L._LinkedListEntry(element, type$._LinkedListEntry_AutoDisposeProviderElement_dynamic_dynamic), false);
      if (!_this._scheduled) {
        _this._scheduled = true;
        P.Future_Future$microtask(new L._AutoDisposer_scheduleDispose_closure(_this), type$.Null);
      }
    },
    _performDispose$0: function() {
      var t1, entry, t2, t3, element,
        _s7_ = "_origin";
      for (t1 = this._stateToDispose, entry = t1.get$first(t1), t1 = type$.nullable_Object; entry != null; entry = entry.get$next(entry)) {
        t2 = entry.value;
        t3 = t2._framework0$_listeners;
        t2 = !t3.get$isEmpty(t3) || !t2._mounted;
        if (t2)
          continue;
        t2 = entry.value;
        t3 = t2.__ProviderElement__container;
        if (t3 === $)
          t3 = H.throwExpression(H.LateError$fieldNI("_container"));
        t2 = t2.__ProviderElement__origin;
        element = t3.readProviderElement$2$1(t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s7_)) : t2, t1, t1);
        t2 = t3._stateReaders;
        t3 = element.__ProviderElement__origin;
        t2.remove$1(0, t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s7_)) : t3);
        t2 = element.__ProviderElement__origin;
        if ((t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s7_)) : t2).get$from() != null) {
          t2 = element.__ProviderElement__origin;
          t2 = (t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s7_)) : t2).get$from()._framework0$_cache;
          t3 = element.__ProviderElement__origin;
          t2.remove$1(0, (t3 === $ ? H.throwExpression(H.LateError$fieldNI(_s7_)) : t3)._argument);
        }
        element.dispose$0(0);
      }
    }
  };
  L._AutoDisposer_scheduleDispose_closure.prototype = {
    call$0: function() {
      try {
        this.$this._performDispose$0();
      } finally {
        var t1 = this.$this;
        t1._scheduled = false;
        t1._stateToDispose.clear$0(0);
      }
    },
    $signature: 1
  };
  L.AlwaysAliveProviderBase.prototype = {
    createElement$0: function(_) {
      var t1 = H._instanceType(this);
      return L.ProviderElement$(this, t1._eval$1("AlwaysAliveProviderBase.0"), t1._eval$1("AlwaysAliveProviderBase.1"));
    }
  };
  L.ProviderBase.prototype = {
    get$from: function() {
      return this._from;
    },
    toString$0: function(_) {
      var _this = this,
        t1 = type$.String,
        t2 = P.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "from", _this.get$from(), "argument", _this._argument], t1, type$.nullable_Object),
        $content = t2.get$entries(t2).where$1(0, new L.ProviderBase_toString_closure()).map$1$1(0, new L.ProviderBase_toString_closure0(), t1);
      return _this.get$runtimeType(_this).toString$0(0) + "#" + L.shortHash0(_this) + $content.toString$0(0);
    },
    get$hashCode: function(_) {
      return this._framework0$_cachedHash;
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  L.ProviderBase_toString_closure.prototype = {
    call$1: function(e) {
      return e.get$value(e) != null;
    },
    $signature: 1025
  };
  L.ProviderBase_toString_closure0.prototype = {
    call$1: function(e) {
      return H.S(e.get$key(e)) + ": " + H.S(e.get$value(e));
    },
    $signature: 1026
  };
  L.RootProvider.prototype = {};
  L._Listener.prototype = {};
  L.ProviderSubscription.prototype = {
    close$0: function(_) {
      var t1 = this._listener,
        t2 = t1._collection$_list;
      if (t2 != null) {
        t1.$ti._eval$1("LinkedListEntry.E")._as(t1);
        t2._unlink$1(t1);
        t1.element.mayNeedDispose$0();
      }
    },
    flush$0: function(_) {
      var t2,
        t1 = this._listener;
      if (t1._collection$_list == null)
        throw H.wrapException(P.StateError$("Cannot call ProviderSubscription.flush() after close was called"));
      t2 = t1.element;
      t2.flush$0(0);
      return t2._notificationCount > t1.lastNotificationCount;
    },
    read$0: function(_) {
      var t2,
        t1 = this._listener;
      if (t1._collection$_list == null)
        throw H.wrapException(P.StateError$("Cannot call ProviderSubscription.read() after close was called"));
      t2 = t1.element;
      t2.flush$0(0);
      t1.lastNotificationCount = t2._notificationCount;
      return t2.getExposedValue$0();
    }
  };
  L.ProviderElement.prototype = {
    get$_container: function() {
      var t1 = this.__ProviderElement__container;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_container")) : t1;
    },
    onDispose$1: function(listener) {
      var t1;
      if (!this._mounted)
        throw H.wrapException(P.StateError$(string$.Cannotca));
      t1 = this._onDisposeListeners;
      (t1 == null ? this._onDisposeListeners = new P.DoubleLinkedQueue(type$.DoubleLinkedQueue_of_void_Function) : t1).add$1(0, listener);
    },
    watch$1$1: function(provider, $T) {
      var element = this.get$_container().readProviderElement$2$1(provider, type$.nullable_Object, $T);
      return $T._eval$1("ProviderSubscription<0>")._as(this._framework0$_subscriptions.putIfAbsent$2(0, element, new L.ProviderElement_watch_closure(this, element))).read$0(0);
    },
    _markDependencyMayHaveChanged$1: function(sub) {
      if (!this._dependencyMayHaveChanged) {
        this._dependencyMayHaveChanged = true;
        this.notifyMayHaveChanged$0();
      }
    },
    listen$2$didChange$mayHaveChanged: function(didChange, mayHaveChanged) {
      var _this = this,
        sub = H._Cell$named("sub"),
        t1 = didChange == null ? null : new L.ProviderElement_listen_closure(didChange, sub),
        t2 = H._instanceType(_this),
        entry = new L._Listener(_this._notificationCount - 1, new L.ProviderElement_listen_closure0(mayHaveChanged, sub), t1, _this, t2._eval$1("_Listener<2>"));
      t1 = _this._framework0$_listeners;
      t1._insertBefore$3$updateFirst(t1._collection$_first, entry, false);
      return sub.__late_helper$_value = new L.ProviderSubscription(entry, t2._eval$1("ProviderSubscription<2>"));
    },
    listen$1$mayHaveChanged: function(mayHaveChanged) {
      return this.listen$2$didChange$mayHaveChanged(null, mayHaveChanged);
    },
    flush$0: function(_) {
      var hasAnyDependencyChanged, sub, t1, t2, _this = this;
      try {
        if (_this._dependencyMayHaveChanged || _this._mustRecomputeState) {
          _this._dependencyMayHaveChanged = false;
          hasAnyDependencyChanged = _this._mustRecomputeState;
          for (t1 = _this._framework0$_subscriptions, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
            sub = t1.get$current(t1);
            if (J.flush$0$x(sub))
              hasAnyDependencyChanged = true;
          }
          if (hasAnyDependencyChanged) {
            _this._framework0$_exception = null;
            _this._runOnDispose$0();
            _this._runStateCreate$0();
          }
          _this._mustRecomputeState = false;
        }
        _this._framework0$_dirty = false;
        t1 = _this._notifyDidChangeLastNotificationCount;
        t2 = _this._notificationCount;
        if (t1 !== t2) {
          _this._notifyDidChangeLastNotificationCount = t2;
          _this._notifyDidChange$0();
        }
      } finally {
      }
    },
    getExposedValue$0: function() {
      var t1 = this._framework0$_exception;
      if (t1 != null)
        throw H.wrapException(t1);
      return this.state._exposedValue;
    },
    markDidChange$0: function() {
      if (!this._didMount)
        return;
      ++this._notificationCount;
      this.notifyMayHaveChanged$0();
    },
    notifyMayHaveChanged$0: function() {
      var t1, t2, t3, _this = this;
      if (!_this._mounted)
        throw H.wrapException(P.StateError$(string$.Cannotca));
      if (_this._framework0$_dirty)
        return;
      _this._framework0$_dirty = true;
      for (t1 = _this._framework0$_listeners, t1 = P._LinkedListIterator$(t1, t1.$ti._precomputed1); t1.moveNext$0();) {
        t2 = t1._collection$_current.mayHaveChanged;
        if (t2 != null)
          L._runGuarded0(t2);
      }
      if (_this._didMount)
        for (t1 = _this.get$_container().get$_observers(), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();) {
          t2 = t1.get$current(t1).get$mayHaveChanged();
          t3 = _this.__ProviderElement__origin;
          L._runUnaryGuarded(t2, t3 === $ ? H.throwExpression(H.LateError$fieldNI("_origin")) : t3);
        }
    },
    _notifyDidChange$0: function() {
      var t1, t2, t3, t4, _this = this;
      for (t1 = _this._framework0$_listeners, t1 = P._LinkedListIterator$(t1, t1.$ti._precomputed1); t1.moveNext$0();) {
        t2 = t1._collection$_current.didChange;
        if (t2 != null)
          L._runGuarded0(t2);
      }
      for (t1 = _this.get$_container().get$_observers(), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")), t2 = _this.state; t1.moveNext$0();) {
        t3 = t1.get$current(t1).get$didUpdateProvider();
        t4 = _this.__ProviderElement__origin;
        if (t4 === $)
          t4 = H.throwExpression(H.LateError$fieldNI("_origin"));
        L._runBinaryGuarded(t3, t4, t2._exposedValue);
      }
    },
    mayNeedDispose$0: function() {
    },
    mount$0: function() {
      var _this = this;
      _this._mounted = true;
      _this.state.__ProviderStateBase__element = _this;
      try {
        _this._runStateCreate$0();
      } finally {
      }
      _this._didMount = true;
      _this._dependencyMayHaveChanged = _this._framework0$_dirty = false;
    },
    update$1: function(_, newProvider) {
      this._provider = newProvider;
    },
    dispose$0: function(_) {
      var t1, t2, t3, _this = this;
      _this._mounted = false;
      _this._runOnDispose$0();
      for (t1 = _this._framework0$_subscriptions, t1 = t1.get$entries(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t3 = t2.get$key(t2)._framework0$_dependents;
        if (t3 != null)
          t3.remove$1(0, _this);
        t2 = t2.get$value(t2)._listener;
        t3 = t2._collection$_list;
        if (t3 != null) {
          t2.$ti._eval$1("LinkedListEntry.E")._as(t2);
          t3._unlink$1(t2);
          t2.element.mayNeedDispose$0();
        }
      }
      for (t1 = _this.get$_container().get$_observers(), t1 = new P._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();) {
        t2 = t1.get$current(t1).get$didDisposeProvider();
        t3 = _this.__ProviderElement__origin;
        L._runUnaryGuarded(t2, t3 === $ ? H.throwExpression(H.LateError$fieldNI("_origin")) : t3);
      }
      _this._framework0$_listeners.clear$0(0);
      _this.state.dispose$0(0);
    },
    _runOnDispose$0: function() {
      var t1 = this._onDisposeListeners;
      if (t1 != null)
        t1.forEach$1(0, L.framework0___runGuarded$closure());
      this._onDisposeListeners = null;
    },
    _runStateCreate$0: function() {
      var err, stack, sub, exception, t2, t3, _this = this,
        t1 = _this.state,
        previous = t1._createdValue;
      _this._previousSubscriptions = _this._framework0$_subscriptions;
      _this._framework0$_subscriptions = P.LinkedHashMap_LinkedHashMap$_empty(type$.ProviderElement_dynamic_dynamic, type$.ProviderSubscription_dynamic);
      try {
        t1._createdValue = _this._provider.create$1(0, _this);
        t1.valueChanged$1$previous(previous);
      } catch (exception) {
        err = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        if (!t1.handleError$2(err, stack))
          _this._framework0$_exception = new L.ProviderException(err, stack, _this._provider);
      } finally {
        t1 = _this._previousSubscriptions;
        if (t1 != null)
          for (t1 = t1.get$entries(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
            sub = t1.get$current(t1);
            t2 = J.get$key$x(sub)._framework0$_dependents;
            if (t2 != null)
              t2.remove$1(0, _this);
            t2 = J.get$value$x(sub)._listener;
            t3 = t2._collection$_list;
            if (t3 != null) {
              t2.$ti._eval$1("LinkedListEntry.E")._as(t2);
              t3._unlink$1(t2);
              t2.element.mayNeedDispose$0();
            }
          }
        _this._previousSubscriptions = null;
      }
    },
    $isProviderReference: 1
  };
  L.ProviderElement_watch_closure.prototype = {
    call$0: function() {
      var t3,
        t1 = this.$this,
        t2 = t1._previousSubscriptions,
        previousSub = t2 == null ? null : t2.remove$1(0, this.element);
      if (previousSub != null)
        return previousSub;
      t2 = this.element;
      t3 = t2._framework0$_dependents;
      (t3 == null ? t2._framework0$_dependents = P.LinkedHashSet_LinkedHashSet$_empty(type$.ProviderElement_dynamic_dynamic) : t3).add$1(0, t1);
      return t2.listen$1$mayHaveChanged(t1.get$_markDependencyMayHaveChanged());
    },
    $signature: 224
  };
  L.ProviderElement_listen_closure0.prototype = {
    call$0: function() {
      return this.mayHaveChanged.call$1(this.sub._readLocal$0());
    },
    $signature: 0
  };
  L.ProviderElement_listen_closure.prototype = {
    call$0: function() {
      return this.didChange.call$1(this.sub._readLocal$0());
    },
    $signature: 0
  };
  L.ProviderStateBase.prototype = {
    get$_framework0$_element: function() {
      var t1 = this.__ProviderStateBase__element;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_element")) : t1;
    },
    handleError$2: function(error, stackTrace) {
      return false;
    },
    dispose$0: function(_) {
    }
  };
  L.ProviderException.prototype = {
    toString$0: function(_) {
      return "An exception was thrown while building " + H.S(this.provider) + ".\n\nThrown exception:\n" + H.S(this.exception) + "\n\nStack trace:\n" + H.S(this.stackTrace) + "\n";
    },
    $isException: 1
  };
  L.ProviderOverridesMixin.prototype = {};
  L.AutoDisposeProviderOverridesMixin.prototype = {};
  L.ProviderContainer.prototype = {
    ProviderContainer$3$observers$overrides$parent: function(observers, overrides, $parent) {
      var t1, _i, override;
      if ($parent != null) {
        t1 = P.UnsupportedError$("Cannot specify observers on a non-root ProviderContainer/ProviderScope");
        throw H.wrapException(t1);
      }
      for (t1 = this._overrideForProvider, _i = 0; false; ++_i) {
        override = overrides[_i];
        t1.$indexSet(0, override.get$_origin(), override.get$_provider());
      }
    },
    get$_observers: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
        return function $async$get$_observers($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._root;
                $async$goto = 2;
                return P._IterationMarker_yieldStar(t1 == null ? $async$self._localObservers : t1._localObservers);
              case 2:
                // after yield
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.ProviderObserver);
    },
    read$1$1: function(_, provider, Result) {
      var element = this.readProviderElement$2$1(provider, type$.nullable_Object, Result);
      element.flush$0(0);
      element.mayNeedDispose$0();
      return element.getExposedValue$0();
    },
    listen$1$3$didChange$mayHaveChanged: function(provider, didChange, mayHaveChanged, Result) {
      var t1;
      if (Result._eval$1("ProviderBase<Object?,0>")._is(provider))
        return this.readProviderElement$2$1(provider, type$.nullable_Object, Result).listen$2$didChange$mayHaveChanged(didChange, mayHaveChanged);
      else {
        t1 = P.UnsupportedError$("Unknown ProviderListenable " + H.S(provider));
        throw H.wrapException(t1);
      }
    },
    listen$1$2$mayHaveChanged: function(provider, mayHaveChanged, $Result) {
      return this.listen$1$3$didChange$mayHaveChanged(provider, null, mayHaveChanged, $Result);
    },
    refresh$1$1: function(_, provider, Created) {
      var t1 = this._root,
        element = (t1 == null ? this : t1)._stateReaders.$index(0, provider);
      if (element == null)
        return this.readProviderElement$2$1(provider, Created, type$.nullable_Object).state._createdValue;
      else {
        element._mustRecomputeState = true;
        element.notifyMayHaveChanged$0();
        element.flush$0(0);
        return Created._as(element.state._createdValue);
      }
    },
    updateOverrides$1: function(overrides) {
      var t1, t2, t3, t4, t5, t6, t7, _i, override, previousOverride, t8, t9, element, _this = this;
      if (_this._framework0$_disposed)
        throw H.wrapException(P.StateError$("Called updateOverrides on a ProviderContainer that was already disposed"));
      for (t1 = overrides.length, t2 = _this._overrideForProvider, t3 = _this._stateReaders, t4 = _this._framework0$_children, t5 = H._instanceType(t4)._eval$1("_HashSetIterator<1>"), t6 = type$.ValueProvider_dynamic_dynamic, t7 = type$.JSArray_Override, _i = 0; _i < overrides.length; overrides.length === t1 || (0, H.throwConcurrentModificationError)(overrides), ++_i) {
        override = overrides[_i];
        previousOverride = t2.$index(0, override.get$_origin());
        t2.$indexSet(0, override.get$_origin(), override.get$_provider());
        override.get$_origin();
        for (t8 = new P._HashSetIterator(t4, t4._computeElements$0(), t5); t8.moveNext$0();) {
          t9 = t8._collection$_current;
          override.get$_provider();
          override.get$_provider().get$_framework0$_value();
          previousOverride.toString;
          t6._as(previousOverride).get$_framework0$_value();
          if (J.$eq$(t9._overrideForProvider.$index(0, override.get$_origin()), previousOverride))
            t9.updateOverrides$1(H._setArrayType([override], t7));
        }
        element = t3.$index(0, override.get$_origin());
        if (element == null)
          continue;
        L._runUnaryGuarded(element.get$update(element), override.get$_provider());
      }
    },
    readProviderElement$2$1: function(provider, Created, Listened) {
      var t1, element, _this = this;
      if (_this._framework0$_disposed)
        throw H.wrapException(P.StateError$("Tried to read a provider from a ProviderContainer that was already disposed"));
      t1 = _this._root;
      if (t1 != null && provider instanceof L.RootProvider)
        return t1.readProviderElement$2$1(provider, Created, Listened);
      element = Created._eval$1("@<0>")._bind$1(Listened)._eval$1("ProviderElement<1,2>")._as(_this._stateReaders.putIfAbsent$2(0, provider, new L.ProviderContainer_readProviderElement_closure(_this, provider, Created, Listened)));
      element.flush$0(0);
      return element;
    },
    dispose$0: function(_) {
      var t1, t2, _this = this;
      if (_this._framework0$_disposed)
        return;
      if (_this._framework0$_children._collection$_length !== 0)
        throw H.wrapException(P.StateError$("Tried to dispose a ProviderContainer that still has children containers."));
      _this.debugVsyncs.clear$0(0);
      t1 = _this._framework0$_parent;
      if (t1 != null)
        t1._framework0$_children.remove$1(0, _this);
      _this._framework0$_disposed = true;
      for (t1 = _this._visitStatesInOrder$0(), t1 = P.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E")), t2 = H._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>"), t1 = new H.ReversedListIterable(t1, t2), t2 = new H.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")); t2.moveNext$0();)
        t2.__internal$_current.dispose$0(0);
    },
    _visitStatesInOrder$0: function() {
      var $async$self = this;
      return P._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, t4, t5, t6, result, t7, visitedNodes, queue;
        return function $async$_visitStatesInOrder$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 = P.HashSet_HashSet(type$.ProviderElement_dynamic_dynamic);
                queue = new P.DoubleLinkedQueue(type$.DoubleLinkedQueue_ProviderElement_dynamic_dynamic);
                for (t1 = $async$self._stateReaders, t1 = t1.get$values(t1), t2 = H._instanceType(t1), t2 = new H.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("MappedIterator<1,2>")), t1 = type$._DoubleLinkedQueueSentinel_ProviderElement_dynamic_dynamic; t2.moveNext$0();) {
                  t3 = t2.__internal$_current;
                  t4 = t3._framework0$_subscriptions;
                  t4 = t4.get$keys(t4);
                  t4 = new H.WhereIterable(t4, new L.ProviderContainer__visitStatesInOrder_closure($async$self), H._instanceType(t4)._eval$1("WhereIterable<Iterable.E>"));
                  if (!t4.get$iterator(t4).moveNext$0()) {
                    t4 = queue.__DoubleLinkedQueue__sentinel;
                    if (t4 === $) {
                      t4 = new P._DoubleLinkedQueueSentinel(queue, null, t1);
                      t4._previousLink = t4;
                      queue.__DoubleLinkedQueue__sentinel = t4._nextLink = t4;
                    }
                    t5 = H._instanceType(t4)._eval$1("_DoubleLinkedQueueElement<1>");
                    t3 = new P._DoubleLinkedQueueElement(t4._queue, t3, t5);
                    t6 = t4._previousLink;
                    t3._nextLink = t4;
                    t3._previousLink = t6;
                    if (t6 != null)
                      t6._nextLink = t5._eval$1("_DoubleLink.0")._as(t3);
                    t4._previousLink = t5._eval$1("_DoubleLink.0")._as(t3);
                    ++queue._elementCount;
                  }
                }
                t2 = type$._DoubleLinkedQueueEntry_ProviderElement_dynamic_dynamic;
              case 2:
                // for condition
                if (!!queue.get$isEmpty(queue)) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                t3 = queue.__DoubleLinkedQueue__sentinel;
                if (t3 === $) {
                  t3 = new P._DoubleLinkedQueueSentinel(queue, null, t1);
                  t3._previousLink = t3;
                  queue.__DoubleLinkedQueue__sentinel = t3._nextLink = t3;
                }
                result = t2._as(t3._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
                t3 = result._framework0$_dependents;
                if (t3 != null)
                  for (t4 = new P._LinkedHashSetIterator(t3, t3._collection$_modifications, H._instanceType(t3)._eval$1("_LinkedHashSetIterator<1>")), t4._collection$_cell = t3._collection$_first; t4.moveNext$0();) {
                    t3 = t4._collection$_current;
                    t5 = t3.__ProviderElement__container;
                    if ((t5 === $ ? H.throwExpression(H.LateError$fieldNI("_container")) : t5) === $async$self) {
                      t5 = t3._framework0$_subscriptions;
                      t5 = t5.get$keys(t5).every$1(0, new L.ProviderContainer__visitStatesInOrder_closure0($async$self, visitedNodes));
                    } else
                      t5 = false;
                    if (t5) {
                      t5 = queue.__DoubleLinkedQueue__sentinel;
                      if (t5 === $) {
                        t5 = new P._DoubleLinkedQueueSentinel(queue, null, t1);
                        t5._previousLink = t5;
                        queue.__DoubleLinkedQueue__sentinel = t5._nextLink = t5;
                      }
                      t6 = H._instanceType(t5)._eval$1("_DoubleLinkedQueueElement<1>");
                      t3 = new P._DoubleLinkedQueueElement(t5._queue, t3, t6);
                      t7 = t5._previousLink;
                      t3._nextLink = t5;
                      t3._previousLink = t7;
                      if (t7 != null)
                        t7._nextLink = t6._eval$1("_DoubleLink.0")._as(t3);
                      t5._previousLink = t6._eval$1("_DoubleLink.0")._as(t3);
                      ++queue._elementCount;
                    }
                  }
                // goto for condition
                $async$goto = 2;
                break;
              case 3:
                // after for
                // implicit return
                return P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.ProviderElement_dynamic_dynamic);
    }
  };
  L.ProviderContainer_readProviderElement_closure.prototype = {
    call$0: function() {
      var override, familyOverride, element, observer, t3, element0, _this = this,
        t1 = _this.provider,
        t2 = $._circularDependencyLock;
      if (t1 == t2)
        throw H.wrapException(new L.CircularDependencyError());
      if (t2 == null)
        $._circularDependencyLock = t1;
      try {
        t2 = _this.$this;
        override = t2._overrideForProvider.$index(0, t1);
        if (override == null && t1.get$from() != null && t2._overrideForFamily.$index(0, t1.get$from()) != null) {
          t3 = t2._overrideForFamily.$index(0, t1.get$from());
          t3.toString;
          familyOverride = t3;
          override = _this.Created._eval$1("@<0>")._bind$1(_this.Listened)._eval$1("ProviderBase<1,2>")._as(familyOverride._createOverride$1(t1._argument));
        }
        if (override == null)
          override = t1;
        element0 = J.createElement$0$x(override);
        element0._provider = override;
        element0.__ProviderElement__origin = t1;
        element0.__ProviderElement__container = t2;
        element0.mount$0();
        element = element0;
        for (t2 = t2.get$_observers(), t2 = new P._SyncStarIterator(t2._outerHelper(), t2.$ti._eval$1("_SyncStarIterator<1>")); t2.moveNext$0();) {
          observer = t2.get$current(t2);
          L._runBinaryGuarded(observer.get$didAddProvider(), t1, element.state._exposedValue);
        }
        return element;
      } finally {
        if ($._circularDependencyLock == t1)
          $._circularDependencyLock = null;
      }
    },
    $signature: 1027
  };
  L.ProviderContainer__visitStatesInOrder_closure.prototype = {
    call$1: function(e) {
      return e.get$_container() === this.$this;
    },
    $signature: 219
  };
  L.ProviderContainer__visitStatesInOrder_closure0.prototype = {
    call$1: function(e) {
      return e.get$_container() !== this.$this || this.visitedNodes.contains$1(0, e);
    },
    $signature: 219
  };
  L.ProviderObserver.prototype = {
    mayHaveChanged$1: function(provider) {
    },
    didDisposeProvider$1: function(provider) {
    }
  };
  L.CircularDependencyError.prototype = {};
  L.Family.prototype = {
    call$1: function(value) {
      return this._framework0$_cache.putIfAbsent$2(0, value, new L.Family_call_closure(this, value));
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  L.Family_call_closure.prototype = {
    call$0: function() {
      var provider,
        t1 = this.$this,
        t2 = this.value,
        t3 = t1.name;
      t3 = t3 == null ? null : t3 + " (" + H.S(t2) + ")";
      provider = t1.create$3(0, t2, t1.builder, t3);
      provider._from = t1;
      provider._argument = t2;
      return provider;
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("Family.P()");
    }
  };
  F._FutureProviderMixin.prototype = {};
  F._FutureProviderStateMixin.prototype = {
    valueChanged$1$previous: function(previous) {
      var listenedFuture, _this = this;
      if (J.$eq$(_this._createdValue, previous))
        return;
      listenedFuture = _this._FutureProviderStateMixin_listenedFuture = _this._createdValue;
      _this._exposedValue = C.C__$AsyncLoading;
      _this.get$_framework0$_element().markDidChange$0();
      listenedFuture.then$1$2$onError(0, new F._FutureProviderStateMixin_valueChanged_closure(_this, listenedFuture), new F._FutureProviderStateMixin_valueChanged_closure0(_this, listenedFuture), type$.Null);
    },
    handleError$2: function(error, stackTrace) {
      this._exposedValue = new R._$AsyncError(error, stackTrace, H._instanceType(this)._eval$1("_$AsyncError<1>"));
      this.get$_framework0$_element().markDidChange$0();
      return true;
    }
  };
  F._FutureProviderStateMixin_valueChanged_closure.prototype = {
    call$1: function(value) {
      var t1 = this.$this;
      if (t1._FutureProviderStateMixin_listenedFuture == this.listenedFuture) {
        t1._exposedValue = new R._$AsyncData(value, H._instanceType(t1)._eval$1("_$AsyncData<1>"));
        t1.get$_framework0$_element().markDidChange$0();
      }
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("Null(1)");
    }
  };
  F._FutureProviderStateMixin_valueChanged_closure0.prototype = {
    call$2: function(error, stack) {
      var t1 = this.$this;
      if (t1._FutureProviderStateMixin_listenedFuture == this.listenedFuture) {
        t1._exposedValue = new R._$AsyncError(error, stack, H._instanceType(t1)._eval$1("_$AsyncError<1>"));
        t1.get$_framework0$_element().markDidChange$0();
      }
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  F.AutoDisposeFutureProvider.prototype = {
    create$1: function(_, ref) {
      return this._future_provider$_create.call$1(ref);
    },
    get$future: function() {
      var _this = this,
        t1 = _this._future_provider$_future;
      if (t1 == null) {
        t1 = _this.name;
        t1 = t1 == null ? null : t1 + ".future";
        t1 = _this._future_provider$_future = R.AutoDisposeCreatedProvider$(_this, t1, _this.$ti._eval$1("Future<1>"));
      }
      return t1;
    },
    createState$0: function() {
      return new F._AutoDisposeFutureProviderState(null, this.$ti._eval$1("_AutoDisposeFutureProviderState<1>"));
    }
  };
  F._AutoDisposeFutureProviderState.prototype = {
    dispose$0: function(_) {
      this._FutureProviderStateMixin_listenedFuture = null;
      this.super$ProviderStateBase$dispose(0);
    }
  };
  F.AutoDisposeFutureProviderFamily.prototype = {
    create$3: function(_, value, builder, $name) {
      return F.AutoDisposeFutureProvider$(new F.AutoDisposeFutureProviderFamily_create_closure(this, builder, value), $name, this.$ti._precomputed1);
    }
  };
  F.AutoDisposeFutureProviderFamily_create_closure.prototype = {
    call$1: function(ref) {
      return this.builder.call$2(ref, this.value);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Future<1>(AutoDisposeProviderReference)");
    }
  };
  F.FutureProvider.prototype = {
    create$1: function(_, ref) {
      return this._future_provider$_create.call$1(ref);
    },
    get$future: function() {
      var _this = this,
        t1 = _this._future_provider$_future;
      if (t1 == null) {
        t1 = _this.name;
        t1 = t1 == null ? null : t1 + ".future";
        t1 = _this._future_provider$_future = R.CreatedProvider$(_this, t1, _this.$ti._eval$1("Future<1>"));
      }
      return t1;
    },
    createState$0: function() {
      return new F._FutureProviderState(null, this.$ti._eval$1("_FutureProviderState<1>"));
    }
  };
  F._FutureProviderState.prototype = {
    dispose$0: function(_) {
      this._FutureProviderStateMixin_listenedFuture = null;
      this.super$ProviderStateBase$dispose(0);
    }
  };
  F.FutureProviderFamily.prototype = {
    create$3: function(_, value, builder, $name) {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new F.FutureProvider(new F.FutureProviderFamily_create_closure(this, builder, value), $name, t1, this.$ti._eval$1("FutureProvider<1>"));
    }
  };
  F.FutureProviderFamily_create_closure.prototype = {
    call$1: function(ref) {
      return this.builder.call$2(ref, this.value);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Future<1>(ProviderReference)");
    }
  };
  F._AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin.prototype = {};
  F._AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__FutureProviderMixin.prototype = {};
  F._FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin.prototype = {};
  F._FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__FutureProviderMixin.prototype = {};
  Y._ProviderStateMixin.prototype = {
    valueChanged$1$previous: function(previous) {
      var _this = this;
      if (!J.$eq$(_this._createdValue, _this._exposedValue)) {
        _this._exposedValue = _this._createdValue;
        _this.get$_framework0$_element().markDidChange$0();
      }
    }
  };
  Y.AutoDisposeProvider.prototype = {
    create$1: function(_, ref) {
      return this._provider0$_create.call$1(ref);
    },
    createState$0: function() {
      return new Y._AutoDisposeProviderState(H._instanceType(this)._eval$1("_AutoDisposeProviderState<AutoDisposeProvider.T>"));
    }
  };
  Y._AutoDisposeProviderState.prototype = {};
  Y.AutoDisposeProviderFamily.prototype = {
    create$3: function(_, value, builder, $name) {
      return Y.AutoDisposeProvider$(new Y.AutoDisposeProviderFamily_create_closure(this, builder, value), $name, this.$ti._precomputed1);
    }
  };
  Y.AutoDisposeProviderFamily_create_closure.prototype = {
    call$1: function(ref) {
      return this.builder.call$2(ref, this.value);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("1(AutoDisposeProviderReference)");
    }
  };
  Y.Provider0.prototype = {
    create$1: function(_, ref) {
      return this._provider0$_create.call$1(ref);
    },
    createState$0: function() {
      return new Y._ProviderState(H._instanceType(this)._eval$1("_ProviderState<Provider0.T>"));
    }
  };
  Y._ProviderState.prototype = {};
  Y._AutoDisposeProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin.prototype = {};
  Y._Provider_AlwaysAliveProviderBase_ProviderOverridesMixin.prototype = {};
  O._StateNotifierProviderState.prototype = {
    valueChanged$1$previous: function(previous) {
      var t1, _this = this;
      if (J.$eq$(_this._createdValue, previous))
        return;
      t1 = _this.removeListener;
      if (t1 != null)
        t1.call$0();
      _this.removeListener = J.addListener$1$x(_this._createdValue, _this.get$_state_notifier_provider$_listener());
    },
    _state_notifier_provider$_listener$1: function(value) {
      this._exposedValue = value;
      this.get$_framework0$_element().markDidChange$0();
    },
    dispose$0: function(_) {
      var t1 = this.removeListener;
      if (t1 != null)
        t1.call$0();
      this.super$ProviderStateBase$dispose(0);
    }
  };
  O._StateNotifierProviderMixin.prototype = {};
  O._AutoDisposeNotifierProvider.prototype = {};
  O._AutoDisposeNotifierProvider_closure.prototype = {
    call$1: function(ref) {
      var notifier = this.create.call$1(ref);
      ref.onDispose$1(J.get$dispose$x(notifier));
      return notifier;
    },
    $signature: function() {
      return this.Notifier._eval$1("0(AutoDisposeProviderReference)");
    }
  };
  O.AutoDisposeStateNotifierProvider.prototype = {
    get$from: function() {
      return this.$ti._eval$1("AutoDisposeStateNotifierProviderFamily<1,2,Object?>?")._as(L.ProviderBase.prototype.get$from.call(this));
    },
    get$notifier: function() {
      var t2, _this = this,
        t1 = _this.__AutoDisposeStateNotifierProvider_notifier;
      if (t1 === $) {
        t1 = _this.$ti;
        t2 = t1._eval$1("AutoDisposeStateNotifierProviderFamily<1,2,Object?>?");
        t1 = t2._as(L.ProviderBase.prototype.get$from.call(_this)) != null ? t2._as(L.ProviderBase.prototype.get$from.call(_this))._notifierFamily$1(_this._argument) : O._AutoDisposeNotifierProvider$(_this._create, _this.name, t1._precomputed1);
        if (_this.__AutoDisposeStateNotifierProvider_notifier === $)
          _this.__AutoDisposeStateNotifierProvider_notifier = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("notifier"));
      }
      return t1;
    },
    create$1: function(_, ref) {
      return ref.watch$1$1(this.get$notifier(), this.$ti._precomputed1);
    },
    createState$0: function() {
      var t1 = this.$ti;
      return new O._StateNotifierProviderState(t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_StateNotifierProviderState<1,2>"));
    }
  };
  O.AutoDisposeStateNotifierProviderFamily.prototype = {
    create$3: function(_, value, builder, $name) {
      var t1 = this.$ti;
      return O.AutoDisposeStateNotifierProvider$(new O.AutoDisposeStateNotifierProviderFamily_create_closure(this, builder, value), $name, t1._precomputed1, t1._rest[1]);
    },
    get$_notifierFamily: function() {
      var t2, _this = this,
        t1 = _this.__AutoDisposeStateNotifierProviderFamily__notifierFamily;
      if (t1 === $) {
        t1 = _this.$ti;
        t2 = t1._rest[2];
        t1 = _this.__AutoDisposeStateNotifierProviderFamily__notifierFamily = new O._AutoDisposeNotifierFamily(_this.builder, _this.name, P.LinkedHashMap_LinkedHashMap$_empty(t2, t1._eval$1("_AutoDisposeNotifierProvider<1>")), t1._eval$1("@<1>")._bind$1(t2)._eval$1("_AutoDisposeNotifierFamily<1,2>"));
      }
      return t1;
    },
    _notifierFamily$1: function(arg0) {
      return this.get$_notifierFamily().call$1(arg0);
    }
  };
  O.AutoDisposeStateNotifierProviderFamily_create_closure.prototype = {
    call$1: function(ref) {
      return this.builder.call$2(ref, this.value);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("1(AutoDisposeProviderReference)");
    }
  };
  O._AutoDisposeNotifierFamily.prototype = {
    create$3: function(_, value, builder, $name) {
      return O._AutoDisposeNotifierProvider$(new O._AutoDisposeNotifierFamily_create_closure(this, builder, value), $name, this.$ti._precomputed1);
    }
  };
  O._AutoDisposeNotifierFamily_create_closure.prototype = {
    call$1: function(ref) {
      return this.builder.call$2(ref, this.value);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("1(AutoDisposeProviderReference)");
    }
  };
  O._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase__StateNotifierProviderMixin.prototype = {};
  F.StateController.prototype = {};
  F._StateProviderStateMixin.prototype = {
    valueChanged$1$previous: function(previous) {
      var t1, _this = this;
      if (J.$eq$(_this._createdValue, previous))
        return;
      t1 = _this._StateProviderStateMixin_removeListener;
      if (t1 != null)
        t1.call$0();
      t1 = _this._exposedValue;
      if (t1 != null)
        J.dispose$0$x(t1);
      _this._StateProviderStateMixin_removeListener = J.addListener$1$x(_this._createdValue, new F._StateProviderStateMixin_valueChanged_closure(_this));
    }
  };
  F._StateProviderStateMixin_valueChanged_closure.prototype = {
    call$1: function(state) {
      var t1 = this.$this;
      t1._exposedValue = t1._createdValue;
      t1.get$_framework0$_element().markDidChange$0();
    },
    $signature: function() {
      return this.$this.$ti._eval$1("~(1)");
    }
  };
  F.StateProvider.prototype = {
    create$1: function(_, ref) {
      var t1 = this.$ti;
      return new F.StateController(new P.LinkedList(t1._eval$1("LinkedList<_ListenerEntry0<1>>")), this._state_provider$_create.call$1(ref), t1._eval$1("StateController<1>"));
    },
    createState$0: function() {
      return new F._StateProviderState(null, this.$ti._eval$1("_StateProviderState<1>"));
    }
  };
  F._StateProviderState.prototype = {
    dispose$0: function(_) {
      var t1 = this._StateProviderStateMixin_removeListener;
      if (t1 != null)
        t1.call$0();
      t1 = this._exposedValue;
      t1.toString;
      J.dispose$0$x(t1);
      this.super$ProviderStateBase$dispose(0);
    }
  };
  F.StateProviderFamily.prototype = {
    create$3: function(_, value, builder, $name) {
      return F.StateProvider$(new F.StateProviderFamily_create_closure(this, builder, value), $name, this.$ti._precomputed1);
    }
  };
  F.StateProviderFamily_closure.prototype = {
    call$2: function(ref, a) {
      var t1 = this.T;
      return new F.StateController(new P.LinkedList(t1._eval$1("LinkedList<_ListenerEntry0<0>>")), this.create.call$2(ref, a), t1._eval$1("StateController<0>"));
    },
    $signature: function() {
      return this.T._eval$1("@<0>")._bind$1(this.A)._eval$1("StateController<1>(ProviderReference,2)");
    }
  };
  F.StateProviderFamily_create_closure.prototype = {
    call$1: function(ref) {
      var t2,
        t1 = this.builder.call$2(ref, this.value);
      t1.toString;
      t2 = J.getInterceptor$x(t1);
      return L.StateNotifier.prototype.get$state.call(t2, t1);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("1(ProviderReference)");
    }
  };
  F._StateProvider_AlwaysAliveProviderBase_ProviderOverridesMixin.prototype = {};
  T._StreamProviderMixin.prototype = {};
  T._StreamProviderStateMixin.prototype = {
    get$proxyStream: function() {
      var t1 = this._StreamProviderStateMixin__proxyController;
      if (t1 == null)
        t1 = this._StreamProviderStateMixin__proxyController = P.StreamController_StreamController$broadcast(false, H._instanceType(this)._precomputed1);
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
    },
    valueChanged$1$previous: function(previous) {
      var t1, _this = this;
      if (J.$eq$(_this._createdValue, previous))
        return;
      t1 = _this._StreamProviderStateMixin_sub;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this._StreamProviderStateMixin__proxyController;
      if (t1 != null)
        t1.close$0(0);
      _this._StreamProviderStateMixin__proxyController = null;
      _this._exposedValue = C.C__$AsyncLoading;
      _this.get$_framework0$_element().markDidChange$0();
      _this._StreamProviderStateMixin_sub = _this._createdValue.listen$3$onDone$onError(new T._StreamProviderStateMixin_valueChanged_closure(_this), new T._StreamProviderStateMixin_valueChanged_closure0(_this), new T._StreamProviderStateMixin_valueChanged_closure1(_this));
    },
    handleError$2: function(error, stackTrace) {
      this._exposedValue = new R._$AsyncError(error, stackTrace, H._instanceType(this)._eval$1("_$AsyncError<1>"));
      this.get$_framework0$_element().markDidChange$0();
      return true;
    }
  };
  T._StreamProviderStateMixin_valueChanged_closure.prototype = {
    call$1: function(value) {
      var t1 = this.$this;
      t1._exposedValue = new R._$AsyncData(value, H._instanceType(t1)._eval$1("_$AsyncData<1>"));
      t1.get$_framework0$_element().markDidChange$0();
      t1 = t1._StreamProviderStateMixin__proxyController;
      if (t1 != null)
        t1.add$1(0, value);
    },
    $signature: function() {
      return H._instanceType(this.$this)._eval$1("~(1)");
    }
  };
  T._StreamProviderStateMixin_valueChanged_closure1.prototype = {
    call$2: function(error, stack) {
      var t1 = this.$this;
      t1._exposedValue = new R._$AsyncError(error, stack, H._instanceType(t1)._eval$1("_$AsyncError<1>"));
      t1.get$_framework0$_element().markDidChange$0();
      t1 = t1._StreamProviderStateMixin__proxyController;
      if (t1 != null)
        t1.addError$2(error, stack);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  T._StreamProviderStateMixin_valueChanged_closure0.prototype = {
    call$0: function() {
      var t1 = this.$this._StreamProviderStateMixin__proxyController;
      return t1 == null ? null : t1.close$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  T._readLast_closure.prototype = {
    call$1: function(value) {
      return P.Future_Future$value(value, this.T);
    },
    $signature: function() {
      return this.T._eval$1("Future<0>(0)");
    }
  };
  T._readLast_closure1.prototype = {
    call$0: function() {
      var stream, completer, sub,
        t1 = this.ref,
        t2 = this.provider,
        t3 = t2._stream_provider$_stream;
      if (t3 == null) {
        t3 = t2.name;
        t3 = t3 == null ? null : t3 + ".stream";
        t2 = t2._stream_provider$_stream = T._CreatedStreamProvider$(t2, t3, t2.$ti._precomputed1);
      } else
        t2 = t3;
      t3 = this.T;
      stream = t1.watch$1$1(t2, t3._eval$1("Stream<0>"));
      t2 = new P._Future($.Zone__current, t3._eval$1("_Future<0>"));
      completer = new P._AsyncCompleter(t2, t3._eval$1("_AsyncCompleter<0>"));
      sub = H._Cell$named("sub");
      sub.__late_helper$_value = stream.listen$3$onDone$onError(new T._readLast__closure(completer, sub, t3), new T._readLast__closure0(completer, sub), new T._readLast__closure1(completer, sub));
      t1.onDispose$1(new T._readLast__closure2(sub, completer));
      return t2;
    },
    $signature: function() {
      return this.T._eval$1("Future<0>()");
    }
  };
  T._readLast__closure.prototype = {
    call$1: function(value) {
      this.completer.complete$1(0, value);
      J.cancel$0$z(this.sub._readLocal$0());
    },
    $signature: function() {
      return this.T._eval$1("~(0)");
    }
  };
  T._readLast__closure1.prototype = {
    call$2: function(err, stack) {
      this.completer.completeError$2(err, stack);
      J.cancel$0$z(this.sub._readLocal$0());
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 20
  };
  T._readLast__closure0.prototype = {
    call$0: function() {
      this.completer.completeError$1(new P.StateError("The stream was closed before emitting a value"));
      J.cancel$0$z(this.sub._readLocal$0());
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  T._readLast__closure2.prototype = {
    call$0: function() {
      J.cancel$0$z(this.sub._readLocal$0());
      var t1 = this.completer;
      if (t1.future._state === 0)
        t1.completeError$1(new P.StateError("The provider was disposed the stream could emit a value"));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  T._readLast_closure0.prototype = {
    call$2: function(err, stack) {
      return P.Future_Future$error(err, stack, this.T);
    },
    $signature: function() {
      return this.T._eval$1("Future<0>(Object,StackTrace?)");
    }
  };
  T._CreatedStreamProvider.prototype = {};
  T._CreatedStreamProvider_closure.prototype = {
    call$1: function(ref) {
      var t3, state,
        t1 = this.provider,
        t2 = type$.nullable_Object;
      ref.watch$1$1(t1, t2);
      t3 = this.T;
      state = ref.get$_container().readProviderElement$2$1(t1, t3._eval$1("Stream<0>"), t2).state;
      return t3._eval$1("_StreamProviderStateMixin<0>")._is(state) ? state.get$proxyStream() : state._createdValue;
    },
    $signature: function() {
      return this.T._eval$1("Stream<0>(ProviderReference)");
    }
  };
  T.AutoDisposeStreamProvider.prototype = {
    create$1: function(_, ref) {
      return this._stream_provider$_create.call$1(ref);
    },
    createState$0: function() {
      return new T._AutoDisposeStreamProviderState(null, null, this.$ti._eval$1("_AutoDisposeStreamProviderState<1>"));
    }
  };
  T._AutoDisposeStreamProviderState.prototype = {
    dispose$0: function(_) {
      var t1 = this._StreamProviderStateMixin_sub;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = this._StreamProviderStateMixin__proxyController;
      if (t1 != null)
        t1.close$0(0);
      this.super$ProviderStateBase$dispose(0);
    }
  };
  T.AutoDisposeStreamProviderFamily.prototype = {
    create$3: function(_, value, builder, $name) {
      return T.AutoDisposeStreamProvider$(new T.AutoDisposeStreamProviderFamily_create_closure(this, builder, value), $name, this.$ti._precomputed1);
    }
  };
  T.AutoDisposeStreamProviderFamily_create_closure.prototype = {
    call$1: function(ref) {
      return this.builder.call$2(ref, this.value);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Stream<1>(AutoDisposeProviderReference)");
    }
  };
  T.StreamProvider.prototype = {
    create$1: function(_, ref) {
      return this._stream_provider$_create.call$1(ref);
    },
    get$last: function(_) {
      var _this = this,
        t1 = _this._stream_provider$_last;
      if (t1 == null) {
        t1 = _this.name;
        t1 = t1 == null ? null : t1 + ".last";
        t1 = _this._stream_provider$_last = Y.Provider$0(new T.StreamProvider_last_closure(_this), t1, _this.$ti._eval$1("Future<1>"));
      }
      return t1;
    },
    createState$0: function() {
      return new T._StreamProviderState(null, null, this.$ti._eval$1("_StreamProviderState<1>"));
    }
  };
  T.StreamProvider_last_closure.prototype = {
    call$1: function(ref) {
      var t1 = this.$this;
      return T._readLast(ref, t1, t1.$ti._precomputed1);
    },
    $signature: function() {
      return this.$this.$ti._eval$1("Future<1>(ProviderReference)");
    }
  };
  T._StreamProviderState.prototype = {
    dispose$0: function(_) {
      var t1 = this._StreamProviderStateMixin_sub;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = this._StreamProviderStateMixin__proxyController;
      if (t1 != null)
        t1.close$0(0);
      this.super$ProviderStateBase$dispose(0);
    }
  };
  T._AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin.prototype = {};
  T._AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__StreamProviderMixin.prototype = {};
  T._StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin.prototype = {};
  T._StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__StreamProviderMixin.prototype = {};
  Y.SourceFile.prototype = {
    get$length: function(_) {
      return this._decodedChars.length;
    },
    get$lines: function(_) {
      return this._lineStarts.length;
    },
    SourceFile$decoded$2$url: function(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);
      }
    },
    getLine$1: function(offset) {
      var t1, _this = this;
      if (offset < 0)
        throw H.wrapException(P.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (offset > _this._decodedChars.length)
        throw H.wrapException(P.RangeError$("Offset " + offset + string$.x20must_ + _this.get$length(_this) + "."));
      t1 = _this._lineStarts;
      if (offset < C.JSArray_methods.get$first(t1))
        return -1;
      if (offset >= C.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: function(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: function(offset) {
      var min, half,
        t1 = this._lineStarts,
        max = t1.length - 1;
      for (min = 0; min < max;) {
        half = min + C.JSInt_methods._tdivFast$1(max - min, 2);
        if (t1[half] > offset)
          max = half;
        else
          min = half + 1;
      }
      return max;
    },
    getColumn$1: function(offset) {
      var line, lineStart, _this = this;
      if (offset < 0)
        throw H.wrapException(P.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (offset > _this._decodedChars.length)
        throw H.wrapException(P.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 H.wrapException(P.RangeError$("Line " + H.S(line) + " comes after offset " + offset + "."));
      return offset - lineStart;
    },
    getOffset$1: function(line) {
      var t1, t2, result, t3, _this = this;
      if (line < 0)
        throw H.wrapException(P.RangeError$("Line may not be negative, was " + H.S(line) + "."));
      else {
        t1 = _this._lineStarts;
        t2 = t1.length;
        if (line >= t2)
          throw H.wrapException(P.RangeError$("Line " + H.S(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 H.wrapException(P.RangeError$("Line " + H.S(line) + " doesn't have 0 columns."));
      return result;
    }
  };
  Y.FileLocation.prototype = {
    get$sourceUrl: function() {
      return this.file.url;
    },
    get$line: function(_) {
      return this.file.getLine$1(this.offset);
    },
    get$column: function() {
      return this.file.getColumn$1(this.offset);
    },
    get$offset: function(receiver) {
      return this.offset;
    }
  };
  Y._FileSpan.prototype = {
    get$sourceUrl: function() {
      return this.file.url;
    },
    get$length: function(_) {
      return this._file$_end - this._file$_start;
    },
    get$start: function(_) {
      return Y.FileLocation$_(this.file, this._file$_start);
    },
    get$end: function(_) {
      return Y.FileLocation$_(this.file, this._file$_end);
    },
    get$text: function(_) {
      return P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(this.file._decodedChars, this._file$_start, this._file$_end), 0, null);
    },
    get$context: function(_) {
      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 ? "" : P.String_String$fromCharCodes(C.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 P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(t1.getLine$1(_this._file$_start)), endOffset), 0, null);
    },
    compareTo$1: function(_, other) {
      var result;
      if (!(other instanceof Y._FileSpan))
        return this.super$SourceSpanMixin$compareTo(0, other);
      result = C.JSInt_methods.compareTo$1(this._file$_start, other._file$_start);
      return result === 0 ? C.JSInt_methods.compareTo$1(this._file$_end, other._file$_end) : result;
    },
    $eq: function(_, 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: function(_) {
      return Y.SourceSpanMixin.prototype.get$hashCode.call(this, this);
    },
    $isFileSpan: 1,
    $isSourceSpanWithContext: 1,
    text$0: function($receiver) {
      return this.get$text(this).call$0();
    }
  };
  U.Highlighter.prototype = {
    highlight$0: function(_) {
      var highlightsByColumn, t2, t3, t4, i, line, lastLine, t5, t6, t7, t8, t9, t10, t11, t12, t13, index, primaryIdx, primary, _i, _this = this,
        t1 = _this._lines;
      _this._writeFileStart$1(C.JSArray_methods.get$first(t1).url);
      highlightsByColumn = P.List_List$filled(_this._maxMultilineSpans, null, false, type$.nullable__Highlight);
      for (t2 = _this._highlighter$_buffer, t3 = highlightsByColumn.length !== 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");
            t2._contents += "\n";
            _this._writeFileStart$1(t6);
          } else if (lastLine.number + 1 !== line.number) {
            _this._writeSidebar$1$text("...");
            t2._contents += "\n";
          }
        }
        for (t5 = line.highlights, t6 = H._arrayInstanceType(t5)._eval$1("ReversedListIterable<1>"), t7 = new H.ReversedListIterable(t5, t6), t6 = new H.ListIterator(t7, t7.get$length(t7), t6._eval$1("ListIterator<ListIterable.E>")), t7 = line.number, t8 = line.text, t9 = J.getInterceptor$s(t8); t6.moveNext$0();) {
          t10 = t6.__internal$_current;
          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) === t7 && _this._isOnlyWhitespace$1(t9.substring$2(t8, 0, t11.get$start(t11).get$column()));
          } else
            t11 = false;
          if (t11) {
            index = C.JSArray_methods.indexOf$1(highlightsByColumn, null);
            if (index < 0)
              H.throwExpression(P.ArgumentError$(H.S(highlightsByColumn) + " contains no null elements."));
            highlightsByColumn[index] = t10;
          }
        }
        _this._writeSidebar$1$line(t7);
        t2._contents += " ";
        _this._writeMultilineHighlights$2(line, highlightsByColumn);
        if (t3)
          t2._contents += " ";
        primaryIdx = C.JSArray_methods.indexWhere$1(t5, new U.Highlighter_highlight_closure());
        primary = primaryIdx === -1 ? null : t5[primaryIdx];
        t6 = primary != null;
        if (t6) {
          t9 = primary.span;
          t10 = t9.get$start(t9);
          t10 = t10.get$line(t10) === t7 ? t9.get$start(t9).get$column() : 0;
          t11 = t9.get$end(t9);
          _this._writeHighlightedText$4$color(t8, t10, t11.get$line(t11) === t7 ? t9.get$end(t9).get$column() : t8.length, t4);
        } else
          _this._writeText$1(t8);
        t2._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 = t2._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _writeFileStart$1: function(url) {
      var _this = this;
      if (!_this._multipleFiles || url == null)
        _this._writeSidebar$1$end("\u2577");
      else {
        _this._writeSidebar$1$end("\u250c");
        _this._colorize$2$color(new U.Highlighter__writeFileStart_closure(_this), "\x1b[34m");
        _this._highlighter$_buffer._contents += " " + H.S($.$get$context().prettyUri$1(url));
      }
      _this._highlighter$_buffer._contents += "\n";
    },
    _writeMultilineHighlights$3$current: function(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 U.Highlighter__writeMultilineHighlights_closure(_this, startLine, line), currentColor);
          foundCurrent = true;
        } else if (foundCurrent)
          _this._colorize$2$color(new U.Highlighter__writeMultilineHighlights_closure0(_this, highlight), currentColor);
        else if (t5)
          if (_box_0.openedOnThisLine)
            _this._colorize$2$color(new U.Highlighter__writeMultilineHighlights_closure1(_this), _box_0.openedOnThisLineColor);
          else
            t4._contents += " ";
        else
          _this._colorize$2$color(new U.Highlighter__writeMultilineHighlights_closure2(_box_0, _this, current, startLine, line, highlight, endLine), t3);
      }
    },
    _writeMultilineHighlights$2: function(line, highlightsByColumn) {
      return this._writeMultilineHighlights$3$current(line, highlightsByColumn, null);
    },
    _writeHighlightedText$4$color: function(text, startColumn, endColumn, color) {
      var _this = this;
      _this._writeText$1(J.substring$2$s(text, 0, startColumn));
      _this._colorize$2$color(new U.Highlighter__writeHighlightedText_closure(_this, text, startColumn, endColumn), color);
      _this._writeText$1(C.JSString_methods.substring$2(text, endColumn, text.length));
    },
    _writeIndicator$3: function(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 U.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 (C.JSArray_methods.contains$1(highlightsByColumn, highlight))
            return;
          B.replaceFirstNull(highlightsByColumn, highlight);
          _this._writeSidebar$0();
          t1 = _this._highlighter$_buffer;
          t1._contents += " ";
          _this._writeMultilineHighlights$3$current(line, highlightsByColumn, highlight);
          _this._colorize$2$color(new U.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) {
              B.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 U.Highlighter__writeIndicator_closure1(_this, coversWholeLine, line, highlight), color);
            t1._contents += "\n";
            B.replaceWithNull(highlightsByColumn, highlight);
          }
        }
      }
    },
    _writeArrow$3$beginning: function(line, column, beginning) {
      var t1 = beginning ? 0 : 1,
        t2 = this._highlighter$_buffer;
      t1 = t2._contents += C.JSString_methods.$mul("\u2500", 1 + column + this._countTabs$1(J.substring$2$s(line.text, 0, column + t1)) * 3);
      t2._contents = t1 + "^";
    },
    _writeArrow$2: function(line, column) {
      return this._writeArrow$3$beginning(line, column, true);
    },
    _writeText$1: function(text) {
      var t1, t2, t3;
      text.toString;
      t1 = new H.CodeUnits(text);
      t1 = new H.ListIterator(t1, t1.get$length(t1), type$.CodeUnits._eval$1("ListIterator<ListMixin.E>"));
      t2 = this._highlighter$_buffer;
      for (; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 === 9)
          t2._contents += C.JSString_methods.$mul(" ", 4);
        else
          t2._contents += H.Primitives_stringFromCharCode(t3);
      }
    },
    _writeSidebar$3$end$line$text: function(end, line, text) {
      var t1 = {};
      t1.text = text;
      if (line != null)
        t1.text = C.JSInt_methods.toString$0(line + 1);
      this._colorize$2$color(new U.Highlighter__writeSidebar_closure(t1, this, end), "\x1b[34m");
    },
    _writeSidebar$1$end: function(end) {
      return this._writeSidebar$3$end$line$text(end, null, null);
    },
    _writeSidebar$1$text: function(text) {
      return this._writeSidebar$3$end$line$text(null, null, text);
    },
    _writeSidebar$1$line: function(line) {
      return this._writeSidebar$3$end$line$text(null, line, null);
    },
    _writeSidebar$0: function() {
      return this._writeSidebar$3$end$line$text(null, null, null);
    },
    _countTabs$1: function(text) {
      var t1, count;
      for (t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1), type$.CodeUnits._eval$1("ListIterator<ListMixin.E>")), count = 0; t1.moveNext$0();)
        if (t1.__internal$_current === 9)
          ++count;
      return count;
    },
    _isOnlyWhitespace$1: function(text) {
      var t1, t2;
      for (t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1), type$.CodeUnits._eval$1("ListIterator<ListMixin.E>")); t1.moveNext$0();) {
        t2 = t1.__internal$_current;
        if (t2 !== 32 && t2 !== 9)
          return false;
      }
      return true;
    },
    _colorize$2$color: function(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";
    }
  };
  U.Highlighter_closure.prototype = {
    call$0: function() {
      return this.color;
    },
    $signature: 1030
  };
  U.Highlighter$__closure.prototype = {
    call$1: function(line) {
      var t1 = line.highlights;
      t1 = new H.WhereIterable(t1, new U.Highlighter$___closure(), H._arrayInstanceType(t1)._eval$1("WhereIterable<1>"));
      return t1.get$length(t1);
    },
    $signature: 1031
  };
  U.Highlighter$___closure.prototype = {
    call$1: function(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: 176
  };
  U.Highlighter$__closure0.prototype = {
    call$1: function(line) {
      return line.url;
    },
    $signature: 1033
  };
  U.Highlighter__collateLines_closure.prototype = {
    call$1: function(highlight) {
      return highlight.span.get$sourceUrl();
    },
    $signature: 1034
  };
  U.Highlighter__collateLines_closure0.prototype = {
    call$2: function(highlight1, highlight2) {
      return highlight1.span.compareTo$1(0, highlight2.span);
    },
    "call*": "call$2",
    $requiredArgCount: 2,
    $signature: 1035
  };
  U.Highlighter__collateLines_closure1.prototype = {
    call$1: function(highlightsForFile) {
      var t1, t2, t3, t4, context, t5, linesBeforeSpan, url, lineNumber, _i, line, activeHighlights, highlightIndex, oldHighlightLength, t6,
        lines = H._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 = B.findLineStart(context, t4.get$text(t4), t4.get$start(t4).get$column());
        t5.toString;
        t5 = C.JSString_methods.allMatches$1("\n", C.JSString_methods.substring$2(context, 0, t5));
        linesBeforeSpan = t5.get$length(t5);
        url = t4.get$sourceUrl();
        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 > C.JSArray_methods.get$last(lines).number)
            lines.push(new U._Line(line, lineNumber, url, H._setArrayType([], t3)));
          ++lineNumber;
        }
      }
      activeHighlights = H._setArrayType([], t3);
      for (t2 = lines.length, highlightIndex = 0, _i = 0; _i < lines.length; lines.length === t2 || (0, H.throwConcurrentModificationError)(lines), ++_i) {
        line = lines[_i];
        if (!!activeHighlights.fixed$length)
          H.throwExpression(P.UnsupportedError$("removeWhere"));
        C.JSArray_methods._removeWhere$2(activeHighlights, new U.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;
          t6 = t5.get$start(t5);
          if (t6.get$line(t6) > line.number)
            break;
          if (!J.$eq$(t5.get$sourceUrl(), line.url))
            break;
          activeHighlights.push(t4);
        }
        highlightIndex += activeHighlights.length - oldHighlightLength;
        C.JSArray_methods.addAll$1(line.highlights, activeHighlights);
      }
      return lines;
    },
    $signature: 1036
  };
  U.Highlighter__collateLines__closure.prototype = {
    call$1: function(highlight) {
      var t1 = highlight.span,
        t2 = this.line;
      if (J.$eq$(t1.get$sourceUrl(), t2.url)) {
        t1 = t1.get$end(t1);
        t2 = t1.get$line(t1) < t2.number;
        t1 = t2;
      } else
        t1 = true;
      return t1;
    },
    $signature: 176
  };
  U.Highlighter_highlight_closure.prototype = {
    call$1: function(highlight) {
      highlight.toString;
      return true;
    },
    $signature: 176
  };
  U.Highlighter__writeFileStart_closure.prototype = {
    call$0: function() {
      this.$this._highlighter$_buffer._contents += C.JSString_methods.$mul("\u2500", 2) + ">";
      return null;
    },
    $signature: 0
  };
  U.Highlighter__writeMultilineHighlights_closure.prototype = {
    call$0: function() {
      var t1 = this.startLine === this.line.number ? "\u250c" : "\u2514";
      this.$this._highlighter$_buffer._contents += t1;
    },
    $signature: 0
  };
  U.Highlighter__writeMultilineHighlights_closure0.prototype = {
    call$0: function() {
      var t1 = this.highlight == null ? "\u2500" : "\u253c";
      this.$this._highlighter$_buffer._contents += t1;
    },
    $signature: 0
  };
  U.Highlighter__writeMultilineHighlights_closure1.prototype = {
    call$0: function() {
      this.$this._highlighter$_buffer._contents += "\u2500";
      return null;
    },
    $signature: 0
  };
  U.Highlighter__writeMultilineHighlights_closure2.prototype = {
    call$0: function() {
      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 U.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 U.Highlighter__writeMultilineHighlights__closure0(t3, vertical), t1.openedOnThisLineColor);
        }
      }
    },
    $signature: 0
  };
  U.Highlighter__writeMultilineHighlights__closure.prototype = {
    call$0: function() {
      var t1 = this._box_0.openedOnThisLine ? "\u252c" : "\u250c";
      this.$this._highlighter$_buffer._contents += t1;
    },
    $signature: 0
  };
  U.Highlighter__writeMultilineHighlights__closure0.prototype = {
    call$0: function() {
      this.$this._highlighter$_buffer._contents += this.vertical;
    },
    $signature: 0
  };
  U.Highlighter__writeHighlightedText_closure.prototype = {
    call$0: function() {
      var _this = this;
      return _this.$this._writeText$1(C.JSString_methods.substring$2(_this.text, _this.startColumn, _this.endColumn));
    },
    $signature: 0
  };
  U.Highlighter__writeIndicator_closure.prototype = {
    call$0: function() {
      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(J.substring$2$s(t2, 0, startColumn));
      tabsInside = t1._countTabs$1(C.JSString_methods.substring$2(t2, startColumn, endColumn));
      startColumn += tabsBefore * 3;
      t1 = t1._highlighter$_buffer;
      t1._contents += C.JSString_methods.$mul(" ", startColumn);
      t1._contents += C.JSString_methods.$mul("^", Math.max(endColumn + (tabsBefore + tabsInside) * 3 - startColumn, 1));
    },
    $signature: 0
  };
  U.Highlighter__writeIndicator_closure0.prototype = {
    call$0: function() {
      var t1 = this.highlight.span;
      return this.$this._writeArrow$2(this.line, t1.get$start(t1).get$column());
    },
    $signature: 0
  };
  U.Highlighter__writeIndicator_closure1.prototype = {
    call$0: function() {
      var t2, _this = this,
        t1 = _this.$this;
      if (_this.coversWholeLine)
        t1._highlighter$_buffer._contents += C.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
  };
  U.Highlighter__writeSidebar_closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = t1._highlighter$_buffer,
        t3 = this._box_0.text;
      if (t3 == null)
        t3 = "";
      t1 = t2._contents += C.JSString_methods.padRight$1(t3, t1._paddingBeforeSidebar);
      t3 = this.end;
      t2._contents = t1 + (t3 == null ? "\u2502" : t3);
    },
    $signature: 0
  };
  U._Highlight.prototype = {
    toString$0: function(_) {
      var t3,
        t1 = this.span,
        t2 = t1.get$start(t1);
      t2 = H.S(t2.get$line(t2)) + ":" + t1.get$start(t1).get$column() + "-";
      t3 = t1.get$end(t1);
      t1 = "primary " + (t2 + H.S(t3.get$line(t3)) + ":" + t1.get$end(t1).get$column());
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  U._Highlight_closure.prototype = {
    call$0: function() {
      var t2, t3, t4, t5,
        t1 = this.span;
      if (!(type$.SourceSpanWithContext._is(t1) && B.findLineStart(t1.get$context(t1), t1.get$text(t1), t1.get$start(t1).get$column()) != null)) {
        t2 = t1.get$start(t1);
        t2 = V.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 = B.countCodeUnits(t1.get$text(t1), 10);
        t1 = X.SourceSpanWithContext$(t2, V.SourceLocation$(t3, U._Highlight__lastLineLength(t1.get$text(t1)), t5, t4), t1.get$text(t1), t1.get$text(t1));
      }
      return U._Highlight__normalizeEndOfLine(U._Highlight__normalizeTrailingNewline(U._Highlight__normalizeNewlines(t1)));
    },
    $signature: 1037
  };
  U._Line.prototype = {
    toString$0: function(_) {
      return "" + this.number + ': "' + H.S(this.text) + '" (' + C.JSArray_methods.join$1(this.highlights, ", ") + ")";
    },
    text$0: function($receiver) {
      return this.text.call$0();
    }
  };
  V.SourceLocation.prototype = {
    distance$1: function(other) {
      var t1 = this.sourceUrl;
      if (!J.$eq$(t1, other.get$sourceUrl()))
        throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t1) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
      return Math.abs(this.offset - other.get$offset(other));
    },
    compareTo$1: function(_, other) {
      var t1 = this.sourceUrl;
      if (!J.$eq$(t1, other.get$sourceUrl()))
        throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t1) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
      return this.offset - other.get$offset(other);
    },
    $eq: function(_, 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: function(_) {
      var t1 = this.sourceUrl;
      t1 = t1 == null ? null : t1.get$hashCode(t1);
      if (t1 == null)
        t1 = 0;
      return t1 + this.offset;
    },
    toString$0: function(_) {
      var _this = this,
        t1 = "<" + H.getRuntimeType(_this).toString$0(0) + ": " + _this.offset + " ",
        source = _this.sourceUrl;
      return t1 + (H.S(source == null ? "unknown source" : source) + ":" + (_this.line + 1) + ":" + (_this.column + 1)) + ">";
    },
    $isComparable: 1,
    get$sourceUrl: function() {
      return this.sourceUrl;
    },
    get$offset: function(receiver) {
      return this.offset;
    },
    get$line: function(receiver) {
      return this.line;
    },
    get$column: function() {
      return this.column;
    }
  };
  D.SourceLocationMixin.prototype = {
    distance$1: function(other) {
      if (!J.$eq$(this.file.url, other.get$sourceUrl()))
        throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
      return Math.abs(this.offset - other.get$offset(other));
    },
    compareTo$1: function(_, other) {
      if (!J.$eq$(this.file.url, other.get$sourceUrl()))
        throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
      return this.offset - other.get$offset(other);
    },
    $eq: function(_, 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: function(_) {
      var t1 = this.file.url;
      t1 = t1 == null ? null : t1.get$hashCode(t1);
      if (t1 == null)
        t1 = 0;
      return t1 + this.offset;
    },
    toString$0: function(_) {
      var t1 = this.offset,
        t2 = "<" + H.getRuntimeType(this).toString$0(0) + ": " + t1 + " ",
        t3 = this.file,
        source = t3.url;
      return t2 + (H.S(source == null ? "unknown source" : source) + ":" + (t3.getLine$1(t1) + 1) + ":" + (t3.getColumn$1(t1) + 1)) + ">";
    },
    $isComparable: 1,
    $isSourceLocation: 1
  };
  V.SourceSpanBase.prototype = {
    SourceSpanBase$3: function(start, end, text) {
      var t3,
        t1 = this.end,
        t2 = this.start;
      if (!J.$eq$(t1.get$sourceUrl(), t2.get$sourceUrl()))
        throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t2.get$sourceUrl()) + '" and  "' + H.S(t1.get$sourceUrl()) + "\" don't match."));
      else if (t1.get$offset(t1) < t2.get$offset(t2))
        throw H.wrapException(P.ArgumentError$("End " + t1.toString$0(0) + " must come after start " + t2.toString$0(0) + "."));
      else {
        t3 = this.text;
        if (t3.length !== t2.distance$1(t1))
          throw H.wrapException(P.ArgumentError$('Text "' + t3 + '" must be ' + t2.distance$1(t1) + " characters long."));
      }
    },
    text$0: function($receiver) {
      return this.text.call$0();
    },
    get$start: function(receiver) {
      return this.start;
    },
    get$end: function(receiver) {
      return this.end;
    },
    get$text: function(receiver) {
      return this.text;
    }
  };
  G.SourceSpanException.prototype = {
    get$message: function(_) {
      return this._span_exception$_message;
    },
    toString$0: function(_) {
      return "Error on " + this._span.message$2$color(0, this._span_exception$_message, null);
    },
    $isException: 1
  };
  G.SourceSpanFormatException.prototype = {
    get$offset: function(_) {
      var t1 = this._span;
      t1 = Y.FileLocation$_(t1.file, t1._file$_start);
      return t1.offset;
    },
    $isFormatException: 1,
    get$source: function(receiver) {
      return this.source;
    }
  };
  Y.SourceSpanMixin.prototype = {
    get$sourceUrl: function() {
      return this.get$start(this).get$sourceUrl();
    },
    get$length: function(_) {
      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: function(_, 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: function(_, 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 " + H.S($.$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: function($receiver, message) {
      return this.message$2$color($receiver, message, null);
    },
    highlight$1$color: function(_, color) {
      var _this = this;
      if (!type$.SourceSpanWithContext._is(_this) && _this.get$length(_this) === 0)
        return "";
      return U.Highlighter$(_this, color).highlight$0(0);
    },
    $eq: function(_, 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: function(_) {
      var t2, _this = this,
        t1 = _this.get$start(_this);
      t1 = t1.get$hashCode(t1);
      t2 = _this.get$end(_this);
      return t1 + 31 * t2.get$hashCode(t2);
    },
    toString$0: function(_) {
      var _this = this;
      return "<" + H.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
  };
  X.SourceSpanWithContext.prototype = {
    get$context: function(_) {
      return this._span_with_context$_context;
    }
  };
  M.SseClient.prototype = {
    get$_eventSource: function() {
      var t1 = this.__SseClient__eventSource;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_eventSource")) : t1;
    },
    SseClient$1: function(serverUrl) {
      var t1, t2, _this = this,
        clientId = T.generateUuidV4();
      _this.__SseClient__eventSource = W.EventSource__factoryEventSource(H.S(serverUrl) + "?sseClientId=" + clientId, P.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], type$.String, type$.dynamic));
      _this.__SseClient__serverUrl = H.S(serverUrl) + "?sseClientId=" + clientId;
      t1 = _this.get$_eventSource();
      t1.toString;
      t1 = new W._EventStream(t1, "open", false, type$._EventStream_legacy_Event);
      t1.get$first(t1).whenComplete$1(new M.SseClient_closure(_this));
      t1 = _this.get$_eventSource();
      (t1 && C.EventSource_methods).addEventListener$2(t1, "message", _this.get$_onIncomingMessage());
      t1 = _this.get$_eventSource();
      (t1 && C.EventSource_methods).addEventListener$2(t1, "control", _this.get$_onIncomingControlMessage());
      t1 = _this.get$_eventSource();
      t1.toString;
      t2 = type$.legacy_Event;
      W._EventStreamSubscription$(t1, "open", new M.SseClient_closure0(_this), false, t2);
      t1 = _this.get$_eventSource();
      t1.toString;
      W._EventStreamSubscription$(t1, "error", new M.SseClient_closure1(_this), false, t2);
    },
    get$sink: function() {
      var t1 = this._outgoingController;
      return new P._StreamSinkWrapper(t1, H._instanceType(t1)._eval$1("_StreamSinkWrapper<1>"));
    },
    get$stream: function(_) {
      var t1 = this._incomingController;
      return new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>"));
    },
    close$0: function(_) {
      var t1, _this = this;
      _this.get$_eventSource().close();
      if (_this._onConnected.future._state === 0) {
        t1 = _this._outgoingController;
        new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>")).drain$1$0(type$.dynamic);
      }
      _this._incomingController.close$0(0);
      _this._outgoingController.close$0(0);
    },
    _onIncomingControlMessage$1: function(message) {
      var data = new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(message).data, true);
      if (J.$eq$(data, "close"))
        this.close$0(0);
      else
        throw H.wrapException(P.UnsupportedError$('Illegal Control Message "' + H.S(data) + '"'));
    },
    _onIncomingMessage$1: function(message) {
      this._incomingController.add$1(0, H._asStringS(C.C_JsonCodec.decode$2$reviver(0, H._asStringS(new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(message).data, true)), null)));
    },
    _onOutgoingDone$0: function() {
      this.close$0(0);
    },
    _onOutgoingMessage$1: function(message) {
      return this._onOutgoingMessage$body$SseClient(message);
    },
    _onOutgoingMessage$body$SseClient: function(message) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1;
      var $async$_onOutgoingMessage$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              t1.encodedMessage = null;
              $async$goto = 2;
              return P._asyncAwait($.$get$_requestPool().withResource$1$1(new M.SseClient__onOutgoingMessage_closure(t1, $async$self, message), type$.Null), $async$_onOutgoingMessage$1);
            case 2:
              // returning from await.
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_onOutgoingMessage$1, $async$completer);
    }
  };
  M.SseClient_closure.prototype = {
    call$0: function() {
      var t2,
        t1 = this.$this;
      t1._onConnected.complete$0(0);
      t2 = t1._outgoingController;
      new P._ControllerStream(t2, H._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$2$onDone(t1.get$_onOutgoingMessage(), t1.get$_onOutgoingDone());
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 1
  };
  M.SseClient_closure0.prototype = {
    call$1: function(_) {
      var t1 = this.$this._errorTimer;
      if (t1 != null)
        t1.cancel$0(0);
    },
    $signature: 10
  };
  M.SseClient_closure1.prototype = {
    call$1: function(error) {
      var t1 = this.$this,
        t2 = t1._errorTimer;
      t2 = t2 == null ? null : t2.get$isActive();
      if (t2 !== true)
        t1._errorTimer = P.Timer_Timer(C.Duration_5000000, new M.SseClient__closure(t1, error));
    },
    $signature: 10
  };
  M.SseClient__closure.prototype = {
    call$0: function() {
      var t1 = this.$this,
        t2 = this.error;
      t1._incomingController.addError$1(t2);
      t1.close$0(0);
      t1 = t1._onConnected;
      if (t1.future._state === 0)
        t1.completeError$1(t2);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  M.SseClient__onOutgoingMessage_closure.prototype = {
    call$0: function() {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, e, e0, e1, exception, t1, t2, $async$exception;
      var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              try {
                $async$self._box_0.encodedMessage = C.C_JsonCodec.encode$2$toEncodable($async$self.message, null);
              } catch (exception) {
                t1 = H.unwrapException(exception);
                if (t1 instanceof P.JsonUnsupportedObjectError) {
                  e = t1;
                  $async$self.$this._logger.log$4(C.Level_WARNING_900, "Unable to encode outgoing message: " + H.S(e), null, null);
                } else if (t1 instanceof P.ArgumentError) {
                  e0 = t1;
                  $async$self.$this._logger.log$4(C.Level_WARNING_900, "Invalid argument: " + H.S(e0), null, null);
                } else
                  throw exception;
              }
              $async$handler = 3;
              t1 = $async$self.$this;
              t2 = t1.__SseClient__serverUrl;
              $async$goto = 6;
              return P._asyncAwait(W.HttpRequest_request(H.S(t2 === $ ? H.throwExpression(H.LateError$fieldNI("_serverUrl")) : 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 = H.unwrapException($async$exception);
              t1 = $async$self.$this;
              t2 = "Failed to send " + H.S($async$self.message) + ":\n " + H.S(e1);
              t1._logger.log$4(C.Level_SEVERE_1000, t2, 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 P._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 101
  };
  T.generateUuidV4__generateBits.prototype = {
    call$1: function(bitCount) {
      return this.random.nextInt$1(C.JSInt_methods._shlPositive$1(1, bitCount));
    },
    $signature: 39
  };
  T.generateUuidV4__printDigits.prototype = {
    call$2: function(value, count) {
      return C.JSString_methods.padLeft$2(C.JSInt_methods.toRadixString$1(value, 16), count, "0");
    },
    $signature: 217
  };
  T.generateUuidV4__bitsDigits.prototype = {
    call$2: function(bitCount, digitCount) {
      return this._printDigits.call$2(this._generateBits.call$1(bitCount), digitCount);
    },
    $signature: 217
  };
  U.Chain.prototype = {
    toTrace$0: function() {
      var t1 = this.traces;
      return Y.Trace$(new H.ExpandIterable(t1, new U.Chain_toTrace_closure(), H._arrayInstanceType(t1)._eval$1("ExpandIterable<1,Frame>")), null);
    },
    toString$0: function(_) {
      var t1 = this.traces,
        t2 = H._arrayInstanceType(t1);
      return new H.MappedListIterable(t1, new U.Chain_toString_closure(new H.MappedListIterable(t1, new U.Chain_toString_closure0(), t2._eval$1("MappedListIterable<1,int>")).fold$2(0, 0, C.CONSTANT)), t2._eval$1("MappedListIterable<1,String>")).join$1(0, string$.x3d_____);
    },
    $isStackTrace: 1
  };
  U.Chain_Chain$parse_closure.prototype = {
    call$1: function(line) {
      return line.length !== 0;
    },
    $signature: 17
  };
  U.Chain_Chain$parse_closure0.prototype = {
    call$1: function(trace) {
      return Y.Trace$parseVM(trace);
    },
    $signature: 216
  };
  U.Chain_Chain$parse_closure1.prototype = {
    call$1: function(trace) {
      return Y.Trace$parseFriendly(trace);
    },
    $signature: 216
  };
  U.Chain_toTrace_closure.prototype = {
    call$1: function(trace) {
      return trace.get$frames();
    },
    $signature: 1041
  };
  U.Chain_toString_closure0.prototype = {
    call$1: function(trace) {
      var t1 = trace.get$frames();
      return new H.MappedListIterable(t1, new U.Chain_toString__closure0(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int>")).fold$2(0, 0, C.CONSTANT);
    },
    $signature: 1042
  };
  U.Chain_toString__closure0.prototype = {
    call$1: function(frame) {
      return frame.get$location(frame).length;
    },
    $signature: 261
  };
  U.Chain_toString_closure.prototype = {
    call$1: function(trace) {
      var t1 = trace.get$frames();
      return new H.MappedListIterable(t1, new U.Chain_toString__closure(this.longest), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$0(0);
    },
    $signature: 1044
  };
  U.Chain_toString__closure.prototype = {
    call$1: function(frame) {
      return J.padRight$1$s(frame.get$location(frame), this.longest) + "  " + H.S(frame.get$member()) + "\n";
    },
    $signature: 349
  };
  A.Frame.prototype = {
    get$isCore: function() {
      return this.uri.get$scheme() === "dart";
    },
    get$library: function() {
      var t1 = this.uri;
      if (t1.get$scheme() === "data")
        return "data:...";
      return $.$get$context().prettyUri$1(t1);
    },
    get$$package: function() {
      var t1 = this.uri;
      if (t1.get$scheme() !== "package")
        return null;
      return C.JSArray_methods.get$first(t1.get$path(t1).split("/"));
    },
    get$location: function(_) {
      var t2, _this = this,
        t1 = _this.line;
      if (t1 == null)
        return _this.get$library();
      t2 = _this.column;
      if (t2 == null)
        return H.S(_this.get$library()) + " " + H.S(t1);
      return H.S(_this.get$library()) + " " + H.S(t1) + ":" + H.S(t2);
    },
    toString$0: function(_) {
      return H.S(this.get$location(this)) + " in " + H.S(this.member);
    },
    get$uri: function() {
      return this.uri;
    },
    get$line: function(receiver) {
      return this.line;
    },
    get$column: function() {
      return this.column;
    },
    get$member: function() {
      return this.member;
    }
  };
  A.Frame_Frame$parseVM_closure.prototype = {
    call$0: function() {
      var match, t2, t3, member, uri, lineAndColumn, line, _null = null,
        t1 = this.frame;
      if (t1 === "...")
        return new A.Frame(P._Uri__Uri(_null, _null, _null, _null, _null, _null, _null), _null, _null, "...");
      match = $.$get$_vmFrame().firstMatch$1(t1);
      if (match == null)
        return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null, _null, _null, _null), t1);
      t1 = match._match;
      t2 = t1[1];
      t2.toString;
      t3 = $.$get$_asyncBody();
      t2 = H.stringReplaceAllUnchecked(t2, t3, "<async>");
      member = H.stringReplaceAllUnchecked(t2, "<anonymous closure>", "<fn>");
      t2 = t1[2];
      t3 = t2;
      t3.toString;
      if (C.JSString_methods.startsWith$1(t3, "<data:"))
        uri = P.Uri_Uri$dataFromString("");
      else {
        t2 = t2;
        t2.toString;
        uri = P.Uri_parse(t2, 0, _null);
      }
      lineAndColumn = t1[3].split(":");
      t1 = lineAndColumn.length;
      line = t1 > 1 ? P.int_parse(lineAndColumn[1], _null) : _null;
      return new A.Frame(uri, line, t1 > 2 ? P.int_parse(lineAndColumn[2], _null) : _null, member);
    },
    $signature: 74
  };
  A.Frame_Frame$parseV8_closure.prototype = {
    call$0: function() {
      var t2, t3, _null = null, _s4_ = "<fn>",
        t1 = this.frame,
        match = $.$get$_v8Frame().firstMatch$1(t1);
      if (match == null)
        return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _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 = H.stringReplaceAllUnchecked(t2, "<anonymous>", _s4_);
        t2 = H.stringReplaceAllUnchecked(t2, "Anonymous function", _s4_);
        return t1.call$2(t3, H.stringReplaceAllUnchecked(t2, "(anonymous function)", _s4_));
      } else {
        t2 = t2[3];
        t2.toString;
        return t1.call$2(t2, _s4_);
      }
    },
    $signature: 74
  };
  A.Frame_Frame$parseV8_closure_parseLocation.prototype = {
    call$2: function($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(P.Uri_parse("native", 0, _null), _null, _null, member);
      urlMatch = $.$get$_v8UrlLocation().firstMatch$1($location);
      if (urlMatch == null)
        return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _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 = P.int_parse(t2, _null);
      columnMatch = t1[3];
      return new A.Frame(uri, line, columnMatch != null ? P.int_parse(columnMatch, _null) : _null, member);
    },
    $signature: 1047
  };
  A.Frame_Frame$_parseFirefoxEval_closure.prototype = {
    call$0: function() {
      var t2, member, uri, line, _null = null,
        t1 = this.frame,
        match = $.$get$_firefoxEvalLocation().firstMatch$1(t1);
      if (match == null)
        return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null, _null, _null, _null), t1);
      t1 = match._match;
      t2 = t1[1];
      t2.toString;
      member = H.stringReplaceAllUnchecked(t2, "/<", "");
      t2 = t1[2];
      t2.toString;
      uri = A.Frame__uriOrPathToUri(t2);
      t1 = t1[3];
      t1.toString;
      line = P.int_parse(t1, _null);
      return new A.Frame(uri, line, _null, member.length === 0 || member === "anonymous" ? "<fn>" : member);
    },
    $signature: 74
  };
  A.Frame_Frame$parseFirefox_closure.prototype = {
    call$0: function() {
      var t2, t3, t4, uri, member, line, column, _null = null,
        t1 = this.frame,
        match = $.$get$_firefoxSafariFrame().firstMatch$1(t1);
      if (match == null)
        return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null, _null, _null, _null), t1);
      t2 = match._match;
      t3 = t2[3];
      t4 = t3;
      t4.toString;
      if (C.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 = C.JSString_methods.allMatches$1("/", t1);
        member += C.JSArray_methods.join$0(P.List_List$filled(t1.get$length(t1), ".<fn>", false, type$.String));
        if (member === "")
          member = "<fn>";
        member = C.JSString_methods.replaceFirst$2(member, $.$get$_initialDot(), "");
      } else
        member = "<fn>";
      t1 = t2[4];
      if (t1 === "")
        line = _null;
      else {
        t1 = t1;
        t1.toString;
        line = P.int_parse(t1, _null);
      }
      t1 = t2[5];
      if (t1 == null || t1 === "")
        column = _null;
      else {
        t1 = t1;
        t1.toString;
        column = P.int_parse(t1, _null);
      }
      return new A.Frame(uri, line, column, member);
    },
    $signature: 74
  };
  A.Frame_Frame$parseFriendly_closure.prototype = {
    call$0: function() {
      var t2, uri, line, column, _null = null,
        t1 = this.frame,
        match = $.$get$_friendlyFrame().firstMatch$1(t1);
      if (match == null)
        throw H.wrapException(P.FormatException$("Couldn't parse package:stack_trace stack trace line '" + H.S(t1) + "'.", _null, _null));
      t1 = match._match;
      t2 = t1[1];
      if (t2 === "data:...")
        uri = P.Uri_Uri$dataFromString("");
      else {
        t2 = t2;
        t2.toString;
        uri = P.Uri_parse(t2, 0, _null);
      }
      if (uri.get$scheme() === "") {
        t2 = $.$get$context();
        uri = t2.toUri$1(t2.absolute$7(0, t2.style.pathFromUri$1(M._parseUri(uri)), _null, _null, _null, _null, _null, _null));
      }
      t2 = t1[2];
      if (t2 == null)
        line = _null;
      else {
        t2 = t2;
        t2.toString;
        line = P.int_parse(t2, _null);
      }
      t2 = t1[3];
      if (t2 == null)
        column = _null;
      else {
        t2 = t2;
        t2.toString;
        column = P.int_parse(t2, _null);
      }
      return new A.Frame(uri, line, column, t1[4]);
    },
    $signature: 74
  };
  T.LazyTrace.prototype = {
    get$_lazy_trace$_trace: function() {
      var _this = this,
        t1 = _this.__LazyTrace__trace;
      if (t1 === $) {
        t1 = _this._thunk.call$0();
        if (_this.__LazyTrace__trace === $)
          _this.__LazyTrace__trace = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("_trace"));
      }
      return t1;
    },
    get$frames: function() {
      return this.get$_lazy_trace$_trace().get$frames();
    },
    get$terse: function() {
      return new T.LazyTrace(new T.LazyTrace_terse_closure(this));
    },
    toString$0: function(_) {
      return J.toString$0$(this.get$_lazy_trace$_trace());
    },
    $isStackTrace: 1,
    $isTrace: 1
  };
  T.LazyTrace_terse_closure.prototype = {
    call$0: function() {
      return this.$this.get$_lazy_trace$_trace().get$terse();
    },
    $signature: 188
  };
  Y.Trace.prototype = {
    get$terse: function() {
      return this.foldFrames$2$terse(new Y.Trace_terse_closure(), true);
    },
    foldFrames$2$terse: function(predicate, terse) {
      var newFrames, t1, t2, _box_0 = {};
      _box_0.predicate = predicate;
      _box_0.predicate = new Y.Trace_foldFrames_closure(predicate);
      newFrames = H._setArrayType([], type$.JSArray_Frame);
      for (t1 = this.frames, t2 = H._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>"), t1 = new H.ReversedListIterable(t1, t2), t2 = new H.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")); t2.moveNext$0();) {
        t1 = t2.__internal$_current;
        if (t1 instanceof N.UnparsedFrame || !_box_0.predicate.call$1(t1))
          newFrames.push(t1);
        else if (newFrames.length === 0 || !_box_0.predicate.call$1(C.JSArray_methods.get$last(newFrames)))
          newFrames.push(new A.Frame(t1.get$uri(), t1.get$line(t1), t1.get$column(), t1.get$member()));
      }
      t1 = type$.MappedListIterable_Frame_Frame;
      newFrames = P.List_List$of(new H.MappedListIterable(newFrames, new Y.Trace_foldFrames_closure0(_box_0), t1), true, t1._eval$1("ListIterable.E"));
      if (newFrames.length > 1 && _box_0.predicate.call$1(C.JSArray_methods.get$first(newFrames)))
        C.JSArray_methods.removeAt$1(newFrames, 0);
      return Y.Trace$(new H.ReversedListIterable(newFrames, H._arrayInstanceType(newFrames)._eval$1("ReversedListIterable<1>")), this.original._stackTrace);
    },
    toString$0: function(_) {
      var t1 = this.frames,
        t2 = H._arrayInstanceType(t1);
      return new H.MappedListIterable(t1, new Y.Trace_toString_closure(new H.MappedListIterable(t1, new Y.Trace_toString_closure0(), t2._eval$1("MappedListIterable<1,int>")).fold$2(0, 0, C.CONSTANT)), t2._eval$1("MappedListIterable<1,String>")).join$0(0);
    },
    $isStackTrace: 1,
    get$frames: function() {
      return this.frames;
    }
  };
  Y.Trace_Trace$from_closure.prototype = {
    call$0: function() {
      return Y.Trace_Trace$parse(J.toString$0$(this.trace));
    },
    $signature: 188
  };
  Y.Trace__parseVM_closure.prototype = {
    call$1: function(line) {
      return line.length !== 0;
    },
    $signature: 17
  };
  Y.Trace__parseVM_closure0.prototype = {
    call$1: function(line) {
      return A.Frame_Frame$parseVM(line);
    },
    $signature: 81
  };
  Y.Trace$parseV8_closure.prototype = {
    call$1: function(line) {
      return !J.startsWith$1$s(line, $.$get$_v8TraceLine());
    },
    $signature: 17
  };
  Y.Trace$parseV8_closure0.prototype = {
    call$1: function(line) {
      return A.Frame_Frame$parseV8(line);
    },
    $signature: 81
  };
  Y.Trace$parseJSCore_closure.prototype = {
    call$1: function(line) {
      return line !== "\tat ";
    },
    $signature: 17
  };
  Y.Trace$parseJSCore_closure0.prototype = {
    call$1: function(line) {
      return A.Frame_Frame$parseV8(line);
    },
    $signature: 81
  };
  Y.Trace$parseFirefox_closure.prototype = {
    call$1: function(line) {
      return line.length !== 0 && line !== "[native code]";
    },
    $signature: 17
  };
  Y.Trace$parseFirefox_closure0.prototype = {
    call$1: function(line) {
      return A.Frame_Frame$parseFirefox(line);
    },
    $signature: 81
  };
  Y.Trace$parseFriendly_closure.prototype = {
    call$1: function(line) {
      return !J.startsWith$1$s(line, "=====");
    },
    $signature: 17
  };
  Y.Trace$parseFriendly_closure0.prototype = {
    call$1: function(line) {
      return A.Frame_Frame$parseFriendly(line);
    },
    $signature: 81
  };
  Y.Trace_terse_closure.prototype = {
    call$1: function(_) {
      return false;
    },
    $signature: 339
  };
  Y.Trace_foldFrames_closure.prototype = {
    call$1: function(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 (!C.JSString_methods.contains$1(t1, "<async>"))
        return false;
      return frame.get$line(frame) == null;
    },
    $signature: 339
  };
  Y.Trace_foldFrames_closure0.prototype = {
    call$1: function(frame) {
      var t1, t2;
      if (frame instanceof N.UnparsedFrame || !this._box_0.predicate.call$1(frame))
        return frame;
      t1 = frame.get$library();
      t2 = $.$get$_terseRegExp();
      t1.toString;
      return new A.Frame(P.Uri_parse(H.stringReplaceAllUnchecked(t1, t2, ""), 0, null), null, null, frame.get$member());
    },
    $signature: 1051
  };
  Y.Trace_toString_closure0.prototype = {
    call$1: function(frame) {
      return frame.get$location(frame).length;
    },
    $signature: 261
  };
  Y.Trace_toString_closure.prototype = {
    call$1: function(frame) {
      if (frame instanceof N.UnparsedFrame)
        return frame.toString$0(0) + "\n";
      return J.padRight$1$s(frame.get$location(frame), this.longest) + "  " + H.S(frame.get$member()) + "\n";
    },
    $signature: 349
  };
  N.UnparsedFrame.prototype = {
    toString$0: function(_) {
      return this.member;
    },
    $isFrame: 1,
    get$uri: function() {
      return this.uri;
    },
    get$line: function() {
      return null;
    },
    get$column: function() {
      return null;
    },
    get$isCore: function() {
      return false;
    },
    get$library: function() {
      return "unparsed";
    },
    get$$package: function() {
      return null;
    },
    get$location: function() {
      return "unparsed";
    },
    get$member: function() {
      return this.member;
    }
  };
  L.StateNotifier.prototype = {
    get$state: function(_) {
      return this._state_notifier$_state;
    },
    set$state: function(_, value) {
      var didThrow, listenerEntry, error, stackTrace, t1, exception;
      this._state_notifier$_state = value;
      didThrow = false;
      for (t1 = this._state_notifier$_listeners, t1 = P._LinkedListIterator$(t1, t1.$ti._precomputed1); t1.moveNext$0();) {
        listenerEntry = t1._collection$_current;
        try {
          listenerEntry.listener.call$1(value);
        } catch (exception) {
          error = H.unwrapException(exception);
          stackTrace = H.getTraceFromException(exception);
          didThrow = true;
          $.Zone__current.handleUncaughtError$2(error, stackTrace);
        }
      }
      if (didThrow)
        throw H.wrapException(new P.Error0());
    },
    addListener$1: function(_, listener) {
      var err, stack, exception, t2, _this = this,
        fireImmediately = true,
        listenerEntry = new L._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(L.StateNotifier.prototype.get$state.call(_this, _this));
      } catch (exception) {
        err = H.unwrapException(exception);
        stack = H.getTraceFromException(exception);
        t1 = listenerEntry;
        t2 = t1._collection$_list;
        t2.toString;
        t2._unlink$1(H.instanceType(t1)._eval$1("LinkedListEntry.E")._as(t1));
        throw exception;
      } finally {
      }
      return new L.StateNotifier_addListener_closure(listenerEntry);
    },
    dispose$0: function(_) {
      this._state_notifier$_listeners.clear$0(0);
      this._state_notifier$_mounted = false;
    }
  };
  L.StateNotifier_addListener_closure.prototype = {
    call$0: function() {
      var t1 = this.listenerEntry,
        t2 = t1._collection$_list;
      if (t2 != null)
        t2._unlink$1(t1.$ti._eval$1("LinkedListEntry.E")._as(t1));
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  L._ListenerEntry0.prototype = {};
  K.GuaranteeChannel.prototype = {
    get$stream: function(_) {
      var t1 = this.get$_streamController();
      return t1.get$stream(t1);
    },
    get$sink: function() {
      return this.get$_guarantee_channel$_sink();
    },
    get$_guarantee_channel$_sink: function() {
      var t1 = this.__GuaranteeChannel__sink;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_sink")) : t1;
    },
    get$_streamController: function() {
      var t1 = this.__GuaranteeChannel__streamController;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_streamController")) : t1;
    },
    GuaranteeChannel$3$allowSinkErrors: function(innerSink, allowSinkErrors, _box_0, $T) {
      var _this = this,
        t1 = $.Zone__current;
      if (_this.__GuaranteeChannel__sink === $)
        _this.__GuaranteeChannel__sink = new K._GuaranteeSink(innerSink, _this, new P._AsyncCompleter(new P._Future(t1, type$._Future_dynamic), type$._AsyncCompleter_dynamic), allowSinkErrors, $T._eval$1("_GuaranteeSink<0>"));
      else
        H.throwExpression(H.LateError$fieldAI("_sink"));
      t1 = P.StreamController_StreamController(null, new K.GuaranteeChannel_closure(_box_0, _this), null, true, $T);
      if (_this.__GuaranteeChannel__streamController === $)
        _this.__GuaranteeChannel__streamController = t1;
      else
        H.throwExpression(H.LateError$fieldAI("_streamController"));
    },
    _onSinkDisconnected$0: function() {
      this._disconnected = true;
      var subscription = this._guarantee_channel$_subscription;
      if (subscription != null)
        subscription.cancel$0(0);
      this.get$_streamController().close$0(0);
    }
  };
  K.GuaranteeChannel_closure.prototype = {
    call$0: function() {
      var t2, t3,
        t1 = this.$this;
      if (t1._disconnected)
        return;
      t2 = this._box_0.innerStream;
      t3 = t1.get$_streamController();
      t1._guarantee_channel$_subscription = t2.listen$3$onDone$onError(t3.get$add(t3), new K.GuaranteeChannel__closure(t1), t1.get$_streamController().get$addError());
    },
    $signature: 0
  };
  K.GuaranteeChannel__closure.prototype = {
    call$0: function() {
      var t1 = this.$this;
      t1.get$_guarantee_channel$_sink()._onStreamDisconnected$0();
      t1.get$_streamController().close$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  K._GuaranteeSink.prototype = {
    get$done: function() {
      return this._doneCompleter.future;
    },
    add$1: function(_, data) {
      var _this = this;
      if (_this._closed)
        throw H.wrapException(P.StateError$("Cannot add event after closing."));
      if (_this._addStreamSubscription != null)
        throw H.wrapException(P.StateError$("Cannot add event while adding stream."));
      if (_this._disconnected)
        return;
      _this._inner._async$_target.add$1(0, data);
    },
    addError$2: function(error, stackTrace) {
      var _this = this;
      if (_this._closed)
        throw H.wrapException(P.StateError$("Cannot add event after closing."));
      if (_this._addStreamSubscription != null)
        throw H.wrapException(P.StateError$("Cannot add event while adding stream."));
      if (_this._disconnected)
        return;
      _this._guarantee_channel$_addError$2(error, stackTrace);
    },
    addError$1: function(error) {
      return this.addError$2(error, null);
    },
    _guarantee_channel$_addError$2: function(error, stackTrace) {
      var _this = this;
      if (_this._allowErrors) {
        _this._inner._async$_target.addError$2(error, stackTrace);
        return;
      }
      _this._doneCompleter.completeError$2(error, stackTrace);
      _this._onStreamDisconnected$0();
      _this._guarantee_channel$_channel._onSinkDisconnected$0();
      _this._inner._async$_target.close$0(0).catchError$1(new K._GuaranteeSink__addError_closure());
    },
    _guarantee_channel$_addError$1: function(error) {
      return this._guarantee_channel$_addError$2(error, null);
    },
    addStream$1: function(_, stream) {
      var t1, t2, _this = this;
      if (_this._closed)
        throw H.wrapException(P.StateError$("Cannot add stream after closing."));
      if (_this._addStreamSubscription != null)
        throw H.wrapException(P.StateError$("Cannot add stream while adding stream."));
      if (_this._disconnected)
        return P.Future_Future$value(null, type$.void);
      t1 = _this._addStreamCompleter = new P._SyncCompleter(new P._Future($.Zone__current, type$._Future_dynamic), type$._SyncCompleter_dynamic);
      t2 = _this._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(0, new K._GuaranteeSink_addStream_closure(_this), type$.void);
    },
    close$0: function(_) {
      var _this = this;
      if (_this._addStreamSubscription != null)
        throw H.wrapException(P.StateError$("Cannot close sink while adding stream."));
      if (_this._closed)
        return _this._doneCompleter.future;
      _this._closed = true;
      if (!_this._disconnected) {
        _this._guarantee_channel$_channel._onSinkDisconnected$0();
        _this._doneCompleter.complete$1(0, _this._inner._async$_target.close$0(0));
      }
      return _this._doneCompleter.future;
    },
    _onStreamDisconnected$0: function() {
      var t1, t2, _this = this;
      _this._disconnected = true;
      t1 = _this._doneCompleter;
      if (t1.future._state === 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;
    }
  };
  K._GuaranteeSink__addError_closure.prototype = {
    call$1: function(_) {
    },
    $signature: 5
  };
  K._GuaranteeSink_addStream_closure.prototype = {
    call$1: function(_) {
      var t1 = this.$this;
      t1._addStreamSubscription = t1._addStreamCompleter = null;
    },
    $signature: 5
  };
  B.StreamChannelController.prototype = {
    get$_local: function() {
      var t1 = this.__StreamChannelController__local;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_local")) : t1;
    },
    get$_foreign: function() {
      var t1 = this.__StreamChannelController__foreign;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_foreign")) : t1;
    }
  };
  R._StreamChannel.prototype = {
    get$stream: function(receiver) {
      return this.stream;
    },
    get$sink: function() {
      return this.sink;
    }
  };
  R.StreamChannelMixin.prototype = {
    cast$1$0: function(_, $S) {
      var _this = this,
        t1 = _this.get$stream(_this).cast$1$0(0, $S),
        t2 = P.StreamController_StreamController(null, null, null, true, $S),
        t3 = H._instanceType(t2)._eval$1("_ControllerStream<1>");
      new H.CastStream(new P._ControllerStream(t2, t3), t3._eval$1("@<Stream.T>")._bind$1(H._instanceType(_this)._eval$1("StreamChannelMixin.T"))._eval$1("CastStream<1,2>")).pipe$1(_this.get$sink());
      return new R._StreamChannel(t1, t2, $S._eval$1("_StreamChannel<0>"));
    }
  };
  E.StringScannerException.prototype = {
    get$source: function(_) {
      return H._asStringS(this.source);
    }
  };
  Z.LineScanner.prototype = {
    set$position: function(_, 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(C.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$x(C.JSArray_methods.get$last(newlines));
      } else {
        newlines = _this._newlinesIn$1(C.JSString_methods.substring$2(t1, newPosition, oldPosition));
        if (_this.peekChar$1(-1) === 13 && _this.peekChar$0() === 10)
          C.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 - C.JSString_methods.lastIndexOf$2(t1, $.$get$_newlineRegExp(), newPosition) - 1;
      }
    },
    _adjustLineAndColumn$1: function(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: function(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$x(C.JSArray_methods.get$last(newlines));
      return true;
    },
    _newlinesIn$1: function(text) {
      var t1 = $.$get$_newlineRegExp().allMatches$1(0, text),
        newlines = P.List_List$of(t1, true, H._instanceType(t1)._eval$1("Iterable.E"));
      if (this.peekChar$1(-1) === 13 && this.peekChar$0() === 10)
        C.JSArray_methods.removeLast$0(newlines);
      return newlines;
    }
  };
  X.StringScanner.prototype = {
    set$position: function(_, position) {
      if (position < 0 || position > this.string.length)
        throw H.wrapException(P.ArgumentError$("Invalid position " + position));
      this._string_scanner$_position = position;
      this._lastMatch = null;
    },
    get$lastMatch: function() {
      var _this = this;
      if (_this._string_scanner$_position !== _this._lastMatchPosition)
        _this._lastMatch = null;
      return _this._lastMatch;
    },
    readChar$0: function() {
      var _this = this,
        t1 = _this.string;
      if (_this._string_scanner$_position === t1.length) {
        _this._fail$1("more input");
        H.ReachabilityError$(string$.x60null_t);
      }
      return C.JSString_methods.codeUnitAt$1(t1, _this._string_scanner$_position++);
    },
    peekChar$1: function(offset) {
      var index;
      if (offset == null)
        offset = 0;
      index = this._string_scanner$_position + offset;
      if (index < 0 || index >= this.string.length)
        return null;
      return C.JSString_methods.codeUnitAt$1(this.string, index);
    },
    peekChar$0: function() {
      return this.peekChar$1(null);
    },
    scan$1: function(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: function(pattern, $name) {
      var t1;
      if (this.scan$1(pattern))
        return;
      if ($name == null)
        if (type$.RegExp._is(pattern))
          $name = "/" + H.S(pattern.pattern) + "/";
        else {
          t1 = J.toString$0$(pattern);
          t1 = H.stringReplaceAllUnchecked(t1, "\\", "\\\\");
          $name = '"' + H.stringReplaceAllUnchecked(t1, '"', '\\"') + '"';
        }
      this._fail$1($name);
      H.ReachabilityError$(string$.x60null_t);
    },
    expect$1: function(pattern) {
      return this.expect$2$name(pattern, null);
    },
    expectDone$0: function() {
      if (this._string_scanner$_position === this.string.length)
        return;
      this._fail$1("no more input");
      H.ReachabilityError$(string$.x60null_t);
    },
    matches$1: function(_, 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: function(_, start, end) {
      return C.JSString_methods.substring$2(this.string, start, end);
    },
    error$3$length$position: function(_, message, $length, position) {
      var t2, t3, t4, t5, sourceFile, end,
        t1 = this.string;
      if (position < 0)
        H.throwExpression(P.RangeError$("position must be greater than or equal to 0."));
      else if (position > t1.length)
        H.throwExpression(P.RangeError$("position must be less than or equal to the string length."));
      t2 = position + $length > t1.length;
      if (t2)
        H.throwExpression(P.RangeError$("position plus length must not go beyond the end of the string."));
      t2 = this.sourceUrl;
      t3 = new H.CodeUnits(t1);
      t4 = H._setArrayType([0], type$.JSArray_int);
      t5 = new Uint32Array(H._ensureNativeList(t3.toList$0(t3)));
      sourceFile = new Y.SourceFile(t2, t4, t5);
      sourceFile.SourceFile$decoded$2$url(t3, t2);
      end = position + $length;
      if (end > t5.length)
        H.throwExpression(P.RangeError$("End " + end + string$.x20must_ + sourceFile.get$length(sourceFile) + "."));
      else if (position < 0)
        H.throwExpression(P.RangeError$("Start may not be negative, was " + position + "."));
      throw H.wrapException(new E.StringScannerException(t1, message, new Y._FileSpan(sourceFile, position, end)));
    },
    _fail$1: function($name) {
      this.error$3$length$position(0, "expected " + $name + ".", 0, this._string_scanner$_position);
      H.ReachabilityError$(string$.x60null_t);
    }
  };
  E.TypedDataBuffer.prototype = {
    get$length: function(_) {
      return this._typed_buffer$_length;
    },
    $index: function(_, index) {
      if (index >= this._typed_buffer$_length)
        throw H.wrapException(P.IndexError$(index, this, null, null, null));
      return this._typed_buffer$_buffer[index];
    },
    $indexSet: function(_, index, value) {
      if (index >= this._typed_buffer$_length)
        throw H.wrapException(P.IndexError$(index, this, null, null, null));
      this._typed_buffer$_buffer[index] = value;
    },
    set$length: function(_, newLength) {
      var t2, i, newBuffer, _this = this,
        t1 = _this._typed_buffer$_length;
      if (newLength < t1)
        for (t2 = _this._typed_buffer$_buffer, i = newLength; i < t1; ++i)
          t2[i] = 0;
      else {
        t1 = _this._typed_buffer$_buffer.length;
        if (newLength > t1) {
          if (t1 === 0)
            newBuffer = new Uint8Array(newLength);
          else
            newBuffer = _this._createBiggerBuffer$1(newLength);
          C.NativeUint8List_methods.setRange$3(newBuffer, 0, _this._typed_buffer$_length, _this._typed_buffer$_buffer);
          _this._typed_buffer$_buffer = newBuffer;
        }
      }
      _this._typed_buffer$_length = newLength;
    },
    _typed_buffer$_add$1: function(_, value) {
      var _this = this,
        t1 = _this._typed_buffer$_length;
      if (t1 === _this._typed_buffer$_buffer.length)
        _this._typed_buffer$_grow$1(t1);
      _this._typed_buffer$_buffer[_this._typed_buffer$_length++] = value;
    },
    add$1: function(_, value) {
      var _this = this,
        t1 = _this._typed_buffer$_length;
      if (t1 === _this._typed_buffer$_buffer.length)
        _this._typed_buffer$_grow$1(t1);
      _this._typed_buffer$_buffer[_this._typed_buffer$_length++] = value;
    },
    addAll$3: function(_, values, start, end) {
      P.RangeError_checkNotNegative(start, "start");
      if (end != null && start > end)
        throw H.wrapException(P.RangeError$range(end, start, null, "end", null));
      this._addAll$3(values, start, end);
    },
    addAll$1: function($receiver, values) {
      return this.addAll$3($receiver, values, 0, null);
    },
    _addAll$3: function(values, start, end) {
      var t1, i, value;
      if (type$.List_dynamic._is(values))
        end = end == null ? J.get$length$asx(values) : end;
      if (end != null) {
        this._insertKnownLength$4(this._typed_buffer$_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._typed_buffer$_add$1(0, value);
        ++i;
      }
      if (i < start)
        throw H.wrapException(P.StateError$("Too few elements"));
    },
    _insertKnownLength$4: function(index, values, start, end) {
      var t1, valuesLength, newLength, t2, _this = this;
      if (type$.List_dynamic._is(values)) {
        t1 = J.getInterceptor$asx(values);
        if (start > t1.get$length(values) || end > t1.get$length(values))
          throw H.wrapException(P.StateError$("Too few elements"));
      }
      valuesLength = end - start;
      newLength = _this._typed_buffer$_length + valuesLength;
      _this._ensureCapacity$1(newLength);
      t1 = _this._typed_buffer$_buffer;
      t2 = index + valuesLength;
      C.NativeUint8List_methods.setRange$4(t1, t2, _this._typed_buffer$_length + valuesLength, t1, index);
      C.NativeUint8List_methods.setRange$4(_this._typed_buffer$_buffer, index, t2, values, start);
      _this._typed_buffer$_length = newLength;
    },
    _ensureCapacity$1: function(requiredCapacity) {
      var newBuffer, _this = this;
      if (requiredCapacity <= _this._typed_buffer$_buffer.length)
        return;
      newBuffer = _this._createBiggerBuffer$1(requiredCapacity);
      C.NativeUint8List_methods.setRange$3(newBuffer, 0, _this._typed_buffer$_length, _this._typed_buffer$_buffer);
      _this._typed_buffer$_buffer = newBuffer;
    },
    _createBiggerBuffer$1: function(requiredCapacity) {
      var newLength = this._typed_buffer$_buffer.length * 2;
      if (requiredCapacity != null && newLength < requiredCapacity)
        newLength = requiredCapacity;
      else if (newLength < 8)
        newLength = 8;
      if (!H._isInt(newLength))
        H.throwExpression(P.ArgumentError$("Invalid length " + H.S(newLength)));
      return new Uint8Array(newLength);
    },
    _typed_buffer$_grow$1: function($length) {
      var t1 = this._createBiggerBuffer$1(null);
      C.NativeUint8List_methods.setRange$3(t1, 0, $length, this._typed_buffer$_buffer);
      this._typed_buffer$_buffer = t1;
    },
    setRange$4: function(_, start, end, source, skipCount) {
      var t1 = this._typed_buffer$_length;
      if (end > t1)
        throw H.wrapException(P.RangeError$range(end, 0, t1, null, null));
      t1 = this._typed_buffer$_buffer;
      if (H._instanceType(this)._eval$1("TypedDataBuffer<TypedDataBuffer.E>")._is(source))
        C.NativeUint8List_methods.setRange$4(t1, start, end, source._typed_buffer$_buffer, skipCount);
      else
        C.NativeUint8List_methods.setRange$4(t1, start, end, source, skipCount);
    },
    setRange$3: function($receiver, start, end, source) {
      return this.setRange$4($receiver, start, end, source, 0);
    }
  };
  E._IntBuffer0.prototype = {};
  E.Uint8Buffer.prototype = {};
  F.MethodChannelUrlLauncher.prototype = {
    canLaunch$1: function(url) {
      return C.MethodChannel_61L._invokeMethod$1$3$arguments$missingOk("canLaunch", P.LinkedHashMap_LinkedHashMap$_literal(["url", url], type$.legacy_String, type$.legacy_Object), false, type$.legacy_bool);
    },
    launch$8$enableDomStorage$enableJavaScript$headers$universalLinksOnly$useSafariVC$useWebView$webOnlyWindowName: function(url, enableDomStorage, enableJavaScript, headers, universalLinksOnly, useSafariVC, useWebView, webOnlyWindowName) {
      return C.MethodChannel_61L._invokeMethod$1$3$arguments$missingOk("launch", P.LinkedHashMap_LinkedHashMap$_literal(["url", url, "useSafariVC", useSafariVC, "useWebView", false, "enableJavaScript", false, "enableDomStorage", false, "universalLinksOnly", false, "headers", headers], type$.legacy_String, type$.legacy_Object), false, type$.legacy_bool);
    }
  };
  D.UrlLauncherPlatform.prototype = {};
  Y.UrlLauncherPlugin.prototype = {
    canLaunch$1: function(url) {
      var t1 = $.$get$UrlLauncherPlugin__supportedSchemes(),
        t2 = P.Uri_tryParse(url);
      return P.Future_Future$value(t1.contains$1(0, t2 == null ? null : t2.get$scheme()), type$.legacy_bool);
    },
    launch$8$enableDomStorage$enableJavaScript$headers$universalLinksOnly$useSafariVC$useWebView$webOnlyWindowName: function(url, enableDomStorage, enableJavaScript, headers, universalLinksOnly, useSafariVC, useWebView, webOnlyWindowName) {
      var t1, target;
      if (this._isSafari) {
        t1 = P.Uri_tryParse(url);
        t1 = t1 == null ? null : t1.get$scheme();
        t1 = J.containsKey$1$x(C.Set_4e8j2._collection$_map, t1);
      } else
        t1 = false;
      target = t1 ? "_top" : "";
      return P.Future_Future$value(C.Window_methods.open$2(this._url_launcher_web$_window, url, target) != null, type$.legacy_bool);
    }
  };
  A.hashObjects_closure.prototype = {
    call$2: function(h, i) {
      var hash = h + J.get$hashCode$(i) & 536870911;
      hash = hash + ((hash & 524287) << 10) & 536870911;
      return hash ^ hash >>> 6;
    },
    $signature: 1052
  };
  E.Matrix3.prototype = {
    index$2: function(_, row, col) {
      return col * 3 + row;
    },
    setFrom$1: function(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: function(_) {
      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: function(_, i) {
      return this._m3storage[i];
    },
    $indexSet: function(_, i, v) {
      this._m3storage[i] = v;
    },
    $eq: function(_, other) {
      var t1, t2, t3;
      if (other == null)
        return false;
      if (other instanceof E.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: function(_) {
      return A.hashObjects(this._m3storage);
    },
    getRow$1: function(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 E.Vector3(t1);
    },
    $mul: function(_, arg) {
      var t1, t2;
      if (typeof arg == "number") {
        t1 = new Float64Array(9);
        t2 = new E.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;
      }
      throw H.wrapException(P.ArgumentError$(arg));
    },
    $add: function(_, arg) {
      var t1 = new E.Matrix3(new Float64Array(9));
      t1.setFrom$1(this);
      t1.add$1(0, arg);
      return t1;
    },
    $sub: function(_, arg) {
      var oStorage,
        t1 = new Float64Array(9),
        t2 = new E.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;
    },
    add$1: function(_, o) {
      var oStorage = o._m3storage,
        t1 = this._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];
    }
  };
  E.Matrix4.prototype = {
    index$2: function(_, row, col) {
      return col * 4 + row;
    },
    setFrom$1: function(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: function(_) {
      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: function(_, i) {
      return this._m4storage[i];
    },
    $indexSet: function(_, i, v) {
      this._m4storage[i] = v;
    },
    $eq: function(_, other) {
      var t1, t2, t3;
      if (other == null)
        return false;
      if (other instanceof E.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: function(_) {
      return A.hashObjects(this._m4storage);
    },
    setRow$2: function(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: function(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 E.Vector4(t1);
    },
    $mul: function(_, arg) {
      var t1;
      if (typeof arg == "number") {
        t1 = new E.Matrix4(new Float64Array(16));
        t1.setFrom$1(this);
        t1.scale$3(0, arg, null, null);
        return t1;
      }
      if (arg instanceof E.Matrix4) {
        t1 = new E.Matrix4(new Float64Array(16));
        t1.setFrom$1(this);
        t1.multiply$1(0, arg);
        return t1;
      }
      throw H.wrapException(P.ArgumentError$(arg));
    },
    $add: function(_, arg) {
      var t1 = new E.Matrix4(new Float64Array(16));
      t1.setFrom$1(this);
      t1.add$1(0, arg);
      return t1;
    },
    $sub: function(_, arg) {
      var oStorage,
        t1 = new Float64Array(16),
        t2 = new E.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: function(_, x, y) {
      var tx, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17;
      if (typeof x != "number")
        throw H.wrapException(P.UnimplementedError$(null));
      tx = x;
      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 * tx + t3 * y + t4 * 0 + t5;
      t1[13] = t6 * tx + t7 * y + t8 * 0 + t9;
      t1[14] = t10 * tx + t11 * y + t12 * 0 + t13;
      t1[15] = t14 * tx + t15 * y + t16 * 0 + t17;
    },
    rotateZ$1: function(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: function(_, x, y, z) {
      var t1, sx, sy, sz;
      if (x instanceof E.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 H.wrapException(P.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: function($receiver, x) {
      return this.scale$3($receiver, x, null, null);
    },
    setZero$0: function() {
      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: function() {
      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: function(x, y, z) {
      var t1 = this._m4storage;
      t1[14] = z;
      t1[13] = y;
      t1[12] = x;
    },
    copyInverse$1: function(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;
    },
    add$1: function(_, o) {
      var oStorage = o._m4storage,
        t1 = this._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];
    },
    multiply$1: function(_, 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;
    },
    decompose$3: function(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 E.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 E.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 E.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: function(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: function(_, 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: function(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;
    }
  };
  E.Quaternion.prototype = {
    setFrom$1: function(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: function(_) {
      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: function() {
      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: function(_) {
      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);
    },
    add$1: function(_, arg) {
      var argStorage = arg._qStorage,
        t1 = this._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];
    },
    scaled$1: function(scale) {
      var t1 = new Float64Array(4),
        t2 = new E.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: function(_, 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 = C.JSNumber_methods.$mul(_w, ox);
      t2 = C.JSNumber_methods.$mul(_x, ow);
      t3 = C.JSNumber_methods.$mul(_y, oz);
      t4 = C.JSNumber_methods.$mul(_z, oy);
      t5 = C.JSNumber_methods.$mul(_w, oy);
      t6 = C.JSNumber_methods.$mul(_y, ow);
      t7 = C.JSNumber_methods.$mul(_z, ox);
      t8 = C.JSNumber_methods.$mul(_x, oz);
      t9 = C.JSNumber_methods.$mul(_w, oz);
      t10 = C.JSNumber_methods.$mul(_z, ow);
      t11 = C.JSNumber_methods.$mul(_x, oy);
      t12 = C.JSNumber_methods.$mul(_y, ox);
      t13 = C.JSNumber_methods.$mul(_w, ow);
      t14 = C.JSNumber_methods.$mul(_x, ox);
      t15 = C.JSNumber_methods.$mul(_y, oy);
      t16 = C.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 E.Quaternion(t17);
    },
    $add: function(_, other) {
      var t1 = new E.Quaternion(new Float64Array(4));
      t1.setFrom$1(this);
      t1.add$1(0, other);
      return t1;
    },
    $sub: function(_, other) {
      var argStorage,
        t1 = new Float64Array(4),
        t2 = new E.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: function(_, i) {
      return this._qStorage[i];
    },
    $indexSet: function(_, i, arg) {
      this._qStorage[i] = arg;
    },
    toString$0: function(_) {
      var t1 = this._qStorage;
      return H.S(t1[0]) + ", " + H.S(t1[1]) + ", " + H.S(t1[2]) + " @ " + H.S(t1[3]);
    }
  };
  E.Vector3.prototype = {
    setValues$3: function(x, y, z) {
      var t1 = this._v3storage;
      t1[0] = x;
      t1[1] = y;
      t1[2] = z;
    },
    setFrom$1: function(other) {
      var otherStorage = other._v3storage,
        t1 = this._v3storage;
      t1[0] = otherStorage[0];
      t1[1] = otherStorage[1];
      t1[2] = otherStorage[2];
    },
    toString$0: function(_) {
      var t1 = this._v3storage;
      return "[" + H.S(t1[0]) + "," + H.S(t1[1]) + "," + H.S(t1[2]) + "]";
    },
    $eq: function(_, other) {
      var t1, t2, t3;
      if (other == null)
        return false;
      if (other instanceof E.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: function(_) {
      return A.hashObjects(this._v3storage);
    },
    $sub: function(_, other) {
      var argStorage,
        t1 = new Float64Array(3),
        t2 = new E.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: function(_, other) {
      var t1 = new E.Vector3(new Float64Array(3));
      t1.setFrom$1(this);
      t1.add$1(0, other);
      return t1;
    },
    $div: function(_, scale) {
      return this.scaled$1(1 / scale);
    },
    $mul: function(_, scale) {
      return this.scaled$1(scale);
    },
    $index: function(_, i) {
      return this._v3storage[i];
    },
    $indexSet: function(_, i, v) {
      this._v3storage[i] = v;
    },
    get$length: function(_) {
      var t1 = this._v3storage,
        t2 = t1[0],
        t3 = t1[1];
      t1 = t1[2];
      return Math.sqrt(t2 * t2 + t3 * t3 + t1 * t1);
    },
    get$length2: function() {
      var t1 = this._v3storage,
        t2 = t1[0],
        t3 = t1[1];
      t1 = t1[2];
      return t2 * t2 + t3 * t3 + t1 * t1;
    },
    dot$1: function(other) {
      var otherStorage = other._v3storage,
        t1 = this._v3storage;
      return t1[0] * otherStorage[0] + t1[1] * otherStorage[1] + t1[2] * otherStorage[2];
    },
    add$1: function(_, arg) {
      var argStorage = arg._v3storage,
        t1 = this._v3storage;
      t1[0] = t1[0] + argStorage[0];
      t1[1] = t1[1] + argStorage[1];
      t1[2] = t1[2] + argStorage[2];
    },
    scaled$1: function(arg) {
      var t1 = new Float64Array(3),
        t2 = new E.Vector3(t1);
      t2.setFrom$1(this);
      t1[2] = t1[2] * arg;
      t1[1] = t1[1] * arg;
      t1[0] = t1[0] * arg;
      return t2;
    }
  };
  E.Vector4.prototype = {
    setValues$4: function(x_, y_, z_, w_) {
      var t1 = this._v4storage;
      t1[3] = w_;
      t1[2] = z_;
      t1[1] = y_;
      t1[0] = x_;
    },
    setFrom$1: function(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: function(_) {
      var t1 = this._v4storage;
      return H.S(t1[0]) + "," + H.S(t1[1]) + "," + H.S(t1[2]) + "," + H.S(t1[3]);
    },
    $eq: function(_, other) {
      var t1, t2, t3;
      if (other == null)
        return false;
      if (other instanceof E.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: function(_) {
      return A.hashObjects(this._v4storage);
    },
    $sub: function(_, other) {
      var argStorage,
        t1 = new Float64Array(4),
        t2 = new E.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: function(_, other) {
      var t1 = new E.Vector4(new Float64Array(4));
      t1.setFrom$1(this);
      t1.add$1(0, other);
      return t1;
    },
    $div: function(_, scale) {
      var t1 = new E.Vector4(new Float64Array(4));
      t1.setFrom$1(this);
      t1.scale$1(0, 1 / scale);
      return t1;
    },
    $mul: function(_, scale) {
      var t1 = new E.Vector4(new Float64Array(4));
      t1.setFrom$1(this);
      t1.scale$1(0, scale);
      return t1;
    },
    $index: function(_, i) {
      return this._v4storage[i];
    },
    $indexSet: function(_, i, v) {
      this._v4storage[i] = v;
    },
    get$length: function(_) {
      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);
    },
    add$1: function(_, arg) {
      var argStorage = arg._v4storage,
        t1 = this._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];
    },
    scale$1: function(_, 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;
    }
  };
  Q.SocketStatistic.prototype = {};
  Q.SocketProfile.prototype = {
    get$type: function(_) {
      return "SocketProfile";
    }
  };
  Q._State.prototype = {
    get$type: function(_) {
      return this._type;
    }
  };
  Q.HttpTimelineLoggingState.prototype = {
    get$type: function(_) {
      return "HttpTimelineLoggingState";
    }
  };
  Q.HttpProfile.prototype = {
    get$type: function(_) {
      return "HttpProfile";
    },
    toString$0: function(_) {
      return "[HttpProfile]";
    }
  };
  Q.HttpProfile$_fromJson_closure.prototype = {
    call$1: function(e) {
      return Q.HttpProfileRequest$_fromJson(e);
    },
    $signature: 1053
  };
  Q.HttpProfileRequestRef.prototype = {
    get$isResponseComplete: function() {
      var t1 = this.response;
      t1 = t1 == null ? null : t1.endTime != null;
      return t1 === true;
    },
    get$uri: function() {
      return this.uri;
    }
  };
  Q.HttpProfileRequest.prototype = {};
  Q.HttpProfileRequestData.prototype = {
    _returnIfNoError$1$1: function(field) {
      var t1 = this.error;
      if (t1 != null)
        throw H.wrapException(new Q.HttpProfileRequestError(t1, P.StackTrace_current()));
      field.toString;
      return field;
    },
    _returnIfNoError$1: function(field) {
      return this._returnIfNoError$1$1(field, type$.dynamic);
    }
  };
  Q.HttpProfileRequestData$_fromJson_closure.prototype = {
    call$1: function(e) {
      var t1 = J.getInterceptor$asx(e),
        t2 = t1.$index(e, "timestamp"),
        t3 = t1.$index(e, "event");
      t1.$index(e, "arguments");
      return new Q.HttpProfileRequestEvent(t3, t2);
    },
    $signature: 1054
  };
  Q.HttpProfileRequestError.prototype = {
    toString$0: function(_) {
      return "HttpProfileRequestError: " + H.S(this.error) + ".";
    },
    $isError0: 1,
    get$stackTrace: function() {
      return this.stackTrace;
    }
  };
  Q.HttpProfileRequestEvent.prototype = {};
  Q.HttpProfileResponseData.prototype = {};
  Q.SocketProfilingState.prototype = {};
  Q.SpawnedProcessRef.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.SpawnedProcess.prototype = {
    get$type: function(_) {
      return "SpawnedProcess";
    },
    $isSpawnedProcessRef: 1,
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.SpawnedProcessList.prototype = {
    get$type: function(_) {
      return "SpawnedProcessList";
    }
  };
  Q.OpenFileRef.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.OpenFile.prototype = {
    get$type: function(_) {
      return "OpenFile";
    },
    $isOpenFileRef: 1,
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.OpenFileList.prototype = {
    get$type: function(_) {
      return "OpenFileList";
    }
  };
  M._ReadStream.prototype = {
    readByte$0: function() {
      var t1, _this = this;
      for (t1 = _this._chunks; _this._byteIndex >= J.get$lengthInBytes$x(t1[_this._chunkIndex]);) {
        ++_this._chunkIndex;
        _this._byteIndex = 0;
      }
      return J.getUint8$1$x(t1[_this._chunkIndex], _this._byteIndex++);
    },
    readUnsigned$0: function() {
      var result, shift, part;
      for (result = 0, shift = 0; true;) {
        part = this.readByte$0();
        result = (result | C.JSInt_methods._shlPositive$1(part & 127, shift)) >>> 0;
        if ((part & 128) === 0)
          break;
        shift += 7;
      }
      return result;
    },
    readFloat64$0: function() {
      var i,
        bytes = new Uint8Array(8);
      for (i = 0; i < 8; ++i)
        bytes[i] = this.readByte$0();
      return H.NativeFloat64List_NativeFloat64List$view(bytes.buffer, 0, null)[0];
    },
    readUtf8$0: function() {
      var i,
        len = this.readUnsigned$0(),
        bytes = new Uint8Array(len);
      for (i = 0; i < len; ++i)
        bytes[i] = this.readByte$0();
      return new P.Utf8Codec(true).decode$1(0, bytes);
    },
    readLatin1$0: function() {
      var i,
        len = this.readUnsigned$0(),
        codeUnits = new Uint8Array(len);
      for (i = 0; i < len; ++i)
        codeUnits[i] = this.readByte$0();
      return P.String_String$fromCharCodes(codeUnits, 0, null);
    },
    readUtf16$0: function() {
      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 P.String_String$fromCharCodes(codeUnits, 0, null);
    }
  };
  M.HeapSnapshotField.prototype = {
    get$index: function(_) {
      return this._snapshot_graph$_index;
    },
    get$name: function(_) {
      return this._snapshot_graph$_name;
    }
  };
  M.HeapSnapshotClass.prototype = {
    get$name: function(_) {
      return this._snapshot_graph$_name;
    },
    get$libraryName: function() {
      return this._libraryName;
    },
    get$_libraryUri: function() {
      var t1 = this.__HeapSnapshotClass__libraryUri;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_libraryUri")) : t1;
    },
    _populateFields$1: function(reader) {
      var t1, i, t2,
        fieldCount = reader.readUnsigned$0();
      for (t1 = this._snapshot_graph$_fields, i = 0; i < fieldCount; ++i) {
        t2 = new M.HeapSnapshotField();
        reader.readUnsigned$0();
        t2._snapshot_graph$_index = reader.readUnsigned$0();
        t2._snapshot_graph$_name = reader.readUtf8$0();
        reader.readUtf8$0();
        t1.push(t2);
      }
    }
  };
  M.HeapSnapshotObject.prototype = {
    get$_snapshot_graph$_data: function() {
      var t1 = this.__HeapSnapshotObject__data;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_data")) : t1;
    },
    _populateReferences$1: function(reader) {
      var t1, t2, i, childOid, t3,
        referencesCount = reader.readUnsigned$0();
      for (t1 = this._graph, t2 = this._snapshot_graph$_references, i = 0; i < referencesCount; ++i) {
        childOid = reader.readUnsigned$0();
        t2.push(childOid);
        t3 = t1.__HeapSnapshotGraph__successors;
        if (t3 === $)
          t3 = H.throwExpression(H.LateError$fieldNI("_successors"));
        J.$indexSet$ax(t3, t1._eid, childOid);
        ++t1._eid;
      }
    }
  };
  M.HeapSnapshotExternalProperty.prototype = {
    get$name: function(receiver) {
      return this.name;
    }
  };
  M.HeapSnapshotGraph.prototype = {
    get$name: function(_) {
      return this._snapshot_graph$_name;
    },
    get$_firstSuccessors: function() {
      var t1 = this.__HeapSnapshotGraph__firstSuccessors;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_firstSuccessors")) : t1;
    },
    HeapSnapshotGraph$fromChunks$1: function(chunks) {
      var i, _this = this,
        reader = new M._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: function(reader) {
      var i, klass, _null = null,
        classCount = reader.readUnsigned$0(),
        t1 = this._classes,
        t2 = type$.JSArray_HeapSnapshotField,
        t3 = H._setArrayType([], t2);
      t1.push(new M.HeapSnapshotClass("Root", P._Uri__Uri(_null, _null, _null, _null, _null, _null, _null), t3));
      for (i = 1; i <= classCount; ++i) {
        klass = new M.HeapSnapshotClass("", $, H._setArrayType([], t2));
        reader.readUnsigned$0();
        klass._snapshot_graph$_name = reader.readUtf8$0();
        klass._libraryName = reader.readUtf8$0();
        t3 = P.Uri_parse(reader.readUtf8$0(), 0, _null);
        if ($ === $)
          klass.__HeapSnapshotClass__libraryUri = t3;
        else
          H.throwExpression(H.LateError$fieldAI("_libraryUri"));
        reader.readUtf8$0();
        klass._populateFields$1(reader);
        t1.push(klass);
      }
    },
    _populateObjects$1: function(reader) {
      var objectCount, t1, t2, t3, i, t4, _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 = H._setArrayType([], t2);
      J.$indexSet$ax(_this.get$_firstSuccessors(), 0, _this._eid);
      t1.push(new M.HeapSnapshotObject(_this, 0, new M.HeapSnapshotObjectNoData(), t3));
      for (i = 1; i <= objectCount; ++i) {
        t3 = new M.HeapSnapshotObject(_this, i, $, H._setArrayType([], t2));
        t3._classId = reader.readUnsigned$0();
        t3._shallowSize = reader.readUnsigned$0();
        t3.__HeapSnapshotObject__data = M._getNonReferenceData(reader);
        t4 = _this.__HeapSnapshotGraph__firstSuccessors;
        if (t4 === $)
          t4 = H.throwExpression(H.LateError$fieldNI("_firstSuccessors"));
        J.$indexSet$ax(t4, i, _this._eid);
        t3._populateReferences$1(reader);
        t1.push(t3);
      }
      J.$indexSet$ax(_this.get$_firstSuccessors(), objectCount + 1, _this._eid);
    },
    _populateExternalProperties$1: function(reader) {
      var t1, i,
        propertiesCount = reader.readUnsigned$0();
      for (t1 = this._externalProperties, i = 0; i < propertiesCount; ++i)
        t1.push(new M.HeapSnapshotExternalProperty(reader.readUnsigned$0(), reader.readUnsigned$0(), reader.readUtf8$0()));
    },
    _populateIdentityHashCodes$1: function(reader) {
      var objectCount, i,
        t1 = reader._chunks;
      if (reader._byteIndex >= J.get$lengthInBytes$x(t1[reader._chunkIndex]) && reader._chunkIndex + 1 >= t1.length)
        return;
      objectCount = this._objects.length;
      for (i = 1; i < objectCount; ++i)
        reader.readUnsigned$0();
    },
    _newUint32Array$1: function(size) {
      var t1, exception;
      try {
        t1 = new Uint32Array(size);
        return t1;
      } catch (exception) {
        if (H.unwrapException(exception) instanceof P.ArgumentError)
          throw H.wrapException(P.Exception_Exception("OutOfMemoryError: Not enough memory available to analyze the snapshot."));
        else
          throw exception;
      }
    }
  };
  M.HeapSnapshotGraph_getSnapshot_closure.prototype = {
    call$1: function(e) {
      return this.$call$body$HeapSnapshotGraph_getSnapshot_closure(e);
    },
    $call$body$HeapSnapshotGraph_getSnapshot_closure: function(e) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2;
      var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              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 P._asyncAwait($async$self.service._call$1$2(0, "streamCancel", P.LinkedHashMap_LinkedHashMap$_literal(["streamId", "HeapSnapshot"], t2, t2), type$.Success), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = 5;
              return P._asyncAwait(J.cancel$0$z($async$self.streamSubscription._readLocal$0()), $async$call$1);
            case 5:
              // returning from await.
              t2 = new M.HeapSnapshotGraph(H._setArrayType([], type$.JSArray_HeapSnapshotClass), H._setArrayType([], type$.JSArray_HeapSnapshotObject), H._setArrayType([], type$.JSArray_HeapSnapshotExternalProperty));
              t2.HeapSnapshotGraph$fromChunks$1(t1);
              $async$self.completer.complete$1(0, t2);
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 1055
  };
  M.HeapSnapshotObjectNoData.prototype = {};
  M.HeapSnapshotObjectNullData.prototype = {};
  M.HeapSnapshotObjectLengthData.prototype = {
    get$length: function(receiver) {
      return this.length;
    }
  };
  Q.createServiceObject_closure.prototype = {
    call$1: function(e) {
      return Q.createServiceObject(e, this.expectedTypes);
    },
    $signature: 338
  };
  Q._createSpecificObject_closure.prototype = {
    call$1: function(e) {
      return this.creator.call$1(e);
    },
    $signature: 43
  };
  Q._OutstandingRequest.prototype = {};
  Q.VmService.prototype = {
    get$_writeMessage: function() {
      var t1 = this.__VmService__writeMessage;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_writeMessage")) : t1;
    },
    get$_log: function() {
      var t1 = this.__VmService__log;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_log")) : t1;
    },
    _getEventController$1: function(eventName) {
      var t1 = this._eventControllers,
        controller = t1.$index(0, eventName);
      if (controller == null) {
        controller = P.StreamController_StreamController$broadcast(false, type$.Event_2);
        t1.$indexSet(0, eventName, controller);
      }
      return controller;
    },
    get$_disposeHandler: function() {
      var t1 = this.__VmService__disposeHandler;
      return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_disposeHandler")) : t1;
    },
    VmService$5$disposeHandler$log$streamClosed: function(inStream, writeMessage, disposeHandler, log, streamClosed) {
      var _this = this,
        t1 = inStream.listen$2$onDone(_this.get$_processMessage(), new Q.VmService_closure(_this));
      if (_this.__VmService__streamSub === $)
        _this.__VmService__streamSub = t1;
      else
        H.throwExpression(H.LateError$fieldAI("_streamSub"));
      if (_this.__VmService__writeMessage === $)
        _this.__VmService__writeMessage = writeMessage;
      else
        H.throwExpression(H.LateError$fieldAI("_writeMessage"));
      if (_this.__VmService__log === $)
        _this.__VmService__log = new Q._NullLog();
      else
        H.throwExpression(H.LateError$fieldAI("_log"));
      if (_this.__VmService__disposeHandler === $)
        _this.__VmService__disposeHandler = disposeHandler;
      else
        H.throwExpression(H.LateError$fieldAI("_disposeHandler"));
    },
    get$onDebugEvent: function() {
      var t1 = this._getEventController$1("Debug");
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
    },
    get$onExtensionEvent: function() {
      var t1 = this._getEventController$1("Extension");
      return new P._BroadcastStream(t1, H._instanceType(t1)._eval$1("_BroadcastStream<1>"));
    },
    addBreakpoint$4$column: function(isolateId, scriptId, line, column) {
      var t1 = type$.dynamic;
      t1 = P.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);
    },
    getObject$2: function(_, isolateId, objectId) {
      var t1 = type$.dynamic;
      t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t1.$indexSet(0, "isolateId", isolateId);
      t1.$indexSet(0, "objectId", objectId);
      return this._call$1$2(0, "getObject", t1, type$.Obj);
    },
    getStack$2$limit: function(isolateId, limit) {
      var t1 = type$.dynamic;
      t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t1.$indexSet(0, "isolateId", isolateId);
      if (limit != null)
        t1.$indexSet(0, "limit", limit);
      return this._call$1$2(0, "getStack", t1, type$.Stack);
    },
    getStack$1: function(isolateId) {
      return this.getStack$2$limit(isolateId, null);
    },
    callMethod$3$args$isolateId: function(method, args, isolateId) {
      return this.callServiceExtension$3$args$isolateId(method, args, isolateId);
    },
    callMethod$2$args: function(method, args) {
      return this.callMethod$3$args$isolateId(method, args, null);
    },
    callServiceExtension$3$args$isolateId: function(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, P.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t2, t2), type$.Response);
        } else {
          args = P.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: function(_) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$dispose$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.__VmService__streamSub;
              $async$goto = 2;
              return P._asyncAwait((t1 === $ ? H.throwExpression(H.LateError$fieldNI("_streamSub")) : t1).cancel$0(0), $async$dispose$0);
            case 2:
              // returning from await.
              t1 = $async$self._outstandingRequests;
              t1.forEach$1(0, new Q.VmService_dispose_closure());
              t1.clear$0(0);
              $async$goto = $async$self.get$_disposeHandler() != null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return P._asyncAwait($async$self.get$_disposeHandler().call$0(), $async$dispose$0);
            case 5:
              // returning from await.
            case 4:
              // join
              t1 = $async$self._onDoneCompleter;
              if (t1.future._state === 0)
                t1.complete$0(0);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$dispose$0, $async$completer);
    },
    _call$1$2: function(_, method, args, $T) {
      return this._call$body$VmService(0, method, args, $T, $T);
    },
    _call$1$1: function($receiver, method, $T) {
      return this._call$1$2($receiver, method, C.Map_empty8, $T);
    },
    _call$body$VmService: function(_, method, args, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, t2, t3, message, t1, $async$temp1;
      var $async$_call$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $._OutstandingRequest__idCounter;
              $._OutstandingRequest__idCounter = t1 + 1;
              t1 = "" + t1;
              t2 = P.StackTrace_current();
              t3 = new P._Future($.Zone__current, type$._Future_dynamic);
              $async$self._outstandingRequests.$indexSet(0, t1, new Q._OutstandingRequest(t1, method, t2, new P._AsyncCompleter(t3, type$._AsyncCompleter_dynamic), type$._OutstandingRequest_dynamic));
              t2 = type$.dynamic;
              message = C.C_JsonCodec.encode$2$toEncodable(P.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 P._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 P._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return P._asyncStartSync($async$_call$1$2, $async$completer);
    },
    _processMessage$1: function(message) {
      var t1, _this = this;
      if (typeof message == "string")
        _this._processMessageStr$1(message);
      else if (type$.List_int._is(message))
        _this._processMessageByteData$1(C.NativeByteBuffer_methods.asByteData$2(new Uint8Array(H._ensureNativeList(message)).buffer, 0, null));
      else if (type$.ByteData._is(message))
        _this._processMessageByteData$1(message);
      else {
        t1 = _this.get$_log();
        J.get$runtimeType$(message).toString$0(0);
        t1.toString;
      }
    },
    _processMessageByteData$1: function(bytes) {
      var streamId, $event,
        t1 = J.getInterceptor$x(bytes),
        dataOffset = t1.getUint32$2(bytes, 0, C.C_Endian),
        t2 = t1.get$lengthInBytes(bytes),
        meta = C.Utf8Codec_false.decode$1(0, J.asUint8List$2$x(t1.get$buffer(bytes), t1.get$offsetInBytes(bytes) + 4, dataOffset - 4)),
        data = J.asByteData$2$x(t1.get$buffer(bytes), t1.get$offsetInBytes(bytes) + dataOffset, t2 - dataOffset);
      t2 = C.C_JsonCodec.decode$2$reviver(0, meta, null);
      t2.toString;
      t1 = J.getInterceptor$asx(t2);
      if (J.$eq$(t1.$index(t2, "method"), "streamNotify")) {
        streamId = J.$index$asx(t1.$index(t2, "params"), "streamId");
        $event = J.$index$asx(t1.$index(t2, "params"), "event");
        J.$indexSet$ax($event, "data", data);
        t1 = this._getEventController$1(streamId);
        t2 = Q.createServiceObject($event, C.List_Event);
        t2.toString;
        t1.add$1(0, type$.Event_2._as(t2));
      }
    },
    _processMessageStr$1: function(message) {
      var e, s, t1, exception, t2, request, t3, t4, t5, result, type, returnTypes, _this = this, _s5_ = "error",
        json = H._Cell$named("json");
      try {
        _this._onReceive.add$1(0, message);
        t1 = C.C_JsonCodec.decode$2$reviver(0, message, null);
        t1.toString;
        json.__late_helper$_value = t1;
      } catch (exception) {
        e = H.unwrapException(exception);
        s = H.getTraceFromException(exception);
        t1 = _this.get$_log();
        H.S(e);
        H.S(s);
        t1.toString;
        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) {
            t2 = _this.get$_log();
            C.C_JsonCodec.encode$2$toEncodable(t1, null);
            t2.toString;
          } 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 Q.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 = Q.Sentinel$_fromJson(result);
              request._vm_service$_completer.completeError$2(new Q.SentinelException(t1, t2), request._vm_service$_stackTrace);
            } else if ($._typeFactories.$index(0, type) == null)
              request._vm_service$_completer.complete$1(0, new Q.Response0(result));
            else {
              returnTypes = $._methodReturnTypes.$index(0, request.method);
              t1 = Q.createServiceObject(result, returnTypes == null ? H._setArrayType([], type$.JSArray_String) : returnTypes);
              request._vm_service$_completer.complete$1(0, t1);
            }
          }
        } else
          _this.get$_log().toString;
      }
    },
    _processRequest$1: function(json) {
      return this._processRequest$body$VmService(json);
    },
    _processRequest$body$VmService: function(json) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, message, t1, t2, t3, m;
      var $async$_processRequest$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.getInterceptor$asx(json);
              t2 = t1.$index(json, "method");
              t3 = t1.$index(json, "params");
              $async$goto = 2;
              return P._asyncAwait($async$self._routeRequest$2(t2, t3 == null ? P.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 = C.C_JsonCodec.encode$2$toEncodable(m, null);
              $async$self._onSend.add$1(0, message);
              $async$self._writeMessage$1(message);
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_processRequest$1, $async$completer);
    },
    _processNotification$1: function(json) {
      return this._processNotification$body$VmService(json);
    },
    _processNotification$body$VmService: function(json) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t2, t1, method, params;
      var $async$_processNotification$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return P._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.getInterceptor$asx(json);
              method = t1.$index(json, "method");
              params = t1.$index(json, "params");
              if (params == null)
                params = P.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 = Q.createServiceObject(t1.$index(params, "event"), C.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 P._asyncAwait($async$self._routeRequest$2(method, params), $async$_processNotification$1);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return P._asyncReturn(null, $async$completer);
          }
      });
      return P._asyncStartSync($async$_processNotification$1, $async$completer);
    },
    _routeRequest$2: function(method, params) {
      return this._routeRequest$body$VmService(method, params);
    },
    _routeRequest$body$VmService: function(method, params) {
      var $async$goto = 0,
        $async$completer = P._makeAsyncAwaitCompleter(type$.Map_dynamic_dynamic),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, e, st, error, t1, exception, service, $async$exception;
      var $async$_routeRequest$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              service = $async$self._services.$index(0, method);
              if (service == null) {
                t1 = type$.dynamic;
                $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["error", new Q.RPCError(method, -32601, "method not found '" + H.S(method) + "'", null).toMap$0()], t1, t1);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 4;
              $async$goto = 7;
              return P._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 = H.unwrapException($async$exception);
              st = H.getTraceFromException($async$exception);
              error = Q.RPCError$withDetails(method, -32000, H.S(e), H.S(st));
              t1 = type$.dynamic;
              t1 = P.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 P._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return P._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return P._asyncStartSync($async$_routeRequest$2, $async$completer);
    },
    _writeMessage$1: function(arg0) {
      return this.get$_writeMessage().call$1(arg0);
    }
  };
  Q.VmService_closure.prototype = {
    call$0: function() {
      return this.$this._onDoneCompleter.complete$0(0);
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  Q.VmService_dispose_closure.prototype = {
    call$2: function(id, request) {
      request._vm_service$_completer.completeError$1(new Q.RPCError(request.method, -32000, "Service connection disposed", null));
    },
    $signature: 1057
  };
  Q.RPCError.prototype = {
    get$details: function(_) {
      var t1 = this.data;
      return t1 == null ? null : J.$index$asx(t1, "details");
    },
    toMap$0: function() {
      var map = P.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: function(_) {
      var _this = this,
        t1 = _this.callingMethod,
        t2 = _this.code,
        t3 = _this.message;
      if (_this.get$details(_this) == null)
        return H.S(t1) + ": (" + H.S(t2) + ") " + H.S(t3);
      else
        return H.S(t1) + ": (" + H.S(t2) + ") " + H.S(t3) + "\n" + H.S(_this.get$details(_this));
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    }
  };
  Q.SentinelException.prototype = {
    toString$0: function(_) {
      return H.S(this.sentinel) + " from " + H.S(this.callingMethod) + "()";
    },
    $isException: 1
  };
  Q.ExtensionData.prototype = {
    toString$0: function(_) {
      return "[ExtensionData " + H.S(this.data) + "]";
    }
  };
  Q._NullLog.prototype = {};
  Q.AllocationProfile.prototype = {
    get$type: function(_) {
      return "AllocationProfile";
    },
    toJson$0: function() {
      var t3, t4, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "AllocationProfile");
      t3 = _this.members;
      if (t3 == null)
        t3 = null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.AllocationProfile_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      t4 = _this.memoryUsage;
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["members", t3, "memoryUsage", t4 == null ? null : t4.toJson$0()], t1, t2));
      Q._setIfNotNull(json, "dateLastAccumulatorReset", _this.dateLastAccumulatorReset);
      Q._setIfNotNull(json, "dateLastServiceGC", _this.dateLastServiceGC);
      return json;
    },
    toString$0: function(_) {
      return "[AllocationProfile members: " + H.S(this.members) + ", memoryUsage: " + H.S(this.memoryUsage) + "]";
    }
  };
  Q.AllocationProfile_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1058
  };
  Q.BoundField.prototype = {
    toJson$0: function() {
      var t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.decl;
      t3 = t3 == null ? null : t3.toJson$0();
      t4 = this.value;
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["decl", t3, "value", t4 == null ? null : t4.toJson$0()], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[BoundField decl: " + H.S(this.decl) + ", value: " + H.S(this.value) + "]";
    }
  };
  Q.BoundVariable.prototype = {
    get$type: function(_) {
      return "BoundVariable";
    },
    toJson$0: function() {
      var t3, t4, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.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, P.LinkedHashMap_LinkedHashMap$_literal(["name", t3, "value", t4, "declarationTokenPos", _this.declarationTokenPos, "scopeStartTokenPos", _this.scopeStartTokenPos, "scopeEndTokenPos", _this.scopeEndTokenPos], t1, t2));
      return json;
    },
    toString$0: function(_) {
      var _this = this;
      return "[BoundVariable name: " + H.S(_this.name) + ", value: " + H.S(_this.value) + ", declarationTokenPos: " + H.S(_this.declarationTokenPos) + ", scopeStartTokenPos: " + H.S(_this.scopeStartTokenPos) + ", scopeEndTokenPos: " + H.S(_this.scopeEndTokenPos) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.Breakpoint.prototype = {
    get$type: function(_) {
      return "Breakpoint";
    },
    toJson$0: function() {
      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, P.LinkedHashMap_LinkedHashMap$_literal(["breakpointNumber", t1, "enabled", t2, "resolved", t3, "location", t4 == null ? null : t4.toJson$0()], type$.String, type$.dynamic));
      Q._setIfNotNull(json, "isSyntheticAsyncContinuation", _this.isSyntheticAsyncContinuation);
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Breakpoint && this.id == other.id;
    },
    toString$0: function(_) {
      var _this = this;
      return "[Breakpoint id: " + H.S(_this.id) + ", breakpointNumber: " + H.S(_this.breakpointNumber) + ", enabled: " + H.S(_this.enabled) + ", resolved: " + H.S(_this.resolved) + ", location: " + H.S(_this.location) + "]";
    }
  };
  Q.ClassRef.prototype = {
    get$type: function(_) {
      return "@Class";
    },
    toJson$0: function() {
      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, P.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "library", t2 == null ? null : t2.toJson$0()], type$.String, type$.dynamic));
      t1 = _this.location;
      Q._setIfNotNull(json, "location", t1 == null ? null : t1.toJson$0());
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.ClassRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      return "[ClassRef id: " + H.S(this.id) + ", name: " + H.S(this.name) + ", library: " + H.S(this.library) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$library: function() {
      return this.library;
    }
  };
  Q.Class.prototype = {
    get$type: function(_) {
      return "Class";
    },
    toJson$0: function() {
      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 = H._arrayInstanceType(t6)._eval$1("MappedListIterable<1,Map<String,@>>");
        t7 = P.List_List$of(new H.MappedListIterable(t6, new Q.Class_toJson_closure(), t7), true, t7._eval$1("ListIterable.E"));
        t6 = t7;
      }
      t7 = _this.fields;
      if (t7 == null)
        t7 = _null;
      else {
        t8 = H._arrayInstanceType(t7)._eval$1("MappedListIterable<1,Map<String,@>>");
        t8 = P.List_List$of(new H.MappedListIterable(t7, new Q.Class_toJson_closure0(), t8), true, t8._eval$1("ListIterable.E"));
        t7 = t8;
      }
      t8 = _this.functions;
      if (t8 == null)
        t8 = _null;
      else {
        t9 = H._arrayInstanceType(t8)._eval$1("MappedListIterable<1,Map<String,@>>");
        t9 = P.List_List$of(new H.MappedListIterable(t8, new Q.Class_toJson_closure1(), t9), true, t9._eval$1("ListIterable.E"));
        t8 = t9;
      }
      t9 = _this.subclasses;
      if (t9 == null)
        t9 = _null;
      else {
        t10 = H._arrayInstanceType(t9)._eval$1("MappedListIterable<1,Map<String,@>>");
        t10 = P.List_List$of(new H.MappedListIterable(t9, new Q.Class_toJson_closure2(), t10), true, t10._eval$1("ListIterable.E"));
        t9 = t10;
      }
      json.addAll$1(0, P.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;
      Q._setIfNotNull(json, "location", t9 == null ? _null : t9.toJson$0());
      t1 = _this.error;
      Q._setIfNotNull(json, "error", t1 == null ? _null : t1.toJson$0());
      t1 = _this.superClass;
      Q._setIfNotNull(json, "super", t1 == null ? _null : t1.toJson$0());
      t1 = _this.superType;
      Q._setIfNotNull(json, "superType", t1 == null ? _null : t1.toJson$0());
      t1 = _this.mixin;
      Q._setIfNotNull(json, "mixin", t1 == null ? _null : t1.toJson$0());
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Class && this.id == other.id;
    },
    toString$0: function(_) {
      return "[Class]";
    },
    $isClassRef: 1,
    get$name: function(receiver) {
      return this.name;
    },
    get$library: function() {
      return this.library;
    }
  };
  Q.Class_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 179
  };
  Q.Class_toJson_closure0.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 328
  };
  Q.Class_toJson_closure1.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 320
  };
  Q.Class_toJson_closure2.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 180
  };
  Q.ClassHeapStats.prototype = {
    get$type: function(_) {
      return "ClassHeapStats";
    },
    toJson$0: function() {
      var t3, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ClassHeapStats");
      t3 = _this.classRef;
      t3 = t3 == null ? null : t3.toJson$0();
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["class", t3, "accumulatedSize", _this.accumulatedSize, "bytesCurrent", _this.bytesCurrent, "instancesAccumulated", _this.instancesAccumulated, "instancesCurrent", _this.instancesCurrent], t1, t2));
      return json;
    },
    toString$0: function(_) {
      var _this = this;
      return "[ClassHeapStats classRef: " + H.S(_this.classRef) + ", accumulatedSize: " + H.S(_this.accumulatedSize) + ", bytesCurrent: " + H.S(_this.bytesCurrent) + ", instancesAccumulated: " + H.S(_this.instancesAccumulated) + ", instancesCurrent: " + H.S(_this.instancesCurrent) + "]";
    }
  };
  Q.ClassList.prototype = {
    get$type: function(_) {
      return "ClassList";
    },
    toJson$0: function() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ClassList");
      t3 = this.classes;
      if (t3 == null)
        t3 = null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.ClassList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["classes", t3], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[ClassList classes: " + H.S(this.classes) + "]";
    }
  };
  Q.ClassList_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 180
  };
  Q.CodeRef.prototype = {
    get$type: function(_) {
      return "@Code";
    },
    toJson$0: function() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Code");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "kind", this.kind], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.CodeRef._is(other) && this.id == other.id;
    },
    toString$0: function(_) {
      return "[CodeRef id: " + H.S(this.id) + ", name: " + H.S(this.name) + ", kind: " + H.S(this.kind) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  Q.Code.prototype = {
    get$type: function(_) {
      return "Code";
    },
    toJson$0: function() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "Code");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "kind", this.kind], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Code && this.id == other.id;
    },
    toString$0: function(_) {
      return "[Code id: " + H.S(this.id) + ", name: " + H.S(this.name) + ", kind: " + H.S(this.kind) + "]";
    },
    $isCodeRef: 1,
    get$name: function(receiver) {
      return this.name;
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  Q.ContextRef.prototype = {
    get$type: function(_) {
      return "@Context";
    },
    toJson$0: function() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Context");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["length", this.length], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.ContextRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      return "[ContextRef id: " + H.S(this.id) + ", length: " + H.S(this.length) + "]";
    },
    get$length: function(receiver) {
      return this.length;
    }
  };
  Q.Context0.prototype = {
    get$type: function(_) {
      return "Context";
    },
    toJson$0: function() {
      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 = H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Map<String,@>>");
        t3 = P.List_List$of(new H.MappedListIterable(t2, new Q.Context_toJson_closure(), t3), true, t3._eval$1("ListIterable.E"));
        t2 = t3;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["length", t1, "variables", t2], type$.String, type$.dynamic));
      t2 = _this.parent;
      Q._setIfNotNull(json, "parent", t2 == null ? null : t2.toJson$0());
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Context0 && this.id == other.id;
    },
    toString$0: function(_) {
      return "[Context id: " + H.S(this.id) + ", length: " + H.S(this.length) + ", variables: " + H.S(this.variables) + "]";
    },
    $isContextRef: 1,
    get$length: function(receiver) {
      return this.length;
    },
    get$parent: function(receiver) {
      return this.parent;
    },
    set$parent: function(receiver, val) {
      return this.parent = val;
    }
  };
  Q.Context_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1063
  };
  Q.ContextElement.prototype = {
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.value;
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["value", t3 == null ? null : t3.toJson$0()], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[ContextElement value: " + H.S(this.value) + "]";
    }
  };
  Q.CpuSamples.prototype = {
    get$type: function(_) {
      return "CpuSamples";
    },
    toJson$0: function() {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "CpuSamples");
      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 = H._arrayInstanceType(t10)._eval$1("MappedListIterable<1,Map<String,@>>");
        t11 = P.List_List$of(new H.MappedListIterable(t10, new Q.CpuSamples_toJson_closure(), t11), true, t11._eval$1("ListIterable.E"));
        t10 = t11;
      }
      t11 = _this.samples;
      if (t11 == null)
        t11 = null;
      else {
        t12 = H._arrayInstanceType(t11)._eval$1("MappedListIterable<1,Map<String,@>>");
        t12 = P.List_List$of(new H.MappedListIterable(t11, new Q.CpuSamples_toJson_closure0(), t12), true, t12._eval$1("ListIterable.E"));
        t11 = t12;
      }
      json.addAll$1(0, P.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: function(_) {
      return "[CpuSamples]";
    }
  };
  Q.CpuSamples_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1064
  };
  Q.CpuSamples_toJson_closure0.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1065
  };
  Q.CpuSample.prototype = {
    toJson$0: function() {
      var t6, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.tid,
        t4 = _this.timestamp,
        t5 = _this.stack;
      if (t5 == null)
        t5 = null;
      else {
        t6 = H._arrayInstanceType(t5)._eval$1("MappedListIterable<1,int>");
        t6 = P.List_List$of(new H.MappedListIterable(t5, new Q.CpuSample_toJson_closure(), t6), true, t6._eval$1("ListIterable.E"));
        t5 = t6;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["tid", t3, "timestamp", t4, "stack", t5], t1, t2));
      Q._setIfNotNull(json, "vmTag", _this.vmTag);
      Q._setIfNotNull(json, "userTag", _this.userTag);
      Q._setIfNotNull(json, "truncated", _this.truncated);
      Q._setIfNotNull(json, "identityHashCode", _this.identityHashCode);
      Q._setIfNotNull(json, "classId", _this.classId);
      return json;
    },
    toString$0: function(_) {
      return "[CpuSample tid: " + H.S(this.tid) + ", timestamp: " + H.S(this.timestamp) + ", stack: " + H.S(this.stack) + "]";
    }
  };
  Q.CpuSample_toJson_closure.prototype = {
    call$1: function(f) {
      return f;
    },
    $signature: 39
  };
  Q.ErrorRef.prototype = {
    get$type: function(_) {
      return "@Error";
    },
    toJson$0: function() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Error");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", this.kind, "message", this.message], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.ErrorRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      return "[ErrorRef id: " + H.S(this.id) + ", kind: " + H.S(this.kind) + ", message: " + H.S(this.message) + "]";
    },
    get$kind: function(receiver) {
      return this.kind;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  Q.Error.prototype = {
    get$type: function(_) {
      return "Error";
    },
    toJson$0: function() {
      var t1, _this = this,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", "Error");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", _this.kind, "message", _this.message], type$.String, type$.dynamic));
      t1 = _this.exception;
      Q._setIfNotNull(json, "exception", t1 == null ? null : t1.toJson$0());
      t1 = _this.stacktrace;
      Q._setIfNotNull(json, "stacktrace", t1 == null ? null : t1.toJson$0());
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Error && this.id == other.id;
    },
    toString$0: function(_) {
      return "[Error id: " + H.S(this.id) + ", kind: " + H.S(this.kind) + ", message: " + H.S(this.message) + "]";
    },
    $isErrorRef: 1,
    get$kind: function(receiver) {
      return this.kind;
    },
    get$message: function(receiver) {
      return this.message;
    }
  };
  Q.Event.prototype = {
    get$type: function(_) {
      return "Event";
    },
    toJson$0: function() {
      var _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Event");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", _this.kind, "timestamp", _this.timestamp], t1, t2));
      t2 = _this.isolate;
      Q._setIfNotNull(json, "isolate", t2 == null ? _null : t2.toJson$0());
      t1 = _this.vm;
      Q._setIfNotNull(json, "vm", t1 == null ? _null : t1.toJson$0());
      t1 = _this.breakpoint;
      Q._setIfNotNull(json, "breakpoint", t1 == null ? _null : t1.toJson$0());
      t1 = _this.pauseBreakpoints;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.Event_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "pauseBreakpoints", t1);
      t1 = _this.topFrame;
      Q._setIfNotNull(json, "topFrame", t1 == null ? _null : t1.toJson$0());
      t1 = _this.exception;
      Q._setIfNotNull(json, "exception", t1 == null ? _null : t1.toJson$0());
      Q._setIfNotNull(json, "bytes", _this.bytes);
      t1 = _this.inspectee;
      Q._setIfNotNull(json, "inspectee", t1 == null ? _null : t1.toJson$0());
      Q._setIfNotNull(json, "extensionRPC", _this.extensionRPC);
      Q._setIfNotNull(json, "extensionKind", _this.extensionKind);
      t1 = _this.extensionData;
      Q._setIfNotNull(json, "extensionData", t1 == null ? _null : t1.data);
      t1 = _this.timelineEvents;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.Event_toJson_closure0(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "timelineEvents", t1);
      t1 = _this.updatedStreams;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.Event_toJson_closure1(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "updatedStreams", t1);
      Q._setIfNotNull(json, "atAsyncSuspension", _this.atAsyncSuspension);
      Q._setIfNotNull(json, "status", _this.status);
      t1 = _this.logRecord;
      Q._setIfNotNull(json, "logRecord", t1 == null ? _null : t1.toJson$0());
      Q._setIfNotNull(json, "service", _this.service);
      Q._setIfNotNull(json, "method", _this.method);
      Q._setIfNotNull(json, "alias", _this.alias);
      Q._setIfNotNull(json, "flag", _this.flag);
      Q._setIfNotNull(json, "newValue", _this.newValue);
      Q._setIfNotNull(json, "last", _this.last);
      Q._setIfNotNull(json, "data", _this.data);
      return json;
    },
    toString$0: function(_) {
      return "[Event kind: " + H.S(this.kind) + ", timestamp: " + H.S(this.timestamp) + "]";
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  Q.Event_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 312
  };
  Q.Event_toJson_closure0.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 311
  };
  Q.Event_toJson_closure1.prototype = {
    call$1: function(f) {
      return f;
    },
    $signature: 19
  };
  Q.FieldRef.prototype = {
    get$type: function(_) {
      return "@Field";
    },
    toJson$0: function() {
      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, P.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;
      Q._setIfNotNull(json, "location", t3 == null ? null : t3.toJson$0());
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.FieldRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      var _this = this;
      return "[FieldRef id: " + H.S(_this.id) + ", name: " + H.S(_this.name) + ", owner: " + H.S(_this.owner) + ", declaredType: " + H.S(_this.declaredType) + ", isConst: " + H.S(_this.isConst) + ", isFinal: " + H.S(_this.isFinal) + ", isStatic: " + H.S(_this.isStatic) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$owner: function() {
      return this.owner;
    },
    get$isFinal: function(receiver) {
      return this.isFinal;
    },
    get$isStatic: function() {
      return this.isStatic;
    }
  };
  Q.Field.prototype = {
    get$type: function(_) {
      return "Field";
    },
    toJson$0: function() {
      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, P.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;
      Q._setIfNotNull(json, "location", t3 == null ? _null : t3.toJson$0());
      t1 = _this.staticValue;
      Q._setIfNotNull(json, "staticValue", t1 == null ? _null : t1.toJson$0());
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Field && this.id == other.id;
    },
    toString$0: function(_) {
      var _this = this;
      return "[Field id: " + H.S(_this.id) + ", name: " + H.S(_this.name) + ", owner: " + H.S(_this.owner) + ", declaredType: " + H.S(_this.declaredType) + ", isConst: " + H.S(_this.isConst) + ", isFinal: " + H.S(_this.isFinal) + ", isStatic: " + H.S(_this.isStatic) + "]";
    },
    $isFieldRef: 1,
    get$name: function(receiver) {
      return this.name;
    },
    get$owner: function() {
      return this.owner;
    },
    get$isFinal: function(receiver) {
      return this.isFinal;
    },
    get$isStatic: function() {
      return this.isStatic;
    }
  };
  Q.Flag.prototype = {
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "comment", _this.comment, "modified", _this.modified], t1, t2));
      Q._setIfNotNull(json, "valueAsString", _this.valueAsString);
      return json;
    },
    toString$0: function(_) {
      return "[Flag name: " + H.S(this.name) + ", comment: " + H.S(this.comment) + ", modified: " + H.S(this.modified) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.FlagList.prototype = {
    get$type: function(_) {
      return "FlagList";
    },
    toJson$0: function() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "FlagList");
      t3 = this.flags;
      if (t3 == null)
        t3 = null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.FlagList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["flags", t3], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[FlagList flags: " + H.S(this.flags) + "]";
    }
  };
  Q.FlagList_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1068
  };
  Q.Frame1.prototype = {
    get$type: function(_) {
      return "Frame";
    },
    toJson$0: function() {
      var _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Frame");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["index", _this.index], t1, t2));
      t2 = _this.$function;
      Q._setIfNotNull(json, "function", t2 == null ? _null : t2.toJson$0());
      t1 = _this.code;
      Q._setIfNotNull(json, "code", t1 == null ? _null : t1.toJson$0());
      t1 = _this.location;
      Q._setIfNotNull(json, "location", t1 == null ? _null : t1.toJson$0());
      t1 = _this.vars;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.Frame_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "vars", t1);
      Q._setIfNotNull(json, "kind", _this.kind);
      return json;
    },
    toString$0: function(_) {
      return "[Frame index: " + H.S(this.index) + "]";
    },
    get$index: function(receiver) {
      return this.index;
    },
    get$kind: function(receiver) {
      return this.kind;
    },
    set$index: function(receiver, val) {
      return this.index = val;
    }
  };
  Q.Frame_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1069
  };
  Q.FuncRef.prototype = {
    get$type: function(_) {
      return "@Function";
    },
    toJson$0: function() {
      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, P.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "owner", t2, "static", _this.isStatic, "const", _this.isConst], type$.String, type$.dynamic));
      t2 = _this.location;
      Q._setIfNotNull(json, "location", t2 == null ? null : t2.toJson$0());
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.FuncRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      var _this = this;
      return "[FuncRef id: " + H.S(_this.id) + ", name: " + H.S(_this.name) + ", owner: " + H.S(_this.owner) + ", isStatic: " + H.S(_this.isStatic) + ", isConst: " + H.S(_this.isConst) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$owner: function() {
      return this.owner;
    },
    get$isStatic: function() {
      return this.isStatic;
    }
  };
  Q.Func.prototype = {
    get$type: function(_) {
      return "Function";
    },
    toJson$0: function() {
      var t1, t2, _this = this,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", "Function");
      t1 = _this.name;
      t2 = _this.owner;
      t2 = t2 == null ? null : t2.toJson$0();
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "owner", t2, "static", _this.isStatic, "const", _this.isConst], type$.String, type$.dynamic));
      t2 = _this.location;
      Q._setIfNotNull(json, "location", t2 == null ? null : t2.toJson$0());
      t1 = _this.code;
      Q._setIfNotNull(json, "code", t1 == null ? null : t1.toJson$0());
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Func && this.id == other.id;
    },
    toString$0: function(_) {
      var _this = this;
      return "[Func id: " + H.S(_this.id) + ", name: " + H.S(_this.name) + ", owner: " + H.S(_this.owner) + ", isStatic: " + H.S(_this.isStatic) + ", isConst: " + H.S(_this.isConst) + "]";
    },
    $isFuncRef: 1,
    get$name: function(receiver) {
      return this.name;
    },
    get$owner: function() {
      return this.owner;
    },
    get$isStatic: function() {
      return this.isStatic;
    }
  };
  Q.InstanceRef.prototype = {
    InstanceRef$_fromJson$1: function(json) {
      var _this = this,
        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(Q.createServiceObject(t1.$index(json, "class"), C.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(Q.createServiceObject(t1.$index(json, "typeClass"), C.List_ClassRef));
      _this.parameterizedClass = t2._as(Q.createServiceObject(t1.$index(json, "parameterizedClass"), C.List_ClassRef));
      t2 = type$.nullable_InstanceRef;
      _this.pattern = t2._as(Q.createServiceObject(t1.$index(json, "pattern"), C.List_InstanceRef));
      _this.closureFunction = type$.nullable_FuncRef._as(Q.createServiceObject(t1.$index(json, "closureFunction"), C.List_FuncRef));
      _this.closureContext = type$.nullable_ContextRef._as(Q.createServiceObject(t1.$index(json, "closureContext"), C.List_ContextRef));
      _this.portId = t1.$index(json, "portId");
      _this.allocationLocation = t2._as(Q.createServiceObject(t1.$index(json, "allocationLocation"), C.List_InstanceRef));
      _this.debugName = t1.$index(json, "debugName");
    },
    get$type: function(_) {
      return "@Instance";
    },
    toJson$0: function() {
      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, P.LinkedHashMap_LinkedHashMap$_literal(["kind", t1, "identityHashCode", t2, "class", t3 == null ? _null : t3.toJson$0()], type$.String, type$.dynamic));
      Q._setIfNotNull(json, "valueAsString", _this.get$valueAsString(_this));
      Q._setIfNotNull(json, "valueAsStringIsTruncated", _this.valueAsStringIsTruncated);
      Q._setIfNotNull(json, "length", _this.length);
      Q._setIfNotNull(json, "name", _this.name);
      t1 = _this.typeClass;
      Q._setIfNotNull(json, "typeClass", t1 == null ? _null : t1.toJson$0());
      t1 = _this.parameterizedClass;
      Q._setIfNotNull(json, "parameterizedClass", t1 == null ? _null : t1.toJson$0());
      t1 = _this.pattern;
      Q._setIfNotNull(json, "pattern", t1 == null ? _null : t1.toJson$0());
      t1 = _this.closureFunction;
      Q._setIfNotNull(json, "closureFunction", t1 == null ? _null : t1.toJson$0());
      t1 = _this.closureContext;
      Q._setIfNotNull(json, "closureContext", t1 == null ? _null : t1.toJson$0());
      Q._setIfNotNull(json, "portId", _this.portId);
      t1 = _this.allocationLocation;
      Q._setIfNotNull(json, "allocationLocation", t1 == null ? _null : t1.toJson$0());
      Q._setIfNotNull(json, "debugName", _this.debugName);
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.InstanceRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      var _this = this;
      return "[InstanceRef id: " + H.S(_this.id) + ", kind: " + H.S(_this.kind) + ", identityHashCode: " + H.S(_this.identityHashCode) + ", classRef: " + H.S(_this.classRef) + "]";
    },
    get$kind: function(receiver) {
      return this.kind;
    },
    get$classRef: function() {
      return this.classRef;
    },
    get$valueAsString: function(receiver) {
      return this.valueAsString;
    },
    get$valueAsStringIsTruncated: function() {
      return this.valueAsStringIsTruncated;
    },
    get$length: function(receiver) {
      return this.length;
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$typeClass: function() {
      return this.typeClass;
    },
    get$portId: function() {
      return this.portId;
    },
    get$allocationLocation: function() {
      return this.allocationLocation;
    },
    get$debugName: function() {
      return this.debugName;
    },
    set$valueAsString: function(receiver, val) {
      return this.valueAsString = val;
    }
  };
  Q.Instance.prototype = {
    Instance$_fromJson$1: function(json) {
      var _this = this,
        _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(Q.createServiceObject(t1.$index(json, "class"), C.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(Q.createServiceObject(t1.$index(json, "typeClass"), C.List_ClassRef));
      _this.parameterizedClass = t2._as(Q.createServiceObject(t1.$index(json, "parameterizedClass"), C.List_ClassRef));
      if (t1.$index(json, "fields") == null)
        t2 = null;
      else {
        t2 = Q.createServiceObject(t1.$index(json, "fields"), C.List_BoundField);
        t2.toString;
        t2 = P.List_List$from(type$.List_dynamic._as(t2), true, type$.BoundField);
      }
      _this.fields = t2;
      if (t1.$index(json, _s8_) == null)
        t2 = null;
      else {
        t2 = Q.createServiceObject(t1.$index(json, _s8_), C.List_dynamic);
        t2.toString;
        t2 = P.List_List$from(type$.List_dynamic._as(t2), true, type$.dynamic);
      }
      _this.elements = t2;
      _this.associations = t1.$index(json, _s12_) == null ? null : P.List_List$from(Q._createSpecificObject(t1.$index(json, _s12_), Q.vm_service_MapAssociation_parse$closure()), true, type$.MapAssociation);
      _this.bytes = t1.$index(json, "bytes");
      t2 = type$.nullable_InstanceRef;
      _this.mirrorReferent = t2._as(Q.createServiceObject(t1.$index(json, "mirrorReferent"), C.List_InstanceRef));
      _this.pattern = t2._as(Q.createServiceObject(t1.$index(json, "pattern"), C.List_InstanceRef));
      _this.closureFunction = type$.nullable_FuncRef._as(Q.createServiceObject(t1.$index(json, "closureFunction"), C.List_FuncRef));
      _this.closureContext = type$.nullable_ContextRef._as(Q.createServiceObject(t1.$index(json, "closureContext"), C.List_ContextRef));
      _this.isCaseSensitive = t1.$index(json, "isCaseSensitive");
      _this.isMultiLine = t1.$index(json, "isMultiLine");
      _this.propertyKey = t2._as(Q.createServiceObject(t1.$index(json, "propertyKey"), C.List_InstanceRef));
      _this.propertyValue = t2._as(Q.createServiceObject(t1.$index(json, "propertyValue"), C.List_InstanceRef));
      _this.typeArguments = type$.nullable_TypeArgumentsRef._as(Q.createServiceObject(t1.$index(json, "typeArguments"), C.List_TypeArgumentsRef));
      _this.parameterIndex = t1.$index(json, "parameterIndex");
      _this.targetType = t2._as(Q.createServiceObject(t1.$index(json, "targetType"), C.List_InstanceRef));
      _this.bound = t2._as(Q.createServiceObject(t1.$index(json, "bound"), C.List_InstanceRef));
      _this.portId = t1.$index(json, "portId");
      _this.allocationLocation = t2._as(Q.createServiceObject(t1.$index(json, "allocationLocation"), C.List_InstanceRef));
      _this.debugName = t1.$index(json, "debugName");
    },
    get$type: function(_) {
      return "Instance";
    },
    toJson$0: function() {
      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, P.LinkedHashMap_LinkedHashMap$_literal(["kind", t1, "identityHashCode", t2, "class", t3 == null ? _null : t3.toJson$0()], type$.String, type$.dynamic));
      Q._setIfNotNull(json, "valueAsString", _this.get$valueAsString(_this));
      Q._setIfNotNull(json, "valueAsStringIsTruncated", _this.valueAsStringIsTruncated);
      Q._setIfNotNull(json, "length", _this.length);
      Q._setIfNotNull(json, "offset", _this.offset);
      Q._setIfNotNull(json, "count", _this.count);
      Q._setIfNotNull(json, "name", _this.name);
      t1 = _this.typeClass;
      Q._setIfNotNull(json, "typeClass", t1 == null ? _null : t1.toJson$0());
      t1 = _this.parameterizedClass;
      Q._setIfNotNull(json, "parameterizedClass", t1 == null ? _null : t1.toJson$0());
      t1 = _this.fields;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.Instance_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "fields", t1);
      t1 = _this.elements;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,@>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.Instance_toJson_closure0(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "elements", t1);
      t1 = _this.associations;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.Instance_toJson_closure1(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "associations", t1);
      Q._setIfNotNull(json, "bytes", _this.bytes);
      t1 = _this.mirrorReferent;
      Q._setIfNotNull(json, "mirrorReferent", t1 == null ? _null : t1.toJson$0());
      t1 = _this.pattern;
      Q._setIfNotNull(json, "pattern", t1 == null ? _null : t1.toJson$0());
      t1 = _this.closureFunction;
      Q._setIfNotNull(json, "closureFunction", t1 == null ? _null : t1.toJson$0());
      t1 = _this.closureContext;
      Q._setIfNotNull(json, "closureContext", t1 == null ? _null : t1.toJson$0());
      Q._setIfNotNull(json, "isCaseSensitive", _this.isCaseSensitive);
      Q._setIfNotNull(json, "isMultiLine", _this.isMultiLine);
      t1 = _this.propertyKey;
      Q._setIfNotNull(json, "propertyKey", t1 == null ? _null : t1.toJson$0());
      t1 = _this.propertyValue;
      Q._setIfNotNull(json, "propertyValue", t1 == null ? _null : t1.toJson$0());
      t1 = _this.typeArguments;
      Q._setIfNotNull(json, "typeArguments", t1 == null ? _null : t1.toJson$0());
      Q._setIfNotNull(json, "parameterIndex", _this.parameterIndex);
      t1 = _this.targetType;
      Q._setIfNotNull(json, "targetType", t1 == null ? _null : t1.toJson$0());
      t1 = _this.bound;
      Q._setIfNotNull(json, "bound", t1 == null ? _null : t1.toJson$0());
      Q._setIfNotNull(json, "portId", _this.portId);
      t1 = _this.allocationLocation;
      Q._setIfNotNull(json, "allocationLocation", t1 == null ? _null : t1.toJson$0());
      Q._setIfNotNull(json, "debugName", _this.debugName);
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Instance && this.id == other.id;
    },
    toString$0: function(_) {
      var _this = this;
      return "[Instance id: " + H.S(_this.id) + ", kind: " + H.S(_this.kind) + ", identityHashCode: " + H.S(_this.identityHashCode) + ", classRef: " + H.S(_this.Instance_classRef) + "]";
    },
    $isInstanceRef: 1,
    get$kind: function(receiver) {
      return this.kind;
    },
    get$classRef: function() {
      return this.Instance_classRef;
    },
    get$valueAsString: function(receiver) {
      return this.valueAsString;
    },
    get$valueAsStringIsTruncated: function() {
      return this.valueAsStringIsTruncated;
    },
    get$length: function(receiver) {
      return this.length;
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$typeClass: function() {
      return this.typeClass;
    },
    get$portId: function() {
      return this.portId;
    },
    get$allocationLocation: function() {
      return this.allocationLocation;
    },
    get$debugName: function() {
      return this.debugName;
    },
    set$classRef: function(val) {
      return this.Instance_classRef = val;
    },
    set$valueAsString: function(receiver, val) {
      return this.valueAsString = val;
    }
  };
  Q.Instance_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1070
  };
  Q.Instance_toJson_closure0.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 43
  };
  Q.Instance_toJson_closure1.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1071
  };
  Q.IsolateRef.prototype = {
    get$type: function(_) {
      return "@Isolate";
    },
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "@Isolate");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", _this.id, "number", _this.number, "name", _this.name, "isSystemIsolate", _this.isSystemIsolate], t1, t2));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.IsolateRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      var _this = this;
      return "[IsolateRef id: " + H.S(_this.id) + ", number: " + H.S(_this.number) + ", name: " + H.S(_this.name) + ", isSystemIsolate: " + H.S(_this.isSystemIsolate) + "]";
    },
    get$id: function(receiver) {
      return this.id;
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$isSystemIsolate: function() {
      return this.isSystemIsolate;
    }
  };
  Q.Isolate.prototype = {
    get$type: function(_) {
      return "Isolate";
    },
    toJson$0: function() {
      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 = P.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 = H._arrayInstanceType(t7)._eval$1("MappedListIterable<1,Map<String,@>>");
        t8 = P.List_List$of(new H.MappedListIterable(t7, new Q.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 = H._arrayInstanceType(t13)._eval$1("MappedListIterable<1,Map<String,@>>");
        t14 = P.List_List$of(new H.MappedListIterable(t13, new Q.Isolate_toJson_closure0(), t14), true, t14._eval$1("ListIterable.E"));
        t13 = t14;
      }
      t14 = _this.breakpoints;
      if (t14 == null)
        t14 = _null;
      else {
        t15 = H._arrayInstanceType(t14)._eval$1("MappedListIterable<1,Map<String,@>>");
        t15 = P.List_List$of(new H.MappedListIterable(t14, new Q.Isolate_toJson_closure1(), t15), true, t15._eval$1("ListIterable.E"));
        t14 = t15;
      }
      json.addAll$1(0, P.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;
      Q._setIfNotNull(json, "rootLib", t2 == null ? _null : t2.toJson$0());
      t1 = _this.error;
      Q._setIfNotNull(json, "error", t1 == null ? _null : t1.toJson$0());
      t1 = _this.extensionRPCs;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.Isolate_toJson_closure2(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "extensionRPCs", t1);
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Isolate && this.id == other.id;
    },
    toString$0: function(_) {
      return "[Isolate]";
    },
    $isIsolateRef: 1,
    get$id: function(receiver) {
      return this.id;
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$isSystemIsolate: function() {
      return this.isSystemIsolate;
    }
  };
  Q.Isolate_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1072
  };
  Q.Isolate_toJson_closure0.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1073
  };
  Q.Isolate_toJson_closure1.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 312
  };
  Q.Isolate_toJson_closure2.prototype = {
    call$1: function(f) {
      return f;
    },
    $signature: 19
  };
  Q.IsolateFlag.prototype = {
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "valueAsString", this.valueAsString], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[IsolateFlag name: " + H.S(this.name) + ", valueAsString: " + H.S(this.valueAsString) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.IsolateGroupRef.prototype = {
    get$type: function(_) {
      return "@IsolateGroup";
    },
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "@IsolateGroup");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", _this.id, "number", _this.number, "name", _this.name, "isSystemIsolateGroup", _this.isSystemIsolateGroup], t1, t2));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.IsolateGroupRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      var _this = this;
      return "[IsolateGroupRef id: " + H.S(_this.id) + ", number: " + H.S(_this.number) + ", name: " + H.S(_this.name) + ", isSystemIsolateGroup: " + H.S(_this.isSystemIsolateGroup) + "]";
    },
    get$id: function(receiver) {
      return this.id;
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.IsolateGroup.prototype = {
    get$type: function(_) {
      return "IsolateGroup";
    },
    toJson$0: function() {
      var t3, t4, t5, t6, t7, t8, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.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 = H._arrayInstanceType(t7)._eval$1("MappedListIterable<1,Map<String,@>>");
        t8 = P.List_List$of(new H.MappedListIterable(t7, new Q.IsolateGroup_toJson_closure(), t8), true, t8._eval$1("ListIterable.E"));
        t7 = t8;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", t3, "number", t4, "name", t5, "isSystemIsolateGroup", t6, "isolates", t7], t1, t2));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.IsolateGroup && this.id == other.id;
    },
    toString$0: function(_) {
      var _this = this;
      return "[IsolateGroup id: " + H.S(_this.id) + ", number: " + H.S(_this.number) + ", name: " + H.S(_this.name) + ", isSystemIsolateGroup: " + H.S(_this.isSystemIsolateGroup) + ", isolates: " + H.S(_this.isolates) + "]";
    },
    $isIsolateGroupRef: 1,
    get$id: function(receiver) {
      return this.id;
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.IsolateGroup_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 181
  };
  Q.InboundReferences.prototype = {
    get$type: function(_) {
      return "InboundReferences";
    },
    toJson$0: function() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "InboundReferences");
      t3 = this.references;
      if (t3 == null)
        t3 = null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.InboundReferences_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["references", t3], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[InboundReferences references: " + H.S(this.references) + "]";
    }
  };
  Q.InboundReferences_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1075
  };
  Q.InboundReference.prototype = {
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.source;
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["source", t3 == null ? null : t3.toJson$0()], t1, t2));
      Q._setIfNotNull(json, "parentListIndex", this.parentListIndex);
      t1 = this.parentField;
      Q._setIfNotNull(json, "parentField", t1 == null ? null : t1.toJson$0());
      return json;
    },
    toString$0: function(_) {
      return "[InboundReference source: " + H.S(this.source) + "]";
    }
  };
  Q.InstanceSet.prototype = {
    get$type: function(_) {
      return "InstanceSet";
    },
    toJson$0: function() {
      var t3, t4, t5,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "InstanceSet");
      t3 = this.totalCount;
      t4 = this.instances;
      if (t4 == null)
        t4 = null;
      else {
        t5 = H._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Map<String,@>>");
        t5 = P.List_List$of(new H.MappedListIterable(t4, new Q.InstanceSet_toJson_closure(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["totalCount", t3, "instances", t4], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[InstanceSet totalCount: " + H.S(this.totalCount) + ", instances: " + H.S(this.instances) + "]";
    }
  };
  Q.InstanceSet_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1076
  };
  Q.LibraryRef.prototype = {
    get$type: function(_) {
      return "@Library";
    },
    toJson$0: function() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Library");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "uri", this.uri], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.LibraryRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      return "[LibraryRef id: " + H.S(this.id) + ", name: " + H.S(this.name) + ", uri: " + H.S(this.uri) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$uri: function() {
      return this.uri;
    }
  };
  Q.Library.prototype = {
    get$type: function(_) {
      return "Library";
    },
    toJson$0: function() {
      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 = H._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Map<String,@>>");
        t5 = P.List_List$of(new H.MappedListIterable(t4, new Q.Library_toJson_closure(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      t5 = _this.scripts;
      if (t5 == null)
        t5 = _null;
      else {
        t6 = H._arrayInstanceType(t5)._eval$1("MappedListIterable<1,Map<String,@>>");
        t6 = P.List_List$of(new H.MappedListIterable(t5, new Q.Library_toJson_closure0(), t6), true, t6._eval$1("ListIterable.E"));
        t5 = t6;
      }
      t6 = _this.variables;
      if (t6 == null)
        t6 = _null;
      else {
        t7 = H._arrayInstanceType(t6)._eval$1("MappedListIterable<1,Map<String,@>>");
        t7 = P.List_List$of(new H.MappedListIterable(t6, new Q.Library_toJson_closure1(), t7), true, t7._eval$1("ListIterable.E"));
        t6 = t7;
      }
      t7 = _this.functions;
      if (t7 == null)
        t7 = _null;
      else {
        t8 = H._arrayInstanceType(t7)._eval$1("MappedListIterable<1,Map<String,@>>");
        t8 = P.List_List$of(new H.MappedListIterable(t7, new Q.Library_toJson_closure2(), t8), true, t8._eval$1("ListIterable.E"));
        t7 = t8;
      }
      t8 = _this.classes;
      if (t8 == null)
        t8 = _null;
      else {
        t9 = H._arrayInstanceType(t8)._eval$1("MappedListIterable<1,Map<String,@>>");
        t9 = P.List_List$of(new H.MappedListIterable(t8, new Q.Library_toJson_closure3(), t9), true, t9._eval$1("ListIterable.E"));
        t8 = t9;
      }
      json.addAll$1(0, P.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: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Library && this.id == other.id;
    },
    toString$0: function(_) {
      return "[Library]";
    },
    $isLibraryRef: 1,
    get$name: function(receiver) {
      return this.name;
    },
    get$uri: function() {
      return this.uri;
    }
  };
  Q.Library_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1077
  };
  Q.Library_toJson_closure0.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 182
  };
  Q.Library_toJson_closure1.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 328
  };
  Q.Library_toJson_closure2.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 320
  };
  Q.Library_toJson_closure3.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 180
  };
  Q.LibraryDependency.prototype = {
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.isImport,
        t4 = _this.isDeferred,
        t5 = _this.prefix,
        t6 = _this.target;
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["isImport", t3, "isDeferred", t4, "prefix", t5, "target", t6 == null ? null : t6.toJson$0()], t1, t2));
      return json;
    },
    toString$0: function(_) {
      var _this = this;
      return "[LibraryDependency isImport: " + H.S(_this.isImport) + ", isDeferred: " + H.S(_this.isDeferred) + ", prefix: " + H.S(_this.prefix) + ", target: " + H.S(_this.target) + "]";
    }
  };
  Q.LogRecord.prototype = {
    get$type: function(_) {
      return "LogRecord";
    },
    toJson$0: function() {
      var t3, t4, t5, t6, t7, t8, t9, t10, _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.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, P.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: function(_) {
      return "[LogRecord]";
    },
    get$message: function(receiver) {
      return this.message;
    },
    get$level: function(receiver) {
      return this.level;
    }
  };
  Q.MapAssociation.prototype = {
    toJson$0: function() {
      var t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.key;
      t3 = t3 == null ? null : t3.toJson$0();
      t4 = this.value;
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["key", t3, "value", t4 == null ? null : t4.toJson$0()], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[MapAssociation key: " + H.S(this.key) + ", value: " + H.S(this.value) + "]";
    }
  };
  Q.MemoryUsage.prototype = {
    get$type: function(_) {
      return "MemoryUsage";
    },
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "MemoryUsage");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["externalUsage", this.externalUsage, "heapCapacity", this.heapCapacity, "heapUsage", this.heapUsage], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[MemoryUsage externalUsage: " + H.S(this.externalUsage) + ", heapCapacity: " + H.S(this.heapCapacity) + ", heapUsage: " + H.S(this.heapUsage) + "]";
    }
  };
  Q.Message.prototype = {
    get$type: function(_) {
      return "Message";
    },
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Message");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["index", _this.index, "name", _this.name, "messageObjectId", _this.messageObjectId, "size", _this.size], t1, t2));
      t2 = _this.handler;
      Q._setIfNotNull(json, "handler", t2 == null ? null : t2.toJson$0());
      t1 = _this.location;
      Q._setIfNotNull(json, "location", t1 == null ? null : t1.toJson$0());
      return json;
    },
    toString$0: function(_) {
      var _this = this;
      return "[Message index: " + H.S(_this.index) + ", name: " + H.S(_this.name) + ", messageObjectId: " + H.S(_this.messageObjectId) + ", size: " + H.S(_this.size) + "]";
    },
    get$index: function(receiver) {
      return this.index;
    },
    get$name: function(receiver) {
      return this.name;
    },
    set$index: function(receiver, val) {
      return this.index = val;
    }
  };
  Q.NativeFunction.prototype = {
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[NativeFunction name: " + H.S(this.name) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.NullValRef.prototype = {
    get$type: function(_) {
      return "@Null";
    },
    toJson$0: function() {
      var json = this.super$InstanceRef$toJson();
      json.$indexSet(0, "type", "@Null");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["valueAsString", this.NullValRef_valueAsString], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.NullValRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      var _this = this;
      return "[NullValRef id: " + H.S(_this.id) + ", kind: " + H.S(_this.kind) + ", identityHashCode: " + H.S(P.core__identityHashCode$closure()) + ", classRef: " + H.S(_this.classRef) + ", valueAsString: " + H.S(_this.NullValRef_valueAsString) + "]";
    },
    get$valueAsString: function(receiver) {
      return this.NullValRef_valueAsString;
    },
    set$valueAsString: function(receiver, val) {
      return this.NullValRef_valueAsString = val;
    }
  };
  Q.NullVal.prototype = {
    get$type: function(_) {
      return "Null";
    },
    toJson$0: function() {
      var json = this.super$Instance$toJson();
      json.$indexSet(0, "type", "Null");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["valueAsString", this.NullVal_valueAsString], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.NullVal && this.id == other.id;
    },
    toString$0: function(_) {
      var _this = this;
      return "[NullVal id: " + H.S(_this.id) + ", kind: " + H.S(_this.kind) + ", identityHashCode: " + H.S(P.core__identityHashCode$closure()) + ", classRef: " + H.S(_this.Instance_classRef) + ", valueAsString: " + H.S(_this.NullVal_valueAsString) + "]";
    },
    $isNullValRef: 1,
    get$valueAsString: function(receiver) {
      return this.NullVal_valueAsString;
    },
    set$valueAsString: function(receiver, val) {
      return this.NullVal_valueAsString = val;
    }
  };
  Q.ObjRef.prototype = {
    ObjRef$_fromJson$1: function(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: function(_) {
      return "@Object";
    },
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", _this.get$type(_this));
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", _this.id], t1, t2));
      Q._setIfNotNull(json, "fixedId", _this.fixedId);
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.ObjRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      return "[ObjRef id: " + H.S(this.id) + "]";
    },
    get$id: function(receiver) {
      return this.id;
    }
  };
  Q.Obj.prototype = {
    Obj$_fromJson$1: function(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(Q.createServiceObject(t1.$index(json, "class"), C.List_ClassRef)));
      _this.size = t1.$index(json, "size");
    },
    get$type: function(_) {
      return "Object";
    },
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", _this.get$type(_this));
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", _this.id], t1, t2));
      Q._setIfNotNull(json, "fixedId", _this.fixedId);
      t2 = _this.get$classRef();
      Q._setIfNotNull(json, "class", t2 == null ? null : t2.toJson$0());
      Q._setIfNotNull(json, "size", _this.size);
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Obj && this.id == other.id;
    },
    toString$0: function(_) {
      return "[Obj id: " + H.S(this.id) + "]";
    },
    $isObjRef: 1,
    get$id: function(receiver) {
      return this.id;
    },
    get$classRef: function() {
      return this.classRef;
    },
    set$classRef: function(val) {
      return this.classRef = val;
    }
  };
  Q.PortList.prototype = {
    get$type: function(_) {
      return "PortList";
    },
    toJson$0: function() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "PortList");
      t3 = this.ports;
      if (t3 == null)
        t3 = null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.PortList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["ports", t3], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[PortList ports: " + H.S(this.ports) + "]";
    }
  };
  Q.PortList_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 179
  };
  Q.ProfileFunction.prototype = {
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.kind,
        t4 = _this.inclusiveTicks,
        t5 = _this.exclusiveTicks,
        t6 = _this.resolvedUrl,
        t7 = _this.$function;
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", t3, "inclusiveTicks", t4, "exclusiveTicks", t5, "resolvedUrl", t6, "function", t7 == null ? null : t7.toJson$0()], t1, t2));
      return json;
    },
    toString$0: function(_) {
      var _this = this;
      return "[ProfileFunction kind: " + H.S(_this.kind) + ", inclusiveTicks: " + H.S(_this.inclusiveTicks) + ", exclusiveTicks: " + H.S(_this.exclusiveTicks) + ", resolvedUrl: " + H.S(_this.resolvedUrl) + ", function: " + H.S(_this.$function) + "]";
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  Q.ProtocolList.prototype = {
    get$type: function(_) {
      return "ProtocolList";
    },
    toJson$0: function() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ProtocolList");
      t3 = this.protocols;
      if (t3 == null)
        t3 = null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.ProtocolList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["protocols", t3], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[ProtocolList protocols: " + H.S(this.protocols) + "]";
    }
  };
  Q.ProtocolList_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1079
  };
  Q.Protocol.prototype = {
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["protocolName", this.protocolName, "major", this.major, "minor", this.minor], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[Protocol protocolName: " + H.S(this.protocolName) + ", major: " + H.S(this.major) + ", minor: " + H.S(this.minor) + "]";
    },
    get$major: function() {
      return this.major;
    },
    get$minor: function() {
      return this.minor;
    }
  };
  Q.ProcessMemoryUsage.prototype = {
    get$type: function(_) {
      return "ProcessMemoryUsage";
    },
    toJson$0: function() {
      var t3,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ProcessMemoryUsage");
      t3 = this.root;
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["root", t3 == null ? null : t3.toJson$0()], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[ProcessMemoryUsage root: " + H.S(this.root) + "]";
    }
  };
  Q.ProcessMemoryItem.prototype = {
    toJson$0: function() {
      var t7, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.name,
        t4 = _this.description,
        t5 = _this.size,
        t6 = _this.children;
      if (t6 == null)
        t6 = null;
      else {
        t7 = H._arrayInstanceType(t6)._eval$1("MappedListIterable<1,Map<String,@>>");
        t7 = P.List_List$of(new H.MappedListIterable(t6, new Q.ProcessMemoryItem_toJson_closure(), t7), true, t7._eval$1("ListIterable.E"));
        t6 = t7;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", t3, "description", t4, "size", t5, "children", t6], t1, t2));
      return json;
    },
    toString$0: function(_) {
      var _this = this;
      return "[ProcessMemoryItem name: " + H.S(_this.name) + ", description: " + H.S(_this.description) + ", size: " + H.S(_this.size) + ", children: " + H.S(_this.children) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  Q.ProcessMemoryItem_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1080
  };
  Q.ReloadReport.prototype = {
    get$type: function(_) {
      return "ReloadReport";
    },
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ReloadReport");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["success", this.success], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[ReloadReport success: " + H.S(this.success) + "]";
    }
  };
  Q.RetainingObject.prototype = {
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.value;
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["value", t3 == null ? null : t3.toJson$0()], t1, t2));
      Q._setIfNotNull(json, "parentListIndex", _this.parentListIndex);
      t1 = _this.parentMapKey;
      Q._setIfNotNull(json, "parentMapKey", t1 == null ? null : t1.toJson$0());
      Q._setIfNotNull(json, "parentField", _this.parentField);
      return json;
    },
    toString$0: function(_) {
      return "[RetainingObject value: " + H.S(this.value) + "]";
    }
  };
  Q.RetainingPath.prototype = {
    get$type: function(_) {
      return "RetainingPath";
    },
    toJson$0: function() {
      var t3, t4, t5, t6,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.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 = H._arrayInstanceType(t5)._eval$1("MappedListIterable<1,Map<String,@>>");
        t6 = P.List_List$of(new H.MappedListIterable(t5, new Q.RetainingPath_toJson_closure(), t6), true, t6._eval$1("ListIterable.E"));
        t5 = t6;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["length", t3, "gcRootType", t4, "elements", t5], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[RetainingPath length: " + H.S(this.length) + ", gcRootType: " + H.S(this.gcRootType) + ", elements: " + H.S(this.elements) + "]";
    },
    get$length: function(receiver) {
      return this.length;
    }
  };
  Q.RetainingPath_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1081
  };
  Q.Response0.prototype = {
    get$type: function(_) {
      return "Response";
    },
    toJson$0: function() {
      var localJson = this.json,
        t1 = type$.String,
        t2 = type$.dynamic,
        result = localJson == null ? P.LinkedHashMap_LinkedHashMap$_empty(t1, t2) : P.LinkedHashMap_LinkedHashMap$of(localJson, t1, t2);
      result.$indexSet(0, "type", this.get$type(this));
      return result;
    },
    toString$0: function(_) {
      return "[Response]";
    }
  };
  Q.Sentinel.prototype = {
    get$type: function(_) {
      return "Sentinel";
    },
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Sentinel");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", this.kind, "valueAsString", this.valueAsString], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[Sentinel kind: " + H.S(this.kind) + ", valueAsString: " + H.S(this.valueAsString) + "]";
    },
    get$kind: function(receiver) {
      return this.kind;
    }
  };
  Q.ScriptRef.prototype = {
    get$type: function(_) {
      return "@Script";
    },
    toJson$0: function() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Script");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["uri", this.uri], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.ScriptRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      return "[ScriptRef id: " + H.S(this.id) + ", uri: " + H.S(this.uri) + "]";
    },
    get$uri: function() {
      return this.uri;
    }
  };
  Q.Script.prototype = {
    Script$_fromJson$1: function(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(Q.createServiceObject(t1.$index(json, "library"), C.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 = P.List_List$from(J.map$1$ax(t1, new Q.Script$_fromJson_closure()), true, type$.List_int);
      }
      _this.tokenPosTable = t1;
      _this._parseTokenPosTable$0();
    },
    _parseTokenPosTable$0: function() {
      var lineSet, t1, t2, t3, _i, line, t4, lineNumber, pos, tokenOffset, colNumber,
        tokenPositionTable = this.tokenPosTable;
      if (tokenPositionTable == null)
        return;
      lineSet = P.LinkedHashSet_LinkedHashSet$_empty(type$.int);
      for (t1 = tokenPositionTable.length, t2 = this._tokenToLine, t3 = this._tokenToColumn, _i = 0; _i < tokenPositionTable.length; tokenPositionTable.length === t1 || (0, H.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: function(_) {
      return "Script";
    },
    toJson$0: function() {
      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, P.LinkedHashMap_LinkedHashMap$_literal(["uri", t1, "library", t2 == null ? null : t2.toJson$0()], type$.String, type$.dynamic));
      Q._setIfNotNull(json, "lineOffset", _this.lineOffset);
      Q._setIfNotNull(json, "columnOffset", _this.columnOffset);
      Q._setIfNotNull(json, "source", _this.source);
      t1 = _this.tokenPosTable;
      if (t1 == null)
        t1 = null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,List<int>>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.Script_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "tokenPosTable", t1);
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.Script && this.id == other.id;
    },
    toString$0: function(_) {
      return "[Script id: " + H.S(this.id) + ", uri: " + H.S(this.uri) + ", library: " + H.S(this.library) + "]";
    },
    $isScriptRef: 1,
    get$uri: function() {
      return this.uri;
    }
  };
  Q.Script$_fromJson_closure.prototype = {
    call$1: function(list) {
      return P.List_List$from(list, true, type$.int);
    },
    $signature: 1082
  };
  Q.Script_toJson_closure.prototype = {
    call$1: function(f) {
      return J.toList$0$ax(f);
    },
    $signature: 1083
  };
  Q.ScriptList.prototype = {
    get$type: function(_) {
      return "ScriptList";
    },
    toJson$0: function() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ScriptList");
      t3 = this.scripts;
      if (t3 == null)
        t3 = null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.ScriptList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["scripts", t3], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[ScriptList scripts: " + H.S(this.scripts) + "]";
    }
  };
  Q.ScriptList_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 182
  };
  Q.SourceLocation0.prototype = {
    get$type: function(_) {
      return "SourceLocation";
    },
    toJson$0: function() {
      var t3,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "SourceLocation");
      t3 = this.script;
      t3 = t3 == null ? null : t3.toJson$0();
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["script", t3, "tokenPos", this.tokenPos], t1, t2));
      Q._setIfNotNull(json, "endTokenPos", this.endTokenPos);
      return json;
    },
    toString$0: function(_) {
      return "[SourceLocation script: " + H.S(this.script) + ", tokenPos: " + H.S(this.tokenPos) + "]";
    }
  };
  Q.SourceReport.prototype = {
    get$type: function(_) {
      return "SourceReport";
    },
    toJson$0: function() {
      var t3, t4, t5,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "SourceReport");
      t3 = this.ranges;
      if (t3 == null)
        t3 = null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.SourceReport_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      t4 = this.scripts;
      if (t4 == null)
        t4 = null;
      else {
        t5 = H._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Map<String,@>>");
        t5 = P.List_List$of(new H.MappedListIterable(t4, new Q.SourceReport_toJson_closure0(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["ranges", t3, "scripts", t4], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[SourceReport ranges: " + H.S(this.ranges) + ", scripts: " + H.S(this.scripts) + "]";
    }
  };
  Q.SourceReport_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1084
  };
  Q.SourceReport_toJson_closure0.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 182
  };
  Q.SourceReportCoverage.prototype = {
    toJson$0: function() {
      var t4, t5,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.hits;
      if (t3 == null)
        t3 = null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,int>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.SourceReportCoverage_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      t4 = this.misses;
      if (t4 == null)
        t4 = null;
      else {
        t5 = H._arrayInstanceType(t4)._eval$1("MappedListIterable<1,int>");
        t5 = P.List_List$of(new H.MappedListIterable(t4, new Q.SourceReportCoverage_toJson_closure0(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["hits", t3, "misses", t4], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[SourceReportCoverage hits: " + H.S(this.hits) + ", misses: " + H.S(this.misses) + "]";
    }
  };
  Q.SourceReportCoverage_toJson_closure.prototype = {
    call$1: function(f) {
      return f;
    },
    $signature: 39
  };
  Q.SourceReportCoverage_toJson_closure0.prototype = {
    call$1: function(f) {
      return f;
    },
    $signature: 39
  };
  Q.SourceReportRange.prototype = {
    toJson$0: function() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["scriptIndex", _this.scriptIndex, "startPos", _this.startPos, "endPos", _this.endPos, "compiled", _this.compiled], t1, t2));
      t2 = _this.error;
      Q._setIfNotNull(json, "error", t2 == null ? null : t2.toJson$0());
      t1 = _this.coverage;
      Q._setIfNotNull(json, "coverage", t1 == null ? null : t1.toJson$0());
      t1 = _this.possibleBreakpoints;
      if (t1 == null)
        t1 = null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.SourceReportRange_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "possibleBreakpoints", t1);
      return json;
    },
    toString$0: function(_) {
      var _this = this;
      return "[SourceReportRange scriptIndex: " + H.S(_this.scriptIndex) + ", startPos: " + H.S(_this.startPos) + ", endPos: " + H.S(_this.endPos) + ", compiled: " + H.S(_this.compiled) + "]";
    }
  };
  Q.SourceReportRange_toJson_closure.prototype = {
    call$1: function(f) {
      return f;
    },
    $signature: 39
  };
  Q.Stack0.prototype = {
    get$type: function(_) {
      return "Stack";
    },
    toJson$0: function() {
      var t3, t4, t5, _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Stack");
      t3 = _this.frames;
      if (t3 == null)
        t3 = _null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.Stack_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      t4 = _this.messages;
      if (t4 == null)
        t4 = _null;
      else {
        t5 = H._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Map<String,@>>");
        t5 = P.List_List$of(new H.MappedListIterable(t4, new Q.Stack_toJson_closure0(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["frames", t3, "messages", t4, "truncated", _this.truncated], t1, t2));
      t2 = _this.asyncCausalFrames;
      if (t2 == null)
        t1 = _null;
      else {
        t1 = H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Map<String,@>>");
        t1 = P.List_List$of(new H.MappedListIterable(t2, new Q.Stack_toJson_closure1(), t1), true, t1._eval$1("ListIterable.E"));
      }
      Q._setIfNotNull(json, "asyncCausalFrames", t1);
      t1 = _this.awaiterFrames;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = P.List_List$of(new H.MappedListIterable(t1, new Q.Stack_toJson_closure2(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      Q._setIfNotNull(json, "awaiterFrames", t1);
      return json;
    },
    toString$0: function(_) {
      return "[Stack frames: " + H.S(this.frames) + ", messages: " + H.S(this.messages) + ", truncated: " + H.S(this.truncated) + "]";
    }
  };
  Q.Stack_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 183
  };
  Q.Stack_toJson_closure0.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 1086
  };
  Q.Stack_toJson_closure1.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 183
  };
  Q.Stack_toJson_closure2.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 183
  };
  Q.Success.prototype = {
    get$type: function(_) {
      return "Success";
    },
    toJson$0: function() {
      var json = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      json.$indexSet(0, "type", "Success");
      return json;
    },
    toString$0: function(_) {
      return "[Success]";
    }
  };
  Q.Timeline.prototype = {
    get$type: function(_) {
      return "Timeline";
    },
    toJson$0: function() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Timeline");
      t3 = this.traceEvents;
      if (t3 == null)
        t3 = null;
      else {
        t4 = H._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = P.List_List$of(new H.MappedListIterable(t3, new Q.Timeline_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["traceEvents", t3, "timeOriginMicros", this.timeOriginMicros, "timeExtentMicros", this.timeExtentMicros], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[Timeline traceEvents: " + H.S(this.traceEvents) + ", timeOriginMicros: " + H.S(this.timeOriginMicros) + ", timeExtentMicros: " + H.S(this.timeExtentMicros) + "]";
    }
  };
  Q.Timeline_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 311
  };
  Q.TimelineEvent.prototype = {
    toJson$0: function() {
      var result = P.LinkedHashMap_LinkedHashMap$of(this.json, type$.String, type$.dynamic);
      result.$indexSet(0, "type", "TimelineEvent");
      return result;
    },
    toString$0: function(_) {
      return "[TimelineEvent]";
    }
  };
  Q.TimelineFlags.prototype = {
    get$type: function(_) {
      return "TimelineFlags";
    },
    toJson$0: function() {
      var t3, t4, t5, t6,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "TimelineFlags");
      t3 = this.recorderName;
      t4 = this.availableStreams;
      if (t4 == null)
        t4 = null;
      else {
        t5 = H._arrayInstanceType(t4)._eval$1("MappedListIterable<1,String>");
        t5 = P.List_List$of(new H.MappedListIterable(t4, new Q.TimelineFlags_toJson_closure(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      t5 = this.recordedStreams;
      if (t5 == null)
        t5 = null;
      else {
        t6 = H._arrayInstanceType(t5)._eval$1("MappedListIterable<1,String>");
        t6 = P.List_List$of(new H.MappedListIterable(t5, new Q.TimelineFlags_toJson_closure0(), t6), true, t6._eval$1("ListIterable.E"));
        t5 = t6;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["recorderName", t3, "availableStreams", t4, "recordedStreams", t5], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[TimelineFlags recorderName: " + H.S(this.recorderName) + ", availableStreams: " + H.S(this.availableStreams) + ", recordedStreams: " + H.S(this.recordedStreams) + "]";
    }
  };
  Q.TimelineFlags_toJson_closure.prototype = {
    call$1: function(f) {
      return f;
    },
    $signature: 19
  };
  Q.TimelineFlags_toJson_closure0.prototype = {
    call$1: function(f) {
      return f;
    },
    $signature: 19
  };
  Q.Timestamp.prototype = {
    get$type: function(_) {
      return "Timestamp";
    },
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Timestamp");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["timestamp", this.timestamp], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[Timestamp timestamp: " + H.S(this.timestamp) + "]";
    }
  };
  Q.TypeArgumentsRef.prototype = {
    get$type: function(_) {
      return "@TypeArguments";
    },
    toJson$0: function() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@TypeArguments");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return type$.TypeArgumentsRef._is(other) && this.id == other.get$id(other);
    },
    toString$0: function(_) {
      return "[TypeArgumentsRef id: " + H.S(this.id) + ", name: " + H.S(this.name) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.TypeArguments.prototype = {
    get$type: function(_) {
      return "TypeArguments";
    },
    toJson$0: function() {
      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 = H._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Map<String,@>>");
        t3 = P.List_List$of(new H.MappedListIterable(t2, new Q.TypeArguments_toJson_closure(), t3), true, t3._eval$1("ListIterable.E"));
        t2 = t3;
      }
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "types", t2], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.id);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof Q.TypeArguments && this.id == other.id;
    },
    toString$0: function(_) {
      return "[TypeArguments id: " + H.S(this.id) + ", name: " + H.S(this.name) + ", types: " + H.S(this.types) + "]";
    },
    $isTypeArgumentsRef: 1,
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.TypeArguments_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 179
  };
  Q.UnresolvedSourceLocation.prototype = {
    get$type: function(_) {
      return "UnresolvedSourceLocation";
    },
    toJson$0: function() {
      var t1, _this = this,
        json = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      json.$indexSet(0, "type", "UnresolvedSourceLocation");
      t1 = _this.script;
      Q._setIfNotNull(json, "script", t1 == null ? null : t1.toJson$0());
      Q._setIfNotNull(json, "scriptUri", _this.scriptUri);
      Q._setIfNotNull(json, "tokenPos", _this.tokenPos);
      Q._setIfNotNull(json, "line", _this.line);
      Q._setIfNotNull(json, "column", _this.column);
      return json;
    },
    toString$0: function(_) {
      return "[UnresolvedSourceLocation]";
    }
  };
  Q.Version.prototype = {
    get$type: function(_) {
      return "Version";
    },
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Version");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["major", this.major, "minor", this.minor], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[Version major: " + H.S(this.major) + ", minor: " + H.S(this.minor) + "]";
    },
    get$major: function() {
      return this.major;
    },
    get$minor: function() {
      return this.minor;
    }
  };
  Q.VMRef.prototype = {
    get$type: function(_) {
      return "@VM";
    },
    toJson$0: function() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "@VM");
      json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], t1, t2));
      return json;
    },
    toString$0: function(_) {
      return "[VMRef name: " + H.S(this.name) + "]";
    },
    get$name: function(receiver) {
      return this.name;
    }
  };
  Q.VM.prototype = {
    get$type: function(_) {
      return "VM";
    },
    toJson$0: function() {
      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 = P.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 = H._arrayInstanceType(t11)._eval$1("MappedListIterable<1,Map<String,@>>");
        t12 = P.List_List$of(new H.MappedListIterable(t11, new Q.VM_toJson_closure(), t12), true, t12._eval$1("ListIterable.E"));
        t11 = t12;
      }
      t12 = _this.isolateGroups;
      if (t12 == null)
        t12 = _null;
      else {
        t13 = H._arrayInstanceType(t12)._eval$1("MappedListIterable<1,Map<String,@>>");
        t13 = P.List_List$of(new H.MappedListIterable(t12, new Q.VM_toJson_closure0(), t13), true, t13._eval$1("ListIterable.E"));
        t12 = t13;
      }
      t13 = _this.systemIsolates;
      if (t13 == null)
        t13 = _null;
      else {
        t14 = H._arrayInstanceType(t13)._eval$1("MappedListIterable<1,Map<String,@>>");
        t14 = P.List_List$of(new H.MappedListIterable(t13, new Q.VM_toJson_closure1(), t14), true, t14._eval$1("ListIterable.E"));
        t13 = t14;
      }
      t14 = _this.systemIsolateGroups;
      if (t14 == null)
        t14 = _null;
      else {
        t15 = H._arrayInstanceType(t14)._eval$1("MappedListIterable<1,Map<String,@>>");
        t15 = P.List_List$of(new H.MappedListIterable(t14, new Q.VM_toJson_closure2(), t15), true, t15._eval$1("ListIterable.E"));
        t14 = t15;
      }
      json.addAll$1(0, P.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: function(_) {
      return "[VM]";
    },
    $isVMRef: 1,
    get$name: function(receiver) {
      return this.name;
    },
    get$version: function(receiver) {
      return this.version;
    }
  };
  Q.VM_toJson_closure.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 181
  };
  Q.VM_toJson_closure0.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 292
  };
  Q.VM_toJson_closure1.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 181
  };
  Q.VM_toJson_closure2.prototype = {
    call$1: function(f) {
      return f.toJson$0();
    },
    $signature: 292
  };
  S.SymbolInfo.prototype = {
    get$name: function(receiver) {
      return this.name;
    },
    get$className: function(receiver) {
      return this.className;
    }
  };
  N.Name.prototype = {
    get$scrubbed: function() {
      var t2,
        t1 = this._scrubbed;
      if (t1 == null) {
        t1 = this.raw;
        t2 = J.startsWith$1$s(t1, "[Stub] ") ? $.$get$_stubScrubbingRe() : $.$get$_scrubbingRe();
        t1 = this._scrubbed = H.stringReplaceAllUnchecked(t1, t2, "");
      }
      return t1;
    }
  };
  A.CallGraphNode.prototype = {
    connectTo$1: function(n) {
      var t1;
      if (n === this)
        return;
      t1 = this.succ;
      if (!C.JSArray_methods.contains$1(t1, n)) {
        n.pred.push(this);
        t1.push(n);
      }
    },
    toString$0: function(_) {
      var t1 = this.data;
      return "CallGraphNode(" + H.S(t1 instanceof D.ProgramInfoNode ? t1.get$qualifiedName() : t1) + ")";
    }
  };
  A.CallGraph.prototype = {
    collapse$2$dropCallNodes: function(_, type, dropCallNodes) {
      var _i, n, t3, t4, t5, _i0, succ, from, to,
        graphNodesByData = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_Object, type$.legacy_CallGraphNode),
        graphNodeByEntityId = H._setArrayType([], type$.JSArray_legacy_CallGraphNode),
        t1 = this.nodes,
        t2 = H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,CallGraphNode*>"),
        newNodes = P.List_List$of(new H.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, H.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, H.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, P.List_List$of(t1, false, H._instanceType(t1)._eval$1("Iterable.E")), graphNodeByEntityId);
    },
    computeDominators$0: function() {
      var i, t3, t4, t5,
        t1 = this.nodes,
        t2 = t1.length,
        dom = R.computeDominators(new A.CallGraph_computeDominators_closure(), new A.CallGraph_computeDominators_closure0(this), C.JSArray_methods.get$first(t1).id, t2, new A.CallGraph_computeDominators_closure1(this));
      for (t2 = type$.JSArray_legacy_CallGraphNode, i = 1; i < t1.length; ++i) {
        t3 = t1[dom[i]];
        t4 = t1[i];
        t5 = t3.dominated;
        C.JSArray_methods.add$1(t5 === C.List_empty12 ? t3.dominated = H._setArrayType([], t2) : t5, t4);
        t4.dominator = t3;
      }
    }
  };
  A.CallGraph_collapse_collapsed.prototype = {
    call$1: function(nn) {
      var t2, n, n0,
        t1 = this.$this.program.root;
      if (nn === t1)
        return nn;
      t2 = this.type;
      n = nn;
      while (true) {
        n0 = n.parent;
        if (!(n0 !== t1 && C.List_sav[n._program_info$_type] !== t2))
          break;
        n = n0;
      }
      return n;
    },
    $signature: 1088
  };
  A.CallGraph_collapse_callGraphNodeFor.prototype = {
    call$1: function(data) {
      var t1 = this.graphNodesByData;
      return t1.putIfAbsent$2(0, data, new A.CallGraph_collapse_callGraphNodeFor_closure(t1, data, this.graphNodeByEntityId));
    },
    $signature: 1089
  };
  A.CallGraph_collapse_callGraphNodeFor_closure.prototype = {
    call$0: function() {
      var t3,
        t1 = this.graphNodesByData,
        t2 = this.data,
        n = A.CallGraphNode$(t1.get$length(t1), t2);
      if (t2 instanceof D.ProgramInfoNode) {
        t1 = this.graphNodeByEntityId;
        t3 = t1.length;
        t2 = t2.id;
        if (t3 <= t2)
          C.JSArray_methods.set$length(t1, t2 * 2 + 1);
        t1[t2] = n;
      }
      return n;
    },
    $signature: 272
  };
  A.CallGraph_collapse_closure.prototype = {
    call$1: function(n) {
      var _this = this,
        t1 = n.data;
      if (t1 instanceof D.ProgramInfoNode)
        return _this.callGraphNodeFor.call$1(_this.collapsed.call$1(t1));
      else if (!_this.dropCallNodes)
        return _this.callGraphNodeFor.call$1(t1);
    },
    $signature: 1091
  };
  A.CallGraph_computeDominators_closure1.prototype = {
    call$1: function(i) {
      var t1 = this.$this.nodes[i].succ;
      return new H.MappedListIterable(t1, new A.CallGraph_computeDominators__closure(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int*>"));
    },
    $signature: 269
  };
  A.CallGraph_computeDominators__closure.prototype = {
    call$1: function(n) {
      return n.id;
    },
    $signature: 266
  };
  A.CallGraph_computeDominators_closure0.prototype = {
    call$1: function(i) {
      var t1 = this.$this.nodes[i].pred;
      return new H.MappedListIterable(t1, new A.CallGraph_computeDominators__closure0(), H._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int*>"));
    },
    $signature: 269
  };
  A.CallGraph_computeDominators__closure0.prototype = {
    call$1: function(n) {
      return n.id;
    },
    $signature: 266
  };
  A.CallGraph_computeDominators_closure.prototype = {
    call$2: function(from, to) {
    },
    $signature: 1094
  };
  A._TraceReader.prototype = {
    readTrace$0: function() {
      var t1, nodes, nodeByEntityId, callNodesBySelector, allocated, next, makeNode, makeCallNode, nodeFor, t2, t3, t4, t5, t6, t7, funNode, t8, $name, targetName, _this = this, _box_0 = {};
      _box_0.pos = 0;
      _box_0.currentNode = null;
      t1 = type$.JSArray_legacy_CallGraphNode;
      nodes = H._setArrayType([], t1);
      nodeByEntityId = H._setArrayType([], t1);
      callNodesBySelector = P.LinkedHashMap_LinkedHashMap$_empty(type$.dynamic, type$.legacy_CallGraphNode);
      allocated = P.LinkedHashSet_LinkedHashSet(type$.legacy_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(nodeByEntityId, makeNode);
      new A._TraceReader_readTrace_readEvents(_box_0, _this, next, nodeFor, new A._TraceReader_readTrace_readRefs(new A._TraceReader_readTrace_readRef(_box_0, _this, next, new A._TraceReader_readTrace_recordAllocation(_box_0, nodeFor, allocated), new A._TraceReader_readTrace_recordStaticCall(_box_0, nodeFor), new A._TraceReader_readTrace_recordFieldRef(_box_0, nodeFor), new A._TraceReader_readTrace_recordDynamicCall(_box_0, makeCallNode), new A._TraceReader_readTrace_recordInterfaceCall(_box_0, makeCallNode)))).call$0();
      for (t1 = P._LinkedHashSetIterator$(allocated, allocated._collection$_modifications, H._instanceType(allocated)._precomputed1), t2 = _this.dynamicFunctions, t3 = _this.selectorIdMap; t1.moveNext$0();)
        for (t4 = t1._collection$_current.children, t5 = t4.get$values(t4), t6 = t2.get$contains(t2), t7 = t5.get$iterator(t5), t5 = new H.WhereIterator(t7, t6, H._instanceType(t5)._eval$1("WhereIterator<Iterable.E>")); t5.moveNext$0();) {
          t6 = t7.get$current(t7);
          funNode = nodeFor.call$1(t6);
          t8 = callNodesBySelector.$index(0, t3.$index(0, t6));
          if (t8 != null)
            t8.connectTo$1(funNode);
          $name = t6.name;
          t6 = callNodesBySelector.$index(0, $name);
          if (t6 != null)
            t6.connectTo$1(funNode);
          if (!J.startsWith$1$s($name, "dyn:")) {
            if (!t4.containsKey$1(0, "dyn:" + $name)) {
              t6 = callNodesBySelector.$index(0, "dyn:" + $name);
              if (t6 != null)
                t6.connectTo$1(funNode);
            }
            if (C.JSString_methods.startsWith$1($name, "get:")) {
              targetName = C.JSString_methods.substring$1($name, 4);
              t6 = callNodesBySelector.$index(0, targetName);
              if (t6 != null)
                t6.connectTo$1(funNode);
              t6 = callNodesBySelector.$index(0, "dyn:" + targetName);
              if (t6 != null)
                t6.connectTo$1(funNode);
            } else if (C.JSString_methods.startsWith$1($name, "[tear-off-extractor] ")) {
              targetName = C.JSString_methods.substring$1($name, 21);
              t6 = callNodesBySelector.$index(0, targetName);
              if (t6 != null)
                t6.connectTo$1(funNode);
              t6 = callNodesBySelector.$index(0, "dyn:" + targetName);
              if (t6 != null)
                t6.connectTo$1(funNode);
            }
          }
        }
      return new A.CallGraph(_this.program, nodes, nodeByEntityId);
    },
    getEntityAt$1: function(id) {
      var t2,
        t1 = this.entityById;
      if (t1.length <= id)
        C.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: function(index) {
      var t3, t4, libraryUri, className, $package, node, classNode, functionName, selectorId, result, _this = this,
        t1 = _this.entities,
        t2 = J.getInterceptor$asx(t1),
        type = t2.$index(t1, index);
      switch (type) {
        case "C":
          t3 = _this.strings;
          t4 = J.getInterceptor$asx(t3);
          libraryUri = t4.$index(t3, t2.$index(t1, index + 1));
          className = t4.$index(t3, t2.$index(t1, index + 2));
          t1 = _this.program;
          $package = D.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, C.NodeType_0) : node, C.NodeType_1), C.NodeType_2);
        case "S":
        case "F":
          classNode = _this.getEntityAt$1(t2.$index(t1, index + 1));
          functionName = J.$index$asx(_this.strings, t2.$index(t1, index + 2));
          selectorId = t2.$index(t1, index + 3);
          result = H._setArrayType(functionName.split("."), type$.JSArray_String);
          if (J.startsWith$1$s(C.JSArray_methods.get$first(result), "new ")) {
            result[0] = H.S(result[0]) + "." + H.S(result[1]);
            C.JSArray_methods.removeAt$1(result, 1);
          }
          if (J.$eq$(C.JSArray_methods.get$last(result), "FfiTrampoline"))
            result[result.length - 1] = H.S(C.JSArray_methods.get$last(result)) + "@" + index;
          t1 = _this.program;
          node = t1.makeNode$3$name$parent$type(C.JSArray_methods.get$first(result), classNode, C.NodeType_3);
          for (t2 = H.SubListIterable$(result, 1, null, type$.String), t2 = new H.ListIterator(t2, t2.get$length(t2), t2.$ti._eval$1("ListIterator<ListIterable.E>")); t2.moveNext$0();)
            node = t1.makeNode$3$name$parent$type(t2.__internal$_current, node, C.NodeType_3);
          if (selectorId >= 0)
            _this.selectorIdMap.$indexSet(0, node, selectorId);
          if (J.$eq$(type, "F"))
            _this.dynamicFunctions.add$1(0, node);
          return node;
        case "V":
          classNode = _this.getEntityAt$1(t2.$index(t1, index + 1));
          return _this.program.makeNode$3$name$parent$type(J.$index$asx(_this.strings, t2.$index(t1, index + 2)), classNode, C.NodeType_4);
        default:
          throw H.wrapException(P.FormatException$("unrecognized entity type " + H.S(type), null, null));
      }
    }
  };
  A._TraceReader_readTrace_next.prototype = {
    call$0: function() {
      return J.$index$asx(this.$this.trace, this._box_0.pos++);
    },
    $signature: 1095
  };
  A._TraceReader_readTrace_makeNode.prototype = {
    call$1$data: function(data) {
      var t1 = this.nodes,
        n = A.CallGraphNode$(t1.length, data);
      t1.push(n);
      return n;
    },
    call$0: function() {
      return this.call$1$data(null);
    },
    $signature: 1096
  };
  A._TraceReader_readTrace_makeCallNode.prototype = {
    call$1: function(selector) {
      return J.putIfAbsent$2$x(this.callNodesBySelector, selector, new A._TraceReader_readTrace_makeCallNode_closure(this.makeNode, selector));
    },
    $signature: 1097
  };
  A._TraceReader_readTrace_makeCallNode_closure.prototype = {
    call$0: function() {
      return this.makeNode.call$1$data(this.selector);
    },
    $signature: 272
  };
  A._TraceReader_readTrace_nodeFor.prototype = {
    call$1: function(n) {
      var t1 = this.nodeByEntityId,
        t2 = t1.length,
        t3 = n.id;
      if (t2 <= t3)
        C.JSArray_methods.set$length(t1, t3 * 2 + 1);
      t2 = t1[t3];
      if (t2 == null) {
        t2 = this.makeNode.call$1$data(n);
        t1[t3] = t2;
        t1 = t2;
      } else
        t1 = t2;
      return t1;
    },
    $signature: 1098
  };
  A._TraceReader_readTrace_recordDynamicCall.prototype = {
    call$1: function(selector) {
      this._box_0.currentNode.connectTo$1(this.makeCallNode.call$1(selector));
    },
    $signature: 32
  };
  A._TraceReader_readTrace_recordInterfaceCall.prototype = {
    call$1: function(selector) {
      this._box_0.currentNode.connectTo$1(this.makeCallNode.call$1(selector));
    },
    $signature: 53
  };
  A._TraceReader_readTrace_recordStaticCall.prototype = {
    call$1: function(to) {
      this._box_0.currentNode.connectTo$1(this.nodeFor.call$1(to));
    },
    $signature: 184
  };
  A._TraceReader_readTrace_recordFieldRef.prototype = {
    call$1: function(field) {
      this._box_0.currentNode.connectTo$1(this.nodeFor.call$1(field));
    },
    $signature: 184
  };
  A._TraceReader_readTrace_recordAllocation.prototype = {
    call$1: function(cls) {
      this._box_0.currentNode.connectTo$1(this.nodeFor.call$1(cls));
      this.allocated.add$1(0, cls);
    },
    $signature: 184
  };
  A._TraceReader_readTrace_readRef.prototype = {
    call$0: function() {
      var entity, t2, _this = this,
        t1 = _this.next,
        ref = t1.call$0();
      if (H._isInt(ref)) {
        entity = _this.$this.getEntityAt$1(ref);
        t1 = C.List_sav[entity._program_info$_type];
        if (t1 === C.NodeType_2)
          _this.recordAllocation.call$1(entity);
        else if (t1 === C.NodeType_3)
          _this.recordStaticCall.call$1(entity);
        else if (t1 === C.NodeType_4)
          _this.recordFieldRef.call$1(entity);
      } else {
        t2 = J.getInterceptor$(ref);
        if (t2.$eq(ref, "S"))
          _this.recordDynamicCall.call$1(J.$index$asx(_this.$this.strings, t1.call$0()));
        else if (t2.$eq(ref, "T"))
          _this.recordInterfaceCall.call$1(t1.call$0());
        else if (t2.$eq(ref, "C") || t2.$eq(ref, "E")) {
          --_this._box_0.pos;
          return false;
        } else
          throw H.wrapException(P.FormatException$("unexpected ref: " + H.S(ref), null, null));
      }
      return true;
    },
    $signature: 31
  };
  A._TraceReader_readTrace_readRefs.prototype = {
    call$0: function() {
      for (var t1 = this.readRef; t1.call$0();)
        ;
    },
    $signature: 0
  };
  A._TraceReader_readTrace_readEvents.prototype = {
    call$0: function() {
      var t1, t2, t3, t4, t5, t6, op, _this = this;
      for (t1 = _this.nodeFor, t2 = _this.$this, t3 = _this.next, t4 = _this._box_0, t5 = _this.readRefs, t6 = t2.program.root; true;) {
        op = t3.call$0();
        switch (op) {
          case "E":
            return;
          case "R":
            t4.currentNode = t1.call$1(t6);
            t5.call$0();
            break;
          case "C":
            t4.currentNode = t1.call$1(t2.getEntityAt$1(t3.call$0()));
            t5.call$0();
            break;
          default:
            throw H.wrapException(P.FormatException$("Unknown event: " + H.S(op) + " at " + (t4.pos - 1), null, null));
        }
      }
    },
    $signature: 0
  };
  D.ProgramInfo.prototype = {
    makeNode$3$name$parent$type: function($name, $parent, type) {
      return $parent.children.putIfAbsent$2(0, $name, new D.ProgramInfo_makeNode_closure(this, $name, $parent, type));
    },
    toJson$0: function() {
      return this.root.toJson$0();
    },
    lookup$1: function(path) {
      var t1, _i,
        n = this.root;
      for (t1 = path.length, _i = 0; _i < path.length; path.length === t1 || (0, H.throwConcurrentModificationError)(path), ++_i) {
        n = n.children.$index(0, path[_i]);
        if (n == null)
          break;
      }
      return n;
    }
  };
  D.ProgramInfo_makeNode_closure.prototype = {
    call$0: function() {
      var _this = this,
        t1 = _this.$this._nextId++,
        t2 = _this.name,
        t3 = _this.parent,
        node = new D.ProgramInfoNode(t1, t2, t3, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_ProgramInfoNode), _this.type.index);
      t3.children.$indexSet(0, t2, node);
      return node;
    },
    $signature: 259
  };
  D.NodeType.prototype = {
    toString$0: function(_) {
      return this._program_info$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  D.ProgramInfoNode.prototype = {
    toJson$0: function() {
      var t3,
        t1 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic),
        t2 = this.size;
      if (t2 != null)
        t1.$indexSet(0, "#size", t2);
      t2 = this._program_info$_type;
      if (t2 !== 4)
        t1.$indexSet(0, "#type", C.Map_sav0h.$index(0, C.List_sav[t2]));
      t2 = this.children;
      if (t2.get$isNotEmpty(t2))
        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: function() {
      var t3, prefix,
        t1 = this.parent,
        t2 = t1 == null;
      if ((t2 ? null : t1.parent) != null) {
        t3 = (t2 ? null : C.List_sav[t1._program_info$_type]) !== C.NodeType_0;
        t2 = t3;
      } else
        t2 = false;
      if (t2) {
        prefix = t1.get$qualifiedName();
        prefix = C.List_sav[t1._program_info$_type] !== C.NodeType_1 ? prefix + "." : prefix + "::";
      } else
        prefix = "";
      return prefix + H.S(this.name);
    },
    toString$0: function(_) {
      return H.S(C.Map_sav0h.$index(0, C.List_sav[this._program_info$_type])) + " " + this.get$qualifiedName();
    },
    get$name: function(receiver) {
      return this.name;
    },
    get$parent: function(receiver) {
      return this.parent;
    },
    get$children: function(receiver) {
      return this.children;
    }
  };
  D.computeDiff_recurse.prototype = {
    call$2: function(oldNode, newNode) {
      var diffNode, t4, i, t5, 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, i = 0; i < t4.length; i += 2)
          diffNode = t2.makeNode$3$name$parent$type(t4[i], diffNode, t4[i + 1]);
        t2 = diffNode.size;
        if (t2 == null)
          t2 = diffNode.size = 0;
        t4 = t3 ? _null : newNode.size;
        if (t4 == null)
          t4 = 0;
        t5 = t1 ? _null : oldNode.size;
        diffNode.size = t2 + (t4 - (t5 == null ? 0 : t5));
      }
      t2 = t3 ? _null : newNode.children;
      t4 = t1 ? _null : oldNode.children;
      t5 = P.LinkedHashSet_LinkedHashSet$_empty(type$.legacy_String);
      t2 = t2 == null ? _null : t2.get$keys(t2);
      if (t2 != null)
        t5.addAll$1(0, t2);
      t2 = t4 == null ? _null : t4.get$keys(t4);
      if (t2 != null)
        t5.addAll$1(0, t2);
      t2 = P._LinkedHashSetIterator$(t5, t5._collection$_modifications, t5.$ti._precomputed1);
      t4 = _this.path;
      t1 = !t1;
      t3 = !t3;
      for (; t2.moveNext$0();) {
        t5 = t2._collection$_current;
        newChildNode = t3 ? newNode.children.$index(0, t5) : _null;
        oldChildNode = t1 ? oldNode.children.$index(0, t5) : _null;
        t4.push(t5);
        t5 = oldChildNode == null ? _null : C.List_sav[oldChildNode._program_info$_type];
        if (t5 == null)
          t5 = newChildNode == null ? _null : C.List_sav[newChildNode._program_info$_type];
        t4.push(t5);
        _this.call$2(oldChildNode, newChildNode);
        t4.pop();
        t4.pop();
      }
    },
    $signature: 1101
  };
  R.computeDominators_dfs.prototype = {
    call$0: function() {
      var t1, t2, t3, t4, t5, t6, s, p, n, t7, t8, _this = this,
        stack = H._setArrayType([new R._DfsState(-1, _this.root)], type$.JSArray_legacy__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] == null) {
          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 R._DfsState(t1[n], t8));
          }
          ++t3.N;
        }
      }
    },
    $signature: 0
  };
  R.computeDominators_compressPath.prototype = {
    call$2: function(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: 1102
  };
  R._DfsState.prototype = {};
  N.TreemapFormat.prototype = {
    toString$0: function(_) {
      return this._treemap$_name;
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  N._treemapFromInfo_cumulativeSize.prototype = {
    call$1: function(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 N._treemapFromInfo_cumulativeSize_closure(this));
    },
    $signature: 1103
  };
  N._treemapFromInfo_cumulativeSize_closure.prototype = {
    call$2: function(sum, child) {
      return sum + this.cumulativeSize.call$1(child);
    },
    $signature: 1104
  };
  N._treemapFromInfo_recurse.prototype = {
    call$4: function(node, path, root, format) {
      var t2, path0,
        t1 = node.children;
      if (!t1.get$isEmpty(t1))
        t2 = C.List_sav[node._program_info$_type] === C.NodeType_3 && format === C.TreemapFormat_1;
      else
        t2 = true;
      if (t2) {
        N._addSymbol(root, path, node.name, this.cumulativeSize.call$1(node), "T");
        return;
      }
      if (C.List_sav[node._program_info$_type] === C.NodeType_0)
        N._addSymbol(root, node.name, "<self>", node.size, "T");
      else {
        path0 = node.name;
        path = path !== "" ? H.S(path) + "/" + H.S(path0) : path0;
        N._addSymbol(root, path, "<self>", node.size, "T");
      }
      for (t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();)
        this.call$4(t1.get$current(t1), path, root, format);
    },
    $signature: 1105
  };
  N._treemapFromSnapshot_ownerPath.prototype = {
    call$1: function(n) {
      var t4,
        t1 = n.id,
        t2 = this.ownerPathCache,
        t3 = t2[t1];
      if (t3 == null) {
        t3 = n.parent;
        t4 = n.name;
        t3 = t3 !== this.info.root ? H.S(this.call$1(t3)) + "/" + H.S(t4) : t4;
        t2[t1] = t3;
        t1 = t3;
      } else
        t1 = t3;
      return t1;
    },
    $signature: 1106
  };
  N._nameFormatters_closure.prototype = {
    call$1: function(n) {
      return n.get$type(n) === "(RO) Instructions" ? "<code>" : "<data>";
    },
    $signature: 241
  };
  N._nameFormatters_closure0.prototype = {
    call$1: function(n) {
      return "<" + H.S(n.get$type(n)) + ">";
    },
    $signature: 241
  };
  N._addChild_closure.prototype = {
    call$0: function() {
      var t1 = this.kind,
        t2 = type$.dynamic,
        n = P.LinkedHashMap_LinkedHashMap$_literal(["n", this.name, "k", t1], type$.legacy_String, t2);
      if (t1 !== "s")
        n.$indexSet(0, "children", P.LinkedHashMap_LinkedHashMap$_empty(t2, t2));
      return n;
    },
    $signature: 1108
  };
  N._flatten_closure.prototype = {
    call$1: function(v) {
      return N._flatten(v, true);
    },
    $signature: 1109
  };
  A.Snapshot.prototype = {
    nodeAt$1: function(index) {
      return new A.Node(this, index);
    }
  };
  A.Meta.prototype = {};
  A.Edge.prototype = {
    get$type: function(_) {
      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: function(_) {
      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: function(_) {
      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) : "@" + H.S(nameOrIndex);
    },
    toString$0: function(_) {
      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 P.MapBase_mapToString(P.LinkedHashMap_LinkedHashMap$_literal(["type", t2, "nameOrIndex", t1, "toNode", _this.get$target(_this).index], type$.legacy_String, type$.dynamic));
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  A.Node.prototype = {
    get$type: function(_) {
      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: function(_) {
      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: function() {
      var t1 = this.snapshot,
        t2 = t1.meta;
      return J.$index$asx(t1._v8_profile$_nodes, this.index * t2.nodeFieldCount + t2.nodeSelfSizeIndex);
    },
    get$edges: function() {
      var $async$self = this;
      return P._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 P._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return P._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.legacy_Edge);
    },
    toString$0: function(_) {
      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 P.MapBase_mapToString(P.LinkedHashMap_LinkedHashMap$_literal(["type", t1, "name", t2, "id", t4, "selfSize", t3, "edges", P.List_List$of(t5, true, t5.$ti._eval$1("Iterable.E"))], type$.legacy_String, type$.legacy_Object));
    },
    $index: function(_, edgeName) {
      var t1 = this.get$edges().firstWhere$2$orElse(0, new A.Node_operator$index_closure(edgeName), new A.Node_operator$index_closure0());
      return t1 == null ? null : J.get$target$x(t1);
    },
    $eq: function(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Node && other.index == this.index;
    },
    get$hashCode: function(_) {
      return J.get$hashCode$(this.index);
    },
    get$index: function(receiver) {
      return this.index;
    }
  };
  A.Node_operator$index_closure.prototype = {
    call$1: function(e) {
      return e.get$name(e) == this.edgeName;
    },
    $signature: 1111
  };
  A.Node_operator$index_closure0.prototype = {
    call$0: function() {
      return null;
    },
    $signature: 1
  };
  A.SnapshotInfo.prototype = {};
  A._ProgramInfoBuilder.prototype = {
    build$1: function(_, 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$.legacy_Node;
      P.Iterable_Iterable$generate(t3, t4, t5).forEach$1(0, _this.get$getInfoNodeFor());
      t6 = _this.ownerOf;
      t7 = t6.get$keys(t6);
      worklist = P.List_List$of(t7, true, H._instanceType(t7)._eval$1("Iterable.E"));
      for (t7 = _this.nodesWithFrozenOwner; worklist.length !== 0;) {
        t8 = C.JSArray_methods.removeLast$0(worklist);
        sourceOwner = t6.$index(0, t8);
        for (t8 = new A.Node(snap, t8).get$edges(), t8 = new P._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);
              C.JSArray_methods.add$1(worklist, t9);
            }
          }
        }
      }
      for (t3 = P.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: function(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 P._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);
                    t3.$indexSet(0, t5.get$target(t5).index, _this.findCommonAncestor$2(t3.$index(0, t5.get$target(t5).index), t4));
                  }
                }
              break;
          }
        }
      }
      return info;
    },
    createInfoNodeFor$1: function(node) {
      var owner, ownerNode, t1, ownerNode0, packageName, t2, _this = this, _s6_ = "owner_",
        _s8_ = "library_";
      switch (node.get$type(node)) {
        case "Code":
          owner = node.$index(0, ":owner_");
          if (owner == null)
            owner = node.$index(0, _s6_);
          if (owner.get$type(owner) !== "Type") {
            ownerNode = owner.get$type(owner) === "Null" ? _this.program.stubs : _this.getInfoNodeFor$1(owner);
            if (owner.get$type(owner) === "Function")
              return ownerNode;
            return _this.makeInfoNode$4$name$parent$type(node.index, node.get$name(node), ownerNode, C.NodeType_3);
          }
          break;
        case "Function":
          if (node.get$name(node) !== "<anonymous signature>") {
            owner = node.$index(0, _s6_);
            t1 = node.$index(0, "data_");
            if ((t1 == null ? null : t1.get$type(t1)) === "ClosureData")
              owner = node.$index(0, "data_").$index(0, "parent_function_");
            return _this.makeInfoNode$4$name$parent$type(node.index, node.get$name(node), _this.getInfoNodeFor$1(owner), C.NodeType_3);
          }
          break;
        case "PatchClass":
          return _this.getInfoNodeFor$1(node.$index(0, "patched_class_"));
        case "Class":
          ownerNode = _this.program.root;
          if (node.$index(0, _s8_) != null) {
            ownerNode0 = _this.getInfoNodeFor$1(node.$index(0, _s8_));
            ownerNode = ownerNode0 == null ? ownerNode : ownerNode0;
          }
          return _this.makeInfoNode$4$name$parent$type(node.index, node.get$name(node), ownerNode, C.NodeType_2);
        case "Library":
          packageName = D.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, C.NodeType_1);
        case "Field":
          return _this.makeInfoNode$4$name$parent$type(node.index, node.get$name(node), _this.getInfoNodeFor$1(node.$index(0, _s6_)), C.NodeType_4);
      }
      return null;
    },
    makeInfoNode$4$name$parent$type: function(index, $name, $parent, type) {
      var node, t1;
      $name = new N.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: function(packageName) {
      return this.infoNodeForPackage.putIfAbsent$2(0, packageName, new A._ProgramInfoBuilder_packageOwner_closure(this, packageName));
    },
    findCommonAncestor$2: function(idA, idB) {
      var t1, infoA, infoB, key, ancestor;
      if (idA == null)
        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: function() {
      var t1 = this.$this;
      return t1.makeInfoNode$4$name$parent$type(null, this.packageName, t1.program.root, C.NodeType_0);
    },
    $signature: 259
  };
  A.HtmlWebSocketChannel.prototype = {
    get$stream: function(_) {
      var t1 = this._html0$_controller.get$_foreign();
      return t1.get$stream(t1);
    },
    get$sink: function() {
      var _this = this,
        t1 = _this.__HtmlWebSocketChannel_sink;
      if (t1 === $) {
        t1 = new A._HtmlWebSocketSink(_this, _this._html0$_controller.get$_foreign().get$sink());
        if (_this.__HtmlWebSocketChannel_sink === $)
          _this.__HtmlWebSocketChannel_sink = t1;
        else
          t1 = H.throwExpression(H.LateError$fieldADI("sink"));
      }
      return t1;
    },
    HtmlWebSocketChannel$1: function(_webSocket) {
      var t2, t3, _this = this,
        t1 = _this._html0$_webSocket;
      if (t1.readyState === 1)
        _this._listen$0();
      else {
        t2 = new W._EventStream(t1, "open", false, type$._EventStream_legacy_Event);
        t2.get$first(t2).then$1$1(0, new A.HtmlWebSocketChannel_closure(_this), type$.Null);
      }
      t2 = new W._EventStream(t1, "error", false, type$._EventStream_legacy_Event);
      t3 = type$.Null;
      t2.get$first(t2).then$1$1(0, new A.HtmlWebSocketChannel_closure0(_this), t3);
      W._EventStreamSubscription$(t1, "message", new A.HtmlWebSocketChannel_closure1(_this), false, type$.legacy_MessageEvent);
      t1 = new W._EventStream(t1, "close", false, type$._EventStream_legacy_CloseEvent);
      t1.get$first(t1).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t3);
    },
    _listen$0: function() {
      var t1 = this._html0$_controller.get$_local();
      t1.get$stream(t1).listen$2$onDone(C.WebSocket_methods.get$send(this._html0$_webSocket), new A.HtmlWebSocketChannel__listen_closure(this));
    }
  };
  A.HtmlWebSocketChannel_closure.prototype = {
    call$1: function(_) {
      this.$this._listen$0();
    },
    $signature: 9
  };
  A.HtmlWebSocketChannel_closure0.prototype = {
    call$1: function(_) {
      var t1 = this.$this._html0$_controller;
      t1.get$_local().get$sink().addError$1(new E.WebSocketChannelException("WebSocket connection failed."));
      t1.get$_local().get$sink().close$0(0);
    },
    $signature: 9
  };
  A.HtmlWebSocketChannel_closure1.prototype = {
    call$1: function($event) {
      var data = new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.data, true);
      if (type$.ByteBuffer._is(data))
        data = J.asUint8List$0$x(data);
      this.$this._html0$_controller.get$_local().get$sink().add$1(0, data);
    },
    $signature: 1113
  };
  A.HtmlWebSocketChannel_closure2.prototype = {
    call$1: function($event) {
      var t1 = this.$this;
      t1._closeCode = $event.code;
      $event.reason;
      t1._html0$_controller.get$_local().get$sink().close$0(0);
    },
    $signature: 1114
  };
  A.HtmlWebSocketChannel__listen_closure.prototype = {
    call$0: function() {
      this.$this._html0$_webSocket.close();
    },
    "call*": "call$0",
    $requiredArgCount: 0,
    $signature: 0
  };
  A._HtmlWebSocketSink.prototype = {
    close$0: function(_) {
      var t1 = this._html0$_channel;
      t1._localCloseReason = t1._localCloseCode = null;
      return this.super$DelegatingStreamSink$close(0);
    }
  };
  N.WebSocketChannel.prototype = {
    get$stream: function(_) {
      return new P.StreamView(this._webSocket, type$.StreamView_dynamic);
    },
    get$sink: function() {
      var t1 = this._webSocket;
      return new N.WebSocketSink(t1, t1);
    }
  };
  N.WebSocketSink.prototype = {
    close$0: function(_) {
      return this._webSocket.close$2(0, null, null);
    }
  };
  E.WebSocketChannelException.prototype = {
    toString$0: function(_) {
      var t1 = "WebSocketChannelException: " + this.message;
      return t1;
    },
    $isException: 1,
    get$message: function(receiver) {
      return this.message;
    }
  };
  (function aliases() {
    var _ = H._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;
    _ = H.CkCanvas.prototype;
    _.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$restoreToCount = _.restoreToCount$1;
    _.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;
    _ = H.ContainerLayer.prototype;
    _.super$ContainerLayer$preroll = _.preroll$2;
    _ = H._DomClip.prototype;
    _.super$_DomClip$createElement = _.createElement$0;
    _ = H.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$0;
    _ = H.PersistedContainerSurface.prototype;
    _.super$PersistedContainerSurface$recomputeTransformAndClip = _.recomputeTransformAndClip$0;
    _.super$PersistedContainerSurface$update = _.update$1;
    _.super$PersistedContainerSurface$discard = _.discard$0;
    _ = H.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.JavaScriptObject.prototype;
    _.super$JavaScriptObject$toString = _.toString$0;
    _ = H.JsLinkedHashMap.prototype;
    _.super$JsLinkedHashMap$internalContainsKey = _.internalContainsKey$1;
    _.super$JsLinkedHashMap$internalGet = _.internalGet$1;
    _.super$JsLinkedHashMap$internalSet = _.internalSet$2;
    _.super$JsLinkedHashMap$internalRemove = _.internalRemove$1;
    _ = P._BroadcastStreamController.prototype;
    _.super$_BroadcastStreamController$_addEventError = _._addEventError$0;
    _.super$_BroadcastStreamController$add = _.add$1;
    _.super$_BroadcastStreamController$close = _.close$0;
    _.super$_BroadcastStreamController$_callOnCancel = _._callOnCancel$0;
    _ = P._BufferingStreamSubscription.prototype;
    _.super$_BufferingStreamSubscription$_add = _._async$_add$1;
    _.super$_BufferingStreamSubscription$_addError = _._addError$2;
    _ = P._HashMap.prototype;
    _.super$_HashMap$_containsKey = _._containsKey$1;
    _.super$_HashMap$_get = _._get$1;
    _.super$_HashMap$_set = _._set$2;
    _.super$_HashMap$_remove = _._remove$1;
    _ = P.ListMixin.prototype;
    _.super$ListMixin$setRange = _.setRange$4;
    _ = P.Iterable.prototype;
    _.super$Iterable$where = _.where$1;
    _.super$Iterable$skipWhile = _.skipWhile$1;
    _ = P.Object.prototype;
    _.super$Object$$eq = _.$eq;
    _.super$Object$toString = _.toString$0;
    _ = W.Element.prototype;
    _.super$Element$createFragment = _.createFragment$3$treeSanitizer$validator;
    _ = W.EventTarget.prototype;
    _.super$EventTarget$addEventListener = _.addEventListener$3;
    _ = W._SimpleNodeValidator.prototype;
    _.super$_SimpleNodeValidator$allowsAttribute = _.allowsAttribute$3;
    _ = P.JsObject.prototype;
    _.super$JsObject$$index = _.$index;
    _.super$JsObject$$indexSet = _.$indexSet;
    _ = P._JsArray_JsObject_ListMixin.prototype;
    _.super$_JsArray_JsObject_ListMixin$$indexSet = _.$indexSet;
    _ = P.Color.prototype;
    _.super$Color$$eq = _.$eq;
    _.super$Color$toString = _.toString$0;
    _ = O.DelegatingStreamSink.prototype;
    _.super$DelegatingStreamSink$close = _.close$0;
    _ = Y.DelegatingStreamSubscription.prototype;
    _.super$DelegatingStreamSubscription$onError = _.onError$1;
    _.super$DelegatingStreamSubscription$cancel = _.cancel$0;
    _ = R.__AppSizeBodyState_State_AutoDisposeMixin.prototype;
    _.super$__AppSizeBodyState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = R.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin.prototype;
    _.super$__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _.super$__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = K.DisposableController.prototype;
    _.super$DisposableController$dispose = _.dispose$0;
    _ = S.FlameChartState.prototype;
    _.super$FlameChartState$initState = _.initState$0;
    _.super$FlameChartState$initFlameChartElements = _.initFlameChartElements$0;
    _ = S._FlameChartState_State_AutoDisposeMixin.prototype;
    _.super$_FlameChartState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = S._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin.prototype;
    _.super$_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = S._ScrollingFlameChartRowState_State_AutoDisposeMixin.prototype;
    _.super$_ScrollingFlameChartRowState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = V.DragAndDropManager.prototype;
    _.super$DragAndDropManager$init = _.init$0;
    _ = F.__CustomPointerScrollableState_State_TickerProviderStateMixin.prototype;
    _.super$__CustomPointerScrollableState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$__CustomPointerScrollableState_State_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = K.__CodeViewState_State_AutoDisposeMixin.prototype;
    _.super$__CodeViewState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = K.__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _.super$__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin$dispose = _.dispose$0;
    _ = A._DebuggerScreenBodyState_State_AutoDisposeMixin.prototype;
    _.super$_DebuggerScreenBodyState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = R.__ExpressionEvalFieldState_State_SearchFieldMixin.prototype;
    _.super$__ExpressionEvalFieldState_State_SearchFieldMixin$initState = _.initState$0;
    _.super$__ExpressionEvalFieldState_State_SearchFieldMixin$dispose = _.dispose$0;
    _ = R.__ExpressionEvalFieldState_State_SearchFieldMixin_AutoDisposeMixin.prototype;
    _.super$__ExpressionEvalFieldState_State_SearchFieldMixin_AutoDisposeMixin$dispose = _.dispose$0;
    _ = F.__VMFlagsDialogState_State_AutoDisposeMixin.prototype;
    _.super$__VMFlagsDialogState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.ExtentDelegate.prototype;
    _.super$ExtentDelegate$recompute = _.recompute$0;
    _ = B.__InitializerState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__InitializerState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = Z._InspectorController_DisposableController_AutoDisposeControllerMixin.prototype;
    _.super$_InspectorController_DisposableController_AutoDisposeControllerMixin$dispose = _.dispose$0;
    _ = B._InspectorScreenBodyState_State_BlockingActionMixin.prototype;
    _.super$_InspectorScreenBodyState_State_BlockingActionMixin$dispose = _.dispose$0;
    _ = B._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin.prototype;
    _.super$_InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin$dispose = _.dispose$0;
    _ = D.__InspectorDetailsTabControllerState_State_TickerProviderStateMixin.prototype;
    _.super$__InspectorDetailsTabControllerState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = E._InspectorService_DisposableController_AutoDisposeControllerMixin.prototype;
    _.super$_InspectorService_DisposableController_AutoDisposeControllerMixin$dispose = _.dispose$0;
    _ = X.__InspectorTreeRowState_State_TickerProviderStateMixin.prototype;
    _.super$__InspectorTreeRowState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = X.__InspectorTreeState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__InspectorTreeState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = X.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin.prototype;
    _.super$__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _ = X.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin.prototype;
    _.super$__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin$dispose = _.dispose$0;
    _ = N.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin.prototype;
    _.super$__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _ = E._LayoutExplorerWidgetState_State_TickerProviderStateMixin.prototype;
    _.super$_LayoutExplorerWidgetState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = Y.__LandingScreenBodyState_State_BlockingActionMixin.prototype;
    _.super$__LandingScreenBodyState_State_BlockingActionMixin$dispose = _.dispose$0;
    _ = M.__LoggingScreenState_State_AutoDisposeMixin.prototype;
    _.super$__LoggingScreenState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = M.__LoggingScreenState_State_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$__LoggingScreenState_State_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _ = D._HeapTreeViewState_State_AutoDisposeMixin.prototype;
    _.super$_HeapTreeViewState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = D._HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$_HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _.super$_HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin$dispose = _.dispose$0;
    _ = D._HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin.prototype;
    _.super$_HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$_HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = L._MemoryBodyState_State_AutoDisposeMixin.prototype;
    _.super$_MemoryBodyState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = L._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin.prototype;
    _.super$_MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _.super$_MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = Y.__NetworkScreenBodyState_State_AutoDisposeMixin.prototype;
    _.super$__NetworkScreenBodyState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = Y.__NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$__NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _.super$__NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin$dispose = _.dispose$0;
    _ = Y.__NotificationState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__NotificationState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = S.__FlutterFramesChartState_State_AutoDisposeMixin.prototype;
    _.super$__FlutterFramesChartState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = S.__LegacyFlutterFramesChartState_State_AutoDisposeMixin.prototype;
    _.super$__LegacyFlutterFramesChartState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = Y.LegacyTimelineEvent.prototype;
    _.super$LegacyTimelineEvent$addChild = _.addChild$1;
    _ = Y.__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin.prototype;
    _.super$__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = Y.TimelineEvent0.prototype;
    _.super$TimelineEvent$addChild = _.addChild$1;
    _ = Y.__TimelineFlameChartContainerState_State_AutoDisposeMixin.prototype;
    _.super$__TimelineFlameChartContainerState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = V.__CpuProfilerState_State_TickerProviderStateMixin.prototype;
    _.super$__CpuProfilerState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = V.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin.prototype;
    _.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin$dispose = _.dispose$0;
    _ = V.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin$dispose = _.dispose$0;
    _ = M._DevToolsScaffoldState_State_AutoDisposeMixin.prototype;
    _.super$_DevToolsScaffoldState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = M._DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin.prototype;
    _.super$_DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$_DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = S._TreeTableState_State_TickerProviderStateMixin.prototype;
    _.super$_TreeTableState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = S._TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin.prototype;
    _.super$_TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin$dispose = _.dispose$0;
    _ = S.__TableRowState_State_TickerProviderStateMixin.prototype;
    _.super$__TableRowState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = S.__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;
    _ = S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin.prototype;
    _.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin$dispose = _.dispose$0;
    _ = S.__TableState_State_AutoDisposeMixin.prototype;
    _.super$__TableState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = K.ColumnData.prototype;
    _.super$ColumnData$compare = _.compare$2;
    _ = Y.__TreeViewItemState_State_TickerProviderStateMixin.prototype;
    _.super$__TreeViewItemState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = X.TreeNode.prototype;
    _.super$TreeNode$expand = _.expand$0;
    _.super$TreeNode$leaf = _.leaf$0;
    _ = X.Animation0.prototype;
    _.super$Animation$toStringDetails = _.toStringDetails$0;
    _ = S.AnimationWithParentMixin.prototype;
    _.super$AnimationWithParentMixin$removeListener = _.removeListener$1;
    _.super$AnimationWithParentMixin$removeStatusListener = _.removeStatusListener$1;
    _ = Z.ParametricCurve.prototype;
    _.super$ParametricCurve$transform = _.transform$1;
    _ = S.AnimationEagerListenerMixin.prototype;
    _.super$AnimationEagerListenerMixin$dispose = _.dispose$0;
    _ = F.__CupertinoActivityIndicatorState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__CupertinoActivityIndicatorState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = N.__CupertinoSwitchState_State_TickerProviderStateMixin.prototype;
    _.super$__CupertinoSwitchState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = N.BindingBase.prototype;
    _.super$BindingBase$initInstances = _.initInstances$0;
    _.super$BindingBase$initServiceExtensions = _.initServiceExtensions$0;
    _.super$BindingBase$unlocked = _.unlocked$0;
    _ = B.ChangeNotifier.prototype;
    _.super$ChangeNotifier$addListener = _.addListener$1;
    _.super$ChangeNotifier$removeListener = _.removeListener$1;
    _.super$ChangeNotifier$dispose = _.dispose$0;
    _.super$ChangeNotifier$notifyListeners = _.notifyListeners$0;
    _ = B.ValueNotifier.prototype;
    _.super$ValueNotifier$value = _.set$value;
    _ = Y.Diagnosticable.prototype;
    _.super$Diagnosticable$toStringShort = _.toStringShort$0;
    _.super$Diagnosticable$debugFillProperties = _.debugFillProperties$1;
    _ = Y.DiagnosticableTree.prototype;
    _.super$DiagnosticableTree$toDiagnosticsNode = _.toDiagnosticsNode$2$name$style;
    _ = Y.DiagnosticableTreeMixin.prototype;
    _.super$DiagnosticableTreeMixin$toStringDeep = _.toStringDeep$3$minLevel$prefixLineOne$prefixOtherLines;
    _.super$DiagnosticableTreeMixin$toStringShort = _.toStringShort$0;
    _ = B.AbstractNode.prototype;
    _.super$AbstractNode$attach = _.attach$1;
    _.super$AbstractNode$detach = _.detach$0;
    _.super$AbstractNode$adoptChild = _.adoptChild$1;
    _.super$AbstractNode$dropChild = _.dropChild$1;
    _ = N.GestureBinding.prototype;
    _.super$GestureBinding$hitTest = _.hitTest$2;
    _.super$GestureBinding$dispatchEvent = _.dispatchEvent$2;
    _ = T.LongPressGestureRecognizer.prototype;
    _.super$LongPressGestureRecognizer$isPointerAllowed = _.isPointerAllowed$1;
    _ = S.GestureRecognizer.prototype;
    _.super$GestureRecognizer$isPointerAllowed = _.isPointerAllowed$1;
    _.super$GestureRecognizer$dispose = _.dispose$0;
    _ = S.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;
    _ = S.PrimaryPointerGestureRecognizer.prototype;
    _.super$PrimaryPointerGestureRecognizer$addAllowedPointer = _.addAllowedPointer$1;
    _.super$PrimaryPointerGestureRecognizer$acceptGesture = _.acceptGesture$1;
    _.super$PrimaryPointerGestureRecognizer$rejectGesture = _.rejectGesture$1;
    _ = N.BaseTapGestureRecognizer.prototype;
    _.super$BaseTapGestureRecognizer$rejectGesture = _.rejectGesture$1;
    _ = N.TapGestureRecognizer.prototype;
    _.super$TapGestureRecognizer$isPointerAllowed = _.isPointerAllowed$1;
    _ = K.__ButtonStyleState_State_TickerProviderStateMixin.prototype;
    _.super$__ButtonStyleState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = K.__CheckboxState_State_TickerProviderStateMixin.prototype;
    _.super$__CheckboxState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = K.__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin.prototype;
    _.super$__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin$initState = _.initState$0;
    _.super$__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin$dispose = _.dispose$0;
    _ = O.__ExpansionTileState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__ExpansionTileState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _.super$__ExpansionTileState_State_SingleTickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = R.InkResponse.prototype;
    _.super$InkResponse$debugCheckContext = _.debugCheckContext$1;
    _ = R.__InkResponseState_State_AutomaticKeepAliveClientMixin.prototype;
    _.super$__InkResponseState_State_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _.super$__InkResponseState_State_AutomaticKeepAliveClientMixin$deactivate = _.deactivate$0;
    _ = L.__BorderContainerState_State_TickerProviderStateMixin.prototype;
    _.super$__BorderContainerState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = L.__HelperErrorState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__HelperErrorState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = L.__InputDecoratorState_State_TickerProviderStateMixin.prototype;
    _.super$__InputDecoratorState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$__InputDecoratorState_State_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = M.InkFeature.prototype;
    _.super$InkFeature$dispose = _.dispose$0;
    _ = E.__NavigationRailState_State_TickerProviderStateMixin.prototype;
    _.super$__NavigationRailState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = U.__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = U.__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = M._ScaffoldMessengerState_State_TickerProviderStateMixin.prototype;
    _.super$_ScaffoldMessengerState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$_ScaffoldMessengerState_State_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = M._ScaffoldState_State_TickerProviderStateMixin.prototype;
    _.super$_ScaffoldState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$_ScaffoldState_State_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = M._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;
    _ = M.__FloatingActionButtonTransitionState_State_TickerProviderStateMixin.prototype;
    _.super$__FloatingActionButtonTransitionState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = O.__SelectableTextState_State_AutomaticKeepAliveClientMixin.prototype;
    _.super$__SelectableTextState_State_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _ = N.__MaterialSwitchState_State_TickerProviderStateMixin.prototype;
    _.super$__MaterialSwitchState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = N.__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin.prototype;
    _.super$__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin$dispose = _.dispose$0;
    _ = U.__DefaultTabControllerState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__DefaultTabControllerState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = Z.__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;
    _ = F.ToggleablePainter.prototype;
    _.super$ToggleablePainter$dispose = _.dispose$0;
    _ = S.__TooltipState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__TooltipState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = K.AlignmentGeometry.prototype;
    _.super$AlignmentGeometry$add = _.add$1;
    _ = K.BorderRadiusGeometry.prototype;
    _.super$BorderRadiusGeometry$subtract = _.subtract$1;
    _.super$BorderRadiusGeometry$add = _.add$1;
    _ = Y.ShapeBorder.prototype;
    _.super$ShapeBorder$lerpFrom = _.lerpFrom$2;
    _.super$ShapeBorder$lerpTo = _.lerpTo$2;
    _ = Z.Decoration.prototype;
    _.super$Decoration$lerpFrom = _.lerpFrom$2;
    _.super$Decoration$lerpTo = _.lerpTo$2;
    _ = Z.BoxPainter.prototype;
    _.super$BoxPainter$dispose = _.dispose$0;
    _ = V.EdgeInsetsGeometry.prototype;
    _.super$EdgeInsetsGeometry$add = _.add$1;
    _ = E._CachedImageBase.prototype;
    _.super$_CachedImageBase$dispose = _.dispose$0;
    _ = L.ImageStreamCompleter.prototype;
    _.super$ImageStreamCompleter$addListener = _.addListener$1;
    _.super$ImageStreamCompleter$removeListener = _.removeListener$1;
    _ = G.InlineSpan.prototype;
    _.super$InlineSpan$$eq = _.$eq;
    _ = M.SpringSimulation.prototype;
    _.super$SpringSimulation$x = _.x$1;
    _ = N.RendererBinding.prototype;
    _.super$RendererBinding$handleMetricsChanged = _.handleMetricsChanged$0;
    _.super$RendererBinding$handlePlatformBrightnessChanged = _.handlePlatformBrightnessChanged$0;
    _.super$RendererBinding$drawFrame = _.drawFrame$0;
    _ = S.BoxConstraints.prototype;
    _.super$BoxConstraints$$eq = _.$eq;
    _ = S.BoxParentData.prototype;
    _.super$BoxParentData$toString = _.toString$0;
    _ = S.RenderBox.prototype;
    _.super$RenderBox$computeDistanceToActualBaseline = _.computeDistanceToActualBaseline$1;
    _.super$RenderBox$performResize = _.performResize$0;
    _.super$RenderBox$hitTest = _.hitTest$2$position;
    _.super$RenderBox$applyPaintTransform = _.applyPaintTransform$2;
    _ = B._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin.prototype;
    _.super$_RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin$attach = _.attach$1;
    _.super$_RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin$detach = _.detach$0;
    _ = D._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin.prototype;
    _.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin$attach = _.attach$1;
    _.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin$detach = _.detach$0;
    _ = F.RenderFlex.prototype;
    _.super$RenderFlex$performLayout = _.performLayout$0;
    _ = T.Layer0.prototype;
    _.super$Layer$updateSubtreeNeedsAddToScene = _.updateSubtreeNeedsAddToScene$0;
    _ = T.ContainerLayer0.prototype;
    _.super$ContainerLayer$findAnnotations = _.findAnnotations$1$3$onlyFirst;
    _.super$ContainerLayer$attach = _.attach$1;
    _.super$ContainerLayer$detach = _.detach$0;
    _ = T.OffsetLayer.prototype;
    _.super$OffsetLayer$findAnnotations = _.findAnnotations$1$3$onlyFirst;
    _ = K.ParentData.prototype;
    _.super$ParentData$detach = _.detach$0;
    _ = K.RenderObject.prototype;
    _.super$RenderObject$adoptChild = _.adoptChild$1;
    _.super$RenderObject$attach = _.attach$1;
    _.super$RenderObject$markNeedsLayout = _.markNeedsLayout$0;
    _.super$RenderObject$markNeedsPaint = _.markNeedsPaint$0;
    _.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;
    _ = K.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;
    _ = K.RelayoutWhenSystemFontsChangeMixin.prototype;
    _.super$RelayoutWhenSystemFontsChangeMixin$systemFontsDidChange = _.systemFontsDidChange$0;
    _ = Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin.prototype;
    _.super$_RenderParagraph_RenderBox_ContainerRenderObjectMixin$attach = _.attach$1;
    _.super$_RenderParagraph_RenderBox_ContainerRenderObjectMixin$detach = _.detach$0;
    _ = E.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;
    _ = E._RenderProxyBox_RenderBox_RenderObjectWithChildMixin.prototype;
    _.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$attach = _.attach$1;
    _.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach = _.detach$0;
    _ = E._RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin.prototype;
    _.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin$computeDistanceToActualBaseline = _.computeDistanceToActualBaseline$1;
    _ = T.RenderShiftedBox.prototype;
    _.super$RenderShiftedBox$paint = _.paint$2;
    _ = T._RenderShiftedBox_RenderBox_RenderObjectWithChildMixin.prototype;
    _.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$attach = _.attach$1;
    _.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$detach = _.detach$0;
    _ = G.SliverLogicalParentData.prototype;
    _.super$SliverLogicalParentData$toString = _.toString$0;
    _ = F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin.prototype;
    _.super$_RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin$attach = _.attach$1;
    _.super$_RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin$detach = _.detach$0;
    _ = T.RenderSliverEdgeInsetsPadding.prototype;
    _.super$RenderSliverEdgeInsetsPadding$performLayout = _.performLayout$0;
    _ = Q._RenderViewportBase_RenderBox_ContainerRenderObjectMixin.prototype;
    _.super$_RenderViewportBase_RenderBox_ContainerRenderObjectMixin$attach = _.attach$1;
    _.super$_RenderViewportBase_RenderBox_ContainerRenderObjectMixin$detach = _.detach$0;
    _ = N.ViewportOffset.prototype;
    _.super$ViewportOffset$moveTo = _.moveTo$3$curve$duration;
    _.super$ViewportOffset$debugFillDescription = _.debugFillDescription$1;
    _ = N.SchedulerBinding.prototype;
    _.super$SchedulerBinding$handleAppLifecycleStateChanged = _.handleAppLifecycleStateChanged$1;
    _ = M.Ticker.prototype;
    _.super$Ticker$dispose = _.dispose$0;
    _ = Q.AssetBundle.prototype;
    _.super$AssetBundle$loadString = _.loadString$2$cache;
    _ = N.ServicesBinding.prototype;
    _.super$ServicesBinding$handleMemoryPressure = _.handleMemoryPressure$0;
    _.super$ServicesBinding$handleSystemMessage = _.handleSystemMessage$1;
    _ = A.MethodChannel.prototype;
    _.super$MethodChannel$_invokeMethod = _._invokeMethod$1$3$arguments$missingOk;
    _ = U.__AnimatedCrossFadeState_State_TickerProviderStateMixin.prototype;
    _.super$__AnimatedCrossFadeState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = L.AutomaticKeepAliveClientMixin.prototype;
    _.super$AutomaticKeepAliveClientMixin$build = _.build$1;
    _ = T.Flex.prototype;
    _.super$Flex$updateRenderObject = _.updateRenderObject$2;
    _ = N._WidgetsFlutterBinding_BindingBase_GestureBinding.prototype;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding$initInstances = _.initInstances$0;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding$unlocked = _.unlocked$0;
    _ = N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding.prototype;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding$initInstances = _.initInstances$0;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding$initServiceExtensions = _.initServiceExtensions$0;
    _ = N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding.prototype;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding$initInstances = _.initInstances$0;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding$initServiceExtensions = _.initServiceExtensions$0;
    _ = N._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;
    _ = N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding.prototype;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding$initInstances = _.initInstances$0;
    _ = N._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;
    _ = Q.__DismissibleState_State_TickerProviderStateMixin.prototype;
    _.super$__DismissibleState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = Q.__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin.prototype;
    _.super$__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _ = D._EditableTextState_State_AutomaticKeepAliveClientMixin.prototype;
    _.super$_EditableTextState_State_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _ = D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin.prototype;
    _.super$_EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$_EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = U.FocusTraversalPolicy.prototype;
    _.super$FocusTraversalPolicy$invalidateScopeData = _.invalidateScopeData$1;
    _.super$FocusTraversalPolicy$changedScope = _.changedScope$2$node$oldScope;
    _ = N.State.prototype;
    _.super$State$initState = _.initState$0;
    _.super$State$didUpdateWidget = _.didUpdateWidget$1;
    _.super$State$deactivate = _.deactivate$0;
    _.super$State$activate = _.activate$0;
    _.super$State$dispose = _.dispose$0;
    _.super$State$didChangeDependencies = _.didChangeDependencies$0;
    _ = N.Element0.prototype;
    _.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;
    _ = N.ComponentElement.prototype;
    _.super$ComponentElement$mount = _.mount$2;
    _.super$ComponentElement$_firstBuild = _._firstBuild$0;
    _.super$ComponentElement$performRebuild = _.performRebuild$0;
    _ = N.StatelessElement.prototype;
    _.super$StatelessElement$build = _.build$0;
    _ = N.ProxyElement.prototype;
    _.super$ProxyElement$build = _.build$0;
    _.super$ProxyElement$update = _.update$1;
    _.super$ProxyElement$updated = _.updated$1;
    _ = N.InheritedElement.prototype;
    _.super$InheritedElement$updated = _.updated$1;
    _.super$InheritedElement$notifyClients = _.notifyClients$1;
    _ = N.RenderObjectElement.prototype;
    _.super$RenderObjectElement$mount = _.mount$2;
    _.super$RenderObjectElement$update = _.update$1;
    _.super$RenderObjectElement$performRebuild = _.performRebuild$0;
    _.super$RenderObjectElement$unmount = _.unmount$0;
    _ = N.RootRenderObjectElement.prototype;
    _.super$RootRenderObjectElement$mount = _.mount$2;
    _ = N.MultiChildRenderObjectElement.prototype;
    _.super$MultiChildRenderObjectElement$mount = _.mount$2;
    _.super$MultiChildRenderObjectElement$update = _.update$1;
    _ = G.ImplicitlyAnimatedWidgetState.prototype;
    _.super$ImplicitlyAnimatedWidgetState$initState = _.initState$0;
    _ = G.AnimatedWidgetBaseState.prototype;
    _.super$AnimatedWidgetBaseState$initState = _.initState$0;
    _ = G._ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin.prototype;
    _.super$_ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = K.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;
    _ = K._RestorationInformation.prototype;
    _.super$_RestorationInformation$computeSerializableData = _.computeSerializableData$0;
    _ = K._NavigatorState_State_TickerProviderStateMixin.prototype;
    _.super$_NavigatorState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$_NavigatorState_State_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = K._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;
    _ = U.Notification1.prototype;
    _.super$Notification$visitAncestor = _.visitAncestor$1;
    _.super$Notification$debugFillDescription = _.debugFillDescription$1;
    _ = L._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin.prototype;
    _.super$_OverscrollIndicatorNotification_Notification_ViewportNotificationMixin$debugFillDescription = _.debugFillDescription$1;
    _ = L.__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin.prototype;
    _.super$__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = K.RestorableProperty.prototype;
    _.super$RestorableProperty$dispose = _.dispose$0;
    _ = K.RestorationMixin.prototype;
    _.super$RestorationMixin$didToggleBucket = _.didToggleBucket$1;
    _ = U.RestorableValue.prototype;
    _.super$RestorableValue$value = _.set$value;
    _ = U._RestorablePrimitiveValueN.prototype;
    _.super$_RestorablePrimitiveValueN$fromPrimitives = _.fromPrimitives$1;
    _.super$_RestorablePrimitiveValueN$toPrimitives = _.toPrimitives$0;
    _ = U.RestorableListenable.prototype;
    _.super$RestorableListenable$initWithValue = _.initWithValue$1;
    _.super$RestorableListenable$dispose = _.dispose$0;
    _ = Z._CallbackHookProvider.prototype;
    _.super$_CallbackHookProvider$addCallback = _.addCallback$1;
    _.super$_CallbackHookProvider$removeCallback = _.removeCallback$1;
    _.super$_CallbackHookProvider$invokeCallback = _.invokeCallback$1;
    _ = Z.__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;
    _ = T.OverlayRoute.prototype;
    _.super$OverlayRoute$install = _.install$0;
    _.super$OverlayRoute$didPop = _.didPop$1;
    _.super$OverlayRoute$dispose = _.dispose$0;
    _ = T.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;
    _ = T._ModalRoute_TransitionRoute_LocalHistoryRoute.prototype;
    _.super$_ModalRoute_TransitionRoute_LocalHistoryRoute$willPop = _.willPop$0;
    _ = M.ScrollActivity.prototype;
    _.super$ScrollActivity$dispose = _.dispose$0;
    _ = F.ScrollController.prototype;
    _.super$ScrollController$attach = _.attach$1;
    _.super$ScrollController$dispose = _.dispose$0;
    _ = G.ScrollNotification.prototype;
    _.super$ScrollNotification$debugFillDescription = _.debugFillDescription$1;
    _ = G._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin.prototype;
    _.super$_ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin$debugFillDescription = _.debugFillDescription$1;
    _ = L.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;
    _ = R.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;
    _ = F._ScrollableState_State_TickerProviderStateMixin.prototype;
    _.super$_ScrollableState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$_ScrollableState_State_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = F._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;
    _ = E.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;
    _ = E._RawScrollbarState_State_TickerProviderStateMixin.prototype;
    _.super$_RawScrollbarState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _.super$_RawScrollbarState_State_TickerProviderStateMixin$didChangeDependencies = _.didChangeDependencies$0;
    _ = E.__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin.prototype;
    _.super$__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin$attach = _.attach$1;
    _.super$__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin$detach = _.detach$0;
    _ = F.TextSelectionGestureDetectorBuilder.prototype;
    _.super$TextSelectionGestureDetectorBuilder$onForcePressStart = _.onForcePressStart$1;
    _ = F.__TextSelectionHandleOverlayState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__TextSelectionHandleOverlayState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = G.BaseRequest.prototype;
    _.super$BaseRequest$finalize = _.finalize$0;
    _ = S.NumberFormat.prototype;
    _.super$NumberFormat$format = _.format$1;
    _.super$NumberFormat$_fractionDigitsAfter = _._fractionDigitsAfter$1;
    _ = Y._DelegateState.prototype;
    _.super$_DelegateState$dispose = _.dispose$0;
    _.super$_DelegateState$build = _.build$1$isBuildFromExternalSources;
    _ = L.ProviderStateBase.prototype;
    _.super$ProviderStateBase$dispose = _.dispose$0;
    _ = Y.SourceSpanMixin.prototype;
    _.super$SourceSpanMixin$compareTo = _.compareTo$1;
    _.super$SourceSpanMixin$$eq = _.$eq;
    _ = L.StateNotifier.prototype;
    _.super$StateNotifier$state = _.set$state;
    _ = X.StringScanner.prototype;
    _.super$StringScanner$position = _.set$position;
    _.super$StringScanner$readChar = _.readChar$0;
    _.super$StringScanner$scan = _.scan$1;
    _ = Q.InstanceRef.prototype;
    _.super$InstanceRef$toJson = _.toJson$0;
    _ = Q.Instance.prototype;
    _.super$Instance$toJson = _.toJson$0;
    _ = Q.ObjRef.prototype;
    _.super$ObjRef$toJson = _.toJson$0;
    _ = Q.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,
      _instance_0_i = hunkHelpers._instance_0i,
      _instance_2_i = hunkHelpers._instance_2i,
      _instance_2_u = hunkHelpers._instance_2u,
      _static_2 = hunkHelpers._static_2,
      _static = hunkHelpers.installStaticTearOff,
      _instance = hunkHelpers.installInstanceTearOff;
    _static_0(H, "_engine_SkiaObjects_postFrameCleanUp$closure", "SkiaObjects_postFrameCleanUp", 0);
    _static_1(H, "_engine_BitmapCanvas__onEvictElement$closure", "BitmapCanvas__onEvictElement", 1115);
    _static_1(H, "_engine___noopCallback$closure", "_noopCallback", 33);
    _static_1(H, "_engine___newlinePredicate$closure", "_newlinePredicate", 72);
    _static_1(H, "_engine___emptyCallback$closure", "_emptyCallback", 13);
    _instance_0_u(H.AlarmClock.prototype, "get$_timerDidFire", "_timerDidFire$0", 0);
    _instance_0_u(H.FallbackFontDownloadQueue.prototype, "get$startDownloads", "startDownloads$0", 88);
    _instance_1_u(H.SkiaFontCollection.prototype, "get$_getArrayBuffer", "_getArrayBuffer$1", 757);
    var _;
    _instance_1_u(_ = H.DomRenderer.prototype, "get$_metricsDidChange", "_metricsDidChange$1", 449);
    _instance_1_u(_, "get$_languageDidChange", "_languageDidChange$1", 10);
    _instance_1_u(H.KeyboardBinding.prototype, "get$_onKeyData", "_onKeyData$1", 755);
    _instance_1_i(H.MultiEntriesBrowserHistory.prototype, "get$onPopState", "onPopState$1", 4);
    _instance_1_i(H.SingleEntryBrowserHistory.prototype, "get$onPopState", "onPopState$1", 4);
    _instance_1_u(H.PointerBinding.prototype, "get$_onPointerData", "_onPointerData$1", 1032);
    _instance_0_i(H.RulerHost.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_ = H.DefaultTextEditingStrategy.prototype, "get$_handleChange", "_handleChange$1", 10);
    _instance_1_u(_, "get$_maybeSendAction", "_maybeSendAction$1", 10);
    _instance_2_i(H.Matrix40.prototype, "get$index", "index$2", 71);
    _instance_2_u(H.WebExperiments.prototype, "get$updateExperiment", "updateExperiment$2", 550);
    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 185);
    _instance_1_i(J.JSArray.prototype, "get$addAll", "addAll$1", 4);
    _instance_1_u(H.CastStreamSubscription.prototype, "get$__internal$_onData", "__internal$_onData$1", 4);
    _instance_1_i(H._CastIterableBase.prototype, "get$contains", "contains$1", 41);
    _static_0(H, "_js_helper_Primitives_dateNow$closure", "Primitives_dateNow", 116);
    _static_1(H, "_js_helper___matchString$closure", "_matchString", 123);
    _static_1(H, "_js_helper___stringIdentity$closure", "_stringIdentity", 19);
    _instance_1_i(H.JsLinkedHashMap.prototype, "get$remove", "remove$1", "2?(Object?)");
    _static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 109);
    _static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 109);
    _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 109);
    _static_1(P, "async_Future__kTrue$closure", "Future__kTrue", 41);
    _static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
    _static_1(P, "async___nullDataHandler$closure", "_nullDataHandler", 13);
    _static_2(P, "async___nullErrorHandler$closure", "_nullErrorHandler", 50);
    _static_0(P, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
    _static(P, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 1118, 0);
    _static(P, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) {
      return P._rootRun($self, $parent, zone, f, type$.dynamic);
    }], 1119, 1);
    _static(P, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) {
      return P._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic);
    }], 1120, 1);
    _static(P, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
      return P._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic);
    }], 1121, 1);
    _static(P, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) {
      return P._rootRegisterCallback($self, $parent, zone, f, type$.dynamic);
    }], 1122, 0);
    _static(P, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) {
      return P._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic);
    }], 1123, 0);
    _static(P, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) {
      return P._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic);
    }], 1124, 0);
    _static(P, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 1125, 0);
    _static(P, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 1126, 0);
    _static(P, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 1127, 0);
    _static(P, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 1128, 0);
    _static(P, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 1129, 0);
    _static_1(P, "async___printToZone$closure", "_printToZone", 122);
    _static(P, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 1130, 0);
    _instance_0_u(_ = P._BroadcastSubscription.prototype, "get$_onPause", "_onPause$0", 0);
    _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
    _instance_1_i(_ = P._BroadcastStreamController.prototype, "get$add", "add$1", 4);
    _instance(_, "get$addError", 0, 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 83, 0);
    _instance_1_i(_, "get$_async$_add", "_async$_add$1", 4);
    _instance_2_u(_, "get$_addError", "_addError$2", 50);
    _instance_0_u(_, "get$_close", "_close$0", 0);
    _instance_1_i(_ = P._AsBroadcastStreamController.prototype, "get$add", "add$1", 4);
    _instance(_, "get$addError", 0, 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 83, 0);
    _instance_0_i(_, "get$close", "close$0", 94);
    _instance(P._Completer.prototype, "get$completeError", 0, 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 83, 0);
    _instance(P._SyncCompleter.prototype, "get$complete", 1, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 400, 0);
    _instance_2_u(P._Future.prototype, "get$_completeError", "_completeError$2", 50);
    _instance_1_i(_ = P._StreamController.prototype, "get$add", "add$1", 4);
    _instance(_, "get$addError", 0, 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 83, 0);
    _instance_0_i(_, "get$close", "close$0", 94);
    _instance_1_i(_, "get$_async$_add", "_async$_add$1", 4);
    _instance_2_u(_, "get$_addError", "_addError$2", 50);
    _instance_0_u(_, "get$_close", "_close$0", 0);
    _instance_0_u(_ = P._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0);
    _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
    _instance_1_i(P._StreamSinkWrapper.prototype, "get$add", "add$1", 4);
    _instance_0_u(_ = P._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
    _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
    _instance_0_u(P._DoneStreamSubscription.prototype, "get$_sendDone", "_sendDone$0", 0);
    _instance_0_u(_ = P._AsBroadcastStream.prototype, "get$_onCancel", "_onCancel$0", 0);
    _instance_0_u(_, "get$_onListen", "_onListen$0", 0);
    _instance_0_u(_ = P._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", 464);
    _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
    _static_2(P, "collection___defaultEquals$closure", "_defaultEquals", 131);
    _static_1(P, "collection___defaultHashCode$closure", "_defaultHashCode", 129);
    _static_2(P, "collection_ListMixin__compareAny$closure", "ListMixin__compareAny", 185);
    _static_2(P, "collection___dynamicCompare$closure", "_dynamicCompare", 185);
    _instance_1_i(P._LinkedCustomHashMap.prototype, "get$remove", "remove$1", "2?(Object?)");
    _instance(_ = P._HashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 467, 0);
    _instance_1_i(_, "get$contains", "contains$1", 41);
    _instance_1_i(_, "get$addAll", "addAll$1", 4);
    _instance(_ = P._LinkedHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 468, 0);
    _instance_1_i(_, "get$contains", "contains$1", 41);
    _instance_1_i(P.IterableMixin.prototype, "get$contains", "contains$1", 41);
    _instance_1_i(P.LinkedList.prototype, "get$add", "add$1", 4);
    _instance_1_i(P.ListQueue.prototype, "get$add", "add$1", 4);
    _instance_1_i(P.SetMixin.prototype, "get$addAll", "addAll$1", 4);
    _instance_1_i(P._UnmodifiableSetMixin.prototype, "get$addAll", "addAll$1", 4);
    _instance(_ = P._UnmodifiableSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 474, 0);
    _instance_1_i(_, "get$contains", "contains$1", 41);
    _instance(_ = P.SplayTreeSet.prototype, "get$_newSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSet$1$0", "_newSet$0"], 478, 0);
    _instance_1_i(_, "get$contains", "contains$1", 41);
    _instance_1_i(_, "get$addAll", "addAll$1", 4);
    _static_1(P, "convert___defaultToEncodable$closure", "_defaultToEncodable", 43);
    _instance_1_i(_ = P._ByteCallbackSink.prototype, "get$add", "add$1", 4);
    _instance_0_i(_, "get$close", "close$0", 0);
    _static_1(P, "core__identityHashCode$closure", "identityHashCode", 129);
    _static_2(P, "core__identical$closure", "identical", 131);
    _static_2(P, "core_Comparable_compare$closure", "Comparable_compare", 1131);
    _static_1(P, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 19);
    _instance_1_i(P.Iterable.prototype, "get$contains", "contains$1", 41);
    _instance_0_i(P.Stopwatch.prototype, "get$start", "start$0", 0);
    _instance(P.TimelineTask.prototype, "get$start", 1, 1, function() {
      return {arguments: null};
    }, ["call$2$arguments", "call$1"], ["start$2$arguments", "start$1"], 691, 0);
    _static(W, "html__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 304, 0);
    _static(W, "html__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 304, 0);
    _instance_0_i(W.CacheStorage.prototype, "get$keys", "keys$0", 94);
    _instance_2_i(W.HttpRequest.prototype, "get$setRequestHeader", "setRequestHeader$2", 52);
    _instance(W.MediaRecorder.prototype, "get$start", 1, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["start$1", "start$0"], 696, 0);
    _instance_0_i(W.PaymentInstruments.prototype, "get$keys", "keys$0", 701);
    _instance_1_i(W.Permissions.prototype, "get$query", "query$1", 705);
    _instance_0_i(W.PresentationRequest.prototype, "get$start", "start$0", 707);
    _instance_0_i(W.Sensor.prototype, "get$start", "start$0", 0);
    _instance_0_i(W.SpeechRecognition.prototype, "get$start", "start$0", 0);
    _instance_1_i(_ = W.TimeRanges.prototype, "get$end", "end$1", 278);
    _instance_1_i(_, "get$start", "start$1", 278);
    _instance_1_i(W.UnderlyingSourceBase.prototype, "get$start", "start$1", 715);
    _instance_0_i(W.VRSession.prototype, "get$end", "end$0", 94);
    _instance_1_i(W.WebSocket0.prototype, "get$send", "send$1", 13);
    _instance_1_u(W.Console0.prototype, "get$warn", "warn$1", 4);
    _instance_1_i(P.ObjectStore.prototype, "get$index", "index$1", 728);
    _static_1(P, "js___convertToJS$closure", "_convertToJS", 1133);
    _static_1(P, "js___convertToDart$closure", "_convertToDart", 338);
    _static(P, "math__max$closure", 2, null, ["call$1$2", "call$2"], ["max0", function(a, b) {
      return P.max0(a, b, type$.num);
    }], 1134, 1);
    _static(P, "ui_Size_lerp$closure", 3, null, ["call$3"], ["Size_lerp"], 1135, 0);
    _static(P, "ui__lerpDouble$closure", 3, null, ["call$3"], ["lerpDouble"], 1136, 0);
    _static(P, "ui_Color_lerp$closure", 3, null, ["call$3"], ["Color_lerp"], 1137, 0);
    _instance_1_u(P._StoredMessage.prototype, "get$invoke", "invoke$1", 33);
    _instance_0_u(P._Channel.prototype, "get$_drainStep", "_drainStep$0", 0);
    _instance(P.AudioBufferSourceNode.prototype, "get$start", 1, 0, function() {
      return [null, null, null];
    }, ["call$3", "call$1", "call$2", "call$0"], ["start$3", "start$1", "start$2", "start$0"], 750, 0);
    _instance_2_u(_ = U.DeepCollectionEquality.prototype, "get$equals", "equals$2", 131);
    _instance_1_i(_, "get$hash", "hash$1", 129);
    _instance_1_u(_, "get$isValidKey", "isValidKey$1", 41);
    _instance_0_i(R.XFileBase.prototype, "get$length", "length$0", 268);
    _instance_0_i(A.XFile.prototype, "get$length", "length$0", 268);
    _static_1(Z, "vm_service_extensions_StreamHistory_parse$closure", "StreamHistory_parse", 1138);
    _static_0(F, "analytics__gaEnabled$closure", "gaEnabled", 31);
    _static(F, "analytics__setAnalyticsEnabled$closure", 0, null, ["call$1", "call$0"], ["setAnalyticsEnabled", function() {
      return F.setAnalyticsEnabled(true);
    }], 1139, 0);
    _instance(_ = S.DevToolsAppState.prototype, "get$_getPage", 0, 3, null, ["call$3"], ["_getPage$3"], 775, 0);
    _instance(_, "get$_buildTabbedPage", 0, 3, null, ["call$3"], ["_buildTabbedPage$3"], 776, 0);
    _instance_1_u(_ = Y.AppSizeController.prototype, "get$changeAnalysisRoot", "changeAnalysisRoot$1", 132);
    _instance_1_u(_, "get$changeDiffRoot", "changeDiffRoot$1", 132);
    _instance_1_u(R._AppSizeBodyState.prototype, "get$_pushErrorMessage", "_pushErrorMessage$1", 32);
    _instance_1_u(O._CallGraphWithDominatorsState.prototype, "get$_toggleShowCallGraph", "_toggleShowCallGraph$1", 64);
    _instance_1_u(O._CallGraphViewState.prototype, "get$_selectMainNode", "_selectMainNode$1", 1074);
    _instance_0_u(N.AutoDisposeMixin.prototype, "get$_refresh", "_refresh$0", 0);
    _instance_1_u(_ = S.FlameChartState.prototype, "get$_handleMouseHover", "_handleMouseHover$1", 96);
    _instance_1_u(_, "get$_handlePointerSignal", "_handlePointerSignal$1", 191);
    _instance_0_u(_, "get$_handleZoomControllerValueUpdate", "_handleZoomControllerValueUpdate$0", 0);
    _instance_1_u(_ = S.ScrollingFlameChartRowState.prototype, "get$_handleMouseHover", "_handleMouseHover$1", 96);
    _instance_1_u(_, "get$_flame_chart$_handleTapUp", "_flame_chart$_handleTapUp$1", 1087);
    _instance_1_u(_ = T.DragAndDropManagerWeb.prototype, "get$_onDragOver", "_onDragOver$1", 148);
    _instance_1_u(_, "get$_onDragLeave", "_onDragLeave$1", 148);
    _instance_1_u(_, "get$_onDrop", "_onDrop$1", 148);
    _instance_1_u(D.ImportController.prototype, "get$importData", "importData$1", 91);
    _instance_1_u(_ = F._CustomPointerScrollableState.prototype, "get$_custom_pointer_scroll_view$_handleDragDown", "_custom_pointer_scroll_view$_handleDragDown$1", 1028);
    _instance_1_u(_, "get$_custom_pointer_scroll_view$_handleDragStart", "_custom_pointer_scroll_view$_handleDragStart$1", 1018);
    _instance_1_u(_, "get$_custom_pointer_scroll_view$_handleDragUpdate", "_custom_pointer_scroll_view$_handleDragUpdate$1", 126);
    _instance_1_u(_, "get$_custom_pointer_scroll_view$_handleDragEnd", "_custom_pointer_scroll_view$_handleDragEnd$1", 1011);
    _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", 191);
    _instance_1_u(_, "get$_custom_pointer_scroll_view$_handlePointerScroll", "_custom_pointer_scroll_view$_handlePointerScroll$1", 1003);
    _static_2(K, "codeview__showGoToLineDialog$closure", "showGoToLineDialog", 1140);
    _instance_0_u(_ = K._CodeViewState.prototype, "get$_handleScriptLocationChanged", "_handleScriptLocationChanged$0", 0);
    _instance_1_u(_, "get$_codeview$_onPressed", "_codeview$_onPressed$1", 53);
    _instance_1_u(_, "get$_buildScriptMenuFromHistory", "_buildScriptMenuFromHistory$1", 915);
    _instance_0_u(G._DebuggerConsoleState.prototype, "get$_onStdioChanged", "_onStdioChanged$0", 0);
    _instance_0_u(_ = D.DebuggerController.prototype, "get$toggleLibrariesVisible", "toggleLibrariesVisible$0", 0);
    _instance_0_u(_, "get$clearStdio", "clearStdio$0", 0);
    _instance_1_u(_, "get$switchToIsolate", "switchToIsolate$1", 198);
    _instance_0_i(_, "get$pause", "pause$0", 77);
    _instance_0_i(_, "get$resume", "resume$0", 77);
    _instance_0_u(_, "get$stepOver", "stepOver$0", 77);
    _instance_0_u(_, "get$stepIn", "stepIn$0", 77);
    _instance_0_u(_, "get$stepOut", "stepOut$0", 77);
    _instance_0_u(_, "get$clearBreakpoints", "clearBreakpoints$0", 3);
    _instance_1_u(_, "get$_debugger_controller$_handleDebugEvent", "_debugger_controller$_handleDebugEvent$1", 16);
    _instance_1_u(_, "get$_debugger_controller$_handleIsolateEvent", "_debugger_controller$_handleIsolateEvent$1", 16);
    _instance_1_u(_, "get$_handleStdoutEvent", "_handleStdoutEvent$1", 16);
    _instance_1_u(_, "get$_handleStderrEvent", "_handleStderrEvent$1", 16);
    _instance_1_u(_, "get$_createBreakpointWithLocation", "_createBreakpointWithLocation$1", 771);
    _instance_1_u(_, "get$_createStackFrameWithLocation", "_createStackFrameWithLocation$1", 770);
    _instance_1_u(_, "get$buildVariablesTree", "buildVariablesTree$1", 769);
    _instance_1_u(_ = A.DebuggerScreenBodyState.prototype, "get$_onLocationSelected", "_onLocationSelected$1", 692);
    _instance_2_u(_, "get$_toggleBreakpoint", "_toggleBreakpoint$2", 688);
    _instance_0_u(A._DebuggerStatusState.prototype, "get$_updateStatus", "_updateStatus$0", 0);
    _instance_0_u(_ = R._ExpressionEvalFieldState.prototype, "get$_handleSearch", "_handleSearch$0", 0);
    _instance_1_u(_, "get$_onSelection", "_onSelection$1", 32);
    _instance_0_u(Z.ScriptPickerState.prototype, "get$_updateFiltered", "_updateFiltered$0", 0);
    _instance_1_i(T.EnumUtils.prototype, "get$name", "name$1", 486);
    _instance_1_u(_ = G.ErrorBadgeManager.prototype, "get$_error_badge_manager$_handleExtensionEvent", "_error_badge_manager$_handleExtensionEvent$1", 16);
    _instance_1_u(_, "get$_handleStdErr", "_handleStdErr$1", 16);
    _instance_0_i(B.Disposable.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_ = B.EvalOnDartLibrary.prototype, "get$_init", "_init$1", 198);
    _instance_0_i(_, "get$dispose", "dispose$0", 0);
    _instance_0_u(_ = D._FileImportContainerState.prototype, "get$_file_import$_importFile", "_file_import$_importFile$0", 3);
    _instance_0_u(_, "get$_clearFile", "_clearFile$0", 0);
    _instance_1_u(_, "get$_handleImportedFile", "_handleImportedFile$1", 91);
    _instance_1_u(_ = D._DualFileImportContainerState.prototype, "get$onFirstFileSelected", "onFirstFileSelected$1", 91);
    _instance_1_u(_, "get$onSecondFileSelected", "onSecondFileSelected$1", 91);
    _instance_0_u(_, "get$onFirstFileCleared", "onFirstFileCleared$0", 0);
    _instance_0_u(_, "get$onSecondFileCleared", "onSecondFileCleared$0", 0);
    _instance_0_u(T._LinkedScrollControllerGroupOffsetNotifier.prototype, "get$notifyListeners", "notifyListeners$0", 0);
    _instance_0_i(T._LinkedScrollController.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_u(_ = L.HistoryManager.prototype, "get$moveForward", "moveForward$0", 0);
    _instance_0_u(_, "get$moveBack", "moveBack$0", 0);
    _instance_0_u(B._InitializerState.prototype, "get$hideDisconnectedOverlay", "hideDisconnectedOverlay$0", 0);
    _instance_1_u(_ = Z.InspectorController.prototype, "get$_onClientChange", "_onClientChange$1", 64);
    _instance_0_i(_, "get$refresh", "refresh$0", 3);
    _instance_1_u(_, "get$selectErrorByIndex", "selectErrorByIndex$1", 53);
    _instance_1_u(_, "get$_onExpand", "_onExpand$1", 213);
    _instance_0_u(_, "get$selectionChanged", "selectionChanged$0", 0);
    _instance_2_u(_, "get$_onNodeAdded", "_onNodeAdded$2", 427);
    _instance_0_u(_, "get$expandAllNodesInDetailsTree", "expandAllNodesInDetailsTree$0", 3);
    _instance_0_u(_, "get$collapseDetailsToSelected", "collapseDetailsToSelected$0", 3);
    _instance_0_u(_ = B.InspectorScreenBodyState.prototype, "get$_onExpandClick", "_onExpandClick$0", 0);
    _instance_0_u(_, "get$_onResetClick", "_onResetClick$0", 0);
    _instance_0_u(_, "get$_onExpandCollapseSupported", "_onExpandCollapseSupported$0", 0);
    _instance_0_u(_, "get$_onLayoutExplorerSupported", "_onLayoutExplorerSupported$0", 0);
    _instance_1_u(_, "get$_inspector_screen$_handleConnectionStart", "_inspector_screen$_handleConnectionStart$1", 380);
    _instance_1_u(_, "get$_inspector_screen$_handleConnectionStop", "_inspector_screen$_handleConnectionStop$1", 13);
    _instance_0_u(_, "get$_refreshInspector", "_refreshInspector$0", 0);
    _instance_0_u(_ = B.ErrorNavigator.prototype, "get$_previousError", "_previousError$0", 0);
    _instance_0_u(_, "get$_nextError", "_nextError$0", 0);
    _instance_1_u(_ = E.InspectorService.prototype, "get$onDebugVmServiceReceived", "onDebugVmServiceReceived$1", 16);
    _instance_1_u(_, "get$onExtensionVmServiceRecieved", "onExtensionVmServiceRecieved$1", 16);
    _instance_1_u(K.InspectorTreeController.prototype, "get$_collapseAllNodes", "_collapseAllNodes$1", 213);
    _instance_2_u(X._InspectorTreeState.prototype, "get$_inspector_tree_flutter$_handleKeyEvent", "_inspector_tree_flutter$_handleKeyEvent$2", 76);
    _instance_2_u(S._BoxLayoutExplorerWidgetState.prototype, "get$_box0$_buildLayout", "_box0$_buildLayout$2", 78);
    _instance_2_u(F._FlexLayoutExplorerWidgetState.prototype, "get$_flex0$_buildLayout", "_flex0$_buildLayout$2", 78);
    _instance_1_u(_ = F.FlexChildVisualizer.prototype, "get$onChangeFlexFactor", "onChangeFlexFactor$1", 53);
    _instance_1_u(_, "get$onChangeFlexFit", "onChangeFlexFit$1", 366);
    _instance_0_u(N._LayoutExplorerTabState.prototype, "get$onSelectionChanged", "onSelectionChanged$0", 0);
    _instance_0_u(_ = E.LayoutExplorerWidgetState.prototype, "get$onSelectionChanged", "onSelectionChanged$0", 3);
    _instance_0_i(_, "get$refresh", "refresh$0", 3);
    _instance_0_u(_ = Y._LandingScreenBodyState.prototype, "get$_importFile", "_importFile$0", 3);
    _instance_0_i(_, "get$_connect", "_connect$0", 3);
    _instance_0_u(_, "get$_connectHelper", "_connectHelper$0", 3);
    _instance_1_u(_ = E.LoggingController.prototype, "get$selectLog", "selectLog$1", 379);
    _instance_0_i(_, "get$clear", "clear$0", 0);
    _instance_1_u(_, "get$_logging_controller$_handleConnectionStart", "_logging_controller$_handleConnectionStart$1", 149);
    _instance_1_u(_, "get$_logging_controller$_handleExtensionEvent", "_logging_controller$_handleExtensionEvent$1", 16);
    _instance_1_u(_, "get$_logging_controller$_handleGCEvent", "_logging_controller$_handleGCEvent$1", 16);
    _instance_1_u(_, "get$_handleDeveloperLogEvent", "_handleDeveloperLogEvent$1", 16);
    _instance_1_u(_, "get$_logging_controller$_handleConnectionStop", "_logging_controller$_handleConnectionStop$1", 13);
    _instance_1_u(_, "get$_handleDebuggerEvent", "_handleDebuggerEvent$1", 350);
    _instance_1_u(_, "get$_handleDevToolsEvent", "_handleDevToolsEvent$1", 350);
    _instance_1_u(E._StdoutEventHandler.prototype, "get$handle", "handle$1", 16);
    _instance_0_u(M._LoggingScreenState.prototype, "get$_showFilterDialog", "_showFilterDialog$0", 0);
    _instance_0_u(O.AllocationTableViewState.prototype, "get$_memory_allocation_table_view$_handleSearch", "_memory_allocation_table_view$_handleSearch$0", 0);
    _instance_1_u(G.AndroidChartController.prototype, "get$addSample", "addSample$1", 187);
    _instance_0_u(_ = T.MemoryController.prototype, "get$toggleLegendVisibility", "toggleLegendVisibility$0", 31);
    _instance_0_u(_, "get$pauseLiveFeed", "pauseLiveFeed$0", 0);
    _instance_0_u(_, "get$resumeLiveFeed", "resumeLiveFeed$0", 0);
    _instance_0_u(_, "get$toggleAndroidChartVisibility", "toggleAndroidChartVisibility$0", 31);
    _instance_1_u(_, "get$_handleConnectionStop", "_handleConnectionStop$1", 13);
    _instance_1_u(T.EventChartController.prototype, "get$addSample", "addSample$1", 187);
    _instance_1_u(_ = D.HeapTreeViewState.prototype, "get$_animationStatusListener", "_animationStatusListener$1", 1048);
    _instance_1_u(_, "get$selectTheMatch", "selectTheMatch$1", 32);
    _instance(_, "get$_takeHeapSnapshot", 0, 0, null, ["call$1$userGenerated", "call$0"], ["_takeHeapSnapshot$1$userGenerated", "_takeHeapSnapshot$0"], 420, 0);
    _instance_0_i(_, "get$_filter", "_filter$0", 0);
    _instance_0_u(D.MemoryHeapTableState.prototype, "get$_memory_heap_tree_view$_handleSearch", "_memory_heap_tree_view$_handleSearch$0", 0);
    _instance_1_u(N.MemoryHeapTreemapState.prototype, "get$_onRootChanged", "_onRootChanged$1", 132);
    _instance_0_i(_ = T.MemoryTracker.prototype, "get$start", "start$0", 0);
    _instance(_, "get$_updateLiveDataPolling", 0, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["_updateLiveDataPolling$1", "_updateLiveDataPolling$0"], 340, 0);
    _instance_1_u(_, "get$_handleGCEvent", "_handleGCEvent$1", 16);
    _instance_0_u(_, "get$_pollMemory", "_pollMemory$0", 0);
    _instance(_, "get$_recalculate", 0, 0, function() {
      return [false];
    }, ["call$1", "call$0"], ["_recalculate$1", "_recalculate$0"], 340, 0);
    _instance_0_u(_ = L.MemoryBodyState.prototype, "get$_exportToFile", "_exportToFile$0", 0);
    _instance_0_u(_, "get$_openSettingsDialog", "_openSettingsDialog$0", 0);
    _instance_0_u(_, "get$_clearTimeline", "_clearTimeline$0", 0);
    _instance_0_u(_, "get$_gc", "_gc$0", 3);
    _instance_1_u(T.ObjectFieldReference.prototype, "get$_expandObjectFieldRef", "_expandObjectFieldRef$1", 13);
    _instance_1_u(O.VMChartController.prototype, "get$addSample", "addSample$1", 187);
    _instance_1_u(Q.NetworkController.prototype, "get$_checkForError", "_checkForError$1", 442);
    _instance_0_u(Y._NetworkScreenBodyState.prototype, "get$_network_screen$_showFilterDialog", "_network_screen$_showFilterDialog$0", 0);
    _instance_1_u(_ = Y.NotificationsState.prototype, "get$_removeNotification", "_removeNotification$1", 460);
    _instance_1_u(_, "get$_notifications$_buildOverlay", "_notifications$_buildOverlay$1", 334);
    _instance_1_u(_ = B.LegacyPerformanceController.prototype, "get$toggleHttpRequestLogging", "toggleHttpRequestLogging$1", 98);
    _instance_1_u(_, "get$recordTrace", "recordTrace$1", 331);
    _instance_1_u(Y.LegacyTimelineEvent.prototype, "get$_performance_model$_addChild", "_performance_model$_addChild$1", 319);
    _static_1(R, "performance_screen0_LegacyPerformanceScreen__shouldShowForFlutterVersion$closure", "LegacyPerformanceScreen__shouldShowForFlutterVersion", 256);
    _instance_0_u(_ = R.LegacyPerformanceScreenBodyState.prototype, "get$_performance_screen0$_openSettingsDialog", "_performance_screen0$_openSettingsDialog$0", 0);
    _instance_0_u(_, "get$_performance_screen0$_refreshPerformanceData", "_performance_screen0$_refreshPerformanceData$0", 3);
    _instance_0_u(_, "get$_performance_screen0$_clearPerformanceData", "_performance_screen0$_clearPerformanceData$0", 3);
    _instance_0_u(_, "get$_performance_screen0$_exportPerformanceData", "_performance_screen0$_exportPerformanceData$0", 0);
    _instance_1_u(X.LegacyTimelineEventProcessor.prototype, "get$_timeline_event_processor0$_maybeAddCompletedFrame", "_timeline_event_processor0$_maybeAddCompletedFrame$1", 494);
    _instance_0_u(Y.LegacyTimelineFlameChartState.prototype, "get$_timeline_flame_chart$_handleSelectedFrame", "_timeline_flame_chart$_handleSelectedFrame$0", 0);
    _instance_1_u(_ = B.PerformanceController.prototype, "get$toggleHttpRequestLogging", "toggleHttpRequestLogging$1", 98);
    _instance_1_u(_, "get$recordTrace", "recordTrace$1", 331);
    _instance_1_u(Y.TimelineEvent0.prototype, "get$_addChild", "_addChild$1", 354);
    _static_1(R, "performance_screen_PerformanceScreen__shouldShowForFlutterVersion$closure", "PerformanceScreen__shouldShowForFlutterVersion", 256);
    _instance_0_u(_ = R.PerformanceScreenBodyState.prototype, "get$_performance_screen$_openSettingsDialog", "_performance_screen$_openSettingsDialog$0", 0);
    _instance_0_u(_, "get$_refreshPerformanceData", "_refreshPerformanceData$0", 3);
    _instance_0_u(_, "get$_clearPerformanceData", "_clearPerformanceData$0", 3);
    _instance_0_u(_, "get$_exportPerformanceData", "_exportPerformanceData$0", 0);
    _instance_1_u(X.TimelineEventProcessor.prototype, "get$_maybeAddCompletedFrame", "_maybeAddCompletedFrame$1", 516);
    _instance_0_u(Y.TimelineFlameChartState.prototype, "get$_handleSelectedFrame", "_handleSelectedFrame$0", 0);
    _instance_1_u(_ = A.PreferencesController.prototype, "get$toggleDarkModeTheme", "toggleDarkModeTheme$1", 64);
    _instance_1_u(_, "get$toggleVmDeveloperMode", "toggleVmDeveloperMode$1", 64);
    _instance_1_u(_, "get$toggleDenseMode", "toggleDenseMode$1", 64);
    _instance_0_u(T.CpuProfilerController.prototype, "get$enableCpuProfiler", "enableCpuProfiler$0", 118);
    _static_2(E, "cpu_profile_model__stackFrameIdCompare$closure", "stackFrameIdCompare", 170);
    _static_1(V, "cpu_profile_transformer_BottomUpProfileTransformer_cascadeSampleCounts$closure", "BottomUpProfileTransformer_cascadeSampleCounts", 90);
    _instance_0_u(V._CpuProfilerState.prototype, "get$_onTabChanged", "_onTabChanged$0", 0);
    _instance_0_u(_ = Z.ProfilerScreenController.prototype, "get$startRecording", "startRecording$0", 3);
    _instance_0_u(_, "get$stopRecording", "stopRecording$0", 3);
    _instance_0_u(_, "get$loadAllSamples", "loadAllSamples$0", 3);
    _instance_0_i(_, "get$clear", "clear$0", 3);
    _static(X, "instance_details___$identity$closure", 1, null, ["call$1$1", "call$1"], ["_$identity", function(value) {
      return X._$identity(value, type$.dynamic);
    }], 1142, 0);
    _instance_1_u(X._$PathToPropertyTearOff.prototype, "get$listIndex", "listIndex$1", 541);
    _instance_2_u(_ = M.ErrorLoggerObserver.prototype, "get$didAddProvider", "didAddProvider$2", 290);
    _instance_2_u(_, "get$didUpdateProvider", "didUpdateProvider$2", 290);
    _instance_1_i(_ = T.DevToolsRouterDelegate.prototype, "get$build", "build$1", 334);
    _instance_2_u(_, "get$_handleOnPopPage", "_handleOnPopPage$2", 616);
    _instance_1_u(_, "get$setNewRoutePath", "setNewRoutePath$1", 617);
    _instance_1_u(_ = M.DevToolsScaffoldState.prototype, "get$_connectVm", "_connectVm$1", 13);
    _instance_1_u(_, "get$_showPageById", "_showPageById$1", 32);
    _instance_1_u(_, "get$_pushSnapshotScreenForImport", "_pushSnapshotScreenForImport$1", 32);
    _static_1(T, "screen__shouldShowScreen$closure", "shouldShowScreen", 58);
    _instance_0_u(L.DevToolsServerConnection.prototype, "get$notify", "notify$0", 3);
    _instance_0_u(_ = R.ServiceConnectionManager.prototype, "get$performHotReload", "performHotReload$0", 3);
    _instance_0_u(_, "get$performHotRestart", "performHotRestart$0", 3);
    _instance_1_u(_ = R.IsolateManager.prototype, "get$isolateIndex", "isolateIndex$1", 630);
    _instance_1_u(_, "get$_handleIsolateEvent", "_handleIsolateEvent$1", 104);
    _instance_1_u(_ = R.ServiceExtensionManager.prototype, "get$_handleIsolateEvent", "_handleIsolateEvent$1", 104);
    _instance_1_u(_, "get$_handleExtensionEvent", "_handleExtensionEvent$1", 104);
    _instance_1_u(_, "get$_handleDebugEvent", "_handleDebugEvent$1", 104);
    _instance_0_u(_, "get$_onMainIsolateChanged", "_onMainIsolateChanged$0", 3);
    _instance_0_u(_, "get$_maybeCheckForFirstFlutterFrame", "_maybeCheckForFirstFlutterFrame$0", 3);
    _instance_1_u(R.VmFlagManager.prototype, "get$handleVmEvent", "handleVmEvent$1", 16);
    _instance_2_u(L._SplitState.prototype, "get$_buildLayout", "_buildLayout$2", 78);
    _instance(_ = S.FlatTableState.prototype, "get$_buildRow", 0, 4, null, ["call$4"], ["_buildRow$4"], 287, 0);
    _instance(_, "get$_sortDataAndUpdate", 0, 2, null, ["call$3$secondarySortColumn", "call$2"], ["_sortDataAndUpdate$3$secondarySortColumn", "_sortDataAndUpdate$2"], 286, 0);
    _instance_0_u(_ = S.TreeTableState.prototype, "get$_onItemsAnimated", "_onItemsAnimated$0", 0);
    _instance(_, "get$_buildRow", 0, 4, null, ["call$4"], ["_buildRow$4"], 287, 0);
    _instance(_, "get$_table$_handleKeyEvent", 0, 3, null, ["call$3"], ["_table$_handleKeyEvent$3"], 648, 0);
    _instance(_, "get$_sortDataAndUpdate", 0, 2, null, ["call$3$secondarySortColumn", "call$2"], ["_sortDataAndUpdate$3$secondarySortColumn", "_sortDataAndUpdate$2"], 286, 0);
    _instance_0_u(_ = S._TableState.prototype, "get$_onActiveSearchChange", "_onActiveSearchChange$0", 0);
    _instance_2_u(_, "get$_buildItem", "_buildItem$2", 25);
    _instance(_, "get$_sortData", 0, 2, null, ["call$3$secondarySortColumn", "call$2"], ["_sortData$3$secondarySortColumn", "_sortData$2"], 649, 0);
    _instance_1_u(Y._TreeViewState.prototype, "get$_onItemPressed", "_onItemPressed$1", 285);
    _instance_0_u(Y._TreeViewItemState.prototype, "get$_onPressed", "_onPressed$0", 0);
    _instance_1_u(X.TreeNode.prototype, "get$addChild", "addChild$1", 285);
    _instance_0_u(_ = S.SearchControllerMixin.prototype, "get$previousMatch", "previousMatch$0", 0);
    _instance_0_u(_, "get$nextMatch", "nextMatch$0", 0);
    _instance_2_u(S.SearchFieldMixin.prototype, "get$_highlightDropdown", "_highlightDropdown$2", 659);
    _instance_1_u(B._ServiceExtensionButtonGroupState.prototype, "get$_service_extension_widgets$_onPressed", "_service_extension_widgets$_onPressed$1", 53);
    _instance(B._ServiceExtensionToggleState.prototype, "get$_onClick", 0, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["_onClick$1", "_onClick$0"], 662, 0);
    _instance_0_u(B._NotifierCheckboxState.prototype, "get$_updateValue", "_updateValue$0", 0);
    _instance_1_u(G.ProfileGranularityDropdown.prototype, "get$_onProfileGranularityChanged", "_onProfileGranularityChanged$1", 299);
    _instance_0_i(N.IsolateStatisticsViewController.prototype, "get$refresh", "refresh$0", 3);
    _instance_1_u(G.VMDeveloperToolsController.prototype, "get$selectIndex", "selectIndex$1", 53);
    _instance_0_i(F.VMStatisticsViewController.prototype, "get$refresh", "refresh$0", 3);
    _instance_1_u(G.DomHelper.prototype, "get$_convertFileToXFile", "_convertFileToXFile$1", 684);
    _instance(_ = G.AnimationController.prototype, "get$reverse", 1, 0, function() {
      return {from: null};
    }, ["call$1$from", "call$0"], ["reverse$1$from", "reverse$0"], 685, 0);
    _instance_1_u(_, "get$_directionSetter", "_directionSetter$1", 686);
    _instance_1_u(_, "get$_animation_controller$_tick", "_animation_controller$_tick$1", 6);
    _instance_1_u(S.ReverseAnimation.prototype, "get$_statusChangeHandler", "_statusChangeHandler$1", 12);
    _instance_1_u(S.CurvedAnimation.prototype, "get$_updateCurveDirection", "_updateCurveDirection$1", 12);
    _instance_1_u(_ = S.TrainHoppingAnimation.prototype, "get$_statusChangeHandler", "_statusChangeHandler$1", 12);
    _instance_0_u(_, "get$_valueChangeHandler", "_valueChangeHandler$0", 0);
    _instance_1_u(_ = S.CompoundAnimation.prototype, "get$_maybeNotifyStatusListeners", "_maybeNotifyStatusListeners$1", 12);
    _instance_0_u(_, "get$_maybeNotifyListeners", "_maybeNotifyListeners$0", 0);
    _instance_0_u(S.AnimationLocalListenersMixin.prototype, "get$notifyListeners", "notifyListeners$0", 0);
    _instance_1_u(S.AnimationLocalStatusListenersMixin.prototype, "get$notifyStatusListeners", "notifyStatusListeners$1", 12);
    _instance_0_u(E._CupertinoScrollbarState.prototype, "get$handleThumbPress", "handleThumbPress$0", 0);
    _instance_1_u(_ = N._CupertinoSwitchState.prototype, "get$_switch0$_handleTapDown", "_switch0$_handleTapDown$1", 40);
    _instance_0_u(_, "get$_switch0$_handleTap", "_switch0$_handleTap$0", 0);
    _instance_1_u(_, "get$_switch0$_handleTapUp", "_switch0$_handleTapUp$1", 75);
    _instance_0_u(_, "get$_switch0$_handleTapCancel", "_switch0$_handleTapCancel$0", 0);
    _instance_1_u(_, "get$_switch0$_handleDragStart", "_switch0$_handleDragStart$1", 56);
    _instance_1_u(_, "get$_switch0$_handleDragUpdate", "_switch0$_handleDragUpdate$1", 26);
    _instance_1_u(_, "get$_switch0$_handleDragEnd", "_switch0$_handleDragEnd$1", 60);
    _static(U, "assertions_FlutterError_dumpErrorToConsole$closure", 1, null, ["call$2$forceReport", "call$1"], ["FlutterError_dumpErrorToConsole", function(details) {
      return U.FlutterError_dumpErrorToConsole(details, false);
    }], 1143, 0);
    _static_1(U, "assertions_DiagnosticsStackTrace__createStackFrame$closure", "DiagnosticsStackTrace__createStackFrame", 1144);
    _instance_0_i(_ = B.ChangeNotifier.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_u(_, "get$notifyListeners", "notifyListeners$0", 0);
    _instance_1_i(Y.DiagnosticPropertiesBuilder.prototype, "get$add", "add$1", 277);
    _instance_1_u(B.AbstractNode.prototype, "get$redepthChild", "redepthChild$1", 711);
    _static_1(R, "stack_frame_StackFrame_fromStackTraceLine$closure", "StackFrame_fromStackTraceLine", 1145);
    _instance_1_u(_ = N.GestureBinding.prototype, "get$_handlePointerDataPacket", "_handlePointerDataPacket$1", 714);
    _instance_1_u(_, "get$cancelPointer", "cancelPointer$1", 63);
    _instance_0_u(_, "get$_flushPointerEventQueue", "_flushPointerEventQueue$0", 0);
    _instance_1_u(_, "get$_handlePointerEventImmediately", "_handlePointerEventImmediately$1", 36);
    _instance_0_u(_, "get$_handleSampleTimeChanged", "_handleSampleTimeChanged$0", 0);
    _static(K, "force_press_ForcePressGestureRecognizer__inverseLerp$closure", 3, null, ["call$3"], ["ForcePressGestureRecognizer__inverseLerp"], 1146, 0);
    _instance_1_u(K.ForcePressGestureRecognizer.prototype, "get$handleEvent", "handleEvent$1", 36);
    _static_1(O, "monodrag_DragGestureRecognizer__defaultBuilder$closure", "DragGestureRecognizer__defaultBuilder", 226);
    _instance_1_u(O.DragGestureRecognizer.prototype, "get$handleEvent", "handleEvent$1", 36);
    _instance_0_u(F._CountdownZoned.prototype, "get$_onTimeout", "_onTimeout$0", 0);
    _instance_1_u(_ = F.DoubleTapGestureRecognizer.prototype, "get$_handleEvent", "_handleEvent$1", 36);
    _instance_1_u(_, "get$_reject", "_reject$1", 717);
    _instance_0_u(_, "get$_multitap$_reset", "_multitap$_reset$0", 0);
    _instance_1_u(S.PrimaryPointerGestureRecognizer.prototype, "get$handleEvent", "handleEvent$1", 36);
    _instance_2_u(_ = S._MaterialAppState.prototype, "get$_inspectorSelectButtonBuilder", "_inspectorSelectButtonBuilder$2", 721);
    _instance_2_u(_, "get$_materialBuilder", "_materialBuilder$2", 80);
    _instance_0_u(_ = E._AppBarState.prototype, "get$_handleDrawerButtonEnd", "_handleDrawerButtonEnd$0", 0);
    _instance_1_u(_, "get$_app_bar$_handleScrollNotification", "_app_bar$_handleScrollNotification$1", 724);
    _instance_1_u(_ = Z._RawMaterialButtonState.prototype, "get$_handleHighlightChanged", "_handleHighlightChanged$1", 11);
    _instance_1_u(_, "get$_handleHoveredChanged", "_handleHoveredChanged$1", 11);
    _instance_1_u(_, "get$_handleFocusedChanged", "_handleFocusedChanged$1", 11);
    _instance_1_u(_ = Z._RenderInputPadding.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_ = K._ButtonStyleState.prototype, "get$_button_style_button$_handleHighlightChanged", "_button_style_button$_handleHighlightChanged$1", 11);
    _instance_1_u(_, "get$_button_style_button$_handleHoveredChanged", "_button_style_button$_handleHoveredChanged$1", 11);
    _instance_1_u(_, "get$_button_style_button$_handleFocusedChanged", "_button_style_button$_handleFocusedChanged$1", 11);
    _instance_1_u(_ = K._RenderInputPadding0.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_0_u(D.CheckboxListTile.prototype, "get$_handleValueChange", "_handleValueChange$0", 0);
    _instance_1_u(_ = S.TableRowInkWell.prototype, "get$getRectCallback", "getRectCallback$1", 753);
    _instance_1_u(_, "get$debugCheckContext", "debugCheckContext$1", 271);
    _static(E, "dialog___buildMaterialDialogTransitions$closure", 4, null, ["call$4"], ["_buildMaterialDialogTransitions"], 1147, 0);
    _instance_1_u(_ = K._DropdownMenuItemButtonState.prototype, "get$_handleFocusChange", "_handleFocusChange$1", 11);
    _instance_0_u(_, "get$_handleOnTap", "_handleOnTap$0", 0);
    _instance_0_u(_ = K._DropdownButtonState.prototype, "get$_dropdown$_handleFocusChanged", "_dropdown$_handleFocusChanged$0", 0);
    _instance_1_u(_, "get$_dropdown$_handleFocusHighlightModeChange", "_dropdown$_handleFocusHighlightModeChange$1", 140);
    _instance_0_u(_, "get$_dropdown$_handleTap", "_dropdown$_handleTap$0", 0);
    _instance_0_u(_ = O._ExpansionTileState.prototype, "get$_expansion_tile$_handleTap", "_expansion_tile$_handleTap$0", 0);
    _instance_2_u(_, "get$_buildChildren", "_buildChildren$2", 80);
    _instance_0_u(_ = D._InkState.prototype, "get$_handleRemoved", "_handleRemoved$0", 0);
    _instance_1_u(_, "get$_build", "_build$1", 30);
    _instance_0_u(D.InkDecoration.prototype, "get$_ink_decoration$_handleChanged", "_ink_decoration$_handleChanged$0", 0);
    _instance_1_u(Y.InkHighlight.prototype, "get$_handleAlphaStatusChanged", "_handleAlphaStatusChanged$1", 12);
    _instance_1_u(O.InkRipple.prototype, "get$_ink_ripple$_handleAlphaStatusChanged", "_ink_ripple$_handleAlphaStatusChanged$1", 12);
    _instance_1_u(U.InkSplash.prototype, "get$_ink_splash$_handleAlphaStatusChanged", "_ink_splash$_handleAlphaStatusChanged$1", 12);
    _instance_1_u(_ = R.InkResponse.prototype, "get$getRectCallback", "getRectCallback$1", 764);
    _instance_1_u(_, "get$debugCheckContext", "debugCheckContext$1", 271);
    _instance(_ = R._InkResponseState.prototype, "get$_simulateTap", 0, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["_simulateTap$1", "_simulateTap$0"], 265, 0);
    _instance_0_u(_, "get$_simulateLongPress", "_simulateLongPress$0", 0);
    _instance_1_u(_, "get$_handleFocusHighlightModeChange", "_handleFocusHighlightModeChange$1", 140);
    _instance_1_u(_, "get$_handleFocusUpdate", "_handleFocusUpdate$1", 11);
    _instance_1_u(_, "get$_handleTapDown", "_handleTapDown$1", 40);
    _instance_0_u(_, "get$_ink_well$_handleTap", "_ink_well$_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", 117);
    _instance_1_u(_, "get$_handleMouseExit", "_handleMouseExit$1", 67);
    _instance_0_u(L._HelperErrorState.prototype, "get$_input_decorator$_handleChange", "_input_decorator$_handleChange$0", 0);
    _instance_1_u(_ = L._RenderDecoration.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_2_u(_, "get$_paintLabel", "_paintLabel$2", 22);
    _instance_0_u(L._InputDecoratorState.prototype, "get$_input_decorator$_handleChange", "_input_decorator$_handleChange$0", 0);
    _instance_1_u(_ = Q._RenderListTile.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_0_u(E._NavigationRailState.prototype, "get$_navigation_rail$_rebuild", "_navigation_rail$_rebuild$0", 0);
    _instance_0_u(Z.PopupMenuItemState.prototype, "get$handleTap", "handleTap$0", 0);
    _instance_0_u(Z.PopupMenuButtonState.prototype, "get$showButtonMenu", "showButtonMenu$0", 0);
    _instance_1_u(M.ScaffoldMessengerState.prototype, "get$_scaffold$_handleStatusChanged", "_scaffold$_handleStatusChanged$1", 12);
    _instance_1_u(_ = M._FloatingActionButtonTransitionState.prototype, "get$_handlePreviousAnimationStatusChanged", "_handlePreviousAnimationStatusChanged$1", 12);
    _instance_0_u(_, "get$_onProgressChanged", "_onProgressChanged$0", 0);
    _instance_0_u(M.ScaffoldState.prototype, "get$_handleStatusBarTap", "_handleStatusBarTap$0", 0);
    _instance_1_u(_ = O._SelectableTextSelectionGestureDetectorBuilder.prototype, "get$onForcePressStart", "onForcePressStart$1", 45);
    _instance_1_u(_, "get$onForcePressEnd", "onForcePressEnd$1", 45);
    _instance_1_u(_, "get$onSingleLongTapMoveUpdate", "onSingleLongTapMoveUpdate$1", 84);
    _instance_1_u(_, "get$onSingleTapUp", "onSingleTapUp$1", 75);
    _instance_1_u(_, "get$onSingleLongTapStart", "onSingleLongTapStart$1", 85);
    _instance_0_u(_ = O._SelectableTextState.prototype, "get$_onControllerChanged", "_onControllerChanged$0", 0);
    _instance_2_u(_, "get$_selectable_text$_handleSelectionChanged", "_selectable_text$_handleSelectionChanged$2", 258);
    _instance_0_u(_, "get$_selectable_text$_handleSelectionHandleTapped", "_selectable_text$_handleSelectionHandleTapped$0", 0);
    _instance_1_u(N._SnackBarState.prototype, "get$_onAnimationStatusChanged", "_onAnimationStatusChanged$1", 12);
    _instance_1_u(_ = N._MaterialSwitchState.prototype, "get$_switch$_handleDragStart", "_switch$_handleDragStart$1", 56);
    _instance_1_u(_, "get$_switch$_handleDragUpdate", "_switch$_handleDragUpdate$1", 26);
    _instance_1_u(_, "get$_switch$_handleDragEnd", "_switch$_handleDragEnd$1", 60);
    _instance_1_u(_, "get$_handleChanged", "_handleChanged$1", 273);
    _instance_0_u(_ = N._SwitchPainter.prototype, "get$_handleDecorationChanged", "_handleDecorationChanged$0", 0);
    _instance_0_i(_, "get$dispose", "dispose$0", 0);
    _instance_0_i(U.TabController.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_u(E._IndicatorPainter.prototype, "get$markNeedsPaint", "markNeedsPaint$0", 0);
    _instance_0_u(_ = E._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"], 791, 0);
    _instance_0_u(_ = E._TabBarViewState.prototype, "get$_handleTabControllerAnimationTick", "_handleTabControllerAnimationTick$0", 0);
    _instance_1_u(_, "get$_tabs$_handleScrollNotification", "_tabs$_handleScrollNotification$1", 70);
    _instance_1_u(_ = Z._TextFieldSelectionGestureDetectorBuilder.prototype, "get$onForcePressStart", "onForcePressStart$1", 45);
    _instance_1_u(_, "get$onForcePressEnd", "onForcePressEnd$1", 45);
    _instance_1_u(_, "get$onSingleLongTapMoveUpdate", "onSingleLongTapMoveUpdate$1", 84);
    _instance_1_u(_, "get$onSingleTapUp", "onSingleTapUp$1", 75);
    _instance_1_u(_, "get$onSingleLongTapStart", "onSingleLongTapStart$1", 85);
    _instance_2_u(_ = Z._TextFieldState.prototype, "get$_text_field$_handleSelectionChanged", "_text_field$_handleSelectionChanged$2", 258);
    _instance_0_u(_, "get$_handleSelectionHandleTapped", "_handleSelectionHandleTapped$0", 0);
    _instance_1_u(_ = E._SelectToggleButtonRenderObject.prototype, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_ = F.ToggleableStateMixin.prototype, "get$_toggleable$_handleTapDown", "_toggleable$_handleTapDown$1", 40);
    _instance(_, "get$_toggleable$_handleTap", 0, 0, null, ["call$1", "call$0"], ["_toggleable$_handleTap$1", "_toggleable$_handleTap$0"], 265, 0);
    _instance(_, "get$_handleTapEnd", 0, 0, null, ["call$1", "call$0"], ["_handleTapEnd$1", "_handleTapEnd$0"], 800, 0);
    _instance_1_u(_, "get$_handleFocusHighlightChanged", "_handleFocusHighlightChanged$1", 11);
    _instance_1_u(_, "get$_handleHoverChanged", "_handleHoverChanged$1", 11);
    _instance_0_i(F.ToggleablePainter.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_u(_ = S._TooltipState.prototype, "get$_handleMouseTrackerChange", "_handleMouseTrackerChange$0", 0);
    _instance_1_u(_, "get$_tooltip$_handleStatusChanged", "_tooltip$_handleStatusChanged$1", 12);
    _instance_0_u(_, "get$ensureTooltipVisible", "ensureTooltipVisible$0", 150);
    _instance_1_u(_, "get$_tooltip$_handlePointerEvent", "_tooltip$_handlePointerEvent$1", 36);
    _instance_0_u(_, "get$_tooltip$_handleLongPress", "_tooltip$_handleLongPress$0", 0);
    _instance(N.PaintingBinding.prototype, "get$instantiateImageCodec", 0, 1, null, ["call$4$allowUpscaling$cacheHeight$cacheWidth", "call$1"], ["instantiateImageCodec$4$allowUpscaling$cacheHeight$cacheWidth", "instantiateImageCodec$1"], 801, 0);
    _instance_2_u(X.DecorationImagePainter.prototype, "get$_handleImage", "_handleImage$2", 257);
    _static(V, "edge_insets_EdgeInsetsGeometry_lerp$closure", 3, null, ["call$3"], ["EdgeInsetsGeometry_lerp"], 1148, 0);
    _static_1(L, "image_resolution_AssetImage__manifestParser$closure", "AssetImage__manifestParser", 1149);
    _instance_1_i(L.ImageStreamCompleter.prototype, "get$addListener", "addListener$1", 254);
    _instance_1_u(_ = L.MultiFrameImageStreamCompleter.prototype, "get$_handleCodecReady", "_handleCodecReady$1", 815);
    _instance_1_u(_, "get$_handleAppFrame", "_handleAppFrame$1", 6);
    _instance_1_i(_, "get$addListener", "addListener$1", 254);
    _static(A, "text_style_TextStyle_lerp$closure", 3, null, ["call$3"], ["TextStyle_lerp"], 1150, 0);
    _instance_0_u(_ = N.RendererBinding.prototype, "get$_handleSemanticsEnabledChanged", "_handleSemanticsEnabledChanged$0", 0);
    _instance_1_u(_, "get$_handleWebFirstFrame", "_handleWebFirstFrame$1", 6);
    _instance(_, "get$_handleSemanticsAction", 0, 3, null, ["call$3"], ["_handleSemanticsAction$3"], 820, 0);
    _instance_0_u(_, "get$_handleSemanticsOwnerCreated", "_handleSemanticsOwnerCreated$0", 0);
    _instance_0_u(_, "get$_handleSemanticsOwnerDisposed", "_handleSemanticsOwnerDisposed$0", 0);
    _instance_1_u(_, "get$_handlePersistentFrameCallback", "_handlePersistentFrameCallback$1", 6);
    _instance_1_u(_ = S.RenderBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_0_u(_, "get$markNeedsLayout", "markNeedsLayout$0", 0);
    _instance_2_u(S.RenderBoxContainerDefaultsMixin.prototype, "get$defaultPaint", "defaultPaint$2", 22);
    _instance_1_u(_ = B.RenderCustomMultiChildLayoutBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_ = V.RenderCustomPaint.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_ = D.RenderEditable.prototype, "get$_onCaretChanged", "_onCaretChanged$1", 252);
    _instance_1_u(_, "get$_editable$_handleKeyEvent", "_editable$_handleKeyEvent$1", 251);
    _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", 122);
    _instance_1_u(_, "get$_handleSetSelection", "_handleSetSelection$1", 250);
    _instance_1_u(_, "get$_handleMoveCursorForwardByCharacter", "_handleMoveCursorForwardByCharacter$1", 11);
    _instance_1_u(_, "get$_handleMoveCursorBackwardByCharacter", "_handleMoveCursorBackwardByCharacter$1", 11);
    _instance_1_u(_, "get$_handleMoveCursorForwardByWord", "_handleMoveCursorForwardByWord$1", 11);
    _instance_1_u(_, "get$_handleMoveCursorBackwardByWord", "_handleMoveCursorBackwardByWord$1", 11);
    _instance_1_u(_, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$_editable$_handleTapDown", "_editable$_handleTapDown$1", 40);
    _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", 22);
    _instance_1_u(_ = V.RenderErrorBox.prototype, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_ = F.RenderFlex.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_ = U.RenderImage.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_ = R.RenderListBody.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _static_1(K, "object_RenderObject__cleanChildRelayoutBoundary$closure", "RenderObject__cleanChildRelayoutBoundary", 108);
    _instance_1_u(_ = K.RenderObject.prototype, "get$dropChild", "dropChild$1", 4);
    _instance_0_u(_, "get$markNeedsLayout", "markNeedsLayout$0", 0);
    _instance_0_u(_, "get$markNeedsPaint", "markNeedsPaint$0", 0);
    _instance_2_u(_, "get$paint", "paint$2", 22);
    _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"], ["showOnScreen$4$curve$descendant$duration$rect", "showOnScreen$0", "showOnScreen$1$rect", "showOnScreen$3$curve$duration$rect"], 171, 0);
    _instance_1_u(_ = K.ContainerRenderObjectMixin.prototype, "get$childBefore", "childBefore$1", "ContainerRenderObjectMixin.0?(Object?)");
    _instance_1_u(_, "get$childAfter", "childAfter$1", "ContainerRenderObjectMixin.0?(Object?)");
    _instance_1_u(_ = Q.RenderParagraph.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_0_u(_, "get$systemFontsDidChange", "systemFontsDidChange$0", 0);
    _instance_1_u(_ = L.RenderPerformanceOverlay.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_ = E.RenderProxyBoxMixin.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_2_u(_, "get$paint", "paint$2", 22);
    _instance_1_u(_ = E.RenderConstrainedBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_ = E.RenderIntrinsicWidth.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_ = E.RenderIntrinsicHeight.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_0_u(E.RenderAnimatedOpacityMixin.prototype, "get$_updateOpacity", "_updateOpacity$0", 0);
    _instance_0_u(E._RenderCustomClip.prototype, "get$_markNeedsClip", "_markNeedsClip$0", 0);
    _instance_1_u(_ = E.RenderOffstage.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_0_u(_ = E.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(_ = E.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(_ = O.RenderRotatedBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_2_u(_, "get$_paintChild", "_paintChild$2", 22);
    _instance_1_u(_ = T.RenderShiftedBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_2_u(_, "get$paint", "paint$2", 22);
    _instance_1_u(_ = T.RenderPadding.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_ = T.RenderCustomSingleChildLayoutBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance(G.RenderSliver.prototype, "get$hitTest", 0, 1, null, ["call$3$crossAxisPosition$mainAxisPosition", "call$1"], ["hitTest$3$crossAxisPosition$mainAxisPosition", "hitTest$1"], 836, 0);
    _instance_1_u(_ = K.RenderStack.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_2_u(_, "get$paintStack", "paintStack$2", 22);
    _instance_2_u(K.RenderIndexedStack.prototype, "get$paintStack", "paintStack$2", 22);
    _instance_1_u(_ = S.RenderTable.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(A.RenderView.prototype, "get$hitTestMouseTrackers", "hitTestMouseTrackers$1", 840);
    _instance_1_u(_ = Q.RenderViewportBase.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_2_u(_, "get$_paintContents", "_paintContents$2", 22);
    _instance(_, "get$showOnScreen", 0, 0, null, ["call$4$curve$descendant$duration$rect", "call$0", "call$1$rect", "call$3$curve$duration$rect"], ["showOnScreen$4$curve$descendant$duration$rect", "showOnScreen$0", "showOnScreen$1$rect", "showOnScreen$3$curve$duration$rect"], 171, 0);
    _instance_1_u(_ = N.RenderWrap.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _static_2(N, "binding_SchedulerBinding__taskSorter$closure", "SchedulerBinding__taskSorter", 1151);
    _static(N, "binding__defaultSchedulingStrategy$closure", 0, null, ["call$2$priority$scheduler", "call$0"], ["defaultSchedulingStrategy", function() {
      return N.defaultSchedulingStrategy(null, null);
    }], 1152, 0);
    _instance_1_u(_ = N.SchedulerBinding.prototype, "get$_executeTimingsCallbacks", "_executeTimingsCallbacks$1", 157);
    _instance_0_u(_, "get$_runTasks", "_runTasks$0", 0);
    _instance_0_u(_, "get$ensureVisualUpdate", "ensureVisualUpdate$0", 0);
    _instance_1_u(_, "get$_handleBeginFrame", "_handleBeginFrame$1", 6);
    _instance_0_u(_, "get$_handleDrawFrame", "_handleDrawFrame$0", 0);
    _instance_1_u(_, "get$_profileFramePostEvent", "_profileFramePostEvent$1", 843);
    _instance_0_i(_ = M.Ticker.prototype, "get$start", "start$0", 845);
    _instance_1_u(_, "get$_ticker$_tick", "_ticker$_tick$1", 6);
    _instance_0_i(A.SemanticsOwner.prototype, "get$dispose", "dispose$0", 0);
    _static_1(Q, "asset_bundle_AssetBundle__utf8decode$closure", "AssetBundle__utf8decode", 1153);
    _static_1(N, "binding0_ServicesBinding__parseLicenses$closure", "ServicesBinding__parseLicenses", 1154);
    _instance_0_u(_ = N.ServicesBinding.prototype, "get$_addLicenses", "_addLicenses$0", 854);
    _instance_1_u(_, "get$_handleLifecycleMessage", "_handleLifecycleMessage$1", 855);
    _instance_1_u(B.RawKeyboard.prototype, "get$_handleKeyEvent", "_handleKeyEvent$1", 345);
    _instance_1_u(K.RestorationManager.prototype, "get$_methodHandler", "_methodHandler$1", 859);
    _instance_1_u(_ = K.RestorationBucket.prototype, "get$_dropChild", "_dropChild$1", 244);
    _instance_1_u(_, "get$_recursivelyUpdateManager", "_recursivelyUpdateManager$1", 244);
    _instance_1_u(N.TextInput.prototype, "get$_handleTextInputInvocation", "_handleTextInputInvocation$1", 242);
    _instance_1_u(U._ActionsState.prototype, "get$_handleActionChanged", "_handleActionChanged$1", 868);
    _instance_1_u(_ = U._FocusableActionDetectorState.prototype, "get$_actions$_handleFocusHighlightModeChange", "_actions$_handleFocusHighlightModeChange$1", 140);
    _instance_1_u(_, "get$_actions$_handleMouseEnter", "_actions$_handleMouseEnter$1", 117);
    _instance_1_u(_, "get$_actions$_handleMouseExit", "_actions$_handleMouseExit$1", 67);
    _instance_1_u(_, "get$_actions$_handleFocusChange", "_actions$_handleFocusChange$1", 11);
    _static(U, "animated_cross_fade_AnimatedCrossFade_defaultLayoutBuilder$closure", 4, null, ["call$4"], ["AnimatedCrossFade_defaultLayoutBuilder"], 1155, 0);
    _instance_1_u(_ = S._WidgetsAppState.prototype, "get$_onGenerateRoute", "_onGenerateRoute$1", 870);
    _instance_1_u(_, "get$_onUnknownRoute", "_onUnknownRoute$1", 871);
    _instance_1_u(L._AutomaticKeepAliveState.prototype, "get$_addClient", "_addClient$1", 872);
    _instance_1_u(T._MouseRegionState.prototype, "get$handleExit", "handleExit$1", 67);
    _instance_0_u(_ = N.WidgetsBinding.prototype, "get$handleLocaleChanged", "handleLocaleChanged$0", 0);
    _instance_1_u(_, "get$_handleNavigationInvocation", "_handleNavigationInvocation$1", 242);
    _instance_0_u(_, "get$_handleBuildScheduled", "_handleBuildScheduled$0", 0);
    _instance_0_u(_ = N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding.prototype, "get$handleMetricsChanged", "handleMetricsChanged$0", 0);
    _instance_0_u(_, "get$handlePlatformBrightnessChanged", "handlePlatformBrightnessChanged$0", 0);
    _instance_1_u(_ = Q._DismissibleState.prototype, "get$_dismissible$_handleDragStart", "_dismissible$_handleDragStart$1", 56);
    _instance_1_u(_, "get$_dismissible$_handleDragUpdate", "_dismissible$_handleDragUpdate$1", 26);
    _instance_1_u(_, "get$_dismissible$_handleDragEnd", "_dismissible$_handleDragEnd$1", 882);
    _instance_1_u(_, "get$_handleDismissStatusChanged", "_handleDismissStatusChanged$1", 883);
    _instance_0_i(D.TextEditingController.prototype, "get$clear", "clear$0", 0);
    _instance_0_u(_ = D.EditableTextState.prototype, "get$_onFloatingCursorResetTick", "_onFloatingCursorResetTick$0", 0);
    _instance_1_u(_, "get$_handleCaretChanged", "_handleCaretChanged$1", 252);
    _instance_0_u(_, "get$_onCursorColorTick", "_onCursorColorTick$0", 0);
    _instance_1_u(_, "get$_cursorTick", "_cursorTick$1", 141);
    _instance_1_u(_, "get$_cursorWaitForStart", "_cursorWaitForStart$1", 141);
    _instance_0_u(_, "get$_didChangeTextEditingValue", "_didChangeTextEditingValue$0", 0);
    _instance_0_u(_, "get$_editable_text$_handleFocusChanged", "_editable_text$_handleFocusChanged$0", 0);
    _instance_0_i(_ = O.FocusNode.prototype, "get$dispose", "dispose$0", 0);
    _instance(_, "get$requestFocus", 0, 0, null, ["call$1", "call$0"], ["requestFocus$1", "requestFocus$0"], 886, 0);
    _instance_0_i(_ = O.FocusManager.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_, "get$_handlePointerEvent", "_handlePointerEvent$1", 36);
    _instance_1_u(_, "get$_handleRawKeyEvent", "_handleRawKeyEvent$1", 889);
    _instance_0_u(_, "get$_applyFocusChange", "_applyFocusChange$0", 0);
    _instance_0_u(L._FocusState.prototype, "get$_handleFocusChanged", "_handleFocusChanged$0", 0);
    _static_1(N, "framework__InactiveElements__deactivateRecursively$closure", "_InactiveElements__deactivateRecursively", 18);
    _static_2(N, "framework_Element__sort$closure", "Element__sort", 1156);
    _static_1(N, "framework_Element__activateRecursively$closure", "Element__activateRecursively", 18);
    _instance_1_u(N._InactiveElements.prototype, "get$_unmount", "_unmount$1", 18);
    _instance_1_u(_ = D.RawGestureDetectorState.prototype, "get$_handlePointerDown", "_handlePointerDown$1", 233);
    _instance_1_u(_, "get$_updateSemanticsForRenderObject", "_updateSemanticsForRenderObject$1", 916);
    _instance_1_u(_ = T._HeroFlight.prototype, "get$_buildOverlay", "_buildOverlay$1", 30);
    _instance_1_u(_, "get$_handleAnimationUpdate", "_handleAnimationUpdate$1", 12);
    _instance_0_u(_, "get$onTick", "onTick$0", 0);
    _instance_1_i(_, "get$start", "start$1", 918);
    _instance_1_u(_ = T.HeroController.prototype, "get$_handleFlightEnded", "_handleFlightEnded$1", 920);
    _instance(_, "get$_defaultHeroFlightShuttleBuilder", 0, 5, null, ["call$5"], ["_defaultHeroFlightShuttleBuilder$5"], 921, 0);
    _instance_2_u(U._ImageState.prototype, "get$_handleImageFrame", "_handleImageFrame$2", 257);
    _instance_0_u(G.AnimatedWidgetBaseState.prototype, "get$_handleAnimationChanged", "_handleAnimationChanged$0", 0);
    _instance_0_u(S._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", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _static_2(K, "navigator_Navigator_defaultGenerateInitialRoutes$closure", "Navigator_defaultGenerateInitialRoutes", 1157);
    _static_1(K, "navigator__RouteEntry_isPresentPredicate$closure", "_RouteEntry_isPresentPredicate", 92);
    _static_1(K, "navigator__RouteEntry_suitableForTransitionAnimationPredicate$closure", "_RouteEntry_suitableForTransitionAnimationPredicate", 92);
    _static_1(K, "navigator__RouteEntry_willBePresentPredicate$closure", "_RouteEntry_willBePresentPredicate", 92);
    _instance_1_u(K._NavigatorPushObservation.prototype, "get$notify", "notify$1", 107);
    _instance_1_u(K._NavigatorPopObservation.prototype, "get$notify", "notify$1", 107);
    _instance_1_u(K._NavigatorRemoveObservation.prototype, "get$notify", "notify$1", 107);
    _instance_1_u(K._NavigatorReplaceObservation.prototype, "get$notify", "notify$1", 107);
    _instance_1_u(_ = K.NavigatorState.prototype, "get$_navigator$_handlePointerDown", "_navigator$_handlePointerDown$1", 233);
    _instance_1_u(_, "get$_handlePointerUpOrCancel", "_handlePointerUpOrCancel$1", 36);
    _instance_1_u(U.Notification1.prototype, "get$visitAncestor", "visitAncestor$1", 29);
    _instance_1_u(_ = E._RenderOverflowBar.prototype, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_ = X._RenderTheatre.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance_2_u(_, "get$paintStack", "paintStack$2", 22);
    _instance_1_u(L._GlowingOverscrollIndicatorState.prototype, "get$_overscroll_indicator$_handleScrollNotification", "_overscroll_indicator$_handleScrollNotification$1", 70);
    _instance_0_i(_ = L._GlowController.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_, "get$_changePhase", "_changePhase$1", 12);
    _instance_1_u(_, "get$_tickDisplacement", "_tickDisplacement$1", 6);
    _instance_1_u(L._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin.prototype, "get$visitAncestor", "visitAncestor$1", 29);
    _instance_0_u(_ = O._RawKeyboardListenerState.prototype, "get$_raw_keyboard_listener$_handleFocusChanged", "_raw_keyboard_listener$_handleFocusChanged$0", 0);
    _instance_1_u(_, "get$_raw_keyboard_listener$_handleRawKeyEvent", "_raw_keyboard_listener$_handleRawKeyEvent$1", 251);
    _instance_0_u(K._RootRestorationScopeState.prototype, "get$_replaceRootBucket", "_replaceRootBucket$0", 0);
    _instance_0_i(K.RestorableProperty.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(K.RestorationMixin.prototype, "get$_updateProperty", "_updateProperty$1", 948);
    _instance_0_i(U.RestorableListenable.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_i(U.RestorableChangeNotifier.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_ = Z._RouterState.prototype, "get$_reportRouteInformation", "_reportRouteInformation$1", 6);
    _instance_0_u(_, "get$_handleRouteInformationProviderNotification", "_handleRouteInformationProviderNotification$0", 0);
    _instance_0_u(_, "get$_handleBackButtonDispatcherNotification", "_handleBackButtonDispatcherNotification$0", 239);
    _instance(_, "get$_router$_rebuild", 0, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["_router$_rebuild$1", "_router$_rebuild$0"], 949, 0);
    _instance_0_u(_, "get$_handleRouterDelegateNotification", "_handleRouterDelegateNotification$0", 0);
    _instance_1_u(_ = Z.RouterDelegate.prototype, "get$setInitialRoutePath", "setInitialRoutePath$1", 227);
    _instance_1_u(_, "get$setRestoredRoutePath", "setRestoredRoutePath$1", 227);
    _instance_0_i(Z.PlatformRouteInformationProvider.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(T.TransitionRoute.prototype, "get$_handleStatusChanged", "_handleStatusChanged$1", 12);
    _instance_1_u(_ = T.ModalRoute.prototype, "get$_buildModalBarrier", "_buildModalBarrier$1", 30);
    _instance_1_u(_, "get$_buildModalScope", "_buildModalScope$1", 30);
    _instance_1_i(M.ScrollDragController.prototype, "get$end", "end$1", 60);
    _instance_0_u(_ = M.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(_ = M.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_i(F.ScrollController.prototype, "get$dispose", "dispose$0", 0);
    _static_1(G, "scroll_notification__defaultScrollNotificationPredicate$closure", "defaultScrollNotificationPredicate", 70);
    _instance_1_u(G._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin.prototype, "get$visitAncestor", "visitAncestor$1", 29);
    _instance_0_i(A.ScrollPosition.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_i(R.ScrollPositionWithSingleContext.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_ = F.ScrollableState.prototype, "get$_handleDragDown", "_handleDragDown$1", 963);
    _instance_1_u(_, "get$_scrollable$_handleDragStart", "_scrollable$_handleDragStart$1", 56);
    _instance_1_u(_, "get$_scrollable$_handleDragUpdate", "_scrollable$_handleDragUpdate$1", 26);
    _instance_1_u(_, "get$_handleDragEnd", "_handleDragEnd$1", 60);
    _instance_0_u(_, "get$_handleDragCancel", "_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", 964);
    _instance_1_u(_, "get$_handlePointerScroll", "_handlePointerScroll$1", 36);
    _instance_0_i(E.ScrollbarPainter.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_u(_ = E.RawScrollbarState.prototype, "get$handleThumbPress", "handleThumbPress$0", 0);
    _instance_1_u(_, "get$_handleTrackTapDown", "_handleTrackTapDown$1", 40);
    _instance_1_u(_, "get$_handleScrollNotification", "_handleScrollNotification$1", 70);
    _instance_2_u(X._ShortcutsState.prototype, "get$_handleOnKey", "_handleOnKey$2", 974);
    _instance_0_u(_ = E._RenderSingleChildViewport.prototype, "get$_hasScrolled", "_hasScrolled$0", 0);
    _instance_1_u(_, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 2);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 2);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 2);
    _instance(_, "get$showOnScreen", 0, 0, null, ["call$4$curve$descendant$duration$rect", "call$0", "call$1$rect", "call$3$curve$duration$rect"], ["showOnScreen$4$curve$descendant$duration$rect", "showOnScreen$0", "showOnScreen$1$rect", "showOnScreen$3$curve$duration$rect"], 171, 0);
    _static_2(G, "sliver0___kDefaultSemanticIndexCallback$closure", "_kDefaultSemanticIndexCallback", 1158);
    _instance_1_u(G.SliverMultiBoxAdaptorElement.prototype, "get$removeChild", "removeChild$1", 976);
    _instance(F.TextSelectionOverlay.prototype, "get$_text_selection$_markNeedsBuild", 0, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["_text_selection$_markNeedsBuild$1", "_text_selection$_markNeedsBuild$0"], 988, 0);
    _instance_0_u(_ = F._TextSelectionHandleOverlayState.prototype, "get$_handleVisibilityChanged", "_handleVisibilityChanged$0", 0);
    _instance_1_u(_, "get$_handleDragStart", "_handleDragStart$1", 56);
    _instance_1_u(_, "get$_handleDragUpdate", "_handleDragUpdate$1", 26);
    _instance_0_u(_, "get$_handleTap", "_handleTap$0", 0);
    _instance_1_u(_ = F.TextSelectionGestureDetectorBuilder.prototype, "get$onTapDown", "onTapDown$1", 40);
    _instance_1_u(_, "get$onForcePressStart", "onForcePressStart$1", 45);
    _instance_1_u(_, "get$onForcePressEnd", "onForcePressEnd$1", 45);
    _instance_1_u(_, "get$onSingleTapUp", "onSingleTapUp$1", 75);
    _instance_0_u(_, "get$onSingleTapCancel", "onSingleTapCancel$0", 0);
    _instance_1_u(_, "get$onSingleLongTapStart", "onSingleLongTapStart$1", 85);
    _instance_1_u(_, "get$onSingleLongTapMoveUpdate", "onSingleLongTapMoveUpdate$1", 84);
    _instance_1_u(_, "get$onSingleLongTapEnd", "onSingleLongTapEnd$1", 174);
    _instance_0_u(_, "get$onSecondaryTap", "onSecondaryTap$0", 0);
    _instance_1_u(_, "get$onSecondaryTapDown", "onSecondaryTapDown$1", 40);
    _instance_1_u(_, "get$onDoubleTapDown", "onDoubleTapDown$1", 40);
    _instance_1_u(_, "get$onDragSelectionStart", "onDragSelectionStart$1", 56);
    _instance_2_u(_, "get$onDragSelectionUpdate", "onDragSelectionUpdate$2", 989);
    _instance_1_u(_, "get$onDragSelectionEnd", "onDragSelectionEnd$1", 60);
    _instance_1_u(_ = F._TextSelectionGestureDetectorState.prototype, "get$_text_selection$_handleTapDown", "_text_selection$_handleTapDown$1", 40);
    _instance_1_u(_, "get$_handleTapUp", "_handleTapUp$1", 75);
    _instance_0_u(_, "get$_text_selection$_handleTapCancel", "_text_selection$_handleTapCancel$0", 0);
    _instance_1_u(_, "get$_handleDragStart", "_handleDragStart$1", 56);
    _instance_1_u(_, "get$_handleDragUpdate", "_handleDragUpdate$1", 26);
    _instance_0_u(_, "get$_handleDragUpdateThrottled", "_handleDragUpdateThrottled$0", 0);
    _instance_1_u(_, "get$_text_selection$_handleDragEnd", "_text_selection$_handleDragEnd$1", 60);
    _instance_1_u(_, "get$_forcePressStarted", "_forcePressStarted$1", 45);
    _instance_1_u(_, "get$_forcePressEnded", "_forcePressEnded$1", 45);
    _instance_1_u(_, "get$_handleLongPressStart", "_handleLongPressStart$1", 85);
    _instance_1_u(_, "get$_handleLongPressMoveUpdate", "_handleLongPressMoveUpdate$1", 84);
    _instance_1_u(_, "get$_handleLongPressEnd", "_handleLongPressEnd$1", 174);
    _instance_0_u(_, "get$_doubleTapTimeout", "_doubleTapTimeout$0", 0);
    _instance_0_u(K._AnimatedState.prototype, "get$_transitions$_handleChange", "_transitions$_handleChange$0", 0);
    _instance_0_u(N._ValueListenableBuilderState.prototype, "get$_valueChanged", "_valueChanged$0", 0);
    _instance(_ = U._ConsumerState.prototype, "get$_reader", 0, 1, null, ["call$1$1", "call$1"], ["_reader$1$1", "_reader$1"], 995, 1);
    _instance_1_u(_, "get$_consumer$_mayHaveChanged", "_consumer$_mayHaveChanged$1", 225);
    _instance_1_u(T._ProviderListenerState.prototype, "get$_mayHaveChanged", "_mayHaveChanged$1", 4);
    _instance(D.Registrar.prototype, "get$handleFrameworkMessage", 0, 3, null, ["call$3"], ["handleFrameworkMessage$3"], 998, 0);
    _instance(E.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"], 1000, 0);
    _instance_2_u(_ = R.JpegScan.prototype, "get$_decodeBaseline", "_decodeBaseline$2", 175);
    _instance_2_u(_, "get$_decodeDCFirst", "_decodeDCFirst$2", 175);
    _instance_2_u(_, "get$_decodeDCSuccessive", "_decodeDCSuccessive$2", 222);
    _instance_2_u(_, "get$_decodeACFirst", "_decodeACFirst$2", 175);
    _instance_2_u(_, "get$_decodeACSuccessive", "_decodeACSuccessive$2", 222);
    _static_1(V, "vp8_filter_VP8Filter_VE4$closure", "VP8Filter_VE4", 7);
    _static_1(V, "vp8_filter_VP8Filter_HE4$closure", "VP8Filter_HE4", 7);
    _static_1(V, "vp8_filter_VP8Filter_DC4$closure", "VP8Filter_DC4", 7);
    _static_1(V, "vp8_filter_VP8Filter_TM4$closure", "VP8Filter_TM4", 7);
    _static_1(V, "vp8_filter_VP8Filter_TM8uv$closure", "VP8Filter_TM8uv", 7);
    _static_1(V, "vp8_filter_VP8Filter_TM16$closure", "VP8Filter_TM16", 7);
    _static_1(V, "vp8_filter_VP8Filter_RD4$closure", "VP8Filter_RD4", 7);
    _static_1(V, "vp8_filter_VP8Filter_LD4$closure", "VP8Filter_LD4", 7);
    _static_1(V, "vp8_filter_VP8Filter_VR4$closure", "VP8Filter_VR4", 7);
    _static_1(V, "vp8_filter_VP8Filter_VL4$closure", "VP8Filter_VL4", 7);
    _static_1(V, "vp8_filter_VP8Filter_HU4$closure", "VP8Filter_HU4", 7);
    _static_1(V, "vp8_filter_VP8Filter_HD4$closure", "VP8Filter_HD4", 7);
    _static_1(V, "vp8_filter_VP8Filter_VE16$closure", "VP8Filter_VE16", 7);
    _static_1(V, "vp8_filter_VP8Filter_HE16$closure", "VP8Filter_HE16", 7);
    _static_1(V, "vp8_filter_VP8Filter_DC16$closure", "VP8Filter_DC16", 7);
    _static_1(V, "vp8_filter_VP8Filter_DC16NoTop$closure", "VP8Filter_DC16NoTop", 7);
    _static_1(V, "vp8_filter_VP8Filter_DC16NoLeft$closure", "VP8Filter_DC16NoLeft", 7);
    _static_1(V, "vp8_filter_VP8Filter_DC16NoTopLeft$closure", "VP8Filter_DC16NoTopLeft", 7);
    _static_1(V, "vp8_filter_VP8Filter_VE8uv$closure", "VP8Filter_VE8uv", 7);
    _static_1(V, "vp8_filter_VP8Filter_HE8uv$closure", "VP8Filter_HE8uv", 7);
    _static_1(V, "vp8_filter_VP8Filter_DC8uv$closure", "VP8Filter_DC8uv", 7);
    _static_1(V, "vp8_filter_VP8Filter_DC8uvNoLeft$closure", "VP8Filter_DC8uvNoLeft", 7);
    _static_1(V, "vp8_filter_VP8Filter_DC8uvNoTop$closure", "VP8Filter_DC8uvNoTop", 7);
    _static_1(V, "vp8_filter_VP8Filter_DC8uvNoTopLeft$closure", "VP8Filter_DC8uvNoTopLeft", 7);
    _instance_1_u(S.VP8L.prototype, "get$_processRows", "_processRows$1", 63);
    _instance_1_u(S.InternalVP8L.prototype, "get$extractAlphaRows", "extractAlphaRows$1", 63);
    _static(R, "vp8l_transform_VP8LTransform__predictor0$closure", 3, null, ["call$3"], ["VP8LTransform__predictor0"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor1$closure", 3, null, ["call$3"], ["VP8LTransform__predictor1"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor2$closure", 3, null, ["call$3"], ["VP8LTransform__predictor2"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor3$closure", 3, null, ["call$3"], ["VP8LTransform__predictor3"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor4$closure", 3, null, ["call$3"], ["VP8LTransform__predictor4"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor5$closure", 3, null, ["call$3"], ["VP8LTransform__predictor5"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor6$closure", 3, null, ["call$3"], ["VP8LTransform__predictor6"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor7$closure", 3, null, ["call$3"], ["VP8LTransform__predictor7"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor8$closure", 3, null, ["call$3"], ["VP8LTransform__predictor8"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor9$closure", 3, null, ["call$3"], ["VP8LTransform__predictor9"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor10$closure", 3, null, ["call$3"], ["VP8LTransform__predictor10"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor11$closure", 3, null, ["call$3"], ["VP8LTransform__predictor11"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor12$closure", 3, null, ["call$3"], ["VP8LTransform__predictor12"], 21, 0);
    _static(R, "vp8l_transform_VP8LTransform__predictor13$closure", 3, null, ["call$3"], ["VP8LTransform__predictor13"], 21, 0);
    _instance_2_i(U.Image0.prototype, "get$index", "index$2", 71);
    _static_1(A, "date_format_DateFormat_localeExists$closure", "DateFormat_localeExists", 54);
    _static_1(S, "number_format__CompactNumberFormat__forDecimal$closure", "_CompactNumberFormat__forDecimal", 220);
    _static_1(S, "number_format_NumberFormat_localeExists$closure", "NumberFormat_localeExists", 54);
    _instance(M.Context.prototype, "get$extension", 0, 1, function() {
      return [1];
    }, ["call$2", "call$1"], ["extension$2", "extension$1"], 1020, 0);
    _instance(X.ParsedPath.prototype, "get$extension", 0, 0, function() {
      return [1];
    }, ["call$1", "call$0"], ["extension$1", "extension$0"], 1022, 0);
    _static_1(L, "framework0___runGuarded$closure", "_runGuarded0", 109);
    _instance_1_u(_ = L.ProviderElement.prototype, "get$_markDependencyMayHaveChanged", "_markDependencyMayHaveChanged$1", 225);
    _instance_1_i(_, "get$update", "update$1", 4);
    _instance_1_u(_ = L.ProviderObserver.prototype, "get$mayHaveChanged", "mayHaveChanged$1", 218);
    _instance_1_u(_, "get$didDisposeProvider", "didDisposeProvider$1", 218);
    _instance_1_u(O._StateNotifierProviderState.prototype, "get$_state_notifier_provider$_listener", "_state_notifier_provider$_listener$1", 4);
    _instance(Y.SourceSpanMixin.prototype, "get$message", 1, 1, null, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 1038, 0);
    _instance_1_u(_ = M.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 10);
    _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 10);
    _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0);
    _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 202);
    _instance_0_i(L.StateNotifier.prototype, "get$dispose", "dispose$0", 0);
    _instance(K._GuaranteeSink.prototype, "get$_guarantee_channel$_addError", 0, 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["_guarantee_channel$_addError$2", "_guarantee_channel$_addError$1"], 83, 0);
    _instance_2_i(E.Matrix3.prototype, "get$index", "index$2", 71);
    _instance_2_i(E.Matrix4.prototype, "get$index", "index$2", 71);
    _static_1(Q, "dart_io_extensions_SocketStatistic_parse$closure", "SocketStatistic_parse", 1161);
    _static_1(Q, "dart_io_extensions_SocketProfile_parse$closure", "SocketProfile_parse", 1162);
    _static_1(Q, "dart_io_extensions_HttpTimelineLoggingState_parse$closure", "HttpTimelineLoggingState_parse", 1163);
    _static_1(Q, "dart_io_extensions_HttpProfile_parse$closure", "HttpProfile_parse", 1164);
    _static_1(Q, "dart_io_extensions_HttpProfileRequest_parse$closure", "HttpProfileRequest_parse", 1165);
    _static_1(Q, "dart_io_extensions_SocketProfilingState_parse$closure", "SocketProfilingState_parse", 1166);
    _static_1(Q, "dart_io_extensions_SpawnedProcessRef_parse$closure", "SpawnedProcessRef_parse", 1167);
    _static_1(Q, "dart_io_extensions_SpawnedProcess_parse$closure", "SpawnedProcess_parse", 1168);
    _static_1(Q, "dart_io_extensions_SpawnedProcessList_parse$closure", "SpawnedProcessList_parse", 1169);
    _static_1(Q, "dart_io_extensions_OpenFileRef_parse$closure", "OpenFileRef_parse", 1170);
    _static_1(Q, "dart_io_extensions_OpenFile_parse$closure", "OpenFile_parse", 1171);
    _static_1(Q, "dart_io_extensions_OpenFileList_parse$closure", "OpenFileList_parse", 1172);
    _static_1(Q, "vm_service_ExtensionData_parse$closure", "ExtensionData_parse", 1173);
    _static_1(Q, "vm_service_AllocationProfile_parse$closure", "AllocationProfile_parse", 1174);
    _static_1(Q, "vm_service_BoundField_parse$closure", "BoundField_parse", 1175);
    _static_1(Q, "vm_service_BoundVariable_parse$closure", "BoundVariable_parse", 1176);
    _static_1(Q, "vm_service_Breakpoint_parse$closure", "Breakpoint_parse", 1177);
    _static_1(Q, "vm_service_ClassRef_parse$closure", "ClassRef_parse", 1178);
    _static_1(Q, "vm_service_Class_parse$closure", "Class_parse", 1179);
    _static_1(Q, "vm_service_ClassHeapStats_parse$closure", "ClassHeapStats_parse", 1180);
    _static_1(Q, "vm_service_ClassList_parse$closure", "ClassList_parse", 1181);
    _static_1(Q, "vm_service_CodeRef_parse$closure", "CodeRef_parse", 1182);
    _static_1(Q, "vm_service_Code_parse$closure", "Code_parse", 1183);
    _static_1(Q, "vm_service_ContextRef_parse$closure", "ContextRef_parse", 1184);
    _static_1(Q, "vm_service_Context_parse$closure", "Context_parse", 1185);
    _static_1(Q, "vm_service_ContextElement_parse$closure", "ContextElement_parse", 1186);
    _static_1(Q, "vm_service_CpuSamples_parse$closure", "CpuSamples_parse", 1187);
    _static_1(Q, "vm_service_CpuSample_parse$closure", "CpuSample_parse", 1188);
    _static_1(Q, "vm_service_ErrorRef_parse$closure", "ErrorRef_parse", 1189);
    _static_1(Q, "vm_service_Error_parse$closure", "Error_parse", 1190);
    _static_1(Q, "vm_service_Event_parse$closure", "Event_parse", 1191);
    _static_1(Q, "vm_service_FieldRef_parse$closure", "FieldRef_parse", 1192);
    _static_1(Q, "vm_service_Field_parse$closure", "Field_parse", 1193);
    _static_1(Q, "vm_service_Flag_parse$closure", "Flag_parse", 1194);
    _static_1(Q, "vm_service_FlagList_parse$closure", "FlagList_parse", 1195);
    _static_1(Q, "vm_service_Frame_parse$closure", "Frame_parse", 1196);
    _static_1(Q, "vm_service_FuncRef_parse$closure", "FuncRef_parse", 1197);
    _static_1(Q, "vm_service_Func_parse$closure", "Func_parse", 1198);
    _static_1(Q, "vm_service_InstanceRef_parse$closure", "InstanceRef_parse", 1199);
    _static_1(Q, "vm_service_Instance_parse$closure", "Instance_parse", 1200);
    _static_1(Q, "vm_service_IsolateRef_parse$closure", "IsolateRef_parse", 1201);
    _static_1(Q, "vm_service_Isolate_parse$closure", "Isolate_parse", 1202);
    _static_1(Q, "vm_service_IsolateFlag_parse$closure", "IsolateFlag_parse", 1203);
    _static_1(Q, "vm_service_IsolateGroupRef_parse$closure", "IsolateGroupRef_parse", 1204);
    _static_1(Q, "vm_service_IsolateGroup_parse$closure", "IsolateGroup_parse", 1205);
    _static_1(Q, "vm_service_InboundReferences_parse$closure", "InboundReferences_parse", 1206);
    _static_1(Q, "vm_service_InboundReference_parse$closure", "InboundReference_parse", 1207);
    _static_1(Q, "vm_service_InstanceSet_parse$closure", "InstanceSet_parse", 1208);
    _static_1(Q, "vm_service_LibraryRef_parse$closure", "LibraryRef_parse", 1209);
    _static_1(Q, "vm_service_Library_parse$closure", "Library_parse", 1210);
    _static_1(Q, "vm_service_LibraryDependency_parse$closure", "LibraryDependency_parse", 1211);
    _static_1(Q, "vm_service_LogRecord_parse$closure", "LogRecord_parse", 1212);
    _static_1(Q, "vm_service_MapAssociation_parse$closure", "MapAssociation_parse", 1213);
    _static_1(Q, "vm_service_MemoryUsage_parse$closure", "MemoryUsage_parse", 1214);
    _static_1(Q, "vm_service_Message_parse$closure", "Message_parse", 1215);
    _static_1(Q, "vm_service_NativeFunction_parse$closure", "NativeFunction_parse", 1216);
    _static_1(Q, "vm_service_NullValRef_parse$closure", "NullValRef_parse", 1217);
    _static_1(Q, "vm_service_NullVal_parse$closure", "NullVal_parse", 1218);
    _static_1(Q, "vm_service_ObjRef_parse$closure", "ObjRef_parse", 1219);
    _static_1(Q, "vm_service_Obj_parse$closure", "Obj_parse", 1220);
    _static_1(Q, "vm_service_PortList_parse$closure", "PortList_parse", 1221);
    _static_1(Q, "vm_service_ProfileFunction_parse$closure", "ProfileFunction_parse", 1222);
    _static_1(Q, "vm_service_ProtocolList_parse$closure", "ProtocolList_parse", 1223);
    _static_1(Q, "vm_service_Protocol_parse$closure", "Protocol_parse", 1224);
    _static_1(Q, "vm_service_ProcessMemoryUsage_parse$closure", "ProcessMemoryUsage_parse", 1225);
    _static_1(Q, "vm_service_ProcessMemoryItem_parse$closure", "ProcessMemoryItem_parse", 1226);
    _static_1(Q, "vm_service_ReloadReport_parse$closure", "ReloadReport_parse", 1227);
    _static_1(Q, "vm_service_RetainingObject_parse$closure", "RetainingObject_parse", 1228);
    _static_1(Q, "vm_service_RetainingPath_parse$closure", "RetainingPath_parse", 1229);
    _static_1(Q, "vm_service_Response_parse$closure", "Response_parse", 1230);
    _static_1(Q, "vm_service_Sentinel_parse$closure", "Sentinel_parse", 1231);
    _static_1(Q, "vm_service_ScriptRef_parse$closure", "ScriptRef_parse", 1232);
    _static_1(Q, "vm_service_Script_parse$closure", "Script_parse", 1233);
    _static_1(Q, "vm_service_ScriptList_parse$closure", "ScriptList_parse", 1234);
    _static_1(Q, "vm_service_SourceLocation_parse$closure", "SourceLocation_parse", 1235);
    _static_1(Q, "vm_service_SourceReport_parse$closure", "SourceReport_parse", 1236);
    _static_1(Q, "vm_service_SourceReportCoverage_parse$closure", "SourceReportCoverage_parse", 1237);
    _static_1(Q, "vm_service_SourceReportRange_parse$closure", "SourceReportRange_parse", 1238);
    _static_1(Q, "vm_service_Stack_parse$closure", "Stack_parse", 1239);
    _static_1(Q, "vm_service_Success_parse$closure", "Success_parse", 1240);
    _static_1(Q, "vm_service_Timeline_parse$closure", "Timeline_parse", 1241);
    _static_1(Q, "vm_service_TimelineEvent_parse$closure", "TimelineEvent_parse", 1242);
    _static_1(Q, "vm_service_TimelineFlags_parse$closure", "TimelineFlags_parse", 1243);
    _static_1(Q, "vm_service_Timestamp_parse$closure", "Timestamp_parse", 1244);
    _static_1(Q, "vm_service_TypeArgumentsRef_parse$closure", "TypeArgumentsRef_parse", 1245);
    _static_1(Q, "vm_service_TypeArguments_parse$closure", "TypeArguments_parse", 1246);
    _static_1(Q, "vm_service_UnresolvedSourceLocation_parse$closure", "UnresolvedSourceLocation_parse", 1247);
    _static_1(Q, "vm_service_Version_parse$closure", "Version_parse", 1248);
    _static_1(Q, "vm_service_VMRef_parse$closure", "VMRef_parse", 1249);
    _static_1(Q, "vm_service_VM_parse$closure", "VM_parse", 1250);
    _instance_1_u(Q.VmService.prototype, "get$_processMessage", "_processMessage$1", 13);
    _static_1(S, "instruction_sizes_SymbolInfo__fromJson$closure", "SymbolInfo__fromJson", 1251);
    _instance_1_u(A.Snapshot.prototype, "get$nodeAt", "nodeAt$1", 1110);
    _instance_1_u(A._ProgramInfoBuilder.prototype, "get$getInfoNodeFor", "getInfoNodeFor$1", 1112);
    _static_1(D, "link_LinkViewController__viewFactory$closure", "LinkViewController__viewFactory", 1252);
    _static_2(B, "utils1__defaultCompare$closure", "defaultCompare", 1253);
    _static(B, "utils1__identity$closure", 1, null, ["call$1$1", "call$1"], ["identity", function(value) {
      return B.identity(value, type$.dynamic);
    }], 1254, 0);
    _static_2(T, "performance_utils_PerformanceUtils_eventGroupComparator$closure", "PerformanceUtils_eventGroupComparator", 170);
    _static_1(B, "utils0___normalizeExtension$closure", "_normalizeExtension", 19);
    _static(D, "print__debugPrintThrottled$closure", 1, null, ["call$2$wrapWidth", "call$1"], ["debugPrintThrottled", function(message) {
      return D.debugPrintThrottled(message, null);
    }], 1255, 0);
    _static_0(D, "print___debugPrintTask$closure", "_debugPrintTask", 0);
    _static_2(N, "layout_helper_ChildLayoutHelper_dryLayoutChild$closure", "ChildLayoutHelper_dryLayoutChild", 248);
    _static_2(N, "layout_helper_ChildLayoutHelper_layoutChild$closure", "ChildLayoutHelper_layoutChild", 248);
    _static(N, "webp_filters_WebPFilters_horizontalUnfilter$closure", 6, null, ["call$6"], ["WebPFilters_horizontalUnfilter"], 156, 0);
    _static(N, "webp_filters_WebPFilters_verticalUnfilter$closure", 6, null, ["call$6"], ["WebPFilters_verticalUnfilter"], 156, 0);
    _static(N, "webp_filters_WebPFilters_gradientUnfilter$closure", 6, null, ["call$6"], ["WebPFilters_gradientUnfilter"], 156, 0);
  })();
  (function inheritance() {
    var _mixin = hunkHelpers.mixin,
      _inherit = hunkHelpers.inherit,
      _inheritMany = hunkHelpers.inheritMany;
    _inherit(P.Object, null);
    _inheritMany(P.Object, [H.Closure, H.NullTreeSanitizer, H.AlarmClock, H.AssetManager, H.AssetManagerException, H.BrowserEngine, H.OperatingSystem, H._SaveStackTracking, H.ContextStateHandle, H.CkCanvas, H.CkPictureSnapshot, H.CkPaintCommand, J.Interceptor, H.ProductionCollector, H.SkiaObjectCollectionError, H.CanvasKitCanvas, H.SkiaObject, H.CkColorFilter, H.HtmlViewEmbedder, H.OverlayCache, H.MutatorType, H.Mutator, P.Iterable, H.FontFallbackData, H.NotoFont, H.CodeunitRange, H._ResolvedNotoFont, H._ResolvedNotoSubset, H.FallbackFontDownloadQueue, H.NotoDownloader, H.SkiaFontCollection, H.RegisteredFont, H.ImageCodecException, H.CkImage, H.AnimatedImageFrameInfo, H.IntervalTree, H.IntervalTreeNode, H.Layer, H.PrerollContext, H.PaintContext, H.LayerScene, H.LayerSceneBuilder, H.LayerTree, H.Frame0, H.CompositorContext, H.CkNWayCanvas, H.CkPictureRecorder, H.Rasterizer, H.SkiaObjectCache, H.SynchronousSkiaObjectCache, H.SurfaceFrame, H.Surface, H.CkSurface, H.CkParagraphStyle, H.CkTextStyle, H.CkStrutStyle, H.CkParagraphBuilder, H._ParagraphCommand, H._ParagraphCommandType, P.Error0, H.ClipboardMessageHandler, H.ClipboardAPICopyStrategy, H.ClipboardAPIPasteStrategy, H.ExecCommandCopyStrategy, H.ExecCommandPasteStrategy, H.DomRenderer, H.EngineCanvas, H._SaveStackEntry, H._SaveClipEntry, H._SaveElementStackEntry, H.SaveElementStackTracking, H.FrameReference, H.CrossFrameCache, H._CrossFrameCacheItem, H.SurfaceCanvas, H._DomClip, H.PersistedSurface, H.OffScreenCanvas, H.SurfacePaint, H.SurfacePaintData, H.Conic, H.QuadBounds, H.ConicBounds, H._ConicPair, H.CubicBounds, H.SurfacePath, H.PathIterator, H.PathRef, H.PathRefIterator, H.QuadRoots, H.SkQuadCoefficients, H.PathWinding, H._PaintRequest, H.RecordingCanvas, H.PaintCommand, H._PaintBounds, H.RenderStrategy, H._WebGlRenderer, H.SurfaceScene, H.SurfaceSceneBuilder, H.NormalizedGradient, H.EngineGradient, H.ShaderBuilder, H.ShaderMethod, H.ShaderDeclaration, H.GlProgram, H.GlContext, H.PersistedSurfaceState, H._PersistedSurfaceMatch, H.HtmlCodec, H.SingleFrameInfo, H.HtmlImage, H.Keyboard, H.KeyboardBinding, H.FlutterHtmlKeyboardEvent, H.KeyboardConverter, H.MouseCursor, H.BrowserHistory, H.UrlStrategy, H.PlatformLocation, H.EnginePictureRecorder, H.EnginePicture, P.PlatformDispatcher, H.PlatformViewManager, H.PlatformViewMessageHandler, H.PointerBinding, H.PointerSupportDetector, H._BaseAdapter, H._WheelEventListenerMixin, H._SanitizedDetails, H._ButtonSanitizer, H._PointerState, H.PointerDataConverter, H.Profiler, H.AccessibilityAnnouncements, H._CheckableKind, H.RoleManager, H.SemanticsUpdate, H.SemanticsNodeUpdate, H.Role, H.SemanticsObject, H.AccessibilityMode, H.GestureMode, H.EngineSemanticsOwner, H.EnabledState, H.SemanticsHelper, H.SemanticsEnabler, H.DefaultTextEditingStrategy, P._ListBase_Object_ListMixin, H.MethodCall0, H.JSONMessageCodec, H.JSONMethodCodec, H.StandardMessageCodec, H.StandardMethodCodec, H.WriteBuffer0, H.ReadBuffer0, H.SurfaceShadowData, H.CanvasParagraph, H.FlatTextSpan, H.StyleNode, H.CanvasParagraphBuilder, H.FontCollection, H.FontManager, H.TextLayoutService, H.RangeBox, H.LineSegment, H.LineBuilder, H.Spanometer, H.LineCharProperty, H.LineBreakType, H.LineBreakResult, H.RulerHost, H.TextMeasurementService, H.LinesCalculator, H.MaxIntrinsicCalculator, H.TextPaintService, H.EngineLineMetrics, H.DomParagraph, H.EngineParagraphStyle, H.EngineTextStyle, H.EngineStrutStyle, H.DomParagraphBuilder, H.ParagraphGeometricStyle, H.TextHeightStyle, H.TextDimensions, H.TextHeightRuler, H.ParagraphRuler, H.MeasurementResult, H._ComparisonResult, H.UnicodeRange, H.UnicodePropertyLookup, H.WordCharProperty, H._FindBreakDirection, H.BrowserAutofillHints, H.EngineInputType, H.TextCapitalization, H.TextCapitalizationConfig, H.EngineAutofillForm, H.AutofillInfo, H.EditingState, H.InputConfiguration, H.TextInputCommand, H.TextEditingChannel, H.HybridTextEditing, H.EditableTextStyle, H.EditableTextGeometry, H.TransformKind, H.Matrix40, H.Vector30, H.WebExperiments, P.FlutterView, H.WindowPadding, H.JS_CONST, J.ArrayIterator, P.Stream, H.CastStreamSubscription, P.StreamTransformerBase, H.CastIterator, P.MapMixin, H.ListIterator, P.Iterator, H.ExpandIterator, H.EmptyIterator, H.FollowedByIterator, H.WhereTypeIterator, H.FixedLengthListMixin, H.UnmodifiableListMixin, H.Symbol, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.TypeErrorDecoder, H.NullThrownFromJavaScriptException, H.ExceptionAndStackTrace, H._StackTrace, H._Required, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H._MatchImplementation, H._AllMatchesIterator, H.StringMatch, H._StringAllMatchesIterator, H._Cell, H._NativeFloat32x4List_Object_ListMixin, H._NativeInt32x4List_Object_ListMixin, H._NativeFloat64x2List_Object_ListMixin, H.NativeFloat32x4, H.NativeInt32x4, H.NativeFloat64x2, H.Rti, H._FunctionParameters, H._Type, P._TimerImpl, P._AsyncAwaitCompleter, P._AsyncStarStreamController, P._IterationMarker, P._SyncStarIterator, P.AsyncError, P._BufferingStreamSubscription, P._BroadcastStreamController, P.TimeoutException, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.StreamSubscription, P._StreamController, P._SyncStreamControllerDispatch, P._AsyncStreamControllerDispatch, P._StreamSinkWrapper, P._AddStreamState, P._PendingEvents, P._DelayedEvent, P._DelayedDone, P._DoneStreamSubscription, P._BroadcastSubscriptionWrapper, P._StreamIterator, P._ZoneFunction, P._RunNullaryZoneFunction, P._RunUnaryZoneFunction, P._RunBinaryZoneFunction, P._RegisterNullaryZoneFunction, P._RegisterUnaryZoneFunction, P._RegisterBinaryZoneFunction, P._ZoneSpecification, P._ZoneDelegate, P._Zone, P._HashMapKeyIterator, P.__SetBase_Object_SetMixin, P._HashSetIterator, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.IterableMixin, P._LinkedListIterator, P.LinkedListEntry, P.ListMixin, P._MapBaseValueIterator, P._UnmodifiableMapMixin, P._DoubleLink, P._DoubleLinkedQueueIterator, P._ListQueueIterator, P.SetMixin, P._UnmodifiableSetMixin, P._SplayTreeNode, P._SplayTree, P._SplayTreeIterator, P.Codec0, P._Base64Encoder, P._Base64Decoder, P.ChunkedConversionSink, P._JsonStringifier, P._JsonPrettyPrintMixin, P._Utf8Encoder, P._Utf8Decoder, P.Comparable, P.DateTime, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.IntegerDivisionByZeroException, P.Expando, P.MapEntry, P.Null, P._StringStackTrace, P.Stopwatch, P.RuneIterator, P.StringBuffer, P._Uri, P.UriData, P._SimpleUri, P._FakeUserTag, P.ServiceExtensionResponse, P.TimelineTask, P._AsyncBlock, W.CssStyleDeclarationBase, W.EventStreamProvider, W._Html5NodeValidator, W.ImmutableListMixin, W.NodeValidatorBuilder, W._SimpleNodeValidator, W._SvgNodeValidator, W.FixedSizeListIterator, W.Console0, W._DOMWindowCrossFrame, W._SameOriginUriPolicy, W._ValidatingTreeSanitizer, P._StructuredClone, P._AcceptStructuredClone, P.JsObject, P.NullRejectionException, P._JSRandom, P._JSSecureRandom, P.Point, P.Endian, P.ClipOp, P.PathFillType, P._ChannelCallbackRecord, P._StoredMessage, P._Channel, P.ChannelBuffers, P.OffsetBase, P.Rect, P.Radius, P.RRect, P._HashEnd, P.KeyEventType, P.KeyData, P.Color, P.StrokeCap, P.StrokeJoin, P.PaintingStyle, P.BlendMode, P.Clip, P.BlurStyle, P.MaskFilter, P.FilterQuality, P.ImageByteFormat, P.Shadow, P.PlatformConfiguration, P.ViewConfiguration, P.FrameTiming, P.AppLifecycleState, P.Locale, P.PointerChange, P.PointerDeviceKind, P.PointerSignalKind, P.PointerData, P.PointerDataPacket, P.SemanticsAction, P.SemanticsFlag, P.SemanticsUpdateBuilder, P.FontStyle, P.PlaceholderAlignment, P.FontWeight, P.TextAlign, P.TextBaseline, P.TextDecoration, P.TextDecorationStyle, P.TextLeadingDistribution, P.TextDirection, P.TextBox, P.TextAffinity, P.TextPosition, P.TextRange, P.ParagraphConstraints, P.BoxHeightStyle, P.BoxWidthStyle, P.TileMode, P.AccessibilityFeatures, P.Brightness, P.CallbackHandle, P.PlatformViewRegistry, O.AnsiUp, O.AnsiUpColor, O.PacketKind, O.TextPacket, O.StyledText, T.InputStreamBase, Q.OutputStreamBase, Z.ZLibDecoderBase, Y.HuffmanTable, S.Inflate, Z.ZLibDecoder, S.AsyncMemoizer, E.CancelableOperation, E.CancelableCompleter, O.DelegatingStreamSink, Y.DelegatingStreamSubscription, V.ErrorResult, F.ValueResult, Y.StreamCompleter, G.StreamQueue, G._PeekRequest, G._CancelRequest, G._RestRequest, T.StringCharacterRange, A.Breaks, A.BackBreaks, M.CanonicalizedMap, U.DefaultEquality, U.IterableEquality, U.ListEquality, U._UnorderedEquality, U._MapEntry, U.MapEquality, U.DeepCollectionEquality, Y.HeapPriorityQueue, Q._QueueList_Object_ListMixin, R.XFileBase, Q.Response0, Y._DiagnosticableTree_Object_Diagnosticable, N._State_Object_Diagnosticable, R._RemoteAnalyticsProvider, S.DevToolsScreen, Y.DiffTreeType, Y.AppSizeController, T.Screen, K.ColumnData, X.TreeNode, K.Disposer, K.DisposableController, K.AutoDisposeControllerMixin, N.AutoDisposeMixin, O.BannerMessagesController, O.DebugModePerformanceMessage, O.ShaderJankMessage, O.HighProfileGranularityMessage, O.DebugModeMemoryMessage, Z.BlockingActionMixin, U.PointAndBase, B.Listenable, D.TapLocation, F.Data, F.PaintCharacteristics, F.Trace0, F.TraceNotifier, F.ChartType, F.ChartSymbol, F.AxisScale, S.FlameChartSection, S.FlameChartRow, S.FlameChartDataMixin, S.FlameChartNode, S.FlameChartColorMixin, A.ExtentDelegate, E.PivotType, D.CollapsibleAnimationMixin, U.Link, V.DragAndDropManager, V.DragAndDropMetaData, O.FileSystemWeb, Y.ServerConnectionStorage, Y.BrowserStorage, N.HostPlatform, L.IdeTheme, D.ExportController, D.ImportController, F.LogLevel, E.Notification, L.ConnectedApp, A.BusEvent, A.MessageBus, B.AbstractNode, K.ScriptPopupMenuOption, K.ExceptionMode, D.ConsoleLine, D.ScriptCache, L.HistoryManager, D.EvalHistory, D._StackInfo, D.ParsedScript, E.ScriptLocation, E.SourcePosition, E._SourceToken_Object_DataSearchStateMixin, E.BreakpointAndSourcePosition, E.StackFrameAndSourcePosition, U._Intent_Object_Diagnosticable, U._Action_Object_Diagnosticable, U.HoverCard, R.Grammar, R.ScopeSpan, R.Repository, R._Matcher, U.SyntaxHighlighter, F._DialogFlag, T.EnumUtils, G.DevToolsError, B.Disposable, B.EvalOnDartLibrary, B.LibraryNotFound, B.CancelledException, B.UnknownEvalException, B.SentinelException0, B.EvalErrorException, A.ExternalDevToolsExtensionPoints, B.ChangeNotifier, T.LinkedScrollControllerGroup, M.ScrollActivity, O.FrameworkController, O.ConnectVmEvent, O.PageChangeEvent, N.LineSegment0, O.Cookie, O.HttpException, E.HttpInstantEvent, S._NetworkRequest_Object_DataSearchStateMixin, M.InspectorSourceLocation, Z.InspectorSettingsController, N.LayoutProperties, N.OverflowSide, N.RenderProperties, E.RegistrableServiceExtension, E.ObjectGroup, E.FlutterTreeType, E.InspectorInstanceRef, E.InspectorObjectGroupManager, K.InspectorTreeNode, K.InspectorTreeRow, K.InspectorTreeConfig, K.InspectorTreeController, K.InspectorTreeFixedRowHeightController, X._InspectorTreeControllerFlutter_Object_InspectorTreeController, B.AnimatedLayoutProperties, V.ArrowType, E._StdoutEventHandler, E._LogData_Object_DataSearchStateMixin, E.ImageSizesForFrame, Z.Bucket, Z.ClassFields, Z.ObjectMatcher, O.ChartsValues, T.ChartInterval, T.OfflineFileException, T.AllocationStackTrace, T.AllocationSamples, T.SettingsModel, T.MemoryLog, S.FilteredLibraries, S.LibraryFilter, X.LibraryClass, X.Predefined, X.HeapGraph, X.HeapGraphElement, X.HeapGraphClass, D.SnapshotStatus, D.WildcardMatch, N.InstructionsSize, T.MemoryTracker, T.Snapshot0, N.ContinuesState, N.MemoryTimeline, R.TreeTracker, Q._NetworkController_Object_SearchControllerMixin, S.NetworkRequests, D.NetworkService, B._LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin, Y.LegacyPerformanceData, Y.LegacyTimelineEventGroup, Y.LegacyTimelineRowData, Y.LegacyFlutterFrame, X.LegacyTimelineEventProcessor, B._PerformanceController_Object_CpuProfilerControllerProviderMixin, Y.PerformanceData, Y.TimelineEventGroup, Y.TimelineRowData, Y.FlutterFrame, X.TimelineEventProcessor, U.RecordedTimelineStream, A.PreferencesController, T._CpuProfilerController_Object_SearchControllerMixin, T.CpuProfilerControllerProviderMixin, E.CpuProfileData, E.CpuProfileMetaData, E.CpuProfileStore, V.CpuProfileTransformer, V.ProcessCancelledException, D.ProfileGranularity, Z._ProfilerScreenController_Object_CpuProfilerControllerProviderMixin, X._ObjectField_Object__$ObjectField, X._InstanceDetails_Object__$InstanceDetails, X._InstancePath_Object__$InstancePath, X._$PathToPropertyTearOff, X._$ListIndexPath, X._$MapKeyPath, X._$PropertyPath, X._$ObjectField, X._$InstanceDetails, X._$InstancePath, X._$InstancePathCopyWithImpl, E._Result_Object__$Result, E._$Result, A.ProviderNode, L.ProviderObserver, T.DevToolsRouteConfiguration, Z.RouteInformationParser, T.OfflineScreenMixin, L.DevToolsServerConnection, E.ServiceExtensionDescription, R.ServiceConnectionManager, R.ServiceExtensionState, R.ConnectedState, F.RegisteredServiceDescription, G.SliverChildDelegate, K.SnapshotArguments, R.SurveyService, R.DevToolsSurvey, S.ScrollKind, S.Selection, K.ColumnAlignment, L.TraceEvent, L.TraceEventWrapper, L.TimelineEventType, Y.TreeMixin, X.FilterControllerMixin, X.QueryFilter, X.FilterArgument, S.CustomIconMaker, S.IconKind, S.ColorIconMaker, S.SearchControllerMixin, S.EditingParts, S.AutoCompleteSearchControllerMixin, S.SearchableMixin, S.SearchFieldMixin, S.DataSearchStateMixin, S.TreeDataSearchStateMixin, B.ExtensionState, B._ServiceExtensionMixin, B.RateLimiter, B.TimeUnit, B.TimeRange, B.Range, B.SortDirection, B.DebugTimingLogger, B.MovingAverage, B.DevToolsFile, B._ImmutableList_Object_ListMixin, B.CompareMixin, T._SemanticVersion_Object_CompareMixin, E.VMDeveloperView, N.VMTag, G.VMDeveloperToolsController, U.VmServiceWrapper, U._CpuProfileTimelineTree, M.AdbMemoryInfo, L.ClassHeapDetailStats, K.AllocationAccumulator, K.ExtensionEvent, K.ExtensionEvents, K.EventSample, K.RasterCache, E.HeapSample, L.HeapSpace, O.MemoryJson, E.PlatformInterface, L.XTypeGroup, G.DomHelper, X.AnimationStatus, G._AnimationDirection, G.AnimationBehavior, T.Simulation, S.AnimationWithParentMixin, S._TrainHoppingMode, Z.ParametricCurve, S.AnimationLazyListenerMixin, S.AnimationEagerListenerMixin, S.AnimationLocalListenersMixin, S.AnimationLocalStatusListenersMixin, R.Animatable, F.TextSelectionControls, T._IconThemeData_Object_Diagnosticable, K.CupertinoUserInterfaceLevelData, L.LocalizationsDelegate, L.DefaultCupertinoLocalizations, R._CupertinoTextThemeData_Object_Diagnosticable, R._TextThemeDefaultsBuilder, K.NoDefaultCupertinoThemeData, K._CupertinoThemeDefaults, K._CupertinoTextThemeDefaults, A.CupertinoThumbPainter, Y.DiagnosticsNode, U._FlutterErrorDetails_Object_Diagnosticable, N.BindingBase, Y.DiagnosticLevel, Y.DiagnosticsTreeStyle, Y.TextTreeConfiguration, Y._WordWrapParseMode, Y._PrefixedStringBuilder, Y._NoDefaultValue, Y.TextTreeRenderer, Y.DiagnosticPropertiesBuilder, Y.Diagnosticable, Y.DiagnosticableTreeMixin, D.Key, D._TypeLiteral, F.LicenseEntry, T.TargetPlatform, G.WriteBuffer, G.ReadBuffer, R.StackFrame, O.SynchronousFuture, D.GestureDisposition, D.GestureArenaMember, D.GestureArenaEntry, D._GestureArena, D.GestureArenaManager, N._Resampler, N.GestureBinding, O.DragDownDetails, O.DragStartDetails, O.DragUpdateDetails, O.DragEndDetails, F._PointerEvent_Object_Diagnosticable, F._PointerEventDescription, F._AbstractPointerEvent, F._CopyPointerAddedEvent, F._CopyPointerRemovedEvent, F._CopyPointerHoverEvent, F._CopyPointerEnterEvent, F._CopyPointerExitEvent, F._CopyPointerDownEvent, F._CopyPointerMoveEvent, F._CopyPointerUpEvent, F._CopyPointerScrollEvent, F._CopyPointerCancelEvent, K._ForceState, K.ForcePressDetails, O.HitTestEntry, O._TransformPart, O.HitTestResult, T.LongPressStartDetails, T.LongPressMoveUpdateDetails, T.LongPressEndDetails, B._Vector, B._Matrix, B.PolynomialFit, B.LeastSquaresSolver, O._DragState, F._CountdownZoned, F._TapTracker, O.PointerRouter, G.PointerSignalResolver, S.DragStartBehavior, S.GestureRecognizerState, S.OffsetPair, N.TapDownDetails, N.TapUpDetails, R.Velocity, R.VelocityEstimate, R._PointAtTime, R.VelocityTracker, S.ThemeMode, K.ScrollBehavior, T.SingleChildLayoutDelegate, V._AppBarTheme_Object_Diagnosticable, D._CornerId, D._Diagonal, Q._MaterialBannerThemeData_Object_Diagnosticable, D._BottomAppBarTheme_Object_Diagnosticable, M._BottomNavigationBarThemeData_Object_Diagnosticable, X._BottomSheetThemeData_Object_Diagnosticable, M._ButtonBarThemeData_Object_Diagnosticable, A._ButtonStyle_Object_Diagnosticable, A._LerpProperties3, A._LerpSides, A._LerpShapes, A._MouseCursor_Object_Diagnosticable, M.ButtonTextTheme, M.ButtonBarLayoutBehavior, M._ButtonThemeData_Object_Diagnosticable, A._CardTheme_Object_Diagnosticable, F._CheckboxThemeData_Object_Diagnosticable, F._LerpProperties1, K._ChipThemeData_Object_Diagnosticable, A._ColorScheme_Object_Diagnosticable, S.DataColumn, S.DataRow, S.DataCell, S.TableColumnWidth, Z._DataTableThemeData_Object_Diagnosticable, Z._LerpProperties2, K.Route, Y._DialogTheme_Object_Diagnosticable, G._DividerThemeData_Object_Diagnosticable, K._DropdownRouteResult, K._MenuLimits, V.MaterialStateProperty, T._ElevatedButtonThemeData_Object_Diagnosticable, E._DefaultHeroTag, A.FloatingActionButtonLocation, A.FabFloatOffsetY, A.FabEndOffsetX, A.FloatingActionButtonAnimator, S._FloatingActionButtonThemeData_Object_Diagnosticable, M.InkFeature, R.InteractiveInkFeatureFactory, R._HighlightType, Y.ShapeBorder, L.FloatingLabelBehavior, L._DecorationSlot, L._Decoration, L._RenderDecorationLayout, L.InputDecoration, L._InputDecorationTheme_Object_Diagnosticable, Q.ListTileStyle, Q.ListTileControlAffinity, Q._ListTileSlot, M.MaterialType, U.DefaultMaterialLocalizations, V.MaterialState, V._MaterialStatePropertyWith, V._MaterialStatePropertyAll, E.NavigationRailLabelType, E.NavigationRailDestination, E._NavigationRailThemeData_Object_Diagnosticable, U._OutlinedButtonThemeData_Object_Diagnosticable, V.MaterialRouteTransitionMixin, K.RouteSettings, K._PageTransitionsTheme_Object_Diagnosticable, R._PopupMenuThemeData_Object_Diagnosticable, U._ActivityIndicatorType, B._ProgressIndicatorThemeData_Object_Diagnosticable, T._RadioThemeData_Object_Diagnosticable, T._LerpProperties0, M._ScaffoldSlot, M.ScaffoldPrelayoutGeometry, M.ScaffoldGeometry, K.Constraints, B.MultiChildLayoutDelegate, M.ScaffoldFeatureController, X._ScrollbarThemeData_Object_Diagnosticable, X._LerpProperties4, F.TextSelectionGestureDetectorBuilder, Q._SliderThemeData_Object_Diagnosticable, N.SnackBarClosedReason, K._SnackBarThemeData_Object_Diagnosticable, N._SwitchType, R._SwitchThemeData_Object_Diagnosticable, R._LerpProperties, U._TabBarTheme_Object_Diagnosticable, Z._Decoration_Object_Diagnosticable, Z.BoxPainter, T._TextButtonThemeData_Object_Diagnosticable, R._TextSelectionThemeData_Object_Diagnosticable, R._TextTheme_Object_Diagnosticable, X.MaterialTapTargetSize, X._ThemeData_Object_Diagnosticable, X._IdentityThemeDataCacheKey, X._FifoCache, X._VisualDensity_Object_Diagnosticable, A._TimePickerThemeData_Object_Diagnosticable, S._ToggleButtonsThemeData_Object_Diagnosticable, F.ToggleableStateMixin, T._TooltipThemeData_Object_Diagnosticable, U.ScriptCategory, U._Typography_Object_Diagnosticable, K.AlignmentGeometry, K.TextAlignVertical, G.RenderComparison, G.Axis, G.VerticalDirection, G.AxisDirection, N.PaintingBinding, K.BorderRadiusGeometry, Y.BorderStyle, Y.BorderSide, F.BoxShape, U.BoxFit, U.FittedSizes, Z.ClipContext, E.ImageSizeInfo, X.ImageRepeat, X.DecorationImage, X.DecorationImagePainter, V.EdgeInsetsGeometry, T._ColorsAndStops, T.Gradient, E.ImageCache, E._CachedImageBase, E._PendingImage, M.ImageConfiguration, M.ImageProvider, M.AssetBundleImageKey, L._ImageStreamCompleter_Object_Diagnosticable, L.ImageInfo, L.ImageStreamListener, L._ImageStream_Object_Diagnosticable, L.ImageStreamCompleterHandle, G.Accumulator, G.InlineSpanSemanticsInformation, D.ShaderWarmUp, M._StrutStyle_Object_Diagnosticable, U.TextOverflow, U.PlaceholderDimensions, U.TextWidthBasis, U._CaretMetrics, U.TextPainter, A._TextStyle_Object_Diagnosticable, M.SpringDescription, M.SpringType, M._CriticalSolution, M._OverdampedSolution, M._UnderdampedSolution, N.Tolerance, F.RenderAnimatedSizeState, N.RendererBinding, K.ParentData, S._IntrinsicDimension, S._IntrinsicDimensionsCacheEntry, S.RenderBoxContainerDefaultsMixin, T.DebugOverflowIndicatorMixin, D.TextSelectionPoint, F.FlexFit, F.MainAxisSize, F.MainAxisAlignment, F.CrossAxisAlignment, F._LayoutSizes, T.AnnotationEntry, T.AnnotationResult, T.LayerLink, A._MouseState, A.__MouseTrackerUpdateDetails_Object_Diagnosticable, K.SemanticsHandle, K.PipelineOwner, K.RenderObjectWithChildMixin, K.ContainerParentDataMixin, K.ContainerRenderObjectMixin, K.RelayoutWhenSystemFontsChangeMixin, K._SemanticsFragment, K._SemanticsGeometry, E.RenderProxyBoxMixin, E.HitTestBehavior, E.RenderAnimatedOpacityMixin, E.DecorationPosition, G.GrowthDirection, G._SliverGeometry_Object_Diagnosticable, G.RenderSliverHelpers, F.KeepAliveParentDataMixin, F.RenderSliverWithKeepAliveMixin, K.RelativeRect, K.StackFit, K.Overflow, S.TableCellVerticalAlignment, A.ViewConfiguration0, Q.CacheExtentStyle, Q.RevealedOffset, N.ScrollDirection, N.WrapAlignment, N.WrapCrossAlignment, N._RunMetrics, N._TaskEntry, N._FrameCallbackEntry, N.SchedulerPhase, N.SchedulerBinding, V.Priority, M.Ticker, M.TickerFuture, M.TickerCanceled, N.SemanticsBinding, A.SemanticsTag, A._SemanticsData_Object_Diagnosticable, A._BoxEdge, A._TraversalSortNode, A.SemanticsConfiguration, A.DebugSemanticsDumpOrder, A._SemanticsSortKey_Object_Diagnosticable, E.SemanticsEvent, Q.AssetBundle, F.AutofillConfiguration, Q.BinaryMessenger, N.ServicesBinding, T.ClipboardData, G._KeyboardKey_Object_Diagnosticable, F.MethodCall, F.PlatformException, F.MissingPluginException, U.StringCodec, U.JSONMessageCodec0, U.JSONMethodCodec0, U.StandardMessageCodec0, U.StandardMethodCodec0, A.MouseCursorManager, A.MouseCursorSession, A.BasicMessageChannel, A.MethodChannel, B.KeyboardSide, B.ModifierKey, B.RawKeyEventData, B._RawKeyEvent_Object_Diagnosticable, B.RawKeyboard, B._ModifierSidePair, K.RestorationBucket, X.ApplicationSwitcherDescription, X.SystemUiOverlayStyle, V.SystemSoundType, B.MaxLengthEnforcement, B.TextInputFormatter, N.SmartDashesType, N.SmartQuotesType, N.TextInputType, N.TextInputAction, N.TextCapitalization0, N.TextInputConfiguration, N.FloatingCursorDragState, N.TextEditingValue, N.SelectionChangedCause, N.TextSelectionDelegate, N.TextInputConnection, N.TextInput, U._ActionDispatcher_Object_Diagnosticable, U.CrossFadeState, B.ConnectionState, B.AsyncSnapshot, U.Notification1, L.AutomaticKeepAliveClientMixin, N.WidgetsBindingObserver, N.WidgetsBinding, Q.DismissDirection, Q._FlingGestureKind, K.DisposableBuildContext, D.ToolbarOptions, O.KeyEventResult, O.FocusAttachment, O.UnfocusDisposition, O._FocusNode_Object_DiagnosticableTreeMixin, O.FocusHighlightMode, O.FocusHighlightStrategy, O._FocusManager_Object_DiagnosticableTreeMixin, U._FocusTraversalGroupInfo, U.TraversalDirection, U._FocusTraversalPolicy_Object_Diagnosticable, U._DirectionalPolicyDataEntry, U._DirectionalPolicyData, U.DirectionalFocusTraversalPolicyMixin, U.__ReadingOrderSortData_Object_Diagnosticable, U.__ReadingOrderDirectionalGroupData_Object_Diagnosticable, N._StateLifecycle, N._ElementLifecycle, N._InactiveElements, N.BuildOwner, N.DebugCreator, N.IndexedSlot, D.GestureRecognizerFactory, D.SemanticsGestureDelegate, T.HeroFlightDirection, T._HeroFlightManifest, T._HeroFlight, K.NavigatorObserver, X.IconData, M.CapturedThemes, A.RenderConstrainedLayoutBuilder, L._Pending, L.DefaultWidgetsLocalizations, F.Orientation, F.MediaQueryData, F.NavigationMode, E._ToolbarSlot, K.RoutePopDisposition, K.RouteTransitionRecord, K.TransitionDelegate, K._RouteLifecycle, K._NavigatorObservation, K._RouteRestorationType, K._RestorationInformation, E.OverflowBarAlignment, L._GlowState, S._StorageEntryIdentifier, S.PageStorageBucket, M._FixedScrollMetrics_Object_ScrollMetrics, L.ScrollPhysics, K.RestorationMixin, Z.RouteInformation, Z._IntentionToReportRouteInformation, Z._CallbackHookProvider, Z.PopNavigatorRouterDelegateMixin, T.LocalHistoryRoute, M.ScrollDragController, K._WrappedScrollBehavior, M.ScrollMetrics, G.ViewportNotificationMixin, A.ScrollPositionAlignmentPolicy, Y._NBSample, B.ScrollViewKeyboardDismissBehavior, F.ScrollableDetails, F.ScrollIncrementType, X.KeySet, X._SingleActivator_Object_Diagnosticable, X.__ActivatorIntentPair_Object_Diagnosticable, S.TableRow0, S._TableElementRow, S.__TableSlot_Object_Diagnosticable, F.TextSelectionHandleType, F._TextSelectionHandlePosition, F.TextSelectionOverlay, U.SingleTickerProviderStateMixin, U.TickerProviderStateMixin, E.BaseClient, G.BaseRequest, T.BaseResponse, E.ClientException, R.MediaType, G.ExifData, L.BitmapCompression, L.BitmapFileHeader, A.DecodeInfo, B.Decoder, U.ExrAttribute, B.ExrCompressor, D.ExrChannel, Y.ExrHufDec, S.ExrPart, G._PizChannelData, M.GifColorMap, A.GifImageDesc, X.IcoInfoImage, U.ComponentData, D.JpegAdobe, R.JpegComponent, Y.JpegData, Y._JpegHuffman, L.JpegFrame, S.JpegJfif, R.JpegScan, D.PngFrame, V.PsdEffect, Q.PsdLayerData, O.PsdBlendingRanges, N.PsdChannel, S.PsdImageResource, S.PsdLayer, A.TiffBitReader, G.TiffEntry, A.TiffFaxDecoder, U.TiffImage, G.LzwDecoder, A.VP8, B.VP8BitReader, V.VP8Filter, L.VP8FrameHeader, L.VP8PictureHeader, L.VP8SegmentHeader, L.VP8BandProbas, L.VP8Proba, L.VP8FilterHeader, L.VP8FInfo, L.VP8MB, L.VP8QuantMatrix, L.VP8MBData, L.VP8TopSamples, S.VP8L, A.VP8LBitReader, Y.VP8LColorCache, R.VP8LTransform, S.WebPAlpha, X.WebPFrame, B.HuffmanTree, B.HTreeGroup, F.HdrImage, K.HdrSlice, U.Format, U.Channels, U.Image0, K.ImageException, Z.InputBuffer, G.OutputBuffer, B.DateSymbols, B.NumberSymbols, B.CompactNumberSymbols, A.DateFormat, A._DateFormatField, S._CompactStyleBase, S._CompactFormatType, S.NumberFormat, Q.NumberFormatParseResult, Q.NumberFormatParser, K.StringIterator, X.UninitializedLocaleData, X.LocaleDataException, Y.Level, L.LogRecord0, F.Logger, D.SingleChildWidgetElementMixin, M.Context, O.Style, X.ParsedPath, X.PathException, O.Pool, O.PoolResource, Y._Dependency, Y._Delegate, Y._DelegateState, Y.ProviderNotFoundException, X.AutoDisposeProviderBuilder, R._AsyncValue_Object__$AsyncValue, R._$AsyncValue, L.ProviderBase, L.ProviderElement, L._AutoDisposer, L.ProviderSubscription, L.ProviderStateBase, L.ProviderException, L.ProviderOverridesMixin, L.AutoDisposeProviderOverridesMixin, L.ProviderContainer, L.Family, F._FutureProviderMixin, F._FutureProviderStateMixin, Y._ProviderStateMixin, O._StateNotifierProviderMixin, L.StateNotifier, F._StateProviderStateMixin, T._StreamProviderMixin, T._StreamProviderStateMixin, Y.SourceFile, D.SourceLocationMixin, Y.SourceSpanMixin, U.Highlighter, U._Highlight, U._Line, V.SourceLocation, G.SourceSpanException, R.StreamChannelMixin, U.Chain, A.Frame, T.LazyTrace, Y.Trace, N.UnparsedFrame, K._GuaranteeSink, B.StreamChannelController, X.StringScanner, E.Matrix3, E.Matrix4, E.Quaternion, E.Vector3, E.Vector4, Q.SocketStatistic, Q.HttpProfileRequestRef, Q.HttpProfileRequestData, Q.HttpProfileRequestError, Q.HttpProfileRequestEvent, Q.HttpProfileResponseData, Q.SpawnedProcessRef, Q.OpenFileRef, M._ReadStream, M.HeapSnapshotField, M.HeapSnapshotClass, M.HeapSnapshotObject, M.HeapSnapshotExternalProperty, M.HeapSnapshotGraph, M.HeapSnapshotObjectNoData, M.HeapSnapshotObjectNullData, M.HeapSnapshotObjectLengthData, Q._OutstandingRequest, Q.VmService, Q.RPCError, Q.SentinelException, Q.ExtensionData, Q._NullLog, Q.BoundField, Q.ContextElement, Q.CpuSample, Q.Flag, Q.IsolateFlag, Q.InboundReference, Q.LibraryDependency, Q.MapAssociation, Q.NativeFunction, Q.ProfileFunction, Q.Protocol, Q.ProcessMemoryItem, Q.RetainingObject, Q.SourceReportCoverage, Q.SourceReportRange, Q.TimelineEvent, S.SymbolInfo, N.Name, A.CallGraphNode, A.CallGraph, A._TraceReader, D.ProgramInfo, D.NodeType, D.ProgramInfoNode, R._DfsState, N.TreemapFormat, A.Snapshot, A.Meta, A.Edge, A.Node, A.SnapshotInfo, A._ProgramInfoBuilder, E.WebSocketChannelException]);
    _inheritMany(H.Closure, [H.initializeEngine_closure, H.initializeEngine_closure0, H.initializeEngine__closure, H._addUrlStrategyListener_closure, H._addUrlStrategyListener_closure0, H.AssetManager__baseUrl_closure, H.AssetManager__baseUrl_closure0, H.ProductionCollector_closure, H.ProductionCollector_collect_closure, H.FontFallbackData_createNotoFontTree_closure, H.FontFallbackData_registerFallbackFont_closure, H.findFontsForMissingCodeunits_closure, H._makeResolvedNotoFontFromCss_closure, H._registerSymbolsAndEmoji_extractUrlFromCss, H.findMinimumFontsForCodeUnits_closure, H.findMinimumFontsForCodeUnits_closure0, H.FallbackFontDownloadQueue_startDownloads_closure, H.NotoDownloader_downloadAsBytes_closure, H.NotoDownloader_downloadAsBytes__closure, H.NotoDownloader_downloadAsString_closure, H.NotoDownloader_downloadAsString__closure, H.SkiaFontCollection_ensureFontsLoaded_closure, H.SkiaFontCollection_ensureFontsLoaded_closure0, H.SkiaFontCollection__getArrayBuffer_closure, H.CkImage_closure, H.initializeCanvasKit_closure, H.initializeCanvasKit__closure, H.initializeCanvasKit__closure0, H.IntervalTree_IntervalTree$createFromRanges_closure, H.IntervalTree_IntervalTree$createFromRanges_closure0, H.IntervalTree_IntervalTree$createFromRanges__makeBalancedTree, H.IntervalTree_IntervalTree$createFromRanges__computeHigh, H.Frame_raster_closure, H.Frame_raster_closure0, H.Surface_acquireFrame_closure, H.Surface__createNewSurface_closure, H.CkTextStyle_skTextStyle_closure, H.CkParagraphBuilder__ensureFontsSupportText_closure, H.CkParagraphBuilder__checkIfGlobalFallbacksSupport_closure, H.CkParagraphBuilder__checkIfNoFallbackFontSupports_closure, H._getEffectiveFontFamilies_closure, H.ClipboardMessageHandler_setDataMethodCall_closure, H.ClipboardMessageHandler_setDataMethodCall_closure0, H.ClipboardMessageHandler_getDataMethodCall_closure, H.ClipboardMessageHandler_getDataMethodCall_closure0, H.ClipboardMessageHandler_getDataMethodCall__closure, H.DomRenderer_reset_closure, H.DomRenderer_reset_closure0, H.DomRenderer_reset_closure1, H.DomRenderer_reset_closure2, H.DomRenderer_reset_closure3, H.DomRenderer_reset_closure4, H.DomRenderer_setPreferredOrientation_closure, H.DomRenderer_setPreferredOrientation_closure0, H.sendFontChangeMessage_closure, H.sendFontChangeMessage__closure, H.PersistedPicture__applyBitmapPaint_closure, H.SurfaceSceneBuilder_build_closure, H.SurfaceSceneBuilder_build_closure0, H.commitScene_closure, H.PersistedContainerSurface__matchChildren_closure, H.HtmlCodec_getNextFrame_closure, H.HtmlCodec_getNextFrame_closure0, H.HtmlCodec__decodeUsingOnLoad_closure, H.HtmlCodec__decodeUsingOnLoad_closure0, H.Keyboard$__closure, H.Keyboard$__closure0, H.Keyboard$__closure1, H.Keyboard__handleHtmlEvent_closure, H.Keyboard__handleHtmlEvent_closure0, H._kLogicalKeyToModifierGetter_closure, H._kLogicalKeyToModifierGetter_closure0, H._kLogicalKeyToModifierGetter_closure1, H._kLogicalKeyToModifierGetter_closure2, H._kLogicalKeyToModifierGetter_closure3, H._kLogicalKeyToModifierGetter_closure4, H._kLogicalKeyToModifierGetter_closure5, H._kLogicalKeyToModifierGetter_closure6, H.KeyboardBinding__addEventListener_closure, H.KeyboardBinding__onKeyData_closure, H.KeyboardBinding__setup_closure, H.KeyboardBinding__setup_closure0, H.KeyboardConverter__scheduleAsyncEvent_closure, H.KeyboardConverter__scheduleAsyncEvent_closure0, H.KeyboardConverter__startGuardingKey_closure, H.KeyboardConverter__startGuardingKey_closure0, H.KeyboardConverter_handleEvent_closure, H.KeyboardConverter_handleEvent_closure0, H.KeyboardConverter_handleEvent_closure1, H.KeyboardConverter_handleEvent_closure2, H.KeyboardConverter_handleEvent__closure, H.MultiEntriesBrowserHistory_onPopState_closure, H.SingleEntryBrowserHistory_onPopState_closure, H.SingleEntryBrowserHistory_onPopState_closure0, H.HashUrlStrategy_addPopStateListener_closure, H.HashUrlStrategy__waitForPopState_closure, H.EnginePlatformDispatcher__zonedPlatformMessageResponseCallback_closure, H.EnginePlatformDispatcher__sendPlatformMessage_closure, H.EnginePlatformDispatcher__sendPlatformMessage_closure0, H.EnginePlatformDispatcher__sendPlatformMessage_closure1, H.EnginePlatformDispatcher__sendPlatformMessage_closure2, H.EnginePlatformDispatcher__sendPlatformMessage_closure3, H.EnginePlatformDispatcher__sendPlatformMessage_closure4, H.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure, H.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure0, H.EnginePlatformDispatcher__replyToPlatformMessage_closure, H.invoke2_closure, H.invoke3_closure, H.PlatformViewManager_renderContent_closure, H._BaseAdapter_addEventListener_closure, H._WheelEventListenerMixin__addWheelEventListener_closure, H._PointerAdapter__ensureSanitizer_closure, H._PointerAdapter__addPointerEventListener_closure, H._PointerAdapter_setup_closure, H._PointerAdapter_setup_closure0, H._PointerAdapter_setup_closure1, H._PointerAdapter_setup_closure2, H._PointerAdapter_setup_closure3, H._TouchAdapter__addTouchEventListener_closure, H._TouchAdapter_setup_closure, H._TouchAdapter_setup_closure0, H._TouchAdapter_setup_closure1, H._TouchAdapter_setup_closure2, H._MouseAdapter__addMouseEventListener_closure, H._MouseAdapter_setup_closure, H._MouseAdapter_setup_closure0, H._MouseAdapter_setup_closure1, H._MouseAdapter_setup_closure2, H.PointerDataConverter__ensureStateForPointer_closure, H.AccessibilityAnnouncements$__closure, H.AccessibilityAnnouncements_handleMessage_closure, H.Incrementable_closure, H.Incrementable_closure0, H.Scrollable_update_closure, H.Scrollable_update_closure0, H.Scrollable_update_closure1, H._roleFactories_closure, H._roleFactories_closure0, H._roleFactories_closure1, H._roleFactories_closure2, H._roleFactories_closure3, H._roleFactories_closure4, H._roleFactories_closure5, H._roleFactories_closure6, H.EngineSemanticsOwner$__closure, H.EngineSemanticsOwner__now_closure, H.EngineSemanticsOwner__getGestureModeClock_closure, H.DesktopSemanticsEnabler_prepareAccessibilityPlaceholder_closure, H.MobileSemanticsEnabler_tryEnableSemantics_closure, H.MobileSemanticsEnabler_prepareAccessibilityPlaceholder_closure, H.Tappable_update_closure, H.TextField__initializeForBlink_closure, H.TextField__initializeForWebkit_closure, H.TextField__initializeForWebkit_closure0, H.TextField_update_closure, H.StandardMessageCodec_writeValue_closure0, H.FontManager__loadFontFace_closure, H.FontManager__loadFontFace_closure0, H._PolyfillFontManager_registerAsset__watchWidth, H._PolyfillFontManager_registerAsset_closure, H.RulerManager__scheduleRulerCacheCleanup_closure, H.RulerManager__evictAllRulers_closure, H.RulerManager_cleanUpRulerCache_closure, H.DomParagraphBuilder__buildRichText_currentElement, H.EngineAutofillForm_fromFrameworkMessage_closure, H.EngineAutofillForm_addInputEventListeners_closure, H.EngineAutofillForm_addInputEventListeners__closure, H.DefaultTextEditingStrategy_addEventHandlers_closure, H.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure, H.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure0, H.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure1, H.IOSTextEditingStrategy_addEventHandlers_closure, H.IOSTextEditingStrategy_addEventHandlers_closure0, H.IOSTextEditingStrategy__addTapListener_closure, H.IOSTextEditingStrategy__schedulePlacement_closure, H.AndroidTextEditingStrategy_addEventHandlers_closure, H.FirefoxTextEditingStrategy_addEventHandlers_closure, H.FirefoxTextEditingStrategy_addEventHandlers_closure0, H.FirefoxTextEditingStrategy__postponeFocus_closure, H.saveForms_closure, H.TextEditingChannel_handleTextInput_closure, H.HybridTextEditing__startEditing_closure0, H.HybridTextEditing__startEditing_closure, H.WebExperiments$__closure, H.EngineFlutterWindow_closure, H._CastListBase_sort_closure, H.CastSet_removeWhere_closure, H.CastMap_putIfAbsent_closure, H.CastMap_forEach_closure, H.CastMap_entries_closure, H.nullFuture_closure, H.ConstantMap_map_closure, H.ConstantStringMap_values_closure, H.Instantiation, H.Primitives_initTicker_closure, H.Primitives_functionNoSuchMethod_closure, H.TearOffClosure, H.JsLinkedHashMap_values_closure, H.JsLinkedHashMap_containsValue_closure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._TimerImpl$periodic_closure, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._asyncStarHelper_closure, P._asyncStarHelper_closure0, P._AsyncStarStreamController__resumeBody, P._AsyncStarStreamController__resumeBody_closure, P._AsyncStarStreamController_closure0, P._AsyncStarStreamController_closure1, P._AsyncStarStreamController_closure, P._AsyncStarStreamController__closure, P._SyncBroadcastStreamController__sendData_closure, P._SyncBroadcastStreamController__sendError_closure, P._SyncBroadcastStreamController__sendDone_closure, P.Future_Future_closure, P.Future_Future$microtask_closure, P.Future_Future$delayed_closure, P.Future_wait_handleError, P.Future_wait_closure, P.Future_any_onValue, P.Future_any_onError, P.Future_forEach_closure, P.Future_doWhile_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncCompleteWithValue_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P._Future_timeout_closure, P._Future_timeout_closure0, P._Future_timeout_closure1, P._Future_timeout_closure2, P.Stream_Stream$fromIterable_closure, P.Stream_pipe_closure, P.Stream_contains_closure, P.Stream_contains_closure0, P.Stream_contains__closure, P.Stream_contains__closure0, P.Stream_length_closure, P.Stream_length_closure0, P.Stream_toList_closure, P.Stream_toList_closure0, P.Stream_first_closure, P.Stream_first_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._AddStreamState_makeErrorHandler_closure, P._AddStreamState_cancel_closure, P._BufferingStreamSubscription_asFuture_closure, P._BufferingStreamSubscription_asFuture_closure0, P._BufferingStreamSubscription_asFuture__closure, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._DoneStreamSubscription_asFuture_closure, P._cancelAndError_closure, P._cancelAndErrorClosure_closure, P._cancelAndValue_closure, P._CustomZone_bindCallback_closure, P._CustomZone_bindUnaryCallback_closure, P._CustomZone_bindCallbackGuarded_closure, P._CustomZone_bindUnaryCallbackGuarded_closure, P._rootHandleError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindUnaryCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._RootZone_bindUnaryCallbackGuarded_closure, P.runZonedGuarded_closure, P._HashMap_values_closure, P._HashMap_addAll_closure, P._CustomHashMap_closure, P._LinkedCustomHashMap_closure, P.HashMap_HashMap$from_closure, P.LinkedHashMap_LinkedHashMap$from_closure, P.MapBase_mapToString_closure, P.MapMixin_entries_closure, P.SplayTreeMap_closure, P.SplayTreeMap_addAll_closure, P.SplayTreeSet_closure, P.SplayTreeSet__newSet_closure, P.SplayTreeSet__copyNode_copyChildren, P._JsonMap_values_closure, P._JsonMap_addAll_closure, P.Utf8Decoder__decoder_closure, P.Utf8Decoder__decoderNonfatal_closure, P._JsonStringifier_writeMap_closure, P._JsonPrettyPrintMixin_writeMap_closure, P.NoSuchMethodError_toString_closure, P.DateTime_parse_parseIntOrZero, P.DateTime_parse_parseMilliAndMicroseconds, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P.Uri_splitQueryString_closure, P.Uri__parseIPv4Address_error, P.Uri_parseIPv6Address_error, P.Uri_parseIPv6Address_parseHex, P._Uri__makePath_closure, P._Uri__makeQuery_writeParameter, P._Uri__makeQuery_closure, P._createTables_build, P._createTables_setChars, P._createTables_setRange, W.Element_Element$html_closure, W.Entry_remove_closure, W.Entry_remove_closure0, W.HttpRequest_request_closure, W.MidiInputMap_keys_closure, W.MidiInputMap_values_closure, W.MidiOutputMap_keys_closure, W.MidiOutputMap_values_closure, W.Notification_requestPermission_closure, W.RtcStatsReport_keys_closure, W.RtcStatsReport_values_closure, W.Storage_addAll_closure, W.Storage_keys_closure, W.Storage_values_closure, W._AttributeMap_addAll_closure, W._EventStreamSubscription_closure, W._EventStreamSubscription_onData_closure, W.NodeValidatorBuilder_allowsElement_closure, W.NodeValidatorBuilder_allowsAttribute_closure, W._SimpleNodeValidator_closure, W._SimpleNodeValidator_closure0, W._TemplatingNodeValidator_closure, W._ValidatingTreeSanitizer_sanitizeTree_walk, P._StructuredClone_walk_closure, P._StructuredClone_walk_closure0, P._AcceptStructuredClone_walk_closure, P._convertDartToNative_Value_closure, P.convertDartToNative_Dictionary_closure, P.FilteredElementList__iterable_closure, P.FilteredElementList__iterable_closure0, P.FilteredElementList_removeRange_closure, P._completeRequest_closure, P.JsObject__convertDataTree__convert, P._convertToJS_closure, P._convertToJS_closure0, P._wrapToDart_closure, P._wrapToDart_closure0, P._wrapToDart_closure1, P.promiseToFuture_closure, P.promiseToFuture_closure0, P.ChannelBuffers_push_closure, P.ChannelBuffers_setListener_closure, P.webOnlyInitializePlatform_closure, P.AudioParamMap_keys_closure, P.AudioParamMap_values_closure, E.CancelableOperation_valueOrCancellation_closure, E.CancelableOperation_valueOrCancellation_closure0, E.CancelableOperation_then_closure, E.CancelableOperation_then__closure, E.CancelableOperation_then_closure0, E.CancelableCompleter_complete_closure, E.CancelableCompleter_complete_closure0, E.CancelableCompleter_complete_closure1, E.CancelableCompleter__cancel_closure, G.StreamQueue__ensureListening_closure, G.StreamQueue__ensureListening_closure1, G.StreamQueue__ensureListening_closure0, T._CancelOnErrorSubscriptionWrapper_onError_closure, T._CancelOnErrorSubscriptionWrapper_onError__closure, M.CanonicalizedMap_addAll_closure, M.CanonicalizedMap_entries_closure, M.CanonicalizedMap_forEach_closure, M.CanonicalizedMap_keys_closure, M.CanonicalizedMap_map_closure, M.CanonicalizedMap_putIfAbsent_closure, M.CanonicalizedMap_values_closure, Z.DdsExtension_onEventWithHistory_closure0, Z.DdsExtension_onEventWithHistory__closure, Z.DdsExtension_onEventWithHistory_closure, Z.DdsExtension__callHelper_closure, Z.StreamHistory$_fromJson_closure, F.main_closure, G._AnalyticsPromptState__analyticsDescription_closure, G._AnalyticsPromptState__actionButtons_closure, G._AnalyticsPromptState__actionButtons__closure0, G._AnalyticsPromptState__actionButtons_closure0, G._AnalyticsPromptState__actionButtons__closure, S.DevToolsAppState__screens_closure, S.DevToolsAppState_initState_closure, S.DevToolsAppState_initState__closure2, S.DevToolsAppState_initState_closure0, S.DevToolsAppState_initState__closure1, S.DevToolsAppState_initState_closure1, S.DevToolsAppState_initState__closure0, S.DevToolsAppState_initState_closure2, S.DevToolsAppState_initState__closure, S.DevToolsAppState__buildTabbedPage_closure, S.DevToolsAppState__buildTabbedPage__closure, S.DevToolsAppState__buildTabbedPage___closure, S.DevToolsAppState__buildTabbedPage___closure0, S.DevToolsAppState_pages_closure, S.DevToolsAppState_pages_closure0, S.DevToolsAppState__providedControllers_closure, S.DevToolsAppState__providedControllers_closure0, S.DevToolsAppState_build_closure, S.DevToolsScreen_controllerProvider_closure, S.OpenAboutAction_build_closure, S.OpenAboutAction_build__closure, S.OpenSettingsAction_build_closure, S.OpenSettingsAction_build__closure, S.ReportFeedbackButton_build_closure, S.DevToolsAboutDialog__createFeedbackLink_closure, S.SettingsDialog__buildOption_closure0, S.SettingsDialog__buildOption_closure, S.defaultScreens_closure, S.defaultScreens_closure0, S.defaultScreens_closure1, S.defaultScreens_closure2, S.defaultScreens_closure3, S.defaultScreens_closure4, S.defaultScreens_closure5, S.defaultScreens_closure6, S.defaultScreens_closure7, S.defaultScreens_closure8, X.setupErrorHandling_closure, X.setupErrorHandling__closure, X.setupErrorHandling_closure0, R._AppSizeBodyState_maybeLoadAppSizeFiles_closure, R._AppSizeBodyState__buildDiffTreeTypeDropdown_closure, R._AppSizeBodyState__buildClearButton_closure, R._AnalysisViewState_didChangeDependencies_closure, R._AnalysisViewState_didChangeDependencies__closure, R._AnalysisViewState__buildTreemap_closure, R._AnalysisViewState__buildImportFileView_closure, R._AnalysisViewState__buildImportFileView__closure, R._AnalysisViewState__buildImportFileView___closure, R._DiffViewState_didChangeDependencies_closure, R._DiffViewState_didChangeDependencies__closure, R._DiffViewState__buildImportDiffView_closure, R._DiffViewState__buildImportDiffView__closure, R._DiffViewState__buildTreemap_closure, R.AppSizeAnalysisTable_build_closure, R.AppSizeDiffTable_build_closure, O._CallGraphWithDominatorsState__toggleShowCallGraph_closure, O._CallGraphViewState_build_closure, O._CallGraphViewState__buildFromTable_closure, O._CallGraphViewState__buildToTable_closure, O._CallGraphViewState__selectMainNode_closure, O.DominatorTree_build_closure, O.DominatorTree__expandToSelected_closure, N.AutoDisposeMixin__refresh_closure, O.BannerMessagesController_addMessage_closure, O.BannerMessagesController_removeMessage_closure, O.BannerMessagesController_removeMessageByKey_closure, O.BannerMessagesController_removeMessageByKey_closure0, O.BannerMessagesController_isMessageVisible_closure, O.BannerMessagesController__messagesForScreen_closure, O.BannerMessages_build_closure, O.BannerMessage_build_closure, O.DebugModePerformanceMessage_build_closure, O.ShaderJankMessage_build_closure, O.HighProfileGranularityMessage_build_closure, O.DebugModeMemoryMessage_build_closure, Z.BlockingActionMixin_blockWhileInProgress_closure, Z.BlockingActionMixin_blockWhileInProgress_closure0, U.ChartState__initSetup_closure, U.ChartState__initSetup__closure, U.ChartState_build_closure, U.ChartState_build__closure, U.ChartPainter_paint_closure, U.ChartPainter_paint_closure0, U.ChartPainter_paint_closure1, U.ChartPainter_paint_closure2, U.ChartPainter_paint_closure3, U.ChartPainter_paint_closure4, U.ChartPainter_paint_closure5, D.ChartController_zoomDuration_closure, D.ChartController_zoomDuration_closure0, S.FlameChartState_initState_closure, S.FlameChartState_initState__closure0, S.FlameChartState_initState_closure0, S.FlameChartState_initState__closure, S.FlameChartState_initState_closure1, S.FlameChartState_initState_closure2, S.FlameChartState_initState_closure3, S.FlameChartState_build_closure0, S.FlameChartState_build_closure, S.FlameChartState__buildFlameChart_closure, S.FlameChartState__handleZoomControllerValueUpdate_closure, S.FlameChartState_zoomAndScrollToData_closure, S.ScrollingFlameChartRowState_initState_closure, S.ScrollingFlameChartRowState_initState__closure, S.ScrollingFlameChartRowState__initNodeDataList_closure, S.ScrollingFlameChartRowState_build_closure, S.ScrollingFlameChartRowState__handleMouseHover_closure, S._ScrollingFlameChartRowExtentDelegate_minChildIndexForScrollOffset_closure, S._ScrollingFlameChartRowExtentDelegate_maxChildIndexForScrollOffset_closure, S.FlameChartHelpButton_build_closure, S.FlameChartHelpButton_build__closure, E._TreemapState_buildTreemaps_closure, E._TreemapState_buildSubTreemaps_closure, E._TreemapState_buildSubTreemaps__closure, E._TreemapState_buildSubTreemaps__closure0, E._TreemapState_buildBreadcrumbNavigator_closure, E._TreemapState_buildBreadcrumbNavigator__closure, E._TreemapState_buildSelectable_closure, E._TreemapState__onHover_closure, D.CollapsibleAnimationMixin_setExpanded_closure, T.DragAndDropManagerWeb__onDrop_closure, V.DragAndDropState_build_closure, O.FileSystemWeb_writeStringToFile_closure, Y.initializePlatform_closure, T.allowedError_closure, L.ConnectedApp_initializeValues_closure, L.ConnectedApp_initializeValues_closure0, G._ConsoleOutputState_build_closure, G.CopyToClipboardControl_build_closure, A.MessageBus_onEvent_closure, F.CustomPointerScrollView_build_closure, F._CustomPointerScrollableState_setCanDrag_closure, F._CustomPointerScrollableState_setCanDrag_closure0, F._CustomPointerScrollableState_setCanDrag_closure1, F._CustomPointerScrollableState_setCanDrag_closure2, F._BreakpointsState_build_closure, F._BreakpointsState_build__closure, F._BreakpointsState_build___closure, F._BreakpointsState_buildBreakpoint_closure, N._CallStackState_build_closure, N._CallStackState_build__closure, N._CallStackState_build___closure, N._CallStackState__buildStackFrame_closure, K._CodeViewState_build_closure, K._CodeViewState_buildCodeArea_closure, K._CodeViewState_buildCodeArea_closure0, K._CodeViewState_buildCodeArea_closure1, K._CodeViewState_buildCodeArea_closure2, K._CodeViewState_buildCodeArea__closure, K._CodeViewState_buildCodeArea___closure, K._CodeViewState_buildCodeArea____closure, K._CodeViewState_buildCodeArea___closure0, K._CodeViewState_buildSearchInFileField_closure, K._CodeViewState__buildScriptMenuFromHistory_closure, K.Gutter_build_closure, K.Gutter_build_closure0, K.Gutter_build__closure, K._LinesState_initState_closure, K._LinesState_initState__closure0, K._LinesState_initState_closure0, K._LinesState_initState__closure, K._LinesState_build_closure, K._LinesState_searchMatchesForLine_closure, K._LineItemState__onHoverExit_closure, K._LineItemState__onHover_closure, K._LineItemState__hoverableLine_closure0, K._LineItemState__hoverableLine_closure, K.ScriptPopupMenu_build_closure0, K.ScriptPopupMenu_build_closure, K.copyScriptNameOption_closure, K.showGoToLineDialog_closure, K.GoToLineDialog_build_closure, G._DebuggerConsoleState__onStdioChanged_closure, G._DebuggerConsoleState_build_closure, K._DebuggingControlsState__librariesButton_closure, K.BreakOnExceptionsControl_build_closure, K.BreakOnExceptionsControl_build__closure, K.BreakOnExceptionsControl_build__closure0, K.ExceptionMode_from_closure, K.ExceptionMode_from_closure0, D.DebuggerController_closure, D.DebuggerController__parseCurrentScript_closure, D.DebuggerController_appendStdio_closure, D.DebuggerController_appendStdio_closure0, D.DebuggerController_switchToIsolate_closure, D.DebuggerController_stepOver_closure, D.DebuggerController_clearBreakpoints_closure, D.DebuggerController__handleDebugEvent_closure, D.DebuggerController__handleDebugEvent_closure0, D.DebuggerController__handleDebugEvent__closure, D.DebuggerController__retrieveAndSortScripts_closure, D.DebuggerController__updateAfterIsolateReload_closure, D.DebuggerController__updateAfterIsolateReload_closure0, D.DebuggerController__populateScriptAndShowLocation_closure, D.DebuggerController__populateScripts_closure, D.DebuggerController__populateScripts_closure0, D.DebuggerController__createBreakpointWithLocation_closure, D.DebuggerController__createVariablesForFrame_closure, D.DebuggerController__createVariablesForFrame_closure0, D.DebuggerController__createVariablesForBytes_closure, D.DebuggerController__createVariablesForElements_closure, D.DebuggerController__createVariablesForFields_closure, D.DebuggerController__createVariablesForFields_closure0, D.DebuggerController_matchesForSearch_closure, D.ScriptCache_getScript_closure, D.ScriptCache_getScript_closure0, E.FileNode__getCreateChild_closure, E.ScriptRefUtils_splitDirectoryParts_closure, A.DebuggerScreenBodyState__toggleBreakpoint_closure, A.DebuggerScreenBodyState__toggleBreakpoint_closure0, A.DebuggerScreenBodyState_build_closure0, A.DebuggerScreenBodyState_build__closure0, A.DebuggerScreenBodyState_build_closure, A.DebuggerScreenBodyState_build__closure, A.DebuggerScreenBodyState_debuggerPanes_closure, A.DebuggerScreenBodyState__breakpointsRightChild_closure, A._DebuggerStatusState__updateStatus_closure, A._FloatingDebuggerControlsState_didChangeDependencies_closure, A._FloatingDebuggerControlsState_didChangeDependencies__closure, A._FloatingDebuggerControlsState_build_closure, A._FloatingDebuggerControlsState_build__closure, R._ExpressionEvalFieldState_initState_closure, R._ExpressionEvalFieldState_build_closure, R._ExpressionEvalFieldState__onSelection_closure, R._ExpressionEvalFieldState__handleExpressionEval_closure, R._ExpressionEvalFieldState__historyNavUp_closure, R._ExpressionEvalFieldState__historyNavDown_closure, R.autoCompleteResultsFor_closure, R.autoCompleteResultsFor_closure0, R.autoCompleteResultsFor_closure1, R.autoCompleteResultsFor_closure2, R.libraryMemberAndImportsAutocompletes_closure, R.libraryMemberAutocompletes_closure, R.libraryMemberAutocompletes_closure0, R._libraryMemberAutocompletes_closure, R._libraryMemberAutocompletes_closure0, R._libraryMemberAutocompletes_closure1, R._addAllInstanceMembersToAutocompleteList_closure, R._addAllInstanceMembersToAutocompleteList_closure0, R._addAllInstanceMembersToAutocompleteList_closure1, R._autoCompleteMembersFor_closure, R._autoCompleteMembersFor_closure0, R._autoCompleteMembersFor_closure1, U.HoverCard_closure, U.HoverCard__closure0, U.HoverCard__closure, Z.ScriptPickerState_build_closure, Z.ScriptPickerState_build_closure1, Z.ScriptPickerState_build_closure0, Z.ScriptPickerState__displayProvider_closure, Z.ScriptPickerState__updateFiltered_closure, R.Grammar_Grammar$fromJson_closure, R.Grammar_toString_closure, R.Repository_toJson_closure, R._SimpleMatcher_scan_closure, R._MultilineMatcher_closure, R._MultilineMatcher_scan_closure, R._MultilineMatcher_scan__closure, R._MultilineMatcher_toJson_closure, U.SyntaxHighlighter_highlight_closure, U.SyntaxHighlighter__scope_closure, U.SyntaxHighlighter__buildSyntaxColorTable__scopeTextStyleMapper, K.Variables_build_closure, K.Variables_build__closure, K.Variables_build__closure0, K.ExpandableVariable_build_closure, K.ExpandableVariable_build__closure, K.ExpandableVariable_build__closure0, F.DeviceDialog__connectToNewAppButton_closure, F._ViewVMFlagsButton_build_closure, F._ViewVMFlagsButton_build__closure, F._VMFlagsDialogState_initState_closure, F._VMFlagsDialogState_initState__closure0, F._VMFlagsDialogState_initState_closure0, F._VMFlagsDialogState_initState__closure, F._VMFlagsDialogState__updateFromController_closure, F._VMFlagsDialogState__refilter_closure, F._FlagTable_build_closure, F._FlagTable_build_closure0, O.DialogCloseButton_build_closure, O.DialogCancelButton_build_closure, O.DialogApplyButton_build_closure, G.ErrorBadgeManager__extractInspectableError_closure, G.ErrorBadgeManager__extractInspectableError_closure0, G.ErrorBadgeManager__extractInspectableError_closure1, G.ErrorBadgeManager__extractInspectableError_closure2, G.ErrorBadgeManager_filterErrors_closure, G.ErrorBadgeManager_markErrorAsRead_closure, B.EvalOnDartLibrary_eval_closure, B.EvalOnDartLibrary_safeEval_closure, B.EvalOnDartLibrary_addRequest_wrappedRequest, B.EvalOnDartLibrary_getObjHelper_closure, D._FileImportContainerState__buildActionButton_closure, D._FileImportContainerState__clearFile_closure, D._FileImportContainerState__handleImportedFile_closure, D._DualFileImportContainerState_onFirstFileSelected_closure, D._DualFileImportContainerState_onSecondFileSelected_closure, D._DualFileImportContainerState_onFirstFileCleared_closure, D._DualFileImportContainerState_onSecondFileCleared_closure, D._DualFileImportContainerState__buildActionButton_closure, D._DualFileImportContainerState__buildActionButton__closure, X.FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader_closure, T.LinkedScrollControllerGroup__attachedControllers_closure, T._LinkedScrollController__allPeersWithClients_closure, T._LinkedScrollController_linkWithPeers_closure, T._LinkedScrollController_linkWithPeers_closure0, O.FrameworkController__init_closure, G.HistoryViewport_build_closure, O.Cookie__parseSetCookieValue_done, O.Cookie__parseSetCookieValue_parseName, O.Cookie__parseSetCookieValue_parseValue, O.Cookie__parseSetCookieValue_parseAttributes, O.Cookie__parseSetCookieValue_parseAttributes_parseAttributeName, O.Cookie__parseSetCookieValue_parseAttributes_parseAttributeValue, O.HttpDate__parseCookieDate_error, O.HttpDate__parseCookieDate_isEnd, O.HttpDate__parseCookieDate_isDelimiter, O.HttpDate__parseCookieDate_isNonDelimiter, O.HttpDate__parseCookieDate_isDigit, O.HttpDate__parseCookieDate_getMonth, O.HttpDate__parseCookieDate_toInt, E.HttpRequestData__parseCookies_closure, E.TimelineHttpRequestData_TimelineHttpRequestData$fromTimeline_closure, E.DartIOHttpRequestData_getFullRequestData_closure, E.HttpService_toggleHttpRequestLogging_closure, T.InfoController_getFlutterVersion_closure, T.InfoController_getFlutterVersion_closure0, T.InfoController__listenForFlutterVersionChanges_closure, B._InitializerState_initState_closure, B._InitializerState_initState_closure0, B._InitializerState_initState__closure, B._InitializerState__attemptUrlConnection_closure, B._InitializerState__handleNoConnection_closure, B._InitializerState__handleNoConnection__closure, B._InitializerState__createDisconnectedOverlay_closure, B._InitializerState__createDisconnectedOverlay__closure, Y.DiagnosticsNodeDescription_build_radix, Z.InspectorController_closure, Z.InspectorController_closure0, Z.InspectorController_filterErrors_closure, Z.InspectorController__onVersionSupported_closure, N.computeRenderSizes_transformToRenderSize, N.LayoutProperties_closure, N.LayoutProperties_childrenDimensions_closure, N.FlexLayoutProperties__buildNode_closure, N.FlexLayoutProperties__buildNode_closure0, N.FlexLayoutProperties_totalFlex_closure, N.FlexLayoutProperties_totalFlex_closure0, N.FlexLayoutProperties_childrenRenderProperties_leadingSpace, N.FlexLayoutProperties_childrenRenderProperties_betweenSpace, N.FlexLayoutProperties_childrenRenderProperties_smallestRenderSize, N.FlexLayoutProperties_childrenRenderProperties_largestRenderSize, N.FlexLayoutProperties_childrenRenderProperties_renderSizes, N.FlexLayoutProperties_childrenRenderProperties_renderSizes_closure, N.FlexLayoutProperties_childrenRenderProperties_lastMainAxisOffset, N.FlexLayoutProperties_childrenRenderProperties_lastMainAxisDimension, N.FlexLayoutProperties_childrenRenderProperties_space, N.FlexLayoutProperties_childrenRenderProperties_calculateMainAxisOffset, N.FlexLayoutProperties_childrenRenderProperties_calculateCrossAxisOffset, B.InspectorScreenBodyState_build_closure, B.InspectorScreenBodyState__buildSummaryTreeColumn_closure, B.InspectorScreenBodyState__buildSummaryTreeColumn__closure, B.InspectorScreenBodyState__buildSummaryTreeColumn__closure0, B.InspectorScreenBodyState__onExpandCollapseSupported_closure, B.InspectorScreenBodyState__onLayoutExplorerSupported_closure, B.InspectorScreenBodyState__handleConnectionStart_closure, B.InspectorScreenBodyState__handleConnectionStart_closure0, B.InspectorScreenBodyState__handleConnectionStart_closure1, B.InspectorScreenBodyState__handleConnectionStart_closure2, B.InspectorScreenBodyState__handleConnectionStart__closure, B.InspectorScreenBodyState__handleConnectionStop_closure, B.InspectorScreenBodyState__refreshInspector_closure, E.InspectorService_closure, E.InspectorService_create_closure, E.InspectorService_create_closure0, E.InspectorService_create_lookupFunctionNames, E.InspectorService__trackClientSelfTriggeredSelection_closure, E.InspectorService__onRootDirectoriesChanged_closure, E.InspectorService_isLocalUri_closure, E.ObjectGroup__callServiceExtension_closure, K.InspectorTreeController_root_closure, K.InspectorTreeController_selection_closure, K.InspectorTreeController_hover_closure, K.InspectorTreeController_navigateLeft_closure, K.InspectorTreeController_navigateRight_closure, K.InspectorTreeController_nodeChanged_closure, K.InspectorTreeController_removeNodeFromParent_closure, K.InspectorTreeController_appendChild_closure, K.InspectorTreeController_expandPath_closure, K.InspectorTreeController_collapseToSelected_closure, K.InspectorTreeController_onExpandRow_closure, K.InspectorTreeController_onCollapseRow_closure, X._InspectorTreeRowState_build_closure, X._InspectorTreeRowState_onExpandChanged_closure, X._InspectorTreeState_onChanged_closure, X._InspectorTreeState_build_closure, X._InspectorTreeState_build__closure, X.InspectorRowContent_build_closure, X.InspectorRowContent_build_closure0, S._BoxLayoutExplorerWidgetState_updateHighlighted_closure, S._BoxLayoutExplorerWidgetState_build_closure, S._BoxLayoutExplorerWidgetState__buildChild_closure, S._BoxLayoutExplorerWidgetState__buildChild_closure_nullOutZero, S.BoxChildVisualizer_build_buildEntranceAnimation, S.BoxChildVisualizer_build_closure1, S.BoxChildVisualizer_build_closure, S.BoxChildVisualizer_build_closure0, F._FlexLayoutExplorerWidgetState_updateHighlighted_closure, F._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure0, F._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure, F._FlexLayoutExplorerWidgetState_build_closure, F._FlexLayoutExplorerWidgetState__buildLayout_closure, F._VisualizeFlexChildrenState_build_closure, F._VisualizeFlexChildrenState_build_closure0, F._VisualizeFlexChildrenState_build_closure_maxSizeAvailable, F._VisualizeFlexChildrenState_build__closure, F._VisualizeFlexChildrenState_build__closure0, F._VisualizeFlexChildrenState_build__closure1, F._VisualizeFlexChildrenState_build__closure2, F.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuitemChild, F.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuItem, F.FlexChildVisualizer__buildFlexFitChangerDropdown_flexFitDescription, F.FlexChildVisualizer__buildFlexFitChangerDropdown_buildMenuItem, F.FlexChildVisualizer_build_buildEntranceAnimation, F.FlexChildVisualizer_build_closure1, F.FlexChildVisualizer_build_closure, F.FlexChildVisualizer_build_closure0, B.AnimatedFlexLayoutProperties_childrenRenderProperties_closure, N._LayoutExplorerTabState_onSelectionChanged_closure, E.LayoutExplorerWidgetState_onTap_closure, E.LayoutExplorerWidgetState__changeProperties_closure, E.LayoutExplorerWidgetState__setProperties_closure, E.LayoutExplorerWidgetState__initAnimationStates_closure, E.LayoutExplorerWidgetState__initAnimationStates__closure0, E.LayoutExplorerWidgetState__initAnimationStates_closure0, E.LayoutExplorerWidgetState__initAnimationStates__closure, Q.VisualizeWidthAndHeightWithConstraints_build_closure, Q.VisualizeWidthAndHeightWithConstraints_build_closure0, Y._LandingScreenBodyState__buildAppSizeInstructions_closure, Y._LandingScreenBodyState__buildConnectInput_closure, Y._LandingScreenBodyState__connectHelper_closure, E._retrieveFullStringValue_closure, E.LoggingController__handleConnectionStart_closure, E.LoggingController__handleConnectionStart_closure0, E.LoggingController__handleDeveloperLogEvent_closure, E.LoggingController__handleBusEvents_closure, E.LoggingController__handleBusEvents_closure0, E.LoggingController__handleBusEvents_closure1, E.LoggingController__handleBusEvents_closure2, E.LoggingController_filterData_closure, E._StdoutEventHandler_handle_closure, E.ImageSizesForFrame_from_closure, M.LoggingScreen_buildStatus_closure, M._LoggingScreenState_didChangeDependencies_closure, M._LoggingScreenState_didChangeDependencies__closure0, M._LoggingScreenState_didChangeDependencies_closure0, M._LoggingScreenState_didChangeDependencies__closure, M._LoggingScreenState__showFilterDialog_closure, M._LoggingScreenState__showFilterDialog__closure, M.LogsTable_build_closure, M._LogDetailsState__computeLogDetails_closure, M._LogDetailsState__buildSimpleLog_closure, V.sum_closure, V.min_closure, V.max_closure, X.FieldTrack_build_closure, O.AllocationTableViewState_didChangeDependencies_closure, O.AllocationTableViewState_didChangeDependencies__closure0, O.AllocationTableViewState_didChangeDependencies_closure0, O.AllocationTableViewState_didChangeDependencies__closure, O.AllocationTableViewState_build_closure, O.AllocationTableViewState_build_closure0, O.AllocationTableViewState_build_closure1, Z.imageAnalysis_closure, Z.imageAnalysis__closure, Z.imageAnalysis__closure0, Z.imageAnalysis__closure1, Z.imageAnalysis__closure2, Z.imageAnalysis__closure3, Z.imageAnalysis__closure4, Z.imageAnalysis__closure5, Z.imageAnalysis__closure6, Z.imageAnalysis__closure7, Z.processMatches_closure, Z.drillIn_closure, Z.drillIn__closure, Z.AnalysisInstanceViewState_didChangeDependencies_closure, Z.AnalysisInstanceViewState_didChangeDependencies__closure, Z.AnalysisInstanceViewState_build_closure, G.MemoryAndroidChartState_didChangeDependencies_closure, T.MemoryController_updatedMemorySource_closure, T.MemoryController_setTracking_closure, T.MemoryController_setTracking_closure0, T.MemoryController_setTracking_closure1, T.MemoryController_setTracking_closure2, T.MemoryController__handleConnectionStart_closure, T.MemoryController__handleConnectionStart_closure0, T.MemoryController__handleConnectionStart_closure1, T.MemoryController__handleConnectionStart_closure2, T.MemoryController__handleConnectionStart_closure3, T.MemoryController_startTimeline_closure, T.MemoryController_startTimeline_closure0, T.MemoryController_monitorAllocations_closure, T.MemoryController_monitorAllocations_closure0, T.MemoryController_getAllocationProfile_closure, T.MemoryController_getAllocationProfile_closure0, T.MemoryController_computeAllLibraries_closure, T.MemoryController_computeAllLibraries_closure0, T.MemoryController_computeAllLibraries_closure1, T.MemoryController_computeAllLibraries__closure, T.MemoryController_computeAllLibraries__closure0, T.MemoryController_addAllToNode_closure, T.MemoryController_addAllToNode__closure, T.MemoryController_addAllToNode__closure0, T.MemoryController_createSnapshotEntries_closure, T.MemoryController_createSnapshotEntries_closure0, T.MemoryController_buildTreeFromAllData_closure, T.MemoryController_buildTreeFromAllData_closure0, T.MemoryLog_offlineFiles_closure, T.MemoryEventsPaneState_didChangeDependencies_closure, T.MemoryEventsPaneState_didChangeDependencies__closure, T.MemoryEventsPaneState_didChangeDependencies__closure0, T.MemoryEventsPaneState_didChangeDependencies___closure, S.SnapshotFilterState_buildFilters_closure, S.SnapshotFilterState_cleanupFilteredLibrariesByGroupName_closure, S.SnapshotFilterState_createLibraryListBox_closure, S.SnapshotFilterState_createLibraryListBox__closure, S.SnapshotFilterState_createLibraryListBox___closure, S.SnapshotFilterState_applyAndCancelButton_closure, S.SnapshotFilterState_applyAndCancelButton__closure0, S.SnapshotFilterState_applyAndCancelButton_closure0, S.SnapshotFilterState_applyAndCancelButton__closure, X.convertHeapGraph_closure, X.convertHeapGraph_closure0, X.HeapGraph_computeFilteredGroups_closure, X.HeapGraph_computeFilteredGroups_closure0, X.HeapGraph_computeFilteredGroups__closure1, X.HeapGraph_computeFilteredGroups_closure1, X.HeapGraph_computeFilteredGroups_closure2, X.HeapGraph_computeFilteredGroups__closure, X.HeapGraph_computeFilteredGroups__closure0, D.buildRegExs_closure, D.HeapTreeViewState_didChangeDependencies_closure, D.HeapTreeViewState_didChangeDependencies__closure5, D.HeapTreeViewState_didChangeDependencies_closure0, D.HeapTreeViewState_didChangeDependencies__closure4, D.HeapTreeViewState_didChangeDependencies_closure1, D.HeapTreeViewState_didChangeDependencies__closure3, D.HeapTreeViewState_didChangeDependencies_closure2, D.HeapTreeViewState_didChangeDependencies__closure2, D.HeapTreeViewState_didChangeDependencies_closure3, D.HeapTreeViewState_didChangeDependencies__closure1, D.HeapTreeViewState_didChangeDependencies_closure4, D.HeapTreeViewState_didChangeDependencies_closure5, D.HeapTreeViewState_didChangeDependencies_closure6, D.HeapTreeViewState_didChangeDependencies__closure0, D.HeapTreeViewState_didChangeDependencies_closure7, D.HeapTreeViewState_didChangeDependencies_closure8, D.HeapTreeViewState_didChangeDependencies__closure, D.HeapTreeViewState__groupByDropdown_closure, D.HeapTreeViewState__groupByDropdown_closure0, D.HeapTreeViewState__groupByDropdown__closure, D.HeapTreeViewState__buildSnapshotControls_closure, D.HeapTreeViewState__buildSnapshotControls_closure0, D.HeapTreeViewState__buildSnapshotControls__closure0, D.HeapTreeViewState__buildSnapshotControls_closure1, D.HeapTreeViewState__buildSnapshotControls__closure, D.HeapTreeViewState_displayTimestampUpdateBubble_closure, D.HeapTreeViewState_displayTimestampUpdateBubble__closure, D.HeapTreeViewState__buildAllocationsControls_closure, D.HeapTreeViewState__buildAllocationsControls_closure0, D.HeapTreeViewState__allocationStart_closure, D.HeapTreeViewState__allocationStart_closure0, D.HeapTreeViewState_selectTheMatch_closure, D.HeapTreeViewState_selectTheMatch__closure, D.HeapTreeViewState__takeHeapSnapshot_closure, D.HeapTreeViewState__takeHeapSnapshot_closure0, D.HeapTreeViewState__takeHeapSnapshot_closure1, D.HeapTreeViewState__takeHeapSnapshot_closure2, D.HeapTreeViewState__takeHeapSnapshot_closure3, D.HeapTreeViewState__filter_closure, D.MemoryHeapTableState_didChangeDependencies_closure, D.MemoryHeapTableState_didChangeDependencies__closure1, D.MemoryHeapTableState_didChangeDependencies_closure0, D.MemoryHeapTableState_didChangeDependencies__closure0, D.MemoryHeapTableState_didChangeDependencies_closure1, D.MemoryHeapTableState_didChangeDependencies__closure, D.MemoryHeapTableState_build_closure, N.MemoryHeapTreemapState_didChangeDependencies_closure, N.MemoryHeapTreemapState_didChangeDependencies__closure, N.MemoryHeapTreemapState__onRootChanged_closure, N.MemoryHeapTreemapState_build_closure, N.InstructionsSize_InstructionsSize$fromSnapshot_closure, N.InstructionsSize_InstructionsSize$fromSnapshot__closure, N.InstructionsSize_InstructionsSize$fromSnapshot_closure0, N.InstructionsSize_InstructionsSize$fromSnapshot_closure1, Y.InstanceTreeViewState_didChangeDependencies_closure, Y.InstanceTreeViewState_didChangeDependencies__closure, Y.InstanceTreeViewState_build_closure, T.MemoryTracker__recalculate_closure, T.parseJsonClassHeapStats__update, L.MemoryBodyState_didChangeDependencies_closure, L.MemoryBodyState_didChangeDependencies__closure4, L.MemoryBodyState_didChangeDependencies_closure0, L.MemoryBodyState_didChangeDependencies_closure1, L.MemoryBodyState_didChangeDependencies__closure3, L.MemoryBodyState_didChangeDependencies_closure2, L.MemoryBodyState_didChangeDependencies__closure2, L.MemoryBodyState_didChangeDependencies_closure3, L.MemoryBodyState_didChangeDependencies_closure4, L.MemoryBodyState_didChangeDependencies_closure5, L.MemoryBodyState_didChangeDependencies_closure6, L.MemoryBodyState_didChangeDependencies__closure1, L.MemoryBodyState_didChangeDependencies_closure7, L.MemoryBodyState_didChangeDependencies__closure0, L.MemoryBodyState_didChangeDependencies_closure8, L.MemoryBodyState_didChangeDependencies__closure, L.MemoryBodyState_build_closure, L.MemoryBodyState__intervalDropdown_closure, L.MemoryBodyState__intervalDropdown_closure0, L.MemoryBodyState__intervalDropdown__closure, L.MemoryBodyState__memorySourceDropdown_closure, L.MemoryBodyState__memorySourceDropdown_closure0, L.MemoryBodyState__memorySourceDropdown__closure, L.MemoryBodyState__buildPrimaryStateControls_closure, L.MemoryBodyState__openSettingsDialog_closure, L.MemoryBodyState_legendRow_legendPart, L.MemoryBodyState_legendRow_legendSymbol, L.MemoryBodyState_hoverRow_hoverPartImageLine, L.MemoryBodyState_showHover_closure, L.MemoryBodyState_showLegend_closure, T.LibraryReference_closure, T.ExternalReference_closure, T.ClassReference_closure, T.Snapshot_librariesToList_closure, T.ObjectFieldReference__expandObjectFieldRef_closure, T.ObjectFieldReference__expandObjectFieldRef_closure0, T.instanceToFieldNodes_closure, R.TreeTracker_createTrackerTree_closure, R.TreeTracker_createTrackerTree_closure0, R.TreeTracker_displaySelectedStackTrace_closure, R.TreeTracker_displaySelectedStackTrace_closure0, R.TreeTracker_createTrackingTable_closure, O.MemoryVMChartState_didChangeDependencies_closure, O.MemoryVMChartState_didChangeDependencies__closure, Q.NetworkController__processTimeline_closure, Q.NetworkController__processTimeline_closure0, Q.NetworkController__processHttpProfileRequests_closure, Q.NetworkController__processHttpProfileRequests_closure0, Q.NetworkController__processHttpProfileRequests_closure1, Q.NetworkController_processNetworkTrafficHelper_closure, Q.NetworkController__updatePollingState_closure, Q.NetworkController_recordingHttpTraffic_closure, Q.NetworkController_filterData_closure, Q.NetworkController_filterData_closure_matches, D.HttpRequestHeadersView_build_closure, D.HttpRequestCookiesView__buildCookiesTable__buildColumn, D.HttpRequestCookiesView_build_closure, D.NetworkRequestOverviewView__buildHttpTimeGraph__nextColor, Y.NetworkScreen_buildStatus_closure, Y.NetworkScreen_buildStatus__closure, Y.NetworkScreen_buildStatus___closure, Y._NetworkScreenBodyState_didChangeDependencies_closure, Y._NetworkScreenBodyState_didChangeDependencies__closure0, Y._NetworkScreenBodyState_didChangeDependencies_closure0, Y._NetworkScreenBodyState_didChangeDependencies__closure, Y._NetworkScreenBodyState__buildProfilerControls_closure, Y._NetworkScreenBodyState__buildProfilerControls__closure, Y._NetworkScreenBodyState__buildProfilerControls__closure0, Y._NetworkScreenBodyState__buildProfilerControls__closure1, Y._NetworkScreenBodyState__buildProfilerBody_closure, Y._NetworkScreenBodyState__buildProfilerBody__closure, Y._NetworkScreenBodyState__showFilterDialog_closure, Y._NetworkScreenBodyState__showFilterDialog__closure, Y.NetworkRequestsTable_build_closure, Y.NetworkRequestsTable_build_closure0, D.NetworkService__refreshHttpProfile_closure, D.NetworkService__refreshSockets_closure, D.NetworkService__clearSocketProfile_closure, D.NetworkService_toggleSocketProfiling_closure, Y.Notifications_build_closure, Y.NotificationsState_didChangeDependencies_closure, Y.NotificationsState_push_closure, Y.NotificationsState_push_closure0, Y.NotificationsState_dismiss_closure, Y.NotificationsState__removeNotification_closure, Y._NotificationState_initState_closure, Y._NotificationState_initState__closure, Y._NotificationState_build_closure, F.EventDetails__buildDetails_closure, F.EventDetails__buildCpuProfiler_closure, F.EventDetails__buildProcessingInfo_closure, F.EventSummary_closure, S._FlutterFramesChartState_initState_closure, S._FlutterFramesChartState_didChangeDependencies_closure, S._FlutterFramesChartState_didChangeDependencies__closure, S._FlutterFramesChartState__maybeShowShaderJankMessage_closure, S._FlutterFramesChartState__maybeShowShaderJankMessage_closure0, S._FlutterFramesChartState__buildChart_closure, S._FlutterFramesChartState__buildChart__closure, S._FlutterFramesChartState__buildFrame_closure, S._FlutterFramesChartState__buildAverageFps_closure, S._ShaderJankWarningIconState_initState_closure, S._ShaderJankWarningIconState_initState__closure, F.EventDetails__buildDetails_closure0, F.EventDetails__buildCpuProfiler_closure0, F.EventDetails__buildProcessingInfo_closure0, F.EventSummary_closure0, S._LegacyFlutterFramesChartState_initState_closure, S._LegacyFlutterFramesChartState_didChangeDependencies_closure, S._LegacyFlutterFramesChartState_didChangeDependencies__closure, S._LegacyFlutterFramesChartState__buildChart_closure, S._LegacyFlutterFramesChartState__buildChart__closure, S._LegacyFlutterFramesChartState__buildFrame_closure, S._LegacyFlutterFramesChartState__buildAverageFps_closure, B.LegacyPerformanceController_primeThreadIds_closure, B.LegacyPerformanceController_primeThreadIds_closure0, B.LegacyPerformanceController__threadIdForEvents_closure, B.LegacyPerformanceController__threadIdForEvents_closure0, B.LegacyPerformanceController_setOfflineData_closure, B.LegacyPerformanceController_setOfflineData_closure0, B.LegacyPerformanceController_setOfflineData_closure1, B.LegacyPerformanceController_matchesForSearch_closure, B.LegacyPerformanceController_setTimelineStreams_closure, Y.LegacyPerformanceData_initializeEventGroups_closure, Y.LegacyTimelineEventGroup_sortedEventRoots_closure, Y.LegacyTimelineEventGroup_sortedEventRoots_closure0, Y.LegacyOfflineTimelineEvent_closure, Y.LegacyOfflineTimelineEvent_closure0, Y.LegacyTimelineEvent__isWellFormedDeep_closure, Y.LegacyTimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate, Y.LegacyTimelineEvent_addChild__putChildInTree, Y.LegacySyncTimelineEvent_isUiEventFlow_closure, Y.LegacySyncTimelineEvent_isRasterEventFlow_closure, R.LegacyPerformanceScreenBodyState_didChangeDependencies_closure, R.LegacyPerformanceScreenBodyState_didChangeDependencies__closure0, R.LegacyPerformanceScreenBodyState_didChangeDependencies_closure0, R.LegacyPerformanceScreenBodyState_didChangeDependencies__closure, R.LegacyPerformanceScreenBodyState_build_closure, R.LegacyPerformanceScreenBodyState_build__closure, R.LegacyPerformanceScreenBodyState_build_closure0, R.LegacyPerformanceScreenBodyState__buildPrimaryStateControls_closure, R.LegacyPerformanceScreenBodyState__openSettingsDialog_closure, R.LegacyPerformanceScreenBodyState__clearPerformanceData_closure, R.LegacyPerformanceSettingsDialog__timelineStreams_closure, R.LegacyPerformanceSettingsDialog__timelineStreams_closure0, R.LegacyPerformanceSettingsDialog__buildStream_closure, X.LegacyTimelineEventProcessor_processTimeline_closure, X.LegacyTimelineEventProcessor_processTimeline_closure0, X.LegacyTimelineEventProcessor_processTimeline_closure1, X.LegacyTimelineEventProcessor_processTimeline_closure2, X.LegacyTimelineEventProcessor__handleDurationCompleteEvent_closure, X.LegacyTimelineEventProcessor__maybeAddFlutterFrameEvent_closure, X.LegacyTimelineEventProcessor__maybeAddFlutterFrameEvent_closure0, X.LegacyTimelineEventProcessor__frameFromEvent_closure, Y._LegacyTimelineFlameChartContainerState_build_closure, Y._LegacyTimelineFlameChartContainerState_build_closure0, Y._LegacyTimelineFlameChartContainerState_build__closure, Y.LegacyTimelineFlameChartState__indexOfFirstEventInView_closure, Y.LegacyTimelineFlameChartState__viewNextEventInGroup_closure, Y.LegacyTimelineFlameChartState__handleSelectedFrame_closure, Y.LegacyTimelineFlameChartState_initFlameChartElements_leftForEvent, Y.LegacyTimelineFlameChartState_initFlameChartElements_rightForEvent, Y.LegacyTimelineFlameChartState_initFlameChartElements_createChartNode, Y.LegacyTimelineFlameChartState_initFlameChartElements_createChartNode_closure, Y.LegacyTimelineFlameChartState_initFlameChartElements_closure, Y.LegacyTimelineFlameChartState_buildChartOverlays_closure, Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton, Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure, Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0, Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_closure, Y.LegacyTimelineFlameChartState__buildEventThreadNavigationButtons_closure0, Y.LegacyTimelineFlameChartState__calculateAsyncGuidelines_closure, Y.LegacyTimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline, Y.LegacyTimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow, B.PerformanceController_primeThreadIds_closure, B.PerformanceController_primeThreadIds_closure0, B.PerformanceController__threadIdForEvents_closure, B.PerformanceController__threadIdForEvents_closure0, B.PerformanceController_setOfflineData_closure, B.PerformanceController_setOfflineData_closure0, B.PerformanceController_setOfflineData_closure1, B.PerformanceController_matchesForSearch_closure, B.PerformanceController_setTimelineStreams_closure, Y.PerformanceData_initializeEventGroups_closure, Y.TimelineEventGroup_sortedEventRoots_closure, Y.TimelineEventGroup_sortedEventRoots_closure0, Y.OfflineTimelineEvent_closure, Y.OfflineTimelineEvent_closure0, Y.FlutterFrame_shaderDuration_closure, Y.TimelineEvent__isWellFormedDeep_closure, Y.TimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate, Y.TimelineEvent_addChild__putChildInTree, Y.SyncTimelineEvent_isUiEventFlow_closure, Y.SyncTimelineEvent_isRasterEventFlow_closure, R.PerformanceScreenBodyState_didChangeDependencies_closure, R.PerformanceScreenBodyState_didChangeDependencies__closure0, R.PerformanceScreenBodyState_didChangeDependencies_closure0, R.PerformanceScreenBodyState_didChangeDependencies__closure, R.PerformanceScreenBodyState_build_closure, R.PerformanceScreenBodyState_build__closure, R.PerformanceScreenBodyState_build_closure0, R.PerformanceScreenBodyState__buildPrimaryStateControls_closure, R.PerformanceScreenBodyState__openSettingsDialog_closure, R.PerformanceScreenBodyState__clearPerformanceData_closure, R.PerformanceSettingsDialog__timelineStreams_closure, R.PerformanceSettingsDialog__timelineStreams_closure0, R.PerformanceSettingsDialog__buildStream_closure, X.TimelineEventProcessor_processTimeline_closure, X.TimelineEventProcessor_processTimeline_closure0, X.TimelineEventProcessor_processTimeline_closure1, X.TimelineEventProcessor_processTimeline_closure2, X.TimelineEventProcessor__handleDurationCompleteEvent_closure, X.TimelineEventProcessor__maybeAddFlutterFrameEvent_closure, X.TimelineEventProcessor__maybeAddFlutterFrameEvent_closure0, X.TimelineEventProcessor__frameFromEvent_closure, Y._TimelineFlameChartContainerState_build_closure, Y._TimelineFlameChartContainerState_build_closure0, Y._TimelineFlameChartContainerState_build__closure, Y.TimelineFlameChartState__indexOfFirstEventInView_closure, Y.TimelineFlameChartState__viewNextEventInGroup_closure, Y.TimelineFlameChartState__handleSelectedFrame_closure, Y.TimelineFlameChartState_initFlameChartElements_leftForEvent, Y.TimelineFlameChartState_initFlameChartElements_rightForEvent, Y.TimelineFlameChartState_initFlameChartElements_createChartNode, Y.TimelineFlameChartState_initFlameChartElements_createChartNode_closure, Y.TimelineFlameChartState_initFlameChartElements_closure, Y.TimelineFlameChartState_buildChartOverlays_closure, Y.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton, Y.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure, Y.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0, Y.TimelineFlameChartState__buildEventThreadNavigationButtons_closure, Y.TimelineFlameChartState__buildEventThreadNavigationButtons_closure0, Y.TimelineFlameChartState__calculateAsyncGuidelines_closure, Y.TimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline, Y.TimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow, A.PreferencesController_init_closure, A.PreferencesController_init_closure0, A.PreferencesController_init_closure1, L.CpuBottomUpTable_build_closure, G.CpuCallTreeTable_build_closure, T.CpuProfilerController_processDataForTag_closure, R._CpuProfileFlameChartState_initFlameChartElements_createChartNodes, R._CpuProfileFlameChartState_initFlameChartElements_createChartNodes_closure, E.CpuProfileData_CpuProfileData$subProfile_closure, E.CpuProfileData_dataForUserTag_closure, E.CpuStackFrame_incrementTagSampleCount_closure, V.mergeProfileRoots_closure, V._CpuProfilerState__onTabChanged_closure, V._CpuProfilerState_build_closure, V._CpuProfilerState_build__closure0, V._CpuProfilerState_build_closure0, V._CpuProfilerState_build__closure, V._CpuProfilerState__buildProfilerViews_closure, V._CpuProfilerState__buildProfilerViews__closure, V._CpuProfilerState__performOnDataRoots_closure, V.UserTagDropdown_build_closure, V.UserTagDropdown_build__closure, V.UserTagDropdown_build___closure, X._ProfilerScreenBodyState_didChangeDependencies_closure, X._ProfilerScreenBodyState_didChangeDependencies__closure1, X._ProfilerScreenBodyState_didChangeDependencies_closure0, X._ProfilerScreenBodyState_didChangeDependencies__closure0, X._ProfilerScreenBodyState_didChangeDependencies_closure1, X._ProfilerScreenBodyState_didChangeDependencies__closure, X._ProfilerScreenBodyState_build_closure, X._ProfilerScreenBodyState__buildProfilerScreenBody_closure, X._SecondaryControls_build_closure, Q.serviceProvider_closure, Q.libraryEvalProvider_closure, Q.hotRestartEventProvider_closure, X.InstanceDetails_isExpandable_falsy, X.InstanceDetails_isExpandable_closure0, X.InstanceDetails_isExpandable_closure, X.InstanceDetails_isExpandable_closure1, X.__$InstancePathFromInstanceIdCopyWithImpl_closure, X.__$InstancePathFromProviderIdCopyWithImpl_closure, Q._resolveInstanceRefForPath_closure0, Q._resolveInstanceRefForPath_closure, Q._resolveInstanceRefForPath_closure2, Q._resolveInstanceRefForPath_closure1, Q._resolveInstanceRefForPath_closure3, Q._resolveInstanceRefForPath__closure, Q._resolveInstanceRefForPath_closure4, Q._mutate_closure, Q._mutate_closure0, Q._mutate_closure1, Q._mutate__closure, Q._mutate_closure2, Q._tryParseEnum_findPropertyWithName, Q._tryParseEnum_findPropertyWithName_closure, Q._parseSetter_mutate, Q._parseSetter_closure0, Q._parseSetter_closure, Q._parseSetter_closure1, Q._parseSetter__closure, Q._parseSetter_closure2, Q.rawInstanceProvider_closure, Q.rawInstanceProvider__closure, Q.rawInstanceProvider__closure0, Q._parseFields_closure, Q._providerChanged_closure, Q._providerChanged__closure, K.isExpandedProvider_closure, K.estimatedChildCountProvider_closure, K.estimatedChildCountProvider_closure_estimatedChildCount, K.estimatedChildCountProvider_closure_estimatedChildCount_one, K.estimatedChildCountProvider_closure_estimatedChildCount_expandableEstimatedChildCount, K.estimatedChildCountProvider__estimatedChildCount_expandableEstimatedChildCount_closure, K.estimatedChildCountProvider__estimatedChildCount_closure1, K.estimatedChildCountProvider__estimatedChildCount_closure0, K.estimatedChildCountProvider__estimatedChildCount_closure, K.estimatedChildCountProvider__estimatedChildCount__closure0, K.estimatedChildCountProvider__estimatedChildCount___closure0, K.estimatedChildCountProvider__estimatedChildCount__closure, K.estimatedChildCountProvider__estimatedChildCount__closure1, K.estimatedChildCountProvider__estimatedChildCount___closure, K._InstanceViewerState__buildListViewItems_closure1, K._InstanceViewerState__buildListViewItems_closure0, K._InstanceViewerState__buildListViewItems_closure, K._InstanceViewerState__buildListViewItems__closure1, K._InstanceViewerState__buildListViewItems__closure, K._InstanceViewerState__buildListViewItems__closure0, K._InstanceViewerState__buildListViewItems__closure2, K._InstanceViewerState__buildHeader_closure0, K._InstanceViewerState__buildHeader_closure3, K._InstanceViewerState__buildHeader_closure6, K._InstanceViewerState__buildHeader_closure4, K._InstanceViewerState__buildHeader_closure, K._InstanceViewerState__buildHeader_closure2, K._InstanceViewerState__buildHeader_closure1, K._InstanceViewerState__buildHeader_closure5, K._InstanceViewerState_build_closure, K._EditableFieldState_build_closure, K._EditableFieldState_build_closure0, K._EditableFieldState_build_closure1, K._EditableFieldState_build__closure1, K._EditableFieldState_build__closure, K._EditableFieldState_build___closure0, K._EditableFieldState_build__closure0, K._EditableFieldState_build___closure, K._Expandable_build_closure0, K._Expandable_build_closure, E.Result_dataOrThrow_closure, E.Result_dataOrThrow_closure0, F.familyAsyncDebounce_closure, F.familyAsyncDebounce__closure, F.familyAsyncDebounce__closure2, F.familyAsyncDebounce___closure, F.familyAsyncDebounce__closure1, F.familyAsyncDebounce___closure0, F.familyAsyncDebounce___closure1, F.familyAsyncDebounce___closure2, F.familyAsyncDebounce____closure, F.familyAsyncDebounce__closure0, F.asyncDebounce_closure, F.asyncDebounce__closure, F.asyncDebounce__closure2, F.asyncDebounce___closure, F.asyncDebounce__closure1, F.asyncDebounce___closure0, F.asyncDebounce___closure1, F.asyncDebounce___closure2, F.asyncDebounce____closure, F.asyncDebounce__closure0, Z.selectedProviderIdProvider_closure, Z.selectedProviderIdProvider__closure, Z.selectedProviderIdProvider___closure, Z._ProviderListState_build_closure, Z._ProviderListState_build__closure1, Z._ProviderListState_build__closure0, Z._ProviderListState_build__closure, Z._ProviderListState_build___closure, Z.ProviderNodeItem_build_closure, A._providerListChanged_closure, A._providerListChanged__closure, A._rawProviderIdsProvider_closure, A._rawProviderNodeProvider_closure, A._rawProviderNodeProvider_closure_getFieldWithName, A._rawProviderNodeProvider__getFieldWithName_closure, A.rawSortedProviderNodesProvider_closure, A.rawSortedProviderNodesProvider__closure, A.rawSortedProviderNodesProvider__closure0, Z._hasErrorProvider_closure, Z._selectedProviderNode_closure, Z._selectedProviderNode__closure, Z._selectedProviderNode__closure0, Z._showInternals_closure, Z.ProviderScreenBody_build_closure0, Z.ProviderScreenBody_build_closure, Z.ProviderScreenBody_build__closure, Z._StateInspectorSettingsDialog_build_closure0, Z._StateInspectorSettingsDialog_build_closure, T.DevToolsRouteInformationParser_restoreRouteInformation_closure, M.DevToolsScaffoldState_didUpdateWidget_closure, M.DevToolsScaffoldState__initTitle_closure, M.DevToolsScaffoldState__initTitle__closure, M.DevToolsScaffoldState__setupTabController_closure, M.DevToolsScaffoldState__setupTabController_closure0, M.DevToolsScaffoldState__setupTabController__closure, M.DevToolsScaffoldState__showPageById_closure, M.DevToolsScaffoldState__pushSnapshotScreenForImport_closure, M.DevToolsScaffoldState_build_closure0, M.DevToolsScaffoldState_build_closure, M.DevToolsScaffoldState_enterOfflineMode_closure, T.Screen_buildTab_closure, T.Screen_buildTab__closure, T.OfflineScreenMixin_loadOfflineData_closure, T.OfflineScreenMixin_loadOfflineData_closure0, L.DevToolsServerConnection$__closure, L.DevToolsServerConnection_connect_closure, L.DevToolsServerConnection_initFrameworkController_closure, L.DevToolsServerConnection_initFrameworkController_closure0, L.DevToolsServerConnection_initFrameworkController_closure1, R._connectWithSse_closure, R._connectWithWebSocket_closure, R._connectWithWebSocket_closure0, R.connect_onError, R.connect_connectHelper, R.connect_closure, R.connect_closure0, E.ServiceExtensionDescription_closure, E.serviceExtensionsAllowlist_closure, E.serviceExtensionsAllowlist_closure0, E._unsafeBeforeFirstFrameFlutterExtensions_closure, R.ServiceConnectionManager_registeredServiceListenable_closure, R.ServiceConnectionManager_vmServiceOpened_closure, R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent, R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure, R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure0, R.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure1, R.ServiceConnectionManager_vmServiceOpened_closure0, R.ServiceConnectionManager_flutterViewId_closure, R.ServiceConnectionManager_flutterViewId_closure0, R.ServiceConnectionManager_libraryUriAvailableNow_closure, R.ServiceConnectionManager_libraryUriAvailableNow_closure0, R.IsolateManager_init_closure, R.IsolateManager_selectIsolate_closure, R.IsolateManager_selectIsolate_closure0, R.IsolateManager__handleIsolateEvent_closure, R.IsolateManager__computeMainIsolate_closure, R.IsolateManager__computeMainIsolate_closure0, R.ServiceExtensionManager__restoreExtensionFromDevice_restore, R.ServiceExtensionManager__restoreExtensionFromDevice_closure, R.ServiceExtensionManager__callServiceExtension_callExtension, R.ServiceExtensionManager__callServiceExtension_callExtension_call, R.ServiceExtensionManager__callServiceExtension_callExtension_closure, R.ServiceExtensionManager__callServiceExtension_closure, R.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter, R.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter_closure, R.ServiceExtensionManager__hasServiceExtension_closure, R.ServiceExtensionManager__serviceExtensionState_closure, K._SnapshotScreenBodyState__initScreen_closure, K._SnapshotScreenBodyState__initScreen_closure0, K._SnapshotScreenBodyState_build_closure, K._SnapshotScreenBodyState_build__closure, K._SnapshotScreenBodyState_reset_closure, L._SplitState__buildLayout__minSizeForIndex, L._SplitState__buildLayout__minFractionForIndex, L._SplitState__buildLayout__clampFraction, L._SplitState__buildLayout__sizeForIndex, L._SplitState__buildLayout_deltaFromMinimumSize, L._SplitState__buildLayout_updateSpacing, L._SplitState__buildLayout_updateSpacing_updateSpacingBeforeSplitterIndex, L._SplitState__buildLayout_updateSpacing_updateSpacingAfterSplitterIndex, L._SplitState__buildLayout_updateSpacing_closure, L._SplitState__buildLayout_closure, L._SplitState__buildLayout_closure0, B.StatusLine_build_closure, B.StatusLine_buildHelpUrlStatus_closure, B.StatusLine_buildIsolateSelector_closure0, B.StatusLine_buildIsolateSelector_closure, B.StatusLine_buildIsolateSelector_closure_isolateName, B.StatusLine_buildIsolateSelector__closure0, B.StatusLine_buildIsolateSelector__closure, B.StatusLine_buildConnectionStatus_closure, B.StatusLine_buildConnectionStatus__closure, B.StatusLine_buildConnectionStatus__closure0, B.StatusLine_buildConnectionStatus___closure, R.SurveyService_maybeShowSurveyPrompt_closure, R.SurveyService_maybeShowSurveyPrompt_closure0, R.SurveyService_maybeShowSurveyPrompt_closure1, S.FlatTableState_computeColumnWidths_closure, S.FlatTableState_build_closure, S.FlatTableState__sortDataAndUpdate_closure, S.FlatTableState_sortData_closure, S.TreeTableState_didUpdateWidget_closure, S.TreeTableState_didUpdateWidget__closure, S.TreeTableState__initData_closure, S.TreeTableState__updateItems_closure, S.TreeTableState__onItemsAnimated_closure, S.TreeTableState__toggleNode_closure, S.TreeTableState__buildRow_rowForNode, S.TreeTableState__buildRow_rowForNode_closure, S.TreeTableState_sortData_closure, S.TreeTableState_sortData__sort, S.TreeTableState__moveSelection_closure, S._TableState_didUpdateWidget_closure, S._TableState_didUpdateWidget__closure, S._TableState_build_closure, S._TableState_build__closure0, S._TableState_build__closure, S._TableRowState_initState_closure, S._TableRowState_initState__closure, S._TableRowState_build_closure, S._TableRowState_build_closure0, S._TableRowState__initSearchListeners_closure, S._TableRowState__initSearchListeners__closure0, S._TableRowState__initSearchListeners_closure0, S._TableRowState__initSearchListeners__closure, S._TableRowState_tableRowFor_columnFor, S._TableRowState_tableRowFor_columnFor_closure, S._TableRowState_tableRowFor_closure, K.denseAwareOutlinedButtonStyle_closure, Y._TreeViewState_build_closure, Y._TreeViewState_build__closure, Y._TreeViewState__updateItems_closure, Y.TreeMixin_buildFlatList_closure, X.TreeNode_expandCascading_closure, X.TreeNode_collapseCascading_closure, X._FilterDialogState_build_closure, S.CustomIconMaker_getCustomIcon_closure, S.ColorIconMaker_getCustomIcon_closure, S.AutoCompleteState_didChangeDependencies_closure, S.AutoCompleteState_build_closure, S.AutoCompleteSearchControllerMixin_createAutoCompleteOverlay_closure, S.SearchFieldMixin_buildAutoCompleteSearchField_closure, S.SearchFieldMixin__buildSearchField_closure, S.SearchFieldMixin__buildSearchField_closure0, S.SearchFieldMixin__buildSearchField_closure1, S.SearchNavigationControls_build_closure, S.SearchNavigationControls__matchesStatus_closure, B._ServiceExtensionButtonGroupState__initExtensionState_closure, B._ServiceExtensionButtonGroupState__initExtensionState__closure0, B._ServiceExtensionButtonGroupState__initExtensionState_closure0, B._ServiceExtensionButtonGroupState__initExtensionState__closure, B._ServiceExtensionButtonGroupState_didUpdateWidget_closure, B._ServiceExtensionButtonGroupState_build_closure, B._ServiceExtensionButtonGroupState__onPressed_closure, B.HotReloadButton_build_closure, B.HotReloadButton_build_closure0, B.HotRestartButton_build_closure, B.HotRestartButton_build_closure0, B._RegisteredServiceExtensionButtonState_initState_closure, B._RegisteredServiceExtensionButtonState_initState__closure, B._RegisteredServiceExtensionButtonState_build_closure, B.StructuredErrorsToggle_build_closure, B._ServiceExtensionToggleState_initState_closure, B._ServiceExtensionToggleState_initState__closure, B._ServiceExtensionToggleState__onClick_closure, B._ServiceExtensionToggleState__onClick_closure0, B._ServiceExtensionMixin_invokeAndCatchErrors_closure, B._ServiceExtensionMixin_invokeAndCatchErrors_closure0, B._NotifierCheckboxState__updateValue_closure, B._NotifierCheckboxState_build_closure, B.truncateTextSpan_truncateHelper, B._OffsetScrollbarState_build_closure, B._OffsetScrollbarState_build__closure, B._OffsetScrollbarState_build_closure0, G.ProfileGranularityDropdown_build_closure, B.timeout_closure, B.combineStreams_closure0, B.combineStreams_closure, B.parseCssHexColor_closure, B.toCssHexColor_hex, B.RateLimiter_scheduleRequest_closure, B.RateLimiter_scheduleRequest_closure0, B.processAnsiTerminalCodes_closure, B.LogicalKeySetExtension_describeKeys_closure, B.LogicalKeySetExtension_describeKeys_closure0, B.StringExtension_caseInsensitiveContains_closure, B.StringExtension_caseInsensitiveContains_closure0, T.FlutterVersion$__closure, T.FlutterVersion$__closure0, O.IsolateStatisticsViewBody_build_closure, O.TagStatisticsWidget_build_closure, O.TagStatisticsWidget_build_closure0, O.StackTraceViewerWidget_build_closure, O.StackTraceViewerWidget_build_closure0, O.StackTraceViewerWidget_build_closure1, O._IsolatePortsWidgetState_build_closure, O._IsolatePortsWidgetState_build_closure0, O._IsolatePortsWidgetState_build__closure, O.ServiceExtensionsWidget_build_closure, O.ServiceExtensionsWidget_build_closure0, N.IsolateStatisticsViewController_closure, N.IsolateStatisticsViewController_closure0, E._VMDeveloperToolsScreenState_build_closure, Q.VMStatisticsViewBody_build_closure, Q.IsolatesPreviewWidget_build_closure, Q.IsolatesPreviewWidget_build_closure0, F.VMStatisticsViewController_refresh_closure, F.VMStatisticsViewController_refresh_closure0, U.VmServiceWrapper_getCpuProfileTimeline_processStackFrame, U.VmServiceWrapper_getCpuProfileTimeline_closure, K.ExtensionEvents_ExtensionEvents$fromJson_closure, O.SamplesMemoryJson_encodeList_closure, O.MethodChannelFileSelector_openFile_closure, L.XTypeGroup__removeLeadingDots_closure, G.DomHelper_getFiles_closure, G.DomHelper_getFiles_closure0, E.CupertinoDynamicColor_toString_toString, E._CupertinoScrollbarState_initState_closure, E._CupertinoScrollbarState_handleThumbPress_closure, N._CupertinoSwitchState__handleDragEnd_closure, N._RenderCupertinoSwitch_paint_closure, K.CupertinoThemeData_resolveFrom_convertColor, K.NoDefaultCupertinoThemeData_resolveFrom_convertColor, K._CupertinoThemeDefaults_resolveFrom_convertColor, U._testPlatform_closure, U._browserPlatform_closure, U.FlutterErrorDetails_summary_formatException, U.FlutterErrorDetails_summary_closure, U.FlutterErrorDetails_summary_closure0, U.FlutterErrorDetails_debugFillProperties_closure, U.FlutterError_FlutterError_closure, U.FlutterError_defaultStackFilter_closure, U.FlutterError_defaultStackFilter_closure0, U.FlutterError_toString_closure, U.debugPrintStack_closure, N.BindingBase_lockEvents_closure, N.BindingBase_registerBoolServiceExtension_closure, N.BindingBase_registerNumericServiceExtension_closure, N.BindingBase_registerServiceExtension_closure, N.BindingBase_registerServiceExtension__closure, B.ChangeNotifier_notifyListeners_closure, Y._PrefixedStringBuilder__wordWrapLine_noWrap, Y.TextTreeRenderer__debugRender_visitor, Y.TextTreeRenderer__debugRender_closure, R.StackFrame_fromStackString_closure, O.SynchronousFuture_whenComplete_closure, D._GestureArena_toString_closure, D.GestureArenaManager_add_closure, D.GestureArenaManager__tryToResolveArena_closure, N.GestureBinding_dispatchEvent_closure, N.GestureBinding_dispatchEvent_closure0, K.ForcePressGestureRecognizer_handleEvent_closure, K.ForcePressGestureRecognizer_acceptGesture_closure, K.ForcePressGestureRecognizer_didStopTrackingLastPointer_closure, T.LongPressGestureRecognizer__checkLongPressStart_closure, T.LongPressGestureRecognizer__checkLongPressMoveUpdate_closure, T.LongPressGestureRecognizer__checkLongPressEnd_closure, O.DragGestureRecognizer__checkDown_closure, O.DragGestureRecognizer__checkStart_closure, O.DragGestureRecognizer__checkUpdate_closure, O.DragGestureRecognizer__checkEnd_closure, O.DragGestureRecognizer__checkEnd_closure0, O.DragGestureRecognizer__checkEnd_closure1, O.PointerRouter_addRoute_closure, O.PointerRouter__dispatchEventToRoutes_closure, S.PrimaryPointerGestureRecognizer_addAllowedPointer_closure, N.TapGestureRecognizer_handleTapDown_closure, N.TapGestureRecognizer_handleTapDown_closure0, N.TapGestureRecognizer_handleTapUp_closure, N.TapGestureRecognizer_handleTapUp_closure0, S.MaterialApp_createMaterialHeroController_closure, S._MaterialAppState__materialBuilder_closure, E._AppBarState__handleScrollNotification_closure, D.MaterialPointArcTween__initialize_sweepAngle, D.MaterialRectArcTween__initialize_closure, Z._RawMaterialButtonState__handleHighlightChanged_closure, Z._RawMaterialButtonState__handleHoveredChanged_closure, Z._RawMaterialButtonState__handleFocusedChanged_closure, Z._RenderInputPadding_hitTest_closure, K._ButtonStyleState__handleHighlightChanged_closure, K._ButtonStyleState__handleHoveredChanged_closure, K._ButtonStyleState__handleFocusedChanged_closure, K._ButtonStyleState_build_effectiveValue, K._ButtonStyleState_build_resolve, K._ButtonStyleState_build_resolve_closure, K._ButtonStyleState_build_closure, K._ButtonStyleState_build_closure0, K._ButtonStyleState_build_closure1, K._ButtonStyleState_build_closure2, K._ButtonStyleState_build_closure3, K._ButtonStyleState_build_closure4, K._ButtonStyleState_build_closure5, K._ButtonStyleState_build_closure6, K._ButtonStyleState_build_closure7, K._ButtonStyleState_build_closure8, K._ButtonStyleState_build_closure9, K._ButtonStyleState_build_closure17, K._ButtonStyleState_build__closure0, K._ButtonStyleState_build_closure18, K._ButtonStyleState_build__closure, K._ButtonStyleState_build_closure10, K._ButtonStyleState_build_closure11, K._ButtonStyleState_build_closure12, K._ButtonStyleState_build_closure13, K._ButtonStyleState_build_closure14, K._ButtonStyleState_build_closure15, K._ButtonStyleState_build_closure16, K._ButtonStyleState_build__closure1, K._RenderInputPadding_hitTest_closure0, K._CheckboxState__widgetFillColor_closure, K._CheckboxState__defaultFillColor_closure, K._CheckboxState_build_closure, S.DataTable_build_closure3, S.DataTable_build_closure, S.DataTable_build_closure0, S.DataTable_build_closure1, S.DataTable_build_closure2, S.DataTable_build_closure4, S.TableRowInkWell_getRectCallback_closure, E.DialogRoute_closure, K._DropdownMenuState_build_closure, K._DropdownRoute_buildPage_closure, K._DropdownRoute_getItemOffset_closure, K._DropdownRoute_getMenuLimits_closure, K._DropdownRoutePage_build_closure, K._DropdownButtonState_initState_closure, K._DropdownButtonState_initState_closure0, K._DropdownButtonState__handleFocusChanged_closure, K._DropdownButtonState__handleFocusHighlightModeChange_closure, K._DropdownButtonState__updateSelectedIndex_closure, K._DropdownButtonState__handleTap_closure, K._DropdownButtonState__handleTap_closure0, K._DropdownButtonState_build_closure, O._ExpansionTileState__handleTap_closure, O._ExpansionTileState__handleTap__closure, O._ExpansionTileState__handleTap___closure, O._getClipCallback_closure, U._getClipCallback_closure0, R._InkResponseState_highlightsExist_closure, R._InkResponseState_updateHighlight_handleInkRemoval, R._InkResponseState__createInkFeature_onRemoved, R._InkResponseState__handleFocusHighlightModeChange_closure, L._HelperErrorState__handleChange_closure, L._RenderDecoration_debugDescribeChildren_add, L._RenderDecoration_performLayout_centerLayout, L._RenderDecoration_performLayout_baselineLayout, L._RenderDecoration_paint_doPaint, L._RenderDecoration_hitTestChildren_closure, L._InputDecoratorState__handleChange_closure, Q.ListTileTheme_merge_closure, Q._RenderListTile_debugDescribeChildren_add, Q._RenderListTile_paint_doPaint, Q._RenderListTile_hitTestChildren_closure, M._MaterialState_build_closure, M._MaterialInteriorState_forEachTween_closure, M._MaterialInteriorState_forEachTween_closure0, M._MaterialInteriorState_forEachTween_closure1, E._NavigationRailState_build_closure, E._NavigationRailState__initControllers_closure, E._NavigationRailState__initControllers_closure0, E._NavigationRailState__rebuild_closure, E._RailDestination_build_closure, K.PageTransitionsTheme__all_closure, Z._PopupMenu_build_closure, Z._PopupMenu_build_closure0, Z._PopupMenuRoute_buildPage_closure, Z.PopupMenuButtonState_showButtonMenu_closure, U._LinearProgressIndicatorPainter_paint_drawBar, U._LinearProgressIndicatorState_build_closure, U._CircularProgressIndicatorState__buildAnimation_closure, M.ScaffoldMessengerState_showSnackBar_closure, M.ScaffoldMessengerState_showSnackBar_closure0, M.ScaffoldMessengerState__handleStatusChanged_closure, M.ScaffoldMessengerState__handleStatusChanged_closure0, M.ScaffoldMessengerState_hideCurrentSnackBar_closure, M.ScaffoldMessengerState_build_closure, M._FloatingActionButtonTransitionState__handlePreviousAnimationStatusChanged_closure, M.ScaffoldState_hideCurrentSnackBar_closure, M.ScaffoldState__updateSnackBar_closure, M.ScaffoldState_build_closure, M._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure, E._MaterialScrollbarState__thumbColor_closure, E._MaterialScrollbarState__trackColor_closure, E._MaterialScrollbarState__trackBorderColor_closure, E._MaterialScrollbarState__thickness_closure, E._MaterialScrollbarState_initState_closure, E._MaterialScrollbarState_handleThumbPressStart_closure, E._MaterialScrollbarState_handleThumbPressEnd_closure, E._MaterialScrollbarState_handleHover_closure, E._MaterialScrollbarState_handleHover_closure0, E._MaterialScrollbarState_handleHoverExit_closure, O._SelectableTextState__onControllerChanged_closure, O._SelectableTextState__handleSelectionChanged_closure, O._SelectableTextState_build_closure, N._SnackBarState_build_closure0, N._SnackBarState_build_closure, N._SnackBarState_build_closure1, N._MaterialSwitchState__widgetThumbColor_closure, N._MaterialSwitchState__defaultThumbColor_closure, N._MaterialSwitchState__widgetTrackColor_closure, N._MaterialSwitchState__defaultTrackColor_closure, N._MaterialSwitchState__handleDragEnd_closure, N._MaterialSwitchState_build_closure, U.TabController__changeIndex_closure, E._TabBarState_initState_closure, E._TabBarState__handleTabControllerTick_closure, E._TabBarState_build_closure, E._TabBarState_build_closure0, E._TabBarViewState__warpToCurrentIndex_closure, E._TabBarViewState__warpToCurrentIndex_closure0, Z._TextFieldState__handleSelectionChanged_closure, Z._TextFieldState__handleHover_closure, Z._TextFieldState_build_closure, Z._TextFieldState_build_closure0, Z._TextFieldState_build_closure1, Z._TextFieldState_build_closure2, Z._TextFieldState_build_closure3, Z._TextFieldState_build__closure, Z.__TextFieldState_State_RestorationMixin_dispose_closure, K._AnimatedThemeState_forEachTween_closure, X.ThemeData_localize_closure, E.ToggleButtons_build_closure, E.ToggleButtons_build__closure, F.ToggleableStateMixin__handleTapDown_closure, F.ToggleableStateMixin__handleTapEnd_closure, F.ToggleableStateMixin__handleFocusHighlightChanged_closure, F.ToggleableStateMixin__handleHoverChanged_closure, S._TooltipState__handleMouseTrackerChange_closure, S._TooltipState__createNewEntry_closure, S._TooltipState_build_closure, S._TooltipState_build_closure0, Y._CompoundBorder_dimensions_closure, Y._CompoundBorder_scale_closure, Y._CompoundBorder_toString_closure, Z.ClipContext_clipPathAndPaint_closure, Z.ClipContext_clipRRectAndPaint_closure, Z.ClipContext_clipRectAndPaint_closure, X.paintImage_closure, T._sample_closure, T._interpolateColorsAndStops_closure, T.LinearGradient_scale_closure, E.ImageCache__trackLiveImage_closure, E.ImageCache__trackLiveImage__closure, E.ImageCache_putIfAbsent_listener, E._CachedImageBase_dispose_closure, E._LiveImage_closure, M.ImageProvider_resolve_closure, M.ImageProvider_resolve_closure0, M.ImageProvider__createErrorHandlerAndKey_handleError, M.ImageProvider__createErrorHandlerAndKey_closure, M.ImageProvider__createErrorHandlerAndKey_closure0, M.ImageProvider__createErrorHandlerAndKey__closure, M.ImageProvider_resolveStreamForKey_closure, M.ImageProvider_resolveStreamForKey_closure0, L.AssetImage_obtainKey_closure, L.AssetImage_obtainKey_closure0, L.ImageStreamCompleter_reportError_closure, L.MultiFrameImageStreamCompleter_closure, L.MultiFrameImageStreamCompleter__handleAppFrame_closure, G.InlineSpan_getSpanForPosition_closure, G.InlineSpan_codeUnitAt_closure, V._ShapeDecorationPainter__precache_closure, V._ShapeDecorationPainter__precache_closure0, Q.TextSpan_debugDescribeChildren_closure, F.RenderAnimatedSize_closure, N.RendererBinding__scheduleMouseTrackerUpdate_closure, S.BoxConstraints_toString_describe, S.RenderBox__computeIntrinsicDimension_closure, S.RenderBox_getDryLayout_closure, S.RenderBox_getDistanceToActualBaseline_closure, S.RenderBoxContainerDefaultsMixin_defaultHitTestChildren_closure, D.RenderEditable_nextCharacter_closure, D.RenderEditable_describeSemanticsConfiguration_closure, D.RenderEditable_getRectForComposingRange_closure, F.RenderFlex_computeMinIntrinsicWidth_closure, F.RenderFlex_computeMaxIntrinsicWidth_closure, F.RenderFlex_computeMinIntrinsicHeight_closure, F.RenderFlex_computeMaxIntrinsicHeight_closure, R.RenderListBody_computeMinIntrinsicWidth_closure, R.RenderListBody_computeMinIntrinsicWidth_closure0, R.RenderListBody_computeMaxIntrinsicWidth_closure, R.RenderListBody_computeMaxIntrinsicWidth_closure0, R.RenderListBody_computeMinIntrinsicHeight_closure, R.RenderListBody_computeMinIntrinsicHeight_closure0, R.RenderListBody_computeMaxIntrinsicHeight_closure, R.RenderListBody_computeMaxIntrinsicHeight_closure0, A.MouseTracker__handleDeviceUpdate_closure, A.MouseTracker_updateWithEvent_closure, A.MouseTracker_updateWithEvent__closure, A.MouseTracker_updateAllDevices_closure, A.MouseTracker__handleDeviceUpdateMouseEvents_closure, A.MouseTracker__handleDeviceUpdateMouseEvents_closure0, K.PaintingContext_pushClipRect_closure, K.PaintingContext_pushClipRRect_closure, K.PaintingContext_pushClipPath_closure, K.PipelineOwner_flushLayout_closure, K.PipelineOwner_flushCompositingBits_closure, K.PipelineOwner_flushPaint_closure, K.PipelineOwner_flushSemantics_closure, K.RenderObject__debugReportException_closure, K.RenderObject_invokeLayoutCallback_closure, K.RenderObject__updateCompositingBits_closure, K.RenderObject_clearSemantics_closure, K.RenderObject__getSemanticsForParent_closure, Q.RenderParagraph__extractPlaceholderSpans_closure, Q.RenderParagraph_hitTestChildren_closure, Q.RenderParagraph_paint_closure, Q.RenderParagraph_describeSemanticsConfiguration_closure, E.RenderTransform_hitTestChildren_closure, E.RenderFractionalTranslation_hitTestChildren_closure, E.RenderFollowerLayer_hitTestChildren_closure, O.RenderRotatedBox_hitTestChildren_closure, T.RenderShiftedBox_hitTestChildren_closure, G.RenderSliverHelpers_hitTestBoxChild_closure, U.RenderSliverList_performLayout_advance, F.RenderSliverMultiBoxAdaptor__createOrObtainChild_closure, F.RenderSliverMultiBoxAdaptor_collectGarbage_closure, F.RenderSliverMultiBoxAdaptor_collectGarbage__closure, K.RenderStack_computeMinIntrinsicWidth_closure, K.RenderStack_computeMaxIntrinsicWidth_closure, K.RenderStack_computeMinIntrinsicHeight_closure, K.RenderStack_computeMaxIntrinsicHeight_closure, K.RenderIndexedStack_hitTestChildren_closure, S.RenderTable_computeDryLayout_closure, S.RenderTable_hitTestChildren_closure, Q.RenderViewportBase_visitChildrenForSemantics_closure, Q.RenderViewportBase_hitTestChildren_closure, N._TaskEntry_run_closure, N.SchedulerBinding_endOfFrame_closure, N.SchedulerBinding_scheduleWarmUpFrame_closure, N.SchedulerBinding_scheduleWarmUpFrame_closure0, N.SchedulerBinding_scheduleWarmUpFrame_closure1, N.SchedulerBinding__handleDrawFrame_closure, N.SchedulerBinding_handleBeginFrame_closure, M.TickerFuture_whenCompleteOrCancel_thunk, A.SemanticsNode_getSemanticsData_closure, A.SemanticsNode__childrenInTraversalOrder_closure, A.SemanticsNode_debugDescribeChildren_closure, A._SemanticsSortGroup_sortedWithinVerticalGroup_closure, A._SemanticsSortGroup_sortedWithinKnot_closure, A._SemanticsSortGroup_sortedWithinKnot_search, A._SemanticsSortGroup_sortedWithinKnot_closure0, A._SemanticsSortGroup_sortedWithinKnot_closure1, A._childrenInDefaultOrder_closure, A.SemanticsOwner_sendSemanticsUpdate_closure, A.SemanticsOwner_sendSemanticsUpdate_closure0, A.SemanticsOwner_sendSemanticsUpdate_closure1, 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, Q.CachingAssetBundle_loadString_closure, Q.CachingAssetBundle_loadStructuredData_closure, N.ServicesBinding__addLicenses_closure, N.ServicesBinding__addLicenses_closure0, N._DefaultBinaryMessenger_send_closure, N._DefaultBinaryMessenger_setMessageHandler_closure, U.StandardMessageCodec_writeValue_closure, A.BasicMessageChannel_setMessageHandler_closure, A.MethodChannel_setMethodCallHandler_closure, B.RawKeyboard__synchronizeModifiers_closure, K.RestorationManager_handleRestorationUpdateFromEngine_closure, K.RestorationManager_scheduleSerializationFor_closure, K.RestorationBucket__rawChildren_closure, K.RestorationBucket__rawValues_closure, K.RestorationBucket__addChildData_closure, K.RestorationBucket__visitChildren_closure, X.SystemChrome_setSystemUIOverlayStyle_closure, B.FilteringTextInputFormatter_formatEditUpdate_closure, B.FilteringTextInputFormatter_formatEditUpdate__closure, B.FilteringTextInputFormatter_formatEditUpdate__closure0, N.TextInput__scheduleHide_closure, U._getParent_closure, U.Actions__findDispatcher_closure, U.Actions_maybeFind_closure, U._ActionsState__handleActionChanged_closure, U._FocusableActionDetectorState_initState_closure, U._FocusableActionDetectorState__updateHighlightMode_closure, U._FocusableActionDetectorState__handleMouseEnter_closure, U._FocusableActionDetectorState__handleMouseExit_closure, U._FocusableActionDetectorState__handleFocusChange_closure, U._FocusableActionDetectorState__mayTriggerCallback_shouldShowHoverHighlight, U._FocusableActionDetectorState__mayTriggerCallback_canRequestFocus, U._FocusableActionDetectorState__mayTriggerCallback_shouldShowFocusHighlight, U._FocusableActionDetectorState_didUpdateWidget_closure, U._AnimatedCrossFadeState_initState_closure, U._AnimatedCrossFadeState_initState__closure, S._WidgetsAppState_didChangeLocales_closure, S._WidgetsAppState_build_closure, S._MediaQueryFromWindowsState_didChangeMetrics_closure, S._MediaQueryFromWindowsState_didChangePlatformBrightness_closure, B._StreamBuilderBaseState__subscribe_closure, B._StreamBuilderBaseState__subscribe__closure1, B._StreamBuilderBaseState__subscribe_closure1, B._StreamBuilderBaseState__subscribe__closure, B._StreamBuilderBaseState__subscribe_closure0, B._StreamBuilderBaseState__subscribe__closure0, L._AutomaticKeepAliveState__addClient_closure, L._AutomaticKeepAliveState__getChildElement_closure, L._AutomaticKeepAliveState__createCallback_closure, L._AutomaticKeepAliveState__createCallback__closure, L._AutomaticKeepAliveState__createCallback__closure0, L._AutomaticKeepAliveState__createCallback___closure, T.RichText__extractChildren_closure, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure1, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_dispatchEvent_closure, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initInstances_closure, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure0, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_initInstances_closure, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure2, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure_markElementsDirty, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure4, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_drawFrame_closure, N.WidgetsBinding_scheduleAttachRootWidget_closure, N.RenderObjectToWidgetAdapter_attachToRenderTree_closure, N.RenderObjectToWidgetAdapter_attachToRenderTree_closure0, Q._DismissibleState__handleDragStart_closure, Q._DismissibleState__handleDragUpdate_closure, D.EditableTextState_initState_closure, D.EditableTextState_didChangeDependencies_closure, D.EditableTextState__scheduleShowCaretOnScreen_closure, D.EditableTextState__formatAndSetValue_closure, D.EditableTextState__cursorTick_closure, D.EditableTextState__didChangeTextEditingValue_closure, D.EditableTextState__updateSizeAndTransform_closure, D.EditableTextState__updateComposingRectIfNeeded_closure, D.EditableTextState__updateCaretRectIfNeeded_closure, D.EditableTextState_showAutocorrectionPromptRect_closure, D.EditableTextState__semanticsOnCopy_closure, D.EditableTextState__semanticsOnCut_closure, D.EditableTextState__semanticsOnPaste_closure, D.EditableTextState_build_closure, O.FocusNode_traversalDescendants_closure, O.FocusNode_debugDescribeChildren_closure, L._FocusState__handleFocusChanged_closure, L._FocusState__handleFocusChanged_closure0, L._FocusState__handleFocusChanged_closure1, U._getAncestor_closure, U.FocusTraversalPolicy__sortAllDescendants_visitGroups, U.FocusTraversalPolicy__sortAllDescendants_closure, U._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin_changedScope_closure, U.DirectionalFocusTraversalPolicyMixin__sortAndFindInitial_closure, U.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure, U.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure0, U.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure1, U.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure, U.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure0, U.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure1, U.DirectionalFocusTraversalPolicyMixin__popPolicyDataIfNeeded_popOrInvalidate, U.DirectionalFocusTraversalPolicyMixin_inDirection_closure, U.DirectionalFocusTraversalPolicyMixin_inDirection_closure0, U.DirectionalFocusTraversalPolicyMixin_inDirection_closure1, U.DirectionalFocusTraversalPolicyMixin_inDirection_closure2, U.DirectionalFocusTraversalPolicyMixin_inDirection_closure3, U.DirectionalFocusTraversalPolicyMixin_inDirection_closure4, U._ReadingOrderSortData_commonDirectionalityOf_closure, U._ReadingOrderSortData_sortWithDirectionality_closure, U._ReadingOrderSortData_directionalAncestors_getDirectionalityAncestors, U._ReadingOrderDirectionalGroupData_rect_closure, U._ReadingOrderDirectionalGroupData_sortWithDirectionality_closure, U.ReadingOrderTraversalPolicy__pickNext_closure, U.ReadingOrderTraversalPolicy__pickNext_inBand, U.ReadingOrderTraversalPolicy__pickNext_inBand_closure, N._InactiveElements__unmount_closure, N.BuildOwner_buildScope_closure, N.BuildOwner_finalizeTree_closure, N.Element_renderObject_visit, N.Element_updateSlotForChild_visit, N.Element__updateDepth_closure, N.Element_detachRenderObject_closure, N.Element_attachRenderObject_closure, N.Element_debugDescribeChildren_closure, N.ComponentElement_performRebuild_closure, N.ComponentElement_performRebuild_closure0, N.ParentDataElement__applyParentData_applyParentDataToChild, N.RenderObjectElement_updateChildren_replaceWithNullIfForgotten, N.RenderObjectElement_updateChildren_slotFor, N.MultiChildRenderObjectElement_children_closure, D.GestureDetector_build_closure, D.GestureDetector_build_closure0, D.GestureDetector_build_closure1, D.GestureDetector_build_closure2, D.GestureDetector_build_closure3, D.GestureDetector_build_closure4, D.GestureDetector_build_closure5, D.GestureDetector_build_closure6, D.GestureDetector_build_closure7, D.GestureDetector_build_closure8, D.GestureDetector_build_closure9, D.GestureDetector_build_closure10, D._DefaultSemanticsGestureDelegate__getTapHandler_closure, D._DefaultSemanticsGestureDelegate__getLongPressHandler_closure, D._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure, D._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure0, D._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure1, D._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure, D._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure0, D._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure1, T.Hero__allHeroesFor_inviteHero, T.Hero__allHeroesFor_visitor, T._HeroState_startFlight_closure, T._HeroState_endFlight_closure, T._HeroFlight__buildOverlay_closure, T._HeroFlight__handleAnimationUpdate_delayedPerformAnimtationUpdate, T.HeroController__maybeStartHeroTransition_closure, Y.IconTheme_merge_closure, U._ImageState__handleImageFrame_closure, U._ImageState__updateSourceStream_closure, U._ImageState__updateSourceStream_closure0, G.ImplicitlyAnimatedWidgetState_initState_closure, G.ImplicitlyAnimatedWidgetState_didUpdateWidget_closure, G.ImplicitlyAnimatedWidgetState__constructTweens_closure, G.AnimatedWidgetBaseState__handleAnimationChanged_closure, G._AnimatedContainerState_forEachTween_closure, G._AnimatedContainerState_forEachTween_closure0, G._AnimatedContainerState_forEachTween_closure1, G._AnimatedContainerState_forEachTween_closure2, G._AnimatedContainerState_forEachTween_closure3, G._AnimatedContainerState_forEachTween_closure4, G._AnimatedContainerState_forEachTween_closure5, G._AnimatedContainerState_forEachTween_closure6, G._AnimatedPaddingState_forEachTween_closure, G._AnimatedOpacityState_forEachTween_closure, G._AnimatedDefaultTextStyleState_forEachTween_closure, G._AnimatedPhysicalModelState_forEachTween_closure, G._AnimatedPhysicalModelState_forEachTween_closure0, G._AnimatedPhysicalModelState_forEachTween_closure1, G._AnimatedPhysicalModelState_forEachTween_closure2, M.InheritedTheme_capture_closure, A._LayoutBuilderElement__layout_layoutCallback, A._LayoutBuilderElement__layout_layoutCallback_closure, A._LayoutBuilderElement__layout_layoutCallback_closure0, L._loadAll_closure, L._loadAll_closure0, L._loadAll_closure1, L._LocalizationsState_load_closure, L._LocalizationsState_load_closure0, L._LocalizationsState_load__closure, X.ModalBarrier_build_handleDismiss, X.ModalBarrier_build_closure, K.Route_didPush_closure, K.Route_didAdd_closure, K.Route_isCurrent_closure, K.Route_isCurrent_closure0, K.Route_isFirst_closure, K.Route_isFirst_closure0, K.Route_isActive_closure, K.Route_isActive_closure0, K.DefaultTransitionDelegate_resolve_handleExitingRoute, K.Navigator_defaultGenerateInitialRoutes_closure, K._RouteEntry_handlePush_closure, K._RouteEntry_dispose_closure, K._RouteEntry_dispose_closure0, K._RouteEntry_isRoutePredicate_closure, K.NavigatorState_restoreState_closure, K.NavigatorState__updatePages_closure, K.NavigatorState__updatePages_closure0, K.NavigatorState__updatePages_closure1, K.NavigatorState__flushHistoryUpdates_closure, K.NavigatorState__flushHistoryUpdates_closure0, K.NavigatorState__afterNavigation_closure, K.NavigatorState_maybePop_closure, K.NavigatorState_maybePop_closure0, K.NavigatorState_maybePop_closure1, K.NavigatorState_maybePop_closure2, K.NavigatorState_removeRoute_closure, K.NavigatorState_removeRoute_closure0, K.NavigatorState__cancelActivePointers_closure, K._HistoryProperty_fromPrimitives_closure, K._NavigatorState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure, E._RenderOverflowBar_performLayout_nextChild, X.OverlayEntry_remove_closure, X._OverlayEntryWidgetState__markNeedsBuild_closure, X.OverlayState_insert_closure, X.OverlayState_insertAll_closure, X.OverlayState_rearrange_closure, X.OverlayState__markDirty_closure, X.OverlayState__didChangeEntryOpacity_closure, X._RenderTheatre_computeMinIntrinsicWidth_closure, X._RenderTheatre_computeMaxIntrinsicWidth_closure, X._RenderTheatre_computeMinIntrinsicHeight_closure, X._RenderTheatre_computeMaxIntrinsicHeight_closure, X._RenderTheatre_hitTestChildren_closure, L._GlowController_pull_closure, S.PageStorageBucket__allKeys_closure, D._PageViewState_build_closure0, D._PageViewState_build_closure, K._RootRestorationScopeState__loadRootBucketIfNecessary_closure, K._RootRestorationScopeState__loadRootBucketIfNecessary__closure, K.RestorationMixin_registerForRestoration_listener, K.__RestorationScopeState_State_RestorationMixin_dispose_closure, Z.__RouterState_State_RestorationMixin_dispose_closure, Z._RouterState_restoreState_closure, Z._RouterState_restoreState_closure0, Z._RouterState__handleRouteInformationProviderNotification_closure, Z._RouterState__handleBackButtonDispatcherNotification_closure, Z._RouterState__verifyRouteInformationParserStillCurrent_closure, Z._RouterState__verifyRouterDelegatePushStillCurrent_closure, Z._RouterState__verifyRouterDelegatePopStillCurrent_closure, Z._RouterState__rebuild_closure, Z._RouterState__handleRouterDelegateNotification_closure, Z._CallbackHookProvider_invokeCallback_closure, Z.BackButtonDispatcher_invokeCallback_notifyNextChild, T.TransitionRoute__updateSecondaryAnimation__jumpOnAnimationEnd, T.TransitionRoute__updateSecondaryAnimation_closure, T.TransitionRoute__updateSecondaryAnimation_closure0, T.TransitionRoute__setSecondaryAnimation_closure, T._ModalScopeState__forceRebuildPage_closure, T._ModalScopeState_build_closure, T._ModalScopeState_build_closure0, T._ModalScopeState_build__closure0, T._ModalScopeState_build___closure, T._ModalScopeState_build__closure, T.ModalRoute_offstage_closure, T.ModalRoute_changedInternalState_closure, Y.ScrollAwareImageProvider_resolveStreamForKey_closure, Y.ScrollAwareImageProvider_resolveStreamForKey__closure, K.ScrollBehavior_velocityTrackerBuilder_closure, K.ScrollBehavior_velocityTrackerBuilder_closure0, Q.ScrollNotificationObserverState__notifyListeners_closure, Q.ScrollNotificationObserverState_build_closure, A.ScrollPosition_forcePixels_closure, B.ScrollView_build_closure, B.ScrollView_build_closure0, B.ListView$separated_closure, B.ListView$separated_closure0, F._ScrollableState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure, F.ScrollableState_setCanDrag_closure, F.ScrollableState_setCanDrag_closure0, F.ScrollableState_setCanDrag_closure1, F.ScrollableState_setCanDrag_closure2, E.RawScrollbarState__maybeTriggerScrollbar_closure, E.RawScrollbarState__maybeStartFadeoutTimer_closure, E.RawScrollbarState__gestures_closure, E.RawScrollbarState__gestures_closure0, E.RawScrollbarState__gestures__closure, E.RawScrollbarState__gestures__closure0, E.RawScrollbarState__gestures__closure1, E.RawScrollbarState__gestures_closure1, E.RawScrollbarState__gestures_closure2, E.RawScrollbarState_build_closure0, E.RawScrollbarState_build_closure, X.LogicalKeySet__triggers_closure, X.ShortcutManager__indexShortcuts_closure, X.ShortcutManager__indexShortcuts__closure, E.SingleChildScrollView_build_closure, E._RenderSingleChildViewport_paint_paintContents, E._RenderSingleChildViewport_hitTestChildren_closure, G.SliverMultiBoxAdaptorElement_performRebuild_processElement, G.SliverMultiBoxAdaptorElement_performRebuild_closure, G.SliverMultiBoxAdaptorElement_performRebuild_closure0, G.SliverMultiBoxAdaptorElement_createChild_closure, G.SliverMultiBoxAdaptorElement_removeChild_closure, S.Table_closure, S.Table_closure0, S._TableElement_mount_closure, S._TableElement_mount__closure, S._TableElement_update_closure, S._TableElement_update_closure0, S._TableElement__updateRenderObjectChildren_closure, S._TableElement__updateRenderObjectChildren__closure, S._TableElement_visitChildren_closure, L.DefaultTextStyle_merge_closure, F.TextSelectionOverlay_showHandles_closure, F.TextSelectionOverlay_showHandles_closure0, F.TextSelectionOverlay__buildHandle_closure, F._TextSelectionGestureDetectorState_build_closure, F._TextSelectionGestureDetectorState_build_closure0, F._TextSelectionGestureDetectorState_build_closure1, F._TextSelectionGestureDetectorState_build_closure2, F._TextSelectionGestureDetectorState_build_closure3, F._TextSelectionGestureDetectorState_build_closure4, F._TextSelectionGestureDetectorState_build_closure5, F._TextSelectionGestureDetectorState_build_closure6, K._AnimatedState__handleChange_closure, Z._TweenAnimationBuilderState_forEachTween_closure, N._ValueListenableBuilderState__valueChanged_closure, U._ConsumerState__reader_closure, T._ProviderListenerState__mayHaveChanged_closure, D.Registrar_send_closure, G.get_closure, G.BaseRequest_closure, G.BaseRequest_closure0, O.BrowserClient_send_closure, O.BrowserClient_send_closure0, Z.ByteStream_toBytes_closure, B.mapToQuery_closure, B.mapToQuery_closure0, Z.CaseInsensitiveMap$from_closure, R.MediaType_MediaType$parse_closure, R.MediaType_toString_closure, R.MediaType_toString__closure, N.expectQuotedString_closure, L.BmpInfo_readPalette_closure, E.BmpDecoder_decodeFrame_closure, S.ExrPart_closure, X.IcoInfo__read_closure, Y.JpegData__readSOS_closure, G.PngDecoder_decodeFrame_closure, A.VP8__upsample_LOAD_UV, A.hdrToImage__knee, A.hdrToImage__gamma, A.DateFormat_dateTimeConstructor_closure, A.DateFormat__fieldConstructors_closure, A.DateFormat__fieldConstructors_closure0, A.DateFormat__fieldConstructors_closure1, S._CompactNumberFormat__CompactNumberFormat_closure, S.NumberFormat_NumberFormat$decimalPattern_closure, F.Logger_Logger_closure, D._NestedHookElement_injectedChild_closure, D._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure, D.__NestedElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure, M.Context_joinAll_closure, M.Context_split_closure, M._validateArgList_closure, X.ParsedPath__splitExtension_closure, X.ParsedPath__splitExtension_closure0, L.WindowsStyle_absolutePathToUri_closure, O.Pool__runOnRelease_closure, O.Pool__runOnRelease_closure0, Y.InheritedProvider_buildWithChild_closure, Y._InheritedProviderScopeElement_updateDependencies_closure, Y.Provider_closure, Y.Provider__inheritedElementOf_closure, Y.Provider_debugCheckInvalidValueType_closure, R.AsyncValue_data_closure, R.AsyncValue_data_closure1, R.AsyncValue_data_closure0, R.CreatedProvider_closure, R.AutoDisposeCreatedProvider_closure, L._AutoDisposer_scheduleDispose_closure, L.ProviderBase_toString_closure, L.ProviderBase_toString_closure0, L.ProviderElement_watch_closure, L.ProviderElement_listen_closure0, L.ProviderElement_listen_closure, L.ProviderContainer_readProviderElement_closure, L.ProviderContainer__visitStatesInOrder_closure, L.ProviderContainer__visitStatesInOrder_closure0, L.Family_call_closure, F._FutureProviderStateMixin_valueChanged_closure, F._FutureProviderStateMixin_valueChanged_closure0, F.AutoDisposeFutureProviderFamily_create_closure, F.FutureProviderFamily_create_closure, Y.AutoDisposeProviderFamily_create_closure, O._AutoDisposeNotifierProvider_closure, O.AutoDisposeStateNotifierProviderFamily_create_closure, O._AutoDisposeNotifierFamily_create_closure, F._StateProviderStateMixin_valueChanged_closure, F.StateProviderFamily_closure, F.StateProviderFamily_create_closure, T._StreamProviderStateMixin_valueChanged_closure, T._StreamProviderStateMixin_valueChanged_closure1, T._StreamProviderStateMixin_valueChanged_closure0, T._readLast_closure, T._readLast_closure1, T._readLast__closure, T._readLast__closure1, T._readLast__closure0, T._readLast__closure2, T._readLast_closure0, T._CreatedStreamProvider_closure, T.AutoDisposeStreamProviderFamily_create_closure, T.StreamProvider_last_closure, U.Highlighter_closure, U.Highlighter$__closure, U.Highlighter$___closure, U.Highlighter$__closure0, U.Highlighter__collateLines_closure, U.Highlighter__collateLines_closure0, U.Highlighter__collateLines_closure1, U.Highlighter__collateLines__closure, U.Highlighter_highlight_closure, U.Highlighter__writeFileStart_closure, U.Highlighter__writeMultilineHighlights_closure, U.Highlighter__writeMultilineHighlights_closure0, U.Highlighter__writeMultilineHighlights_closure1, U.Highlighter__writeMultilineHighlights_closure2, U.Highlighter__writeMultilineHighlights__closure, U.Highlighter__writeMultilineHighlights__closure0, U.Highlighter__writeHighlightedText_closure, U.Highlighter__writeIndicator_closure, U.Highlighter__writeIndicator_closure0, U.Highlighter__writeIndicator_closure1, U.Highlighter__writeSidebar_closure, U._Highlight_closure, M.SseClient_closure, M.SseClient_closure0, M.SseClient_closure1, M.SseClient__closure, M.SseClient__onOutgoingMessage_closure, T.generateUuidV4__generateBits, T.generateUuidV4__printDigits, T.generateUuidV4__bitsDigits, U.Chain_Chain$parse_closure, U.Chain_Chain$parse_closure0, U.Chain_Chain$parse_closure1, U.Chain_toTrace_closure, U.Chain_toString_closure0, U.Chain_toString__closure0, U.Chain_toString_closure, U.Chain_toString__closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$parseV8_closure_parseLocation, A.Frame_Frame$_parseFirefoxEval_closure, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, T.LazyTrace_terse_closure, Y.Trace_Trace$from_closure, Y.Trace__parseVM_closure, Y.Trace__parseVM_closure0, Y.Trace$parseV8_closure, Y.Trace$parseV8_closure0, Y.Trace$parseJSCore_closure, Y.Trace$parseJSCore_closure0, Y.Trace$parseFirefox_closure, Y.Trace$parseFirefox_closure0, Y.Trace$parseFriendly_closure, Y.Trace$parseFriendly_closure0, Y.Trace_terse_closure, Y.Trace_foldFrames_closure, Y.Trace_foldFrames_closure0, Y.Trace_toString_closure0, Y.Trace_toString_closure, L.StateNotifier_addListener_closure, K.GuaranteeChannel_closure, K.GuaranteeChannel__closure, K._GuaranteeSink__addError_closure, K._GuaranteeSink_addStream_closure, A.hashObjects_closure, Q.HttpProfile$_fromJson_closure, Q.HttpProfileRequestData$_fromJson_closure, M.HeapSnapshotGraph_getSnapshot_closure, Q.createServiceObject_closure, Q._createSpecificObject_closure, Q.VmService_closure, Q.VmService_dispose_closure, Q.AllocationProfile_toJson_closure, Q.Class_toJson_closure, Q.Class_toJson_closure0, Q.Class_toJson_closure1, Q.Class_toJson_closure2, Q.ClassList_toJson_closure, Q.Context_toJson_closure, Q.CpuSamples_toJson_closure, Q.CpuSamples_toJson_closure0, Q.CpuSample_toJson_closure, Q.Event_toJson_closure, Q.Event_toJson_closure0, Q.Event_toJson_closure1, Q.FlagList_toJson_closure, Q.Frame_toJson_closure, Q.Instance_toJson_closure, Q.Instance_toJson_closure0, Q.Instance_toJson_closure1, Q.Isolate_toJson_closure, Q.Isolate_toJson_closure0, Q.Isolate_toJson_closure1, Q.Isolate_toJson_closure2, Q.IsolateGroup_toJson_closure, Q.InboundReferences_toJson_closure, Q.InstanceSet_toJson_closure, Q.Library_toJson_closure, Q.Library_toJson_closure0, Q.Library_toJson_closure1, Q.Library_toJson_closure2, Q.Library_toJson_closure3, Q.PortList_toJson_closure, Q.ProtocolList_toJson_closure, Q.ProcessMemoryItem_toJson_closure, Q.RetainingPath_toJson_closure, Q.Script$_fromJson_closure, Q.Script_toJson_closure, Q.ScriptList_toJson_closure, Q.SourceReport_toJson_closure, Q.SourceReport_toJson_closure0, Q.SourceReportCoverage_toJson_closure, Q.SourceReportCoverage_toJson_closure0, Q.SourceReportRange_toJson_closure, Q.Stack_toJson_closure, Q.Stack_toJson_closure0, Q.Stack_toJson_closure1, Q.Stack_toJson_closure2, Q.Timeline_toJson_closure, Q.TimelineFlags_toJson_closure, Q.TimelineFlags_toJson_closure0, Q.TypeArguments_toJson_closure, Q.VM_toJson_closure, Q.VM_toJson_closure0, Q.VM_toJson_closure1, Q.VM_toJson_closure2, A.CallGraph_collapse_collapsed, A.CallGraph_collapse_callGraphNodeFor, A.CallGraph_collapse_callGraphNodeFor_closure, A.CallGraph_collapse_closure, A.CallGraph_computeDominators_closure1, A.CallGraph_computeDominators__closure, A.CallGraph_computeDominators_closure0, A.CallGraph_computeDominators__closure0, A.CallGraph_computeDominators_closure, A._TraceReader_readTrace_next, A._TraceReader_readTrace_makeNode, A._TraceReader_readTrace_makeCallNode, A._TraceReader_readTrace_makeCallNode_closure, 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._TraceReader_readTrace_readRef, A._TraceReader_readTrace_readRefs, A._TraceReader_readTrace_readEvents, D.ProgramInfo_makeNode_closure, D.computeDiff_recurse, R.computeDominators_dfs, R.computeDominators_compressPath, N._treemapFromInfo_cumulativeSize, N._treemapFromInfo_cumulativeSize_closure, N._treemapFromInfo_recurse, N._treemapFromSnapshot_ownerPath, N._nameFormatters_closure, N._nameFormatters_closure0, N._addChild_closure, N._flatten_closure, A.Node_operator$index_closure, A.Node_operator$index_closure0, A._ProgramInfoBuilder_packageOwner_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.HtmlWebSocketChannel__listen_closure]);
    _inherit(H._CanvasPool, H._SaveStackTracking);
    _inherit(H.RecordingCkCanvas, H.CkCanvas);
    _inheritMany(H.CkPaintCommand, [H.CkSaveCommand, H.CkRestoreCommand, H.CkRestoreToCountCommand, H.CkTranslateCommand, H.CkScaleCommand, H.CkRotateCommand, H.CkTransformCommand, H.CkClipRectCommand, H.CkDrawArcCommand, H.CkClipRRectCommand, H.CkClipPathCommand, H.CkDrawLineCommand, H.CkDrawPaintCommand, H.CkDrawRectCommand, H.CkDrawRRectCommand, H.CkDrawDRRectCommand, H.CkDrawOvalCommand, H.CkDrawCircleCommand, H.CkDrawPathCommand, H.CkDrawShadowCommand, H.CkDrawImageRectCommand, H.CkDrawParagraphCommand, H.CkDrawPictureCommand, H.CkSaveLayerCommand]);
    _inheritMany(J.Interceptor, [J.JavaScriptObject, J.JSBool, J.JSNull, J.JSArray, J.JSNumber, J.JSString, H.NativeByteBuffer, H.NativeTypedData, W.EventTarget, W.AccessibleNodeList, W.AnimationEffectTimingReadOnly, W.Event0, W.Blob, W.Body, W.CacheStorage, W.CanvasRenderingContext2D, W.Credential, W.CredentialUserData, W.CssRule, W.CssStyleValue, W.CssTransformComponent, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.StyleSheet, W.DataTransferItem, W.DataTransferItemList, W.ReportBody, W.DomError, W.DomException, W._DomRectList_Interceptor_ListMixin, W.DomRectReadOnly, W._DomStringList_Interceptor_ListMixin, W.DomTokenList, W.Entry, W._FileList_Interceptor_ListMixin, W.FileSystem, W.FontFace, W.Gamepad, W.History, W._HtmlCollection_Interceptor_ListMixin, W.ImageData, W.Location, W.MediaDeviceInfo, W.MediaError, W.MediaList, W._MidiInputMap_Interceptor_MapMixin, W._MidiOutputMap_Interceptor_MapMixin, W.MimeType, W._MimeTypeArray_Interceptor_ListMixin, W.NavigatorUserMediaError, W._NodeList_Interceptor_ListMixin, W.OverconstrainedError, W.PaymentInstruments, W.PerformanceEntry, W.PerformanceServerTiming, W.Permissions, W.Plugin, W._PluginArray_Interceptor_ListMixin, W.PositionError, W.PushMessageData, W.Range0, W._RtcStatsReport_Interceptor_MapMixin, W.SpeechGrammar, W._SpeechGrammarList_Interceptor_ListMixin, W.SpeechRecognitionResult, W.SpeechSynthesisVoice, W._Storage_Interceptor_MapMixin, W._TextTrackCueList_Interceptor_ListMixin, W.TimeRanges, W.Touch, W._TouchList_Interceptor_ListMixin, W.TrackDefaultList, W.UnderlyingSourceBase, W.Url, W.VideoTrack, W.VttRegion, W.__CssRuleList_Interceptor_ListMixin, W.__GamepadList_Interceptor_ListMixin, W.__NamedNodeMap_Interceptor_ListMixin, W.__SpeechRecognitionResultList_Interceptor_ListMixin, W.__StyleSheetList_Interceptor_ListMixin, P.Index, P.KeyRange, P.ObjectStore, P.Length, P._LengthList_Interceptor_ListMixin, P.Number, P._NumberList_Interceptor_ListMixin, P.PointList, P.Rect0, P._StringList_Interceptor_ListMixin, P.Transform0, P._TransformList_Interceptor_ListMixin, P.AudioBuffer, P._AudioParamMap_Interceptor_MapMixin, P.AudioTrack, P.ActiveInfo, P.SqlDatabase, P.SqlError, P._SqlResultSetRowList_Interceptor_ListMixin]);
    _inheritMany(J.JavaScriptObject, [H.CanvasKit, H.CanvasKitInitOptions, H.CanvasKitInitPromise, H.ColorSpace, H.SkWebGLContextOptions, H.SkSurface, H.SkGrContext, H.SkFontSlantEnum, H.SkFontSlant, H.SkFontWeightEnum, H.SkFontWeight, H.SkAffinityEnum, H.SkAffinity, H.SkTextDirectionEnum, H.SkTextDirection, H.SkTextAlignEnum, H.SkTextAlign, H.SkTextHeightBehaviorEnum, H.SkTextHeightBehavior, H.SkRectHeightStyleEnum, H.SkRectHeightStyle, H.SkRectWidthStyleEnum, H.SkRectWidthStyle, H.SkVertexModeEnum, H.SkVertexMode, H.SkPointModeEnum, H.SkPointMode, H.SkClipOpEnum, H.SkClipOp, H.SkFillTypeEnum, H.SkFillType, H.SkPathOpEnum, H.SkPathOp, H.SkBlurStyleEnum, H.SkBlurStyle, H.SkStrokeCapEnum, H.SkStrokeCap, H.SkPaintStyleEnum, H.SkPaintStyle, H.SkBlendModeEnum, H.SkBlendMode, H.SkStrokeJoinEnum, H.SkStrokeJoin, H.SkFilterQualityEnum, H.SkFilterQuality, H.SkTileModeEnum, H.SkTileMode, H.SkFilterModeEnum, H.SkFilterMode, H.SkMipmapModeEnum, H.SkMipmapMode, H.SkAlphaTypeEnum, H.SkAlphaType, H.SkColorTypeEnum, H.SkColorType, H.SkAnimatedImage, H.SkImage, H.SkShaderNamespace, H.SkShader, H.SkMaskFilterNamespace, H.SkPaint, H.SkMaskFilter, H.SkColorFilterNamespace, H.SkColorFilter, H.SkImageFilterNamespace, H.SkImageFilter, H.SkPathNamespace, H._NativeFloat32ArrayType, H.SkFloat32List, H.SkPath, H.SkContourMeasureIter, H.SkContourMeasure, H.SkPictureRecorder, H.SkCanvas, H.SkPicture, H.SkParagraphBuilderNamespace, H.SkParagraphBuilder, H.SkParagraphStyle, H.SkParagraphStyleProperties, H.SkTextStyle, H.SkTextDecorationStyleEnum, H.SkTextDecorationStyle, H.SkTextBaselineEnum, H.SkTextBaseline, H.SkPlaceholderAlignmentEnum, H.SkPlaceholderAlignment, H.SkTextStyleProperties, H.SkStrutStyleProperties, H.SkFontStyle, H.SkTextShadow, H.SkFontFeature, H.SkTypeface, H.SkFont, H.SkFontMgr, H.SkLineMetrics, H.SkParagraph, H.SkTextPosition, H.SkTextRange, H.SkVertices, H.SkTonalColors, H.SkFontMgrNamespace, H.TypefaceFontProviderNamespace, H.SkDeletable, H.JsConstructor, H.SkObjectFinalizationRegistry, H.SkData, H.SkImageInfo, H.JsUrlStrategy, J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, F.GtagEvent, F.GtagException, L.JsUrlStrategy0]);
    _inherit(H.TypefaceFontProvider, H.SkFontMgr);
    _inheritMany(H.SkiaObject, [H.ManagedSkiaObject, H.SkiaObjectBox, H.CkParagraph]);
    _inheritMany(H.ManagedSkiaObject, [H.ManagedSkColorFilter, H.CkAnimatedImage, H.CkMaskFilter, H.CkPaint, H.CkPath, H.CkPicture, H.CkShader]);
    _inherit(H.CkBlendModeColorFilter, H.CkColorFilter);
    _inheritMany(P.Iterable, [H.MutatorsStack, H._CastIterableBase, H.EfficientLengthIterable, H.MappedIterable, H.WhereIterable, H.ExpandIterable, H.TakeIterable, H.SkipIterable, H.SkipWhileIterable, H.FollowedByIterable, H.WhereTypeIterable, H._ConstantMapKeyIterable, P.IterableBase, H._StringAllMatchesIterable, P.LinkedList, P.DoubleLinkedQueue, P.Runes, T.StringCharacters, R.ObserverList, R.HashedObserverList]);
    _inheritMany(H.Layer, [H.ContainerLayer, H.PictureLayer0]);
    _inheritMany(H.ContainerLayer, [H.RootLayer, H.ClipPathEngineLayer, H.ClipRectEngineLayer, H.ClipRRectEngineLayer, H.OpacityEngineLayer, H.TransformEngineLayer, H.PhysicalShapeEngineLayer]);
    _inherit(H.OffsetEngineLayer, H.TransformEngineLayer);
    _inherit(H.CkGradientLinear, H.CkShader);
    _inheritMany(P.Error0, [H.CanvasKitError, H.LateError, H.ReachabilityError, H.NotNullableError, P.TypeError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.RuntimeError, H._Error, P.JsonUnsupportedObjectError, P.AssertionError, P.NullThrownError, P.ArgumentError, P.FallThroughError, P.NoSuchMethodError, P.UnsupportedError, P.UnimplementedError, P.StateError, P.ConcurrentModificationError, P.CyclicInitializationError, U._FlutterError_Error_DiagnosticableTreeMixin, L.CircularDependencyError]);
    _inheritMany(H.EngineCanvas, [H.BitmapCanvas, H._DomCanvas_EngineCanvas_SaveElementStackTracking]);
    _inheritMany(H.PersistedSurface, [H.PersistedContainerSurface, H.PersistedLeafSurface]);
    _inheritMany(H.PersistedContainerSurface, [H._PersistedClipRect_PersistedContainerSurface__DomClip, H._PersistedClipRRect_PersistedContainerSurface__DomClip, H._PersistedPhysicalShape_PersistedContainerSurface__DomClip, H.PersistedClipPath, H.PersistedOffset, H.PersistedOpacity, H.PersistedScene, H.PersistedTransform]);
    _inherit(H.PersistedClipRect, H._PersistedClipRect_PersistedContainerSurface__DomClip);
    _inherit(H.PersistedClipRRect, H._PersistedClipRRect_PersistedContainerSurface__DomClip);
    _inherit(H.PersistedPhysicalShape, H._PersistedPhysicalShape_PersistedContainerSurface__DomClip);
    _inherit(H.DomCanvas, H._DomCanvas_EngineCanvas_SaveElementStackTracking);
    _inherit(H.PersistedPicture, H.PersistedLeafSurface);
    _inheritMany(H.PaintCommand, [H.DrawCommand, H.PaintSave, H.PaintRestore, H.PaintTranslate, H.PaintScale, H.PaintRotate, H.PaintTransform]);
    _inheritMany(H.DrawCommand, [H.PaintClipRect, H.PaintClipRRect, H.PaintClipPath, H.PaintDrawLine, H.PaintDrawRect, H.PaintDrawRRect, H.PaintDrawDRRect, H.PaintDrawOval, H.PaintDrawCircle, H.PaintDrawPath, H.PaintDrawShadow, H.PaintDrawImageRect, H.PaintDrawParagraph]);
    _inherit(H.GradientLinear, H.EngineGradient);
    _inherit(H.HtmlBlobCodec, H.HtmlCodec);
    _inheritMany(H.BrowserHistory, [H.MultiEntriesBrowserHistory, H.SingleEntryBrowserHistory]);
    _inheritMany(H.UrlStrategy, [H.HashUrlStrategy, H.CustomUrlStrategy]);
    _inherit(H.BrowserPlatformLocation, H.PlatformLocation);
    _inherit(H.EnginePlatformDispatcher, P.PlatformDispatcher);
    _inheritMany(H._BaseAdapter, [H.__PointerAdapter__BaseAdapter__WheelEventListenerMixin, H._TouchAdapter, H.__MouseAdapter__BaseAdapter__WheelEventListenerMixin]);
    _inherit(H._PointerAdapter, H.__PointerAdapter__BaseAdapter__WheelEventListenerMixin);
    _inherit(H._MouseAdapter, H.__MouseAdapter__BaseAdapter__WheelEventListenerMixin);
    _inheritMany(H.RoleManager, [H.Checkable, H.ImageRoleManager, H.Incrementable, H.LabelAndValue, H.LiveRegion, H.Scrollable, H.Tappable, H.TextField]);
    _inheritMany(H.SemanticsEnabler, [H.DesktopSemanticsEnabler, H.MobileSemanticsEnabler]);
    _inheritMany(H.DefaultTextEditingStrategy, [H.SemanticsTextEditingStrategy, H.GloballyPositionedTextEditingStrategy, H.SafariDesktopTextEditingStrategy]);
    _inherit(P.ListBase, P._ListBase_Object_ListMixin);
    _inheritMany(P.ListBase, [H._TypedDataBuffer, H.UnmodifiableListBase, W._ChildrenElementList, W._FrozenElementList, W._ChildNodeListLazy, P.FilteredElementList, E.TypedDataBuffer]);
    _inherit(H._IntBuffer, H._TypedDataBuffer);
    _inherit(H.Uint8Buffer0, H._IntBuffer);
    _inheritMany(H.StyleNode, [H.ChildStyleNode, H.RootStyleNode]);
    _inherit(H._PolyfillFontManager, H.FontManager);
    _inheritMany(H.RangeBox, [H.PlaceholderBox, H.SpanBox]);
    _inherit(H.RulerManager, H.RulerHost);
    _inheritMany(H.TextMeasurementService, [H.DomTextMeasurementService, H.CanvasTextMeasurementService]);
    _inheritMany(H.EngineInputType, [H.TextInputType0, H.NumberInputType, H.DecimalInputType, H.PhoneInputType, H.EmailInputType, H.UrlInputType, H.MultilineInputType]);
    _inheritMany(H.GloballyPositionedTextEditingStrategy, [H.IOSTextEditingStrategy, H.AndroidTextEditingStrategy, H.FirefoxTextEditingStrategy]);
    _inheritMany(H.TextInputCommand, [H.TextInputSetClient, H.TextInputUpdateConfig, H.TextInputSetEditingState, H.TextInputShow, H.TextInputSetEditableSizeAndTransform, H.TextInputSetStyle, H.TextInputClearClient, H.TextInputHide, H.TextInputSetMarkedTextRect, H.TextInputSetCaretRect, H.TextInputFinishAutofillContext]);
    _inherit(P.FlutterWindow, P.FlutterView);
    _inherit(P.SingletonFlutterWindow, P.FlutterWindow);
    _inherit(H.EngineFlutterWindow, P.SingletonFlutterWindow);
    _inherit(H.EngineSingletonFlutterWindow, H.EngineFlutterWindow);
    _inherit(J.JSUnmodifiableArray, J.JSArray);
    _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]);
    _inheritMany(P.Stream, [H.CastStream, P._StreamImpl, P.StreamView, P._AsBroadcastStream, P._EmptyStream, P._ForwardingStream, W._EventStream, Y._CompleterStream, T.SubscriptionStream]);
    _inheritMany(P.StreamTransformerBase, [H.CastStreamTransformer, P.Converter]);
    _inheritMany(P.Converter, [H.CastConverter, P._UnicodeSubsetEncoder, P._UnicodeSubsetDecoder, P.Base64Encoder, P.Base64Decoder, P.JsonEncoder, P.JsonDecoder, P.Utf8Encoder, P.Utf8Decoder]);
    _inheritMany(H._CastIterableBase, [H.CastIterable, H.__CastListBase__CastIterableBase_ListMixin, H.CastSet, H.CastQueue]);
    _inherit(H._EfficientLengthCastIterable, H.CastIterable);
    _inherit(H._CastListBase, H.__CastListBase__CastIterableBase_ListMixin);
    _inherit(H.CastList, H._CastListBase);
    _inherit(P.MapBase, P.MapMixin);
    _inheritMany(P.MapBase, [H.CastMap, P.UnmodifiableMapBase, H.JsLinkedHashMap, P._HashMap, P._JsonMap, W._AttributeMap]);
    _inheritMany(H.UnmodifiableListBase, [H.CodeUnits, P.UnmodifiableListView]);
    _inheritMany(H.EfficientLengthIterable, [H.ListIterable, H.EmptyIterable, H.LinkedHashMapKeyIterable, P._HashMapKeyIterable, P._MapBaseValueIterable, P._SplayTreeKeyIterable, P._SplayTreeValueIterable, P._SplayTreeMapEntryIterable]);
    _inheritMany(H.ListIterable, [H.SubListIterable, H.MappedListIterable, H._ListIndicesIterable, H.ReversedListIterable, P.ListQueue, P._JsonMapKeyIterable, P._GeneratorIterable]);
    _inherit(H.EfficientLengthMappedIterable, H.MappedIterable);
    _inheritMany(P.Iterator, [H.MappedIterator, H.WhereIterator, H.TakeIterator, H.SkipIterator, H.SkipWhileIterator]);
    _inherit(H.EfficientLengthTakeIterable, H.TakeIterable);
    _inherit(H.EfficientLengthSkipIterable, H.SkipIterable);
    _inherit(H.ListMapView, P.UnmodifiableMapBase);
    _inherit(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P.MapView);
    _inherit(P.UnmodifiableMapView, P._UnmodifiableMapView_MapView__UnmodifiableMapMixin);
    _inherit(H.ConstantMapView, P.UnmodifiableMapView);
    _inheritMany(H.ConstantMap, [H.ConstantStringMap, H.GeneralConstantMap]);
    _inherit(H.Instantiation1, H.Instantiation);
    _inherit(H.NullError, P.TypeError);
    _inheritMany(H.TearOffClosure, [H.StaticClosure, H.BoundClosure]);
    _inheritMany(P.IterableBase, [H._AllMatchesIterable, P._SyncStarIterable]);
    _inherit(H._NativeFloat32x4List_Object_ListMixin_FixedLengthListMixin, H._NativeFloat32x4List_Object_ListMixin);
    _inherit(H.NativeFloat32x4List, H._NativeFloat32x4List_Object_ListMixin_FixedLengthListMixin);
    _inherit(H._NativeInt32x4List_Object_ListMixin_FixedLengthListMixin, H._NativeInt32x4List_Object_ListMixin);
    _inherit(H.NativeInt32x4List, H._NativeInt32x4List_Object_ListMixin_FixedLengthListMixin);
    _inherit(H._NativeFloat64x2List_Object_ListMixin_FixedLengthListMixin, H._NativeFloat64x2List_Object_ListMixin);
    _inherit(H.NativeFloat64x2List, H._NativeFloat64x2List_Object_ListMixin_FixedLengthListMixin);
    _inheritMany(H.NativeTypedData, [H.NativeByteData, H.NativeTypedArray]);
    _inheritMany(H.NativeTypedArray, [H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]);
    _inherit(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin);
    _inherit(H.NativeTypedArrayOfDouble, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin);
    _inherit(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin);
    _inherit(H.NativeTypedArrayOfInt, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin);
    _inheritMany(H.NativeTypedArrayOfDouble, [H.NativeFloat32List, H.NativeFloat64List]);
    _inheritMany(H.NativeTypedArrayOfInt, [H.NativeInt16List, H.NativeInt32List, H.NativeInt8List, H.NativeUint16List, H.NativeUint32List, H.NativeUint8ClampedList, H.NativeUint8List]);
    _inherit(H._TypeError, H._Error);
    _inheritMany(P._StreamImpl, [P._ControllerStream, P._GeneratedStreamImpl]);
    _inherit(P._BroadcastStream, P._ControllerStream);
    _inheritMany(P._BufferingStreamSubscription, [P._ControllerSubscription, P._ForwardingStreamSubscription]);
    _inherit(P._BroadcastSubscription, P._ControllerSubscription);
    _inheritMany(P._BroadcastStreamController, [P._SyncBroadcastStreamController, P._AsyncBroadcastStreamController]);
    _inherit(P._AsBroadcastStreamController, P._SyncBroadcastStreamController);
    _inheritMany(P._Completer, [P._AsyncCompleter, P._SyncCompleter]);
    _inheritMany(P._StreamController, [P._AsyncStreamController, P._SyncStreamController]);
    _inherit(P._StreamControllerAddStreamState, P._AddStreamState);
    _inheritMany(P._PendingEvents, [P._IterablePendingEvents, P._StreamImplEvents]);
    _inheritMany(P._DelayedEvent, [P._DelayedData, P._DelayedError]);
    _inheritMany(P._ForwardingStream, [P._WhereStream, P._MapStream, P._HandleErrorStream]);
    _inheritMany(P._Zone, [P._CustomZone, P._RootZone]);
    _inheritMany(P._HashMap, [P._IdentityHashMap, P._CustomHashMap]);
    _inheritMany(H.JsLinkedHashMap, [P._LinkedIdentityHashMap, P._LinkedCustomHashMap]);
    _inherit(P._SetBase, P.__SetBase_Object_SetMixin);
    _inheritMany(P._SetBase, [P._HashSet, P._LinkedHashSet, P.__UnmodifiableSet__SetBase__UnmodifiableSetMixin]);
    _inherit(P.DoubleLinkedQueueEntry, P._DoubleLink);
    _inherit(P._DoubleLinkedQueueEntry, P.DoubleLinkedQueueEntry);
    _inheritMany(P._DoubleLinkedQueueEntry, [P._DoubleLinkedQueueElement, P._DoubleLinkedQueueSentinel]);
    _inherit(P._UnmodifiableSet, P.__UnmodifiableSet__SetBase__UnmodifiableSetMixin);
    _inheritMany(P._SplayTreeNode, [P._SplayTreeSetNode, P._SplayTreeMapNode]);
    _inheritMany(P._SplayTree, [P._SplayTreeMap__SplayTree_MapMixin, P._SplayTreeSet__SplayTree_IterableMixin]);
    _inherit(P.SplayTreeMap, P._SplayTreeMap__SplayTree_MapMixin);
    _inheritMany(P._SplayTreeIterator, [P._SplayTreeKeyIterator, P._SplayTreeValueIterator, P._SplayTreeMapEntryIterator]);
    _inherit(P._SplayTreeSet__SplayTree_IterableMixin_SetMixin, P._SplayTreeSet__SplayTree_IterableMixin);
    _inherit(P.SplayTreeSet, P._SplayTreeSet__SplayTree_IterableMixin_SetMixin);
    _inheritMany(P.Codec0, [P.Encoding, P.Base64Codec, P.JsonCodec]);
    _inheritMany(P.Encoding, [P.AsciiCodec, P.Latin1Codec, P.Utf8Codec]);
    _inheritMany(P._UnicodeSubsetEncoder, [P.AsciiEncoder, P.Latin1Encoder]);
    _inheritMany(P._UnicodeSubsetDecoder, [P.AsciiDecoder, P.Latin1Decoder]);
    _inherit(P.ByteConversionSink, P.ChunkedConversionSink);
    _inherit(P.ByteConversionSinkBase, P.ByteConversionSink);
    _inherit(P._ByteCallbackSink, P.ByteConversionSinkBase);
    _inherit(P.JsonCyclicError, P.JsonUnsupportedObjectError);
    _inherit(P._JsonStringStringifier, P._JsonStringifier);
    _inherit(P.__JsonStringStringifierPretty__JsonStringStringifier__JsonPrettyPrintMixin, P._JsonStringStringifier);
    _inherit(P._JsonStringStringifierPretty, P.__JsonStringStringifierPretty__JsonStringStringifier__JsonPrettyPrintMixin);
    _inheritMany(P.ArgumentError, [P.RangeError, P.IndexError]);
    _inherit(P._DataUri, P._Uri);
    _inheritMany(W.EventTarget, [W.Node0, W.AccessibleNode, W.BatteryManager, W.BroadcastChannel, W.EventSource, W.FileReader, W.FileWriter, W.FontFaceSet, W.HttpRequestEventTarget, W.MediaKeySession, W.MediaQueryList, W.MediaRecorder, W.MediaSource, W.MediaStreamTrack, W.MessagePort, W.MidiPort, W.OffscreenCanvas, W.PermissionStatus, W.PresentationConnection, W.PresentationRequest, W.RtcDtmfSender, W.ScreenOrientation, W.Sensor, W.WorkerGlobalScope, W.SourceBuffer, W._SourceBufferList_EventTarget_ListMixin, W.SpeechRecognition, W.SpeechSynthesisUtterance, W.TextTrack, W.TextTrackCue, W._TextTrackList_EventTarget_ListMixin, W.VRSession, W.VideoTrackList, W.WebSocket0, W.Window, P.Database, P.AudioNode, P.AudioTrackList, P.BaseAudioContext]);
    _inheritMany(W.Node0, [W.Element, W.CharacterData, W.Document, W.DocumentFragment, W._Attr]);
    _inheritMany(W.Element, [W.HtmlElement, P.SvgElement]);
    _inheritMany(W.HtmlElement, [W.AnchorElement, W.AreaElement, W.BaseElement, W.BodyElement, W.ButtonElement, W.CanvasElement, W.DivElement, W.EmbedElement, W.FieldSetElement, W.FormElement, W.IFrameElement, W.ImageElement, W.InputElement, W.LabelElement, W.MapElement, W.MediaElement, W.MetaElement, W.OListElement, W.ObjectElement, W.OptionElement, W.OutputElement, W.ParagraphElement, W.ParamElement, W.ScriptElement, W.SelectElement, W.SlotElement, W.SpanElement, W.StyleElement, W.TableElement, W.TableRowElement, W.TableSectionElement, W.TemplateElement, W.TextAreaElement, W.TrackElement]);
    _inherit(W.AnimationEffectTiming, W.AnimationEffectTimingReadOnly);
    _inheritMany(W.Event0, [W.ApplicationCacheErrorEvent, W.CloseEvent, W.ErrorEvent, W.UIEvent, W.MediaKeyMessageEvent, W.MediaQueryListEvent, W.MessageEvent, W.PresentationConnectionCloseEvent, W.ProgressEvent, W.RtcDataChannelEvent, W.SpeechRecognitionError, W.SpeechSynthesisEvent, P.VersionChangeEvent]);
    _inherit(W.CssKeyframesRule, W.CssRule);
    _inheritMany(W.CssStyleValue, [W.CssNumericValue, W.CssTransformValue, W.CssUnparsedValue]);
    _inherit(W.CssPerspective, W.CssTransformComponent);
    _inherit(W.CssStyleDeclaration, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase);
    _inherit(W.CssStyleSheet, W.StyleSheet);
    _inheritMany(W.ReportBody, [W.DeprecationReport, W.InterventionReport]);
    _inherit(W._DomRectList_Interceptor_ListMixin_ImmutableListMixin, W._DomRectList_Interceptor_ListMixin);
    _inherit(W.DomRectList, W._DomRectList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W._DomStringList_Interceptor_ListMixin_ImmutableListMixin, W._DomStringList_Interceptor_ListMixin);
    _inherit(W.DomStringList, W._DomStringList_Interceptor_ListMixin_ImmutableListMixin);
    _inheritMany(W.Credential, [W.FederatedCredential, W.PasswordCredential]);
    _inherit(W.File, W.Blob);
    _inherit(W._FileList_Interceptor_ListMixin_ImmutableListMixin, W._FileList_Interceptor_ListMixin);
    _inherit(W.FileList, W._FileList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W._HtmlCollection_Interceptor_ListMixin_ImmutableListMixin, W._HtmlCollection_Interceptor_ListMixin);
    _inherit(W.HtmlCollection, W._HtmlCollection_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W.HttpRequest, W.HttpRequestEventTarget);
    _inheritMany(W.UIEvent, [W.KeyboardEvent, W.MouseEvent, W.TouchEvent]);
    _inherit(W.MidiInputMap, W._MidiInputMap_Interceptor_MapMixin);
    _inherit(W.MidiOutputMap, W._MidiOutputMap_Interceptor_MapMixin);
    _inherit(W._MimeTypeArray_Interceptor_ListMixin_ImmutableListMixin, W._MimeTypeArray_Interceptor_ListMixin);
    _inherit(W.MimeTypeArray, W._MimeTypeArray_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W._NodeList_Interceptor_ListMixin_ImmutableListMixin, W._NodeList_Interceptor_ListMixin);
    _inherit(W.NodeList, W._NodeList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W._PluginArray_Interceptor_ListMixin_ImmutableListMixin, W._PluginArray_Interceptor_ListMixin);
    _inherit(W.PluginArray, W._PluginArray_Interceptor_ListMixin_ImmutableListMixin);
    _inheritMany(W.MouseEvent, [W.PointerEvent, W.WheelEvent]);
    _inherit(W.RtcStatsReport, W._RtcStatsReport_Interceptor_MapMixin);
    _inherit(W.SharedWorkerGlobalScope, W.WorkerGlobalScope);
    _inherit(W._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin, W._SourceBufferList_EventTarget_ListMixin);
    _inherit(W.SourceBufferList, W._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin);
    _inherit(W._SpeechGrammarList_Interceptor_ListMixin_ImmutableListMixin, W._SpeechGrammarList_Interceptor_ListMixin);
    _inherit(W.SpeechGrammarList, W._SpeechGrammarList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W.Storage, W._Storage_Interceptor_MapMixin);
    _inherit(W._TextTrackCueList_Interceptor_ListMixin_ImmutableListMixin, W._TextTrackCueList_Interceptor_ListMixin);
    _inherit(W.TextTrackCueList, W._TextTrackCueList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W._TextTrackList_EventTarget_ListMixin_ImmutableListMixin, W._TextTrackList_EventTarget_ListMixin);
    _inherit(W.TextTrackList, W._TextTrackList_EventTarget_ListMixin_ImmutableListMixin);
    _inherit(W._TouchList_Interceptor_ListMixin_ImmutableListMixin, W._TouchList_Interceptor_ListMixin);
    _inherit(W.TouchList, W._TouchList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W.VideoElement, W.MediaElement);
    _inherit(W.VttCue, W.TextTrackCue);
    _inherit(W.__CssRuleList_Interceptor_ListMixin_ImmutableListMixin, W.__CssRuleList_Interceptor_ListMixin);
    _inherit(W._CssRuleList, W.__CssRuleList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W._DomRect, W.DomRectReadOnly);
    _inherit(W.__GamepadList_Interceptor_ListMixin_ImmutableListMixin, W.__GamepadList_Interceptor_ListMixin);
    _inherit(W._GamepadList, W.__GamepadList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W.__NamedNodeMap_Interceptor_ListMixin_ImmutableListMixin, W.__NamedNodeMap_Interceptor_ListMixin);
    _inherit(W._NamedNodeMap, W.__NamedNodeMap_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W.__SpeechRecognitionResultList_Interceptor_ListMixin_ImmutableListMixin, W.__SpeechRecognitionResultList_Interceptor_ListMixin);
    _inherit(W._SpeechRecognitionResultList, W.__SpeechRecognitionResultList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W.__StyleSheetList_Interceptor_ListMixin_ImmutableListMixin, W.__StyleSheetList_Interceptor_ListMixin);
    _inherit(W._StyleSheetList, W.__StyleSheetList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(W._ElementAttributeMap, W._AttributeMap);
    _inherit(W._ElementEventStreamImpl, W._EventStream);
    _inherit(W._EventStreamSubscription, P.StreamSubscription);
    _inherit(W._TemplatingNodeValidator, W._SimpleNodeValidator);
    _inherit(P._StructuredCloneDart2Js, P._StructuredClone);
    _inherit(P._AcceptStructuredCloneDart2Js, P._AcceptStructuredClone);
    _inheritMany(P.JsObject, [P.JsFunction, P._JsArray_JsObject_ListMixin]);
    _inherit(P.JsArray, P._JsArray_JsObject_ListMixin);
    _inheritMany(P.SvgElement, [P.FEColorMatrixElement, P.ScriptElement0]);
    _inherit(P._LengthList_Interceptor_ListMixin_ImmutableListMixin, P._LengthList_Interceptor_ListMixin);
    _inherit(P.LengthList, P._LengthList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(P._NumberList_Interceptor_ListMixin_ImmutableListMixin, P._NumberList_Interceptor_ListMixin);
    _inherit(P.NumberList, P._NumberList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(P._StringList_Interceptor_ListMixin_ImmutableListMixin, P._StringList_Interceptor_ListMixin);
    _inherit(P.StringList, P._StringList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(P._TransformList_Interceptor_ListMixin_ImmutableListMixin, P._TransformList_Interceptor_ListMixin);
    _inherit(P.TransformList, P._TransformList_Interceptor_ListMixin_ImmutableListMixin);
    _inheritMany(P.OffsetBase, [P.Offset, P.Size]);
    _inherit(P.AudioScheduledSourceNode, P.AudioNode);
    _inherit(P.AudioBufferSourceNode, P.AudioScheduledSourceNode);
    _inherit(P.AudioParamMap, P._AudioParamMap_Interceptor_MapMixin);
    _inherit(P.OfflineAudioContext, P.BaseAudioContext);
    _inherit(P._SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin, P._SqlResultSetRowList_Interceptor_ListMixin);
    _inherit(P.SqlResultSetRowList, P._SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin);
    _inherit(R.ArchiveException, P.FormatException);
    _inherit(T.InputStream, T.InputStreamBase);
    _inherit(Q.OutputStream, Q.OutputStreamBase);
    _inherit(G._ZLibDecoder, Z.ZLibDecoderBase);
    _inherit(T._CancelOnErrorSubscriptionWrapper, Y.DelegatingStreamSubscription);
    _inherit(U.SetEquality, U._UnorderedEquality);
    _inherit(Q.QueueList, Q._QueueList_Object_ListMixin);
    _inherit(Q._CastQueueList, Q.QueueList);
    _inherit(A.XFile, R.XFileBase);
    _inheritMany(Q.Response0, [Z.StreamHistory, Q.SocketProfile, Q._State, Q.HttpProfile, Q.SpawnedProcess, Q.SpawnedProcessList, Q.OpenFile, Q.OpenFileList, Q.AllocationProfile, Q.BoundVariable, Q.Obj, Q.ObjRef, Q.ClassHeapStats, Q.ClassList, Q.CpuSamples, Q.Event, Q.FlagList, Q.Frame1, Q.IsolateRef, Q.Isolate, Q.IsolateGroupRef, Q.IsolateGroup, Q.InboundReferences, Q.InstanceSet, Q.LogRecord, Q.MemoryUsage, Q.Message, Q.PortList, Q.ProtocolList, Q.ProcessMemoryUsage, Q.ReloadReport, Q.RetainingPath, Q.Sentinel, Q.ScriptList, Q.SourceLocation0, Q.SourceReport, Q.Stack0, Q.Success, Q.Timeline, Q.TimelineFlags, Q.Timestamp, Q.UnresolvedSourceLocation, Q.Version, Q.VMRef, Q.VM]);
    _inherit(F.GtagEventDevTools, F.GtagEvent);
    _inherit(F.GtagExceptionDevTools, F.GtagException);
    _inherit(Y.DiagnosticableTree, Y._DiagnosticableTree_Object_Diagnosticable);
    _inheritMany(Y.DiagnosticableTree, [N.Widget, M.RemoteDiagnosticsNode, N.Element0, G.InlineSpan, A.SemanticsProperties]);
    _inheritMany(N.Widget, [N.StatefulWidget, N.StatelessWidget, N.ProxyWidget, N.RenderObjectWidget, S._NullWidget0, N._NullWidget]);
    _inheritMany(N.StatefulWidget, [G.AnalyticsPrompt, S.DevToolsApp, R.AppSizeBody, R.AnalysisView, R.DiffView, O.CallGraphWithDominators, O.CallGraphView, U.Chart, S.FlameChart, S.ScrollingFlameChartRow, E.Treemap, V.DragAndDrop, G._ConsoleOutput, F.CustomPointerScrollable, F.Breakpoints, N.CallStack, K.CodeView, K.Lines, K.LineItem, G.DebuggerConsole, K.DebuggingControls, A.DebuggerScreenBody, A.DebuggerStatus, A.FloatingDebuggerControls, R.ExpressionEvalField, Z.ScriptPicker, F.VMFlagsDialog, D.FileImportContainer, D.DualFileImportContainer, B.Initializer, B.InspectorScreenBody, D.InspectorDetailsTabController, X._InspectorTreeRowWidget, X.InspectorTree, E.LayoutExplorerWidget, F.VisualizeFlexChildren, N.LayoutExplorerTab, Y.LandingScreenBody, M.LoggingScreenBody, M.LogDetails, O.AllocationTableView, Z.AnalysisInstanceViewTable, G.MemoryAndroidChart, T.MemoryEventsPane, S.SnapshotFilterDialog, D.HeapTree, D.MemoryHeapTable, N.MemoryHeapTreemap, Y.InstanceTreeView, L.MemoryBody, O.MemoryVMChart, Y.NetworkScreenBody, Y._NotificationsProvider, Y._Notification, S.FlutterFramesChart, S.ShaderJankWarningIcon, S.LegacyFlutterFramesChart, R.LegacyPerformanceScreenBody, Y.LegacyTimelineFlameChartContainer, Y.LegacyNavigateInThreadInButton, R.PerformanceScreenBody, Y.TimelineFlameChartContainer, Y.NavigateInThreadInButton, V.CpuProfiler, X.ProfilerScreenBody, K.InstanceViewer, K._EditableField, Z.ProviderList, U.ConsumerWidget, M.DevToolsScaffold, K.SnapshotScreenBody, L.Split, S.FlatTable, S.TreeTable, S._Table, S.TableRow, Y.TreeView, Y.TreeViewItem, X.FilterDialog, S.AutoComplete, B.ServiceExtensionButtonGroup, B._ServiceExtensionWidget, B.NotifierCheckbox, B.OffsetScrollbar, O.IsolatePortsWidget, E.VMDeveloperToolsScreenBody, F.CupertinoActivityIndicator, E.RawScrollbar, N.CupertinoSwitch, S.MaterialApp, E.AppBar, Z.RawMaterialButton, K.ButtonStyleButton, K.Checkbox, K._DropdownMenuItemButton, K._DropdownMenu, K.DropdownButton, O.ExpansionTile, D.Ink, R._InkResponseStateWidget, L._BorderContainer, K.AnimatedWidget, L._HelperError, L.InputDecorator, M.Material, G.ImplicitlyAnimatedWidget, E.NavigationRail, Z.PopupMenuEntry, Z.PopupMenuButton, U.ProgressIndicator, M.ScaffoldMessenger, M._FloatingActionButtonTransition, M.Scaffold, E.Scrollbar, O.SelectableText, N.SnackBar, N._MaterialSwitch, U.DefaultTabController, E.TabBar, E.TabBarView, Z.TextField0, S.Tooltip, U.Actions, U.FocusableActionDetector, U.AnimatedCrossFade, F.AnimatedSize, S.WidgetsApp, S._MediaQueryFromWindow, B.StreamBuilderBase, L.AutomaticKeepAlive, T.MouseRegion, X.Shortcuts, Q.Dismissible, D.EditableText, L.Focus, U.FocusTraversalGroup, D.RawGestureDetector, T.Hero, U.Image, L.Localizations, K.Navigator, X._OverlayEntryWidget, X.Overlay, L.GlowingOverscrollIndicator, D.PageView, O.RawKeyboardListener, K.RestorationScope, K.RootRestorationScope, Z.Router, T._ModalScope, Q.ScrollNotificationObserver, F.Scrollable0, F._TextSelectionHandleOverlay, F.TextSelectionGestureDetector, N.ValueListenableBuilder, N.ProviderScope, T.ProviderListener]);
    _inherit(N.State, N._State_Object_Diagnosticable);
    _inheritMany(N.State, [G._AnalyticsPromptState, S.DevToolsAppState, R.__AppSizeBodyState_State_AutoDisposeMixin, R.__AnalysisViewState_State_AutoDisposeMixin, R.__DiffViewState_State_AutoDisposeMixin, O._CallGraphWithDominatorsState, O._CallGraphViewState, U._ChartState_State_AutoDisposeMixin, S._FlameChartState_State_AutoDisposeMixin, S._ScrollingFlameChartRowState_State_AutoDisposeMixin, E._TreemapState, V.DragAndDropState, G._ConsoleOutputState, F.__CustomPointerScrollableState_State_TickerProviderStateMixin, F._BreakpointsState, N._CallStackState, K.__CodeViewState_State_AutoDisposeMixin, K.__LinesState_State_AutoDisposeMixin, K._LineItemState, G._DebuggerConsoleState, K.__DebuggingControlsState_State_AutoDisposeMixin, A._DebuggerScreenBodyState_State_AutoDisposeMixin, A.__DebuggerStatusState_State_AutoDisposeMixin, A.__FloatingDebuggerControlsState_State_AutoDisposeMixin, R.__ExpressionEvalFieldState_State_SearchFieldMixin, Z.ScriptPickerState, F.__VMFlagsDialogState_State_AutoDisposeMixin, D._FileImportContainerState, D._DualFileImportContainerState, B.__InitializerState_State_SingleTickerProviderStateMixin, B._InspectorScreenBodyState_State_BlockingActionMixin, D.__InspectorDetailsTabControllerState_State_TickerProviderStateMixin, X.__InspectorTreeRowState_State_TickerProviderStateMixin, X.__InspectorTreeState_State_SingleTickerProviderStateMixin, E._LayoutExplorerWidgetState_State_TickerProviderStateMixin, F._VisualizeFlexChildrenState, N.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin, Y.__LandingScreenBodyState_State_BlockingActionMixin, M.__LoggingScreenState_State_AutoDisposeMixin, M.__LogDetailsState_State_SingleTickerProviderStateMixin, O._AllocationTableViewState_State_AutoDisposeMixin, Z._AnalysisInstanceViewState_State_AutoDisposeMixin, G._MemoryAndroidChartState_State_AutoDisposeMixin, T._MemoryEventsPaneState_State_AutoDisposeMixin, S._SnapshotFilterState_State_AutoDisposeMixin, D._HeapTreeViewState_State_AutoDisposeMixin, D._MemoryHeapTableState_State_AutoDisposeMixin, N._MemoryHeapTreemapState_State_AutoDisposeMixin, Y._InstanceTreeViewState_State_AutoDisposeMixin, L._MemoryBodyState_State_AutoDisposeMixin, O._MemoryVMChartState_State_AutoDisposeMixin, Y.__NetworkScreenBodyState_State_AutoDisposeMixin, Y.NotificationsState, Y.__NotificationState_State_SingleTickerProviderStateMixin, S.__FlutterFramesChartState_State_AutoDisposeMixin, S._ShaderJankWarningIconState, S.__LegacyFlutterFramesChartState_State_AutoDisposeMixin, R._LegacyPerformanceScreenBodyState_State_AutoDisposeMixin, Y.__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin, Y.__LegacyNavigateInThreadInButtonState_State_AutoDisposeMixin, R._PerformanceScreenBodyState_State_AutoDisposeMixin, Y.__TimelineFlameChartContainerState_State_AutoDisposeMixin, Y.__NavigateInThreadInButtonState_State_AutoDisposeMixin, V.__CpuProfilerState_State_TickerProviderStateMixin, X.__ProfilerScreenBodyState_State_AutoDisposeMixin, K._InstanceViewerState, K._EditableFieldState, Z._ProviderListState, M._DevToolsScaffoldState_State_AutoDisposeMixin, K._SnapshotScreenBodyState, L._SplitState, S.FlatTableState, S._TreeTableState_State_TickerProviderStateMixin, S.__TableState_State_AutoDisposeMixin, S.__TableRowState_State_TickerProviderStateMixin, Y.__TreeViewState_State_TreeMixin, Y.__TreeViewItemState_State_TickerProviderStateMixin, X._FilterDialogState, S._AutoCompleteState_State_AutoDisposeMixin, B.__ServiceExtensionButtonGroupState_State_AutoDisposeMixin, B.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin, B.__ServiceExtensionToggleState_State__ServiceExtensionMixin, B.__NotifierCheckboxState_State_AutoDisposeMixin, B._OffsetScrollbarState, O._IsolatePortsWidgetState, E.__VMDeveloperToolsScreenState_State_AutoDisposeMixin, F.__CupertinoActivityIndicatorState_State_SingleTickerProviderStateMixin, E._RawScrollbarState_State_TickerProviderStateMixin, N.__CupertinoSwitchState_State_TickerProviderStateMixin, S._MaterialAppState, E._AppBarState, Z._RawMaterialButtonState, K.__ButtonStyleState_State_TickerProviderStateMixin, K.__CheckboxState_State_TickerProviderStateMixin, K._DropdownMenuItemButtonState, K._DropdownMenuState, K.__DropdownButtonState_State_WidgetsBindingObserver, O.__ExpansionTileState_State_SingleTickerProviderStateMixin, D._InkState, R.__InkResponseState_State_AutomaticKeepAliveClientMixin, L.__BorderContainerState_State_TickerProviderStateMixin, L.__HelperErrorState_State_SingleTickerProviderStateMixin, L.__InputDecoratorState_State_TickerProviderStateMixin, M.__MaterialState_State_TickerProviderStateMixin, G._ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin, E.__NavigationRailState_State_TickerProviderStateMixin, Z.PopupMenuItemState, Z.PopupMenuButtonState, U.__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin, U.__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin, M._ScaffoldMessengerState_State_TickerProviderStateMixin, M.__FloatingActionButtonTransitionState_State_TickerProviderStateMixin, M._ScaffoldState_State_TickerProviderStateMixin, E._ScrollbarState, O.__SelectableTextState_State_AutomaticKeepAliveClientMixin, N._SnackBarState, N.__MaterialSwitchState_State_TickerProviderStateMixin, U.__DefaultTabControllerState_State_SingleTickerProviderStateMixin, E._TabBarState, E._TabBarViewState, Z.__TextFieldState_State_RestorationMixin, S.__TooltipState_State_SingleTickerProviderStateMixin, U._ActionsState, U._FocusableActionDetectorState, U.__AnimatedCrossFadeState_State_TickerProviderStateMixin, F.__AnimatedSizeState_State_SingleTickerProviderStateMixin, S.__WidgetsAppState_State_WidgetsBindingObserver, S.__MediaQueryFromWindowsState_State_WidgetsBindingObserver, B._StreamBuilderBaseState, L._AutomaticKeepAliveState, T._MouseRegionState, Q.__DismissibleState_State_TickerProviderStateMixin, D._EditableTextState_State_AutomaticKeepAliveClientMixin, L._FocusState, U._FocusTraversalGroupState, D.RawGestureDetectorState, T._HeroState, U.__ImageState_State_WidgetsBindingObserver, L._LocalizationsState, K._NavigatorState_State_TickerProviderStateMixin, X._OverlayEntryWidgetState, X._OverlayState_State_TickerProviderStateMixin, L.__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin, D._PageViewState, O._RawKeyboardListenerState, K.__RestorationScopeState_State_RestorationMixin, K._RootRestorationScopeState, Z.__RouterState_State_RestorationMixin, T._ModalScopeState, Q.ScrollNotificationObserverState, F._ScrollableState_State_TickerProviderStateMixin, X._ShortcutsState, F.__TextSelectionHandleOverlayState_State_SingleTickerProviderStateMixin, F._TextSelectionGestureDetectorState, K._AnimatedState, N._ValueListenableBuilderState, U._ConsumerState, N.ProviderScopeState, T._ProviderListenerState]);
    _inheritMany(N.StatelessWidget, [S.OpenAboutAction, S.OpenSettingsAction, S.ReportFeedbackButton, S.DevToolsAboutDialog, S.SettingsDialog, R.AppSizeAnalysisTable, R.AppSizeDiffTable, O.DominatorTree, O.BannerMessages, O.BannerMessage, S.FlameChartHelpButton, S._FlameChartHelpDialog, S.EmptyFlameChartRow, U.PaddedDivider, U.IconLabelButton, U.RecordButton, U.StopRecordingButton, U.SettingsOutlinedButton, U.HelpButton, U.ExpandAllButton, U.CollapseAllButton, U.RecordingInfo, U.RecordingStatus, U.RecordingInstructions, U.ProcessingInfo, U.ExitOfflineButton, U.BulletSpacer, U.Badge, U.DevToolsTooltip, U.ToolbarAction, U.AreaPaneHeader, U.ExportButton, U.FilterButton, U.RoundedDropDownButton, U.OutlinedRowGroup, U.OutlineDecoration, U.RoundedOutlinedBorder, U.LeftBorder, U.CenteredMessage, U.CenteredCircularProgressIndicator, U.CircularIconButton, U.BreadcrumbNavigator, U.Breadcrumb, U.FormattedJson, G.Console, G.ConsoleFrame, G.DeleteControl, G.CopyToClipboardControl, B.ScrollView, F.BreakpointsCountBadge, K.Gutter, K.GutterItem, K.ScriptPopupMenu, K.ScriptHistoryPopupMenu, K.GoToLineDialog, K.BreakOnExceptionsControl, K.DebuggerButton, Z.CountBadge, K.Variables, K.ExpandableVariable, F.DeviceDialog, F._ViewVMFlagsButton, F._FlagTable, O.DevToolsDialog, O.DialogCloseButton, O.DialogCancelButton, O.DialogApplyButton, O.DialogTextButton, D.FileImportButton, X.FlexSplitColumn, G.HistoryViewport, Y.DiagnosticsNodeDescription, B.ErrorNavigator, X.InspectorRowContent, S.BoxChildVisualizer, F.FlexChildVisualizer, V.ArrowWrapper, V.ArrowWidget, U.FreeSpaceVisualizerWidget, U.PaddingVisualizerWidget, B.BorderLayout, B.Truncateable, B.WidgetVisualizer, B.LayoutExplorerBackground, Q.VisualizeWidthAndHeightWithConstraints, M.LogsTable, L.MemoryConfigurationsDialog, K._DropdownMenuItemContainer, K.NetworkRequestInspector, D.HttpRequestHeadersView, D.HttpResponseView, D.ImageResponseView, D.HttpRequestCookiesView, D.NetworkRequestOverviewView, Y.NetworkRequestsTable, Y.Notifications, Y.NotificationAction, F.EventDetails, F.EventSummary, F.EventMetaData, F.ExpandingEventMetaData, S.FlutterFramesChartItem, F.EventDetails0, F.EventSummary0, F.EventMetaData0, F.ExpandingEventMetaData0, S.LegacyFlutterFramesChartItem, R.LegacyPerformanceSettingsDialog, R._LegacyBadgeJankyFramesSetting, Y.LegacyThreadNavigatorButton, R.PerformanceSettingsDialog, R._BadgeJankyFramesSetting, Y.ThreadNavigatorButton, L.CpuBottomUpTable, G.CpuCallTreeTable, V.CpuProfilerDisabled, V.UserTagDropdown, X.ProfilerScreenControls, X._PrimaryControls, X._SecondaryControls, K._ObjectHeader, K._Expandable, L.DefaultSplitter, B.StatusLine, S.CustomIcon, S.ColorIcon, U.ImageIconLabel, U.MaterialIconLabel, S.SearchNavigationControls, B.HotReloadButton, B.HotRestartButton, B.StructuredErrorsToggle, G.ProfileGranularityDropdown, O.IsolateStatisticsViewBody, O.GeneralIsolateStatisticsWidget, O.IsolateMemoryStatisticsWidget, O.TagStatisticsWidget, O.StackTraceViewerWidget, O.ServiceExtensionsWidget, G.VMInfoCard, G.VMInfoList, Q.VMStatisticsViewBody, Q.VMStatisticsWidget, Q.GeneralVMStatisticsWidget, Q.ProcessStatisticsWidget, Q.IsolatesPreviewWidget, K.CupertinoTheme, V.Card, D.CheckboxListTile, S.DataTable, R.InkResponse, E.Dialog, E.AlertDialog, Z.Divider, Z.VerticalDivider, K._DropdownRoutePage, E.FloatingActionButton, B.IconButton, L._AffixText, Q.ListTile, M._ShapeBorderPaint, E._RailDestination, Z._PopupMenu, M._BodyBuilder, N.Switch, E.Tab, K.Theme, E.ToggleButtons, E._ToggleButton, S._TooltipOverlay, L._NullWidget1, T.KeyedSubtree, T.Builder, M.Container, D.GestureDetector, L.Icon, M._CaptureAll, X.ModalBarrier, X._ModalBarrierGestureDetector, E.NavigationToolbar, U.NotificationListener, S.PageStorage, Q.PreferredSize, Q.SafeArea, E.SingleChildScrollView, A.SliverFillViewport, R.Spacer, L._NullWidget2, L.Text, U.TickerMode, U.Title, L.Visibility, D.Nested, D._NestedHook, D.SingleChildStatelessWidget]);
    _inheritMany(T.Screen, [R.AppSizeScreen, A.DebuggerScreen, B.InspectorScreen, M.LoggingScreen, L.MemoryScreen, Y.NetworkScreen, R.LegacyPerformanceScreen, R.PerformanceScreen, X.ProfilerScreen, Z.ProviderScreen, M.SimpleScreen, E.VMDeveloperToolsScreen]);
    _inherit(R.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, R.__AppSizeBodyState_State_AutoDisposeMixin);
    _inherit(R._AppSizeBodyState, R.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin);
    _inherit(R._AnalysisViewState, R.__AnalysisViewState_State_AutoDisposeMixin);
    _inherit(R._DiffViewState, R.__DiffViewState_State_AutoDisposeMixin);
    _inheritMany(K.ColumnData, [K.TreeColumnData, R._SizeColumn, R._SizePercentageColumn, R._DiffColumn, O.FromColumn, O.ToColumn, F._NameColumn, F._DescriptionColumn, F._ValueColumn, M._WhenColumn, M._KindColumn, M.MessageColumn, X.FieldTrack, X.FieldClassName, X.FieldInstanceCountColumn, X.FieldInstanceDeltaColumn, X.FieldSizeColumn, X.FieldSizeDeltaColumn, Z._AnalysisFieldValueColumn, D._ClassOrInstanceCountColumn, D._ShallowSizeColumn, Y._FieldNameColumn, Y._FieldValueColumn, R._TrackerCountColumn, Y.UriColumn, Y.MethodColumn, Y.StatusColumn, Y.TypeColumn, Y.DurationColumn, Y.TimestampColumn, T.SelfTimeColumn, T.TotalTimeColumn, T.SourceColumn, O._TagColumn, O._PercentageColumn, O._PortIDColumn, O._PortNameColumn, O._StackTraceViewerFrameColumn, O._ServiceExtensionNameColumn, Q._IsolateNameColumn, Q._IsolateIDColumn, Q._IsolateMemoryColumn]);
    _inheritMany(K.TreeColumnData, [R._NameColumn0, O._PackageColumn, Z._AnalysisFieldNameColumn, D._LibraryRefColumn, Y._FieldTypeColumn, R._TrackerClassColumn, T.MethodNameColumn]);
    _inheritMany(X.TreeNode, [O.DominatorTreeNode, E.TreemapNode, E.Variable, E.FileNode, T.Reference, T.AnalysisField, T.FieldReference, R.Tracker, Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin, Y._TimelineEvent_TreeNode_DataSearchStateMixin, E._CpuStackFrame_TreeNode_DataSearchStateMixin]);
    _inheritMany(O.BannerMessage, [O._BannerError, O._BannerWarning]);
    _inherit(U.ChartState, U._ChartState_State_AutoDisposeMixin);
    _inheritMany(B.Listenable, [V.CustomPainter, B.ValueListenable, Z.RouterDelegate, X.Animation0, B._MergingListenable, N._SystemFontsNotifier, E.CustomClipper]);
    _inheritMany(V.CustomPainter, [U.ChartPainter, S.FlameChartPainter, E.MultiCellPainter, U._BreadcrumbPainter, X._RowPainter, V._ArrowPainter, X.OverflowIndicatorPainter, L.DashedLine, S.ChartAxisPainter, S.FPSLinePainter, S.LegacyChartAxisPainter, S.LegacyFPSLinePainter, T.BadgePainter, S._ColorIconPainter, F._CupertinoActivityIndicatorPainter, F._TextSelectionHandlePainter0, K._DropdownMenuPainter, L._InputBorderPainter, M._ShapeBorderPainter, U._LinearProgressIndicatorPainter, U._CircularProgressIndicatorPainter, E._IndicatorPainter, F._TextSelectionHandlePainter, L._GlowingOverscrollIndicatorPainter]);
    _inheritMany(K.DisposableController, [D._ChartController_DisposableController_AutoDisposeControllerMixin, D._DebuggerController_DisposableController_AutoDisposeControllerMixin, G._ErrorBadgeManager_DisposableController_AutoDisposeControllerMixin, T._InfoController_DisposableController_AutoDisposeControllerMixin, Z._InspectorController_DisposableController_AutoDisposeControllerMixin, E._InspectorService_DisposableController_AutoDisposeControllerMixin, E._LoggingController_DisposableController_SearchControllerMixin, T._MemoryController_DisposableController_AutoDisposeControllerMixin, S._AutoCompleteController_DisposableController_SearchControllerMixin, N._IsolateStatisticsViewController_DisposableController_CpuProfilerControllerProviderMixin, F.VMStatisticsViewController]);
    _inherit(D.ChartController, D._ChartController_DisposableController_AutoDisposeControllerMixin);
    _inherit(F.DataAggregate, F.Data);
    _inherit(S._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin, S._FlameChartState_State_AutoDisposeMixin);
    _inherit(S._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin, S._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin);
    _inherit(S.FlameChartState, S._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin);
    _inherit(S.ScrollingFlameChartRowState, S._ScrollingFlameChartRowState_State_AutoDisposeMixin);
    _inheritMany(A.ExtentDelegate, [S._ScrollingFlameChartRowExtentDelegate, A.FixedExtentDelegateBase]);
    _inheritMany(S.FlameChartPainter, [S.TimelineGridPainter, Y.LegacyAsyncGuidelinePainter, Y.LegacySelectedFrameBracketPainter, Y.AsyncGuidelinePainter, Y.SelectedFrameBracketPainter]);
    _inheritMany(N.ProxyWidget, [N.ParentDataWidget, N.InheritedWidget]);
    _inheritMany(N.ParentDataWidget, [T.Positioned, T.LayoutId, T.Flexible, G.KeepAlive, S.TableCell]);
    _inherit(E.PositionedCell, T.Positioned);
    _inheritMany(U.IconLabelButton, [U.PauseButton, U.ResumeButton, U.ClearButton, U.RefreshButton]);
    _inherit(T.DragAndDropManagerWeb, V.DragAndDropManager);
    _inherit(R.ExportControllerWeb, D.ExportController);
    _inherit(B.BoxScrollView, B.ScrollView);
    _inheritMany(B.BoxScrollView, [F.CustomPointerScrollView, B.ListView]);
    _inherit(F._CustomPointerScrollableState, F.__CustomPointerScrollableState_State_TickerProviderStateMixin);
    _inheritMany(N.InheritedWidget, [F._ScrollableScope0, Y._InheritedNotifications, K._InheritedCupertinoTheme, K.DropdownButtonHideUnderline, Z.FlexibleSpaceBarSettings, R._ParentInkResponseProvider, M.InheritedTheme, E._ExtendedNavigationRailAnimation, M._ScaffoldMessengerScope, M._ScaffoldScope, U._TabControllerScope, U._ActionsMarker, T.Directionality, S.InheritedNotifier, U._FocusTraversalGroupMarker, L._LocalizationsScope, F.MediaQuery, K.HeroControllerScope, E.PrimaryScrollController, K.UnmanagedRestorationScope, Z._RouterScope, T._ModalScopeStatus, K.ScrollConfiguration, Q._ScrollNotificationObserverScope, F._ScrollableScope, U._EffectiveTickerMode, N.UncontrolledProviderScope, Y._InheritedProviderScope]);
    _inheritMany(N.RenderObjectWidget, [N.SingleChildRenderObjectWidget, G.SliverWithKeepAliveWidget, N.LeafRenderObjectWidget, L._Decorator, Q._ListTile, N.MultiChildRenderObjectWidget, N.RenderObjectToWidgetAdapter, A.ConstrainedLayoutBuilder, S.Table]);
    _inheritMany(N.SingleChildRenderObjectWidget, [F._ScrollSemantics0, E._AppBarTitleBox, Z._InputPadding, K._InputPadding0, K._MenuItem, M._InkFeatures, Z._MenuItem0, E._SelectToggleButton, F._AnimatedSize, X.AnnotatedRegion, T.Opacity, T.CustomPaint, T.ClipRect, T.ClipRRect, T.ClipPath, T.PhysicalModel, T.PhysicalShape, T.Transform, T.CompositedTransformTarget, T.CompositedTransformFollower, T.FractionalTranslation, T.RotatedBox, T.Padding, T.Align, T.CustomSingleChildLayout, T.SizedBox, T.ConstrainedBox, T.LimitedBox, T.OverflowBox, T.Offstage, T.IntrinsicWidth, T.IntrinsicHeight, T.SliverPadding, T.Listener, T._RawMouseRegion, T.RepaintBoundary, T.IgnorePointer, T.AbsorbPointer, T.MetaData, T.Semantics, T.MergeSemantics, T.BlockSemantics, T.ExcludeSemantics, T.IndexedSemantics, T.ColoredBox, M.DecoratedBox, D._GestureSemantics, F._ScrollSemantics, E._SingleChildViewport, A._SliverFractionalPadding, K.FadeTransition]);
    _inheritMany(B.AbstractNode, [K._RenderObject_AbstractNode_DiagnosticableTreeMixin, T._Layer_AbstractNode_DiagnosticableTreeMixin, A._SemanticsNode_AbstractNode_DiagnosticableTreeMixin]);
    _inherit(K.RenderObject, K._RenderObject_AbstractNode_DiagnosticableTreeMixin);
    _inheritMany(K.RenderObject, [S.RenderBox, G.RenderSliver, A._RenderView_RenderObject_RenderObjectWithChildMixin]);
    _inheritMany(S.RenderBox, [E._RenderProxyBox_RenderBox_RenderObjectWithChildMixin, T._RenderShiftedBox_RenderBox_RenderObjectWithChildMixin, L._RenderDecoration, Q._RenderListTile, F._RenderFlex_RenderBox_ContainerRenderObjectMixin, B._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin, D._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin, D._RenderEditableCustomPaint, V.RenderErrorBox, U.RenderImage, R._RenderListBody_RenderBox_ContainerRenderObjectMixin, Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin, L.RenderPerformanceOverlay, O._RenderRotatedBox_RenderBox_RenderObjectWithChildMixin, K._RenderStack_RenderBox_ContainerRenderObjectMixin, S.RenderTable, Q._RenderViewportBase_RenderBox_ContainerRenderObjectMixin, N._RenderWrap_RenderBox_ContainerRenderObjectMixin, A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin, E.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin, X.__RenderTheatre_RenderBox_ContainerRenderObjectMixin, E.__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin]);
    _inherit(E._RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin, E._RenderProxyBox_RenderBox_RenderObjectWithChildMixin);
    _inherit(E.RenderProxyBox, E._RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin);
    _inheritMany(E.RenderProxyBox, [F._RenderScrollSemantics0, E.RenderConstrainedBox, K._RenderMenuItem, M._RenderInkFeatures, V.RenderCustomPaint, E.RenderProxyBoxWithHitTestBehavior, E.RenderLimitedBox, E.RenderIntrinsicWidth, E.RenderIntrinsicHeight, E.RenderOpacity, E._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin, E._RenderCustomClip, E.RenderDecoratedBox, E.RenderTransform, E.RenderFractionalTranslation, E.RenderMouseRegion, E.RenderRepaintBoundary, E.RenderIgnorePointer, E.RenderOffstage, E.RenderAbsorbPointer, E.RenderSemanticsAnnotations, E.RenderBlockSemantics, E.RenderMergeSemantics, E.RenderExcludeSemantics, E.RenderIndexedSemantics, E.RenderLeaderLayer, E.RenderFollowerLayer, E.RenderAnnotatedRegion, F._RenderScrollSemantics]);
    _inherit(K.__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin, K.__CodeViewState_State_AutoDisposeMixin);
    _inherit(K._CodeViewState, K.__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin);
    _inherit(K._LinesState, K.__LinesState_State_AutoDisposeMixin);
    _inherit(K._DebuggingControlsState, K.__DebuggingControlsState_State_AutoDisposeMixin);
    _inheritMany(D.ConsoleLine, [D.TextConsoleLine, D.VariableConsoleLine]);
    _inherit(D._DebuggerController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin, D._DebuggerController_DisposableController_AutoDisposeControllerMixin);
    _inherit(D.DebuggerController, D._DebuggerController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin);
    _inherit(D.ScriptsHistory, L.HistoryManager);
    _inherit(E.SourceToken, E._SourceToken_Object_DataSearchStateMixin);
    _inheritMany(E.BreakpointAndSourcePosition, [E._BreakpointAndSourcePositionResolved, E._BreakpointAndSourcePositionUnresolved]);
    _inherit(A.DebuggerScreenBodyState, A._DebuggerScreenBodyState_State_AutoDisposeMixin);
    _inherit(U.Intent, U._Intent_Object_Diagnosticable);
    _inheritMany(U.Intent, [A.FocusLibraryFilterIntent, A.GoToLineNumberIntent, A.SearchInFileIntent, A.EscapeIntent, U.ActivateIntent, U.ButtonActivateIntent, U.DismissIntent, U.PrioritizedIntents, U.NextFocusIntent, U.PreviousFocusIntent, U.DirectionalFocusIntent, F.ScrollIntent, M.DoNothingAndStopPropagationTextIntent]);
    _inherit(U.Action, U._Action_Object_Diagnosticable);
    _inheritMany(U.Action, [A.FocusLibraryFilterAction, A.GoToLineNumberAction, A.SearchInFileAction, A.EscapeAction, U.ContextAction, U.CallbackAction, U.DoNothingAction, U.DismissAction, U.PrioritizedAction, U.RequestFocusAction, U.NextFocusAction, U.PreviousFocusAction, U.DirectionalFocusAction, F.ScrollAction]);
    _inherit(A._DebuggerStatusState, A.__DebuggerStatusState_State_AutoDisposeMixin);
    _inherit(A._FloatingDebuggerControlsState, A.__FloatingDebuggerControlsState_State_AutoDisposeMixin);
    _inherit(R.__ExpressionEvalFieldState_State_SearchFieldMixin_AutoDisposeMixin, R.__ExpressionEvalFieldState_State_SearchFieldMixin);
    _inherit(R._ExpressionEvalFieldState, R.__ExpressionEvalFieldState_State_SearchFieldMixin_AutoDisposeMixin);
    _inheritMany(R._Matcher, [R._SimpleMatcher, R._MultilineMatcher, R._IncludeMatcher]);
    _inherit(F._VMFlagsDialogState, F.__VMFlagsDialogState_State_AutoDisposeMixin);
    _inherit(G.ErrorBadgeManager, G._ErrorBadgeManager_DisposableController_AutoDisposeControllerMixin);
    _inherit(G.InspectableWidgetError, G.DevToolsError);
    _inherit(B.EvalSentinelException, B.SentinelException0);
    _inheritMany(B.ChangeNotifier, [A._ExtentDelegateChangeNotifier, T._LinkedScrollControllerGroupOffsetNotifier, F.ScrollController, N.ViewportOffset, B.ValueNotifier, B.ListValueNotifier, F.ToggleablePainter, L._InputBorderGap, M._ScaffoldGeometryNotifier, U.TabController, D.RenderEditablePainter, A.MouseTracker, A.SemanticsOwner, K.RestorationManager, L.KeepAliveHandle, K.RestorableProperty, X.OverlayEntry, L._GlowController, E.ScrollbarPainter, X._ShortcutManager_ChangeNotifier_Diagnosticable]);
    _inherit(A.FixedExtentDelegate, A.FixedExtentDelegateBase);
    _inherit(A.ExtentDelegateListView, F.CustomPointerScrollView);
    _inherit(G.SliverMultiBoxAdaptorWidget, G.SliverWithKeepAliveWidget);
    _inheritMany(G.SliverMultiBoxAdaptorWidget, [A.SliverExtentDelegateList, G.SliverList, G.SliverFixedExtentList, A._SliverFillViewportRenderObjectWidget]);
    _inheritMany(G.RenderSliver, [F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin, T._RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin]);
    _inherit(F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers, F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin);
    _inherit(F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers_RenderSliverWithKeepAliveMixin, F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers);
    _inherit(F.RenderSliverMultiBoxAdaptor, F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers_RenderSliverWithKeepAliveMixin);
    _inheritMany(F.RenderSliverMultiBoxAdaptor, [A.RenderSliverExtentDelegateBoxAdaptor, X.RenderSliverFixedExtentBoxAdaptor, U.RenderSliverList]);
    _inheritMany(F.ScrollController, [T._LinkedScrollController, E._TabBarScrollController, D.PageController]);
    _inherit(A._ScrollPosition_ViewportOffset_ScrollMetrics, N.ViewportOffset);
    _inherit(A.ScrollPosition, A._ScrollPosition_ViewportOffset_ScrollMetrics);
    _inherit(R.ScrollPositionWithSingleContext, A.ScrollPosition);
    _inheritMany(R.ScrollPositionWithSingleContext, [T._LinkedScrollPosition, E._TabBarScrollPosition, D._PagePosition]);
    _inheritMany(M.ScrollActivity, [T._LinkedScrollActivity, M.IdleScrollActivity, M.HoldScrollActivity, M.DragScrollActivity, M.BallisticScrollActivity, M.DrivenScrollActivity]);
    _inheritMany(N.LineSegment0, [N.HorizontalLineSegment, N.VerticalLineSegment]);
    _inheritMany(E.HttpInstantEvent, [E.TimelineHttpInstantEvent, E.DartIOHttpInstantEvent]);
    _inherit(S.NetworkRequest, S._NetworkRequest_Object_DataSearchStateMixin);
    _inheritMany(S.NetworkRequest, [E.HttpRequestData, S.WebSocket]);
    _inheritMany(E.HttpRequestData, [E.TimelineHttpRequestData, E.DartIOHttpRequestData]);
    _inherit(T.InfoController, T._InfoController_DisposableController_AutoDisposeControllerMixin);
    _inherit(B.__InitializerState_State_SingleTickerProviderStateMixin_AutoDisposeMixin, B.__InitializerState_State_SingleTickerProviderStateMixin);
    _inherit(B._InitializerState, B.__InitializerState_State_SingleTickerProviderStateMixin_AutoDisposeMixin);
    _inherit(Z.InspectorController, Z._InspectorController_DisposableController_AutoDisposeControllerMixin);
    _inherit(N.FlexLayoutProperties, N.LayoutProperties);
    _inherit(B._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin, B._InspectorScreenBodyState_State_BlockingActionMixin);
    _inherit(B.InspectorScreenBodyState, B._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin);
    _inherit(D.__InspectorDetailsTabControllerState_State_TickerProviderStateMixin_AutoDisposeMixin, D.__InspectorDetailsTabControllerState_State_TickerProviderStateMixin);
    _inherit(D._InspectorDetailsTabControllerState, D.__InspectorDetailsTabControllerState_State_TickerProviderStateMixin_AutoDisposeMixin);
    _inherit(E.InspectorService, E._InspectorService_DisposableController_AutoDisposeControllerMixin);
    _inherit(E.FlutterInspectorLibraryNotFound, B.LibraryNotFound);
    _inherit(X.__InspectorTreeRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, X.__InspectorTreeRowState_State_TickerProviderStateMixin);
    _inherit(X._InspectorTreeRowState, X.__InspectorTreeRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin);
    _inherit(X._InspectorTreeControllerFlutter_Object_InspectorTreeController_InspectorTreeFixedRowHeightController, X._InspectorTreeControllerFlutter_Object_InspectorTreeController);
    _inherit(X.InspectorTreeControllerFlutter, X._InspectorTreeControllerFlutter_Object_InspectorTreeController_InspectorTreeFixedRowHeightController);
    _inherit(X.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin, X.__InspectorTreeState_State_SingleTickerProviderStateMixin);
    _inherit(X.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin, X.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin);
    _inherit(X._InspectorTreeState, X.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin);
    _inheritMany(E.LayoutExplorerWidget, [S.BoxLayoutExplorerWidget, F.FlexLayoutExplorerWidget]);
    _inherit(E.LayoutExplorerWidgetState, E._LayoutExplorerWidgetState_State_TickerProviderStateMixin);
    _inheritMany(E.LayoutExplorerWidgetState, [S._BoxLayoutExplorerWidgetState, F._FlexLayoutExplorerWidgetState]);
    _inherit(B.AnimatedFlexLayoutProperties, B.AnimatedLayoutProperties);
    _inherit(N.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin_AutoDisposeMixin, N.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin);
    _inherit(N._LayoutExplorerTabState, N.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin_AutoDisposeMixin);
    _inherit(Y._LandingScreenBodyState, Y.__LandingScreenBodyState_State_BlockingActionMixin);
    _inheritMany(B.ValueListenable, [A.FixedValueListenable, Z.RouteInformationProvider]);
    _inherit(E._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin, E._LoggingController_DisposableController_SearchControllerMixin);
    _inherit(E._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin_AutoDisposeControllerMixin, E._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin);
    _inherit(E.LoggingController, E._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin_AutoDisposeControllerMixin);
    _inherit(E.LogData, E._LogData_Object_DataSearchStateMixin);
    _inherit(M.__LoggingScreenState_State_AutoDisposeMixin_SearchFieldMixin, M.__LoggingScreenState_State_AutoDisposeMixin);
    _inherit(M._LoggingScreenState, M.__LoggingScreenState_State_AutoDisposeMixin_SearchFieldMixin);
    _inherit(M._LogDetailsState, M.__LogDetailsState_State_SingleTickerProviderStateMixin);
    _inherit(O.AllocationTableViewState, O._AllocationTableViewState_State_AutoDisposeMixin);
    _inherit(Z.AnalysisInstanceViewState, Z._AnalysisInstanceViewState_State_AutoDisposeMixin);
    _inheritMany(D.ChartController, [G.AndroidChartController, T.EventChartController, O.VMChartController]);
    _inherit(G.MemoryAndroidChartState, G._MemoryAndroidChartState_State_AutoDisposeMixin);
    _inherit(T._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin, T._MemoryController_DisposableController_AutoDisposeControllerMixin);
    _inherit(T._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin_AutoCompleteSearchControllerMixin, T._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin);
    _inherit(T.MemoryController, T._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin_AutoCompleteSearchControllerMixin);
    _inherit(T.MemoryEventsPaneState, T._MemoryEventsPaneState_State_AutoDisposeMixin);
    _inherit(S.SnapshotFilterState, S._SnapshotFilterState_State_AutoDisposeMixin);
    _inheritMany(X.HeapGraphElement, [X.HeapGraphElementSentinel, X.HeapGraphElementLive, X.HeapGraphExternalLive]);
    _inheritMany(X.HeapGraphClass, [X.HeapGraphClassSentinel, X.HeapGraphClassLive]);
    _inherit(D._HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin, D._HeapTreeViewState_State_AutoDisposeMixin);
    _inherit(D._HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin, D._HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin);
    _inherit(D.HeapTreeViewState, D._HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin);
    _inherit(D.MemoryHeapTableState, D._MemoryHeapTableState_State_AutoDisposeMixin);
    _inherit(N.MemoryHeapTreemapState, N._MemoryHeapTreemapState_State_AutoDisposeMixin);
    _inherit(Y.InstanceTreeViewState, Y._InstanceTreeViewState_State_AutoDisposeMixin);
    _inherit(L._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, L._MemoryBodyState_State_AutoDisposeMixin);
    _inherit(L.MemoryBodyState, L._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin);
    _inherit(K.DropdownMenuItem, K._DropdownMenuItemContainer);
    _inherit(L.SourceDropdownMenuItem, K.DropdownMenuItem);
    _inheritMany(T.Reference, [T.AnalysesReference, T.AnalysisSnapshotReference, T.AnalysisReference, T.AnalysisInstance, T.SnapshotReference, T.LibraryReference, T.ExternalReferences, T.ExternalReference, T.FilteredReference, T.ClassReference, T.ObjectReference]);
    _inherit(T.ExternalObjectReference, T.ObjectReference);
    _inherit(T.ObjectFieldReference, T.FieldReference);
    _inheritMany(R.Tracker, [R.TrackerClass, R.TrackerAllocation]);
    _inherit(O.MemoryVMChartState, O._MemoryVMChartState_State_AutoDisposeMixin);
    _inherit(Q._NetworkController_Object_SearchControllerMixin_FilterControllerMixin, Q._NetworkController_Object_SearchControllerMixin);
    _inherit(Q.NetworkController, Q._NetworkController_Object_SearchControllerMixin_FilterControllerMixin);
    _inherit(Y.__NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin, Y.__NetworkScreenBodyState_State_AutoDisposeMixin);
    _inherit(Y._NetworkScreenBodyState, Y.__NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin);
    _inherit(Y._NotificationState, Y.__NotificationState_State_SingleTickerProviderStateMixin);
    _inherit(S._FlutterFramesChartState, S.__FlutterFramesChartState_State_AutoDisposeMixin);
    _inherit(S._LegacyFlutterFramesChartState, S.__LegacyFlutterFramesChartState_State_AutoDisposeMixin);
    _inherit(B._LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin, B._LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin);
    _inherit(B.LegacyPerformanceController, B._LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin);
    _inherit(Y.LegacyOfflinePerformanceData, Y.LegacyPerformanceData);
    _inherit(Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin, Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin);
    _inherit(Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin, Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin);
    _inherit(Y.LegacyTimelineEvent, Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin);
    _inheritMany(Y.LegacyTimelineEvent, [Y.LegacyOfflineTimelineEvent, Y.LegacySyncTimelineEvent, Y.LegacyAsyncTimelineEvent]);
    _inherit(R._LegacyPerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin, R._LegacyPerformanceScreenBodyState_State_AutoDisposeMixin);
    _inherit(R.LegacyPerformanceScreenBodyState, R._LegacyPerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin);
    _inherit(Y.__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin, Y.__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin);
    _inherit(Y._LegacyTimelineFlameChartContainerState, Y.__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin);
    _inheritMany(S.FlameChart, [Y.LegacyTimelineFlameChart, Y.TimelineFlameChart, R.CpuProfileFlameChart]);
    _inheritMany(S.FlameChartState, [Y.LegacyTimelineFlameChartState, Y.TimelineFlameChartState, R._CpuProfileFlameChartState]);
    _inherit(Y._LegacyNavigateInThreadInButtonState, Y.__LegacyNavigateInThreadInButtonState_State_AutoDisposeMixin);
    _inherit(B._PerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin, B._PerformanceController_Object_CpuProfilerControllerProviderMixin);
    _inherit(B.PerformanceController, B._PerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin);
    _inherit(Y.OfflinePerformanceData, Y.PerformanceData);
    _inherit(Y._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin, Y._TimelineEvent_TreeNode_DataSearchStateMixin);
    _inherit(Y._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin, Y._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin);
    _inherit(Y.TimelineEvent0, Y._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin);
    _inheritMany(Y.TimelineEvent0, [Y.OfflineTimelineEvent, Y.SyncTimelineEvent, Y.AsyncTimelineEvent]);
    _inherit(R._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin, R._PerformanceScreenBodyState_State_AutoDisposeMixin);
    _inherit(R.PerformanceScreenBodyState, R._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin);
    _inherit(Y.__TimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin, Y.__TimelineFlameChartContainerState_State_AutoDisposeMixin);
    _inherit(Y._TimelineFlameChartContainerState, Y.__TimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin);
    _inherit(Y._NavigateInThreadInButtonState, Y.__NavigateInThreadInButtonState_State_AutoDisposeMixin);
    _inherit(T.CpuProfilerController, T._CpuProfilerController_Object_SearchControllerMixin);
    _inherit(E._CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin, E._CpuStackFrame_TreeNode_DataSearchStateMixin);
    _inherit(E._CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin, E._CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin);
    _inherit(E.CpuStackFrame, E._CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin);
    _inherit(V.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin, V.__CpuProfilerState_State_TickerProviderStateMixin);
    _inherit(V.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin, V.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin);
    _inherit(V._CpuProfilerState, V.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin);
    _inherit(X.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin, X.__ProfilerScreenBodyState_State_AutoDisposeMixin);
    _inherit(X._ProfilerScreenBodyState, X.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin);
    _inherit(Z.ProfilerScreenController, Z._ProfilerScreenController_Object_CpuProfilerControllerProviderMixin);
    _inherit(X.ObjectField, X._ObjectField_Object__$ObjectField);
    _inherit(X.InstanceDetails, X._InstanceDetails_Object__$InstanceDetails);
    _inherit(X.InstancePath, X._InstancePath_Object__$InstancePath);
    _inherit(X._ObjectField, X.ObjectField);
    _inherit(X._$_ObjectField, X._ObjectField);
    _inheritMany(X.InstanceDetails, [X.NullInstance, X.BoolInstance, X.NumInstance, X.StringInstance, X.MapInstance, X.ListInstance, X.ObjectInstance, X.EnumInstance]);
    _inherit(X._$NullInstance, X.NullInstance);
    _inherit(X._$BoolInstance, X.BoolInstance);
    _inherit(X._$NumInstance, X.NumInstance);
    _inherit(X._$StringInstance, X.StringInstance);
    _inherit(X._$MapInstance, X.MapInstance);
    _inherit(X._$ListInstance, X.ListInstance);
    _inherit(X._$ObjectInstance, X.ObjectInstance);
    _inherit(X._$EnumInstance, X.EnumInstance);
    _inheritMany(X._$InstancePathCopyWithImpl, [X.__$InstancePathFromInstanceIdCopyWithImpl, X.__$InstancePathFromProviderIdCopyWithImpl]);
    _inheritMany(X.InstancePath, [X._InstancePathFromInstanceId, X._InstancePathFromProviderId]);
    _inherit(X._$_InstancePathFromInstanceId, X._InstancePathFromInstanceId);
    _inherit(X._$_InstancePathFromProviderId, X._InstancePathFromProviderId);
    _inherit(E.Result, E._Result_Object__$Result);
    _inheritMany(E.Result, [E._ResultData, E._ResultError]);
    _inherit(E._$_ResultData, E._ResultData);
    _inherit(E._$_ResultError, E._ResultError);
    _inheritMany(U.ConsumerWidget, [Z.ProviderNodeItem, Z.ProviderScreenBody, Z._StateInspectorSettingsDialog, U.Consumer]);
    _inherit(M.ErrorLoggerObserver, L.ProviderObserver);
    _inherit(T.DevToolsRouteInformationParser, Z.RouteInformationParser);
    _inherit(T._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier, Z.RouterDelegate);
    _inherit(T._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier_PopNavigatorRouterDelegateMixin, T._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier);
    _inherit(T.DevToolsRouterDelegate, T._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier_PopNavigatorRouterDelegateMixin);
    _inherit(M._DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin, M._DevToolsScaffoldState_State_AutoDisposeMixin);
    _inherit(M.DevToolsScaffoldState, M._DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin);
    _inherit(E.ToggleableServiceExtensionDescription, E.ServiceExtensionDescription);
    _inheritMany(K.Disposer, [R.IsolateManager, R.ServiceExtensionManager, R.VmFlagManager]);
    _inheritMany(G.SliverChildDelegate, [Q.SliverIterableChildDelegate, G.SliverChildBuilderDelegate, G.SliverChildListDelegate]);
    _inherit(S._TreeTableState_State_TickerProviderStateMixin_TreeMixin, S._TreeTableState_State_TickerProviderStateMixin);
    _inherit(S._TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin, S._TreeTableState_State_TickerProviderStateMixin_TreeMixin);
    _inherit(S.TreeTableState, S._TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin);
    _inherit(S._TableState, S.__TableState_State_AutoDisposeMixin);
    _inherit(S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, S.__TableRowState_State_TickerProviderStateMixin);
    _inherit(S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin, S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin);
    _inherit(S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin, S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin);
    _inherit(S._TableRowState, S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin);
    _inherit(Y._TreeViewState, Y.__TreeViewState_State_TreeMixin);
    _inherit(Y.__TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, Y.__TreeViewItemState_State_TickerProviderStateMixin);
    _inherit(Y._TreeViewItemState, Y.__TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin);
    _inherit(S.AutoCompleteState, S._AutoCompleteState_State_AutoDisposeMixin);
    _inherit(S._AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin, S._AutoCompleteController_DisposableController_SearchControllerMixin);
    _inherit(S.AutoCompleteController, S._AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin);
    _inherit(B._ServiceExtensionButtonGroupState, B.__ServiceExtensionButtonGroupState_State_AutoDisposeMixin);
    _inheritMany(B._ServiceExtensionWidget, [B._RegisteredServiceExtensionButton, B._ServiceExtensionToggle]);
    _inherit(B.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin, B.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin);
    _inherit(B._RegisteredServiceExtensionButtonState, B.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin);
    _inherit(B.__ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin, B.__ServiceExtensionToggleState_State__ServiceExtensionMixin);
    _inherit(B._ServiceExtensionToggleState, B.__ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin);
    _inherit(B._NotifierCheckboxState, B.__NotifierCheckboxState_State_AutoDisposeMixin);
    _inheritMany(B.ValueNotifier, [B.ImmediateValueNotifier, D.TextEditingController]);
    _inherit(B.DevToolsJsonFile, B.DevToolsFile);
    _inherit(B.ImmutableList, B._ImmutableList_Object_ListMixin);
    _inherit(T.SemanticVersion, T._SemanticVersion_Object_CompareMixin);
    _inherit(T.FlutterVersion, T.SemanticVersion);
    _inheritMany(E.VMDeveloperView, [O.IsolateStatisticsView, Q.VMStatisticsView]);
    _inherit(N.IsolateStatisticsViewController, N._IsolateStatisticsViewController_DisposableController_CpuProfilerControllerProviderMixin);
    _inherit(E._VMDeveloperToolsScreenState, E.__VMDeveloperToolsScreenState_State_AutoDisposeMixin);
    _inheritMany(Q._IsolateMemoryColumn, [Q._IsolateNewSpaceColumn, Q._IsolateOldSpaceColumn, Q._IsolateHeapColumn]);
    _inherit(O.SamplesMemoryJson, O.MemoryJson);
    _inheritMany(E.PlatformInterface, [U.FileSelectorPlatform, D.UrlLauncherPlatform]);
    _inheritMany(U.FileSelectorPlatform, [O.MethodChannelFileSelector, M.FileSelectorWeb]);
    _inheritMany(X.Animation0, [G._AnimationController_Animation_AnimationEagerListenerMixin, S._AlwaysCompleteAnimation, S._AlwaysDismissedAnimation, S.AlwaysStoppedAnimation, S._ProxyAnimation_Animation_AnimationLazyListenerMixin, S._ReverseAnimation_Animation_AnimationLazyListenerMixin, S._CurvedAnimation_Animation_AnimationWithParentMixin, S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin, S._CompoundAnimation_Animation_AnimationLazyListenerMixin, R.__AnimatedEvaluation_Animation_AnimationWithParentMixin, E.__ChangeAnimation_Animation_AnimationWithParentMixin, E.__DragAnimation_Animation_AnimationWithParentMixin]);
    _inherit(G._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin, G._AnimationController_Animation_AnimationEagerListenerMixin);
    _inherit(G._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, G._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin);
    _inherit(G.AnimationController, G._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin);
    _inheritMany(T.Simulation, [G._InterpolationSimulation, G._RepeatingSimulation, D.FrictionSimulation, M.SpringSimulation, Y.BouncingScrollSimulation, Y.ClampingScrollSimulation]);
    _inherit(S._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin, S._ProxyAnimation_Animation_AnimationLazyListenerMixin);
    _inherit(S._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, S._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin);
    _inherit(S.ProxyAnimation, S._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin);
    _inherit(S._ReverseAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalStatusListenersMixin, S._ReverseAnimation_Animation_AnimationLazyListenerMixin);
    _inherit(S.ReverseAnimation, S._ReverseAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalStatusListenersMixin);
    _inherit(S.CurvedAnimation, S._CurvedAnimation_Animation_AnimationWithParentMixin);
    _inherit(S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin, S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin);
    _inherit(S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin);
    _inherit(S.TrainHoppingAnimation, S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin);
    _inherit(S._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin, S._CompoundAnimation_Animation_AnimationLazyListenerMixin);
    _inherit(S._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, S._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin);
    _inherit(S.CompoundAnimation, S._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin);
    _inheritMany(S.CompoundAnimation, [S.AnimationMin, A._AnimationSwap]);
    _inherit(Z.Curve, Z.ParametricCurve);
    _inheritMany(Z.Curve, [Z._Linear, Z.SawTooth, Z.Interval, Z.Threshold, Z.Cubic, Z.FlippedCurve, Z._DecelerateCurve]);
    _inherit(R._AnimatedEvaluation, R.__AnimatedEvaluation_Animation_AnimationWithParentMixin);
    _inheritMany(R.Animatable, [R._ChainedEvaluation, R.Tween, R.CurveTween]);
    _inheritMany(R.Tween, [R.ReverseTween, R.ColorTween, R.SizeTween, R.RectTween, R.IntTween, D.MaterialPointArcTween, L._InputBorderTween, M.ShapeBorderTween, K.ThemeDataTween, S.AlignmentGeometryTween, G.BoxConstraintsTween, G.DecorationTween, G.EdgeInsetsGeometryTween, G.BorderRadiusTween, G.Matrix4Tween, G.TextStyleTween]);
    _inherit(F._CupertinoActivityIndicatorState, F.__CupertinoActivityIndicatorState_State_SingleTickerProviderStateMixin);
    _inheritMany(P.Color, [E._CupertinoDynamicColor_Color_Diagnosticable, E.ColorSwatch]);
    _inherit(E.CupertinoDynamicColor, E._CupertinoDynamicColor_Color_Diagnosticable);
    _inheritMany(F.TextSelectionControls, [L._CupertinoDesktopTextSelectionControls, F.CupertinoTextSelectionControls, L._DesktopTextSelectionControls, F.MaterialTextSelectionControls]);
    _inherit(T.IconThemeData, T._IconThemeData_Object_Diagnosticable);
    _inherit(T._CupertinoIconThemeData_IconThemeData_Diagnosticable, T.IconThemeData);
    _inherit(T.CupertinoIconThemeData, T._CupertinoIconThemeData_IconThemeData_Diagnosticable);
    _inheritMany(L.LocalizationsDelegate, [L._CupertinoLocalizationsDelegate, U._MaterialLocalizationsDelegate, L._WidgetsLocalizationsDelegate]);
    _inheritMany(E.RawScrollbar, [E.CupertinoScrollbar, E._MaterialScrollbar]);
    _inherit(E.RawScrollbarState, E._RawScrollbarState_State_TickerProviderStateMixin);
    _inheritMany(E.RawScrollbarState, [E._CupertinoScrollbarState, E._MaterialScrollbarState]);
    _inherit(N._CupertinoSwitchState, N.__CupertinoSwitchState_State_TickerProviderStateMixin);
    _inheritMany(N.LeafRenderObjectWidget, [N._CupertinoSwitchRenderObjectWidget, T.RawImage, D._Editable, N.ErrorWidget, L.PerformanceOverlay]);
    _inherit(N._RenderCupertinoSwitch, E.RenderConstrainedBox);
    _inherit(R.CupertinoTextThemeData, R._CupertinoTextThemeData_Object_Diagnosticable);
    _inherit(K._CupertinoThemeData_NoDefaultCupertinoThemeData_Diagnosticable, K.NoDefaultCupertinoThemeData);
    _inherit(K.CupertinoThemeData, K._CupertinoThemeData_NoDefaultCupertinoThemeData_Diagnosticable);
    _inherit(K._DefaultCupertinoTextThemeData, R.CupertinoTextThemeData);
    _inheritMany(Y.DiagnosticsNode, [Y.DiagnosticsProperty, Y.DiagnosticsBlock, Y.DiagnosticableNode]);
    _inheritMany(Y.DiagnosticsProperty, [U._ErrorDiagnostic, U.ErrorSpacer, K.DiagnosticsDebugCreator]);
    _inheritMany(U._ErrorDiagnostic, [U.ErrorDescription, U.ErrorSummary, U.ErrorHint]);
    _inherit(U.FlutterErrorDetails, U._FlutterErrorDetails_Object_Diagnosticable);
    _inherit(U.FlutterError, U._FlutterError_Error_DiagnosticableTreeMixin);
    _inherit(U.DiagnosticsStackTrace, Y.DiagnosticsBlock);
    _inheritMany(Y.DiagnosticableNode, [U._FlutterErrorDetailsNode, Y.DiagnosticableTreeNode, A._SemanticsDiagnosticableNode]);
    _inheritMany(D.Key, [D.LocalKey, N.GlobalKey]);
    _inheritMany(D.LocalKey, [D.ValueKey, N.UniqueKey]);
    _inherit(F.LicenseEntryWithLineBreaks, F.LicenseEntry);
    _inherit(N.FlutterErrorDetailsForPointerEventDispatcher, U.FlutterErrorDetails);
    _inherit(F.PointerEvent0, F._PointerEvent_Object_Diagnosticable);
    _inherit(F.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable, F._AbstractPointerEvent);
    _inherit(F.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable__PointerEventDescription, F.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable);
    _inherit(F._TransformedPointerEvent, F.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable__PointerEventDescription);
    _inheritMany(F.PointerEvent0, [F._PointerAddedEvent_PointerEvent__PointerEventDescription, F._PointerRemovedEvent_PointerEvent__PointerEventDescription, F._PointerHoverEvent_PointerEvent__PointerEventDescription, F._PointerEnterEvent_PointerEvent__PointerEventDescription, F._PointerExitEvent_PointerEvent__PointerEventDescription, F._PointerDownEvent_PointerEvent__PointerEventDescription, F._PointerMoveEvent_PointerEvent__PointerEventDescription, F._PointerUpEvent_PointerEvent__PointerEventDescription, F.PointerSignalEvent, F._PointerCancelEvent_PointerEvent__PointerEventDescription]);
    _inherit(F._PointerAddedEvent_PointerEvent__PointerEventDescription__CopyPointerAddedEvent, F._PointerAddedEvent_PointerEvent__PointerEventDescription);
    _inherit(F.PointerAddedEvent, F._PointerAddedEvent_PointerEvent__PointerEventDescription__CopyPointerAddedEvent);
    _inheritMany(F._TransformedPointerEvent, [F.__TransformedPointerAddedEvent__TransformedPointerEvent__CopyPointerAddedEvent, F.__TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent, F.__TransformedPointerHoverEvent__TransformedPointerEvent__CopyPointerHoverEvent, F.__TransformedPointerEnterEvent__TransformedPointerEvent__CopyPointerEnterEvent, F.__TransformedPointerExitEvent__TransformedPointerEvent__CopyPointerExitEvent, F.__TransformedPointerDownEvent__TransformedPointerEvent__CopyPointerDownEvent, F.__TransformedPointerMoveEvent__TransformedPointerEvent__CopyPointerMoveEvent, F.__TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent, F.__TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent, F.__TransformedPointerCancelEvent__TransformedPointerEvent__CopyPointerCancelEvent]);
    _inherit(F._TransformedPointerAddedEvent, F.__TransformedPointerAddedEvent__TransformedPointerEvent__CopyPointerAddedEvent);
    _inherit(F._PointerRemovedEvent_PointerEvent__PointerEventDescription__CopyPointerRemovedEvent, F._PointerRemovedEvent_PointerEvent__PointerEventDescription);
    _inherit(F.PointerRemovedEvent, F._PointerRemovedEvent_PointerEvent__PointerEventDescription__CopyPointerRemovedEvent);
    _inherit(F._TransformedPointerRemovedEvent, F.__TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent);
    _inherit(F._PointerHoverEvent_PointerEvent__PointerEventDescription__CopyPointerHoverEvent, F._PointerHoverEvent_PointerEvent__PointerEventDescription);
    _inherit(F.PointerHoverEvent, F._PointerHoverEvent_PointerEvent__PointerEventDescription__CopyPointerHoverEvent);
    _inherit(F._TransformedPointerHoverEvent, F.__TransformedPointerHoverEvent__TransformedPointerEvent__CopyPointerHoverEvent);
    _inherit(F._PointerEnterEvent_PointerEvent__PointerEventDescription__CopyPointerEnterEvent, F._PointerEnterEvent_PointerEvent__PointerEventDescription);
    _inherit(F.PointerEnterEvent, F._PointerEnterEvent_PointerEvent__PointerEventDescription__CopyPointerEnterEvent);
    _inherit(F._TransformedPointerEnterEvent, F.__TransformedPointerEnterEvent__TransformedPointerEvent__CopyPointerEnterEvent);
    _inherit(F._PointerExitEvent_PointerEvent__PointerEventDescription__CopyPointerExitEvent, F._PointerExitEvent_PointerEvent__PointerEventDescription);
    _inherit(F.PointerExitEvent, F._PointerExitEvent_PointerEvent__PointerEventDescription__CopyPointerExitEvent);
    _inherit(F._TransformedPointerExitEvent, F.__TransformedPointerExitEvent__TransformedPointerEvent__CopyPointerExitEvent);
    _inherit(F._PointerDownEvent_PointerEvent__PointerEventDescription__CopyPointerDownEvent, F._PointerDownEvent_PointerEvent__PointerEventDescription);
    _inherit(F.PointerDownEvent, F._PointerDownEvent_PointerEvent__PointerEventDescription__CopyPointerDownEvent);
    _inherit(F._TransformedPointerDownEvent, F.__TransformedPointerDownEvent__TransformedPointerEvent__CopyPointerDownEvent);
    _inherit(F._PointerMoveEvent_PointerEvent__PointerEventDescription__CopyPointerMoveEvent, F._PointerMoveEvent_PointerEvent__PointerEventDescription);
    _inherit(F.PointerMoveEvent, F._PointerMoveEvent_PointerEvent__PointerEventDescription__CopyPointerMoveEvent);
    _inherit(F._TransformedPointerMoveEvent, F.__TransformedPointerMoveEvent__TransformedPointerEvent__CopyPointerMoveEvent);
    _inherit(F._PointerUpEvent_PointerEvent__PointerEventDescription__CopyPointerUpEvent, F._PointerUpEvent_PointerEvent__PointerEventDescription);
    _inherit(F.PointerUpEvent, F._PointerUpEvent_PointerEvent__PointerEventDescription__CopyPointerUpEvent);
    _inherit(F._TransformedPointerUpEvent, F.__TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent);
    _inherit(F._PointerScrollEvent_PointerSignalEvent__PointerEventDescription, F.PointerSignalEvent);
    _inherit(F._PointerScrollEvent_PointerSignalEvent__PointerEventDescription__CopyPointerScrollEvent, F._PointerScrollEvent_PointerSignalEvent__PointerEventDescription);
    _inherit(F.PointerScrollEvent, F._PointerScrollEvent_PointerSignalEvent__PointerEventDescription__CopyPointerScrollEvent);
    _inherit(F._TransformedPointerScrollEvent, F.__TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent);
    _inherit(F._PointerCancelEvent_PointerEvent__PointerEventDescription__CopyPointerCancelEvent, F._PointerCancelEvent_PointerEvent__PointerEventDescription);
    _inherit(F.PointerCancelEvent, F._PointerCancelEvent_PointerEvent__PointerEventDescription__CopyPointerCancelEvent);
    _inherit(F._TransformedPointerCancelEvent, F.__TransformedPointerCancelEvent__TransformedPointerEvent__CopyPointerCancelEvent);
    _inherit(S._GestureRecognizer_GestureArenaMember_DiagnosticableTreeMixin, D.GestureArenaMember);
    _inherit(S.GestureRecognizer, S._GestureRecognizer_GestureArenaMember_DiagnosticableTreeMixin);
    _inheritMany(S.GestureRecognizer, [S.OneSequenceGestureRecognizer, F.DoubleTapGestureRecognizer]);
    _inheritMany(S.OneSequenceGestureRecognizer, [K.ForcePressGestureRecognizer, S.PrimaryPointerGestureRecognizer, O.DragGestureRecognizer]);
    _inheritMany(O._TransformPart, [O._MatrixTransformPart, O._OffsetTransformPart]);
    _inheritMany(S.PrimaryPointerGestureRecognizer, [T.LongPressGestureRecognizer, N.BaseTapGestureRecognizer]);
    _inheritMany(O.DragGestureRecognizer, [O.VerticalDragGestureRecognizer, O.HorizontalDragGestureRecognizer, O.PanGestureRecognizer]);
    _inheritMany(N.BaseTapGestureRecognizer, [N.TapGestureRecognizer, X._AnyTapGestureRecognizer]);
    _inherit(R.IOSScrollViewFlingVelocityTracker, R.VelocityTracker);
    _inherit(S.MaterialScrollBehavior, K.ScrollBehavior);
    _inheritMany(T.SingleChildLayoutDelegate, [E._ToolbarContainerLayout, K._DropdownMenuRouteLayout, Z._PopupMenuRouteLayout, S._TooltipPositionDelegate]);
    _inherit(E._PreferredAppBarSize, P.Size);
    _inherit(T.RenderShiftedBox, T._RenderShiftedBox_RenderBox_RenderObjectWithChildMixin);
    _inheritMany(T.RenderShiftedBox, [T.RenderAligningShiftedBox, Z._RenderInputPadding, K._RenderInputPadding0, Z._RenderMenuItem0, E._SelectToggleButtonRenderObject, T.RenderPadding, T.RenderCustomSingleChildLayoutBox]);
    _inheritMany(T.RenderAligningShiftedBox, [E._RenderAppBarTitleBox, F.RenderAnimatedSize, T.RenderPositionedBox, T.RenderConstrainedOverflowBox]);
    _inherit(V.AppBarTheme, V._AppBarTheme_Object_Diagnosticable);
    _inherit(D.MaterialRectArcTween, R.RectTween);
    _inherit(Q.MaterialBannerThemeData, Q._MaterialBannerThemeData_Object_Diagnosticable);
    _inherit(D.BottomAppBarTheme, D._BottomAppBarTheme_Object_Diagnosticable);
    _inherit(M.BottomNavigationBarThemeData, M._BottomNavigationBarThemeData_Object_Diagnosticable);
    _inherit(X.BottomSheetThemeData, X._BottomSheetThemeData_Object_Diagnosticable);
    _inherit(M.ButtonBarThemeData, M._ButtonBarThemeData_Object_Diagnosticable);
    _inherit(A.ButtonStyle, A._ButtonStyle_Object_Diagnosticable);
    _inherit(K._ButtonStyleState, K.__ButtonStyleState_State_TickerProviderStateMixin);
    _inherit(A.MouseCursor0, A._MouseCursor_Object_Diagnosticable);
    _inheritMany(A.MouseCursor0, [V.MaterialStateMouseCursor, A._DeferringMouseCursor, A.SystemMouseCursor]);
    _inheritMany(V.MaterialStateMouseCursor, [K._MouseCursor, V._EnabledAndDisabledMouseCursor]);
    _inherit(M.ButtonThemeData, M._ButtonThemeData_Object_Diagnosticable);
    _inherit(A.CardTheme, A._CardTheme_Object_Diagnosticable);
    _inherit(K.__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin, K.__CheckboxState_State_TickerProviderStateMixin);
    _inherit(K._CheckboxState, K.__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin);
    _inheritMany(F.ToggleablePainter, [K._CheckboxPainter, N._SwitchPainter]);
    _inherit(F.CheckboxThemeData, F._CheckboxThemeData_Object_Diagnosticable);
    _inherit(K.ChipThemeData, K._ChipThemeData_Object_Diagnosticable);
    _inherit(A.ColorScheme, A._ColorScheme_Object_Diagnosticable);
    _inheritMany(E.ColorSwatch, [E.MaterialColor, E.MaterialAccentColor]);
    _inheritMany(R.InkResponse, [S.TableRowInkWell, R.InkWell]);
    _inheritMany(S.TableColumnWidth, [S._NullTableColumnWidth, S.IntrinsicColumnWidth, S.FixedColumnWidth, S.FlexColumnWidth]);
    _inherit(Z.DataTableThemeData, Z._DataTableThemeData_Object_Diagnosticable);
    _inheritMany(K.Route, [T.OverlayRoute, K._NotAnnounced]);
    _inherit(T.TransitionRoute, T.OverlayRoute);
    _inherit(T._ModalRoute_TransitionRoute_LocalHistoryRoute, T.TransitionRoute);
    _inherit(T.ModalRoute, T._ModalRoute_TransitionRoute_LocalHistoryRoute);
    _inheritMany(T.ModalRoute, [T.PopupRoute, V.PageRoute]);
    _inheritMany(T.PopupRoute, [T.RawDialogRoute, K._DropdownRoute, Z._PopupMenuRoute]);
    _inherit(E.DialogRoute, T.RawDialogRoute);
    _inherit(Y.DialogTheme, Y._DialogTheme_Object_Diagnosticable);
    _inherit(G.DividerThemeData, G._DividerThemeData_Object_Diagnosticable);
    _inherit(K._DropdownButtonState, K.__DropdownButtonState_State_WidgetsBindingObserver);
    _inheritMany(K.ButtonStyleButton, [D.ElevatedButton, B.OutlinedButton, U.TextButton]);
    _inheritMany(V.MaterialStateProperty, [D.__ElevatedButtonDefaultBackground_MaterialStateProperty_Diagnosticable, D.__ElevatedButtonDefaultForeground_MaterialStateProperty_Diagnosticable, D.__ElevatedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable, D.__ElevatedButtonDefaultElevation_MaterialStateProperty_Diagnosticable, D.__ElevatedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, B.__OutlinedButtonDefaultForeground_MaterialStateProperty_Diagnosticable, B.__OutlinedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable, B.__OutlinedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, U._TextButtonDefaultForeground, U._TextButtonDefaultOverlay, U.__TextButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable]);
    _inherit(D._ElevatedButtonDefaultBackground, D.__ElevatedButtonDefaultBackground_MaterialStateProperty_Diagnosticable);
    _inherit(D._ElevatedButtonDefaultForeground, D.__ElevatedButtonDefaultForeground_MaterialStateProperty_Diagnosticable);
    _inherit(D._ElevatedButtonDefaultOverlay, D.__ElevatedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable);
    _inherit(D._ElevatedButtonDefaultElevation, D.__ElevatedButtonDefaultElevation_MaterialStateProperty_Diagnosticable);
    _inherit(D._ElevatedButtonDefaultMouseCursor, D.__ElevatedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable);
    _inherit(T.ElevatedButtonThemeData, T._ElevatedButtonThemeData_Object_Diagnosticable);
    _inherit(O._ExpansionTileState, O.__ExpansionTileState_State_SingleTickerProviderStateMixin);
    _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);
    _inherit(S.FloatingActionButtonThemeData, S._FloatingActionButtonThemeData_Object_Diagnosticable);
    _inheritMany(M.InkFeature, [D.InkDecoration, R.InteractiveInkFeature]);
    _inheritMany(R.InteractiveInkFeature, [Y.InkHighlight, O.InkRipple, U.InkSplash]);
    _inheritMany(R.InteractiveInkFeatureFactory, [O._InkRippleFactory, U._InkSplashFactory]);
    _inherit(R._InkResponseState, R.__InkResponseState_State_AutomaticKeepAliveClientMixin);
    _inheritMany(Y.ShapeBorder, [F.InputBorder, Y.OutlinedBorder, Y._CompoundBorder, F.BoxBorder]);
    _inheritMany(F.InputBorder, [F._NoInputBorder, F.UnderlineInputBorder, F.OutlineInputBorder]);
    _inherit(L._BorderContainerState, L.__BorderContainerState_State_TickerProviderStateMixin);
    _inheritMany(K.AnimatedWidget, [L._Shaker, E._TabStyle, X.AnimatedModalBarrier, K.SlideTransition, K.ScaleTransition, K.RotationTransition, K.SizeTransition, K.AnimatedBuilder]);
    _inherit(L._HelperErrorState, L.__HelperErrorState_State_SingleTickerProviderStateMixin);
    _inheritMany(N.Element0, [N.RenderObjectElement, N.ComponentElement, N._NullElement]);
    _inheritMany(N.RenderObjectElement, [L._DecorationElement, Q._ListTileElement, N.SingleChildRenderObjectElement, N.RootRenderObjectElement, N.LeafRenderObjectElement, N.MultiChildRenderObjectElement, A._LayoutBuilderElement, G.SliverMultiBoxAdaptorElement, S._TableElement]);
    _inherit(L._InputDecoratorState, L.__InputDecoratorState_State_TickerProviderStateMixin);
    _inherit(L.InputDecorationTheme, L._InputDecorationTheme_Object_Diagnosticable);
    _inheritMany(M.InheritedTheme, [Q.ListTileTheme, K._InheritedTheme, Y.IconTheme, L.DefaultTextStyle]);
    _inherit(M._MaterialState, M.__MaterialState_State_TickerProviderStateMixin);
    _inheritMany(G.ImplicitlyAnimatedWidget, [M._MaterialInterior, K.AnimatedTheme, G.AnimatedContainer, G.AnimatedPadding, G.AnimatedOpacity, G.AnimatedDefaultTextStyle, G.AnimatedPhysicalModel, Z.TweenAnimationBuilder]);
    _inherit(G.ImplicitlyAnimatedWidgetState, G._ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin);
    _inheritMany(G.ImplicitlyAnimatedWidgetState, [G.AnimatedWidgetBaseState, G._AnimatedOpacityState]);
    _inheritMany(G.AnimatedWidgetBaseState, [M._MaterialInteriorState, K._AnimatedThemeState, G._AnimatedContainerState, G._AnimatedPaddingState, G._AnimatedDefaultTextStyleState, G._AnimatedPhysicalModelState, Z._TweenAnimationBuilderState]);
    _inherit(E._NavigationRailState, E.__NavigationRailState_State_TickerProviderStateMixin);
    _inherit(E.NavigationRailThemeData, E._NavigationRailThemeData_Object_Diagnosticable);
    _inherit(B._OutlinedButtonDefaultForeground, B.__OutlinedButtonDefaultForeground_MaterialStateProperty_Diagnosticable);
    _inherit(B._OutlinedButtonDefaultOverlay, B.__OutlinedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable);
    _inherit(B._OutlinedButtonDefaultMouseCursor, B.__OutlinedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable);
    _inherit(U.OutlinedButtonThemeData, U._OutlinedButtonThemeData_Object_Diagnosticable);
    _inherit(K.Page, K.RouteSettings);
    _inherit(V.MaterialPage, K.Page);
    _inherit(V.__PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin, V.PageRoute);
    _inherit(V._PageBasedMaterialPageRoute, V.__PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin);
    _inherit(K.PageTransitionsTheme, K._PageTransitionsTheme_Object_Diagnosticable);
    _inherit(Z.PopupMenuItem, Z.PopupMenuEntry);
    _inherit(R.PopupMenuThemeData, R._PopupMenuThemeData_Object_Diagnosticable);
    _inheritMany(U.ProgressIndicator, [U.LinearProgressIndicator, U.CircularProgressIndicator]);
    _inherit(U._LinearProgressIndicatorState, U.__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin);
    _inherit(U._CircularProgressIndicatorState, U.__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin);
    _inherit(B.ProgressIndicatorThemeData, B._ProgressIndicatorThemeData_Object_Diagnosticable);
    _inherit(T.RadioThemeData, T._RadioThemeData_Object_Diagnosticable);
    _inherit(M.ScaffoldMessengerState, M._ScaffoldMessengerState_State_TickerProviderStateMixin);
    _inheritMany(K.Constraints, [S.BoxConstraints, G.SliverConstraints]);
    _inherit(M._BodyBoxConstraints, S.BoxConstraints);
    _inheritMany(B.MultiChildLayoutDelegate, [M._ScaffoldLayout, E._ToolbarLayout]);
    _inherit(M._FloatingActionButtonTransitionState, M.__FloatingActionButtonTransitionState_State_TickerProviderStateMixin);
    _inherit(M._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin, M._ScaffoldState_State_TickerProviderStateMixin);
    _inherit(M.ScaffoldState, M._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin);
    _inherit(X.ScrollbarThemeData, X._ScrollbarThemeData_Object_Diagnosticable);
    _inherit(O._TextSpanEditingController, D.TextEditingController);
    _inheritMany(F.TextSelectionGestureDetectorBuilder, [O._SelectableTextSelectionGestureDetectorBuilder, Z._TextFieldSelectionGestureDetectorBuilder]);
    _inherit(O._SelectableTextState, O.__SelectableTextState_State_AutomaticKeepAliveClientMixin);
    _inherit(Q.SliderThemeData, Q._SliderThemeData_Object_Diagnosticable);
    _inherit(K.SnackBarThemeData, K._SnackBarThemeData_Object_Diagnosticable);
    _inherit(N.__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin, N.__MaterialSwitchState_State_TickerProviderStateMixin);
    _inherit(N._MaterialSwitchState, N.__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin);
    _inherit(R.SwitchThemeData, R._SwitchThemeData_Object_Diagnosticable);
    _inherit(U.TabBarTheme, U._TabBarTheme_Object_Diagnosticable);
    _inherit(U._DefaultTabControllerState, U.__DefaultTabControllerState_State_SingleTickerProviderStateMixin);
    _inherit(Z.Decoration, Z._Decoration_Object_Diagnosticable);
    _inheritMany(Z.Decoration, [T.UnderlineTabIndicator, S.BoxDecoration, V.ShapeDecoration]);
    _inheritMany(Z.BoxPainter, [T._UnderlinePainter, S._BoxDecorationPainter, V._ShapeDecorationPainter]);
    _inherit(F._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, F._RenderFlex_RenderBox_ContainerRenderObjectMixin);
    _inherit(F._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_DebugOverflowIndicatorMixin, F._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(F.RenderFlex, F._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_DebugOverflowIndicatorMixin);
    _inherit(E._TabLabelBarRenderer, F.RenderFlex);
    _inheritMany(N.MultiChildRenderObjectWidget, [T.Flex, T.CustomMultiChildLayout, T.ListBody, T.Stack, T.Wrap, T.RichText, E.OverflowBar, X._Theatre, Q.Viewport, Q.ShrinkWrappingViewport]);
    _inheritMany(T.Flex, [E._TabLabelBar, T.Row, T.Column]);
    _inherit(E._ChangeAnimation, E.__ChangeAnimation_Animation_AnimationWithParentMixin);
    _inherit(E._DragAnimation, E.__DragAnimation_Animation_AnimationWithParentMixin);
    _inherit(U._TextButtonDefaultMouseCursor, U.__TextButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable);
    _inherit(T.TextButtonThemeData, T._TextButtonThemeData_Object_Diagnosticable);
    _inherit(Z._TextFieldState, Z.__TextFieldState_State_RestorationMixin);
    _inherit(R.TextSelectionThemeData, R._TextSelectionThemeData_Object_Diagnosticable);
    _inherit(R.TextTheme, R._TextTheme_Object_Diagnosticable);
    _inherit(X.ThemeData, X._ThemeData_Object_Diagnosticable);
    _inherit(X.MaterialBasedCupertinoThemeData, K.CupertinoThemeData);
    _inherit(X.VisualDensity, X._VisualDensity_Object_Diagnosticable);
    _inherit(A.TimePickerThemeData, A._TimePickerThemeData_Object_Diagnosticable);
    _inherit(S.ToggleButtonsThemeData, S._ToggleButtonsThemeData_Object_Diagnosticable);
    _inherit(S._TooltipState, S.__TooltipState_State_SingleTickerProviderStateMixin);
    _inherit(T.TooltipThemeData, T._TooltipThemeData_Object_Diagnosticable);
    _inherit(U.Typography, U._Typography_Object_Diagnosticable);
    _inheritMany(K.AlignmentGeometry, [K.Alignment, K.AlignmentDirectional, K._MixedAlignment]);
    _inheritMany(K.BorderRadiusGeometry, [K.BorderRadius, K._MixedBorderRadius]);
    _inheritMany(F.BoxBorder, [F.Border, F.BorderDirectional]);
    _inherit(O.BoxShadow, P.Shadow);
    _inheritMany(Y.OutlinedBorder, [X.CircleBorder, S.ContinuousRectangleBorder, X.RoundedRectangleBorder, X._RoundedRectangleToCircleBorder]);
    _inheritMany(V.EdgeInsetsGeometry, [V.EdgeInsets, V.EdgeInsetsDirectional, V._MixedEdgeInsets]);
    _inherit(T.LinearGradient, T.Gradient);
    _inheritMany(E._CachedImageBase, [E._CachedImage, E._LiveImage]);
    _inheritMany(M.ImageProvider, [M.AssetBundleImageProvider, M.MemoryImage, Y.ScrollAwareImageProvider]);
    _inherit(L.ImageStreamCompleter, L._ImageStreamCompleter_Object_Diagnosticable);
    _inheritMany(L.ImageStreamCompleter, [M._ErrorImageCompleter, L.MultiFrameImageStreamCompleter]);
    _inherit(L.AssetImage, M.AssetBundleImageProvider);
    _inherit(L.ImageStream, L._ImageStream_Object_Diagnosticable);
    _inherit(D.DefaultShaderWarmUp, D.ShaderWarmUp);
    _inherit(M.StrutStyle, M._StrutStyle_Object_Diagnosticable);
    _inherit(Q.TextSpan, G.InlineSpan);
    _inherit(A.TextStyle, A._TextStyle_Object_Diagnosticable);
    _inherit(M.ScrollSpringSimulation, M.SpringSimulation);
    _inheritMany(O.HitTestResult, [S.BoxHitTestResult, G.SliverHitTestResult]);
    _inheritMany(O.HitTestEntry, [S.BoxHitTestEntry, G.SliverHitTestEntry]);
    _inheritMany(K.ParentData, [S.BoxParentData, G.SliverLogicalParentData, G.SliverPhysicalParentData]);
    _inheritMany(S.BoxParentData, [S._ContainerBoxParentData_BoxParentData_ContainerParentDataMixin, S.TableCellParentData]);
    _inherit(S.ContainerBoxParentData, S._ContainerBoxParentData_BoxParentData_ContainerParentDataMixin);
    _inheritMany(S.ContainerBoxParentData, [B.MultiChildLayoutParentData, F.FlexParentData, R.ListBodyParentData, Q.TextParentData, K.StackParentData, N.WrapParentData, E._OverflowBarParentData]);
    _inherit(B._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, B._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin);
    _inherit(B.RenderCustomMultiChildLayoutBox, B._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(D.RenderEditable, D._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin);
    _inheritMany(D.RenderEditablePainter, [D._TextHighlightPainter, D._FloatingCursorPainter, D._CompositeRenderEditablePainter]);
    _inherit(T.Layer0, T._Layer_AbstractNode_DiagnosticableTreeMixin);
    _inheritMany(T.Layer0, [T.PictureLayer, T.PerformanceOverlayLayer, T.ContainerLayer0]);
    _inheritMany(T.ContainerLayer0, [T.OffsetLayer, T.ClipRectLayer, T.ClipRRectLayer, T.ClipPathLayer, T.OpacityLayer, T.PhysicalModelLayer, T.LeaderLayer, T.FollowerLayer, T.AnnotatedRegionLayer]);
    _inherit(T.TransformLayer, T.OffsetLayer);
    _inherit(R._RenderListBody_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, R._RenderListBody_RenderBox_ContainerRenderObjectMixin);
    _inherit(R.RenderListBody, R._RenderListBody_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(A._MouseTrackerUpdateDetails, A.__MouseTrackerUpdateDetails_Object_Diagnosticable);
    _inherit(K.PaintingContext, Z.ClipContext);
    _inheritMany(K._SemanticsFragment, [K._ContainerSemanticsFragment, K._InterestingSemanticsFragment]);
    _inheritMany(K._InterestingSemanticsFragment, [K._RootSemanticsFragment, K._SwitchableSemanticsFragment, K._AbortingSemanticsFragment]);
    _inherit(Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin);
    _inherit(Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_RelayoutWhenSystemFontsChangeMixin, Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(Q.RenderParagraph, Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_RelayoutWhenSystemFontsChangeMixin);
    _inherit(E._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin_RenderAnimatedOpacityMixin, E._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin);
    _inherit(E.RenderAnimatedOpacity, E._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin_RenderAnimatedOpacityMixin);
    _inheritMany(E.CustomClipper, [E.ShapeBorderClipper, M._DecorationClipper]);
    _inheritMany(E._RenderCustomClip, [E.RenderClipRect, E.RenderClipRRect, E.RenderClipPath, E._RenderPhysicalModelBase]);
    _inheritMany(E._RenderPhysicalModelBase, [E.RenderPhysicalModel, E.RenderPhysicalShape]);
    _inheritMany(E.RenderProxyBoxWithHitTestBehavior, [E.RenderPointerListener, E.RenderMetaData, E.RenderSemanticsGestureHandler, T._RenderColoredBox]);
    _inherit(O.RenderRotatedBox, O._RenderRotatedBox_RenderBox_RenderObjectWithChildMixin);
    _inherit(G.SliverGeometry, G._SliverGeometry_Object_Diagnosticable);
    _inheritMany(G.SliverLogicalParentData, [G._SliverLogicalContainerParentData_SliverLogicalParentData_ContainerParentDataMixin, F._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin]);
    _inherit(G.SliverLogicalContainerParentData, G._SliverLogicalContainerParentData_SliverLogicalParentData_ContainerParentDataMixin);
    _inherit(G._SliverPhysicalContainerParentData_SliverPhysicalParentData_ContainerParentDataMixin, G.SliverPhysicalParentData);
    _inherit(G.SliverPhysicalContainerParentData, G._SliverPhysicalContainerParentData_SliverPhysicalParentData_ContainerParentDataMixin);
    _inheritMany(X.RenderSliverFixedExtentBoxAdaptor, [A.RenderSliverFillViewport, X.RenderSliverFixedExtentList]);
    _inherit(F._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin_KeepAliveParentDataMixin, F._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin);
    _inherit(F.SliverMultiBoxAdaptorParentData, F._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin_KeepAliveParentDataMixin);
    _inherit(T.RenderSliverEdgeInsetsPadding, T._RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin);
    _inheritMany(T.RenderSliverEdgeInsetsPadding, [T.RenderSliverPadding, A._RenderSliverFractionalPadding]);
    _inherit(K._RenderStack_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, K._RenderStack_RenderBox_ContainerRenderObjectMixin);
    _inherit(K.RenderStack, K._RenderStack_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(K.RenderIndexedStack, K.RenderStack);
    _inherit(A.RenderView, A._RenderView_RenderObject_RenderObjectWithChildMixin);
    _inherit(Q.RenderViewportBase, Q._RenderViewportBase_RenderBox_ContainerRenderObjectMixin);
    _inheritMany(Q.RenderViewportBase, [Q.RenderViewport, Q.RenderShrinkWrappingViewport]);
    _inherit(N._RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, N._RenderWrap_RenderBox_ContainerRenderObjectMixin);
    _inherit(N.RenderWrap, N._RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(A.SemanticsData, A._SemanticsData_Object_Diagnosticable);
    _inherit(A.SemanticsNode, A._SemanticsNode_AbstractNode_DiagnosticableTreeMixin);
    _inherit(A._SemanticsSortGroup, P.Comparable);
    _inherit(A.SemanticsSortKey, A._SemanticsSortKey_Object_Diagnosticable);
    _inherit(A.OrdinalSortKey, A.SemanticsSortKey);
    _inheritMany(E.SemanticsEvent, [E.TooltipSemanticsEvent, E.LongPressSemanticsEvent, E.TapSemanticEvent]);
    _inherit(Q.CachingAssetBundle, Q.AssetBundle);
    _inherit(Q.PlatformAssetBundle, Q.CachingAssetBundle);
    _inheritMany(Q.BinaryMessenger, [N._DefaultBinaryMessenger, D.Registrar]);
    _inherit(G.KeyboardKey, G._KeyboardKey_Object_Diagnosticable);
    _inheritMany(G.KeyboardKey, [G.LogicalKeyboardKey, G.PhysicalKeyboardKey]);
    _inherit(A._SystemMouseCursorSession, A.MouseCursorSession);
    _inherit(A.OptionalMethodChannel, A.MethodChannel);
    _inherit(B.RawKeyEvent, B._RawKeyEvent_Object_Diagnosticable);
    _inheritMany(B.RawKeyEvent, [B.RawKeyDownEvent, B.RawKeyUpEvent]);
    _inheritMany(B.RawKeyEventData, [Q.RawKeyEventDataFuchsia, B.RawKeyEventDataMacOs, A.RawKeyEventDataWeb]);
    _inherit(X.TextSelection, P.TextRange);
    _inherit(B.FilteringTextInputFormatter, B.TextInputFormatter);
    _inherit(U.ActionDispatcher, U._ActionDispatcher_Object_Diagnosticable);
    _inherit(U._AnimatedCrossFadeState, U.__AnimatedCrossFadeState_State_TickerProviderStateMixin);
    _inherit(F._AnimatedSizeState, F.__AnimatedSizeState_State_SingleTickerProviderStateMixin);
    _inherit(S._WidgetsAppState, S.__WidgetsAppState_State_WidgetsBindingObserver);
    _inherit(S._MediaQueryFromWindowsState, S.__MediaQueryFromWindowsState_State_WidgetsBindingObserver);
    _inherit(B.StreamBuilder, B.StreamBuilderBase);
    _inheritMany(U.Notification1, [L.KeepAliveNotification, U.LayoutChangedNotification, L._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin]);
    _inherit(T.Center, T.Align);
    _inherit(T._OffstageElement, N.SingleChildRenderObjectElement);
    _inherit(T.IndexedStack, T.Stack);
    _inherit(T.Expanded, T.Flexible);
    _inherit(N.RenderObjectToWidgetElement, N.RootRenderObjectElement);
    _inherit(N._WidgetsFlutterBinding_BindingBase_GestureBinding, N.BindingBase);
    _inherit(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding, N._WidgetsFlutterBinding_BindingBase_GestureBinding);
    _inherit(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding);
    _inherit(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding);
    _inherit(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding);
    _inherit(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding);
    _inherit(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding);
    _inherit(N.WidgetsFlutterBinding, N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding);
    _inherit(E.DefaultTextEditingActions, U.Actions);
    _inherit(Y.TextEditingAction, U.ContextAction);
    _inheritMany(Y.TextEditingAction, [E._DoNothingAndStopPropagationTextAction, E._DeleteTextAction, E._DeleteByWordTextAction, E._DeleteByLineTextAction, E._DeleteForwardTextAction, E._DeleteForwardByWordTextAction, E._DeleteForwardByLineTextAction, E._ExpandSelectionLeftByLineTextAction, E._ExpandSelectionRightByLineTextAction, E._ExpandSelectionToEndTextAction, E._ExpandSelectionToStartTextAction, E._ExtendSelectionDownTextAction, E._ExtendSelectionLeftByLineTextAction, E._ExtendSelectionLeftByWordAndStopAtReversalTextAction, E._ExtendSelectionLeftByWordTextAction, E._ExtendSelectionLeftTextAction, E._ExtendSelectionRightByLineTextAction, E._ExtendSelectionRightByWordAndStopAtReversalTextAction, E._ExtendSelectionRightByWordTextAction, E._ExtendSelectionRightTextAction, E._ExtendSelectionUpTextAction, E._MoveSelectionDownTextAction, E._MoveSelectionLeftTextAction, E._MoveSelectionRightTextAction, E._MoveSelectionUpTextAction, E._MoveSelectionLeftByLineTextAction, E._MoveSelectionLeftByWordTextAction, E._MoveSelectionRightByLineTextAction, E._MoveSelectionRightByWordTextAction, E._MoveSelectionToEndTextAction, E._MoveSelectionToStartTextAction]);
    _inherit(E.DefaultTextEditingShortcuts, X.Shortcuts);
    _inherit(Q.__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin, Q.__DismissibleState_State_TickerProviderStateMixin);
    _inherit(Q._DismissibleState, Q.__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin);
    _inherit(D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver, D._EditableTextState_State_AutomaticKeepAliveClientMixin);
    _inherit(D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin, D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver);
    _inherit(D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin_TextSelectionDelegate, D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin);
    _inherit(D.EditableTextState, D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin_TextSelectionDelegate);
    _inherit(O._FocusNode_Object_DiagnosticableTreeMixin_ChangeNotifier, O._FocusNode_Object_DiagnosticableTreeMixin);
    _inherit(O.FocusNode, O._FocusNode_Object_DiagnosticableTreeMixin_ChangeNotifier);
    _inherit(O.FocusScopeNode, O.FocusNode);
    _inherit(O._FocusManager_Object_DiagnosticableTreeMixin_ChangeNotifier, O._FocusManager_Object_DiagnosticableTreeMixin);
    _inherit(O.FocusManager, O._FocusManager_Object_DiagnosticableTreeMixin_ChangeNotifier);
    _inherit(L.FocusScope, L.Focus);
    _inherit(L._FocusScopeState, L._FocusState);
    _inheritMany(S.InheritedNotifier, [L._FocusMarker, X._ShortcutsMarker]);
    _inherit(U.FocusTraversalPolicy, U._FocusTraversalPolicy_Object_Diagnosticable);
    _inherit(U._ReadingOrderSortData, U.__ReadingOrderSortData_Object_Diagnosticable);
    _inherit(U._ReadingOrderDirectionalGroupData, U.__ReadingOrderDirectionalGroupData_Object_Diagnosticable);
    _inherit(U._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin, U.FocusTraversalPolicy);
    _inherit(U.ReadingOrderTraversalPolicy, U._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin);
    _inheritMany(N.GlobalKey, [N.LabeledGlobalKey, N.GlobalObjectKey]);
    _inherit(N._ElementDiagnosticableTreeNode, Y.DiagnosticableTreeNode);
    _inheritMany(N.ComponentElement, [N.StatelessElement, N.StatefulElement, N.ProxyElement]);
    _inheritMany(N.ProxyElement, [N.ParentDataElement, N.InheritedElement]);
    _inheritMany(D.GestureRecognizerFactory, [D.GestureRecognizerFactoryWithHandlers, X._AnyTapGestureRecognizerFactory]);
    _inheritMany(D.SemanticsGestureDelegate, [D._DefaultSemanticsGestureDelegate, X._ModalBarrierSemanticsDelegate]);
    _inherit(T.HeroController, K.NavigatorObserver);
    _inherit(U._ImageState, U.__ImageState_State_WidgetsBindingObserver);
    _inheritMany(N.InheritedElement, [S._InheritedNotifierElement, N._UncontrolledProviderScopeElement, Y._InheritedProviderScopeElement]);
    _inherit(A.LayoutBuilder, A.ConstrainedLayoutBuilder);
    _inherit(A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder, A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin);
    _inherit(A._RenderLayoutBuilder, A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder);
    _inherit(K.DefaultTransitionDelegate, K.TransitionDelegate);
    _inherit(K._RouteEntry, K.RouteTransitionRecord);
    _inheritMany(K._NavigatorObservation, [K._NavigatorPushObservation, K._NavigatorPopObservation, K._NavigatorRemoveObservation, K._NavigatorReplaceObservation]);
    _inherit(K._NavigatorState_State_TickerProviderStateMixin_RestorationMixin, K._NavigatorState_State_TickerProviderStateMixin);
    _inherit(K.NavigatorState, K._NavigatorState_State_TickerProviderStateMixin_RestorationMixin);
    _inheritMany(K._RestorationInformation, [K._NamedRestorationInformation, K._AnonymousRestorationInformation]);
    _inheritMany(K.RestorableProperty, [K._HistoryProperty, U.RestorableValue, U.RestorableListenable]);
    _inherit(E.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, E.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin);
    _inherit(E._RenderOverflowBar, E.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(X.OverlayState, X._OverlayState_State_TickerProviderStateMixin);
    _inheritMany(N.MultiChildRenderObjectElement, [X._TheatreElement, Q._ViewportElement]);
    _inherit(X._RenderTheatre, X.__RenderTheatre_RenderBox_ContainerRenderObjectMixin);
    _inherit(L._GlowingOverscrollIndicatorState, L.__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin);
    _inherit(L.OverscrollIndicatorNotification, L._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin);
    _inheritMany(D.ValueKey, [S.PageStorageKey, G._SaltedValueKey]);
    _inherit(M.FixedScrollMetrics, M._FixedScrollMetrics_Object_ScrollMetrics);
    _inherit(D.PageMetrics, M.FixedScrollMetrics);
    _inheritMany(L.ScrollPhysics, [D._ForceImplicitScrollPhysics, D.PageScrollPhysics, L.RangeMaintainingScrollPhysics, L.BouncingScrollPhysics, L.ClampingScrollPhysics, L.AlwaysScrollableScrollPhysics, L.NeverScrollableScrollPhysics]);
    _inherit(K._RestorationScopeState, K.__RestorationScopeState_State_RestorationMixin);
    _inheritMany(U.RestorableValue, [U._RestorablePrimitiveValueN, Z._RestorableRouteInformation, F._RestorableScrollOffset]);
    _inherit(U._RestorablePrimitiveValue, U._RestorablePrimitiveValueN);
    _inheritMany(U._RestorablePrimitiveValue, [U.RestorableNum, U.RestorableBool]);
    _inherit(U.RestorableChangeNotifier, U.RestorableListenable);
    _inherit(U.RestorableTextEditingController, U.RestorableChangeNotifier);
    _inherit(Z._RouterState, Z.__RouterState_State_RestorationMixin);
    _inherit(Z.BackButtonDispatcher, Z._CallbackHookProvider);
    _inherit(Z._RootBackButtonDispatcher_BackButtonDispatcher_WidgetsBindingObserver, Z.BackButtonDispatcher);
    _inherit(Z.RootBackButtonDispatcher, Z._RootBackButtonDispatcher_BackButtonDispatcher_WidgetsBindingObserver);
    _inherit(Z._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver, Z.RouteInformationProvider);
    _inherit(Z._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver_ChangeNotifier, Z._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver);
    _inherit(Z.PlatformRouteInformationProvider, Z._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver_ChangeNotifier);
    _inherit(T._DismissModalAction, U.DismissAction);
    _inherit(G._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin, U.LayoutChangedNotification);
    _inherit(G.ScrollNotification, G._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin);
    _inheritMany(G.ScrollNotification, [G.ScrollStartNotification, G.ScrollUpdateNotification, G.OverscrollNotification, G.ScrollEndNotification, G.UserScrollNotification]);
    _inheritMany(P.LinkedListEntry, [Q._ListenerEntry, L._LinkedListEntry, L._Listener, L._ListenerEntry0]);
    _inherit(F._ScrollableState_State_TickerProviderStateMixin_RestorationMixin, F._ScrollableState_State_TickerProviderStateMixin);
    _inherit(F.ScrollableState, F._ScrollableState_State_TickerProviderStateMixin_RestorationMixin);
    _inherit(E._ThumbPressGestureRecognizer, T.LongPressGestureRecognizer);
    _inheritMany(N.TapGestureRecognizer, [E._TrackTapGestureRecognizer, F._TransparentTapGestureRecognizer]);
    _inherit(X._LogicalKeySet_KeySet_Diagnosticable, X.KeySet);
    _inherit(X.LogicalKeySet, X._LogicalKeySet_KeySet_Diagnosticable);
    _inherit(X.SingleActivator, X._SingleActivator_Object_Diagnosticable);
    _inherit(X._ActivatorIntentPair, X.__ActivatorIntentPair_Object_Diagnosticable);
    _inherit(X.ShortcutManager, X._ShortcutManager_ChangeNotifier_Diagnosticable);
    _inherit(E._RenderSingleChildViewport, E.__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin);
    _inherit(S._TableSlot, S.__TableSlot_Object_Diagnosticable);
    _inherit(F._TextSelectionHandleOverlayState, F.__TextSelectionHandleOverlayState_State_SingleTickerProviderStateMixin);
    _inherit(U._WidgetTicker, M.Ticker);
    _inherit(N._ProviderScopeElement, N.StatefulElement);
    _inherit(D.PluginRegistry, D.Registrar);
    _inherit(O.BrowserClient, E.BaseClient);
    _inherit(Z.ByteStream, P.StreamView);
    _inherit(O.Request, G.BaseRequest);
    _inheritMany(T.BaseResponse, [U.Response, X.StreamedResponse]);
    _inherit(Z.CaseInsensitiveMap, M.CanonicalizedMap);
    _inheritMany(A.DecodeInfo, [L.BmpInfo, Y.ExrImage, K.GifInfo, X.IcoInfo, Q.PngInfo, L.PsdImage, R.TgaInfo, A.TiffInfo, D.WebPInfo]);
    _inheritMany(B.Decoder, [E.BmpDecoder, U.ExrDecoder, F.GifDecoder, X.IcoDecoder, Z.JpegDecoder, G.PngDecoder, V.PsdDecoder, B.TgaDecoder, N.TiffDecoder, E.WebPDecoder]);
    _inherit(E.DibDecoder, E.BmpDecoder);
    _inherit(B.InternalExrCompressor, B.ExrCompressor);
    _inheritMany(B.InternalExrCompressor, [D.InternalExrB44Compressor, G.InternalExrPizCompressor, O.InternalExrPxr24Compressor, Y.InternalExrRleCompressor, R.InternalExrZipCompressor]);
    _inherit(S.InternalExrPart, S.ExrPart);
    _inherit(A.InternalGifImageDesc, A.GifImageDesc);
    _inherit(X.IcoBmpInfo, L.BmpInfo);
    _inherit(D.InternalPngFrame, D.PngFrame);
    _inherit(Q.InternalPngInfo, Q.PngInfo);
    _inheritMany(V.PsdEffect, [U.PsdBevelEffect, M.PsdDropShadowEffect, D.PsdInnerGlowEffect, L.PsdInnerShadowEffect, N.PsdOuterGlowEffect, F.PsdSolidFillEffect]);
    _inheritMany(Q.PsdLayerData, [K.PsdLayerAdditionalData, Y.PsdLayerSectionDivider]);
    _inherit(S.InternalVP8L, S.VP8L);
    _inherit(X.InternalWebPFrame, X.WebPFrame);
    _inherit(D.InternalWebPInfo, D.WebPInfo);
    _inheritMany(A._DateFormatField, [A._DateFormatLiteralField, A._DateFormatQuotedField, A._DateFormatPatternField]);
    _inheritMany(S._CompactStyleBase, [S._CompactStyleWithNegative, S._CompactStyle]);
    _inherit(S._CompactNumberFormat, S.NumberFormat);
    _inheritMany(N.StatelessElement, [D.__NestedElement_StatelessElement_SingleChildWidgetElementMixin, D._NestedHookElement, D._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin]);
    _inherit(D._NestedElement, D.__NestedElement_StatelessElement_SingleChildWidgetElementMixin);
    _inherit(D.SingleChildStatelessElement, D._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin);
    _inherit(B.InternalStyle, O.Style);
    _inheritMany(B.InternalStyle, [E.PosixStyle, F.UrlStyle, L.WindowsStyle]);
    _inherit(Y.InheritedProvider, D.SingleChildStatelessWidget);
    _inherit(Y._InheritedProviderElement, D.SingleChildStatelessElement);
    _inheritMany(Y._Delegate, [Y._CreateInheritedProvider, Y._ValueInheritedProvider]);
    _inheritMany(Y._DelegateState, [Y._CreateInheritedProviderState, Y._ValueInheritedProviderState]);
    _inherit(Y.MultiProvider, D.Nested);
    _inherit(Y.Provider, Y.InheritedProvider);
    _inherit(R.AsyncValue, R._AsyncValue_Object__$AsyncValue);
    _inheritMany(R.AsyncValue, [R.AsyncData, R.AsyncLoading, R.AsyncError0]);
    _inherit(R._$AsyncData, R.AsyncData);
    _inherit(R._$AsyncLoading, R.AsyncLoading);
    _inherit(R._$AsyncError, R.AsyncError0);
    _inherit(L.RootProvider, L.ProviderBase);
    _inheritMany(L.RootProvider, [L.AlwaysAliveProviderBase, L.AutoDisposeProviderBase]);
    _inheritMany(L.AlwaysAliveProviderBase, [Y._Provider_AlwaysAliveProviderBase_ProviderOverridesMixin, F._FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin, F._StateProvider_AlwaysAliveProviderBase_ProviderOverridesMixin, T._StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin]);
    _inherit(Y.Provider0, Y._Provider_AlwaysAliveProviderBase_ProviderOverridesMixin);
    _inheritMany(Y.Provider0, [R.CreatedProvider, T._CreatedStreamProvider]);
    _inheritMany(L.AutoDisposeProviderBase, [Y._AutoDisposeProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin, F._AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin, O._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase__StateNotifierProviderMixin, T._AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin]);
    _inherit(Y.AutoDisposeProvider, Y._AutoDisposeProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin);
    _inheritMany(Y.AutoDisposeProvider, [R.AutoDisposeCreatedProvider, O._AutoDisposeNotifierProvider]);
    _inherit(L.AutoDisposeProviderElement, L.ProviderElement);
    _inherit(F._AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__FutureProviderMixin, F._AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin);
    _inherit(F.AutoDisposeFutureProvider, F._AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__FutureProviderMixin);
    _inheritMany(L.ProviderStateBase, [F._AutoDisposeFutureProviderState, F._FutureProviderState, Y._AutoDisposeProviderState, Y._ProviderState, O._StateNotifierProviderState, F._StateProviderState, T._AutoDisposeStreamProviderState, T._StreamProviderState]);
    _inheritMany(L.Family, [F.AutoDisposeFutureProviderFamily, F.FutureProviderFamily, Y.AutoDisposeProviderFamily, O.AutoDisposeStateNotifierProviderFamily, O._AutoDisposeNotifierFamily, F.StateProviderFamily, T.AutoDisposeStreamProviderFamily]);
    _inherit(F._FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__FutureProviderMixin, F._FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin);
    _inherit(F.FutureProvider, F._FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__FutureProviderMixin);
    _inherit(O.AutoDisposeStateNotifierProvider, O._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase__StateNotifierProviderMixin);
    _inherit(F.StateController, L.StateNotifier);
    _inherit(F.StateProvider, F._StateProvider_AlwaysAliveProviderBase_ProviderOverridesMixin);
    _inherit(T._AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__StreamProviderMixin, T._AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin);
    _inherit(T.AutoDisposeStreamProvider, T._AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__StreamProviderMixin);
    _inherit(T._StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__StreamProviderMixin, T._StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin);
    _inherit(T.StreamProvider, T._StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__StreamProviderMixin);
    _inherit(Y.FileLocation, D.SourceLocationMixin);
    _inheritMany(Y.SourceSpanMixin, [Y._FileSpan, V.SourceSpanBase]);
    _inherit(G.SourceSpanFormatException, G.SourceSpanException);
    _inherit(X.SourceSpanWithContext, V.SourceSpanBase);
    _inheritMany(R.StreamChannelMixin, [M.SseClient, K.GuaranteeChannel, R._StreamChannel, A.HtmlWebSocketChannel, N.WebSocketChannel]);
    _inherit(E.StringScannerException, G.SourceSpanFormatException);
    _inherit(Z.LineScanner, X.StringScanner);
    _inherit(E._IntBuffer0, E.TypedDataBuffer);
    _inherit(E.Uint8Buffer, E._IntBuffer0);
    _inheritMany(D.UrlLauncherPlatform, [F.MethodChannelUrlLauncher, Y.UrlLauncherPlugin]);
    _inheritMany(Q._State, [Q.HttpTimelineLoggingState, Q.SocketProfilingState]);
    _inherit(Q.HttpProfileRequest, Q.HttpProfileRequestRef);
    _inheritMany(Q.Obj, [Q.Breakpoint, Q.Class, Q.Context0, Q.Error, Q.Field, Q.Func, Q.Instance, Q.Library, Q.Script, Q.TypeArguments]);
    _inheritMany(Q.ObjRef, [Q.ClassRef, Q.CodeRef, Q.Code, Q.ContextRef, Q.ErrorRef, Q.FieldRef, Q.FuncRef, Q.InstanceRef, Q.LibraryRef, Q.ScriptRef, Q.TypeArgumentsRef]);
    _inherit(Q.NullValRef, Q.InstanceRef);
    _inherit(Q.NullVal, Q.Instance);
    _inheritMany(O.DelegatingStreamSink, [A._HtmlWebSocketSink, N.WebSocketSink]);
    _mixin(H._DomCanvas_EngineCanvas_SaveElementStackTracking, H.SaveElementStackTracking);
    _mixin(H._PersistedClipRRect_PersistedContainerSurface__DomClip, H._DomClip);
    _mixin(H._PersistedClipRect_PersistedContainerSurface__DomClip, H._DomClip);
    _mixin(H._PersistedPhysicalShape_PersistedContainerSurface__DomClip, H._DomClip);
    _mixin(H.__MouseAdapter__BaseAdapter__WheelEventListenerMixin, H._WheelEventListenerMixin);
    _mixin(H.__PointerAdapter__BaseAdapter__WheelEventListenerMixin, H._WheelEventListenerMixin);
    _mixin(H.UnmodifiableListBase, H.UnmodifiableListMixin);
    _mixin(H.__CastListBase__CastIterableBase_ListMixin, P.ListMixin);
    _mixin(H._NativeFloat32x4List_Object_ListMixin, P.ListMixin);
    _mixin(H._NativeFloat32x4List_Object_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
    _mixin(H._NativeFloat64x2List_Object_ListMixin, P.ListMixin);
    _mixin(H._NativeFloat64x2List_Object_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
    _mixin(H._NativeInt32x4List_Object_ListMixin, P.ListMixin);
    _mixin(H._NativeInt32x4List_Object_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
    _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, P.ListMixin);
    _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
    _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, P.ListMixin);
    _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
    _mixin(P._AsyncStreamController, P._AsyncStreamControllerDispatch);
    _mixin(P._SyncStreamController, P._SyncStreamControllerDispatch);
    _mixin(P.UnmodifiableMapBase, P._UnmodifiableMapMixin);
    _mixin(P._ListBase_Object_ListMixin, P.ListMixin);
    _mixin(P._SplayTreeMap__SplayTree_MapMixin, P.MapMixin);
    _mixin(P._SplayTreeSet__SplayTree_IterableMixin, P.IterableMixin);
    _mixin(P._SplayTreeSet__SplayTree_IterableMixin_SetMixin, P.SetMixin);
    _mixin(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P._UnmodifiableMapMixin);
    _mixin(P.__SetBase_Object_SetMixin, P.SetMixin);
    _mixin(P.__UnmodifiableSet__SetBase__UnmodifiableSetMixin, P._UnmodifiableSetMixin);
    _mixin(P.__JsonStringStringifierPretty__JsonStringStringifier__JsonPrettyPrintMixin, P._JsonPrettyPrintMixin);
    _mixin(W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.CssStyleDeclarationBase);
    _mixin(W._DomRectList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W._DomRectList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._DomStringList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W._DomStringList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._FileList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W._FileList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._HtmlCollection_Interceptor_ListMixin, P.ListMixin);
    _mixin(W._HtmlCollection_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._MidiInputMap_Interceptor_MapMixin, P.MapMixin);
    _mixin(W._MidiOutputMap_Interceptor_MapMixin, P.MapMixin);
    _mixin(W._MimeTypeArray_Interceptor_ListMixin, P.ListMixin);
    _mixin(W._MimeTypeArray_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._NodeList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W._NodeList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._PluginArray_Interceptor_ListMixin, P.ListMixin);
    _mixin(W._PluginArray_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._RtcStatsReport_Interceptor_MapMixin, P.MapMixin);
    _mixin(W._SourceBufferList_EventTarget_ListMixin, P.ListMixin);
    _mixin(W._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._SpeechGrammarList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W._SpeechGrammarList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._Storage_Interceptor_MapMixin, P.MapMixin);
    _mixin(W._TextTrackCueList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W._TextTrackCueList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._TextTrackList_EventTarget_ListMixin, P.ListMixin);
    _mixin(W._TextTrackList_EventTarget_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W._TouchList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W._TouchList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W.__CssRuleList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W.__CssRuleList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W.__GamepadList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W.__GamepadList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W.__NamedNodeMap_Interceptor_ListMixin, P.ListMixin);
    _mixin(W.__NamedNodeMap_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W.__SpeechRecognitionResultList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W.__SpeechRecognitionResultList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(W.__StyleSheetList_Interceptor_ListMixin, P.ListMixin);
    _mixin(W.__StyleSheetList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(P._JsArray_JsObject_ListMixin, P.ListMixin);
    _mixin(P._LengthList_Interceptor_ListMixin, P.ListMixin);
    _mixin(P._LengthList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(P._NumberList_Interceptor_ListMixin, P.ListMixin);
    _mixin(P._NumberList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(P._StringList_Interceptor_ListMixin, P.ListMixin);
    _mixin(P._StringList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(P._TransformList_Interceptor_ListMixin, P.ListMixin);
    _mixin(P._TransformList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(P._AudioParamMap_Interceptor_MapMixin, P.MapMixin);
    _mixin(P._SqlResultSetRowList_Interceptor_ListMixin, P.ListMixin);
    _mixin(P._SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin);
    _mixin(Q._QueueList_Object_ListMixin, P.ListMixin);
    _mixin(R.__AnalysisViewState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(R.__AppSizeBodyState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(R.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(R.__DiffViewState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(U._ChartState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(D._ChartController_DisposableController_AutoDisposeControllerMixin, K.AutoDisposeControllerMixin);
    _mixin(S._FlameChartState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(S._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin, S.FlameChartColorMixin);
    _mixin(S._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(S._ScrollingFlameChartRowState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(F.__CustomPointerScrollableState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(K.__CodeViewState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(K.__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin, S.SearchFieldMixin);
    _mixin(K.__LinesState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(K.__DebuggingControlsState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(D._DebuggerController_DisposableController_AutoDisposeControllerMixin, K.AutoDisposeControllerMixin);
    _mixin(D._DebuggerController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin, S.SearchControllerMixin);
    _mixin(E._SourceToken_Object_DataSearchStateMixin, S.DataSearchStateMixin);
    _mixin(A._DebuggerScreenBodyState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(A.__DebuggerStatusState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(A.__FloatingDebuggerControlsState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(R.__ExpressionEvalFieldState_State_SearchFieldMixin, S.SearchFieldMixin);
    _mixin(R.__ExpressionEvalFieldState_State_SearchFieldMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(F.__VMFlagsDialogState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(G._ErrorBadgeManager_DisposableController_AutoDisposeControllerMixin, K.AutoDisposeControllerMixin);
    _mixin(T._InfoController_DisposableController_AutoDisposeControllerMixin, K.AutoDisposeControllerMixin);
    _mixin(B.__InitializerState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(B.__InitializerState_State_SingleTickerProviderStateMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(Z._InspectorController_DisposableController_AutoDisposeControllerMixin, K.AutoDisposeControllerMixin);
    _mixin(B._InspectorScreenBodyState_State_BlockingActionMixin, Z.BlockingActionMixin);
    _mixin(B._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(D.__InspectorDetailsTabControllerState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(D.__InspectorDetailsTabControllerState_State_TickerProviderStateMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(E._InspectorService_DisposableController_AutoDisposeControllerMixin, K.AutoDisposeControllerMixin);
    _mixin(X._InspectorTreeControllerFlutter_Object_InspectorTreeController, K.InspectorTreeController);
    _mixin(X._InspectorTreeControllerFlutter_Object_InspectorTreeController_InspectorTreeFixedRowHeightController, K.InspectorTreeFixedRowHeightController);
    _mixin(X.__InspectorTreeRowState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(X.__InspectorTreeRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, D.CollapsibleAnimationMixin);
    _mixin(X.__InspectorTreeState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(X.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin, L.AutomaticKeepAliveClientMixin);
    _mixin(X.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(N.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin, L.AutomaticKeepAliveClientMixin);
    _mixin(N.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(E._LayoutExplorerWidgetState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(Y.__LandingScreenBodyState_State_BlockingActionMixin, Z.BlockingActionMixin);
    _mixin(E._LogData_Object_DataSearchStateMixin, S.DataSearchStateMixin);
    _mixin(E._LoggingController_DisposableController_SearchControllerMixin, S.SearchControllerMixin);
    _mixin(E._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin, X.FilterControllerMixin);
    _mixin(E._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin_AutoDisposeControllerMixin, K.AutoDisposeControllerMixin);
    _mixin(M.__LogDetailsState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(M.__LoggingScreenState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(M.__LoggingScreenState_State_AutoDisposeMixin_SearchFieldMixin, S.SearchFieldMixin);
    _mixin(O._AllocationTableViewState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(Z._AnalysisInstanceViewState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(G._MemoryAndroidChartState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(T._MemoryController_DisposableController_AutoDisposeControllerMixin, K.AutoDisposeControllerMixin);
    _mixin(T._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin, S.SearchControllerMixin);
    _mixin(T._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin_AutoCompleteSearchControllerMixin, S.AutoCompleteSearchControllerMixin);
    _mixin(T._MemoryEventsPaneState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(S._SnapshotFilterState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(D._HeapTreeViewState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(D._HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin, S.SearchFieldMixin);
    _mixin(D._HeapTreeViewState_State_AutoDisposeMixin_SearchFieldMixin_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(D._MemoryHeapTableState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(N._MemoryHeapTreemapState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(Y._InstanceTreeViewState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(L._MemoryBodyState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(L._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(O._MemoryVMChartState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(Q._NetworkController_Object_SearchControllerMixin, S.SearchControllerMixin);
    _mixin(Q._NetworkController_Object_SearchControllerMixin_FilterControllerMixin, X.FilterControllerMixin);
    _mixin(S._NetworkRequest_Object_DataSearchStateMixin, S.DataSearchStateMixin);
    _mixin(Y.__NetworkScreenBodyState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(Y.__NetworkScreenBodyState_State_AutoDisposeMixin_SearchFieldMixin, S.SearchFieldMixin);
    _mixin(Y.__NotificationState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(S.__FlutterFramesChartState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(S.__LegacyFlutterFramesChartState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(B._LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin, T.CpuProfilerControllerProviderMixin);
    _mixin(B._LegacyPerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin, S.SearchControllerMixin);
    _mixin(Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin, S.DataSearchStateMixin);
    _mixin(Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin, S.TreeDataSearchStateMixin);
    _mixin(Y._LegacyTimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin, S.FlameChartDataMixin);
    _mixin(R._LegacyPerformanceScreenBodyState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(R._LegacyPerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin, T.OfflineScreenMixin);
    _mixin(Y.__LegacyNavigateInThreadInButtonState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(Y.__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(Y.__LegacyTimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin, S.SearchFieldMixin);
    _mixin(B._PerformanceController_Object_CpuProfilerControllerProviderMixin, T.CpuProfilerControllerProviderMixin);
    _mixin(B._PerformanceController_Object_CpuProfilerControllerProviderMixin_SearchControllerMixin, S.SearchControllerMixin);
    _mixin(Y._TimelineEvent_TreeNode_DataSearchStateMixin, S.DataSearchStateMixin);
    _mixin(Y._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin, S.TreeDataSearchStateMixin);
    _mixin(Y._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin, S.FlameChartDataMixin);
    _mixin(R._PerformanceScreenBodyState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(R._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin, T.OfflineScreenMixin);
    _mixin(Y.__NavigateInThreadInButtonState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(Y.__TimelineFlameChartContainerState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(Y.__TimelineFlameChartContainerState_State_AutoDisposeMixin_SearchFieldMixin, S.SearchFieldMixin);
    _mixin(T._CpuProfilerController_Object_SearchControllerMixin, S.SearchControllerMixin);
    _mixin(E._CpuStackFrame_TreeNode_DataSearchStateMixin, S.DataSearchStateMixin);
    _mixin(E._CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin, S.TreeDataSearchStateMixin);
    _mixin(E._CpuStackFrame_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin, S.FlameChartDataMixin);
    _mixin(V.__CpuProfilerState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(V.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(V.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin, S.SearchFieldMixin);
    _mixin(X.__ProfilerScreenBodyState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(X.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin, T.OfflineScreenMixin);
    _mixin(Z._ProfilerScreenController_Object_CpuProfilerControllerProviderMixin, T.CpuProfilerControllerProviderMixin);
    _mixin(X._InstanceDetails_Object__$InstanceDetails, X._$InstanceDetails);
    _mixin(X._InstancePath_Object__$InstancePath, X._$InstancePath);
    _mixin(X._ObjectField_Object__$ObjectField, X._$ObjectField);
    _mixin(E._Result_Object__$Result, E._$Result);
    _mixin(T._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier, B.ChangeNotifier);
    _mixin(T._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier_PopNavigatorRouterDelegateMixin, Z.PopNavigatorRouterDelegateMixin);
    _mixin(M._DevToolsScaffoldState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(M._DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(S._TreeTableState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(S._TreeTableState_State_TickerProviderStateMixin_TreeMixin, Y.TreeMixin);
    _mixin(S._TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(S.__TableRowState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, D.CollapsibleAnimationMixin);
    _mixin(S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(S.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin, S.SearchableMixin);
    _mixin(S.__TableState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(Y.__TreeViewItemState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(Y.__TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, D.CollapsibleAnimationMixin);
    _mixin(Y.__TreeViewState_State_TreeMixin, Y.TreeMixin);
    _mixin(S._AutoCompleteController_DisposableController_SearchControllerMixin, S.SearchControllerMixin);
    _mixin(S._AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin, S.AutoCompleteSearchControllerMixin);
    _mixin(S._AutoCompleteState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(B.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin, B._ServiceExtensionMixin);
    _mixin(B.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(B.__ServiceExtensionButtonGroupState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(B.__ServiceExtensionToggleState_State__ServiceExtensionMixin, B._ServiceExtensionMixin);
    _mixin(B.__ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(B.__NotifierCheckboxState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(B._ImmutableList_Object_ListMixin, P.ListMixin);
    _mixin(T._SemanticVersion_Object_CompareMixin, B.CompareMixin);
    _mixin(N._IsolateStatisticsViewController_DisposableController_CpuProfilerControllerProviderMixin, T.CpuProfilerControllerProviderMixin);
    _mixin(E.__VMDeveloperToolsScreenState_State_AutoDisposeMixin, N.AutoDisposeMixin);
    _mixin(G._AnimationController_Animation_AnimationEagerListenerMixin, S.AnimationEagerListenerMixin);
    _mixin(G._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin, S.AnimationLocalListenersMixin);
    _mixin(G._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, S.AnimationLocalStatusListenersMixin);
    _mixin(S._CompoundAnimation_Animation_AnimationLazyListenerMixin, S.AnimationLazyListenerMixin);
    _mixin(S._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin, S.AnimationLocalListenersMixin);
    _mixin(S._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, S.AnimationLocalStatusListenersMixin);
    _mixin(S._CurvedAnimation_Animation_AnimationWithParentMixin, S.AnimationWithParentMixin);
    _mixin(S._ProxyAnimation_Animation_AnimationLazyListenerMixin, S.AnimationLazyListenerMixin);
    _mixin(S._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin, S.AnimationLocalListenersMixin);
    _mixin(S._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, S.AnimationLocalStatusListenersMixin);
    _mixin(S._ReverseAnimation_Animation_AnimationLazyListenerMixin, S.AnimationLazyListenerMixin);
    _mixin(S._ReverseAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalStatusListenersMixin, S.AnimationLocalStatusListenersMixin);
    _mixin(S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin, S.AnimationEagerListenerMixin);
    _mixin(S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin, S.AnimationLocalListenersMixin);
    _mixin(S._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, S.AnimationLocalStatusListenersMixin);
    _mixin(R.__AnimatedEvaluation_Animation_AnimationWithParentMixin, S.AnimationWithParentMixin);
    _mixin(F.__CupertinoActivityIndicatorState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(E._CupertinoDynamicColor_Color_Diagnosticable, Y.Diagnosticable);
    _mixin(T._CupertinoIconThemeData_IconThemeData_Diagnosticable, Y.Diagnosticable);
    _mixin(N.__CupertinoSwitchState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(R._CupertinoTextThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(K._CupertinoThemeData_NoDefaultCupertinoThemeData_Diagnosticable, Y.Diagnosticable);
    _mixin(U._FlutterError_Error_DiagnosticableTreeMixin, Y.DiagnosticableTreeMixin);
    _mixin(U._FlutterErrorDetails_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(Y._DiagnosticableTree_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(F._PointerAddedEvent_PointerEvent__PointerEventDescription, F._PointerEventDescription);
    _mixin(F._PointerAddedEvent_PointerEvent__PointerEventDescription__CopyPointerAddedEvent, F._CopyPointerAddedEvent);
    _mixin(F._PointerCancelEvent_PointerEvent__PointerEventDescription, F._PointerEventDescription);
    _mixin(F._PointerCancelEvent_PointerEvent__PointerEventDescription__CopyPointerCancelEvent, F._CopyPointerCancelEvent);
    _mixin(F._PointerDownEvent_PointerEvent__PointerEventDescription, F._PointerEventDescription);
    _mixin(F._PointerDownEvent_PointerEvent__PointerEventDescription__CopyPointerDownEvent, F._CopyPointerDownEvent);
    _mixin(F._PointerEnterEvent_PointerEvent__PointerEventDescription, F._PointerEventDescription);
    _mixin(F._PointerEnterEvent_PointerEvent__PointerEventDescription__CopyPointerEnterEvent, F._CopyPointerEnterEvent);
    _mixin(F._PointerEvent_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(F._PointerExitEvent_PointerEvent__PointerEventDescription, F._PointerEventDescription);
    _mixin(F._PointerExitEvent_PointerEvent__PointerEventDescription__CopyPointerExitEvent, F._CopyPointerExitEvent);
    _mixin(F._PointerHoverEvent_PointerEvent__PointerEventDescription, F._PointerEventDescription);
    _mixin(F._PointerHoverEvent_PointerEvent__PointerEventDescription__CopyPointerHoverEvent, F._CopyPointerHoverEvent);
    _mixin(F._PointerMoveEvent_PointerEvent__PointerEventDescription, F._PointerEventDescription);
    _mixin(F._PointerMoveEvent_PointerEvent__PointerEventDescription__CopyPointerMoveEvent, F._CopyPointerMoveEvent);
    _mixin(F._PointerRemovedEvent_PointerEvent__PointerEventDescription, F._PointerEventDescription);
    _mixin(F._PointerRemovedEvent_PointerEvent__PointerEventDescription__CopyPointerRemovedEvent, F._CopyPointerRemovedEvent);
    _mixin(F._PointerScrollEvent_PointerSignalEvent__PointerEventDescription, F._PointerEventDescription);
    _mixin(F._PointerScrollEvent_PointerSignalEvent__PointerEventDescription__CopyPointerScrollEvent, F._CopyPointerScrollEvent);
    _mixin(F._PointerUpEvent_PointerEvent__PointerEventDescription, F._PointerEventDescription);
    _mixin(F._PointerUpEvent_PointerEvent__PointerEventDescription__CopyPointerUpEvent, F._CopyPointerUpEvent);
    _mixin(F.__TransformedPointerAddedEvent__TransformedPointerEvent__CopyPointerAddedEvent, F._CopyPointerAddedEvent);
    _mixin(F.__TransformedPointerCancelEvent__TransformedPointerEvent__CopyPointerCancelEvent, F._CopyPointerCancelEvent);
    _mixin(F.__TransformedPointerDownEvent__TransformedPointerEvent__CopyPointerDownEvent, F._CopyPointerDownEvent);
    _mixin(F.__TransformedPointerEnterEvent__TransformedPointerEvent__CopyPointerEnterEvent, F._CopyPointerEnterEvent);
    _mixin(F.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable, Y.Diagnosticable);
    _mixin(F.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable__PointerEventDescription, F._PointerEventDescription);
    _mixin(F.__TransformedPointerExitEvent__TransformedPointerEvent__CopyPointerExitEvent, F._CopyPointerExitEvent);
    _mixin(F.__TransformedPointerHoverEvent__TransformedPointerEvent__CopyPointerHoverEvent, F._CopyPointerHoverEvent);
    _mixin(F.__TransformedPointerMoveEvent__TransformedPointerEvent__CopyPointerMoveEvent, F._CopyPointerMoveEvent);
    _mixin(F.__TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent, F._CopyPointerRemovedEvent);
    _mixin(F.__TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent, F._CopyPointerScrollEvent);
    _mixin(F.__TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent, F._CopyPointerUpEvent);
    _mixin(S._GestureRecognizer_GestureArenaMember_DiagnosticableTreeMixin, Y.DiagnosticableTreeMixin);
    _mixin(V._AppBarTheme_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(Q._MaterialBannerThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(D._BottomAppBarTheme_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(M._BottomNavigationBarThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(X._BottomSheetThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(M._ButtonBarThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(A._ButtonStyle_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(K.__ButtonStyleState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(M._ButtonThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(A._CardTheme_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(K.__CheckboxState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(K.__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin, F.ToggleableStateMixin);
    _mixin(F._CheckboxThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(K._ChipThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(A._ColorScheme_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(Z._DataTableThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(Y._DialogTheme_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(G._DividerThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(K.__DropdownButtonState_State_WidgetsBindingObserver, N.WidgetsBindingObserver);
    _mixin(D.__ElevatedButtonDefaultBackground_MaterialStateProperty_Diagnosticable, Y.Diagnosticable);
    _mixin(D.__ElevatedButtonDefaultElevation_MaterialStateProperty_Diagnosticable, Y.Diagnosticable);
    _mixin(D.__ElevatedButtonDefaultForeground_MaterialStateProperty_Diagnosticable, Y.Diagnosticable);
    _mixin(D.__ElevatedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, Y.Diagnosticable);
    _mixin(D.__ElevatedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable, Y.Diagnosticable);
    _mixin(T._ElevatedButtonThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(O.__ExpansionTileState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX, A.FabEndOffsetX);
    _mixin(A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX_FabFloatOffsetY, A.FabFloatOffsetY);
    _mixin(S._FloatingActionButtonThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(R.__InkResponseState_State_AutomaticKeepAliveClientMixin, L.AutomaticKeepAliveClientMixin);
    _mixin(L._InputDecorationTheme_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(L.__BorderContainerState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(L.__HelperErrorState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(L.__InputDecoratorState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(M.__MaterialState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(E.__NavigationRailState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(E._NavigationRailThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(B.__OutlinedButtonDefaultForeground_MaterialStateProperty_Diagnosticable, Y.Diagnosticable);
    _mixin(B.__OutlinedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, Y.Diagnosticable);
    _mixin(B.__OutlinedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable, Y.Diagnosticable);
    _mixin(U._OutlinedButtonThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(V.__PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin, V.MaterialRouteTransitionMixin);
    _mixin(K._PageTransitionsTheme_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(R._PopupMenuThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U.__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(U.__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(B._ProgressIndicatorThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(T._RadioThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(M._ScaffoldMessengerState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(M._ScaffoldState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(M._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin, K.RestorationMixin);
    _mixin(M.__FloatingActionButtonTransitionState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(X._ScrollbarThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(O.__SelectableTextState_State_AutomaticKeepAliveClientMixin, L.AutomaticKeepAliveClientMixin);
    _mixin(Q._SliderThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(K._SnackBarThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(N.__MaterialSwitchState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(N.__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin, F.ToggleableStateMixin);
    _mixin(R._SwitchThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U._TabBarTheme_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U.__DefaultTabControllerState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(E.__ChangeAnimation_Animation_AnimationWithParentMixin, S.AnimationWithParentMixin);
    _mixin(E.__DragAnimation_Animation_AnimationWithParentMixin, S.AnimationWithParentMixin);
    _mixin(U.__TextButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, Y.Diagnosticable);
    _mixin(T._TextButtonThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(Z.__TextFieldState_State_RestorationMixin, K.RestorationMixin);
    _mixin(R._TextSelectionThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(R._TextTheme_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(X._ThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(X._VisualDensity_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(A._TimePickerThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(S._ToggleButtonsThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(S.__TooltipState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(T._TooltipThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U._Typography_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(Z._Decoration_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(L._ImageStream_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(L._ImageStreamCompleter_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(M._StrutStyle_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(A._TextStyle_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(S._ContainerBoxParentData_BoxParentData_ContainerParentDataMixin, K.ContainerParentDataMixin);
    _mixin(B._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin, K.ContainerRenderObjectMixin);
    _mixin(B._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, S.RenderBoxContainerDefaultsMixin);
    _mixin(D._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin, K.RelayoutWhenSystemFontsChangeMixin);
    _mixin(F._RenderFlex_RenderBox_ContainerRenderObjectMixin, K.ContainerRenderObjectMixin);
    _mixin(F._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, S.RenderBoxContainerDefaultsMixin);
    _mixin(F._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_DebugOverflowIndicatorMixin, T.DebugOverflowIndicatorMixin);
    _mixin(T._Layer_AbstractNode_DiagnosticableTreeMixin, Y.DiagnosticableTreeMixin);
    _mixin(R._RenderListBody_RenderBox_ContainerRenderObjectMixin, K.ContainerRenderObjectMixin);
    _mixin(R._RenderListBody_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, S.RenderBoxContainerDefaultsMixin);
    _mixin(A.__MouseTrackerUpdateDetails_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(K._RenderObject_AbstractNode_DiagnosticableTreeMixin, Y.DiagnosticableTreeMixin);
    _mixin(Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin, K.ContainerRenderObjectMixin);
    _mixin(Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, S.RenderBoxContainerDefaultsMixin);
    _mixin(Q._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_RelayoutWhenSystemFontsChangeMixin, K.RelayoutWhenSystemFontsChangeMixin);
    _mixin(E._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin, E.RenderProxyBoxMixin);
    _mixin(E._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin_RenderAnimatedOpacityMixin, E.RenderAnimatedOpacityMixin);
    _mixin(E._RenderProxyBox_RenderBox_RenderObjectWithChildMixin, K.RenderObjectWithChildMixin);
    _mixin(E._RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin, E.RenderProxyBoxMixin);
    _mixin(O._RenderRotatedBox_RenderBox_RenderObjectWithChildMixin, K.RenderObjectWithChildMixin);
    _mixin(T._RenderShiftedBox_RenderBox_RenderObjectWithChildMixin, K.RenderObjectWithChildMixin);
    _mixin(G._SliverGeometry_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(G._SliverLogicalContainerParentData_SliverLogicalParentData_ContainerParentDataMixin, K.ContainerParentDataMixin);
    _mixin(G._SliverPhysicalContainerParentData_SliverPhysicalParentData_ContainerParentDataMixin, K.ContainerParentDataMixin);
    _mixin(F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin, K.ContainerRenderObjectMixin);
    _mixin(F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers, G.RenderSliverHelpers);
    _mixin(F._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers_RenderSliverWithKeepAliveMixin, F.RenderSliverWithKeepAliveMixin);
    _mixin(F._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin, K.ContainerParentDataMixin);
    _mixin(F._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin_KeepAliveParentDataMixin, F.KeepAliveParentDataMixin);
    _mixin(T._RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin, K.RenderObjectWithChildMixin);
    _mixin(K._RenderStack_RenderBox_ContainerRenderObjectMixin, K.ContainerRenderObjectMixin);
    _mixin(K._RenderStack_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, S.RenderBoxContainerDefaultsMixin);
    _mixin(A._RenderView_RenderObject_RenderObjectWithChildMixin, K.RenderObjectWithChildMixin);
    _mixin(Q._RenderViewportBase_RenderBox_ContainerRenderObjectMixin, K.ContainerRenderObjectMixin);
    _mixin(N._RenderWrap_RenderBox_ContainerRenderObjectMixin, K.ContainerRenderObjectMixin);
    _mixin(N._RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, S.RenderBoxContainerDefaultsMixin);
    _mixin(A._SemanticsData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(A._SemanticsNode_AbstractNode_DiagnosticableTreeMixin, Y.DiagnosticableTreeMixin);
    _mixin(A._SemanticsSortKey_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(G._KeyboardKey_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(A._MouseCursor_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(B._RawKeyEvent_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U._Action_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U._ActionDispatcher_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U._Intent_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U.__AnimatedCrossFadeState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(F.__AnimatedSizeState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(S.__MediaQueryFromWindowsState_State_WidgetsBindingObserver, N.WidgetsBindingObserver);
    _mixin(S.__WidgetsAppState_State_WidgetsBindingObserver, N.WidgetsBindingObserver);
    _mixin(N._WidgetsFlutterBinding_BindingBase_GestureBinding, N.GestureBinding);
    _mixin(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding, N.SchedulerBinding);
    _mixin(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding, N.ServicesBinding);
    _mixin(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding, N.PaintingBinding);
    _mixin(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding, N.SemanticsBinding);
    _mixin(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding, N.RendererBinding);
    _mixin(N._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding, N.WidgetsBinding);
    _mixin(Q.__DismissibleState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(Q.__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin, L.AutomaticKeepAliveClientMixin);
    _mixin(D._EditableTextState_State_AutomaticKeepAliveClientMixin, L.AutomaticKeepAliveClientMixin);
    _mixin(D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver, N.WidgetsBindingObserver);
    _mixin(D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(D._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin_TextSelectionDelegate, N.TextSelectionDelegate);
    _mixin(O._FocusManager_Object_DiagnosticableTreeMixin, Y.DiagnosticableTreeMixin);
    _mixin(O._FocusManager_Object_DiagnosticableTreeMixin_ChangeNotifier, B.ChangeNotifier);
    _mixin(O._FocusNode_Object_DiagnosticableTreeMixin, Y.DiagnosticableTreeMixin);
    _mixin(O._FocusNode_Object_DiagnosticableTreeMixin_ChangeNotifier, B.ChangeNotifier);
    _mixin(U._FocusTraversalPolicy_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin, U.DirectionalFocusTraversalPolicyMixin);
    _mixin(U.__ReadingOrderDirectionalGroupData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U.__ReadingOrderSortData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(N._State_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(T._IconThemeData_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(U.__ImageState_State_WidgetsBindingObserver, N.WidgetsBindingObserver);
    _mixin(G._ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin, K.RenderObjectWithChildMixin);
    _mixin(A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder, A.RenderConstrainedLayoutBuilder);
    _mixin(K._NavigatorState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(K._NavigatorState_State_TickerProviderStateMixin_RestorationMixin, K.RestorationMixin);
    _mixin(E.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin, K.ContainerRenderObjectMixin);
    _mixin(E.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, S.RenderBoxContainerDefaultsMixin);
    _mixin(X._OverlayState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(X.__RenderTheatre_RenderBox_ContainerRenderObjectMixin, K.ContainerRenderObjectMixin);
    _mixin(L._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin, G.ViewportNotificationMixin);
    _mixin(L.__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(K.__RestorationScopeState_State_RestorationMixin, K.RestorationMixin);
    _mixin(Z._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver, N.WidgetsBindingObserver);
    _mixin(Z._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver_ChangeNotifier, B.ChangeNotifier);
    _mixin(Z._RootBackButtonDispatcher_BackButtonDispatcher_WidgetsBindingObserver, N.WidgetsBindingObserver);
    _mixin(Z.__RouterState_State_RestorationMixin, K.RestorationMixin);
    _mixin(T._ModalRoute_TransitionRoute_LocalHistoryRoute, T.LocalHistoryRoute);
    _mixin(M._FixedScrollMetrics_Object_ScrollMetrics, M.ScrollMetrics);
    _mixin(G._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin, G.ViewportNotificationMixin);
    _mixin(A._ScrollPosition_ViewportOffset_ScrollMetrics, M.ScrollMetrics);
    _mixin(F._ScrollableState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(F._ScrollableState_State_TickerProviderStateMixin_RestorationMixin, K.RestorationMixin);
    _mixin(E._RawScrollbarState_State_TickerProviderStateMixin, U.TickerProviderStateMixin);
    _mixin(X._LogicalKeySet_KeySet_Diagnosticable, Y.Diagnosticable);
    _mixin(X._ShortcutManager_ChangeNotifier_Diagnosticable, Y.Diagnosticable);
    _mixin(X._SingleActivator_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(X.__ActivatorIntentPair_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(E.__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin, K.RenderObjectWithChildMixin);
    _mixin(S.__TableSlot_Object_Diagnosticable, Y.Diagnosticable);
    _mixin(F.__TextSelectionHandleOverlayState_State_SingleTickerProviderStateMixin, U.SingleTickerProviderStateMixin);
    _mixin(D._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin, D.SingleChildWidgetElementMixin);
    _mixin(D.__NestedElement_StatelessElement_SingleChildWidgetElementMixin, D.SingleChildWidgetElementMixin);
    _mixin(R._AsyncValue_Object__$AsyncValue, R._$AsyncValue);
    _mixin(F._AutoDisposeFutureProviderState, F._FutureProviderStateMixin);
    _mixin(F._FutureProviderState, F._FutureProviderStateMixin);
    _mixin(F._AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin, L.AutoDisposeProviderOverridesMixin);
    _mixin(F._AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__FutureProviderMixin, F._FutureProviderMixin);
    _mixin(F._FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin, L.ProviderOverridesMixin);
    _mixin(F._FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__FutureProviderMixin, F._FutureProviderMixin);
    _mixin(Y._AutoDisposeProviderState, Y._ProviderStateMixin);
    _mixin(Y._ProviderState, Y._ProviderStateMixin);
    _mixin(Y._AutoDisposeProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin, L.AutoDisposeProviderOverridesMixin);
    _mixin(Y._Provider_AlwaysAliveProviderBase_ProviderOverridesMixin, L.ProviderOverridesMixin);
    _mixin(O._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase__StateNotifierProviderMixin, O._StateNotifierProviderMixin);
    _mixin(F._StateProviderState, F._StateProviderStateMixin);
    _mixin(F._StateProvider_AlwaysAliveProviderBase_ProviderOverridesMixin, L.ProviderOverridesMixin);
    _mixin(T._AutoDisposeStreamProviderState, T._StreamProviderStateMixin);
    _mixin(T._StreamProviderState, T._StreamProviderStateMixin);
    _mixin(T._AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin, L.AutoDisposeProviderOverridesMixin);
    _mixin(T._AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__StreamProviderMixin, T._StreamProviderMixin);
    _mixin(T._StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin, L.ProviderOverridesMixin);
    _mixin(T._StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__StreamProviderMixin, T._StreamProviderMixin);
  })();
  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: ["~()", "Null()", "double(double)", "Future<~>*()", "~(Object?)", "Null(@)", "~(Duration)", "~(InputBuffer)", "Future<Null>*()", "Null(Event0)", "~(Event0)", "~(bool)", "~(AnimationStatus)", "~(@)", "bool*(String*)", "double(RenderBox)", "~(Event*)", "bool(String)", "~(Element0)", "String(String)", "Null(Object,StackTrace)", "int(Uint32List,int,int)", "~(PaintingContext,Offset)", "Null(~)", "bool(BoxHitTestResult,Offset?)", "Widget*(BuildContext*,int*)", "~(DragUpdateDetails)", "~(String,@)", "Iterable<DiagnosticsNode>()", "bool(Element0)", "Widget(BuildContext)", "bool*()", "~(String*)", "~(ByteData?)", "bool(FocusNode)", "Null(String*)", "~(PointerEvent0)", "double*(int*)", "String*()", "int(int)", "~(TapDownDetails)", "bool(Object?)", "bool(FlutterHtmlKeyboardEvent)", "@(@)", "@()", "~(ForcePressDetails)", "Bucket*()", "bool*(Reference*)", "bool*(TimelineEvent0*)", "bool*(LegacyTimelineEvent*)", "~(Object,StackTrace)", "Null(Duration*)", "~(String,String)", "~(int*)", "bool(@)", "Future<Null>*(IsolateRef*)", "~(DragStartDetails)", "bool(_RouteEntry?)", "bool*(Screen*)", "double*(double*)", "~(DragEndDetails)", "Row*(BuildContext*,@,Widget*)", "String*(@)", "~(int)", "~(bool*)", "Null(IsolateRef*)", "Color(Set<MaterialState>)", "~(PointerExitEvent)", "double(RenderBox,double)", "~(RestorableProperty<Object?>,~())", "bool(ScrollNotification)", "int(int,int)", "bool(int)", "Null(bool*)", "Frame()", "~(TapUpDetails)", "KeyEventResult*(FocusNode*,RawKeyEvent*)", "Future<Success*>*()", "Widget*(BuildContext*,BoxConstraints*)", "Null(Canvas*)", "Widget(BuildContext,Widget?)", "Frame(String)", "Color?(Set<MaterialState>)", "~(Object[StackTrace?])", "~(LongPressMoveUpdateDetails)", "~(LongPressStartDetails)", "~(@,@)", "@(Event0)", "Future<~>()", "int(FocusNode,FocusNode)", "~(CpuStackFrame*)", "~(DevToolsJsonFile*)", "bool(_RouteEntry)", "Future<Map<String,@>>(Map<String,String>)", "Future<@>()", "Null(String*,Set<HeapGraphClassLive*>*)", "~(PointerHoverEvent*)", "~(MouseEvent)", "Future<~>*(bool*)", "bool*(TraceEventWrapper*)", "int*(LegacyTimelineEvent*,LegacyTimelineEvent*)", "Future<Null>()", "int*(TimelineEvent0*,TimelineEvent0*)", "int*()", "Future<~>*(Event*)", "~(Object?,Object?)", "Null(PointerEvent)", "~(NavigatorObserver)", "~(RenderObject)", "~(~())", "Null(AnimationStatus*)", "int(RenderObject,RenderObject)", "bool(InlineSpan)", "Future<Map<String,Object>>(Map<String,String>)", "Null(bool)", "Stack*(BuildContext*,BoxConstraints*)", "int()", "~(PointerEnterEvent)", "Future<@>*()", "Variable*(BoundVariable*)", "Null(TouchEvent)", "Widget*(BuildContext*,bool*,Widget*)", "~(String)", "String(Match)", "String()", "bool*(BreakpointAndSourcePosition*)", "~(DragUpdateDetails*)", "bool*(BusEvent*)", "bool*(ScriptRef*)", "int(Object?)", "double()", "bool(Object?,Object?)", "~(TreemapNode*)", "MaterialStateProperty<Color?>?(ButtonStyle?)", "MaterialStateProperty<Size?>?(ButtonStyle?)", "Null(MouseEvent)", "Future<Set<String*>*>*()", "bool(DataRow)", "Rect()", "double*(LegacyTimelineEvent*)", "~(FocusHighlightMode)", "~(Timer)", "bool*(BoundField*)", "Positioned*(BuildContext*)", "Tween<double>(@)", "ColorTween(@)", "Map<String*,@>*(_Matcher*)", "Treemap*(BuildContext*,BoxConstraints*)", "~(MouseEvent*)", "~(VmServiceWrapper*)", "bool()", "ImmediateValueNotifier<bool*>*()", "double*(Axis*)", "bool*(ObjectField*)", "double*(TimelineEvent0*)", "bool*(FlutterFrame*)", "~(int,int,int,int,int,Uint8List)", "~(List<FrameTiming>)", "bool(SemanticsNode)", "int(SemanticsNode,SemanticsNode)", "Widget*(BuildContext*,CpuProfileData*,Widget*)", "Widget*(BuildContext*,Flag*,Widget*)", "bool(FocusableActionDetector)", "bool*(Object*)", "~(~)", "Widget*(BuildContext*,Widget*)", "bool*(RenderProperties*)", "HorizontalDragGestureRecognizer()", "~(HorizontalDragGestureRecognizer)", "EdgeInsetsGeometryTween(@)", "int*(String*,String*)", "~({curve:Curve,descendant:RenderObject?,duration:Duration,rect:Rect?})", "bool*(ClassHeapDetailStats*)", "List<_RouteEntry>()", "~(LongPressEndDetails)", "~(JpegComponent,List<@>)", "bool(_Highlight)", "String*(String*)", "double*(double*,double*)", "Map<String,@>(InstanceRef)", "Map<String,@>(ClassRef)", "Map<String,@>(IsolateRef)", "Map<String,@>(ScriptRef)", "Map<String,@>(Frame1)", "~(ProgramInfoNode*)", "int(@,@)", "double(double,double)", "~(HeapSample*)", "Trace()", "Null(TapDownDetails*)", "bool*(int*)", "~(PointerSignalEvent*)", "~(GestureMode)", "int*(Range*,Range*)", "bool(BoxHitTestResult)", "~(num)", "~(PointerExitEvent*)", "List<Widget*>*(BuildContext*)", "~(IsolateRef*)", "ConsoleLine*(String*)", "Null(BreakpointAndSourcePosition*)", "Null(Script*)", "~(String?)", "String*(FieldRef*)", "_Matcher*(@)", "List<ScopeSpan*>*()", "Widget*(Variable*,~()*)", "~(Variable*)", "bool*(RemoteDiagnosticsNode*)", "bool*(_LinkedScrollController*)", "Column*(BuildContext*,@,Widget*)", "int*(String*)", "String*(int*)", "~(InspectorTreeNode*)", "double*()", "bool(BoxHitTestResult,Offset)", "Trace(String)", "String(int,int)", "~(ProviderBase<@,@>)", "bool(ProviderElement<@,@>)", "String(NumberSymbols)", "num(num,num)", "~(JpegComponent,List<int>)", "Null(ProgressEvent)", "ProviderSubscription<@>()", "~(ProviderSubscription<@>)", "VelocityTracker(PointerEvent0)", "Future<~>(Object?)", "SynchronousFuture<bool>(bool)", "DecorationTween(@)", "Null(Object*,StackTrace*)", "AlignmentGeometryTween(@)", "Tween<@>?(Tween<@>?,@,Tween<@>(@))", "~(PointerDownEvent)", "~(VerticalDragGestureRecognizer)", "VerticalDragGestureRecognizer()", "~(LongPressGestureRecognizer)", "LongPressGestureRecognizer()", "int(_ReadingOrderSortData,_ReadingOrderSortData)", "Future<bool>()", "bool(InheritedElement)", "String*(Node*)", "Future<@>(MethodCall)", "Map<Object?,Object?>()", "~(RestorationBucket)", "Future<ByteData?>(ByteData?)", "List<SemanticsNode>(_SemanticsSortGroup)", "~(SliverConstraints)", "Size(RenderBox,BoxConstraints)", "bool(InlineSpanSemanticsInformation)", "~(TextSelection)", "~(RawKeyEvent)", "~(Rect)", "DevToolsScaffold*(BuildContext*,String*,Map<String*,String*>*)", "~(ImageStreamListener)", "ImageStreamCompleter()", "bool*(FlutterVersion*)", "~(ImageInfo,bool)", "~(TextSelection,SelectionChangedCause?)", "ProgramInfoNode*()", "KeyData()", "int(Frame)", "~(RenderBox?)", "List<SkTypeface>()", "~(RenderBox?,String)", "~([Intent?])", "int*(CallGraphNode*)", "~(Size)", "Future<int>()", "Iterable<int*>*(int*)", "CustomSingleChildLayout(BuildContext)", "bool(BuildContext)", "CallGraphNode*()", "~(bool?)", "MouseCursor0(Set<MaterialState>)", "_Channel()", "bool(NodeValidator)", "~(DiagnosticsNode)", "double(int)", "Color(Color)", "Color?(Color?)", "bool(Node0)", "~(Uint8List,String,int)", "Future<Isolate*>*(IsolateRef*)", "ValueKey<String*>*(String*)", "~(Object*)", "~(ColumnData<@>*,SortDirection*{secondarySortColumn:ColumnData<@>*})", "Widget*(BuildContext*,LinkedScrollControllerGroup*,int*,List<double*>*)", "List<Future<~>*()*>*()", "bool*(IsolateRef*)", "~(ProviderBase<@,@>*,Object*)", "bool*(ProviderNode*)", "Map<String,@>(IsolateGroupRef)", "ValueKey<CallGraphNode*>*(CallGraphNode*)", "Null(AsyncLoading<@>*)", "Future<Null>*(String*)", "List<Widget*>*()", "int*(InstanceDetails*)", "bool*(Event*)", "Future<~>*(String*)", "Future<InstanceRef*>*(ListInstance*)", "Future<InstanceRef*>*(MapInstance*)", "bool*(Map<String*,@>*)", "PageStorageKey<String*>*(CpuStackFrame*)", "bool(Element,String,String,_Html5NodeValidator)", "String(int)", "List<CodeunitRange>()", "Scrollbar*(BuildContext*,BoxConstraints*)", "int(String?)", "Null(TimelineEvent0*)", "FlameChartNode<FlameChartDataMixin<@>*>*(FlameChartNode<FlameChartDataMixin<@>*>*)", "Map<String,@>(TimelineEvent)", "Map<String,@>(Breakpoint)", "~(double*)", "Widget*(int*{isNext:bool*})", "Map<String*,@>*(TraceEventWrapper*)", "Checkbox*(BuildContext*,@,Widget*)", "bool*(RecordedTimelineStream*)", "ValueListenableBuilder<double*>*(BuildContext*,@,Widget*)", "~(LegacyTimelineEvent*)", "Map<String,@>(FuncRef)", "TimelineEventType*()", "bool*(TimelineEventType*)", "@(Object?)", "String*(RecordedTimelineStream*)", "bool*(BannerMessage*)", "bool*(LegacyFlutterFrame*)", "bool*(TraceEvent*)", "Map<String,@>(FieldRef)", "PageStorageKey<String*>*(TreemapNode*)", "TraceEvent*(TimelineEvent*)", "~(Map<String*,@>*)", "ProcessingInfo*(BuildContext*,@,Widget*)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "Widget*(BuildContext*)", "ListView*(BuildContext*,BoxConstraints*)", "bool*(NetworkRequest*)", "bool*(FieldReference*)", "Object?(@)", "bool(Frame)", "~([bool*])", "TreemapNode*()", "DropdownMenuItem<String*>*(String*)", "Future<ServiceExtensionResponse>(String,Map<String,String>)", "Null(String*,List<LibraryFilter*>*)", "Future<@>(@)", "List<String*>*()", "ByteBuffer(@)", "Null(BusEvent*)", "String(Frame)", "~(BusEvent*)", "double*(RenderProperties*)", "Null(@,StackTrace)", "LayoutBuilder*(BuildContext*,Widget*)", "~(TimelineEvent0*)", "Null(~())", "Null(SkDeletable)", "List<int*>*()", "Positioned*(BuildContext*,@,Widget*)", "SizedBox*(BuildContext*,Widget*)", "MapEntry<String*,InspectableWidgetError*>*(String*,DevToolsError*)", "Container*(BuildContext*,BoxConstraints*)", "Stack*(BuildContext*,LinkedHashMap<String*,DevToolsError*>*,Widget*)", "Future<Null>*(Object*)", "~(int,@)", "ServiceExtensionButtonGroup*(BuildContext*,@,Widget*)", "~(FlexFit*)", "Widget*(int*)", "DropdownMenuItem<int*>*(int*)", "Widget*(FlexFit*)", "DropdownMenuItem<FlexFit*>*(FlexFit*)", "RemoteDiagnosticsNode*()", "LayoutProperties*()", "_Future<@>?()", "Row*(BuildContext*,BoxConstraints*)", "Column*(BuildContext*,BoxConstraints*)", "Future<~>*()*(String*)", "Null(String*,@)", "ByteBuffer/(@)", "~(LogData*)", "~(VmService*)", "Future<String*>*()", "List<double*>*(Axis*)", "bool*(LogData*)", "ImageSizesForFrame*(@)", "Text*(BuildContext*,AsyncSnapshot<String*>*)", "FilterDialog<LoggingController*>*(BuildContext*)", "ValueKey<LogData*>*(LogData*)", "@(String)", "Key*(ClassHeapDetailStats*)", "~(ClassHeapDetailStats*)", "Null(ColumnData<ClassHeapDetailStats*>*,SortDirection*{secondarySortColumn:ColumnData<ClassHeapDetailStats*>*})", "Null(String*,List<Reference*>*)", "String/(@)", "Null(String*,Bucket*)", "Null(String*,List<String*>*)", "Null(String*,List<String*>*,@)", "@(@,String)", "PageStorageKey<String*>*(AnalysisField*)", "bool/()", "~([Object?])", "Null(Event*)", "Null(MemoryTracker*)", "bool*(MapEntry<String*,ClassRef*>*)", "ClassHeapDetailStats*(ClassHeapStats*)", "SurfaceScene()", "_Future<@>(@)", "num*(num*,num*)", "int*(Reference*,Reference*)", "bool*(String*,List<LibraryFilter*>*)", "CheckboxListTile*(String*)", "num*(LayoutProperties*)", "Null(String*,Set<HeapGraphElementLive*>*)", "bool*(String*,Set<HeapGraphElementLive*>*)", "Set<HeapGraphElementLive*>*()", "bool*(String*,Set<HeapGraphClassLive*>*)", "bool*(HeapGraphClassLive*)", "Set<HeapGraphClassLive*>*()", "Null(WildcardMatch*,List<String*>*)", "double*(LayoutProperties*)", "~({userGenerated:bool*})", "LayoutProperties*(RemoteDiagnosticsNode*)", "SnapshotFilterDialog*(BuildContext*)", "PageStorageKey<String*>*(Reference*)", "List<double*>*(double*)", "int*(int*,TreemapNode*)", "PageStorageKey<String*>*(FieldReference*)", "~(InspectorTreeNode*,RemoteDiagnosticsNode*)", "bool*(String*,MemoryUsage*)", "~(List<@>*)", "Null(RawKeyEvent*)", "SourceDropdownMenuItem<String*>*(String*)", "MemoryConfigurationsDialog*(BuildContext*)", "List<Widget*>*(String*,Widget*[double*])", "Widget*(Map<String*,Object*>*)", "List<Widget*>*(String*{colorPatch:Color*,dashed:bool*,image:String*,leftEdge:double*})", "LibraryReference*(MapEntry<String*,LibraryReference*>*)", "Container*(BuildContext*)", "bool*(AllocationSamples*)", "Column*(BuildContext*,int*)", "Divider*(BuildContext*,int*)", "Key*(Tracker*)", "~(NetworkRequest*)", "List<Map<String*,Object*>*>*()", "TimelineHttpRequestData*()", "int(_PaintRequest,_PaintRequest)", "DartIOHttpRequestData*()", "bool*(String*,@)", "Future<~>*(Timer*)", "~(Event0?)", "DataColumn*(String*{numeric:bool*})", "Color*()", "ValueListenableBuilder<NetworkRequests*>*(BuildContext*,bool*,Widget*)", "ValueListenableBuilder<List<NetworkRequest*>*>*(BuildContext*,NetworkRequests*,Widget*)", "Row*(BuildContext*,List<NetworkRequest*>*,Widget*)", "Expanded*(BuildContext*,NetworkRequest*,Widget*)", "FilterDialog<NetworkController*>*(BuildContext*)", "ValueKey<NetworkRequest*>*(NetworkRequest*)", "Null(NetworkRequest*)", "_NotificationsProvider*(BuildContext*)", "~(_Notification*)", "FlutterVersion*(Response0*)", "bool*(_Notification*)", "Opacity*(BuildContext*,Widget*)", "~(@,StackTrace)", "Null(String)", "HttpProfileRequest*(HttpProfileRequest*)", "Set<0^>()<Object?>", "Set<0^>()<Object?>", "Duration*(Duration*,FlutterFrame*)", "double*(double*,FlutterFrame*)", "Null(Timer*)", "int(_PersistedSurfaceMatch,_PersistedSurfaceMatch)", "double*(double*,LegacyFlutterFrame*)", "Set<0^>()<Object?>", "TimelineHttpInstantEvent*(TraceEvent*)", "Cookie*(@)", "Iterable<_LinkedScrollActivity*>*(Iterable<_LinkedScrollActivity*>*)", "Set<0^>()<Object?>", "Iterable<_LinkedScrollActivity*>*(_LinkedScrollController*)", "Null(LegacyTimelineEvent*)", "Future<Response0*>*()", "LegacyTimelineEventGroup*()", "Future<InstanceRef*>*()", "MapEntry<String*,DevToolsError*>*(MapEntry<String*,DevToolsError*>*)", "bool*(MapEntry<String*,DevToolsError*>*)", "String*(Object*)", "~({parent:LegacyTimelineEvent*})", "Null(_DialogFlag*)", "LegacyFlutterFramesChart*(BuildContext*,@,Widget*)", "EventDetails0*(BuildContext*,@,Widget*)", "LegacyPerformanceSettingsDialog*(BuildContext*)", "ValueKey<String*>*(_DialogFlag*)", "bool*(_DialogFlag*)", "~(LegacyFlutterFrame*)", "_DialogFlag*(Flag*)", "bool*(LegacyAsyncTimelineEvent*)", "int*(LegacyFlutterFrame*,LegacyFlutterFrame*)", "LegacyFlutterFrame*()", "LegacyTimelineFlameChart*(BuildContext*,BoxConstraints*)", "Future<~>*(LegacyTimelineEvent*)", "~(Symbol0,@)", "~(LegacyTimelineEvent*,int*,int*)", "int*(FlameChartNode<LegacyTimelineEvent*>*,FlameChartNode<LegacyTimelineEvent*>*)", "VMFlagsDialog*(BuildContext*)", "bool*(LegacyTimelineEventGroup*)", "Widget*(BuildContext*,Variable*,Widget*)", "Widget*(BuildContext*,List<Variable*>*,Widget*)", "Map<String*,TextStyle*>*(List<String*>*,TextStyle*)", "TimelineEventGroup*()", "bool(NotoFont)", "List<ScopeSpan*>*(ScopeSpan*)", "~({parent:TimelineEvent0*})", "FlutterFramesChart*(BuildContext*,@,Widget*)", "EventDetails*(BuildContext*,@,Widget*)", "PerformanceSettingsDialog*(BuildContext*)", "~(FlutterFrame*)", "bool*(AsyncTimelineEvent*)", "int*(FlutterFrame*,FlutterFrame*)", "FlutterFrame*()", "TimelineFlameChart*(BuildContext*,BoxConstraints*)", "Future<~>*(TimelineEvent0*)", "String?(String)", "~(TimelineEvent0*,int*,int*)", "int*(FlameChartNode<TimelineEvent0*>*,FlameChartNode<TimelineEvent0*>*)", "bool*(TimelineEventGroup*)", "Widget*(FileNode*,~()*)", "CpuProfileData*()", "~(CpuStackFrame*,int*)", "Map<String,String>(Map<String,String>,String)", "Null(FileNode*)", "bool*(CpuStackFrame*)", "CpuProfileFlameChart*(BuildContext*,BoxConstraints*)", "ValueListenableBuilder<String*>*(BuildContext*,CpuProfileData*,Widget*)", "DevToolsTooltip*(BuildContext*,String*,Widget*)", "Stream<VmServiceWrapper*>*(ProviderReference*)", "Future<EvalOnDartLibrary*>*(ProviderReference*,String*)", "Stream<IsolateRef*>*(AutoDisposeProviderReference*)", "bool*(MapInstance*)", "bool*(ListInstance*)", "bool*(ObjectInstance*)", "ListIndexPath*(int*)", "Future<InstanceRef*>*(_InstancePathFromProviderId*)", "Future<InstanceRef*>*(_InstancePathFromInstanceId*)", "Null(PointerEnterEvent*)", "Null(PointerExitEvent*)", "Future<Instance*>*(ObjectInstance*)", "~(String,int)", "Future<InstanceRef*>*(ObjectInstance*)", "InstanceRef*(String*)", "~(String,bool)", "Future<~>*(String*)*(MapInstance*)", "Future<~>*(String*)*(ListInstance*)", "Future<~>*(String*)*(ObjectInstance*)", "Future<InstanceDetails*>*(AutoDisposeProviderReference*,InstancePath*)", "InstanceRef*(MapAssociation*)", "int*(ObjectField*,ObjectField*)", "Future<ObjectField*>*(BoundField*)", "Stream<Event*>*(AutoDisposeProviderReference*,String*)", "bool*(FieldRef*)", "bool*(ProviderReference*,InstancePath*)", "int*(AutoDisposeProviderReference*,InstancePath*)", "int*(InstancePath*)", "String*(BoundField*)", "int*(Iterable<PathToProperty*>*)", "int*(int*,PathToProperty*)", "int*(Object*,StackTrace*)", "int*(MapInstance*)", "PathToProperty*(InstanceDetails*)", "int*(ListInstance*)", "int*(ObjectInstance*)", "PathToProperty*(ObjectField*)", "~(JsUrlStrategy?)", "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*)", "Scrollbar*(BuildContext*,0^*(ProviderBase<Object*,0^*>*)<Object*>*,Widget*)", "String*(ClassRef*)", "Focus*(BuildContext*,Widget*)", "~(PointerEnterEvent*)", "Transform*(BuildContext*,double*,Widget*)", "String*(FuncRef*)", "Null(AsyncData<@>*)", "Null(AsyncError0<@>*)", "StateController<String*>*(AutoDisposeProviderReference*)", "Null(AsyncValue<List<ProviderNode*>*>*)", "bool*(Variable*)", "Widget*(BuildContext*,0^*(ProviderBase<Object*,0^*>*)<Object*>*,Widget*)", "Center*()", "Padding*(Object*,StackTrace*)", "Scrollbar*(List<ProviderNode*>*)", "ProviderNodeItem*(BuildContext*,int*)", "Stream<Event*>*(AutoDisposeProviderReference*)", "Future<List<String*>*>*(AutoDisposeProviderReference*)", "Future<ProviderNode*>*(AutoDisposeProviderReference*,String*)", "Future<Instance*>*(String*)", "Future<List<ProviderNode*>*>*(AutoDisposeProviderReference*)", "Future<ProviderNode*>*(String*)", "int*(ProviderNode*,ProviderNode*)", "bool*(AutoDisposeProviderReference*)", "ProviderNode*(AutoDisposeProviderReference*)", "bool*(ProviderReference*)", "Null(BuildContext*,bool*)", "_StateInspectorSettingsDialog*(BuildContext*)", "String*(Variable*)", "bool*(String*,String*)", "bool*(Route<@>*,@)", "Future<~>*(Object*)", "BannerMessagesController*(BuildContext*)", "DragAndDrop*(BuildContext*,Widget*)", "Widget*(BuildContext*,int*,Widget*)", "Null(Uri*)", "Null(PageChangeEvent*)", "Future<VmServiceWrapper*>*()", "Null(VmServiceWrapper*)", "ServiceExtensionDescription<@>*(@)", "String*(ServiceExtensionDescription<@>*)", "~(String[@])", "bool*(@)", "String*(LibraryRef*)", "int*(IsolateRef*)", "~(String,String?)", "~(EditingState?)", "~(String,FormElement)", "Future<~>*(String*,bool*)", "Completer<bool*>*()", "ValueNotifier<bool*>*()", "ValueNotifier<ServiceExtensionState*>*()", "~(DragUpdateDetails*,int*)", "IsolateRef*(@)", "DevToolsTooltip*(BuildContext*,AsyncSnapshot<IsolateRef*>*)", "String*(IsolateRef*)", "DropdownMenuItem<IsolateRef*>*(IsolateRef*)", "Widget*(BuildContext*,ConnectedState*,Widget*)", "SizedBox*(BuildContext*,@,Widget*)", "DeviceDialog*(BuildContext*)", "FlexSplitColumn*(BuildContext*,BoxConstraints*)", "ScriptPicker*(BuildContext*,@,Widget*)", "KeyEventResult*(RawKeyEvent*,ScrollController*,BoxConstraints*)", "~(Object*,SortDirection*{secondarySortColumn:Object*})", "SizedBox*(BuildContext*,BoxConstraints*)", "~(TapDownDetails*)", "Column*(BuildContext*,Widget*)", "EdgeInsets*(Set<MaterialState*>*)", "StatefulWidget*(BuildContext*,@,Widget*)", "Widget*(~()*)", "CustomIcon*()", "ColorIcon*()", "AutoComplete*(BuildContext*)", "~(AutoCompleteSearchControllerMixin*,bool*)", "Padding*(BuildContext*,@,Widget*)", "bool*(ExtensionState*)", "~([@])", "TextSpan*(TextSpan*)", "Transform*(BuildContext*,Widget*)", "RoundedDropDownButton<String*>*(BuildContext*,Flag*,Widget*)", "TextSpan*(StyledText*)", "int*(LogicalKeyboardKey*,LogicalKeyboardKey*)", "String*(LogicalKeyboardKey*)", "Column*(BuildContext*,bool*,Widget*)", "ValueKey<String*>*(VMTag*)", "Null(VMTag*)", "CodeView*(BuildContext*,@,Widget*)", "ValueKey<String*>*(InstanceRef*)", "~(InstanceRef*)", "Row*(BuildContext*,int*,Widget*)", "ValueKey<String*>*(Isolate*)", "Null(Isolate*)", "ValueListenableBuilder<ParsedScript*>*(BuildContext*,@,Widget*)", "~({current:_CpuProfileTimelineTree*,parent:_CpuProfileTimelineTree*})", "CpuProfileData*(Response0*)", "~(String,Object)", "Null(HeapSample)", "Map<String,@>(XTypeGroup)", "XFile(File)", "TickerFuture({from:double?})", "~(_AnimationDirection)", "Uint8List(@,@)", "Future<~>*(ScriptRef*,int*)", "String(String,Color)", "Future<~>(~)", "~(String{arguments:Map<@,@>?})", "~(ScriptLocation*)", "~(DomException)", "String(@)", "~(ProgressEvent)", "~([int?])", "~(KeyboardEvent)", "FileNode*()", "TargetPlatform?()", "TargetPlatform()", "Future<List<@>>()", "bool(DiagnosticsNode?)", "bool(StackFrame)", "ErrorDescription(String)", "Future<PermissionStatus>(Map<@,@>)", "String(DiagnosticsNode)", "Future<PresentationConnection>()", "Script*(Obj*)", "SourceToken*(Match*)", "bool(DiagnosticsNode)", "~(AbstractNode)", "String(GestureArenaMember)", "_GestureArena()", "~(PointerDataPacket)", "Future<@>(Object)", "BoundVariable*(BoundField*)", "~(_TapTracker)", "Map<~(PointerEvent0),Matrix4?>()", "~(~(PointerEvent0),Matrix4?)", "MaterialRectArcTween(Rect?,Rect?)", "Widget(BuildContext,~())", "~(Node0,Node0?)", "Null(@,@)", "~(ScrollNotification)", "@(@,@)", "double(_Diagonal)", "Element(Node0)", "Index(String)", "0^?(0^?(ButtonStyle?))<Object?>", "0^?(MaterialStateProperty<0^>?(ButtonStyle?))<Object?>", "MaterialStateProperty<double?>?(ButtonStyle?)", "MaterialStateProperty<TextStyle?>?(ButtonStyle?)", "JsFunction(@)", "MaterialStateProperty<EdgeInsetsGeometry?>?(ButtonStyle?)", "JsArray<@>(@)", "MaterialStateProperty<BorderSide?>?(ButtonStyle?)", "MaterialStateProperty<OutlinedBorder?>?(ButtonStyle?)", "MouseCursor0?(Set<MaterialState>)", "MouseCursor0?(ButtonStyle?)", "JsObject(@)", "Color?(ButtonStyle?)", "VisualDensity?(ButtonStyle?)", "MaterialTapTargetSize?(ButtonStyle?)", "Duration?(ButtonStyle?)", "bool?(ButtonStyle?)", "AlignmentGeometry?(ButtonStyle?)", "InteractiveInkFeatureFactory?(ButtonStyle?)", "int*(Variable*,Variable*)", "bool(bool)", "~([num?,num?,num?])", "TableRow0(int)", "BreakpointAndSourcePosition*(Script*)", "Rect()(RenderBox)", "SkTextStyle()", "bool(KeyData)", "Widget(BuildContext,Animation0<double>,Animation0<double>)", "Future<ByteBuffer>(@)", "int*(ScriptRef*,ScriptRef*)", "Future<~>*(Breakpoint*)", "~(ActivateIntent)", "~(ButtonActivateIntent)", "Null(List<BreakpointAndSourcePosition*>*)", "RenderObjectWidget(Widget)", "Rect()?(RenderBox)", "int*(SourcePosition*)", "Null(Event)", "Event?(@)", "bool(InkHighlight?)", "Future<~>*(Variable*)", "Future<StackFrameAndSourcePosition*>*(Frame1*)", "Future<BreakpointAndSourcePosition*>*(Breakpoint*)", "int(ParagraphRuler,ParagraphRuler)", "ListTileTheme(BuildContext)", "bool(LayoutChangedNotification)", "Page<@>*(BuildContext*,String*,Map<String*,String*>*)", "Widget*(BuildContext*,String*,Map<String*,String*>*)", "ShapeBorderTween(@)", "Animation0<double>(AnimationController)", "PageTransitionsBuilder?(TargetPlatform)", "Opacity(BuildContext,Widget?)", "~(double,double)", "CustomMultiChildLayout(BuildContext,Widget?)", "Screen*(DevToolsScreen<@>*)", "double(Set<MaterialState>)", "~(ParagraphGeometricStyle,ParagraphRuler)", "ValueListenableBuilder<bool*>*(BuildContext*)", "~(int,bool(FlutterHtmlKeyboardEvent))", "ExceptionMode*()", "~(DismissDirection)", "Align(BuildContext,Widget?)", "~(List<double>,TextDirection,double)", "GlobalKey<State<StatefulWidget>>(Widget)", "Center(int)", "bool(int,int)", "InputDecorator(BuildContext,Widget?)", "Semantics(BuildContext,Widget?)", "ThemeDataTween(@)", "ThemeData()", "_ToggleButton(int)", "~([TapUpDetails?])", "Future<Codec>(Uint8List{allowUpscaling:bool,cacheHeight:int?,cacheWidth:int?})", "EdgeInsetsGeometry(EdgeInsetsGeometry,ShapeBorder)", "ShapeBorder(ShapeBorder)", "String(ShapeBorder)", "bool*(ExceptionMode*)", "bool(double)", "Color(double)", "_LiveImage()", "~(ImageInfo?,bool)", "Future<~>(Object,StackTrace?)", "Null(ExceptionMode*)", "Null(Map<String,List<String>>?)", "RoundedDropDownButton<ExceptionMode*>*(BuildContext*,String*,Widget*)", "~(Object,StackTrace?)?(ImageStreamListener)", "~(Codec)", "RoundedOutlinedBorder*(BuildContext*,@,Widget*)", "Paint(BoxShadow)", "Path(BoxShadow)", "DiagnosticsNode(InlineSpan)", "~(int,SemanticsAction,ByteData?)", "String(double,double,String)", "Size()", "double?()", "GoToLineDialog*(BuildContext*)", "Future<~>*(BuildContext*,DebuggerController*)", "List<PopupMenuEntry<ScriptPopupMenuOption*>*>*(BuildContext*)", "~(ScriptPopupMenuOption*)", "Rect(Rect?,TextBox)", "bool*(DevToolsScreen<@>*)", "MouseCursor0(MouseTrackerAnnotation)", "~(MouseTrackerAnnotation,Matrix4)", "bool(MouseTrackerAnnotation)", "Provider<@>*(DevToolsScreen<@>*)", "Notifications*(BuildContext*,Widget*)", "DevToolsAboutDialog*(BuildContext*)", "bool(SliverHitTestResult{crossAxisPosition!double,mainAxisPosition!double})", "SettingsDialog*(BuildContext*)", "bool*(SourceToken*)", "bool(RenderBox)", "HitTestResult(Offset)", "bool(RenderSliver)", "Checkbox*(BuildContext*,bool*,Widget*)", "~(FrameTiming)", "~(int,_FrameCallbackEntry)", "TickerFuture()", "InspectorSettingsController*()", "SemanticsNode(_TraversalSortNode)", "DiagnosticsNode(SemanticsNode)", "LineItem*(BuildContext*,int*)", "LegacyPerformanceController*()", "int(SemanticsNode)", "SemanticsNode(int)", "Future<String>()", "Stream<LicenseEntry>()", "Future<String?>(String?)", "Future<~>(ByteData?,~(ByteData?))", "GutterItem*(BuildContext*,int*)", "bool(PhysicalKeyboardKey)", "Future<Object?>(MethodCall)", "int*(BreakpointAndSourcePosition*)", "PopupMenuItem<ScriptRef*>*(ScriptRef*)", "List<RestorationBucket>()", "List<RestorationBucket>(List<RestorationBucket>)", "PerformanceController*()", "Lines*(BuildContext*,BoxConstraints*)", "ProfilerScreenController*()", "Gutter*(BuildContext*,List<BreakpointAndSourcePosition*>*,Widget*)", "~(Action<Intent>)", "MemoryController*()", "Route<@>?(RouteSettings)", "Route<@>(RouteSettings)", "bool(KeepAliveNotification)", "DebuggerController*()", "NetworkController*()", "HitTestResult()", "Future<double>()", "Future<~>(double)", "Future<~>(@)", "Future<Map<String,String>>(Map<String,Object>)", "Row*(BuildContext*,StackFrameAndSourcePosition*,Widget*)", "Future<~>(bool)", "Future<~>(DragEndDetails)", "Future<~>(AnimationStatus)", "TextEditingValue(TextEditingValue,TextInputFormatter)", "CompositedTransformTarget(BuildContext,ViewportOffset)", "~([FocusNode?])", "LoggingController*()", "DiagnosticsNode(FocusNode)", "bool(RawKeyEvent)", "~(_FocusTraversalGroupInfo)", "bool(_DirectionalPolicyDataEntry)", "AppSizeController*()", "bool(TraversalDirection)", "Set<Directionality>(_ReadingOrderSortData)", "ProxyWidget*(BuildContext*,@)", "List<Directionality>(BuildContext)", "Rect(_ReadingOrderSortData)", "int(_ReadingOrderDirectionalGroupData,_ReadingOrderDirectionalGroupData)", "List<_ReadingOrderSortData>(_ReadingOrderSortData,Iterable<_ReadingOrderSortData>)", "bool(_ReadingOrderSortData)", "Element0?(Element0)", "Object?(int,Element0?)", "TapGestureRecognizer()", "~(TapGestureRecognizer)", "DoubleTapGestureRecognizer()", "~(DoubleTapGestureRecognizer)", "Null(ScriptRef*)", "Null(FontFace)", "bool*(InlineSpan*)", "Stack*(BuildContext*,@,Widget*)", "SkImage()", "Null(FlutterErrorDetails*)", "PanGestureRecognizer()", "~(PanGestureRecognizer)", "List<PopupMenuEntry<ScriptRef*>*>*(BuildContext*)", "~(RenderSemanticsGestureHandler)", "~(StatefulElement,Object)", "~(_HeroFlightManifest)", "Positioned(BuildContext,Widget?)", "~(_HeroFlight)", "Widget(BuildContext,Animation0<double>,HeroFlightDirection,BuildContext,BuildContext)", "IconTheme(BuildContext)", "bool(SurfaceFrame,CkCanvas)", "ListView*(BuildContext*,StackFrameAndSourcePosition*,Widget*)", "ValueListenableBuilder<StackFrameAndSourcePosition*>*(BuildContext*,List<StackFrameAndSourcePosition*>*,Widget*)", "ListView*(BuildContext*,BreakpointAndSourcePosition*,Widget*)", "BoxConstraintsTween(@)", "Matrix4Tween(@)", "TextStyleTween(@)", "BorderRadiusTween(@)", "Future<@>(_Pending)", "Map<Type,@>(List<@>)", "Map<Type,@>(Map<Type,@>)", "Null(Map<Type,@>)", "Null(ByteData)", "~(RouteTransitionRecord?,bool)", "bool(Route<@>?)", "bool(OverlayEntry)", "~(Element)", "Null(DiffTreeType*)", "_RouteEntry(Route<@>)", "Element()", "String(Object?)", "MapEntry<String?,List<Object>>(@,@)", "RenderBox?()", "Viewport(BuildContext,ViewportOffset)", "Null(RestorationBucket?)", "~(RestorableProperty<Object?>)", "Future<~>([~])", "ValueListenableBuilder<BreakpointAndSourcePosition*>*(BuildContext*,List<BreakpointAndSourcePosition*>*,Widget*)", "Future<@>(~)", "Future<bool>(bool)", "Null(HorizontalDragGestureRecognizer*)", "RestorationScope(BuildContext,Widget?)", "Actions(BuildContext)", "IgnorePointer(BuildContext,Widget?)", "IOSScrollViewFlingVelocityTracker(PointerEvent0)", "HorizontalDragGestureRecognizer*()", "Widget(BuildContext,ViewportOffset)", "bool(ScrollUpdateNotification)", "Widget(BuildContext,int)", "int?(Widget,int)", "~(DragDownDetails)", "~(PointerSignalEvent)", "_ThumbPressGestureRecognizer()", "~(_ThumbPressGestureRecognizer)", "RenderObjectWidget*(BuildContext*,@,Widget*)", "_TrackTapGestureRecognizer()", "~(_TrackTapGestureRecognizer)", "~(PointerHoverEvent)", "List<LogicalKeyboardKey>(LogicalKeyboardKey)", "~(ShortcutActivator,Intent)", "List<_ActivatorIntentPair>()", "KeyEventResult(FocusNode,RawKeyEvent)", "_SingleChildViewport(BuildContext,ViewportOffset)", "~(RenderBox)", "Element0?()", "bool(TableRow0)", "Decoration?(TableRow0)", "_TableElementRow(TableRow0)", "Element0(Widget)", "bool(_TableElementRow)", "bool(List<Element0>)", "Iterable<RenderBox>(_TableElementRow)", "RenderBox(Element0)", "List<Element0>(_TableElementRow)", "DefaultTextStyle(BuildContext)", "~([Duration?])", "~(DragStartDetails,DragUpdateDetails)", "_TransparentTapGestureRecognizer()", "~(_TransparentTapGestureRecognizer)", "ForcePressGestureRecognizer()", "~(ForcePressGestureRecognizer)", "0&(@)", "0^(ProviderBase<Object?,0^>)<Object?>", "Null(VerticalDragGestureRecognizer*)", "VerticalDragGestureRecognizer*()", "Future<~>(String,ByteData?,~(ByteData?)?)", "Future<Response>(Client0)", "Future<Response>(Uri{body:Object?,encoding:Encoding?,headers:Map<String,String>?})", "bool(String,String)", "int(String)", "~(PointerEvent0*)", "~(List<int>)", "String(List<String>)", "MediaType()", "Uint32List(int)", "IcoInfoImage(int)", "JpegComponent(int)", "Null(DevToolsJsonFile*)", "~(DragEndDetails*)", "DateTime()", "DateTime(int,int,int,int,int,int,int,bool)", "_DateFormatQuotedField(String,DateFormat)", "_DateFormatPatternField(String,DateFormat)", "_DateFormatLiteralField(String,DateFormat)", "~(int,String)", "~(DragStartDetails*)", "Logger()", "String(String[int])", "String(String?)", "String([int])", "bool(String?)", "~(0^)<Object?>", "bool(MapEntry<String,Object?>)", "String(MapEntry<String,Object?>)", "ProviderElement<@,@>()", "~(DragDownDetails*)", "Widget*(BuildContext*,ViewportOffset*)", "String?()", "int(_Line)", "~(Iterable<PointerData>)", "Uri?(_Line)", "Uri?(_Highlight)", "int(_Highlight,_Highlight)", "List<_Line>(List<_Highlight>)", "SourceSpanWithContext()", "String(String{color:@})", "LiveRegion(SemanticsObject)", "ImageRoleManager(SemanticsObject)", "List<Frame>(Trace)", "int(Trace)", "Future<FlutterVersion*>*()", "String(Trace)", "Null(Object*)", "Widget*(BuildContext*,@,Widget*)", "Frame(String,String)", "~(AnimationStatus*)", "~(DevToolsJsonFile*,DevToolsJsonFile*,~(String*)*)", "Checkable(SemanticsObject)", "Frame(Frame)", "int(int,Object)", "HttpProfileRequest(Map<String,@>)", "HttpProfileRequestEvent(Map<String,@>)", "Future<~>(Event)", "Null(KeyboardEvent*)", "~(String,_OutstandingRequest<@>)", "Map<String,@>(ClassHeapStats)", "TextField(SemanticsObject)", "Opacity*(BuildContext*,@,Widget*)", "Tappable(SemanticsObject)", "_ButtonSanitizer()", "Map<String,@>(ContextElement)", "Map<String,@>(ProfileFunction)", "Map<String,@>(CpuSample)", "Breadcrumb*(BuildContext*,int*)", "int*(TreemapNode*,TreemapNode*)", "Map<String,@>(Flag)", "Map<String,@>(BoundVariable)", "Map<String,@>(BoundField)", "Map<String,@>(MapAssociation)", "Map<String,@>(IsolateFlag)", "Map<String,@>(LibraryRef)", "~(CallGraphNode*)", "Map<String,@>(InboundReference)", "Map<String,@>(ObjRef)", "Map<String,@>(LibraryDependency)", "_FlameChartHelpDialog*(BuildContext*)", "Map<String,@>(Protocol)", "Map<String,@>(ProcessMemoryItem)", "Map<String,@>(RetainingObject)", "List<int>(@)", "List<int>(List<int>)", "Map<String,@>(SourceReportRange)", "LabelAndValue(SemanticsObject)", "Map<String,@>(Message)", "~(TapUpDetails*)", "ProgramInfoNode*(ProgramInfoNode*)", "CallGraphNode*(Object*)", "Future<Null>*(Duration*)", "CallGraphNode*(CallGraphNode*)", "Scrollable(SemanticsObject)", "~(RawKeyEvent*)", "Null(int*,int*)", "Object*()", "CallGraphNode*({data:@})", "CallGraphNode*(@)", "CallGraphNode*(ProgramInfoNode*)", "PageStorageKey<String*>*(DominatorTreeNode*)", "Incrementable(SemanticsObject)", "~(ProgramInfoNode*,ProgramInfoNode*)", "~(int*,int*)", "int*(ProgramInfoNode*)", "int*(int*,ProgramInfoNode*)", "~(ProgramInfoNode*,String*,Map<String*,@>*,TreemapFormat*)", "String*(ProgramInfoNode*)", "_PointerState()", "Map<String*,@>*()", "Map<String*,@>*(@)", "Node*(int*)", "bool*(Edge*)", "ProgramInfoNode*(Node*)", "~(MessageEvent)", "Null(CloseEvent)", "~(HtmlElement)", "bool*(DominatorTreeNode*)", "String(String,String)", "~(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<@>)", "int*(int*)", "Object?(Object?)", "0^(0^,0^)<num>", "Size?(Size?,Size?,double)", "double?(num?,num?,double)", "Color?(Color?,Color?,double)", "StreamHistory?(Map<String,@>?)", "Future<~>*([bool*])", "~(BuildContext*,DebuggerController*)", "~(CanvasKit)", "0^*(0^*)<Object*>", "~(FlutterErrorDetails{forceReport:bool})", "DiagnosticsNode(String)", "StackFrame?(String)", "double(double,double,double)", "Widget(BuildContext,Animation0<double>,Animation0<double>,Widget)", "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(Element0,Element0)", "List<Route<@>>(NavigatorState,String)", "int(Widget,int)", "GestureDetector*(BuildContext*,BoxConstraints*)", "ValueNotifier<List<BannerMessage*>*>*()", "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,@>?)", "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,@>?)", "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,@>?)", "Response0?(Map<String,@>?)", "Sentinel?(Map<String,@>?)", "ScriptRef?(Map<String,@>?)", "Script?(Map<String,@>?)", "ScriptList?(Map<String,@>?)", "SourceLocation0?(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,@>?)", "UnresolvedSourceLocation?(Map<String,@>?)", "Version?(Map<String,@>?)", "VMRef?(Map<String,@>?)", "VM?(Map<String,@>?)", "SymbolInfo*(Map<String*,@>*)", "Element*(int*)", "int(Object?,Object?)", "0^(0^)<Object?>", "~(String?{wrapWidth:int?})", "Column*(BuildContext*,List<BannerMessage*>*,Widget*)", "Null(ProgressEvent*)"],
    interceptorsByTag: null,
    leafTags: null,
    arrayRti: typeof Symbol == "function" && typeof Symbol() == "symbol" ? Symbol("$ti") : "$ti"
  };
  H._Universe_addRules(init.typeUniverse, JSON.parse('{"CanvasKit":"JavaScriptObject","SkFontSlant":"JavaScriptObject","SkFontWeight":"JavaScriptObject","SkTextDirection":"JavaScriptObject","SkTextAlign":"JavaScriptObject","SkTextHeightBehavior":"JavaScriptObject","SkRectHeightStyle":"JavaScriptObject","SkRectWidthStyle":"JavaScriptObject","SkClipOp":"JavaScriptObject","SkFillType":"JavaScriptObject","SkBlurStyle":"JavaScriptObject","SkStrokeCap":"JavaScriptObject","SkPaintStyle":"JavaScriptObject","SkBlendMode":"JavaScriptObject","SkStrokeJoin":"JavaScriptObject","SkFilterQuality":"JavaScriptObject","SkTileMode":"JavaScriptObject","SkAnimatedImage":"JavaScriptObject","SkImage":"JavaScriptObject","SkShader":"JavaScriptObject","SkPaint":"JavaScriptObject","SkMaskFilter":"JavaScriptObject","SkColorFilter":"JavaScriptObject","SkImageFilter":"JavaScriptObject","SkPath":"JavaScriptObject","SkPicture":"JavaScriptObject","SkTextStyle":"JavaScriptObject","SkTextDecorationStyle":"JavaScriptObject","SkTextBaseline":"JavaScriptObject","SkTextShadow":"JavaScriptObject","SkFontFeature":"JavaScriptObject","SkTypeface":"JavaScriptObject","SkParagraph":"JavaScriptObject","SkDeletable":"JavaScriptObject","JsUrlStrategy":"JavaScriptObject","CanvasKitInitOptions":"JavaScriptObject","CanvasKitInitPromise":"JavaScriptObject","ColorSpace":"JavaScriptObject","SkWebGLContextOptions":"JavaScriptObject","SkSurface":"JavaScriptObject","SkGrContext":"JavaScriptObject","SkFontSlantEnum":"JavaScriptObject","SkFontWeightEnum":"JavaScriptObject","SkAffinityEnum":"JavaScriptObject","SkAffinity":"JavaScriptObject","SkTextDirectionEnum":"JavaScriptObject","SkTextAlignEnum":"JavaScriptObject","SkTextHeightBehaviorEnum":"JavaScriptObject","SkRectHeightStyleEnum":"JavaScriptObject","SkRectWidthStyleEnum":"JavaScriptObject","SkVertexModeEnum":"JavaScriptObject","SkVertexMode":"JavaScriptObject","SkPointModeEnum":"JavaScriptObject","SkPointMode":"JavaScriptObject","SkClipOpEnum":"JavaScriptObject","SkFillTypeEnum":"JavaScriptObject","SkPathOpEnum":"JavaScriptObject","SkPathOp":"JavaScriptObject","SkBlurStyleEnum":"JavaScriptObject","SkStrokeCapEnum":"JavaScriptObject","SkPaintStyleEnum":"JavaScriptObject","SkBlendModeEnum":"JavaScriptObject","SkStrokeJoinEnum":"JavaScriptObject","SkFilterQualityEnum":"JavaScriptObject","SkTileModeEnum":"JavaScriptObject","SkFilterModeEnum":"JavaScriptObject","SkFilterMode":"JavaScriptObject","SkMipmapModeEnum":"JavaScriptObject","SkMipmapMode":"JavaScriptObject","SkAlphaTypeEnum":"JavaScriptObject","SkAlphaType":"JavaScriptObject","SkColorTypeEnum":"JavaScriptObject","SkColorType":"JavaScriptObject","SkShaderNamespace":"JavaScriptObject","SkMaskFilterNamespace":"JavaScriptObject","SkColorFilterNamespace":"JavaScriptObject","SkImageFilterNamespace":"JavaScriptObject","SkPathNamespace":"JavaScriptObject","_NativeFloat32ArrayType":"JavaScriptObject","SkFloat32List":"JavaScriptObject","SkContourMeasureIter":"JavaScriptObject","SkContourMeasure":"JavaScriptObject","SkPictureRecorder":"JavaScriptObject","SkCanvas":"JavaScriptObject","SkParagraphBuilderNamespace":"JavaScriptObject","SkParagraphBuilder":"JavaScriptObject","SkParagraphStyle":"JavaScriptObject","SkParagraphStyleProperties":"JavaScriptObject","SkTextDecorationStyleEnum":"JavaScriptObject","SkTextBaselineEnum":"JavaScriptObject","SkPlaceholderAlignmentEnum":"JavaScriptObject","SkPlaceholderAlignment":"JavaScriptObject","SkTextStyleProperties":"JavaScriptObject","SkStrutStyleProperties":"JavaScriptObject","SkFontStyle":"JavaScriptObject","SkFont":"JavaScriptObject","SkFontMgr":"JavaScriptObject","TypefaceFontProvider":"JavaScriptObject","SkLineMetrics":"JavaScriptObject","SkTextPosition":"JavaScriptObject","SkTextRange":"JavaScriptObject","SkVertices":"JavaScriptObject","SkTonalColors":"JavaScriptObject","SkFontMgrNamespace":"JavaScriptObject","TypefaceFontProviderNamespace":"JavaScriptObject","JsConstructor":"JavaScriptObject","SkObjectFinalizationRegistry":"JavaScriptObject","SkData":"JavaScriptObject","SkImageInfo":"JavaScriptObject","PlainJavaScriptObject":"JavaScriptObject","UnknownJavaScriptObject":"JavaScriptObject","JavaScriptFunction":"JavaScriptObject","GtagEventDevTools":"JavaScriptObject","GtagExceptionDevTools":"JavaScriptObject","GtagEvent":"JavaScriptObject","GtagException":"JavaScriptObject","JsUrlStrategy0":"JavaScriptObject","AbortPaymentEvent":"Event0","ExtendableEvent":"Event0","AnalyserNode":"AudioNode","ConstantSourceNode":"AudioScheduledSourceNode","AudioContext":"BaseAudioContext","AElement":"SvgElement","GraphicsElement":"SvgElement","Animation":"EventTarget","_ResourceProgressEvent":"ProgressEvent","BRElement":"HtmlElement","_DocumentType":"Node0","HtmlDocument":"Document","CompositionEvent":"UIEvent","ShadowRoot":"DocumentFragment","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text0":"CharacterData","MidiInput":"MidiPort","AbsoluteOrientationSensor":"Sensor","OrientationSensor":"Sensor","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CanvasCaptureMediaStreamTrack":"MediaStreamTrack","AudioElement":"MediaElement","ManagedSkiaObject":{"SkiaObject":["1"]},"PersistedContainerSurface":{"PersistedSurface":[]},"Checkable":{"RoleManager":[]},"ImageRoleManager":{"RoleManager":[]},"Incrementable":{"RoleManager":[]},"LabelAndValue":{"RoleManager":[]},"LiveRegion":{"RoleManager":[]},"Scrollable":{"RoleManager":[]},"Tappable":{"RoleManager":[]},"TextField":{"RoleManager":[]},"AssetManagerException":{"Exception":[]},"RecordingCkCanvas":{"CkCanvas":[]},"CkSaveCommand":{"CkPaintCommand":[]},"CkRestoreCommand":{"CkPaintCommand":[]},"CkRestoreToCountCommand":{"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"]},"MutatorsStack":{"Iterable":["Mutator"],"Iterable.E":"Mutator"},"ImageCodecException":{"Exception":[]},"CkAnimatedImage":{"ManagedSkiaObject":["SkAnimatedImage"],"SkiaObject":["SkAnimatedImage"],"Codec":[]},"AnimatedImageFrameInfo":{"FrameInfo":[]},"ContainerLayer":{"Layer":[]},"RootLayer":{"Layer":[]},"ClipPathEngineLayer":{"Layer":[],"ClipPathEngineLayer0":[]},"ClipRectEngineLayer":{"Layer":[],"ClipRectEngineLayer0":[]},"ClipRRectEngineLayer":{"Layer":[],"ClipRRectEngineLayer0":[]},"OpacityEngineLayer":{"Layer":[],"OpacityEngineLayer0":[]},"TransformEngineLayer":{"Layer":[],"TransformEngineLayer0":[]},"OffsetEngineLayer":{"Layer":[],"TransformEngineLayer0":[],"OffsetEngineLayer0":[]},"PictureLayer0":{"Layer":[]},"PhysicalShapeEngineLayer":{"Layer":[],"PhysicalShapeEngineLayer0":[]},"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"]},"CanvasKitError":{"Error0":[]},"SurfaceCanvas":{"Canvas":[]},"PersistedClipRect":{"PersistedContainerSurface":[],"PersistedSurface":[],"ClipRectEngineLayer0":[]},"PersistedClipRRect":{"PersistedContainerSurface":[],"PersistedSurface":[],"ClipRRectEngineLayer0":[]},"PersistedPhysicalShape":{"PersistedContainerSurface":[],"PersistedSurface":[],"PhysicalShapeEngineLayer0":[]},"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":[]},"PaintDrawRect":{"PaintCommand":[]},"PaintDrawRRect":{"PaintCommand":[]},"PaintDrawDRRect":{"PaintCommand":[]},"PaintDrawOval":{"PaintCommand":[]},"PaintDrawCircle":{"PaintCommand":[]},"PaintDrawPath":{"PaintCommand":[]},"PaintDrawShadow":{"PaintCommand":[]},"PaintDrawImageRect":{"PaintCommand":[]},"PaintDrawParagraph":{"PaintCommand":[]},"PersistedScene":{"PersistedContainerSurface":[],"PersistedSurface":[]},"GradientLinear":{"EngineGradient":[]},"PersistedLeafSurface":{"PersistedSurface":[]},"PersistedTransform":{"PersistedContainerSurface":[],"PersistedSurface":[],"TransformEngineLayer0":[]},"HtmlCodec":{"Codec":[]},"HtmlBlobCodec":{"Codec":[]},"SingleFrameInfo":{"FrameInfo":[]},"_TypedDataBuffer":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_IntBuffer":{"_TypedDataBuffer":["int"],"ListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8Buffer0":{"_TypedDataBuffer":["int"],"ListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListMixin.E":"int","_TypedDataBuffer.E":"int"},"CanvasParagraph":{"EngineParagraph":[]},"FlatTextSpan":{"ParagraphSpan":[]},"ChildStyleNode":{"StyleNode":[]},"RootStyleNode":{"StyleNode":[]},"SpanBox":{"RangeBox":[]},"DomParagraph":{"EngineParagraph":[]},"EngineFlutterWindow":{"FlutterWindow":[]},"EngineSingletonFlutterWindow":{"FlutterWindow":[]},"JavaScriptObject":{"JSObject":[],"CanvasKit":[],"SkFontSlant":[],"SkFontWeight":[],"SkTextDirection":[],"SkTextAlign":[],"SkTextHeightBehavior":[],"SkRectHeightStyle":[],"SkRectWidthStyle":[],"SkClipOp":[],"SkFillType":[],"SkBlurStyle":[],"SkStrokeCap":[],"SkPaintStyle":[],"SkBlendMode":[],"SkStrokeJoin":[],"SkFilterQuality":[],"SkTileMode":[],"SkAnimatedImage":[],"SkImage":[],"SkShader":[],"SkPaint":[],"SkMaskFilter":[],"SkColorFilter":[],"SkImageFilter":[],"SkPath":[],"SkPicture":[],"SkTextStyle":[],"SkTextDecorationStyle":[],"SkTextBaseline":[],"SkTextShadow":[],"SkFontFeature":[],"SkTypeface":[],"SkParagraph":[],"SkDeletable":[],"JsUrlStrategy":[]},"JSBool":{"bool":[]},"JSNull":{"Null":[]},"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"],"Pattern":[],"JSIndexable":["@"]},"EfficientLengthIterable":{"Iterable":["1"]},"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.K":"3","MapMixin.V":"4"},"CastQueue":{"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"LateError":{"Error0":[]},"ReachabilityError":{"Error0":[]},"CodeUnits":{"ListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListMixin.E":"int"},"NotNullableError":{"Error0":[]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.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"],"ListIterable.E":"2","Iterable.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"],"ListIterable.E":"int","Iterable.E":"int"},"ListMapView":{"MapMixin":["int","1"],"_UnmodifiableMapMixin":["int","1"],"Map":["int","1"],"MapMixin.K":"int","MapMixin.V":"1"},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.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":{"Error0":[]},"JsNoSuchMethodError":{"Error0":[]},"UnknownJsTypeError":{"Error0":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error0":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_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"],"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":{"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"]},"_GeneratedStreamImpl":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"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"]},"DoubleLinkedQueueEntry":{"_DoubleLink":["DoubleLinkedQueueEntry<1>"]},"_SplayTreeMapNode":{"MapEntry":["1","2"]},"_HashMap":{"MapMixin":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedIdentityHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_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"]},"_DoubleLinkedQueueEntry":{"DoubleLinkedQueueEntry":["1"],"_DoubleLink":["DoubleLinkedQueueEntry<1>"]},"_DoubleLinkedQueueElement":{"_DoubleLinkedQueueEntry":["1"],"DoubleLinkedQueueEntry":["1"],"_DoubleLink":["DoubleLinkedQueueEntry<1>"],"_DoubleLink.0":"DoubleLinkedQueueEntry<1>"},"_DoubleLinkedQueueSentinel":{"_DoubleLinkedQueueEntry":["1"],"DoubleLinkedQueueEntry":["1"],"_DoubleLink":["DoubleLinkedQueueEntry<1>"],"_DoubleLink.0":"DoubleLinkedQueueEntry<1>"},"DoubleLinkedQueue":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"ListQueue":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.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.K":"1","MapMixin.V":"2"},"_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"]},"_SplayTreeValueIterator":{"_SplayTreeIterator":["1","_SplayTreeMapNode<1,2>","2"]},"_SplayTreeMapEntryIterator":{"_SplayTreeIterator":["1","_SplayTreeMapNode<1,2>","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.K":"String","MapMixin.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.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"},"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"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"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":[]},"_GeneratorIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_StringStackTrace":{"StackTrace":[]},"Runes":{"Iterable":["int"],"Iterable.E":"int"},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"HtmlElement":{"Element":[],"Node0":[],"EventTarget":[]},"CanvasElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"CloseEvent":{"Event0":[]},"Element":{"Node0":[],"EventTarget":[]},"File":{"Blob":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"HttpRequest":{"EventTarget":[]},"HttpRequestEventTarget":{"EventTarget":[]},"KeyboardEvent":{"Event0":[]},"MessageEvent":{"Event0":[]},"MetaElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"MouseEvent":{"Event0":[]},"Node0":{"EventTarget":[]},"PermissionStatus":{"EventTarget":[]},"PointerEvent":{"MouseEvent":[],"Event0":[]},"PresentationConnection":{"EventTarget":[]},"ProgressEvent":{"Event0":[]},"SourceBuffer":{"EventTarget":[]},"TextTrack":{"EventTarget":[]},"TextTrackCue":{"EventTarget":[]},"TouchEvent":{"Event0":[]},"UIEvent":{"Event0":[]},"_Html5NodeValidator":{"NodeValidator":[]},"AccessibleNode":{"EventTarget":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"ApplicationCacheErrorEvent":{"Event0":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"BatteryManager":{"EventTarget":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"BroadcastChannel":{"EventTarget":[]},"ButtonElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"CharacterData":{"Node0":[],"EventTarget":[]},"CssKeyframesRule":{"CssRule":[]},"CssStyleSheet":{"StyleSheet":[]},"DivElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"Document":{"Node0":[],"EventTarget":[]},"DocumentFragment":{"Node0":[],"EventTarget":[]},"DomRectList":{"ListMixin":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"EfficientLengthIterable":["Rectangle<num>"],"Iterable":["Rectangle<num>"],"JSIndexable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListMixin.E":"Rectangle<num>"},"DomRectReadOnly":{"Rectangle":["num"]},"DomStringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"JSIndexable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"_ChildrenElementList":{"ListMixin":["Element"],"List":["Element"],"EfficientLengthIterable":["Element"],"Iterable":["Element"],"ListMixin.E":"Element"},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"EmbedElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"ErrorEvent":{"Event0":[]},"EventSource":{"EventTarget":[]},"FieldSetElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"FileList":{"ListMixin":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"Iterable":["File"],"JSIndexable":["File"],"ImmutableListMixin.E":"File","ListMixin.E":"File"},"FileReader":{"EventTarget":[]},"FileWriter":{"EventTarget":[]},"FontFaceSet":{"EventTarget":[]},"HtmlCollection":{"ListMixin":["Node0"],"ImmutableListMixin":["Node0"],"List":["Node0"],"JavaScriptIndexingBehavior":["Node0"],"EfficientLengthIterable":["Node0"],"Iterable":["Node0"],"JSIndexable":["Node0"],"ImmutableListMixin.E":"Node0","ListMixin.E":"Node0"},"IFrameElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"ImageElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"InputElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"LabelElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"MapElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"MediaElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"MediaKeyMessageEvent":{"Event0":[]},"MediaKeySession":{"EventTarget":[]},"MediaQueryList":{"EventTarget":[]},"MediaQueryListEvent":{"Event0":[]},"MediaRecorder":{"EventTarget":[]},"MediaSource":{"EventTarget":[]},"MediaStreamTrack":{"EventTarget":[]},"MessagePort":{"EventTarget":[]},"MidiInputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MidiOutputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MidiPort":{"EventTarget":[]},"MimeTypeArray":{"ListMixin":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"Iterable":["MimeType"],"JSIndexable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListMixin.E":"MimeType"},"_ChildNodeListLazy":{"ListMixin":["Node0"],"List":["Node0"],"EfficientLengthIterable":["Node0"],"Iterable":["Node0"],"ListMixin.E":"Node0"},"NodeList":{"ListMixin":["Node0"],"ImmutableListMixin":["Node0"],"List":["Node0"],"JavaScriptIndexingBehavior":["Node0"],"EfficientLengthIterable":["Node0"],"Iterable":["Node0"],"JSIndexable":["Node0"],"ImmutableListMixin.E":"Node0","ListMixin.E":"Node0"},"OListElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"ObjectElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"OffscreenCanvas":{"EventTarget":[]},"OptionElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"OutputElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"ParagraphElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"ParamElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"PluginArray":{"ListMixin":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"Iterable":["Plugin"],"JSIndexable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListMixin.E":"Plugin"},"PresentationConnectionCloseEvent":{"Event0":[]},"PresentationRequest":{"EventTarget":[]},"RtcDataChannelEvent":{"Event0":[]},"RtcDtmfSender":{"EventTarget":[]},"RtcStatsReport":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"ScreenOrientation":{"EventTarget":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"SelectElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"Sensor":{"EventTarget":[]},"SharedWorkerGlobalScope":{"WorkerGlobalScope":[],"EventTarget":[]},"SlotElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"SourceBufferList":{"ListMixin":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"EventTarget":[],"EfficientLengthIterable":["SourceBuffer"],"Iterable":["SourceBuffer"],"JSIndexable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListMixin.E":"SourceBuffer"},"SpanElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"SpeechGrammarList":{"ListMixin":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"Iterable":["SpeechGrammar"],"JSIndexable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListMixin.E":"SpeechGrammar"},"SpeechRecognition":{"EventTarget":[]},"SpeechRecognitionError":{"Event0":[]},"SpeechSynthesisEvent":{"Event0":[]},"SpeechSynthesisUtterance":{"EventTarget":[]},"Storage":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"StyleElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"TableElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"TextAreaElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"TextTrackCueList":{"ListMixin":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"Iterable":["TextTrackCue"],"JSIndexable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListMixin.E":"TextTrackCue"},"TextTrackList":{"ListMixin":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"EventTarget":[],"EfficientLengthIterable":["TextTrack"],"Iterable":["TextTrack"],"JSIndexable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListMixin.E":"TextTrack"},"TouchList":{"ListMixin":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"Iterable":["Touch"],"JSIndexable":["Touch"],"ImmutableListMixin.E":"Touch","ListMixin.E":"Touch"},"TrackElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"VRSession":{"EventTarget":[]},"VideoElement":{"HtmlElement":[],"Element":[],"Node0":[],"EventTarget":[]},"VideoTrackList":{"EventTarget":[]},"VttCue":{"TextTrackCue":[],"EventTarget":[]},"WebSocket0":{"EventTarget":[]},"WheelEvent":{"MouseEvent":[],"Event0":[]},"Window":{"EventTarget":[]},"WorkerGlobalScope":{"EventTarget":[]},"_Attr":{"Node0":[],"EventTarget":[]},"_CssRuleList":{"ListMixin":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"Iterable":["CssRule"],"JSIndexable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListMixin.E":"CssRule"},"_DomRect":{"Rectangle":["num"]},"_GamepadList":{"ListMixin":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"Iterable":["Gamepad?"],"JSIndexable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListMixin.E":"Gamepad?"},"_NamedNodeMap":{"ListMixin":["Node0"],"ImmutableListMixin":["Node0"],"List":["Node0"],"JavaScriptIndexingBehavior":["Node0"],"EfficientLengthIterable":["Node0"],"Iterable":["Node0"],"JSIndexable":["Node0"],"ImmutableListMixin.E":"Node0","ListMixin.E":"Node0"},"_SpeechRecognitionResultList":{"ListMixin":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"Iterable":["SpeechRecognitionResult"],"JSIndexable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListMixin.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListMixin":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"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.K":"String","MapMixin.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_ElementEventStreamImpl":{"_EventStream":["1"],"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"_DOMWindowCrossFrame":{"EventTarget":[]},"FilteredElementList":{"ListMixin":["Element"],"List":["Element"],"EfficientLengthIterable":["Element"],"Iterable":["Element"],"ListMixin.E":"Element"},"Database":{"EventTarget":[]},"VersionChangeEvent":{"Event0":[]},"JsArray":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"NullRejectionException":{"Exception":[]},"Rectangle":{"_RectangleBase":["1"]},"FEColorMatrixElement":{"SvgElement":[],"Element":[],"Node0":[],"EventTarget":[]},"LengthList":{"ListMixin":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListMixin.E":"Length"},"NumberList":{"ListMixin":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListMixin.E":"Number"},"ScriptElement0":{"SvgElement":[],"Element":[],"Node0":[],"EventTarget":[]},"StringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"SvgElement":{"Element":[],"Node0":[],"EventTarget":[]},"TransformList":{"ListMixin":["Transform0"],"ImmutableListMixin":["Transform0"],"List":["Transform0"],"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":[]},"SingletonFlutterWindow":{"FlutterWindow":[]},"AudioBufferSourceNode":{"EventTarget":[]},"AudioNode":{"EventTarget":[]},"AudioParamMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"AudioScheduledSourceNode":{"EventTarget":[]},"AudioTrackList":{"EventTarget":[]},"BaseAudioContext":{"EventTarget":[]},"OfflineAudioContext":{"EventTarget":[]},"SqlResultSetRowList":{"ListMixin":["Map<@,@>"],"ImmutableListMixin":["Map<@,@>"],"List":["Map<@,@>"],"EfficientLengthIterable":["Map<@,@>"],"Iterable":["Map<@,@>"],"ImmutableListMixin.E":"Map<@,@>","ListMixin.E":"Map<@,@>"},"ArchiveException":{"FormatException":[],"Exception":[]},"DelegatingStreamSubscription":{"StreamSubscription":["1"]},"ErrorResult":{"Result0":["0&"]},"ValueResult":{"Result0":["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"]},"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":{"Response0":[]},"AnalyticsPrompt":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnalyticsPromptState":{"State":["AnalyticsPrompt*"]},"_RemoteAnalyticsProvider":{"AnalyticsProvider":[]},"DevToolsApp":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DevToolsAboutDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SettingsDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DevToolsAppState":{"State":["DevToolsApp*"]},"OpenAboutAction":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"OpenSettingsAction":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ReportFeedbackButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AppSizeBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnalysisView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DiffView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AppSizeScreen":{"Screen":[]},"_AppSizeBodyState":{"State":["AppSizeBody*"]},"_AnalysisViewState":{"State":["AnalysisView*"]},"_DiffViewState":{"State":["DiffView*"]},"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*"]},"BannerMessage":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"BannerMessages":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_BannerError":{"BannerMessage":[],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_BannerWarning":{"BannerMessage":[],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Chart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ChartState":{"State":["Chart*"]},"ChartPainter":{"Listenable":[]},"DataAggregate":{"Data":[]},"FlameChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScrollingFlameChartRow":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlameChartDataMixin":{"DataSearchStateMixin":[],"TreeNode":["1*"]},"_FlameChartHelpDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlameChartState":{"State":["1*"]},"ScrollingFlameChartRowState":{"State":["ScrollingFlameChartRow<FlameChartDataMixin<@>*>*"]},"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":[]},"ProcessingInfo":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DevToolsTooltip":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RoundedDropDownButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RoundedOutlinedBorder":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Breadcrumb":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"PaddedDivider":{"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":[]},"ToolbarAction":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AreaPaneHeader":{"StatelessWidget":[],"PreferredSizeWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExportButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FilterButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"OutlinedRowGroup":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"OutlineDecoration":{"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":[]},"DragAndDrop":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DragAndDropState":{"State":["DragAndDrop*"]},"_ConsoleOutput":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"Console":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ConsoleFrame":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ConsoleOutputState":{"State":["_ConsoleOutput*"]},"DeleteControl":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CopyToClipboardControl":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"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":[]},"Breakpoints":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_BreakpointsState":{"State":["Breakpoints*"]},"BreakpointsCountBadge":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CallStack":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CallStackState":{"State":["CallStack*"]},"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":{"State":["LineItem*"]},"ScriptPopupMenu":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScriptHistoryPopupMenu":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DebuggerConsole":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DebuggerConsoleState":{"State":["DebuggerConsole*"]},"DebuggingControls":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DebuggingControlsState":{"State":["DebuggingControls*"]},"BreakOnExceptionsControl":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DebuggerButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DebuggerController":{"SearchControllerMixin":["SourceToken*"],"SearchControllerMixin.T":"SourceToken*"},"TextConsoleLine":{"ConsoleLine":[]},"VariableConsoleLine":{"ConsoleLine":[]},"ScriptsHistory":{"HistoryManager":["ScriptRef*"]},"SourceToken":{"DataSearchStateMixin":[]},"BreakpointAndSourcePosition":{"Comparable":["BreakpointAndSourcePosition*"]},"Variable":{"TreeNode":["Variable*"],"TreeNode.T":"Variable*"},"FileNode":{"TreeNode":["FileNode*"],"TreeNode.T":"FileNode*"},"_BreakpointAndSourcePositionResolved":{"BreakpointAndSourcePosition":[],"Comparable":["BreakpointAndSourcePosition*"]},"_BreakpointAndSourcePositionUnresolved":{"BreakpointAndSourcePosition":[],"Comparable":["BreakpointAndSourcePosition*"]},"DebuggerScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FocusLibraryFilterIntent":{"Intent":[]},"GoToLineNumberIntent":{"Intent":[]},"SearchInFileIntent":{"Intent":[]},"EscapeIntent":{"Intent":[]},"DebuggerStatus":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FloatingDebuggerControls":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DebuggerScreen":{"Screen":[]},"DebuggerScreenBodyState":{"State":["DebuggerScreenBody*"]},"FocusLibraryFilterAction":{"Action":["FocusLibraryFilterIntent*"]},"GoToLineNumberAction":{"Action":["GoToLineNumberIntent*"]},"SearchInFileAction":{"Action":["SearchInFileIntent*"]},"EscapeAction":{"Action":["EscapeIntent*"]},"_DebuggerStatusState":{"State":["DebuggerStatus*"]},"_FloatingDebuggerControlsState":{"State":["FloatingDebuggerControls*"]},"ExpressionEvalField":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ExpressionEvalFieldState":{"State":["ExpressionEvalField*"]},"ScriptPicker":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScriptPickerState":{"State":["ScriptPicker*"]},"CountBadge":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SimpleMatcher":{"_Matcher":[]},"_MultilineMatcher":{"_Matcher":[]},"_IncludeMatcher":{"_Matcher":[]},"Variables":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExpandableVariable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"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":[]},"_ExtentDelegateChangeNotifier":{"Listenable":[]},"ExtentDelegateListView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverExtentDelegateList":{"SliverMultiBoxAdaptorWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RenderSliverExtentDelegateBoxAdaptor":{"RenderSliverMultiBoxAdaptor":[],"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox*","SliverMultiBoxAdaptorParentData*"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"SliverMultiBoxAdaptorParentData*","ContainerRenderObjectMixin.0":"RenderBox*"},"FileImportContainer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DualFileImportContainer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FileImportContainerState":{"State":["FileImportContainer*"]},"FileImportButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DualFileImportContainerState":{"State":["DualFileImportContainer*"]},"FlexSplitColumn":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LinkedScrollController":{"ScrollController":[],"Listenable":[]},"_LinkedScrollPosition":{"ScrollPosition":[],"ViewportOffset":[],"Listenable":[]},"_LinkedScrollControllerGroupOffsetNotifier":{"Listenable":[]},"HorizontalLineSegment":{"Comparable":["HorizontalLineSegment*"]},"VerticalLineSegment":{"Comparable":["VerticalLineSegment*"]},"HistoryViewport":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TimelineHttpInstantEvent":{"HttpInstantEvent":[]},"HttpRequestData":{"NetworkRequest":[],"DataSearchStateMixin":[]},"TimelineHttpRequestData":{"HttpRequestData":[],"NetworkRequest":[],"DataSearchStateMixin":[]},"DartIOHttpRequestData":{"HttpRequestData":[],"NetworkRequest":[],"DataSearchStateMixin":[]},"DartIOHttpInstantEvent":{"HttpInstantEvent":[]},"Initializer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InitializerState":{"State":["Initializer*"]},"DiagnosticsNodeDescription":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RemoteDiagnosticsNode":{"DiagnosticableTree":[]},"InspectorController":{"InspectorServiceClient":[]},"FlexLayoutProperties":{"LayoutProperties":[]},"InspectorScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"InspectorScreen":{"Screen":[]},"InspectorScreenBodyState":{"State":["InspectorScreenBody*"]},"ErrorNavigator":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"InspectorDetailsTabController":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InspectorDetailsTabControllerState":{"State":["InspectorDetailsTabController*"]},"FlutterInspectorLibraryNotFound":{"Exception":[]},"_InspectorTreeRowWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"InspectorTree":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InspectorTreeRowState":{"State":["_InspectorTreeRowWidget*"]},"_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*"]},"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":[]},"LandingScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LandingScreenBodyState":{"State":["LandingScreenBody*"]},"FixedValueListenable":{"Listenable":[]},"LoggingController":{"SearchControllerMixin":["LogData*"],"FilterControllerMixin":["LogData*"],"SearchControllerMixin.T":"LogData*"},"LogData":{"DataSearchStateMixin":[]},"LoggingScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"LogDetails":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"LoggingScreen":{"Screen":[]},"_LoggingScreenState":{"State":["LoggingScreenBody*"]},"LogsTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LogDetailsState":{"State":["LogDetails*"]},"_WhenColumn":{"ColumnData":["LogData*"]},"_KindColumn":{"ColumnData":["LogData*"],"ColumnRenderer":["LogData*"]},"MessageColumn":{"ColumnData":["LogData*"],"ColumnRenderer":["LogData*"]},"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":{"State":["AllocationTableView*"]},"AnalysisInstanceViewTable":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnalysisInstanceViewState":{"State":["AnalysisInstanceViewTable*"]},"_AnalysisFieldNameColumn":{"TreeColumnData":["AnalysisField*"],"ColumnData":["AnalysisField*"]},"_AnalysisFieldValueColumn":{"ColumnData":["AnalysisField*"]},"MemoryAndroidChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryAndroidChartState":{"State":["MemoryAndroidChart*"]},"MemoryController":{"AutoCompleteSearchControllerMixin":[],"SearchControllerMixin":["DataSearchStateMixin*"],"SearchControllerMixin.T":"DataSearchStateMixin*"},"OfflineFileException":{"Exception":[]},"MemoryEventsPane":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryEventsPaneState":{"State":["MemoryEventsPane*"]},"SnapshotFilterDialog":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"SnapshotFilterState":{"State":["SnapshotFilterDialog*"]},"HeapGraphElementLive":{"HeapGraphElement":[]},"HeapGraphExternalLive":{"HeapGraphElement":[]},"HeapGraphElementSentinel":{"HeapGraphElement":[]},"HeapTree":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryHeapTable":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"HeapTreeViewState":{"State":["HeapTree*"]},"MemoryHeapTableState":{"State":["MemoryHeapTable*"]},"_LibraryRefColumn":{"TreeColumnData":["Reference*"],"ColumnData":["Reference*"]},"_ClassOrInstanceCountColumn":{"ColumnData":["Reference*"]},"_ShallowSizeColumn":{"ColumnData":["Reference*"]},"MemoryHeapTreemap":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryHeapTreemapState":{"State":["MemoryHeapTreemap*"]},"InstanceTreeView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"InstanceTreeViewState":{"State":["InstanceTreeView*"]},"_FieldTypeColumn":{"TreeColumnData":["FieldReference*"],"ColumnData":["FieldReference*"]},"_FieldNameColumn":{"ColumnData":["FieldReference*"]},"_FieldValueColumn":{"ColumnData":["FieldReference*"]},"MemoryBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryConfigurationsDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SourceDropdownMenuItem":{"DropdownMenuItem":["1*"],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryScreen":{"Screen":[]},"MemoryBodyState":{"State":["MemoryBody*"]},"DashedLine":{"Listenable":[]},"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*"},"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*"},"ObjectReference":{"Reference":[],"TreeNode":["Reference*"],"TreeNode.T":"Reference*"},"ExternalObjectReference":{"ObjectReference":[],"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*"]},"MemoryVMChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryVMChartState":{"State":["MemoryVMChart*"]},"NetworkController":{"SearchControllerMixin":["NetworkRequest*"],"FilterControllerMixin":["NetworkRequest*"],"SearchControllerMixin.T":"NetworkRequest*"},"NetworkRequest":{"DataSearchStateMixin":[]},"WebSocket":{"NetworkRequest":[],"DataSearchStateMixin":[]},"NetworkRequestInspector":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HttpRequestHeadersView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HttpResponseView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ImageResponseView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HttpRequestCookiesView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NetworkRequestOverviewView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NetworkScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"NetworkScreen":{"Screen":[]},"_NetworkScreenBodyState":{"State":["NetworkScreenBody*"]},"NetworkRequestsTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"UriColumn":{"ColumnData":["NetworkRequest*"],"ColumnRenderer":["NetworkRequest*"]},"MethodColumn":{"ColumnData":["NetworkRequest*"]},"StatusColumn":{"ColumnData":["NetworkRequest*"],"ColumnRenderer":["NetworkRequest*"]},"TypeColumn":{"ColumnData":["NetworkRequest*"]},"DurationColumn":{"ColumnData":["NetworkRequest*"]},"TimestampColumn":{"ColumnData":["NetworkRequest*"]},"Notifications":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NotificationsProvider":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InheritedNotifications":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_Notification":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"NotificationAction":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NotificationsState":{"State":["_NotificationsProvider*"]},"_NotificationState":{"State":["_Notification*"]},"EventDetails":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"EventSummary":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"EventMetaData":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExpandingEventMetaData":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlutterFramesChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ShaderJankWarningIcon":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FlutterFramesChartState":{"State":["FlutterFramesChart*"]},"FlutterFramesChartItem":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ShaderJankWarningIconState":{"State":["ShaderJankWarningIcon*"]},"ChartAxisPainter":{"Listenable":[]},"FPSLinePainter":{"Listenable":[]},"EventDetails0":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"EventSummary0":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"EventMetaData0":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExpandingEventMetaData0":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LegacyFlutterFramesChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LegacyFlutterFramesChartState":{"State":["LegacyFlutterFramesChart*"]},"LegacyFlutterFramesChartItem":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LegacyChartAxisPainter":{"Listenable":[]},"LegacyFPSLinePainter":{"Listenable":[]},"LegacyPerformanceController":{"SearchControllerMixin":["LegacyTimelineEvent*"],"SearchControllerMixin.T":"LegacyTimelineEvent*"},"LegacyTimelineEvent":{"FlameChartDataMixin":["LegacyTimelineEvent*"],"TreeNode":["LegacyTimelineEvent*"],"DataSearchStateMixin":[]},"LegacySyncTimelineEvent":{"LegacyTimelineEvent":[],"FlameChartDataMixin":["LegacyTimelineEvent*"],"TreeNode":["LegacyTimelineEvent*"],"DataSearchStateMixin":[],"TreeNode.T":"LegacyTimelineEvent*"},"LegacyAsyncTimelineEvent":{"LegacyTimelineEvent":[],"FlameChartDataMixin":["LegacyTimelineEvent*"],"TreeNode":["LegacyTimelineEvent*"],"DataSearchStateMixin":[],"TreeNode.T":"LegacyTimelineEvent*"},"LegacyOfflineTimelineEvent":{"LegacyTimelineEvent":[],"FlameChartDataMixin":["LegacyTimelineEvent*"],"TreeNode":["LegacyTimelineEvent*"],"DataSearchStateMixin":[],"TreeNode.T":"LegacyTimelineEvent*"},"LegacyPerformanceScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"LegacyPerformanceSettingsDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LegacyPerformanceScreen":{"Screen":[]},"LegacyPerformanceScreenBodyState":{"State":["LegacyPerformanceScreenBody*"]},"_LegacyBadgeJankyFramesSetting":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LegacyTimelineFlameChartContainer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"LegacyTimelineFlameChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"LegacyNavigateInThreadInButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LegacyTimelineFlameChartContainerState":{"State":["LegacyTimelineFlameChartContainer*"]},"LegacyTimelineFlameChartState":{"FlameChartState":["LegacyTimelineFlameChart*","LegacyTimelineEvent*"],"State":["LegacyTimelineFlameChart*"],"FlameChartState.V":"LegacyTimelineEvent*"},"LegacyAsyncGuidelinePainter":{"Listenable":[]},"LegacySelectedFrameBracketPainter":{"Listenable":[]},"_LegacyNavigateInThreadInButtonState":{"State":["LegacyNavigateInThreadInButton*"]},"LegacyThreadNavigatorButton":{"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":{"State":["PerformanceScreenBody*"]},"_BadgeJankyFramesSetting":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TimelineFlameChartContainer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TimelineFlameChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"NavigateInThreadInButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TimelineFlameChartContainerState":{"State":["TimelineFlameChartContainer*"]},"TimelineFlameChartState":{"FlameChartState":["TimelineFlameChart*","TimelineEvent0*"],"State":["TimelineFlameChart*"],"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*"],"SearchControllerMixin.T":"CpuStackFrame*"},"CpuProfileFlameChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CpuProfileFlameChartState":{"FlameChartState":["CpuProfileFlameChart*","CpuStackFrame*"],"State":["CpuProfileFlameChart*"],"FlameChartState.V":"CpuStackFrame*"},"CpuStackFrame":{"FlameChartDataMixin":["CpuStackFrame*"],"TreeNode":["CpuStackFrame*"],"DataSearchStateMixin":[],"TreeNode.T":"CpuStackFrame*"},"ProcessCancelledException":{"Exception":[]},"CpuProfiler":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CpuProfilerState":{"State":["CpuProfiler*"]},"CpuProfilerDisabled":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"UserTagDropdown":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProfilerScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProfilerScreen":{"Screen":[]},"_ProfilerScreenBodyState":{"State":["ProfilerScreenBody*"]},"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":[],"PathToProperty":[]},"_$MapKeyPath":{"MapKeyPath":[],"PathToProperty":[]},"_$PropertyPath":{"PropertyPath":[],"PathToProperty":[]},"_$_ObjectField":{"ObjectField":[]},"_ObjectField":{"ObjectField":[]},"_$NullInstance":{"NullInstance":[],"InstanceDetails":[]},"_$BoolInstance":{"BoolInstance":[],"InstanceDetails":[]},"_$NumInstance":{"NumInstance":[],"InstanceDetails":[]},"_$StringInstance":{"StringInstance":[],"InstanceDetails":[]},"_$MapInstance":{"MapInstance":[],"InstanceDetails":[]},"_$ListInstance":{"ListInstance":[],"InstanceDetails":[]},"_$ObjectInstance":{"ObjectInstance":[],"InstanceDetails":[]},"_$EnumInstance":{"EnumInstance":[],"InstanceDetails":[]},"__$InstancePathFromInstanceIdCopyWithImpl":{"_$InstancePathCopyWithImpl":["1*"]},"_$_InstancePathFromInstanceId":{"_InstancePathFromInstanceId":[],"InstancePath":[]},"__$InstancePathFromProviderIdCopyWithImpl":{"_$InstancePathCopyWithImpl":["1*"]},"_$_InstancePathFromProviderId":{"_InstancePathFromProviderId":[],"InstancePath":[]},"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*"],"Result":["1*"],"Result.T":"1*"},"_ResultData":{"Result":["1*"]},"_$_ResultError":{"_ResultError":["1*"],"Result":["1*"],"Result.T":"1*"},"_ResultError":{"Result":["1*"]},"ProviderList":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProviderNodeItem":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ProviderListState":{"State":["ProviderList*"]},"_StateInspectorSettingsDialog":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProviderScreen":{"Screen":[]},"ProviderScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ErrorLoggerObserver":{"ProviderObserver":[]},"DevToolsRouterDelegate":{"Listenable":[]},"DevToolsScaffold":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DevToolsScaffoldState":{"State":["DevToolsScaffold*"]},"SimpleScreen":{"Screen":[]},"BadgePainter":{"Listenable":[]},"ToggleableServiceExtensionDescription":{"ServiceExtensionDescription":["@"]},"SnapshotScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SnapshotScreenBodyState":{"State":["SnapshotScreenBody*"]},"Split":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SplitState":{"State":["Split*"]},"DefaultSplitter":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"StatusLine":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlatTable":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TreeTable":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_Table":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TableRow":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TableRowState":{"State":["TableRow<1*>*"],"SearchableMixin":["@"]},"FlatTableState":{"State":["FlatTable<1*>*"]},"TreeTableState":{"State":["TreeTable<1*>*"],"TreeMixin":["1*"],"TreeMixin.T":"1*"},"_TableState":{"State":["_Table<1*>*"]},"TreeColumnData":{"ColumnData":["1*"]},"TraceEventWrapper":{"Comparable":["TraceEventWrapper*"]},"TreeView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TreeViewItem":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TreeViewState":{"State":["TreeView<1*>*"],"TreeMixin":["1*"],"TreeMixin.T":"1*"},"_TreeViewItemState":{"State":["TreeViewItem<1*>*"]},"FilterDialog":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FilterDialogState":{"State":["FilterDialog<@>*"]},"CustomIcon":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ColorIcon":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ColorIconPainter":{"Listenable":[]},"ImageIconLabel":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"MaterialIconLabel":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AutoComplete":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AutoCompleteState":{"State":["AutoComplete*"]},"SearchNavigationControls":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AutoCompleteController":{"AutoCompleteSearchControllerMixin":[],"SearchControllerMixin":["DataSearchStateMixin*"],"SearchControllerMixin.T":"DataSearchStateMixin*"},"ServiceExtensionButtonGroup":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RegisteredServiceExtensionButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ServiceExtensionToggle":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ServiceExtensionWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ServiceExtensionButtonGroupState":{"State":["ServiceExtensionButtonGroup*"]},"HotReloadButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HotRestartButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RegisteredServiceExtensionButtonState":{"State":["_RegisteredServiceExtensionButton*"]},"StructuredErrorsToggle":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ServiceExtensionToggleState":{"State":["_ServiceExtensionToggle*"]},"NotifierCheckbox":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"OffsetScrollbar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NotifierCheckboxState":{"State":["NotifierCheckbox*"]},"_OffsetScrollbarState":{"State":["OffsetScrollbar*"]},"ProfileGranularityDropdown":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ImmediateValueNotifier":{"ValueNotifier":["1*"],"Listenable":[]},"ListValueNotifier":{"Listenable":[]},"ImmutableList":{"ListMixin":["1*"],"List":["1*"],"EfficientLengthIterable":["1*"],"Iterable":["1*"],"ListMixin.E":"1*"},"FlutterVersion":{"Comparable":["@"]},"SemanticVersion":{"Comparable":["@"]},"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":{"State":["VMDeveloperToolsScreenBody*"]},"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":[]},"VmServiceWrapper":{"VmService":[]},"SamplesMemoryJson":{"MemoryJson":["HeapSample"]},"Animation0":{"Listenable":[]},"AnimationController":{"Animation0":["double"],"Listenable":[]},"_AlwaysCompleteAnimation":{"Animation0":["double"],"Listenable":[]},"_AlwaysDismissedAnimation":{"Animation0":["double"],"Listenable":[]},"AlwaysStoppedAnimation":{"Animation0":["1"],"Listenable":[]},"ProxyAnimation":{"Animation0":["double"],"Listenable":[]},"ReverseAnimation":{"Animation0":["double"],"Listenable":[]},"CurvedAnimation":{"Animation0":["double"],"Listenable":[]},"TrainHoppingAnimation":{"Animation0":["double"],"Listenable":[]},"CompoundAnimation":{"Animation0":["1"],"Listenable":[]},"AnimationMin":{"Animation0":["1"],"Listenable":[]},"_Linear":{"Curve":[]},"SawTooth":{"Curve":[]},"Interval":{"Curve":[]},"Threshold":{"Curve":[]},"Cubic":{"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?"},"RectTween":{"Tween":["Rect?"],"Animatable":["Rect?"],"Animatable.T":"Rect?","Tween.T":"Rect?"},"_AnimatedEvaluation":{"Animation0":["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?"},"IntTween":{"Tween":["int"],"Animatable":["int"],"Animatable.T":"int","Tween.T":"int"},"CurveTween":{"Animatable":["double"],"Animatable.T":"double"},"CupertinoActivityIndicator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CupertinoActivityIndicatorState":{"State":["CupertinoActivityIndicator"]},"_CupertinoActivityIndicatorPainter":{"Listenable":[]},"CupertinoDynamicColor":{"Color":[]},"CupertinoUserInterfaceLevel":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CupertinoLocalizationsDelegate":{"LocalizationsDelegate":["CupertinoLocalizations"],"LocalizationsDelegate.T":"CupertinoLocalizations"},"DefaultCupertinoLocalizations":{"CupertinoLocalizations":[]},"CupertinoScrollbar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CupertinoScrollbarState":{"RawScrollbarState":["CupertinoScrollbar"],"State":["CupertinoScrollbar"]},"CupertinoSwitch":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CupertinoSwitchState":{"State":["CupertinoSwitch"]},"_CupertinoSwitchRenderObjectWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderCupertinoSwitch":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"_TextSelectionHandlePainter0":{"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":{"Listenable":[]},"ValueListenable":{"Listenable":[]},"_MergingListenable":{"Listenable":[]},"DiagnosticsProperty":{"DiagnosticsNode":[]},"DiagnosticableNode":{"DiagnosticsNode":[]},"DiagnosticableTreeNode":{"DiagnosticableNode":["DiagnosticableTree"],"DiagnosticsNode":[]},"DiagnosticsBlock":{"DiagnosticsNode":[]},"LocalKey":{"Key":[]},"ValueKey":{"LocalKey":[],"Key":[],"ValueKey.T":"1"},"LicenseEntryWithLineBreaks":{"LicenseEntry":[]},"ObserverList":{"Iterable":["1"],"Iterable.E":"1"},"HashedObserverList":{"Iterable":["1"],"Iterable.E":"1"},"SynchronousFuture":{"Future":["1"]},"FlutterErrorDetailsForPointerEventDispatcher":{"FlutterErrorDetails":[]},"PointerHoverEvent":{"PointerEvent0":[]},"PointerEnterEvent":{"PointerEvent0":[]},"PointerExitEvent":{"PointerEvent0":[]},"PointerDownEvent":{"PointerEvent0":[]},"PointerSignalEvent":{"PointerEvent0":[]},"_AbstractPointerEvent":{"PointerEvent0":[]},"_TransformedPointerEvent":{"PointerEvent0":[]},"PointerAddedEvent":{"PointerEvent0":[]},"_TransformedPointerAddedEvent":{"PointerAddedEvent":[],"PointerEvent0":[]},"PointerRemovedEvent":{"PointerEvent0":[]},"_TransformedPointerRemovedEvent":{"PointerRemovedEvent":[],"PointerEvent0":[]},"_TransformedPointerHoverEvent":{"PointerHoverEvent":[],"PointerEvent0":[]},"_TransformedPointerEnterEvent":{"PointerEnterEvent":[],"PointerEvent0":[]},"_TransformedPointerExitEvent":{"PointerExitEvent":[],"PointerEvent0":[]},"_TransformedPointerDownEvent":{"PointerDownEvent":[],"PointerEvent0":[]},"PointerMoveEvent":{"PointerEvent0":[]},"_TransformedPointerMoveEvent":{"PointerMoveEvent":[],"PointerEvent0":[]},"PointerUpEvent":{"PointerEvent0":[]},"_TransformedPointerUpEvent":{"PointerUpEvent":[],"PointerEvent0":[]},"PointerScrollEvent":{"PointerSignalEvent":[],"PointerEvent0":[]},"_TransformedPointerScrollEvent":{"PointerScrollEvent":[],"PointerSignalEvent":[],"PointerEvent0":[]},"PointerCancelEvent":{"PointerEvent0":[]},"_TransformedPointerCancelEvent":{"PointerCancelEvent":[],"PointerEvent0":[]},"ForcePressGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"_MatrixTransformPart":{"_TransformPart":[]},"_OffsetTransformPart":{"_TransformPart":[]},"LongPressGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"DragGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"VerticalDragGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"HorizontalDragGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"PanGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"DoubleTapGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"GestureRecognizer":{"DiagnosticableTree":[],"GestureArenaMember":[]},"OneSequenceGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"PrimaryPointerGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"BaseTapGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"TapGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"IOSScrollViewFlingVelocityTracker":{"VelocityTracker":[]},"MaterialApp":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_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":[]},"MaterialRectArcTween":{"Tween":["Rect?"],"Animatable":["Rect?"],"Animatable.T":"Rect?","Tween.T":"Rect?"},"MaterialPointArcTween":{"Tween":["Offset"],"Animatable":["Offset"],"Animatable.T":"Offset","Tween.T":"Offset"},"RawMaterialButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RawMaterialButtonState":{"State":["RawMaterialButton"]},"_InputPadding":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderInputPadding":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"_LerpProperties3":{"MaterialStateProperty":["1?"]},"_LerpSides":{"MaterialStateProperty":["BorderSide?"]},"_LerpShapes":{"MaterialStateProperty":["OutlinedBorder?"]},"ButtonStyleButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ButtonStyleState":{"State":["ButtonStyleButton"]},"_MouseCursor":{"MouseCursor0":[],"MaterialStateProperty":["MouseCursor0"]},"_InputPadding0":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderInputPadding0":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"ButtonTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Card":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Checkbox":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CheckboxState":{"State":["Checkbox"]},"_CheckboxPainter":{"Listenable":[]},"CheckboxListTile":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LerpProperties1":{"MaterialStateProperty":["1"]},"MaterialColor":{"ColorSwatch":["int"],"Color":[],"ColorSwatch.T":"int"},"MaterialAccentColor":{"ColorSwatch":["int"],"Color":[],"ColorSwatch.T":"int"},"DataTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TableRowInkWell":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NullTableColumnWidth":{"TableColumnWidth":[]},"_NullWidget0":{"Widget":[],"DiagnosticableTree":[]},"_LerpProperties2":{"MaterialStateProperty":["1"]},"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":[]},"_MenuItem":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DropdownMenuItemContainer":{"StatelessWidget":[],"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>"},"_RenderMenuItem":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"_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"]},"FlexibleSpaceBarSettings":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"FloatingActionButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnimationSwap":{"Animation0":["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":[]},"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":[]},"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"]},"_RenderDecoration":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"_DecorationElement":{"RenderObjectElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"_Decorator":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AffixText":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InputDecoratorState":{"State":["InputDecorator"]},"ListTileTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ListTile":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ListTile":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ListTileElement":{"RenderObjectElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"_RenderListTile":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"Material":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderInkFeatures":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"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":[]},"MaterialStateMouseCursor":{"MouseCursor0":[],"MaterialStateProperty":["MouseCursor0"]},"_EnabledAndDisabledMouseCursor":{"MouseCursor0":[],"MaterialStateProperty":["MouseCursor0"]},"_MaterialStatePropertyWith":{"MaterialStateProperty":["1"]},"_MaterialStatePropertyAll":{"MaterialStateProperty":["1"]},"NavigationRail":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NavigationRailState":{"State":["NavigationRail"]},"_RailDestination":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_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"},"PopupMenuEntry":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"PopupMenuItem":{"PopupMenuEntry":["1"],"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"PopupMenuButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MenuItem0":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderMenuItem0":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"PopupMenuItemState":{"State":["2"]},"_PopupMenu":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_PopupMenuRoute":{"ModalRoute":["1"],"TransitionRoute":["1"],"Route":["1"],"ModalRoute.T":"1"},"PopupMenuButtonState":{"State":["PopupMenuButton<1>"]},"PopupMenuTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProgressIndicator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"LinearProgressIndicator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"CircularProgressIndicator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LinearProgressIndicatorPainter":{"Listenable":[]},"_LinearProgressIndicatorState":{"State":["LinearProgressIndicator"]},"_CircularProgressIndicatorPainter":{"Listenable":[]},"_CircularProgressIndicatorState":{"State":["CircularProgressIndicator"]},"ProgressIndicatorTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LerpProperties0":{"MaterialStateProperty":["1"]},"ScaffoldMessenger":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ScaffoldMessengerScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FloatingActionButtonTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"Scaffold":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScaffoldState":{"State":["Scaffold"]},"_StandardBottomSheet":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScaffoldMessengerState":{"State":["ScaffoldMessenger"]},"_ScaffoldGeometryNotifier":{"Listenable":[]},"_BodyBoxConstraints":{"BoxConstraints":[]},"_BodyBuilder":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FloatingActionButtonTransitionState":{"State":["_FloatingActionButtonTransition"]},"_ScaffoldScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Scrollbar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MaterialScrollbar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ScrollbarState":{"State":["Scrollbar"]},"_MaterialScrollbarState":{"RawScrollbarState":["_MaterialScrollbar"],"State":["_MaterialScrollbar"]},"_LerpProperties4":{"MaterialStateProperty":["1"]},"SelectableText":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TextSpanEditingController":{"ValueNotifier":["TextEditingValue"],"Listenable":[]},"_SelectableTextState":{"State":["SelectableText"]},"SnackBar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SnackBarState":{"State":["SnackBar"]},"_MaterialSwitch":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"Switch":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MaterialSwitchState":{"State":["_MaterialSwitch"]},"_SwitchPainter":{"Listenable":[]},"_LerpProperties":{"MaterialStateProperty":["1"]},"_TabControllerScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"DefaultTabController":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TabController":{"Listenable":[]},"_DefaultTabControllerState":{"State":["DefaultTabController"]},"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":[],"ContainerRenderObjectMixin.1":"FlexParentData","RenderBoxContainerDefaultsMixin.1":"FlexParentData","ContainerRenderObjectMixin.0":"RenderBox"},"_TabLabelBar":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_IndicatorPainter":{"Listenable":[]},"_ChangeAnimation":{"Animation0":["double"],"Listenable":[]},"_DragAnimation":{"Animation0":["double"],"Listenable":[]},"_TabBarScrollPosition":{"ScrollPosition":[],"ViewportOffset":[],"Listenable":[]},"_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"]},"_TextSelectionHandlePainter":{"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"]},"_ToggleButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ToggleButtons":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SelectToggleButton":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SelectToggleButtonRenderObject":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"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":[]},"Alignment":{"AlignmentGeometry":[]},"AlignmentDirectional":{"AlignmentGeometry":[]},"_MixedAlignment":{"AlignmentGeometry":[]},"_SystemFontsNotifier":{"Listenable":[]},"OutlinedBorder":{"ShapeBorder":[]},"_CompoundBorder":{"ShapeBorder":[]},"BoxBorder":{"ShapeBorder":[]},"Border":{"ShapeBorder":[]},"BorderDirectional":{"ShapeBorder":[]},"BoxDecoration":{"Decoration":[]},"_BoxDecorationPainter":{"BoxPainter":[]},"CircleBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"ColorSwatch":{"Color":[],"ColorSwatch.T":"1"},"ContinuousRectangleBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"EdgeInsets":{"EdgeInsetsGeometry":[]},"EdgeInsetsDirectional":{"EdgeInsetsGeometry":[]},"_MixedEdgeInsets":{"EdgeInsetsGeometry":[]},"MemoryImage":{"ImageProvider":["MemoryImage"],"ImageProvider.T":"MemoryImage"},"AssetBundleImageProvider":{"ImageProvider":["AssetBundleImageKey"]},"AssetImage":{"ImageProvider":["AssetBundleImageKey"],"ImageProvider.T":"AssetBundleImageKey"},"InlineSpan":{"DiagnosticableTree":[]},"RoundedRectangleBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"_RoundedRectangleToCircleBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"ShapeDecoration":{"Decoration":[]},"_ShapeDecorationPainter":{"BoxPainter":[]},"TextSpan":{"InlineSpan":[],"DiagnosticableTree":[],"MouseTrackerAnnotation":[]},"RenderAnimatedSize":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"BoxHitTestResult":{"HitTestResult":[]},"ContainerBoxParentData":{"BoxParentData":[],"ContainerParentDataMixin":["1"]},"RenderBox":{"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"BoxHitTestEntry":{"HitTestEntry":[]},"MultiChildLayoutParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"]},"RenderCustomMultiChildLayoutBox":{"RenderBoxContainerDefaultsMixin":["RenderBox","MultiChildLayoutParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","MultiChildLayoutParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"MultiChildLayoutParentData","RenderBoxContainerDefaultsMixin.1":"MultiChildLayoutParentData","ContainerRenderObjectMixin.0":"RenderBox"},"CustomPainter":{"Listenable":[]},"RenderCustomPaint":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderEditablePainter":{"Listenable":[]},"RenderEditable":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"_RenderEditableCustomPaint":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"_TextHighlightPainter":{"RenderEditablePainter":[],"Listenable":[]},"_FloatingCursorPainter":{"RenderEditablePainter":[],"Listenable":[]},"_CompositeRenderEditablePainter":{"RenderEditablePainter":[],"Listenable":[]},"RenderErrorBox":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"FlexParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"]},"RenderFlex":{"RenderBoxContainerDefaultsMixin":["RenderBox","FlexParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","FlexParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"FlexParentData","RenderBoxContainerDefaultsMixin.1":"FlexParentData","ContainerRenderObjectMixin.0":"RenderBox"},"RenderImage":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"Layer0":{"DiagnosticableTree":[],"AbstractNode":[]},"ContainerLayer0":{"DiagnosticableTree":[],"AbstractNode":[]},"PictureLayer":{"DiagnosticableTree":[],"AbstractNode":[]},"PerformanceOverlayLayer":{"DiagnosticableTree":[],"AbstractNode":[]},"OffsetLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"ClipRectLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"ClipRRectLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"ClipPathLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"TransformLayer":{"OffsetLayer":[],"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"OpacityLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"PhysicalModelLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"LeaderLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"FollowerLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"AnnotatedRegionLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"ListBodyParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"]},"RenderListBody":{"RenderBoxContainerDefaultsMixin":["RenderBox","ListBodyParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","ListBodyParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"ListBodyParentData","RenderBoxContainerDefaultsMixin.1":"ListBodyParentData","ContainerRenderObjectMixin.0":"RenderBox"},"MouseTracker":{"Listenable":[]},"RenderObject":{"DiagnosticableTree":[],"AbstractNode":[]},"_RootSemanticsFragment":{"_InterestingSemanticsFragment":[]},"_SwitchableSemanticsFragment":{"_InterestingSemanticsFragment":[]},"_AbortingSemanticsFragment":{"_InterestingSemanticsFragment":[]},"DiagnosticsDebugCreator":{"DiagnosticsProperty":["Object"],"DiagnosticsNode":[]},"TextParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"]},"RenderParagraph":{"RenderBoxContainerDefaultsMixin":["RenderBox","TextParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","TextParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"TextParentData","RenderBoxContainerDefaultsMixin.1":"TextParentData","ContainerRenderObjectMixin.0":"RenderBox"},"RenderPerformanceOverlay":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderProxyBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderProxyBoxWithHitTestBehavior":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"CustomClipper":{"Listenable":[]},"ShapeBorderClipper":{"Listenable":[]},"RenderAbsorbPointer":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderSemanticsGestureHandler":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderConstrainedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderLimitedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderIntrinsicWidth":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderIntrinsicHeight":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderOpacity":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderAnimatedOpacity":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"_RenderCustomClip":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderClipRect":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderClipRRect":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderClipPath":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"_RenderPhysicalModelBase":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderPhysicalModel":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderPhysicalShape":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderDecoratedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderTransform":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderFractionalTranslation":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderPointerListener":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderMouseRegion":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"MouseTrackerAnnotation":[],"AbstractNode":[]},"RenderRepaintBoundary":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderIgnorePointer":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderOffstage":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderMetaData":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderSemanticsAnnotations":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderBlockSemantics":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderMergeSemantics":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderExcludeSemantics":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderIndexedSemantics":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderLeaderLayer":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderFollowerLayer":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderAnnotatedRegion":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderRotatedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderShiftedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderPadding":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderAligningShiftedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderPositionedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderConstrainedOverflowBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderCustomSingleChildLayoutBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"SliverHitTestResult":{"HitTestResult":[]},"SliverLogicalContainerParentData":{"SliverLogicalParentData":[],"ContainerParentDataMixin":["RenderSliver"]},"SliverPhysicalContainerParentData":{"SliverPhysicalParentData":[],"ContainerParentDataMixin":["RenderSliver"]},"RenderSliver":{"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"SliverHitTestEntry":{"HitTestEntry":[]},"RenderSliverFillViewport":{"RenderSliverMultiBoxAdaptor":[],"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"SliverMultiBoxAdaptorParentData","ContainerRenderObjectMixin.0":"RenderBox"},"RenderSliverFixedExtentBoxAdaptor":{"RenderSliverMultiBoxAdaptor":[],"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderSliverFixedExtentList":{"RenderSliverMultiBoxAdaptor":[],"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"SliverMultiBoxAdaptorParentData","ContainerRenderObjectMixin.0":"RenderBox"},"RenderSliverList":{"RenderSliverMultiBoxAdaptor":[],"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"SliverMultiBoxAdaptorParentData","ContainerRenderObjectMixin.0":"RenderBox"},"SliverMultiBoxAdaptorParentData":{"SliverLogicalParentData":[],"ContainerParentDataMixin":["RenderBox"],"KeepAliveParentDataMixin":[]},"RenderSliverMultiBoxAdaptor":{"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderSliverEdgeInsetsPadding":{"RenderSliver":[],"RenderObjectWithChildMixin":["RenderSliver"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderSliverPadding":{"RenderSliver":[],"RenderObjectWithChildMixin":["RenderSliver"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"StackParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"]},"RenderStack":{"RenderBoxContainerDefaultsMixin":["RenderBox","StackParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","StackParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"StackParentData","RenderBoxContainerDefaultsMixin.1":"StackParentData","ContainerRenderObjectMixin.0":"RenderBox"},"RenderIndexedStack":{"RenderBoxContainerDefaultsMixin":["RenderBox","StackParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","StackParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"StackParentData","RenderBoxContainerDefaultsMixin.1":"StackParentData","ContainerRenderObjectMixin.0":"RenderBox"},"TableCellParentData":{"BoxParentData":[]},"IntrinsicColumnWidth":{"TableColumnWidth":[]},"FixedColumnWidth":{"TableColumnWidth":[]},"FlexColumnWidth":{"TableColumnWidth":[]},"RenderTable":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"AlignmentGeometryTween":{"Tween":["AlignmentGeometry?"],"Animatable":["AlignmentGeometry?"],"Animatable.T":"AlignmentGeometry?","Tween.T":"AlignmentGeometry?"},"RenderView":{"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderViewportBase":{"_RenderViewportBase_RenderBox_ContainerRenderObjectMixin":["1"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderSliver","1"],"RenderAbstractViewport":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderViewport":{"_RenderViewportBase_RenderBox_ContainerRenderObjectMixin":["SliverPhysicalContainerParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderSliver","SliverPhysicalContainerParentData"],"RenderAbstractViewport":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"SliverPhysicalContainerParentData","_RenderViewportBase_RenderBox_ContainerRenderObjectMixin.0":"SliverPhysicalContainerParentData","ContainerRenderObjectMixin.0":"RenderSliver"},"RenderShrinkWrappingViewport":{"_RenderViewportBase_RenderBox_ContainerRenderObjectMixin":["SliverLogicalContainerParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderSliver","SliverLogicalContainerParentData"],"RenderAbstractViewport":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"SliverLogicalContainerParentData","_RenderViewportBase_RenderBox_ContainerRenderObjectMixin.0":"SliverLogicalContainerParentData","ContainerRenderObjectMixin.0":"RenderSliver"},"ViewportOffset":{"Listenable":[]},"WrapParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"]},"RenderWrap":{"RenderBoxContainerDefaultsMixin":["RenderBox","WrapParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","WrapParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"WrapParentData","RenderBoxContainerDefaultsMixin.1":"WrapParentData","ContainerRenderObjectMixin.0":"RenderBox"},"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":[]},"OrdinalSortKey":{"Comparable":["SemanticsSortKey"]},"PlatformException":{"Exception":[]},"MissingPluginException":{"Exception":[]},"_DeferringMouseCursor":{"MouseCursor0":[]},"_SystemMouseCursorSession":{"MouseCursorSession":[]},"SystemMouseCursor":{"MouseCursor0":[]},"RawKeyDownEvent":{"RawKeyEvent":[]},"RawKeyUpEvent":{"RawKeyEvent":[]},"RestorationManager":{"Listenable":[]},"FilteringTextInputFormatter":{"TextInputFormatter":[]},"Actions":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ActionsMarker":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"FocusableActionDetector":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DoNothingIntent":{"Intent":[]},"DoNothingAndStopPropagationIntent":{"Intent":[]},"ActivateIntent":{"Intent":[]},"ButtonActivateIntent":{"Intent":[]},"DismissIntent":{"Intent":[]},"PrioritizedIntents":{"Intent":[]},"ContextAction":{"Action":["1"]},"CallbackAction":{"Action":["1"]},"_ActionsState":{"State":["Actions"]},"_FocusableActionDetectorState":{"State":["FocusableActionDetector"]},"DoNothingAction":{"Action":["Intent"]},"DismissAction":{"Action":["DismissIntent"]},"PrioritizedAction":{"Action":["PrioritizedIntents"]},"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":[]},"_MediaQueryFromWindow":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_WidgetsAppState":{"State":["WidgetsApp"],"WidgetsBindingObserver":[]},"_MediaQueryFromWindowsState":{"State":["_MediaQueryFromWindow"],"WidgetsBindingObserver":[]},"StreamBuilderBase":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_StreamBuilderBaseState":{"State":["StreamBuilderBase<1,2>"]},"StreamBuilder":{"StreamBuilderBase":["1","AsyncSnapshot<1>"],"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[],"StreamBuilderBase.T":"1","StreamBuilderBase.S":"AsyncSnapshot<1>"},"AutomaticKeepAlive":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AutomaticKeepAliveState":{"State":["AutomaticKeepAlive"]},"KeepAliveHandle":{"Listenable":[]},"_NullWidget1":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Directionality":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Opacity":{"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":[]},"Stack":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Positioned":{"ParentDataWidget":["StackParentData"],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"ParentDataWidget.T":"StackParentData"},"Flex":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Row":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Column":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Flexible":{"ParentDataWidget":["FlexParentData"],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"ParentDataWidget.T":"FlexParentData"},"Expanded":{"ParentDataWidget":["FlexParentData"],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"ParentDataWidget.T":"FlexParentData"},"DefaultAssetBundle":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"MouseRegion":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"IgnorePointer":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Semantics":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"CustomPaint":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"ClipRect":{"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":[]},"OverflowBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Offstage":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_OffstageElement":{"RenderObjectElement":[],"Element0":[],"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":[]},"Wrap":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RichText":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RawImage":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Listener":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MouseRegionState":{"State":["MouseRegion"]},"_RawMouseRegion":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RepaintBoundary":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"AbsorbPointer":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"MetaData":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"MergeSemantics":{"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":[]},"ColoredBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderColoredBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"RenderObjectToWidgetAdapter":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RenderObjectToWidgetElement":{"RenderObjectElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"WidgetsFlutterBinding":{"SchedulerBinding":[]},"Container":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DecoratedBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DecorationClipper":{"Listenable":[]},"DefaultTextEditingActions":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DoNothingAndStopPropagationTextAction":{"ContextAction":["DoNothingAndStopPropagationTextIntent"],"Action":["DoNothingAndStopPropagationTextIntent"]},"_DeleteTextAction":{"ContextAction":["DeleteTextIntent"],"Action":["DeleteTextIntent"]},"_DeleteByWordTextAction":{"ContextAction":["DeleteByWordTextIntent"],"Action":["DeleteByWordTextIntent"]},"_DeleteByLineTextAction":{"ContextAction":["DeleteByLineTextIntent"],"Action":["DeleteByLineTextIntent"]},"_DeleteForwardTextAction":{"ContextAction":["DeleteForwardTextIntent"],"Action":["DeleteForwardTextIntent"]},"_DeleteForwardByWordTextAction":{"ContextAction":["DeleteForwardByWordTextIntent"],"Action":["DeleteForwardByWordTextIntent"]},"_DeleteForwardByLineTextAction":{"ContextAction":["DeleteForwardByLineTextIntent"],"Action":["DeleteForwardByLineTextIntent"]},"_ExpandSelectionLeftByLineTextAction":{"ContextAction":["ExpandSelectionLeftByLineTextIntent"],"Action":["ExpandSelectionLeftByLineTextIntent"]},"_ExpandSelectionRightByLineTextAction":{"ContextAction":["ExpandSelectionRightByLineTextIntent"],"Action":["ExpandSelectionRightByLineTextIntent"]},"_ExpandSelectionToEndTextAction":{"ContextAction":["ExpandSelectionToEndTextIntent"],"Action":["ExpandSelectionToEndTextIntent"]},"_ExpandSelectionToStartTextAction":{"ContextAction":["ExpandSelectionToStartTextIntent"],"Action":["ExpandSelectionToStartTextIntent"]},"_ExtendSelectionDownTextAction":{"ContextAction":["ExtendSelectionDownTextIntent"],"Action":["ExtendSelectionDownTextIntent"]},"_ExtendSelectionLeftByLineTextAction":{"ContextAction":["ExtendSelectionLeftByLineTextIntent"],"Action":["ExtendSelectionLeftByLineTextIntent"]},"_ExtendSelectionLeftByWordAndStopAtReversalTextAction":{"ContextAction":["ExtendSelectionLeftByWordAndStopAtReversalTextIntent"],"Action":["ExtendSelectionLeftByWordAndStopAtReversalTextIntent"]},"_ExtendSelectionLeftByWordTextAction":{"ContextAction":["ExtendSelectionLeftByWordTextIntent"],"Action":["ExtendSelectionLeftByWordTextIntent"]},"_ExtendSelectionLeftTextAction":{"ContextAction":["ExtendSelectionLeftTextIntent"],"Action":["ExtendSelectionLeftTextIntent"]},"_ExtendSelectionRightByLineTextAction":{"ContextAction":["ExtendSelectionRightByLineTextIntent"],"Action":["ExtendSelectionRightByLineTextIntent"]},"_ExtendSelectionRightByWordAndStopAtReversalTextAction":{"ContextAction":["ExtendSelectionRightByWordAndStopAtReversalTextIntent"],"Action":["ExtendSelectionRightByWordAndStopAtReversalTextIntent"]},"_ExtendSelectionRightByWordTextAction":{"ContextAction":["ExtendSelectionRightByWordTextIntent"],"Action":["ExtendSelectionRightByWordTextIntent"]},"_ExtendSelectionRightTextAction":{"ContextAction":["ExtendSelectionRightTextIntent"],"Action":["ExtendSelectionRightTextIntent"]},"_ExtendSelectionUpTextAction":{"ContextAction":["ExtendSelectionUpTextIntent"],"Action":["ExtendSelectionUpTextIntent"]},"_MoveSelectionDownTextAction":{"ContextAction":["MoveSelectionDownTextIntent"],"Action":["MoveSelectionDownTextIntent"]},"_MoveSelectionLeftTextAction":{"ContextAction":["MoveSelectionLeftTextIntent"],"Action":["MoveSelectionLeftTextIntent"]},"_MoveSelectionRightTextAction":{"ContextAction":["MoveSelectionRightTextIntent"],"Action":["MoveSelectionRightTextIntent"]},"_MoveSelectionUpTextAction":{"ContextAction":["MoveSelectionUpTextIntent"],"Action":["MoveSelectionUpTextIntent"]},"_MoveSelectionLeftByLineTextAction":{"ContextAction":["MoveSelectionLeftByLineTextIntent"],"Action":["MoveSelectionLeftByLineTextIntent"]},"_MoveSelectionLeftByWordTextAction":{"ContextAction":["MoveSelectionLeftByWordTextIntent"],"Action":["MoveSelectionLeftByWordTextIntent"]},"_MoveSelectionRightByLineTextAction":{"ContextAction":["MoveSelectionRightByLineTextIntent"],"Action":["MoveSelectionRightByLineTextIntent"]},"_MoveSelectionRightByWordTextAction":{"ContextAction":["MoveSelectionRightByWordTextIntent"],"Action":["MoveSelectionRightByWordTextIntent"]},"_MoveSelectionToEndTextAction":{"ContextAction":["MoveSelectionToEndTextIntent"],"Action":["MoveSelectionToEndTextIntent"]},"_MoveSelectionToStartTextAction":{"ContextAction":["MoveSelectionToStartTextIntent"],"Action":["MoveSelectionToStartTextIntent"]},"DefaultTextEditingShortcuts":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"Dismissible":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DismissibleState":{"State":["Dismissible"]},"TextEditingController":{"ValueNotifier":["TextEditingValue"],"Listenable":[]},"EditableText":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"EditableTextState":{"State":["EditableText"],"WidgetsBindingObserver":[],"TextEditingActionTarget":[]},"_Editable":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"FocusNode":{"DiagnosticableTree":[],"Listenable":[]},"FocusScopeNode":{"FocusNode":[],"DiagnosticableTree":[],"Listenable":[]},"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"]},"FocusTraversalGroup":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FocusTraversalGroupMarker":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"RequestFocusIntent":{"Intent":[]},"NextFocusIntent":{"Intent":[]},"PreviousFocusIntent":{"Intent":[]},"DirectionalFocusIntent":{"Intent":[]},"_FocusTraversalGroupState":{"State":["FocusTraversalGroup"]},"RequestFocusAction":{"Action":["RequestFocusIntent"]},"NextFocusAction":{"Action":["NextFocusIntent"]},"PreviousFocusAction":{"Action":["PreviousFocusIntent"]},"DirectionalFocusAction":{"Action":["DirectionalFocusIntent"]},"GlobalKey":{"Key":[]},"LabeledGlobalKey":{"GlobalKey":["1"],"Key":[]},"Widget":{"DiagnosticableTree":[]},"StatelessWidget":{"Widget":[],"DiagnosticableTree":[]},"StatefulWidget":{"Widget":[],"DiagnosticableTree":[]},"ProxyWidget":{"Widget":[],"DiagnosticableTree":[]},"ParentDataWidget":{"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"InheritedWidget":{"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"RenderObjectWidget":{"Widget":[],"DiagnosticableTree":[]},"SingleChildRenderObjectWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"MultiChildRenderObjectWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Element0":{"DiagnosticableTree":[],"BuildContext":[]},"ComponentElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"StatelessElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"StatefulElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"ProxyElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"InheritedElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"UniqueKey":{"LocalKey":[],"Key":[]},"GlobalObjectKey":{"GlobalKey":["1"],"Key":[]},"LeafRenderObjectWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ElementDiagnosticableTreeNode":{"DiagnosticableNode":["DiagnosticableTree"],"DiagnosticsNode":[]},"ErrorWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"ParentDataElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"RenderObjectElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"RootRenderObjectElement":{"RenderObjectElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"LeafRenderObjectElement":{"RenderObjectElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"SingleChildRenderObjectElement":{"RenderObjectElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"MultiChildRenderObjectElement":{"RenderObjectElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"_NullElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"_NullWidget":{"Widget":[],"DiagnosticableTree":[]},"GestureDetector":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RawGestureDetector":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"RawGestureDetectorState":{"State":["RawGestureDetector"]},"GestureRecognizerFactoryWithHandlers":{"GestureRecognizerFactory":["1"]},"_GestureSemantics":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"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"},"ImplicitlyAnimatedWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedContainer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedPadding":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedOpacity":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedDefaultTextStyle":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedPhysicalModel":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ImplicitlyAnimatedWidgetState":{"State":["1"]},"AnimatedWidgetBaseState":{"State":["1"]},"_AnimatedContainerState":{"State":["AnimatedContainer"]},"_AnimatedPaddingState":{"State":["AnimatedPadding"]},"_AnimatedOpacityState":{"State":["AnimatedOpacity"]},"_AnimatedDefaultTextStyleState":{"State":["AnimatedDefaultTextStyle"]},"_AnimatedPhysicalModelState":{"State":["AnimatedPhysicalModel"]},"InheritedNotifier":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InheritedNotifierElement":{"InheritedElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"InheritedTheme":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CaptureAll":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ConstrainedLayoutBuilder":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"LayoutBuilder":{"ConstrainedLayoutBuilder":["BoxConstraints"],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[],"ConstrainedLayoutBuilder.0":"BoxConstraints"},"_LayoutBuilderElement":{"RenderObjectElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"_RenderLayoutBuilder":{"RenderConstrainedLayoutBuilder":["BoxConstraints","RenderBox"],"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"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":[]},"_AnyTapGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"ModalBarrier":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedModalBarrier":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnyTapGestureRecognizerFactory":{"GestureRecognizerFactory":["_AnyTapGestureRecognizer"]},"_ModalBarrierGestureDetector":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NavigationToolbar":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Page":{"RouteSettings":[]},"HeroControllerScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Navigator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RouteEntry":{"RouteTransitionRecord":[]},"NavigatorState":{"State":["Navigator"]},"_NotAnnounced":{"Route":["~"]},"_NavigatorPushObservation":{"_NavigatorObservation":[]},"_NavigatorPopObservation":{"_NavigatorObservation":[]},"_NavigatorRemoveObservation":{"_NavigatorObservation":[]},"_NavigatorReplaceObservation":{"_NavigatorObservation":[]},"_HistoryProperty":{"RestorableProperty":["Map<String?,List<Object>>?"],"Listenable":[]},"NotificationListener":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_OverflowBarParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"]},"OverflowBar":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderOverflowBar":{"RenderBoxContainerDefaultsMixin":["RenderBox","_OverflowBarParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","_OverflowBarParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"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":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"_RenderTheatre":{"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","StackParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"ContainerRenderObjectMixin.1":"StackParentData","ContainerRenderObjectMixin.0":"RenderBox"},"GlowingOverscrollIndicator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_GlowingOverscrollIndicatorState":{"State":["GlowingOverscrollIndicator"]},"_GlowController":{"Listenable":[]},"_GlowingOverscrollIndicatorPainter":{"Listenable":[]},"PageStorageKey":{"ValueKey":["1"],"LocalKey":[],"Key":[],"ValueKey.T":"1"},"PageStorage":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"PageView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"PageController":{"ScrollController":[],"Listenable":[]},"_PagePosition":{"ScrollPosition":[],"ViewportOffset":[],"Listenable":[]},"_PageViewState":{"State":["PageView"]},"PageRoute":{"ModalRoute":["1"],"TransitionRoute":["1"],"Route":["1"]},"PerformanceOverlay":{"RenderObjectWidget":[],"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":[],"_RestorablePrimitiveValueN.T":"1"},"RestorableBool":{"_RestorablePrimitiveValueN":["bool"],"RestorableProperty":["bool"],"Listenable":[],"_RestorablePrimitiveValueN.T":"bool"},"RestorableListenable":{"RestorableProperty":["1"],"Listenable":[]},"RestorableChangeNotifier":{"RestorableProperty":["1"],"Listenable":[]},"RestorableTextEditingController":{"RestorableProperty":["TextEditingController"],"Listenable":[]},"Router":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RouterScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"BackButtonDispatcher":{"_CallbackHookProvider":["Future<bool>"]},"ChildBackButtonDispatcher":{"_CallbackHookProvider":["Future<bool>"]},"_RouterState":{"State":["Router<1>"]},"RootBackButtonDispatcher":{"_CallbackHookProvider":["Future<bool>"],"WidgetsBindingObserver":[],"_CallbackHookProvider.T":"Future<bool>"},"RouterDelegate":{"Listenable":[]},"RouteInformationProvider":{"Listenable":[]},"PlatformRouteInformationProvider":{"Listenable":[],"WidgetsBindingObserver":[]},"_RestorableRouteInformation":{"RestorableProperty":["RouteInformation?"],"Listenable":[]},"_ModalScopeStatus":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ModalScope":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ModalScopeState":{"State":["_ModalScope<1>"]},"OverlayRoute":{"Route":["1"]},"TransitionRoute":{"Route":["1"]},"_DismissModalAction":{"Action":["DismissIntent"]},"ModalRoute":{"TransitionRoute":["1"],"Route":["1"]},"PopupRoute":{"ModalRoute":["1"],"TransitionRoute":["1"],"Route":["1"]},"RawDialogRoute":{"ModalRoute":["1"],"TransitionRoute":["1"],"Route":["1"]},"SafeArea":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScrollAwareImageProvider":{"ImageProvider":["1"],"ImageProvider.T":"1"},"ScrollConfiguration":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScrollController":{"Listenable":[]},"ScrollNotification":{"LayoutChangedNotification":[]},"ScrollUpdateNotification":{"ScrollNotification":[],"LayoutChangedNotification":[]},"OverscrollNotification":{"ScrollNotification":[],"LayoutChangedNotification":[]},"ScrollStartNotification":{"ScrollNotification":[],"LayoutChangedNotification":[]},"ScrollEndNotification":{"ScrollNotification":[],"LayoutChangedNotification":[]},"UserScrollNotification":{"ScrollNotification":[],"LayoutChangedNotification":[]},"_ScrollNotificationObserverScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ListenerEntry":{"LinkedListEntry":["_ListenerEntry"],"LinkedListEntry.E":"_ListenerEntry"},"ScrollNotificationObserver":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScrollNotificationObserverState":{"State":["ScrollNotificationObserver"]},"ScrollPosition":{"ViewportOffset":[],"Listenable":[]},"ScrollPositionWithSingleContext":{"ScrollPosition":[],"ViewportOffset":[],"Listenable":[]},"ScrollView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"BoxScrollView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ListView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Scrollable0":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ScrollableScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScrollIntent":{"Intent":[]},"ScrollableState":{"State":["Scrollable0"]},"_ScrollSemantics":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderScrollSemantics":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"ScrollAction":{"Action":["ScrollIntent"]},"_RestorableScrollOffset":{"RestorableProperty":["double?"],"Listenable":[]},"RawScrollbar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ThumbPressGestureRecognizer":{"LongPressGestureRecognizer":[],"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"_TrackTapGestureRecognizer":{"TapGestureRecognizer":[],"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"ScrollbarPainter":{"Listenable":[]},"RawScrollbarState":{"State":["1"]},"LogicalKeySet":{"KeySet":["LogicalKeyboardKey"],"ShortcutActivator":[],"KeySet.T":"LogicalKeyboardKey"},"ShortcutManager":{"Listenable":[]},"Shortcuts":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"SingleActivator":{"ShortcutActivator":[]},"_ShortcutsState":{"State":["Shortcuts"]},"_ShortcutsMarker":{"InheritedNotifier":["ShortcutManager"],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"InheritedNotifier.T":"ShortcutManager"},"_SingleChildViewport":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SingleChildScrollView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderSingleChildViewport":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderAbstractViewport":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[]},"_SaltedValueKey":{"ValueKey":["Key"],"LocalKey":[],"Key":[],"ValueKey.T":"Key"},"SliverWithKeepAliveWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverMultiBoxAdaptorWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverList":{"SliverMultiBoxAdaptorWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverFixedExtentList":{"SliverMultiBoxAdaptorWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverMultiBoxAdaptorElement":{"RenderObjectElement":[],"Element0":[],"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":[]},"Spacer":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Table":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TableElement":{"RenderObjectElement":[],"Element0":[],"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":[]},"_NullWidget2":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TextEditingAction":{"ContextAction":["1"],"Action":["1"]},"DeleteTextIntent":{"Intent":[]},"DeleteByWordTextIntent":{"Intent":[]},"DeleteByLineTextIntent":{"Intent":[]},"DeleteForwardTextIntent":{"Intent":[]},"DeleteForwardByWordTextIntent":{"Intent":[]},"DeleteForwardByLineTextIntent":{"Intent":[]},"DoNothingAndStopPropagationTextIntent":{"Intent":[]},"ExpandSelectionLeftByLineTextIntent":{"Intent":[]},"ExpandSelectionRightByLineTextIntent":{"Intent":[]},"ExpandSelectionToEndTextIntent":{"Intent":[]},"ExpandSelectionToStartTextIntent":{"Intent":[]},"ExtendSelectionDownTextIntent":{"Intent":[]},"ExtendSelectionLeftByLineTextIntent":{"Intent":[]},"ExtendSelectionLeftByWordAndStopAtReversalTextIntent":{"Intent":[]},"ExtendSelectionLeftByWordTextIntent":{"Intent":[]},"ExtendSelectionLeftTextIntent":{"Intent":[]},"ExtendSelectionRightByLineTextIntent":{"Intent":[]},"ExtendSelectionRightByWordAndStopAtReversalTextIntent":{"Intent":[]},"ExtendSelectionRightByWordTextIntent":{"Intent":[]},"ExtendSelectionRightTextIntent":{"Intent":[]},"ExtendSelectionUpTextIntent":{"Intent":[]},"MoveSelectionDownTextIntent":{"Intent":[]},"MoveSelectionLeftByLineTextIntent":{"Intent":[]},"MoveSelectionLeftByWordTextIntent":{"Intent":[]},"MoveSelectionLeftTextIntent":{"Intent":[]},"MoveSelectionToStartTextIntent":{"Intent":[]},"MoveSelectionRightByLineTextIntent":{"Intent":[]},"MoveSelectionRightByWordTextIntent":{"Intent":[]},"MoveSelectionRightTextIntent":{"Intent":[]},"MoveSelectionToEndTextIntent":{"Intent":[]},"MoveSelectionUpTextIntent":{"Intent":[]},"_TextSelectionHandleOverlay":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TextSelectionGestureDetector":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TransparentTapGestureRecognizer":{"TapGestureRecognizer":[],"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"_TextSelectionHandleOverlayState":{"State":["_TextSelectionHandleOverlay"]},"_TextSelectionGestureDetectorState":{"State":["TextSelectionGestureDetector"]},"_EffectiveTickerMode":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"TickerMode":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Title":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnimatedState":{"State":["AnimatedWidget"]},"SlideTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScaleTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"RotationTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"SizeTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FadeTransition":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"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":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"ShrinkWrappingViewport":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Visibility":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ConsumerWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"Consumer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ConsumerState":{"State":["ConsumerWidget"]},"ProviderScope":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"UncontrolledProviderScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ProviderScopeElement":{"StatefulElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"ProviderScopeState":{"State":["ProviderScope"]},"_UncontrolledProviderScopeElement":{"InheritedElement":[],"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"ProviderListener":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ProviderListenerState":{"State":["ProviderListener<1>"]},"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"},"InternalGifImageDesc":{"GifImageDesc":[]},"InternalPngFrame":{"PngFrame":[]},"PsdBevelEffect":{"PsdEffect":[]},"PsdDropShadowEffect":{"PsdEffect":[]},"PsdInnerGlowEffect":{"PsdEffect":[]},"PsdInnerShadowEffect":{"PsdEffect":[]},"PsdOuterGlowEffect":{"PsdEffect":[]},"PsdSolidFillEffect":{"PsdEffect":[]},"PsdLayerAdditionalData":{"PsdLayerData":[]},"PsdLayerSectionDivider":{"PsdLayerData":[]},"InternalWebPFrame":{"WebPFrame":[]},"ImageException":{"Exception":[]},"_DateFormatLiteralField":{"_DateFormatField":[]},"_DateFormatQuotedField":{"_DateFormatField":[]},"_DateFormatPatternField":{"_DateFormatField":[]},"_CompactStyleWithNegative":{"_CompactStyleBase":[]},"_CompactStyle":{"_CompactStyleBase":[]},"LocaleDataException":{"Exception":[]},"Level":{"Comparable":["Level"]},"_NestedHookElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"SingleChildStatelessWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Nested":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NestedElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"_NestedHook":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SingleChildStatelessElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"PathException":{"Exception":[]},"InheritedProvider":{"SingleChildStatelessWidget":[],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InheritedProviderScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Provider":{"InheritedProvider":["1"],"SingleChildStatelessWidget":[],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InheritedProviderElement":{"Element0":[],"DiagnosticableTree":[],"BuildContext":[]},"_InheritedProviderScopeElement":{"InheritedElement":[],"Element0":[],"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":[]},"ProviderNotFoundException":{"Exception":[]},"AsyncData":{"AsyncValue":["1"]},"AsyncLoading":{"AsyncValue":["1"]},"AsyncError0":{"AsyncValue":["1"]},"_$AsyncData":{"AsyncData":["1"],"AsyncValue":["1"]},"_$AsyncLoading":{"AsyncLoading":["1"],"AsyncValue":["1"]},"_$AsyncError":{"AsyncError0":["1"],"AsyncValue":["1"]},"CreatedProvider":{"Provider0":["1"],"AlwaysAliveProviderBase":["1","1"],"RootProvider":["1","1"],"ProviderBase":["1","1"],"AlwaysAliveProviderBase.0":"1","AlwaysAliveProviderBase.1":"1","Provider0.T":"1"},"AutoDisposeCreatedProvider":{"AutoDisposeProvider":["1"],"AutoDisposeProviderBase":["1","1"],"RootProvider":["1","1"],"ProviderBase":["1","1"],"AutoDisposeProviderBase.1":"1","AutoDisposeProviderBase.0":"1","AutoDisposeProvider.T":"1"},"AutoDisposeProviderReference":{"ProviderReference":[]},"AutoDisposeProviderBase":{"RootProvider":["1","2"],"ProviderBase":["1","2"]},"AutoDisposeProviderElement":{"ProviderElement":["1","2"],"AutoDisposeProviderReference":[],"ProviderReference":[]},"_LinkedListEntry":{"LinkedListEntry":["_LinkedListEntry<1>"],"LinkedListEntry.E":"_LinkedListEntry<1>"},"AlwaysAliveProviderBase":{"RootProvider":["1","2"],"ProviderBase":["1","2"]},"RootProvider":{"ProviderBase":["1","2"]},"_Listener":{"LinkedListEntry":["_Listener<1>"],"LinkedListEntry.E":"_Listener<1>"},"ProviderElement":{"ProviderReference":[]},"FamilyOverride":{"Override":[]},"ProviderException":{"Exception":[]},"CircularDependencyError":{"Error0":[]},"AutoDisposeFutureProvider":{"AutoDisposeProviderBase":["Future<1>","AsyncValue<1>"],"RootProvider":["Future<1>","AsyncValue<1>"],"ProviderBase":["Future<1>","AsyncValue<1>"],"AutoDisposeProviderBase.1":"AsyncValue<1>","AutoDisposeProviderBase.0":"Future<1>"},"FutureProvider":{"AlwaysAliveProviderBase":["Future<1>","AsyncValue<1>"],"RootProvider":["Future<1>","AsyncValue<1>"],"ProviderBase":["Future<1>","AsyncValue<1>"],"AlwaysAliveProviderBase.0":"Future<1>","AlwaysAliveProviderBase.1":"AsyncValue<1>"},"_AutoDisposeFutureProviderState":{"_FutureProviderStateMixin":["1"]},"AutoDisposeFutureProviderFamily":{"Family":["Future<1>","AsyncValue<1>","2","AutoDisposeProviderReference","AutoDisposeFutureProvider<1>"],"Family.P":"AutoDisposeFutureProvider<1>"},"_FutureProviderState":{"_FutureProviderStateMixin":["1"]},"FutureProviderFamily":{"Family":["Future<1>","AsyncValue<1>","2","ProviderReference","FutureProvider<1>"],"Family.P":"FutureProvider<1>"},"AutoDisposeProvider":{"AutoDisposeProviderBase":["1","1"],"RootProvider":["1","1"],"ProviderBase":["1","1"],"AutoDisposeProviderBase.1":"1","AutoDisposeProviderBase.0":"1","AutoDisposeProvider.T":"1"},"AutoDisposeProviderFamily":{"Family":["1","1","2","AutoDisposeProviderReference","AutoDisposeProvider<1>"],"Family.P":"AutoDisposeProvider<1>"},"Provider0":{"AlwaysAliveProviderBase":["1","1"],"RootProvider":["1","1"],"ProviderBase":["1","1"],"AlwaysAliveProviderBase.0":"1","AlwaysAliveProviderBase.1":"1","Provider0.T":"1"},"_AutoDisposeNotifierProvider":{"AutoDisposeProvider":["1"],"AutoDisposeProviderBase":["1","1"],"RootProvider":["1","1"],"ProviderBase":["1","1"],"AutoDisposeProviderBase.1":"1","AutoDisposeProviderBase.0":"1","AutoDisposeProvider.T":"1"},"AutoDisposeStateNotifierProvider":{"AutoDisposeProviderBase":["1","2"],"RootProvider":["1","2"],"ProviderBase":["1","2"],"AutoDisposeProviderBase.1":"2","AutoDisposeProviderBase.0":"1"},"AutoDisposeStateNotifierProviderFamily":{"Family":["1","2","3","AutoDisposeProviderReference","AutoDisposeStateNotifierProvider<1,2>"],"Family.P":"AutoDisposeStateNotifierProvider<1,2>"},"_AutoDisposeNotifierFamily":{"Family":["1","1","2","AutoDisposeProviderReference","_AutoDisposeNotifierProvider<1>"],"Family.P":"_AutoDisposeNotifierProvider<1>"},"StateController":{"StateNotifier":["1"]},"StateProvider":{"AlwaysAliveProviderBase":["StateController<1>","StateController<1>"],"RootProvider":["StateController<1>","StateController<1>"],"ProviderBase":["StateController<1>","StateController<1>"],"AlwaysAliveProviderBase.0":"StateController<1>","AlwaysAliveProviderBase.1":"StateController<1>"},"_StateProviderState":{"_StateProviderStateMixin":["1"]},"StateProviderFamily":{"Family":["StateController<1>","StateController<1>","2","ProviderReference","StateProvider<1>"],"Family.P":"StateProvider<1>"},"AutoDisposeStreamProvider":{"AutoDisposeProviderBase":["Stream<1>","AsyncValue<1>"],"RootProvider":["Stream<1>","AsyncValue<1>"],"ProviderBase":["Stream<1>","AsyncValue<1>"],"AutoDisposeProviderBase.1":"AsyncValue<1>","AutoDisposeProviderBase.0":"Stream<1>"},"_CreatedStreamProvider":{"Provider0":["Stream<1>"],"AlwaysAliveProviderBase":["Stream<1>","Stream<1>"],"RootProvider":["Stream<1>","Stream<1>"],"ProviderBase":["Stream<1>","Stream<1>"],"AlwaysAliveProviderBase.0":"Stream<1>","AlwaysAliveProviderBase.1":"Stream<1>","Provider0.T":"Stream<1>"},"_AutoDisposeStreamProviderState":{"_StreamProviderStateMixin":["1"]},"AutoDisposeStreamProviderFamily":{"Family":["Stream<1>","AsyncValue<1>","2","AutoDisposeProviderReference","AutoDisposeStreamProvider<1>"],"Family.P":"AutoDisposeStreamProvider<1>"},"StreamProvider":{"AlwaysAliveProviderBase":["Stream<1>","AsyncValue<1>"],"RootProvider":["Stream<1>","AsyncValue<1>"],"ProviderBase":["Stream<1>","AsyncValue<1>"],"AlwaysAliveProviderBase.0":"Stream<1>","AlwaysAliveProviderBase.1":"AsyncValue<1>"},"_StreamProviderState":{"_StreamProviderStateMixin":["1"]},"FileLocation":{"SourceLocation":[],"Comparable":["SourceLocation"]},"_FileSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceLocation":{"Comparable":["SourceLocation"]},"SourceLocationMixin":{"SourceLocation":[],"Comparable":["SourceLocation"]},"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":[]},"LazyTrace":{"Trace":[],"StackTrace":[]},"Trace":{"StackTrace":[]},"UnparsedFrame":{"Frame":[]},"_ListenerEntry0":{"LinkedListEntry":["_ListenerEntry0<1>"],"LinkedListEntry.E":"_ListenerEntry0<1>"},"GuaranteeChannel":{"StreamChannelMixin":["1"],"StreamChannelMixin.T":"1"},"_StreamChannel":{"StreamChannelMixin":["1"],"StreamChannelMixin.T":"1"},"StringScannerException":{"FormatException":[],"Exception":[]},"TypedDataBuffer":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_IntBuffer0":{"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"},"SocketProfile":{"Response0":[]},"_State":{"Response0":[]},"HttpTimelineLoggingState":{"Response0":[]},"HttpProfile":{"Response0":[]},"SocketProfilingState":{"Response0":[]},"SpawnedProcess":{"Response0":[],"SpawnedProcessRef":[]},"SpawnedProcessList":{"Response0":[]},"OpenFile":{"Response0":[],"OpenFileRef":[]},"OpenFileList":{"Response0":[]},"HttpProfileRequestError":{"Error0":[]},"RPCError":{"Exception":[]},"AllocationProfile":{"Response0":[]},"BoundVariable":{"Response0":[]},"Breakpoint":{"Obj":[],"ObjRef":[],"Response0":[]},"ClassRef":{"ObjRef":[],"Response0":[]},"Class":{"Obj":[],"ClassRef":[],"ObjRef":[],"Response0":[]},"ClassHeapStats":{"Response0":[]},"ClassList":{"Response0":[]},"CodeRef":{"ObjRef":[],"Response0":[]},"Code":{"CodeRef":[],"ObjRef":[],"Response0":[]},"ContextRef":{"ObjRef":[],"Response0":[]},"Context0":{"Obj":[],"ContextRef":[],"ObjRef":[],"Response0":[]},"CpuSamples":{"Response0":[]},"ErrorRef":{"ObjRef":[],"Response0":[]},"Error":{"Obj":[],"ErrorRef":[],"ObjRef":[],"Response0":[]},"Event":{"Response0":[]},"FieldRef":{"ObjRef":[],"Response0":[]},"Field":{"Obj":[],"FieldRef":[],"ObjRef":[],"Response0":[]},"FlagList":{"Response0":[]},"Frame1":{"Response0":[]},"FuncRef":{"ObjRef":[],"Response0":[]},"Func":{"Obj":[],"FuncRef":[],"ObjRef":[],"Response0":[]},"InstanceRef":{"ObjRef":[],"Response0":[]},"Instance":{"Obj":[],"InstanceRef":[],"ObjRef":[],"Response0":[]},"IsolateRef":{"Response0":[]},"Isolate":{"IsolateRef":[],"Response0":[]},"IsolateGroupRef":{"Response0":[]},"IsolateGroup":{"IsolateGroupRef":[],"Response0":[]},"InboundReferences":{"Response0":[]},"InstanceSet":{"Response0":[]},"LibraryRef":{"ObjRef":[],"Response0":[]},"Library":{"Obj":[],"LibraryRef":[],"ObjRef":[],"Response0":[]},"LogRecord":{"Response0":[]},"MemoryUsage":{"Response0":[]},"Message":{"Response0":[]},"NullValRef":{"InstanceRef":[],"ObjRef":[],"Response0":[]},"NullVal":{"Instance":[],"NullValRef":[],"Obj":[],"InstanceRef":[],"ObjRef":[],"Response0":[]},"ObjRef":{"Response0":[]},"Obj":{"ObjRef":[],"Response0":[]},"PortList":{"Response0":[]},"ProtocolList":{"Response0":[]},"ProcessMemoryUsage":{"Response0":[]},"ReloadReport":{"Response0":[]},"RetainingPath":{"Response0":[]},"Sentinel":{"Response0":[]},"ScriptRef":{"ObjRef":[],"Response0":[]},"Script":{"Obj":[],"ScriptRef":[],"ObjRef":[],"Response0":[]},"ScriptList":{"Response0":[]},"SourceLocation0":{"Response0":[]},"SourceReport":{"Response0":[]},"Stack0":{"Response0":[]},"Success":{"Response0":[]},"Timeline":{"Response0":[]},"TimelineFlags":{"Response0":[]},"Timestamp":{"Response0":[]},"TypeArgumentsRef":{"ObjRef":[],"Response0":[]},"TypeArguments":{"Obj":[],"TypeArgumentsRef":[],"ObjRef":[],"Response0":[]},"UnresolvedSourceLocation":{"Response0":[]},"Version":{"Response0":[]},"VMRef":{"Response0":[]},"VM":{"VMRef":[],"Response0":[]},"SentinelException":{"Exception":[]},"HtmlWebSocketChannel":{"StreamChannelMixin":["@"],"StreamChannelMixin.T":"@"},"WebSocketChannel":{"StreamChannelMixin":["@"],"StreamChannelMixin.T":"@"},"WebSocketChannelException":{"Exception":[]},"DrawerController":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DrawerControllerState":{"State":["DrawerController"]},"PlaceholderSpan":{"InlineSpan":[],"DiagnosticableTree":[]},"_AutofillScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]}}'));
  H._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"SkiaObject":1,"ManagedSkiaObject":1,"FixedLengthListMixin":1,"UnmodifiableListMixin":1,"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_PendingEvents":1,"_SyncStreamControllerDispatch":1,"_DelayedEvent":1,"_SplayTreeNode":2,"IterableBase":1,"ListBase":1,"MapBase":2,"UnmodifiableMapBase":2,"_UnmodifiableSetMixin":1,"_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,"Iterator":1,"_JsArray_JsObject_ListMixin":1,"DelegatingStreamSink":1,"DelegatingStreamSubscription":1,"_EventRequest":1,"_QueueList_Object_ListMixin":1,"AutoDisposeMixin":1,"BlockingActionMixin":1,"FlameChart":2,"FlameChartDataMixin":1,"_FlameChartState_State_AutoDisposeMixin":2,"_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin":2,"_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin":2,"CollapsibleAnimationMixin":1,"_LayoutExplorerWidgetState_State_TickerProviderStateMixin":2,"_$Result":1,"_Result_Object__$Result":1,"OfflineScreenMixin":2,"__TableRowState_State_TickerProviderStateMixin":1,"__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin":1,"__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin":1,"__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin":1,"_TreeTableState_State_TickerProviderStateMixin":1,"_TreeTableState_State_TickerProviderStateMixin_TreeMixin":1,"_TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin":1,"__TableState_State_AutoDisposeMixin":1,"__TreeViewItemState_State_TickerProviderStateMixin":1,"__TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin":1,"__TreeViewState_State_TreeMixin":1,"SearchFieldMixin":1,"TreeDataSearchStateMixin":1,"_ServiceExtensionMixin":1,"DevToolsFile":1,"_ImmutableList_Object_ListMixin":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,"ValueListenable":1,"__DropdownButtonState_State_WidgetsBindingObserver":1,"__PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin":1,"ToggleableStateMixin":1,"ContainerBoxParentData":1,"_ContainerBoxParentData_BoxParentData_ContainerParentDataMixin":1,"ContainerParentDataMixin":1,"CustomClipper":1,"RenderProxyBoxMixin":1,"RenderAnimatedOpacityMixin":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,"TextEditingAction":1,"SingleTickerProviderStateMixin":1,"TickerProviderStateMixin":1,"_Delegate":1,"_AsyncValue_Object__$AsyncValue":1,"_$AsyncValue":1,"RootProvider":2,"ProviderStateBase":2,"ProviderOverridesMixin":2,"AutoDisposeProviderOverridesMixin":2,"_AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin":1,"_AutoDisposeFutureProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__FutureProviderMixin":1,"_FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin":1,"_FutureProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__FutureProviderMixin":1,"_FutureProviderMixin":1,"_AutoDisposeProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin":1,"_ProviderStateMixin":1,"_Provider_AlwaysAliveProviderBase_ProviderOverridesMixin":1,"_AutoDisposeStateNotifierProvider_AutoDisposeProviderBase__StateNotifierProviderMixin":2,"_StateNotifierProviderMixin":2,"_StateProvider_AlwaysAliveProviderBase_ProviderOverridesMixin":1,"_AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin":1,"_AutoDisposeStreamProvider_AutoDisposeProviderBase_AutoDisposeProviderOverridesMixin__StreamProviderMixin":1,"_StreamProviderMixin":1,"_StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin":1,"_StreamProvider_AlwaysAliveProviderBase_ProviderOverridesMixin__StreamProviderMixin":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, ",
    x22x20filt: '" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%"><feFlood flood-color="',
    x22x22____: '""""""""""""""""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',
    x3csvg_w: '<svg width="0" height="0" style="position:absolute"><filter id="_fcf',
    x3d_____: "===== asynchronous gap ===========================\n",
    ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    Badge_: "Badge Performance tab when Flutter UI jank is detected",
    Cannotca: "Cannot call onDispose after a provider was dispose",
    Cannotch: "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",
    Could_: "Could not find UI thread and / or Raster thread from names: ",
    Expand: "Expandos are not allowed on strings, numbers, booleans or null",
    Failed: "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.",
    Loadin: "Loading data...\nPlease do not refresh or leave this page.",
    Select: "Select an event from the Timeline to view details",
    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",
    TextIn: "TextInputClient.updateEditingStateWithTag",
    The_el: "The element being rebuilt at the time was index ",
    There_aa: "There are no events on this thread that occurred after this time range.",
    There_ab: "There are no events on this thread that occurred before this time range.",
    There_w: "There was a problem trying to load FontManifest.json",
    This_m: "This method should never be called for an instance of OfflineTimelineEvent",
    x60null_c: "`null` encountered as case in a switch expression with a non-nullable enum type.",
    x60null_t: "`null` encountered as the result from expression with type `Never`.",
    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_fp: "https://flutter.dev/docs/perf/rendering/shader#how-to-use-sksl-warmup",
    https_ft: "https://flutter.dev/docs/testing/ui-performance#run-in-profile-mode",
    https_g: "https://github.com/flutter/devtools/issues",
    relaun: "relaunch in profile mode from VS Code or IntelliJ",
    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 = H.findType;
    return {
      Action_Intent: findType("Action<Intent>"),
      AlignmentGeometry: findType("AlignmentGeometry"),
      AllocationProfile: findType("AllocationProfile"),
      AlwaysStoppedAnimation_legacy_Color: findType("AlwaysStoppedAnimation<Color*>"),
      AnimationController: findType("AnimationController"),
      Animation_Offset: findType("Animation0<Offset>"),
      Animation_double: findType("Animation0<double>"),
      Animation_nullable_Color: findType("Animation0<Color?>"),
      AnnotatedRegion_SystemUiOverlayStyle: findType("AnnotatedRegion<SystemUiOverlayStyle>"),
      AssertionError: findType("AssertionError"),
      AsyncMemoizer_dynamic: findType("AsyncMemoizer<@>"),
      AutofillInfo: findType("AutofillInfo"),
      BaseElement: findType("BaseElement"),
      BasicMessageChannel_dynamic: findType("BasicMessageChannel<@>"),
      BitmapCompression: findType("BitmapCompression"),
      Blob: findType("Blob"),
      BodyElement: findType("BodyElement"),
      BorderRadius: findType("BorderRadius"),
      BoundField: findType("BoundField"),
      BoundVariable: findType("BoundVariable"),
      BoxConstraints: findType("BoxConstraints"),
      BoxParentData: findType("BoxParentData"),
      Breakpoint: findType("Breakpoint"),
      ButtonTheme: findType("ButtonTheme"),
      ByteBuffer: findType("ByteBuffer"),
      ByteData: findType("ByteData"),
      CallbackAction_ActivateIntent: findType("CallbackAction<ActivateIntent>"),
      CallbackAction_ButtonActivateIntent: findType("CallbackAction<ButtonActivateIntent>"),
      CanvasElement: findType("CanvasElement"),
      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"),
      ChildBackButtonDispatcher: findType("ChildBackButtonDispatcher"),
      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"),
      ClassHeapStats: findType("ClassHeapStats"),
      ClassRef: findType("ClassRef"),
      CodeRef: findType("CodeRef"),
      CodeUnits: findType("CodeUnits"),
      Codec: findType("Codec"),
      Color: findType("Color"),
      ColorTween: findType("ColorTween"),
      Comparable_dynamic: findType("Comparable<@>"),
      Comparable_nullable_Object: findType("Comparable<Object?>"),
      ConstantMapView_Symbol_dynamic: findType("ConstantMapView<Symbol0,@>"),
      ConstantStringMap_of_legacy_String_and_Null: findType("ConstantStringMap<String*,Null>"),
      ConstantStringMap_of_legacy_String_and_legacy_LogicalKeyboardKey: findType("ConstantStringMap<String*,LogicalKeyboardKey*>"),
      ConstantStringMap_of_legacy_String_and_legacy_String: findType("ConstantStringMap<String*,String*>"),
      ConstantStringMap_of_legacy_String_and_legacy_int: findType("ConstantStringMap<String*,int*>"),
      ContainerLayer: findType("ContainerLayer"),
      ContainerRenderObjectMixin_of_RenderObject_and_ContainerParentDataMixin_RenderObject: findType("ContainerRenderObjectMixin<RenderObject,ContainerParentDataMixin<RenderObject>>"),
      ContextElement: findType("ContextElement"),
      ContextRef: findType("ContextRef"),
      CpuSample: findType("CpuSample"),
      CpuSamples: findType("CpuSamples"),
      CrossFrameCache_HtmlElement: findType("CrossFrameCache<HtmlElement>"),
      CssStyleSheet: findType("CssStyleSheet"),
      CupertinoUserInterfaceLevel: findType("CupertinoUserInterfaceLevel"),
      CurveTween: findType("CurveTween"),
      CustomPaint: findType("CustomPaint"),
      CustomSemanticsAction: findType("CustomSemanticsAction"),
      DateTime: findType("DateTime"),
      Decoration: findType("Decoration"),
      DefaultAssetBundle: findType("DefaultAssetBundle"),
      DefaultTextHeightBehavior: findType("DefaultTextHeightBehavior"),
      DefaultTextStyle: findType("DefaultTextStyle"),
      DevToolsScreen_legacy_AppSizeController: findType("DevToolsScreen<AppSizeController*>"),
      DevToolsScreen_legacy_DebuggerController: findType("DevToolsScreen<DebuggerController*>"),
      DevToolsScreen_legacy_InspectorSettingsController: findType("DevToolsScreen<InspectorSettingsController*>"),
      DevToolsScreen_legacy_LegacyPerformanceController: findType("DevToolsScreen<LegacyPerformanceController*>"),
      DevToolsScreen_legacy_LoggingController: findType("DevToolsScreen<LoggingController*>"),
      DevToolsScreen_legacy_MemoryController: findType("DevToolsScreen<MemoryController*>"),
      DevToolsScreen_legacy_NetworkController: findType("DevToolsScreen<NetworkController*>"),
      DevToolsScreen_legacy_PerformanceController: findType("DevToolsScreen<PerformanceController*>"),
      DevToolsScreen_legacy_ProfilerScreenController: findType("DevToolsScreen<ProfilerScreenController*>"),
      DevToolsScreen_legacy_VMDeveloperToolsController: findType("DevToolsScreen<VMDeveloperToolsController*>"),
      DevToolsScreen_void: findType("DevToolsScreen<~>"),
      DiagnosticableTree: findType("DiagnosticableTree"),
      DiagnosticsNode: findType("DiagnosticsNode"),
      DiagnosticsProperty_Object: findType("DiagnosticsProperty<Object>"),
      Directionality: findType("Directionality"),
      DisposableBuildContext_State_Image: findType("DisposableBuildContext<State<Image>>"),
      DividerTheme: findType("DividerTheme"),
      Document: findType("Document"),
      DoubleLinkedQueue_ProviderElement_dynamic_dynamic: findType("DoubleLinkedQueue<ProviderElement<@,@>>"),
      DoubleLinkedQueue_of_void_Function: findType("DoubleLinkedQueue<~()>"),
      DragStartDetails: findType("DragStartDetails"),
      DragUpdateDetails: findType("DragUpdateDetails"),
      DropdownButtonHideUnderline: findType("DropdownButtonHideUnderline"),
      DropdownMenuItem_legacy_ExceptionMode: findType("DropdownMenuItem<ExceptionMode*>"),
      DropdownMenuItem_legacy_Object: findType("DropdownMenuItem<Object*>"),
      DropdownMenuItem_legacy_String: findType("DropdownMenuItem<String*>"),
      Duration: findType("Duration"),
      EdgeInsetsGeometry: findType("EdgeInsetsGeometry"),
      EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"),
      Element: findType("Element"),
      Element_2: findType("Element0"),
      Element_Function_int_$named_params_nullable_Object: findType("Element(int{params:Object?})"),
      ElevatedButtonTheme: findType("ElevatedButtonTheme"),
      EmbeddedViewParams: findType("EmbeddedViewParams"),
      EngineGradient: findType("EngineGradient"),
      EngineParagraph: findType("EngineParagraph"),
      EngineParagraphStyle: findType("EngineParagraphStyle"),
      EnginePicture: findType("EnginePicture"),
      EnginePictureRecorder: findType("EnginePictureRecorder"),
      EngineTextStyle: findType("EngineTextStyle"),
      Error: findType("Error0"),
      ErrorEvent: findType("ErrorEvent"),
      ErrorRef: findType("ErrorRef"),
      Event: findType("Event0"),
      EventTarget: findType("EventTarget"),
      Event_2: findType("Event"),
      Exception: findType("Exception"),
      ExpandIterable__SemanticsSortGroup_SemanticsNode: findType("ExpandIterable<_SemanticsSortGroup,SemanticsNode>"),
      ExpandIterable_of_legacy_ScopeSpan_and_legacy_ScopeSpan: findType("ExpandIterable<ScopeSpan*,ScopeSpan*>"),
      Expando_legacy_double: findType("Expando<double*>"),
      ExrAttribute: findType("ExrAttribute"),
      ExrHufDec: findType("ExrHufDec"),
      FamilyOverride: findType("FamilyOverride"),
      Family_of_dynamic_and_dynamic_and_dynamic_and_ProviderReference_and_RootProvider_dynamic_dynamic: findType("Family<@,@,@,ProviderReference,RootProvider<@,@>>"),
      FieldRef: findType("FieldRef"),
      File: findType("File"),
      FileList: findType("FileList"),
      FileSpan: findType("FileSpan"),
      FilterDialog_legacy_LoggingController: findType("FilterDialog<LoggingController*>"),
      FilterDialog_legacy_NetworkController: findType("FilterDialog<NetworkController*>"),
      FixedValueListenable_legacy_LinkedHashMap_of_legacy_String_and_legacy_DevToolsError: findType("FixedValueListenable<LinkedHashMap<String*,DevToolsError*>*>"),
      FixedValueListenable_legacy_bool: findType("FixedValueListenable<bool*>"),
      Flag: findType("Flag"),
      FlagList: findType("FlagList"),
      FlameChartNode_legacy_CpuStackFrame: findType("FlameChartNode<CpuStackFrame*>"),
      FlameChartNode_legacy_LegacyTimelineEvent: findType("FlameChartNode<LegacyTimelineEvent*>"),
      FlameChartNode_legacy_TimelineEvent: findType("FlameChartNode<TimelineEvent0*>"),
      FlexParentData: findType("FlexParentData"),
      FlexibleSpaceBarSettings: findType("FlexibleSpaceBarSettings"),
      Float64List: findType("Float64List"),
      FlutterError: findType("FlutterError"),
      FocusNode: findType("FocusNode"),
      FocusScopeNode: findType("FocusScopeNode"),
      FontFace: findType("FontFace"),
      FormatException: findType("FormatException"),
      Frame: findType("Frame"),
      FrameInfo: findType("FrameInfo"),
      FrameReference_PersistedSurface: findType("FrameReference<PersistedSurface>"),
      Frame_2: findType("Frame1"),
      FuncRef: findType("FuncRef"),
      Function: findType("Function"),
      Future_Map_String_dynamic_Function_Map_String_dynamic: findType("Future<Map<String,@>>(Map<String,@>)"),
      Future_Null: findType("Future<Null>"),
      Future_bool: findType("Future<bool>"),
      Future_bool_Function: findType("Future<bool>()"),
      Future_dynamic: findType("Future<@>"),
      Future_void: findType("Future<~>"),
      GeneralConstantMap_of_legacy_MaterialState_and_Null: findType("GeneralConstantMap<MaterialState*,Null>"),
      GeneralConstantMap_of_legacy_ShortcutActivator_and_legacy_Intent: findType("GeneralConstantMap<ShortcutActivator*,Intent*>"),
      GeneralConstantMap_of_legacy_int_and_legacy_Color: findType("GeneralConstantMap<int*,Color*>"),
      GeneralConstantMap_of_legacy_int_and_legacy_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>"),
      GestureRecognizerFactoryWithHandlers__TransparentTapGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<_TransparentTapGestureRecognizer>"),
      GestureRecognizerFactoryWithHandlers_legacy_HorizontalDragGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<HorizontalDragGestureRecognizer*>"),
      GestureRecognizerFactoryWithHandlers_legacy_VerticalDragGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<VerticalDragGestureRecognizer*>"),
      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"),
      HeapPriorityQueue__TaskEntry_dynamic: findType("HeapPriorityQueue<_TaskEntry<@>>"),
      HeapSample: findType("HeapSample"),
      HeapSnapshotGraph: findType("HeapSnapshotGraph"),
      Hero: findType("Hero"),
      HeroControllerScope: findType("HeroControllerScope"),
      HistoryViewport_legacy_ScriptRef: findType("HistoryViewport<ScriptRef*>"),
      HitTestResult: findType("HitTestResult"),
      HitTestTarget: findType("HitTestTarget"),
      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"),
      ImageData: findType("ImageData"),
      ImageElement: findType("ImageElement"),
      ImageSizeInfo: findType("ImageSizeInfo"),
      ImageStreamListener: findType("ImageStreamListener"),
      ImmediateValueNotifier_legacy_bool: findType("ImmediateValueNotifier<bool*>"),
      ImmutableList_legacy_LogData: findType("ImmutableList<LogData*>"),
      ImmutableList_legacy_NetworkRequest: findType("ImmutableList<NetworkRequest*>"),
      InboundReference: findType("InboundReference"),
      IndexedSlot_nullable_Element: findType("IndexedSlot<Element0?>"),
      InheritedElement: findType("InheritedElement"),
      InheritedTheme: findType("InheritedTheme"),
      InheritedWidget: findType("InheritedWidget"),
      InputBorder: findType("InputBorder"),
      InputElement: findType("InputElement"),
      InstanceRef: findType("InstanceRef"),
      Int32List: findType("Int32List"),
      Int64List: findType("Int64List"),
      IntTween: findType("IntTween"),
      Intent: findType("Intent"),
      InteractiveInkFeature: findType("InteractiveInkFeature"),
      InteractiveInkFeatureFactory: findType("InteractiveInkFeatureFactory"),
      Isolate: findType("Isolate"),
      IsolateFlag: findType("IsolateFlag"),
      IsolateGroupRef: findType("IsolateGroupRef"),
      IsolateRef: findType("IsolateRef"),
      IterableEquality_dynamic: findType("IterableEquality<@>"),
      Iterable_dynamic: findType("Iterable<@>"),
      JSArray_BoxShadow: findType("JSArray<BoxShadow>"),
      JSArray_ByteData: findType("JSArray<ByteData>"),
      JSArray_CanvasElement: findType("JSArray<CanvasElement>"),
      JSArray_CkCanvas: findType("JSArray<CkCanvas>"),
      JSArray_CkPaintCommand: findType("JSArray<CkPaintCommand>"),
      JSArray_CkTextStyle: findType("JSArray<CkTextStyle>"),
      JSArray_CodeunitRange: findType("JSArray<CodeunitRange>"),
      JSArray_Color: findType("JSArray<Color>"),
      JSArray_ComponentData: findType("JSArray<ComponentData>"),
      JSArray_Conic: findType("JSArray<Conic>"),
      JSArray_ContainerLayer: findType("JSArray<ContainerLayer0>"),
      JSArray_DataRow: findType("JSArray<DataRow>"),
      JSArray_DiagnosticsNode: findType("JSArray<DiagnosticsNode>"),
      JSArray_Directionality: findType("JSArray<Directionality>"),
      JSArray_Element: findType("JSArray<Element>"),
      JSArray_Element_2: findType("JSArray<Element0>"),
      JSArray_EngineLineMetrics: findType("JSArray<EngineLineMetrics>"),
      JSArray_ExrChannel: findType("JSArray<ExrChannel>"),
      JSArray_ExtensionEvent: findType("JSArray<ExtensionEvent>"),
      JSArray_FocusNode: findType("JSArray<FocusNode>"),
      JSArray_Frame: findType("JSArray<Frame>"),
      JSArray_FrameReference_dynamic: findType("JSArray<FrameReference<@>>"),
      JSArray_FrameTiming: findType("JSArray<FrameTiming>"),
      JSArray_Future_nullable_RegisteredFont: findType("JSArray<Future<RegisteredFont?>>"),
      JSArray_Future_void: findType("JSArray<Future<~>>"),
      JSArray_GestureArenaMember: findType("JSArray<GestureArenaMember>"),
      JSArray_GifImageDesc: findType("JSArray<GifImageDesc>"),
      JSArray_HTreeGroup: findType("JSArray<HTreeGroup>"),
      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: findType("JSArray<HitTestEntry>"),
      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_InternalExrPart: findType("JSArray<InternalExrPart>"),
      JSArray_Layer: findType("JSArray<Layer>"),
      JSArray_LayoutId: findType("JSArray<LayoutId>"),
      JSArray_LicenseEntry: findType("JSArray<LicenseEntry>"),
      JSArray_LineSegment: findType("JSArray<LineSegment>"),
      JSArray_List_String: findType("JSArray<List<String>>"),
      JSArray_List_int: findType("JSArray<List<int>>"),
      JSArray_Listenable: findType("JSArray<Listenable>"),
      JSArray_Locale: findType("JSArray<Locale>"),
      JSArray_LocalizationsDelegate_dynamic: findType("JSArray<LocalizationsDelegate<@>>"),
      JSArray_LogicalKeyboardKey: findType("JSArray<LogicalKeyboardKey>"),
      JSArray_Map_dynamic_dynamic: findType("JSArray<Map<@,@>>"),
      JSArray_Matrix4: findType("JSArray<Matrix40>"),
      JSArray_Matrix4_2: findType("JSArray<Matrix4>"),
      JSArray_Mutator: findType("JSArray<Mutator>"),
      JSArray_NavigatorObserver: findType("JSArray<NavigatorObserver>"),
      JSArray_Node: findType("JSArray<Node0>"),
      JSArray_NodeValidator: findType("JSArray<NodeValidator>"),
      JSArray_NotoFont: findType("JSArray<NotoFont>"),
      JSArray_Object: findType("JSArray<Object>"),
      JSArray_Offset: findType("JSArray<Offset>"),
      JSArray_OverlayEntry: findType("JSArray<OverlayEntry>"),
      JSArray_Override: findType("JSArray<Override>"),
      JSArray_PageStorageKey_dynamic: findType("JSArray<PageStorageKey<@>>"),
      JSArray_PaintCommand: findType("JSArray<PaintCommand>"),
      JSArray_ParagraphSpan: findType("JSArray<ParagraphSpan>"),
      JSArray_PersistedContainerSurface: findType("JSArray<PersistedContainerSurface>"),
      JSArray_PersistedSurface: findType("JSArray<PersistedSurface>"),
      JSArray_PlaceholderDimensions: findType("JSArray<PlaceholderDimensions>"),
      JSArray_PlaceholderSpan: findType("JSArray<PlaceholderSpan>"),
      JSArray_PngFrame: findType("JSArray<PngFrame>"),
      JSArray_PointerData: findType("JSArray<PointerData>"),
      JSArray_PointerEvent: findType("JSArray<PointerEvent>"),
      JSArray_PsdChannel: findType("JSArray<PsdChannel>"),
      JSArray_PsdEffect: findType("JSArray<PsdEffect>"),
      JSArray_PsdLayer: findType("JSArray<PsdLayer>"),
      JSArray_Radius: findType("JSArray<Radius>"),
      JSArray_RangeBox: findType("JSArray<RangeBox>"),
      JSArray_RegisteredFont: findType("JSArray<RegisteredFont>"),
      JSArray_RenderEditablePainter: findType("JSArray<RenderEditablePainter>"),
      JSArray_RenderObject: findType("JSArray<RenderObject>"),
      JSArray_RestorationBucket: findType("JSArray<RestorationBucket>"),
      JSArray_RouteTransitionRecord: findType("JSArray<RouteTransitionRecord>"),
      JSArray_ScrollPosition: findType("JSArray<ScrollPosition>"),
      JSArray_SemanticsNode: findType("JSArray<SemanticsNode>"),
      JSArray_SemanticsNodeUpdate: findType("JSArray<SemanticsNodeUpdate>"),
      JSArray_ShaderDeclaration: findType("JSArray<ShaderDeclaration>"),
      JSArray_ShaderMethod: findType("JSArray<ShaderMethod>"),
      JSArray_ShapeBorder: findType("JSArray<ShapeBorder>"),
      JSArray_SkDeletable: findType("JSArray<SkDeletable>"),
      JSArray_SkTextShadow: findType("JSArray<SkTextShadow>"),
      JSArray_SkTypeface: findType("JSArray<SkTypeface>"),
      JSArray_StreamSubscription_Event: findType("JSArray<StreamSubscription<Event0>>"),
      JSArray_String: findType("JSArray<String>"),
      JSArray_StyleNode: findType("JSArray<StyleNode>"),
      JSArray_TextBox: findType("JSArray<TextBox>"),
      JSArray_TextInputFormatter: findType("JSArray<TextInputFormatter>"),
      JSArray_TextSelectionPoint: findType("JSArray<TextSelectionPoint>"),
      JSArray_TextSpan: findType("JSArray<TextSpan>"),
      JSArray_TiffImage: findType("JSArray<TiffImage>"),
      JSArray_Trace: findType("JSArray<Trace>"),
      JSArray_Uint8List: findType("JSArray<Uint8List>"),
      JSArray_VP8FInfo: findType("JSArray<VP8FInfo>"),
      JSArray_VP8LTransform: findType("JSArray<VP8LTransform>"),
      JSArray_WebPFrame: findType("JSArray<WebPFrame>"),
      JSArray_Widget: findType("JSArray<Widget>"),
      JSArray_WidgetsBindingObserver: findType("JSArray<WidgetsBindingObserver>"),
      JSArray__ActivatorIntentPair: findType("JSArray<_ActivatorIntentPair>"),
      JSArray__AsyncBlock: findType("JSArray<_AsyncBlock>"),
      JSArray__BoxEdge: findType("JSArray<_BoxEdge>"),
      JSArray__CompactStyleBase: findType("JSArray<_CompactStyleBase>"),
      JSArray__DateFormatField: findType("JSArray<_DateFormatField>"),
      JSArray__DirectionalPolicyDataEntry: findType("JSArray<_DirectionalPolicyDataEntry>"),
      JSArray__Highlight: findType("JSArray<_Highlight>"),
      JSArray__InterestingSemanticsFragment: findType("JSArray<_InterestingSemanticsFragment>"),
      JSArray__JpegHuffman: findType("JSArray<_JpegHuffman>"),
      JSArray__Line: findType("JSArray<_Line>"),
      JSArray__PaintRequest: findType("JSArray<_PaintRequest>"),
      JSArray__ParagraphCommand: findType("JSArray<_ParagraphCommand>"),
      JSArray__ParentInkResponseState: findType("JSArray<_ParentInkResponseState>"),
      JSArray__Pending: findType("JSArray<_Pending>"),
      JSArray__PersistedSurfaceMatch: findType("JSArray<_PersistedSurfaceMatch>"),
      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__SaveClipEntry: findType("JSArray<_SaveClipEntry>"),
      JSArray__SaveElementStackEntry: findType("JSArray<_SaveElementStackEntry>"),
      JSArray__SaveStackEntry: findType("JSArray<_SaveStackEntry>"),
      JSArray__SemanticsSortGroup: findType("JSArray<_SemanticsSortGroup>"),
      JSArray__StandardBottomSheet: findType("JSArray<_StandardBottomSheet>"),
      JSArray__TableElementRow: findType("JSArray<_TableElementRow>"),
      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_legacy_AllocationSamples: findType("JSArray<AllocationSamples*>"),
      JSArray_legacy_AllocationStackTrace: findType("JSArray<AllocationStackTrace*>"),
      JSArray_legacy_AnalysisField: findType("JSArray<AnalysisField*>"),
      JSArray_legacy_AnalysisSnapshotReference: findType("JSArray<AnalysisSnapshotReference*>"),
      JSArray_legacy_AnimationStatus: findType("JSArray<AnimationStatus*>"),
      JSArray_legacy_AnsiUpColor: findType("JSArray<AnsiUpColor*>"),
      JSArray_legacy_AsyncTimelineEvent: findType("JSArray<AsyncTimelineEvent*>"),
      JSArray_legacy_BannerMessage: findType("JSArray<BannerMessage*>"),
      JSArray_legacy_BoundVariable: findType("JSArray<BoundVariable*>"),
      JSArray_legacy_BoxShadow: findType("JSArray<BoxShadow*>"),
      JSArray_legacy_Breakpoint: findType("JSArray<Breakpoint*>"),
      JSArray_legacy_BreakpointAndSourcePosition: findType("JSArray<BreakpointAndSourcePosition*>"),
      JSArray_legacy_CallGraphNode: findType("JSArray<CallGraphNode*>"),
      JSArray_legacy_ClassHeapDetailStats: findType("JSArray<ClassHeapDetailStats*>"),
      JSArray_legacy_ClassReference: findType("JSArray<ClassReference*>"),
      JSArray_legacy_Color: findType("JSArray<Color*>"),
      JSArray_legacy_ColumnData_legacy_AnalysisField: findType("JSArray<ColumnData<AnalysisField*>*>"),
      JSArray_legacy_ColumnData_legacy_CallGraphNode: findType("JSArray<ColumnData<CallGraphNode*>*>"),
      JSArray_legacy_ColumnData_legacy_ClassHeapDetailStats: findType("JSArray<ColumnData<ClassHeapDetailStats*>*>"),
      JSArray_legacy_ColumnData_legacy_DominatorTreeNode: findType("JSArray<ColumnData<DominatorTreeNode*>*>"),
      JSArray_legacy_ColumnData_legacy_FieldReference: findType("JSArray<ColumnData<FieldReference*>*>"),
      JSArray_legacy_ColumnData_legacy_InstanceRef: findType("JSArray<ColumnData<InstanceRef*>*>"),
      JSArray_legacy_ColumnData_legacy_Isolate: findType("JSArray<ColumnData<Isolate*>*>"),
      JSArray_legacy_ColumnData_legacy_LogData: findType("JSArray<ColumnData<LogData*>*>"),
      JSArray_legacy_ColumnData_legacy_NetworkRequest: findType("JSArray<ColumnData<NetworkRequest*>*>"),
      JSArray_legacy_ColumnData_legacy_Reference: findType("JSArray<ColumnData<Reference*>*>"),
      JSArray_legacy_ColumnData_legacy_String: findType("JSArray<ColumnData<String*>*>"),
      JSArray_legacy_ColumnData_legacy_Tracker: findType("JSArray<ColumnData<Tracker*>*>"),
      JSArray_legacy_ColumnData_legacy_VMTag: findType("JSArray<ColumnData<VMTag*>*>"),
      JSArray_legacy_ColumnData_legacy__DialogFlag: findType("JSArray<ColumnData<_DialogFlag*>*>"),
      JSArray_legacy_ConsoleLine: findType("JSArray<ConsoleLine*>"),
      JSArray_legacy_Container: findType("JSArray<Container*>"),
      JSArray_legacy_Cookie: findType("JSArray<Cookie*>"),
      JSArray_legacy_CpuStackFrame: findType("JSArray<CpuStackFrame*>"),
      JSArray_legacy_CrossAxisAlignment: findType("JSArray<CrossAxisAlignment*>"),
      JSArray_legacy_Data: findType("JSArray<Data*>"),
      JSArray_legacy_DataCell: findType("JSArray<DataCell*>"),
      JSArray_legacy_DataColumn: findType("JSArray<DataColumn*>"),
      JSArray_legacy_DataRow: findType("JSArray<DataRow*>"),
      JSArray_legacy_DataSearchStateMixin: findType("JSArray<DataSearchStateMixin*>"),
      JSArray_legacy_DevToolsScreen_dynamic: findType("JSArray<DevToolsScreen<@>*>"),
      JSArray_legacy_DiagnosticsNode: findType("JSArray<DiagnosticsNode*>"),
      JSArray_legacy_DominatorTreeNode: findType("JSArray<DominatorTreeNode*>"),
      JSArray_legacy_DropdownMenuItem_legacy_DiffTreeType: findType("JSArray<DropdownMenuItem<DiffTreeType*>*>"),
      JSArray_legacy_DropdownMenuItem_legacy_ExceptionMode: findType("JSArray<DropdownMenuItem<ExceptionMode*>*>"),
      JSArray_legacy_DropdownMenuItem_legacy_FlexFit: findType("JSArray<DropdownMenuItem<FlexFit*>*>"),
      JSArray_legacy_DropdownMenuItem_legacy_Object: findType("JSArray<DropdownMenuItem<Object*>*>"),
      JSArray_legacy_DropdownMenuItem_legacy_String: findType("JSArray<DropdownMenuItem<String*>*>"),
      JSArray_legacy_DropdownMenuItem_legacy_int: findType("JSArray<DropdownMenuItem<int*>*>"),
      JSArray_legacy_EventSample: findType("JSArray<EventSample*>"),
      JSArray_legacy_ExtensionEvent: findType("JSArray<ExtensionEvent*>"),
      JSArray_legacy_ExtensionState: findType("JSArray<ExtensionState*>"),
      JSArray_legacy_ExternalReference: findType("JSArray<ExternalReference*>"),
      JSArray_legacy_FieldReference: findType("JSArray<FieldReference*>"),
      JSArray_legacy_FileNode: findType("JSArray<FileNode*>"),
      JSArray_legacy_FlameChartRow_legacy_CpuStackFrame: findType("JSArray<FlameChartRow<CpuStackFrame*>*>"),
      JSArray_legacy_FlameChartRow_legacy_LegacyTimelineEvent: findType("JSArray<FlameChartRow<LegacyTimelineEvent*>*>"),
      JSArray_legacy_FlameChartRow_legacy_TimelineEvent: findType("JSArray<FlameChartRow<TimelineEvent0*>*>"),
      JSArray_legacy_FlameChartSection: findType("JSArray<FlameChartSection*>"),
      JSArray_legacy_FlutterFrame: findType("JSArray<FlutterFrame*>"),
      JSArray_legacy_Frame: findType("JSArray<Frame1*>"),
      JSArray_legacy_FreeSpaceVisualizerWidget: findType("JSArray<FreeSpaceVisualizerWidget*>"),
      JSArray_legacy_Future_dynamic: findType("JSArray<Future<@>*>"),
      JSArray_legacy_Future_legacy_Instance: findType("JSArray<Future<Instance*>*>"),
      JSArray_legacy_Future_legacy_InstanceDetails: findType("JSArray<Future<InstanceDetails*>*>"),
      JSArray_legacy_Future_legacy_Set_legacy_String: findType("JSArray<Future<Set<String*>*>*>"),
      JSArray_legacy_Future_legacy_bool: findType("JSArray<Future<bool*>*>"),
      JSArray_legacy_Future_void: findType("JSArray<Future<~>*>"),
      JSArray_legacy_HeapGraphElement: findType("JSArray<HeapGraphElement*>"),
      JSArray_legacy_HeapGraphElementLive: findType("JSArray<HeapGraphElementLive*>"),
      JSArray_legacy_HeapSample: findType("JSArray<HeapSample*>"),
      JSArray_legacy_HorizontalLineSegment: findType("JSArray<HorizontalLineSegment*>"),
      JSArray_legacy_HttpInstantEvent: findType("JSArray<HttpInstantEvent*>"),
      JSArray_legacy_HttpProfileRequest: findType("JSArray<HttpProfileRequest*>"),
      JSArray_legacy_HttpRequestData: findType("JSArray<HttpRequestData*>"),
      JSArray_legacy_InlineSpan: findType("JSArray<InlineSpan*>"),
      JSArray_legacy_InspectorTreeNode: findType("JSArray<InspectorTreeNode*>"),
      JSArray_legacy_InspectorTreeRow: findType("JSArray<InspectorTreeRow*>"),
      JSArray_legacy_InstanceRef: findType("JSArray<InstanceRef*>"),
      JSArray_legacy_Isolate: findType("JSArray<Isolate*>"),
      JSArray_legacy_LayoutProperties: findType("JSArray<LayoutProperties*>"),
      JSArray_legacy_LegacyAsyncTimelineEvent: findType("JSArray<LegacyAsyncTimelineEvent*>"),
      JSArray_legacy_LegacyFlutterFrame: findType("JSArray<LegacyFlutterFrame*>"),
      JSArray_legacy_LegacyTimelineEvent: findType("JSArray<LegacyTimelineEvent*>"),
      JSArray_legacy_LegacyTimelineRowData: findType("JSArray<LegacyTimelineRowData*>"),
      JSArray_legacy_LibraryFilter: findType("JSArray<LibraryFilter*>"),
      JSArray_legacy_LibraryRef: findType("JSArray<LibraryRef*>"),
      JSArray_legacy_ListTile: findType("JSArray<ListTile*>"),
      JSArray_legacy_List_legacy_AnsiUpColor: findType("JSArray<List<AnsiUpColor*>*>"),
      JSArray_legacy_List_legacy_LegacyTimelineEvent: findType("JSArray<List<LegacyTimelineEvent*>*>"),
      JSArray_legacy_List_legacy_List_legacy_List_legacy_int: findType("JSArray<List<List<List<int*>*>*>*>"),
      JSArray_legacy_List_legacy_List_legacy_int: findType("JSArray<List<List<int*>*>*>"),
      JSArray_legacy_List_legacy_TimelineEvent: findType("JSArray<List<TimelineEvent0*>*>"),
      JSArray_legacy_List_legacy_int: findType("JSArray<List<int*>*>"),
      JSArray_legacy_Listenable: findType("JSArray<Listenable*>"),
      JSArray_legacy_Locale: findType("JSArray<Locale*>"),
      JSArray_legacy_LogData: findType("JSArray<LogData*>"),
      JSArray_legacy_LogicalKeyboardKey: findType("JSArray<LogicalKeyboardKey*>"),
      JSArray_legacy_MapEntry_dynamic_dynamic: findType("JSArray<MapEntry<@,@>*>"),
      JSArray_legacy_MapEntry_of_legacy_String_and_legacy_HeapGraphElement: findType("JSArray<MapEntry<String*,HeapGraphElement*>*>"),
      JSArray_legacy_Map_of_legacy_String_and_dynamic: findType("JSArray<Map<String*,@>*>"),
      JSArray_legacy_Map_of_legacy_String_and_legacy_Object: findType("JSArray<Map<String*,Object*>*>"),
      JSArray_legacy_NavigationRailDestination: findType("JSArray<NavigationRailDestination*>"),
      JSArray_legacy_NetworkRequest: findType("JSArray<NetworkRequest*>"),
      JSArray_legacy_NotificationAction: findType("JSArray<NotificationAction*>"),
      JSArray_legacy_ObjRef: findType("JSArray<ObjRef*>"),
      JSArray_legacy_Object: findType("JSArray<Object*>"),
      JSArray_legacy_OverlayEntry: findType("JSArray<OverlayEntry*>"),
      JSArray_legacy_Page_dynamic: findType("JSArray<Page<@>*>"),
      JSArray_legacy_PathToProperty: findType("JSArray<PathToProperty*>"),
      JSArray_legacy_PopupMenuEntry_legacy_ScriptPopupMenuOption: findType("JSArray<PopupMenuEntry<ScriptPopupMenuOption*>*>"),
      JSArray_legacy_PositionedCell: findType("JSArray<PositionedCell*>"),
      JSArray_legacy_PreferredSizeWidget: findType("JSArray<PreferredSizeWidget*>"),
      JSArray_legacy_ProgramInfoNode: findType("JSArray<ProgramInfoNode*>"),
      JSArray_legacy_RecordedTimelineStream: findType("JSArray<RecordedTimelineStream*>"),
      JSArray_legacy_Reference: findType("JSArray<Reference*>"),
      JSArray_legacy_RemoteDiagnosticsNode: findType("JSArray<RemoteDiagnosticsNode*>"),
      JSArray_legacy_RenderProperties: findType("JSArray<RenderProperties*>"),
      JSArray_legacy_Row: findType("JSArray<Row*>"),
      JSArray_legacy_ScopeSpan: findType("JSArray<ScopeSpan*>"),
      JSArray_legacy_Screen: findType("JSArray<Screen*>"),
      JSArray_legacy_ScriptRef: findType("JSArray<ScriptRef*>"),
      JSArray_legacy_SemanticsNode: findType("JSArray<SemanticsNode*>"),
      JSArray_legacy_Snapshot: findType("JSArray<Snapshot0*>"),
      JSArray_legacy_SocketStatistic: findType("JSArray<SocketStatistic*>"),
      JSArray_legacy_SourcePosition: findType("JSArray<SourcePosition*>"),
      JSArray_legacy_SourceToken: findType("JSArray<SourceToken*>"),
      JSArray_legacy_StackFrameAndSourcePosition: findType("JSArray<StackFrameAndSourcePosition*>"),
      JSArray_legacy_StreamSubscription_dynamic: findType("JSArray<StreamSubscription<@>*>"),
      JSArray_legacy_String: findType("JSArray<String*>"),
      JSArray_legacy_Tab: findType("JSArray<Tab*>"),
      JSArray_legacy_TargetPlatform: findType("JSArray<TargetPlatform*>"),
      JSArray_legacy_TextInputFormatter: findType("JSArray<TextInputFormatter*>"),
      JSArray_legacy_TextSpan: findType("JSArray<TextSpan*>"),
      JSArray_legacy_TimelineEvent: findType("JSArray<TimelineEvent0*>"),
      JSArray_legacy_TimelineRowData: findType("JSArray<TimelineRowData*>"),
      JSArray_legacy_ToggleableServiceExtensionDescription_dynamic: findType("JSArray<ToggleableServiceExtensionDescription<@>*>"),
      JSArray_legacy_Trace: findType("JSArray<Trace0*>"),
      JSArray_legacy_TraceEvent: findType("JSArray<TraceEvent*>"),
      JSArray_legacy_TraceEventWrapper: findType("JSArray<TraceEventWrapper*>"),
      JSArray_legacy_Tracker: findType("JSArray<Tracker*>"),
      JSArray_legacy_TreemapNode: findType("JSArray<TreemapNode*>"),
      JSArray_legacy_VMTag: findType("JSArray<VMTag*>"),
      JSArray_legacy_Variable: findType("JSArray<Variable*>"),
      JSArray_legacy_VerticalLineSegment: findType("JSArray<VerticalLineSegment*>"),
      JSArray_legacy_Widget: findType("JSArray<Widget*>"),
      JSArray_legacy_XTypeGroup: findType("JSArray<XTypeGroup*>"),
      JSArray_legacy__CpuProfileTimelineTree: findType("JSArray<_CpuProfileTimelineTree*>"),
      JSArray_legacy__DfsState: findType("JSArray<_DfsState*>"),
      JSArray_legacy__DialogFlag: findType("JSArray<_DialogFlag*>"),
      JSArray_legacy__LinkedScrollActivity: findType("JSArray<_LinkedScrollActivity*>"),
      JSArray_legacy__LinkedScrollController: findType("JSArray<_LinkedScrollController*>"),
      JSArray_legacy__Matcher: findType("JSArray<_Matcher*>"),
      JSArray_legacy__Notification: findType("JSArray<_Notification*>"),
      JSArray_legacy_bool: findType("JSArray<bool*>"),
      JSArray_legacy_double: findType("JSArray<double*>"),
      JSArray_legacy_int: findType("JSArray<int*>"),
      JSArray_nullable_JpegFrame: findType("JSArray<JpegFrame?>"),
      JSArray_nullable_List_dynamic: findType("JSArray<List<@>?>"),
      JSArray_nullable_LogicalKeyboardKey: findType("JSArray<LogicalKeyboardKey?>"),
      JSArray_nullable_MeasurementResult: findType("JSArray<MeasurementResult?>"),
      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_String: findType("JSArray<String?>"),
      JSArray_nullable_Uint32List: findType("JSArray<Uint32List?>"),
      JSArray_nullable_int: findType("JSArray<int?>"),
      JSArray_num: findType("JSArray<num>"),
      JSArray_of_Future_bool_Function: findType("JSArray<Future<bool>()>"),
      JSArray_of_Stream_LicenseEntry_Function: findType("JSArray<Stream<LicenseEntry>()>"),
      JSArray_of__DateFormatField_Function_String_DateFormat: findType("JSArray<_DateFormatField(String,DateFormat)>"),
      JSArray_of_legacy_legacy_Future_void_Function: findType("JSArray<Future<~>*()*>"),
      JSArray_of_legacy_void_Function: findType("JSArray<~()*>"),
      JSArray_of_legacy_void_Function_legacy_InputBuffer: findType("JSArray<~(InputBuffer*)*>"),
      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_List_FrameTiming: findType("JSArray<~(List<FrameTiming>)>"),
      JSIndexable_dynamic: findType("JSIndexable<@>"),
      JSNull: findType("JSNull"),
      JSObject: findType("JSObject"),
      JavaScriptFunction: findType("JavaScriptFunction"),
      JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
      JpegComponent: findType("JpegComponent"),
      JsArray_dynamic: findType("JsArray<@>"),
      JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap<Symbol0,@>"),
      KeepAliveParentDataMixin: findType("KeepAliveParentDataMixin"),
      Key: findType("Key"),
      KeyRange: findType("KeyRange"),
      KeyboardEvent: findType("KeyboardEvent"),
      KeyboardSide: findType("KeyboardSide"),
      LabeledGlobalKey_DrawerControllerState: findType("LabeledGlobalKey<DrawerControllerState>"),
      LabeledGlobalKey_EditableTextState: findType("LabeledGlobalKey<EditableTextState>"),
      LabeledGlobalKey_OverlayState: findType("LabeledGlobalKey<OverlayState>"),
      LabeledGlobalKey_RawGestureDetectorState: findType("LabeledGlobalKey<RawGestureDetectorState>"),
      LabeledGlobalKey_State_StatefulWidget: findType("LabeledGlobalKey<State<StatefulWidget>>"),
      LabeledGlobalKey__OverlayEntryWidgetState: findType("LabeledGlobalKey<_OverlayEntryWidgetState>"),
      LabeledGlobalKey_legacy_NavigatorState: findType("LabeledGlobalKey<NavigatorState*>"),
      LabeledGlobalKey_legacy_RawGestureDetectorState: findType("LabeledGlobalKey<RawGestureDetectorState*>"),
      LabeledGlobalKey_legacy_State_legacy_StatefulWidget: findType("LabeledGlobalKey<State<StatefulWidget*>*>"),
      Layer: findType("Layer"),
      LayerScene: findType("LayerScene"),
      LeaderLayer: findType("LeaderLayer"),
      LibraryDependency: findType("LibraryDependency"),
      LibraryRef: findType("LibraryRef"),
      LicenseEntry: findType("LicenseEntry"),
      LinkedHashMap_MouseTrackerAnnotation_Matrix4: findType("LinkedHashMap<MouseTrackerAnnotation,Matrix4>"),
      LinkedHashSet_ChildBackButtonDispatcher: findType("LinkedHashSet<ChildBackButtonDispatcher>"),
      LinkedList__ListenerEntry: findType("LinkedList<_ListenerEntry>"),
      LinkedList__ListenerEntry_legacy_String: findType("LinkedList<_ListenerEntry0<String*>>"),
      ListBodyParentData: findType("ListBodyParentData"),
      ListEquality_dynamic: findType("ListEquality<@>"),
      ListTileTheme: findType("ListTileTheme"),
      ListValueNotifier_legacy_LogData: findType("ListValueNotifier<LogData*>"),
      ListValueNotifier_legacy_NetworkRequest: findType("ListValueNotifier<NetworkRequest*>"),
      List_CodeunitRange: findType("List<CodeunitRange>"),
      List_Element: findType("List<Element0>"),
      List_FrameTiming: findType("List<FrameTiming>"),
      List_Int32List: findType("List<Int32List>"),
      List_LicenseEntry: findType("List<LicenseEntry>"),
      List_Object: findType("List<Object>"),
      List_RestorationBucket: findType("List<RestorationBucket>"),
      List_SemanticsNode: findType("List<SemanticsNode>"),
      List_SkTypeface: findType("List<SkTypeface>"),
      List_String: findType("List<String>"),
      List_VP8BandProbas: findType("List<VP8BandProbas>"),
      List_VP8FInfo: findType("List<VP8FInfo>"),
      List_XFile: findType("List<XFile>"),
      List__ActivatorIntentPair: findType("List<_ActivatorIntentPair>"),
      List__RouteEntry: findType("List<_RouteEntry>"),
      List_dynamic: findType("List<@>"),
      List_int: findType("List<int>"),
      List_nullable_MeasurementResult: findType("List<MeasurementResult?>"),
      List_nullable_Object: findType("List<Object?>"),
      Listenable: findType("Listenable"),
      LocalKey: findType("LocalKey"),
      Locale: findType("Locale"),
      LocalizationsDelegate_dynamic: findType("LocalizationsDelegate<@>"),
      Logger: findType("Logger"),
      LogicalKeyboardKey: findType("LogicalKeyboardKey"),
      MapAssociation: findType("MapAssociation"),
      MapEntry_dynamic_dynamic: findType("MapEntry<@,@>"),
      MapEntry_of_legacy_String_and_legacy_DevToolsError: findType("MapEntry<String*,DevToolsError*>"),
      MapEntry_of_legacy_String_and_legacy_HeapGraphElement: findType("MapEntry<String*,HeapGraphElement*>"),
      MapEntry_of_legacy_String_and_legacy_InspectableWidgetError: findType("MapEntry<String*,InspectableWidgetError*>"),
      MapEntry_of_nullable_String_and_List_Object: findType("MapEntry<String?,List<Object>>"),
      MapEquality_dynamic_dynamic: findType("MapEquality<@,@>"),
      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_Element_and_GlobalKey_State_StatefulWidget: findType("Map<Element0,GlobalKey<State<StatefulWidget>>>"),
      Map_of_nullable_Object_and_nullable_Object: findType("Map<Object?,Object?>"),
      Map_of_void_Function_PointerEvent_and_nullable_Matrix4: findType("Map<~(PointerEvent0),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_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_legacy_ConsoleLine: findType("MappedListIterable<String,ConsoleLine*>"),
      MappedListIterable_of_String_and_legacy_String: findType("MappedListIterable<String,String*>"),
      MappedListIterable_of_legacy_BoundVariable_and_legacy_Variable: findType("MappedListIterable<BoundVariable*,Variable*>"),
      MappedListIterable_of_legacy_String_and_String: findType("MappedListIterable<String*,String>"),
      MappedListIterable_of_legacy_String_and_legacy_DropdownMenuItem_legacy_String: findType("MappedListIterable<String*,DropdownMenuItem<String*>*>"),
      MappedListIterable_of_legacy_String_and_legacy_Future_Null: findType("MappedListIterable<String*,Future<Null>*>"),
      MappedListIterable_of_legacy_TargetPlatform_and_nullable_PageTransitionsBuilder: findType("MappedListIterable<TargetPlatform*,PageTransitionsBuilder?>"),
      MappedListIterable_of_legacy_TraceEvent_and_legacy_HttpInstantEvent: findType("MappedListIterable<TraceEvent*,HttpInstantEvent*>"),
      MaterialLocalizations: findType("MaterialLocalizations"),
      MaterialRouteTransitionMixin_dynamic: findType("MaterialRouteTransitionMixin<@>"),
      MaterialState: findType("MaterialState"),
      MaterialTapTargetSize: findType("MaterialTapTargetSize"),
      Matrix4: findType("Matrix4"),
      MediaQuery: findType("MediaQuery"),
      MediaQueryListEvent: findType("MediaQueryListEvent"),
      MemoryUsage: findType("MemoryUsage"),
      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"),
      NativeByteBuffer: findType("NativeByteBuffer"),
      NativeTypedArrayOfDouble: findType("NativeTypedArrayOfDouble"),
      NativeTypedArrayOfInt: findType("NativeTypedArrayOfInt"),
      NativeTypedData: findType("NativeTypedData"),
      NativeUint8List: findType("NativeUint8List"),
      NavigationRailTheme: findType("NavigationRailTheme"),
      NavigatorState: findType("NavigatorState"),
      Nested: findType("Nested"),
      Node: findType("Node0"),
      NotificationListener_KeepAliveNotification: findType("NotificationListener<KeepAliveNotification>"),
      NotificationListener_LayoutChangedNotification: findType("NotificationListener<LayoutChangedNotification>"),
      NotificationListener_ScrollNotification: findType("NotificationListener<ScrollNotification>"),
      NotificationListener_ScrollUpdateNotification: findType("NotificationListener<ScrollUpdateNotification>"),
      NotoFont: findType("NotoFont"),
      Null: findType("Null"),
      NullValRef: findType("NullValRef"),
      Obj: findType("Obj"),
      ObjRef: findType("ObjRef"),
      Object: findType("Object"),
      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"),
      Offstage: findType("Offstage"),
      OpenFileRef: findType("OpenFileRef"),
      OutlinedButtonTheme: findType("OutlinedButtonTheme"),
      OverlayEntry: findType("OverlayEntry"),
      OverlayState: findType("OverlayState"),
      PageStorage: findType("PageStorage"),
      PageStorageKey_legacy_InspectorTreeNode: findType("PageStorageKey<InspectorTreeNode*>"),
      PageStorageKey_legacy_String: findType("PageStorageKey<String*>"),
      Paint: findType("Paint"),
      ParagraphGeometricStyle: findType("ParagraphGeometricStyle"),
      ParagraphRuler: findType("ParagraphRuler"),
      ParentDataWidget_KeepAliveParentDataMixin: findType("ParentDataWidget<KeepAliveParentDataMixin>"),
      Path: findType("Path"),
      PathRef: findType("PathRef"),
      Pattern: findType("Pattern"),
      PermissionStatus: findType("PermissionStatus"),
      PersistedContainerSurface: findType("PersistedContainerSurface"),
      PersistedScene: findType("PersistedScene"),
      PersistedSurface: findType("PersistedSurface"),
      PhysicalKeyboardKey: findType("PhysicalKeyboardKey"),
      PlaceholderDimensions: findType("PlaceholderDimensions"),
      Point_num: findType("Point<num>"),
      PointerAddedEvent: findType("PointerAddedEvent"),
      PointerCancelEvent: findType("PointerCancelEvent"),
      PointerDataPacket: findType("PointerDataPacket"),
      PointerDeviceKind: findType("PointerDeviceKind"),
      PointerDownEvent: findType("PointerDownEvent"),
      PointerEvent: findType("PointerEvent"),
      PointerEventResampler: findType("PointerEventResampler"),
      PointerEvent_2: findType("PointerEvent0"),
      PointerHoverEvent: findType("PointerHoverEvent"),
      PointerMoveEvent: findType("PointerMoveEvent"),
      PointerRemovedEvent: findType("PointerRemovedEvent"),
      PointerScrollEvent: findType("PointerScrollEvent"),
      PointerSignalEvent: findType("PointerSignalEvent"),
      PointerUpEvent: findType("PointerUpEvent"),
      PoolResource: findType("PoolResource"),
      PopupMenuTheme: findType("PopupMenuTheme"),
      PortList: findType("PortList"),
      PreferredSizeWidget: findType("PreferredSizeWidget"),
      PresentationConnection: findType("PresentationConnection"),
      PrimaryScrollController: findType("PrimaryScrollController"),
      ProcessMemoryItem: findType("ProcessMemoryItem"),
      ProfileFunction: findType("ProfileFunction"),
      ProgressEvent: findType("ProgressEvent"),
      ProgressIndicatorTheme: findType("ProgressIndicatorTheme"),
      Protocol: findType("Protocol"),
      ProviderBase_dynamic_dynamic: findType("ProviderBase<@,@>"),
      ProviderContainer: findType("ProviderContainer"),
      ProviderElement_dynamic_dynamic: findType("ProviderElement<@,@>"),
      ProviderListener_legacy_bool: findType("ProviderListener<bool*>"),
      ProviderObserver: findType("ProviderObserver"),
      ProviderSubscription_dynamic: findType("ProviderSubscription<@>"),
      ProxyWidget: findType("ProxyWidget"),
      PsdChannel: findType("PsdChannel"),
      PsdImageResource: findType("PsdImageResource"),
      PsdLayerAdditionalData: findType("PsdLayerAdditionalData"),
      PsdLayerData: findType("PsdLayerData"),
      QueueList_Result_Event: findType("QueueList<Result0<Event>>"),
      RawScrollbar: findType("RawScrollbar"),
      Rect: findType("Rect"),
      Rectangle_num: findType("Rectangle<num>"),
      RegExp: findType("RegExp"),
      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>"),
      RenderSemanticsGestureHandler: findType("RenderSemanticsGestureHandler"),
      RenderSliver: findType("RenderSliver"),
      RenderSliverMultiBoxAdaptor: findType("RenderSliverMultiBoxAdaptor"),
      RenderTable: findType("RenderTable"),
      RenderViewport: findType("RenderViewport"),
      Response: findType("Response0"),
      Response_2: findType("Response"),
      RestorableNum_int: findType("RestorableNum<int>"),
      RestorableProperty_nullable_Object: findType("RestorableProperty<Object?>"),
      RestorationBucket: findType("RestorationBucket"),
      RetainingObject: findType("RetainingObject"),
      ReverseTween_nullable_Rect: findType("ReverseTween<Rect?>"),
      ReversedListIterable_Widget: findType("ReversedListIterable<Widget>"),
      ReversedListIterable__SemanticsSortGroup: findType("ReversedListIterable<_SemanticsSortGroup>"),
      ReversedListIterable_legacy_String: findType("ReversedListIterable<String*>"),
      ReversedListIterable_legacy_TreemapNode: findType("ReversedListIterable<TreemapNode*>"),
      Role: findType("Role"),
      RoundedDropDownButton_legacy_ExceptionMode: findType("RoundedDropDownButton<ExceptionMode*>"),
      RoundedDropDownButton_legacy_String: findType("RoundedDropDownButton<String*>"),
      RoutePopDisposition: findType("RoutePopDisposition"),
      RouteTransitionRecord: findType("RouteTransitionRecord"),
      Route_dynamic_Function_2_BuildContext_and_nullable_Object: findType("Route<@>(BuildContext,Object?)"),
      Router_Object: findType("Router<Object>"),
      Runes: findType("Runes"),
      ScaffoldFeatureController_SnackBar_SnackBarClosedReason: findType("ScaffoldFeatureController<SnackBar,SnackBarClosedReason>"),
      ScaffoldState: findType("ScaffoldState"),
      ScriptElement: findType("ScriptElement0"),
      ScriptList: findType("ScriptList"),
      ScriptRef: findType("ScriptRef"),
      ScrollAwareImageProvider_Object: findType("ScrollAwareImageProvider<Object>"),
      ScrollConfiguration: findType("ScrollConfiguration"),
      ScrollNotificationObserverState: findType("ScrollNotificationObserverState"),
      ScrollPosition: findType("ScrollPosition"),
      ScrollbarPainter: findType("ScrollbarPainter"),
      Selection_legacy_Reference: findType("Selection<Reference*>"),
      Selection_legacy_Tracker: findType("Selection<Tracker*>"),
      SemanticsAction: findType("SemanticsAction"),
      SemanticsNode: findType("SemanticsNode"),
      SemanticsObject: findType("SemanticsObject"),
      SemanticsTag: findType("SemanticsTag"),
      ServiceExtensionResponse: findType("ServiceExtensionResponse"),
      SetEquality_dynamic: findType("SetEquality<@>"),
      Set_String: findType("Set<String>"),
      Set_dynamic: findType("Set<@>"),
      ShapeBorder: findType("ShapeBorder"),
      ShapeBorderClipper: findType("ShapeBorderClipper"),
      SingleChildRenderObjectWidget: findType("SingleChildRenderObjectWidget"),
      SingleChildStatelessWidget: findType("SingleChildStatelessWidget"),
      Size: findType("Size"),
      SkiaObjectBox_CkImage_SkImage: findType("SkiaObjectBox<CkImage,SkImage>"),
      SkipWhileIterable_String: findType("SkipWhileIterable<String>"),
      SliverConstraints: findType("SliverConstraints"),
      SliverLogicalParentData: findType("SliverLogicalParentData"),
      SliverMultiBoxAdaptorElement: findType("SliverMultiBoxAdaptorElement"),
      SliverMultiBoxAdaptorParentData: findType("SliverMultiBoxAdaptorParentData"),
      SliverMultiBoxAdaptorWidget: findType("SliverMultiBoxAdaptorWidget"),
      SliverPhysicalParentData: findType("SliverPhysicalParentData"),
      SocketProfile: findType("SocketProfile"),
      SocketProfilingState: findType("SocketProfilingState"),
      SocketStatistic: findType("SocketStatistic"),
      SourceDropdownMenuItem_legacy_String: findType("SourceDropdownMenuItem<String*>"),
      SourceLocation: findType("SourceLocation"),
      SourceReport: findType("SourceReport"),
      SourceReportRange: findType("SourceReportRange"),
      SourceSpan: findType("SourceSpan"),
      SourceSpanWithContext: findType("SourceSpanWithContext"),
      SpanElement: findType("SpanElement"),
      SpawnedProcessRef: findType("SpawnedProcessRef"),
      Stack: findType("Stack0"),
      StackParentData: findType("StackParentData"),
      StackTrace: findType("StackTrace"),
      StateController_legacy_String: findType("StateController<String*>"),
      StatefulElement: findType("StatefulElement"),
      StatefulWidget: findType("StatefulWidget"),
      StatelessWidget: findType("StatelessWidget"),
      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"),
      SubListIterable_String: findType("SubListIterable<String>"),
      Success: findType("Success"),
      Surface: findType("Surface"),
      SurfacePaint: findType("SurfacePaint"),
      SurfacePath: findType("SurfacePath"),
      SurfaceScene: findType("SurfaceScene"),
      SvgElement: findType("SvgElement"),
      SynchronousFuture_AssetBundleImageKey: findType("SynchronousFuture<AssetBundleImageKey>"),
      SynchronousFuture_CupertinoLocalizations: findType("SynchronousFuture<CupertinoLocalizations>"),
      SynchronousFuture_Map_Type_dynamic: findType("SynchronousFuture<Map<Type,@>>"),
      SynchronousFuture_MaterialLocalizations: findType("SynchronousFuture<MaterialLocalizations>"),
      SynchronousFuture_MemoryImage: findType("SynchronousFuture<MemoryImage>"),
      SynchronousFuture_WidgetsLocalizations: findType("SynchronousFuture<WidgetsLocalizations>"),
      SynchronousFuture_bool: findType("SynchronousFuture<bool>"),
      SynchronousFuture_legacy_DevToolsRouteConfiguration: findType("SynchronousFuture<DevToolsRouteConfiguration*>"),
      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"),
      TemplateElement: findType("TemplateElement"),
      TextAreaElement: findType("TextAreaElement"),
      TextBaseline: findType("TextBaseline"),
      TextButtonTheme: findType("TextButtonTheme"),
      TextEditingActionTarget: findType("TextEditingActionTarget"),
      TextPainter: findType("TextPainter"),
      TextParentData: findType("TextParentData"),
      TextSelectionTheme: findType("TextSelectionTheme"),
      TextStyle: findType("TextStyle"),
      ThemeData: findType("ThemeData"),
      ThemeDataTween: findType("ThemeDataTween"),
      TiffEntry: findType("TiffEntry"),
      Timeline: findType("Timeline"),
      TimelineEvent: findType("TimelineEvent"),
      TimelineFlags: findType("TimelineFlags"),
      Timer: findType("Timer"),
      Timestamp: findType("Timestamp"),
      ToggleButtonsTheme: findType("ToggleButtonsTheme"),
      TooltipTheme: findType("TooltipTheme"),
      TouchEvent: findType("TouchEvent"),
      Trace: findType("Trace"),
      TreeView_legacy_FileNode: findType("TreeView<FileNode*>"),
      TreeView_legacy_Variable: findType("TreeView<Variable*>"),
      TweenAnimationBuilder_legacy_double: findType("TweenAnimationBuilder<double*>"),
      Tween_Offset: findType("Tween<Offset>"),
      Tween_double: findType("Tween<double>"),
      Tween_legacy_double: findType("Tween<double*>"),
      Type: findType("Type"),
      TypeArgumentsRef: findType("TypeArgumentsRef"),
      TypedData: findType("TypedData"),
      Uint32List: findType("Uint32List"),
      Uint8List: findType("Uint8List"),
      UncontrolledProviderScope: findType("UncontrolledProviderScope"),
      UnknownJavaScriptObject: findType("UnknownJavaScriptObject"),
      UnmanagedRestorationScope: findType("UnmanagedRestorationScope"),
      UnmodifiableListView_Event: findType("UnmodifiableListView<Event>"),
      UnmodifiableListView_HttpProfileRequestEvent: findType("UnmodifiableListView<HttpProfileRequestEvent>"),
      UnmodifiableListView_Map_String_dynamic: findType("UnmodifiableListView<Map<String,@>>"),
      UnmodifiableListView_String: findType("UnmodifiableListView<String>"),
      UnmodifiableListView_legacy_InstanceRef: findType("UnmodifiableListView<InstanceRef*>"),
      UnmodifiableListView_legacy_Isolate: findType("UnmodifiableListView<Isolate*>"),
      UnmodifiableListView_legacy_VMTag: findType("UnmodifiableListView<VMTag*>"),
      UnmodifiableMapView_String_Logger: findType("UnmodifiableMapView<String,Logger>"),
      UnmodifiableMapView_String_String: findType("UnmodifiableMapView<String,String>"),
      UnmodifiableMapView_String_dynamic: findType("UnmodifiableMapView<String,@>"),
      Uri: findType("Uri"),
      VM: findType("VM"),
      VP8BandProbas: findType("VP8BandProbas"),
      VP8MB: findType("VP8MB"),
      VP8MBData: findType("VP8MBData"),
      VP8TopSamples: findType("VP8TopSamples"),
      ValueKey_Key: findType("ValueKey<Key>"),
      ValueKey_Object: findType("ValueKey<Object>"),
      ValueKey_String: findType("ValueKey<String>"),
      ValueKey_int: findType("ValueKey<int>"),
      ValueKey_legacy_CallGraphNode: findType("ValueKey<CallGraphNode*>"),
      ValueKey_legacy_CrossFadeState: findType("ValueKey<CrossFadeState*>"),
      ValueKey_legacy_InstancePath: findType("ValueKey<InstancePath*>"),
      ValueKey_legacy_LogData: findType("ValueKey<LogData*>"),
      ValueKey_legacy_NetworkRequest: findType("ValueKey<NetworkRequest*>"),
      ValueKey_legacy_String: findType("ValueKey<String*>"),
      ValueKey_nullable_int: findType("ValueKey<int?>"),
      ValueNotifier_bool: findType("ValueNotifier<bool>"),
      ValueNotifier_legacy_AnalysisInstance: findType("ValueNotifier<AnalysisInstance*>"),
      ValueNotifier_legacy_BreakpointAndSourcePosition: findType("ValueNotifier<BreakpointAndSourcePosition*>"),
      ValueNotifier_legacy_CallGraphNode: findType("ValueNotifier<CallGraphNode*>"),
      ValueNotifier_legacy_ChartInterval: findType("ValueNotifier<ChartInterval*>"),
      ValueNotifier_legacy_ClassHeapDetailStats: findType("ValueNotifier<ClassHeapDetailStats*>"),
      ValueNotifier_legacy_ConnectedState: findType("ValueNotifier<ConnectedState*>"),
      ValueNotifier_legacy_CpuProfileData: findType("ValueNotifier<CpuProfileData*>"),
      ValueNotifier_legacy_CpuStackFrame: findType("ValueNotifier<CpuStackFrame*>"),
      ValueNotifier_legacy_DataSearchStateMixin: findType("ValueNotifier<DataSearchStateMixin*>"),
      ValueNotifier_legacy_DateTime: findType("ValueNotifier<DateTime*>"),
      ValueNotifier_legacy_DevToolsJsonFile: findType("ValueNotifier<DevToolsJsonFile*>"),
      ValueNotifier_legacy_DiffTreeType: findType("ValueNotifier<DiffTreeType*>"),
      ValueNotifier_legacy_Event: findType("ValueNotifier<Event*>"),
      ValueNotifier_legacy_Flag: findType("ValueNotifier<Flag*>"),
      ValueNotifier_legacy_FlagList: findType("ValueNotifier<FlagList*>"),
      ValueNotifier_legacy_FlutterFrame: findType("ValueNotifier<FlutterFrame*>"),
      ValueNotifier_legacy_FlutterVersion: findType("ValueNotifier<FlutterVersion*>"),
      ValueNotifier_legacy_HeapGraphElementLive: findType("ValueNotifier<HeapGraphElementLive*>"),
      ValueNotifier_legacy_HeapSample: findType("ValueNotifier<HeapSample*>"),
      ValueNotifier_legacy_InspectorTreeNode: findType("ValueNotifier<InspectorTreeNode*>"),
      ValueNotifier_legacy_InstanceRef: findType("ValueNotifier<InstanceRef*>"),
      ValueNotifier_legacy_IsolateRef: findType("ValueNotifier<IsolateRef*>"),
      ValueNotifier_legacy_LegacyFlutterFrame: findType("ValueNotifier<LegacyFlutterFrame*>"),
      ValueNotifier_legacy_LegacyTimelineEvent: findType("ValueNotifier<LegacyTimelineEvent*>"),
      ValueNotifier_legacy_LinkedHashMap_of_legacy_String_and_legacy_DevToolsError: findType("ValueNotifier<LinkedHashMap<String*,DevToolsError*>*>"),
      ValueNotifier_legacy_List_legacy_BannerMessage: findType("ValueNotifier<List<BannerMessage*>*>"),
      ValueNotifier_legacy_List_legacy_Breakpoint: findType("ValueNotifier<List<Breakpoint*>*>"),
      ValueNotifier_legacy_List_legacy_BreakpointAndSourcePosition: findType("ValueNotifier<List<BreakpointAndSourcePosition*>*>"),
      ValueNotifier_legacy_List_legacy_ConsoleLine: findType("ValueNotifier<List<ConsoleLine*>*>"),
      ValueNotifier_legacy_List_legacy_CpuStackFrame: findType("ValueNotifier<List<CpuStackFrame*>*>"),
      ValueNotifier_legacy_List_legacy_DataSearchStateMixin: findType("ValueNotifier<List<DataSearchStateMixin*>*>"),
      ValueNotifier_legacy_List_legacy_FlutterFrame: findType("ValueNotifier<List<FlutterFrame*>*>"),
      ValueNotifier_legacy_List_legacy_LegacyFlutterFrame: findType("ValueNotifier<List<LegacyFlutterFrame*>*>"),
      ValueNotifier_legacy_List_legacy_LegacyTimelineEvent: findType("ValueNotifier<List<LegacyTimelineEvent*>*>"),
      ValueNotifier_legacy_List_legacy_LogData: findType("ValueNotifier<List<LogData*>*>"),
      ValueNotifier_legacy_List_legacy_NetworkRequest: findType("ValueNotifier<List<NetworkRequest*>*>"),
      ValueNotifier_legacy_List_legacy_ScriptRef: findType("ValueNotifier<List<ScriptRef*>*>"),
      ValueNotifier_legacy_List_legacy_SourceToken: findType("ValueNotifier<List<SourceToken*>*>"),
      ValueNotifier_legacy_List_legacy_StackFrameAndSourcePosition: findType("ValueNotifier<List<StackFrameAndSourcePosition*>*>"),
      ValueNotifier_legacy_List_legacy_String: findType("ValueNotifier<List<String*>*>"),
      ValueNotifier_legacy_List_legacy_TimelineEvent: findType("ValueNotifier<List<TimelineEvent0*>*>"),
      ValueNotifier_legacy_List_legacy_Variable: findType("ValueNotifier<List<Variable*>*>"),
      ValueNotifier_legacy_LogData: findType("ValueNotifier<LogData*>"),
      ValueNotifier_legacy_NetworkRequest: findType("ValueNotifier<NetworkRequest*>"),
      ValueNotifier_legacy_NetworkRequests: findType("ValueNotifier<NetworkRequests*>"),
      ValueNotifier_legacy_ParsedScript: findType("ValueNotifier<ParsedScript*>"),
      ValueNotifier_legacy_QueryFilter_dynamic: findType("ValueNotifier<QueryFilter<@>*>"),
      ValueNotifier_legacy_ScriptLocation: findType("ValueNotifier<ScriptLocation*>"),
      ValueNotifier_legacy_ScriptRef: findType("ValueNotifier<ScriptRef*>"),
      ValueNotifier_legacy_Selection_legacy_Reference: findType("ValueNotifier<Selection<Reference*>*>"),
      ValueNotifier_legacy_Selection_legacy_Tracker: findType("ValueNotifier<Selection<Tracker*>*>"),
      ValueNotifier_legacy_ServiceExtensionState: findType("ValueNotifier<ServiceExtensionState*>"),
      ValueNotifier_legacy_SourceToken: findType("ValueNotifier<SourceToken*>"),
      ValueNotifier_legacy_StackFrameAndSourcePosition: findType("ValueNotifier<StackFrameAndSourcePosition*>"),
      ValueNotifier_legacy_String: findType("ValueNotifier<String*>"),
      ValueNotifier_legacy_TapLocation: findType("ValueNotifier<TapLocation*>"),
      ValueNotifier_legacy_TimelineEvent: findType("ValueNotifier<TimelineEvent0*>"),
      ValueNotifier_legacy_TraceNotifier: findType("ValueNotifier<TraceNotifier*>"),
      ValueNotifier_legacy_TreemapNode: findType("ValueNotifier<TreemapNode*>"),
      ValueNotifier_legacy_Variable: findType("ValueNotifier<Variable*>"),
      ValueNotifier_legacy_bool: findType("ValueNotifier<bool*>"),
      ValueNotifier_legacy_double: findType("ValueNotifier<double*>"),
      ValueNotifier_legacy_int: findType("ValueNotifier<int*>"),
      ValueNotifier_nullable_String: findType("ValueNotifier<String?>"),
      ValueProvider_dynamic_dynamic: findType("ValueProvider<@,@>"),
      VelocityTracker: findType("VelocityTracker"),
      Version: findType("Version"),
      ViewClipChain: findType("ViewClipChain"),
      Viewport: findType("Viewport"),
      VisualDensity: findType("VisualDensity"),
      WheelEvent: findType("WheelEvent"),
      WhereIterable_String: findType("WhereIterable<String>"),
      WhereTypeIterable_StackFrame: findType("WhereTypeIterable<StackFrame>"),
      WhereTypeIterable_String: findType("WhereTypeIterable<String>"),
      WhereTypeIterable_nullable_MetaElement: findType("WhereTypeIterable<MetaElement?>"),
      WhereTypeIterable_of_void_Function_2_Object_and_nullable_StackTrace: findType("WhereTypeIterable<~(Object,StackTrace?)>"),
      WhereTypeIterator_FocusScopeNode: findType("WhereTypeIterator<FocusScopeNode>"),
      Widget: findType("Widget"),
      WidgetsBindingObserver: findType("WidgetsBindingObserver"),
      WidgetsLocalizations: findType("WidgetsLocalizations"),
      Window: findType("Window"),
      WorkerGlobalScope: findType("WorkerGlobalScope"),
      WrapParentData: findType("WrapParentData"),
      XFile: findType("XFile"),
      _ActionsMarker: findType("_ActionsMarker"),
      _AsyncCompleter_AssetBundleImageKey: findType("_AsyncCompleter<AssetBundleImageKey>"),
      _AsyncCompleter_FrameInfo: findType("_AsyncCompleter<FrameInfo>"),
      _AsyncCompleter_HeapSnapshotGraph: findType("_AsyncCompleter<HeapSnapshotGraph>"),
      _AsyncCompleter_HttpRequest: findType("_AsyncCompleter<HttpRequest>"),
      _AsyncCompleter_List_LicenseEntry: findType("_AsyncCompleter<List<LicenseEntry>>"),
      _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_bool: findType("_AsyncCompleter<bool>"),
      _AsyncCompleter_dynamic: findType("_AsyncCompleter<@>"),
      _AsyncCompleter_legacy_AnalyticsProvider: findType("_AsyncCompleter<AnalyticsProvider*>"),
      _AsyncCompleter_legacy_FlutterVersion: findType("_AsyncCompleter<FlutterVersion*>"),
      _AsyncCompleter_legacy_LibraryRef: findType("_AsyncCompleter<LibraryRef*>"),
      _AsyncCompleter_legacy_VmService: findType("_AsyncCompleter<VmService*>"),
      _AsyncCompleter_legacy_VmServiceWrapper: findType("_AsyncCompleter<VmServiceWrapper*>"),
      _AsyncCompleter_legacy_bool: findType("_AsyncCompleter<bool*>"),
      _AsyncCompleter_nullable_ByteData: findType("_AsyncCompleter<ByteData?>"),
      _AsyncCompleter_nullable_RestorationBucket: findType("_AsyncCompleter<RestorationBucket?>"),
      _AsyncCompleter_void: findType("_AsyncCompleter<~>"),
      _Attr: findType("_Attr"),
      _AutofillScope: findType("_AutofillScope"),
      _ButtonSanitizer: findType("_ButtonSanitizer"),
      _CachedImage: findType("_CachedImage"),
      _ChildNodeListLazy: findType("_ChildNodeListLazy"),
      _DecorationSlot: findType("_DecorationSlot"),
      _Decorator: findType("_Decorator"),
      _DirectionalPolicyData: findType("_DirectionalPolicyData"),
      _DoubleLinkedQueueEntry_ProviderElement_dynamic_dynamic: findType("_DoubleLinkedQueueEntry<ProviderElement<@,@>>"),
      _DoubleLinkedQueueSentinel_ProviderElement_dynamic_dynamic: findType("_DoubleLinkedQueueSentinel<ProviderElement<@,@>>"),
      _EffectiveTickerMode: findType("_EffectiveTickerMode"),
      _ElementEventStreamImpl_legacy_Event: findType("_ElementEventStreamImpl<Event0*>"),
      _ElementEventStreamImpl_legacy_KeyboardEvent: findType("_ElementEventStreamImpl<KeyboardEvent*>"),
      _ElementEventStreamImpl_legacy_MouseEvent: findType("_ElementEventStreamImpl<MouseEvent*>"),
      _EventRequest_dynamic: findType("_EventRequest<@>"),
      _EventStream_legacy_CloseEvent: findType("_EventStream<CloseEvent*>"),
      _EventStream_legacy_Event: findType("_EventStream<Event0*>"),
      _EventStream_legacy_ProgressEvent: findType("_EventStream<ProgressEvent*>"),
      _FocusMarker: findType("_FocusMarker"),
      _FocusTraversalGroupInfo: findType("_FocusTraversalGroupInfo"),
      _FocusTraversalGroupMarker: findType("_FocusTraversalGroupMarker"),
      _FrameCallbackEntry: findType("_FrameCallbackEntry"),
      _FrozenElementList_Element: findType("_FrozenElementList<Element>"),
      _FrozenElementList_legacy_Element: findType("_FrozenElementList<Element*>"),
      _Future_AssetBundleImageKey: findType("_Future<AssetBundleImageKey>"),
      _Future_FrameInfo: findType("_Future<FrameInfo>"),
      _Future_HeapSnapshotGraph: findType("_Future<HeapSnapshotGraph>"),
      _Future_HttpRequest: findType("_Future<HttpRequest>"),
      _Future_List_LicenseEntry: findType("_Future<List<LicenseEntry>>"),
      _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_bool: findType("_Future<bool>"),
      _Future_dynamic: findType("_Future<@>"),
      _Future_int: findType("_Future<int>"),
      _Future_legacy_AnalyticsProvider: findType("_Future<AnalyticsProvider*>"),
      _Future_legacy_FlutterVersion: findType("_Future<FlutterVersion*>"),
      _Future_legacy_LibraryRef: findType("_Future<LibraryRef*>"),
      _Future_legacy_VmService: findType("_Future<VmService*>"),
      _Future_legacy_VmServiceWrapper: findType("_Future<VmServiceWrapper*>"),
      _Future_legacy_bool: findType("_Future<bool*>"),
      _Future_nullable_ByteData: findType("_Future<ByteData?>"),
      _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"),
      _InheritedTheme: findType("_InheritedTheme"),
      _InterestingSemanticsFragment: findType("_InterestingSemanticsFragment"),
      _IntrinsicDimensionsCacheEntry: findType("_IntrinsicDimensionsCacheEntry"),
      _LinkedListEntry_AutoDisposeProviderElement_dynamic_dynamic: findType("_LinkedListEntry<AutoDisposeProviderElement<@,@>>"),
      _ListTile: findType("_ListTile"),
      _ListTileSlot: findType("_ListTileSlot"),
      _ListenerEntry: findType("_ListenerEntry"),
      _LiveImage: findType("_LiveImage"),
      _LocalizationsScope: findType("_LocalizationsScope"),
      _MapEntry: findType("_MapEntry"),
      _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_TextStyle: findType("_MaterialStatePropertyAll<TextStyle?>"),
      _MaterialStatePropertyWith_Color: findType("_MaterialStatePropertyWith<Color>"),
      _MaterialStatePropertyWith_MouseCursor: findType("_MaterialStatePropertyWith<MouseCursor0>"),
      _MaterialStatePropertyWith_double: findType("_MaterialStatePropertyWith<double>"),
      _MaterialStatePropertyWith_legacy_EdgeInsets: findType("_MaterialStatePropertyWith<EdgeInsets*>"),
      _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"),
      _RenderDecoration: findType("_RenderDecoration"),
      _RenderInkFeatures: findType("_RenderInkFeatures"),
      _RenderListTile: findType("_RenderListTile"),
      _RenderOverflowBar: findType("_RenderOverflowBar"),
      _RenderTheatre: findType("_RenderTheatre"),
      _ResolvedNotoSubset: findType("_ResolvedNotoSubset"),
      _RouteEntry: findType("_RouteEntry"),
      _RouterScope: findType("_RouterScope"),
      _SaveClipEntry: findType("_SaveClipEntry"),
      _ScaffoldMessengerScope: findType("_ScaffoldMessengerScope"),
      _ScrollNotificationObserverScope: findType("_ScrollNotificationObserverScope"),
      _ScrollableScope: findType("_ScrollableScope"),
      _StoredMessage: findType("_StoredMessage"),
      _SyncCompleter_PoolResource: findType("_SyncCompleter<PoolResource>"),
      _SyncCompleter_dynamic: findType("_SyncCompleter<@>"),
      _TabControllerScope: findType("_TabControllerScope"),
      _TapTracker: findType("_TapTracker"),
      _Theatre: findType("_Theatre"),
      _UnmodifiableSet_legacy_MaterialState: findType("_UnmodifiableSet<MaterialState*>"),
      _UnmodifiableSet_legacy_String: findType("_UnmodifiableSet<String*>"),
      _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_2_Never_and_Never: findType("@(0&,0&)"),
      dynamic_Function_Event: findType("@(Event0)"),
      dynamic_Function_Object: findType("@(Object)"),
      dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"),
      dynamic_Function_dynamic_dynamic: findType("@(@,@)"),
      int: findType("int"),
      legacy_Action_legacy_Intent: findType("Action<Intent*>*"),
      legacy_AdbMemoryInfo: findType("AdbMemoryInfo*"),
      legacy_AllocationProfile: findType("AllocationProfile*"),
      legacy_AnalysisField: findType("AnalysisField*"),
      legacy_AnalyticsProvider: findType("AnalyticsProvider*"),
      legacy_AppSizeController: findType("AppSizeController*"),
      legacy_AssertionError: findType("AssertionError*"),
      legacy_AsyncTimelineEvent: findType("AsyncTimelineEvent*"),
      legacy_AsyncValue_legacy_InstanceDetails: findType("AsyncValue<InstanceDetails*>*"),
      legacy_AsyncValue_legacy_List_legacy_ProviderNode: findType("AsyncValue<List<ProviderNode*>*>*"),
      legacy_AsyncValue_void: findType("AsyncValue<~>*"),
      legacy_AutoComplete: findType("AutoComplete*"),
      legacy_AutoCompleteSearchControllerMixin: findType("AutoCompleteSearchControllerMixin*"),
      legacy_BannerMessagesController: findType("BannerMessagesController*"),
      legacy_Breakpoint: findType("Breakpoint*"),
      legacy_BreakpointAndSourcePosition: findType("BreakpointAndSourcePosition*"),
      legacy_Bucket: findType("Bucket*"),
      legacy_BusEvent: findType("BusEvent*"),
      legacy_CallGraphNode: findType("CallGraphNode*"),
      legacy_CheckboxListTile: findType("CheckboxListTile*"),
      legacy_Class: findType("Class*"),
      legacy_ClassHeapDetailStats: findType("ClassHeapDetailStats*"),
      legacy_ClassRef: findType("ClassRef*"),
      legacy_ClassReference: findType("ClassReference*"),
      legacy_Color: findType("Color*"),
      legacy_ColumnData_legacy_CpuStackFrame: findType("ColumnData<CpuStackFrame*>*"),
      legacy_ColumnData_legacy_TreemapNode: findType("ColumnData<TreemapNode*>*"),
      legacy_ColumnRenderer_dynamic: findType("ColumnRenderer<@>*"),
      legacy_Completer_dynamic: findType("Completer<@>*"),
      legacy_Completer_legacy_bool: findType("Completer<bool*>*"),
      legacy_ConnectVmEvent: findType("ConnectVmEvent*"),
      legacy_ConnectedState: findType("ConnectedState*"),
      legacy_Cookie: findType("Cookie*"),
      legacy_CpuProfileData: findType("CpuProfileData*"),
      legacy_CpuSamples: findType("CpuSamples*"),
      legacy_CpuStackFrame: findType("CpuStackFrame*"),
      legacy_CustomIcon: findType("CustomIcon*"),
      legacy_DartIOHttpRequestData: findType("DartIOHttpRequestData*"),
      legacy_DebuggerController: findType("DebuggerController*"),
      legacy_DevToolsError: findType("DevToolsError*"),
      legacy_DevToolsJsonFile: findType("DevToolsJsonFile*"),
      legacy_DevToolsRouteConfiguration: findType("DevToolsRouteConfiguration*"),
      legacy_DevToolsServerConnection: findType("DevToolsServerConnection*"),
      legacy_DevToolsSurvey: findType("DevToolsSurvey*"),
      legacy_DiffTreeType: findType("DiffTreeType*"),
      legacy_DominatorTreeNode: findType("DominatorTreeNode*"),
      legacy_DragAndDropState: findType("DragAndDropState*"),
      legacy_Edge: findType("Edge*"),
      legacy_EnumInstance: findType("EnumInstance*"),
      legacy_Error: findType("Error0*"),
      legacy_ErrorRef: findType("ErrorRef*"),
      legacy_EvalOnDartLibrary: findType("EvalOnDartLibrary*"),
      legacy_Event: findType("Event0*"),
      legacy_Event_2: findType("Event*"),
      legacy_Exception: findType("Exception*"),
      legacy_ExternalReference: findType("ExternalReference*"),
      legacy_FieldReference: findType("FieldReference*"),
      legacy_FileNode: findType("FileNode*"),
      legacy_FilterArgument: findType("FilterArgument*"),
      legacy_Flag: findType("Flag*"),
      legacy_FlagList: findType("FlagList*"),
      legacy_FlameChartNode_legacy_FlameChartDataMixin_dynamic: findType("FlameChartNode<FlameChartDataMixin<@>*>*"),
      legacy_FlexFit: findType("FlexFit*"),
      legacy_FlexLayoutProperties: findType("FlexLayoutProperties*"),
      legacy_FlutterFrame: findType("FlutterFrame*"),
      legacy_FlutterVersion: findType("FlutterVersion*"),
      legacy_FormatException: findType("FormatException*"),
      legacy_FuncRef: findType("FuncRef*"),
      legacy_Function: findType("Function*"),
      legacy_FutureOr_legacy_EvalOnDartLibrary: findType("EvalOnDartLibrary*/*"),
      legacy_FutureOr_legacy_InstanceDetails: findType("InstanceDetails*/*"),
      legacy_Future_legacy_BreakpointAndSourcePosition: findType("Future<BreakpointAndSourcePosition*>*"),
      legacy_Future_legacy_EvalOnDartLibrary: findType("Future<EvalOnDartLibrary*>*"),
      legacy_Future_legacy_InstanceDetails: findType("Future<InstanceDetails*>*"),
      legacy_Future_legacy_Isolate: findType("Future<Isolate*>*"),
      legacy_Future_legacy_List_legacy_String: findType("Future<List<String*>*>*"),
      legacy_Future_legacy_ProviderNode: findType("Future<ProviderNode*>*"),
      legacy_Future_legacy_Script: findType("Future<Script*>*"),
      legacy_Future_legacy_Set_legacy_String: findType("Future<Set<String*>*>*"),
      legacy_Future_legacy_Success: findType("Future<Success*>*"),
      legacy_Future_legacy_VmServiceWrapper: findType("Future<VmServiceWrapper*>*"),
      legacy_Future_void: findType("Future<~>*"),
      legacy_GestureRecognizerFactory_legacy_GestureRecognizer: findType("GestureRecognizerFactory<GestureRecognizer*>*"),
      legacy_HeapGraphClassLive: findType("HeapGraphClassLive*"),
      legacy_HeapGraphElementLive: findType("HeapGraphElementLive*"),
      legacy_HeapGraphExternalLive: findType("HeapGraphExternalLive*"),
      legacy_HeapSnapshotGraph: findType("HeapSnapshotGraph*"),
      legacy_HorizontalLineSegment: findType("HorizontalLineSegment*"),
      legacy_HttpProfile: findType("HttpProfile*"),
      legacy_HttpProfileRequest: findType("HttpProfileRequest*"),
      legacy_HttpRequest: findType("HttpRequest*"),
      legacy_HttpRequestData: findType("HttpRequestData*"),
      legacy_HttpTimelineLoggingState: findType("HttpTimelineLoggingState*"),
      legacy_ImageSizesForFrame: findType("ImageSizesForFrame*"),
      legacy_ImmediateValueNotifier_legacy_bool: findType("ImmediateValueNotifier<bool*>*"),
      legacy_ImportController: findType("ImportController*"),
      legacy_InspectableWidgetError: findType("InspectableWidgetError*"),
      legacy_InspectorControllerClient: findType("InspectorControllerClient*"),
      legacy_InspectorInstanceRef: findType("InspectorInstanceRef*"),
      legacy_InspectorService: findType("InspectorService*"),
      legacy_InspectorServiceClient: findType("InspectorServiceClient*"),
      legacy_InspectorTreeNode: findType("InspectorTreeNode*"),
      legacy_Instance: findType("Instance*"),
      legacy_InstanceDetails: findType("InstanceDetails*"),
      legacy_InstancePath: findType("InstancePath*"),
      legacy_InstanceRef: findType("InstanceRef*"),
      legacy_Intent: findType("Intent*"),
      legacy_Isolate: findType("Isolate*"),
      legacy_IsolateRef: findType("IsolateRef*"),
      legacy_Key: findType("Key*"),
      legacy_KeyboardEvent: findType("KeyboardEvent*"),
      legacy_LayoutProperties: findType("LayoutProperties*"),
      legacy_LegacyAsyncTimelineEvent: findType("LegacyAsyncTimelineEvent*"),
      legacy_LegacyFlutterFrame: findType("LegacyFlutterFrame*"),
      legacy_LegacyPerformanceController: findType("LegacyPerformanceController*"),
      legacy_LegacySyncTimelineEvent: findType("LegacySyncTimelineEvent*"),
      legacy_LegacyTimelineEvent: findType("LegacyTimelineEvent*"),
      legacy_LegacyTimelineEventGroup: findType("LegacyTimelineEventGroup*"),
      legacy_Library: findType("Library*"),
      legacy_LibraryClass: findType("LibraryClass*"),
      legacy_LibraryRef: findType("LibraryRef*"),
      legacy_LibraryReference: findType("LibraryReference*"),
      legacy_LinkedHashMap_of_legacy_String_and_legacy_DevToolsError: findType("LinkedHashMap<String*,DevToolsError*>*"),
      legacy_ListIndexPath: findType("ListIndexPath*"),
      legacy_List_dynamic: findType("List<@>*"),
      legacy_List_legacy_BannerMessage: findType("List<BannerMessage*>*"),
      legacy_List_legacy_BreakpointAndSourcePosition: findType("List<BreakpointAndSourcePosition*>*"),
      legacy_List_legacy_ClassHeapDetailStats: findType("List<ClassHeapDetailStats*>*"),
      legacy_List_legacy_DataSearchStateMixin: findType("List<DataSearchStateMixin*>*"),
      legacy_List_legacy_FlutterFrame: findType("List<FlutterFrame*>*"),
      legacy_List_legacy_HttpProfileRequest: findType("List<HttpProfileRequest*>*"),
      legacy_List_legacy_LegacyFlutterFrame: findType("List<LegacyFlutterFrame*>*"),
      legacy_List_legacy_LibraryFilter: findType("List<LibraryFilter*>*"),
      legacy_List_legacy_Map_of_legacy_String_and_legacy_Object: findType("List<Map<String*,Object*>*>*"),
      legacy_List_legacy_NetworkRequest: findType("List<NetworkRequest*>*"),
      legacy_List_legacy_ObjectField: findType("List<ObjectField*>*"),
      legacy_List_legacy_PathToProperty: findType("List<PathToProperty*>*"),
      legacy_List_legacy_ProviderNode: findType("List<ProviderNode*>*"),
      legacy_List_legacy_Reference: findType("List<Reference*>*"),
      legacy_List_legacy_RemoteDiagnosticsNode: findType("List<RemoteDiagnosticsNode*>*"),
      legacy_List_legacy_ScriptRef: findType("List<ScriptRef*>*"),
      legacy_List_legacy_SocketStatistic: findType("List<SocketStatistic*>*"),
      legacy_List_legacy_SourcePosition: findType("List<SourcePosition*>*"),
      legacy_List_legacy_StackFrameAndSourcePosition: findType("List<StackFrameAndSourcePosition*>*"),
      legacy_List_legacy_String: findType("List<String*>*"),
      legacy_List_legacy_Variable: findType("List<Variable*>*"),
      legacy_List_legacy__Matcher: findType("List<_Matcher*>*"),
      legacy_List_legacy_int: findType("List<int*>*"),
      legacy_List_of_legacy_legacy_Future_void_Function: findType("List<Future<~>*()*>*"),
      legacy_LogData: findType("LogData*"),
      legacy_LoggingController: findType("LoggingController*"),
      legacy_LogicalKeySet: findType("LogicalKeySet*"),
      legacy_MapEntry_of_legacy_String_and_legacy_DevToolsError: findType("MapEntry<String*,DevToolsError*>*"),
      legacy_MapKeyPath: findType("MapKeyPath*"),
      legacy_Map_of_legacy_ClassRef_and_legacy_CpuSamples: findType("Map<ClassRef*,CpuSamples*>*"),
      legacy_Map_of_legacy_String_and_dynamic: findType("Map<String*,@>*"),
      legacy_Map_of_legacy_String_and_legacy_Object: findType("Map<String*,Object*>*"),
      legacy_MemoryController: findType("MemoryController*"),
      legacy_MemoryTracker: findType("MemoryTracker*"),
      legacy_MemoryUsage: findType("MemoryUsage*"),
      legacy_MessageEvent: findType("MessageEvent*"),
      legacy_NetworkController: findType("NetworkController*"),
      legacy_NetworkRequest: findType("NetworkRequest*"),
      legacy_NetworkRequests: findType("NetworkRequests*"),
      legacy_Never: findType("0&*"),
      legacy_Node: findType("Node*"),
      legacy_Obj: findType("Obj*"),
      legacy_Object: findType("Object*"),
      legacy_ObjectField: findType("ObjectField*"),
      legacy_ObjectReference: findType("ObjectReference*"),
      legacy_PageChangeEvent: findType("PageChangeEvent*"),
      legacy_ParsedScript: findType("ParsedScript*"),
      legacy_PathToProperty: findType("PathToProperty*"),
      legacy_PerformanceController: findType("PerformanceController*"),
      legacy_PointAndBase: findType("PointAndBase*"),
      legacy_PointerScrollEvent: findType("PointerScrollEvent*"),
      legacy_PortList: findType("PortList*"),
      legacy_ProfilerScreenController: findType("ProfilerScreenController*"),
      legacy_ProgramInfoNode: findType("ProgramInfoNode*"),
      legacy_ProgressEvent: findType("ProgressEvent*"),
      legacy_PropertyPath: findType("PropertyPath*"),
      legacy_ProviderNode: findType("ProviderNode*"),
      legacy_Range: findType("Range*"),
      legacy_RasterCache: findType("RasterCache*"),
      legacy_Reference: findType("Reference*"),
      legacy_RegExp: findType("RegExp*"),
      legacy_RemoteDiagnosticsNode: findType("RemoteDiagnosticsNode*"),
      legacy_RenderIgnorePointer: findType("RenderIgnorePointer*"),
      legacy_RenderProperties: findType("RenderProperties*"),
      legacy_Response: findType("Response0*"),
      legacy_RichText: findType("RichText*"),
      legacy_ScopeSpan: findType("ScopeSpan*"),
      legacy_Script: findType("Script*"),
      legacy_ScriptList: findType("ScriptList*"),
      legacy_ScriptPopupMenuOption: findType("ScriptPopupMenuOption*"),
      legacy_ScriptRef: findType("ScriptRef*"),
      legacy_ServiceExtensionState: findType("ServiceExtensionState*"),
      legacy_Set_legacy_HeapGraphClassLive: findType("Set<HeapGraphClassLive*>*"),
      legacy_Set_legacy_HeapGraphElementLive: findType("Set<HeapGraphElementLive*>*"),
      legacy_Set_legacy_String: findType("Set<String*>*"),
      legacy_SocketProfile: findType("SocketProfile*"),
      legacy_SocketProfilingState: findType("SocketProfilingState*"),
      legacy_SourceReport: findType("SourceReport*"),
      legacy_SourceToken: findType("SourceToken*"),
      legacy_Stack: findType("Stack0*"),
      legacy_StackFrameAndSourcePosition: findType("StackFrameAndSourcePosition*"),
      legacy_StateController_legacy_AsyncValue_legacy_List_legacy_ProviderNode: findType("StateController<AsyncValue<List<ProviderNode*>*>*>*"),
      legacy_StateController_legacy_String: findType("StateController<String*>*"),
      legacy_StateController_legacy_bool: findType("StateController<bool*>*"),
      legacy_State_legacy_StatefulWidget: findType("State<StatefulWidget*>*"),
      legacy_String: findType("String*"),
      legacy_StyledText: findType("StyledText*"),
      legacy_Success: findType("Success*"),
      legacy_SyncTimelineEvent: findType("SyncTimelineEvent*"),
      legacy_TextSpan: findType("TextSpan*"),
      legacy_TextStyle: findType("TextStyle*"),
      legacy_TimeRange: findType("TimeRange*"),
      legacy_Timeline: findType("Timeline*"),
      legacy_TimelineEvent: findType("TimelineEvent0*"),
      legacy_TimelineEventGroup: findType("TimelineEventGroup*"),
      legacy_TimelineFlags: findType("TimelineFlags*"),
      legacy_TimelineHttpRequestData: findType("TimelineHttpRequestData*"),
      legacy_Timestamp: findType("Timestamp*"),
      legacy_TraceEvent: findType("TraceEvent*"),
      legacy_TrackedFuture_legacy_Object: findType("TrackedFuture<Object*>*"),
      legacy_Tracker: findType("Tracker*"),
      legacy_TreemapNode: findType("TreemapNode*"),
      legacy_Type: findType("Type*"),
      legacy_TypeArgumentsRef: findType("TypeArgumentsRef*"),
      legacy_Uri: findType("Uri*"),
      legacy_VM: findType("VM*"),
      legacy_VMDeveloperToolsController: findType("VMDeveloperToolsController*"),
      legacy_VMTag: findType("VMTag*"),
      legacy_ValueKey_legacy_String: findType("ValueKey<String*>*"),
      legacy_ValueNotifier_legacy_Flag: findType("ValueNotifier<Flag*>*"),
      legacy_ValueNotifier_legacy_LinkedHashMap_of_legacy_String_and_legacy_DevToolsError: findType("ValueNotifier<LinkedHashMap<String*,DevToolsError*>*>*"),
      legacy_ValueNotifier_legacy_List_legacy_BannerMessage: findType("ValueNotifier<List<BannerMessage*>*>*"),
      legacy_ValueNotifier_legacy_ServiceExtensionState: findType("ValueNotifier<ServiceExtensionState*>*"),
      legacy_ValueNotifier_legacy_bool: findType("ValueNotifier<bool*>*"),
      legacy_ValueNotifier_legacy_int: findType("ValueNotifier<int*>*"),
      legacy_Variable: findType("Variable*"),
      legacy_Version: findType("Version*"),
      legacy_VerticalLineSegment: findType("VerticalLineSegment*"),
      legacy_VmServiceWrapper: findType("VmServiceWrapper*"),
      legacy_WebSocket: findType("WebSocket*"),
      legacy_Widget: findType("Widget*"),
      legacy__DialogFlag: findType("_DialogFlag*"),
      legacy__InheritedNotifications: findType("_InheritedNotifications*"),
      legacy__InstancePathFromInstanceId: findType("_InstancePathFromInstanceId*"),
      legacy__InstancePathFromProviderId: findType("_InstancePathFromProviderId*"),
      legacy__LinkedScrollActivity: findType("_LinkedScrollActivity*"),
      legacy__LinkedScrollPosition: findType("_LinkedScrollPosition*"),
      legacy__Matcher: findType("_Matcher*"),
      legacy__StackInfo: findType("_StackInfo*"),
      legacy_bool: findType("bool*"),
      legacy_double: findType("double*"),
      legacy_int: findType("int*"),
      legacy_legacy_Widget_Function_3_legacy_BuildContext_and_legacy_String_and_legacy_Map_of_legacy_String_and_legacy_String: findType("Widget*(BuildContext*,String*,Map<String*,String*>*)*"),
      nullable_AlignmentGeometryTween: findType("AlignmentGeometryTween?"),
      nullable_BitmapCanvas: findType("BitmapCanvas?"),
      nullable_Border: findType("Border?"),
      nullable_BorderDirectional: findType("BorderDirectional?"),
      nullable_BorderRadius: findType("BorderRadius?"),
      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_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_DecorationTween: findType("DecorationTween?"),
      nullable_Directionality: findType("Directionality?"),
      nullable_EdgeInsetsGeometry: findType("EdgeInsetsGeometry?"),
      nullable_EdgeInsetsGeometryTween: findType("EdgeInsetsGeometryTween?"),
      nullable_Element: findType("Element0?"),
      nullable_EngineStrutStyle: findType("EngineStrutStyle?"),
      nullable_Error: findType("Error?"),
      nullable_ErrorRef: findType("ErrorRef?"),
      nullable_Event: findType("Event?"),
      nullable_FieldRef: findType("FieldRef?"),
      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_HeroControllerScope: findType("HeroControllerScope?"),
      nullable_HorizontalDragGestureRecognizer: findType("HorizontalDragGestureRecognizer?"),
      nullable_InkHighlight: findType("InkHighlight?"),
      nullable_InstanceRef: findType("InstanceRef?"),
      nullable_Int16List: findType("Int16List?"),
      nullable_IsolateRef: findType("IsolateRef?"),
      nullable_Key: findType("Key?"),
      nullable_LibraryRef: findType("LibraryRef?"),
      nullable_List_dynamic: findType("List<@>?"),
      nullable_LogRecord: findType("LogRecord?"),
      nullable_LogicalKeyboardKey: findType("LogicalKeyboardKey?"),
      nullable_LongPressGestureRecognizer: findType("LongPressGestureRecognizer?"),
      nullable_Map_String_Object: findType("Map<String,Object>?"),
      nullable_Map_of_String_and_List_String: findType("Map<String,List<String>>?"),
      nullable_Map_of_nullable_Object_and_nullable_Object: findType("Map<Object?,Object?>?"),
      nullable_Matrix4: findType("Matrix4?"),
      nullable_Matrix4Tween: findType("Matrix4Tween?"),
      nullable_MemoryUsage: findType("MemoryUsage?"),
      nullable_MetaElement: findType("MetaElement?"),
      nullable_MouseCursor: findType("MouseCursor0?"),
      nullable_Node: findType("Node0?"),
      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_PersistedPhysicalShape: findType("PersistedPhysicalShape?"),
      nullable_PersistedSurface: findType("PersistedSurface?"),
      nullable_PersistedTransform: findType("PersistedTransform?"),
      nullable_PhysicalModelLayer: findType("PhysicalModelLayer?"),
      nullable_PhysicalShapeEngineLayer: findType("PhysicalShapeEngineLayer0?"),
      nullable_PipelineOwner: findType("PipelineOwner?"),
      nullable_ProcessMemoryItem: findType("ProcessMemoryItem?"),
      nullable_RegisteredFont: findType("RegisteredFont?"),
      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_Result_Event: findType("Result0<Event>?"),
      nullable_RoleManager: findType("RoleManager?"),
      nullable_RouteTransitionRecord: findType("RouteTransitionRecord?"),
      nullable_ScriptRef: findType("ScriptRef?"),
      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_SkDeletable: findType("SkDeletable?"),
      nullable_SliverMultiBoxAdaptorParentData: findType("SliverMultiBoxAdaptorParentData?"),
      nullable_SourceLocation: findType("SourceLocation0?"),
      nullable_StatefulElement: findType("StatefulElement?"),
      nullable_String: findType("String?"),
      nullable_SurfacePaint: findType("SurfacePaint?"),
      nullable_TapGestureRecognizer: findType("TapGestureRecognizer?"),
      nullable_TextStyle: findType("TextStyle?"),
      nullable_TextStyleTween: findType("TextStyleTween?"),
      nullable_TransformEngineLayer: findType("TransformEngineLayer0?"),
      nullable_Tween_double: findType("Tween<double>?"),
      nullable_TypeArgumentsRef: findType("TypeArgumentsRef?"),
      nullable_Uint8List: findType("Uint8List?"),
      nullable_UncontrolledProviderScope: findType("UncontrolledProviderScope?"),
      nullable_Uri: findType("Uri?"),
      nullable_VMRef: findType("VMRef?"),
      nullable_VP8BitReader: findType("VP8BitReader?"),
      nullable_VP8FInfo: findType("VP8FInfo?"),
      nullable_VP8QuantMatrix: findType("VP8QuantMatrix?"),
      nullable_VerticalDragGestureRecognizer: findType("VerticalDragGestureRecognizer?"),
      nullable_XFile: findType("XFile?"),
      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_AnimationStatus: findType("~(AnimationStatus)"),
      void_Function_Duration: findType("~(Duration)"),
      void_Function_FocusHighlightMode: findType("~(FocusHighlightMode)"),
      void_Function_List_FrameTiming: findType("~(List<FrameTiming>)"),
      void_Function_Object: findType("~(Object)"),
      void_Function_Object_StackTrace: findType("~(Object,StackTrace)"),
      void_Function_PointerEvent: findType("~(PointerEvent0)"),
      void_Function_RawKeyEvent: findType("~(RawKeyEvent)"),
      void_Function_nullable_Object: findType("~(Object?)")
    };
  })();
  (function constants() {
    var makeConstList = hunkHelpers.makeConstList;
    C.BodyElement_methods = W.BodyElement.prototype;
    C.CanvasElement_methods = W.CanvasElement.prototype;
    C.CanvasRenderingContext2D_methods = W.CanvasRenderingContext2D.prototype;
    C.CssStyleDeclaration_methods = W.CssStyleDeclaration.prototype;
    C.DivElement_methods = W.DivElement.prototype;
    C.EventSource_methods = W.EventSource.prototype;
    C.FileList_methods = W.FileList.prototype;
    C.FileReader_methods = W.FileReader.prototype;
    C.FormElement_methods = W.FormElement.prototype;
    C.HttpRequest_methods = W.HttpRequest.prototype;
    C.ImageElement_methods = W.ImageElement.prototype;
    C.InputElement_methods = W.InputElement.prototype;
    C.Interceptor_methods = J.Interceptor.prototype;
    C.JSArray_methods = J.JSArray.prototype;
    C.JSBool_methods = J.JSBool.prototype;
    C.JSInt_methods = J.JSInt.prototype;
    C.JSNumber_methods = J.JSNumber.prototype;
    C.JSString_methods = J.JSString.prototype;
    C.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;
    C.LabelElement_methods = W.LabelElement.prototype;
    C.MediaQueryList_methods = W.MediaQueryList.prototype;
    C.MetaElement_methods = W.MetaElement.prototype;
    C.NativeByteBuffer_methods = H.NativeByteBuffer.prototype;
    C.NativeByteData_methods = H.NativeByteData.prototype;
    C.NativeFloat32List_methods = H.NativeFloat32List.prototype;
    C.NativeFloat64List_methods = H.NativeFloat64List.prototype;
    C.NativeInt32List_methods = H.NativeInt32List.prototype;
    C.NativeUint32List_methods = H.NativeUint32List.prototype;
    C.NativeUint8List_methods = H.NativeUint8List.prototype;
    C.NodeList_methods = W.NodeList.prototype;
    C.OffscreenCanvas_methods = W.OffscreenCanvas.prototype;
    C.ParagraphElement_methods = W.ParagraphElement.prototype;
    C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
    C.ScriptElement_methods = W.ScriptElement.prototype;
    C.StyleElement_methods = W.StyleElement.prototype;
    C.TableElement_methods = W.TableElement.prototype;
    C.TouchList_methods = W.TouchList.prototype;
    C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;
    C.WebSocket_methods = W.WebSocket0.prototype;
    C.WheelEvent_methods = W.WheelEvent.prototype;
    C.Window_methods = W.Window.prototype;
    C.AccessibilityMode_0 = new H.AccessibilityMode(0, "AccessibilityMode.unknown");
    C.AlignmentDirectional_0_0 = new K.AlignmentDirectional(0, 0);
    C.AlignmentDirectional_1_0 = new K.AlignmentDirectional(1, 0);
    C.AlignmentDirectional_1_m1 = new K.AlignmentDirectional(1, -1);
    C.AlignmentDirectional_m1_0 = new K.AlignmentDirectional(-1, 0);
    C.AlignmentDirectional_m1_m1 = new K.AlignmentDirectional(-1, -1);
    C.Alignment_0_0 = new K.Alignment(0, 0);
    C.Alignment_0_1 = new K.Alignment(0, 1);
    C.Alignment_0_m1 = new K.Alignment(0, -1);
    C.Alignment_1_0 = new K.Alignment(1, 0);
    C.Alignment_1_1 = new K.Alignment(1, 1);
    C.Alignment_1_m1 = new K.Alignment(1, -1);
    C.Alignment_m1_0 = new K.Alignment(-1, 0);
    C.Alignment_m1_1 = new K.Alignment(-1, 1);
    C.Alignment_m1_m1 = new K.Alignment(-1, -1);
    C.AlwaysScrollableScrollPhysics_null = new L.AlwaysScrollableScrollPhysics(null);
    C.AnimationBehavior_0 = new G.AnimationBehavior(0, "AnimationBehavior.normal");
    C.AnimationBehavior_1 = new G.AnimationBehavior(1, "AnimationBehavior.preserve");
    C.AnimationStatus_0 = new X.AnimationStatus(0, "AnimationStatus.dismissed");
    C.AnimationStatus_1 = new X.AnimationStatus(1, "AnimationStatus.forward");
    C.AnimationStatus_2 = new X.AnimationStatus(2, "AnimationStatus.reverse");
    C.AnimationStatus_3 = new X.AnimationStatus(3, "AnimationStatus.completed");
    C.AppBarTheme_unT = new V.AppBarTheme(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.AppLifecycleState_0 = new P.AppLifecycleState(0, "AppLifecycleState.resumed");
    C.AppLifecycleState_1 = new P.AppLifecycleState(1, "AppLifecycleState.inactive");
    C.AppLifecycleState_2 = new P.AppLifecycleState(2, "AppLifecycleState.paused");
    C.AppLifecycleState_3 = new P.AppLifecycleState(3, "AppLifecycleState.detached");
    C.AppSizeBody_null = new R.AppSizeBody(null);
    C.IconData_61757_Octicons_false = new X.IconData(61757, "Octicons", false);
    C.AppSizeScreen_OT5 = new R.AppSizeScreen("app-size", "App Size", C.IconData_61757_Octicons_false, null, null, true, false, false, false, null);
    C.Text_0ZG = new L.Text("Call Stack", null, null, null, null, null, null, null, null, null, null);
    C.List_empty11 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_Widget);
    C.AreaPaneHeader_0ec = new U.AreaPaneHeader(C.Text_0ZG, 1, false, true, false, C.List_empty11, 4, false, null);
    C.Text_a9P = new L.Text("Variables", null, null, null, null, null, null, null, null, null, null);
    C.AreaPaneHeader_2jN = new U.AreaPaneHeader(C.Text_a9P, 1, true, true, false, C.List_empty11, 4, false, null);
    C.ArrowType_0 = new V.ArrowType(0, "ArrowType.up");
    C.ArrowType_1 = new V.ArrowType(1, "ArrowType.left");
    C.ArrowType_2 = new V.ArrowType(2, "ArrowType.right");
    C.ArrowType_3 = new V.ArrowType(3, "ArrowType.down");
    C.AsciiDecoder_false_127 = new P.AsciiDecoder(false, 127);
    C.AsciiEncoder_127 = new P.AsciiEncoder(127);
    C.AssetImage_46y = new L.AssetImage("assets/img/legend/events_glyph.png", null, null);
    C.AssetImage_usD = new L.AssetImage("assets/img/legend/event_glyph.png", null, null);
    C.AxisDirection_0 = new G.AxisDirection(0, "AxisDirection.up");
    C.AxisDirection_1 = new G.AxisDirection(1, "AxisDirection.right");
    C.AxisDirection_2 = new G.AxisDirection(2, "AxisDirection.down");
    C.AxisDirection_3 = new G.AxisDirection(3, "AxisDirection.left");
    C.Axis_0 = new G.Axis(0, "Axis.horizontal");
    C.Axis_1 = new G.Axis(1, "Axis.vertical");
    C.C_StandardMessageCodec = new U.StandardMessageCodec0();
    C.BasicMessageChannel_8hp = new A.BasicMessageChannel("flutter/accessibility", C.C_StandardMessageCodec, type$.BasicMessageChannel_dynamic);
    C.C_JSONMessageCodec = new U.JSONMessageCodec0();
    C.BasicMessageChannel_Cfi = new A.BasicMessageChannel("flutter/keyevent", C.C_JSONMessageCodec, type$.BasicMessageChannel_dynamic);
    C.C_StringCodec = new U.StringCodec();
    C.BasicMessageChannel_No7 = new A.BasicMessageChannel("flutter/lifecycle", C.C_StringCodec, H.findType("BasicMessageChannel<String?>"));
    C.BasicMessageChannel_Qma = new A.BasicMessageChannel("flutter/system", C.C_JSONMessageCodec, type$.BasicMessageChannel_dynamic);
    C.BitmapCompression_0 = new L.BitmapCompression(0, "BitmapCompression.BI_BITFIELDS");
    C.BitmapCompression_1 = new L.BitmapCompression(1, "BitmapCompression.NONE");
    C.BlendMode_0 = new P.BlendMode(0, "BlendMode.clear");
    C.BlendMode_1 = new P.BlendMode(1, "BlendMode.src");
    C.BlendMode_10 = new P.BlendMode(10, "BlendMode.dstATop");
    C.BlendMode_11 = new P.BlendMode(11, "BlendMode.xor");
    C.BlendMode_12 = new P.BlendMode(12, "BlendMode.plus");
    C.BlendMode_13 = new P.BlendMode(13, "BlendMode.modulate");
    C.BlendMode_14 = new P.BlendMode(14, "BlendMode.screen");
    C.BlendMode_15 = new P.BlendMode(15, "BlendMode.overlay");
    C.BlendMode_16 = new P.BlendMode(16, "BlendMode.darken");
    C.BlendMode_17 = new P.BlendMode(17, "BlendMode.lighten");
    C.BlendMode_18 = new P.BlendMode(18, "BlendMode.colorDodge");
    C.BlendMode_19 = new P.BlendMode(19, "BlendMode.colorBurn");
    C.BlendMode_2 = new P.BlendMode(2, "BlendMode.dst");
    C.BlendMode_20 = new P.BlendMode(20, "BlendMode.hardLight");
    C.BlendMode_21 = new P.BlendMode(21, "BlendMode.softLight");
    C.BlendMode_22 = new P.BlendMode(22, "BlendMode.difference");
    C.BlendMode_23 = new P.BlendMode(23, "BlendMode.exclusion");
    C.BlendMode_24 = new P.BlendMode(24, "BlendMode.multiply");
    C.BlendMode_25 = new P.BlendMode(25, "BlendMode.hue");
    C.BlendMode_26 = new P.BlendMode(26, "BlendMode.saturation");
    C.BlendMode_27 = new P.BlendMode(27, "BlendMode.color");
    C.BlendMode_28 = new P.BlendMode(28, "BlendMode.luminosity");
    C.BlendMode_3 = new P.BlendMode(3, "BlendMode.srcOver");
    C.BlendMode_4 = new P.BlendMode(4, "BlendMode.dstOver");
    C.BlendMode_5 = new P.BlendMode(5, "BlendMode.srcIn");
    C.BlendMode_6 = new P.BlendMode(6, "BlendMode.dstIn");
    C.BlendMode_7 = new P.BlendMode(7, "BlendMode.srcOut");
    C.BlendMode_8 = new P.BlendMode(8, "BlendMode.dstOut");
    C.BlendMode_9 = new P.BlendMode(9, "BlendMode.srcATop");
    C.BlurStyle_0 = new P.BlurStyle(0, "BlurStyle.normal");
    C.Radius_0_0 = new P.Radius(0, 0);
    C.BorderRadius_tLn = new K.BorderRadius(C.Radius_0_0, C.Radius_0_0, C.Radius_0_0, C.Radius_0_0);
    C.Radius_4_4 = new P.Radius(4, 4);
    C.BorderRadius_tLn1 = new K.BorderRadius(C.Radius_4_4, C.Radius_4_4, C.Radius_0_0, C.Radius_0_0);
    C.BorderRadius_tLn0 = new K.BorderRadius(C.Radius_4_4, C.Radius_4_4, C.Radius_4_4, C.Radius_4_4);
    C.Radius_5_5 = new P.Radius(5, 5);
    C.BorderRadius_tLn2 = new K.BorderRadius(C.Radius_5_5, C.Radius_5_5, C.Radius_5_5, C.Radius_5_5);
    C.Color_4278190080 = new P.Color(4278190080);
    C.BorderStyle_0 = new Y.BorderStyle(0, "BorderStyle.none");
    C.BorderSide_06g = new Y.BorderSide(C.Color_4278190080, 0, C.BorderStyle_0);
    C.BorderStyle_1 = new Y.BorderStyle(1, "BorderStyle.solid");
    C.Border_c8d = new F.Border(C.BorderSide_06g, C.BorderSide_06g, C.BorderSide_06g, C.BorderSide_06g);
    C.BottomAppBarTheme_null_null_null = new D.BottomAppBarTheme(null, null, null);
    C.BottomNavigationBarThemeData_gg4 = new M.BottomNavigationBarThemeData(null, null, null, null, null, null, null, null, null, null, null, null);
    C.BottomSheetThemeData_OEE = new X.BottomSheetThemeData(null, null, null, null, null, null, null);
    C.RangeMaintainingScrollPhysics_null = new L.RangeMaintainingScrollPhysics(null);
    C.BouncingScrollPhysics_MuS = new L.BouncingScrollPhysics(C.RangeMaintainingScrollPhysics_null);
    C.BoxConstraints_0_220_0_220 = new S.BoxConstraints(0, 220, 0, 220);
    C.BoxConstraints_20_20_20_20 = new S.BoxConstraints(20, 20, 20, 20);
    C.BoxConstraints_40_40_40_40 = new S.BoxConstraints(40, 40, 40, 40);
    C.BoxConstraints_48_48_48_48 = new S.BoxConstraints(48, 48, 48, 48);
    C.BoxConstraints_59_59_39_39 = new S.BoxConstraints(59, 59, 39, 39);
    C.BoxConstraints_ALM = new S.BoxConstraints(1 / 0, 1 / 0, 1 / 0, 1 / 0);
    C.BoxConstraints_CWG = new S.BoxConstraints(0, 1 / 0, 0, 250);
    C.BoxConstraints_EcO = new S.BoxConstraints(112, 280, 0, 1 / 0);
    C.BoxConstraints_EcO0 = new S.BoxConstraints(0, 800, 0, 1 / 0);
    C.BoxConstraints_mlX = new S.BoxConstraints(0, 1 / 0, 0, 1 / 0);
    C.BoxConstraints_mlX0 = new S.BoxConstraints(280, 1 / 0, 0, 1 / 0);
    C.BoxConstraints_mlX4 = new S.BoxConstraints(32, 1 / 0, 32, 1 / 0);
    C.BoxConstraints_mlX1 = new S.BoxConstraints(36, 1 / 0, 36, 1 / 0);
    C.BoxConstraints_mlX5 = new S.BoxConstraints(88, 1 / 0, 36, 1 / 0);
    C.BoxConstraints_mlX2 = new S.BoxConstraints(0, 1 / 0, 48, 1 / 0);
    C.BoxConstraints_mlX3 = new S.BoxConstraints(48, 1 / 0, 48, 1 / 0);
    C.Color_4278227434 = new P.Color(4278227434);
    C.BoxShape_0 = new F.BoxShape(0, "BoxShape.rectangle");
    C.BoxDecoration_5qh = new S.BoxDecoration(C.Color_4278227434, null, null, null, null, null, null, C.BoxShape_0);
    C.Color_4290624957 = new P.Color(4290624957);
    C.BorderSide_q96 = new Y.BorderSide(C.Color_4290624957, 0, C.BorderStyle_1);
    C.Border_af1 = new F.Border(C.BorderSide_06g, C.BorderSide_06g, C.BorderSide_q96, C.BorderSide_06g);
    C.BoxDecoration_8k0 = new S.BoxDecoration(null, null, C.Border_af1, null, null, null, null, C.BoxShape_0);
    C.Color_4283790975 = new P.Color(4283790975);
    C.BorderSide_h13 = new Y.BorderSide(C.Color_4283790975, 0, C.BorderStyle_1);
    C.Border_Gps = new F.Border(C.BorderSide_06g, C.BorderSide_06g, C.BorderSide_h13, C.BorderSide_06g);
    C.BoxDecoration_YOM = new S.BoxDecoration(null, null, C.Border_Gps, null, null, null, null, C.BoxShape_0);
    C.BoxFit_0 = new U.BoxFit(0, "BoxFit.fill");
    C.BoxFit_1 = new U.BoxFit(1, "BoxFit.contain");
    C.BoxFit_2 = new U.BoxFit(2, "BoxFit.cover");
    C.BoxFit_3 = new U.BoxFit(3, "BoxFit.fitWidth");
    C.BoxFit_4 = new U.BoxFit(4, "BoxFit.fitHeight");
    C.BoxFit_5 = new U.BoxFit(5, "BoxFit.none");
    C.BoxFit_6 = new U.BoxFit(6, "BoxFit.scaleDown");
    C.BoxHeightStyle_0 = new P.BoxHeightStyle(0, "BoxHeightStyle.tight");
    C.BoxHeightStyle_5 = new P.BoxHeightStyle(5, "BoxHeightStyle.strut");
    C.BoxShape_1 = new F.BoxShape(1, "BoxShape.circle");
    C.BoxWidthStyle_0 = new P.BoxWidthStyle();
    C.Brightness_0 = new P.Brightness(0, "Brightness.dark");
    C.Brightness_1 = new P.Brightness(1, "Brightness.light");
    C.BrowserEngine_0 = new H.BrowserEngine(0, "BrowserEngine.blink");
    C.BrowserEngine_1 = new H.BrowserEngine(1, "BrowserEngine.webkit");
    C.BrowserEngine_2 = new H.BrowserEngine(2, "BrowserEngine.firefox");
    C.BrowserEngine_3 = new H.BrowserEngine(3, "BrowserEngine.edge");
    C.BrowserEngine_4 = new H.BrowserEngine(4, "BrowserEngine.ie11");
    C.BrowserEngine_5 = new H.BrowserEngine(5, "BrowserEngine.samsung");
    C.BrowserEngine_6 = new H.BrowserEngine(6, "BrowserEngine.unknown");
    C.BulletSpacer_false_null = new U.BulletSpacer(false, null);
    C.BulletSpacer_true_null = new U.BulletSpacer(true, null);
    C.ButtonBarLayoutBehavior_1 = new M.ButtonBarLayoutBehavior(1, "ButtonBarLayoutBehavior.padded");
    C.ButtonBarThemeData_A0t = new M.ButtonBarThemeData(null, null, null, null, null, null, null, null, null);
    C.ButtonTextTheme_0 = new M.ButtonTextTheme(0, "ButtonTextTheme.normal");
    C.ButtonTextTheme_1 = new M.ButtonTextTheme(1, "ButtonTextTheme.accent");
    C.ButtonTextTheme_2 = new M.ButtonTextTheme(2, "ButtonTextTheme.primary");
    C.C__EmptyStream = new P._EmptyStream(H.findType("_EmptyStream<List<int*>*>"));
    C.ByteStream__EmptyStream = new Z.ByteStream(C.C__EmptyStream);
    C.CONSTANT1 = new H.Instantiation1(X.instance_details___$identity$closure(), H.findType("Instantiation1<_InstancePathFromInstanceId*>"));
    C.CONSTANT0 = new H.Instantiation1(X.instance_details___$identity$closure(), H.findType("Instantiation1<_InstancePathFromProviderId*>"));
    C.CONSTANT = new H.Instantiation1(P.math__max$closure(), H.findType("Instantiation1<int*>"));
    C.C_AccessibilityFeatures = new P.AccessibilityFeatures();
    C.C_ActionDispatcher = new U.ActionDispatcher();
    C.C_AsciiCodec = new P.AsciiCodec();
    C.C_AssetManager = new H.AssetManager();
    C.C_AutoDisposeProviderBuilder = new X.AutoDisposeProviderBuilder();
    C.C_Base64Encoder = new P.Base64Encoder();
    C.C_Base64Codec = new P.Base64Codec();
    C.C_Base64Decoder = new P.Base64Decoder();
    C.C_BrowserPlatformLocation = new H.BrowserPlatformLocation();
    C.C_CkRestoreCommand = new H.CkRestoreCommand();
    C.C_CkSaveCommand = new H.CkSaveCommand();
    C.C_Console = new W.Console0();
    C.Color_4294967295 = new P.Color(4294967295);
    C.Color_637534208 = new P.Color(637534208);
    C.Offset_0_3 = new P.Offset(0, 3);
    C.BoxShadow_y5m = new O.BoxShadow(0, C.Color_637534208, C.Offset_0_3, 8);
    C.Color_251658240 = new P.Color(251658240);
    C.BoxShadow_y5m0 = new O.BoxShadow(0, C.Color_251658240, C.Offset_0_3, 1);
    C.List_a99 = H._setArrayType(makeConstList([C.BoxShadow_y5m, C.BoxShadow_y5m0]), type$.JSArray_legacy_BoxShadow);
    C.C_CupertinoThumbPainter = new A.CupertinoThumbPainter();
    C.C_DecimalInputType = new H.DecimalInputType();
    C.C_DefaultEquality = new U.DefaultEquality(H.findType("DefaultEquality<0&*>"));
    C.C_DeepCollectionEquality = new U.DeepCollectionEquality();
    C.C_DefaultCupertinoLocalizations = new L.DefaultCupertinoLocalizations();
    C.C_DefaultMaterialLocalizations = new U.DefaultMaterialLocalizations();
    C.Size_100_100 = new P.Size(100, 100);
    C.C_DefaultShaderWarmUp = new D.DefaultShaderWarmUp();
    C.C_DefaultTransitionDelegate = new K.DefaultTransitionDelegate(H.findType("DefaultTransitionDelegate<@>"));
    C.C_DefaultWidgetsLocalizations = new L.DefaultWidgetsLocalizations();
    C.C_EmailInputType = new H.EmailInputType();
    C.C_EmptyIterable = new H.EmptyIterable(H.findType("EmptyIterable<TextInputFormatter*>"));
    C.C_EmptyIterator = new H.EmptyIterator(H.findType("EmptyIterator<0&*>"));
    C.C_Endian0 = new P.Endian();
    C.C_Endian = new P.Endian();
    C.C_FlexColumnWidth = new S.FlexColumnWidth();
    C.C_HashUrlStrategy = new H.HashUrlStrategy();
    C.C_HeapSnapshotObjectNoData = new M.HeapSnapshotObjectNoData();
    C.C_HeapSnapshotObjectNullData = new M.HeapSnapshotObjectNullData();
    C.FloatingLabelBehavior_1 = new L.FloatingLabelBehavior(1, "FloatingLabelBehavior.auto");
    C.C_InputDecorationTheme = new L.InputDecorationTheme();
    C.C_JSONMessageCodec0 = new H.JSONMessageCodec();
    C.C_JSONMethodCodec = new H.JSONMethodCodec();
    C.C_JS_CONST = function getTagFallback(o) {
  var s = Object.prototype.toString.call(o);
  return s.substring(8, s.length - 1);
};
    C.C_JS_CONST0 = function() {
  var toStringFunction = Object.prototype.toString;
  function getTag(o) {
    var s = toStringFunction.call(o);
    return s.substring(8, s.length - 1);
  }
  function getUnknownTag(object, tag) {
    if (/^HTML[A-Z].*Element$/.test(tag)) {
      var name = toStringFunction.call(object);
      if (name == "[object Object]") return null;
      return "HTMLElement";
    }
  }
  function getUnknownTagGenericBrowser(object, tag) {
    if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement";
    return getUnknownTag(object, tag);
  }
  function prototypeForTag(tag) {
    if (typeof window == "undefined") return null;
    if (typeof window[tag] == "undefined") return null;
    var constructor = window[tag];
    if (typeof constructor != "function") return null;
    return constructor.prototype;
  }
  function discriminator(tag) { return null; }
  var isBrowser = typeof navigator == "object";
  return {
    getTag: getTag,
    getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
    prototypeForTag: prototypeForTag,
    discriminator: discriminator };
};
    C.C_JS_CONST6 = function(getTagFallback) {
  return function(hooks) {
    if (typeof navigator != "object") return hooks;
    var ua = navigator.userAgent;
    if (ua.indexOf("DumpRenderTree") >= 0) return hooks;
    if (ua.indexOf("Chrome") >= 0) {
      function confirm(p) {
        return typeof window == "object" && window[p] && window[p].name == p;
      }
      if (confirm("Window") && confirm("HTMLElement")) return hooks;
    }
    hooks.getTag = getTagFallback;
  };
};
    C.C_JS_CONST1 = function(hooks) {
  if (typeof dartExperimentalFixupGetTag != "function") return hooks;
  hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
};
    C.C_JS_CONST2 = function(hooks) {
  var getTag = hooks.getTag;
  var prototypeForTag = hooks.prototypeForTag;
  function getTagFixed(o) {
    var tag = getTag(o);
    if (tag == "Document") {
      if (!!o.xmlVersion) return "!Document";
      return "!HTMLDocument";
    }
    return tag;
  }
  function prototypeForTagFixed(tag) {
    if (tag == "Document") return null;
    return prototypeForTag(tag);
  }
  hooks.getTag = getTagFixed;
  hooks.prototypeForTag = prototypeForTagFixed;
};
    C.C_JS_CONST5 = function(hooks) {
  var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
  if (userAgent.indexOf("Firefox") == -1) return hooks;
  var getTag = hooks.getTag;
  var quickMap = {
    "BeforeUnloadEvent": "Event",
    "DataTransfer": "Clipboard",
    "GeoGeolocation": "Geolocation",
    "Location": "!Location",
    "WorkerMessageEvent": "MessageEvent",
    "XMLDocument": "!Document"};
  function getTagFirefox(o) {
    var tag = getTag(o);
    return quickMap[tag] || tag;
  }
  hooks.getTag = getTagFirefox;
};
    C.C_JS_CONST4 = function(hooks) {
  var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
  if (userAgent.indexOf("Trident/") == -1) return hooks;
  var getTag = hooks.getTag;
  var quickMap = {
    "BeforeUnloadEvent": "Event",
    "DataTransfer": "Clipboard",
    "HTMLDDElement": "HTMLElement",
    "HTMLDTElement": "HTMLElement",
    "HTMLPhraseElement": "HTMLElement",
    "Position": "Geoposition"
  };
  function getTagIE(o) {
    var tag = getTag(o);
    var newTag = quickMap[tag];
    if (newTag) return newTag;
    if (tag == "Object") {
      if (window.DataView && (o instanceof window.DataView)) return "DataView";
    }
    return tag;
  }
  function prototypeForTagIE(tag) {
    var constructor = window[tag];
    if (constructor == null) return null;
    return constructor.prototype;
  }
  hooks.getTag = getTagIE;
  hooks.prototypeForTag = prototypeForTagIE;
};
    C.C_JS_CONST3 = function(hooks) { return hooks; }
;
    C.C_JsonCodec = new P.JsonCodec();
    C.C_Latin1Codec = new P.Latin1Codec();
    C.C_Link = new U.Link();
    C.C_MaterialScrollBehavior = new S.MaterialScrollBehavior();
    C.C_MultilineInputType = new H.MultilineInputType();
    C.C_NumberInputType = new H.NumberInputType();
    C.C_Object = new P.Object();
    C.C_OutOfMemoryError = new P.OutOfMemoryError();
    C.List_empty19 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_TargetPlatform);
    C.Map_empty2 = new H.ConstantStringMap(0, {}, C.List_empty19, H.findType("ConstantStringMap<TargetPlatform*,PageTransitionsBuilder*>"));
    C.C_PageTransitionsTheme = new K.PageTransitionsTheme();
    C.C_PaintRestore = new H.PaintRestore();
    C.C_PaintSave = new H.PaintSave();
    C.C_PhoneInputType = new H.PhoneInputType();
    C.C_PointerSupportDetector = new H.PointerSupportDetector();
    C.C_ScrollBehavior = new K.ScrollBehavior();
    C.C_StandardMessageCodec0 = new H.StandardMessageCodec();
    C.C_StandardMethodCodec = new H.StandardMethodCodec();
    C.C_TextInputClearClient = new H.TextInputClearClient();
    C.C_TextInputHide = new H.TextInputHide();
    C.C_TextInputSetCaretRect = new H.TextInputSetCaretRect();
    C.C_TextInputSetMarkedTextRect = new H.TextInputSetMarkedTextRect();
    C.C_TextInputShow = new H.TextInputShow();
    C.C_TextInputType = new H.TextInputType0();
    C.C_UrlInputType = new H.UrlInputType();
    C.C_Utf8Encoder = new P.Utf8Encoder();
    C.C__$AsyncLoading = new R._$AsyncLoading(H.findType("_$AsyncLoading<0&*>"));
    C.C__$PathToPropertyTearOff = new X._$PathToPropertyTearOff();
    C.C__AlwaysCompleteAnimation = new S._AlwaysCompleteAnimation();
    C.C__AlwaysDismissedAnimation = new S._AlwaysDismissedAnimation();
    C.C__CupertinoLocalizationsDelegate = new L._CupertinoLocalizationsDelegate();
    C.C__DecelerateCurve = new Z._DecelerateCurve();
    C.C__DefaultBinaryMessenger = new N._DefaultBinaryMessenger();
    C.C__DefaultHeroTag = new E._DefaultHeroTag();
    C.C__DeferringMouseCursor = new A._DeferringMouseCursor();
    C.C__DelayedDone = new P._DelayedDone();
    C.C__EndFloatFabLocation = new A._EndFloatFabLocation();
    C.C__HashEnd = new P._HashEnd();
    C.C__InkRippleFactory = new O._InkRippleFactory();
    C.C__InkSplashFactory = new U._InkSplashFactory();
    C.C__JSRandom = new P._JSRandom();
    C.C__Linear = new Z._Linear();
    C.C__MaterialLocalizationsDelegate = new U._MaterialLocalizationsDelegate();
    C.C__NoDefaultValue = new Y._NoDefaultValue();
    C.C__NullTableColumnWidth = new S._NullTableColumnWidth();
    C.C__Required = new H._Required();
    C.C__RootZone = new P._RootZone();
    C.C__ScalingFabMotionAnimator = new A._ScalingFabMotionAnimator();
    C.C__WidgetsLocalizationsDelegate = new L._WidgetsLocalizationsDelegate();
    C.C__ZLibDecoder = new G._ZLibDecoder();
    C.CacheExtentStyle_0 = new Q.CacheExtentStyle(0, "CacheExtentStyle.pixel");
    C.CacheExtentStyle_1 = new Q.CacheExtentStyle(1, "CacheExtentStyle.viewport");
    C.CallStack_null = new N.CallStack(null);
    C.CardTheme_hKX = new A.CardTheme(null, null, null, null, null, null);
    C.Text_m7k = new L.Text("No Children", null, null, null, null, null, null, null, null, null, null);
    C.Center_Mi7 = new T.Center(C.Alignment_0_0, null, null, C.Text_m7k, null);
    C._ActivityIndicatorType_0 = new U._ActivityIndicatorType(0, "_ActivityIndicatorType.material");
    C.CircularProgressIndicator_MQk = new U.CircularProgressIndicator(4, null, null, null, null, null, null, null);
    C.Center_mtF = new T.Center(C.Alignment_0_0, null, null, C.CircularProgressIndicator_MQk, null);
    C.CenteredCircularProgressIndicator_null = new U.CenteredCircularProgressIndicator(null);
    C.Channels_0 = new U.Channels(0, "Channels.rgb");
    C.Channels_1 = new U.Channels(1, "Channels.rgba");
    C.ChartInterval_0 = new T.ChartInterval(0, "ChartInterval.Default");
    C.ChartInterval_1 = new T.ChartInterval(1, "ChartInterval.OneMinute");
    C.ChartInterval_2 = new T.ChartInterval(2, "ChartInterval.FiveMinutes");
    C.ChartInterval_3 = new T.ChartInterval(3, "ChartInterval.TenMinutes");
    C.ChartInterval_4 = new T.ChartInterval(4, "ChartInterval.All");
    C.ChartSymbol_0 = new F.ChartSymbol(0, "ChartSymbol.ring");
    C.ChartSymbol_1 = new F.ChartSymbol(1, "ChartSymbol.disc");
    C.ChartSymbol_2 = new F.ChartSymbol(2, "ChartSymbol.concentric");
    C.ChartSymbol_3 = new F.ChartSymbol(3, "ChartSymbol.square");
    C.ChartSymbol_4 = new F.ChartSymbol(4, "ChartSymbol.filledSquare");
    C.ChartSymbol_5 = new F.ChartSymbol(5, "ChartSymbol.triangle");
    C.ChartSymbol_6 = new F.ChartSymbol(6, "ChartSymbol.filledTriangle");
    C.ChartSymbol_7 = new F.ChartSymbol(7, "ChartSymbol.triangleDown");
    C.ChartSymbol_8 = new F.ChartSymbol(8, "ChartSymbol.filledTriangleDown");
    C.ChartSymbol_9 = new F.ChartSymbol(9, "ChartSymbol.dashedLine");
    C.ChartType_0 = new F.ChartType(0, "ChartType.symbol");
    C.ChartType_1 = new F.ChartType(1, "ChartType.line");
    C.CheckboxThemeData_EkK = new F.CheckboxThemeData(null, null, null, null, null, null, null, null, null);
    C.CircleBorder_yHT = new X.CircleBorder(C.BorderSide_06g);
    C.ClampingScrollPhysics_KYr = new L.ClampingScrollPhysics(C.RangeMaintainingScrollPhysics_null);
    C.ClampingScrollPhysics_null = new L.ClampingScrollPhysics(null);
    C.ClipOp_0 = new P.ClipOp(0, "ClipOp.difference");
    C.ClipOp_1 = new P.ClipOp(1, "ClipOp.intersect");
    C.Clip_0 = new P.Clip(0, "Clip.none");
    C.Clip_1 = new P.Clip(1, "Clip.hardEdge");
    C.Clip_2 = new P.Clip(2, "Clip.antiAlias");
    C.Clip_3 = new P.Clip(3, "Clip.antiAliasWithSaveLayer");
    C.Color_0 = new P.Color(0);
    C.Color_1087163596 = new P.Color(1087163596);
    C.Color_1296516935 = new P.Color(1296516935);
    C.Color_1307438831 = new P.Color(1307438831);
    C.Color_1308622847 = new P.Color(1308622847);
    C.Color_1375731712 = new P.Color(1375731712);
    C.Color_1627389952 = new P.Color(1627389952);
    C.Color_1660944383 = new P.Color(1660944383);
    C.Color_16777215 = new P.Color(16777215);
    C.Color_167772160 = new P.Color(167772160);
    C.Color_1723645116 = new P.Color(1723645116);
    C.Color_1724434632 = new P.Color(1724434632);
    C.Color_1929379840 = new P.Color(1929379840);
    C.Color_2139127936 = new P.Color(2139127936);
    C.Color_2315255808 = new P.Color(2315255808);
    C.Color_234881023 = new P.Color(234881023);
    C.Color_2583691263 = new P.Color(2583691263);
    C.Color_3019898879 = new P.Color(3019898879);
    C.Color_3204448256 = new P.Color(3204448256);
    C.Color_3221225216 = new P.Color(3221225216);
    C.Color_3707764736 = new P.Color(3707764736);
    C.Color_4039164096 = new P.Color(4039164096);
    C.Color_4278190335 = new P.Color(4278190335);
    C.Color_4278194304 = new P.Color(4278194304);
    C.Color_4278222848 = new P.Color(4278222848);
    C.Color_4278229706 = new P.Color(4278229706);
    C.Color_4278814296 = new P.Color(4278814296);
    C.Color_4279465404 = new P.Color(4279465404);
    C.Color_4279858898 = new P.Color(4279858898);
    C.Color_4280391411 = new P.Color(4280391411);
    C.Color_4280713113 = new P.Color(4280713113);
    C.Color_4281097642 = new P.Color(4281097642);
    C.Color_4281220168 = new P.Color(4281220168);
    C.Color_4281348144 = new P.Color(4281348144);
    C.Color_4281578981 = new P.Color(4281578981);
    C.Color_4281779956 = new P.Color(4281779956);
    C.Color_4281888438 = new P.Color(4281888438);
    C.Color_4282365257 = new P.Color(4282365257);
    C.Color_4282532418 = new P.Color(4282532418);
    C.Color_4282549748 = new P.Color(4282549748);
    C.Color_4282796364 = new P.Color(4282796364);
    C.Color_4283293439 = new P.Color(4283293439);
    C.Color_4283322191 = new P.Color(4283322191);
    C.Color_4283353520 = new P.Color(4283353520);
    C.Color_4283866326 = new P.Color(4283866326);
    C.Color_4283979864 = new P.Color(4283979864);
    C.Color_4284572001 = new P.Color(4284572001);
    C.Color_4284704103 = new P.Color(4284704103);
    C.Color_4284901164 = new P.Color(4284901164);
    C.Color_4284913920 = new P.Color(4284913920);
    C.Color_4284978125 = new P.Color(4284978125);
    C.Color_4285176149 = new P.Color(4285176149);
    C.Color_4285775683 = new P.Color(4285775683);
    C.Color_4285993007 = new P.Color(4285993007);
    C.Color_4286027597 = new P.Color(4286027597);
    C.Color_4286091420 = new P.Color(4286091420);
    C.Color_4286144038 = new P.Color(4286144038);
    C.Color_4286611584 = new P.Color(4286611584);
    C.Color_4287148510 = new P.Color(4287148510);
    C.Color_4287269514 = new P.Color(4287269514);
    C.Color_4287284818 = new P.Color(4287284818);
    C.Color_4288256409 = new P.Color(4288256409);
    C.Color_4288470270 = new P.Color(4288470270);
    C.Color_4289357516 = new P.Color(4289357516);
    C.Color_4289659099 = new P.Color(4289659099);
    C.Color_4289675348 = new P.Color(4289675348);
    C.Color_4289724448 = new P.Color(4289724448);
    C.Color_4289855489 = new P.Color(4289855489);
    C.Color_4289974874 = new P.Color(4289974874);
    C.Color_4290105000 = new P.Color(4290105000);
    C.Color_4290493371 = new P.Color(4290493371);
    C.Color_4290992474 = new P.Color(4290992474);
    C.Color_4291135168 = new P.Color(4291135168);
    C.Color_4291348680 = new P.Color(4291348680);
    C.Color_4291477317 = new P.Color(4291477317);
    C.Color_4291611852 = new P.Color(4291611852);
    C.Color_4292382323 = new P.Color(4292382323);
    C.Color_4292599261 = new P.Color(4292599261);
    C.Color_4292664490 = new P.Color(4292664490);
    C.Color_4292780169 = new P.Color(4292780169);
    C.Color_4292931322 = new P.Color(4292931322);
    C.Color_4293797967 = new P.Color(4293797967);
    C.Color_4293980400 = new P.Color(4293980400);
    C.Color_4294198070 = new P.Color(4294198070);
    C.Color_4294280299 = new P.Color(4294280299);
    C.Color_4294834901 = new P.Color(4294834901);
    C.Color_4294901760 = new P.Color(4294901760);
    C.Color_4294919236 = new P.Color(4294919236);
    C.Color_4294936576 = new P.Color(4294936576);
    C.Color_452984831 = new P.Color(452984831);
    C.Color_520093696 = new P.Color(520093696);
    C.Color_536870911 = new P.Color(536870911);
    C.Color_83886080 = new P.Color(83886080);
    C.ColumnAlignment_0 = new K.ColumnAlignment(0, "ColumnAlignment.left");
    C.ColumnAlignment_1 = new K.ColumnAlignment(1, "ColumnAlignment.right");
    C.ColumnAlignment_2 = new K.ColumnAlignment(2, "ColumnAlignment.center");
    C.ConnectedState_false_false = new R.ConnectedState(false, false);
    C.ConnectedState_false_true = new R.ConnectedState(false, true);
    C.ConnectedState_true_false = new R.ConnectedState(true, false);
    C.ConnectionState_0 = new B.ConnectionState(0, "ConnectionState.none");
    C.ConnectionState_1 = new B.ConnectionState(1, "ConnectionState.waiting");
    C.ConnectionState_2 = new B.ConnectionState(2, "ConnectionState.active");
    C.ConnectionState_3 = new B.ConnectionState(3, "ConnectionState.done");
    C.ContinuesState_0 = new N.ContinuesState(0, "ContinuesState.none");
    C.ContinuesState_2 = new N.ContinuesState(2, "ContinuesState.stop");
    C.ContinuesState_3 = new N.ContinuesState(3, "ContinuesState.next");
    C.ContinuousRectangleBorder_up3 = new S.ContinuousRectangleBorder(C.BorderRadius_tLn, C.BorderSide_06g);
    C.CrossAxisAlignment_0 = new F.CrossAxisAlignment(0, "CrossAxisAlignment.start");
    C.CrossAxisAlignment_1 = new F.CrossAxisAlignment(1, "CrossAxisAlignment.end");
    C.CrossAxisAlignment_2 = new F.CrossAxisAlignment(2, "CrossAxisAlignment.center");
    C.CrossAxisAlignment_3 = new F.CrossAxisAlignment(3, "CrossAxisAlignment.stretch");
    C.CrossAxisAlignment_4 = new F.CrossAxisAlignment(4, "CrossAxisAlignment.baseline");
    C.CrossFadeState_0 = new U.CrossFadeState(0, "CrossFadeState.showFirst");
    C.CrossFadeState_1 = new U.CrossFadeState(1, "CrossFadeState.showSecond");
    C.Cubic_JUR = new Z.Cubic(0.25, 0.1, 0.25, 1);
    C.Cubic_JUR0 = new Z.Cubic(0.42, 0, 1, 1);
    C.Cubic_QB2 = new Z.Cubic(0.785, 0.135, 0.15, 0.86);
    C.Cubic_ifx = new Z.Cubic(0.4, 0, 0.2, 1);
    C.Cubic_oKc = new Z.Cubic(0.645, 0.045, 0.355, 1);
    C.Cubic_xDo0 = new Z.Cubic(0, 0, 0.58, 1);
    C.Cubic_xDo = new Z.Cubic(0.42, 0, 0.58, 1);
    C.Color_678983808 = new P.Color(678983808);
    C.Color_1366849664 = new P.Color(1366849664);
    C.Color_1031305344 = new P.Color(1031305344);
    C.Color_1719171200 = new P.Color(1719171200);
    C.CupertinoDynamicColor_MdH = new E.CupertinoDynamicColor(C.Color_678983808, "secondarySystemFill", null, C.Color_678983808, C.Color_1366849664, C.Color_1031305344, C.Color_1719171200, C.Color_678983808, C.Color_1366849664, C.Color_1031305344, C.Color_1719171200, 0);
    C.Color_4285887861 = new P.Color(4285887861);
    C.CupertinoDynamicColor_YIZ = new E.CupertinoDynamicColor(C.Color_4288256409, "inactiveGray", null, C.Color_4288256409, C.Color_4285887861, C.Color_4288256409, C.Color_4285887861, C.Color_4288256409, C.Color_4285887861, C.Color_4288256409, C.Color_4285887861, 0);
    C.Color_4282137668 = new P.Color(4282137668);
    C.Color_4293651445 = new P.Color(4293651445);
    C.CupertinoDynamicColor_YNl = new E.CupertinoDynamicColor(C.Color_4282137668, null, null, C.Color_4282137668, C.Color_4293651445, C.Color_4282137668, C.Color_4293651445, C.Color_4282137668, C.Color_4293651445, C.Color_4282137668, C.Color_4293651445, 0);
    C.Color_4281648985 = new P.Color(4281648985);
    C.Color_4281389400 = new P.Color(4281389400);
    C.Color_4280584765 = new P.Color(4280584765);
    C.Color_4281391963 = new P.Color(4281391963);
    C.CupertinoDynamicColor_gg4 = new E.CupertinoDynamicColor(C.Color_4281648985, "systemGreen", null, C.Color_4281648985, C.Color_4281389400, C.Color_4280584765, C.Color_4281391963, C.Color_4281648985, C.Color_4281389400, C.Color_4280584765, C.Color_4281391963, 0);
    C.Color_1493172224 = new P.Color(1493172224);
    C.Color_2164260863 = new P.Color(2164260863);
    C.CupertinoDynamicColor_zPV = new E.CupertinoDynamicColor(C.Color_1493172224, null, null, C.Color_1493172224, C.Color_2164260863, C.Color_1493172224, C.Color_2164260863, C.Color_1493172224, C.Color_2164260863, C.Color_1493172224, C.Color_2164260863, 0);
    C.Color_4278221567 = new P.Color(4278221567);
    C.Color_4278879487 = new P.Color(4278879487);
    C.Color_4278206685 = new P.Color(4278206685);
    C.Color_4282424575 = new P.Color(4282424575);
    C.CupertinoDynamicColor_948 = new E.CupertinoDynamicColor(C.Color_4278221567, "systemBlue", null, C.Color_4278221567, C.Color_4278879487, C.Color_4278206685, C.Color_4282424575, C.Color_4278221567, C.Color_4278879487, C.Color_4278206685, C.Color_4282424575, 0);
    C.Color_4280032286 = new P.Color(4280032286);
    C.Color_4280558630 = new P.Color(4280558630);
    C.CupertinoDynamicColor_k0n = new E.CupertinoDynamicColor(C.Color_4294967295, "systemBackground", null, C.Color_4294967295, C.Color_4278190080, C.Color_4294967295, C.Color_4278190080, C.Color_4294967295, C.Color_4280032286, C.Color_4294967295, C.Color_4280558630, 0);
    C.Color_4042914297 = new P.Color(4042914297);
    C.Color_4028439837 = new P.Color(4028439837);
    C.CupertinoDynamicColor_wEo = new E.CupertinoDynamicColor(C.Color_4042914297, null, null, C.Color_4042914297, C.Color_4028439837, C.Color_4042914297, C.Color_4028439837, C.Color_4042914297, C.Color_4028439837, C.Color_4042914297, C.Color_4028439837, 0);
    C.CupertinoDynamicColor_qQo = new E.CupertinoDynamicColor(C.Color_4278190080, "label", null, C.Color_4278190080, C.Color_4294967295, C.Color_4278190080, C.Color_4294967295, C.Color_4278190080, C.Color_4294967295, C.Color_4278190080, C.Color_4294967295, 0);
    C._CupertinoTextThemeDefaults_954 = new K._CupertinoTextThemeDefaults(C.CupertinoDynamicColor_qQo, C.CupertinoDynamicColor_YIZ);
    C._CupertinoThemeDefaults_iF8 = new K._CupertinoThemeDefaults(null, C.CupertinoDynamicColor_948, C.CupertinoDynamicColor_k0n, C.CupertinoDynamicColor_wEo, C.CupertinoDynamicColor_k0n, C._CupertinoTextThemeDefaults_954);
    C.CupertinoThemeData_KQb = new K.CupertinoThemeData(C._CupertinoThemeDefaults_iF8, null, null, null, null, null, null);
    C.CupertinoUserInterfaceLevelData_0 = new K.CupertinoUserInterfaceLevelData(0, "CupertinoUserInterfaceLevelData.base");
    C.CupertinoUserInterfaceLevelData_1 = new K.CupertinoUserInterfaceLevelData(1, "CupertinoUserInterfaceLevelData.elevated");
    C.DataTableThemeData_SL9 = new Z.DataTableThemeData(null, null, null, null, null, null, null, null, null, null, null);
    C.DebugSemanticsDumpOrder_0 = new A.DebugSemanticsDumpOrder(0, "DebugSemanticsDumpOrder.inverseHitTest");
    C.DebugSemanticsDumpOrder_1 = new A.DebugSemanticsDumpOrder(1, "DebugSemanticsDumpOrder.traversalOrder");
    C.DebuggerScreenBody_null = new A.DebuggerScreenBody(null);
    C.IconData_61714_Octicons_false = new X.IconData(61714, "Octicons", false);
    C.DebuggerScreen_goM = new A.DebuggerScreen("debugger", "Debugger", C.IconData_61714_Octicons_false, null, null, false, true, false, false, null);
    C.DebuggingControls_null = new K.DebuggingControls(null);
    C.DecorationPosition_0 = new E.DecorationPosition(0, "DecorationPosition.background");
    C.DecorationPosition_1 = new E.DecorationPosition(1, "DecorationPosition.foreground");
    C.TextStyle_zIQ1 = 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);
    C.TextOverflow_0 = new U.TextOverflow(0, "TextOverflow.clip");
    C.TextWidthBasis_0 = new U.TextWidthBasis(0, "TextWidthBasis.parent");
    C._NullWidget_null1 = new L._NullWidget2(null);
    C.DefaultTextStyle_kWM = new L.DefaultTextStyle(C.TextStyle_zIQ1, null, true, C.TextOverflow_0, null, C.TextWidthBasis_0, null, C._NullWidget_null1, null);
    C.Text_6ra = new L.Text("Hide Private Classes", null, null, null, null, null, null, null, null, null, null);
    C.DevToolsTooltip_UXN = new U.DevToolsTooltip("Hide class names beginning with an underscore e.g., _className", C.Text_6ra, null, null);
    C.DiagnosticLevel_0 = new Y.DiagnosticLevel(0, "DiagnosticLevel.hidden");
    C.DiagnosticLevel_1 = new Y.DiagnosticLevel(1, "DiagnosticLevel.fine");
    C.DiagnosticLevel_2 = new Y.DiagnosticLevel(2, "DiagnosticLevel.debug");
    C.DiagnosticLevel_3 = new Y.DiagnosticLevel(3, "DiagnosticLevel.info");
    C.DiagnosticLevel_4 = new Y.DiagnosticLevel(4, "DiagnosticLevel.warning");
    C.DiagnosticLevel_5 = new Y.DiagnosticLevel(5, "DiagnosticLevel.hint");
    C.DiagnosticLevel_6 = new Y.DiagnosticLevel(6, "DiagnosticLevel.summary");
    C.DiagnosticLevel_7 = new Y.DiagnosticLevel(7, "DiagnosticLevel.error");
    C.DiagnosticsTreeStyle_0 = new Y.DiagnosticsTreeStyle(0, "DiagnosticsTreeStyle.none");
    C.DiagnosticsTreeStyle_1 = new Y.DiagnosticsTreeStyle(1, "DiagnosticsTreeStyle.sparse");
    C.DiagnosticsTreeStyle_10 = new Y.DiagnosticsTreeStyle(10, "DiagnosticsTreeStyle.shallow");
    C.DiagnosticsTreeStyle_11 = new Y.DiagnosticsTreeStyle(11, "DiagnosticsTreeStyle.truncateChildren");
    C.DiagnosticsTreeStyle_2 = new Y.DiagnosticsTreeStyle(2, "DiagnosticsTreeStyle.offstage");
    C.DiagnosticsTreeStyle_3 = new Y.DiagnosticsTreeStyle(3, "DiagnosticsTreeStyle.dense");
    C.DiagnosticsTreeStyle_4 = new Y.DiagnosticsTreeStyle(4, "DiagnosticsTreeStyle.transition");
    C.DiagnosticsTreeStyle_5 = new Y.DiagnosticsTreeStyle(5, "DiagnosticsTreeStyle.error");
    C.DiagnosticsTreeStyle_6 = new Y.DiagnosticsTreeStyle(6, "DiagnosticsTreeStyle.whitespace");
    C.DiagnosticsTreeStyle_7 = new Y.DiagnosticsTreeStyle(7, "DiagnosticsTreeStyle.flat");
    C.DiagnosticsTreeStyle_8 = new Y.DiagnosticsTreeStyle(8, "DiagnosticsTreeStyle.singleLine");
    C.DiagnosticsTreeStyle_9 = new Y.DiagnosticsTreeStyle(9, "DiagnosticsTreeStyle.errorProperty");
    C.DialogCancelButton_null_null = new O.DialogCancelButton(null, null);
    C.DialogTheme_maI = new Y.DialogTheme(null, null, null, null, null);
    C.DiffTreeType_0 = new Y.DiffTreeType(0, "DiffTreeType.increaseOnly");
    C.DiffTreeType_1 = new Y.DiffTreeType(1, "DiffTreeType.decreaseOnly");
    C.DiffTreeType_2 = new Y.DiffTreeType(2, "DiffTreeType.combined");
    C.DismissDirection_0 = new Q.DismissDirection(0, "DismissDirection.vertical");
    C.DismissDirection_1 = new Q.DismissDirection(1, "DismissDirection.horizontal");
    C.DismissDirection_2 = new Q.DismissDirection(2, "DismissDirection.endToStart");
    C.DismissDirection_3 = new Q.DismissDirection(3, "DismissDirection.startToEnd");
    C.DismissDirection_4 = new Q.DismissDirection(4, "DismissDirection.up");
    C.DismissDirection_5 = new Q.DismissDirection(5, "DismissDirection.down");
    C.DismissDirection_6 = new Q.DismissDirection(6, "DismissDirection.none");
    C.DividerThemeData_Tnu = new G.DividerThemeData(null, null, null, null, null);
    C.Divider_0_null_null_null = new Z.Divider(0, null, null, null);
    C.Divider_null_1_null_null = new Z.Divider(null, 1, null, null);
    C.DragAndDrop_null_AppSizeBody_null_null = new V.DragAndDrop(null, C.AppSizeBody_null, null);
    C.DragStartBehavior_0 = new S.DragStartBehavior(0, "DragStartBehavior.down");
    C.DragStartBehavior_1 = new S.DragStartBehavior(1, "DragStartBehavior.start");
    C.Duration_0 = new P.Duration(0);
    C.Duration_1000 = new P.Duration(1000);
    C.Duration_100000 = new P.Duration(100000);
    C.Duration_1000000 = new P.Duration(1000000);
    C.Duration_1200000 = new P.Duration(1200000);
    C.Duration_125000 = new P.Duration(125000);
    C.Duration_15000 = new P.Duration(15000);
    C.Duration_150000 = new P.Duration(150000);
    C.Duration_1500000 = new P.Duration(1500000);
    C.Duration_16667 = new P.Duration(16667);
    C.Duration_167000 = new P.Duration(167000);
    C.Duration_1800000 = new P.Duration(1800000);
    C.Duration_200000 = new P.Duration(200000);
    C.Duration_2000000 = new P.Duration(2000000);
    C.Duration_225000 = new P.Duration(225000);
    C.Duration_250000 = new P.Duration(250000);
    C.Duration_2961926000 = new P.Duration(2961926000);
    C.Duration_300000 = new P.Duration(300000);
    C.Duration_3000000 = new P.Duration(3000000);
    C.Duration_375000 = new P.Duration(375000);
    C.Duration_40000 = new P.Duration(40000);
    C.Duration_400000 = new P.Duration(400000);
    C.Duration_4000000 = new P.Duration(4000000);
    C.Duration_50000 = new P.Duration(50000);
    C.Duration_500000 = new P.Duration(500000);
    C.Duration_5000000 = new P.Duration(5000000);
    C.Duration_600000 = new P.Duration(600000);
    C.Duration_7000000 = new P.Duration(7000000);
    C.Duration_75000 = new P.Duration(75000);
    C.Duration_86400000000 = new P.Duration(864e8);
    C.Duration_m38000 = new P.Duration(-38000);
    C.EdgeInsetsDirectional_16_0_24_0 = new V.EdgeInsetsDirectional(16, 0, 24, 0);
    C.EdgeInsets_0_0_0_0 = new V.EdgeInsets(0, 0, 0, 0);
    C.EdgeInsets_0_0_0_10 = new V.EdgeInsets(0, 0, 0, 10);
    C.EdgeInsets_0_0_0_4 = new V.EdgeInsets(0, 0, 0, 4);
    C.EdgeInsets_0_0_0_6 = new V.EdgeInsets(0, 0, 0, 6);
    C.EdgeInsets_0_0_0_8 = new V.EdgeInsets(0, 0, 0, 8);
    C.EdgeInsets_0_0_16_40 = new V.EdgeInsets(0, 0, 16, 40);
    C.EdgeInsets_0_0_20_0 = new V.EdgeInsets(0, 0, 20, 0);
    C.EdgeInsets_0_0_4_0 = new V.EdgeInsets(0, 0, 4, 0);
    C.EdgeInsets_0_0_5_0 = new V.EdgeInsets(0, 0, 5, 0);
    C.EdgeInsets_0_0_8_0 = new V.EdgeInsets(0, 0, 8, 0);
    C.EdgeInsets_0_0_8_8 = new V.EdgeInsets(0, 0, 8, 8);
    C.EdgeInsets_0_12_0_12 = new V.EdgeInsets(0, 12, 0, 12);
    C.EdgeInsets_0_13_0_13 = new V.EdgeInsets(0, 13, 0, 13);
    C.EdgeInsets_0_14_0_14 = new V.EdgeInsets(0, 14, 0, 14);
    C.EdgeInsets_0_2_0_0 = new V.EdgeInsets(0, 2, 0, 0);
    C.EdgeInsets_0_4_0_4 = new V.EdgeInsets(0, 4, 0, 4);
    C.EdgeInsets_0_56_0_0 = new V.EdgeInsets(0, 56, 0, 0);
    C.EdgeInsets_0_5_0_8 = new V.EdgeInsets(0, 5, 0, 8);
    C.EdgeInsets_0_5_5_8 = new V.EdgeInsets(0, 5, 5, 8);
    C.EdgeInsets_0_6_0_0 = new V.EdgeInsets(0, 6, 0, 0);
    C.EdgeInsets_0_8_0_8 = new V.EdgeInsets(0, 8, 0, 8);
    C.EdgeInsets_10_0_0_0 = new V.EdgeInsets(10, 0, 0, 0);
    C.EdgeInsets_10_0_0_2 = new V.EdgeInsets(10, 0, 0, 2);
    C.EdgeInsets_12_12_12_12 = new V.EdgeInsets(12, 12, 12, 12);
    C.EdgeInsets_12_20_12_12 = new V.EdgeInsets(12, 20, 12, 12);
    C.EdgeInsets_12_24_12_16 = new V.EdgeInsets(12, 24, 12, 16);
    C.EdgeInsets_12_8_12_8 = new V.EdgeInsets(12, 8, 12, 8);
    C.EdgeInsets_15_0_0_0 = new V.EdgeInsets(15, 0, 0, 0);
    C.EdgeInsets_16_0_0_0 = new V.EdgeInsets(16, 0, 0, 0);
    C.EdgeInsets_16_0_16_0 = new V.EdgeInsets(16, 0, 16, 0);
    C.EdgeInsets_16_0_2_0 = new V.EdgeInsets(16, 0, 2, 0);
    C.EdgeInsets_16_13_16_13 = new V.EdgeInsets(16, 13, 16, 13);
    C.EdgeInsets_16_16_16_16 = new V.EdgeInsets(16, 16, 16, 16);
    C.EdgeInsets_16_16_16_8 = new V.EdgeInsets(16, 16, 16, 8);
    C.EdgeInsets_16_4_4_4 = new V.EdgeInsets(16, 4, 4, 4);
    C.EdgeInsets_16_8_16_8 = new V.EdgeInsets(16, 8, 16, 8);
    C.EdgeInsets_1_0_1_0 = new V.EdgeInsets(1, 0, 1, 0);
    C.EdgeInsets_1_1_1_1 = new V.EdgeInsets(1, 1, 1, 1);
    C.EdgeInsets_20_20_20_20 = new V.EdgeInsets(20, 20, 20, 20);
    C.EdgeInsets_20_2_20_2 = new V.EdgeInsets(20, 2, 20, 2);
    C.EdgeInsets_24_0_24_0 = new V.EdgeInsets(24, 0, 24, 0);
    C.EdgeInsets_24_0_24_24 = new V.EdgeInsets(24, 0, 24, 24);
    C.EdgeInsets_2_0_4_0 = new V.EdgeInsets(2, 0, 4, 0);
    C.EdgeInsets_2_2_2_1 = new V.EdgeInsets(2, 2, 2, 1);
    C.EdgeInsets_2_2_2_2 = new V.EdgeInsets(2, 2, 2, 2);
    C.EdgeInsets_30_0_0_15 = new V.EdgeInsets(30, 0, 0, 15);
    C.EdgeInsets_3_0_3_0 = new V.EdgeInsets(3, 0, 3, 0);
    C.EdgeInsets_40_24_40_24 = new V.EdgeInsets(40, 24, 40, 24);
    C.EdgeInsets_48_0_0_0 = new V.EdgeInsets(48, 0, 0, 0);
    C.EdgeInsets_4_0_4_0 = new V.EdgeInsets(4, 0, 4, 0);
    C.EdgeInsets_4_2_4_2 = new V.EdgeInsets(4, 2, 4, 2);
    C.EdgeInsets_4_4_4_4 = new V.EdgeInsets(4, 4, 4, 4);
    C.EdgeInsets_4_4_4_5 = new V.EdgeInsets(4, 4, 4, 5);
    C.EdgeInsets_56_0_0_0 = new V.EdgeInsets(56, 0, 0, 0);
    C.EdgeInsets_56_48_0_0 = new V.EdgeInsets(56, 48, 0, 0);
    C.EdgeInsets_5_0_0_2 = new V.EdgeInsets(5, 0, 0, 2);
    C.EdgeInsets_5_0_0_4 = new V.EdgeInsets(5, 0, 0, 4);
    C.EdgeInsets_5_4_0_0 = new V.EdgeInsets(5, 4, 0, 0);
    C.EdgeInsets_6_0_6_0 = new V.EdgeInsets(6, 0, 6, 0);
    C.EdgeInsets_6_2_6_2 = new V.EdgeInsets(6, 2, 6, 2);
    C.EdgeInsets_8_0_0_0 = new V.EdgeInsets(8, 0, 0, 0);
    C.EdgeInsets_8_0_8_0 = new V.EdgeInsets(8, 0, 8, 0);
    C.EdgeInsets_8_0_8_16 = new V.EdgeInsets(8, 0, 8, 16);
    C.EdgeInsets_8_2_8_2 = new V.EdgeInsets(8, 2, 8, 2);
    C.EdgeInsets_8_8_0_0 = new V.EdgeInsets(8, 8, 0, 0);
    C.EdgeInsets_8_8_2_56 = new V.EdgeInsets(8, 8, 2, 56);
    C.EdgeInsets_8_8_48_2 = new V.EdgeInsets(8, 8, 48, 2);
    C.EdgeInsets_8_8_8_8 = new V.EdgeInsets(8, 8, 8, 8);
    C.EdgeInsets_Otk = new V.EdgeInsets(0.5, 1, 0.5, 1);
    C.ElevatedButtonThemeData_null = new T.ElevatedButtonThemeData(null);
    C.EnabledState_0 = new H.EnabledState(0, "EnabledState.noOpinion");
    C.EnabledState_1 = new H.EnabledState(1, "EnabledState.enabled");
    C.EnabledState_2 = new H.EnabledState(2, "EnabledState.disabled");
    C.FlexFit_0 = new F.FlexFit(0, "FlexFit.tight");
    C.SizedBox_null_null_null_null = new T.SizedBox(null, null, null, null);
    C.Expanded_9Fi0 = new T.Expanded(1, C.FlexFit_0, C.SizedBox_null_null_null_null, null);
    C.SizedBox_8_null_null_null = new T.SizedBox(8, null, null, null);
    C.Expanded_9Fi = new T.Expanded(1, C.FlexFit_0, C.SizedBox_8_null_null_null, null);
    C.Divider_null_null_null_null = new Z.Divider(null, null, null, null);
    C.Expanded_CpJ = new T.Expanded(1, C.FlexFit_0, C.Divider_null_null_null_null, null);
    C.Text_ERv = new L.Text("No port selected", null, null, null, null, null, null, null, null, null, null);
    C.Center_QSQ = new T.Center(C.Alignment_0_0, null, null, C.Text_ERv, null);
    C.Expanded_Q43 = new T.Expanded(1, C.FlexFit_0, C.Center_QSQ, null);
    C.ValueKey_qiL = new D.ValueKey("Allocation Table", type$.ValueKey_legacy_String);
    C.AllocationTableView_6t1 = new O.AllocationTableView(C.ValueKey_qiL);
    C.Expanded_ciW = new T.Expanded(1, C.FlexFit_0, C.AllocationTableView_6t1, null);
    C.FilterQuality_0 = new P.FilterQuality(0, "FilterQuality.none");
    C.FilterQuality_1 = new P.FilterQuality(1, "FilterQuality.low");
    C.FilterQuality_2 = new P.FilterQuality(2, "FilterQuality.medium");
    C.FilterQuality_3 = new P.FilterQuality(3, "FilterQuality.high");
    C.Size_0_0 = new P.Size(0, 0);
    C.FittedSizes_46c = new U.FittedSizes(C.Size_0_0, C.Size_0_0);
    C.FixedValueListenable_0 = new A.FixedValueListenable(0, H.findType("FixedValueListenable<int*>"));
    C.FixedValueListenable_false = new A.FixedValueListenable(false, type$.FixedValueListenable_legacy_bool);
    C.FixedValueListenable_true = new A.FixedValueListenable(true, type$.FixedValueListenable_legacy_bool);
    C.FlexFit_1 = new F.FlexFit(1, "FlexFit.loose");
    C.SizedBox_null_37_null_null = new T.SizedBox(null, 37, null, null);
    C.Flexible_sxw = new T.Flexible(1, C.FlexFit_1, C.SizedBox_null_37_null_null, null);
    C.FloatingActionButtonThemeData_j4A = new S.FloatingActionButtonThemeData(null, null, null, null, null, null, null, null, null, null, null, null);
    C.FloatingCursorDragState_0 = new N.FloatingCursorDragState(0, "FloatingCursorDragState.Start");
    C.FloatingCursorDragState_1 = new N.FloatingCursorDragState(1, "FloatingCursorDragState.Update");
    C.FloatingCursorDragState_2 = new N.FloatingCursorDragState(2, "FloatingCursorDragState.End");
    C.FloatingLabelBehavior_0 = new L.FloatingLabelBehavior(0, "FloatingLabelBehavior.never");
    C.FloatingLabelBehavior_2 = new L.FloatingLabelBehavior(2, "FloatingLabelBehavior.always");
    C.FlutterTreeType_0 = new E.FlutterTreeType(0, "FlutterTreeType.widget");
    C.FlutterTreeType_1 = new E.FlutterTreeType(1, "FlutterTreeType.renderObject");
    C.FocusHighlightMode_0 = new O.FocusHighlightMode(0, "FocusHighlightMode.touch");
    C.FocusHighlightMode_1 = new O.FocusHighlightMode(1, "FocusHighlightMode.traditional");
    C.FocusHighlightStrategy_0 = new O.FocusHighlightStrategy(0, "FocusHighlightStrategy.automatic");
    C.FocusHighlightStrategy_1 = new O.FocusHighlightStrategy(1, "FocusHighlightStrategy.alwaysTouch");
    C.FocusHighlightStrategy_2 = new O.FocusHighlightStrategy(2, "FocusHighlightStrategy.alwaysTraditional");
    C.FontStyle_0 = new P.FontStyle(0, "FontStyle.normal");
    C.FontStyle_1 = new P.FontStyle(1, "FontStyle.italic");
    C.FontWeight_0 = new P.FontWeight(0);
    C.FontWeight_3 = new P.FontWeight(3);
    C.FontWeight_6 = new P.FontWeight(6);
    C.FormatException_Qi2 = new P.FormatException("Invalid method call", null, null);
    C.FormatException_iDw = new P.FormatException("Expected envelope, got nothing", null, null);
    C.FormatException_oCg = new P.FormatException("Message corrupted", null, null);
    C.FormatException_oQ2 = new P.FormatException("Too many percent/permill", null, null);
    C.FormatException_pSr = new P.FormatException("Invalid envelope", null, null);
    C.Format_0 = new U.Format(0, "Format.argb");
    C.Format_1 = new U.Format(1, "Format.abgr");
    C.Format_2 = new U.Format(2, "Format.rgba");
    C.Format_3 = new U.Format(3, "Format.bgra");
    C.Format_4 = new U.Format(4, "Format.rgb");
    C.Format_5 = new U.Format(5, "Format.bgr");
    C.Format_6 = new U.Format(6, "Format.luminance");
    C.GestureDisposition_0 = new D.GestureDisposition(0, "GestureDisposition.accepted");
    C.GestureDisposition_1 = new D.GestureDisposition(1, "GestureDisposition.rejected");
    C.GestureMode_0 = new H.GestureMode(0, "GestureMode.pointerEvents");
    C.GestureMode_1 = new H.GestureMode(1, "GestureMode.browserGestures");
    C.GestureRecognizerState_0 = new S.GestureRecognizerState(0, "GestureRecognizerState.ready");
    C.GestureRecognizerState_1 = new S.GestureRecognizerState(1, "GestureRecognizerState.possible");
    C.GestureRecognizerState_2 = new S.GestureRecognizerState(2, "GestureRecognizerState.defunct");
    C.GrowthDirection_0 = new G.GrowthDirection(0, "GrowthDirection.forward");
    C.GrowthDirection_1 = new G.GrowthDirection(1, "GrowthDirection.reverse");
    C.HeroFlightDirection_0 = new T.HeroFlightDirection(0, "HeroFlightDirection.push");
    C.HeroFlightDirection_1 = new T.HeroFlightDirection(1, "HeroFlightDirection.pop");
    C.HitTestBehavior_0 = new E.HitTestBehavior(0, "HitTestBehavior.deferToChild");
    C.HitTestBehavior_1 = new E.HitTestBehavior(1, "HitTestBehavior.opaque");
    C.HitTestBehavior_2 = new E.HitTestBehavior(2, "HitTestBehavior.translucent");
    C.IconData_57569_MaterialIcons_false = new X.IconData(57569, "MaterialIcons", false);
    C.IconData_57686_MaterialIcons_false = new X.IconData(57686, "MaterialIcons", false);
    C.IconData_57694_MaterialIcons_true = new X.IconData(57694, "MaterialIcons", true);
    C.IconData_57695_MaterialIcons_true = new X.IconData(57695, "MaterialIcons", true);
    C.IconData_57704_MaterialIcons_false = new X.IconData(57704, "MaterialIcons", false);
    C.IconData_57706_MaterialIcons_false = new X.IconData(57706, "MaterialIcons", false);
    C.IconData_57744_MaterialIcons_false = new X.IconData(57744, "MaterialIcons", false);
    C.IconData_57777_MaterialIcons_false = new X.IconData(57777, "MaterialIcons", false);
    C.IconData_57785_MaterialIcons_false = new X.IconData(57785, "MaterialIcons", false);
    C.IconData_57862_MaterialIcons_false = new X.IconData(57862, "MaterialIcons", false);
    C.IconData_57925_MaterialIcons_false = new X.IconData(57925, "MaterialIcons", false);
    C.IconData_57926_MaterialIcons_false = new X.IconData(57926, "MaterialIcons", false);
    C.IconData_57957_MaterialIcons_false = new X.IconData(57957, "MaterialIcons", false);
    C.IconData_57962_MaterialIcons_false = new X.IconData(57962, "MaterialIcons", false);
    C.IconData_57966_MaterialIcons_false = new X.IconData(57966, "MaterialIcons", false);
    C.IconData_57984_MaterialIcons_false = new X.IconData(57984, "MaterialIcons", false);
    C.IconData_58019_MaterialIcons_false = new X.IconData(58019, "MaterialIcons", false);
    C.IconData_58128_MaterialIcons_false = new X.IconData(58128, "MaterialIcons", false);
    C.IconData_58175_MaterialIcons_false = new X.IconData(58175, "MaterialIcons", false);
    C.IconData_58195_MaterialIcons_false = new X.IconData(58195, "MaterialIcons", false);
    C.IconData_58198_MaterialIcons_false = new X.IconData(58198, "MaterialIcons", false);
    C.IconData_58208_MaterialIcons_true = new X.IconData(58208, "MaterialIcons", true);
    C.IconData_58209_MaterialIcons_true = new X.IconData(58209, "MaterialIcons", true);
    C.IconData_58492_MaterialIcons_false = new X.IconData(58492, "MaterialIcons", false);
    C.IconData_58571_MaterialIcons_false = new X.IconData(58571, "MaterialIcons", false);
    C.IconData_58644_MaterialIcons_false = new X.IconData(58644, "MaterialIcons", false);
    C.IconData_58751_MaterialIcons_false = new X.IconData(58751, "MaterialIcons", false);
    C.IconData_58753_MaterialIcons_false = new X.IconData(58753, "MaterialIcons", false);
    C.IconData_58783_MaterialIcons_true = new X.IconData(58783, "MaterialIcons", true);
    C.IconData_58886_MaterialIcons_false = new X.IconData(58886, "MaterialIcons", false);
    C.IconData_58889_MaterialIcons_false = new X.IconData(58889, "MaterialIcons", false);
    C.IconData_59021_MaterialIcons_false = new X.IconData(59021, "MaterialIcons", false);
    C.IconData_59022_MaterialIcons_false = new X.IconData(59022, "MaterialIcons", false);
    C.IconData_60111_Codicon_false = new X.IconData(60111, "Codicon", false);
    C.IconData_60113_Codicon_false = new X.IconData(60113, "Codicon", false);
    C.IconData_60116_Codicon_false = new X.IconData(60116, "Codicon", false);
    C.IconData_60117_Codicon_false = new X.IconData(60117, "Codicon", false);
    C.IconData_60118_Codicon_false = new X.IconData(60118, "Codicon", false);
    C.IconData_983712_MaterialIcons_false = new X.IconData(983712, "MaterialIcons", false);
    C.IconThemeData_Color_3707764736_null_null = new T.IconThemeData(C.Color_3707764736, null, null);
    C.IconThemeData_Color_4278190080_1_24 = new T.IconThemeData(C.Color_4278190080, 1, 24);
    C.IconThemeData_Color_4278190080_null_null = new T.IconThemeData(C.Color_4278190080, null, null);
    C.IconThemeData_Color_4294967295_null_null = new T.IconThemeData(C.Color_4294967295, null, null);
    C.Icon_8aB0 = new L.Icon(C.IconData_57926_MaterialIcons_false, null, null, null);
    C.Icon_8aB = new L.Icon(C.IconData_57926_MaterialIcons_false, 16, null, null);
    C.Icon_Lt0 = new L.Icon(C.IconData_58751_MaterialIcons_false, 20, null, null);
    C.Icon_M1p = new L.Icon(C.IconData_60118_Codicon_false, 16, C.Color_4278190080, null);
    C.Icon_NYu0 = new L.Icon(C.IconData_57957_MaterialIcons_false, null, null, null);
    C.Icon_NYu = new L.Icon(C.IconData_57957_MaterialIcons_false, 0, null, null);
    C.IconData_58173_MaterialIcons_false = new X.IconData(58173, "MaterialIcons", false);
    C.Icon_OLv = new L.Icon(C.IconData_58173_MaterialIcons_false, 20, null, null);
    C.IconData_57496_MaterialIcons_false = new X.IconData(57496, "MaterialIcons", false);
    C.Icon_QPD = new L.Icon(C.IconData_57496_MaterialIcons_false, null, null, null);
    C.Icon_QPD0 = new L.Icon(C.IconData_57496_MaterialIcons_false, 16, null, null);
    C.IconData_58132_MaterialIcons_false = new X.IconData(58132, "MaterialIcons", false);
    C.Icon_QQ3 = new L.Icon(C.IconData_58132_MaterialIcons_false, 20, null, null);
    C.IconData_58332_MaterialIcons_false = new X.IconData(58332, "MaterialIcons", false);
    C.Icon_Ulp = new L.Icon(C.IconData_58332_MaterialIcons_false, null, null, null);
    C.IconData_58372_MaterialIcons_false = new X.IconData(58372, "MaterialIcons", false);
    C.Icon_Ulp0 = new L.Icon(C.IconData_58372_MaterialIcons_false, 20, null, null);
    C.IconData_58727_MaterialIcons_false = new X.IconData(58727, "MaterialIcons", false);
    C.Icon_f1Q = new L.Icon(C.IconData_58727_MaterialIcons_false, null, null, null);
    C.Icon_gvg = new L.Icon(C.IconData_58753_MaterialIcons_false, null, null, null);
    C.IconData_58123_MaterialIcons_true = new X.IconData(58123, "MaterialIcons", true);
    C.Icon_mRn0 = new L.Icon(C.IconData_58123_MaterialIcons_true, 16, null, null);
    C.Icon_mRn = new L.Icon(C.IconData_58123_MaterialIcons_true, 20, null, null);
    C.IconData_57645_MaterialIcons_true = new X.IconData(57645, "MaterialIcons", true);
    C.Icon_nZ3 = new L.Icon(C.IconData_57645_MaterialIcons_true, null, null, null);
    C.IconData_58162_MaterialIcons_false = new X.IconData(58162, "MaterialIcons", false);
    C.Icon_oyJ = new L.Icon(C.IconData_58162_MaterialIcons_false, 20, null, null);
    C.Icon_udS = new L.Icon(C.IconData_58195_MaterialIcons_false, null, null, null);
    C.Icon_us1 = new L.Icon(C.IconData_58198_MaterialIcons_false, null, null, null);
    C.Color_4293457385 = new P.Color(4293457385);
    C.Color_4291356361 = new P.Color(4291356361);
    C.Color_4289058471 = new P.Color(4289058471);
    C.Color_4286695300 = new P.Color(4286695300);
    C.Color_4284922730 = new P.Color(4284922730);
    C.Color_4283215696 = new P.Color(4283215696);
    C.Color_4282622023 = new P.Color(4282622023);
    C.Color_4281896508 = new P.Color(4281896508);
    C.Color_4281236786 = new P.Color(4281236786);
    C.Color_4279983648 = new P.Color(4279983648);
    C.Map_JNEaM = new H.GeneralConstantMap([50, C.Color_4293457385, 100, C.Color_4291356361, 200, C.Color_4289058471, 300, C.Color_4286695300, 400, C.Color_4284922730, 500, C.Color_4283215696, 600, C.Color_4282622023, 700, C.Color_4281896508, 800, C.Color_4281236786, 900, C.Color_4279983648], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.MaterialColor_Map_JNEaM_4283215696 = new E.MaterialColor(C.Map_JNEaM, 4283215696);
    C.Icon_vlu = new L.Icon(C.IconData_60111_Codicon_false, 16, C.MaterialColor_Map_JNEaM_4283215696, null);
    C.IconData_57621_MaterialIcons_false = new X.IconData(57621, "MaterialIcons", false);
    C.Icon_yDH = new L.Icon(C.IconData_57621_MaterialIcons_false, 20, null, null);
    C.ImageByteFormat_0 = new P.ImageByteFormat(0, "ImageByteFormat.rawRgba");
    C.ImageRepeat_0 = new X.ImageRepeat(0, "ImageRepeat.repeat");
    C.ImageRepeat_1 = new X.ImageRepeat(1, "ImageRepeat.repeatX");
    C.ImageRepeat_2 = new X.ImageRepeat(2, "ImageRepeat.repeatY");
    C.ImageRepeat_3 = new X.ImageRepeat(3, "ImageRepeat.noRepeat");
    C.OutlineInputBorder_gg4 = new F.OutlineInputBorder(4, C.BorderRadius_tLn0, C.BorderSide_06g);
    C.BorderSide_8aB = new Y.BorderSide(C.Color_4278190080, 1, C.BorderStyle_1);
    C.OutlineInputBorder_BOY = new F.OutlineInputBorder(4, C.BorderRadius_tLn0, C.BorderSide_8aB);
    C.InputDecoration_L6o = new L.InputDecoration(null, "Eval", null, null, null, null, null, null, null, null, null, null, null, true, null, null, C.EdgeInsets_8_8_8_8, false, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, C.OutlineInputBorder_gg4, null, null, C.OutlineInputBorder_gg4, C.OutlineInputBorder_BOY, true, null, null, null);
    C.InputDecoration_aL3 = new L.InputDecoration(null, "Filter", null, null, null, null, null, null, null, null, null, null, null, true, 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, C.OutlineInputBorder_BOY, true, null, null, null);
    C.InputDecoration_c0h = new L.InputDecoration(null, null, null, null, null, null, null, null, null, null, null, null, null, true, 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, true, null, null, null);
    C.Color_4294638330 = new P.Color(4294638330);
    C.Color_4294309365 = new P.Color(4294309365);
    C.Color_4293848814 = new P.Color(4293848814);
    C.Color_4292927712 = new P.Color(4292927712);
    C.Color_4292269782 = new P.Color(4292269782);
    C.Color_4288585374 = new P.Color(4288585374);
    C.Color_4280361249 = new P.Color(4280361249);
    C.Map_HFpTk = new H.GeneralConstantMap([50, C.Color_4294638330, 100, C.Color_4294309365, 200, C.Color_4293848814, 300, C.Color_4292927712, 350, C.Color_4292269782, 400, C.Color_4290624957, 500, C.Color_4288585374, 600, C.Color_4285887861, 700, C.Color_4284572001, 800, C.Color_4282532418, 850, C.Color_4281348144, 900, C.Color_4280361249], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.MaterialColor_Map_HFpTk_4288585374 = new E.MaterialColor(C.Map_HFpTk, 4288585374);
    C.BorderSide_Ynd = new Y.BorderSide(C.MaterialColor_Map_HFpTk_4288585374, 0.5, C.BorderStyle_1);
    C.OutlineInputBorder_fnX = new F.OutlineInputBorder(4, C.BorderRadius_tLn0, C.BorderSide_Ynd);
    C.InputDecoration_eFJ = new L.InputDecoration(null, null, null, null, null, null, null, null, null, null, null, null, null, true, 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, C.OutlineInputBorder_fnX, C.OutlineInputBorder_BOY, true, null, null, null);
    C.InspectorScreenBody_null = new B.InspectorScreenBody(null);
    C.IconData_61739_Octicons_false = new X.IconData(61739, "Octicons", false);
    C.InspectorScreen_6TW = new B.InspectorScreen("inspector", "Flutter Inspector", C.IconData_61739_Octicons_false, null, "package:flutter/src/widgets/binding.dart", false, true, false, false, null);
    C.Cubic_iYc = new Z.Cubic(0.1, 0, 0.45, 1);
    C.Interval_2ds = new Z.Interval(0.7038888888888889, 1, C.Cubic_iYc);
    C.Interval_75R0 = new Z.Interval(0, 0.1, C.C__Linear);
    C.Interval_75R1 = new Z.Interval(0, 0.25, C.C__Linear);
    C.Interval_75R4 = new Z.Interval(0, 0.3333333333333333, C.C__Linear);
    C.Interval_75R5 = new Z.Interval(0, 0.6666666666666666, C.C__Linear);
    C.Interval_75R3 = new Z.Interval(0.25, 0.5, C.C__Linear);
    C.Interval_75R = new Z.Interval(0.6, 1, C.C__Linear);
    C.Interval_75R2 = new Z.Interval(0.75, 1, C.C__Linear);
    C.Cubic_7pl = new Z.Cubic(0.2, 0, 0.8, 1);
    C.Interval_8Wd = new Z.Interval(0, 0.4166666666666667, C.Cubic_7pl);
    C.Interval_8qt = new Z.Interval(0.72, 1, C.Cubic_ifx);
    C.Interval_E4y = new Z.Interval(0.5, 1, C.Cubic_JUR);
    C.Interval_ap6 = new Z.Interval(0.45, 1, C.Cubic_ifx);
    C.Interval_oqF0 = new Z.Interval(0, 0.5, C.Cubic_ifx);
    C.Interval_oqF = new Z.Interval(0.5, 1, C.Cubic_ifx);
    C.Cubic_WGA = new Z.Cubic(0, 0, 0.65, 1);
    C.Interval_q3Z = new Z.Interval(0.5555555555555556, 0.8705555555555555, C.Cubic_WGA);
    C.Cubic_XVM = new Z.Cubic(0.4, 0, 1, 1);
    C.Interval_unQ = new Z.Interval(0.185, 0.6016666666666667, C.Cubic_XVM);
    C.IntrinsicColumnWidth_1 = new S.IntrinsicColumnWidth(1);
    C.IntrinsicColumnWidth_null = new S.IntrinsicColumnWidth(null);
    C.JsonDecoder_null = new P.JsonDecoder(null);
    C.JsonEncoder_null_null = new P.JsonEncoder(null, null);
    C.KeyEventResult_0 = new O.KeyEventResult(0, "KeyEventResult.handled");
    C.KeyEventResult_1 = new O.KeyEventResult(1, "KeyEventResult.ignored");
    C.KeyEventResult_2 = new O.KeyEventResult(2, "KeyEventResult.skipRemainingHandlers");
    C.KeyEventType_0 = new P.KeyEventType(0, "KeyEventType.down");
    C.KeyEventType_1 = new P.KeyEventType(1, "KeyEventType.up");
    C.KeyEventType_2 = new P.KeyEventType(2, "KeyEventType.repeat");
    C.KeyboardSide_0 = new B.KeyboardSide(0, "KeyboardSide.any");
    C.KeyboardSide_3 = new B.KeyboardSide(3, "KeyboardSide.all");
    C.Latin1Decoder_false_255 = new P.Latin1Decoder(false, 255);
    C.Latin1Encoder_255 = new P.Latin1Encoder(255);
    C.LegacyPerformanceScreenBody_null = new R.LegacyPerformanceScreenBody(null);
    C.IconData_61823_Octicons_false = new X.IconData(61823, "Octicons", false);
    C.LegacyPerformanceScreen_cc6 = new R.LegacyPerformanceScreen("legacy-performance", "Performance", C.IconData_61823_Octicons_false, null, "package:flutter/src/widgets/binding.dart", true, false, false, true, R.performance_screen0_LegacyPerformanceScreen__shouldShowForFlutterVersion$closure());
    C.Level_INFO_800 = new Y.Level("INFO", 800);
    C.Level_SEVERE_1000 = new Y.Level("SEVERE", 1000);
    C.Level_WARNING_900 = new Y.Level("WARNING", 900);
    C.LineBreakType_2 = new H.LineBreakType(2, "LineBreakType.mandatory");
    C.LineBreakResult_4QF = new H.LineBreakResult(0, 0, 0, C.LineBreakType_2);
    C.LineBreakType_0 = new H.LineBreakType(0, "LineBreakType.opportunity");
    C.LineBreakType_1 = new H.LineBreakType(1, "LineBreakType.prohibited");
    C.LineBreakType_3 = new H.LineBreakType(3, "LineBreakType.endOfText");
    C.LineCharProperty_0 = new H.LineCharProperty(0, "LineCharProperty.CM");
    C.LineCharProperty_1 = new H.LineCharProperty(1, "LineCharProperty.BA");
    C.LineCharProperty_10 = new H.LineCharProperty(10, "LineCharProperty.PO");
    C.LineCharProperty_11 = new H.LineCharProperty(11, "LineCharProperty.OP");
    C.LineCharProperty_12 = new H.LineCharProperty(12, "LineCharProperty.CP");
    C.LineCharProperty_13 = new H.LineCharProperty(13, "LineCharProperty.IS");
    C.LineCharProperty_14 = new H.LineCharProperty(14, "LineCharProperty.HY");
    C.LineCharProperty_15 = new H.LineCharProperty(15, "LineCharProperty.SY");
    C.LineCharProperty_16 = new H.LineCharProperty(16, "LineCharProperty.NU");
    C.LineCharProperty_17 = new H.LineCharProperty(17, "LineCharProperty.CL");
    C.LineCharProperty_18 = new H.LineCharProperty(18, "LineCharProperty.GL");
    C.LineCharProperty_19 = new H.LineCharProperty(19, "LineCharProperty.BB");
    C.LineCharProperty_2 = new H.LineCharProperty(2, "LineCharProperty.LF");
    C.LineCharProperty_20 = new H.LineCharProperty(20, "LineCharProperty.HL");
    C.LineCharProperty_21 = new H.LineCharProperty(21, "LineCharProperty.JL");
    C.LineCharProperty_22 = new H.LineCharProperty(22, "LineCharProperty.JV");
    C.LineCharProperty_23 = new H.LineCharProperty(23, "LineCharProperty.JT");
    C.LineCharProperty_24 = new H.LineCharProperty(24, "LineCharProperty.NS");
    C.LineCharProperty_25 = new H.LineCharProperty(25, "LineCharProperty.ZW");
    C.LineCharProperty_26 = new H.LineCharProperty(26, "LineCharProperty.ZWJ");
    C.LineCharProperty_27 = new H.LineCharProperty(27, "LineCharProperty.B2");
    C.LineCharProperty_28 = new H.LineCharProperty(28, "LineCharProperty.IN");
    C.LineCharProperty_29 = new H.LineCharProperty(29, "LineCharProperty.WJ");
    C.LineCharProperty_3 = new H.LineCharProperty(3, "LineCharProperty.BK");
    C.LineCharProperty_30 = new H.LineCharProperty(30, "LineCharProperty.ID");
    C.LineCharProperty_31 = new H.LineCharProperty(31, "LineCharProperty.EB");
    C.LineCharProperty_32 = new H.LineCharProperty(32, "LineCharProperty.H2");
    C.LineCharProperty_33 = new H.LineCharProperty(33, "LineCharProperty.H3");
    C.LineCharProperty_34 = new H.LineCharProperty(34, "LineCharProperty.CB");
    C.LineCharProperty_35 = new H.LineCharProperty(35, "LineCharProperty.RI");
    C.LineCharProperty_36 = new H.LineCharProperty(36, "LineCharProperty.EM");
    C.LineCharProperty_4 = new H.LineCharProperty(4, "LineCharProperty.CR");
    C.LineCharProperty_5 = new H.LineCharProperty(5, "LineCharProperty.SP");
    C.LineCharProperty_6 = new H.LineCharProperty(6, "LineCharProperty.EX");
    C.LineCharProperty_7 = new H.LineCharProperty(7, "LineCharProperty.QU");
    C.LineCharProperty_8 = new H.LineCharProperty(8, "LineCharProperty.AL");
    C.LineCharProperty_9 = new H.LineCharProperty(9, "LineCharProperty.PR");
    C.ListTileControlAffinity_0 = new Q.ListTileControlAffinity(0, "ListTileControlAffinity.leading");
    C.ListTileControlAffinity_1 = new Q.ListTileControlAffinity(1, "ListTileControlAffinity.trailing");
    C.ListTileControlAffinity_2 = new Q.ListTileControlAffinity(2, "ListTileControlAffinity.platform");
    C.ListTileStyle_0 = new Q.ListTileStyle(0, "ListTileStyle.list");
    C.ListTileStyle_1 = new Q.ListTileStyle(1, "ListTileStyle.drawer");
    C.ListTileTheme_46y = new Q.ListTileTheme(false, null, C.ListTileStyle_0, null, null, null, null, null, null, null, null, null, null, C.SizedBox_null_null_null_null, null);
    C.WordCharProperty_0 = new H.WordCharProperty(0, "WordCharProperty.DoubleQuote");
    C.WordCharProperty_1 = new H.WordCharProperty(1, "WordCharProperty.SingleQuote");
    C.WordCharProperty_2 = new H.WordCharProperty(2, "WordCharProperty.HebrewLetter");
    C.WordCharProperty_3 = new H.WordCharProperty(3, "WordCharProperty.CR");
    C.WordCharProperty_4 = new H.WordCharProperty(4, "WordCharProperty.LF");
    C.WordCharProperty_5 = new H.WordCharProperty(5, "WordCharProperty.Newline");
    C.WordCharProperty_6 = new H.WordCharProperty(6, "WordCharProperty.Extend");
    C.WordCharProperty_7 = new H.WordCharProperty(7, "WordCharProperty.RegionalIndicator");
    C.WordCharProperty_8 = new H.WordCharProperty(8, "WordCharProperty.Format");
    C.WordCharProperty_9 = new H.WordCharProperty(9, "WordCharProperty.Katakana");
    C.WordCharProperty_10 = new H.WordCharProperty(10, "WordCharProperty.ALetter");
    C.WordCharProperty_11 = new H.WordCharProperty(11, "WordCharProperty.MidLetter");
    C.WordCharProperty_12 = new H.WordCharProperty(12, "WordCharProperty.MidNum");
    C.WordCharProperty_13 = new H.WordCharProperty(13, "WordCharProperty.MidNumLet");
    C.WordCharProperty_14 = new H.WordCharProperty(14, "WordCharProperty.Numeric");
    C.WordCharProperty_15 = new H.WordCharProperty(15, "WordCharProperty.ExtendNumLet");
    C.WordCharProperty_16 = new H.WordCharProperty(16, "WordCharProperty.ZWJ");
    C.WordCharProperty_17 = new H.WordCharProperty(17, "WordCharProperty.WSegSpace");
    C.WordCharProperty_18 = new H.WordCharProperty(18, "WordCharProperty.Unknown");
    C.List_0 = H._setArrayType(makeConstList([C.WordCharProperty_0, C.WordCharProperty_1, C.WordCharProperty_2, C.WordCharProperty_3, C.WordCharProperty_4, C.WordCharProperty_5, C.WordCharProperty_6, C.WordCharProperty_7, C.WordCharProperty_8, C.WordCharProperty_9, C.WordCharProperty_10, C.WordCharProperty_11, C.WordCharProperty_12, C.WordCharProperty_13, C.WordCharProperty_14, C.WordCharProperty_15, C.WordCharProperty_16, C.WordCharProperty_17, C.WordCharProperty_18]), H.findType("JSArray<WordCharProperty*>"));
    C.List_0W6 = H._setArrayType(makeConstList([V.vp8_filter_VP8Filter_DC8uv$closure(), V.vp8_filter_VP8Filter_TM8uv$closure(), V.vp8_filter_VP8Filter_VE8uv$closure(), V.vp8_filter_VP8Filter_HE8uv$closure(), V.vp8_filter_VP8Filter_DC8uvNoTop$closure(), V.vp8_filter_VP8Filter_DC8uvNoLeft$closure(), V.vp8_filter_VP8Filter_DC8uvNoTopLeft$closure()]), type$.JSArray_of_legacy_void_Function_legacy_InputBuffer);
    C.List_0_0_0 = H._setArrayType(makeConstList([0, 0, 0]), type$.JSArray_legacy_double);
    C.List_0_1 = H._setArrayType(makeConstList([0, 1]), type$.JSArray_legacy_double);
    C.List_0_2_8 = H._setArrayType(makeConstList([0, 2, 8]), type$.JSArray_legacy_int);
    C.List_0_4_2_1 = H._setArrayType(makeConstList([0, 4, 2, 1]), type$.JSArray_legacy_int);
    C.List_200_0 = H._setArrayType(makeConstList([200, 0]), type$.JSArray_legacy_double);
    C.List_200_200 = H._setArrayType(makeConstList([200, 200]), type$.JSArray_legacy_double);
    C.List_200_280 = H._setArrayType(makeConstList([200, 280]), type$.JSArray_legacy_double);
    C.FontWeight_1 = new P.FontWeight(1);
    C.FontWeight_2 = new P.FontWeight(2);
    C.FontWeight_4 = new P.FontWeight(4);
    C.FontWeight_5 = new P.FontWeight(5);
    C.FontWeight_7 = new P.FontWeight(7);
    C.FontWeight_8 = new P.FontWeight(8);
    C.List_27p = H._setArrayType(makeConstList([C.FontWeight_0, C.FontWeight_1, C.FontWeight_2, C.FontWeight_3, C.FontWeight_4, C.FontWeight_5, C.FontWeight_6, C.FontWeight_7, C.FontWeight_8]), H.findType("JSArray<FontWeight*>"));
    C.List_292_260_226_226 = H._setArrayType(makeConstList([292, 260, 226, 226]), type$.JSArray_legacy_int);
    C.List_2Bc = H._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_legacy_int);
    C.List_2Vk = H._setArrayType(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), type$.JSArray_legacy_int);
    C.List_2Vk0 = H._setArrayType(makeConstList([47, 47, 47, 47, 72, 97, 122, 147]), type$.JSArray_legacy_int);
    C.List_2Vk1 = H._setArrayType(makeConstList([137, 80, 78, 71, 13, 10, 26, 10]), type$.JSArray_legacy_int);
    C.List_2Zi = H._setArrayType(makeConstList(["*::class", "*::dir", "*::draggable", "*::hidden", "*::id", "*::inert", "*::itemprop", "*::itemref", "*::itemscope", "*::lang", "*::spellcheck", "*::title", "*::translate", "A::accesskey", "A::coords", "A::hreflang", "A::name", "A::shape", "A::tabindex", "A::target", "A::type", "AREA::accesskey", "AREA::alt", "AREA::coords", "AREA::nohref", "AREA::shape", "AREA::tabindex", "AREA::target", "AUDIO::controls", "AUDIO::loop", "AUDIO::mediagroup", "AUDIO::muted", "AUDIO::preload", "BDO::dir", "BODY::alink", "BODY::bgcolor", "BODY::link", "BODY::text", "BODY::vlink", "BR::clear", "BUTTON::accesskey", "BUTTON::disabled", "BUTTON::name", "BUTTON::tabindex", "BUTTON::type", "BUTTON::value", "CANVAS::height", "CANVAS::width", "CAPTION::align", "COL::align", "COL::char", "COL::charoff", "COL::span", "COL::valign", "COL::width", "COLGROUP::align", "COLGROUP::char", "COLGROUP::charoff", "COLGROUP::span", "COLGROUP::valign", "COLGROUP::width", "COMMAND::checked", "COMMAND::command", "COMMAND::disabled", "COMMAND::label", "COMMAND::radiogroup", "COMMAND::type", "DATA::value", "DEL::datetime", "DETAILS::open", "DIR::compact", "DIV::align", "DL::compact", "FIELDSET::disabled", "FONT::color", "FONT::face", "FONT::size", "FORM::accept", "FORM::autocomplete", "FORM::enctype", "FORM::method", "FORM::name", "FORM::novalidate", "FORM::target", "FRAME::name", "H1::align", "H2::align", "H3::align", "H4::align", "H5::align", "H6::align", "HR::align", "HR::noshade", "HR::size", "HR::width", "HTML::version", "IFRAME::align", "IFRAME::frameborder", "IFRAME::height", "IFRAME::marginheight", "IFRAME::marginwidth", "IFRAME::width", "IMG::align", "IMG::alt", "IMG::border", "IMG::height", "IMG::hspace", "IMG::ismap", "IMG::name", "IMG::usemap", "IMG::vspace", "IMG::width", "INPUT::accept", "INPUT::accesskey", "INPUT::align", "INPUT::alt", "INPUT::autocomplete", "INPUT::autofocus", "INPUT::checked", "INPUT::disabled", "INPUT::inputmode", "INPUT::ismap", "INPUT::list", "INPUT::max", "INPUT::maxlength", "INPUT::min", "INPUT::multiple", "INPUT::name", "INPUT::placeholder", "INPUT::readonly", "INPUT::required", "INPUT::size", "INPUT::step", "INPUT::tabindex", "INPUT::type", "INPUT::usemap", "INPUT::value", "INS::datetime", "KEYGEN::disabled", "KEYGEN::keytype", "KEYGEN::name", "LABEL::accesskey", "LABEL::for", "LEGEND::accesskey", "LEGEND::align", "LI::type", "LI::value", "LINK::sizes", "MAP::name", "MENU::compact", "MENU::label", "MENU::type", "METER::high", "METER::low", "METER::max", "METER::min", "METER::value", "OBJECT::typemustmatch", "OL::compact", "OL::reversed", "OL::start", "OL::type", "OPTGROUP::disabled", "OPTGROUP::label", "OPTION::disabled", "OPTION::label", "OPTION::selected", "OPTION::value", "OUTPUT::for", "OUTPUT::name", "P::align", "PRE::width", "PROGRESS::max", "PROGRESS::min", "PROGRESS::value", "SELECT::autocomplete", "SELECT::disabled", "SELECT::multiple", "SELECT::name", "SELECT::required", "SELECT::size", "SELECT::tabindex", "SOURCE::type", "TABLE::align", "TABLE::bgcolor", "TABLE::border", "TABLE::cellpadding", "TABLE::cellspacing", "TABLE::frame", "TABLE::rules", "TABLE::summary", "TABLE::width", "TBODY::align", "TBODY::char", "TBODY::charoff", "TBODY::valign", "TD::abbr", "TD::align", "TD::axis", "TD::bgcolor", "TD::char", "TD::charoff", "TD::colspan", "TD::headers", "TD::height", "TD::nowrap", "TD::rowspan", "TD::scope", "TD::valign", "TD::width", "TEXTAREA::accesskey", "TEXTAREA::autocomplete", "TEXTAREA::cols", "TEXTAREA::disabled", "TEXTAREA::inputmode", "TEXTAREA::name", "TEXTAREA::placeholder", "TEXTAREA::readonly", "TEXTAREA::required", "TEXTAREA::rows", "TEXTAREA::tabindex", "TEXTAREA::wrap", "TFOOT::align", "TFOOT::char", "TFOOT::charoff", "TFOOT::valign", "TH::abbr", "TH::align", "TH::axis", "TH::bgcolor", "TH::char", "TH::charoff", "TH::colspan", "TH::headers", "TH::height", "TH::nowrap", "TH::rowspan", "TH::scope", "TH::valign", "TH::width", "THEAD::align", "THEAD::char", "THEAD::charoff", "THEAD::valign", "TR::align", "TR::bgcolor", "TR::char", "TR::charoff", "TR::valign", "TRACK::default", "TRACK::kind", "TRACK::label", "TRACK::srclang", "UL::compact", "UL::type", "VIDEO::controls", "VIDEO::height", "VIDEO::loop", "VIDEO::mediagroup", "VIDEO::muted", "VIDEO::preload", "VIDEO::width"]), type$.JSArray_legacy_String);
    C.List_2_3_7 = H._setArrayType(makeConstList([2, 3, 7]), type$.JSArray_legacy_int);
    C.List_300_300 = H._setArrayType(makeConstList([300, 300]), type$.JSArray_legacy_double);
    C.List_3US = H._setArrayType(makeConstList(["S", "M", "T", "W", "T", "F", "S"]), type$.JSArray_legacy_String);
    C.List_3_3_11 = H._setArrayType(makeConstList([3, 3, 11]), type$.JSArray_legacy_int);
    C.List_511_1023_2047_4095 = H._setArrayType(makeConstList([511, 1023, 2047, 4095]), type$.JSArray_legacy_int);
    C.IconData_57803_MaterialIcons_false = new X.IconData(57803, "MaterialIcons", false);
    C.VMStatisticsView_iDF = new Q.VMStatisticsView("VM", C.IconData_57803_MaterialIcons_false);
    C.IconData_57548_MaterialIcons_false = new X.IconData(57548, "MaterialIcons", false);
    C.IsolateStatisticsView_TGg = new O.IsolateStatisticsView("Isolates", C.IconData_57548_MaterialIcons_false);
    C.List_5SC = H._setArrayType(makeConstList([C.VMStatisticsView_iDF, C.IsolateStatisticsView_TGg]), H.findType("JSArray<VMDeveloperView*>"));
    C.Text_yL6 = new L.Text("Select an instance of a tracked class", null, null, null, null, null, null, null, null, null, null);
    C.Text_y0B = new L.Text("to view its allocation stack trace.", null, null, null, null, null, null, null, null, null, null);
    C.List_5uR = H._setArrayType(makeConstList([C.Text_yL6, C.Text_y0B]), type$.JSArray_legacy_Widget);
    C.TextStyle_mR1 = new A.TextStyle(true, C.Color_4294967295, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.TextSpan_FNL = new Q.TextSpan("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.", null, null, C.C__DeferringMouseCursor, null, C.TextStyle_mR1);
    C.List_6N7 = H._setArrayType(makeConstList([C.TextSpan_FNL]), type$.JSArray_legacy_TextSpan);
    C.List_6xs = H._setArrayType(makeConstList(["Before Christ", "Anno Domini"]), type$.JSArray_legacy_String);
    C.List_U2p = H._setArrayType(makeConstList([231, 120, 48, 89, 115, 113, 120, 152, 112]), type$.JSArray_legacy_int);
    C.List_yXZ0 = H._setArrayType(makeConstList([152, 179, 64, 126, 170, 118, 46, 70, 95]), type$.JSArray_legacy_int);
    C.List_yXZ1 = H._setArrayType(makeConstList([175, 69, 143, 80, 85, 82, 72, 155, 103]), type$.JSArray_legacy_int);
    C.List_yXZ2 = H._setArrayType(makeConstList([56, 58, 10, 171, 218, 189, 17, 13, 152]), type$.JSArray_legacy_int);
    C.List_yXZ3 = H._setArrayType(makeConstList([114, 26, 17, 163, 44, 195, 21, 10, 173]), type$.JSArray_legacy_int);
    C.List_yXZ4 = H._setArrayType(makeConstList([121, 24, 80, 195, 26, 62, 44, 64, 85]), type$.JSArray_legacy_int);
    C.List_yXZ5 = H._setArrayType(makeConstList([144, 71, 10, 38, 171, 213, 144, 34, 26]), type$.JSArray_legacy_int);
    C.List_yXZ6 = H._setArrayType(makeConstList([170, 46, 55, 19, 136, 160, 33, 206, 71]), type$.JSArray_legacy_int);
    C.List_yXZ7 = H._setArrayType(makeConstList([63, 20, 8, 114, 114, 208, 12, 9, 226]), type$.JSArray_legacy_int);
    C.List_yXZ8 = H._setArrayType(makeConstList([81, 40, 11, 96, 182, 84, 29, 16, 36]), type$.JSArray_legacy_int);
    C.List_sty0 = H._setArrayType(makeConstList([C.List_U2p, C.List_yXZ0, C.List_yXZ1, C.List_yXZ2, C.List_yXZ3, C.List_yXZ4, C.List_yXZ5, C.List_yXZ6, C.List_yXZ7, C.List_yXZ8]), type$.JSArray_legacy_List_legacy_int);
    C.List_yXZ9 = H._setArrayType(makeConstList([134, 183, 89, 137, 98, 101, 106, 165, 148]), type$.JSArray_legacy_int);
    C.List_yXZ10 = H._setArrayType(makeConstList([72, 187, 100, 130, 157, 111, 32, 75, 80]), type$.JSArray_legacy_int);
    C.List_yXZ11 = H._setArrayType(makeConstList([66, 102, 167, 99, 74, 62, 40, 234, 128]), type$.JSArray_legacy_int);
    C.List_kfn = H._setArrayType(makeConstList([41, 53, 9, 178, 241, 141, 26, 8, 107]), type$.JSArray_legacy_int);
    C.List_yXZ12 = H._setArrayType(makeConstList([74, 43, 26, 146, 73, 166, 49, 23, 157]), type$.JSArray_legacy_int);
    C.List_yXZ13 = H._setArrayType(makeConstList([65, 38, 105, 160, 51, 52, 31, 115, 128]), type$.JSArray_legacy_int);
    C.List_eDA = H._setArrayType(makeConstList([104, 79, 12, 27, 217, 255, 87, 17, 7]), type$.JSArray_legacy_int);
    C.List_yXZ14 = H._setArrayType(makeConstList([87, 68, 71, 44, 114, 51, 15, 186, 23]), type$.JSArray_legacy_int);
    C.List_yXZ15 = H._setArrayType(makeConstList([47, 41, 14, 110, 182, 183, 21, 17, 194]), type$.JSArray_legacy_int);
    C.List_yXZ16 = H._setArrayType(makeConstList([66, 45, 25, 102, 197, 189, 23, 18, 22]), type$.JSArray_legacy_int);
    C.List_L3W = H._setArrayType(makeConstList([C.List_yXZ9, C.List_yXZ10, C.List_yXZ11, C.List_kfn, C.List_yXZ12, C.List_yXZ13, C.List_eDA, C.List_yXZ14, C.List_yXZ15, C.List_yXZ16]), type$.JSArray_legacy_List_legacy_int);
    C.List_yXZ17 = H._setArrayType(makeConstList([88, 88, 147, 150, 42, 46, 45, 196, 205]), type$.JSArray_legacy_int);
    C.List_yXZ18 = H._setArrayType(makeConstList([43, 97, 183, 117, 85, 38, 35, 179, 61]), type$.JSArray_legacy_int);
    C.List_yXZ19 = H._setArrayType(makeConstList([39, 53, 200, 87, 26, 21, 43, 232, 171]), type$.JSArray_legacy_int);
    C.List_yXZ20 = H._setArrayType(makeConstList([56, 34, 51, 104, 114, 102, 29, 93, 77]), type$.JSArray_legacy_int);
    C.List_yXZ21 = H._setArrayType(makeConstList([39, 28, 85, 171, 58, 165, 90, 98, 64]), type$.JSArray_legacy_int);
    C.List_yXZ22 = H._setArrayType(makeConstList([34, 22, 116, 206, 23, 34, 43, 166, 73]), type$.JSArray_legacy_int);
    C.List_yXZ23 = H._setArrayType(makeConstList([107, 54, 32, 26, 51, 1, 81, 43, 31]), type$.JSArray_legacy_int);
    C.List_yXZ24 = H._setArrayType(makeConstList([68, 25, 106, 22, 64, 171, 36, 225, 114]), type$.JSArray_legacy_int);
    C.List_yXZ25 = H._setArrayType(makeConstList([34, 19, 21, 102, 132, 188, 16, 76, 124]), type$.JSArray_legacy_int);
    C.List_yXZ26 = H._setArrayType(makeConstList([62, 18, 78, 95, 85, 57, 50, 48, 51]), type$.JSArray_legacy_int);
    C.List_ECY = H._setArrayType(makeConstList([C.List_yXZ17, C.List_yXZ18, C.List_yXZ19, C.List_yXZ20, C.List_yXZ21, C.List_yXZ22, C.List_yXZ23, C.List_yXZ24, C.List_yXZ25, C.List_yXZ26]), type$.JSArray_legacy_List_legacy_int);
    C.List_yXZ27 = H._setArrayType(makeConstList([193, 101, 35, 159, 215, 111, 89, 46, 111]), type$.JSArray_legacy_int);
    C.List_yXZ28 = H._setArrayType(makeConstList([60, 148, 31, 172, 219, 228, 21, 18, 111]), type$.JSArray_legacy_int);
    C.List_eDA0 = H._setArrayType(makeConstList([112, 113, 77, 85, 179, 255, 38, 120, 114]), type$.JSArray_legacy_int);
    C.List_kfn0 = H._setArrayType(makeConstList([40, 42, 1, 196, 245, 209, 10, 25, 109]), type$.JSArray_legacy_int);
    C.List_yXZ29 = H._setArrayType(makeConstList([88, 43, 29, 140, 166, 213, 37, 43, 154]), type$.JSArray_legacy_int);
    C.List_yXZ30 = H._setArrayType(makeConstList([61, 63, 30, 155, 67, 45, 68, 1, 209]), type$.JSArray_legacy_int);
    C.List_yXZ31 = H._setArrayType(makeConstList([100, 80, 8, 43, 154, 1, 51, 26, 71]), type$.JSArray_legacy_int);
    C.List_kfn1 = H._setArrayType(makeConstList([142, 78, 78, 16, 255, 128, 34, 197, 171]), type$.JSArray_legacy_int);
    C.List_yXZ32 = H._setArrayType(makeConstList([41, 40, 5, 102, 211, 183, 4, 1, 221]), type$.JSArray_legacy_int);
    C.List_yXZ33 = H._setArrayType(makeConstList([51, 50, 17, 168, 209, 192, 23, 25, 82]), type$.JSArray_legacy_int);
    C.List_JO4 = H._setArrayType(makeConstList([C.List_yXZ27, C.List_yXZ28, C.List_eDA0, C.List_kfn0, C.List_yXZ29, C.List_yXZ30, C.List_yXZ31, C.List_kfn1, C.List_yXZ32, C.List_yXZ33]), type$.JSArray_legacy_List_legacy_int);
    C.List_knt1 = H._setArrayType(makeConstList([138, 31, 36, 171, 27, 166, 38, 44, 229]), type$.JSArray_legacy_int);
    C.List_yXZ34 = H._setArrayType(makeConstList([67, 87, 58, 169, 82, 115, 26, 59, 179]), type$.JSArray_legacy_int);
    C.List_yXZ35 = H._setArrayType(makeConstList([63, 59, 90, 180, 59, 166, 93, 73, 154]), type$.JSArray_legacy_int);
    C.List_yXZ36 = H._setArrayType(makeConstList([40, 40, 21, 116, 143, 209, 34, 39, 175]), type$.JSArray_legacy_int);
    C.List_yXZ37 = H._setArrayType(makeConstList([47, 15, 16, 183, 34, 223, 49, 45, 183]), type$.JSArray_legacy_int);
    C.List_yXZ38 = H._setArrayType(makeConstList([46, 17, 33, 183, 6, 98, 15, 32, 183]), type$.JSArray_legacy_int);
    C.List_yXZ39 = H._setArrayType(makeConstList([57, 46, 22, 24, 128, 1, 54, 17, 37]), type$.JSArray_legacy_int);
    C.List_yXZ40 = H._setArrayType(makeConstList([65, 32, 73, 115, 28, 128, 23, 128, 205]), type$.JSArray_legacy_int);
    C.List_yXZ41 = H._setArrayType(makeConstList([40, 3, 9, 115, 51, 192, 18, 6, 223]), type$.JSArray_legacy_int);
    C.List_yXZ42 = H._setArrayType(makeConstList([87, 37, 9, 115, 59, 77, 64, 21, 47]), type$.JSArray_legacy_int);
    C.List_wEo = H._setArrayType(makeConstList([C.List_knt1, C.List_yXZ34, C.List_yXZ35, C.List_yXZ36, C.List_yXZ37, C.List_yXZ38, C.List_yXZ39, C.List_yXZ40, C.List_yXZ41, C.List_yXZ42]), type$.JSArray_legacy_List_legacy_int);
    C.List_yXZ43 = H._setArrayType(makeConstList([104, 55, 44, 218, 9, 54, 53, 130, 226]), type$.JSArray_legacy_int);
    C.List_yXZ44 = H._setArrayType(makeConstList([64, 90, 70, 205, 40, 41, 23, 26, 57]), type$.JSArray_legacy_int);
    C.List_yXZ45 = H._setArrayType(makeConstList([54, 57, 112, 184, 5, 41, 38, 166, 213]), type$.JSArray_legacy_int);
    C.List_yXZ46 = H._setArrayType(makeConstList([30, 34, 26, 133, 152, 116, 10, 32, 134]), type$.JSArray_legacy_int);
    C.List_knt2 = H._setArrayType(makeConstList([39, 19, 53, 221, 26, 114, 32, 73, 255]), type$.JSArray_legacy_int);
    C.List_yXZ47 = H._setArrayType(makeConstList([31, 9, 65, 234, 2, 15, 1, 118, 73]), type$.JSArray_legacy_int);
    C.List_eDA1 = H._setArrayType(makeConstList([75, 32, 12, 51, 192, 255, 160, 43, 51]), type$.JSArray_legacy_int);
    C.List_yXZ48 = H._setArrayType(makeConstList([88, 31, 35, 67, 102, 85, 55, 186, 85]), type$.JSArray_legacy_int);
    C.List_yXZ49 = H._setArrayType(makeConstList([56, 21, 23, 111, 59, 205, 45, 37, 192]), type$.JSArray_legacy_int);
    C.List_yXZ50 = H._setArrayType(makeConstList([55, 38, 70, 124, 73, 102, 1, 34, 98]), type$.JSArray_legacy_int);
    C.List_00 = H._setArrayType(makeConstList([C.List_yXZ43, C.List_yXZ44, C.List_yXZ45, C.List_yXZ46, C.List_knt2, C.List_yXZ47, C.List_eDA1, C.List_yXZ48, C.List_yXZ49, C.List_yXZ50]), type$.JSArray_legacy_List_legacy_int);
    C.List_yXZ51 = H._setArrayType(makeConstList([125, 98, 42, 88, 104, 85, 117, 175, 82]), type$.JSArray_legacy_int);
    C.List_yXZ52 = H._setArrayType(makeConstList([95, 84, 53, 89, 128, 100, 113, 101, 45]), type$.JSArray_legacy_int);
    C.List_yXZ53 = H._setArrayType(makeConstList([75, 79, 123, 47, 51, 128, 81, 171, 1]), type$.JSArray_legacy_int);
    C.List_yXZ54 = H._setArrayType(makeConstList([57, 17, 5, 71, 102, 57, 53, 41, 49]), type$.JSArray_legacy_int);
    C.List_yXZ55 = H._setArrayType(makeConstList([38, 33, 13, 121, 57, 73, 26, 1, 85]), type$.JSArray_legacy_int);
    C.List_yXZ56 = H._setArrayType(makeConstList([41, 10, 67, 138, 77, 110, 90, 47, 114]), type$.JSArray_legacy_int);
    C.List_eDA2 = H._setArrayType(makeConstList([115, 21, 2, 10, 102, 255, 166, 23, 6]), type$.JSArray_legacy_int);
    C.List_yXZ57 = H._setArrayType(makeConstList([101, 29, 16, 10, 85, 128, 101, 196, 26]), type$.JSArray_legacy_int);
    C.List_yXZ58 = H._setArrayType(makeConstList([57, 18, 10, 102, 102, 213, 34, 20, 43]), type$.JSArray_legacy_int);
    C.List_yXZ59 = H._setArrayType(makeConstList([117, 20, 15, 36, 163, 128, 68, 1, 26]), type$.JSArray_legacy_int);
    C.List_a5W = H._setArrayType(makeConstList([C.List_yXZ51, C.List_yXZ52, C.List_yXZ53, C.List_yXZ54, C.List_yXZ55, C.List_yXZ56, C.List_eDA2, C.List_yXZ57, C.List_yXZ58, C.List_yXZ59]), type$.JSArray_legacy_List_legacy_int);
    C.List_h47 = H._setArrayType(makeConstList([102, 61, 71, 37, 34, 53, 31, 243, 192]), type$.JSArray_legacy_int);
    C.List_yXZ60 = H._setArrayType(makeConstList([69, 60, 71, 38, 73, 119, 28, 222, 37]), type$.JSArray_legacy_int);
    C.List_h470 = H._setArrayType(makeConstList([68, 45, 128, 34, 1, 47, 11, 245, 171]), type$.JSArray_legacy_int);
    C.List_yXZ61 = H._setArrayType(makeConstList([62, 17, 19, 70, 146, 85, 55, 62, 70]), type$.JSArray_legacy_int);
    C.List_yXZ62 = H._setArrayType(makeConstList([37, 43, 37, 154, 100, 163, 85, 160, 1]), type$.JSArray_legacy_int);
    C.List_yXZ63 = H._setArrayType(makeConstList([63, 9, 92, 136, 28, 64, 32, 201, 85]), type$.JSArray_legacy_int);
    C.List_eDA3 = H._setArrayType(makeConstList([75, 15, 9, 9, 64, 255, 184, 119, 16]), type$.JSArray_legacy_int);
    C.List_eDA4 = H._setArrayType(makeConstList([86, 6, 28, 5, 64, 255, 25, 248, 1]), type$.JSArray_legacy_int);
    C.List_eDA5 = H._setArrayType(makeConstList([56, 8, 17, 132, 137, 255, 55, 116, 128]), type$.JSArray_legacy_int);
    C.List_yXZ64 = H._setArrayType(makeConstList([58, 15, 20, 82, 135, 57, 26, 121, 40]), type$.JSArray_legacy_int);
    C.List_6oq = H._setArrayType(makeConstList([C.List_h47, C.List_yXZ60, C.List_h470, C.List_yXZ61, C.List_yXZ62, C.List_yXZ63, C.List_eDA3, C.List_eDA4, C.List_eDA5, C.List_yXZ64]), type$.JSArray_legacy_List_legacy_int);
    C.List_yXZ65 = H._setArrayType(makeConstList([164, 50, 31, 137, 154, 133, 25, 35, 218]), type$.JSArray_legacy_int);
    C.List_yXZ66 = H._setArrayType(makeConstList([51, 103, 44, 131, 131, 123, 31, 6, 158]), type$.JSArray_legacy_int);
    C.List_yXZ67 = H._setArrayType(makeConstList([86, 40, 64, 135, 148, 224, 45, 183, 128]), type$.JSArray_legacy_int);
    C.List_yXZ68 = H._setArrayType(makeConstList([22, 26, 17, 131, 240, 154, 14, 1, 209]), type$.JSArray_legacy_int);
    C.List_yXZ69 = H._setArrayType(makeConstList([45, 16, 21, 91, 64, 222, 7, 1, 197]), type$.JSArray_legacy_int);
    C.List_yXZ70 = H._setArrayType(makeConstList([56, 21, 39, 155, 60, 138, 23, 102, 213]), type$.JSArray_legacy_int);
    C.List_eDA6 = H._setArrayType(makeConstList([83, 12, 13, 54, 192, 255, 68, 47, 28]), type$.JSArray_legacy_int);
    C.List_yXZ71 = H._setArrayType(makeConstList([85, 26, 85, 85, 128, 128, 32, 146, 171]), type$.JSArray_legacy_int);
    C.List_yXZ72 = H._setArrayType(makeConstList([18, 11, 7, 63, 144, 171, 4, 4, 246]), type$.JSArray_legacy_int);
    C.List_yXZ73 = H._setArrayType(makeConstList([35, 27, 10, 146, 174, 171, 12, 26, 128]), type$.JSArray_legacy_int);
    C.List_a5W0 = H._setArrayType(makeConstList([C.List_yXZ65, C.List_yXZ66, C.List_yXZ67, C.List_yXZ68, C.List_yXZ69, C.List_yXZ70, C.List_eDA6, C.List_yXZ71, C.List_yXZ72, C.List_yXZ73]), type$.JSArray_legacy_List_legacy_int);
    C.List_yXZ74 = H._setArrayType(makeConstList([190, 80, 35, 99, 180, 80, 126, 54, 45]), type$.JSArray_legacy_int);
    C.List_yXZ75 = H._setArrayType(makeConstList([85, 126, 47, 87, 176, 51, 41, 20, 32]), type$.JSArray_legacy_int);
    C.List_yXZ76 = H._setArrayType(makeConstList([101, 75, 128, 139, 118, 146, 116, 128, 85]), type$.JSArray_legacy_int);
    C.List_yXZ77 = H._setArrayType(makeConstList([56, 41, 15, 176, 236, 85, 37, 9, 62]), type$.JSArray_legacy_int);
    C.List_eDA7 = H._setArrayType(makeConstList([71, 30, 17, 119, 118, 255, 17, 18, 138]), type$.JSArray_legacy_int);
    C.List_yXZ78 = H._setArrayType(makeConstList([101, 38, 60, 138, 55, 70, 43, 26, 142]), type$.JSArray_legacy_int);
    C.List_eDA8 = H._setArrayType(makeConstList([146, 36, 19, 30, 171, 255, 97, 27, 20]), type$.JSArray_legacy_int);
    C.List_yXZ79 = H._setArrayType(makeConstList([138, 45, 61, 62, 219, 1, 81, 188, 64]), type$.JSArray_legacy_int);
    C.List_yXZ80 = H._setArrayType(makeConstList([32, 41, 20, 117, 151, 142, 20, 21, 163]), type$.JSArray_legacy_int);
    C.List_yXZ81 = H._setArrayType(makeConstList([112, 19, 12, 61, 195, 128, 48, 4, 24]), type$.JSArray_legacy_int);
    C.List_RrN = H._setArrayType(makeConstList([C.List_yXZ74, C.List_yXZ75, C.List_yXZ76, C.List_yXZ77, C.List_eDA7, C.List_yXZ78, C.List_eDA8, C.List_yXZ79, C.List_yXZ80, C.List_yXZ81]), type$.JSArray_legacy_List_legacy_int);
    C.List_799 = H._setArrayType(makeConstList([C.List_sty0, C.List_L3W, C.List_ECY, C.List_JO4, C.List_wEo, C.List_00, C.List_a5W, C.List_6oq, C.List_a5W0, C.List_RrN]), type$.JSArray_legacy_List_legacy_List_legacy_int);
    C.List_7Qs = H._setArrayType(makeConstList(["keyword.control.catch-exception.dart", "keyword.control.dart", "keyword.control.new.dart"]), type$.JSArray_legacy_String);
    C.List_89P = H._setArrayType(makeConstList([3226, 6412, 200, 168, 38, 38, 134, 134, 100, 100, 100, 100, 68, 68, 68, 68]), type$.JSArray_legacy_int);
    C.List_8_8_4_2 = H._setArrayType(makeConstList([8, 8, 4, 2]), type$.JSArray_legacy_int);
    C.List_8aB = H._setArrayType(makeConstList([V.vp8_filter_VP8Filter_DC16$closure(), V.vp8_filter_VP8Filter_TM16$closure(), V.vp8_filter_VP8Filter_VE16$closure(), V.vp8_filter_VP8Filter_HE16$closure(), V.vp8_filter_VP8Filter_DC16NoTop$closure(), V.vp8_filter_VP8Filter_DC16NoLeft$closure(), V.vp8_filter_VP8Filter_DC16NoTopLeft$closure()]), type$.JSArray_of_legacy_void_Function_legacy_InputBuffer);
    C.List_8co1 = H._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_legacy_int);
    C.List_8co0 = H._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_legacy_int);
    C.List_8co = H._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_legacy_int);
    C.List_9Qo = H._setArrayType(makeConstList(["support.class.dart", "variable.language.dart"]), type$.JSArray_legacy_String);
    C.List_A8J = H._setArrayType(makeConstList(["(", ")", "<", ">", "@", ",", ";", ":", "\\", '"', "/", "[", "]", "?", "=", "{", "}"]), type$.JSArray_legacy_String);
    C.ModifierKey_0 = new B.ModifierKey(0, "ModifierKey.controlModifier");
    C.ModifierKey_1 = new B.ModifierKey(1, "ModifierKey.shiftModifier");
    C.ModifierKey_2 = new B.ModifierKey(2, "ModifierKey.altModifier");
    C.ModifierKey_3 = new B.ModifierKey(3, "ModifierKey.metaModifier");
    C.ModifierKey_4 = new B.ModifierKey(4, "ModifierKey.capsLockModifier");
    C.ModifierKey_5 = new B.ModifierKey(5, "ModifierKey.numLockModifier");
    C.ModifierKey_6 = new B.ModifierKey(6, "ModifierKey.scrollLockModifier");
    C.ModifierKey_7 = new B.ModifierKey(7, "ModifierKey.functionModifier");
    C.ModifierKey_8 = new B.ModifierKey(8, "ModifierKey.symbolModifier");
    C.List_AHF = H._setArrayType(makeConstList([C.ModifierKey_0, C.ModifierKey_1, C.ModifierKey_2, C.ModifierKey_3, C.ModifierKey_4, C.ModifierKey_5, C.ModifierKey_6, C.ModifierKey_7, C.ModifierKey_8]), H.findType("JSArray<ModifierKey*>"));
    C._CornerId_0 = new D._CornerId(0, "_CornerId.topLeft");
    C._CornerId_3 = new D._CornerId(3, "_CornerId.bottomRight");
    C._Diagonal__CornerId_0__CornerId_3 = new D._Diagonal(C._CornerId_0, C._CornerId_3);
    C._Diagonal__CornerId_3__CornerId_0 = new D._Diagonal(C._CornerId_3, C._CornerId_0);
    C._CornerId_1 = new D._CornerId(1, "_CornerId.topRight");
    C._CornerId_2 = new D._CornerId(2, "_CornerId.bottomLeft");
    C._Diagonal__CornerId_1__CornerId_2 = new D._Diagonal(C._CornerId_1, C._CornerId_2);
    C._Diagonal__CornerId_2__CornerId_1 = new D._Diagonal(C._CornerId_2, C._CornerId_1);
    C.List_AKW = H._setArrayType(makeConstList([C._Diagonal__CornerId_0__CornerId_3, C._Diagonal__CornerId_3__CornerId_0, C._Diagonal__CornerId_1__CornerId_2, C._Diagonal__CornerId_2__CornerId_1]), H.findType("JSArray<_Diagonal*>"));
    C.List_AM_PM = H._setArrayType(makeConstList(["AM", "PM"]), type$.JSArray_legacy_String);
    C.List_AYZ = H._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_legacy_int);
    C.List_AZw = H._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_legacy_int);
    C.List_AiM = H._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_legacy_int);
    C.Text_IIf = new L.Text("Click the stop button ", null, null, null, null, null, null, null, null, null, null);
    C.Icon_f1Q0 = new L.Icon(C.IconData_58886_MaterialIcons_false, null, null, null);
    C.Text_Uyy = new L.Text(" to end the recording.", null, null, null, null, null, null, null, null, null, null);
    C.List_AiQ = H._setArrayType(makeConstList([C.Text_IIf, C.Icon_f1Q0, C.Text_Uyy]), type$.JSArray_legacy_Widget);
    C.List_AllocationProfile = H._setArrayType(makeConstList(["AllocationProfile"]), type$.JSArray_legacy_String);
    C.AnalysisView_null = new R.AnalysisView(null);
    C.DiffView_null = new R.DiffView(null);
    C.List_AnalysisView_null_DiffView_null = H._setArrayType(makeConstList([C.AnalysisView_null, C.DiffView_null]), type$.JSArray_legacy_Widget);
    C.List_AuK = H._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_legacy_String);
    C.List_Axis_0_Axis_1 = H._setArrayType(makeConstList([C.Axis_0, C.Axis_1]), H.findType("JSArray<Axis*>"));
    C.List_B8J = H._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_legacy_int);
    C.List_BC_AD = H._setArrayType(makeConstList(["BC", "AD"]), type$.JSArray_legacy_String);
    C.TargetPlatform_0 = new T.TargetPlatform(0, "TargetPlatform.android");
    C.TargetPlatform_1 = new T.TargetPlatform(1, "TargetPlatform.fuchsia");
    C.TargetPlatform_2 = new T.TargetPlatform(2, "TargetPlatform.iOS");
    C.TargetPlatform_3 = new T.TargetPlatform(3, "TargetPlatform.linux");
    C.TargetPlatform_4 = new T.TargetPlatform(4, "TargetPlatform.macOS");
    C.TargetPlatform_5 = new T.TargetPlatform(5, "TargetPlatform.windows");
    C.List_BfG = H._setArrayType(makeConstList([C.TargetPlatform_0, C.TargetPlatform_1, C.TargetPlatform_2, C.TargetPlatform_3, C.TargetPlatform_4, C.TargetPlatform_5]), type$.JSArray_legacy_TargetPlatform);
    C.List_BmV = H._setArrayType(makeConstList(["package:flutter/src/widgets/widget_inspector.dart", "package:flutter_web/src/widgets/widget_inspector.dart"]), type$.JSArray_legacy_String);
    C.List_BoundField = H._setArrayType(makeConstList(["BoundField"]), type$.JSArray_legacy_String);
    C.List_BoundVariable = H._setArrayType(makeConstList(["BoundVariable"]), type$.JSArray_legacy_String);
    C.List_Breakpoint = H._setArrayType(makeConstList(["Breakpoint"]), type$.JSArray_legacy_String);
    C.List_CVk = H._setArrayType(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_legacy_int);
    C.List_Cg9 = H._setArrayType(makeConstList(["pointerdown", "pointermove", "pointerup", "pointercancel", "touchstart", "touchend", "touchmove", "touchcancel", "mousedown", "mousemove", "mouseup", "keyup", "keydown"]), type$.JSArray_legacy_String);
    C.List_ClassHeapStats = H._setArrayType(makeConstList(["ClassHeapStats"]), type$.JSArray_legacy_String);
    C.List_ClassList = H._setArrayType(makeConstList(["ClassList"]), type$.JSArray_legacy_String);
    C.List_ClassRef = H._setArrayType(makeConstList(["ClassRef"]), type$.JSArray_legacy_String);
    C.List_CodeRef = H._setArrayType(makeConstList(["CodeRef"]), type$.JSArray_legacy_String);
    C.Color_4286630852 = new P.Color(4286630852);
    C.Color_4280723098 = new P.Color(4280723098);
    C.List_Color_4286630852_Color_4280723098 = H._setArrayType(makeConstList([C.Color_4286630852, C.Color_4280723098]), type$.JSArray_legacy_Color);
    C.Color_4291475689 = new P.Color(4291475689);
    C.Color_4288513226 = new P.Color(4288513226);
    C.List_Color_4291475689_Color_4288513226 = H._setArrayType(makeConstList([C.Color_4291475689, C.Color_4288513226]), type$.JSArray_legacy_Color);
    C.List_ContextElement = H._setArrayType(makeConstList(["ContextElement"]), type$.JSArray_legacy_String);
    C.List_ContextRef = H._setArrayType(makeConstList(["ContextRef"]), type$.JSArray_legacy_String);
    C.List_CpuSample = H._setArrayType(makeConstList(["CpuSample"]), type$.JSArray_legacy_String);
    C.List_CpuSamples = H._setArrayType(makeConstList(["CpuSamples"]), type$.JSArray_legacy_String);
    C.List_DKo = H._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_legacy_int);
    C.List_DialogCancelButton_null_null = H._setArrayType(makeConstList([C.DialogCancelButton_null_null]), type$.JSArray_legacy_Widget);
    C.List_ECn = H._setArrayType(makeConstList(["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]), type$.JSArray_dynamic);
    C.Variables_null = new K.Variables(null);
    C.Breakpoints_null = new F.Breakpoints(null);
    C.List_ES1 = H._setArrayType(makeConstList([C.CallStack_null, C.Variables_null, C.Breakpoints_null]), type$.JSArray_legacy_Widget);
    C.List_Error = H._setArrayType(makeConstList(["Error"]), type$.JSArray_legacy_String);
    C.C_ErrorLoggerObserver = new M.ErrorLoggerObserver();
    C.List_ErrorLoggerObserver = H._setArrayType(makeConstList([C.C_ErrorLoggerObserver]), H.findType("JSArray<ProviderObserver*>"));
    C.List_ErrorRef = H._setArrayType(makeConstList(["ErrorRef"]), type$.JSArray_legacy_String);
    C.List_Event = H._setArrayType(makeConstList(["Event"]), type$.JSArray_legacy_String);
    C.List_F1L = H._setArrayType(makeConstList([0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0]), type$.JSArray_legacy_int);
    C.List_FieldRef = H._setArrayType(makeConstList(["FieldRef"]), type$.JSArray_legacy_String);
    C.List_Flag = H._setArrayType(makeConstList(["Flag"]), type$.JSArray_legacy_String);
    C.List_FlagList = H._setArrayType(makeConstList(["FlagList"]), type$.JSArray_legacy_String);
    C.List_Frame = H._setArrayType(makeConstList(["Frame"]), type$.JSArray_legacy_String);
    C.List_FuncRef = H._setArrayType(makeConstList(["FuncRef"]), type$.JSArray_legacy_String);
    C.TimelineEventType_0 = new L.TimelineEventType(0, "TimelineEventType.ui");
    C.TimelineEventType_1 = new L.TimelineEventType(1, "TimelineEventType.raster");
    C.TimelineEventType_2 = new L.TimelineEventType(2, "TimelineEventType.async");
    C.TimelineEventType_3 = new L.TimelineEventType(3, "TimelineEventType.unknown");
    C.List_G1V = H._setArrayType(makeConstList([C.TimelineEventType_0, C.TimelineEventType_1, C.TimelineEventType_2, C.TimelineEventType_3]), H.findType("JSArray<TimelineEventType*>"));
    C.List_GFl = H._setArrayType(makeConstList([C.DiagnosticsTreeStyle_0, C.DiagnosticsTreeStyle_1, C.DiagnosticsTreeStyle_2, C.DiagnosticsTreeStyle_3, C.DiagnosticsTreeStyle_4, C.DiagnosticsTreeStyle_5, C.DiagnosticsTreeStyle_6, C.DiagnosticsTreeStyle_7, C.DiagnosticsTreeStyle_8, C.DiagnosticsTreeStyle_9, C.DiagnosticsTreeStyle_10, C.DiagnosticsTreeStyle_11]), H.findType("JSArray<DiagnosticsTreeStyle*>"));
    C.List_Gn1 = H._setArrayType(makeConstList(["text", "multiline", "number", "phone", "datetime", "emailAddress", "url", "visiblePassword", "name", "address"]), type$.JSArray_legacy_String);
    C.List_HHa = H._setArrayType(makeConstList([null, N.webp_filters_WebPFilters_horizontalUnfilter$closure(), N.webp_filters_WebPFilters_verticalUnfilter$closure(), N.webp_filters_WebPFilters_gradientUnfilter$closure()]), H.findType("JSArray<~(int*,int*,int*,int*,int*,Uint8List*)?>"));
    C.ValueKey_M88 = new D.ValueKey("Analysis Tab", type$.ValueKey_legacy_String);
    C.Tab_hTW = new E.Tab("Analysis", null, C.ValueKey_M88);
    C.ValueKey_e0h = new D.ValueKey("Diff Tab", type$.ValueKey_legacy_String);
    C.Tab_0 = new E.Tab("Diff", null, C.ValueKey_e0h);
    C.List_Hd4 = H._setArrayType(makeConstList([C.Tab_hTW, C.Tab_0]), type$.JSArray_legacy_Tab);
    C.Text_KpS = new L.Text("Providers", null, null, null, null, null, null, null, null, null, null);
    C.AreaPaneHeader_Fcu = new U.AreaPaneHeader(C.Text_KpS, 1, false, true, false, C.List_empty11, 4, false, null);
    C.ProviderList_null = new Z.ProviderList(null);
    C.Expanded_14a = new T.Expanded(1, C.FlexFit_0, C.ProviderList_null, null);
    C.List_IQR = H._setArrayType(makeConstList([C.AreaPaneHeader_Fcu, C.Expanded_14a]), type$.JSArray_legacy_Widget);
    C.List_InboundReference = H._setArrayType(makeConstList(["InboundReference"]), type$.JSArray_legacy_String);
    C.List_InboundReferences = H._setArrayType(makeConstList(["InboundReferences"]), type$.JSArray_legacy_String);
    C.List_InstanceRef = H._setArrayType(makeConstList(["InstanceRef"]), type$.JSArray_legacy_String);
    C.List_InstanceRef_ErrorRef = H._setArrayType(makeConstList(["InstanceRef", "ErrorRef"]), type$.JSArray_legacy_String);
    C.List_InstanceRef_Sentinel = H._setArrayType(makeConstList(["InstanceRef", "Sentinel"]), type$.JSArray_legacy_String);
    C.List_InstanceSet = H._setArrayType(makeConstList(["InstanceSet"]), type$.JSArray_legacy_String);
    C.List_Isolate = H._setArrayType(makeConstList(["Isolate"]), type$.JSArray_legacy_String);
    C.List_IsolateFlag = H._setArrayType(makeConstList(["IsolateFlag"]), type$.JSArray_legacy_String);
    C.List_IsolateGroup = H._setArrayType(makeConstList(["IsolateGroup"]), type$.JSArray_legacy_String);
    C.List_IsolateGroupRef = H._setArrayType(makeConstList(["IsolateGroupRef"]), type$.JSArray_legacy_String);
    C.List_IsolateRef = H._setArrayType(makeConstList(["IsolateRef"]), type$.JSArray_legacy_String);
    C.List_JYB = H._setArrayType(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), type$.JSArray_legacy_int);
    C.List_Jeh = H._setArrayType(makeConstList(["constant.numeric.dart"]), type$.JSArray_legacy_String);
    C.List_KeE = H._setArrayType(makeConstList([C.SizedBox_null_null_null_null]), type$.JSArray_legacy_Widget);
    C.List_LibraryRef = H._setArrayType(makeConstList(["LibraryRef"]), type$.JSArray_legacy_String);
    C.List_LibraryRef_ClassRef_FuncRef = H._setArrayType(makeConstList(["LibraryRef", "ClassRef", "FuncRef"]), type$.JSArray_legacy_String);
    C.Locale_en_US = new P.Locale("en", "US");
    C.List_Locale_en_US = H._setArrayType(makeConstList([C.Locale_en_US]), type$.JSArray_legacy_Locale);
    C.List_LogRecord = H._setArrayType(makeConstList(["LogRecord"]), type$.JSArray_legacy_String);
    C.List_MEg = H._setArrayType(makeConstList([28679, 28679, 31752, -32759, -31735, -30711, -29687, -28663, 29703, 29703, 30727, 30727, -27639, -26615, -25591, -24567]), type$.JSArray_legacy_int);
    C.List_q8u = H._setArrayType(makeConstList([255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_2du = H._setArrayType(makeConstList([C.List_q8u, C.List_q8u, C.List_q8u]), type$.JSArray_legacy_List_legacy_int);
    C.List_n3E = H._setArrayType(makeConstList([176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_U8c = H._setArrayType(makeConstList([223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_q8u0 = H._setArrayType(makeConstList([249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_EkO = H._setArrayType(makeConstList([C.List_n3E, C.List_U8c, C.List_q8u0]), type$.JSArray_legacy_List_legacy_int);
    C.List_mXg = H._setArrayType(makeConstList([255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_sav0 = H._setArrayType(makeConstList([234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_q8u1 = H._setArrayType(makeConstList([253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_ezx = H._setArrayType(makeConstList([C.List_mXg, C.List_sav0, C.List_q8u1]), type$.JSArray_legacy_List_legacy_int);
    C.List_mXg0 = H._setArrayType(makeConstList([255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_wX4 = H._setArrayType(makeConstList([239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_U8c0 = H._setArrayType(makeConstList([254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_Q1p = H._setArrayType(makeConstList([C.List_mXg0, C.List_wX4, C.List_U8c0]), type$.JSArray_legacy_List_legacy_int);
    C.List_mXg1 = H._setArrayType(makeConstList([255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_wX40 = H._setArrayType(makeConstList([251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_ycb = H._setArrayType(makeConstList([C.List_mXg1, C.List_wX40, C.List_q8u]), type$.JSArray_legacy_List_legacy_int);
    C.List_wX41 = H._setArrayType(makeConstList([255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_mXg2 = H._setArrayType(makeConstList([251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_AuU = H._setArrayType(makeConstList([C.List_wX41, C.List_mXg2, C.List_U8c0]), type$.JSArray_legacy_List_legacy_int);
    C.List_ekJ = H._setArrayType(makeConstList([255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_vHK = H._setArrayType(makeConstList([250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_Mic = H._setArrayType(makeConstList([254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_3oi = H._setArrayType(makeConstList([C.List_ekJ, C.List_vHK, C.List_Mic]), type$.JSArray_legacy_List_legacy_int);
    C.List_uwP = H._setArrayType(makeConstList([C.List_2du, C.List_EkO, C.List_ezx, C.List_Q1p, C.List_ycb, C.List_AuU, C.List_3oi, C.List_2du]), type$.JSArray_legacy_List_legacy_List_legacy_int);
    C.List_Mic0 = H._setArrayType(makeConstList([217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_ku2 = H._setArrayType(makeConstList([225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_unK = H._setArrayType(makeConstList([234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_EuK = H._setArrayType(makeConstList([C.List_Mic0, C.List_ku2, C.List_unK]), type$.JSArray_legacy_List_legacy_int);
    C.List_H37 = H._setArrayType(makeConstList([255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_sav1 = H._setArrayType(makeConstList([223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_01 = H._setArrayType(makeConstList([238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_U05 = H._setArrayType(makeConstList([C.List_H37, C.List_sav1, C.List_01]), type$.JSArray_legacy_List_legacy_int);
    C.List_H370 = H._setArrayType(makeConstList([249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_wEo0 = H._setArrayType(makeConstList([C.List_mXg1, C.List_H370, C.List_q8u]), type$.JSArray_legacy_List_legacy_int);
    C.List_q8u2 = H._setArrayType(makeConstList([255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_H371 = H._setArrayType(makeConstList([247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_HmY = H._setArrayType(makeConstList([C.List_q8u2, C.List_H371, C.List_q8u]), type$.JSArray_legacy_List_legacy_int);
    C.List_Mic1 = H._setArrayType(makeConstList([252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_qJr = H._setArrayType(makeConstList([C.List_wX41, C.List_Mic1, C.List_q8u]), type$.JSArray_legacy_List_legacy_int);
    C.List_mXg3 = H._setArrayType(makeConstList([255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_oIk = H._setArrayType(makeConstList([C.List_mXg3, C.List_q8u1, C.List_q8u]), type$.JSArray_legacy_List_legacy_int);
    C.List_H372 = H._setArrayType(makeConstList([255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_Mic2 = H._setArrayType(makeConstList([250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_23h = H._setArrayType(makeConstList([C.List_H372, C.List_Mic2, C.List_Mic]), type$.JSArray_legacy_List_legacy_int);
    C.List_Crw = H._setArrayType(makeConstList([C.List_EuK, C.List_U05, C.List_wEo0, C.List_HmY, C.List_qJr, C.List_oIk, C.List_23h, C.List_2du]), type$.JSArray_legacy_List_legacy_List_legacy_int);
    C.List_U8c1 = H._setArrayType(makeConstList([186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_02 = H._setArrayType(makeConstList([234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_IyW = H._setArrayType(makeConstList([251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_ujV = H._setArrayType(makeConstList([C.List_U8c1, C.List_02, C.List_IyW]), type$.JSArray_legacy_List_legacy_int);
    C.List_U8c2 = H._setArrayType(makeConstList([236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_A8Z = H._setArrayType(makeConstList([251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_eFE = H._setArrayType(makeConstList([C.List_wX41, C.List_U8c2, C.List_A8Z]), type$.JSArray_legacy_List_legacy_int);
    C.List_sav2 = H._setArrayType(makeConstList([254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_ezx0 = H._setArrayType(makeConstList([C.List_mXg3, C.List_sav2, C.List_q8u]), type$.JSArray_legacy_List_legacy_int);
    C.List_n3E0 = H._setArrayType(makeConstList([254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_QXJ = H._setArrayType(makeConstList([C.List_H37, C.List_n3E0, C.List_Mic]), type$.JSArray_legacy_List_legacy_int);
    C.List_yzJ = H._setArrayType(makeConstList([C.List_q8u, C.List_Mic, C.List_q8u]), type$.JSArray_legacy_List_legacy_int);
    C.List_QcX = H._setArrayType(makeConstList([C.List_ujV, C.List_eFE, C.List_ezx0, C.List_QXJ, C.List_yzJ, C.List_2du, C.List_2du, C.List_2du]), type$.JSArray_legacy_List_legacy_List_legacy_int);
    C.List_Mic3 = H._setArrayType(makeConstList([248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_AsR = H._setArrayType(makeConstList([250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_n3E1 = H._setArrayType(makeConstList([248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_gkc = H._setArrayType(makeConstList([C.List_Mic3, C.List_AsR, C.List_n3E1]), type$.JSArray_legacy_List_legacy_int);
    C.List_q8u3 = H._setArrayType(makeConstList([255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_Mic4 = H._setArrayType(makeConstList([246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_03 = H._setArrayType(makeConstList([252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_04 = H._setArrayType(makeConstList([C.List_q8u3, C.List_Mic4, C.List_03]), type$.JSArray_legacy_List_legacy_int);
    C.List_mXg4 = H._setArrayType(makeConstList([255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_n3E2 = H._setArrayType(makeConstList([248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_m9F = H._setArrayType(makeConstList([253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_C3E = H._setArrayType(makeConstList([C.List_mXg4, C.List_n3E2, C.List_m9F]), type$.JSArray_legacy_List_legacy_int);
    C.List_wX42 = H._setArrayType(makeConstList([255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_wX43 = H._setArrayType(makeConstList([245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_wX44 = H._setArrayType(makeConstList([253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_swR = H._setArrayType(makeConstList([C.List_wX42, C.List_wX43, C.List_wX44]), type$.JSArray_legacy_List_legacy_int);
    C.List_q8u4 = H._setArrayType(makeConstList([255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_U8c3 = H._setArrayType(makeConstList([252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_uQV = H._setArrayType(makeConstList([C.List_q8u4, C.List_U8c3, C.List_H37]), type$.JSArray_legacy_List_legacy_int);
    C.List_H373 = H._setArrayType(makeConstList([255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_wX45 = H._setArrayType(makeConstList([249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_wX46 = H._setArrayType(makeConstList([255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_46y = H._setArrayType(makeConstList([C.List_H373, C.List_wX45, C.List_wX46]), type$.JSArray_legacy_List_legacy_int);
    C.List_q8u5 = H._setArrayType(makeConstList([255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_legacy_int);
    C.List_yzJ0 = H._setArrayType(makeConstList([C.List_q8u5, C.List_Mic2, C.List_q8u]), type$.JSArray_legacy_List_legacy_int);
    C.List_88p = H._setArrayType(makeConstList([C.List_gkc, C.List_04, C.List_C3E, C.List_swR, C.List_uQV, C.List_46y, C.List_yzJ0, C.List_yzJ]), type$.JSArray_legacy_List_legacy_List_legacy_int);
    C.List_MIe = H._setArrayType(makeConstList([C.List_uwP, C.List_Crw, C.List_QcX, C.List_88p]), type$.JSArray_legacy_List_legacy_List_legacy_List_legacy_int);
    C.ValueKey_qpY = new D.ValueKey("Dart Heap Analysis Tab", type$.ValueKey_legacy_String);
    C.Tab_k2M = new E.Tab("Analysis", null, C.ValueKey_qpY);
    C.ValueKey_e0h0 = new D.ValueKey("Dart Heap Allocations Tab", type$.ValueKey_legacy_String);
    C.Tab_Ewz = new E.Tab("Allocations", null, C.ValueKey_e0h0);
    C.List_MIo = H._setArrayType(makeConstList([C.Tab_k2M, C.Tab_Ewz]), type$.JSArray_legacy_Tab);
    C.VerticalDirection_0 = new G.VerticalDirection(0, "VerticalDirection.up");
    C.VerticalDirection_1 = new G.VerticalDirection(1, "VerticalDirection.down");
    C.List_MQk = H._setArrayType(makeConstList([C.VerticalDirection_0, C.VerticalDirection_1]), H.findType("JSArray<VerticalDirection*>"));
    C.MainAxisSize_0 = new F.MainAxisSize(0, "MainAxisSize.min");
    C.MainAxisSize_1 = new F.MainAxisSize(1, "MainAxisSize.max");
    C.List_MainAxisSize_0_MainAxisSize_1 = H._setArrayType(makeConstList([C.MainAxisSize_0, C.MainAxisSize_1]), H.findType("JSArray<MainAxisSize*>"));
    C.List_MemoryUsage = H._setArrayType(makeConstList(["MemoryUsage"]), type$.JSArray_legacy_String);
    C.List_Message = H._setArrayType(makeConstList(["Message"]), type$.JSArray_legacy_String);
    C.MainAxisAlignment_0 = new F.MainAxisAlignment(0, "MainAxisAlignment.start");
    C.MainAxisAlignment_1 = new F.MainAxisAlignment(1, "MainAxisAlignment.end");
    C.MainAxisAlignment_2 = new F.MainAxisAlignment(2, "MainAxisAlignment.center");
    C.MainAxisAlignment_3 = new F.MainAxisAlignment(3, "MainAxisAlignment.spaceBetween");
    C.MainAxisAlignment_4 = new F.MainAxisAlignment(4, "MainAxisAlignment.spaceAround");
    C.MainAxisAlignment_5 = new F.MainAxisAlignment(5, "MainAxisAlignment.spaceEvenly");
    C.List_NT8 = H._setArrayType(makeConstList([C.MainAxisAlignment_0, C.MainAxisAlignment_1, C.MainAxisAlignment_2, C.MainAxisAlignment_3, C.MainAxisAlignment_4, C.MainAxisAlignment_5]), H.findType("JSArray<MainAxisAlignment*>"));
    C.Text_yCx = new L.Text("loading...", null, null, null, null, null, null, null, null, null, null);
    C.List_O8P = H._setArrayType(makeConstList([C.Text_yCx]), type$.JSArray_legacy_Widget);
    C.Text_oCX = new L.Text("Click the take heap snapshot button ", null, null, null, null, null, null, null, null, null, null);
    C.IconData_57647_MaterialIcons_false = new X.IconData(57647, "MaterialIcons", false);
    C.Icon_JQp = new L.Icon(C.IconData_57647_MaterialIcons_false, null, null, null);
    C.Text_1D5 = new L.Text(" to collect a graph of memory objects.", null, null, null, null, null, null, null, null, null, null);
    C.List_O98 = H._setArrayType(makeConstList([C.Text_oCX, C.Icon_JQp, C.Text_1D5]), type$.JSArray_legacy_Widget);
    C.List_O9m2 = H._setArrayType(makeConstList([0.25, 0.75]), type$.JSArray_legacy_double);
    C.List_O9m0 = H._setArrayType(makeConstList([0.33, 0.67]), type$.JSArray_legacy_double);
    C.List_O9m1 = H._setArrayType(makeConstList([0.5, 0.5]), type$.JSArray_legacy_double);
    C.List_O9m = H._setArrayType(makeConstList([0.67, 0.33]), type$.JSArray_legacy_double);
    C.List_Obj = H._setArrayType(makeConstList(["Obj"]), type$.JSArray_legacy_String);
    C.List_ObjRef = H._setArrayType(makeConstList(["ObjRef"]), type$.JSArray_legacy_String);
    C.List_OpenFileRef = H._setArrayType(makeConstList(["OpenFileRef"]), type$.JSArray_legacy_String);
    C.List_PAk = H._setArrayType(makeConstList(["InstanceRef", "TypeArgumentsRef", "Sentinel"]), type$.JSArray_legacy_String);
    C.List_PortList = H._setArrayType(makeConstList(["PortList"]), type$.JSArray_legacy_String);
    C.List_ProcessMemoryItem = H._setArrayType(makeConstList(["ProcessMemoryItem"]), type$.JSArray_legacy_String);
    C.List_ProcessMemoryUsage = H._setArrayType(makeConstList(["ProcessMemoryUsage"]), type$.JSArray_legacy_String);
    C.List_ProfileFunction = H._setArrayType(makeConstList(["ProfileFunction"]), type$.JSArray_legacy_String);
    C.List_Protocol = H._setArrayType(makeConstList(["Protocol"]), type$.JSArray_legacy_String);
    C.List_ProtocolList = H._setArrayType(makeConstList(["ProtocolList"]), type$.JSArray_legacy_String);
    C.List_Q1_Q2_Q3_Q4 = H._setArrayType(makeConstList(["Q1", "Q2", "Q3", "Q4"]), type$.JSArray_legacy_String);
    C.ValueKey_BKg = new D.ValueKey("cpu profile bottom up tab", type$.ValueKey_legacy_String);
    C.Tab_DeH = new E.Tab("Bottom Up", null, C.ValueKey_BKg);
    C.ValueKey_yHZ = new D.ValueKey("cpu profile call tree tab", type$.ValueKey_legacy_String);
    C.Tab_woc = new E.Tab("Call Tree", null, C.ValueKey_yHZ);
    C.ValueKey_ojS = new D.ValueKey("cpu profile flame chart tab", type$.ValueKey_legacy_String);
    C.Tab_43h = new E.Tab("CPU Flame Chart", null, C.ValueKey_ojS);
    C.List_QNt = H._setArrayType(makeConstList([C.Tab_DeH, C.Tab_woc, C.Tab_43h]), type$.JSArray_legacy_Tab);
    C.List_Qw3 = H._setArrayType(makeConstList([0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095]), type$.JSArray_legacy_int);
    C.List_ReloadReport = H._setArrayType(makeConstList(["ReloadReport"]), type$.JSArray_legacy_String);
    C.List_RetainingObject = H._setArrayType(makeConstList(["RetainingObject"]), type$.JSArray_legacy_String);
    C.List_RetainingPath = H._setArrayType(makeConstList(["RetainingPath"]), type$.JSArray_legacy_String);
    C.List_2Vk2 = H._setArrayType(makeConstList([128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_gkc0 = H._setArrayType(makeConstList([C.List_2Vk2, C.List_2Vk2, C.List_2Vk2]), type$.JSArray_legacy_List_legacy_int);
    C.List_cdS = H._setArrayType(makeConstList([253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_app = H._setArrayType(makeConstList([189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_yFh = H._setArrayType(makeConstList([106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_y5k = H._setArrayType(makeConstList([C.List_cdS, C.List_app, C.List_yFh]), type$.JSArray_legacy_List_legacy_int);
    C.List_INA = H._setArrayType(makeConstList([1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_e4d = H._setArrayType(makeConstList([181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_app0 = H._setArrayType(makeConstList([78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_iLh = H._setArrayType(makeConstList([C.List_INA, C.List_e4d, C.List_app0]), type$.JSArray_legacy_List_legacy_int);
    C.List_MOR = H._setArrayType(makeConstList([1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_iUw = H._setArrayType(makeConstList([184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_Eba = H._setArrayType(makeConstList([77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_VS7 = H._setArrayType(makeConstList([C.List_MOR, C.List_iUw, C.List_Eba]), type$.JSArray_legacy_List_legacy_int);
    C.List_MOR0 = H._setArrayType(makeConstList([1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_wnc = H._setArrayType(makeConstList([170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_XwU = H._setArrayType(makeConstList([37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_HTJ = H._setArrayType(makeConstList([C.List_MOR0, C.List_wnc, C.List_XwU]), type$.JSArray_legacy_List_legacy_int);
    C.List_1yC = H._setArrayType(makeConstList([1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_Eba0 = H._setArrayType(makeConstList([207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_iUw0 = H._setArrayType(makeConstList([102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_4QF = H._setArrayType(makeConstList([C.List_1yC, C.List_Eba0, C.List_iUw0]), type$.JSArray_legacy_List_legacy_int);
    C.List_uXo = H._setArrayType(makeConstList([1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_iUw1 = H._setArrayType(makeConstList([177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_Eba1 = H._setArrayType(makeConstList([80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_8Pu = H._setArrayType(makeConstList([C.List_uXo, C.List_iUw1, C.List_Eba1]), type$.JSArray_legacy_List_legacy_int);
    C.List_2hT = H._setArrayType(makeConstList([1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_2hT0 = H._setArrayType(makeConstList([246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_10r = H._setArrayType(makeConstList([255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_Snu = H._setArrayType(makeConstList([C.List_2hT, C.List_2hT0, C.List_10r]), type$.JSArray_legacy_List_legacy_int);
    C.List_23h0 = H._setArrayType(makeConstList([C.List_gkc0, C.List_y5k, C.List_iLh, C.List_VS7, C.List_HTJ, C.List_4QF, C.List_8Pu, C.List_Snu]), type$.JSArray_legacy_List_legacy_List_legacy_int);
    C.List_2hT1 = H._setArrayType(makeConstList([198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62]), type$.JSArray_legacy_int);
    C.List_2Vk3 = H._setArrayType(makeConstList([131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1]), type$.JSArray_legacy_int);
    C.List_kOG = H._setArrayType(makeConstList([68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]), type$.JSArray_legacy_int);
    C.List_BDr = H._setArrayType(makeConstList([C.List_2hT1, C.List_2Vk3, C.List_kOG]), type$.JSArray_legacy_List_legacy_int);
    C.List_qNA0 = H._setArrayType(makeConstList([1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_app1 = H._setArrayType(makeConstList([184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_kr3 = H._setArrayType(makeConstList([81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]), type$.JSArray_legacy_int);
    C.List_Hcu = H._setArrayType(makeConstList([C.List_qNA0, C.List_app1, C.List_kr3]), type$.JSArray_legacy_List_legacy_int);
    C.List_oqK = H._setArrayType(makeConstList([1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128]), type$.JSArray_legacy_int);
    C.List_e4d0 = H._setArrayType(makeConstList([99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_kr30 = H._setArrayType(makeConstList([23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]), type$.JSArray_legacy_int);
    C.List_zAX = H._setArrayType(makeConstList([C.List_oqK, C.List_e4d0, C.List_kr30]), type$.JSArray_legacy_List_legacy_int);
    C.List_uXo0 = H._setArrayType(makeConstList([1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_YAl = H._setArrayType(makeConstList([109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_INA0 = H._setArrayType(makeConstList([44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_QOg = H._setArrayType(makeConstList([C.List_uXo0, C.List_YAl, C.List_INA0]), type$.JSArray_legacy_List_legacy_int);
    C.List_niO = H._setArrayType(makeConstList([1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_INA1 = H._setArrayType(makeConstList([94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_app2 = H._setArrayType(makeConstList([22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_i7r = H._setArrayType(makeConstList([C.List_niO, C.List_INA1, C.List_app2]), type$.JSArray_legacy_List_legacy_int);
    C.List_xw8 = H._setArrayType(makeConstList([1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_iUw2 = H._setArrayType(makeConstList([124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_app3 = H._setArrayType(makeConstList([35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_sQ3 = H._setArrayType(makeConstList([C.List_xw8, C.List_iUw2, C.List_app3]), type$.JSArray_legacy_List_legacy_int);
    C.List_UkC = H._setArrayType(makeConstList([1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_qNA1 = H._setArrayType(makeConstList([121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_app4 = H._setArrayType(makeConstList([45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_ACG = H._setArrayType(makeConstList([C.List_UkC, C.List_qNA1, C.List_app4]), type$.JSArray_legacy_List_legacy_int);
    C.List_xw80 = H._setArrayType(makeConstList([1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_e3N = H._setArrayType(makeConstList([203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_uXo1 = H._setArrayType(makeConstList([137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_UMT = H._setArrayType(makeConstList([C.List_xw80, C.List_e3N, C.List_uXo1]), type$.JSArray_legacy_List_legacy_int);
    C.List_IJC = H._setArrayType(makeConstList([C.List_BDr, C.List_Hcu, C.List_zAX, C.List_QOg, C.List_i7r, C.List_sQ3, C.List_ACG, C.List_UMT]), type$.JSArray_legacy_List_legacy_List_legacy_int);
    C.List_oyU = H._setArrayType(makeConstList([253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_fnl = H._setArrayType(makeConstList([175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128]), type$.JSArray_legacy_int);
    C.List_kOG0 = H._setArrayType(makeConstList([73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]), type$.JSArray_legacy_int);
    C.List_05 = H._setArrayType(makeConstList([C.List_oyU, C.List_fnl, C.List_kOG0]), type$.JSArray_legacy_List_legacy_int);
    C.List_qNA2 = H._setArrayType(makeConstList([1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_qph = H._setArrayType(makeConstList([239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_yFh0 = H._setArrayType(makeConstList([155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_S0k = H._setArrayType(makeConstList([C.List_qNA2, C.List_qph, C.List_yFh0]), type$.JSArray_legacy_List_legacy_int);
    C.List_niO0 = H._setArrayType(makeConstList([1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_Eba2 = H._setArrayType(makeConstList([201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_app5 = H._setArrayType(makeConstList([69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_gfn = H._setArrayType(makeConstList([C.List_niO0, C.List_Eba2, C.List_app5]), type$.JSArray_legacy_List_legacy_int);
    C.List_8eb = H._setArrayType(makeConstList([1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_xw81 = H._setArrayType(makeConstList([223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_e3N0 = H._setArrayType(makeConstList([141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_EJ0 = H._setArrayType(makeConstList([C.List_8eb, C.List_xw81, C.List_e3N0]), type$.JSArray_legacy_List_legacy_int);
    C.List_e3N1 = H._setArrayType(makeConstList([1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_uXo2 = H._setArrayType(makeConstList([190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_2hT2 = H._setArrayType(makeConstList([149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_WtZ = H._setArrayType(makeConstList([C.List_e3N1, C.List_uXo2, C.List_2hT2]), type$.JSArray_legacy_List_legacy_int);
    C.List_2hT3 = H._setArrayType(makeConstList([1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_Jio = H._setArrayType(makeConstList([247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_2hT4 = H._setArrayType(makeConstList([240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_wsa0 = H._setArrayType(makeConstList([C.List_2hT3, C.List_Jio, C.List_2hT4]), type$.JSArray_legacy_List_legacy_int);
    C.List_e3N2 = H._setArrayType(makeConstList([1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_e3N3 = H._setArrayType(makeConstList([213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_2hT5 = H._setArrayType(makeConstList([55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_OBP = H._setArrayType(makeConstList([C.List_e3N2, C.List_e3N3, C.List_2hT5]), type$.JSArray_legacy_List_legacy_int);
    C.List_Net = H._setArrayType(makeConstList([C.List_05, C.List_S0k, C.List_gfn, C.List_EJ0, C.List_WtZ, C.List_wsa0, C.List_OBP, C.List_gkc0]), type$.JSArray_legacy_List_legacy_List_legacy_int);
    C.List_ZEx = H._setArrayType(makeConstList([202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255]), type$.JSArray_legacy_int);
    C.List_kOG1 = H._setArrayType(makeConstList([126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128]), type$.JSArray_legacy_int);
    C.List_kOG2 = H._setArrayType(makeConstList([61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]), type$.JSArray_legacy_int);
    C.List_wsa1 = H._setArrayType(makeConstList([C.List_ZEx, C.List_kOG1, C.List_kOG2]), type$.JSArray_legacy_List_legacy_int);
    C.List_kr31 = H._setArrayType(makeConstList([1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128]), type$.JSArray_legacy_int);
    C.List_e4d1 = H._setArrayType(makeConstList([166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_kr32 = H._setArrayType(makeConstList([39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]), type$.JSArray_legacy_int);
    C.List_UaZ = H._setArrayType(makeConstList([C.List_kr31, C.List_e4d1, C.List_kr32]), type$.JSArray_legacy_List_legacy_int);
    C.List_kr33 = H._setArrayType(makeConstList([1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128]), type$.JSArray_legacy_int);
    C.List_oqK0 = H._setArrayType(makeConstList([124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128]), type$.JSArray_legacy_int);
    C.List_kr34 = H._setArrayType(makeConstList([24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]), type$.JSArray_legacy_int);
    C.List_i09 = H._setArrayType(makeConstList([C.List_kr33, C.List_oqK0, C.List_kr34]), type$.JSArray_legacy_List_legacy_int);
    C.List_app6 = H._setArrayType(makeConstList([1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_e4d2 = H._setArrayType(makeConstList([149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_XT3 = H._setArrayType(makeConstList([28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]), type$.JSArray_legacy_int);
    C.List_OIF = H._setArrayType(makeConstList([C.List_app6, C.List_e4d2, C.List_XT3]), type$.JSArray_legacy_List_legacy_int);
    C.List_e4d3 = H._setArrayType(makeConstList([1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_INA2 = H._setArrayType(makeConstList([123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_app7 = H._setArrayType(makeConstList([20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_CKI = H._setArrayType(makeConstList([C.List_e4d3, C.List_INA2, C.List_app7]), type$.JSArray_legacy_List_legacy_int);
    C.List_Eba3 = H._setArrayType(makeConstList([1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_IVU = H._setArrayType(makeConstList([168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_INA3 = H._setArrayType(makeConstList([47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_SnA = H._setArrayType(makeConstList([C.List_Eba3, C.List_IVU, C.List_INA3]), type$.JSArray_legacy_List_legacy_int);
    C.List_INA4 = H._setArrayType(makeConstList([1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_e4d4 = H._setArrayType(makeConstList([141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_e4d5 = H._setArrayType(makeConstList([42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_xw82 = H._setArrayType(makeConstList([C.List_INA4, C.List_e4d4, C.List_e4d5]), type$.JSArray_legacy_List_legacy_int);
    C.List_2hT6 = H._setArrayType(makeConstList([244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_2hT7 = H._setArrayType(makeConstList([238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_legacy_int);
    C.List_Q1p0 = H._setArrayType(makeConstList([C.List_2hT, C.List_2hT6, C.List_2hT7]), type$.JSArray_legacy_List_legacy_int);
    C.List_uLM = H._setArrayType(makeConstList([C.List_wsa1, C.List_UaZ, C.List_i09, C.List_OIF, C.List_CKI, C.List_SnA, C.List_xw82, C.List_Q1p0]), type$.JSArray_legacy_List_legacy_List_legacy_int);
    C.List_S8N = H._setArrayType(makeConstList([C.List_23h0, C.List_IJC, C.List_Net, C.List_uLM]), type$.JSArray_legacy_List_legacy_List_legacy_List_legacy_int);
    C.Offset_1_0 = new P.Offset(1, 0);
    C.Offset_1_1 = new P.Offset(1, 1);
    C.Offset_0_1 = new P.Offset(0, 1);
    C.Offset_m1_1 = new P.Offset(-1, 1);
    C.Offset_m1_0 = new P.Offset(-1, 0);
    C.Offset_m1_m1 = new P.Offset(-1, -1);
    C.Offset_0_m1 = new P.Offset(0, -1);
    C.Offset_1_m1 = new P.Offset(1, -1);
    C.List_SbI = H._setArrayType(makeConstList([C.Offset_1_0, C.Offset_1_1, C.Offset_0_1, C.Offset_m1_1, C.Offset_m1_0, C.Offset_m1_m1, C.Offset_0_m1, C.Offset_1_m1]), H.findType("JSArray<Offset*>"));
    C.List_ScriptList = H._setArrayType(makeConstList(["ScriptList"]), type$.JSArray_legacy_String);
    C.List_ScriptRef = H._setArrayType(makeConstList(["ScriptRef"]), type$.JSArray_legacy_String);
    C.ShaderJankWarningIcon_null = new S.ShaderJankWarningIcon(null);
    C.List_ShaderJankWarningIcon_null = H._setArrayType(makeConstList([C.ShaderJankWarningIcon_null]), type$.JSArray_legacy_Widget);
    C.List_SocketStatistic = H._setArrayType(makeConstList(["SocketStatistic"]), type$.JSArray_legacy_String);
    C.List_SourceLocation = H._setArrayType(makeConstList(["SourceLocation"]), type$.JSArray_legacy_String);
    C.List_SourceReport = H._setArrayType(makeConstList(["SourceReport"]), type$.JSArray_legacy_String);
    C.List_SpawnedProcessRef = H._setArrayType(makeConstList(["SpawnedProcessRef"]), type$.JSArray_legacy_String);
    C.List_Stack = H._setArrayType(makeConstList(["Stack"]), type$.JSArray_legacy_String);
    C.List_String = H._setArrayType(makeConstList(["String"]), type$.JSArray_legacy_String);
    C.List_Success = H._setArrayType(makeConstList(["Success"]), type$.JSArray_legacy_String);
    C.List_Success_Error = H._setArrayType(makeConstList(["Success", "Error"]), type$.JSArray_legacy_String);
    C.TextAffinity_0 = new P.TextAffinity(0, "TextAffinity.upstream");
    C.TextAffinity_1 = new P.TextAffinity(1, "TextAffinity.downstream");
    C.List_TextAffinity_0_TextAffinity_1 = H._setArrayType(makeConstList([C.TextAffinity_0, C.TextAffinity_1]), H.findType("JSArray<TextAffinity*>"));
    C.TextBaseline_0 = new P.TextBaseline(0, "TextBaseline.alphabetic");
    C.TextBaseline_1 = new P.TextBaseline(1, "TextBaseline.ideographic");
    C.List_TextBaseline_0_TextBaseline_1 = H._setArrayType(makeConstList([C.TextBaseline_0, C.TextBaseline_1]), H.findType("JSArray<TextBaseline*>"));
    C.TextDirection_0 = new P.TextDirection(0, "TextDirection.rtl");
    C.TextDirection_1 = new P.TextDirection(1, "TextDirection.ltr");
    C.List_TextDirection_0_TextDirection_1 = H._setArrayType(makeConstList([C.TextDirection_0, C.TextDirection_1]), H.findType("JSArray<TextDirection*>"));
    C.List_Timeline = H._setArrayType(makeConstList(["Timeline"]), type$.JSArray_legacy_String);
    C.List_TimelineEvent = H._setArrayType(makeConstList(["TimelineEvent"]), type$.JSArray_legacy_String);
    C.List_TimelineFlags = H._setArrayType(makeConstList(["TimelineFlags"]), type$.JSArray_legacy_String);
    C.List_Timestamp = H._setArrayType(makeConstList(["Timestamp"]), type$.JSArray_legacy_String);
    C.List_TypeArgumentsRef = H._setArrayType(makeConstList(["TypeArgumentsRef"]), type$.JSArray_legacy_String);
    C.List_UI5 = H._setArrayType(makeConstList(["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"]), type$.JSArray_dynamic);
    C.List_VM = H._setArrayType(makeConstList(["VM"]), type$.JSArray_legacy_String);
    C.List_VMRef = H._setArrayType(makeConstList(["VMRef"]), type$.JSArray_legacy_String);
    C.List_VSP = H._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_legacy_int);
    C.List_VYA = H._setArrayType(makeConstList([C.LineCharProperty_0, C.LineCharProperty_1, C.LineCharProperty_2, C.LineCharProperty_3, C.LineCharProperty_4, C.LineCharProperty_5, C.LineCharProperty_6, C.LineCharProperty_7, C.LineCharProperty_8, C.LineCharProperty_9, C.LineCharProperty_10, C.LineCharProperty_11, C.LineCharProperty_12, C.LineCharProperty_13, C.LineCharProperty_14, C.LineCharProperty_15, C.LineCharProperty_16, C.LineCharProperty_17, C.LineCharProperty_18, C.LineCharProperty_19, C.LineCharProperty_20, C.LineCharProperty_21, C.LineCharProperty_22, C.LineCharProperty_23, C.LineCharProperty_24, C.LineCharProperty_25, C.LineCharProperty_26, C.LineCharProperty_27, C.LineCharProperty_28, C.LineCharProperty_29, C.LineCharProperty_30, C.LineCharProperty_31, C.LineCharProperty_32, C.LineCharProperty_33, C.LineCharProperty_34, C.LineCharProperty_35, C.LineCharProperty_36]), H.findType("JSArray<LineCharProperty*>"));
    C.List_Version = H._setArrayType(makeConstList(["Version"]), type$.JSArray_legacy_String);
    C.List_VvJ = H._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_legacy_int);
    C.TextAlign_0 = new P.TextAlign(0, "TextAlign.left");
    C.TextAlign_1 = new P.TextAlign(1, "TextAlign.right");
    C.TextAlign_2 = new P.TextAlign(2, "TextAlign.center");
    C.TextAlign_3 = new P.TextAlign(3, "TextAlign.justify");
    C.TextAlign_4 = new P.TextAlign(4, "TextAlign.start");
    C.TextAlign_5 = new P.TextAlign(5, "TextAlign.end");
    C.List_WPl = H._setArrayType(makeConstList([C.TextAlign_0, C.TextAlign_1, C.TextAlign_2, C.TextAlign_3, C.TextAlign_4, C.TextAlign_5]), H.findType("JSArray<TextAlign*>"));
    C.List_X3d0 = H._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_legacy_int);
    C.List_X3d = H._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_legacy_int);
    C.List_Y3m = H._setArrayType(makeConstList([-0.0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9]), type$.JSArray_legacy_int);
    C.List_a1A = H._setArrayType(makeConstList([0.4, 0.4, 0.2]), type$.JSArray_legacy_double);
    C._RouteRestorationType_0 = new K._RouteRestorationType(0, "_RouteRestorationType.named");
    C._RouteRestorationType_1 = new K._RouteRestorationType(1, "_RouteRestorationType.anonymous");
    C.List_ato = H._setArrayType(makeConstList([C._RouteRestorationType_0, C._RouteRestorationType_1]), H.findType("JSArray<_RouteRestorationType*>"));
    C.List_bJM = H._setArrayType(makeConstList(["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]), type$.JSArray_legacy_String);
    C.List_cGl1 = H._setArrayType(makeConstList([0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15]), type$.JSArray_legacy_int);
    C.List_cGl0 = H._setArrayType(makeConstList([0, 4, 8, 12, 128, 132, 136, 140, 256, 260, 264, 268, 384, 388, 392, 396]), type$.JSArray_legacy_int);
    C.List_cGl = H._setArrayType(makeConstList([0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15]), type$.JSArray_legacy_int);
    C.List_cIc = H._setArrayType(makeConstList(["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]), type$.JSArray_legacy_String);
    C.List_cUH = H._setArrayType(makeConstList(["variable.name.source.dart", "variable.other.source.dart", "variable.parameter.dart"]), type$.JSArray_legacy_String);
    C.List_ckG = H._setArrayType(makeConstList([0.3, 0.7]), type$.JSArray_legacy_double);
    C.List_click_scroll = H._setArrayType(makeConstList(["click", "scroll"]), type$.JSArray_legacy_String);
    C.List_dynamic = H._setArrayType(makeConstList(["dynamic"]), type$.JSArray_legacy_String);
    C.List_eea = H._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_legacy_int);
    C.List_ego = H._setArrayType(makeConstList(["HEAD", "AREA", "BASE", "BASEFONT", "BR", "COL", "COLGROUP", "EMBED", "FRAME", "FRAMESET", "HR", "IMAGE", "IMG", "INPUT", "ISINDEX", "LINK", "META", "PARAM", "SOURCE", "STYLE", "TITLE", "WBR"]), type$.JSArray_legacy_String);
    C.List_empty2 = H._setArrayType(makeConstList([]), type$.JSArray_dynamic);
    C.List_empty12 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_CallGraphNode);
    C.List_empty4 = H._setArrayType(makeConstList([]), H.findType("JSArray<CodeunitRange*>"));
    C.List_empty9 = H._setArrayType(makeConstList([]), H.findType("JSArray<CustomPainterSemantics*>"));
    C.List_empty0 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_DiagnosticsNode);
    C.List_empty16 = H._setArrayType(makeConstList([]), H.findType("JSArray<Element0*>"));
    C.List_empty10 = H._setArrayType(makeConstList([]), H.findType("JSArray<InheritedTheme*>"));
    C.List_empty20 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_Locale);
    C.List_empty8 = H._setArrayType(makeConstList([]), H.findType("JSArray<NavigatorObserver*>"));
    C.List_empty17 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_NetworkRequest);
    C.List_empty7 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_OverlayEntry);
    C.List_empty5 = H._setArrayType(makeConstList([]), H.findType("JSArray<Override*>"));
    C.List_empty6 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_Page_dynamic);
    C.List_empty13 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_PathToProperty);
    C.List_empty18 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_RemoteDiagnosticsNode);
    C.List_empty1 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_SemanticsNode);
    C.List_empty = H._setArrayType(makeConstList([]), type$.JSArray_legacy_String);
    C.List_empty21 = H._setArrayType(makeConstList([]), H.findType("JSArray<TableRow0*>"));
    C.List_empty3 = H._setArrayType(makeConstList([]), H.findType("JSArray<TextBox*>"));
    C.List_empty22 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_TreemapNode);
    C.List_empty15 = H._setArrayType(makeConstList([]), H.findType("JSArray<_TableElementRow*>"));
    C.List_empty14 = H._setArrayType(makeConstList([]), type$.JSArray_nullable_RenderBox);
    C.List_gRj = H._setArrayType(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), type$.JSArray_legacy_int);
    C.List_gc6 = H._setArrayType(makeConstList(["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]), type$.JSArray_legacy_String);
    C.List_gnE = H._setArrayType(makeConstList([0, 0, 65498, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_legacy_int);
    C.List_h8w0 = H._setArrayType(makeConstList(["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]), type$.JSArray_dynamic);
    C.List_h8w = H._setArrayType(makeConstList(["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]), type$.JSArray_legacy_String);
    C.List_i3t = H._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_legacy_int);
    C.Color_4294966759 = new P.Color(4294966759);
    C.Color_4294965700 = new P.Color(4294965700);
    C.Color_4294964637 = new P.Color(4294964637);
    C.Color_4294963574 = new P.Color(4294963574);
    C.Color_4294962776 = new P.Color(4294962776);
    C.Color_4294961979 = new P.Color(4294961979);
    C.Color_4294826037 = new P.Color(4294826037);
    C.Color_4294688813 = new P.Color(4294688813);
    C.Color_4294551589 = new P.Color(4294551589);
    C.Color_4294278935 = new P.Color(4294278935);
    C.Map_JNHRl = new H.GeneralConstantMap([50, C.Color_4294966759, 100, C.Color_4294965700, 200, C.Color_4294964637, 300, C.Color_4294963574, 400, C.Color_4294962776, 500, C.Color_4294961979, 600, C.Color_4294826037, 700, C.Color_4294688813, 800, C.Color_4294551589, 900, C.Color_4294278935], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.MaterialColor_Map_JNHRl_4294961979 = new E.MaterialColor(C.Map_JNHRl, 4294961979);
    C.List_itQ = H._setArrayType(makeConstList([C.MaterialColor_Map_JNHRl_4294961979, C.Color_4281097642, C.Color_4286630852]), type$.JSArray_legacy_Color);
    C.List_json = H._setArrayType(makeConstList(["json"]), type$.JSArray_legacy_String);
    C.Text_fOk = new L.Text("<unknown error>", null, null, null, null, null, null, null, null, null, null);
    C.List_kSE = H._setArrayType(makeConstList([C.Text_fOk]), type$.JSArray_legacy_Widget);
    C.List_knt = H._setArrayType(makeConstList([0, 1, 3, 7, 15, 31, 63, 127, 255]), type$.JSArray_legacy_int);
    C.List_knt0 = H._setArrayType(makeConstList([0, 128, 192, 224, 240, 248, 252, 254, 255]), type$.JSArray_legacy_int);
    C.List_mC8 = H._setArrayType(makeConstList([0, 1, 1, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8]), type$.JSArray_legacy_int);
    C.List_nLG = H._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_legacy_int);
    C.List_nxB = H._setArrayType(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_legacy_int);
    C.C_ActivateIntent = new U.ActivateIntent();
    C.ScrollIncrementType_1 = new F.ScrollIncrementType(1, "ScrollIncrementType.page");
    C.ScrollIntent_Jgx = new F.ScrollIntent(C.AxisDirection_2, C.ScrollIncrementType_1);
    C.List_oCX = H._setArrayType(makeConstList([C.C_ActivateIntent, C.ScrollIntent_Jgx]), H.findType("JSArray<Intent*>"));
    C.List_oqh = H._setArrayType(makeConstList(["SourceLocation", "UnresolvedSourceLocation"]), type$.JSArray_legacy_String);
    C.List_qFt = H._setArrayType(makeConstList([0, 0, 27858, 1023, 65534, 51199, 65535, 32767]), type$.JSArray_legacy_int);
    C.List_qFu = H._setArrayType(makeConstList([0.8, 0.2]), type$.JSArray_legacy_double);
    C.List_qNA = H._setArrayType(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), type$.JSArray_legacy_int);
    C.List_qQn = H._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_legacy_int);
    C.List_qg40 = H._setArrayType(makeConstList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_legacy_int);
    C.List_qg4 = H._setArrayType(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_legacy_int);
    C.List_qpm = H._setArrayType(makeConstList(["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"]), type$.JSArray_legacy_String);
    C.List_sBE = H._setArrayType(makeConstList([C.CrossAxisAlignment_0, C.CrossAxisAlignment_1, C.CrossAxisAlignment_2, C.CrossAxisAlignment_3, C.CrossAxisAlignment_4]), type$.JSArray_legacy_CrossAxisAlignment);
    C.Duration_60000000 = new P.Duration(60000000);
    C.Duration_300000000 = new P.Duration(300000000);
    C.Duration_600000000 = new P.Duration(600000000);
    C.List_sLJ = H._setArrayType(makeConstList([C.Duration_0, C.Duration_60000000, C.Duration_300000000, C.Duration_600000000, null]), H.findType("JSArray<Duration*>"));
    C.List_173_148_140 = H._setArrayType(makeConstList([173, 148, 140]), type$.JSArray_legacy_int);
    C.List_176_155_140_135 = H._setArrayType(makeConstList([176, 155, 140, 135]), type$.JSArray_legacy_int);
    C.List_yTu0 = H._setArrayType(makeConstList([180, 157, 141, 134, 130]), type$.JSArray_legacy_int);
    C.List_2hT8 = H._setArrayType(makeConstList([254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129]), type$.JSArray_legacy_int);
    C.List_sao = H._setArrayType(makeConstList([C.List_173_148_140, C.List_176_155_140_135, C.List_yTu0, C.List_2hT8]), type$.JSArray_legacy_List_legacy_int);
    C.NodeType_0 = new D.NodeType(0, "NodeType.packageNode");
    C.NodeType_1 = new D.NodeType(1, "NodeType.libraryNode");
    C.NodeType_2 = new D.NodeType(2, "NodeType.classNode");
    C.NodeType_3 = new D.NodeType(3, "NodeType.functionNode");
    C.NodeType_4 = new D.NodeType(4, "NodeType.other");
    C.List_sav = H._setArrayType(makeConstList([C.NodeType_0, C.NodeType_1, C.NodeType_2, C.NodeType_3, C.NodeType_4]), H.findType("JSArray<NodeType*>"));
    C.List_sty = H._setArrayType(makeConstList([V.vp8_filter_VP8Filter_DC4$closure(), V.vp8_filter_VP8Filter_TM4$closure(), V.vp8_filter_VP8Filter_VE4$closure(), V.vp8_filter_VP8Filter_HE4$closure(), V.vp8_filter_VP8Filter_RD4$closure(), V.vp8_filter_VP8Filter_VR4$closure(), V.vp8_filter_VP8Filter_LD4$closure(), V.vp8_filter_VP8Filter_VL4$closure(), V.vp8_filter_VP8Filter_HD4$closure(), V.vp8_filter_VP8Filter_HU4$closure()]), type$.JSArray_of_legacy_void_Function_legacy_InputBuffer);
    C.List_sxw = H._setArrayType(makeConstList([0.72, 0.28]), type$.JSArray_legacy_double);
    C.DiagnosticLevel_8 = new Y.DiagnosticLevel(8, "DiagnosticLevel.off");
    C.List_szR = H._setArrayType(makeConstList([C.DiagnosticLevel_0, C.DiagnosticLevel_1, C.DiagnosticLevel_2, C.DiagnosticLevel_3, C.DiagnosticLevel_4, C.DiagnosticLevel_5, C.DiagnosticLevel_6, C.DiagnosticLevel_7, C.DiagnosticLevel_8]), H.findType("JSArray<DiagnosticLevel*>"));
    C.List_tPa = H._setArrayType(makeConstList(["apk", "aab", "ios", "macos", "windows", "linux"]), type$.JSArray_legacy_String);
    C.List_uSC = H._setArrayType(makeConstList([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), type$.JSArray_legacy_int);
    C.List_uSC0 = H._setArrayType(makeConstList([17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]), type$.JSArray_legacy_int);
    C.List_uUr = H._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_legacy_String);
    C.List_urY = H._setArrayType(makeConstList(["entity.name.function.dart"]), type$.JSArray_legacy_String);
    C.List_wMy = H._setArrayType(makeConstList(["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]), type$.JSArray_legacy_String);
    C.List_wSV = H._setArrayType(makeConstList(["bind", "if", "ref", "repeat", "syntax"]), type$.JSArray_legacy_String);
    C.List_wmc = H._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_legacy_int);
    C.List_wsa = H._setArrayType(makeConstList(["comment.block.dart", "comment.block.documentation.dart", "comment.block.empty.dart", "comment.line.double-slash.dart"]), type$.JSArray_legacy_String);
    C.List_yTu = H._setArrayType(makeConstList([280, 256, 256, 256, 40]), type$.JSArray_legacy_int);
    C.List_yXZ = H._setArrayType(makeConstList([0, 4, 12, 1, 5, 13, 3, 7, 15]), type$.JSArray_legacy_int);
    C.List_yYQ = H._setArrayType(makeConstList([0, 1, 1, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8, 0]), type$.JSArray_legacy_int);
    C.List_ynv = H._setArrayType(makeConstList([0.7, 0.3]), type$.JSArray_legacy_double);
    C.List_yrN = H._setArrayType(makeConstList(["A::href", "AREA::href", "BLOCKQUOTE::cite", "BODY::background", "COMMAND::icon", "DEL::cite", "FORM::action", "IMG::src", "INPUT::src", "INS::cite", "Q::cite", "VIDEO::poster"]), type$.JSArray_legacy_String);
    C.List_zrD = H._setArrayType(makeConstList([0.6, 0.4]), type$.JSArray_legacy_double);
    C.LogLevel_0 = new F.LogLevel(0, "LogLevel.debug");
    C.LogLevel_1 = new F.LogLevel(1, "LogLevel.warning");
    C.LogLevel_2 = new F.LogLevel(2, "LogLevel.error");
    C.LoggingScreenBody_null = new M.LoggingScreenBody(null);
    C.IconData_61724_Octicons_false = new X.IconData(61724, "Octicons", false);
    C.LoggingScreen_kUZ = new M.LoggingScreen("logging", "Logging", C.IconData_61724_Octicons_false, null, null, false, false, false, false, null);
    C.LogicalKeyboardKey_102 = new G.LogicalKeyboardKey(102);
    C.LogicalKeyboardKey_103 = new G.LogicalKeyboardKey(103);
    C.LogicalKeyboardKey_112 = new G.LogicalKeyboardKey(112);
    C.LogicalKeyboardKey_2199023255810 = new G.LogicalKeyboardKey(2199023255810);
    C.LogicalKeyboardKey_2199023255813 = new G.LogicalKeyboardKey(2199023255813);
    C.LogicalKeyboardKey_2199023255817 = new G.LogicalKeyboardKey(2199023255817);
    C.LogicalKeyboardKey_2199023255821 = new G.LogicalKeyboardKey(2199023255821);
    C.LogicalKeyboardKey_3298534883586 = new G.LogicalKeyboardKey(3298534883586);
    C.LogicalKeyboardKey_3298534883589 = new G.LogicalKeyboardKey(3298534883589);
    C.LogicalKeyboardKey_3298534883593 = new G.LogicalKeyboardKey(3298534883593);
    C.LogicalKeyboardKey_3298534883597 = new G.LogicalKeyboardKey(3298534883597);
    C.LogicalKeyboardKey_4398046511362 = new G.LogicalKeyboardKey(4398046511362);
    C.LogicalKeyboardKey_4398046511365 = new G.LogicalKeyboardKey(4398046511365);
    C.LogicalKeyboardKey_4398046511369 = new G.LogicalKeyboardKey(4398046511369);
    C.LogicalKeyboardKey_4398046511373 = new G.LogicalKeyboardKey(4398046511373);
    C.LogicalKeyboardKey_68719476749 = new G.LogicalKeyboardKey(68719476749);
    C.LogicalKeyboardKey_68719476763 = new G.LogicalKeyboardKey(68719476763);
    C.LogicalKeyboardKey_68719476996 = new G.LogicalKeyboardKey(68719476996);
    C.LogicalKeyboardKey_68719476998 = new G.LogicalKeyboardKey(68719476998);
    C.LogicalKeyboardKey_68719477002 = new G.LogicalKeyboardKey(68719477002);
    C.LogicalKeyboardKey_68719477004 = new G.LogicalKeyboardKey(68719477004);
    C.LogicalKeyboardKey_68719477505 = new G.LogicalKeyboardKey(68719477505);
    C.LogicalKeyboardKey_68719477506 = new G.LogicalKeyboardKey(68719477506);
    C.LogicalKeyboardKey_68719477507 = new G.LogicalKeyboardKey(68719477507);
    C.LogicalKeyboardKey_68719477508 = new G.LogicalKeyboardKey(68719477508);
    C.Offset_0_0 = new P.Offset(0, 0);
    C.Velocity_Offset_0_0 = new R.Velocity(C.Offset_0_0);
    C.LongPressEndDetails_aB0 = new T.LongPressEndDetails(C.Offset_0_0, C.Velocity_Offset_0_0);
    C.LongPressSemanticsEvent_longPress = new E.LongPressSemanticsEvent("longPress");
    C.LongPressStartDetails_aWR = new T.LongPressStartDetails(C.Offset_0_0, C.Offset_0_0);
    C.List_0AS = H._setArrayType(makeConstList(["BU", "DD", "FX", "TP", "YD", "ZR"]), type$.JSArray_legacy_String);
    C.Map_0Agg9 = new H.ConstantStringMap(6, {BU: "MM", DD: "DE", FX: "FR", TP: "TL", YD: "YE", ZR: "CD"}, C.List_0AS, type$.ConstantStringMap_of_legacy_String_and_legacy_String);
    C.List_empty23 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_BoxShadow);
    C.Color_855638016 = new P.Color(855638016);
    C.Offset_0_2 = new P.Offset(0, 2);
    C.BoxShadow_EOZ = new O.BoxShadow(-1, C.Color_855638016, C.Offset_0_2, 1);
    C.Color_603979776 = new P.Color(603979776);
    C.BoxShadow_y5m1 = new O.BoxShadow(0, C.Color_603979776, C.Offset_0_1, 1);
    C.BoxShadow_y5m2 = new O.BoxShadow(0, C.Color_520093696, C.Offset_0_1, 3);
    C.List_8oN = H._setArrayType(makeConstList([C.BoxShadow_EOZ, C.BoxShadow_y5m1, C.BoxShadow_y5m2]), type$.JSArray_legacy_BoxShadow);
    C.BoxShadow_RCO = new O.BoxShadow(-2, C.Color_855638016, C.Offset_0_3, 1);
    C.BoxShadow_y5m3 = new O.BoxShadow(0, C.Color_603979776, C.Offset_0_2, 2);
    C.BoxShadow_y5m4 = new O.BoxShadow(0, C.Color_520093696, C.Offset_0_1, 5);
    C.List_f2M = H._setArrayType(makeConstList([C.BoxShadow_RCO, C.BoxShadow_y5m3, C.BoxShadow_y5m4]), type$.JSArray_legacy_BoxShadow);
    C.BoxShadow_RCO0 = new O.BoxShadow(-2, C.Color_855638016, C.Offset_0_3, 3);
    C.BoxShadow_y5m5 = new O.BoxShadow(0, C.Color_603979776, C.Offset_0_3, 4);
    C.BoxShadow_y5m6 = new O.BoxShadow(0, C.Color_520093696, C.Offset_0_1, 8);
    C.List_f2M0 = H._setArrayType(makeConstList([C.BoxShadow_RCO0, C.BoxShadow_y5m5, C.BoxShadow_y5m6]), type$.JSArray_legacy_BoxShadow);
    C.BoxShadow_EOZ0 = new O.BoxShadow(-1, C.Color_855638016, C.Offset_0_2, 4);
    C.Offset_0_4 = new P.Offset(0, 4);
    C.BoxShadow_y5m7 = new O.BoxShadow(0, C.Color_603979776, C.Offset_0_4, 5);
    C.BoxShadow_y5m8 = new O.BoxShadow(0, C.Color_520093696, C.Offset_0_1, 10);
    C.List_8oN0 = H._setArrayType(makeConstList([C.BoxShadow_EOZ0, C.BoxShadow_y5m7, C.BoxShadow_y5m8]), type$.JSArray_legacy_BoxShadow);
    C.BoxShadow_EOZ1 = new O.BoxShadow(-1, C.Color_855638016, C.Offset_0_3, 5);
    C.Offset_0_6 = new P.Offset(0, 6);
    C.BoxShadow_y5m9 = new O.BoxShadow(0, C.Color_603979776, C.Offset_0_6, 10);
    C.BoxShadow_y5m10 = new O.BoxShadow(0, C.Color_520093696, C.Offset_0_1, 18);
    C.List_8oN1 = H._setArrayType(makeConstList([C.BoxShadow_EOZ1, C.BoxShadow_y5m9, C.BoxShadow_y5m10]), type$.JSArray_legacy_BoxShadow);
    C.Offset_0_5 = new P.Offset(0, 5);
    C.BoxShadow_MDX = new O.BoxShadow(-3, C.Color_855638016, C.Offset_0_5, 5);
    C.Offset_0_8 = new P.Offset(0, 8);
    C.BoxShadow_y5m11 = new O.BoxShadow(1, C.Color_603979776, C.Offset_0_8, 10);
    C.BoxShadow_y5m12 = new O.BoxShadow(2, C.Color_520093696, C.Offset_0_3, 14);
    C.List_6O8 = H._setArrayType(makeConstList([C.BoxShadow_MDX, C.BoxShadow_y5m11, C.BoxShadow_y5m12]), type$.JSArray_legacy_BoxShadow);
    C.BoxShadow_MDX0 = new O.BoxShadow(-3, C.Color_855638016, C.Offset_0_5, 6);
    C.Offset_0_9 = new P.Offset(0, 9);
    C.BoxShadow_y5m13 = new O.BoxShadow(1, C.Color_603979776, C.Offset_0_9, 12);
    C.BoxShadow_y5m14 = new O.BoxShadow(2, C.Color_520093696, C.Offset_0_3, 16);
    C.List_6O80 = H._setArrayType(makeConstList([C.BoxShadow_MDX0, C.BoxShadow_y5m13, C.BoxShadow_y5m14]), type$.JSArray_legacy_BoxShadow);
    C.Offset_0_7 = new P.Offset(0, 7);
    C.BoxShadow_yXb = new O.BoxShadow(-4, C.Color_855638016, C.Offset_0_7, 8);
    C.Offset_0_12 = new P.Offset(0, 12);
    C.BoxShadow_y5m15 = new O.BoxShadow(2, C.Color_603979776, C.Offset_0_12, 17);
    C.BoxShadow_y5m16 = new O.BoxShadow(4, C.Color_520093696, C.Offset_0_5, 22);
    C.List_JSm = H._setArrayType(makeConstList([C.BoxShadow_yXb, C.BoxShadow_y5m15, C.BoxShadow_y5m16]), type$.JSArray_legacy_BoxShadow);
    C.BoxShadow_GN8 = new O.BoxShadow(-5, C.Color_855638016, C.Offset_0_8, 10);
    C.Offset_0_16 = new P.Offset(0, 16);
    C.BoxShadow_y5m17 = new O.BoxShadow(2, C.Color_603979776, C.Offset_0_16, 24);
    C.BoxShadow_y5m18 = new O.BoxShadow(5, C.Color_520093696, C.Offset_0_6, 30);
    C.List_2No = H._setArrayType(makeConstList([C.BoxShadow_GN8, C.BoxShadow_y5m17, C.BoxShadow_y5m18]), type$.JSArray_legacy_BoxShadow);
    C.Offset_0_11 = new P.Offset(0, 11);
    C.BoxShadow_WVp = new O.BoxShadow(-7, C.Color_855638016, C.Offset_0_11, 15);
    C.Offset_0_24 = new P.Offset(0, 24);
    C.BoxShadow_y5m19 = new O.BoxShadow(3, C.Color_603979776, C.Offset_0_24, 38);
    C.BoxShadow_y5m20 = new O.BoxShadow(8, C.Color_520093696, C.Offset_0_9, 46);
    C.List_nxi = H._setArrayType(makeConstList([C.BoxShadow_WVp, C.BoxShadow_y5m19, C.BoxShadow_y5m20]), type$.JSArray_legacy_BoxShadow);
    C.Map_2VYR1 = new H.GeneralConstantMap([0, C.List_empty23, 1, C.List_8oN, 2, C.List_f2M, 3, C.List_f2M0, 4, C.List_8oN0, 6, C.List_8oN1, 8, C.List_6O8, 9, C.List_6O80, 12, C.List_JSm, 16, C.List_2No, 24, C.List_nxi], H.findType("GeneralConstantMap<int*,List<BoxShadow*>*>"));
    C.LogicalKeyboardKey_68719476744 = new G.LogicalKeyboardKey(68719476744);
    C.SingleActivator_EOZ = new X.SingleActivator(C.LogicalKeyboardKey_68719476744, false, false, false, false);
    C.LogicalKeyboardKey_68719476863 = new G.LogicalKeyboardKey(68719476863);
    C.SingleActivator_s8b = new X.SingleActivator(C.LogicalKeyboardKey_68719476863, false, false, false, false);
    C.SingleActivator_EOZ0 = new X.SingleActivator(C.LogicalKeyboardKey_68719476744, false, false, true, false);
    C.SingleActivator_s8b0 = new X.SingleActivator(C.LogicalKeyboardKey_68719476863, false, false, true, false);
    C.SingleActivator_EOZ1 = new X.SingleActivator(C.LogicalKeyboardKey_68719476744, true, false, false, false);
    C.SingleActivator_s8b1 = new X.SingleActivator(C.LogicalKeyboardKey_68719476863, true, false, false, false);
    C.SingleActivator_EOZ2 = new X.SingleActivator(C.LogicalKeyboardKey_68719476744, false, false, false, true);
    C.SingleActivator_s8b2 = new X.SingleActivator(C.LogicalKeyboardKey_68719476863, false, false, false, true);
    C.SingleActivator_gUw = new X.SingleActivator(C.LogicalKeyboardKey_68719477505, false, false, true, false);
    C.SingleActivator_gUw0 = new X.SingleActivator(C.LogicalKeyboardKey_68719477506, false, false, true, false);
    C.SingleActivator_gUw1 = new X.SingleActivator(C.LogicalKeyboardKey_68719477507, false, false, true, false);
    C.SingleActivator_gUw2 = new X.SingleActivator(C.LogicalKeyboardKey_68719477508, false, false, true, false);
    C.SingleActivator_gUw3 = new X.SingleActivator(C.LogicalKeyboardKey_68719477505, false, true, true, false);
    C.SingleActivator_gUw4 = new X.SingleActivator(C.LogicalKeyboardKey_68719477506, false, true, true, false);
    C.SingleActivator_gUw5 = new X.SingleActivator(C.LogicalKeyboardKey_68719477507, false, true, true, false);
    C.SingleActivator_gUw6 = new X.SingleActivator(C.LogicalKeyboardKey_68719477508, false, true, true, false);
    C.SingleActivator_gUw7 = new X.SingleActivator(C.LogicalKeyboardKey_68719477505, false, false, false, false);
    C.SingleActivator_gUw8 = new X.SingleActivator(C.LogicalKeyboardKey_68719477506, false, false, false, false);
    C.SingleActivator_gUw9 = new X.SingleActivator(C.LogicalKeyboardKey_68719477507, false, false, false, false);
    C.SingleActivator_gUw10 = new X.SingleActivator(C.LogicalKeyboardKey_68719477508, false, false, false, false);
    C.SingleActivator_gUw11 = new X.SingleActivator(C.LogicalKeyboardKey_68719477506, true, false, false, false);
    C.SingleActivator_gUw12 = new X.SingleActivator(C.LogicalKeyboardKey_68719477507, true, false, false, false);
    C.SingleActivator_gUw13 = new X.SingleActivator(C.LogicalKeyboardKey_68719477506, true, true, false, false);
    C.SingleActivator_gUw14 = new X.SingleActivator(C.LogicalKeyboardKey_68719477507, true, true, false, false);
    C.LogicalKeyboardKey_68719477509 = new G.LogicalKeyboardKey(68719477509);
    C.SingleActivator_gUw15 = new X.SingleActivator(C.LogicalKeyboardKey_68719477509, false, false, false, false);
    C.LogicalKeyboardKey_68719477510 = new G.LogicalKeyboardKey(68719477510);
    C.SingleActivator_gUw16 = new X.SingleActivator(C.LogicalKeyboardKey_68719477510, false, false, false, false);
    C.SingleActivator_gUw17 = new X.SingleActivator(C.LogicalKeyboardKey_68719477505, false, false, false, true);
    C.SingleActivator_gUw18 = new X.SingleActivator(C.LogicalKeyboardKey_68719477506, false, false, false, true);
    C.SingleActivator_gUw19 = new X.SingleActivator(C.LogicalKeyboardKey_68719477507, false, false, false, true);
    C.SingleActivator_gUw20 = new X.SingleActivator(C.LogicalKeyboardKey_68719477508, false, false, false, true);
    C.SingleActivator_gUw21 = new X.SingleActivator(C.LogicalKeyboardKey_68719477505, false, true, false, true);
    C.SingleActivator_gUw22 = new X.SingleActivator(C.LogicalKeyboardKey_68719477506, false, true, false, true);
    C.SingleActivator_gUw23 = new X.SingleActivator(C.LogicalKeyboardKey_68719477507, false, true, false, true);
    C.SingleActivator_gUw24 = new X.SingleActivator(C.LogicalKeyboardKey_68719477508, false, true, false, true);
    C.SingleActivator_gUw25 = new X.SingleActivator(C.LogicalKeyboardKey_68719477505, false, true, false, false);
    C.SingleActivator_gUw26 = new X.SingleActivator(C.LogicalKeyboardKey_68719477506, false, true, false, false);
    C.SingleActivator_gUw27 = new X.SingleActivator(C.LogicalKeyboardKey_68719477507, false, true, false, false);
    C.SingleActivator_gUw28 = new X.SingleActivator(C.LogicalKeyboardKey_68719477508, false, true, false, false);
    C.SingleActivator_gUw29 = new X.SingleActivator(C.LogicalKeyboardKey_68719477509, false, true, false, false);
    C.SingleActivator_gUw30 = new X.SingleActivator(C.LogicalKeyboardKey_68719477510, false, true, false, false);
    C.LogicalKeyboardKey_32 = new G.LogicalKeyboardKey(32);
    C.SingleActivator_mmH = new X.SingleActivator(C.LogicalKeyboardKey_32, false, false, false, false);
    C.C_DoNothingAndStopPropagationTextIntent = new M.DoNothingAndStopPropagationTextIntent();
    C.Map_4CSrx = new H.GeneralConstantMap([C.SingleActivator_EOZ, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_s8b, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_EOZ0, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_s8b0, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_EOZ1, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_s8b1, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_EOZ2, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_s8b2, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw0, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw1, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw2, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw3, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw4, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw5, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw6, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw7, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw8, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw9, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw10, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw11, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw12, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw13, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw14, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw15, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw16, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw17, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw18, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw19, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw20, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw21, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw22, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw23, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw24, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw25, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw26, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw27, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw28, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw29, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_gUw30, C.C_DoNothingAndStopPropagationTextIntent, C.SingleActivator_mmH, C.C_DoNothingAndStopPropagationTextIntent], type$.GeneralConstantMap_of_legacy_ShortcutActivator_and_legacy_Intent);
    C.Map_6zffn = new H.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_of_legacy_int_and_legacy_String);
    C.List_mode = H._setArrayType(makeConstList(["mode"]), type$.JSArray_legacy_String);
    C.Map_9aZ6I = new H.ConstantStringMap(1, {mode: "basic"}, C.List_mode, type$.ConstantStringMap_of_legacy_String_and_legacy_String);
    C.List_CGO = H._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", "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_legacy_String);
    C.Map_CGcwE = new H.ConstantStringMap(984, {"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", 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"}, C.List_CGO, type$.ConstantStringMap_of_legacy_String_and_legacy_String);
    C.List_EQM = H._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_legacy_String);
    C.Map_EQGBe = new H.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"}, C.List_EQM, type$.ConstantStringMap_of_legacy_String_and_legacy_String);
    C.List_Ikq = H._setArrayType(makeConstList(["AVRInput", "AVRPower", "Abort", "Accel", "Accept", "Add", "Again", "AllCandidates", "Alphanumeric", "AltGraph", "AltLeft", "AltRight", "Ampersand", "AppSwitch", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp", "Asterisk", "At", "Attn", "AudioBalanceLeft", "AudioBalanceRight", "AudioBassBoostDown", "AudioBassBoostToggle", "AudioBassBoostUp", "AudioFaderFront", "AudioFaderRear", "AudioSurroundModeNext", "AudioTrebleDown", "AudioTrebleUp", "AudioVolumeDown", "AudioVolumeMute", "AudioVolumeUp", "Backquote", "Backslash", "Backspace", "Bar", "BraceLeft", "BraceRight", "BracketLeft", "BracketRight", "BrightnessDown", "BrightnessUp", "BrowserBack", "BrowserFavorites", "BrowserForward", "BrowserHome", "BrowserRefresh", "BrowserSearch", "BrowserStop", "Call", "Camera", "CameraFocus", "Cancel", "CapsLock", "Caret", "ChannelDown", "ChannelUp", "Clear", "Close", "ClosedCaptionToggle", "CodeInput", "Colon", "ColorF0Red", "ColorF1Green", "ColorF2Yellow", "ColorF3Blue", "ColorF4Grey", "ColorF5Brown", "Comma", "Compose", "ContextMenu", "ControlLeft", "ControlRight", "Convert", "Copy", "CrSel", "Cut", "DVR", "Delete", "Digit0", "Digit1", "Digit2", "Digit3", "Digit4", "Digit5", "Digit6", "Digit7", "Digit8", "Digit9", "Dimmer", "DisplaySwap", "Dollar", "Eisu", "Eject", "End", "EndCall", "Enter", "Equal", "EraseEof", "Escape", "ExSel", "Exclamation", "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", "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", "GoBack", "GoHome", "Greater", "GroupFirst", "GroupLast", "GroupNext", "GroupPrevious", "Guide", "GuideNextDay", "GuidePreviousDay", "HangulMode", "HanjaMode", "Hankaku", "HeadsetHook", "Help", "Hibernate", "Hiragana", "HiraganaKatakana", "Home", "Hyper", "Info", "Insert", "InstantReplay", "IntlBackslash", "IntlRo", "IntlYen", "JunjaMode", "KanaMode", "KanjiMode", "Katakana", "Key11", "Key12", "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", "Lang1", "Lang2", "Lang3", "Lang4", "Lang5", "LastNumberRedial", "LaunchApplication1", "LaunchApplication2", "LaunchAssistant", "LaunchCalendar", "LaunchContacts", "LaunchControlPanel", "LaunchMail", "LaunchMediaPlayer", "LaunchMusicPlayer", "LaunchPhone", "LaunchScreenSaver", "LaunchSpreadsheet", "LaunchWebBrowser", "LaunchWebCam", "LaunchWordProcessor", "Less", "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", "MetaLeft", "MetaRight", "MicrophoneToggle", "MicrophoneVolumeDown", "MicrophoneVolumeMute", "MicrophoneVolumeUp", "Minus", "ModeChange", "NavigateIn", "NavigateNext", "NavigateOut", "NavigatePrevious", "New", "NextCandidate", "NextFavoriteChannel", "NextUserProfile", "NonConvert", "None", "Notification", "NumLock", "NumberSign", "Numpad0", "Numpad1", "Numpad2", "Numpad3", "Numpad4", "Numpad5", "Numpad6", "Numpad7", "Numpad8", "Numpad9", "NumpadAdd", "NumpadComma", "NumpadDecimal", "NumpadDivide", "NumpadEnter", "NumpadEqual", "NumpadMultiply", "NumpadParenLeft", "NumpadParenRight", "NumpadSubtract", "OnDemand", "Open", "PageDown", "PageUp", "Pairing", "ParenthesisLeft", "ParenthesisRight", "Paste", "Pause", "Percent", "Period", "PinPDown", "PinPMove", "PinPToggle", "PinPUp", "Play", "PlaySpeedDown", "PlaySpeedReset", "PlaySpeedUp", "Power", "PowerOff", "PreviousCandidate", "Print", "PrintScreen", "Process", "Props", "Question", "Quote", "QuoteSingle", "RandomToggle", "RcLowBattery", "RecordSpeedNext", "Redo", "Resume", "RfBypass", "Romaji", "STBInput", "STBPower", "Save", "ScanChannelsToggle", "ScreenModeNext", "ScrollLock", "Select", "Semicolon", "Settings", "ShiftLeft", "ShiftLevel5", "ShiftRight", "SingleCandidate", "Slash", "Sleep", "Soft1", "Soft2", "Soft3", "Soft4", "Soft5", "Soft6", "Soft7", "Soft8", "Space", "SpeechCorrectionList", "SpeechInputToggle", "SpellCheck", "SplitScreenToggle", "Standby", "Subtitle", "Super", "Suspend", "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", "Tilde", "Underscore", "Undo", "Unidentified", "VideoModeNext", "VoiceDial", "WakeUp", "Wink", "Zenkaku", "ZenkakuHankaku", "ZoomIn", "ZoomOut", "ZoomToggle"]), type$.JSArray_legacy_String);
    C.LogicalKeyboardKey_68719480072 = new G.LogicalKeyboardKey(68719480072);
    C.LogicalKeyboardKey_68719480073 = new G.LogicalKeyboardKey(68719480073);
    C.LogicalKeyboardKey_73014902939 = new G.LogicalKeyboardKey(73014902939);
    C.LogicalKeyboardKey_68719476993 = new G.LogicalKeyboardKey(68719476993);
    C.LogicalKeyboardKey_68719478017 = new G.LogicalKeyboardKey(68719478017);
    C.LogicalKeyboardKey_43 = new G.LogicalKeyboardKey(43);
    C.LogicalKeyboardKey_68719478018 = new G.LogicalKeyboardKey(68719478018);
    C.LogicalKeyboardKey_68719478529 = new G.LogicalKeyboardKey(68719478529);
    C.LogicalKeyboardKey_68719478530 = new G.LogicalKeyboardKey(68719478530);
    C.LogicalKeyboardKey_68719476995 = new G.LogicalKeyboardKey(68719476995);
    C.LogicalKeyboardKey_38 = new G.LogicalKeyboardKey(38);
    C.LogicalKeyboardKey_68719480833 = new G.LogicalKeyboardKey(68719480833);
    C.LogicalKeyboardKey_42 = new G.LogicalKeyboardKey(42);
    C.LogicalKeyboardKey_64 = new G.LogicalKeyboardKey(64);
    C.LogicalKeyboardKey_68719478019 = new G.LogicalKeyboardKey(68719478019);
    C.LogicalKeyboardKey_68719480065 = new G.LogicalKeyboardKey(68719480065);
    C.LogicalKeyboardKey_68719480066 = new G.LogicalKeyboardKey(68719480066);
    C.LogicalKeyboardKey_68719480067 = new G.LogicalKeyboardKey(68719480067);
    C.LogicalKeyboardKey_68719480322 = new G.LogicalKeyboardKey(68719480322);
    C.LogicalKeyboardKey_68719480068 = new G.LogicalKeyboardKey(68719480068);
    C.LogicalKeyboardKey_68719480069 = new G.LogicalKeyboardKey(68719480069);
    C.LogicalKeyboardKey_68719480070 = new G.LogicalKeyboardKey(68719480070);
    C.LogicalKeyboardKey_68719480071 = new G.LogicalKeyboardKey(68719480071);
    C.LogicalKeyboardKey_68719480324 = new G.LogicalKeyboardKey(68719480324);
    C.LogicalKeyboardKey_68719480325 = new G.LogicalKeyboardKey(68719480325);
    C.LogicalKeyboardKey_68719479311 = new G.LogicalKeyboardKey(68719479311);
    C.LogicalKeyboardKey_68719479313 = new G.LogicalKeyboardKey(68719479313);
    C.LogicalKeyboardKey_68719479312 = new G.LogicalKeyboardKey(68719479312);
    C.LogicalKeyboardKey_96 = new G.LogicalKeyboardKey(96);
    C.LogicalKeyboardKey_92 = new G.LogicalKeyboardKey(92);
    C.LogicalKeyboardKey_124 = new G.LogicalKeyboardKey(124);
    C.LogicalKeyboardKey_123 = new G.LogicalKeyboardKey(123);
    C.LogicalKeyboardKey_125 = new G.LogicalKeyboardKey(125);
    C.LogicalKeyboardKey_91 = new G.LogicalKeyboardKey(91);
    C.LogicalKeyboardKey_93 = new G.LogicalKeyboardKey(93);
    C.LogicalKeyboardKey_68719478273 = new G.LogicalKeyboardKey(68719478273);
    C.LogicalKeyboardKey_68719478274 = new G.LogicalKeyboardKey(68719478274);
    C.LogicalKeyboardKey_68719479809 = new G.LogicalKeyboardKey(68719479809);
    C.LogicalKeyboardKey_68719479810 = new G.LogicalKeyboardKey(68719479810);
    C.LogicalKeyboardKey_68719479811 = new G.LogicalKeyboardKey(68719479811);
    C.LogicalKeyboardKey_68719479812 = new G.LogicalKeyboardKey(68719479812);
    C.LogicalKeyboardKey_68719479813 = new G.LogicalKeyboardKey(68719479813);
    C.LogicalKeyboardKey_68719479814 = new G.LogicalKeyboardKey(68719479814);
    C.LogicalKeyboardKey_68719479815 = new G.LogicalKeyboardKey(68719479815);
    C.LogicalKeyboardKey_68719480834 = new G.LogicalKeyboardKey(68719480834);
    C.LogicalKeyboardKey_68719478275 = new G.LogicalKeyboardKey(68719478275);
    C.LogicalKeyboardKey_68719480835 = new G.LogicalKeyboardKey(68719480835);
    C.LogicalKeyboardKey_68719478020 = new G.LogicalKeyboardKey(68719478020);
    C.LogicalKeyboardKey_94 = new G.LogicalKeyboardKey(94);
    C.LogicalKeyboardKey_68719480074 = new G.LogicalKeyboardKey(68719480074);
    C.LogicalKeyboardKey_68719480075 = new G.LogicalKeyboardKey(68719480075);
    C.LogicalKeyboardKey_68719477761 = new G.LogicalKeyboardKey(68719477761);
    C.LogicalKeyboardKey_68719479297 = new G.LogicalKeyboardKey(68719479297);
    C.LogicalKeyboardKey_68719480082 = new G.LogicalKeyboardKey(68719480082);
    C.LogicalKeyboardKey_68719478531 = new G.LogicalKeyboardKey(68719478531);
    C.LogicalKeyboardKey_58 = new G.LogicalKeyboardKey(58);
    C.LogicalKeyboardKey_68719480076 = new G.LogicalKeyboardKey(68719480076);
    C.LogicalKeyboardKey_68719480077 = new G.LogicalKeyboardKey(68719480077);
    C.LogicalKeyboardKey_68719480078 = new G.LogicalKeyboardKey(68719480078);
    C.LogicalKeyboardKey_68719480079 = new G.LogicalKeyboardKey(68719480079);
    C.LogicalKeyboardKey_68719480080 = new G.LogicalKeyboardKey(68719480080);
    C.LogicalKeyboardKey_68719480081 = new G.LogicalKeyboardKey(68719480081);
    C.LogicalKeyboardKey_44 = new G.LogicalKeyboardKey(44);
    C.LogicalKeyboardKey_68719478532 = new G.LogicalKeyboardKey(68719478532);
    C.LogicalKeyboardKey_68719478021 = new G.LogicalKeyboardKey(68719478021);
    C.LogicalKeyboardKey_68719478533 = new G.LogicalKeyboardKey(68719478533);
    C.LogicalKeyboardKey_68719477762 = new G.LogicalKeyboardKey(68719477762);
    C.LogicalKeyboardKey_68719477763 = new G.LogicalKeyboardKey(68719477763);
    C.LogicalKeyboardKey_68719477764 = new G.LogicalKeyboardKey(68719477764);
    C.LogicalKeyboardKey_68719480143 = new G.LogicalKeyboardKey(68719480143);
    C.LogicalKeyboardKey_48 = new G.LogicalKeyboardKey(48);
    C.LogicalKeyboardKey_49 = new G.LogicalKeyboardKey(49);
    C.LogicalKeyboardKey_50 = new G.LogicalKeyboardKey(50);
    C.LogicalKeyboardKey_51 = new G.LogicalKeyboardKey(51);
    C.LogicalKeyboardKey_52 = new G.LogicalKeyboardKey(52);
    C.LogicalKeyboardKey_53 = new G.LogicalKeyboardKey(53);
    C.LogicalKeyboardKey_54 = new G.LogicalKeyboardKey(54);
    C.LogicalKeyboardKey_55 = new G.LogicalKeyboardKey(55);
    C.LogicalKeyboardKey_56 = new G.LogicalKeyboardKey(56);
    C.LogicalKeyboardKey_57 = new G.LogicalKeyboardKey(57);
    C.LogicalKeyboardKey_68719480083 = new G.LogicalKeyboardKey(68719480083);
    C.LogicalKeyboardKey_68719480084 = new G.LogicalKeyboardKey(68719480084);
    C.LogicalKeyboardKey_36 = new G.LogicalKeyboardKey(36);
    C.LogicalKeyboardKey_68719478548 = new G.LogicalKeyboardKey(68719478548);
    C.LogicalKeyboardKey_68719478276 = new G.LogicalKeyboardKey(68719478276);
    C.LogicalKeyboardKey_68719480836 = new G.LogicalKeyboardKey(68719480836);
    C.LogicalKeyboardKey_61 = new G.LogicalKeyboardKey(61);
    C.LogicalKeyboardKey_68719477765 = new G.LogicalKeyboardKey(68719477765);
    C.LogicalKeyboardKey_68719477766 = new G.LogicalKeyboardKey(68719477766);
    C.LogicalKeyboardKey_33 = new G.LogicalKeyboardKey(33);
    C.LogicalKeyboardKey_68719478022 = new G.LogicalKeyboardKey(68719478022);
    C.LogicalKeyboardKey_68719480085 = new G.LogicalKeyboardKey(68719480085);
    C.LogicalKeyboardKey_68719478785 = new G.LogicalKeyboardKey(68719478785);
    C.LogicalKeyboardKey_68719478794 = new G.LogicalKeyboardKey(68719478794);
    C.LogicalKeyboardKey_68719478795 = new G.LogicalKeyboardKey(68719478795);
    C.LogicalKeyboardKey_68719478796 = new G.LogicalKeyboardKey(68719478796);
    C.LogicalKeyboardKey_68719478797 = new G.LogicalKeyboardKey(68719478797);
    C.LogicalKeyboardKey_68719478798 = new G.LogicalKeyboardKey(68719478798);
    C.LogicalKeyboardKey_68719478799 = new G.LogicalKeyboardKey(68719478799);
    C.LogicalKeyboardKey_68719478800 = new G.LogicalKeyboardKey(68719478800);
    C.LogicalKeyboardKey_68719478801 = new G.LogicalKeyboardKey(68719478801);
    C.LogicalKeyboardKey_68719478802 = new G.LogicalKeyboardKey(68719478802);
    C.LogicalKeyboardKey_68719478803 = new G.LogicalKeyboardKey(68719478803);
    C.LogicalKeyboardKey_68719478786 = new G.LogicalKeyboardKey(68719478786);
    C.LogicalKeyboardKey_68719478804 = new G.LogicalKeyboardKey(68719478804);
    C.LogicalKeyboardKey_68719478805 = new G.LogicalKeyboardKey(68719478805);
    C.LogicalKeyboardKey_68719478806 = new G.LogicalKeyboardKey(68719478806);
    C.LogicalKeyboardKey_68719478807 = new G.LogicalKeyboardKey(68719478807);
    C.LogicalKeyboardKey_68719478808 = new G.LogicalKeyboardKey(68719478808);
    C.LogicalKeyboardKey_68719478787 = new G.LogicalKeyboardKey(68719478787);
    C.LogicalKeyboardKey_68719478788 = new G.LogicalKeyboardKey(68719478788);
    C.LogicalKeyboardKey_68719478789 = new G.LogicalKeyboardKey(68719478789);
    C.LogicalKeyboardKey_68719478790 = new G.LogicalKeyboardKey(68719478790);
    C.LogicalKeyboardKey_68719478791 = new G.LogicalKeyboardKey(68719478791);
    C.LogicalKeyboardKey_68719478792 = new G.LogicalKeyboardKey(68719478792);
    C.LogicalKeyboardKey_68719478793 = new G.LogicalKeyboardKey(68719478793);
    C.LogicalKeyboardKey_68719480086 = new G.LogicalKeyboardKey(68719480086);
    C.LogicalKeyboardKey_68719480087 = new G.LogicalKeyboardKey(68719480087);
    C.LogicalKeyboardKey_68719480088 = new G.LogicalKeyboardKey(68719480088);
    C.LogicalKeyboardKey_68719480089 = new G.LogicalKeyboardKey(68719480089);
    C.LogicalKeyboardKey_68719480090 = new G.LogicalKeyboardKey(68719480090);
    C.LogicalKeyboardKey_68719480091 = new G.LogicalKeyboardKey(68719480091);
    C.LogicalKeyboardKey_68719480092 = new G.LogicalKeyboardKey(68719480092);
    C.LogicalKeyboardKey_68719480093 = new G.LogicalKeyboardKey(68719480093);
    C.LogicalKeyboardKey_68719480094 = new G.LogicalKeyboardKey(68719480094);
    C.LogicalKeyboardKey_68719480095 = new G.LogicalKeyboardKey(68719480095);
    C.LogicalKeyboardKey_68719480096 = new G.LogicalKeyboardKey(68719480096);
    C.LogicalKeyboardKey_68719480097 = new G.LogicalKeyboardKey(68719480097);
    C.LogicalKeyboardKey_68719478534 = new G.LogicalKeyboardKey(68719478534);
    C.LogicalKeyboardKey_68719478023 = new G.LogicalKeyboardKey(68719478023);
    C.LogicalKeyboardKey_68719476999 = new G.LogicalKeyboardKey(68719476999);
    C.LogicalKeyboardKey_68719869697 = new G.LogicalKeyboardKey(68719869697);
    C.LogicalKeyboardKey_68719869706 = new G.LogicalKeyboardKey(68719869706);
    C.LogicalKeyboardKey_68719869707 = new G.LogicalKeyboardKey(68719869707);
    C.LogicalKeyboardKey_68719869708 = new G.LogicalKeyboardKey(68719869708);
    C.LogicalKeyboardKey_68719869709 = new G.LogicalKeyboardKey(68719869709);
    C.LogicalKeyboardKey_68719869710 = new G.LogicalKeyboardKey(68719869710);
    C.LogicalKeyboardKey_68719869711 = new G.LogicalKeyboardKey(68719869711);
    C.LogicalKeyboardKey_68719869712 = new G.LogicalKeyboardKey(68719869712);
    C.LogicalKeyboardKey_68719869698 = new G.LogicalKeyboardKey(68719869698);
    C.LogicalKeyboardKey_68719869699 = new G.LogicalKeyboardKey(68719869699);
    C.LogicalKeyboardKey_68719869700 = new G.LogicalKeyboardKey(68719869700);
    C.LogicalKeyboardKey_68719869701 = new G.LogicalKeyboardKey(68719869701);
    C.LogicalKeyboardKey_68719869702 = new G.LogicalKeyboardKey(68719869702);
    C.LogicalKeyboardKey_68719869703 = new G.LogicalKeyboardKey(68719869703);
    C.LogicalKeyboardKey_68719869704 = new G.LogicalKeyboardKey(68719869704);
    C.LogicalKeyboardKey_68719869705 = new G.LogicalKeyboardKey(68719869705);
    C.LogicalKeyboardKey_68719869713 = new G.LogicalKeyboardKey(68719869713);
    C.LogicalKeyboardKey_68719869714 = new G.LogicalKeyboardKey(68719869714);
    C.LogicalKeyboardKey_68719869715 = new G.LogicalKeyboardKey(68719869715);
    C.LogicalKeyboardKey_68719869716 = new G.LogicalKeyboardKey(68719869716);
    C.LogicalKeyboardKey_68719869717 = new G.LogicalKeyboardKey(68719869717);
    C.LogicalKeyboardKey_68719869718 = new G.LogicalKeyboardKey(68719869718);
    C.LogicalKeyboardKey_68719869719 = new G.LogicalKeyboardKey(68719869719);
    C.LogicalKeyboardKey_68719869720 = new G.LogicalKeyboardKey(68719869720);
    C.LogicalKeyboardKey_68719869721 = new G.LogicalKeyboardKey(68719869721);
    C.LogicalKeyboardKey_68719869722 = new G.LogicalKeyboardKey(68719869722);
    C.LogicalKeyboardKey_68719869723 = new G.LogicalKeyboardKey(68719869723);
    C.LogicalKeyboardKey_68719869724 = new G.LogicalKeyboardKey(68719869724);
    C.LogicalKeyboardKey_68719869725 = new G.LogicalKeyboardKey(68719869725);
    C.LogicalKeyboardKey_68719869726 = new G.LogicalKeyboardKey(68719869726);
    C.LogicalKeyboardKey_68719869727 = new G.LogicalKeyboardKey(68719869727);
    C.LogicalKeyboardKey_68719480837 = new G.LogicalKeyboardKey(68719480837);
    C.LogicalKeyboardKey_68719480838 = new G.LogicalKeyboardKey(68719480838);
    C.LogicalKeyboardKey_62 = new G.LogicalKeyboardKey(62);
    C.LogicalKeyboardKey_68719478535 = new G.LogicalKeyboardKey(68719478535);
    C.LogicalKeyboardKey_68719478536 = new G.LogicalKeyboardKey(68719478536);
    C.LogicalKeyboardKey_68719478537 = new G.LogicalKeyboardKey(68719478537);
    C.LogicalKeyboardKey_68719478538 = new G.LogicalKeyboardKey(68719478538);
    C.LogicalKeyboardKey_68719480098 = new G.LogicalKeyboardKey(68719480098);
    C.LogicalKeyboardKey_68719480099 = new G.LogicalKeyboardKey(68719480099);
    C.LogicalKeyboardKey_68719480100 = new G.LogicalKeyboardKey(68719480100);
    C.LogicalKeyboardKey_68719478545 = new G.LogicalKeyboardKey(68719478545);
    C.LogicalKeyboardKey_68719478546 = new G.LogicalKeyboardKey(68719478546);
    C.LogicalKeyboardKey_68719478549 = new G.LogicalKeyboardKey(68719478549);
    C.LogicalKeyboardKey_68719480839 = new G.LogicalKeyboardKey(68719480839);
    C.LogicalKeyboardKey_68719478024 = new G.LogicalKeyboardKey(68719478024);
    C.LogicalKeyboardKey_68719478281 = new G.LogicalKeyboardKey(68719478281);
    C.LogicalKeyboardKey_68719478550 = new G.LogicalKeyboardKey(68719478550);
    C.LogicalKeyboardKey_68719478551 = new G.LogicalKeyboardKey(68719478551);
    C.LogicalKeyboardKey_68719477000 = new G.LogicalKeyboardKey(68719477e3);
    C.LogicalKeyboardKey_68719480101 = new G.LogicalKeyboardKey(68719480101);
    C.LogicalKeyboardKey_68719477767 = new G.LogicalKeyboardKey(68719477767);
    C.LogicalKeyboardKey_68719480102 = new G.LogicalKeyboardKey(68719480102);
    C.LogicalKeyboardKey_73014902884 = new G.LogicalKeyboardKey(73014902884);
    C.LogicalKeyboardKey_73014902919 = new G.LogicalKeyboardKey(73014902919);
    C.LogicalKeyboardKey_73014902921 = new G.LogicalKeyboardKey(73014902921);
    C.LogicalKeyboardKey_68719478547 = new G.LogicalKeyboardKey(68719478547);
    C.LogicalKeyboardKey_68719478552 = new G.LogicalKeyboardKey(68719478552);
    C.LogicalKeyboardKey_68719478553 = new G.LogicalKeyboardKey(68719478553);
    C.LogicalKeyboardKey_68719478554 = new G.LogicalKeyboardKey(68719478554);
    C.LogicalKeyboardKey_68719481345 = new G.LogicalKeyboardKey(68719481345);
    C.LogicalKeyboardKey_68719481346 = new G.LogicalKeyboardKey(68719481346);
    C.LogicalKeyboardKey_97 = new G.LogicalKeyboardKey(97);
    C.LogicalKeyboardKey_98 = new G.LogicalKeyboardKey(98);
    C.LogicalKeyboardKey_99 = new G.LogicalKeyboardKey(99);
    C.LogicalKeyboardKey_100 = new G.LogicalKeyboardKey(100);
    C.LogicalKeyboardKey_101 = new G.LogicalKeyboardKey(101);
    C.LogicalKeyboardKey_104 = new G.LogicalKeyboardKey(104);
    C.LogicalKeyboardKey_105 = new G.LogicalKeyboardKey(105);
    C.LogicalKeyboardKey_106 = new G.LogicalKeyboardKey(106);
    C.LogicalKeyboardKey_107 = new G.LogicalKeyboardKey(107);
    C.LogicalKeyboardKey_108 = new G.LogicalKeyboardKey(108);
    C.LogicalKeyboardKey_109 = new G.LogicalKeyboardKey(109);
    C.LogicalKeyboardKey_110 = new G.LogicalKeyboardKey(110);
    C.LogicalKeyboardKey_111 = new G.LogicalKeyboardKey(111);
    C.LogicalKeyboardKey_113 = new G.LogicalKeyboardKey(113);
    C.LogicalKeyboardKey_114 = new G.LogicalKeyboardKey(114);
    C.LogicalKeyboardKey_115 = new G.LogicalKeyboardKey(115);
    C.LogicalKeyboardKey_116 = new G.LogicalKeyboardKey(116);
    C.LogicalKeyboardKey_117 = new G.LogicalKeyboardKey(117);
    C.LogicalKeyboardKey_118 = new G.LogicalKeyboardKey(118);
    C.LogicalKeyboardKey_119 = new G.LogicalKeyboardKey(119);
    C.LogicalKeyboardKey_120 = new G.LogicalKeyboardKey(120);
    C.LogicalKeyboardKey_121 = new G.LogicalKeyboardKey(121);
    C.LogicalKeyboardKey_122 = new G.LogicalKeyboardKey(122);
    C.LogicalKeyboardKey_73014902928 = new G.LogicalKeyboardKey(73014902928);
    C.LogicalKeyboardKey_73014902929 = new G.LogicalKeyboardKey(73014902929);
    C.LogicalKeyboardKey_73014902930 = new G.LogicalKeyboardKey(73014902930);
    C.LogicalKeyboardKey_73014902931 = new G.LogicalKeyboardKey(73014902931);
    C.LogicalKeyboardKey_73014902932 = new G.LogicalKeyboardKey(73014902932);
    C.LogicalKeyboardKey_68719480840 = new G.LogicalKeyboardKey(68719480840);
    C.LogicalKeyboardKey_68719479558 = new G.LogicalKeyboardKey(68719479558);
    C.LogicalKeyboardKey_68719479553 = new G.LogicalKeyboardKey(68719479553);
    C.LogicalKeyboardKey_68719479566 = new G.LogicalKeyboardKey(68719479566);
    C.LogicalKeyboardKey_68719479554 = new G.LogicalKeyboardKey(68719479554);
    C.LogicalKeyboardKey_68719479564 = new G.LogicalKeyboardKey(68719479564);
    C.LogicalKeyboardKey_68719479567 = new G.LogicalKeyboardKey(68719479567);
    C.LogicalKeyboardKey_68719479555 = new G.LogicalKeyboardKey(68719479555);
    C.LogicalKeyboardKey_68719479556 = new G.LogicalKeyboardKey(68719479556);
    C.LogicalKeyboardKey_68719479557 = new G.LogicalKeyboardKey(68719479557);
    C.LogicalKeyboardKey_68719479565 = new G.LogicalKeyboardKey(68719479565);
    C.LogicalKeyboardKey_68719479559 = new G.LogicalKeyboardKey(68719479559);
    C.LogicalKeyboardKey_68719479560 = new G.LogicalKeyboardKey(68719479560);
    C.LogicalKeyboardKey_68719479561 = new G.LogicalKeyboardKey(68719479561);
    C.LogicalKeyboardKey_68719479562 = new G.LogicalKeyboardKey(68719479562);
    C.LogicalKeyboardKey_68719479563 = new G.LogicalKeyboardKey(68719479563);
    C.LogicalKeyboardKey_60 = new G.LogicalKeyboardKey(60);
    C.LogicalKeyboardKey_68719480103 = new G.LogicalKeyboardKey(68719480103);
    C.LogicalKeyboardKey_68719480104 = new G.LogicalKeyboardKey(68719480104);
    C.LogicalKeyboardKey_68719480105 = new G.LogicalKeyboardKey(68719480105);
    C.LogicalKeyboardKey_68719480106 = new G.LogicalKeyboardKey(68719480106);
    C.LogicalKeyboardKey_68719478277 = new G.LogicalKeyboardKey(68719478277);
    C.LogicalKeyboardKey_68719479298 = new G.LogicalKeyboardKey(68719479298);
    C.LogicalKeyboardKey_68719479299 = new G.LogicalKeyboardKey(68719479299);
    C.LogicalKeyboardKey_68719479300 = new G.LogicalKeyboardKey(68719479300);
    C.LogicalKeyboardKey_68719480842 = new G.LogicalKeyboardKey(68719480842);
    C.LogicalKeyboardKey_68719480107 = new G.LogicalKeyboardKey(68719480107);
    C.LogicalKeyboardKey_68719480144 = new G.LogicalKeyboardKey(68719480144);
    C.LogicalKeyboardKey_68719480155 = new G.LogicalKeyboardKey(68719480155);
    C.LogicalKeyboardKey_68719480108 = new G.LogicalKeyboardKey(68719480108);
    C.LogicalKeyboardKey_68719480109 = new G.LogicalKeyboardKey(68719480109);
    C.LogicalKeyboardKey_68719480110 = new G.LogicalKeyboardKey(68719480110);
    C.LogicalKeyboardKey_68719480111 = new G.LogicalKeyboardKey(68719480111);
    C.LogicalKeyboardKey_68719479301 = new G.LogicalKeyboardKey(68719479301);
    C.LogicalKeyboardKey_68719480112 = new G.LogicalKeyboardKey(68719480112);
    C.LogicalKeyboardKey_68719480113 = new G.LogicalKeyboardKey(68719480113);
    C.LogicalKeyboardKey_68719480114 = new G.LogicalKeyboardKey(68719480114);
    C.LogicalKeyboardKey_68719480145 = new G.LogicalKeyboardKey(68719480145);
    C.LogicalKeyboardKey_68719480146 = new G.LogicalKeyboardKey(68719480146);
    C.LogicalKeyboardKey_68719480147 = new G.LogicalKeyboardKey(68719480147);
    C.LogicalKeyboardKey_68719480148 = new G.LogicalKeyboardKey(68719480148);
    C.LogicalKeyboardKey_68719479303 = new G.LogicalKeyboardKey(68719479303);
    C.LogicalKeyboardKey_68719480149 = new G.LogicalKeyboardKey(68719480149);
    C.LogicalKeyboardKey_68719479304 = new G.LogicalKeyboardKey(68719479304);
    C.LogicalKeyboardKey_68719479305 = new G.LogicalKeyboardKey(68719479305);
    C.LogicalKeyboardKey_68719480326 = new G.LogicalKeyboardKey(68719480326);
    C.LogicalKeyboardKey_68719480327 = new G.LogicalKeyboardKey(68719480327);
    C.LogicalKeyboardKey_68719480329 = new G.LogicalKeyboardKey(68719480329);
    C.LogicalKeyboardKey_68719480328 = new G.LogicalKeyboardKey(68719480328);
    C.LogicalKeyboardKey_45 = new G.LogicalKeyboardKey(45);
    C.LogicalKeyboardKey_68719478539 = new G.LogicalKeyboardKey(68719478539);
    C.LogicalKeyboardKey_68719480150 = new G.LogicalKeyboardKey(68719480150);
    C.LogicalKeyboardKey_68719480151 = new G.LogicalKeyboardKey(68719480151);
    C.LogicalKeyboardKey_68719480152 = new G.LogicalKeyboardKey(68719480152);
    C.LogicalKeyboardKey_68719480153 = new G.LogicalKeyboardKey(68719480153);
    C.LogicalKeyboardKey_68719479306 = new G.LogicalKeyboardKey(68719479306);
    C.LogicalKeyboardKey_68719478540 = new G.LogicalKeyboardKey(68719478540);
    C.LogicalKeyboardKey_68719480115 = new G.LogicalKeyboardKey(68719480115);
    C.LogicalKeyboardKey_68719480116 = new G.LogicalKeyboardKey(68719480116);
    C.LogicalKeyboardKey_68719478541 = new G.LogicalKeyboardKey(68719478541);
    C.LogicalKeyboardKey_0 = new G.LogicalKeyboardKey(0);
    C.LogicalKeyboardKey_68719480841 = new G.LogicalKeyboardKey(68719480841);
    C.LogicalKeyboardKey_35 = new G.LogicalKeyboardKey(35);
    C.LogicalKeyboardKey_5497558138928 = new G.LogicalKeyboardKey(5497558138928);
    C.LogicalKeyboardKey_5497558138929 = new G.LogicalKeyboardKey(5497558138929);
    C.LogicalKeyboardKey_5497558138930 = new G.LogicalKeyboardKey(5497558138930);
    C.LogicalKeyboardKey_5497558138931 = new G.LogicalKeyboardKey(5497558138931);
    C.LogicalKeyboardKey_5497558138932 = new G.LogicalKeyboardKey(5497558138932);
    C.LogicalKeyboardKey_5497558138933 = new G.LogicalKeyboardKey(5497558138933);
    C.LogicalKeyboardKey_5497558138934 = new G.LogicalKeyboardKey(5497558138934);
    C.LogicalKeyboardKey_5497558138935 = new G.LogicalKeyboardKey(5497558138935);
    C.LogicalKeyboardKey_5497558138936 = new G.LogicalKeyboardKey(5497558138936);
    C.LogicalKeyboardKey_5497558138937 = new G.LogicalKeyboardKey(5497558138937);
    C.LogicalKeyboardKey_5497558138923 = new G.LogicalKeyboardKey(5497558138923);
    C.LogicalKeyboardKey_5497558138924 = new G.LogicalKeyboardKey(5497558138924);
    C.LogicalKeyboardKey_5497558138926 = new G.LogicalKeyboardKey(5497558138926);
    C.LogicalKeyboardKey_5497558138927 = new G.LogicalKeyboardKey(5497558138927);
    C.LogicalKeyboardKey_5497558138893 = new G.LogicalKeyboardKey(5497558138893);
    C.LogicalKeyboardKey_5497558138941 = new G.LogicalKeyboardKey(5497558138941);
    C.LogicalKeyboardKey_5497558138922 = new G.LogicalKeyboardKey(5497558138922);
    C.LogicalKeyboardKey_5497558138920 = new G.LogicalKeyboardKey(5497558138920);
    C.LogicalKeyboardKey_5497558138921 = new G.LogicalKeyboardKey(5497558138921);
    C.LogicalKeyboardKey_5497558138925 = new G.LogicalKeyboardKey(5497558138925);
    C.LogicalKeyboardKey_68719480117 = new G.LogicalKeyboardKey(68719480117);
    C.LogicalKeyboardKey_68719479307 = new G.LogicalKeyboardKey(68719479307);
    C.LogicalKeyboardKey_68719477511 = new G.LogicalKeyboardKey(68719477511);
    C.LogicalKeyboardKey_68719477512 = new G.LogicalKeyboardKey(68719477512);
    C.LogicalKeyboardKey_68719480154 = new G.LogicalKeyboardKey(68719480154);
    C.LogicalKeyboardKey_40 = new G.LogicalKeyboardKey(40);
    C.LogicalKeyboardKey_41 = new G.LogicalKeyboardKey(41);
    C.LogicalKeyboardKey_68719477768 = new G.LogicalKeyboardKey(68719477768);
    C.LogicalKeyboardKey_68719478025 = new G.LogicalKeyboardKey(68719478025);
    C.LogicalKeyboardKey_37 = new G.LogicalKeyboardKey(37);
    C.LogicalKeyboardKey_46 = new G.LogicalKeyboardKey(46);
    C.LogicalKeyboardKey_68719480118 = new G.LogicalKeyboardKey(68719480118);
    C.LogicalKeyboardKey_68719480119 = new G.LogicalKeyboardKey(68719480119);
    C.LogicalKeyboardKey_68719480120 = new G.LogicalKeyboardKey(68719480120);
    C.LogicalKeyboardKey_68719480121 = new G.LogicalKeyboardKey(68719480121);
    C.LogicalKeyboardKey_68719478026 = new G.LogicalKeyboardKey(68719478026);
    C.LogicalKeyboardKey_68719480122 = new G.LogicalKeyboardKey(68719480122);
    C.LogicalKeyboardKey_68719480123 = new G.LogicalKeyboardKey(68719480123);
    C.LogicalKeyboardKey_68719480124 = new G.LogicalKeyboardKey(68719480124);
    C.LogicalKeyboardKey_68719478278 = new G.LogicalKeyboardKey(68719478278);
    C.LogicalKeyboardKey_68719478279 = new G.LogicalKeyboardKey(68719478279);
    C.LogicalKeyboardKey_68719478542 = new G.LogicalKeyboardKey(68719478542);
    C.LogicalKeyboardKey_68719479308 = new G.LogicalKeyboardKey(68719479308);
    C.LogicalKeyboardKey_68719478280 = new G.LogicalKeyboardKey(68719478280);
    C.LogicalKeyboardKey_68719478543 = new G.LogicalKeyboardKey(68719478543);
    C.LogicalKeyboardKey_68719478027 = new G.LogicalKeyboardKey(68719478027);
    C.LogicalKeyboardKey_63 = new G.LogicalKeyboardKey(63);
    C.LogicalKeyboardKey_34 = new G.LogicalKeyboardKey(34);
    C.LogicalKeyboardKey_39 = new G.LogicalKeyboardKey(39);
    C.LogicalKeyboardKey_68719480125 = new G.LogicalKeyboardKey(68719480125);
    C.LogicalKeyboardKey_68719480126 = new G.LogicalKeyboardKey(68719480126);
    C.LogicalKeyboardKey_68719480127 = new G.LogicalKeyboardKey(68719480127);
    C.LogicalKeyboardKey_68719477769 = new G.LogicalKeyboardKey(68719477769);
    C.LogicalKeyboardKey_73014444053 = new G.LogicalKeyboardKey(73014444053);
    C.LogicalKeyboardKey_68719480128 = new G.LogicalKeyboardKey(68719480128);
    C.LogicalKeyboardKey_68719478555 = new G.LogicalKeyboardKey(68719478555);
    C.LogicalKeyboardKey_68719480133 = new G.LogicalKeyboardKey(68719480133);
    C.LogicalKeyboardKey_68719480134 = new G.LogicalKeyboardKey(68719480134);
    C.LogicalKeyboardKey_68719479309 = new G.LogicalKeyboardKey(68719479309);
    C.LogicalKeyboardKey_68719480129 = new G.LogicalKeyboardKey(68719480129);
    C.LogicalKeyboardKey_68719480130 = new G.LogicalKeyboardKey(68719480130);
    C.LogicalKeyboardKey_68719478028 = new G.LogicalKeyboardKey(68719478028);
    C.LogicalKeyboardKey_59 = new G.LogicalKeyboardKey(59);
    C.LogicalKeyboardKey_68719480131 = new G.LogicalKeyboardKey(68719480131);
    C.LogicalKeyboardKey_68719477009 = new G.LogicalKeyboardKey(68719477009);
    C.LogicalKeyboardKey_68719478544 = new G.LogicalKeyboardKey(68719478544);
    C.LogicalKeyboardKey_47 = new G.LogicalKeyboardKey(47);
    C.LogicalKeyboardKey_73014509698 = new G.LogicalKeyboardKey(73014509698);
    C.LogicalKeyboardKey_68719479041 = new G.LogicalKeyboardKey(68719479041);
    C.LogicalKeyboardKey_68719479042 = new G.LogicalKeyboardKey(68719479042);
    C.LogicalKeyboardKey_68719479043 = new G.LogicalKeyboardKey(68719479043);
    C.LogicalKeyboardKey_68719479044 = new G.LogicalKeyboardKey(68719479044);
    C.LogicalKeyboardKey_68719479045 = new G.LogicalKeyboardKey(68719479045);
    C.LogicalKeyboardKey_68719479046 = new G.LogicalKeyboardKey(68719479046);
    C.LogicalKeyboardKey_68719479047 = new G.LogicalKeyboardKey(68719479047);
    C.LogicalKeyboardKey_68719479048 = new G.LogicalKeyboardKey(68719479048);
    C.LogicalKeyboardKey_68719480577 = new G.LogicalKeyboardKey(68719480577);
    C.LogicalKeyboardKey_68719480578 = new G.LogicalKeyboardKey(68719480578);
    C.LogicalKeyboardKey_68719479310 = new G.LogicalKeyboardKey(68719479310);
    C.LogicalKeyboardKey_68719480132 = new G.LogicalKeyboardKey(68719480132);
    C.LogicalKeyboardKey_68719478282 = new G.LogicalKeyboardKey(68719478282);
    C.LogicalKeyboardKey_68719480135 = new G.LogicalKeyboardKey(68719480135);
    C.LogicalKeyboardKey_68719477006 = new G.LogicalKeyboardKey(68719477006);
    C.LogicalKeyboardKey_73014444052 = new G.LogicalKeyboardKey(73014444052);
    C.LogicalKeyboardKey_68719477007 = new G.LogicalKeyboardKey(68719477007);
    C.LogicalKeyboardKey_68719477008 = new G.LogicalKeyboardKey(68719477008);
    C.LogicalKeyboardKey_68719480137 = new G.LogicalKeyboardKey(68719480137);
    C.LogicalKeyboardKey_68719481089 = new G.LogicalKeyboardKey(68719481089);
    C.LogicalKeyboardKey_68719481090 = new G.LogicalKeyboardKey(68719481090);
    C.LogicalKeyboardKey_68719481091 = new G.LogicalKeyboardKey(68719481091);
    C.LogicalKeyboardKey_68719481092 = new G.LogicalKeyboardKey(68719481092);
    C.LogicalKeyboardKey_68719481093 = new G.LogicalKeyboardKey(68719481093);
    C.LogicalKeyboardKey_68719481094 = new G.LogicalKeyboardKey(68719481094);
    C.LogicalKeyboardKey_68719481095 = new G.LogicalKeyboardKey(68719481095);
    C.LogicalKeyboardKey_68719480138 = new G.LogicalKeyboardKey(68719480138);
    C.LogicalKeyboardKey_68719481096 = new G.LogicalKeyboardKey(68719481096);
    C.LogicalKeyboardKey_68719481097 = new G.LogicalKeyboardKey(68719481097);
    C.LogicalKeyboardKey_68719481098 = new G.LogicalKeyboardKey(68719481098);
    C.LogicalKeyboardKey_68719481099 = new G.LogicalKeyboardKey(68719481099);
    C.LogicalKeyboardKey_68719481100 = new G.LogicalKeyboardKey(68719481100);
    C.LogicalKeyboardKey_68719481101 = new G.LogicalKeyboardKey(68719481101);
    C.LogicalKeyboardKey_68719481102 = new G.LogicalKeyboardKey(68719481102);
    C.LogicalKeyboardKey_68719481103 = new G.LogicalKeyboardKey(68719481103);
    C.LogicalKeyboardKey_68719481104 = new G.LogicalKeyboardKey(68719481104);
    C.LogicalKeyboardKey_68719481105 = new G.LogicalKeyboardKey(68719481105);
    C.LogicalKeyboardKey_68719481106 = new G.LogicalKeyboardKey(68719481106);
    C.LogicalKeyboardKey_68719481107 = new G.LogicalKeyboardKey(68719481107);
    C.LogicalKeyboardKey_68719480139 = new G.LogicalKeyboardKey(68719480139);
    C.LogicalKeyboardKey_68719481108 = new G.LogicalKeyboardKey(68719481108);
    C.LogicalKeyboardKey_68719481109 = new G.LogicalKeyboardKey(68719481109);
    C.LogicalKeyboardKey_68719481110 = new G.LogicalKeyboardKey(68719481110);
    C.LogicalKeyboardKey_68719481111 = new G.LogicalKeyboardKey(68719481111);
    C.LogicalKeyboardKey_68719481112 = new G.LogicalKeyboardKey(68719481112);
    C.LogicalKeyboardKey_68719481113 = new G.LogicalKeyboardKey(68719481113);
    C.LogicalKeyboardKey_68719481114 = new G.LogicalKeyboardKey(68719481114);
    C.LogicalKeyboardKey_68719481115 = new G.LogicalKeyboardKey(68719481115);
    C.LogicalKeyboardKey_68719476745 = new G.LogicalKeyboardKey(68719476745);
    C.LogicalKeyboardKey_68719480136 = new G.LogicalKeyboardKey(68719480136);
    C.LogicalKeyboardKey_126 = new G.LogicalKeyboardKey(126);
    C.LogicalKeyboardKey_95 = new G.LogicalKeyboardKey(95);
    C.LogicalKeyboardKey_68719477770 = new G.LogicalKeyboardKey(68719477770);
    C.LogicalKeyboardKey_68719476737 = new G.LogicalKeyboardKey(68719476737);
    C.LogicalKeyboardKey_68719480140 = new G.LogicalKeyboardKey(68719480140);
    C.LogicalKeyboardKey_68719480843 = new G.LogicalKeyboardKey(68719480843);
    C.LogicalKeyboardKey_68719478283 = new G.LogicalKeyboardKey(68719478283);
    C.LogicalKeyboardKey_68719480141 = new G.LogicalKeyboardKey(68719480141);
    C.LogicalKeyboardKey_68719478556 = new G.LogicalKeyboardKey(68719478556);
    C.LogicalKeyboardKey_68719478557 = new G.LogicalKeyboardKey(68719478557);
    C.LogicalKeyboardKey_68719478029 = new G.LogicalKeyboardKey(68719478029);
    C.LogicalKeyboardKey_68719478030 = new G.LogicalKeyboardKey(68719478030);
    C.LogicalKeyboardKey_68719480142 = new G.LogicalKeyboardKey(68719480142);
    C.Map_Ikmuk = new H.ConstantStringMap(441, {AVRInput: C.LogicalKeyboardKey_68719480072, AVRPower: C.LogicalKeyboardKey_68719480073, Abort: C.LogicalKeyboardKey_73014902939, Accel: C.LogicalKeyboardKey_68719476993, Accept: C.LogicalKeyboardKey_68719478017, Add: C.LogicalKeyboardKey_43, Again: C.LogicalKeyboardKey_68719478018, AllCandidates: C.LogicalKeyboardKey_68719478529, Alphanumeric: C.LogicalKeyboardKey_68719478530, AltGraph: C.LogicalKeyboardKey_68719476995, AltLeft: C.LogicalKeyboardKey_3298534883586, AltRight: C.LogicalKeyboardKey_4398046511362, Ampersand: C.LogicalKeyboardKey_38, AppSwitch: C.LogicalKeyboardKey_68719480833, ArrowDown: C.LogicalKeyboardKey_68719477505, ArrowLeft: C.LogicalKeyboardKey_68719477506, ArrowRight: C.LogicalKeyboardKey_68719477507, ArrowUp: C.LogicalKeyboardKey_68719477508, Asterisk: C.LogicalKeyboardKey_42, At: C.LogicalKeyboardKey_64, Attn: C.LogicalKeyboardKey_68719478019, AudioBalanceLeft: C.LogicalKeyboardKey_68719480065, AudioBalanceRight: C.LogicalKeyboardKey_68719480066, AudioBassBoostDown: C.LogicalKeyboardKey_68719480067, AudioBassBoostToggle: C.LogicalKeyboardKey_68719480322, AudioBassBoostUp: C.LogicalKeyboardKey_68719480068, AudioFaderFront: C.LogicalKeyboardKey_68719480069, AudioFaderRear: C.LogicalKeyboardKey_68719480070, AudioSurroundModeNext: C.LogicalKeyboardKey_68719480071, AudioTrebleDown: C.LogicalKeyboardKey_68719480324, AudioTrebleUp: C.LogicalKeyboardKey_68719480325, AudioVolumeDown: C.LogicalKeyboardKey_68719479311, AudioVolumeMute: C.LogicalKeyboardKey_68719479313, AudioVolumeUp: C.LogicalKeyboardKey_68719479312, Backquote: C.LogicalKeyboardKey_96, Backslash: C.LogicalKeyboardKey_92, Backspace: C.LogicalKeyboardKey_68719476744, Bar: C.LogicalKeyboardKey_124, BraceLeft: C.LogicalKeyboardKey_123, BraceRight: C.LogicalKeyboardKey_125, BracketLeft: C.LogicalKeyboardKey_91, BracketRight: C.LogicalKeyboardKey_93, BrightnessDown: C.LogicalKeyboardKey_68719478273, BrightnessUp: C.LogicalKeyboardKey_68719478274, BrowserBack: C.LogicalKeyboardKey_68719479809, BrowserFavorites: C.LogicalKeyboardKey_68719479810, BrowserForward: C.LogicalKeyboardKey_68719479811, BrowserHome: C.LogicalKeyboardKey_68719479812, BrowserRefresh: C.LogicalKeyboardKey_68719479813, BrowserSearch: C.LogicalKeyboardKey_68719479814, BrowserStop: C.LogicalKeyboardKey_68719479815, Call: C.LogicalKeyboardKey_68719480834, Camera: C.LogicalKeyboardKey_68719478275, CameraFocus: C.LogicalKeyboardKey_68719480835, Cancel: C.LogicalKeyboardKey_68719478020, CapsLock: C.LogicalKeyboardKey_68719476996, Caret: C.LogicalKeyboardKey_94, ChannelDown: C.LogicalKeyboardKey_68719480074, ChannelUp: C.LogicalKeyboardKey_68719480075, Clear: C.LogicalKeyboardKey_68719477761, Close: C.LogicalKeyboardKey_68719479297, ClosedCaptionToggle: C.LogicalKeyboardKey_68719480082, CodeInput: C.LogicalKeyboardKey_68719478531, Colon: C.LogicalKeyboardKey_58, ColorF0Red: C.LogicalKeyboardKey_68719480076, ColorF1Green: C.LogicalKeyboardKey_68719480077, ColorF2Yellow: C.LogicalKeyboardKey_68719480078, ColorF3Blue: C.LogicalKeyboardKey_68719480079, ColorF4Grey: C.LogicalKeyboardKey_68719480080, ColorF5Brown: C.LogicalKeyboardKey_68719480081, Comma: C.LogicalKeyboardKey_44, Compose: C.LogicalKeyboardKey_68719478532, ContextMenu: C.LogicalKeyboardKey_68719478021, ControlLeft: C.LogicalKeyboardKey_3298534883589, ControlRight: C.LogicalKeyboardKey_4398046511365, Convert: C.LogicalKeyboardKey_68719478533, Copy: C.LogicalKeyboardKey_68719477762, CrSel: C.LogicalKeyboardKey_68719477763, Cut: C.LogicalKeyboardKey_68719477764, DVR: C.LogicalKeyboardKey_68719480143, Delete: C.LogicalKeyboardKey_68719476863, Digit0: C.LogicalKeyboardKey_48, Digit1: C.LogicalKeyboardKey_49, Digit2: C.LogicalKeyboardKey_50, Digit3: C.LogicalKeyboardKey_51, Digit4: C.LogicalKeyboardKey_52, Digit5: C.LogicalKeyboardKey_53, Digit6: C.LogicalKeyboardKey_54, Digit7: C.LogicalKeyboardKey_55, Digit8: C.LogicalKeyboardKey_56, Digit9: C.LogicalKeyboardKey_57, Dimmer: C.LogicalKeyboardKey_68719480083, DisplaySwap: C.LogicalKeyboardKey_68719480084, Dollar: C.LogicalKeyboardKey_36, Eisu: C.LogicalKeyboardKey_68719478548, Eject: C.LogicalKeyboardKey_68719478276, End: C.LogicalKeyboardKey_68719477509, EndCall: C.LogicalKeyboardKey_68719480836, Enter: C.LogicalKeyboardKey_68719476749, Equal: C.LogicalKeyboardKey_61, EraseEof: C.LogicalKeyboardKey_68719477765, Escape: C.LogicalKeyboardKey_68719476763, ExSel: C.LogicalKeyboardKey_68719477766, Exclamation: C.LogicalKeyboardKey_33, Execute: C.LogicalKeyboardKey_68719478022, Exit: C.LogicalKeyboardKey_68719480085, F1: C.LogicalKeyboardKey_68719478785, F10: C.LogicalKeyboardKey_68719478794, F11: C.LogicalKeyboardKey_68719478795, F12: C.LogicalKeyboardKey_68719478796, F13: C.LogicalKeyboardKey_68719478797, F14: C.LogicalKeyboardKey_68719478798, F15: C.LogicalKeyboardKey_68719478799, F16: C.LogicalKeyboardKey_68719478800, F17: C.LogicalKeyboardKey_68719478801, F18: C.LogicalKeyboardKey_68719478802, F19: C.LogicalKeyboardKey_68719478803, F2: C.LogicalKeyboardKey_68719478786, F20: C.LogicalKeyboardKey_68719478804, F21: C.LogicalKeyboardKey_68719478805, F22: C.LogicalKeyboardKey_68719478806, F23: C.LogicalKeyboardKey_68719478807, F24: C.LogicalKeyboardKey_68719478808, F3: C.LogicalKeyboardKey_68719478787, F4: C.LogicalKeyboardKey_68719478788, F5: C.LogicalKeyboardKey_68719478789, F6: C.LogicalKeyboardKey_68719478790, F7: C.LogicalKeyboardKey_68719478791, F8: C.LogicalKeyboardKey_68719478792, F9: C.LogicalKeyboardKey_68719478793, FavoriteClear0: C.LogicalKeyboardKey_68719480086, FavoriteClear1: C.LogicalKeyboardKey_68719480087, FavoriteClear2: C.LogicalKeyboardKey_68719480088, FavoriteClear3: C.LogicalKeyboardKey_68719480089, FavoriteRecall0: C.LogicalKeyboardKey_68719480090, FavoriteRecall1: C.LogicalKeyboardKey_68719480091, FavoriteRecall2: C.LogicalKeyboardKey_68719480092, FavoriteRecall3: C.LogicalKeyboardKey_68719480093, FavoriteStore0: C.LogicalKeyboardKey_68719480094, FavoriteStore1: C.LogicalKeyboardKey_68719480095, FavoriteStore2: C.LogicalKeyboardKey_68719480096, FavoriteStore3: C.LogicalKeyboardKey_68719480097, FinalMode: C.LogicalKeyboardKey_68719478534, Find: C.LogicalKeyboardKey_68719478023, Fn: C.LogicalKeyboardKey_68719476998, FnLock: C.LogicalKeyboardKey_68719476999, GameButton1: C.LogicalKeyboardKey_68719869697, GameButton10: C.LogicalKeyboardKey_68719869706, GameButton11: C.LogicalKeyboardKey_68719869707, GameButton12: C.LogicalKeyboardKey_68719869708, GameButton13: C.LogicalKeyboardKey_68719869709, GameButton14: C.LogicalKeyboardKey_68719869710, GameButton15: C.LogicalKeyboardKey_68719869711, GameButton16: C.LogicalKeyboardKey_68719869712, GameButton2: C.LogicalKeyboardKey_68719869698, GameButton3: C.LogicalKeyboardKey_68719869699, GameButton4: C.LogicalKeyboardKey_68719869700, GameButton5: C.LogicalKeyboardKey_68719869701, GameButton6: C.LogicalKeyboardKey_68719869702, GameButton7: C.LogicalKeyboardKey_68719869703, GameButton8: C.LogicalKeyboardKey_68719869704, GameButton9: C.LogicalKeyboardKey_68719869705, GameButtonA: C.LogicalKeyboardKey_68719869713, GameButtonB: C.LogicalKeyboardKey_68719869714, GameButtonC: C.LogicalKeyboardKey_68719869715, GameButtonLeft1: C.LogicalKeyboardKey_68719869716, GameButtonLeft2: C.LogicalKeyboardKey_68719869717, GameButtonMode: C.LogicalKeyboardKey_68719869718, GameButtonRight1: C.LogicalKeyboardKey_68719869719, GameButtonRight2: C.LogicalKeyboardKey_68719869720, GameButtonSelect: C.LogicalKeyboardKey_68719869721, GameButtonStart: C.LogicalKeyboardKey_68719869722, GameButtonThumbLeft: C.LogicalKeyboardKey_68719869723, GameButtonThumbRight: C.LogicalKeyboardKey_68719869724, GameButtonX: C.LogicalKeyboardKey_68719869725, GameButtonY: C.LogicalKeyboardKey_68719869726, GameButtonZ: C.LogicalKeyboardKey_68719869727, GoBack: C.LogicalKeyboardKey_68719480837, GoHome: C.LogicalKeyboardKey_68719480838, Greater: C.LogicalKeyboardKey_62, GroupFirst: C.LogicalKeyboardKey_68719478535, GroupLast: C.LogicalKeyboardKey_68719478536, GroupNext: C.LogicalKeyboardKey_68719478537, GroupPrevious: C.LogicalKeyboardKey_68719478538, Guide: C.LogicalKeyboardKey_68719480098, GuideNextDay: C.LogicalKeyboardKey_68719480099, GuidePreviousDay: C.LogicalKeyboardKey_68719480100, HangulMode: C.LogicalKeyboardKey_68719478545, HanjaMode: C.LogicalKeyboardKey_68719478546, Hankaku: C.LogicalKeyboardKey_68719478549, HeadsetHook: C.LogicalKeyboardKey_68719480839, Help: C.LogicalKeyboardKey_68719478024, Hibernate: C.LogicalKeyboardKey_68719478281, Hiragana: C.LogicalKeyboardKey_68719478550, HiraganaKatakana: C.LogicalKeyboardKey_68719478551, Home: C.LogicalKeyboardKey_68719477510, Hyper: C.LogicalKeyboardKey_68719477000, Info: C.LogicalKeyboardKey_68719480101, Insert: C.LogicalKeyboardKey_68719477767, InstantReplay: C.LogicalKeyboardKey_68719480102, IntlBackslash: C.LogicalKeyboardKey_73014902884, IntlRo: C.LogicalKeyboardKey_73014902919, IntlYen: C.LogicalKeyboardKey_73014902921, JunjaMode: C.LogicalKeyboardKey_68719478547, KanaMode: C.LogicalKeyboardKey_68719478552, KanjiMode: C.LogicalKeyboardKey_68719478553, Katakana: C.LogicalKeyboardKey_68719478554, Key11: C.LogicalKeyboardKey_68719481345, Key12: C.LogicalKeyboardKey_68719481346, KeyA: C.LogicalKeyboardKey_97, KeyB: C.LogicalKeyboardKey_98, KeyC: C.LogicalKeyboardKey_99, KeyD: C.LogicalKeyboardKey_100, KeyE: C.LogicalKeyboardKey_101, KeyF: C.LogicalKeyboardKey_102, KeyG: C.LogicalKeyboardKey_103, KeyH: C.LogicalKeyboardKey_104, KeyI: C.LogicalKeyboardKey_105, KeyJ: C.LogicalKeyboardKey_106, KeyK: C.LogicalKeyboardKey_107, KeyL: C.LogicalKeyboardKey_108, KeyM: C.LogicalKeyboardKey_109, KeyN: C.LogicalKeyboardKey_110, KeyO: C.LogicalKeyboardKey_111, KeyP: C.LogicalKeyboardKey_112, KeyQ: C.LogicalKeyboardKey_113, KeyR: C.LogicalKeyboardKey_114, KeyS: C.LogicalKeyboardKey_115, KeyT: C.LogicalKeyboardKey_116, KeyU: C.LogicalKeyboardKey_117, KeyV: C.LogicalKeyboardKey_118, KeyW: C.LogicalKeyboardKey_119, KeyX: C.LogicalKeyboardKey_120, KeyY: C.LogicalKeyboardKey_121, KeyZ: C.LogicalKeyboardKey_122, Lang1: C.LogicalKeyboardKey_73014902928, Lang2: C.LogicalKeyboardKey_73014902929, Lang3: C.LogicalKeyboardKey_73014902930, Lang4: C.LogicalKeyboardKey_73014902931, Lang5: C.LogicalKeyboardKey_73014902932, LastNumberRedial: C.LogicalKeyboardKey_68719480840, LaunchApplication1: C.LogicalKeyboardKey_68719479558, LaunchApplication2: C.LogicalKeyboardKey_68719479553, LaunchAssistant: C.LogicalKeyboardKey_68719479566, LaunchCalendar: C.LogicalKeyboardKey_68719479554, LaunchContacts: C.LogicalKeyboardKey_68719479564, LaunchControlPanel: C.LogicalKeyboardKey_68719479567, LaunchMail: C.LogicalKeyboardKey_68719479555, LaunchMediaPlayer: C.LogicalKeyboardKey_68719479556, LaunchMusicPlayer: C.LogicalKeyboardKey_68719479557, LaunchPhone: C.LogicalKeyboardKey_68719479565, LaunchScreenSaver: C.LogicalKeyboardKey_68719479559, LaunchSpreadsheet: C.LogicalKeyboardKey_68719479560, LaunchWebBrowser: C.LogicalKeyboardKey_68719479561, LaunchWebCam: C.LogicalKeyboardKey_68719479562, LaunchWordProcessor: C.LogicalKeyboardKey_68719479563, Less: C.LogicalKeyboardKey_60, Link: C.LogicalKeyboardKey_68719480103, ListProgram: C.LogicalKeyboardKey_68719480104, LiveContent: C.LogicalKeyboardKey_68719480105, Lock: C.LogicalKeyboardKey_68719480106, LogOff: C.LogicalKeyboardKey_68719478277, MailForward: C.LogicalKeyboardKey_68719479298, MailReply: C.LogicalKeyboardKey_68719479299, MailSend: C.LogicalKeyboardKey_68719479300, MannerMode: C.LogicalKeyboardKey_68719480842, MediaApps: C.LogicalKeyboardKey_68719480107, MediaAudioTrack: C.LogicalKeyboardKey_68719480144, MediaClose: C.LogicalKeyboardKey_68719480155, MediaFastForward: C.LogicalKeyboardKey_68719480108, MediaLast: C.LogicalKeyboardKey_68719480109, MediaPause: C.LogicalKeyboardKey_68719480110, MediaPlay: C.LogicalKeyboardKey_68719480111, MediaPlayPause: C.LogicalKeyboardKey_68719479301, MediaRecord: C.LogicalKeyboardKey_68719480112, MediaRewind: C.LogicalKeyboardKey_68719480113, MediaSkip: C.LogicalKeyboardKey_68719480114, MediaSkipBackward: C.LogicalKeyboardKey_68719480145, MediaSkipForward: C.LogicalKeyboardKey_68719480146, MediaStepBackward: C.LogicalKeyboardKey_68719480147, MediaStepForward: C.LogicalKeyboardKey_68719480148, MediaStop: C.LogicalKeyboardKey_68719479303, MediaTopMenu: C.LogicalKeyboardKey_68719480149, MediaTrackNext: C.LogicalKeyboardKey_68719479304, MediaTrackPrevious: C.LogicalKeyboardKey_68719479305, MetaLeft: C.LogicalKeyboardKey_3298534883593, MetaRight: C.LogicalKeyboardKey_4398046511369, MicrophoneToggle: C.LogicalKeyboardKey_68719480326, MicrophoneVolumeDown: C.LogicalKeyboardKey_68719480327, MicrophoneVolumeMute: C.LogicalKeyboardKey_68719480329, MicrophoneVolumeUp: C.LogicalKeyboardKey_68719480328, Minus: C.LogicalKeyboardKey_45, ModeChange: C.LogicalKeyboardKey_68719478539, NavigateIn: C.LogicalKeyboardKey_68719480150, NavigateNext: C.LogicalKeyboardKey_68719480151, NavigateOut: C.LogicalKeyboardKey_68719480152, NavigatePrevious: C.LogicalKeyboardKey_68719480153, New: C.LogicalKeyboardKey_68719479306, NextCandidate: C.LogicalKeyboardKey_68719478540, NextFavoriteChannel: C.LogicalKeyboardKey_68719480115, NextUserProfile: C.LogicalKeyboardKey_68719480116, NonConvert: C.LogicalKeyboardKey_68719478541, None: C.LogicalKeyboardKey_0, Notification: C.LogicalKeyboardKey_68719480841, NumLock: C.LogicalKeyboardKey_68719477002, NumberSign: C.LogicalKeyboardKey_35, Numpad0: C.LogicalKeyboardKey_5497558138928, Numpad1: C.LogicalKeyboardKey_5497558138929, Numpad2: C.LogicalKeyboardKey_5497558138930, Numpad3: C.LogicalKeyboardKey_5497558138931, Numpad4: C.LogicalKeyboardKey_5497558138932, Numpad5: C.LogicalKeyboardKey_5497558138933, Numpad6: C.LogicalKeyboardKey_5497558138934, Numpad7: C.LogicalKeyboardKey_5497558138935, Numpad8: C.LogicalKeyboardKey_5497558138936, Numpad9: C.LogicalKeyboardKey_5497558138937, NumpadAdd: C.LogicalKeyboardKey_5497558138923, NumpadComma: C.LogicalKeyboardKey_5497558138924, NumpadDecimal: C.LogicalKeyboardKey_5497558138926, NumpadDivide: C.LogicalKeyboardKey_5497558138927, NumpadEnter: C.LogicalKeyboardKey_5497558138893, NumpadEqual: C.LogicalKeyboardKey_5497558138941, NumpadMultiply: C.LogicalKeyboardKey_5497558138922, NumpadParenLeft: C.LogicalKeyboardKey_5497558138920, NumpadParenRight: C.LogicalKeyboardKey_5497558138921, NumpadSubtract: C.LogicalKeyboardKey_5497558138925, OnDemand: C.LogicalKeyboardKey_68719480117, Open: C.LogicalKeyboardKey_68719479307, PageDown: C.LogicalKeyboardKey_68719477511, PageUp: C.LogicalKeyboardKey_68719477512, Pairing: C.LogicalKeyboardKey_68719480154, ParenthesisLeft: C.LogicalKeyboardKey_40, ParenthesisRight: C.LogicalKeyboardKey_41, Paste: C.LogicalKeyboardKey_68719477768, Pause: C.LogicalKeyboardKey_68719478025, Percent: C.LogicalKeyboardKey_37, Period: C.LogicalKeyboardKey_46, PinPDown: C.LogicalKeyboardKey_68719480118, PinPMove: C.LogicalKeyboardKey_68719480119, PinPToggle: C.LogicalKeyboardKey_68719480120, PinPUp: C.LogicalKeyboardKey_68719480121, Play: C.LogicalKeyboardKey_68719478026, PlaySpeedDown: C.LogicalKeyboardKey_68719480122, PlaySpeedReset: C.LogicalKeyboardKey_68719480123, PlaySpeedUp: C.LogicalKeyboardKey_68719480124, Power: C.LogicalKeyboardKey_68719478278, PowerOff: C.LogicalKeyboardKey_68719478279, PreviousCandidate: C.LogicalKeyboardKey_68719478542, Print: C.LogicalKeyboardKey_68719479308, PrintScreen: C.LogicalKeyboardKey_68719478280, Process: C.LogicalKeyboardKey_68719478543, Props: C.LogicalKeyboardKey_68719478027, Question: C.LogicalKeyboardKey_63, Quote: C.LogicalKeyboardKey_34, QuoteSingle: C.LogicalKeyboardKey_39, RandomToggle: C.LogicalKeyboardKey_68719480125, RcLowBattery: C.LogicalKeyboardKey_68719480126, RecordSpeedNext: C.LogicalKeyboardKey_68719480127, Redo: C.LogicalKeyboardKey_68719477769, Resume: C.LogicalKeyboardKey_73014444053, RfBypass: C.LogicalKeyboardKey_68719480128, Romaji: C.LogicalKeyboardKey_68719478555, STBInput: C.LogicalKeyboardKey_68719480133, STBPower: C.LogicalKeyboardKey_68719480134, Save: C.LogicalKeyboardKey_68719479309, ScanChannelsToggle: C.LogicalKeyboardKey_68719480129, ScreenModeNext: C.LogicalKeyboardKey_68719480130, ScrollLock: C.LogicalKeyboardKey_68719477004, Select: C.LogicalKeyboardKey_68719478028, Semicolon: C.LogicalKeyboardKey_59, Settings: C.LogicalKeyboardKey_68719480131, ShiftLeft: C.LogicalKeyboardKey_3298534883597, ShiftLevel5: C.LogicalKeyboardKey_68719477009, ShiftRight: C.LogicalKeyboardKey_4398046511373, SingleCandidate: C.LogicalKeyboardKey_68719478544, Slash: C.LogicalKeyboardKey_47, Sleep: C.LogicalKeyboardKey_73014509698, Soft1: C.LogicalKeyboardKey_68719479041, Soft2: C.LogicalKeyboardKey_68719479042, Soft3: C.LogicalKeyboardKey_68719479043, Soft4: C.LogicalKeyboardKey_68719479044, Soft5: C.LogicalKeyboardKey_68719479045, Soft6: C.LogicalKeyboardKey_68719479046, Soft7: C.LogicalKeyboardKey_68719479047, Soft8: C.LogicalKeyboardKey_68719479048, Space: C.LogicalKeyboardKey_32, SpeechCorrectionList: C.LogicalKeyboardKey_68719480577, SpeechInputToggle: C.LogicalKeyboardKey_68719480578, SpellCheck: C.LogicalKeyboardKey_68719479310, SplitScreenToggle: C.LogicalKeyboardKey_68719480132, Standby: C.LogicalKeyboardKey_68719478282, Subtitle: C.LogicalKeyboardKey_68719480135, Super: C.LogicalKeyboardKey_68719477006, Suspend: C.LogicalKeyboardKey_73014444052, Symbol: C.LogicalKeyboardKey_68719477007, SymbolLock: C.LogicalKeyboardKey_68719477008, TV: C.LogicalKeyboardKey_68719480137, TV3DMode: C.LogicalKeyboardKey_68719481089, TVAntennaCable: C.LogicalKeyboardKey_68719481090, TVAudioDescription: C.LogicalKeyboardKey_68719481091, TVAudioDescriptionMixDown: C.LogicalKeyboardKey_68719481092, TVAudioDescriptionMixUp: C.LogicalKeyboardKey_68719481093, TVContentsMenu: C.LogicalKeyboardKey_68719481094, TVDataService: C.LogicalKeyboardKey_68719481095, TVInput: C.LogicalKeyboardKey_68719480138, TVInputComponent1: C.LogicalKeyboardKey_68719481096, TVInputComponent2: C.LogicalKeyboardKey_68719481097, TVInputComposite1: C.LogicalKeyboardKey_68719481098, TVInputComposite2: C.LogicalKeyboardKey_68719481099, TVInputHDMI1: C.LogicalKeyboardKey_68719481100, TVInputHDMI2: C.LogicalKeyboardKey_68719481101, TVInputHDMI3: C.LogicalKeyboardKey_68719481102, TVInputHDMI4: C.LogicalKeyboardKey_68719481103, TVInputVGA1: C.LogicalKeyboardKey_68719481104, TVMediaContext: C.LogicalKeyboardKey_68719481105, TVNetwork: C.LogicalKeyboardKey_68719481106, TVNumberEntry: C.LogicalKeyboardKey_68719481107, TVPower: C.LogicalKeyboardKey_68719480139, TVRadioService: C.LogicalKeyboardKey_68719481108, TVSatellite: C.LogicalKeyboardKey_68719481109, TVSatelliteBS: C.LogicalKeyboardKey_68719481110, TVSatelliteCS: C.LogicalKeyboardKey_68719481111, TVSatelliteToggle: C.LogicalKeyboardKey_68719481112, TVTerrestrialAnalog: C.LogicalKeyboardKey_68719481113, TVTerrestrialDigital: C.LogicalKeyboardKey_68719481114, TVTimer: C.LogicalKeyboardKey_68719481115, Tab: C.LogicalKeyboardKey_68719476745, Teletext: C.LogicalKeyboardKey_68719480136, Tilde: C.LogicalKeyboardKey_126, Underscore: C.LogicalKeyboardKey_95, Undo: C.LogicalKeyboardKey_68719477770, Unidentified: C.LogicalKeyboardKey_68719476737, VideoModeNext: C.LogicalKeyboardKey_68719480140, VoiceDial: C.LogicalKeyboardKey_68719480843, WakeUp: C.LogicalKeyboardKey_68719478283, Wink: C.LogicalKeyboardKey_68719480141, Zenkaku: C.LogicalKeyboardKey_68719478556, ZenkakuHankaku: C.LogicalKeyboardKey_68719478557, ZoomIn: C.LogicalKeyboardKey_68719478029, ZoomOut: C.LogicalKeyboardKey_68719478030, ZoomToggle: C.LogicalKeyboardKey_68719480142}, C.List_Ikq, type$.ConstantStringMap_of_legacy_String_and_legacy_LogicalKeyboardKey);
    C.Color_4294573031 = new P.Color(4294573031);
    C.Color_4293981379 = new P.Color(4293981379);
    C.Color_4293324444 = new P.Color(4293324444);
    C.Color_4292667253 = new P.Color(4292667253);
    C.Color_4292141399 = new P.Color(4292141399);
    C.Color_4291681337 = new P.Color(4291681337);
    C.Color_4290824755 = new P.Color(4290824755);
    C.Color_4289705003 = new P.Color(4289705003);
    C.Color_4288584996 = new P.Color(4288584996);
    C.Color_4286740247 = new P.Color(4286740247);
    C.Map_JNQQJ = new H.GeneralConstantMap([50, C.Color_4294573031, 100, C.Color_4293981379, 200, C.Color_4293324444, 300, C.Color_4292667253, 400, C.Color_4292141399, 500, C.Color_4291681337, 600, C.Color_4290824755, 700, C.Color_4289705003, 800, C.Color_4288584996, 900, C.Color_4286740247], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.Color_4294964192 = new P.Color(4294964192);
    C.Color_4294959282 = new P.Color(4294959282);
    C.Color_4294954112 = new P.Color(4294954112);
    C.Color_4294948685 = new P.Color(4294948685);
    C.Color_4294944550 = new P.Color(4294944550);
    C.Color_4294940672 = new P.Color(4294940672);
    C.Color_4294675456 = new P.Color(4294675456);
    C.Color_4294278144 = new P.Color(4294278144);
    C.Color_4293880832 = new P.Color(4293880832);
    C.Color_4293284096 = new P.Color(4293284096);
    C.Map_JNZaB = new H.GeneralConstantMap([50, C.Color_4294964192, 100, C.Color_4294959282, 200, C.Color_4294954112, 300, C.Color_4294948685, 400, C.Color_4294944550, 500, C.Color_4294940672, 600, C.Color_4294675456, 700, C.Color_4294278144, 800, C.Color_4293880832, 900, C.Color_4293284096], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.Color_4294962158 = new P.Color(4294962158);
    C.Color_4294954450 = new P.Color(4294954450);
    C.Color_4293892762 = new P.Color(4293892762);
    C.Color_4293227379 = new P.Color(4293227379);
    C.Color_4293874512 = new P.Color(4293874512);
    C.Color_4293212469 = new P.Color(4293212469);
    C.Color_4292030255 = new P.Color(4292030255);
    C.Color_4291176488 = new P.Color(4291176488);
    C.Color_4290190364 = new P.Color(4290190364);
    C.Map_JNc9P = new H.GeneralConstantMap([50, C.Color_4294962158, 100, C.Color_4294954450, 200, C.Color_4293892762, 300, C.Color_4293227379, 400, C.Color_4293874512, 500, C.Color_4294198070, 600, C.Color_4293212469, 700, C.Color_4292030255, 800, C.Color_4291176488, 900, C.Color_4290190364], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.Color_4293128957 = new P.Color(4293128957);
    C.Color_4290502395 = new P.Color(4290502395);
    C.Color_4287679225 = new P.Color(4287679225);
    C.Color_4284790262 = new P.Color(4284790262);
    C.Color_4282557941 = new P.Color(4282557941);
    C.Color_4280191205 = new P.Color(4280191205);
    C.Color_4279592384 = new P.Color(4279592384);
    C.Color_4279060385 = new P.Color(4279060385);
    C.Map_JNwaj = new H.GeneralConstantMap([50, C.Color_4293128957, 100, C.Color_4290502395, 200, C.Color_4287679225, 300, C.Color_4284790262, 400, C.Color_4282557941, 500, C.Color_4280391411, 600, C.Color_4280191205, 700, C.Color_4279858898, 800, C.Color_4279592384, 900, C.Color_4279060385], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.Color_4293718001 = new P.Color(4293718001);
    C.Color_4291811548 = new P.Color(4291811548);
    C.Color_4289773253 = new P.Color(4289773253);
    C.Color_4287669422 = new P.Color(4287669422);
    C.Color_4284513675 = new P.Color(4284513675);
    C.Color_4283723386 = new P.Color(4283723386);
    C.Color_4282735204 = new P.Color(4282735204);
    C.Color_4281812815 = new P.Color(4281812815);
    C.Color_4280693304 = new P.Color(4280693304);
    C.Map_JNy8A = new H.GeneralConstantMap([50, C.Color_4293718001, 100, C.Color_4291811548, 200, C.Color_4289773253, 300, C.Color_4287669422, 400, C.Color_4286091420, 500, C.Color_4284513675, 600, C.Color_4283723386, 700, C.Color_4282735204, 800, C.Color_4281812815, 900, C.Color_4280693304], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.SingleActivator_EOZ3 = new X.SingleActivator(C.LogicalKeyboardKey_68719476749, false, false, false, false);
    C.SingleActivator_QXb = new X.SingleActivator(C.LogicalKeyboardKey_68719476763, false, false, false, false);
    C.SingleActivator_EOZ4 = new X.SingleActivator(C.LogicalKeyboardKey_68719476745, false, false, false, false);
    C.SingleActivator_EOZ5 = new X.SingleActivator(C.LogicalKeyboardKey_68719476745, false, true, false, false);
    C.SingleActivator_A4A = new X.SingleActivator(C.LogicalKeyboardKey_68719477512, false, false, false, false);
    C.SingleActivator_gUw31 = new X.SingleActivator(C.LogicalKeyboardKey_68719477511, false, false, false, false);
    C.C_PrioritizedIntents = new U.PrioritizedIntents();
    C.C_ButtonActivateIntent = new U.ButtonActivateIntent();
    C.C_DismissIntent = new U.DismissIntent();
    C.C_NextFocusIntent = new U.NextFocusIntent();
    C.C_PreviousFocusIntent = new U.PreviousFocusIntent();
    C.ScrollIncrementType_0 = new F.ScrollIncrementType(0, "ScrollIncrementType.line");
    C.ScrollIntent_XrR = new F.ScrollIntent(C.AxisDirection_0, C.ScrollIncrementType_0);
    C.ScrollIntent_Jgx0 = new F.ScrollIntent(C.AxisDirection_2, C.ScrollIncrementType_0);
    C.ScrollIntent_SnC = new F.ScrollIntent(C.AxisDirection_3, C.ScrollIncrementType_0);
    C.ScrollIntent_ohh = new F.ScrollIntent(C.AxisDirection_1, C.ScrollIncrementType_0);
    C.ScrollIntent_XrR0 = new F.ScrollIntent(C.AxisDirection_0, C.ScrollIncrementType_1);
    C.Map_MQQ1t = new H.GeneralConstantMap([C.SingleActivator_mmH, C.C_PrioritizedIntents, C.SingleActivator_EOZ3, C.C_ButtonActivateIntent, C.SingleActivator_QXb, C.C_DismissIntent, C.SingleActivator_EOZ4, C.C_NextFocusIntent, C.SingleActivator_EOZ5, C.C_PreviousFocusIntent, C.SingleActivator_gUw10, C.ScrollIntent_XrR, C.SingleActivator_gUw7, C.ScrollIntent_Jgx0, C.SingleActivator_gUw8, C.ScrollIntent_SnC, C.SingleActivator_gUw9, C.ScrollIntent_ohh, C.SingleActivator_A4A, C.ScrollIntent_XrR0, C.SingleActivator_gUw31, C.ScrollIntent_Jgx], type$.GeneralConstantMap_of_legacy_ShortcutActivator_and_legacy_Intent);
    C.Map_QkRWS = new H.GeneralConstantMap([0, "None", 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", 68719476737, "Unidentified", 68719476744, "Backspace", 68719476745, "Tab", 68719476749, "Enter", 68719476763, "Escape", 68719476863, "Delete", 68719476993, "Accel", 68719476995, "Alt Graph", 68719476996, "Caps Lock", 68719476998, "Fn", 68719476999, "Fn Lock", 68719477e3, "Hyper", 68719477002, "Num Lock", 68719477004, "Scroll Lock", 68719477006, "Super", 68719477007, "Symbol", 68719477008, "Symbol Lock", 68719477009, "Shift Level 5", 68719477505, "Arrow Down", 68719477506, "Arrow Left", 68719477507, "Arrow Right", 68719477508, "Arrow Up", 68719477509, "End", 68719477510, "Home", 68719477511, "Page Down", 68719477512, "Page Up", 68719477761, "Clear", 68719477762, "Copy", 68719477763, "Cr Sel", 68719477764, "Cut", 68719477765, "Erase Eof", 68719477766, "Ex Sel", 68719477767, "Insert", 68719477768, "Paste", 68719477769, "Redo", 68719477770, "Undo", 68719478017, "Accept", 68719478018, "Again", 68719478019, "Attn", 68719478020, "Cancel", 68719478021, "Context Menu", 68719478022, "Execute", 68719478023, "Find", 68719478024, "Help", 68719478025, "Pause", 68719478026, "Play", 68719478027, "Props", 68719478028, "Select", 68719478029, "Zoom In", 68719478030, "Zoom Out", 68719478273, "Brightness Down", 68719478274, "Brightness Up", 68719478275, "Camera", 68719478276, "Eject", 68719478277, "Log Off", 68719478278, "Power", 68719478279, "Power Off", 68719478280, "Print Screen", 68719478281, "Hibernate", 68719478282, "Standby", 68719478283, "Wake Up", 68719478529, "All Candidates", 68719478530, "Alphanumeric", 68719478531, "Code Input", 68719478532, "Compose", 68719478533, "Convert", 68719478534, "Final Mode", 68719478535, "Group First", 68719478536, "Group Last", 68719478537, "Group Next", 68719478538, "Group Previous", 68719478539, "Mode Change", 68719478540, "Next Candidate", 68719478541, "Non Convert", 68719478542, "Previous Candidate", 68719478543, "Process", 68719478544, "Single Candidate", 68719478545, "Hangul Mode", 68719478546, "Hanja Mode", 68719478547, "Junja Mode", 68719478548, "Eisu", 68719478549, "Hankaku", 68719478550, "Hiragana", 68719478551, "Hiragana Katakana", 68719478552, "Kana Mode", 68719478553, "Kanji Mode", 68719478554, "Katakana", 68719478555, "Romaji", 68719478556, "Zenkaku", 68719478557, "Zenkaku Hankaku", 68719478785, "F1", 68719478786, "F2", 68719478787, "F3", 68719478788, "F4", 68719478789, "F5", 68719478790, "F6", 68719478791, "F7", 68719478792, "F8", 68719478793, "F9", 68719478794, "F10", 68719478795, "F11", 68719478796, "F12", 68719478797, "F13", 68719478798, "F14", 68719478799, "F15", 68719478800, "F16", 68719478801, "F17", 68719478802, "F18", 68719478803, "F19", 68719478804, "F20", 68719478805, "F21", 68719478806, "F22", 68719478807, "F23", 68719478808, "F24", 68719479041, "Soft 1", 68719479042, "Soft 2", 68719479043, "Soft 3", 68719479044, "Soft 4", 68719479045, "Soft 5", 68719479046, "Soft 6", 68719479047, "Soft 7", 68719479048, "Soft 8", 68719479297, "Close", 68719479298, "Mail Forward", 68719479299, "Mail Reply", 68719479300, "Mail Send", 68719479301, "Media Play Pause", 68719479303, "Media Stop", 68719479304, "Media Track Next", 68719479305, "Media Track Previous", 68719479306, "New", 68719479307, "Open", 68719479308, "Print", 68719479309, "Save", 68719479310, "Spell Check", 68719479311, "Audio Volume Down", 68719479312, "Audio Volume Up", 68719479313, "Audio Volume Mute", 68719479553, "Launch Application 2", 68719479554, "Launch Calendar", 68719479555, "Launch Mail", 68719479556, "Launch Media Player", 68719479557, "Launch Music Player", 68719479558, "Launch Application 1", 68719479559, "Launch Screen Saver", 68719479560, "Launch Spreadsheet", 68719479561, "Launch Web Browser", 68719479562, "Launch Web Cam", 68719479563, "Launch Word Processor", 68719479564, "Launch Contacts", 68719479565, "Launch Phone", 68719479566, "Launch Assistant", 68719479567, "Launch Control Panel", 68719479809, "Browser Back", 68719479810, "Browser Favorites", 68719479811, "Browser Forward", 68719479812, "Browser Home", 68719479813, "Browser Refresh", 68719479814, "Browser Search", 68719479815, "Browser Stop", 68719480065, "Audio Balance Left", 68719480066, "Audio Balance Right", 68719480067, "Audio Bass Boost Down", 68719480068, "Audio Bass Boost Up", 68719480069, "Audio Fader Front", 68719480070, "Audio Fader Rear", 68719480071, "Audio Surround Mode Next", 68719480072, "AVR Input", 68719480073, "AVR Power", 68719480074, "Channel Down", 68719480075, "Channel Up", 68719480076, "Color F0 Red", 68719480077, "Color F1 Green", 68719480078, "Color F2 Yellow", 68719480079, "Color F3 Blue", 68719480080, "Color F4 Grey", 68719480081, "Color F5 Brown", 68719480082, "Closed Caption Toggle", 68719480083, "Dimmer", 68719480084, "Display Swap", 68719480085, "Exit", 68719480086, "Favorite Clear 0", 68719480087, "Favorite Clear 1", 68719480088, "Favorite Clear 2", 68719480089, "Favorite Clear 3", 68719480090, "Favorite Recall 0", 68719480091, "Favorite Recall 1", 68719480092, "Favorite Recall 2", 68719480093, "Favorite Recall 3", 68719480094, "Favorite Store 0", 68719480095, "Favorite Store 1", 68719480096, "Favorite Store 2", 68719480097, "Favorite Store 3", 68719480098, "Guide", 68719480099, "Guide Next Day", 68719480100, "Guide Previous Day", 68719480101, "Info", 68719480102, "Instant Replay", 68719480103, "Link", 68719480104, "List Program", 68719480105, "Live Content", 68719480106, "Lock", 68719480107, "Media Apps", 68719480108, "Media Fast Forward", 68719480109, "Media Last", 68719480110, "Media Pause", 68719480111, "Media Play", 68719480112, "Media Record", 68719480113, "Media Rewind", 68719480114, "Media Skip", 68719480115, "Next Favorite Channel", 68719480116, "Next User Profile", 68719480117, "On Demand", 68719480118, "P In P Down", 68719480119, "P In P Move", 68719480120, "P In P Toggle", 68719480121, "P In P Up", 68719480122, "Play Speed Down", 68719480123, "Play Speed Reset", 68719480124, "Play Speed Up", 68719480125, "Random Toggle", 68719480126, "Rc Low Battery", 68719480127, "Record Speed Next", 68719480128, "Rf Bypass", 68719480129, "Scan Channels Toggle", 68719480130, "Screen Mode Next", 68719480131, "Settings", 68719480132, "Split Screen Toggle", 68719480133, "STB Input", 68719480134, "STB Power", 68719480135, "Subtitle", 68719480136, "Teletext", 68719480137, "TV", 68719480138, "TV Input", 68719480139, "TV Power", 68719480140, "Video Mode Next", 68719480141, "Wink", 68719480142, "Zoom Toggle", 68719480143, "DVR", 68719480144, "Media Audio Track", 68719480145, "Media Skip Backward", 68719480146, "Media Skip Forward", 68719480147, "Media Step Backward", 68719480148, "Media Step Forward", 68719480149, "Media Top Menu", 68719480150, "Navigate In", 68719480151, "Navigate Next", 68719480152, "Navigate Out", 68719480153, "Navigate Previous", 68719480154, "Pairing", 68719480155, "Media Close", 68719480322, "Audio Bass Boost Toggle", 68719480324, "Audio Treble Down", 68719480325, "Audio Treble Up", 68719480326, "Microphone Toggle", 68719480327, "Microphone Volume Down", 68719480328, "Microphone Volume Up", 68719480329, "Microphone Volume Mute", 68719480577, "Speech Correction List", 68719480578, "Speech Input Toggle", 68719480833, "App Switch", 68719480834, "Call", 68719480835, "Camera Focus", 68719480836, "End Call", 68719480837, "Go Back", 68719480838, "Go Home", 68719480839, "Headset Hook", 68719480840, "Last Number Redial", 68719480841, "Notification", 68719480842, "Manner Mode", 68719480843, "Voice Dial", 68719481089, "TV 3 D Mode", 68719481090, "TV Antenna Cable", 68719481091, "TV Audio Description", 68719481092, "TV Audio Description Mix Down", 68719481093, "TV Audio Description Mix Up", 68719481094, "TV Contents Menu", 68719481095, "TV Data Service", 68719481096, "TV Input Component 1", 68719481097, "TV Input Component 2", 68719481098, "TV Input Composite 1", 68719481099, "TV Input Composite 2", 68719481100, "TV Input HDMI 1", 68719481101, "TV Input HDMI 2", 68719481102, "TV Input HDMI 3", 68719481103, "TV Input HDMI 4", 68719481104, "TV Input VGA 1", 68719481105, "TV Media Context", 68719481106, "TV Network", 68719481107, "TV Number Entry", 68719481108, "TV Radio Service", 68719481109, "TV Satellite", 68719481110, "TV Satellite BS", 68719481111, "TV Satellite CS", 68719481112, "TV Satellite Toggle", 68719481113, "TV Terrestrial Analog", 68719481114, "TV Terrestrial Digital", 68719481115, "TV Timer", 68719481345, "Key 11", 68719481346, "Key 12", 68719869697, "Game Button 1", 68719869698, "Game Button 2", 68719869699, "Game Button 3", 68719869700, "Game Button 4", 68719869701, "Game Button 5", 68719869702, "Game Button 6", 68719869703, "Game Button 7", 68719869704, "Game Button 8", 68719869705, "Game Button 9", 68719869706, "Game Button 10", 68719869707, "Game Button 11", 68719869708, "Game Button 12", 68719869709, "Game Button 13", 68719869710, "Game Button 14", 68719869711, "Game Button 15", 68719869712, "Game Button 16", 68719869713, "Game Button A", 68719869714, "Game Button B", 68719869715, "Game Button C", 68719869716, "Game Button Left 1", 68719869717, "Game Button Left 2", 68719869718, "Game Button Mode", 68719869719, "Game Button Right 1", 68719869720, "Game Button Right 2", 68719869721, "Game Button Select", 68719869722, "Game Button Start", 68719869723, "Game Button Thumb Left", 68719869724, "Game Button Thumb Right", 68719869725, "Game Button X", 68719869726, "Game Button Y", 68719869727, "Game Button Z", 73014444052, "Suspend", 73014444053, "Resume", 73014509698, "Sleep", 73014902884, "Intl Backslash", 73014902919, "Intl Ro", 73014902921, "Intl Yen", 73014902928, "Lang 1", 73014902929, "Lang 2", 73014902930, "Lang 3", 73014902931, "Lang 4", 73014902932, "Lang 5", 73014902939, "Abort", 3298534883586, "Alt Left", 3298534883589, "Control Left", 3298534883593, "Meta Left", 3298534883597, "Shift Left", 4398046511362, "Alt Right", 4398046511365, "Control Right", 4398046511369, "Meta Right", 4398046511373, "Shift Right", 5497558138893, "Numpad Enter", 5497558138920, "Numpad Paren Left", 5497558138921, "Numpad Paren Right", 5497558138922, "Numpad Multiply", 5497558138923, "Numpad Add", 5497558138924, "Numpad Comma", 5497558138925, "Numpad Subtract", 5497558138926, "Numpad Decimal", 5497558138927, "Numpad Divide", 5497558138928, "Numpad 0", 5497558138929, "Numpad 1", 5497558138930, "Numpad 2", 5497558138931, "Numpad 3", 5497558138932, "Numpad 4", 5497558138933, "Numpad 5", 5497558138934, "Numpad 6", 5497558138935, "Numpad 7", 5497558138936, "Numpad 8", 5497558138937, "Numpad 9", 5497558138941, "Numpad Equal", 2199023255821, "Shift", 2199023255817, "Meta", 2199023255810, "Alt", 2199023255813, "Control"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.TraversalDirection_2 = new U.TraversalDirection(2, "TraversalDirection.down");
    C.DirectionalFocusIntent_TraversalDirection_2 = new U.DirectionalFocusIntent(C.TraversalDirection_2);
    C.TraversalDirection_0 = new U.TraversalDirection(0, "TraversalDirection.up");
    C.DirectionalFocusIntent_TraversalDirection_0 = new U.DirectionalFocusIntent(C.TraversalDirection_0);
    C.Map_SDouN = new H.GeneralConstantMap([C.SingleActivator_gUw7, C.DirectionalFocusIntent_TraversalDirection_2, C.SingleActivator_gUw10, C.DirectionalFocusIntent_TraversalDirection_0], type$.GeneralConstantMap_of_legacy_ShortcutActivator_and_legacy_Intent);
    C.List_T7A = H._setArrayType(makeConstList(["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "Insert", "End", "ArrowDown", "PageDown", "ArrowLeft", "Clear", "ArrowRight", "Home", "ArrowUp", "PageUp", "Delete", "/", "*", "-", "+", "Enter", "Shift", "Control", "Alt", "Meta"]), type$.JSArray_legacy_String);
    C.List_48_null_null_8589934640 = H._setArrayType(makeConstList([48, null, null, 8589934640]), type$.JSArray_nullable_int);
    C.List_49_null_null_8589934641 = H._setArrayType(makeConstList([49, null, null, 8589934641]), type$.JSArray_nullable_int);
    C.List_50_null_null_8589934642 = H._setArrayType(makeConstList([50, null, null, 8589934642]), type$.JSArray_nullable_int);
    C.List_51_null_null_8589934643 = H._setArrayType(makeConstList([51, null, null, 8589934643]), type$.JSArray_nullable_int);
    C.List_52_null_null_8589934644 = H._setArrayType(makeConstList([52, null, null, 8589934644]), type$.JSArray_nullable_int);
    C.List_53_null_null_8589934645 = H._setArrayType(makeConstList([53, null, null, 8589934645]), type$.JSArray_nullable_int);
    C.List_54_null_null_8589934646 = H._setArrayType(makeConstList([54, null, null, 8589934646]), type$.JSArray_nullable_int);
    C.List_55_null_null_8589934647 = H._setArrayType(makeConstList([55, null, null, 8589934647]), type$.JSArray_nullable_int);
    C.List_56_null_null_8589934648 = H._setArrayType(makeConstList([56, null, null, 8589934648]), type$.JSArray_nullable_int);
    C.List_57_null_null_8589934649 = H._setArrayType(makeConstList([57, null, null, 8589934649]), type$.JSArray_nullable_int);
    C.List_46_null_null_8589934638 = H._setArrayType(makeConstList([46, null, null, 8589934638]), type$.JSArray_nullable_int);
    C.List_1031_null_null_8589934640 = H._setArrayType(makeConstList([1031, null, null, 8589934640]), type$.JSArray_nullable_int);
    C.List_773_null_null_8589934641 = H._setArrayType(makeConstList([773, null, null, 8589934641]), type$.JSArray_nullable_int);
    C.List_769_null_null_8589934642 = H._setArrayType(makeConstList([769, null, null, 8589934642]), type$.JSArray_nullable_int);
    C.List_775_null_null_8589934643 = H._setArrayType(makeConstList([775, null, null, 8589934643]), type$.JSArray_nullable_int);
    C.List_770_null_null_8589934644 = H._setArrayType(makeConstList([770, null, null, 8589934644]), type$.JSArray_nullable_int);
    C.List_1025_null_null_8589934645 = H._setArrayType(makeConstList([1025, null, null, 8589934645]), type$.JSArray_nullable_int);
    C.List_771_null_null_8589934646 = H._setArrayType(makeConstList([771, null, null, 8589934646]), type$.JSArray_nullable_int);
    C.List_774_null_null_8589934647 = H._setArrayType(makeConstList([774, null, null, 8589934647]), type$.JSArray_nullable_int);
    C.List_772_null_null_8589934648 = H._setArrayType(makeConstList([772, null, null, 8589934648]), type$.JSArray_nullable_int);
    C.List_776_null_null_8589934649 = H._setArrayType(makeConstList([776, null, null, 8589934649]), type$.JSArray_nullable_int);
    C.List_127_null_null_8589934638 = H._setArrayType(makeConstList([127, null, null, 8589934638]), type$.JSArray_nullable_int);
    C.List_47_null_null_8589934639 = H._setArrayType(makeConstList([47, null, null, 8589934639]), type$.JSArray_nullable_int);
    C.List_42_null_null_8589934634 = H._setArrayType(makeConstList([42, null, null, 8589934634]), type$.JSArray_nullable_int);
    C.List_45_null_null_8589934637 = H._setArrayType(makeConstList([45, null, null, 8589934637]), type$.JSArray_nullable_int);
    C.List_43_null_null_8589934635 = H._setArrayType(makeConstList([43, null, null, 8589934635]), type$.JSArray_nullable_int);
    C.List_13_null_null_8589934605 = H._setArrayType(makeConstList([13, null, null, 8589934605]), type$.JSArray_nullable_int);
    C.List_null_12884902157_17179869453_null = H._setArrayType(makeConstList([null, 12884902157, 17179869453, null]), type$.JSArray_nullable_int);
    C.List_null_12884902149_17179869445_null = H._setArrayType(makeConstList([null, 12884902149, 17179869445, null]), type$.JSArray_nullable_int);
    C.List_null_12884902146_17179869442_null = H._setArrayType(makeConstList([null, 12884902146, 17179869442, null]), type$.JSArray_nullable_int);
    C.List_null_12884902153_17179869449_null = H._setArrayType(makeConstList([null, 12884902153, 17179869449, null]), type$.JSArray_nullable_int);
    C.Map_T7S7Y = new H.ConstantStringMap(31, {"0": C.List_48_null_null_8589934640, "1": C.List_49_null_null_8589934641, "2": C.List_50_null_null_8589934642, "3": C.List_51_null_null_8589934643, "4": C.List_52_null_null_8589934644, "5": C.List_53_null_null_8589934645, "6": C.List_54_null_null_8589934646, "7": C.List_55_null_null_8589934647, "8": C.List_56_null_null_8589934648, "9": C.List_57_null_null_8589934649, ".": C.List_46_null_null_8589934638, Insert: C.List_1031_null_null_8589934640, End: C.List_773_null_null_8589934641, ArrowDown: C.List_769_null_null_8589934642, PageDown: C.List_775_null_null_8589934643, ArrowLeft: C.List_770_null_null_8589934644, Clear: C.List_1025_null_null_8589934645, ArrowRight: C.List_771_null_null_8589934646, Home: C.List_774_null_null_8589934647, ArrowUp: C.List_772_null_null_8589934648, PageUp: C.List_776_null_null_8589934649, Delete: C.List_127_null_null_8589934638, "/": C.List_47_null_null_8589934639, "*": C.List_42_null_null_8589934634, "-": C.List_45_null_null_8589934637, "+": C.List_43_null_null_8589934635, Enter: C.List_13_null_null_8589934605, Shift: C.List_null_12884902157_17179869453_null, Control: C.List_null_12884902149_17179869445_null, Alt: C.List_null_12884902146_17179869442_null, Meta: C.List_null_12884902153_17179869449_null}, C.List_T7A, H.findType("ConstantStringMap<String*,List<int?>*>"));
    C.Map_Ui0 = new H.GeneralConstantMap([3, "0\xa0\u09b9\u09be", 4, "00\xa0\u09b9\u09be", 5, "0\xa0\u09b2\u09be", 6, "00\xa0\u09b2\u09be", 7, "0\xa0\u0995\u09cb", 8, "00\xa0\u0995\u09cb", 9, "000\xa0\u0995\u09cb", 10, "0000\xa0\u0995\u09cb", 11, "00000\xa0\u0995\u09cb", 12, "0\xa0\u09b2\u09be.\u0995\u09cb.", 13, "00\xa0\u09b2\u09be.\u0995\u09cb.", 14, "000\xa0\u09b2\u09be.\u0995\u09cb."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui0F9 = new H.GeneralConstantMap([3, "0\xa0k\xa0\xa4", 4, "00\xa0k\xa0\xa4", 5, "000\xa0k\xa0\xa4", 6, "0\xa0M\xa0\xa4", 7, "00\xa0M\xa0\xa4", 8, "000\xa0M\xa0\xa4", 9, "0\xa0Md\xa0\xa4", 10, "00\xa0Md\xa0\xa4", 11, "000\xa0Md\xa0\xa4", 12, "0\xa0Bn\xa0\xa4", 13, "00\xa0Bn\xa0\xa4", 14, "000\xa0Bn\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui0Ly = new H.GeneralConstantMap([3, "0\xa0\u0442\u044b\u0441.\xa0\xa4", 4, "00\xa0\u0442\u044b\u0441.\xa0\xa4", 5, "000\xa0\u0442\u044b\u0441.\xa0\xa4", 6, "0\xa0\u043c\u043b\u043d\xa0\xa4", 7, "00\xa0\u043c\u043b\u043d\xa0\xa4", 8, "000\xa0\u043c\u043b\u043d\xa0\xa4", 9, "0\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 10, "00\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 11, "000\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 12, "0\xa0\u0442\u0440\u043b\u043d\xa0\xa4", 13, "00\xa0\u0442\u0440\u043b\u043d\xa0\xa4", 14, "000\xa0\u0442\u0440\u043b\u043d\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui0bs = new H.GeneralConstantMap([3, "0 t\u016bksto\u0161i", 4, "00 t\u016bksto\u0161i", 5, "000 t\u016bksto\u0161i", 6, "0 miljoni", 7, "00 miljoni", 8, "000 miljoni", 9, "0 miljardi", 10, "00 miljardi", 11, "000 miljardi", 12, "0 triljoni", 13, "00 triljoni", 14, "000 triljoni"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui1Oj = new H.GeneralConstantMap([3, "0 \u0445\u0438\u0459\u0430\u0434\u0430", 4, "00 \u0445\u0438\u0459\u0430\u0434\u0430", 5, "000 \u0445\u0438\u0459\u0430\u0434\u0430", 6, "0 \u043c\u0438\u043b\u0438\u043e\u043d\u0430", 7, "00 \u043c\u0438\u043b\u0438\u043e\u043d\u0430", 8, "000 \u043c\u0438\u043b\u0438\u043e\u043d\u0430", 9, "0 \u043c\u0438\u043b\u0438\u0458\u0430\u0440\u0434\u0438", 10, "00 \u043c\u0438\u043b\u0438\u0458\u0430\u0440\u0434\u0438", 11, "000 \u043c\u0438\u043b\u0438\u0458\u0430\u0440\u0434\u0438", 12, "0 \u0431\u0438\u043b\u0438\u043e\u043d\u0430", 13, "00 \u0431\u0438\u043b\u0438\u043e\u043d\u0430", 14, "000 \u0431\u0438\u043b\u0438\u043e\u043d\u0430"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui1mN = new H.GeneralConstantMap([3, "0\xa0Tsg.", 4, "00\xa0Tsg.", 5, "000\xa0Tsg.", 6, "0\xa0Mio.", 7, "00\xa0Mio.", 8, "000\xa0Mio.", 9, "0\xa0Mrd.", 10, "00\xa0Mrd.", 11, "000\xa0Mrd.", 12, "0\xa0Bio.", 13, "00\xa0Bio.", 14, "000\xa0Bio."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui1rA = new H.GeneralConstantMap([3, "0 \u0445\u0438\u043b\u044f\u0434\u0438", 4, "00 \u0445\u0438\u043b\u044f\u0434\u0438", 5, "000 \u0445\u0438\u043b\u044f\u0434\u0438", 6, "0 \u043c\u0438\u043b\u0438\u043e\u043d\u0430", 7, "00 \u043c\u0438\u043b\u0438\u043e\u043d\u0430", 8, "000 \u043c\u0438\u043b\u0438\u043e\u043d\u0430", 9, "0 \u043c\u0438\u043b\u0438\u0430\u0440\u0434\u0430", 10, "00 \u043c\u0438\u043b\u0438\u0430\u0440\u0434\u0430", 11, "000 \u043c\u0438\u043b\u0438\u0430\u0440\u0434\u0430", 12, "0 \u0442\u0440\u0438\u043b\u0438\u043e\u043d\u0430", 13, "00 \u0442\u0440\u0438\u043b\u0438\u043e\u043d\u0430", 14, "000 \u0442\u0440\u0438\u043b\u0438\u043e\u043d\u0430"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui23B = new H.GeneralConstantMap([3, "0000\xa4", 4, "00\xa0tis.\xa0\xa4", 5, "000\xa0tis.\xa0\xa4", 6, "0\xa0mil.\xa0\xa4", 7, "00\xa0mil.\xa0\xa4", 8, "000\xa0mil.\xa0\xa4", 9, "0\xa0mlr.\xa0\xa4", 10, "00\xa0mlr.\xa0\xa4", 11, "000\xa0mlr.\xa0\xa4", 12, "0\xa0bil.\xa0\xa4", 13, "00\xa0bil.\xa0\xa4", 14, "000\xa0bil.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui27p = new H.GeneralConstantMap([3, "0 mil", 4, "00 mil", 5, "000 mil", 6, "0 milh\xf5es", 7, "00 milh\xf5es", 8, "000 milh\xf5es", 9, "0 bilh\xf5es", 10, "00 bilh\xf5es", 11, "000 bilh\xf5es", 12, "0 trilh\xf5es", 13, "00 trilh\xf5es", 14, "000 trilh\xf5es"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui2No = new H.GeneralConstantMap([3, "0\xa0\u043c\u0438\u04a3\xa0\xa4", 4, "00\xa0\u043c\u0438\u04a3\xa0\xa4", 5, "000\xa0\u043c\u0438\u04a3\xa0\xa4", 6, "0\xa0\u043c\u043b\u043d\xa0\xa4", 7, "00\xa0\u043c\u043b\u043d\xa0\xa4", 8, "000\xa0\u043c\u043b\u043d\xa0\xa4", 9, "0\xa0\u043c\u043b\u0434\xa0\xa4", 10, "00\xa0\u043c\u043b\u0434\xa0\xa4", 11, "000\xa0\u043c\u043b\u0434\xa0\xa4", 12, "0\xa0\u0442\u0440\u043b\u043d\xa0\xa4", 13, "00\xa0\u0442\u0440\u043b\u043d\xa0\xa4", 14, "000\xa0\u0442\u0440\u043b\u043d\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui2Rm = new H.GeneralConstantMap([3, "0 Tuusig", 4, "00 Tuusig", 5, "000 Tuusig", 6, "0 Millioone", 7, "00 Millioone", 8, "000 Millioone", 9, "0 Milliarde", 10, "00 Milliarde", 11, "000 Milliarde", 12, "0 Billioone", 13, "00 Billioone", 14, "000 Billioone"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui2iX = new H.GeneralConstantMap([3, "0 \u0570\u0561\u0566\u0561\u0580", 4, "00 \u0570\u0561\u0566\u0561\u0580", 5, "000 \u0570\u0561\u0566\u0561\u0580", 6, "0 \u0574\u056b\u056c\u056b\u0578\u0576", 7, "00 \u0574\u056b\u056c\u056b\u0578\u0576", 8, "000 \u0574\u056b\u056c\u056b\u0578\u0576", 9, "0 \u0574\u056b\u056c\u056b\u0561\u0580\u0564", 10, "00 \u0574\u056b\u056c\u056b\u0561\u0580\u0564", 11, "000 \u0574\u056b\u056c\u056b\u0561\u0580\u0564", 12, "0 \u057f\u0580\u056b\u056c\u056b\u0578\u0576", 13, "00 \u057f\u0580\u056b\u056c\u056b\u0578\u0576", 14, "000 \u057f\u0580\u056b\u056c\u056b\u0578\u0576"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui2lz = new H.GeneralConstantMap([3, "0\xa0\u0ab9\u0a9c\u0abe\u0ab0", 4, "00\xa0\u0ab9\u0a9c\u0abe\u0ab0", 5, "0\xa0\u0ab2\u0abe\u0a96", 6, "00\xa0\u0ab2\u0abe\u0a96", 7, "0\xa0\u0a95\u0ab0\u0acb\u0aa1", 8, "00\xa0\u0a95\u0ab0\u0acb\u0aa1", 9, "0\xa0\u0a85\u0aac\u0a9c", 10, "00\xa0\u0a85\u0aac\u0a9c", 11, "0\xa0\u0aa8\u0abf\u0a96\u0ab0\u0acd\u0ab5", 12, "0\xa0\u0aae\u0ab9\u0abe\u0aaa\u0aa6\u0acd\u0aae", 13, "0\xa0\u0ab6\u0a82\u0a95\u0ac1", 14, "0\xa0\u0a9c\u0ab2\u0aa7\u0abf"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui3EQ = new H.GeneralConstantMap([3, "0\xa0hilj.", 4, "00\xa0hilj.", 5, "000\xa0hilj.", 6, "0\xa0mil.", 7, "00\xa0mil.", 8, "000\xa0mil.", 9, "0\xa0mlrd.", 10, "00\xa0mlrd.", 11, "000\xa0mlrd.", 12, "0\xa0bil.", 13, "00\xa0bil.", 14, "000\xa0bil."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui46c = new H.GeneralConstantMap([3, "0000", 4, "00000", 5, "000000", 6, "0 milioi", 7, "00 milioi", 8, "000 milioi", 9, "0000 milioi", 10, "00000 milioi", 11, "000000 milioi", 12, "0 bilioi", 13, "00 bilioi", 14, "000 bilioi"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui4CA = new H.GeneralConstantMap([3, "\xa4\xa00\u0b86", 4, "\xa4\xa000\u0b86", 5, "\xa4\xa0000\u0b86", 6, "\xa4\xa00\u0bae\u0bbf", 7, "\xa4\xa000\u0bae\u0bbf", 8, "\xa4\xa0000\u0bae\u0bbf", 9, "\xa40\u0baa\u0bbf", 10, "\xa4\xa000\u0baa\u0bbf", 11, "\xa4000\u0baa\u0bbf", 12, "\xa4\xa00\u0b9f\u0bbf", 13, "\xa4\xa000\u0b9f\u0bbf", 14, "\xa4\xa0000\u0b9f\u0bbf"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui4YB = new H.GeneralConstantMap([3, "0 mila", 4, "00 mila", 5, "000 mila", 6, "0 milioni", 7, "00 milioni", 8, "000 milioni", 9, "0 miliardi", 10, "00 miliardi", 11, "000 miliardi", 12, "0 mila miliardi", 13, "00 mila miliardi", 14, "000 mila miliardi"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui4xZ = new H.GeneralConstantMap([3, "0\xa0\u06c1\u0632\u0627\u0631", 4, "00\xa0\u06c1\u0632\u0627\u0631", 5, "0\xa0\u0644\u0627\u06a9\u06be", 6, "00\xa0\u0644\u0627\u06a9\u06be", 7, "0\xa0\u06a9\u0631\u0648\u0691", 8, "00\xa0\u06a9\u0631\u0648\u0691", 9, "0\xa0\u0627\u0631\u0628", 10, "00\xa0\u0627\u0631\u0628", 11, "0\xa0\u06a9\u06be\u0631\u0628", 12, "00\xa0\u06a9\u06be\u0631\u0628", 13, "00\xa0\u0679\u0631\u06cc\u0644\u06cc\u0646", 14, "000\xa0\u0679\u0631\u06cc\u0644\u06cc\u0646"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui5uo = new H.GeneralConstantMap([3, "0\xa0mij\xeb\xa0\xa4", 4, "00\xa0mij\xeb\xa0\xa4", 5, "000\xa0mij\xeb\xa0\xa4", 6, "0\xa0mln\xa0\xa4", 7, "00\xa0mln\xa0\xa4", 8, "000\xa0mln\xa0\xa4", 9, "0\xa0mld\xa0\xa4", 10, "00\xa0mld\xa0\xa4", 11, "000\xa0mld\xa0\xa4", 12, "0\xa0bln\xa0\xa4", 13, "00\xa0bln\xa0\xa4", 14, "000\xa0bln\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui6fP = new H.GeneralConstantMap([3, "\xa40K", 4, "\xa400K", 5, "\xa4000K", 6, "\xa40J", 7, "\xa400J", 8, "\xa4000J", 9, "\xa40B", 10, "\xa400B", 11, "\xa4000B", 12, "\xa40T", 13, "\xa400T", 14, "\xa4000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui6ha = new H.GeneralConstantMap([3, "0\xa0mil\xa0\xa4", 4, "00\xa0mil\xa0\xa4", 5, "000\xa0mil\xa0\xa4", 6, "0\xa0M\xa0\xa4", 7, "00\xa0M\xa0\xa4", 8, "000\xa0M\xa0\xa4", 9, "0\xa0mM\xa0\xa4", 10, "00\xa0mM\xa0\xa4", 11, "000\xa0mM\xa0\xa4", 12, "0\xa0B\xa0\xa4", 13, "00\xa0B\xa0\xa4", 14, "000\xa0B\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui7L8 = new H.GeneralConstantMap([3, "\xa40\xa0k", 4, "\xa400\xa0k", 5, "\xa4000\xa0k", 6, "\xa40\xa0m", 7, "\xa400\xa0m", 8, "\xa4000\xa0m", 9, "\xa40\xa0mjd", 10, "\xa400\xa0mjd", 11, "\xa4000\xa0mjd", 12, "\xa40\xa0bn", 13, "\xa400\xa0bn", 14, "\xa4000\xa0bn"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui86V = new H.GeneralConstantMap([3, "0\xa0rb", 4, "00\xa0rb", 5, "000\xa0rb", 6, "0\xa0jt", 7, "00\xa0jt", 8, "000\xa0jt", 9, "0\xa0M", 10, "00\xa0M", 11, "000\xa0M", 12, "0\xa0T", 13, "00\xa0T", 14, "000\xa0T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui8CO = new H.GeneralConstantMap([3, "0\xa0\u10d0\u10d7.", 4, "00\xa0\u10d0\u10d7.", 5, "000\xa0\u10d0\u10d7.", 6, "0\xa0\u10db\u10da\u10dc.", 7, "00\xa0\u10db\u10da\u10dc.", 8, "000\xa0\u10db\u10da\u10dc.", 9, "0\xa0\u10db\u10da\u10e0\u10d3.", 10, "00\xa0\u10db\u10da\u10e0\u10d3.", 11, "000\xa0\u10db\u10da\u10e0.", 12, "0\xa0\u10e2\u10e0\u10da.", 13, "00\xa0\u10e2\u10e0\u10da.", 14, "000\xa0\u10e2\u10e0\u10da."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui8CP = new H.GeneralConstantMap([3, "\xa40\xa0rb", 4, "\xa400\xa0rb", 5, "\xa4000\xa0rb", 6, "\xa40\xa0jt", 7, "\xa400\xa0jt", 8, "\xa4000\xa0jt", 9, "\xa40\xa0M", 10, "\xa400\xa0M", 11, "\xa4000\xa0M", 12, "\xa40\xa0T", 13, "\xa400\xa0T", 14, "\xa4000\xa0T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui8Gl = new H.GeneralConstantMap([3, "0\xa0t\u016bkst.\xa0\xa4", 4, "00\xa0t\u016bkst.\xa0\xa4", 5, "000\xa0t\u016bkst.\xa0\xa4", 6, "0\xa0mln.\xa0\xa4", 7, "00\xa0mln.\xa0\xa4", 8, "000\xa0mln.\xa0\xa4", 9, "0\xa0mlrd.\xa0\xa4", 10, "00\xa0mlrd.\xa0\xa4", 11, "000\xa0mlrd.\xa0\xa4", 12, "0\xa0trln.\xa0\xa4", 13, "00\xa0trln.\xa0\xa4", 14, "000\xa0trln.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui8aB = new H.GeneralConstantMap([3, "0 duisend", 4, "00 duisend", 5, "000 duisend", 6, "0 miljoen", 7, "00 miljoen", 8, "000 miljoen", 9, "0 miljard", 10, "00 miljard", 11, "000 miljard", 12, "0 biljoen", 13, "00 biljoen", 14, "000 biljoen"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui8cl = new H.GeneralConstantMap([3, "0", 4, "0", 5, "0", 6, "0\xa0Mio.\xa0\xa4", 7, "00\xa0Mio.\xa0\xa4", 8, "000\xa0Mio.\xa0\xa4", 9, "0\xa0Mrd.\xa0\xa4", 10, "00\xa0Mrd.\xa0\xa4", 11, "000\xa0Mrd.\xa0\xa4", 12, "0\xa0Bio.\xa0\xa4", 13, "00\xa0Bio.\xa0\xa4", 14, "000\xa0Bio.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui8co = new H.GeneralConstantMap([3, "elfu 0;elfu -0", 4, "elfu 00;elfu -00", 5, "elfu 000;elfu -000", 6, "milioni 0;milioni -0", 7, "milioni 00;milioni -00", 8, "milioni 000;milioni -000", 9, "bilioni 0;bilioni -0", 10, "bilioni 00;bilioni -00", 11, "bilioni 000;bilioni -000", 12, "trilioni 0;trilioni -0", 13, "trilioni 00;trilioni -00", 14, "trilioni 000;trilioni -000"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui8qt = new H.GeneralConstantMap([3, "0 Tausend", 4, "00 Tausend", 5, "000 Tausend", 6, "0 Millionen", 7, "00 Millionen", 8, "000 Millionen", 9, "0 Milliarden", 10, "00 Milliarden", 11, "000 Milliarden", 12, "0 Billionen", 13, "00 Billionen", 14, "000 Billionen"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Ui8tD = new H.GeneralConstantMap([3, "0", 4, "\xa40\u4e07", 5, "\xa400\u4e07", 6, "\xa4000\u4e07", 7, "\xa40000\u4e07", 8, "\xa40\u4ebf", 9, "\xa400\u4ebf", 10, "\xa4000\u4ebf", 11, "\xa40000\u4ebf", 12, "\xa40\u5146", 13, "\xa400\u5146", 14, "\xa4000\u5146"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiA4L = new H.GeneralConstantMap([3, "0K", 4, "00K", 5, "000K", 6, "0M", 7, "00M", 8, "000M", 9, "0G", 10, "00G", 11, "000G", 12, "0T", 13, "00T", 14, "000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiA9i = new H.GeneralConstantMap([3, "\xa40k", 4, "\xa400k", 5, "\xa4000k", 6, "\xa40M", 7, "\xa400M", 8, "\xa4000M", 9, "\xa40B", 10, "\xa400B", 11, "\xa4000B", 12, "\xa40T", 13, "\xa400T", 14, "\xa4000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiACG = new H.GeneralConstantMap([3, "\xa40\u0cb8\u0cbe", 4, "\xa400\u0cb8\u0cbe", 5, "\xa4000\u0cb8\u0cbe", 6, "\xa40\u0cae\u0cbf", 7, "\xa400\u0cae\u0cbf", 8, "\xa4000\u0cae\u0cbf", 9, "\xa40\u0cac\u0cbf", 10, "\xa400\u0cac\u0cbf", 11, "\xa4000\u0cac\u0cbf", 12, "\xa40\u0c9f\u0ccd\u0cb0\u0cbf", 13, "\xa400\u0c9f\u0ccd\u0cb0\u0cbf", 14, "\xa4000\u0c9f\u0ccd\u0cb0\u0cbf"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAHF = new H.GeneralConstantMap([3, "0k", 4, "00k", 5, "000k", 6, "0\xa0mill.", 7, "00\xa0mill.", 8, "000\xa0mill.", 9, "0\xa0mrd.", 10, "00\xa0mrd.", 11, "000\xa0mrd.", 12, "0\xa0bill.", 13, "00\xa0bill.", 14, "000\xa0bill."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAHJ = new H.GeneralConstantMap([3, "0\xa0tn\xa0\xa4", 4, "00\xa0tn\xa0\xa4", 5, "000\xa0tn\xa0\xa4", 6, "0\xa0mn\xa0\xa4", 7, "00\xa0mn\xa0\xa4", 8, "000\xa0mn\xa0\xa4", 9, "0\xa0md\xa0\xa4", 10, "00\xa0md\xa0\xa4", 11, "000\xa0md\xa0\xa4", 12, "0\xa0bn\xa0\xa4", 13, "00\xa0bn\xa0\xa4", 14, "000\xa0bn\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAKW = new H.GeneralConstantMap([3, "0 \u0939\u091c\u093e\u0930", 4, "00 \u0939\u091c\u093e\u0930", 5, "0 \u0932\u093e\u0916", 6, "0 \u0915\u0930\u094b\u0921", 7, "00 \u0915\u0930\u094b\u0921", 8, "000 \u0915\u0930\u094b\u0921", 9, "0 \u0905\u0930\u092c", 10, "00 \u0905\u0930\u092c", 11, "000 \u0905\u0930\u092c", 12, "00 \u0916\u0930\u092c", 13, "0 \u0936\u0902\u0916", 14, "00 \u0936\u0902\u0916"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAYZ = new H.GeneralConstantMap([3, "0 mij\xeb", 4, "00 mij\xeb", 5, "000 mij\xeb", 6, "0 milion", 7, "00 milion", 8, "000 milion", 9, "0 miliard", 10, "00 miliard", 11, "000 miliard", 12, "0 bilion", 13, "00 bilion", 14, "000 bilion"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAZ8 = new H.GeneralConstantMap([3, "0\xa0\u0442\u0438\u0441.", 4, "00\xa0\u0442\u0438\u0441.", 5, "000\xa0\u0442\u0438\u0441.", 6, "0\xa0\u043c\u043b\u043d", 7, "00\xa0\u043c\u043b\u043d", 8, "000\xa0\u043c\u043b\u043d", 9, "0\xa0\u043c\u043b\u0440\u0434", 10, "00\xa0\u043c\u043b\u0440\u0434", 11, "000\xa0\u043c\u043b\u0440\u0434", 12, "0\xa0\u0442\u0440\u043b\u043d", 13, "00\xa0\u0442\u0440\u043b\u043d", 14, "000\xa0\u0442\u0440\u043b\u043d"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAec = new H.GeneralConstantMap([3, "0\xa0tis.\xa0\xa4", 4, "00\xa0tis.\xa0\xa4", 5, "000\xa0tis.\xa0\xa4", 6, "0\xa0mio.\xa0\xa4", 7, "00\xa0mio.\xa0\xa4", 8, "000\xa0mio.\xa0\xa4", 9, "0\xa0mrd.\xa0\xa4", 10, "00\xa0mrd.\xa0\xa4", 11, "000\xa0mrd.\xa0\xa4", 12, "0\xa0bil.\xa0\xa4", 13, "00\xa0bil.\xa0\xa4", 14, "000\xa0bil.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAeg = new H.GeneralConstantMap([3, "0\u0b86", 4, "00\u0b86", 5, "000\u0b86", 6, "0\u0bae\u0bbf", 7, "00\u0bae\u0bbf", 8, "000\u0bae\u0bbf", 9, "0\u0baa\u0bbf", 10, "00\u0baa\u0bbf", 11, "000\u0baa\u0bbf", 12, "0\u0b9f\u0bbf", 13, "00\u0b9f\u0bbf", 14, "000\u0b9f\u0bbf"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAgZ = new H.GeneralConstantMap([3, "0\xa0ming\xa0\xa4", 4, "00\xa0ming\xa0\xa4", 5, "000\xa0ming\xa0\xa4", 6, "0\xa0mln\xa0\xa4", 7, "00\xa0mln\xa0\xa4", 8, "000\xa0mln\xa0\xa4", 9, "0\xa0mlrd\xa0\xa4", 10, "00\xa0mlrd\xa0\xa4", 11, "000\xa0mlrd\xa0\xa4", 12, "0\xa0trln\xa0\xa4", 13, "00\xa0trln\xa0\xa4", 14, "000\xa0trln\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAiQ = new H.GeneralConstantMap([3, "0 \u0b39\u0b1c\u0b3e\u0b30", 4, "00 \u0b39\u0b1c\u0b3e\u0b30", 5, "000 \u0b39\u0b1c\u0b3e\u0b30", 6, "0 \u0b28\u0b3f\u0b5f\u0b41\u0b24", 7, "00 \u0b28\u0b3f\u0b5f\u0b41\u0b24", 8, "000 \u0b28\u0b3f\u0b5f\u0b41\u0b24", 9, "0 \u0b36\u0b39\u0b15\u0b4b\u0b1f\u0b3f", 10, "00 \u0b36\u0b39\u0b15\u0b4b\u0b1f\u0b3f", 11, "000 \u0b36\u0b39\u0b15\u0b4b\u0b1f\u0b3f", 12, "0 \u0b32\u0b15\u0b4d\u0b37\u0b15\u0b4b\u0b1f\u0b3f", 13, "00 \u0b32\u0b15\u0b4d\u0b37\u0b15\u0b4b\u0b1f\u0b3f", 14, "000 \u0b32\u0b15\u0b4d\u0b37\u0b15\u0b4b\u0b1f\u0b3f"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAmv = new H.GeneralConstantMap([3, "0\xa0\u0623\u0644\u0641", 4, "00\xa0\u0623\u0644\u0641", 5, "000\xa0\u0623\u0644\u0641", 6, "0\xa0\u0645\u0644\u064a\u0648\u0646", 7, "00\xa0\u0645\u0644\u064a\u0648\u0646", 8, "000\xa0\u0645\u0644\u064a\u0648\u0646", 9, "0\xa0\u0645\u0644\u064a\u0627\u0631", 10, "00\xa0\u0645\u0644\u064a\u0627\u0631", 11, "000\xa0\u0645\u0644\u064a\u0627\u0631", 12, "0\xa0\u062a\u0631\u0644\u064a\u0648\u0646", 13, "00\xa0\u062a\u0631\u0644\u064a\u0648\u0646", 14, "000\xa0\u062a\u0631\u0644\u064a\u0648\u0646"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiAqW = new H.GeneralConstantMap([3, "0\xa0B\xa0\xa4", 4, "00\xa0B\xa0\xa4", 5, "000\xa0B\xa0\xa4", 6, "0\xa0Mn\xa0\xa4", 7, "00\xa0Mn\xa0\xa4", 8, "000\xa0Mn\xa0\xa4", 9, "0\xa0Mr\xa0\xa4", 10, "00\xa0Mr\xa0\xa4", 11, "000\xa0Mr\xa0\xa4", 12, "0\xa0Tn\xa0\xa4", 13, "00\xa0Tn\xa0\xa4", 14, "000\xa0Tn\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiB3r = new H.GeneralConstantMap([3, "0 \u0cb8\u0cbe\u0cb5\u0cbf\u0cb0", 4, "00 \u0cb8\u0cbe\u0cb5\u0cbf\u0cb0", 5, "000 \u0cb8\u0cbe\u0cb5\u0cbf\u0cb0", 6, "0 \u0cae\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd", 7, "00 \u0cae\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd", 8, "000 \u0cae\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd", 9, "0 \u0cac\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd", 10, "00 \u0cac\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd", 11, "000 \u0cac\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd", 12, "0 \u0c9f\u0ccd\u0cb0\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd\u200c", 13, "00 \u0c9f\u0ccd\u0cb0\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd\u200c", 14, "000 \u0c9f\u0ccd\u0cb0\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd\u200c"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiBAr = new H.GeneralConstantMap([3, "0\xa0\u09b9\u09be\xa4", 4, "00\xa0\u09b9\u09be\xa4", 5, "0\xa0\u09b2\u09be\xa4", 6, "00\xa0\u09b2\u09be\xa4", 7, "0\xa0\u0995\u09cb\xa4", 8, "00\xa0\u0995\u09cb\xa4", 9, "000\xa0\u0995\u09cb\xa4", 10, "0000\xa0\u0995\u09cb\xa4", 11, "00000\xa0\u0995\u09cb\xa4", 12, "0\xa0\u09b2\u09be.\u0995\u09cb.\xa4", 13, "00\xa0\u09b2\u09be.\u0995\u09cb.\xa4", 14, "000\xa0\u09b2\u09be.\u0995\u09cb.\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiBKg = new H.GeneralConstantMap([3, "0 \u0ab9\u0a9c\u0abe\u0ab0", 4, "00 \u0ab9\u0a9c\u0abe\u0ab0", 5, "0 \u0ab2\u0abe\u0a96", 6, "00 \u0ab2\u0abe\u0a96", 7, "0 \u0a95\u0ab0\u0acb\u0aa1", 8, "00 \u0a95\u0ab0\u0acb\u0aa1", 9, "0 \u0a85\u0aac\u0a9c", 10, "00 \u0a85\u0aac\u0a9c", 11, "0 \u0aa8\u0abf\u0a96\u0ab0\u0acd\u0ab5", 12, "0 \u0aae\u0ab9\u0abe\u0aaa\u0aa6\u0acd\u0aae", 13, "0 \u0ab6\u0a82\u0a95\u0ac1", 14, "0 \u0a9c\u0ab2\u0aa7\u0abf"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiBYh = new H.GeneralConstantMap([3, "0 thousand", 4, "00 thousand", 5, "000 thousand", 6, "0 million", 7, "00 million", 8, "000 million", 9, "0 billion", 10, "00 billion", 11, "000 billion", 12, "0 trillion", 13, "00 trillion", 14, "000 trillion"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiC9d = new H.GeneralConstantMap([3, "0 min", 4, "00 min", 5, "000 min", 6, "0 milyon", 7, "00 milyon", 8, "000 milyon", 9, "0 milyard", 10, "00 milyard", 11, "000 milyard", 12, "0 trilyon", 13, "00 trilyon", 14, "000 trilyon"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiCBZ = new H.GeneralConstantMap([3, "\xa40\xa0\u1796\u17b6\u1793\u17cb", 4, "\xa400\xa0\u1796\u17b6\u1793\u17cb", 5, "\xa4000\xa0\u1796\u17b6\u1793\u17cb", 6, "\xa40\xa0\u179b\u17b6\u1793", 7, "\xa400\xa0\u179b\u17b6\u1793", 8, "\xa4000\xa0\u179b\u17b6\u1793", 9, "\xa40\xa0\u1794\u17ca\u17b8\u179b\u17b6\u1793", 10, "\xa400\xa0\u1794\u17ca\u17b8\u179b\u17b6\u1793", 11, "\xa4000\xa0\u1794\u17ca\u17b8\u179b\u17b6\u1793", 12, "\xa40\xa0\u1791\u17d2\u179a\u17b8\u179b\u17b6\u1793", 13, "\xa400\xa0\u1791\u17d2\u179a\u17b8\u179b\u17b6\u1793", 14, "\xa4000\xa0\u1791\u17d2\u179a\u17b8\u179b\u17b6\u1793"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiCdE = new H.GeneralConstantMap([3, "0\xa0t\xa0\xa4", 4, "00\xa0t\xa0\xa4", 5, "000\xa0t\xa0\xa4", 6, "0\xa0mio.\xa0\xa4", 7, "00\xa0mio.\xa0\xa4", 8, "000\xa0mio.\xa0\xa4", 9, "0\xa0mia.\xa0\xa4", 10, "00\xa0mia.\xa0\xa4", 11, "000\xa0mia.\xa0\xa4", 12, "0\xa0bio.\xa0\xa4", 13, "00\xa0bio.\xa0\xa4", 14, "000\xa0bio.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiCpT = new H.GeneralConstantMap([3, "0\xa0k", 4, "00\xa0k", 5, "000\xa0k", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0\xa0Md", 10, "00\xa0Md", 11, "000\xa0Md", 12, "0\xa0Bn", 13, "00\xa0Bn", 14, "000\xa0Bn"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiCyS = new H.GeneralConstantMap([3, "0\xa0k", 4, "00\xa0k", 5, "000\xa0k", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0\xa0G", 10, "00\xa0G", 11, "000\xa0G", 12, "0\xa0T", 13, "00\xa0T", 14, "000\xa0T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiDV7 = new H.GeneralConstantMap([3, "\xa40\ucc9c", 4, "\xa40\ub9cc", 5, "\xa400\ub9cc", 6, "\xa4000\ub9cc", 7, "\xa40000\ub9cc", 8, "\xa40\uc5b5", 9, "\xa400\uc5b5", 10, "\xa4000\uc5b5", 11, "\xa40000\uc5b5", 12, "\xa40\uc870", 13, "\xa400\uc870", 14, "\xa4000\uc870"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiDfi = new H.GeneralConstantMap([3, "0 \u0442\u044b\u0441\u044f\u0447\u044b", 4, "00 \u0442\u044b\u0441\u044f\u0447\u044b", 5, "000 \u0442\u044b\u0441\u044f\u0447\u044b", 6, "0 \u043c\u0456\u043b\u044c\u0451\u043d\u0430", 7, "00 \u043c\u0456\u043b\u044c\u0451\u043d\u0430", 8, "000 \u043c\u0456\u043b\u044c\u0451\u043d\u0430", 9, "0 \u043c\u0456\u043b\u044c\u044f\u0440\u0434\u0430", 10, "00 \u043c\u0456\u043b\u044c\u044f\u0440\u0434\u0430", 11, "000 \u043c\u0456\u043b\u044c\u044f\u0440\u0434\u0430", 12, "0 \u0442\u0440\u044b\u043b\u044c\u0451\u043d\u0430", 13, "00 \u0442\u0440\u044b\u043b\u044c\u0451\u043d\u0430", 14, "000 \u0442\u0440\u044b\u043b\u044c\u0451\u043d\u0430"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiDxz = new H.GeneralConstantMap([3, "\xa4\xa00K", 4, "\xa4\xa000K", 5, "\xa4\xa0000K", 6, "\xa4\xa00\xa0mln.", 7, "\xa4\xa000\xa0mln.", 8, "\xa4\xa0000\xa0mln.", 9, "\xa4\xa00\xa0mld.", 10, "\xa4\xa000\xa0mld.", 11, "\xa4\xa0000\xa0mld.", 12, "\xa4\xa00\xa0bln.", 13, "\xa4\xa000\xa0bln.", 14, "\xa4\xa0000\xa0bln."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiDyS = new H.GeneralConstantMap([3, "\xa4\xa00\xa0\u043c\u044f\u043d\u0433\u0430", 4, "\xa4\xa000\xa0\u043c\u044f\u043d\u0433\u0430", 5, "\xa4000\xa0\u043c\u044f\u043d\u0433\u0430", 6, "\xa40\xa0\u0441\u0430\u044f", 7, "\xa400\xa0\u0441\u0430\u044f", 8, "\xa4000\xa0\u0441\u0430\u044f", 9, "\xa40\xa0\u0442\u044d\u0440\u0431\u0443\u043c", 10, "\xa4\xa000\xa0\u0442\u044d\u0440\u0431\u0443\u043c", 11, "\xa4\xa0000\xa0\u0442\u044d\u0440\u0431\u0443\u043c", 12, "\xa4\xa00\xa0\u0438\u0445\xa0\u043d\u0430\u044f\u0434", 13, "\xa4\xa000\xa0\u0438\u0445\xa0\u043d\u0430\u044f\u0434", 14, "\xa4\xa0000\xa0\u0438\u0445\xa0\u043d\u0430\u044f\u0434"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiEFX = new H.GeneralConstantMap([3, "0\xa0t.\xa0\xa4", 4, "00\xa0t.\xa0\xa4", 5, "000\xa0t.\xa0\xa4", 6, "0\xa0milj.\xa0\xa4", 7, "00\xa0milj.\xa0\xa4", 8, "000\xa0milj.\xa0\xa4", 9, "0\xa0mrd.\xa0\xa4", 10, "00\xa0mrd.\xa0\xa4", 11, "000\xa0mrd.\xa0\xa4", 12, "0\xa0bilj.\xa0\xa4", 13, "00\xa0bilj.\xa0\xa4", 14, "000\xa0bilj.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiEGl = new H.GeneralConstantMap([3, "0\xa0t", 4, "00\xa0t", 5, "000\xa0t", 6, "0\xa0mio.", 7, "00\xa0mio.", 8, "000\xa0mio.", 9, "0\xa0mia.", 10, "00\xa0mia.", 11, "000\xa0mia.", 12, "0\xa0bio.", 13, "00\xa0bio.", 14, "000\xa0bio."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiFKj = new H.GeneralConstantMap([3, "0\ucc9c", 4, "0\ub9cc", 5, "00\ub9cc", 6, "000\ub9cc", 7, "0000\ub9cc", 8, "0\uc5b5", 9, "00\uc5b5", 10, "000\uc5b5", 11, "0000\uc5b5", 12, "0\uc870", 13, "00\uc870", 14, "000\uc870"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiG79 = new H.GeneralConstantMap([3, "0 miliad", 4, "00 miliad", 5, "000 miliad", 6, "0 milion", 7, "00 milion", 8, "000 milion", 9, "0 miliard", 10, "00 miliard", 11, "000 miliard", 12, "0 bilion", 13, "00 bilion", 14, "000 bilion"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiG790 = new H.GeneralConstantMap([3, "0\xa0\u0939\u091c\u093c\u093e\u0930", 4, "00\xa0\u0939\u091c\u093c\u093e\u0930", 5, "0\xa0\u0932\u093e\u0916", 6, "00\xa0\u0932\u093e\u0916", 7, "0\xa0\u0915\u0970", 8, "00\xa0\u0915\u0970", 9, "0\xa0\u0905\u0970", 10, "00\xa0\u0905\u0970", 11, "0\xa0\u0916\u0970", 12, "00\xa0\u0916\u0970", 13, "0\xa0\u0928\u0940\u0932", 14, "00\xa0\u0928\u0940\u0932"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiGVQ = new H.GeneralConstantMap([3, "\xa4\xa00\xa0\u0623\u0644\u0641", 4, "\xa4\xa000\xa0\u0623\u0644\u0641", 5, "\xa4\xa0000\xa0\u0623\u0644\u0641", 6, "\xa4\xa00\xa0\u0645\u0644\u064a\u0648\u0646", 7, "\xa4\xa000\xa0\u0645\u0644\u064a\u0648\u0646", 8, "\xa4\xa0000\xa0\u0645\u0644\u064a\u0648\u0646", 9, "\xa4\xa00\xa0\u0645\u0644\u064a\u0627\u0631", 10, "\xa4\xa000\xa0\u0645\u0644\u064a\u0627\u0631", 11, "\xa4\xa0000\xa0\u0645\u0644\u064a\u0627\u0631", 12, "\xa4\xa00\xa0\u062a\u0631\u0644\u064a\u0648\u0646", 13, "\xa4\xa000\xa0\u062a\u0631\u0644\u064a\u0648\u0646", 14, "\xa4\xa0000\xa0\u062a\u0631\u0644\u064a\u0648\u0646"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiGkK = new H.GeneralConstantMap([3, "0\xa0t\u016bkst.\xa0\xa4", 4, "00\xa0t\u016bkst.\xa0\xa4", 5, "000\xa0t\u016bkst.\xa0\xa4", 6, "0\xa0milj.\xa0\xa4", 7, "00\xa0milj.\xa0\xa4", 8, "000\xa0milj.\xa0\xa4", 9, "0\xa0mljrd.\xa0\xa4", 10, "00\xa0mljrd.\xa0\xa4", 11, "000\xa0mljrd.\xa0\xa4", 12, "0\xa0trilj.\xa0\xa4", 13, "00\xa0trilj.\xa0\xa4", 14, "000\xa0trilj.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiGqP = new H.GeneralConstantMap([3, "0 \u0a39\u0a1c\u0a3c\u0a3e\u0a30", 4, "00 \u0a39\u0a1c\u0a3c\u0a3e\u0a30", 5, "0 \u0a32\u0a71\u0a16", 6, "00 \u0a32\u0a71\u0a16", 7, "0 \u0a15\u0a30\u0a4b\u0a5c", 8, "00 \u0a15\u0a30\u0a4b\u0a5c", 9, "0 \u0a05\u0a30\u0a2c", 10, "00 \u0a05\u0a30\u0a2c", 11, "0 \u0a16\u0a30\u0a2c", 12, "00 \u0a16\u0a30\u0a2c", 13, "0 \u0a28\u0a40\u0a32", 14, "00 \u0a28\u0a40\u0a32"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiGrj = new H.GeneralConstantMap([3, "\xa40K", 4, "\xa400K", 5, "\xa4000K", 6, "\xa40M", 7, "\xa400M", 8, "\xa4000M", 9, "\xa40B", 10, "\xa400B", 11, "\xa4000B", 12, "\xa40T", 13, "\xa400T", 14, "\xa4000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiH79 = new H.GeneralConstantMap([3, "0\xa0k\xa4", 4, "00\xa0k\xa4", 5, "000\xa0k\xa4", 6, "0\xa0M\xa4", 7, "00\xa0M\xa4", 8, "000\xa0M\xa4", 9, "0\xa0G\xa4", 10, "00\xa0G\xa4", 11, "000\xa0G\xa4", 12, "0\xa0T\xa4", 13, "00\xa0T\xa4", 14, "000\xa0T\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiH95 = new H.GeneralConstantMap([3, "0 tuhatta", 4, "00 tuhatta", 5, "000 tuhatta", 6, "0 miljoonaa", 7, "00 miljoonaa", 8, "000 miljoonaa", 9, "0 miljardia", 10, "00 miljardia", 11, "000 miljardia", 12, "0 biljoonaa", 13, "00 biljoonaa", 14, "000 biljoonaa"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiHJ0 = new H.GeneralConstantMap([3, "\xa40\xa0\u0ab9\u0a9c\u0abe\u0ab0", 4, "\xa400\xa0\u0ab9\u0a9c\u0abe\u0ab0", 5, "\xa40\xa0\u0ab2\u0abe\u0a96", 6, "\xa400\xa0\u0ab2\u0abe\u0a96", 7, "\xa40\xa0\u0a95\u0ab0\u0acb\u0aa1", 8, "\xa400\xa0\u0a95\u0ab0\u0acb\u0aa1", 9, "\xa40\xa0\u0a85\u0aac\u0a9c", 10, "\xa400\xa0\u0a85\u0aac\u0a9c", 11, "\xa40\xa0\u0aa8\u0abf\u0a96\u0ab0\u0acd\u0ab5", 12, "\xa40\xa0\u0aae\u0ab9\u0abe\u0aaa\u0aa6\u0acd\u0aae", 13, "\xa40\xa0\u0ab6\u0a82\u0a95\u0ac1", 14, "\xa40\xa0\u0a9c\u0ab2\u0aa7\u0abf"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiHh6 = new H.GeneralConstantMap([3, "0 ribu", 4, "00 ribu", 5, "000 ribu", 6, "0 juta", 7, "00 juta", 8, "000 juta", 9, "0 bilion", 10, "00 bilion", 11, "000 bilion", 12, "0 trilion", 13, "00 trilion", 14, "000 trilion"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiHx4 = new H.GeneralConstantMap([3, "0 tusind", 4, "00 tusind", 5, "000 tusind", 6, "0 millioner", 7, "00 millioner", 8, "000 millioner", 9, "0 milliarder", 10, "00 milliarder", 11, "000 milliarder", 12, "0 billioner", 13, "00 billioner", 14, "000 billioner"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiI7G = new H.GeneralConstantMap([3, "0\u1011\u1031\u102c\u1004\u103a", 4, "0\u101e\u1031\u102c\u1004\u103a\u1038", 5, "0\u101e\u102d\u1014\u103a\u1038", 6, "0\u101e\u1014\u103a\u1038", 7, "0\u1000\u102f\u100b\u1031", 8, "00\u1000\u102f\u100b\u1031", 9, "\u1000\u102f\u100b\u1031000", 10, "\u1000\u102f\u100b\u10310000", 11, "\u1000\u102f\u100b\u10310\u101e\u1031\u102c\u1004\u103a\u1038", 12, "\u1000\u102f\u100b\u10310\u101e\u102d\u1014\u103a\u1038", 13, "\u1000\u102f\u100b\u10310\u101e\u1014\u103a\u1038", 14, "0\u1000\u1031\u102c\u100b\u102d"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiIVQ = new H.GeneralConstantMap([3, "0\xa0\u0442\u044b\u0441.", 4, "00\xa0\u0442\u044b\u0441.", 5, "000\xa0\u0442\u044b\u0441.", 6, "0\xa0\u043c\u043b\u043d", 7, "00\xa0\u043c\u043b\u043d", 8, "000\xa0\u043c\u043b\u043d", 9, "0\xa0\u043c\u043b\u0440\u0434", 10, "00\xa0\u043c\u043b\u0440\u0434", 11, "000\xa0\u043c\u043b\u0440\u0434", 12, "0\xa0\u0442\u0440\u043b\u043d", 13, "00\xa0\u0442\u0440\u043b\u043d", 14, "000\xa0\u0442\u0440\u043b\u043d"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiIVn = new H.GeneralConstantMap([3, "0 \u1796\u17b6\u1793\u17cb", 4, "00 \u1796\u17b6\u1793\u17cb", 5, "000\u1796\u17b6\u1793\u17cb", 6, "0 \u179b\u17b6\u1793", 7, "00 \u179b\u17b6\u1793", 8, "000 \u179b\u17b6\u1793", 9, "0 \u1794\u17ca\u17b8\u179b\u17b6\u1793", 10, "00 \u1794\u17ca\u17b8\u179b\u17b6\u1793", 11, "000 \u1794\u17ca\u17b8\u179b\u17b6\u1793", 12, "0 \u1791\u17d2\u179a\u17b8\u179b\u17b6\u1793", 13, "00 \u1791\u17d2\u179a\u17b8\u179b\u17b6\u1793", 14, "000 \u1791\u17d2\u179a\u17b8\u179b\u17b6\u1793"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiIaj = new H.GeneralConstantMap([3, "0 \u10d0\u10d7\u10d0\u10e1\u10d8", 4, "00 \u10d0\u10d7\u10d0\u10e1\u10d8", 5, "000 \u10d0\u10d7\u10d0\u10e1\u10d8", 6, "0 \u10db\u10d8\u10da\u10d8\u10dd\u10dc\u10d8", 7, "00 \u10db\u10d8\u10da\u10d8\u10dd\u10dc\u10d8", 8, "000 \u10db\u10d8\u10da\u10d8\u10dd\u10dc\u10d8", 9, "0 \u10db\u10d8\u10da\u10d8\u10d0\u10e0\u10d3\u10d8", 10, "00 \u10db\u10d8\u10da\u10d8\u10d0\u10e0\u10d3\u10d8", 11, "000 \u10db\u10d8\u10da\u10d8\u10d0\u10e0\u10d3\u10d8", 12, "0 \u10e2\u10e0\u10d8\u10da\u10d8\u10dd\u10dc\u10d8", 13, "00 \u10e2\u10e0\u10d8\u10da\u10d8\u10dd\u10dc\u10d8", 14, "000 \u10e2\u10e0\u10d8\u10da\u10d8\u10dd\u10dc\u10d8"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiIi0 = new H.GeneralConstantMap([3, "0\xa0\u0647\u0632\u0627\u0631\xa0\xa4", 4, "00\xa0\u0647\u0632\u0627\u0631\xa0\xa4", 5, "000\xa0\u0647\u0632\u0627\u0631\xa0\xa4", 6, "0\xa0\u0645\u06cc\u0644\u06cc\u0648\u0646\xa0\xa4", 7, "00\xa0\u0645\u06cc\u0644\u06cc\u0648\u0646\xa0\xa4", 8, "000\xa0\u0645\u06cc\u0644\u06cc\u0648\u0646\xa0\xa4", 9, "0\xa0\u0645\u06cc\u0644\u06cc\u0627\u0631\u062f\xa0\xa4", 10, "00\xa0\u0645\u06cc\u0644\u06cc\u0627\u0631\u062f\xa0\xa4", 11, "000\xa0\u0645\u06cc\u0644\u06cc\u0627\u0631\u062f\xa0\xa4", 12, "0\xa0\u0647\u0632\u0627\u0631\u0645\u06cc\u0644\u06cc\u0627\u0631\u062f\xa0\xa4", 13, "00\xa0\u0647\u0632\u0627\u0631\u0645\u06cc\u0644\u06cc\u0627\u0631\u062f\xa0\xa4", 14, "000\xa0\u0647\u0632\u0627\u0631\u0645\u06cc\u0644\u06cc\u0627\u0631\u062f\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiIpE = new H.GeneralConstantMap([3, "0\xa0\u0647\u0632\u0627\u0631", 4, "00\xa0\u0647\u0632\u0627\u0631", 5, "000\xa0\u0647\u0632\u0627\u0631", 6, "0\xa0\u0645\u06cc\u0644\u06cc\u0648\u0646", 7, "00\xa0\u0645\u06cc\u0644\u06cc\u0648\u0646", 8, "000\xa0\u0645", 9, "0\xa0\u0645", 10, "00\xa0\u0645", 11, "000\xa0\u0645\u06cc\u0644\u06cc\u0627\u0631\u062f", 12, "0\xa0\u062a\u0631\u06cc\u0644\u06cc\u0648\u0646", 13, "00\xa0\u062a", 14, "000\xa0\u062a"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiIyS = new H.GeneralConstantMap([3, "0 mil", 4, "00 mil", 5, "000 mil", 6, "0 millones", 7, "00 millones", 8, "000 millones", 9, "0 mil millones", 10, "00 mil millones", 11, "000 mil millones", 12, "0 billones", 13, "00 billones", 14, "000 billones"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiJJ0 = new H.GeneralConstantMap([3, "0\xa0\u0a39\u0a1c\u0a3c\u0a3e\u0a30", 4, "00\xa0\u0a39\u0a1c\u0a3c\u0a3e\u0a30", 5, "0\xa0\u0a32\u0a71\u0a16", 6, "00\xa0\u0a32\u0a71\u0a16", 7, "0\xa0\u0a15\u0a30\u0a4b\u0a5c", 8, "00\xa0\u0a15\u0a30\u0a4b\u0a5c", 9, "0\xa0\u0a05\u0a30\u0a2c", 10, "00\xa0\u0a05\u0a30\u0a2c", 11, "0\xa0\u0a16\u0a30\u0a2c", 12, "00\xa0\u0a16\u0a30\u0a2c", 13, "0\xa0\u0a28\u0a40\u0a32", 14, "00\xa0\u0a28\u0a40\u0a32"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiJNA = new H.GeneralConstantMap([3, "0 m\xedle", 4, "00 m\xedle", 5, "000 m\xedle", 6, "0 milli\xfan", 7, "00 milli\xfan", 8, "000 milli\xfan", 9, "0 billi\xfan", 10, "00 billi\xfan", 11, "000 billi\xfan", 12, "0 trilli\xfan", 13, "00 trilli\xfan", 14, "000 trilli\xfan"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiJO4 = new H.GeneralConstantMap([3, "0 \u0438\u043b\u0458\u0430\u0434\u0438", 4, "00 \u0438\u043b\u0458\u0430\u0434\u0438", 5, "000 \u0438\u043b\u0458\u0430\u0434\u0438", 6, "0 \u043c\u0438\u043b\u0438\u043e\u043d\u0438", 7, "00 \u043c\u0438\u043b\u0438\u043e\u043d\u0438", 8, "000 \u043c\u0438\u043b\u0438\u043e\u043d\u0438", 9, "0 \u043c\u0438\u043b\u0438\u0458\u0430\u0440\u0434\u0438", 10, "00 \u043c\u0438\u043b\u0438\u0458\u0430\u0440\u0434\u0438", 11, "000 \u043c\u0438\u043b\u0438\u0458\u0430\u0440\u0434\u0438", 12, "0 \u0431\u0438\u043b\u0438\u043e\u043d\u0438", 13, "00 \u0431\u0438\u043b\u0438\u043e\u043d\u0438", 14, "000 \u0431\u0438\u043b\u0438\u043e\u043d\u0438"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiJQz = new H.GeneralConstantMap([3, "0000", 4, "00000", 5, "000000", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0000\xa0M", 10, "00000\xa0M", 11, "000000\xa0M", 12, "0\xa0B", 13, "00\xa0B", 14, "000\xa0B"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiJeh = new H.GeneralConstantMap([3, "0 t\u016bkstan\u010di\u0173", 4, "00 t\u016bkstan\u010di\u0173", 5, "000 t\u016bkstan\u010di\u0173", 6, "0 milijon\u0173", 7, "00 milijon\u0173", 8, "000 milijon\u0173", 9, "0 milijard\u0173", 10, "00 milijard\u0173", 11, "000 milijard\u0173", 12, "0 trilijon\u0173", 13, "00 trilijon\u0173", 14, "000 trilijon\u0173"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiJgx = new H.GeneralConstantMap([3, "0K", 4, "00K", 5, "000K", 6, "0M", 7, "00M", 8, "000M", 9, "0B", 10, "00B", 11, "000B", 12, "0T", 13, "00T", 14, "000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiKPO = new H.GeneralConstantMap([3, "0\xa0\u03c7\u03b9\u03bb.", 4, "00\xa0\u03c7\u03b9\u03bb.", 5, "000\xa0\u03c7\u03b9\u03bb.", 6, "0\xa0\u03b5\u03ba.", 7, "00\xa0\u03b5\u03ba.", 8, "000\xa0\u03b5\u03ba.", 9, "0\xa0\u03b4\u03b9\u03c3.", 10, "00\xa0\u03b4\u03b9\u03c3.", 11, "000\xa0\u03b4\u03b9\u03c3.", 12, "0\xa0\u03c4\u03c1\u03b9\u03c3.", 13, "00\xa0\u03c4\u03c1\u03b9\u03c3.", 14, "000\xa0\u03c4\u03c1\u03b9\u03c3."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiKlG = new H.GeneralConstantMap([3, "0000\xa0\xa4", 4, "00000\xa0\xa4", 5, "000000\xa0\xa4", 6, "0\xa0M\xa0\xa4", 7, "00\xa0M\xa0\xa4", 8, "000\xa0M\xa0\xa4", 9, "0000\xa0M\xa0\xa4", 10, "00000\xa0M\xa0\xa4", 11, "000000\xa0M\xa0\xa4", 12, "0\xa0B\xa0\xa4", 13, "00\xa0B\xa0\xa4", 14, "000\xa0B\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiKtb = new H.GeneralConstantMap([3, "0", 4, "0", 5, "0", 6, "0\xa0Mio.", 7, "00\xa0Mio.", 8, "000\xa0Mio.", 9, "0\xa0Mrd.", 10, "00\xa0Mrd.", 11, "000\xa0Mrd.", 12, "0\xa0Bio.", 13, "00\xa0Bio.", 14, "000\xa0Bio."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiL54 = new H.GeneralConstantMap([3, "0 mil", 4, "00 mil", 5, "000 mil", 6, "0 miliwn", 7, "00 miliwn", 8, "000 miliwn", 9, "0 biliwn", 10, "00 biliwn", 11, "000 biliwn", 12, "0 triliwn", 13, "00 triliwn", 14, "000 triliwn"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiL7S = new H.GeneralConstantMap([3, "\xa40\xa0\u0e9e\u0eb1\u0e99", 4, "\xa400\xa0\u0e9e\u0eb1\u0e99", 5, "\xa4000\xa0\u0e81\u0eb5\u0e9a", 6, "\xa40\xa0\u0ea5\u0ec9\u0eb2\u0e99", 7, "\xa400\xa0\u0ea5\u0ec9\u0eb2\u0e99", 8, "\xa4000\xa0\u0ea5\u0ec9\u0eb2\u0e99", 9, "\xa40\xa0\u0e95\u0eb7\u0ec9", 10, "\xa400\xa0\u0e95\u0eb7\u0ec9", 11, "\xa4000\xa0\u0e95\u0eb7\u0ec9", 12, "\xa40\xa0\u0ea5\u0ec9\u0eb2\u0e99\u0ea5\u0ec9\u0eb2\u0e99", 13, "\xa400\xa0\u0ea5\u0ec9\u0eb2\u0e99\u0ea5\u0ec9\u0eb2\u0e99", 14, "\xa4000\xa0\u0ea5\u0ec9\u0eb2\u0e99\u0ea5\u0ec9\u0eb2\u0e99"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiMAi = new H.GeneralConstantMap([3, "0\xa0\u0939", 4, "00\xa0\u0939", 5, "0\xa0\u0932\u093e\u0916", 6, "00\xa0\u0932\u093e\u0916", 7, "0\xa0\u0915\u094b\u091f\u0940", 8, "00\xa0\u0915\u094b\u091f\u0940", 9, "0\xa0\u0905\u092c\u094d\u091c", 10, "00\xa0\u0905\u092c\u094d\u091c", 11, "0\xa0\u0916\u0930\u094d\u0935", 12, "00\xa0\u0916\u0930\u094d\u0935", 13, "0\xa0\u092a\u0926\u094d\u092e", 14, "00\xa0\u092a\u0926\u094d\u092e"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiMGI = new H.GeneralConstantMap([3, "0 mil", 4, "00 mil", 5, "000 mil", 6, "0 milh\xf5es", 7, "00 milh\xf5es", 8, "000 milh\xf5es", 9, "0 mil milh\xf5es", 10, "00 mil milh\xf5es", 11, "000 mil milh\xf5es", 12, "0 bili\xf5es", 13, "00 bili\xf5es", 14, "000 bili\xf5es"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiMIo = new H.GeneralConstantMap([3, "\xa40\u0c35\u0c47", 4, "\xa400\u0c35\u0c47", 5, "\xa4000\u0c35\u0c47", 6, "\xa40\u0c2e\u0c3f", 7, "\xa400\u0c2e\u0c3f", 8, "\xa4000\u0c2e\u0c3f", 9, "\xa40\u0c2c\u0c3f", 10, "\xa400\u0c2c\u0c3f", 11, "\xa4000\u0c2c\u0c3f", 12, "\xa40\u0c1f\u0c4d\u0c30\u0c3f", 13, "\xa400\u0c1f\u0c4d\u0c30\u0c3f", 14, "\xa4000\u0c1f\u0c4d\u0c30\u0c3f"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiMMY = new H.GeneralConstantMap([3, "0 mille", 4, "00 mille", 5, "000 mille", 6, "0 millions", 7, "00 millions", 8, "000 millions", 9, "0 milliards", 10, "00 milliards", 11, "000 milliards", 12, "0 billions", 13, "00 billions", 14, "000 billions"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiMpR = new H.GeneralConstantMap([3, "0\xa0t\u016bkst.", 4, "00\xa0t\u016bkst.", 5, "000\xa0t\u016bkst.", 6, "0\xa0mln.", 7, "00\xa0mln.", 8, "000\xa0mln.", 9, "0\xa0mlrd.", 10, "00\xa0mlrd.", 11, "000\xa0mlrd.", 12, "0\xa0trln.", 13, "00\xa0trln.", 14, "000\xa0trln."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiMyV = new H.GeneralConstantMap([3, "0\xa0\u10d0\u10d7.\xa0\xa4", 4, "00\xa0\u10d0\u10d7.\xa0\xa4", 5, "000\xa0\u10d0\u10d7.\xa0\xa4", 6, "0\xa0\u10db\u10da\u10dc.\xa0\xa4", 7, "00\xa0\u10db\u10da\u10dc.\xa0\xa4", 8, "000\xa0\u10db\u10da\u10dc.\xa0\xa4", 9, "0\xa0\u10db\u10da\u10e0\u10d3.\xa0\xa4", 10, "00\xa0\u10db\u10da\u10e0\u10d3.\xa0\xa4", 11, "000\xa0\u10db\u10da\u10e0.\xa0\xa4", 12, "0\xa0\u10e2\u10e0\u10da.\xa0\xa4", 13, "00\xa0\u10e2\u10e0\u10da.\xa0\xa4", 14, "000\xa0\u10e2\u10e0\u10da.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiMys = new H.GeneralConstantMap([3, "0\xa0mil", 4, "00\xa0mil", 5, "000\xa0mil", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0\xa0mM", 10, "00\xa0mM", 11, "000\xa0mM", 12, "0\xa0Bi", 13, "00\xa0Bi", 14, "000\xa0Bi"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiNkP = new H.GeneralConstantMap([3, "0\xa0mil\xa0\xa4", 4, "00\xa0mil\xa0\xa4", 5, "000\xa0mil\xa0\xa4", 6, "0\xa0M\xa4", 7, "00\xa0M\xa4", 8, "000\xa0M\xa4", 9, "0000\xa0M\xa4", 10, "00\xa0mil\xa0M\xa4", 11, "000\xa0mil\xa0M\xa4", 12, "0\xa0B\xa4", 13, "00\xa0B\xa4", 14, "000\xa0B\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiO5U = new H.GeneralConstantMap([3, "0 mil", 4, "00 mil", 5, "000 mil", 6, "0 millones", 7, "00 millones", 8, "000 millones", 9, "0 mil millones", 10, "00 mil millones", 11, "000 mil millones", 12, "0 bill\xf3n", 13, "00 billones", 14, "000 billones"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiOLv = new H.GeneralConstantMap([3, "0m\xa0\xa4", 4, "00m\xa0\xa4", 5, "000m\xa0\xa4", 6, "0\xa0M\xa0\xa4", 7, "00\xa0M\xa0\xa4", 8, "000\xa0M\xa0\xa4", 9, "0000\xa0M\xa0\xa4", 10, "00mM\xa0\xa4", 11, "000mM\xa0\xa4", 12, "0\xa0B\xa0\xa4", 13, "00\xa0B\xa0\xa4", 14, "000\xa0B\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiOQL = new H.GeneralConstantMap([3, "0k", 4, "00k", 5, "000k", 6, "0M", 7, "00M", 8, "000M", 9, "0B", 10, "00B", 11, "000B", 12, "0T", 13, "00T", 14, "000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiOTB = new H.GeneralConstantMap([3, "0K\xa0\xa4", 4, "00K\xa0\xa4", 5, "000K\xa0\xa4", 6, "0M\xa0\xa4", 7, "00M\xa0\xa4", 8, "000M\xa0\xa4", 9, "0G\xa0\xa4", 10, "00G\xa0\xa4", 11, "000G\xa0\xa4", 12, "0T\xa0\xa4", 13, "00T\xa0\xa4", 14, "000T\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiOtN = new H.GeneralConstantMap([3, "0 \u09b9\u09be\u099c\u09be\u09b0", 4, "00 \u09b9\u09be\u099c\u09be\u09b0", 5, "0 \u09b2\u09be\u0996", 6, "00 \u09b2\u09be\u0996", 7, "0 \u0995\u09cb\u099f\u09bf", 8, "00 \u0995\u09cb\u099f\u09bf", 9, "000 \u0995\u09cb\u099f\u09bf", 10, "0000 \u0995\u09cb\u099f\u09bf", 11, "00000 \u0995\u09cb\u099f\u09bf", 12, "0 \u09b2\u09be\u0996 \u0995\u09cb\u099f\u09bf", 13, "00 \u09b2\u09be\u0996 \u0995\u09cb\u099f\u09bf", 14, "000 \u09b2\u09be\u0996 \u0995\u09cb\u099f\u09bf"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiOvN = new H.GeneralConstantMap([3, "0\xa0\u0442\u044b\u0441.\xa0\xa4", 4, "00\xa0\u0442\u044b\u0441.\xa0\xa4", 5, "000\xa0\u0442\u044b\u0441.\xa0\xa4", 6, "0\xa0\u043c\u043b\u043d\xa0\xa4", 7, "00\xa0\u043c\u043b\u043d\xa0\xa4", 8, "000\xa0\u043c\u043b\u043d\xa0\xa4", 9, "0\xa0\u043c\u043b\u0440\u0434\xa0\xa4\xa0", 10, "00\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 11, "000\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 12, "0\xa0\u0442\u0440\u043b\u043d\xa0\xa4", 13, "00\xa0\u0442\u0440\u043b\u043d\xa0\xa4", 14, "000\xa0\u0442\u0440\u043b\u043d\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiQ7e = new H.GeneralConstantMap([3, "0 ribu", 4, "00 ribu", 5, "000 ribu", 6, "0 juta", 7, "00 juta", 8, "000 juta", 9, "0 miliar", 10, "00 miliar", 11, "000 miliar", 12, "0 triliun", 13, "00 triliun", 14, "000 triliun"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiQAb = new H.GeneralConstantMap([3, "0 \u06c1\u0632\u0627\u0631", 4, "00 \u06c1\u0632\u0627\u0631", 5, "0 \u0644\u0627\u06a9\u06be", 6, "00 \u0644\u0627\u06a9\u06be", 7, "0 \u06a9\u0631\u0648\u0691", 8, "00 \u06a9\u0631\u0648\u0691", 9, "0 \u0627\u0631\u0628", 10, "00 \u0627\u0631\u0628", 11, "0 \u06a9\u06be\u0631\u0628", 12, "00 \u06a9\u06be\u0631\u0628", 13, "00 \u0679\u0631\u06cc\u0644\u06cc\u0646", 14, "000 \u0679\u0631\u06cc\u0644\u06cc\u0646"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiQSn = new H.GeneralConstantMap([3, "0\xa0\u123a", 4, "00\xa0\u123a", 5, "000\xa0\u123a", 6, "0\xa0\u121c\u1275\u122d", 7, "00\xa0\u121c\u1275\u122d", 8, "000\u121c", 9, "0\xa0\u1262", 10, "00\xa0\u1262", 11, "000\xa0\u1262", 12, "0\xa0\u1275", 13, "00\xa0\u1275", 14, "000\xa0\u1275"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiQSy = new H.GeneralConstantMap([3, "0 \u0c35\u0c47\u0c32\u0c41", 4, "00 \u0c35\u0c47\u0c32\u0c41", 5, "000 \u0c35\u0c47\u0c32\u0c41", 6, "0 \u0c2e\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d\u0c32\u0c41", 7, "00 \u0c2e\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d\u0c32\u0c41", 8, "000 \u0c2e\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d\u0c32\u0c41", 9, "0 \u0c2c\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d\u0c32\u0c41", 10, "00 \u0c2c\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d\u0c32\u0c41", 11, "000 \u0c2c\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d\u0c32\u0c41", 12, "0 \u0c1f\u0c4d\u0c30\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d\u0c32\u0c41", 13, "00 \u0c1f\u0c4d\u0c30\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d\u0c32\u0c41", 14, "000 \u0c1f\u0c4d\u0c30\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d\u0c32\u0c41"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiQpm = new H.GeneralConstantMap([3, "\xa40\xa0\u0939\u091c\u093c\u093e\u0930", 4, "\xa400\xa0\u0939\u091c\u093c\u093e\u0930", 5, "\xa40\xa0\u0932\u093e\u0916", 6, "\xa400\xa0\u0932\u093e\u0916", 7, "\xa40\xa0\u0915\u0970", 8, "\xa400\xa0\u0915\u0970", 9, "\xa40\xa0\u0905\u0970", 10, "\xa400\xa0\u0905\u0970", 11, "\xa40\xa0\u0916\u0970", 12, "\xa400\xa0\u0916\u0970", 13, "\xa40\xa0\u0928\u0940\u0932", 14, "\xa400\xa0\u0928\u0940\u0932"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiQy4 = new H.GeneralConstantMap([3, "0\xa0\u043c\u0438\u04a3", 4, "00\xa0\u043c\u0438\u04a3", 5, "000\xa0\u043c\u0438\u04a3", 6, "0\xa0\u043c\u043b\u043d", 7, "00\xa0\u043c\u043b\u043d", 8, "000\xa0\u043c\u043b\u043d", 9, "0\xa0\u043c\u043b\u0434", 10, "00\xa0\u043c\u043b\u0434", 11, "000\xa0\u043c\u043b\u0434", 12, "0\xa0\u0442\u0440\u043b\u043d", 13, "00\xa0\u0442\u0440\u043b\u043d", 14, "000\xa0\u0442\u0440\u043b\u043d"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiR7V = new H.GeneralConstantMap([3, "0\xa0hilj.\xa0\xa4", 4, "00\xa0hilj.\xa0\xa4", 5, "000\xa0hilj.\xa0\xa4", 6, "0\xa0mil.\xa0\xa4", 7, "00\xa0mil.\xa0\xa4", 8, "000\xa0mil.\xa0\xa4", 9, "0\xa0mlr.\xa0\xa4", 10, "00\xa0mlr.\xa0\xa4", 11, "000\xa0mlr.\xa0\xa4", 12, "0\xa0bil.\xa0\xa4", 13, "00\xa0bil.\xa0\xa4", 14, "000\xa0bil.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiRsV = new H.GeneralConstantMap([3, "0\u1796\u17b6\u1793\u17cb", 4, "00\xa0\u1796\u17b6\u1793\u17cb", 5, "000\xa0\u1796\u17b6\u1793\u17cb", 6, "0\xa0\u179b\u17b6\u1793", 7, "00\xa0\u179b\u17b6\u1793", 8, "000\xa0\u179b\u17b6\u1793", 9, "0\xa0\u1794\u17ca\u17b8\u179b\u17b6\u1793", 10, "00\xa0\u1794\u17ca\u17b8\u179b\u17b6\u1793", 11, "000\xa0\u1794\u17ca\u17b8\u179b\u17b6\u1793", 12, "0\xa0\u1791\u17d2\u179a\u17b8\u179b\u17b6\u1793", 13, "00\xa0\u1791\u17d2\u179a\u17b8\u179b\u17b6\u1793", 14, "000\xa0\u1791\u17d2\u179a\u17b8\u179b\u17b6\u1793"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiSJV = new H.GeneralConstantMap([3, "0 hiljada", 4, "00 hiljada", 5, "000 hiljada", 6, "0 miliona", 7, "00 miliona", 8, "000 miliona", 9, "0 milijardi", 10, "00 milijardi", 11, "000 milijardi", 12, "0 biliona", 13, "00 biliona", 14, "000 biliona"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiSJc = new H.GeneralConstantMap([3, "0 tisu\u0107a", 4, "00 tisu\u0107a", 5, "000 tisu\u0107a", 6, "0 milijuna", 7, "00 milijuna", 8, "000 milijuna", 9, "0 milijardi", 10, "00 milijardi", 11, "000 milijardi", 12, "0 bilijuna", 13, "00 bilijuna", 14, "000 bilijuna"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiT5f = new H.GeneralConstantMap([3, "0", 4, "\xa40\u4e07", 5, "\xa400\u4e07", 6, "\xa4000\u4e07", 7, "\xa40000\u4e07", 8, "\xa40\u5104", 9, "\xa400\u5104", 10, "\xa4000\u5104", 11, "\xa40000\u5104", 12, "\xa40\u5146", 13, "\xa400\u5146", 14, "\xa4000\u5146"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiTNX = new H.GeneralConstantMap([3, "\xa40T", 4, "\xa400T", 5, "\xa40L", 6, "\xa400L", 7, "\xa40Cr", 8, "\xa400Cr", 9, "\xa4000Cr", 10, "\xa40TCr", 11, "\xa400TCr", 12, "\xa40LCr", 13, "\xa400LCr", 14, "\xa4000LCr"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiTTS = new H.GeneralConstantMap([3, "0\xa0tis.\xa0\xa4", 4, "00\xa0tis.\xa0\xa4", 5, "000\xa0tis.\xa0\xa4", 6, "0\xa0mil.\xa0\xa4", 7, "00\xa0mil.\xa0\xa4", 8, "000\xa0mil.\xa0\xa4", 9, "0\xa0mld.\xa0\xa4", 10, "00\xa0mld.\xa0\xa4", 11, "000\xa0mld.\xa0\xa4", 12, "0\xa0bil.\xa0\xa4", 13, "00\xa0bil.\xa0\xa4", 14, "000\xa0bil.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiTnu = new H.GeneralConstantMap([3, "0 \u0e1e\u0e31\u0e19", 4, "0 \u0e2b\u0e21\u0e37\u0e48\u0e19", 5, "0 \u0e41\u0e2a\u0e19", 6, "0 \u0e25\u0e49\u0e32\u0e19", 7, "00 \u0e25\u0e49\u0e32\u0e19", 8, "000 \u0e25\u0e49\u0e32\u0e19", 9, "0 \u0e1e\u0e31\u0e19\u0e25\u0e49\u0e32\u0e19", 10, "0 \u0e2b\u0e21\u0e37\u0e48\u0e19\u0e25\u0e49\u0e32\u0e19", 11, "0 \u0e41\u0e2a\u0e19\u0e25\u0e49\u0e32\u0e19", 12, "0 \u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19", 13, "00 \u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19", 14, "000 \u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiTvc = new H.GeneralConstantMap([3, "0\xa0\xa4", 4, "0\xa0\xa4", 5, "0\xa0\xa4", 6, "0\xa0M\xa4", 7, "00\xa0M\xa4", 8, "000\xa0M\xa4", 9, "0\xa0\xa4", 10, "0\xa0\xa4", 11, "0\xa0\xa4", 12, "0\xa0B\xa4", 13, "00\xa0B\xa4", 14, "000\xa0B\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiTzz = new H.GeneralConstantMap([3, "0 milers", 4, "00 milers", 5, "000 milers", 6, "0 milions", 7, "00 milions", 8, "000 milions", 9, "0 milers de milions", 10, "00 milers de milions", 11, "000 milers de milions", 12, "0 bilions", 13, "00 bilions", 14, "000 bilions"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiUDs = new H.GeneralConstantMap([3, "0\xa0k", 4, "00\xa0k", 5, "000\xa0k", 6, "0\xa0m", 7, "00\xa0m", 8, "000\xa0m", 9, "0\xa0mjd", 10, "00\xa0mjd", 11, "000\xa0mjd", 12, "0\xa0bn", 13, "00\xa0bn", 14, "000\xa0bn"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiUId = new H.GeneralConstantMap([3, "0\xa0\xfe.\xa0\xa4", 4, "00\xa0\xfe.\xa0\xa4", 5, "000\xa0\xfe.\xa0\xa4", 6, "0\xa0m.\xa0\xa4", 7, "00\xa0m.\xa0\xa4", 8, "000\xa0m.\xa0\xa4", 9, "0\xa0ma.\xa0\xa4", 10, "00\xa0ma.\xa0\xa4", 11, "000\xa0ma.\xa0\xa4", 12, "0\xa0bn\xa0\xa4", 13, "00\xa0bn\xa0\xa4", 14, "000\xa0bn\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiUMv = new H.GeneralConstantMap([3, "\xa4\xa00\xa0\u0939\u091c\u093e\u0930", 4, "\xa4\xa000\xa0\u0939\u091c\u093e\u0930", 5, "\xa4\xa00\xa0\u0932\u093e\u0916", 6, "\xa4\xa000\xa0\u0932\u093e\u0916", 7, "\xa4\xa00\xa0\u0915\u0930\u094b\u0921", 8, "\xa4\xa000\xa0\u0915\u0930\u094b\u0921", 9, "\xa4\xa00\xa0\u0905\u0930\u092c", 10, "\xa4\xa000\xa0\u0905\u0930\u092c", 11, "\xa4\xa00\xa0\u0916\u0930\u092c", 12, "\xa4\xa000\xa0\u0916\u0930\u092c", 13, "\xa4\xa00\xa0\u0936\u0902\u0916", 14, "\xa4\xa000\xa0\u0936\u0902\u0916"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiUgE = new H.GeneralConstantMap([3, "0 mil", 4, "00 mil", 5, "000 mil", 6, "0 millones", 7, "00 millones", 8, "000 millones", 9, "0 billones", 10, "00 billones", 11, "000 billones", 12, "0 trillones", 13, "00 trillones", 14, "000 trillones"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiUjO = new H.GeneralConstantMap([3, "0 \u043c\u044b\u04a3", 4, "00 \u043c\u044b\u04a3", 5, "000 \u043c\u044b\u04a3", 6, "0 \u043c\u0438\u043b\u043b\u0438\u043e\u043d", 7, "00 \u043c\u0438\u043b\u043b\u0438\u043e\u043d", 8, "000 \u043c\u0438\u043b\u043b\u0438\u043e\u043d", 9, "0 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434", 10, "00 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434", 11, "000 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434", 12, "0 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d", 13, "00 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d", 14, "000 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiUrQ = new H.GeneralConstantMap([3, "0", 4, "0\u4e07", 5, "00\u4e07", 6, "000\u4e07", 7, "0000\u4e07", 8, "0\u5104", 9, "00\u5104", 10, "000\u5104", 11, "0000\u5104", 12, "0\u5146", 13, "00\u5146", 14, "000\u5146"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiVKb = new H.GeneralConstantMap([3, "0 tuhat", 4, "00 tuhat", 5, "000 tuhat", 6, "0 miljonit", 7, "00 miljonit", 8, "000 miljonit", 9, "0 miljardit", 10, "00 miljardit", 11, "000 miljardit", 12, "0 triljonit", 13, "00 triljonit", 14, "000 triljonit"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiVZ9 = new H.GeneralConstantMap([3, "0\xa0tys.", 4, "00\xa0tys.", 5, "000\xa0tys.", 6, "0\xa0mln", 7, "00\xa0mln", 8, "000\xa0mln", 9, "0\xa0mld", 10, "00\xa0mld", 11, "000\xa0mld", 12, "0\xa0bln", 13, "00\xa0bln", 14, "000\xa0bln"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiWRU = new H.GeneralConstantMap([3, "0\xa0\u0e9e\u0eb1\u0e99", 4, "00\xa0\u0e9e\u0eb1\u0e99", 5, "000\xa0\u0e81\u0eb5\u0e9a", 6, "0\xa0\u0ea5\u0ec9\u0eb2\u0e99", 7, "00\xa0\u0ea5\u0ec9\u0eb2\u0e99", 8, "000\xa0\u0ea5\u0ec9\u0eb2\u0e99", 9, "0\xa0\u0e95\u0eb7\u0ec9", 10, "00\xa0\u0e95\u0eb7\u0ec9", 11, "000\xa0\u0e95\u0eb7\u0ec9", 12, "0\xa0\u0ea5\u0ec9\u0eb2\u0e99\u0ea5\u0ec9\u0eb2\u0e99", 13, "00\u0ea5\u0ea5", 14, "000\u0ea5\u0ea5"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiXKQ = new H.GeneralConstantMap([3, "0\xa0\u03c7\u03b9\u03bb.\xa0\xa4", 4, "00\xa0\u03c7\u03b9\u03bb.\xa0\xa4", 5, "000\xa0\u03c7\u03b9\u03bb.\xa0\xa4", 6, "0\xa0\u03b5\u03ba.\xa0\xa4", 7, "00\xa0\u03b5\u03ba.\xa0\xa4", 8, "000\xa0\u03b5\u03ba.\xa0\xa4", 9, "0\xa0\u03b4\u03b9\u03c3.\xa0\xa4", 10, "00\xa0\u03b4\u03b9\u03c3.\xa0\xa4", 11, "000\xa0\u03b4\u03b9\u03c3.\xa0\xa4", 12, "0\xa0\u03c4\u03c1\u03b9\u03c3.\xa0\xa4", 13, "00\xa0\u03c4\u03c1\u03b9\u03c3.\xa0\xa4", 14, "000\xa0\u03c4\u03c1\u03b9\u03c3.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiXi8 = new H.GeneralConstantMap([3, "0k", 4, "00k", 5, "000k", 6, "0M", 7, "00M", 8, "000M", 9, "0G", 10, "00G", 11, "000G", 12, "0T", 13, "00T", 14, "000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiYbt = new H.GeneralConstantMap([3, "elfu\xa00;elfu\xa0-0", 4, "elfu\xa000;elfu\xa0-00", 5, "elfu\xa0000;elfu\xa0-000", 6, "0M", 7, "00M", 8, "000M", 9, "0B;-0B", 10, "00B;-00B", 11, "000B;-000B", 12, "0T", 13, "00T", 14, "000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiYgE = new H.GeneralConstantMap([3, "0\u1011\u1031\u102c\u1004\u103a", 4, "0\u101e\u1031\u102c\u1004\u103a\u1038", 5, "0\u101e\u102d\u1014\u103a\u1038", 6, "0\u101e\u1014\u103a\u1038", 7, "0\u1000\u102f\u100b\u1031", 8, "00\u1000\u102f\u100b\u1031", 9, "\u1000\u102f\u100b\u1031000", 10, "\u1000\u102f\u100b\u10310\u1011", 11, "\u1000\u102f\u100b\u10310\u101e", 12, "\u100b\u10310\u101e\u102d\u1014\u103a\u1038", 13, "\u100b\u10310\u101e\u1014\u103a\u1038", 14, "0\u1000\u1031\u102c\u100b\u102d"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiYm0 = new H.GeneralConstantMap([3, "0m", 4, "00m", 5, "000m", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0000\xa0M", 10, "00mM", 11, "000mM", 12, "0\xa0B", 13, "00\xa0B", 14, "000\xa0B"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiYvV = new H.GeneralConstantMap([3, "0K", 4, "00K", 5, "000K", 6, "0J", 7, "00J", 8, "000J", 9, "0B", 10, "00B", 11, "000B", 12, "0T", 13, "00T", 14, "000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiZOg = new H.GeneralConstantMap([3, "0\xa0mii\xa0\xa4", 4, "00\xa0mii\xa0\xa4", 5, "000\xa0mii\xa0\xa4", 6, "0\xa0mil.\xa0\xa4", 7, "00\xa0mil.\xa0\xa4", 8, "000\xa0mil.\xa0\xa4", 9, "0\xa0mld.\xa0\xa4", 10, "00\xa0mld.\xa0\xa4", 11, "000\xa0mld.\xa0\xa4", 12, "0\xa0tril.\xa0\xa4", 13, "00\xa0tril.\xa0\xa4", 14, "000\xa0tril.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiZUb = new H.GeneralConstantMap([3, "0\xa0\u0445\u0438\u043b.\xa0\xa4", 4, "00\xa0\u0445\u0438\u043b.\xa0\xa4", 5, "000\xa0\u0445\u0438\u043b.\xa0\xa4", 6, "0\xa0\u043c\u043b\u043d.\xa0\xa4", 7, "00\xa0\u043c\u043b\u043d.\xa0\xa4", 8, "000\xa0\u043c\u043b\u043d.\xa0\xa4", 9, "0\xa0\u043c\u043b\u0440\u0434.\xa0\xa4", 10, "00\xa0\u043c\u043b\u0440\u0434.\xa0\xa4", 11, "000\xa0\u043c\u043b\u0440\u0434.\xa0\xa4", 12, "0\xa0\u0442\u0440\u043b\u043d.\xa0\xa4", 13, "00\xa0\u0442\u0440\u043b\u043d.\xa0\xa4", 14, "000\xa0\u0442\u0440\u043b\u043d.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uia5W = new H.GeneralConstantMap([3, "0\xa0mil", 4, "00\xa0mil", 5, "000\xa0mil", 6, "0\xa0mi", 7, "00\xa0mi", 8, "000\xa0mi", 9, "0\xa0bi", 10, "00\xa0bi", 11, "000\xa0bi", 12, "0\xa0tri", 13, "00\xa0tri", 14, "000\xa0tri"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uia9P = new H.GeneralConstantMap([3, "\xa40\u0b39", 4, "\xa400\u0b39", 5, "\xa4000\u0b39", 6, "\xa40\u0b28\u0b3f", 7, "\xa400\u0b28\u0b3f", 8, "\xa4000\u0b28\u0b3f", 9, "\xa40\u0b2c\u0b3f", 10, "\xa400\u0b2c\u0b3f", 11, "\xa4000\u0b2c\u0b3f", 12, "\xa40\u0b1f\u0b4d\u0b30\u0b3f", 13, "\xa400\u0b1f\u0b4d\u0b30\u0b3f", 14, "\xa4000\u0b1f\u0b4d\u0b30\u0b3f"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uia9w = new H.GeneralConstantMap([3, "\xa40K", 4, "\xa400K", 5, "\xa4000K", 6, "\xa4\xa00M", 7, "\xa4\xa000M", 8, "\xa4000M", 9, "\xa40B", 10, "\xa400B", 11, "\xa4000B", 12, "\xa40T", 13, "\xa400T", 14, "\xa4000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiaTW = new H.GeneralConstantMap([3, "0 tysi\u0105ca", 4, "00 tysi\u0105ca", 5, "000 tysi\u0105ca", 6, "0 miliona", 7, "00 miliona", 8, "000 miliona", 9, "0 miliarda", 10, "00 miliarda", 11, "000 miliarda", 12, "0 biliona", 13, "00 biliona", 14, "000 biliona"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiaXU = new H.GeneralConstantMap([3, "\u0daf\u0dc4\u0dc3 0", 4, "\u0daf\u0dc4\u0dc3 00", 5, "\u0daf\u0dc4\u0dc3 000", 6, "\u0db8\u0dd2\u0dbd\u0dd2\u0dba\u0db1 0", 7, "\u0db8\u0dd2\u0dbd\u0dd2\u0dba\u0db1 00", 8, "\u0db8\u0dd2\u0dbd\u0dd2\u0dba\u0db1 000", 9, "\u0db6\u0dd2\u0dbd\u0dd2\u0dba\u0db1 0", 10, "\u0db6\u0dd2\u0dbd\u0dd2\u0dba\u0db1 00", 11, "\u0db6\u0dd2\u0dbd\u0dd2\u0dba\u0db1 000", 12, "\u0da7\u0dca\u200d\u0dbb\u0dd2\u0dbd\u0dd2\u0dba\u0db1 0", 13, "\u0da7\u0dca\u200d\u0dbb\u0dd2\u0dbd\u0dd2\u0dba\u0db1 00", 14, "\u0da7\u0dca\u200d\u0dbb\u0dd2\u0dbd\u0dd2\u0dba\u0db1 000"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiahs = new H.GeneralConstantMap([3, "0\xa0hilj.\xa0\xa4", 4, "00\xa0hilj.\xa0\xa4", 5, "000\xa0hilj.\xa0\xa4", 6, "0\xa0mil.\xa0\xa4", 7, "00\xa0mil.\xa0\xa4", 8, "000\xa0mil.\xa0\xa4", 9, "0\xa0mlrd.\xa0\xa4", 10, "00\xa0mlrd.\xa0\xa4", 11, "000\xa0mlrd.\xa0\xa4", 12, "0\xa0bil.\xa0\xa4", 13, "00\xa0bil.\xa0\xa4", 14, "000\xa0bil.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiavb = new H.GeneralConstantMap([3, "0\xa0t.", 4, "00\xa0t.", 5, "000\xa0t.", 6, "0\xa0milj.", 7, "00\xa0milj.", 8, "000\xa0milj.", 9, "0\xa0mrd.", 10, "00\xa0mrd.", 11, "000\xa0mrd.", 12, "0\xa0bilj.", 13, "00\xa0bilj.", 14, "000\xa0bilj."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uib1n = new H.GeneralConstantMap([3, "0\xa0\u0445\u0438\u0459.", 4, "00\xa0\u0445\u0438\u0459.", 5, "000\xa0\u0445\u0438\u0459.", 6, "0\xa0\u043c\u0438\u043b.", 7, "00\xa0\u043c\u0438\u043b.", 8, "000\xa0\u043c\u0438\u043b.", 9, "0\xa0\u043c\u043b\u0440\u0434.", 10, "00\xa0\u043c\u043b\u0440\u0434.", 11, "000\xa0\u043c\u043b\u0440\u0434.", 12, "0\xa0\u0431\u0438\u043b.", 13, "00\xa0\u0431\u0438\u043b.", 14, "000\xa0\u0431\u0438\u043b."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UibFg = new H.GeneralConstantMap([3, "0\xa0tis.", 4, "00\xa0tis.", 5, "000\xa0tis.", 6, "0\xa0mil.", 7, "00\xa0mil.", 8, "000\xa0mil.", 9, "0\xa0mld.", 10, "00\xa0mld.", 11, "000\xa0mld.", 12, "0\xa0bil.", 13, "00\xa0bil.", 14, "000\xa0bil."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uic4R = new H.GeneralConstantMap([3, "0 \u0b86\u0baf\u0bbf\u0bb0\u0bae\u0bcd", 4, "00 \u0b86\u0baf\u0bbf\u0bb0\u0bae\u0bcd", 5, "000 \u0b86\u0baf\u0bbf\u0bb0\u0bae\u0bcd", 6, "0 \u0bae\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd", 7, "00 \u0bae\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd", 8, "000 \u0bae\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd", 9, "0 \u0baa\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd", 10, "00 \u0baa\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd", 11, "000 \u0baa\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd", 12, "0 \u0b9f\u0bbf\u0bb0\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd", 13, "00 \u0b9f\u0bbf\u0bb0\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd", 14, "000 \u0b9f\u0bbf\u0bb0\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UicWU = new H.GeneralConstantMap([3, "0 \u0442\u044b\u0441\u044f\u0447\u0438", 4, "00 \u0442\u044b\u0441\u044f\u0447\u0438", 5, "000 \u0442\u044b\u0441\u044f\u0447\u0438", 6, "0 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430", 7, "00 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430", 8, "000 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430", 9, "0 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430", 10, "00 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430", 11, "000 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430", 12, "0 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430", 13, "00 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430", 14, "000 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UickJ = new H.GeneralConstantMap([3, "\xa4\xa0elfu0", 4, "\xa4\xa0elfu00;\xa4elfu\xa0-00", 5, "\xa4\xa0laki000;\xa4laki\xa0-000", 6, "\xa4\xa00M", 7, "\xa4\xa000M;\xa4-00M", 8, "\xa4\xa0000M", 9, "\xa4\xa00B;\xa4-0B", 10, "\xa4\xa000B;\xa4-00B", 11, "\xa4\xa0000B;\xa4-000B", 12, "\xa4\xa00T", 13, "\xa4\xa000T", 14, "\xa4\xa0000T;\xa4-000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UidKm = new H.GeneralConstantMap([3, "0 \u13a2\u13ef\u13a6\u13f4\u13b5", 4, "00 \u13a2\u13ef\u13a6\u13f4\u13b5", 5, "000 \u13a2\u13ef\u13a6\u13f4\u13b5", 6, "0 \u13a2\u13f3\u13c6\u13d7\u13c5\u13db", 7, "00 \u13a2\u13f3\u13c6\u13d7\u13c5\u13db", 8, "000 \u13a2\u13f3\u13c6\u13d7\u13c5\u13db", 9, "0 \u13a2\u13ef\u13d4\u13b3\u13d7\u13c5\u13db", 10, "00 \u13a2\u13ef\u13d4\u13b3\u13d7\u13c5\u13db", 11, "000 \u13a2\u13ef\u13d4\u13b3\u13d7\u13c5\u13db", 12, "0 \u13a2\u13ef\u13e6\u13a0\u13d7\u13c5\u13db", 13, "00 \u13a2\u13ef\u13e6\u13a0\u13d7\u13c5\u13db", 14, "000 \u13a2\u13ef\u13e6\u13a0\u13d7\u13c5\u13db"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uidpv = new H.GeneralConstantMap([3, "0", 4, "0", 5, "0", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0", 10, "0", 11, "0", 12, "0\xa0B", 13, "00\xa0B", 14, "000\xa0B"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UidvT = new H.GeneralConstantMap([3, "0 na libo", 4, "00 na libo", 5, "000 na libo", 6, "0 na milyon", 7, "00 na milyon", 8, "000 na milyon", 9, "0 na bilyon", 10, "00 na bilyon", 11, "000 na bilyon", 12, "0 na trilyon", 13, "00 na trilyon", 14, "000 na trilyon"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uie4R = new H.GeneralConstantMap([3, "\xa4\xa00\xa0mil", 4, "\xa4\xa000\xa0mil", 5, "\xa4\xa0000\xa0mil", 6, "\xa4\xa00\xa0mi", 7, "\xa4\xa000\xa0mi", 8, "\xa4\xa0000\xa0mi", 9, "\xa4\xa00\xa0bi", 10, "\xa4\xa000\xa0bi", 11, "\xa4\xa0000\xa0bi", 12, "\xa4\xa00\xa0tri", 13, "\xa4\xa000\xa0tri", 14, "\xa4\xa0000\xa0tri"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uie7M = new H.GeneralConstantMap([3, "0\xa0E", 4, "00\xa0E", 5, "000\xa0E", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0\xa0Mrd", 10, "00\xa0Mrd", 11, "000\xa0Mrd", 12, "0\xa0B", 13, "00\xa0B", 14, "000\xa0B"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UieFJ = new H.GeneralConstantMap([3, "0 ming", 4, "00 ming", 5, "000 ming", 6, "0 million", 7, "00 million", 8, "000 million", 9, "0 milliard", 10, "00 milliard", 11, "000 milliard", 12, "0 trillion", 13, "00 trillion", 14, "000 trillion"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UieNF = new H.GeneralConstantMap([3, "0\xa0N", 4, "00\xa0N", 5, "000\xa0N", 6, "0\xa0Tr", 7, "00\xa0Tr", 8, "000\xa0Tr", 9, "0\xa0T", 10, "00\xa0T", 11, "000\xa0T", 12, "0\xa0NT", 13, "00\xa0NT", 14, "000\xa0NT"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uifhp = new H.GeneralConstantMap([3, "0\xa0E\xa0\xa4", 4, "00\xa0E\xa0\xa4", 5, "000\xa0E\xa0\xa4", 6, "0\xa0M\xa0\xa4", 7, "00\xa0M\xa0\xa4", 8, "000\xa0M\xa0\xa4", 9, "0\xa0Mrd\xa0\xa4", 10, "00\xa0Mrd\xa0\xa4", 11, "000\xa0Mrd\xa0\xa4", 12, "0\xa0B\xa0\xa4", 13, "00\xa0B\xa0\xa4", 14, "000\xa0B\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UigPs = new H.GeneralConstantMap([3, "\xa4\xa00k", 4, "\xa4\xa000k", 5, "\xa4\xa0000k", 6, "\xa4\xa00\xa0mill.", 7, "\xa4\xa000\xa0mill.", 8, "\xa4\xa0000\xa0mill.", 9, "\xa4\xa00\xa0mrd.", 10, "\xa4\xa000\xa0mrd.", 11, "\xa4\xa0000\xa0mrd.", 12, "\xa4\xa00\xa0bill.", 13, "\xa4\xa000\xa0bill.", 14, "\xa4\xa0000\xa0bill."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uigf4 = new H.GeneralConstantMap([3, "0 \xfe\xfasund", 4, "00 \xfe\xfasund", 5, "000 \xfe\xfasund", 6, "0 millj\xf3nir", 7, "00 millj\xf3nir", 8, "000 millj\xf3nir", 9, "0 milljar\xf0ar", 10, "00 milljar\xf0ar", 11, "000 milljar\xf0ar", 12, "0 billj\xf3nir", 13, "00 billj\xf3nir", 14, "000 billj\xf3nir"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uigf40 = new H.GeneralConstantMap([3, "0\xa0\u0442\u0438\u0441.\xa0\xa4", 4, "00\xa0\u0442\u0438\u0441.\xa0\xa4", 5, "000\xa0\u0442\u0438\u0441.\xa0\xa4", 6, "0\xa0\u043c\u043b\u043d\xa0\xa4", 7, "00\xa0\u043c\u043b\u043d\xa0\xa4", 8, "000\xa0\u043c\u043b\u043d\xa0\xa4", 9, "0\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 10, "00\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 11, "000\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 12, "0\xa0\u0442\u0440\u043b\u043d\xa0\xa4", 13, "00\xa0\u0442\u0440\u043b\u043d\xa0\xa4", 14, "000\xa0\u0442\u0440\u043b\u043d\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uigkc = new H.GeneralConstantMap([3, "0\xa0K\xa0\xa4", 4, "00\xa0K\xa0\xa4", 5, "000\xa0K\xa0\xa4", 6, "0\xa0M\xa0\xa4", 7, "00\xa0M\xa0\xa4", 8, "000\xa0M\xa0\xa4", 9, "0000\xa0M\xa0\xa4", 10, "\xa400\xa0B", 11, "\xa4000\xa0B", 12, "\xa40\xa0T", 13, "\xa400\xa0T", 14, "\xa4000\xa0T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uigkc0 = new H.GeneralConstantMap([3, "0\xa0\u0570\u0566\u0580", 4, "00\xa0\u0570\u0566\u0580", 5, "000\xa0\u0570\u0566\u0580", 6, "0\xa0\u0574\u056c\u0576", 7, "00\xa0\u0574\u056c\u0576", 8, "000\xa0\u0574\u056c\u0576", 9, "0\xa0\u0574\u056c\u0580\u0564", 10, "00\xa0\u0574\u056c\u0580\u0564", 11, "000\xa0\u0574\u056c\u0580\u0564", 12, "0\xa0\u057f\u0580\u056c\u0576", 13, "00\xa0\u057f\u0580\u056c\u0576", 14, "000\xa0\u057f\u0580\u056c\u0576"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UihGr = new H.GeneralConstantMap([3, "\xa40\xa0K", 4, "\xa400\xa0K", 5, "\xa4000\xa0K", 6, "\xa40\xa0M", 7, "\xa400\xa0M", 8, "\xa4000\xa0M", 9, "\xa40000\xa0M", 10, "\xa400\xa0MRD", 11, "\xa4000\xa0MRD", 12, "\xa40\xa0B", 13, "\xa400\xa0B", 14, "\xa4000\xa0B"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UihoG = new H.GeneralConstantMap([3, "0\xa0ming", 4, "00\xa0ming", 5, "000\xa0ming", 6, "0\xa0mln", 7, "00\xa0mln", 8, "000\xa0mln", 9, "0\xa0mlrd", 10, "00\xa0mlrd", 11, "000\xa0mlrd", 12, "0\xa0trln", 13, "00\xa0trln", 14, "000\xa0trln"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uii7B = new H.GeneralConstantMap([3, "0\xa0mij\xeb", 4, "00\xa0mij\xeb", 5, "000\xa0mij\xeb", 6, "0\xa0mln", 7, "00\xa0mln", 8, "000\xa0mln", 9, "0\xa0mld", 10, "00\xa0mld", 11, "000\xa0mld", 12, "0\xa0bln", 13, "00\xa0bln", 14, "000\xa0bln"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiiDT = new H.GeneralConstantMap([3, "0\xa0mil", 4, "00\xa0mil", 5, "000\xa0mil", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0000\xa0M", 10, "00\xa0mil\xa0M", 11, "000\xa0mil\xa0M", 12, "0\xa0B", 13, "00\xa0B", 14, "000\xa0B"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiiDZ = new H.GeneralConstantMap([3, "0", 4, "\xa40\u842c", 5, "\xa400\u842c", 6, "\xa4000\u842c", 7, "\xa40000\u842c", 8, "\xa40\u5104", 9, "\xa400\u5104", 10, "\xa4000\u5104", 11, "\xa40000\u5104", 12, "\xa40\u5146", 13, "\xa400\u5146", 14, "\xa4000\u5146"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiiH2 = new H.GeneralConstantMap([3, "0 bin", 4, "00 bin", 5, "000 bin", 6, "0 milyon", 7, "00 milyon", 8, "000 milyon", 9, "0 milyar", 10, "00 milyar", 11, "000 milyar", 12, "0 trilyon", 13, "00 trilyon", 14, "000 trilyon"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiibp = new H.GeneralConstantMap([3, "\xa4\u0daf0", 4, "\xa4\u0daf00", 5, "\xa4\u0daf000", 6, "\xa4\u0db8\u0dd20", 7, "\xa4\u0db8\u0dd200", 8, "\xa4\u0db8\u0dd2000", 9, "\xa4\u0db6\u0dd20", 10, "\xa4\u0db6\u0dd200", 11, "\xa4\u0db6\u0dd2000", 12, "\xa4\u0da7\u0dca\u200d\u0dbb\u0dd20", 13, "\xa4\u0da7\u0dca\u200d\u0dbb\u0dd200", 14, "\xa4\u0da7\u0dca\u200d\u0dbb\u0dd2000"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiicQ = new H.GeneralConstantMap([3, "0", 4, "0\u4e07", 5, "00\u4e07", 6, "000\u4e07", 7, "0000\u4e07", 8, "0\u4ebf", 9, "00\u4ebf", 10, "000\u4ebf", 11, "0000\u4ebf", 12, "0\u5146", 13, "00\u5146", 14, "000\u5146"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiivX = new H.GeneralConstantMap([3, "0\u0b39", 4, "00\u0b39", 5, "000\u0b39", 6, "0\u0b28\u0b3f", 7, "00\u0b28\u0b3f", 8, "000\u0b28\u0b3f", 9, "0\u0b2c\u0b3f", 10, "00\u0b2c\u0b3f", 11, "000\u0b2c\u0b3f", 12, "0\u0b1f\u0b4d\u0b30\u0b3f", 13, "00\u0b1f\u0b4d\u0b30\u0b3f", 14, "000\u0b1f\u0b4d\u0b30\u0b3f"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uijfx = new H.GeneralConstantMap([3, "0 \u0623\u0644\u0641", 4, "00 \u0623\u0644\u0641", 5, "000 \u0623\u0644\u0641", 6, "0 \u0645\u0644\u064a\u0648\u0646", 7, "00 \u0645\u0644\u064a\u0648\u0646", 8, "000 \u0645\u0644\u064a\u0648\u0646", 9, "0 \u0645\u0644\u064a\u0627\u0631", 10, "00 \u0645\u0644\u064a\u0627\u0631", 11, "000 \u0645\u0644\u064a\u0627\u0631", 12, "0 \u062a\u0631\u0644\u064a\u0648\u0646", 13, "00 \u062a\u0631\u0644\u064a\u0648\u0646", 14, "000 \u062a\u0631\u0644\u064a\u0648\u0646"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UikMT = new H.GeneralConstantMap([3, "0 ngh\xecn", 4, "00 ngh\xecn", 5, "000 ngh\xecn", 6, "0 tri\u1ec7u", 7, "00 tri\u1ec7u", 8, "000 tri\u1ec7u", 9, "0 t\u1ef7", 10, "00 t\u1ef7", 11, "000 t\u1ef7", 12, "0 ngh\xecn t\u1ef7", 13, "00 ngh\xecn t\u1ef7", 14, "000 ngh\xecn t\u1ef7"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UikSE = new H.GeneralConstantMap([3, "\u200f0 \u05d0\u05dc\u05e3", 4, "\u200f00 \u05d0\u05dc\u05e3", 5, "\u200f000 \u05d0\u05dc\u05e3", 6, "\u200f0 \u05de\u05d9\u05dc\u05d9\u05d5\u05df", 7, "\u200f00 \u05de\u05d9\u05dc\u05d9\u05d5\u05df", 8, "\u200f000 \u05de\u05d9\u05dc\u05d9\u05d5\u05df", 9, "\u200f0 \u05de\u05d9\u05dc\u05d9\u05d0\u05e8\u05d3", 10, "\u200f00 \u05de\u05d9\u05dc\u05d9\u05d0\u05e8\u05d3", 11, "\u200f000 \u05de\u05d9\u05dc\u05d9\u05d0\u05e8\u05d3", 12, "\u200f0 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df", 13, "\u200f00 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df", 14, "\u200f000 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UikWG = new H.GeneralConstantMap([3, "0 \u043c\u044f\u043d\u0433\u0430", 4, "00 \u043c\u044f\u043d\u0433\u0430", 5, "000 \u043c\u044f\u043d\u0433\u0430", 6, "0 \u0441\u0430\u044f", 7, "00 \u0441\u0430\u044f", 8, "000 \u0441\u0430\u044f", 9, "0 \u0442\u044d\u0440\u0431\u0443\u043c", 10, "00 \u0442\u044d\u0440\u0431\u0443\u043c", 11, "000 \u0442\u044d\u0440\u0431\u0443\u043c", 12, "0 \u0438\u0445 \u043d\u0430\u044f\u0434", 13, "00 \u0438\u0445 \u043d\u0430\u044f\u0434", 14, "000 \u0438\u0445 \u043d\u0430\u044f\u0434"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiknt = new H.GeneralConstantMap([3, "0\xa0t\u016bkst.", 4, "00\xa0t\u016bkst.", 5, "000\xa0t\u016bkst.", 6, "0\xa0milj.", 7, "00\xa0milj.", 8, "000\xa0milj.", 9, "0\xa0mljrd.", 10, "00\xa0mljrd.", 11, "000\xa0mljrd.", 12, "0\xa0trilj.", 13, "00\xa0trilj.", 14, "000\xa0trilj."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uikqh = new H.GeneralConstantMap([3, "0 tusen", 4, "00 tusen", 5, "000 tusen", 6, "0 miljoner", 7, "00 miljoner", 8, "000 miljoner", 9, "0 miljarder", 10, "00 miljarder", 11, "000 miljarder", 12, "0 biljoner", 13, "00 biljoner", 14, "000 biljoner"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uil0G = new H.GeneralConstantMap([3, "0\u0cb8\u0cbe", 4, "00\u0cb8\u0cbe", 5, "000\u0cb8\u0cbe", 6, "0\u0cae\u0cbf", 7, "00\u0cae\u0cbf", 8, "000\u0cae\u0cbf", 9, "0\u0cac\u0cbf", 10, "00\u0cac\u0cbf", 11, "000\u0cac\u0cbf", 12, "0\u0c9f\u0ccd\u0cb0\u0cbf", 13, "00\u0c9f\u0ccd\u0cb0\u0cbf", 14, "000\u0c9f\u0ccd\u0cb0\u0cbf"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uilov = new H.GeneralConstantMap([3, "0\xa0\u0939\u091c\u093e\u0930", 4, "00\xa0\u0939\u091c\u093e\u0930", 5, "0\xa0\u0932\u093e\u0916", 6, "00\xa0\u0932\u093e\u0916", 7, "0\xa0\u0915\u0930\u094b\u0921", 8, "00\xa0\u0915\u0930\u094b\u0921", 9, "0\xa0\u0905\u0930\u092c", 10, "00\xa0\u0905\u0930\u092c", 11, "0\xa0\u0916\u0930\u092c", 12, "00\xa0\u0916\u0930\u092c", 13, "0\xa0\u0936\u0902\u0916", 14, "00\xa0\u0936\u0902\u0916"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uilu1 = new H.GeneralConstantMap([3, "0\xa0K", 4, "00\xa0K", 5, "000\xa0K", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0\xa0B", 10, "00\xa0B", 11, "000\xa0B", 12, "0\xa0T", 13, "00\xa0T", 14, "000\xa0T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uim7G = new H.GeneralConstantMap([3, "0\xa0\xfe.", 4, "00\xa0\xfe.", 5, "000\xa0\xfe.", 6, "0\xa0m.", 7, "00\xa0m.", 8, "000\xa0m.", 9, "0\xa0ma.", 10, "00\xa0ma.", 11, "000\xa0ma.", 12, "0\xa0bn", 13, "00\xa0bn", 14, "000\xa0bn"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UimdD = new H.GeneralConstantMap([3, "\xa4\xa00\u1011\u1031\u102c\u1004\u103a", 4, "\xa4\xa00\u101e\u1031\u102c\u1004\u103a\u1038", 5, "\xa4\xa00\u101e\u102d\u1014\u103a\u1038", 6, "\xa4\xa00\u101e\u1014\u103a\u1038", 7, "\xa4\xa00\u1000\u102f\u100b\u1031", 8, "\xa4\xa000\u1000\u102f\u100b\u1031", 9, "\xa4\xa0\u1000\u102f\u100b\u1031000", 10, "\xa4\xa0\u1000\u102f\u100b\u10310000", 11, "\xa4\xa0\u1000\u102f\u100b\u10310\u101e\u1031\u102c\u1004\u103a\u1038", 12, "\xa4\xa0\u1000\u102f\u100b\u10310\u101e\u102d\u1014\u103a\u1038", 13, "\xa4\xa0\u1000\u102f\u100b\u10310\u101e\u1014\u103a\u1038", 14, "\xa4\xa00\u1000\u1031\u102c\u100b\u102d"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uimx9 = new H.GeneralConstantMap([3, "\xa40K", 4, "\xa400K", 5, "\xa4000K", 6, "\xa40M", 7, "\xa400M", 8, "\xa4000M", 9, "\xa40G", 10, "\xa400G", 11, "\xa4000G", 12, "\xa40T", 13, "\xa400T", 14, "\xa4000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UinCA = new H.GeneralConstantMap([3, "0 de mii", 4, "00 de mii", 5, "000 de mii", 6, "0 de milioane", 7, "00 de milioane", 8, "000 de milioane", 9, "0 de miliarde", 10, "00 de miliarde", 11, "000 de miliarde", 12, "0 de trilioane", 13, "00 de trilioane", 14, "000 de trilioane"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UineK = new H.GeneralConstantMap([3, "0 tis\xedc", 4, "00 tis\xedc", 5, "000 tis\xedc", 6, "0 mili\xf3nov", 7, "00 mili\xf3nov", 8, "000 mili\xf3nov", 9, "0 mili\xe1rd", 10, "00 mili\xe1rd", 11, "000 mili\xe1rd", 12, "0 bili\xf3nov", 13, "00 bili\xf3nov", 14, "000 bili\xf3nov"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uinfu = new H.GeneralConstantMap([3, "0 \u0442\u0438\u0441\u044f\u0447\u0456", 4, "00 \u0442\u0438\u0441\u044f\u0447\u0456", 5, "000 \u0442\u0438\u0441\u044f\u0447\u0456", 6, "0 \u043c\u0456\u043b\u044c\u0439\u043e\u043d\u0430", 7, "00 \u043c\u0456\u043b\u044c\u0439\u043e\u043d\u0430", 8, "000 \u043c\u0456\u043b\u044c\u0439\u043e\u043d\u0430", 9, "0 \u043c\u0456\u043b\u044c\u044f\u0440\u0434\u0430", 10, "00 \u043c\u0456\u043b\u044c\u044f\u0440\u0434\u0430", 11, "000 \u043c\u0456\u043b\u044c\u044f\u0440\u0434\u0430", 12, "0 \u0442\u0440\u0438\u043b\u044c\u0439\u043e\u043d\u0430", 13, "00 \u0442\u0440\u0438\u043b\u044c\u0439\u043e\u043d\u0430", 14, "000 \u0442\u0440\u0438\u043b\u044c\u0439\u043e\u043d\u0430"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UinvO = new H.GeneralConstantMap([3, "0\xa0tn", 4, "00\xa0tn", 5, "000\xa0tn", 6, "0\xa0mn", 7, "00\xa0mn", 8, "000\xa0mn", 9, "0\xa0md", 10, "00\xa0md", 11, "000\xa0md", 12, "0\xa0bn", 13, "00\xa0bn", 14, "000\xa0bn"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uio0o = new H.GeneralConstantMap([3, "0\xa0\u043c\u044f\u043d\u0433\u0430", 4, "00\xa0\u043c\u044f\u043d\u0433\u0430", 5, "000\xa0\u043c\u044f\u043d\u0433\u0430", 6, "0\xa0\u0441\u0430\u044f", 7, "00\xa0\u0441\u0430\u044f", 8, "000\xa0\u0441\u0430\u044f", 9, "0\xa0\u0442\u044d\u0440\u0431\u0443\u043c", 10, "00\xa0\u0442\u044d\u0440\u0431\u0443\u043c", 11, "000\u0422", 12, "0\u0418\u041d", 13, "00\u0418\u041d", 14, "000\u0418\u041d"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UioGC = new H.GeneralConstantMap([3, "0\xa0\u043c\u044b\u04a3", 4, "00\xa0\u043c\u044b\u04a3", 5, "000\xa0\u043c.", 6, "0\xa0\u043c\u043b\u043d", 7, "00\xa0\u043c\u043b\u043d", 8, "000\xa0\u043c\u043b\u043d", 9, "0\xa0\u043c\u043b\u0440\u0434", 10, "00\xa0\u043c\u043b\u0440\u0434", 11, "000\xa0\u043c\u043b\u0440\u0434", 12, "0\xa0\u0442\u0440\u043b\u043d", 13, "00\xa0\u0442\u0440\u043b\u043d", 14, "000\xa0\u0442\u0440\u043b\u043d"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UioIV = new H.GeneralConstantMap([3, "0", 4, "0", 5, "0", 6, "0\xa0Mio\xa0\xa4", 7, "00\xa0Mio\xa0\xa4", 8, "000\xa0Mio\xa0\xa4", 9, "0\xa0Mrd\xa0\xa4", 10, "00\xa0Mrd\xa0\xa4", 11, "000\xa0Mrd\xa0\xa4", 12, "0\xa0Bln\xa0\xa4", 13, "00\xa0Bln\xa0\xa4", 14, "000\xa0Bln\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UioaE = new H.GeneralConstantMap([3, "0 tis\xedc", 4, "00 tis\xedc", 5, "000 tis\xedc", 6, "0 milion\u016f", 7, "00 milion\u016f", 8, "000 milion\u016f", 9, "0 miliard", 10, "00 miliard", 11, "000 miliard", 12, "0 bilion\u016f", 13, "00 bilion\u016f", 14, "000 bilion\u016f"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uioh2 = new H.GeneralConstantMap([3, "0\xa0\u0438\u043b\u0458.", 4, "00\xa0\u0438\u043b\u0458.", 5, "000\xa0\u0438\u043b\u0458.", 6, "0\xa0\u043c\u0438\u043b.", 7, "00\xa0\u043c\u0438\u043b.", 8, "000\xa0\u041c", 9, "0\xa0\u043c\u0438\u043b\u0458.", 10, "00\xa0\u043c\u0438\u043b\u0458.", 11, "000\xa0\u043c\u0438.", 12, "0\xa0\u0431\u0438\u043b.", 13, "00\xa0\u0431\u0438\u043b.", 14, "000\xa0\u0431\u0438\u043b."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiohJ = new H.GeneralConstantMap([3, "0\xa0\u0570\u0566\u0580\xa0\xa4", 4, "00\xa0\u0570\u0566\u0580\xa0\xa4", 5, "000\xa0\u0570\u0566\u0580\xa0\xa4", 6, "0\xa0\u0574\u056c\u0576\xa0\xa4", 7, "00\xa0\u0574\u056c\u0576\xa0\xa4", 8, "000\xa0\u0574\u056c\u0576\xa0\xa4", 9, "0\xa0\u0574\u056c\u0580\u0564\xa0\xa4", 10, "00\xa0\u0574\u056c\u0580\u0564\xa0\xa4", 11, "000\xa0\u0574\u056c\u0580\u0564\xa0\xa4", 12, "0\xa0\u057f\u0580\u056c\u0576\xa0\xa4", 13, "00\xa0\u057f\u0580\u056c\u0576\xa0\xa4", 14, "000\xa0\u057f\u0580\u056c\u0576\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiotf = new H.GeneralConstantMap([3, "0\xa0tuh\xa0\xa4", 4, "00\xa0tuh\xa0\xa4", 5, "000\xa0tuh\xa0\xa4", 6, "0\xa0mln\xa0\xa4", 7, "00\xa0mln\xa0\xa4", 8, "000\xa0mln\xa0\xa4", 9, "0\xa0mld\xa0\xa4", 10, "00\xa0mld\xa0\xa4", 11, "000\xa0mld\xa0\xa4", 12, "0\xa0trl\xa0\xa4", 13, "00\xa0trl\xa0\xa4", 14, "000\xa0trl\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiowA = new H.GeneralConstantMap([3, "0\xa0\u0445\u0438\u0459.\xa0\xa4", 4, "00\xa0\u0445\u0438\u0459.\xa0\xa4", 5, "000\xa0\u0445\u0438\u0459.\xa0\xa4", 6, "0\xa0\u043c\u0438\u043b.\xa0\xa4", 7, "00\xa0\u043c\u0438\u043b.\xa0\xa4", 8, "000\xa0\u043c\u0438\u043b.\xa0\xa4", 9, "0\xa0\u043c\u043b\u0440\u0434.\xa0\xa4", 10, "00\xa0\u043c\u043b\u0440\u0434.\xa0\xa4", 11, "000\xa0\u043c\u043b\u0440\u0434.\xa0\xa4", 12, "0\xa0\u0431\u0438\u043b.\xa0\xa4", 13, "00\xa0\u0431\u0438\u043b.\xa0\xa4", 14, "000\xa0\u0431\u0438\u043b.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiqAG = new H.GeneralConstantMap([3, "0\xa0Tsg.\xa0\xa4", 4, "00\xa0Tsg.\xa0\xa4", 5, "000\xa0Tsg.\xa0\xa4", 6, "0\xa0Mio.\xa0\xa4", 7, "00\xa0Mio.\xa0\xa4", 8, "000\xa0Mio.\xa0\xa4", 9, "0\xa0Mrd.\xa0\xa4", 10, "00\xa0Mrd.\xa0\xa4", 11, "000\xa0Mrd.\xa0\xa4", 12, "0\xa0Bio.\xa0\xa4", 13, "00\xa0Bio.\xa0\xa4", 14, "000\xa0Bio.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiqJO = new H.GeneralConstantMap([3, "0\xa0tis.", 4, "00\xa0tis.", 5, "000\xa0tis.", 6, "0\xa0mio.", 7, "00\xa0mio.", 8, "000\xa0mio.", 9, "0\xa0mrd.", 10, "00\xa0mrd.", 11, "000\xa0mrd.", 12, "0\xa0bil.", 13, "00\xa0bil.", 14, "000\xa0bil."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiqdg = new H.GeneralConstantMap([3, "0 tusen", 4, "00 tusen", 5, "000 tusen", 6, "0 millioner", 7, "00 millioner", 8, "000 millioner", 9, "0 milliarder", 10, "00 milliarder", 11, "000 milliarder", 12, "0 billioner", 13, "00 billioner", 14, "000 billioner"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiqpA = new H.GeneralConstantMap([3, "0 \u03c7\u03b9\u03bb\u03b9\u03ac\u03b4\u03b5\u03c2", 4, "00 \u03c7\u03b9\u03bb\u03b9\u03ac\u03b4\u03b5\u03c2", 5, "000 \u03c7\u03b9\u03bb\u03b9\u03ac\u03b4\u03b5\u03c2", 6, "0 \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1", 7, "00 \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1", 8, "000 \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1", 9, "0 \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1", 10, "00 \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1", 11, "000 \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1", 12, "0 \u03c4\u03c1\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1", 13, "00 \u03c4\u03c1\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1", 14, "000 \u03c4\u03c1\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UirTD = new H.GeneralConstantMap([3, "0 \u043c\u0438\u04a3", 4, "00 \u043c\u0438\u04a3", 5, "000 \u043c\u0438\u04a3", 6, "0 \u043c\u0438\u043b\u043b\u0438\u043e\u043d", 7, "00 \u043c\u0438\u043b\u043b\u0438\u043e\u043d", 8, "000 \u043c\u0438\u043b\u043b\u0438\u043e\u043d", 9, "0 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434", 10, "00 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434", 11, "000 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434", 12, "0 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d", 13, "00 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d", 14, "000 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uirt1 = new H.GeneralConstantMap([3, "\u0daf0", 4, "\u0daf00", 5, "\u0daf000", 6, "\u0db8\u0dd20", 7, "\u0db8\u0dd200", 8, "\u0db8\u0dd2000", 9, "\u0db6\u0dd20", 10, "\u0db6\u0dd200", 11, "\u0db6\u0dd2000", 12, "\u0da7\u0dca\u200d\u0dbb\u0dd20", 13, "\u0da7\u0dca\u200d\u0dbb\u0dd200", 14, "\u0da7\u0dca\u200d\u0dbb\u0dd2000"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UisIc = new H.GeneralConstantMap([3, "0 tiso\u010d", 4, "00 tiso\u010d", 5, "000 tiso\u010d", 6, "0 milijonov", 7, "00 milijonov", 8, "000 milijonov", 9, "0 milijard", 10, "00 milijard", 11, "000 milijard", 12, "0 bilijonov", 13, "00 bilijonov", 14, "000 bilijonov"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UisQd = new H.GeneralConstantMap([3, "0\xa0N\xa0\xa4", 4, "00\xa0N\xa0\xa4", 5, "000\xa0N\xa0\xa4", 6, "0\xa0Tr\xa0\xa4", 7, "00\xa0Tr\xa0\xa4", 8, "000\xa0Tr\xa0\xa4", 9, "0\xa0T\xa0\xa4", 10, "00\xa0T\xa0\xa4", 11, "000\xa0T\xa0\xa4", 12, "0\xa0NT\xa0\xa4", 13, "00\xa0NT\xa0\xa4", 14, "000\xa0NT\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uisav = new H.GeneralConstantMap([3, "0 duizend", 4, "00 duizend", 5, "000 duizend", 6, "0 miljoen", 7, "00 miljoen", 8, "000 miljoen", 9, "0 miljard", 10, "00 miljard", 11, "000 miljard", 12, "0 biljoen", 13, "00 biljoen", 14, "000 biljoen"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uisew = new H.GeneralConstantMap([3, "0", 4, "0", 5, "0", 6, "0\xa0Mln", 7, "00\xa0Mln", 8, "000\xa0Mln", 9, "0\xa0Mrd", 10, "00\xa0Mrd", 11, "000\xa0Mrd", 12, "0\xa0Bln", 13, "00\xa0Bln", 14, "000\xa0Bln"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiskV = new H.GeneralConstantMap([3, "0\xa0K", 4, "00\xa0k", 5, "000\xa0k", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0k\xa0M", 10, "00k\xa0M", 11, "000k\xa0M", 12, "0\xa0B", 13, "00\xa0B", 14, "000\xa0B"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uisy5 = new H.GeneralConstantMap([3, "0\xa0K", 4, "00\xa0K", 5, "000\xa0K", 6, "0\xa0mil.", 7, "00\xa0mil.", 8, "000\xa0mil.", 9, "0\xa0mld.", 10, "00\xa0mld.", 11, "000\xa0mld.", 12, "0\xa0tril.", 13, "00\xa0tril.", 14, "000\xa0tril."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiuDC = new H.GeneralConstantMap([3, "\xa4\xa00\xa0\u0a39\u0a1c\u0a3c\u0a3e\u0a30", 4, "\xa4\xa000\xa0\u0a39\u0a1c\u0a3c\u0a3e\u0a30", 5, "\xa4\xa00\xa0\u0a32\u0a71\u0a16", 6, "\xa4\xa000\xa0\u0a32\u0a71\u0a16", 7, "\xa4\xa00\xa0\u0a15\u0a30\u0a4b\u0a5c", 8, "\xa4\xa000\xa0\u0a15\u0a30\u0a4b\u0a5c", 9, "\xa4\xa00\xa0\u0a05\u0a30\u0a2c", 10, "\xa4\xa000\xa0\u0a05\u0a30\u0a2c", 11, "\xa4\xa00\xa0\u0a16\u0a30\u0a2c", 12, "\xa4\xa000\xa0\u0a16\u0a30\u0a2c", 13, "\xa4\xa00\xa0\u0a28\u0a40\u0a32", 14, "\xa4\xa000\xa0\u0a28\u0a40\u0a32"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiuDg = new H.GeneralConstantMap([3, "0\xa0k\xa4", 4, "00\xa0k\xa4", 5, "000\xa0k\xa4", 6, "0\xa0M\xa4", 7, "00\xa0M\xa4", 8, "000\xa0M\xa4", 9, "0000\xa0M\xa4", 10, "00\xa0MRD\xa0\xa4", 11, "000\xa0MRD\xa0\xa4", 12, "0\xa0B\xa4", 13, "00\xa0B\xa4", 14, "000\xa0B\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiuNl = new H.GeneralConstantMap([3, "\xa40\xa0\u123a", 4, "\xa400\xa0\u123a", 5, "\xa4000\xa0\u123a", 6, "\xa40\xa0\u121c\u1275\u122d", 7, "\xa400\xa0\u121c\u1275\u122d", 8, "\xa4000\xa0\u121c\u1275\u122d", 9, "\xa40\xa0\u1262", 10, "\xa400\xa0\u1262", 11, "\xa4000\xa0\u1262", 12, "\xa40\xa0\u1275", 13, "\xa400\xa0\u1275", 14, "\xa4000\xa0\u1275"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiuh0 = new H.GeneralConstantMap([3, "0 \u0d06\u0d2f\u0d3f\u0d30\u0d02", 4, "00 \u0d06\u0d2f\u0d3f\u0d30\u0d02", 5, "000 \u0d06\u0d2f\u0d3f\u0d30\u0d02", 6, "0 \u0d26\u0d36\u0d32\u0d15\u0d4d\u0d37\u0d02", 7, "00 \u0d26\u0d36\u0d32\u0d15\u0d4d\u0d37\u0d02", 8, "000 \u0d26\u0d36\u0d32\u0d15\u0d4d\u0d37\u0d02", 9, "0 \u0d32\u0d15\u0d4d\u0d37\u0d02 \u0d15\u0d4b\u0d1f\u0d3f", 10, "00 \u0d32\u0d15\u0d4d\u0d37\u0d02 \u0d15\u0d4b\u0d1f\u0d3f", 11, "000 \u0d32\u0d15\u0d4d\u0d37\u0d02 \u0d15\u0d4b\u0d1f\u0d3f", 12, "0 \u0d1f\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u0d2f\u0d7a", 13, "00 \u0d1f\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u0d2f\u0d7a", 14, "000 \u0d1f\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u0d2f\u0d7a"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiupD = new H.GeneralConstantMap([3, "0\xa0hilj.", 4, "00\xa0hilj.", 5, "000\xa0hilj.", 6, "0\xa0mil.", 7, "00\xa0mil.", 8, "000\xa0mil.", 9, "0\xa0mlr.", 10, "00\xa0mlr.", 11, "000\xa0mlr.", 12, "0\xa0bil.", 13, "00\xa0bil.", 14, "000\xa0bil."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiupb = new H.GeneralConstantMap([3, "0 \u0e9e\u0eb1\u0e99", 4, "00 \u0e9e\u0eb1\u0e99", 5, "0 \u0ec1\u0eaa\u0e99", 6, "0 \u0ea5\u0ec9\u0eb2\u0e99", 7, "00 \u0ea5\u0ec9\u0eb2\u0e99", 8, "000 \u0ea5\u0ec9\u0eb2\u0e99", 9, "0 \u0e95\u0eb7\u0ec9", 10, "00 \u0e95\u0eb7\u0ec9", 11, "000 \u0e95\u0eb7\u0ec9", 12, "0 \u0ea5\u0ec9\u0eb2\u0e99\u0ea5\u0ec9\u0eb2\u0e99", 13, "00 \u0ea5\u0ec9\u0eb2\u0e99\u0ea5\u0ec9\u0eb2\u0e99", 14, "000 \u0ea5\u0ec9\u0eb2\u0e99\u0ea5\u0ec9\u0eb2\u0e99"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiv6I = new H.GeneralConstantMap([3, "0\xa0\u0438\u043b\u0458.\xa0\xa4\xa0", 4, "00\xa0\u0438\u043b\u0458.\xa0\xa4\xa0", 5, "000\xa0\u0438\u043b\u0458.\xa0\xa4\xa0", 6, "0\xa0\u043c\u0438\u043b.\xa0\xa4", 7, "00\xa0\u043c\u0438\u043b.\xa0\xa4", 8, "000\xa0\u043c\u0438\u043b.\xa0\xa4", 9, "0\xa0\u043c\u0438\u043b\u0458.\xa0\xa4", 10, "00\xa0\u043c\u0438\u043b\u0458.\xa0\xa4", 11, "000\xa0\u043c\u0438\u043b\u0458.\xa0\xa4", 12, "0\xa0\u0431\u0438\u043b.\xa0\xa4", 13, "00\xa0\u0431\u0438\u043b.\xa0\xa4", 14, "000\xa0\u0431\u0438\u043b.\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiv97 = new H.GeneralConstantMap([3, "0\u0c35\u0c47", 4, "00\u0c35\u0c47", 5, "000\u0c35\u0c47", 6, "0\u0c2e\u0c3f", 7, "00\u0c2e\u0c3f", 8, "000\u0c2e\u0c3f", 9, "0\u0c2c\u0c3f", 10, "00\u0c2c\u0c3f", 11, "000\u0c2c\u0c3f", 12, "0\u0c1f\u0c4d\u0c30\u0c3f", 13, "00\u0c1f\u0c4d\u0c30\u0c3f", 14, "000\u0c1f\u0c4d\u0c30\u0c3f"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UivD9 = new H.GeneralConstantMap([3, "0\xa0B", 4, "00\xa0B", 5, "000\xa0B", 6, "0\xa0Mn", 7, "00\xa0Mn", 8, "000\xa0Mn", 9, "0\xa0Mr", 10, "00\xa0Mr", 11, "000\xa0Mr", 12, "0\xa0Tn", 13, "00\xa0Tn", 14, "000\xa0Tn"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiwCS = new H.GeneralConstantMap([3, "0", 4, "0\u842c", 5, "00\u842c", 6, "000\u842c", 7, "0000\u842c", 8, "0\u5104", 9, "00\u5104", 10, "000\u5104", 11, "0000\u5104", 12, "0\u5146", 13, "00\u5146", 14, "000\u5146"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiwMy = new H.GeneralConstantMap([3, "0\xa0tis.", 4, "00\xa0tis.", 5, "000\xa0tis.", 6, "0\xa0mil.", 7, "00\xa0mil.", 8, "000\xa0mil.", 9, "0\xa0mlr.", 10, "00\xa0mlr.", 11, "000\xa0mlr.", 12, "0\xa0bil.", 13, "00\xa0bil.", 14, "000\xa0bil."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiwoc0 = new H.GeneralConstantMap([3, "0K", 4, "00K", 5, "000K", 6, "0\xa0mln.", 7, "00\xa0mln.", 8, "000\xa0mln.", 9, "0\xa0mld.", 10, "00\xa0mld.", 11, "000\xa0mld.", 12, "0\xa0bln.", 13, "00\xa0bln.", 14, "000\xa0bln."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiwoc = new H.GeneralConstantMap([3, "0\xa0k", 4, "00\xa0k", 5, "000\xa0k", 6, "0\xa0M", 7, "00\xa0M", 8, "000\xa0M", 9, "0000\xa0M", 10, "00\xa0mil\xa0M", 11, "000\xa0mil\xa0M", 12, "0\xa0B", 13, "00\xa0B", 14, "000\xa0B"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiww80 = new H.GeneralConstantMap([3, "0 inkulungwane", 4, "00 inkulungwane", 5, "000 inkulungwane", 6, "0 isigidi", 7, "00 isigidi", 8, "000 isigidi", 9, "0 isigidi sezigidi", 10, "00 isigidi sezigidi", 11, "000 isigidi sezigidi", 12, "0 isigidintathu", 13, "00 isigidintathu", 14, "000 isigidintathu"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiww8 = new H.GeneralConstantMap([3, "0\xa0tuh", 4, "00\xa0tuh", 5, "000\xa0tuh", 6, "0\xa0mln", 7, "00\xa0mln", 8, "000\xa0mln", 9, "0\xa0mld", 10, "00\xa0mld", 11, "000\xa0mld", 12, "0\xa0trl", 13, "00\xa0trl", 14, "000\xa0trl"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiy0R = new H.GeneralConstantMap([3, "0\xa0\u0445\u0438\u043b.", 4, "00\xa0\u0445\u0438\u043b.", 5, "000\xa0\u0445\u0438\u043b.", 6, "0\xa0\u043c\u043b\u043d.", 7, "00\xa0\u043c\u043b\u043d.", 8, "000\xa0\u043c\u043b\u043d.", 9, "0\xa0\u043c\u043b\u0440\u0434.", 10, "00\xa0\u043c\u043b\u0440\u0434.", 11, "000\xa0\u043c\u043b\u0440\u0434.", 12, "0\xa0\u0442\u0440\u043b\u043d.", 13, "00\xa0\u0442\u0440\u043b\u043d.", 14, "000\xa0\u0442\u0440\u043b\u043d."], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiy3e = new H.GeneralConstantMap([3, "0\xa0\u043c\u044b\u04a3\xa0\xa4", 4, "00\xa0\u043c\u044b\u04a3\xa0\xa4", 5, "000\xa0\u043c\u044b\u04a3\xa0\xa4", 6, "0\xa0\u043c\u043b\u043d\xa0\xa4", 7, "00\xa0\u043c\u043b\u043d\xa0\xa4", 8, "000\xa0\u043c\u043b\u043d\xa0\xa4", 9, "0\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 10, "00\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 11, "000\xa0\u043c\u043b\u0440\u0434\xa0\xa4", 12, "0\xa0\u0442\u0440\u043b\u043d\xa0\xa4", 13, "00\xa0\u0442\u0440\u043b\u043d\xa0\xa4", 14, "000\xa0\u0442\u0440\u043b\u043d\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiyDQ = new H.GeneralConstantMap([3, "0 \u123a", 4, "00 \u123a", 5, "000 \u123a", 6, "0 \u121a\u120a\u12ee\u1295", 7, "00 \u121a\u120a\u12ee\u1295", 8, "000 \u121a\u120a\u12ee\u1295", 9, "0 \u1262\u120a\u12ee\u1295", 10, "00 \u1262\u120a\u12ee\u1295", 11, "000 \u1262\u120a\u12ee\u1295", 12, "0 \u1275\u122a\u120a\u12ee\u1295", 13, "00 \u1275\u122a\u120a\u12ee\u1295", 14, "000 \u1275\u122a\u120a\u12ee\u1295"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiyP5 = new H.GeneralConstantMap([3, "\xa40\xa0\u0939", 4, "\xa400\xa0\u0939", 5, "\xa40\xa0\u0932\u093e\u0916", 6, "\xa400\xa0\u0932\u093e\u0916", 7, "\xa40\xa0\u0915\u094b\u091f\u0940", 8, "\xa400\xa0\u0915\u094b\u091f\u0940", 9, "\xa40\xa0\u0905\u092c\u094d\u091c", 10, "\xa400\xa0\u0905\u092c\u094d\u091c", 11, "\xa40\xa0\u0916\u0930\u094d\u0935", 12, "\xa400\xa0\u0916\u0930\u094d\u0935", 13, "\xa40\xa0\u092a\u0926\u094d\u092e", 14, "\xa400\xa0\u092a\u0926\u094d\u092e"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiyTE = new H.GeneralConstantMap([3, "\xa4\xa00\xa0\u06c1\u0632\u0627\u0631", 4, "\xa4\xa000\xa0\u06c1\u0632\u0627\u0631", 5, "\xa4\xa00\xa0\u0644\u0627\u06a9\u06be", 6, "\xa4\xa000\xa0\u0644\u0627\u06a9\u06be", 7, "\xa4\xa00\xa0\u06a9\u0631\u0648\u0691", 8, "\xa4\xa000\xa0\u06a9\u0631\u0648\u0691", 9, "\xa4\xa00\xa0\u0627\u0631\u0628", 10, "\xa4\xa000\xa0\u0627\u0631\u0628", 11, "\xa4\xa00\xa0\u06a9\u06be\u0631\u0628", 12, "\xa40\xa0\u0679\u0631\u06cc\u0644\u06cc\u0646", 13, "\xa4\xa000\xa0\u0679\u0631\u06cc\u0644\u06cc\u0646", 14, "\xa4\xa0000\xa0\u0679\u0631\u06cc\u0644\u06cc\u0646"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiyXb = new H.GeneralConstantMap([3, "0 \u0939\u091c\u093e\u0930", 4, "00 \u0939\u091c\u093e\u0930", 5, "0 \u0932\u093e\u0916", 6, "00 \u0932\u093e\u0916", 7, "0 \u0915\u094b\u091f\u0940", 8, "00 \u0915\u094b\u091f\u0940", 9, "0 \u0905\u092c\u094d\u091c", 10, "00 \u0905\u092c\u094d\u091c", 11, "0 \u0916\u0930\u094d\u0935", 12, "00 \u0916\u0930\u094d\u0935", 13, "0 \u092a\u0926\u094d\u092e", 14, "00 \u092a\u0926\u094d\u092e"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiyhR = new H.GeneralConstantMap([3, "0\xa0tys.\xa0\xa4", 4, "00\xa0tys.\xa0\xa4", 5, "000\xa0tys.\xa0\xa4", 6, "0\xa0mln\xa0\xa4", 7, "00\xa0mln\xa0\xa4", 8, "000\xa0mln\xa0\xa4", 9, "0\xa0mld\xa0\xa4", 10, "00\xa0mld\xa0\xa4", 11, "000\xa0mld\xa0\xa4", 12, "0\xa0bln\xa0\xa4", 13, "00\xa0bln\xa0\xa4", 14, "000\xa0bln\xa0\xa4"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UiyrG = new H.GeneralConstantMap([3, "0", 4, "0", 5, "0", 6, "0 mill\xf3ns", 7, "00 mill\xf3ns", 8, "000 mill\xf3ns", 9, "0", 10, "0", 11, "0", 12, "0 bill\xf3ns", 13, "00 bill\xf3ns", 14, "000 bill\xf3ns"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uiyvd = new H.GeneralConstantMap([3, "0 ezer", 4, "00 ezer", 5, "000 ezer", 6, "0 milli\xf3", 7, "00 milli\xf3", 8, "000 milli\xf3", 9, "0 milli\xe1rd", 10, "00 milli\xe1rd", 11, "000 milli\xe1rd", 12, "0 billi\xf3", 13, "00 billi\xf3", 14, "000 billi\xf3"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UizF8 = new H.GeneralConstantMap([3, "0 \u0647\u0632\u0627\u0631", 4, "00 \u0647\u0632\u0627\u0631", 5, "000 \u0647\u0632\u0627\u0631", 6, "0 \u0645\u06cc\u0644\u06cc\u0648\u0646", 7, "00 \u0645\u06cc\u0644\u06cc\u0648\u0646", 8, "000 \u0645\u06cc\u0644\u06cc\u0648\u0646", 9, "0 \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f", 10, "00 \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f", 11, "000 \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f", 12, "0 \u0647\u0632\u0627\u0631\u0645\u06cc\u0644\u06cc\u0627\u0631\u062f", 13, "00 \u0647\u0632\u0627\u0631\u0645\u06cc\u0644\u06cc\u0627\u0631\u062f", 14, "000 \u0647\u0632\u0627\u0631\u0645\u06cc\u0644\u06cc\u0627\u0631\u062f"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_UizHO = new H.GeneralConstantMap([3, "0 \u0939\u091c\u093c\u093e\u0930", 4, "00 \u0939\u091c\u093c\u093e\u0930", 5, "0 \u0932\u093e\u0916", 6, "00 \u0932\u093e\u0916", 7, "0 \u0915\u0930\u094b\u0921\u093c", 8, "00 \u0915\u0930\u094b\u0921\u093c", 9, "0 \u0905\u0930\u092c", 10, "00 \u0905\u0930\u092c", 11, "0 \u0916\u0930\u092c", 12, "00 \u0916\u0930\u092c", 13, "000 \u0916\u0930\u092c", 14, "0000 \u0916\u0930\u092c"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.Map_Uizjx = new H.GeneralConstantMap([3, "\xa4\xa00K", 4, "\xa4\xa000K", 5, "\xa4000K", 6, "\xa40M", 7, "\xa400M", 8, "\xa4000M", 9, "\xa40B", 10, "\xa400B", 11, "\xa4000B", 12, "\xa40T", 13, "\xa400T", 14, "\xa4000T"], type$.GeneralConstantMap_of_legacy_int_and_legacy_String);
    C.List_ImageCache = H._setArrayType(makeConstList(["ImageCache"]), type$.JSArray_legacy_String);
    C.List_ds3 = H._setArrayType(makeConstList(["_pendingImages", "data_", "completer", "context_", "url"]), type$.JSArray_legacy_String);
    C.List_xhN = H._setArrayType(makeConstList(["_cache", "data_", "completer", "context_", "url"]), type$.JSArray_legacy_String);
    C.List_vAV = H._setArrayType(makeConstList(["_liveImages", "data_", "completer", "context_", "url"]), type$.JSArray_legacy_String);
    C.List_MY2 = H._setArrayType(makeConstList([C.List_ds3, C.List_xhN, C.List_vAV]), H.findType("JSArray<List<String*>*>"));
    C.Map_UqKiG = new H.ConstantStringMap(1, {ImageCache: C.List_MY2}, C.List_ImageCache, H.findType("ConstantStringMap<String*,List<List<String*>*>*>"));
    C.List_YCM = H._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_legacy_String);
    C.Map_YCOho = new H.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"}, C.List_YCM, type$.ConstantStringMap_of_legacy_String_and_legacy_String);
    C.List_YVI = H._setArrayType(makeConstList(["None", "Hyper", "Super", "FnLock", "Suspend", "Resume", "Turbo", "PrivacyScreenToggle", "Sleep", "WakeUp", "DisplayToggleIntExt", "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", "Digit1", "Digit2", "Digit3", "Digit4", "Digit5", "Digit6", "Digit7", "Digit8", "Digit9", "Digit0", "Enter", "Escape", "Backspace", "Tab", "Space", "Minus", "Equal", "BracketLeft", "BracketRight", "Backslash", "Semicolon", "Quote", "Backquote", "Comma", "Period", "Slash", "CapsLock", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "PrintScreen", "ScrollLock", "Pause", "Insert", "Home", "PageUp", "Delete", "End", "PageDown", "ArrowRight", "ArrowLeft", "ArrowDown", "ArrowUp", "NumLock", "NumpadDivide", "NumpadMultiply", "NumpadSubtract", "NumpadAdd", "NumpadEnter", "Numpad1", "Numpad2", "Numpad3", "Numpad4", "Numpad5", "Numpad6", "Numpad7", "Numpad8", "Numpad9", "Numpad0", "NumpadDecimal", "IntlBackslash", "ContextMenu", "Power", "NumpadEqual", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "Open", "Help", "Select", "Again", "Undo", "Cut", "Copy", "Paste", "Find", "AudioVolumeMute", "AudioVolumeUp", "AudioVolumeDown", "NumpadComma", "IntlRo", "KanaMode", "IntlYen", "Convert", "NonConvert", "Lang1", "Lang2", "Lang3", "Lang4", "Lang5", "Abort", "Props", "NumpadParenLeft", "NumpadParenRight", "NumpadBackspace", "NumpadMemoryStore", "NumpadMemoryRecall", "NumpadMemoryClear", "NumpadMemoryAdd", "NumpadMemorySubtract", "NumpadClear", "NumpadClearEntry", "ControlLeft", "ShiftLeft", "AltLeft", "MetaLeft", "ControlRight", "ShiftRight", "AltRight", "MetaRight", "BrightnessUp", "BrightnessDown", "MediaPlay", "MediaPause", "MediaRecord", "MediaFastForward", "MediaRewind", "MediaTrackNext", "MediaTrackPrevious", "MediaStop", "Eject", "MediaPlayPause", "MediaSelect", "LaunchMail", "LaunchApp2", "LaunchApp1", "LaunchControlPanel", "SelectTask", "LaunchScreenSaver", "LaunchAssistant", "BrowserSearch", "BrowserHome", "BrowserBack", "BrowserForward", "BrowserStop", "BrowserRefresh", "BrowserFavorites", "ZoomToggle", "MailReply", "MailForward", "MailSend", "KeyboardLayoutSelect", "ShowAllWindows", "GameButton1", "GameButton2", "GameButton3", "GameButton4", "GameButton5", "GameButton6", "GameButton7", "GameButton8", "GameButton9", "GameButton10", "GameButton11", "GameButton12", "GameButton13", "GameButton14", "GameButton15", "GameButton16", "GameButtonA", "GameButtonB", "GameButtonC", "GameButtonLeft1", "GameButtonLeft2", "GameButtonMode", "GameButtonRight1", "GameButtonRight2", "GameButtonSelect", "GameButtonStart", "GameButtonThumbLeft", "GameButtonThumbRight", "GameButtonX", "GameButtonY", "GameButtonZ", "Fn"]), type$.JSArray_legacy_String);
    C.Map_YV6he = new H.ConstantStringMap(230, {None: 0, Hyper: 16, Super: 17, FnLock: 19, Suspend: 20, Resume: 21, Turbo: 22, PrivacyScreenToggle: 23, Sleep: 65666, WakeUp: 65667, DisplayToggleIntExt: 65717, 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, Digit1: 458782, Digit2: 458783, Digit3: 458784, Digit4: 458785, Digit5: 458786, Digit6: 458787, Digit7: 458788, Digit8: 458789, Digit9: 458790, Digit0: 458791, Enter: 458792, Escape: 458793, Backspace: 458794, Tab: 458795, Space: 458796, Minus: 458797, Equal: 458798, BracketLeft: 458799, BracketRight: 458800, Backslash: 458801, Semicolon: 458803, Quote: 458804, Backquote: 458805, Comma: 458806, Period: 458807, Slash: 458808, CapsLock: 458809, F1: 458810, F2: 458811, F3: 458812, F4: 458813, F5: 458814, F6: 458815, F7: 458816, F8: 458817, F9: 458818, F10: 458819, F11: 458820, F12: 458821, PrintScreen: 458822, ScrollLock: 458823, Pause: 458824, Insert: 458825, Home: 458826, PageUp: 458827, Delete: 458828, End: 458829, PageDown: 458830, ArrowRight: 458831, ArrowLeft: 458832, ArrowDown: 458833, ArrowUp: 458834, NumLock: 458835, NumpadDivide: 458836, NumpadMultiply: 458837, NumpadSubtract: 458838, NumpadAdd: 458839, NumpadEnter: 458840, Numpad1: 458841, Numpad2: 458842, Numpad3: 458843, Numpad4: 458844, Numpad5: 458845, Numpad6: 458846, Numpad7: 458847, Numpad8: 458848, Numpad9: 458849, Numpad0: 458850, NumpadDecimal: 458851, IntlBackslash: 458852, ContextMenu: 458853, Power: 458854, NumpadEqual: 458855, F13: 458856, F14: 458857, F15: 458858, F16: 458859, F17: 458860, F18: 458861, F19: 458862, F20: 458863, F21: 458864, F22: 458865, F23: 458866, F24: 458867, Open: 458868, Help: 458869, Select: 458871, Again: 458873, Undo: 458874, Cut: 458875, Copy: 458876, Paste: 458877, Find: 458878, AudioVolumeMute: 458879, AudioVolumeUp: 458880, AudioVolumeDown: 458881, NumpadComma: 458885, IntlRo: 458887, KanaMode: 458888, IntlYen: 458889, Convert: 458890, NonConvert: 458891, Lang1: 458896, Lang2: 458897, Lang3: 458898, Lang4: 458899, Lang5: 458900, Abort: 458907, Props: 458915, NumpadParenLeft: 458934, NumpadParenRight: 458935, NumpadBackspace: 458939, NumpadMemoryStore: 458960, NumpadMemoryRecall: 458961, NumpadMemoryClear: 458962, NumpadMemoryAdd: 458963, NumpadMemorySubtract: 458964, NumpadClear: 458968, NumpadClearEntry: 458969, ControlLeft: 458976, ShiftLeft: 458977, AltLeft: 458978, MetaLeft: 458979, ControlRight: 458980, ShiftRight: 458981, AltRight: 458982, MetaRight: 458983, BrightnessUp: 786543, BrightnessDown: 786544, MediaPlay: 786608, MediaPause: 786609, MediaRecord: 786610, MediaFastForward: 786611, MediaRewind: 786612, MediaTrackNext: 786613, MediaTrackPrevious: 786614, MediaStop: 786615, Eject: 786616, MediaPlayPause: 786637, MediaSelect: 786819, LaunchMail: 786826, LaunchApp2: 786834, LaunchApp1: 786836, LaunchControlPanel: 786847, SelectTask: 786850, LaunchScreenSaver: 786865, LaunchAssistant: 786891, BrowserSearch: 786977, BrowserHome: 786979, BrowserBack: 786980, BrowserForward: 786981, BrowserStop: 786982, BrowserRefresh: 786983, BrowserFavorites: 786986, ZoomToggle: 786994, MailReply: 787081, MailForward: 787083, MailSend: 787084, KeyboardLayoutSelect: 787101, ShowAllWindows: 787103, GameButton1: 392961, GameButton2: 392962, GameButton3: 392963, GameButton4: 392964, GameButton5: 392965, GameButton6: 392966, GameButton7: 392967, GameButton8: 392968, GameButton9: 392969, GameButton10: 392970, GameButton11: 392971, GameButton12: 392972, GameButton13: 392973, GameButton14: 392974, GameButton15: 392975, GameButton16: 392976, 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, Fn: 18}, C.List_YVI, type$.ConstantStringMap_of_legacy_String_and_legacy_int);
    C.Map_empty8 = new H.ConstantStringMap(0, {}, C.List_empty2, H.findType("ConstantStringMap<@,@>"));
    C.List_empty24 = H._setArrayType(makeConstList([]), H.findType("JSArray<DismissDirection*>"));
    C.Map_empty9 = new H.ConstantStringMap(0, {}, C.List_empty24, H.findType("ConstantStringMap<DismissDirection*,double*>"));
    C.Map_empty4 = new H.ConstantStringMap(0, {}, C.List_empty2, H.findType("ConstantStringMap<Object*,_HeroState*>"));
    C.List_empty25 = H._setArrayType(makeConstList([]), H.findType("JSArray<PersistedSurface*>"));
    C.Map_empty0 = new H.ConstantStringMap(0, {}, C.List_empty25, H.findType("ConstantStringMap<PersistedSurface*,PersistedSurface*>"));
    C.List_empty26 = H._setArrayType(makeConstList([]), H.findType("JSArray<ShortcutActivator*>"));
    C.Map_empty1 = new H.ConstantStringMap(0, {}, C.List_empty26, H.findType("ConstantStringMap<ShortcutActivator*,Intent*>"));
    C.Map_empty6 = new H.ConstantStringMap(0, {}, C.List_empty, H.findType("ConstantStringMap<String*,@>"));
    C.Map_empty10 = new H.ConstantStringMap(0, {}, C.List_empty, H.findType("ConstantStringMap<String*,HttpRequestData*>"));
    C.Map_empty5 = new H.ConstantStringMap(0, {}, C.List_empty, type$.ConstantStringMap_of_legacy_String_and_legacy_String);
    C.List_empty27 = H._setArrayType(makeConstList([]), H.findType("JSArray<Symbol0*>"));
    C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty27, H.findType("ConstantStringMap<Symbol0*,@>"));
    C.List_empty28 = H._setArrayType(makeConstList([]), H.findType("JSArray<Type*>"));
    C.Map_empty3 = new H.ConstantStringMap(0, {}, C.List_empty28, H.findType("ConstantStringMap<Type*,GestureRecognizer*>"));
    C.Map_empty7 = new H.ConstantStringMap(0, {}, C.List_empty28, H.findType("ConstantStringMap<Type*,GestureRecognizerFactory<GestureRecognizer*>*>"));
    C.List_gFn = H._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_legacy_String);
    C.Map_gFKQ1 = new H.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"}, C.List_gFn, type$.ConstantStringMap_of_legacy_String_and_legacy_String);
    C.WildcardMatch_3 = new D.WildcardMatch(3, "WildcardMatch.contains");
    C.WildcardMatch_1 = new D.WildcardMatch(1, "WildcardMatch.startsWith");
    C.WildcardMatch_0 = new D.WildcardMatch(0, "WildcardMatch.exact");
    C.WildcardMatch_2 = new D.WildcardMatch(2, "WildcardMatch.endsWith");
    C.List_Image = H._setArrayType(makeConstList(["Image"]), type$.JSArray_legacy_String);
    C.List__Int32List__Int64List_FrameInfos = H._setArrayType(makeConstList(["_Int32List", "_Int64List", "FrameInfos"]), type$.JSArray_legacy_String);
    C.Map_gkmqK = new H.GeneralConstantMap([C.WildcardMatch_3, C.List_Image, C.WildcardMatch_1, C.List_empty, C.WildcardMatch_0, C.List__Int32List__Int64List_FrameInfos, C.WildcardMatch_2, C.List_empty], H.findType("GeneralConstantMap<WildcardMatch*,List<String*>*>"));
    C.Color_4293558524 = new P.Color(4293558524);
    C.Color_4292886779 = new P.Color(4292886779);
    C.Color_4292149497 = new P.Color(4292149497);
    C.Color_4289331455 = new P.Color(4289331455);
    C.Map_iT2jN = new H.GeneralConstantMap([100, C.Color_4293558524, 200, C.Color_4292886779, 400, C.Color_4292149497, 700, C.Color_4289331455], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.Color_4280295716 = new P.Color(4280295716);
    C.Color_4284507243 = new P.Color(4284507243);
    C.Color_4292204506 = new P.Color(4292204506);
    C.Color_4293585900 = new P.Color(4293585900);
    C.Map_iTJgp = new H.GeneralConstantMap([900, C.Color_4280295716, 600, C.Color_4284507243, 100, C.Color_4292204506, 50, C.Color_4293585900], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.Color_4289200107 = new P.Color(4289200107);
    C.Color_4284809178 = new P.Color(4284809178);
    C.Color_4280150454 = new P.Color(4280150454);
    C.Color_4278239141 = new P.Color(4278239141);
    C.Map_iTYZn = new H.GeneralConstantMap([100, C.Color_4289200107, 200, C.Color_4284809178, 400, C.Color_4280150454, 700, C.Color_4278239141], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.Color_4290377418 = new P.Color(4290377418);
    C.Color_4285132974 = new P.Color(4285132974);
    C.Color_4278249078 = new P.Color(4278249078);
    C.Color_4278241363 = new P.Color(4278241363);
    C.Map_iTc0J = new H.GeneralConstantMap([100, C.Color_4290377418, 200, C.Color_4285132974, 400, C.Color_4278249078, 700, C.Color_4278241363], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.Color_4294967181 = new P.Color(4294967181);
    C.Color_4294967040 = new P.Color(4294967040);
    C.Color_4294961664 = new P.Color(4294961664);
    C.Color_4294956544 = new P.Color(4294956544);
    C.Map_iTwHq = new H.GeneralConstantMap([100, C.Color_4294967181, 200, C.Color_4294967040, 400, C.Color_4294961664, 700, C.Color_4294956544], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.List_mC80 = H._setArrayType(makeConstList(["None", "Unidentified", "Backspace", "Tab", "Enter", "Escape", "Space", "Exclamation", "Quote", "NumberSign", "Dollar", "Ampersand", "QuoteSingle", "ParenthesisLeft", "ParenthesisRight", "Asterisk", "Add", "Comma", "Minus", "Period", "Slash", "Digit0", "Digit1", "Digit2", "Digit3", "Digit4", "Digit5", "Digit6", "Digit7", "Digit8", "Digit9", "Colon", "Semicolon", "Less", "Equal", "Greater", "Question", "At", "BracketLeft", "Backslash", "BracketRight", "Caret", "Underscore", "Backquote", "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", "BraceLeft", "Bar", "BraceRight", "Tilde", "Delete", "Accel", "AltGraph", "CapsLock", "Fn", "FnLock", "Hyper", "NumLock", "ScrollLock", "Super", "Symbol", "SymbolLock", "ShiftLevel5", "AltGraphLatch", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp", "End", "Home", "PageDown", "PageUp", "Clear", "Copy", "CrSel", "Cut", "EraseEof", "ExSel", "Insert", "Paste", "Redo", "Undo", "Accept", "Again", "Attn", "Cancel", "ContextMenu", "Execute", "Find", "Help", "Pause", "Play", "Props", "Select", "ZoomIn", "ZoomOut", "BrightnessDown", "BrightnessUp", "Camera", "Eject", "LogOff", "Power", "PowerOff", "PrintScreen", "Hibernate", "Standby", "WakeUp", "AllCandidates", "Alphanumeric", "CodeInput", "Compose", "Convert", "FinalMode", "GroupFirst", "GroupLast", "GroupNext", "GroupPrevious", "ModeChange", "NextCandidate", "NonConvert", "PreviousCandidate", "Process", "SingleCandidate", "HangulMode", "HanjaMode", "JunjaMode", "Eisu", "Hankaku", "Hiragana", "HiraganaKatakana", "KanaMode", "KanjiMode", "Katakana", "Romaji", "Zenkaku", "ZenkakuHankaku", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "Soft1", "Soft2", "Soft3", "Soft4", "Soft5", "Soft6", "Soft7", "Soft8", "Close", "MailForward", "MailReply", "MailSend", "MediaPlayPause", "MediaStop", "MediaTrackNext", "MediaTrackPrevious", "New", "Open", "Print", "Save", "SpellCheck", "AudioVolumeDown", "AudioVolumeUp", "AudioVolumeMute", "LaunchApplication2", "LaunchCalendar", "LaunchMail", "LaunchMediaPlayer", "LaunchMusicPlayer", "LaunchApplication1", "LaunchScreenSaver", "LaunchSpreadsheet", "LaunchWebBrowser", "LaunchWebCam", "LaunchWordProcessor", "LaunchContacts", "LaunchPhone", "LaunchAssistant", "LaunchControlPanel", "BrowserBack", "BrowserFavorites", "BrowserForward", "BrowserHome", "BrowserRefresh", "BrowserSearch", "BrowserStop", "AudioBalanceLeft", "AudioBalanceRight", "AudioBassBoostDown", "AudioBassBoostUp", "AudioFaderFront", "AudioFaderRear", "AudioSurroundModeNext", "AVRInput", "AVRPower", "ChannelDown", "ChannelUp", "ColorF0Red", "ColorF1Green", "ColorF2Yellow", "ColorF3Blue", "ColorF4Grey", "ColorF5Brown", "ClosedCaptionToggle", "Dimmer", "DisplaySwap", "Exit", "FavoriteClear0", "FavoriteClear1", "FavoriteClear2", "FavoriteClear3", "FavoriteRecall0", "FavoriteRecall1", "FavoriteRecall2", "FavoriteRecall3", "FavoriteStore0", "FavoriteStore1", "FavoriteStore2", "FavoriteStore3", "Guide", "GuideNextDay", "GuidePreviousDay", "Info", "InstantReplay", "Link", "ListProgram", "LiveContent", "Lock", "MediaApps", "MediaFastForward", "MediaLast", "MediaPause", "MediaPlay", "MediaRecord", "MediaRewind", "MediaSkip", "NextFavoriteChannel", "NextUserProfile", "OnDemand", "PinPDown", "PinPMove", "PinPToggle", "PinPUp", "PlaySpeedDown", "PlaySpeedReset", "PlaySpeedUp", "RandomToggle", "RcLowBattery", "RecordSpeedNext", "RfBypass", "ScanChannelsToggle", "ScreenModeNext", "Settings", "SplitScreenToggle", "STBInput", "STBPower", "Subtitle", "Teletext", "TV", "TVInput", "TVPower", "VideoModeNext", "Wink", "ZoomToggle", "DVR", "MediaAudioTrack", "MediaSkipBackward", "MediaSkipForward", "MediaStepBackward", "MediaStepForward", "MediaTopMenu", "NavigateIn", "NavigateNext", "NavigateOut", "NavigatePrevious", "Pairing", "MediaClose", "AudioBassBoostToggle", "AudioTrebleDown", "AudioTrebleUp", "MicrophoneToggle", "MicrophoneVolumeDown", "MicrophoneVolumeUp", "MicrophoneVolumeMute", "SpeechCorrectionList", "SpeechInputToggle", "AppSwitch", "Call", "CameraFocus", "EndCall", "GoBack", "GoHome", "HeadsetHook", "LastNumberRedial", "Notification", "MannerMode", "VoiceDial", "TV3DMode", "TVAntennaCable", "TVAudioDescription", "TVAudioDescriptionMixDown", "TVAudioDescriptionMixUp", "TVContentsMenu", "TVDataService", "TVInputComponent1", "TVInputComponent2", "TVInputComposite1", "TVInputComposite2", "TVInputHDMI1", "TVInputHDMI2", "TVInputHDMI3", "TVInputHDMI4", "TVInputVGA1", "TVMediaContext", "TVNetwork", "TVNumberEntry", "TVRadioService", "TVSatellite", "TVSatelliteBS", "TVSatelliteCS", "TVSatelliteToggle", "TVTerrestrialAnalog", "TVTerrestrialDigital", "TVTimer", "Key11", "Key12", "GameButton1", "GameButton2", "GameButton3", "GameButton4", "GameButton5", "GameButton6", "GameButton7", "GameButton8", "GameButton9", "GameButton10", "GameButton11", "GameButton12", "GameButton13", "GameButton14", "GameButton15", "GameButton16", "GameButtonA", "GameButtonB", "GameButtonC", "GameButtonLeft1", "GameButtonLeft2", "GameButtonMode", "GameButtonRight1", "GameButtonRight2", "GameButtonSelect", "GameButtonStart", "GameButtonThumbLeft", "GameButtonThumbRight", "GameButtonX", "GameButtonY", "GameButtonZ", "Suspend", "Resume", "Sleep", "IntlBackslash", "IntlRo", "IntlYen", "Lang1", "Lang2", "Lang3", "Lang4", "Lang5", "Abort"]), type$.JSArray_legacy_String);
    C.Map_mC8xL = new H.ConstantStringMap(413, {None: 0, Unidentified: 1, Backspace: 8, Tab: 9, Enter: 13, Escape: 27, Space: 32, Exclamation: 33, Quote: 34, NumberSign: 35, Dollar: 36, Ampersand: 38, QuoteSingle: 39, ParenthesisLeft: 40, ParenthesisRight: 41, Asterisk: 42, Add: 43, Comma: 44, Minus: 45, Period: 46, Slash: 47, Digit0: 48, Digit1: 49, Digit2: 50, Digit3: 51, Digit4: 52, Digit5: 53, Digit6: 54, Digit7: 55, Digit8: 56, Digit9: 57, Colon: 58, Semicolon: 59, Less: 60, Equal: 61, Greater: 62, Question: 63, At: 64, BracketLeft: 91, Backslash: 92, BracketRight: 93, Caret: 94, Underscore: 95, Backquote: 96, KeyA: 97, KeyB: 98, KeyC: 99, KeyD: 100, KeyE: 101, KeyF: 102, KeyG: 103, KeyH: 104, KeyI: 105, KeyJ: 106, KeyK: 107, KeyL: 108, KeyM: 109, KeyN: 110, KeyO: 111, KeyP: 112, KeyQ: 113, KeyR: 114, KeyS: 115, KeyT: 116, KeyU: 117, KeyV: 118, KeyW: 119, KeyX: 120, KeyY: 121, KeyZ: 122, BraceLeft: 123, Bar: 124, BraceRight: 125, Tilde: 126, Delete: 127, Accel: 257, AltGraph: 259, CapsLock: 260, Fn: 262, FnLock: 263, Hyper: 264, NumLock: 266, ScrollLock: 268, Super: 270, Symbol: 271, SymbolLock: 272, ShiftLevel5: 273, AltGraphLatch: 274, ArrowDown: 769, ArrowLeft: 770, ArrowRight: 771, ArrowUp: 772, End: 773, Home: 774, PageDown: 775, PageUp: 776, Clear: 1025, Copy: 1026, CrSel: 1027, Cut: 1028, EraseEof: 1029, ExSel: 1030, Insert: 1031, Paste: 1032, Redo: 1033, Undo: 1034, Accept: 1281, Again: 1282, Attn: 1283, Cancel: 1284, ContextMenu: 1285, Execute: 1286, Find: 1287, Help: 1288, Pause: 1289, Play: 1290, Props: 1291, Select: 1292, ZoomIn: 1293, ZoomOut: 1294, BrightnessDown: 1537, BrightnessUp: 1538, Camera: 1539, Eject: 1540, LogOff: 1541, Power: 1542, PowerOff: 1543, PrintScreen: 1544, Hibernate: 1545, Standby: 1546, WakeUp: 1547, AllCandidates: 1793, Alphanumeric: 1794, CodeInput: 1795, Compose: 1796, Convert: 1797, FinalMode: 1798, GroupFirst: 1799, GroupLast: 1800, GroupNext: 1801, GroupPrevious: 1802, ModeChange: 1803, NextCandidate: 1804, NonConvert: 1805, PreviousCandidate: 1806, Process: 1807, SingleCandidate: 1808, HangulMode: 1809, HanjaMode: 1810, JunjaMode: 1811, Eisu: 1812, Hankaku: 1813, Hiragana: 1814, HiraganaKatakana: 1815, KanaMode: 1816, KanjiMode: 1817, Katakana: 1818, Romaji: 1819, Zenkaku: 1820, ZenkakuHankaku: 1821, F1: 2049, F2: 2050, F3: 2051, F4: 2052, F5: 2053, F6: 2054, F7: 2055, F8: 2056, F9: 2057, F10: 2058, F11: 2059, F12: 2060, F13: 2061, F14: 2062, F15: 2063, F16: 2064, F17: 2065, F18: 2066, F19: 2067, F20: 2068, F21: 2069, F22: 2070, F23: 2071, F24: 2072, Soft1: 2305, Soft2: 2306, Soft3: 2307, Soft4: 2308, Soft5: 2309, Soft6: 2310, Soft7: 2311, Soft8: 2312, Close: 2561, MailForward: 2562, MailReply: 2563, MailSend: 2564, MediaPlayPause: 2565, MediaStop: 2567, MediaTrackNext: 2568, MediaTrackPrevious: 2569, New: 2570, Open: 2571, Print: 2572, Save: 2573, SpellCheck: 2574, AudioVolumeDown: 2575, AudioVolumeUp: 2576, AudioVolumeMute: 2577, LaunchApplication2: 2817, LaunchCalendar: 2818, LaunchMail: 2819, LaunchMediaPlayer: 2820, LaunchMusicPlayer: 2821, LaunchApplication1: 2822, LaunchScreenSaver: 2823, LaunchSpreadsheet: 2824, LaunchWebBrowser: 2825, LaunchWebCam: 2826, LaunchWordProcessor: 2827, LaunchContacts: 2828, LaunchPhone: 2829, LaunchAssistant: 2830, LaunchControlPanel: 2831, BrowserBack: 3073, BrowserFavorites: 3074, BrowserForward: 3075, BrowserHome: 3076, BrowserRefresh: 3077, BrowserSearch: 3078, BrowserStop: 3079, AudioBalanceLeft: 3329, AudioBalanceRight: 3330, AudioBassBoostDown: 3331, AudioBassBoostUp: 3332, AudioFaderFront: 3333, AudioFaderRear: 3334, AudioSurroundModeNext: 3335, AVRInput: 3336, AVRPower: 3337, ChannelDown: 3338, ChannelUp: 3339, ColorF0Red: 3340, ColorF1Green: 3341, ColorF2Yellow: 3342, ColorF3Blue: 3343, ColorF4Grey: 3344, ColorF5Brown: 3345, ClosedCaptionToggle: 3346, Dimmer: 3347, DisplaySwap: 3348, Exit: 3349, FavoriteClear0: 3350, FavoriteClear1: 3351, FavoriteClear2: 3352, FavoriteClear3: 3353, FavoriteRecall0: 3354, FavoriteRecall1: 3355, FavoriteRecall2: 3356, FavoriteRecall3: 3357, FavoriteStore0: 3358, FavoriteStore1: 3359, FavoriteStore2: 3360, FavoriteStore3: 3361, Guide: 3362, GuideNextDay: 3363, GuidePreviousDay: 3364, Info: 3365, InstantReplay: 3366, Link: 3367, ListProgram: 3368, LiveContent: 3369, Lock: 3370, MediaApps: 3371, MediaFastForward: 3372, MediaLast: 3373, MediaPause: 3374, MediaPlay: 3375, MediaRecord: 3376, MediaRewind: 3377, MediaSkip: 3378, NextFavoriteChannel: 3379, NextUserProfile: 3380, OnDemand: 3381, PinPDown: 3382, PinPMove: 3383, PinPToggle: 3384, PinPUp: 3385, PlaySpeedDown: 3386, PlaySpeedReset: 3387, PlaySpeedUp: 3388, RandomToggle: 3389, RcLowBattery: 3390, RecordSpeedNext: 3391, RfBypass: 3392, ScanChannelsToggle: 3393, ScreenModeNext: 3394, Settings: 3395, SplitScreenToggle: 3396, STBInput: 3397, STBPower: 3398, Subtitle: 3399, Teletext: 3400, TV: 3401, TVInput: 3402, TVPower: 3403, VideoModeNext: 3404, Wink: 3405, ZoomToggle: 3406, DVR: 3407, MediaAudioTrack: 3408, MediaSkipBackward: 3409, MediaSkipForward: 3410, MediaStepBackward: 3411, MediaStepForward: 3412, MediaTopMenu: 3413, NavigateIn: 3414, NavigateNext: 3415, NavigateOut: 3416, NavigatePrevious: 3417, Pairing: 3418, MediaClose: 3419, AudioBassBoostToggle: 3586, AudioTrebleDown: 3588, AudioTrebleUp: 3589, MicrophoneToggle: 3590, MicrophoneVolumeDown: 3591, MicrophoneVolumeUp: 3592, MicrophoneVolumeMute: 3593, SpeechCorrectionList: 3841, SpeechInputToggle: 3842, AppSwitch: 4097, Call: 4098, CameraFocus: 4099, EndCall: 4100, GoBack: 4101, GoHome: 4102, HeadsetHook: 4103, LastNumberRedial: 4104, Notification: 4105, MannerMode: 4106, VoiceDial: 4107, TV3DMode: 4353, TVAntennaCable: 4354, TVAudioDescription: 4355, TVAudioDescriptionMixDown: 4356, TVAudioDescriptionMixUp: 4357, TVContentsMenu: 4358, TVDataService: 4359, TVInputComponent1: 4360, TVInputComponent2: 4361, TVInputComposite1: 4362, TVInputComposite2: 4363, TVInputHDMI1: 4364, TVInputHDMI2: 4365, TVInputHDMI3: 4366, TVInputHDMI4: 4367, TVInputVGA1: 4368, TVMediaContext: 4369, TVNetwork: 4370, TVNumberEntry: 4371, TVRadioService: 4372, TVSatellite: 4373, TVSatelliteBS: 4374, TVSatelliteCS: 4375, TVSatelliteToggle: 4376, TVTerrestrialAnalog: 4377, TVTerrestrialDigital: 4378, TVTimer: 4379, Key11: 4609, Key12: 4610, GameButton1: 392961, GameButton2: 392962, GameButton3: 392963, GameButton4: 392964, GameButton5: 392965, GameButton6: 392966, GameButton7: 392967, GameButton8: 392968, GameButton9: 392969, GameButton10: 392970, GameButton11: 392971, GameButton12: 392972, GameButton13: 392973, GameButton14: 392974, GameButton15: 392975, GameButton16: 392976, 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, Suspend: 4294967316, Resume: 4294967317, Sleep: 4295032962, IntlBackslash: 4295426148, IntlRo: 4295426183, IntlYen: 4295426185, Lang1: 4295426192, Lang2: 4295426193, Lang3: 4295426194, Lang4: 4295426195, Lang5: 4295426196, Abort: 4295426203}, C.List_mC80, type$.ConstantStringMap_of_legacy_String_and_legacy_int);
    C.Map_sav0h = new H.GeneralConstantMap([C.NodeType_0, "package", C.NodeType_1, "library", C.NodeType_2, "class", C.NodeType_3, "function", C.NodeType_4, "other"], H.findType("GeneralConstantMap<NodeType*,String*>"));
    C.Color_4278343323 = new P.Color(4278343323);
    C.Color_4278285762 = new P.Color(4278285762);
    C.Color_4279482877 = new P.Color(4279482877);
    C.Map_sgpIz = new H.GeneralConstantMap([700, C.Color_4278343323, 600, C.Color_4278285762, 400, C.Color_4279482877], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.List_uvr = H._setArrayType(makeConstList(["NumpadParenLeft", "NumpadParenRight", "NumpadMultiply", "NumpadAdd", "NumpadComma", "NumpadSubtract", "NumpadDecimal", "NumpadDivide", "Numpad0", "Numpad1", "Numpad2", "Numpad3", "Numpad4", "Numpad5", "Numpad6", "Numpad7", "Numpad8", "Numpad9", "NumpadEqual"]), type$.JSArray_legacy_String);
    C.Map_uvi7B = new H.ConstantStringMap(19, {NumpadParenLeft: C.LogicalKeyboardKey_5497558138920, NumpadParenRight: C.LogicalKeyboardKey_5497558138921, NumpadMultiply: C.LogicalKeyboardKey_5497558138922, NumpadAdd: C.LogicalKeyboardKey_5497558138923, NumpadComma: C.LogicalKeyboardKey_5497558138924, NumpadSubtract: C.LogicalKeyboardKey_5497558138925, NumpadDecimal: C.LogicalKeyboardKey_5497558138926, NumpadDivide: C.LogicalKeyboardKey_5497558138927, Numpad0: C.LogicalKeyboardKey_5497558138928, Numpad1: C.LogicalKeyboardKey_5497558138929, Numpad2: C.LogicalKeyboardKey_5497558138930, Numpad3: C.LogicalKeyboardKey_5497558138931, Numpad4: C.LogicalKeyboardKey_5497558138932, Numpad5: C.LogicalKeyboardKey_5497558138933, Numpad6: C.LogicalKeyboardKey_5497558138934, Numpad7: C.LogicalKeyboardKey_5497558138935, Numpad8: C.LogicalKeyboardKey_5497558138936, Numpad9: C.LogicalKeyboardKey_5497558138937, NumpadEqual: C.LogicalKeyboardKey_5497558138941}, C.List_uvr, type$.ConstantStringMap_of_legacy_String_and_legacy_LogicalKeyboardKey);
    C.Map_yXAeS = new H.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_of_legacy_int_and_legacy_String);
    C.List_yfz = H._setArrayType(makeConstList(["None", "Hyper", "Super", "Fn", "FnLock", "Suspend", "Resume", "Turbo", "PrivacyScreenToggle", "Sleep", "WakeUp", "DisplayToggleIntExt", "GameButton1", "GameButton2", "GameButton3", "GameButton4", "GameButton5", "GameButton6", "GameButton7", "GameButton8", "GameButton9", "GameButton10", "GameButton11", "GameButton12", "GameButton13", "GameButton14", "GameButton15", "GameButton16", "GameButtonA", "GameButtonB", "GameButtonC", "GameButtonLeft1", "GameButtonLeft2", "GameButtonMode", "GameButtonRight1", "GameButtonRight2", "GameButtonSelect", "GameButtonStart", "GameButtonThumbLeft", "GameButtonThumbRight", "GameButtonX", "GameButtonY", "GameButtonZ", "UsbReserved", "UsbErrorRollOver", "UsbPostFail", "UsbErrorUndefined", "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", "Digit1", "Digit2", "Digit3", "Digit4", "Digit5", "Digit6", "Digit7", "Digit8", "Digit9", "Digit0", "Enter", "Escape", "Backspace", "Tab", "Space", "Minus", "Equal", "BracketLeft", "BracketRight", "Backslash", "Semicolon", "Quote", "Backquote", "Comma", "Period", "Slash", "CapsLock", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "PrintScreen", "ScrollLock", "Pause", "Insert", "Home", "PageUp", "Delete", "End", "PageDown", "ArrowRight", "ArrowLeft", "ArrowDown", "ArrowUp", "NumLock", "NumpadDivide", "NumpadMultiply", "NumpadSubtract", "NumpadAdd", "NumpadEnter", "Numpad1", "Numpad2", "Numpad3", "Numpad4", "Numpad5", "Numpad6", "Numpad7", "Numpad8", "Numpad9", "Numpad0", "NumpadDecimal", "IntlBackslash", "ContextMenu", "Power", "NumpadEqual", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "Open", "Help", "Select", "Again", "Undo", "Cut", "Copy", "Paste", "Find", "AudioVolumeMute", "AudioVolumeUp", "AudioVolumeDown", "NumpadComma", "IntlRo", "KanaMode", "IntlYen", "Convert", "NonConvert", "Lang1", "Lang2", "Lang3", "Lang4", "Lang5", "Abort", "Props", "NumpadParenLeft", "NumpadParenRight", "NumpadBackspace", "NumpadMemoryStore", "NumpadMemoryRecall", "NumpadMemoryClear", "NumpadMemoryAdd", "NumpadMemorySubtract", "NumpadSignChange", "NumpadClear", "NumpadClearEntry", "ControlLeft", "ShiftLeft", "AltLeft", "MetaLeft", "ControlRight", "ShiftRight", "AltRight", "MetaRight", "Info", "ClosedCaptionToggle", "BrightnessUp", "BrightnessDown", "BrightnessToggle", "BrightnessMinimum", "BrightnessMaximum", "BrightnessAuto", "KbdIllumUp", "KbdIllumDown", "MediaLast", "LaunchPhone", "ProgramGuide", "Exit", "ChannelUp", "ChannelDown", "MediaPlay", "MediaPause", "MediaRecord", "MediaFastForward", "MediaRewind", "MediaTrackNext", "MediaTrackPrevious", "MediaStop", "Eject", "MediaPlayPause", "SpeechInputToggle", "BassBoost", "MediaSelect", "LaunchWordProcessor", "LaunchSpreadsheet", "LaunchMail", "LaunchContacts", "LaunchCalendar", "LaunchApp2", "LaunchApp1", "LaunchInternetBrowser", "LogOff", "LockScreen", "LaunchControlPanel", "SelectTask", "LaunchDocuments", "SpellCheck", "LaunchKeyboardLayout", "LaunchScreenSaver", "LaunchAudioBrowser", "LaunchAssistant", "New", "Close", "Save", "Print", "BrowserSearch", "BrowserHome", "BrowserBack", "BrowserForward", "BrowserStop", "BrowserRefresh", "BrowserFavorites", "ZoomIn", "ZoomOut", "ZoomToggle", "Redo", "MailReply", "MailForward", "MailSend", "KeyboardLayoutSelect", "ShowAllWindows"]), type$.JSArray_legacy_String);
    C.PhysicalKeyboardKey_0 = new G.PhysicalKeyboardKey(0);
    C.PhysicalKeyboardKey_16 = new G.PhysicalKeyboardKey(16);
    C.PhysicalKeyboardKey_17 = new G.PhysicalKeyboardKey(17);
    C.PhysicalKeyboardKey_18 = new G.PhysicalKeyboardKey(18);
    C.PhysicalKeyboardKey_19 = new G.PhysicalKeyboardKey(19);
    C.PhysicalKeyboardKey_20 = new G.PhysicalKeyboardKey(20);
    C.PhysicalKeyboardKey_21 = new G.PhysicalKeyboardKey(21);
    C.PhysicalKeyboardKey_22 = new G.PhysicalKeyboardKey(22);
    C.PhysicalKeyboardKey_23 = new G.PhysicalKeyboardKey(23);
    C.PhysicalKeyboardKey_65666 = new G.PhysicalKeyboardKey(65666);
    C.PhysicalKeyboardKey_65667 = new G.PhysicalKeyboardKey(65667);
    C.PhysicalKeyboardKey_65717 = new G.PhysicalKeyboardKey(65717);
    C.PhysicalKeyboardKey_392961 = new G.PhysicalKeyboardKey(392961);
    C.PhysicalKeyboardKey_392962 = new G.PhysicalKeyboardKey(392962);
    C.PhysicalKeyboardKey_392963 = new G.PhysicalKeyboardKey(392963);
    C.PhysicalKeyboardKey_392964 = new G.PhysicalKeyboardKey(392964);
    C.PhysicalKeyboardKey_392965 = new G.PhysicalKeyboardKey(392965);
    C.PhysicalKeyboardKey_392966 = new G.PhysicalKeyboardKey(392966);
    C.PhysicalKeyboardKey_392967 = new G.PhysicalKeyboardKey(392967);
    C.PhysicalKeyboardKey_392968 = new G.PhysicalKeyboardKey(392968);
    C.PhysicalKeyboardKey_392969 = new G.PhysicalKeyboardKey(392969);
    C.PhysicalKeyboardKey_392970 = new G.PhysicalKeyboardKey(392970);
    C.PhysicalKeyboardKey_392971 = new G.PhysicalKeyboardKey(392971);
    C.PhysicalKeyboardKey_392972 = new G.PhysicalKeyboardKey(392972);
    C.PhysicalKeyboardKey_392973 = new G.PhysicalKeyboardKey(392973);
    C.PhysicalKeyboardKey_392974 = new G.PhysicalKeyboardKey(392974);
    C.PhysicalKeyboardKey_392975 = new G.PhysicalKeyboardKey(392975);
    C.PhysicalKeyboardKey_392976 = new G.PhysicalKeyboardKey(392976);
    C.PhysicalKeyboardKey_392977 = new G.PhysicalKeyboardKey(392977);
    C.PhysicalKeyboardKey_392978 = new G.PhysicalKeyboardKey(392978);
    C.PhysicalKeyboardKey_392979 = new G.PhysicalKeyboardKey(392979);
    C.PhysicalKeyboardKey_392980 = new G.PhysicalKeyboardKey(392980);
    C.PhysicalKeyboardKey_392981 = new G.PhysicalKeyboardKey(392981);
    C.PhysicalKeyboardKey_392982 = new G.PhysicalKeyboardKey(392982);
    C.PhysicalKeyboardKey_392983 = new G.PhysicalKeyboardKey(392983);
    C.PhysicalKeyboardKey_392984 = new G.PhysicalKeyboardKey(392984);
    C.PhysicalKeyboardKey_392985 = new G.PhysicalKeyboardKey(392985);
    C.PhysicalKeyboardKey_392986 = new G.PhysicalKeyboardKey(392986);
    C.PhysicalKeyboardKey_392987 = new G.PhysicalKeyboardKey(392987);
    C.PhysicalKeyboardKey_392988 = new G.PhysicalKeyboardKey(392988);
    C.PhysicalKeyboardKey_392989 = new G.PhysicalKeyboardKey(392989);
    C.PhysicalKeyboardKey_392990 = new G.PhysicalKeyboardKey(392990);
    C.PhysicalKeyboardKey_392991 = new G.PhysicalKeyboardKey(392991);
    C.PhysicalKeyboardKey_458752 = new G.PhysicalKeyboardKey(458752);
    C.PhysicalKeyboardKey_458753 = new G.PhysicalKeyboardKey(458753);
    C.PhysicalKeyboardKey_458754 = new G.PhysicalKeyboardKey(458754);
    C.PhysicalKeyboardKey_458755 = new G.PhysicalKeyboardKey(458755);
    C.PhysicalKeyboardKey_458756 = new G.PhysicalKeyboardKey(458756);
    C.PhysicalKeyboardKey_458757 = new G.PhysicalKeyboardKey(458757);
    C.PhysicalKeyboardKey_458758 = new G.PhysicalKeyboardKey(458758);
    C.PhysicalKeyboardKey_458759 = new G.PhysicalKeyboardKey(458759);
    C.PhysicalKeyboardKey_458760 = new G.PhysicalKeyboardKey(458760);
    C.PhysicalKeyboardKey_458761 = new G.PhysicalKeyboardKey(458761);
    C.PhysicalKeyboardKey_458762 = new G.PhysicalKeyboardKey(458762);
    C.PhysicalKeyboardKey_458763 = new G.PhysicalKeyboardKey(458763);
    C.PhysicalKeyboardKey_458764 = new G.PhysicalKeyboardKey(458764);
    C.PhysicalKeyboardKey_458765 = new G.PhysicalKeyboardKey(458765);
    C.PhysicalKeyboardKey_458766 = new G.PhysicalKeyboardKey(458766);
    C.PhysicalKeyboardKey_458767 = new G.PhysicalKeyboardKey(458767);
    C.PhysicalKeyboardKey_458768 = new G.PhysicalKeyboardKey(458768);
    C.PhysicalKeyboardKey_458769 = new G.PhysicalKeyboardKey(458769);
    C.PhysicalKeyboardKey_458770 = new G.PhysicalKeyboardKey(458770);
    C.PhysicalKeyboardKey_458771 = new G.PhysicalKeyboardKey(458771);
    C.PhysicalKeyboardKey_458772 = new G.PhysicalKeyboardKey(458772);
    C.PhysicalKeyboardKey_458773 = new G.PhysicalKeyboardKey(458773);
    C.PhysicalKeyboardKey_458774 = new G.PhysicalKeyboardKey(458774);
    C.PhysicalKeyboardKey_458775 = new G.PhysicalKeyboardKey(458775);
    C.PhysicalKeyboardKey_458776 = new G.PhysicalKeyboardKey(458776);
    C.PhysicalKeyboardKey_458777 = new G.PhysicalKeyboardKey(458777);
    C.PhysicalKeyboardKey_458778 = new G.PhysicalKeyboardKey(458778);
    C.PhysicalKeyboardKey_458779 = new G.PhysicalKeyboardKey(458779);
    C.PhysicalKeyboardKey_458780 = new G.PhysicalKeyboardKey(458780);
    C.PhysicalKeyboardKey_458781 = new G.PhysicalKeyboardKey(458781);
    C.PhysicalKeyboardKey_458782 = new G.PhysicalKeyboardKey(458782);
    C.PhysicalKeyboardKey_458783 = new G.PhysicalKeyboardKey(458783);
    C.PhysicalKeyboardKey_458784 = new G.PhysicalKeyboardKey(458784);
    C.PhysicalKeyboardKey_458785 = new G.PhysicalKeyboardKey(458785);
    C.PhysicalKeyboardKey_458786 = new G.PhysicalKeyboardKey(458786);
    C.PhysicalKeyboardKey_458787 = new G.PhysicalKeyboardKey(458787);
    C.PhysicalKeyboardKey_458788 = new G.PhysicalKeyboardKey(458788);
    C.PhysicalKeyboardKey_458789 = new G.PhysicalKeyboardKey(458789);
    C.PhysicalKeyboardKey_458790 = new G.PhysicalKeyboardKey(458790);
    C.PhysicalKeyboardKey_458791 = new G.PhysicalKeyboardKey(458791);
    C.PhysicalKeyboardKey_458792 = new G.PhysicalKeyboardKey(458792);
    C.PhysicalKeyboardKey_458793 = new G.PhysicalKeyboardKey(458793);
    C.PhysicalKeyboardKey_458794 = new G.PhysicalKeyboardKey(458794);
    C.PhysicalKeyboardKey_458795 = new G.PhysicalKeyboardKey(458795);
    C.PhysicalKeyboardKey_458796 = new G.PhysicalKeyboardKey(458796);
    C.PhysicalKeyboardKey_458797 = new G.PhysicalKeyboardKey(458797);
    C.PhysicalKeyboardKey_458798 = new G.PhysicalKeyboardKey(458798);
    C.PhysicalKeyboardKey_458799 = new G.PhysicalKeyboardKey(458799);
    C.PhysicalKeyboardKey_458800 = new G.PhysicalKeyboardKey(458800);
    C.PhysicalKeyboardKey_458801 = new G.PhysicalKeyboardKey(458801);
    C.PhysicalKeyboardKey_458803 = new G.PhysicalKeyboardKey(458803);
    C.PhysicalKeyboardKey_458804 = new G.PhysicalKeyboardKey(458804);
    C.PhysicalKeyboardKey_458805 = new G.PhysicalKeyboardKey(458805);
    C.PhysicalKeyboardKey_458806 = new G.PhysicalKeyboardKey(458806);
    C.PhysicalKeyboardKey_458807 = new G.PhysicalKeyboardKey(458807);
    C.PhysicalKeyboardKey_458808 = new G.PhysicalKeyboardKey(458808);
    C.PhysicalKeyboardKey_458809 = new G.PhysicalKeyboardKey(458809);
    C.PhysicalKeyboardKey_458810 = new G.PhysicalKeyboardKey(458810);
    C.PhysicalKeyboardKey_458811 = new G.PhysicalKeyboardKey(458811);
    C.PhysicalKeyboardKey_458812 = new G.PhysicalKeyboardKey(458812);
    C.PhysicalKeyboardKey_458813 = new G.PhysicalKeyboardKey(458813);
    C.PhysicalKeyboardKey_458814 = new G.PhysicalKeyboardKey(458814);
    C.PhysicalKeyboardKey_458815 = new G.PhysicalKeyboardKey(458815);
    C.PhysicalKeyboardKey_458816 = new G.PhysicalKeyboardKey(458816);
    C.PhysicalKeyboardKey_458817 = new G.PhysicalKeyboardKey(458817);
    C.PhysicalKeyboardKey_458818 = new G.PhysicalKeyboardKey(458818);
    C.PhysicalKeyboardKey_458819 = new G.PhysicalKeyboardKey(458819);
    C.PhysicalKeyboardKey_458820 = new G.PhysicalKeyboardKey(458820);
    C.PhysicalKeyboardKey_458821 = new G.PhysicalKeyboardKey(458821);
    C.PhysicalKeyboardKey_458822 = new G.PhysicalKeyboardKey(458822);
    C.PhysicalKeyboardKey_458823 = new G.PhysicalKeyboardKey(458823);
    C.PhysicalKeyboardKey_458824 = new G.PhysicalKeyboardKey(458824);
    C.PhysicalKeyboardKey_458825 = new G.PhysicalKeyboardKey(458825);
    C.PhysicalKeyboardKey_458826 = new G.PhysicalKeyboardKey(458826);
    C.PhysicalKeyboardKey_458827 = new G.PhysicalKeyboardKey(458827);
    C.PhysicalKeyboardKey_458828 = new G.PhysicalKeyboardKey(458828);
    C.PhysicalKeyboardKey_458829 = new G.PhysicalKeyboardKey(458829);
    C.PhysicalKeyboardKey_458830 = new G.PhysicalKeyboardKey(458830);
    C.PhysicalKeyboardKey_458831 = new G.PhysicalKeyboardKey(458831);
    C.PhysicalKeyboardKey_458832 = new G.PhysicalKeyboardKey(458832);
    C.PhysicalKeyboardKey_458833 = new G.PhysicalKeyboardKey(458833);
    C.PhysicalKeyboardKey_458834 = new G.PhysicalKeyboardKey(458834);
    C.PhysicalKeyboardKey_458835 = new G.PhysicalKeyboardKey(458835);
    C.PhysicalKeyboardKey_458836 = new G.PhysicalKeyboardKey(458836);
    C.PhysicalKeyboardKey_458837 = new G.PhysicalKeyboardKey(458837);
    C.PhysicalKeyboardKey_458838 = new G.PhysicalKeyboardKey(458838);
    C.PhysicalKeyboardKey_458839 = new G.PhysicalKeyboardKey(458839);
    C.PhysicalKeyboardKey_458840 = new G.PhysicalKeyboardKey(458840);
    C.PhysicalKeyboardKey_458841 = new G.PhysicalKeyboardKey(458841);
    C.PhysicalKeyboardKey_458842 = new G.PhysicalKeyboardKey(458842);
    C.PhysicalKeyboardKey_458843 = new G.PhysicalKeyboardKey(458843);
    C.PhysicalKeyboardKey_458844 = new G.PhysicalKeyboardKey(458844);
    C.PhysicalKeyboardKey_458845 = new G.PhysicalKeyboardKey(458845);
    C.PhysicalKeyboardKey_458846 = new G.PhysicalKeyboardKey(458846);
    C.PhysicalKeyboardKey_458847 = new G.PhysicalKeyboardKey(458847);
    C.PhysicalKeyboardKey_458848 = new G.PhysicalKeyboardKey(458848);
    C.PhysicalKeyboardKey_458849 = new G.PhysicalKeyboardKey(458849);
    C.PhysicalKeyboardKey_458850 = new G.PhysicalKeyboardKey(458850);
    C.PhysicalKeyboardKey_458851 = new G.PhysicalKeyboardKey(458851);
    C.PhysicalKeyboardKey_458852 = new G.PhysicalKeyboardKey(458852);
    C.PhysicalKeyboardKey_458853 = new G.PhysicalKeyboardKey(458853);
    C.PhysicalKeyboardKey_458854 = new G.PhysicalKeyboardKey(458854);
    C.PhysicalKeyboardKey_458855 = new G.PhysicalKeyboardKey(458855);
    C.PhysicalKeyboardKey_458856 = new G.PhysicalKeyboardKey(458856);
    C.PhysicalKeyboardKey_458857 = new G.PhysicalKeyboardKey(458857);
    C.PhysicalKeyboardKey_458858 = new G.PhysicalKeyboardKey(458858);
    C.PhysicalKeyboardKey_458859 = new G.PhysicalKeyboardKey(458859);
    C.PhysicalKeyboardKey_458860 = new G.PhysicalKeyboardKey(458860);
    C.PhysicalKeyboardKey_458861 = new G.PhysicalKeyboardKey(458861);
    C.PhysicalKeyboardKey_458862 = new G.PhysicalKeyboardKey(458862);
    C.PhysicalKeyboardKey_458863 = new G.PhysicalKeyboardKey(458863);
    C.PhysicalKeyboardKey_458864 = new G.PhysicalKeyboardKey(458864);
    C.PhysicalKeyboardKey_458865 = new G.PhysicalKeyboardKey(458865);
    C.PhysicalKeyboardKey_458866 = new G.PhysicalKeyboardKey(458866);
    C.PhysicalKeyboardKey_458867 = new G.PhysicalKeyboardKey(458867);
    C.PhysicalKeyboardKey_458868 = new G.PhysicalKeyboardKey(458868);
    C.PhysicalKeyboardKey_458869 = new G.PhysicalKeyboardKey(458869);
    C.PhysicalKeyboardKey_458871 = new G.PhysicalKeyboardKey(458871);
    C.PhysicalKeyboardKey_458873 = new G.PhysicalKeyboardKey(458873);
    C.PhysicalKeyboardKey_458874 = new G.PhysicalKeyboardKey(458874);
    C.PhysicalKeyboardKey_458875 = new G.PhysicalKeyboardKey(458875);
    C.PhysicalKeyboardKey_458876 = new G.PhysicalKeyboardKey(458876);
    C.PhysicalKeyboardKey_458877 = new G.PhysicalKeyboardKey(458877);
    C.PhysicalKeyboardKey_458878 = new G.PhysicalKeyboardKey(458878);
    C.PhysicalKeyboardKey_458879 = new G.PhysicalKeyboardKey(458879);
    C.PhysicalKeyboardKey_458880 = new G.PhysicalKeyboardKey(458880);
    C.PhysicalKeyboardKey_458881 = new G.PhysicalKeyboardKey(458881);
    C.PhysicalKeyboardKey_458885 = new G.PhysicalKeyboardKey(458885);
    C.PhysicalKeyboardKey_458887 = new G.PhysicalKeyboardKey(458887);
    C.PhysicalKeyboardKey_458888 = new G.PhysicalKeyboardKey(458888);
    C.PhysicalKeyboardKey_458889 = new G.PhysicalKeyboardKey(458889);
    C.PhysicalKeyboardKey_458890 = new G.PhysicalKeyboardKey(458890);
    C.PhysicalKeyboardKey_458891 = new G.PhysicalKeyboardKey(458891);
    C.PhysicalKeyboardKey_458896 = new G.PhysicalKeyboardKey(458896);
    C.PhysicalKeyboardKey_458897 = new G.PhysicalKeyboardKey(458897);
    C.PhysicalKeyboardKey_458898 = new G.PhysicalKeyboardKey(458898);
    C.PhysicalKeyboardKey_458899 = new G.PhysicalKeyboardKey(458899);
    C.PhysicalKeyboardKey_458900 = new G.PhysicalKeyboardKey(458900);
    C.PhysicalKeyboardKey_458907 = new G.PhysicalKeyboardKey(458907);
    C.PhysicalKeyboardKey_458915 = new G.PhysicalKeyboardKey(458915);
    C.PhysicalKeyboardKey_458934 = new G.PhysicalKeyboardKey(458934);
    C.PhysicalKeyboardKey_458935 = new G.PhysicalKeyboardKey(458935);
    C.PhysicalKeyboardKey_458939 = new G.PhysicalKeyboardKey(458939);
    C.PhysicalKeyboardKey_458960 = new G.PhysicalKeyboardKey(458960);
    C.PhysicalKeyboardKey_458961 = new G.PhysicalKeyboardKey(458961);
    C.PhysicalKeyboardKey_458962 = new G.PhysicalKeyboardKey(458962);
    C.PhysicalKeyboardKey_458963 = new G.PhysicalKeyboardKey(458963);
    C.PhysicalKeyboardKey_458964 = new G.PhysicalKeyboardKey(458964);
    C.PhysicalKeyboardKey_458967 = new G.PhysicalKeyboardKey(458967);
    C.PhysicalKeyboardKey_458968 = new G.PhysicalKeyboardKey(458968);
    C.PhysicalKeyboardKey_458969 = new G.PhysicalKeyboardKey(458969);
    C.PhysicalKeyboardKey_458976 = new G.PhysicalKeyboardKey(458976);
    C.PhysicalKeyboardKey_458977 = new G.PhysicalKeyboardKey(458977);
    C.PhysicalKeyboardKey_458978 = new G.PhysicalKeyboardKey(458978);
    C.PhysicalKeyboardKey_458979 = new G.PhysicalKeyboardKey(458979);
    C.PhysicalKeyboardKey_458980 = new G.PhysicalKeyboardKey(458980);
    C.PhysicalKeyboardKey_458981 = new G.PhysicalKeyboardKey(458981);
    C.PhysicalKeyboardKey_458982 = new G.PhysicalKeyboardKey(458982);
    C.PhysicalKeyboardKey_458983 = new G.PhysicalKeyboardKey(458983);
    C.PhysicalKeyboardKey_786528 = new G.PhysicalKeyboardKey(786528);
    C.PhysicalKeyboardKey_786529 = new G.PhysicalKeyboardKey(786529);
    C.PhysicalKeyboardKey_786543 = new G.PhysicalKeyboardKey(786543);
    C.PhysicalKeyboardKey_786544 = new G.PhysicalKeyboardKey(786544);
    C.PhysicalKeyboardKey_786546 = new G.PhysicalKeyboardKey(786546);
    C.PhysicalKeyboardKey_786547 = new G.PhysicalKeyboardKey(786547);
    C.PhysicalKeyboardKey_786548 = new G.PhysicalKeyboardKey(786548);
    C.PhysicalKeyboardKey_786549 = new G.PhysicalKeyboardKey(786549);
    C.PhysicalKeyboardKey_786553 = new G.PhysicalKeyboardKey(786553);
    C.PhysicalKeyboardKey_786554 = new G.PhysicalKeyboardKey(786554);
    C.PhysicalKeyboardKey_786563 = new G.PhysicalKeyboardKey(786563);
    C.PhysicalKeyboardKey_786572 = new G.PhysicalKeyboardKey(786572);
    C.PhysicalKeyboardKey_786573 = new G.PhysicalKeyboardKey(786573);
    C.PhysicalKeyboardKey_786580 = new G.PhysicalKeyboardKey(786580);
    C.PhysicalKeyboardKey_786588 = new G.PhysicalKeyboardKey(786588);
    C.PhysicalKeyboardKey_786589 = new G.PhysicalKeyboardKey(786589);
    C.PhysicalKeyboardKey_786608 = new G.PhysicalKeyboardKey(786608);
    C.PhysicalKeyboardKey_786609 = new G.PhysicalKeyboardKey(786609);
    C.PhysicalKeyboardKey_786610 = new G.PhysicalKeyboardKey(786610);
    C.PhysicalKeyboardKey_786611 = new G.PhysicalKeyboardKey(786611);
    C.PhysicalKeyboardKey_786612 = new G.PhysicalKeyboardKey(786612);
    C.PhysicalKeyboardKey_786613 = new G.PhysicalKeyboardKey(786613);
    C.PhysicalKeyboardKey_786614 = new G.PhysicalKeyboardKey(786614);
    C.PhysicalKeyboardKey_786615 = new G.PhysicalKeyboardKey(786615);
    C.PhysicalKeyboardKey_786616 = new G.PhysicalKeyboardKey(786616);
    C.PhysicalKeyboardKey_786637 = new G.PhysicalKeyboardKey(786637);
    C.PhysicalKeyboardKey_786639 = new G.PhysicalKeyboardKey(786639);
    C.PhysicalKeyboardKey_786661 = new G.PhysicalKeyboardKey(786661);
    C.PhysicalKeyboardKey_786819 = new G.PhysicalKeyboardKey(786819);
    C.PhysicalKeyboardKey_786820 = new G.PhysicalKeyboardKey(786820);
    C.PhysicalKeyboardKey_786822 = new G.PhysicalKeyboardKey(786822);
    C.PhysicalKeyboardKey_786826 = new G.PhysicalKeyboardKey(786826);
    C.PhysicalKeyboardKey_786829 = new G.PhysicalKeyboardKey(786829);
    C.PhysicalKeyboardKey_786830 = new G.PhysicalKeyboardKey(786830);
    C.PhysicalKeyboardKey_786834 = new G.PhysicalKeyboardKey(786834);
    C.PhysicalKeyboardKey_786836 = new G.PhysicalKeyboardKey(786836);
    C.PhysicalKeyboardKey_786838 = new G.PhysicalKeyboardKey(786838);
    C.PhysicalKeyboardKey_786844 = new G.PhysicalKeyboardKey(786844);
    C.PhysicalKeyboardKey_786846 = new G.PhysicalKeyboardKey(786846);
    C.PhysicalKeyboardKey_786847 = new G.PhysicalKeyboardKey(786847);
    C.PhysicalKeyboardKey_786850 = new G.PhysicalKeyboardKey(786850);
    C.PhysicalKeyboardKey_786855 = new G.PhysicalKeyboardKey(786855);
    C.PhysicalKeyboardKey_786859 = new G.PhysicalKeyboardKey(786859);
    C.PhysicalKeyboardKey_786862 = new G.PhysicalKeyboardKey(786862);
    C.PhysicalKeyboardKey_786865 = new G.PhysicalKeyboardKey(786865);
    C.PhysicalKeyboardKey_786871 = new G.PhysicalKeyboardKey(786871);
    C.PhysicalKeyboardKey_786891 = new G.PhysicalKeyboardKey(786891);
    C.PhysicalKeyboardKey_786945 = new G.PhysicalKeyboardKey(786945);
    C.PhysicalKeyboardKey_786947 = new G.PhysicalKeyboardKey(786947);
    C.PhysicalKeyboardKey_786951 = new G.PhysicalKeyboardKey(786951);
    C.PhysicalKeyboardKey_786952 = new G.PhysicalKeyboardKey(786952);
    C.PhysicalKeyboardKey_786977 = new G.PhysicalKeyboardKey(786977);
    C.PhysicalKeyboardKey_786979 = new G.PhysicalKeyboardKey(786979);
    C.PhysicalKeyboardKey_786980 = new G.PhysicalKeyboardKey(786980);
    C.PhysicalKeyboardKey_786981 = new G.PhysicalKeyboardKey(786981);
    C.PhysicalKeyboardKey_786982 = new G.PhysicalKeyboardKey(786982);
    C.PhysicalKeyboardKey_786983 = new G.PhysicalKeyboardKey(786983);
    C.PhysicalKeyboardKey_786986 = new G.PhysicalKeyboardKey(786986);
    C.PhysicalKeyboardKey_786989 = new G.PhysicalKeyboardKey(786989);
    C.PhysicalKeyboardKey_786990 = new G.PhysicalKeyboardKey(786990);
    C.PhysicalKeyboardKey_786994 = new G.PhysicalKeyboardKey(786994);
    C.PhysicalKeyboardKey_787065 = new G.PhysicalKeyboardKey(787065);
    C.PhysicalKeyboardKey_787081 = new G.PhysicalKeyboardKey(787081);
    C.PhysicalKeyboardKey_787083 = new G.PhysicalKeyboardKey(787083);
    C.PhysicalKeyboardKey_787084 = new G.PhysicalKeyboardKey(787084);
    C.PhysicalKeyboardKey_787101 = new G.PhysicalKeyboardKey(787101);
    C.PhysicalKeyboardKey_787103 = new G.PhysicalKeyboardKey(787103);
    C.Map_yfvkU = new H.ConstantStringMap(269, {None: C.PhysicalKeyboardKey_0, Hyper: C.PhysicalKeyboardKey_16, Super: C.PhysicalKeyboardKey_17, Fn: C.PhysicalKeyboardKey_18, FnLock: C.PhysicalKeyboardKey_19, Suspend: C.PhysicalKeyboardKey_20, Resume: C.PhysicalKeyboardKey_21, Turbo: C.PhysicalKeyboardKey_22, PrivacyScreenToggle: C.PhysicalKeyboardKey_23, Sleep: C.PhysicalKeyboardKey_65666, WakeUp: C.PhysicalKeyboardKey_65667, DisplayToggleIntExt: C.PhysicalKeyboardKey_65717, GameButton1: C.PhysicalKeyboardKey_392961, GameButton2: C.PhysicalKeyboardKey_392962, GameButton3: C.PhysicalKeyboardKey_392963, GameButton4: C.PhysicalKeyboardKey_392964, GameButton5: C.PhysicalKeyboardKey_392965, GameButton6: C.PhysicalKeyboardKey_392966, GameButton7: C.PhysicalKeyboardKey_392967, GameButton8: C.PhysicalKeyboardKey_392968, GameButton9: C.PhysicalKeyboardKey_392969, GameButton10: C.PhysicalKeyboardKey_392970, GameButton11: C.PhysicalKeyboardKey_392971, GameButton12: C.PhysicalKeyboardKey_392972, GameButton13: C.PhysicalKeyboardKey_392973, GameButton14: C.PhysicalKeyboardKey_392974, GameButton15: C.PhysicalKeyboardKey_392975, GameButton16: C.PhysicalKeyboardKey_392976, GameButtonA: C.PhysicalKeyboardKey_392977, GameButtonB: C.PhysicalKeyboardKey_392978, GameButtonC: C.PhysicalKeyboardKey_392979, GameButtonLeft1: C.PhysicalKeyboardKey_392980, GameButtonLeft2: C.PhysicalKeyboardKey_392981, GameButtonMode: C.PhysicalKeyboardKey_392982, GameButtonRight1: C.PhysicalKeyboardKey_392983, GameButtonRight2: C.PhysicalKeyboardKey_392984, GameButtonSelect: C.PhysicalKeyboardKey_392985, GameButtonStart: C.PhysicalKeyboardKey_392986, GameButtonThumbLeft: C.PhysicalKeyboardKey_392987, GameButtonThumbRight: C.PhysicalKeyboardKey_392988, GameButtonX: C.PhysicalKeyboardKey_392989, GameButtonY: C.PhysicalKeyboardKey_392990, GameButtonZ: C.PhysicalKeyboardKey_392991, UsbReserved: C.PhysicalKeyboardKey_458752, UsbErrorRollOver: C.PhysicalKeyboardKey_458753, UsbPostFail: C.PhysicalKeyboardKey_458754, UsbErrorUndefined: C.PhysicalKeyboardKey_458755, KeyA: C.PhysicalKeyboardKey_458756, KeyB: C.PhysicalKeyboardKey_458757, KeyC: C.PhysicalKeyboardKey_458758, KeyD: C.PhysicalKeyboardKey_458759, KeyE: C.PhysicalKeyboardKey_458760, KeyF: C.PhysicalKeyboardKey_458761, KeyG: C.PhysicalKeyboardKey_458762, KeyH: C.PhysicalKeyboardKey_458763, KeyI: C.PhysicalKeyboardKey_458764, KeyJ: C.PhysicalKeyboardKey_458765, KeyK: C.PhysicalKeyboardKey_458766, KeyL: C.PhysicalKeyboardKey_458767, KeyM: C.PhysicalKeyboardKey_458768, KeyN: C.PhysicalKeyboardKey_458769, KeyO: C.PhysicalKeyboardKey_458770, KeyP: C.PhysicalKeyboardKey_458771, KeyQ: C.PhysicalKeyboardKey_458772, KeyR: C.PhysicalKeyboardKey_458773, KeyS: C.PhysicalKeyboardKey_458774, KeyT: C.PhysicalKeyboardKey_458775, KeyU: C.PhysicalKeyboardKey_458776, KeyV: C.PhysicalKeyboardKey_458777, KeyW: C.PhysicalKeyboardKey_458778, KeyX: C.PhysicalKeyboardKey_458779, KeyY: C.PhysicalKeyboardKey_458780, KeyZ: C.PhysicalKeyboardKey_458781, Digit1: C.PhysicalKeyboardKey_458782, Digit2: C.PhysicalKeyboardKey_458783, Digit3: C.PhysicalKeyboardKey_458784, Digit4: C.PhysicalKeyboardKey_458785, Digit5: C.PhysicalKeyboardKey_458786, Digit6: C.PhysicalKeyboardKey_458787, Digit7: C.PhysicalKeyboardKey_458788, Digit8: C.PhysicalKeyboardKey_458789, Digit9: C.PhysicalKeyboardKey_458790, Digit0: C.PhysicalKeyboardKey_458791, Enter: C.PhysicalKeyboardKey_458792, Escape: C.PhysicalKeyboardKey_458793, Backspace: C.PhysicalKeyboardKey_458794, Tab: C.PhysicalKeyboardKey_458795, Space: C.PhysicalKeyboardKey_458796, Minus: C.PhysicalKeyboardKey_458797, Equal: C.PhysicalKeyboardKey_458798, BracketLeft: C.PhysicalKeyboardKey_458799, BracketRight: C.PhysicalKeyboardKey_458800, Backslash: C.PhysicalKeyboardKey_458801, Semicolon: C.PhysicalKeyboardKey_458803, Quote: C.PhysicalKeyboardKey_458804, Backquote: C.PhysicalKeyboardKey_458805, Comma: C.PhysicalKeyboardKey_458806, Period: C.PhysicalKeyboardKey_458807, Slash: C.PhysicalKeyboardKey_458808, CapsLock: C.PhysicalKeyboardKey_458809, F1: C.PhysicalKeyboardKey_458810, F2: C.PhysicalKeyboardKey_458811, F3: C.PhysicalKeyboardKey_458812, F4: C.PhysicalKeyboardKey_458813, F5: C.PhysicalKeyboardKey_458814, F6: C.PhysicalKeyboardKey_458815, F7: C.PhysicalKeyboardKey_458816, F8: C.PhysicalKeyboardKey_458817, F9: C.PhysicalKeyboardKey_458818, F10: C.PhysicalKeyboardKey_458819, F11: C.PhysicalKeyboardKey_458820, F12: C.PhysicalKeyboardKey_458821, PrintScreen: C.PhysicalKeyboardKey_458822, ScrollLock: C.PhysicalKeyboardKey_458823, Pause: C.PhysicalKeyboardKey_458824, Insert: C.PhysicalKeyboardKey_458825, Home: C.PhysicalKeyboardKey_458826, PageUp: C.PhysicalKeyboardKey_458827, Delete: C.PhysicalKeyboardKey_458828, End: C.PhysicalKeyboardKey_458829, PageDown: C.PhysicalKeyboardKey_458830, ArrowRight: C.PhysicalKeyboardKey_458831, ArrowLeft: C.PhysicalKeyboardKey_458832, ArrowDown: C.PhysicalKeyboardKey_458833, ArrowUp: C.PhysicalKeyboardKey_458834, NumLock: C.PhysicalKeyboardKey_458835, NumpadDivide: C.PhysicalKeyboardKey_458836, NumpadMultiply: C.PhysicalKeyboardKey_458837, NumpadSubtract: C.PhysicalKeyboardKey_458838, NumpadAdd: C.PhysicalKeyboardKey_458839, NumpadEnter: C.PhysicalKeyboardKey_458840, Numpad1: C.PhysicalKeyboardKey_458841, Numpad2: C.PhysicalKeyboardKey_458842, Numpad3: C.PhysicalKeyboardKey_458843, Numpad4: C.PhysicalKeyboardKey_458844, Numpad5: C.PhysicalKeyboardKey_458845, Numpad6: C.PhysicalKeyboardKey_458846, Numpad7: C.PhysicalKeyboardKey_458847, Numpad8: C.PhysicalKeyboardKey_458848, Numpad9: C.PhysicalKeyboardKey_458849, Numpad0: C.PhysicalKeyboardKey_458850, NumpadDecimal: C.PhysicalKeyboardKey_458851, IntlBackslash: C.PhysicalKeyboardKey_458852, ContextMenu: C.PhysicalKeyboardKey_458853, Power: C.PhysicalKeyboardKey_458854, NumpadEqual: C.PhysicalKeyboardKey_458855, F13: C.PhysicalKeyboardKey_458856, F14: C.PhysicalKeyboardKey_458857, F15: C.PhysicalKeyboardKey_458858, F16: C.PhysicalKeyboardKey_458859, F17: C.PhysicalKeyboardKey_458860, F18: C.PhysicalKeyboardKey_458861, F19: C.PhysicalKeyboardKey_458862, F20: C.PhysicalKeyboardKey_458863, F21: C.PhysicalKeyboardKey_458864, F22: C.PhysicalKeyboardKey_458865, F23: C.PhysicalKeyboardKey_458866, F24: C.PhysicalKeyboardKey_458867, Open: C.PhysicalKeyboardKey_458868, Help: C.PhysicalKeyboardKey_458869, Select: C.PhysicalKeyboardKey_458871, Again: C.PhysicalKeyboardKey_458873, Undo: C.PhysicalKeyboardKey_458874, Cut: C.PhysicalKeyboardKey_458875, Copy: C.PhysicalKeyboardKey_458876, Paste: C.PhysicalKeyboardKey_458877, Find: C.PhysicalKeyboardKey_458878, AudioVolumeMute: C.PhysicalKeyboardKey_458879, AudioVolumeUp: C.PhysicalKeyboardKey_458880, AudioVolumeDown: C.PhysicalKeyboardKey_458881, NumpadComma: C.PhysicalKeyboardKey_458885, IntlRo: C.PhysicalKeyboardKey_458887, KanaMode: C.PhysicalKeyboardKey_458888, IntlYen: C.PhysicalKeyboardKey_458889, Convert: C.PhysicalKeyboardKey_458890, NonConvert: C.PhysicalKeyboardKey_458891, Lang1: C.PhysicalKeyboardKey_458896, Lang2: C.PhysicalKeyboardKey_458897, Lang3: C.PhysicalKeyboardKey_458898, Lang4: C.PhysicalKeyboardKey_458899, Lang5: C.PhysicalKeyboardKey_458900, Abort: C.PhysicalKeyboardKey_458907, Props: C.PhysicalKeyboardKey_458915, NumpadParenLeft: C.PhysicalKeyboardKey_458934, NumpadParenRight: C.PhysicalKeyboardKey_458935, NumpadBackspace: C.PhysicalKeyboardKey_458939, NumpadMemoryStore: C.PhysicalKeyboardKey_458960, NumpadMemoryRecall: C.PhysicalKeyboardKey_458961, NumpadMemoryClear: C.PhysicalKeyboardKey_458962, NumpadMemoryAdd: C.PhysicalKeyboardKey_458963, NumpadMemorySubtract: C.PhysicalKeyboardKey_458964, NumpadSignChange: C.PhysicalKeyboardKey_458967, NumpadClear: C.PhysicalKeyboardKey_458968, NumpadClearEntry: C.PhysicalKeyboardKey_458969, ControlLeft: C.PhysicalKeyboardKey_458976, ShiftLeft: C.PhysicalKeyboardKey_458977, AltLeft: C.PhysicalKeyboardKey_458978, MetaLeft: C.PhysicalKeyboardKey_458979, ControlRight: C.PhysicalKeyboardKey_458980, ShiftRight: C.PhysicalKeyboardKey_458981, AltRight: C.PhysicalKeyboardKey_458982, MetaRight: C.PhysicalKeyboardKey_458983, Info: C.PhysicalKeyboardKey_786528, ClosedCaptionToggle: C.PhysicalKeyboardKey_786529, BrightnessUp: C.PhysicalKeyboardKey_786543, BrightnessDown: C.PhysicalKeyboardKey_786544, BrightnessToggle: C.PhysicalKeyboardKey_786546, BrightnessMinimum: C.PhysicalKeyboardKey_786547, BrightnessMaximum: C.PhysicalKeyboardKey_786548, BrightnessAuto: C.PhysicalKeyboardKey_786549, KbdIllumUp: C.PhysicalKeyboardKey_786553, KbdIllumDown: C.PhysicalKeyboardKey_786554, MediaLast: C.PhysicalKeyboardKey_786563, LaunchPhone: C.PhysicalKeyboardKey_786572, ProgramGuide: C.PhysicalKeyboardKey_786573, Exit: C.PhysicalKeyboardKey_786580, ChannelUp: C.PhysicalKeyboardKey_786588, ChannelDown: C.PhysicalKeyboardKey_786589, MediaPlay: C.PhysicalKeyboardKey_786608, MediaPause: C.PhysicalKeyboardKey_786609, MediaRecord: C.PhysicalKeyboardKey_786610, MediaFastForward: C.PhysicalKeyboardKey_786611, MediaRewind: C.PhysicalKeyboardKey_786612, MediaTrackNext: C.PhysicalKeyboardKey_786613, MediaTrackPrevious: C.PhysicalKeyboardKey_786614, MediaStop: C.PhysicalKeyboardKey_786615, Eject: C.PhysicalKeyboardKey_786616, MediaPlayPause: C.PhysicalKeyboardKey_786637, SpeechInputToggle: C.PhysicalKeyboardKey_786639, BassBoost: C.PhysicalKeyboardKey_786661, MediaSelect: C.PhysicalKeyboardKey_786819, LaunchWordProcessor: C.PhysicalKeyboardKey_786820, LaunchSpreadsheet: C.PhysicalKeyboardKey_786822, LaunchMail: C.PhysicalKeyboardKey_786826, LaunchContacts: C.PhysicalKeyboardKey_786829, LaunchCalendar: C.PhysicalKeyboardKey_786830, LaunchApp2: C.PhysicalKeyboardKey_786834, LaunchApp1: C.PhysicalKeyboardKey_786836, LaunchInternetBrowser: C.PhysicalKeyboardKey_786838, LogOff: C.PhysicalKeyboardKey_786844, LockScreen: C.PhysicalKeyboardKey_786846, LaunchControlPanel: C.PhysicalKeyboardKey_786847, SelectTask: C.PhysicalKeyboardKey_786850, LaunchDocuments: C.PhysicalKeyboardKey_786855, SpellCheck: C.PhysicalKeyboardKey_786859, LaunchKeyboardLayout: C.PhysicalKeyboardKey_786862, LaunchScreenSaver: C.PhysicalKeyboardKey_786865, LaunchAudioBrowser: C.PhysicalKeyboardKey_786871, LaunchAssistant: C.PhysicalKeyboardKey_786891, New: C.PhysicalKeyboardKey_786945, Close: C.PhysicalKeyboardKey_786947, Save: C.PhysicalKeyboardKey_786951, Print: C.PhysicalKeyboardKey_786952, BrowserSearch: C.PhysicalKeyboardKey_786977, BrowserHome: C.PhysicalKeyboardKey_786979, BrowserBack: C.PhysicalKeyboardKey_786980, BrowserForward: C.PhysicalKeyboardKey_786981, BrowserStop: C.PhysicalKeyboardKey_786982, BrowserRefresh: C.PhysicalKeyboardKey_786983, BrowserFavorites: C.PhysicalKeyboardKey_786986, ZoomIn: C.PhysicalKeyboardKey_786989, ZoomOut: C.PhysicalKeyboardKey_786990, ZoomToggle: C.PhysicalKeyboardKey_786994, Redo: C.PhysicalKeyboardKey_787065, MailReply: C.PhysicalKeyboardKey_787081, MailForward: C.PhysicalKeyboardKey_787083, MailSend: C.PhysicalKeyboardKey_787084, KeyboardLayoutSelect: C.PhysicalKeyboardKey_787101, ShowAllWindows: C.PhysicalKeyboardKey_787103}, C.List_yfz, H.findType("ConstantStringMap<String*,PhysicalKeyboardKey*>"));
    C.MaterialAccentColor_Map_iTYZn_4284809178 = new E.MaterialAccentColor(C.Map_iTYZn, 4284809178);
    C.Color_4294955392 = new P.Color(4294955392);
    C.Color_4294945600 = new P.Color(4294945600);
    C.Color_4294938880 = new P.Color(4294938880);
    C.Color_4294929664 = new P.Color(4294929664);
    C.Map_iTsEs = new H.GeneralConstantMap([100, C.Color_4294955392, 200, C.Color_4294945600, 400, C.Color_4294938880, 700, C.Color_4294929664], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.MaterialAccentColor_Map_iTsEs_4294945600 = new E.MaterialAccentColor(C.Map_iTsEs, 4294945600);
    C.MaterialAccentColor_Map_iTwHq_4294967040 = new E.MaterialAccentColor(C.Map_iTwHq, 4294967040);
    C.Color_4286634239 = new P.Color(4286634239);
    C.Color_4282434815 = new P.Color(4282434815);
    C.Color_4278235391 = new P.Color(4278235391);
    C.Map_iTyLX = new H.GeneralConstantMap([100, C.Color_4286634239, 200, C.Color_4282434815, 400, C.Color_4278235391, 700, C.Color_4278227434], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.MaterialAccentColor_Map_iTyLX_4282434815 = new E.MaterialAccentColor(C.Map_iTyLX, 4282434815);
    C.MaterialBannerThemeData_null_null_null_null = new Q.MaterialBannerThemeData(null, null, null, null);
    C.MaterialColor_Map_JNc9P_4294198070 = new E.MaterialColor(C.Map_JNc9P, 4294198070);
    C.Color_4294965473 = new P.Color(4294965473);
    C.Color_4294962355 = new P.Color(4294962355);
    C.Color_4294959234 = new P.Color(4294959234);
    C.Color_4294956367 = new P.Color(4294956367);
    C.Color_4294953512 = new P.Color(4294953512);
    C.Color_4294951175 = new P.Color(4294951175);
    C.Color_4294947584 = new P.Color(4294947584);
    C.Color_4294942720 = new P.Color(4294942720);
    C.Color_4294938368 = new P.Color(4294938368);
    C.Color_4294930176 = new P.Color(4294930176);
    C.Map_JNsy5 = new H.GeneralConstantMap([50, C.Color_4294965473, 100, C.Color_4294962355, 200, C.Color_4294959234, 300, C.Color_4294956367, 400, C.Color_4294953512, 500, C.Color_4294951175, 600, C.Color_4294947584, 700, C.Color_4294942720, 800, C.Color_4294938368, 900, C.Color_4294930176], type$.GeneralConstantMap_of_legacy_int_and_legacy_Color);
    C.MaterialColor_Map_JNsy5_4294951175 = new E.MaterialColor(C.Map_JNsy5, 4294951175);
    C.MaterialColor_Map_JNwaj_4280391411 = new E.MaterialColor(C.Map_JNwaj, 4280391411);
    C.MaterialIconLabel_6pZ = new U.MaterialIconLabel(C.IconData_57647_MaterialIcons_false, null, "Take Heap Snapshot", null, null);
    C.IconData_58659_MaterialIcons_false = new X.IconData(58659, "MaterialIcons", false);
    C.MaterialIconLabel_aBG = new U.MaterialIconLabel(C.IconData_58659_MaterialIcons_false, null, "Reset to default", null, null);
    C.MaterialIconLabel_kgK = new U.MaterialIconLabel(C.IconData_57966_MaterialIcons_false, null, "Import File", null, null);
    C.MaterialIconLabel_q91 = new U.MaterialIconLabel(C.IconData_57704_MaterialIcons_false, null, "Exit offline mode", null, null);
    C.MaterialState_0 = new V.MaterialState(0, "MaterialState.hovered");
    C.MaterialState_1 = new V.MaterialState(1, "MaterialState.focused");
    C.MaterialState_2 = new V.MaterialState(2, "MaterialState.pressed");
    C.MaterialState_3 = new V.MaterialState(3, "MaterialState.dragged");
    C.MaterialState_4 = new V.MaterialState(4, "MaterialState.selected");
    C.MaterialState_5 = new V.MaterialState(5, "MaterialState.scrolledUnder");
    C.MaterialState_6 = new V.MaterialState(6, "MaterialState.disabled");
    C.MaterialState_7 = new V.MaterialState(7, "MaterialState.error");
    C.MaterialTapTargetSize_0 = new X.MaterialTapTargetSize(0, "MaterialTapTargetSize.padded");
    C.MaterialTapTargetSize_1 = new X.MaterialTapTargetSize(1, "MaterialTapTargetSize.shrinkWrap");
    C.MaterialType_0 = new M.MaterialType(0, "MaterialType.canvas");
    C.MaterialType_1 = new M.MaterialType(1, "MaterialType.card");
    C.MaterialType_2 = new M.MaterialType(2, "MaterialType.circle");
    C.MaterialType_3 = new M.MaterialType(3, "MaterialType.button");
    C.MaterialType_4 = new M.MaterialType(4, "MaterialType.transparency");
    C.MaxLengthEnforcement_0 = new B.MaxLengthEnforcement(0, "MaxLengthEnforcement.none");
    C.MaxLengthEnforcement_2 = new B.MaxLengthEnforcement(2, "MaxLengthEnforcement.truncateAfterCompositionEnds");
    C.MemoryBody_null = new L.MemoryBody(null);
    C.IconData_61812_Octicons_false = new X.IconData(61812, "Octicons", false);
    C.MemoryScreen_mhB = new L.MemoryScreen("memory", "Memory", C.IconData_61812_Octicons_false, null, null, true, false, false, false, null);
    C.MethodCall_popRoute_null = new H.MethodCall0("popRoute", null);
    C.C_StandardMethodCodec0 = new U.StandardMethodCodec0();
    C.MethodChannel_61L = new A.MethodChannel("plugins.flutter.io/url_launcher", C.C_StandardMethodCodec0);
    C.MethodChannel_Gpa = new A.MethodChannel("flutter/service_worker", C.C_StandardMethodCodec0);
    C.MethodChannel_qBr = new A.MethodChannel("plugins.flutter.io/file_selector", C.C_StandardMethodCodec0);
    C.MutatorType_0 = new H.MutatorType(0, "MutatorType.clipRect");
    C.MutatorType_1 = new H.MutatorType(1, "MutatorType.clipRRect");
    C.MutatorType_2 = new H.MutatorType(2, "MutatorType.clipPath");
    C.MutatorType_3 = new H.MutatorType(3, "MutatorType.transform");
    C.MutatorType_4 = new H.MutatorType(4, "MutatorType.opacity");
    C.NavigationMode_0 = new F.NavigationMode(0, "NavigationMode.traditional");
    C.NavigationMode_1 = new F.NavigationMode(1, "NavigationMode.directional");
    C.NavigationRailLabelType_0 = new E.NavigationRailLabelType(0, "NavigationRailLabelType.none");
    C.NavigationRailLabelType_1 = new E.NavigationRailLabelType(1, "NavigationRailLabelType.selected");
    C.NavigationRailLabelType_2 = new E.NavigationRailLabelType(2, "NavigationRailLabelType.all");
    C.NavigationRailThemeData_U06 = new E.NavigationRailThemeData(null, null, null, null, null, null, null, null);
    C.NetworkScreenBody_null = new Y.NetworkScreenBody(null);
    C.IconData_58404_MaterialIcons_false = new X.IconData(58404, "MaterialIcons", false);
    C.NetworkScreen_jsV = new Y.NetworkScreen("network", "Network", C.IconData_58404_MaterialIcons_false, null, null, true, false, false, false, null);
    C.NeverScrollableScrollPhysics_null = new L.NeverScrollableScrollPhysics(null);
    C.OffsetPair_G6F = new S.OffsetPair(C.Offset_0_0, C.Offset_0_0);
    C.Offset_10_10 = new P.Offset(10, 10);
    C.Offset_11_m4 = new P.Offset(11, -4);
    C.Offset_20_20 = new P.Offset(20, 20);
    C.Offset_22_0 = new P.Offset(22, 0);
    C.Offset_28_44 = new P.Offset(28, 44);
    C.Offset_40_40 = new P.Offset(40, 40);
    C.Offset_6_6 = new P.Offset(6, 6);
    C.Offset_6pl = new P.Offset(5, 10.5);
    C.Offset_9_9 = new P.Offset(9, 9);
    C.Offset_Gl7 = new P.Offset(14.4, 9);
    C.Offset_MNd = new P.Offset(0, -0.25);
    C.Offset_W7v = new P.Offset(2.6999999999999997, 8.1);
    C.Offset_aNU = new P.Offset(3.6, 9);
    C.Offset_gPO = new P.Offset(7.2, 12.6);
    C.Offset_m3_13 = new P.Offset(-3, 13);
    C.Offset_oIk = new P.Offset(15.299999999999999, 4.5);
    C.OperatingSystem_0 = new H.OperatingSystem(0, "OperatingSystem.iOs");
    C.OperatingSystem_1 = new H.OperatingSystem(1, "OperatingSystem.android");
    C.OperatingSystem_2 = new H.OperatingSystem(2, "OperatingSystem.linux");
    C.OperatingSystem_3 = new H.OperatingSystem(3, "OperatingSystem.windows");
    C.OperatingSystem_4 = new H.OperatingSystem(4, "OperatingSystem.macOs");
    C.OperatingSystem_5 = new H.OperatingSystem(5, "OperatingSystem.unknown");
    C.C_JSONMethodCodec0 = new U.JSONMethodCodec0();
    C.OptionalMethodChannel_PLF = new A.OptionalMethodChannel("flutter/textinput", C.C_JSONMethodCodec0);
    C.OptionalMethodChannel_cWd = new A.OptionalMethodChannel("flutter/platform", C.C_JSONMethodCodec0);
    C.OptionalMethodChannel_fgL = new A.OptionalMethodChannel("flutter/restoration", C.C_StandardMethodCodec0);
    C.OptionalMethodChannel_meQ = new A.OptionalMethodChannel("flutter/mousecursor", C.C_StandardMethodCodec0);
    C.OptionalMethodChannel_urv = new A.OptionalMethodChannel("flutter/navigation", C.C_JSONMethodCodec0);
    C.OrdinalSortKey_0_null = new A.OrdinalSortKey(0, null);
    C.OrdinalSortKey_1_null = new A.OrdinalSortKey(1, null);
    C.Orientation_0 = new F.Orientation(0, "Orientation.portrait");
    C.Orientation_1 = new F.Orientation(1, "Orientation.landscape");
    C.OutlinedButtonThemeData_null = new U.OutlinedButtonThemeData(null);
    C.OverflowBarAlignment_0 = new E.OverflowBarAlignment(0, "OverflowBarAlignment.start");
    C.OverflowBarAlignment_1 = new E.OverflowBarAlignment(1, "OverflowBarAlignment.end");
    C.OverflowBarAlignment_2 = new E.OverflowBarAlignment(2, "OverflowBarAlignment.center");
    C.OverflowSide_0 = new N.OverflowSide(0, "OverflowSide.right");
    C.OverflowSide_1 = new N.OverflowSide(1, "OverflowSide.bottom");
    C.Overflow_1 = new K.Overflow(1, "Overflow.clip");
    C.PacketKind_0 = new O.PacketKind(0, "PacketKind.EOS");
    C.PacketKind_1 = new O.PacketKind(1, "PacketKind.Text");
    C.PacketKind_2 = new O.PacketKind(2, "PacketKind.Incomplete");
    C.PacketKind_3 = new O.PacketKind(3, "PacketKind.ESC");
    C.PacketKind_4 = new O.PacketKind(4, "PacketKind.Unknown");
    C.PacketKind_5 = new O.PacketKind(5, "PacketKind.SGR");
    C.PacketKind_6 = new O.PacketKind(6, "PacketKind.OSCURL");
    C.PaddedDivider_wEo = new U.PaddedDivider(C.EdgeInsets_0_0_0_0, null);
    C.EdgeInsets_6_0_0_0 = new V.EdgeInsets(6, 0, 0, 0);
    C.PaddedDivider_wEo4 = new U.PaddedDivider(C.EdgeInsets_6_0_0_0, null);
    C.PaddedDivider_wEo3 = new U.PaddedDivider(C.EdgeInsets_0_4_0_4, null);
    C.PaddedDivider_wEo0 = new U.PaddedDivider(C.EdgeInsets_0_0_0_6, null);
    C.PaddedDivider_wEo1 = new U.PaddedDivider(C.EdgeInsets_0_0_0_10, null);
    C.EdgeInsets_0_10_0_10 = new V.EdgeInsets(0, 10, 0, 10);
    C.PaddedDivider_wEo2 = new U.PaddedDivider(C.EdgeInsets_0_10_0_10, null);
    C.IconData_57499_MaterialIcons_true = new X.IconData(57499, "MaterialIcons", true);
    C.Icon_gQW = new L.Icon(C.IconData_57499_MaterialIcons_true, null, null, null);
    C.Padding_ClQ = new T.Padding(C.EdgeInsets_4_0_4_0, C.Icon_gQW, null);
    C.EdgeInsets_0_16_0_0 = new V.EdgeInsets(0, 16, 0, 0);
    C.Padding_lAj = new T.Padding(C.EdgeInsets_0_16_0_0, null, null);
    C.EdgeInsets_0_20_0_0 = new V.EdgeInsets(0, 20, 0, 0);
    C.Padding_lAj1 = new T.Padding(C.EdgeInsets_0_20_0_0, null, null);
    C.Padding_lAj0 = new T.Padding(C.EdgeInsets_16_0_0_0, null, null);
    C.EdgeInsets_0_0_0_24 = new V.EdgeInsets(0, 0, 0, 24);
    C.Padding_lAj2 = new T.Padding(C.EdgeInsets_0_0_0_24, null, null);
    C.Padding_wwP = new T.Padding(C.EdgeInsets_16_4_4_4, C.Text_fOk, null);
    C.PageScrollPhysics_null = new D.PageScrollPhysics(null);
    C.PaintingStyle_0 = new P.PaintingStyle(0, "PaintingStyle.fill");
    C.PaintingStyle_1 = new P.PaintingStyle(1, "PaintingStyle.stroke");
    C.ParagraphConstraints_60 = new P.ParagraphConstraints(60);
    C.ParagraphConstraints_C5f = new P.ParagraphConstraints(1 / 0);
    C.PathFillType_0 = new P.PathFillType(0, "PathFillType.nonZero");
    C.PathFillType_1 = new P.PathFillType(1, "PathFillType.evenOdd");
    C.PerformanceScreenBody_null = new R.PerformanceScreenBody(null);
    C.PerformanceScreen_0 = new R.PerformanceScreen("performance", "Performance", C.IconData_61823_Octicons_false, null, null, true, false, false, true, R.performance_screen_PerformanceScreen__shouldShowForFlutterVersion$closure());
    C.PersistedSurfaceState_0 = new H.PersistedSurfaceState(0, "PersistedSurfaceState.created");
    C.PersistedSurfaceState_1 = new H.PersistedSurfaceState(1, "PersistedSurfaceState.active");
    C.PersistedSurfaceState_2 = new H.PersistedSurfaceState(2, "PersistedSurfaceState.pendingRetention");
    C.PersistedSurfaceState_3 = new H.PersistedSurfaceState(3, "PersistedSurfaceState.pendingUpdate");
    C.PersistedSurfaceState_4 = new H.PersistedSurfaceState(4, "PersistedSurfaceState.released");
    C.PivotType_0 = new E.PivotType(0, "PivotType.pivotByMiddle");
    C.PivotType_1 = new E.PivotType(1, "PivotType.pivotBySize");
    C.PlaceholderAlignment_0 = new P.PlaceholderAlignment(0, "PlaceholderAlignment.baseline");
    C.PlaceholderAlignment_1 = new P.PlaceholderAlignment(1, "PlaceholderAlignment.aboveBaseline");
    C.PlaceholderAlignment_2 = new P.PlaceholderAlignment(2, "PlaceholderAlignment.belowBaseline");
    C.PlaceholderAlignment_3 = new P.PlaceholderAlignment(3, "PlaceholderAlignment.top");
    C.PlaceholderAlignment_4 = new P.PlaceholderAlignment(4, "PlaceholderAlignment.bottom");
    C.PlaceholderAlignment_5 = new P.PlaceholderAlignment(5, "PlaceholderAlignment.middle");
    C.PlaceholderDimensions_Size_0_0_null = new U.PlaceholderDimensions(C.Size_0_0, null);
    C.PointerChange_0 = new P.PointerChange(0, "PointerChange.cancel");
    C.PointerChange_1 = new P.PointerChange(1, "PointerChange.add");
    C.PointerChange_2 = new P.PointerChange(2, "PointerChange.remove");
    C.PointerChange_3 = new P.PointerChange(3, "PointerChange.hover");
    C.PointerChange_4 = new P.PointerChange(4, "PointerChange.down");
    C.PointerChange_5 = new P.PointerChange(5, "PointerChange.move");
    C.PointerChange_6 = new P.PointerChange(6, "PointerChange.up");
    C.PointerDeviceKind_0 = new P.PointerDeviceKind(0, "PointerDeviceKind.touch");
    C.PointerDeviceKind_1 = new P.PointerDeviceKind(1, "PointerDeviceKind.mouse");
    C.PointerDeviceKind_2 = new P.PointerDeviceKind(2, "PointerDeviceKind.stylus");
    C.PointerDeviceKind_3 = new P.PointerDeviceKind(3, "PointerDeviceKind.invertedStylus");
    C.PointerDeviceKind_4 = new P.PointerDeviceKind(4, "PointerDeviceKind.unknown");
    C.PointerSignalKind_0 = new P.PointerSignalKind(0, "PointerSignalKind.none");
    C.PointerSignalKind_1 = new P.PointerSignalKind(1, "PointerSignalKind.scroll");
    C.PointerSignalKind_2 = new P.PointerSignalKind(2, "PointerSignalKind.unknown");
    C.PopupMenuThemeData_XJe = new R.PopupMenuThemeData(null, null, null, null, null);
    C.Predefined_Double_true = new X.Predefined("Double", true);
    C.Predefined_HashMap_false = new X.Predefined("HashMap", false);
    C.Predefined_List_false = new X.Predefined("List", false);
    C.Predefined_Map_false = new X.Predefined("Map", false);
    C.Predefined_Null_true = new X.Predefined("Null", true);
    C.Predefined_String_true = new X.Predefined("String", true);
    C.Predefined_bool_true = new X.Predefined("bool", true);
    C.Predefined_int_true = new X.Predefined("int", true);
    C.Priority_100000 = new V.Priority(100000);
    C.ProfileGranularity_0 = new D.ProfileGranularity(0, "ProfileGranularity.low");
    C.ProfileGranularity_1 = new D.ProfileGranularity(1, "ProfileGranularity.medium");
    C.ProfileGranularity_2 = new D.ProfileGranularity(2, "ProfileGranularity.high");
    C.ProfilerScreenBody_null = new X.ProfilerScreenBody(null);
    C.IconData_61733_Octicons_false = new X.IconData(61733, "Octicons", false);
    C.ProfilerScreen_QGa = new X.ProfilerScreen("cpu-profiler", "CPU Profiler", C.IconData_61733_Octicons_false, null, null, true, false, false, true, null);
    C.ProgressIndicatorThemeData_Z49 = new B.ProgressIndicatorThemeData(null, null, null, null, null);
    C.ProviderScreenBody_null = new Z.ProviderScreenBody(null);
    C.IconData_57521_MaterialIcons_false = new X.IconData(57521, "MaterialIcons", false);
    C.ProviderScreen_ynv = new Z.ProviderScreen("provider", "Provider", C.IconData_57521_MaterialIcons_false, null, "package:provider/", false, true, false, false, null);
    C.RRect_GZS = new P.RRect(20, 20, 60, 60, 10, 10, 10, 10, 10, 10, 10, 10, true);
    C.RadioThemeData_gDe = new T.RadioThemeData(null, null, null, null, null, null);
    C.Radius_1_1 = new P.Radius(1, 1);
    C.Radius_2Vk = new P.Radius(15.5, 15.5);
    C.Radius_2_2 = new P.Radius(2, 2);
    C.Radius_7_7 = new P.Radius(7, 7);
    C.Radius_8_8 = new P.Radius(8, 8);
    C.Radius_ydE = new P.Radius(1.5, 1.5);
    C.Rect_0_0_0_0 = new P.Rect(0, 0, 0, 0);
    C.Rect_10_10_320_240 = new P.Rect(10, 10, 320, 240);
    C.Rect_Vy7 = new P.Rect(-1 / 0, -1 / 0, 1 / 0, 1 / 0);
    C.Rect_aha = new P.Rect(-1000000000, -1000000000, 1000000000, 1000000000);
    C.IconData_58754_MaterialIcons_false = new X.IconData(58754, "MaterialIcons", false);
    C.Icon_Lt00 = new L.Icon(C.IconData_58754_MaterialIcons_false, 20, null, null);
    C.RegisteredServiceDescription_ZZG = new F.RegisteredServiceDescription("hotRestart", C.Icon_Lt00);
    C.RegistrableServiceExtension_getLayoutExplorerNode = new E.RegistrableServiceExtension("getLayoutExplorerNode");
    C.RegistrableServiceExtension_getPubRootDirectories = new E.RegistrableServiceExtension("getPubRootDirectories");
    C.RegistrableServiceExtension_setFlexFactor = new E.RegistrableServiceExtension("setFlexFactor");
    C.RegistrableServiceExtension_setFlexFit = new E.RegistrableServiceExtension("setFlexFit");
    C.RegistrableServiceExtension_setFlexProperties = new E.RegistrableServiceExtension("setFlexProperties");
    C.RenderAnimatedSizeState_0 = new F.RenderAnimatedSizeState(0, "RenderAnimatedSizeState.start");
    C.RenderAnimatedSizeState_1 = new F.RenderAnimatedSizeState(1, "RenderAnimatedSizeState.stable");
    C.RenderAnimatedSizeState_2 = new F.RenderAnimatedSizeState(2, "RenderAnimatedSizeState.changed");
    C.RenderAnimatedSizeState_3 = new F.RenderAnimatedSizeState(3, "RenderAnimatedSizeState.unstable");
    C.RenderComparison_0 = new G.RenderComparison(0, "RenderComparison.identical");
    C.RenderComparison_1 = new G.RenderComparison(1, "RenderComparison.metadata");
    C.RenderComparison_2 = new G.RenderComparison(2, "RenderComparison.paint");
    C.RenderComparison_3 = new G.RenderComparison(3, "RenderComparison.layout");
    C.Role_0 = new H.Role(0, "Role.incrementable");
    C.Role_1 = new H.Role(1, "Role.scrollable");
    C.Role_2 = new H.Role(2, "Role.labelAndValue");
    C.Role_3 = new H.Role(3, "Role.tappable");
    C.Role_4 = new H.Role(4, "Role.textField");
    C.Role_5 = new H.Role(5, "Role.checkable");
    C.Role_6 = new H.Role(6, "Role.image");
    C.Role_7 = new H.Role(7, "Role.liveRegion");
    C.RoundedRectangleBorder_6Fb = new X.RoundedRectangleBorder(C.BorderRadius_tLn, C.BorderSide_06g);
    C.BorderRadius_tLn3 = new K.BorderRadius(C.Radius_1_1, C.Radius_1_1, C.Radius_1_1, C.Radius_1_1);
    C.RoundedRectangleBorder_6Fb2 = new X.RoundedRectangleBorder(C.BorderRadius_tLn3, C.BorderSide_06g);
    C.BorderRadius_tLn4 = new K.BorderRadius(C.Radius_2_2, C.Radius_2_2, C.Radius_2_2, C.Radius_2_2);
    C.RoundedRectangleBorder_6Fb0 = new X.RoundedRectangleBorder(C.BorderRadius_tLn4, C.BorderSide_06g);
    C.RoundedRectangleBorder_6Fb1 = new X.RoundedRectangleBorder(C.BorderRadius_tLn0, C.BorderSide_06g);
    C.RoutePopDisposition_0 = new K.RoutePopDisposition(0, "RoutePopDisposition.pop");
    C.RoutePopDisposition_1 = new K.RoutePopDisposition(1, "RoutePopDisposition.doNotPop");
    C.RoutePopDisposition_2 = new K.RoutePopDisposition(2, "RoutePopDisposition.bubble");
    C.RouteSettings_null_null = new K.RouteSettings(null, null);
    C.SawTooth_1333 = new Z.SawTooth(1333);
    C.SawTooth_2222 = new Z.SawTooth(2222);
    C.ScaffoldGeometry_null_null = new M.ScaffoldGeometry(null, null);
    C.SchedulerPhase_0 = new N.SchedulerPhase(0, "SchedulerPhase.idle");
    C.SchedulerPhase_1 = new N.SchedulerPhase(1, "SchedulerPhase.transientCallbacks");
    C.SchedulerPhase_2 = new N.SchedulerPhase(2, "SchedulerPhase.midFrameMicrotasks");
    C.SchedulerPhase_3 = new N.SchedulerPhase(3, "SchedulerPhase.persistentCallbacks");
    C.SchedulerPhase_4 = new N.SchedulerPhase(4, "SchedulerPhase.postFrameCallbacks");
    C.ScriptCategory_0 = new U.ScriptCategory(0, "ScriptCategory.englishLike");
    C.ScriptCategory_1 = new U.ScriptCategory(1, "ScriptCategory.dense");
    C.ScriptCategory_2 = new U.ScriptCategory(2, "ScriptCategory.tall");
    C.IconData_58244_MaterialIcons_true = new X.IconData(58244, "MaterialIcons", true);
    C.ScriptPopupMenuOption_8EU = new K.ScriptPopupMenuOption("Go to line number", K.codeview__showGoToLineDialog$closure(), C.IconData_58244_MaterialIcons_true);
    C.ScrollDirection_0 = new N.ScrollDirection(0, "ScrollDirection.idle");
    C.ScrollDirection_1 = new N.ScrollDirection(1, "ScrollDirection.forward");
    C.ScrollDirection_2 = new N.ScrollDirection(2, "ScrollDirection.reverse");
    C.ScrollKind_0 = new S.ScrollKind(0, "ScrollKind.up");
    C.ScrollKind_1 = new S.ScrollKind(1, "ScrollKind.down");
    C.ScrollKind_2 = new S.ScrollKind(2, "ScrollKind.parent");
    C.ScrollPositionAlignmentPolicy_0 = new A.ScrollPositionAlignmentPolicy(0, "ScrollPositionAlignmentPolicy.explicit");
    C.ScrollPositionAlignmentPolicy_1 = new A.ScrollPositionAlignmentPolicy(1, "ScrollPositionAlignmentPolicy.keepVisibleAtEnd");
    C.ScrollPositionAlignmentPolicy_2 = new A.ScrollPositionAlignmentPolicy(2, "ScrollPositionAlignmentPolicy.keepVisibleAtStart");
    C.ScrollViewKeyboardDismissBehavior_0 = new B.ScrollViewKeyboardDismissBehavior(0, "ScrollViewKeyboardDismissBehavior.manual");
    C.ScrollViewKeyboardDismissBehavior_1 = new B.ScrollViewKeyboardDismissBehavior(1, "ScrollViewKeyboardDismissBehavior.onDrag");
    C.ScrollbarThemeData_I7P = new X.ScrollbarThemeData(null, null, null, null, null, null, null, null, null, null, null);
    C.ToolbarOptions_true_false_false = new D.ToolbarOptions(true, false, false);
    C.SelectableText_I8B = new O.SelectableText("DevTools version 2.3.3-dev.1", null, null, null, null, null, C.ToolbarOptions_true_false_false, null, null, null);
    C.SelectionChangedCause_0 = new N.SelectionChangedCause(0, "SelectionChangedCause.tap");
    C.SelectionChangedCause_2 = new N.SelectionChangedCause(2, "SelectionChangedCause.longPress");
    C.SelectionChangedCause_3 = new N.SelectionChangedCause(3, "SelectionChangedCause.forcePress");
    C.SelectionChangedCause_4 = new N.SelectionChangedCause(4, "SelectionChangedCause.keyboard");
    C.SelectionChangedCause_5 = new N.SelectionChangedCause(5, "SelectionChangedCause.toolBar");
    C.SelectionChangedCause_6 = new N.SelectionChangedCause(6, "SelectionChangedCause.drag");
    C.SemanticsAction_1 = new P.SemanticsAction(1);
    C.SemanticsAction_1024 = new P.SemanticsAction(1024);
    C.SemanticsAction_1048576 = new P.SemanticsAction(1048576);
    C.SemanticsAction_128 = new P.SemanticsAction(128);
    C.SemanticsAction_16 = new P.SemanticsAction(16);
    C.SemanticsAction_16384 = new P.SemanticsAction(16384);
    C.SemanticsAction_2 = new P.SemanticsAction(2);
    C.SemanticsAction_2048 = new P.SemanticsAction(2048);
    C.SemanticsAction_2097152 = new P.SemanticsAction(2097152);
    C.SemanticsAction_256 = new P.SemanticsAction(256);
    C.SemanticsAction_262144 = new P.SemanticsAction(262144);
    C.SemanticsAction_32 = new P.SemanticsAction(32);
    C.SemanticsAction_32768 = new P.SemanticsAction(32768);
    C.SemanticsAction_4 = new P.SemanticsAction(4);
    C.SemanticsAction_4096 = new P.SemanticsAction(4096);
    C.SemanticsAction_512 = new P.SemanticsAction(512);
    C.SemanticsAction_524288 = new P.SemanticsAction(524288);
    C.SemanticsAction_64 = new P.SemanticsAction(64);
    C.SemanticsAction_65536 = new P.SemanticsAction(65536);
    C.SemanticsAction_8 = new P.SemanticsAction(8);
    C.SemanticsAction_8192 = new P.SemanticsAction(8192);
    C.SemanticsFlag_1 = new P.SemanticsFlag(1);
    C.SemanticsFlag_1024 = new P.SemanticsFlag(1024);
    C.SemanticsFlag_1048576 = new P.SemanticsFlag(1048576);
    C.SemanticsFlag_128 = new P.SemanticsFlag(128);
    C.SemanticsFlag_131072 = new P.SemanticsFlag(131072);
    C.SemanticsFlag_16 = new P.SemanticsFlag(16);
    C.SemanticsFlag_16384 = new P.SemanticsFlag(16384);
    C.SemanticsFlag_16777216 = new P.SemanticsFlag(16777216);
    C.SemanticsFlag_2 = new P.SemanticsFlag(2);
    C.SemanticsFlag_2048 = new P.SemanticsFlag(2048);
    C.SemanticsFlag_2097152 = new P.SemanticsFlag(2097152);
    C.SemanticsFlag_256 = new P.SemanticsFlag(256);
    C.SemanticsFlag_262144 = new P.SemanticsFlag(262144);
    C.SemanticsFlag_32 = new P.SemanticsFlag(32);
    C.SemanticsFlag_32768 = new P.SemanticsFlag(32768);
    C.SemanticsFlag_4 = new P.SemanticsFlag(4);
    C.SemanticsFlag_4096 = new P.SemanticsFlag(4096);
    C.SemanticsFlag_4194304 = new P.SemanticsFlag(4194304);
    C.SemanticsFlag_512 = new P.SemanticsFlag(512);
    C.SemanticsFlag_524288 = new P.SemanticsFlag(524288);
    C.SemanticsFlag_64 = new P.SemanticsFlag(64);
    C.SemanticsFlag_65536 = new P.SemanticsFlag(65536);
    C.SemanticsFlag_8 = new P.SemanticsFlag(8);
    C.SemanticsFlag_8192 = new P.SemanticsFlag(8192);
    C.SemanticsFlag_8388608 = new P.SemanticsFlag(8388608);
    C.SemanticsTag_FIw = new A.SemanticsTag("RenderViewport.twoPane");
    C.SemanticsTag_bQQ = new A.SemanticsTag("RenderViewport.excludeFromScrolling");
    C.Map_082B = new H.GeneralConstantMap([C.MaterialState_1, null], type$.GeneralConstantMap_of_legacy_MaterialState_and_Null);
    C.Set_0 = new P._UnmodifiableSet(C.Map_082B, type$._UnmodifiableSet_legacy_MaterialState);
    C.Map_0wcW = new H.GeneralConstantMap([C.MaterialState_0, null], type$.GeneralConstantMap_of_legacy_MaterialState_and_Null);
    C.Set_00 = new P._UnmodifiableSet(C.Map_0wcW, type$._UnmodifiableSet_legacy_MaterialState);
    C.List_2No0 = H._setArrayType(makeConstList(["click", "touchstart", "touchend", "pointerdown", "pointermove", "pointerup"]), type$.JSArray_legacy_String);
    C.Map_2NPLv = new H.ConstantStringMap(6, {click: null, touchstart: null, touchend: null, pointerdown: null, pointermove: null, pointerup: null}, C.List_2No0, type$.ConstantStringMap_of_legacy_String_and_Null);
    C.Set_2No4 = new P._UnmodifiableSet(C.Map_2NPLv, type$._UnmodifiableSet_legacy_String);
    C.List_mailto_tel_sms = H._setArrayType(makeConstList(["mailto", "tel", "sms"]), type$.JSArray_legacy_String);
    C.Map_4eGok = new H.ConstantStringMap(3, {mailto: null, tel: null, sms: null}, C.List_mailto_tel_sms, type$.ConstantStringMap_of_legacy_String_and_Null);
    C.Set_4e8j2 = new P._UnmodifiableSet(C.Map_4eGok, type$._UnmodifiableSet_legacy_String);
    C.Map_6hRTE = new H.GeneralConstantMap([C.PointerDeviceKind_0, null, C.PointerDeviceKind_2, null, C.PointerDeviceKind_3, null], H.findType("GeneralConstantMap<PointerDeviceKind*,Null>"));
    C.Set_6h591 = new P._UnmodifiableSet(C.Map_6hRTE, H.findType("_UnmodifiableSet<PointerDeviceKind*>"));
    C.Map_U881P = new H.GeneralConstantMap([C.MaterialState_2, null], type$.GeneralConstantMap_of_legacy_MaterialState_and_Null);
    C.Set_U8bKi = new P._UnmodifiableSet(C.Map_U881P, type$._UnmodifiableSet_legacy_MaterialState);
    C.List_Yab = H._setArrayType(makeConstList(["click", "keyup", "keydown", "mouseup", "mousedown", "pointerdown", "pointerup"]), type$.JSArray_legacy_String);
    C.Map_Yae5Z = new H.ConstantStringMap(7, {click: null, keyup: null, keydown: null, mouseup: null, mousedown: null, pointerdown: null, pointerup: null}, C.List_Yab, type$.ConstantStringMap_of_legacy_String_and_Null);
    C.Set_Yabt3 = new P._UnmodifiableSet(C.Map_Yae5Z, type$._UnmodifiableSet_legacy_String);
    C.Map_etsAK = new H.GeneralConstantMap([C.OperatingSystem_4, null, C.OperatingSystem_2, null, C.OperatingSystem_3, null], H.findType("GeneralConstantMap<OperatingSystem*,Null>"));
    C.Set_et9F4 = new P._UnmodifiableSet(C.Map_etsAK, H.findType("_UnmodifiableSet<OperatingSystem*>"));
    C.List_gsm = H._setArrayType(makeConstList(["==", "+", "-", "*", "/", "&", "~", "|", ">", "<", ">=", "<=", ">>", "<<", ">>>", "^", "%", "~/", "unary-"]), type$.JSArray_legacy_String);
    C.Map_gsAHF = new H.ConstantStringMap(19, {"==": null, "+": null, "-": null, "*": null, "/": null, "&": null, "~": null, "|": null, ">": null, "<": null, ">=": null, "<=": null, ">>": null, "<<": null, ">>>": null, "^": null, "%": null, "~/": null, "unary-": null}, C.List_gsm, type$.ConstantStringMap_of_legacy_String_and_Null);
    C.Set_gsmai = new P._UnmodifiableSet(C.Map_gsAHF, type$._UnmodifiableSet_legacy_String);
    C.List_ijv = H._setArrayType(makeConstList(["Flutter.ServiceExtensionStateChanged"]), type$.JSArray_legacy_String);
    C.Map_ijWZH = new H.ConstantStringMap(1, {"Flutter.ServiceExtensionStateChanged": null}, C.List_ijv, type$.ConstantStringMap_of_legacy_String_and_Null);
    C.Set_ijvA = new P._UnmodifiableSet(C.Map_ijWZH, type$._UnmodifiableSet_legacy_String);
    C.List_nPX = H._setArrayType(makeConstList(["Flutter.FirstFrame", "Flutter.FrameworkInitialization"]), type$.JSArray_legacy_String);
    C.Map_nP0C4 = new H.ConstantStringMap(2, {"Flutter.FirstFrame": null, "Flutter.FrameworkInitialization": null}, C.List_nPX, type$.ConstantStringMap_of_legacy_String_and_Null);
    C.Set_nPXOm = new P._UnmodifiableSet(C.Map_nP0C4, type$._UnmodifiableSet_legacy_String);
    C.List_wIv = H._setArrayType(makeConstList(["serif", "sans-serif", "monospace", "cursive", "fantasy", "system-ui", "math", "emoji", "fangsong"]), type$.JSArray_legacy_String);
    C.Map_wImu2 = new H.ConstantStringMap(9, {serif: null, "sans-serif": null, monospace: null, cursive: null, fantasy: null, "system-ui": null, math: null, emoji: null, fangsong: null}, C.List_wIv, type$.ConstantStringMap_of_legacy_String_and_Null);
    C.Set_wIvsi = new P._UnmodifiableSet(C.Map_wImu2, type$._UnmodifiableSet_legacy_String);
    C.Size_100000_100000 = new P.Size(100000, 100000);
    C.Size_16_16 = new P.Size(16, 16);
    C.Size_18_18 = new P.Size(18, 18);
    C.Size_22_22 = new P.Size(22, 22);
    C.Size_36_32 = new P.Size(36, 32);
    C.Size_40_40 = new P.Size(40, 40);
    C.Size_48_48 = new P.Size(48, 48);
    C.Size_59_40 = new P.Size(59, 40);
    C.Size_59_48 = new P.Size(59, 48);
    C.Size_64_36 = new P.Size(64, 36);
    C.Size_8aB0 = new P.Size(1 / 0, 32);
    C.Size_8aB1 = new P.Size(1 / 0, 46);
    C.Size_8aB = new P.Size(1 / 0, 72);
    C.Size_wjo = new P.Size(1 / 0, 1 / 0);
    C.SizedBox_0_0_null_null = new T.SizedBox(0, 0, null, null);
    C.SizedBox_10_null_null_null = new T.SizedBox(10, null, null, null);
    C.SizedBox_16_16_null_null = new T.SizedBox(16, 16, null, null);
    C.SizedBox_16_null_null_null = new T.SizedBox(16, null, null, null);
    C.SizedBox_4_null_null_null = new T.SizedBox(4, null, null, null);
    C.SizedBox_Otz = new T.SizedBox(16, null, C.Divider_null_null_null_null, null);
    C.SizedBox_null_16_null_null = new T.SizedBox(null, 16, null, null);
    C.SizedBox_null_4_null_null = new T.SizedBox(null, 4, null, null);
    C.SizedBox_null_50_null_null = new T.SizedBox(null, 50, null, null);
    C.SizedBox_null_6_null_null = new T.SizedBox(null, 6, null, null);
    C.SizedBox_null_8_null_null = new T.SizedBox(null, 8, null, null);
    C.SliderThemeData_Q5Z = new Q.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);
    C.SliverGeometry_yuB = new G.SliverGeometry(0, 0, 0, 0, 0, 0, false, false, null, 0);
    C.SmartDashesType_1 = new N.SmartDashesType(1, "SmartDashesType.enabled");
    C.SmartQuotesType_1 = new N.SmartQuotesType(1, "SmartQuotesType.enabled");
    C.SnackBarClosedReason_1 = new N.SnackBarClosedReason(1, "SnackBarClosedReason.dismiss");
    C.SnackBarClosedReason_2 = new N.SnackBarClosedReason(2, "SnackBarClosedReason.swipe");
    C.SnackBarClosedReason_3 = new N.SnackBarClosedReason(3, "SnackBarClosedReason.hide");
    C.SnackBarClosedReason_4 = new N.SnackBarClosedReason(4, "SnackBarClosedReason.remove");
    C.SnackBarClosedReason_5 = new N.SnackBarClosedReason(5, "SnackBarClosedReason.timeout");
    C.SnackBarThemeData_gc6 = new K.SnackBarThemeData(null, null, null, null, null, null, null);
    C.SnapshotStatus_0 = new D.SnapshotStatus(0, "SnapshotStatus.none");
    C.SnapshotStatus_1 = new D.SnapshotStatus(1, "SnapshotStatus.streaming");
    C.SnapshotStatus_2 = new D.SnapshotStatus(2, "SnapshotStatus.graphing");
    C.SnapshotStatus_3 = new D.SnapshotStatus(3, "SnapshotStatus.grouping");
    C.SnapshotStatus_4 = new D.SnapshotStatus(4, "SnapshotStatus.done");
    C.SortDirection_0 = new B.SortDirection(0, "SortDirection.ascending");
    C.SortDirection_1 = new B.SortDirection(1, "SortDirection.descending");
    C.Spacer_null = new R.Spacer(null);
    C.SpringType_0 = new M.SpringType(0, "SpringType.criticallyDamped");
    C.SpringType_1 = new M.SpringType(1, "SpringType.underDamped");
    C.SpringType_2 = new M.SpringType(2, "SpringType.overDamped");
    C.StackFit_0 = new K.StackFit(0, "StackFit.loose");
    C.StackFit_1 = new K.StackFit(1, "StackFit.expand");
    C.StackFit_2 = new K.StackFit(2, "StackFit.passthrough");
    C.StackFrame_8sg = new R.StackFrame("...", -1, "", "", "", -1, -1, "", "...");
    C.StackFrame_SOW = new R.StackFrame("<asynchronous suspension>", -1, "", "", "", -1, -1, "", "asynchronous suspension");
    C.StringCharacters_ehH = new T.StringCharacters("");
    C.StrokeCap_0 = new P.StrokeCap(0, "StrokeCap.butt");
    C.StrokeCap_1 = new P.StrokeCap(1, "StrokeCap.round");
    C.StrokeCap_2 = new P.StrokeCap(2, "StrokeCap.square");
    C.StrokeJoin_0 = new P.StrokeJoin(0, "StrokeJoin.miter");
    C.StrokeJoin_1 = new P.StrokeJoin(1, "StrokeJoin.round");
    C.StrokeJoin_2 = new P.StrokeJoin(2, "StrokeJoin.bevel");
    C.StrutStyle_yfz = new M.StrutStyle(null, null, null, null, null, null, null, null, null);
    C.SwitchThemeData_v9F = new R.SwitchThemeData(null, null, null, null, null, null);
    C.Symbol_89P = new H.Symbol("Intl.locale");
    C.Symbol_call = new H.Symbol("call");
    C.SystemMouseCursor_basic = new A.SystemMouseCursor("basic");
    C.SystemMouseCursor_click = new A.SystemMouseCursor("click");
    C.SystemMouseCursor_forbidden = new A.SystemMouseCursor("forbidden");
    C.SystemMouseCursor_resizeColumn = new A.SystemMouseCursor("resizeColumn");
    C.SystemMouseCursor_resizeRow = new A.SystemMouseCursor("resizeRow");
    C.SystemMouseCursor_text = new A.SystemMouseCursor("text");
    C.SystemSoundType_0 = new V.SystemSoundType(0, "SystemSoundType.click");
    C.SystemSoundType_1 = new V.SystemSoundType(1, "SystemSoundType.alert");
    C.SystemUiOverlayStyle_0 = new X.SystemUiOverlayStyle(C.Color_4278190080, null, C.Brightness_1, null, C.Brightness_0, C.Brightness_1);
    C.SystemUiOverlayStyle_AQZ = new X.SystemUiOverlayStyle(C.Color_4278190080, null, C.Brightness_1, null, C.Brightness_1, C.Brightness_0);
    C.TabBarTheme_Srx = new U.TabBarTheme(null, null, null, null, null, null, null);
    C.ValueKey_OO7 = new D.ValueKey("cpu profile summary tab", type$.ValueKey_legacy_String);
    C.Tab_6NJ = new E.Tab("Summary", null, C.ValueKey_OO7);
    C.TableCellVerticalAlignment_0 = new S.TableCellVerticalAlignment(0, "TableCellVerticalAlignment.top");
    C.TableCellVerticalAlignment_1 = new S.TableCellVerticalAlignment(1, "TableCellVerticalAlignment.middle");
    C.TableCellVerticalAlignment_2 = new S.TableCellVerticalAlignment(2, "TableCellVerticalAlignment.bottom");
    C.TableCellVerticalAlignment_3 = new S.TableCellVerticalAlignment(3, "TableCellVerticalAlignment.baseline");
    C.TableCellVerticalAlignment_4 = new S.TableCellVerticalAlignment(4, "TableCellVerticalAlignment.fill");
    C.TapSemanticEvent_tap = new E.TapSemanticEvent("tap");
    C.TextAlignVertical_0 = new K.TextAlignVertical(0);
    C.TextAlignVertical_m1 = new K.TextAlignVertical(-1);
    C.TextButtonThemeData_null = new T.TextButtonThemeData(null);
    C.TextCapitalization_3 = new H.TextCapitalization(3, "TextCapitalization.none");
    C.TextCapitalizationConfig_TextCapitalization_3 = new H.TextCapitalizationConfig(C.TextCapitalization_3);
    C.TextCapitalization_0 = new H.TextCapitalization(0, "TextCapitalization.words");
    C.TextCapitalization_1 = new H.TextCapitalization(1, "TextCapitalization.sentences");
    C.TextCapitalization_2 = new H.TextCapitalization(2, "TextCapitalization.characters");
    C.TextCapitalization_30 = new N.TextCapitalization0();
    C.TextDecorationStyle_0 = new P.TextDecorationStyle(0, "TextDecorationStyle.solid");
    C.TextDecorationStyle_1 = new P.TextDecorationStyle(1, "TextDecorationStyle.double");
    C.TextDecorationStyle_2 = new P.TextDecorationStyle(2, "TextDecorationStyle.dotted");
    C.TextDecorationStyle_3 = new P.TextDecorationStyle(3, "TextDecorationStyle.dashed");
    C.TextDecorationStyle_4 = new P.TextDecorationStyle(4, "TextDecorationStyle.wavy");
    C.TextDecoration_0 = new P.TextDecoration(0);
    C.TextDecoration_1 = new P.TextDecoration(1);
    C.TextSelection_cYr = new X.TextSelection(0, 0, C.TextAffinity_1, false, 0, 0);
    C.TextRange_m1_m1 = new P.TextRange(-1, -1);
    C.TextEditingValue_4QF = new N.TextEditingValue("", C.TextSelection_cYr, C.TextRange_m1_m1);
    C.TextSelection_5Zq = new X.TextSelection(-1, -1, C.TextAffinity_1, false, -1, -1);
    C.TextEditingValue_8Zw = new N.TextEditingValue("", C.TextSelection_5Zq, C.TextRange_m1_m1);
    C.TextInputAction_0 = new N.TextInputAction(0, "TextInputAction.none");
    C.TextInputAction_1 = new N.TextInputAction(1, "TextInputAction.unspecified");
    C.TextInputAction_10 = new N.TextInputAction(10, "TextInputAction.route");
    C.TextInputAction_11 = new N.TextInputAction(11, "TextInputAction.emergencyCall");
    C.TextInputAction_12 = new N.TextInputAction(12, "TextInputAction.newline");
    C.TextInputAction_2 = new N.TextInputAction(2, "TextInputAction.done");
    C.TextInputAction_3 = new N.TextInputAction(3, "TextInputAction.go");
    C.TextInputAction_4 = new N.TextInputAction(4, "TextInputAction.search");
    C.TextInputAction_5 = new N.TextInputAction(5, "TextInputAction.send");
    C.TextInputAction_6 = new N.TextInputAction(6, "TextInputAction.next");
    C.TextInputAction_7 = new N.TextInputAction(7, "TextInputAction.previous");
    C.TextInputAction_8 = new N.TextInputAction(8, "TextInputAction.continueAction");
    C.TextInputAction_9 = new N.TextInputAction(9, "TextInputAction.join");
    C.TextInputType_0_null_null = new N.TextInputType(0, null, null);
    C.TextInputType_1_null_null = new N.TextInputType(1, null, null);
    C.TextInputType_2_false_false = new N.TextInputType(2, false, false);
    C.TextLeadingDistribution_0 = new P.TextLeadingDistribution(0, "TextLeadingDistribution.proportional");
    C.TextLeadingDistribution_1 = new P.TextLeadingDistribution(1, "TextLeadingDistribution.even");
    C.TextOverflow_1 = new U.TextOverflow(1, "TextOverflow.fade");
    C.TextOverflow_2 = new U.TextOverflow(2, "TextOverflow.ellipsis");
    C.TextOverflow_3 = new U.TextOverflow(3, "TextOverflow.visible");
    C.TextPosition_0_TextAffinity_1 = new P.TextPosition(0, C.TextAffinity_1);
    C.TextSelectionHandleType_0 = new F.TextSelectionHandleType(0, "TextSelectionHandleType.left");
    C.TextSelectionHandleType_1 = new F.TextSelectionHandleType(1, "TextSelectionHandleType.right");
    C.TextSelectionHandleType_2 = new F.TextSelectionHandleType(2, "TextSelectionHandleType.collapsed");
    C.TextSelectionThemeData_null_null_null = new R.TextSelectionThemeData(null, null, null);
    C.TextStyle_xKl0 = new A.TextStyle(true, C.Color_3707764736, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.TextSpan_7T6 = new Q.TextSpan("You are opting in to a high CPU sampling rate. This may affect the performance of your application. Please read our ", null, null, C.C__DeferringMouseCursor, null, C.TextStyle_xKl0);
    C.TextSpan_EAA = new Q.TextSpan(".", null, null, C.C__DeferringMouseCursor, null, C.TextStyle_mR1);
    C.TextSpan_Qq8 = new Q.TextSpan(" to understand the trade-offs associated with this setting.", null, null, C.C__DeferringMouseCursor, null, C.TextStyle_xKl0);
    C.TextSpan_mQl = new Q.TextSpan("You are running your app in debug mode. Debug mode performance is not indicative of release performance.\n\nRelaunch your application with the '--profile' argument, or ", null, null, C.C__DeferringMouseCursor, null, C.TextStyle_mR1);
    C.TextSpan_mpm = new Q.TextSpan("\n", null, null, C.C__DeferringMouseCursor, null, null);
    C.TextSpan_omC = new Q.TextSpan("You are running your app in debug mode. Absolute memory usage may be higher in a debug build than in a release build.\n\nFor the most accurate absolute memory stats, relaunch your application with the '--profile' argument, or ", null, null, C.C__DeferringMouseCursor, null, C.TextStyle_xKl0);
    C.TextSpan_vwU = new Q.TextSpan(".", null, null, C.C__DeferringMouseCursor, null, C.TextStyle_xKl0);
    C.TextSpan_waZ = new Q.TextSpan('"', null, null, C.C__DeferringMouseCursor, null, null);
    C.TextStyle_0c4 = new A.TextStyle(true, C.Color_4278229706, null, null, null, null, null, C.FontWeight_6, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.TextStyle_3WR = new A.TextStyle(true, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_1, null, null, null, null, null, null, null);
    C.Color_4291727736 = new P.Color(4291727736);
    C.TextStyle_61r = new A.TextStyle(true, C.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);
    C.Color_4283744751 = new P.Color(4283744751);
    C.TextStyle_6Xe = new A.TextStyle(true, C.Color_4283744751, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_1, null, null, null, null, null, null, null);
    C.Color_3506372608 = new P.Color(3506372608);
    C.TextStyle_EZJ = new A.TextStyle(true, C.Color_3506372608, null, "monospace", null, null, 48, C.FontWeight_8, null, null, null, null, null, null, null, null, null, C.TextDecoration_1, C.Color_4294967040, C.TextDecorationStyle_1, null, "fallback style; consider putting your text in a Material", null, null, null);
    C.TextStyle_H37 = new A.TextStyle(true, C.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);
    C.TextStyle_cLz = new A.TextStyle(true, C.Color_4283744751, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.TextStyle_oqK = new A.TextStyle(true, null, null, null, null, null, null, C.FontWeight_6, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.TextStyle_sBE = new A.TextStyle(true, C.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);
    C.TextStyle_ul3 = new A.TextStyle(true, C.Color_4294967295, null, null, null, null, null, C.FontWeight_6, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.TextStyle_wIY = new A.TextStyle(true, C.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);
    C.TextStyle_wsa = new A.TextStyle(true, C.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);
    C.Color_4280491808 = new P.Color(4280491808);
    C.TextStyle_xKl = new A.TextStyle(true, C.Color_4280491808, null, null, null, null, 9, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.TextStyle_yx3 = new A.TextStyle(true, C.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);
    C.TextStyle_zIQ0 = 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);
    C.TextStyle_zIQ2 = new A.TextStyle(true, null, null, null, null, null, 14, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.TextStyle_zIQ = new A.TextStyle(true, null, null, null, null, null, 18, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.List_Exl = H._setArrayType(makeConstList(["Ubuntu", "Cantarell", "DejaVu Sans", "Liberation Sans", "Arial"]), type$.JSArray_legacy_String);
    C.TextStyle_wa9 = new A.TextStyle(true, C.Color_3019898879, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki headline1", null, null, null);
    C.TextStyle_wa90 = new A.TextStyle(true, C.Color_3019898879, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki headline2", null, null, null);
    C.TextStyle_wa91 = new A.TextStyle(true, C.Color_3019898879, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki headline3", null, null, null);
    C.TextStyle_wa92 = new A.TextStyle(true, C.Color_3019898879, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki headline4", null, null, null);
    C.TextStyle_uQR = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki headline5", null, null, null);
    C.TextStyle_uQR0 = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki headline6", null, null, null);
    C.TextStyle_le8 = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki subtitle1", null, null, null);
    C.TextStyle_le80 = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki subtitle2", null, null, null);
    C.TextStyle_02Y = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki bodyText1", null, null, null);
    C.TextStyle_02Y0 = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki bodyText2", null, null, null);
    C.TextStyle_0yR = new A.TextStyle(true, C.Color_3019898879, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki caption", null, null, null);
    C.TextStyle_ZwB = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki button", null, null, null);
    C.TextStyle_Wrv = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteHelsinki overline", null, null, null);
    C.TextTheme_4eO = new R.TextTheme(C.TextStyle_wa9, C.TextStyle_wa90, C.TextStyle_wa91, C.TextStyle_wa92, C.TextStyle_uQR, C.TextStyle_uQR0, C.TextStyle_le8, C.TextStyle_le80, C.TextStyle_02Y, C.TextStyle_02Y0, C.TextStyle_0yR, C.TextStyle_ZwB, C.TextStyle_Wrv);
    C.TextStyle_RZ2 = new A.TextStyle(true, C.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond headline1", null, null, null);
    C.TextStyle_RZ20 = new A.TextStyle(true, C.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond headline2", null, null, null);
    C.TextStyle_RZ21 = new A.TextStyle(true, C.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond headline3", null, null, null);
    C.TextStyle_RZ22 = new A.TextStyle(true, C.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond headline4", null, null, null);
    C.TextStyle_RZ23 = new A.TextStyle(true, C.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond headline5", null, null, null);
    C.TextStyle_RZ24 = new A.TextStyle(true, C.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond headline6", null, null, null);
    C.TextStyle_iK5 = new A.TextStyle(true, C.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond subtitle1", null, null, null);
    C.TextStyle_iK50 = new A.TextStyle(true, C.Color_4278190080, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond subtitle2", null, null, null);
    C.TextStyle_ECG = new A.TextStyle(true, C.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond bodyText1", null, null, null);
    C.TextStyle_ECG0 = new A.TextStyle(true, C.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond bodyText2", null, null, null);
    C.TextStyle_8vY = new A.TextStyle(true, C.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond caption", null, null, null);
    C.TextStyle_TDd = new A.TextStyle(true, C.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond button", null, null, null);
    C.TextStyle_CBD = new A.TextStyle(true, C.Color_4278190080, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedmond overline", null, null, null);
    C.TextTheme_7FR = new R.TextTheme(C.TextStyle_RZ2, C.TextStyle_RZ20, C.TextStyle_RZ21, C.TextStyle_RZ22, C.TextStyle_RZ23, C.TextStyle_RZ24, C.TextStyle_iK5, C.TextStyle_iK50, C.TextStyle_ECG, C.TextStyle_ECG0, C.TextStyle_8vY, C.TextStyle_TDd, C.TextStyle_CBD);
    C.TextStyle_n3g = new A.TextStyle(true, C.Color_3019898879, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino headline1", null, null, null);
    C.TextStyle_MRl = new A.TextStyle(true, C.Color_3019898879, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino headline2", null, null, null);
    C.TextStyle_ASc = new A.TextStyle(true, C.Color_3019898879, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino headline3", null, null, null);
    C.TextStyle_8xP = new A.TextStyle(true, C.Color_3019898879, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino headline4", null, null, null);
    C.TextStyle_yHF = new A.TextStyle(true, C.Color_4294967295, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino headline5", null, null, null);
    C.TextStyle_U05 = new A.TextStyle(true, C.Color_4294967295, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino headline6", null, null, null);
    C.TextStyle_m7y = new A.TextStyle(true, C.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino subtitle1", null, null, null);
    C.TextStyle_UZj = new A.TextStyle(true, C.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino subtitle2", null, null, null);
    C.TextStyle_ww8 = new A.TextStyle(true, C.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino bodyText1", null, null, null);
    C.TextStyle_2Gp = new A.TextStyle(true, C.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino bodyText2", null, null, null);
    C.TextStyle_gRf = new A.TextStyle(true, C.Color_3019898879, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino caption", null, null, null);
    C.TextStyle_Mob = new A.TextStyle(true, C.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino button", null, null, null);
    C.TextStyle_cKo = new A.TextStyle(true, C.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteCupertino overline", null, null, null);
    C.TextTheme_8aB = new R.TextTheme(C.TextStyle_n3g, C.TextStyle_MRl, C.TextStyle_ASc, C.TextStyle_8xP, C.TextStyle_yHF, C.TextStyle_U05, C.TextStyle_m7y, C.TextStyle_UZj, C.TextStyle_ww8, C.TextStyle_2Gp, C.TextStyle_gRf, C.TextStyle_Mob, C.TextStyle_cKo);
    C.TextStyle_IB4 = new A.TextStyle(true, C.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView headline1", null, null, null);
    C.TextStyle_IB40 = new A.TextStyle(true, C.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView headline2", null, null, null);
    C.TextStyle_IB41 = new A.TextStyle(true, C.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView headline3", null, null, null);
    C.TextStyle_IB42 = new A.TextStyle(true, C.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView headline4", null, null, null);
    C.TextStyle_IB43 = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView headline5", null, null, null);
    C.TextStyle_IB44 = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView headline6", null, null, null);
    C.TextStyle_int = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView subtitle1", null, null, null);
    C.TextStyle_int0 = new A.TextStyle(true, C.Color_4278190080, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView subtitle2", null, null, null);
    C.TextStyle_4e8 = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView bodyText1", null, null, null);
    C.TextStyle_4e80 = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView bodyText2", null, null, null);
    C.TextStyle_jnt = new A.TextStyle(true, C.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView caption", null, null, null);
    C.TextStyle_RcQ = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView button", null, null, null);
    C.TextStyle_K2a = new A.TextStyle(true, C.Color_4278190080, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackMountainView overline", null, null, null);
    C.TextTheme_CCL = new R.TextTheme(C.TextStyle_IB4, C.TextStyle_IB40, C.TextStyle_IB41, C.TextStyle_IB42, C.TextStyle_IB43, C.TextStyle_IB44, C.TextStyle_int, C.TextStyle_int0, C.TextStyle_4e8, C.TextStyle_4e80, C.TextStyle_jnt, C.TextStyle_RcQ, C.TextStyle_K2a);
    C.TextStyle_BSw = new A.TextStyle(true, C.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond headline1", null, null, null);
    C.TextStyle_BSw0 = new A.TextStyle(true, C.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond headline2", null, null, null);
    C.TextStyle_BSw1 = new A.TextStyle(true, C.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond headline3", null, null, null);
    C.TextStyle_BSw2 = new A.TextStyle(true, C.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond headline4", null, null, null);
    C.TextStyle_o30 = new A.TextStyle(true, C.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond headline5", null, null, null);
    C.TextStyle_o300 = new A.TextStyle(true, C.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond headline6", null, null, null);
    C.TextStyle_HNA = new A.TextStyle(true, C.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond subtitle1", null, null, null);
    C.TextStyle_HNA0 = new A.TextStyle(true, C.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond subtitle2", null, null, null);
    C.TextStyle_mGH = new A.TextStyle(true, C.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond bodyText1", null, null, null);
    C.TextStyle_mGH0 = new A.TextStyle(true, C.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond bodyText2", null, null, null);
    C.TextStyle_G7M = new A.TextStyle(true, C.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond caption", null, null, null);
    C.TextStyle_Gwk = new A.TextStyle(true, C.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond button", null, null, null);
    C.TextStyle_gsm = new A.TextStyle(true, C.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedmond overline", null, null, null);
    C.TextTheme_G7H = new R.TextTheme(C.TextStyle_BSw, C.TextStyle_BSw0, C.TextStyle_BSw1, C.TextStyle_BSw2, C.TextStyle_o30, C.TextStyle_o300, C.TextStyle_HNA, C.TextStyle_HNA0, C.TextStyle_mGH, C.TextStyle_mGH0, C.TextStyle_G7M, C.TextStyle_Gwk, C.TextStyle_gsm);
    C.TextStyle_GFv = new A.TextStyle(true, C.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity headline1", null, null, null);
    C.TextStyle_GFv0 = new A.TextStyle(true, C.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity headline2", null, null, null);
    C.TextStyle_GFv1 = new A.TextStyle(true, C.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity headline3", null, null, null);
    C.TextStyle_GFv2 = new A.TextStyle(true, C.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity headline4", null, null, null);
    C.TextStyle_HYo = new A.TextStyle(true, C.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity headline5", null, null, null);
    C.TextStyle_HYo0 = new A.TextStyle(true, C.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity headline6", null, null, null);
    C.TextStyle_y0u = new A.TextStyle(true, C.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity subtitle1", null, null, null);
    C.TextStyle_y0u0 = new A.TextStyle(true, C.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity subtitle2", null, null, null);
    C.TextStyle_kqK = new A.TextStyle(true, C.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity bodyText1", null, null, null);
    C.TextStyle_kqK0 = new A.TextStyle(true, C.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity bodyText2", null, null, null);
    C.TextStyle_ssb = new A.TextStyle(true, C.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity caption", null, null, null);
    C.TextStyle_uDf = new A.TextStyle(true, C.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity button", null, null, null);
    C.TextStyle_VUC = new A.TextStyle(true, C.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteRedwoodCity overline", null, null, null);
    C.TextTheme_IdR = new R.TextTheme(C.TextStyle_GFv, C.TextStyle_GFv0, C.TextStyle_GFv1, C.TextStyle_GFv2, C.TextStyle_HYo, C.TextStyle_HYo0, C.TextStyle_y0u, C.TextStyle_y0u0, C.TextStyle_kqK, C.TextStyle_kqK0, C.TextStyle_ssb, C.TextStyle_uDf, C.TextStyle_VUC);
    C.TextStyle_RoS = new A.TextStyle(true, C.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity headline1", null, null, null);
    C.TextStyle_RoS0 = new A.TextStyle(true, C.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity headline2", null, null, null);
    C.TextStyle_RoS1 = new A.TextStyle(true, C.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity headline3", null, null, null);
    C.TextStyle_RoS2 = new A.TextStyle(true, C.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity headline4", null, null, null);
    C.TextStyle_RoS3 = new A.TextStyle(true, C.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity headline5", null, null, null);
    C.TextStyle_RoS4 = new A.TextStyle(true, C.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity headline6", null, null, null);
    C.TextStyle_46y = new A.TextStyle(true, C.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity subtitle1", null, null, null);
    C.TextStyle_46y0 = new A.TextStyle(true, C.Color_4278190080, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity subtitle2", null, null, null);
    C.TextStyle_46y1 = new A.TextStyle(true, C.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity bodyText1", null, null, null);
    C.TextStyle_46y2 = new A.TextStyle(true, C.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity bodyText2", null, null, null);
    C.TextStyle_wPm = new A.TextStyle(true, C.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity caption", null, null, null);
    C.TextStyle_c4R = new A.TextStyle(true, C.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity button", null, null, null);
    C.TextStyle_40X = new A.TextStyle(true, C.Color_4278190080, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackRedwoodCity overline", null, null, null);
    C.TextTheme_NkP = new R.TextTheme(C.TextStyle_RoS, C.TextStyle_RoS0, C.TextStyle_RoS1, C.TextStyle_RoS2, C.TextStyle_RoS3, C.TextStyle_RoS4, C.TextStyle_46y, C.TextStyle_46y0, C.TextStyle_46y1, C.TextStyle_46y2, C.TextStyle_wPm, C.TextStyle_c4R, C.TextStyle_40X);
    C.TextStyle_OXN = new A.TextStyle(true, C.Color_2315255808, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki headline1", null, null, null);
    C.TextStyle_OXN0 = new A.TextStyle(true, C.Color_2315255808, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki headline2", null, null, null);
    C.TextStyle_OXN1 = new A.TextStyle(true, C.Color_2315255808, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki headline3", null, null, null);
    C.TextStyle_OXN2 = new A.TextStyle(true, C.Color_2315255808, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki headline4", null, null, null);
    C.TextStyle_OXN3 = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki headline5", null, null, null);
    C.TextStyle_OXN4 = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki headline6", null, null, null);
    C.TextStyle_8RJ = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki subtitle1", null, null, null);
    C.TextStyle_8RJ0 = new A.TextStyle(true, C.Color_4278190080, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki subtitle2", null, null, null);
    C.TextStyle_QXJ = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki bodyText1", null, null, null);
    C.TextStyle_QXJ0 = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki bodyText2", null, null, null);
    C.TextStyle_gg4 = new A.TextStyle(true, C.Color_2315255808, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki caption", null, null, null);
    C.TextStyle_Eyh = new A.TextStyle(true, C.Color_3707764736, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki button", null, null, null);
    C.TextStyle_m7e = new A.TextStyle(true, C.Color_4278190080, null, "Roboto", C.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackHelsinki overline", null, null, null);
    C.TextTheme_OaX = new R.TextTheme(C.TextStyle_OXN, C.TextStyle_OXN0, C.TextStyle_OXN1, C.TextStyle_OXN2, C.TextStyle_OXN3, C.TextStyle_OXN4, C.TextStyle_8RJ, C.TextStyle_8RJ0, C.TextStyle_QXJ, C.TextStyle_QXJ0, C.TextStyle_gg4, C.TextStyle_Eyh, C.TextStyle_m7e);
    C.TextStyle_yPV = new A.TextStyle(false, null, null, null, null, null, 112, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall display4 2014", null, null, null);
    C.TextStyle_yPV0 = new A.TextStyle(false, null, null, null, null, null, 56, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall display3 2014", null, null, null);
    C.TextStyle_yPV1 = new A.TextStyle(false, null, null, null, null, null, 45, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall display2 2014", null, null, null);
    C.TextStyle_yPV2 = new A.TextStyle(false, null, null, null, null, null, 34, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall display1 2014", null, null, null);
    C.TextStyle_2jN = new A.TextStyle(false, null, null, null, null, null, 24, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall headline 2014", null, null, null);
    C.TextStyle_KYg = new A.TextStyle(false, null, null, null, null, null, 21, C.FontWeight_6, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall title 2014", null, null, null);
    C.TextStyle_C9n = new A.TextStyle(false, null, null, null, null, null, 17, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall subhead 2014", null, null, null);
    C.TextStyle_YAi = new A.TextStyle(false, null, null, null, null, null, 15, C.FontWeight_4, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall subtitle 2014", null, null, null);
    C.TextStyle_Ma6 = new A.TextStyle(false, null, null, null, null, null, 15, C.FontWeight_6, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall body2 2014", null, null, null);
    C.TextStyle_Ma60 = new A.TextStyle(false, null, null, null, null, null, 15, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall body1 2014", null, null, null);
    C.TextStyle_4Wf = new A.TextStyle(false, null, null, null, null, null, 13, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall caption 2014", null, null, null);
    C.TextStyle_SWN = new A.TextStyle(false, null, null, null, null, null, 15, C.FontWeight_6, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall button 2014", null, null, null);
    C.TextStyle_a9d = new A.TextStyle(false, null, null, null, null, null, 11, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall overline 2014", null, null, null);
    C.TextTheme_QQp = new R.TextTheme(C.TextStyle_yPV, C.TextStyle_yPV0, C.TextStyle_yPV1, C.TextStyle_yPV2, C.TextStyle_2jN, C.TextStyle_KYg, C.TextStyle_C9n, C.TextStyle_YAi, C.TextStyle_Ma6, C.TextStyle_Ma60, C.TextStyle_4Wf, C.TextStyle_SWN, C.TextStyle_a9d);
    C.TextStyle_wEo = new A.TextStyle(false, null, null, null, null, null, 112, C.FontWeight_0, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense display4 2014", null, null, null);
    C.TextStyle_wEo0 = new A.TextStyle(false, null, null, null, null, null, 56, C.FontWeight_3, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense display3 2014", null, null, null);
    C.TextStyle_wEo1 = new A.TextStyle(false, null, null, null, null, null, 45, C.FontWeight_3, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense display2 2014", null, null, null);
    C.TextStyle_wEo2 = new A.TextStyle(false, null, null, null, null, null, 34, C.FontWeight_3, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense display1 2014", null, null, null);
    C.TextStyle_A4A = new A.TextStyle(false, null, null, null, null, null, 24, C.FontWeight_3, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense headline 2014", null, null, null);
    C.TextStyle_j2t = new A.TextStyle(false, null, null, null, null, null, 21, C.FontWeight_4, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense title 2014", null, null, null);
    C.TextStyle_x67 = new A.TextStyle(false, null, null, null, null, null, 17, C.FontWeight_3, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense subhead 2014", null, null, null);
    C.TextStyle_ROg = new A.TextStyle(false, null, null, null, null, null, 15, C.FontWeight_4, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense subtitle 2014", null, null, null);
    C.TextStyle_ezn = new A.TextStyle(false, null, null, null, null, null, 15, C.FontWeight_4, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense body2 2014", null, null, null);
    C.TextStyle_ezn0 = new A.TextStyle(false, null, null, null, null, null, 15, C.FontWeight_3, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense body1 2014", null, null, null);
    C.TextStyle_G17 = new A.TextStyle(false, null, null, null, null, null, 13, C.FontWeight_3, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense caption 2014", null, null, null);
    C.TextStyle_h4d = new A.TextStyle(false, null, null, null, null, null, 15, C.FontWeight_4, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense button 2014", null, null, null);
    C.TextStyle_atU = new A.TextStyle(false, null, null, null, null, null, 11, C.FontWeight_3, null, null, null, C.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense overline 2014", null, null, null);
    C.TextTheme_aEa = new R.TextTheme(C.TextStyle_wEo, C.TextStyle_wEo0, C.TextStyle_wEo1, C.TextStyle_wEo2, C.TextStyle_A4A, C.TextStyle_j2t, C.TextStyle_x67, C.TextStyle_ROg, C.TextStyle_ezn, C.TextStyle_ezn0, C.TextStyle_G17, C.TextStyle_h4d, C.TextStyle_atU);
    C.TextStyle_4U6 = new A.TextStyle(true, C.Color_2315255808, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino headline1", null, null, null);
    C.TextStyle_yPV3 = new A.TextStyle(true, C.Color_2315255808, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino headline2", null, null, null);
    C.TextStyle_W9Y = new A.TextStyle(true, C.Color_2315255808, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino headline3", null, null, null);
    C.TextStyle_43h = new A.TextStyle(true, C.Color_2315255808, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino headline4", null, null, null);
    C.TextStyle_QSU = new A.TextStyle(true, C.Color_3707764736, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino headline5", null, null, null);
    C.TextStyle_cI8 = new A.TextStyle(true, C.Color_3707764736, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino headline6", null, null, null);
    C.TextStyle_gMT = new A.TextStyle(true, C.Color_3707764736, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino subtitle1", null, null, null);
    C.TextStyle_piy = new A.TextStyle(true, C.Color_4278190080, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino subtitle2", null, null, null);
    C.TextStyle_wOj = new A.TextStyle(true, C.Color_3707764736, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino bodyText1", null, null, null);
    C.TextStyle_UWN = new A.TextStyle(true, C.Color_3707764736, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino bodyText2", null, null, null);
    C.TextStyle_bY0 = new A.TextStyle(true, C.Color_2315255808, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino caption", null, null, null);
    C.TextStyle_oYc = new A.TextStyle(true, C.Color_3707764736, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino button", null, null, null);
    C.TextStyle_Xyt = new A.TextStyle(true, C.Color_4278190080, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "blackCupertino overline", null, null, null);
    C.TextTheme_c9P = new R.TextTheme(C.TextStyle_4U6, C.TextStyle_yPV3, C.TextStyle_W9Y, C.TextStyle_43h, C.TextStyle_QSU, C.TextStyle_cI8, C.TextStyle_gMT, C.TextStyle_piy, C.TextStyle_wOj, C.TextStyle_UWN, C.TextStyle_bY0, C.TextStyle_oYc, C.TextStyle_Xyt);
    C.TextStyle_jDE = new A.TextStyle(true, C.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView headline1", null, null, null);
    C.TextStyle_jDE0 = new A.TextStyle(true, C.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView headline2", null, null, null);
    C.TextStyle_jDE1 = new A.TextStyle(true, C.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView headline3", null, null, null);
    C.TextStyle_jDE2 = new A.TextStyle(true, C.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView headline4", null, null, null);
    C.TextStyle_jzL = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView headline5", null, null, null);
    C.TextStyle_jzL0 = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView headline6", null, null, null);
    C.TextStyle_iUw = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView subtitle1", null, null, null);
    C.TextStyle_iUw0 = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView subtitle2", null, null, null);
    C.TextStyle_k5K = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView bodyText1", null, null, null);
    C.TextStyle_k5K0 = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView bodyText2", null, null, null);
    C.TextStyle_NQk = new A.TextStyle(true, C.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView caption", null, null, null);
    C.TextStyle_Olo = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView button", null, null, null);
    C.TextStyle_gsm0 = new A.TextStyle(true, C.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, C.TextDecoration_0, null, null, null, "whiteMountainView overline", null, null, null);
    C.TextTheme_lBF = new R.TextTheme(C.TextStyle_jDE, C.TextStyle_jDE0, C.TextStyle_jDE1, C.TextStyle_jDE2, C.TextStyle_jzL, C.TextStyle_jzL0, C.TextStyle_iUw, C.TextStyle_iUw0, C.TextStyle_k5K, C.TextStyle_k5K0, C.TextStyle_NQk, C.TextStyle_Olo, C.TextStyle_gsm0);
    C.TextStyle_OfO = new A.TextStyle(false, null, null, null, null, null, 112, C.FontWeight_0, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike display4 2014", null, null, null);
    C.TextStyle_OfO0 = new A.TextStyle(false, null, null, null, null, null, 56, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike display3 2014", null, null, null);
    C.TextStyle_OfO1 = new A.TextStyle(false, null, null, null, null, null, 45, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike display2 2014", null, null, null);
    C.TextStyle_OfO2 = new A.TextStyle(false, null, null, null, null, null, 34, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike display1 2014", null, null, null);
    C.TextStyle_Ohn = new A.TextStyle(false, null, null, null, null, null, 24, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike headline 2014", null, null, null);
    C.TextStyle_O98 = new A.TextStyle(false, null, null, null, null, null, 20, C.FontWeight_4, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike title 2014", null, null, null);
    C.TextStyle_KHW = new A.TextStyle(false, null, null, null, null, null, 16, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike subhead 2014", null, null, null);
    C.TextStyle_cQL = new A.TextStyle(false, null, null, null, null, null, 14, C.FontWeight_4, null, 0.1, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike subtitle 2014", null, null, null);
    C.TextStyle_dcb = new A.TextStyle(false, null, null, null, null, null, 14, C.FontWeight_4, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike body2 2014", null, null, null);
    C.TextStyle_dcb0 = new A.TextStyle(false, null, null, null, null, null, 14, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike body1 2014", null, null, null);
    C.TextStyle_Ejg = new A.TextStyle(false, null, null, null, null, null, 12, C.FontWeight_3, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike caption 2014", null, null, null);
    C.TextStyle_XZV = new A.TextStyle(false, null, null, null, null, null, 14, C.FontWeight_4, null, null, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike button 2014", null, null, null);
    C.TextStyle_8FR = new A.TextStyle(false, null, null, null, null, null, 10, C.FontWeight_3, null, 1.5, null, C.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike overline 2014", null, null, null);
    C.TextTheme_wEV = new R.TextTheme(C.TextStyle_OfO, C.TextStyle_OfO0, C.TextStyle_OfO1, C.TextStyle_OfO2, C.TextStyle_Ohn, C.TextStyle_O98, C.TextStyle_KHW, C.TextStyle_cQL, C.TextStyle_dcb, C.TextStyle_dcb0, C.TextStyle_Ejg, C.TextStyle_XZV, C.TextStyle_8FR);
    C.TextWidthBasis_1 = new U.TextWidthBasis(1, "TextWidthBasis.longestLine");
    C.Text_0 = new L.Text("Details", null, null, null, null, null, null, null, null, null, null);
    C.Text_00 = new L.Text("Treemap", null, null, null, null, null, null, null, null, null, null);
    C.Text_23B = new L.Text(".", null, null, null, null, null, null, null, null, null, null);
    C.Text_3Kn = new L.Text("Collapse All", null, null, null, null, null, null, null, null, null, null);
    C.Text_61d = new L.Text("Sounds good!", null, null, null, null, null, null, null, null, null, null);
    C.Text_8TW = new L.Text(">", null, null, null, null, null, null, null, null, null, null);
    C.Text_9iK = new L.Text(" to begin monitoring changes in memory instances (classes constructed).", null, null, null, null, null, null, null, null, null, null);
    C.Text_A4L = new L.Text("No thanks.", null, null, null, null, null, null, null, null, null, null);
    C.Text_A66 = new L.Text("Hide Classes with No Instances", null, null, null, null, null, null, null, null, null, null);
    C.Text_C9d = new L.Text("CPU profiler is disabled.", null, null, null, null, null, null, null, null, null, null);
    C.Text_Ch9 = new L.Text("Enable VM developer mode", null, null, null, null, null, null, null, null, null, null);
    C.Text_Db0 = new L.Text("CLOSE", null, null, null, null, null, null, null, null, null, null);
    C.Text_ECG = new L.Text("to view the collected stack traces of constructor calls.", null, null, null, null, null, null, null, null, null, null);
    C.Text_Exl = new L.Text("Connect to Another App", null, null, null, null, null, null, null, null, null, null);
    C.Text_Gxg = new L.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);
    C.Text_Isw = new L.Text("Expand All", null, null, null, null, null, null, null, null, null, null);
    C.Text_NIe = new L.Text("APPLY", null, null, null, null, null, null, null, null, null, null);
    C.Text_Oc6 = new L.Text("Timeline Events", null, null, null, null, null, null, null, null, null, null);
    C.Text_Q8G = new L.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);
    C.Text_Qs5 = new L.Text("Click the track button ", null, null, null, null, null, null, null, null, null, null);
    C.TextStyle_xKl1 = new A.TextStyle(true, C.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);
    C.Text_Rcp = new L.Text("Main isolate is paused in the debugger", null, C.TextStyle_xKl1, null, null, null, null, null, null, null, null);
    C.Text_SR3 = new L.Text("Use dense mode", null, null, null, null, null, null, null, null, null, null);
    C.Text_U4B = new L.Text("Enable profiler", null, null, null, null, null, null, null, null, null, null);
    C.Text_bUv = new L.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);
    C.Text_btK = new L.Text("Breakpoints", null, null, null, null, null, null, null, null, null, null);
    C.Text_cKo = new L.Text("null", null, C.TextStyle_wIY, null, null, null, null, null, null, null, null);
    C.Text_e3E = new L.Text(": ", null, null, null, null, null, null, null, null, null, null);
    C.Text_eT1 = new L.Text("Open app size tool", null, null, null, null, null, null, null, null, null, null);
    C.Text_gkc = new L.Text("Enable analytics", null, null, null, null, null, null, null, null, null, null);
    C.Text_iGH = new L.Text("Show private properties inherited from SDKs/packages", null, null, null, null, null, null, null, null, null, null);
    C.Text_jjt = new L.Text("Encountered an issue? Let us know at ", null, null, null, null, null, null, null, null, null, null);
    C.Text_nj4 = new L.Text("Console", null, null, null, null, null, null, null, null, null, null);
    C.Text_pK6 = new L.Text("Use a dark theme", null, null, null, null, null, null, null, null, null, null);
    C.Text_tAL = new L.Text("Show call graph", null, null, null, null, null, null, null, null, null, null);
    C.Text_uhb = new L.Text("Libraries", null, null, null, null, null, null, null, null, null, null);
    C.Text_uwP = new L.Text("Connect", null, null, null, null, null, null, null, null, null, null);
    C.Text_wAS = new L.Text("Click the record button ", null, null, null, null, null, null, null, null, null, null);
    C.Text_xK4 = new L.Text("CANCEL", null, null, null, null, null, null, null, null, null, null);
    C.Text_xXk = new L.Text(" ", null, null, null, null, null, null, null, null, null, null);
    C.Text_xw8 = new L.Text("DevTools 2.3.3-dev.1", null, null, null, null, null, null, null, null, null, null);
    C.Text_yuM = new L.Text("Hide Library with No Instances", null, null, null, null, null, null, null, null, null, null);
    C.Text_yzJ = new L.Text("Review History", null, null, null, null, null, null, null, null, null, null);
    C.ThemeMode_0 = new S.ThemeMode(0, "ThemeMode.system");
    C.Threshold_0 = new Z.Threshold(0);
    C.Threshold_znv = new Z.Threshold(0.5);
    C.TickerCanceled_null = new M.TickerCanceled(null);
    C.TileMode_0 = new P.TileMode(0, "TileMode.clamp");
    C.TileMode_1 = new P.TileMode(1, "TileMode.repeated");
    C.TileMode_2 = new P.TileMode(2, "TileMode.mirror");
    C.TileMode_3 = new P.TileMode(3, "TileMode.decal");
    C.TimePickerThemeData_10O = new A.TimePickerThemeData(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.TimeUnit_0 = new B.TimeUnit(0, "TimeUnit.microseconds");
    C.TimeUnit_1 = new B.TimeUnit(1, "TimeUnit.milliseconds");
    C.ToggleButtonsThemeData_UsI = new S.ToggleButtonsThemeData(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    C.Tolerance_Gdw = new N.Tolerance(0.001, 0.001);
    C.Tolerance_qbZ = new N.Tolerance(0.01, 1 / 0);
    C.ToolbarOptions_true_true_true = new D.ToolbarOptions(true, true, true);
    C.TooltipThemeData_kSE = new T.TooltipThemeData(null, null, null, null, null, null, null, null);
    C.TransformKind_0 = new H.TransformKind(0, "TransformKind.identity");
    C.TransformKind_1 = new H.TransformKind(1, "TransformKind.transform2d");
    C.TransformKind_2 = new H.TransformKind(2, "TransformKind.complex");
    C.TraversalDirection_1 = new U.TraversalDirection(1, "TraversalDirection.right");
    C.TraversalDirection_3 = new U.TraversalDirection(3, "TraversalDirection.left");
    C.TreemapFormat_0 = new N.TreemapFormat(0, "TreemapFormat.collapsed");
    C.TreemapFormat_1 = new N.TreemapFormat(1, "TreemapFormat.simplified");
    C.TreemapFormat_2 = new N.TreemapFormat(2, "TreemapFormat.dataAndCode");
    C.TreemapFormat_3 = new N.TreemapFormat(3, "TreemapFormat.objectType");
    C.Type_0 = H.typeLiteral("ExpandSelectionLeftByLineTextIntent");
    C.Type_2Iq = H.typeLiteral("MoveSelectionLeftByLineTextIntent");
    C.Type_2Iq0 = H.typeLiteral("MoveSelectionLeftByWordTextIntent");
    C.Type_2eZ = H.typeLiteral("DeleteForwardByLineTextIntent");
    C.Type_8LH = H.typeLiteral("ExtendSelectionDownTextIntent");
    C.Type_8aB = H.typeLiteral("ExpandSelectionRightByLineTextIntent");
    C.Type_9Ii0 = H.typeLiteral("ExtendSelectionRightByLineTextIntent");
    C.Type_9Ii = H.typeLiteral("ExtendSelectionRightByWordTextIntent");
    C.Type_ActivateIntent_OT9 = H.typeLiteral("ActivateIntent");
    C.Type_ButtonActivateIntent_6Ij = H.typeLiteral("ButtonActivateIntent");
    C.Type_ByteBuffer_RkP = H.typeLiteral("ByteBuffer");
    C.Type_ByteData_zNC = H.typeLiteral("ByteData");
    C.Type_Bzp = H.typeLiteral("MoveSelectionRightByLineTextIntent");
    C.Type_Bzp0 = H.typeLiteral("MoveSelectionRightByWordTextIntent");
    C.Type_Color_MG2 = H.typeLiteral("Color");
    C.Type_D34 = H.typeLiteral("_TransparentTapGestureRecognizer");
    C.Type_DeleteByLineTextIntent_YbU = H.typeLiteral("DeleteByLineTextIntent");
    C.Type_DeleteByWordTextIntent_4yx = H.typeLiteral("DeleteByWordTextIntent");
    C.Type_DeleteForwardTextIntent_4i6 = H.typeLiteral("DeleteForwardTextIntent");
    C.Type_DeleteTextIntent_riE = H.typeLiteral("DeleteTextIntent");
    C.Type_DevToolsExtensionPoints_RWS = H.typeLiteral("DevToolsExtensionPoints");
    C.Type_DirectionalFocusIntent_evN = H.typeLiteral("DirectionalFocusIntent");
    C.Type_DismissIntent_Fb0 = H.typeLiteral("DismissIntent");
    C.Type_DoNothingIntent_IQR = H.typeLiteral("DoNothingIntent");
    C.Type_DoubleTapGestureRecognizer_oyU = H.typeLiteral("DoubleTapGestureRecognizer");
    C.Type_Error_9Cx = H.typeLiteral("Error");
    C.Type_EscapeIntent_2GA = H.typeLiteral("EscapeIntent");
    C.Type_ExtendSelectionUpTextIntent_Bju = H.typeLiteral("ExtendSelectionUpTextIntent");
    C.Type_Float32List_LB7 = H.typeLiteral("Float32List");
    C.Type_Float32x4List_0ez = H.typeLiteral("Float32x4List");
    C.Type_Float64List_LB7 = H.typeLiteral("Float64List");
    C.Type_Float64x2List_0ez = H.typeLiteral("Float64x2List");
    C.Type_FocusLibraryFilterIntent_WHs = H.typeLiteral("FocusLibraryFilterIntent");
    C.Type_ForcePressGestureRecognizer_TN2 = H.typeLiteral("ForcePressGestureRecognizer");
    C.Type_FrameworkController_QHx = H.typeLiteral("FrameworkController");
    C.Type_GoToLineNumberIntent_RkP = H.typeLiteral("GoToLineNumberIntent");
    C.Type_HeapSnapshotObjectLengthData_CLo = H.typeLiteral("HeapSnapshotObjectLengthData");
    C.Type_HeapSnapshotObjectNoData_a9w = H.typeLiteral("HeapSnapshotObjectNoData");
    C.Type_HeapSnapshotObjectNullData_Grj = H.typeLiteral("HeapSnapshotObjectNullData");
    C.Type_IYE = H.typeLiteral("MoveSelectionToStartTextIntent");
    C.Type_IdeTheme_NnV = H.typeLiteral("IdeTheme");
    C.Type_Int16List_uXf = H.typeLiteral("Int16List");
    C.Type_Int32List_O50 = H.typeLiteral("Int32List");
    C.Type_Int32x4List_pCi = H.typeLiteral("Int32x4List");
    C.Type_Int8List_ekJ = H.typeLiteral("Int8List");
    C.Type_JSObject_8k0 = H.typeLiteral("JSObject");
    C.Type_KeE = H.typeLiteral("ExtendSelectionLeftTextIntent");
    C.Type_LabeledGlobalKey_6TW = H.typeLiteral("LabeledGlobalKey<State<StatefulWidget>>");
    C.Type_LibraryClass_Bzp = H.typeLiteral("LibraryClass");
    C.Type_LongPressGestureRecognizer_46y = H.typeLiteral("LongPressGestureRecognizer");
    C.Type_MaterialLocalizations_flR = H.typeLiteral("MaterialLocalizations");
    C.Type_MessageBus_MAi = H.typeLiteral("MessageBus");
    C.Type_MoveSelectionDownTextIntent_yqF = H.typeLiteral("MoveSelectionDownTextIntent");
    C.Type_MoveSelectionLeftTextIntent_uf2 = H.typeLiteral("MoveSelectionLeftTextIntent");
    C.Type_MoveSelectionRightTextIntent_kUZ = H.typeLiteral("MoveSelectionRightTextIntent");
    C.Type_MoveSelectionToEndTextIntent_c4I = H.typeLiteral("MoveSelectionToEndTextIntent");
    C.Type_MoveSelectionUpTextIntent_kSJ = H.typeLiteral("MoveSelectionUpTextIntent");
    C.Type_NT8 = H.typeLiteral("ExtendSelectionLeftByWordAndStopAtReversalTextIntent");
    C.Type_NextFocusIntent_6xB = H.typeLiteral("NextFocusIntent");
    C.Type_Null_Yyn = H.typeLiteral("Null");
    C.Type_OverscrollNotification_Ps9 = H.typeLiteral("OverscrollNotification");
    C.Type_PanGestureRecognizer_bbH = H.typeLiteral("PanGestureRecognizer");
    C.Type_PreferencesController_1KB = H.typeLiteral("PreferencesController");
    C.Type_PreviousFocusIntent_wsa = H.typeLiteral("PreviousFocusIntent");
    C.Type_PrioritizedIntents_fLu = H.typeLiteral("PrioritizedIntents");
    C.Type_RPCError_Tnu = H.typeLiteral("RPCError");
    C.Type_RequestFocusIntent_OPB = H.typeLiteral("RequestFocusIntent");
    C.Type_ScrollIntent_mpH = H.typeLiteral("ScrollIntent");
    C.Type_SearchInFileIntent_K4v = H.typeLiteral("SearchInFileIntent");
    C.Type_ServiceConnectionManager_qdG = H.typeLiteral("ServiceConnectionManager");
    C.Type_ShapeBorderClipper_QWG = H.typeLiteral("ShapeBorderClipper");
    C.Type_Shortcuts_6TW = H.typeLiteral("Shortcuts");
    C.Type_Storage_uL6 = H.typeLiteral("Storage0");
    C.Type_String_k8F = H.typeLiteral("String");
    C.Type_SurveyService_bLu = H.typeLiteral("SurveyService");
    C.Type_TapGestureRecognizer_62h = H.typeLiteral("TapGestureRecognizer");
    C.Type_TypeArguments_wH3 = H.typeLiteral("TypeArguments");
    C.Type_Uint16List_2bx = H.typeLiteral("Uint16List");
    C.Type_Uint32List_2bx = H.typeLiteral("Uint32List");
    C.Type_Uint8ClampedList_Jik = H.typeLiteral("Uint8ClampedList");
    C.Type_Uint8List_WLA = H.typeLiteral("Uint8List");
    C.Type_Vq1 = H.typeLiteral("HorizontalDragGestureRecognizer");
    C.Type_WidgetsLocalizations_43h = H.typeLiteral("WidgetsLocalizations");
    C.Type__AnyTapGestureRecognizer_5RQ = H.typeLiteral("_AnyTapGestureRecognizer");
    C.Type__ModalScopeState_Yap = H.typeLiteral("_ModalScopeState<@>");
    C.Type__ThumbPressGestureRecognizer_KUi = H.typeLiteral("_ThumbPressGestureRecognizer");
    C.Type__TrackTapGestureRecognizer_LjJ = H.typeLiteral("_TrackTapGestureRecognizer");
    C.Type_bool_lhE = H.typeLiteral("bool");
    C.Type_cKo = H.typeLiteral("DeleteForwardByWordTextIntent");
    C.Type_double_K1J = H.typeLiteral("double");
    C.Type_gO9 = H.typeLiteral("ExtendSelectionLeftByLineTextIntent");
    C.Type_gO90 = H.typeLiteral("ExtendSelectionLeftByWordTextIntent");
    C.Type_int_tHn = H.typeLiteral("int");
    C.Type_mLh = H.typeLiteral("VerticalDragGestureRecognizer");
    C.Type_muk = H.typeLiteral("DoNothingAndStopPropagationTextIntent");
    C.Type_num_cv7 = H.typeLiteral("num");
    C.Type_oyU = H.typeLiteral("ExpandSelectionToStartTextIntent");
    C.Type_s8I = H.typeLiteral("DoNothingAndStopPropagationIntent");
    C.Type_uFQ = H.typeLiteral("ExtendSelectionRightTextIntent");
    C.Type_unm = H.typeLiteral("ExtendSelectionRightByWordAndStopAtReversalTextIntent");
    C.Type_weg = H.typeLiteral("ExpandSelectionToEndTextIntent");
    C.UnderlineInputBorder_ato = new F.UnderlineInputBorder(C.BorderRadius_tLn1, C.BorderSide_8aB);
    C.UnfocusDisposition_0 = new O.UnfocusDisposition(0, "UnfocusDisposition.scope");
    C.UnfocusDisposition_1 = new O.UnfocusDisposition(1, "UnfocusDisposition.previouslyFocusedChild");
    C.Utf8Codec_false = new P.Utf8Codec(false);
    C.Utf8Decoder_false = new P.Utf8Decoder(false);
    C.Utf8Decoder_true = new P.Utf8Decoder(true);
    C.VMDeveloperToolsScreenBody_null = new E.VMDeveloperToolsScreenBody(null);
    C.ValueKey_0kc = new D.ValueKey("Expand All Button", type$.ValueKey_legacy_String);
    C.ValueKey_10O = new D.ValueKey("ChartInterval Dropdown", type$.ValueKey_legacy_String);
    C.ValueKey_22h = new D.ValueKey("Recording Instructions", type$.ValueKey_legacy_String);
    C.ValueKey_23h = new D.ValueKey("Clear Button", type$.ValueKey_legacy_String);
    C.ValueKey_2No = new D.ValueKey("Resume Button", type$.ValueKey_legacy_String);
    C.ValueKey_2bx = new D.ValueKey("not-found", type$.ValueKey_legacy_String);
    C.ValueKey_2ec = new D.ValueKey("Empty Timeline", type$.ValueKey_legacy_String);
    C.ValueKey_4CA = new D.ValueKey("ProfileGranularityDropdown DropdownButton", type$.ValueKey_legacy_String);
    C.ValueKey_6aG = new D.ValueKey("Legend Button", type$.ValueKey_legacy_String);
    C.ValueKey_6ch = new D.ValueKey("CallGraphView - To table", type$.ValueKey_legacy_String);
    C.ValueKey_6y6 = new D.ValueKey("flutter frames chart - selected frame indicator", type$.ValueKey_legacy_String);
    C.ValueKey_8EN = new D.ValueKey("GC Button", type$.ValueKey_legacy_String);
    C.ValueKey_8eb = new D.ValueKey("CallGraphView - From table", type$.ValueKey_legacy_String);
    C.ValueKey_8xL = new D.ValueKey("Request Cookies", type$.ValueKey_legacy_String);
    C.ValueKey_A2Y = new D.ValueKey("Request Headers", type$.ValueKey_legacy_String);
    C.ValueKey_AKA = new D.ValueKey("Socket Timing Graph Key", type$.ValueKey_legacy_String);
    C.ValueKey_Ak1 = new D.ValueKey("DominatorTree - table", type$.ValueKey_legacy_String);
    C.ValueKey_AndroidChart = new D.ValueKey("AndroidChart", type$.ValueKey_legacy_String);
    C.ValueKey_CJJ = new D.ValueKey("No Request Selected", type$.ValueKey_legacy_String);
    C.ValueKey_CrossFadeState_0 = new D.ValueKey(C.CrossFadeState_0, type$.ValueKey_legacy_CrossFadeState);
    C.ValueKey_CrossFadeState_1 = new D.ValueKey(C.CrossFadeState_1, type$.ValueKey_legacy_CrossFadeState);
    C.ValueKey_EventPane = new D.ValueKey("EventPane", type$.ValueKey_legacy_String);
    C.ValueKey_G79 = new D.ValueKey("Full-width Scaffold", type$.ValueKey_legacy_String);
    C.ValueKey_GRu = new D.ValueKey("Response Cookies", type$.ValueKey_legacy_String);
    C.ValueKey_General = new D.ValueKey("General", type$.ValueKey_legacy_String);
    C.ValueKey_Hxo = new D.ValueKey("Allocation Monitor Start Button", type$.ValueKey_legacy_String);
    C.ValueKey_I2O = new D.ValueKey("Group By Menu Button", type$.ValueKey_legacy_String);
    C.ValueKey_I3N = new D.ValueKey("Flutter frames chart legend", type$.ValueKey_legacy_String);
    C.ValueKey_IWk = new D.ValueKey("Recording Status", type$.ValueKey_legacy_String);
    C.ValueKey_Ia3 = new D.ValueKey("Diff Tree Type Dropdown", type$.ValueKey_legacy_String);
    C.ValueKey_JLN = new D.ValueKey("Export Button", type$.ValueKey_legacy_String);
    C.ValueKey_JQR = new D.ValueKey("Http Timing Graph Key", type$.ValueKey_legacy_String);
    C.ValueKey_OhV = new D.ValueKey("exit offline button", type$.ValueKey_legacy_String);
    C.ValueKey_QSK = new D.ValueKey("Response Headers", type$.ValueKey_legacy_String);
    C.ValueKey_SnapshotFilterDialog = new D.ValueKey("SnapshotFilterDialog", type$.ValueKey_legacy_String);
    C.ValueKey_Sources = new D.ValueKey("Sources", type$.ValueKey_legacy_String);
    C.ValueKey_TGU = new D.ValueKey("debugger_console_copy_to_clipboard_button", type$.ValueKey_legacy_String);
    C.ValueKey_U8E = new D.ValueKey("debugger_console_clear_stdio_button", type$.ValueKey_legacy_String);
    C.ValueKey_UFj = new D.ValueKey("Pause Button", type$.ValueKey_legacy_String);
    C.ValueKey_UqR = new D.ValueKey("Collapse All Button", type$.ValueKey_legacy_String);
    C.ValueKey_VMChart = new D.ValueKey("VMChart", type$.ValueKey_legacy_String);
    C.ValueKey_YAS = new D.ValueKey("Snapshot Filter", type$.ValueKey_legacy_String);
    C.ValueKey_Ygd = new D.ValueKey("Snapshot Button", type$.ValueKey_legacy_String);
    C.ValueKey_anI = new D.ValueKey("Accumulators Reset Button", type$.ValueKey_legacy_String);
    C.ValueKey_appsize = new D.ValueKey("appsize", type$.ValueKey_legacy_String);
    C.ValueKey_cMb = new D.ValueKey("Diff View Treemap", type$.ValueKey_legacy_String);
    C.ValueKey_dismissible = new D.ValueKey("dismissible", type$.ValueKey_legacy_String);
    C.ValueKey_ebu = new D.ValueKey("log_details_copy_to_clipboard_button", type$.ValueKey_legacy_String);
    C.ValueKey_ibz = new D.ValueKey("Table header", type$.ValueKey_legacy_String);
    C.ValueKey_jvN = new D.ValueKey("Details Tree", type$.ValueKey_legacy_String);
    C.ValueKey_kUZ = new D.ValueKey("Narrow Scaffold", type$.ValueKey_legacy_String);
    C.ValueKey_landing = new D.ValueKey("landing", type$.ValueKey_legacy_String);
    C.ValueKey_mDl = new D.ValueKey("Summary Tree", type$.ValueKey_legacy_String);
    C.ValueKey_pEq = new D.ValueKey("Sources Dropdown", type$.ValueKey_legacy_String);
    C.ValueKey_qtp = new D.ValueKey("Group By", type$.ValueKey_legacy_String);
    C.ValueKey_vJZ = new D.ValueKey("Android Memory", type$.ValueKey_legacy_String);
    C.ValueKey_xwz = new D.ValueKey("Analysis View Treemap", type$.ValueKey_legacy_String);
    C.ValueKey_yx3 = new D.ValueKey("Group By Menu Item", type$.ValueKey_legacy_String);
    C.VelocityEstimate_MMm = new R.VelocityEstimate(C.Offset_0_0, 0, C.Duration_0, C.Offset_0_0);
    C.VerticalDivider_null = new Z.VerticalDivider(null);
    C.VisualDensity_0_0 = new X.VisualDensity(0, 0);
    C.VisualDensity_m2_m2 = new X.VisualDensity(-2, -2);
    C.WindowPadding_0_0_0_0 = new H.WindowPadding(0, 0, 0, 0);
    C.WrapAlignment_0 = new N.WrapAlignment(0, "WrapAlignment.start");
    C.WrapAlignment_1 = new N.WrapAlignment(1, "WrapAlignment.end");
    C.WrapAlignment_2 = new N.WrapAlignment(2, "WrapAlignment.center");
    C.WrapAlignment_3 = new N.WrapAlignment(3, "WrapAlignment.spaceBetween");
    C.WrapAlignment_4 = new N.WrapAlignment(4, "WrapAlignment.spaceAround");
    C.WrapAlignment_5 = new N.WrapAlignment(5, "WrapAlignment.spaceEvenly");
    C.WrapCrossAlignment_0 = new N.WrapCrossAlignment(0, "WrapCrossAlignment.start");
    C.WrapCrossAlignment_1 = new N.WrapCrossAlignment(1, "WrapCrossAlignment.end");
    C.WrapCrossAlignment_2 = new N.WrapCrossAlignment(2, "WrapCrossAlignment.center");
    C._ActivityIndicatorType_1 = new U._ActivityIndicatorType(1, "_ActivityIndicatorType.adaptive");
    C._AnimationDirection_0 = new G._AnimationDirection(0, "_AnimationDirection.forward");
    C._AnimationDirection_1 = new G._AnimationDirection(1, "_AnimationDirection.reverse");
    C._CheckableKind_0 = new H._CheckableKind(0, "_CheckableKind.checkbox");
    C._CheckableKind_1 = new H._CheckableKind(1, "_CheckableKind.radio");
    C._CheckableKind_2 = new H._CheckableKind(2, "_CheckableKind.toggle");
    C._CompactFormatType_0 = new S._CompactFormatType(0, "_CompactFormatType.COMPACT_DECIMAL_SHORT_PATTERN");
    C._CompactFormatType_1 = new S._CompactFormatType(1, "_CompactFormatType.COMPACT_DECIMAL_LONG_PATTERN");
    C._CompactFormatType_2 = new S._CompactFormatType(2, "_CompactFormatType.COMPACT_DECIMAL_SHORT_CURRENCY_PATTERN");
    C._ComparisonResult_0 = new H._ComparisonResult(0, "_ComparisonResult.inside");
    C._ComparisonResult_1 = new H._ComparisonResult(1, "_ComparisonResult.higher");
    C._ComparisonResult_2 = new H._ComparisonResult(2, "_ComparisonResult.lower");
    C._DecorationSlot_0 = new L._DecorationSlot(0, "_DecorationSlot.icon");
    C._DecorationSlot_1 = new L._DecorationSlot(1, "_DecorationSlot.input");
    C._DecorationSlot_10 = new L._DecorationSlot(10, "_DecorationSlot.container");
    C._DecorationSlot_2 = new L._DecorationSlot(2, "_DecorationSlot.label");
    C._DecorationSlot_3 = new L._DecorationSlot(3, "_DecorationSlot.hint");
    C._DecorationSlot_4 = new L._DecorationSlot(4, "_DecorationSlot.prefix");
    C._DecorationSlot_5 = new L._DecorationSlot(5, "_DecorationSlot.suffix");
    C._DecorationSlot_6 = new L._DecorationSlot(6, "_DecorationSlot.prefixIcon");
    C._DecorationSlot_7 = new L._DecorationSlot(7, "_DecorationSlot.suffixIcon");
    C._DecorationSlot_8 = new L._DecorationSlot(8, "_DecorationSlot.helperError");
    C._DecorationSlot_9 = new L._DecorationSlot(9, "_DecorationSlot.counter");
    C._DragState_0 = new O._DragState(0, "_DragState.ready");
    C._DragState_1 = new O._DragState(1, "_DragState.possible");
    C._DragState_2 = new O._DragState(2, "_DragState.accepted");
    C._ElementLifecycle_0 = new N._ElementLifecycle(0, "_ElementLifecycle.initial");
    C._ElementLifecycle_1 = new N._ElementLifecycle(1, "_ElementLifecycle.active");
    C._ElementLifecycle_2 = new N._ElementLifecycle(2, "_ElementLifecycle.inactive");
    C._ElementLifecycle_3 = new N._ElementLifecycle(3, "_ElementLifecycle.defunct");
    C._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable = new V._EnabledAndDisabledMouseCursor(C.SystemMouseCursor_click, "clickable");
    C._EnabledAndDisabledMouseCursor_SystemMouseCursor_text_textable = new V._EnabledAndDisabledMouseCursor(C.SystemMouseCursor_text, "textable");
    C._FindBreakDirection_1 = new H._FindBreakDirection(1);
    C._FindBreakDirection_m1 = new H._FindBreakDirection(-1);
    C._FlingGestureKind_0 = new Q._FlingGestureKind(0, "_FlingGestureKind.none");
    C._FlingGestureKind_1 = new Q._FlingGestureKind(1, "_FlingGestureKind.forward");
    C._FlingGestureKind_2 = new Q._FlingGestureKind(2, "_FlingGestureKind.reverse");
    C._ForceState_0 = new K._ForceState(0, "_ForceState.ready");
    C._ForceState_1 = new K._ForceState(1, "_ForceState.possible");
    C._ForceState_2 = new K._ForceState(2, "_ForceState.accepted");
    C._ForceState_3 = new K._ForceState(3, "_ForceState.started");
    C._ForceState_4 = new K._ForceState(4, "_ForceState.peaked");
    C._GlowState_0 = new L._GlowState(0, "_GlowState.idle");
    C._GlowState_1 = new L._GlowState(1, "_GlowState.absorb");
    C._GlowState_2 = new L._GlowState(2, "_GlowState.pull");
    C._GlowState_3 = new L._GlowState(3, "_GlowState.recede");
    C._HighlightType_0 = new R._HighlightType(0, "_HighlightType.pressed");
    C._HighlightType_1 = new R._HighlightType(1, "_HighlightType.hover");
    C._HighlightType_2 = new R._HighlightType(2, "_HighlightType.focus");
    C._IntentionToReportRouteInformation_0 = new Z._IntentionToReportRouteInformation(0, "_IntentionToReportRouteInformation.none");
    C._IntentionToReportRouteInformation_1 = new Z._IntentionToReportRouteInformation(1, "_IntentionToReportRouteInformation.maybe");
    C._IntentionToReportRouteInformation_2 = new Z._IntentionToReportRouteInformation(2, "_IntentionToReportRouteInformation.must");
    C._IntentionToReportRouteInformation_3 = new Z._IntentionToReportRouteInformation(3, "_IntentionToReportRouteInformation.ignore");
    C._IntrinsicDimension_0 = new S._IntrinsicDimension(0, "_IntrinsicDimension.minWidth");
    C._IntrinsicDimension_1 = new S._IntrinsicDimension(1, "_IntrinsicDimension.maxWidth");
    C._IntrinsicDimension_2 = new S._IntrinsicDimension(2, "_IntrinsicDimension.minHeight");
    C._IntrinsicDimension_3 = new S._IntrinsicDimension(3, "_IntrinsicDimension.maxHeight");
    C._IterationMarker_null_2 = new P._IterationMarker(null, 2);
    C._ListTileSlot_0 = new Q._ListTileSlot(0, "_ListTileSlot.leading");
    C._ListTileSlot_1 = new Q._ListTileSlot(1, "_ListTileSlot.title");
    C._ListTileSlot_2 = new Q._ListTileSlot(2, "_ListTileSlot.subtitle");
    C._ListTileSlot_3 = new Q._ListTileSlot(3, "_ListTileSlot.trailing");
    C._MixedEdgeInsets_QWq = new V._MixedEdgeInsets(1 / 0, 1 / 0, 1 / 0, 1 / 0, 1 / 0, 1 / 0);
    C._ModifierSidePair_ModifierKey_0_KeyboardSide_0 = new B._ModifierSidePair(C.ModifierKey_0, C.KeyboardSide_0);
    C.KeyboardSide_1 = new B.KeyboardSide(1, "KeyboardSide.left");
    C._ModifierSidePair_ModifierKey_0_KeyboardSide_1 = new B._ModifierSidePair(C.ModifierKey_0, C.KeyboardSide_1);
    C.KeyboardSide_2 = new B.KeyboardSide(2, "KeyboardSide.right");
    C._ModifierSidePair_ModifierKey_0_KeyboardSide_2 = new B._ModifierSidePair(C.ModifierKey_0, C.KeyboardSide_2);
    C._ModifierSidePair_ModifierKey_0_KeyboardSide_3 = new B._ModifierSidePair(C.ModifierKey_0, C.KeyboardSide_3);
    C._ModifierSidePair_ModifierKey_1_KeyboardSide_0 = new B._ModifierSidePair(C.ModifierKey_1, C.KeyboardSide_0);
    C._ModifierSidePair_ModifierKey_1_KeyboardSide_1 = new B._ModifierSidePair(C.ModifierKey_1, C.KeyboardSide_1);
    C._ModifierSidePair_ModifierKey_1_KeyboardSide_2 = new B._ModifierSidePair(C.ModifierKey_1, C.KeyboardSide_2);
    C._ModifierSidePair_ModifierKey_1_KeyboardSide_3 = new B._ModifierSidePair(C.ModifierKey_1, C.KeyboardSide_3);
    C._ModifierSidePair_ModifierKey_2_KeyboardSide_0 = new B._ModifierSidePair(C.ModifierKey_2, C.KeyboardSide_0);
    C._ModifierSidePair_ModifierKey_2_KeyboardSide_1 = new B._ModifierSidePair(C.ModifierKey_2, C.KeyboardSide_1);
    C._ModifierSidePair_ModifierKey_2_KeyboardSide_2 = new B._ModifierSidePair(C.ModifierKey_2, C.KeyboardSide_2);
    C._ModifierSidePair_ModifierKey_2_KeyboardSide_3 = new B._ModifierSidePair(C.ModifierKey_2, C.KeyboardSide_3);
    C._ModifierSidePair_ModifierKey_3_KeyboardSide_0 = new B._ModifierSidePair(C.ModifierKey_3, C.KeyboardSide_0);
    C._ModifierSidePair_ModifierKey_3_KeyboardSide_1 = new B._ModifierSidePair(C.ModifierKey_3, C.KeyboardSide_1);
    C._ModifierSidePair_ModifierKey_3_KeyboardSide_2 = new B._ModifierSidePair(C.ModifierKey_3, C.KeyboardSide_2);
    C._ModifierSidePair_ModifierKey_3_KeyboardSide_3 = new B._ModifierSidePair(C.ModifierKey_3, C.KeyboardSide_3);
    C._ModifierSidePair_ModifierKey_4_KeyboardSide_3 = new B._ModifierSidePair(C.ModifierKey_4, C.KeyboardSide_3);
    C._ModifierSidePair_ModifierKey_5_KeyboardSide_3 = new B._ModifierSidePair(C.ModifierKey_5, C.KeyboardSide_3);
    C._ModifierSidePair_ModifierKey_6_KeyboardSide_3 = new B._ModifierSidePair(C.ModifierKey_6, C.KeyboardSide_3);
    C._ModifierSidePair_ModifierKey_7_KeyboardSide_3 = new B._ModifierSidePair(C.ModifierKey_7, C.KeyboardSide_3);
    C._NoInputBorder_qlM = new F._NoInputBorder(C.BorderSide_06g);
    C._NullWidget_null0 = new S._NullWidget0(null);
    C._NullWidget_null = new L._NullWidget1(null);
    C._ParagraphCommandType_0 = new H._ParagraphCommandType(0, "_ParagraphCommandType.addText");
    C._ParagraphCommandType_1 = new H._ParagraphCommandType(1, "_ParagraphCommandType.pop");
    C._ParagraphCommandType_2 = new H._ParagraphCommandType(2, "_ParagraphCommandType.pushStyle");
    C._ParagraphCommandType_3 = new H._ParagraphCommandType(3, "_ParagraphCommandType.addPlaceholder");
    C._ParagraphCommand_0KU = new H._ParagraphCommand(C._ParagraphCommandType_1, null, null, null);
    C._RegisterBinaryZoneFunction_kGu = new P._RegisterBinaryZoneFunction(C.C__RootZone, P.async___rootRegisterBinaryCallback$closure());
    C._RegisterNullaryZoneFunction__RootZone__rootRegisterCallback = new P._RegisterNullaryZoneFunction(C.C__RootZone, P.async___rootRegisterCallback$closure());
    C._RegisterUnaryZoneFunction_Bqo = new P._RegisterUnaryZoneFunction(C.C__RootZone, P.async___rootRegisterUnaryCallback$closure());
    C._RouteLifecycle_0 = new K._RouteLifecycle(0, "_RouteLifecycle.staging");
    C._RouteLifecycle_1 = new K._RouteLifecycle(1, "_RouteLifecycle.add");
    C._RouteLifecycle_10 = new K._RouteLifecycle(10, "_RouteLifecycle.popping");
    C._RouteLifecycle_11 = new K._RouteLifecycle(11, "_RouteLifecycle.removing");
    C._RouteLifecycle_12 = new K._RouteLifecycle(12, "_RouteLifecycle.dispose");
    C._RouteLifecycle_13 = new K._RouteLifecycle(13, "_RouteLifecycle.disposed");
    C._RouteLifecycle_2 = new K._RouteLifecycle(2, "_RouteLifecycle.adding");
    C._RouteLifecycle_3 = new K._RouteLifecycle(3, "_RouteLifecycle.push");
    C._RouteLifecycle_4 = new K._RouteLifecycle(4, "_RouteLifecycle.pushReplace");
    C._RouteLifecycle_5 = new K._RouteLifecycle(5, "_RouteLifecycle.pushing");
    C._RouteLifecycle_6 = new K._RouteLifecycle(6, "_RouteLifecycle.replace");
    C._RouteLifecycle_7 = new K._RouteLifecycle(7, "_RouteLifecycle.idle");
    C._RouteLifecycle_8 = new K._RouteLifecycle(8, "_RouteLifecycle.pop");
    C._RouteLifecycle_9 = new K._RouteLifecycle(9, "_RouteLifecycle.remove");
    C._RunBinaryZoneFunction__RootZone__rootRunBinary = new P._RunBinaryZoneFunction(C.C__RootZone, P.async___rootRunBinary$closure());
    C._RunNullaryZoneFunction__RootZone__rootRun = new P._RunNullaryZoneFunction(C.C__RootZone, P.async___rootRun$closure());
    C._RunUnaryZoneFunction__RootZone__rootRunUnary = new P._RunUnaryZoneFunction(C.C__RootZone, P.async___rootRunUnary$closure());
    C._ScaffoldSlot_0 = new M._ScaffoldSlot(0, "_ScaffoldSlot.body");
    C._ScaffoldSlot_1 = new M._ScaffoldSlot(1, "_ScaffoldSlot.appBar");
    C._ScaffoldSlot_10 = new M._ScaffoldSlot(10, "_ScaffoldSlot.statusBar");
    C._ScaffoldSlot_2 = new M._ScaffoldSlot(2, "_ScaffoldSlot.bodyScrim");
    C._ScaffoldSlot_3 = new M._ScaffoldSlot(3, "_ScaffoldSlot.bottomSheet");
    C._ScaffoldSlot_4 = new M._ScaffoldSlot(4, "_ScaffoldSlot.snackBar");
    C._ScaffoldSlot_5 = new M._ScaffoldSlot(5, "_ScaffoldSlot.persistentFooter");
    C._ScaffoldSlot_6 = new M._ScaffoldSlot(6, "_ScaffoldSlot.bottomNavigationBar");
    C._ScaffoldSlot_7 = new M._ScaffoldSlot(7, "_ScaffoldSlot.floatingActionButton");
    C._ScaffoldSlot_8 = new M._ScaffoldSlot(8, "_ScaffoldSlot.drawer");
    C._ScaffoldSlot_9 = new M._ScaffoldSlot(9, "_ScaffoldSlot.endDrawer");
    C._StateLifecycle_0 = new N._StateLifecycle(0, "_StateLifecycle.created");
    C._StringStackTrace_3uE = new P._StringStackTrace("");
    C._SwitchType_0 = new N._SwitchType(0, "_SwitchType.material");
    C._SwitchType_1 = new N._SwitchType(1, "_SwitchType.adaptive");
    C._TextSelectionHandlePosition_0 = new F._TextSelectionHandlePosition(0, "_TextSelectionHandlePosition.start");
    C._TextSelectionHandlePosition_1 = new F._TextSelectionHandlePosition(1, "_TextSelectionHandlePosition.end");
    C._TextThemeDefaultsBuilder_1yH = new R._TextThemeDefaultsBuilder(C.CupertinoDynamicColor_qQo, C.CupertinoDynamicColor_YIZ);
    C._ToolbarSlot_0 = new E._ToolbarSlot(0, "_ToolbarSlot.leading");
    C._ToolbarSlot_1 = new E._ToolbarSlot(1, "_ToolbarSlot.middle");
    C._ToolbarSlot_2 = new E._ToolbarSlot(2, "_ToolbarSlot.trailing");
    C._TrainHoppingMode_0 = new S._TrainHoppingMode(0, "_TrainHoppingMode.minimize");
    C._TrainHoppingMode_1 = new S._TrainHoppingMode(1, "_TrainHoppingMode.maximize");
    C._WordWrapParseMode_0 = new Y._WordWrapParseMode(0, "_WordWrapParseMode.inSpace");
    C._WordWrapParseMode_1 = new Y._WordWrapParseMode(1, "_WordWrapParseMode.inWord");
    C._WordWrapParseMode_2 = new Y._WordWrapParseMode(2, "_WordWrapParseMode.atBreak");
    C._ZoneFunction_3bB = new P._ZoneFunction(C.C__RootZone, P.async___rootCreatePeriodicTimer$closure(), H.findType("_ZoneFunction<Timer*(Zone*,ZoneDelegate*,Zone*,Duration*,~(Timer*)*)*>"));
    C._ZoneFunction_NMc = new P._ZoneFunction(C.C__RootZone, P.async___rootHandleUncaughtError$closure(), H.findType("_ZoneFunction<~(Zone*,ZoneDelegate*,Zone*,Object*,StackTrace*)*>"));
    C._ZoneFunction__RootZone__rootCreateTimer = new P._ZoneFunction(C.C__RootZone, P.async___rootCreateTimer$closure(), H.findType("_ZoneFunction<Timer*(Zone*,ZoneDelegate*,Zone*,Duration*,~()*)*>"));
    C._ZoneFunction__RootZone__rootErrorCallback = new P._ZoneFunction(C.C__RootZone, P.async___rootErrorCallback$closure(), H.findType("_ZoneFunction<AsyncError?(Zone*,ZoneDelegate*,Zone*,Object*,StackTrace?)*>"));
    C._ZoneFunction__RootZone__rootFork = new P._ZoneFunction(C.C__RootZone, P.async___rootFork$closure(), H.findType("_ZoneFunction<Zone*(Zone*,ZoneDelegate*,Zone*,ZoneSpecification?,Map<Object?,Object?>?)*>"));
    C._ZoneFunction__RootZone__rootPrint = new P._ZoneFunction(C.C__RootZone, P.async___rootPrint$closure(), H.findType("_ZoneFunction<~(Zone*,ZoneDelegate*,Zone*,String*)*>"));
    C._ZoneFunction__RootZone__rootScheduleMicrotask = new P._ZoneFunction(C.C__RootZone, P.async___rootScheduleMicrotask$closure(), H.findType("_ZoneFunction<~(Zone*,ZoneDelegate*,Zone*,~()*)*>"));
    C._ZoneSpecification_ALf = new P._ZoneSpecification(null, null, null, null, null, null, null, null, null, null, null, null, null);
  })();
  (function staticFields() {
    $._engineInitialized = false;
    $._hotRestartListeners = H._setArrayType([], type$.JSArray_of_void_Function);
    $._cachedWebGLVersion = null;
    $.canvasKit = H._Cell$named("canvasKit");
    $._skiaFontCollection = null;
    $.skiaSceneHost = null;
    $.SkiaObjects_resurrectableObjects = H._setArrayType([], H.findType("JSArray<ManagedSkiaObject<Object>>"));
    $.SkiaObjects_cachesToResize = H._setArrayType([], H.findType("JSArray<SkiaObjectCache>"));
    $.SkiaObjects__addedCleanupCallback = false;
    $.Surface__didWarnAboutWebGlInitializationFailure = false;
    $.DomRenderer__ellipseFeatureDetected = null;
    $._fontChangeScheduled = false;
    $.frameReferences = H._setArrayType([], type$.JSArray_FrameReference_dynamic);
    $._filterIdCounter = 0;
    $.OffScreenCanvas__supported = null;
    $._clipIdCounter = 0;
    $._recycledCanvases = H._setArrayType([], H.findType("JSArray<BitmapCanvas>"));
    $._paintQueue = H._setArrayType([], type$.JSArray__PaintRequest);
    $.glRenderer = null;
    $.SurfaceSceneBuilder__webOnlyDidWarnAboutPerformanceOverlay = false;
    $.SurfaceSceneBuilder__lastFrameScene = null;
    $.VertexShaders__baseVertexShader = null;
    $.GlContext__programCache = H._Cell$named("_programCache");
    $._retainedSurfaces = H._setArrayType([], type$.JSArray_PersistedSurface);
    $.Keyboard__instance = null;
    $.KeyboardBinding__instance = null;
    $.MouseCursor__instance = null;
    $.scheduleFrameCallback = null;
    $.pluginMessageCallHandler = null;
    $.PointerBinding__instance = null;
    $._BaseAdapter__listeners = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic_Function_Event);
    $._BaseAdapter__nativeListeners = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic_Function_Event);
    $._WheelEventListenerMixin__defaultScrollLineHeight = null;
    $._PointerState__pointerCount = 0;
    $._frameTimings = H._setArrayType([], type$.JSArray_FrameTiming);
    $._vsyncStartMicros = -1;
    $._buildStartMicros = -1;
    $._buildFinishMicros = -1;
    $._rasterStartMicros = -1;
    $._rasterFinishMicros = -1;
    $.AccessibilityAnnouncements__instance = null;
    $.EngineSemanticsOwner__instance = null;
    $.SemanticsTextEditingStrategy__instance = null;
    $.Spanometer__rulers = P.LinkedHashMap_LinkedHashMap$_empty(H.findType("TextHeightStyle"), H.findType("TextHeightRuler"));
    $.TextMeasurementService_rulerManager = null;
    $.DomTextMeasurementService__instance = null;
    $.CanvasTextMeasurementService__instance = null;
    $._lastStart = -1;
    $._lastEnd = -1;
    $._lastText = "";
    $._lastCssFont = "";
    $._lastWidth = -1;
    $.WebExperiments_instance = null;
    $._isUrlStrategySet = false;
    $._customUrlStrategy = null;
    $._JS_INTEROP_INTERCEPTOR_TAG = null;
    $.printToZone = null;
    $.Primitives_timerFrequency = 0;
    $.Primitives_timerTicks = H._js_helper_Primitives_dateNow$closure();
    $.Closure_functionCounter = 0;
    $.BoundClosure_selfFieldNameCache = null;
    $.BoundClosure_receiverFieldNameCache = null;
    $.getTagFunction = null;
    $.alternateTagFunction = null;
    $.prototypeForTagFunction = null;
    $.dispatchRecordsForInstanceTags = null;
    $.interceptorsForUncacheableTags = null;
    $.initNativeDispatchFlag = null;
    $._nextCallback = null;
    $._lastCallback = null;
    $._lastPriorityCallback = null;
    $._isInCallbackLoop = false;
    $.Zone__current = C.C__RootZone;
    $._RootZone__rootDelegate = null;
    $._toStringVisiting = H._setArrayType([], type$.JSArray_Object);
    $.Encoding__nameToEncoding = P.LinkedHashMap_LinkedHashMap$_literal(["iso_8859-1:1987", C.C_Latin1Codec, "iso-ir-100", C.C_Latin1Codec, "iso_8859-1", C.C_Latin1Codec, "iso-8859-1", C.C_Latin1Codec, "latin1", C.C_Latin1Codec, "l1", C.C_Latin1Codec, "ibm819", C.C_Latin1Codec, "cp819", C.C_Latin1Codec, "csisolatin1", C.C_Latin1Codec, "iso-ir-6", C.C_AsciiCodec, "ansi_x3.4-1968", C.C_AsciiCodec, "ansi_x3.4-1986", C.C_AsciiCodec, "iso_646.irv:1991", C.C_AsciiCodec, "iso646-us", C.C_AsciiCodec, "us-ascii", C.C_AsciiCodec, "us", C.C_AsciiCodec, "ibm367", C.C_AsciiCodec, "cp367", C.C_AsciiCodec, "csascii", C.C_AsciiCodec, "ascii", C.C_AsciiCodec, "csutf8", C.Utf8Codec_false, "utf-8", C.Utf8Codec_false], type$.String, H.findType("Encoding"));
    $._extensions = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, H.findType("Future<ServiceExtensionResponse>(String,Map<String,String>)"));
    $._FakeUserTag__instances = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, H.findType("_FakeUserTag"));
    $.Timeline__stack = H._setArrayType([], H.findType("JSArray<_SyncBlock?>"));
    $.Element__parseDocument = null;
    $.Element__parseRange = null;
    $.Element__defaultValidator = null;
    $.Element__defaultSanitizer = null;
    $._Html5NodeValidator__attributeValidators = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Function);
    $.Random__secureRandom = null;
    $._assetManager = null;
    $._fontCollection = null;
    $.DdsExtension__factoriesRegistered = false;
    $.DdsExtension__ddsVersion = null;
    $._lastGaError = null;
    $._userAppType = "";
    $._userBuildType = "";
    $._userPlatformType = "";
    $._devtoolsPlatformType = "";
    $._devtoolsChrome = "";
    $._ideLaunched = "";
    $._flutterClientId = "";
    $._computingDimensions = false;
    $._analyticsComputed = false;
    $._computingUserApplicationDimensions = false;
    $._userApplicationDimensionsComputed = false;
    $._providerCompleter = null;
    $.DragAndDropManager__instance = null;
    $.SyntaxHighlighter__grammar = null;
    $.offlineMode = false;
    $.offlineDataJson = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic);
    $.globals = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_Type, type$.dynamic);
    $.InspectorService_nextGroupId = 0;
    $._monitorClasses = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_int, type$.legacy_String);
    $._traceEventWrapperId = 0;
    $.uiColorPalette = H._setArrayType([C.Color_4287148510, C.Color_4284978125], type$.JSArray_legacy_Color);
    $.rasterColorPalette = H._setArrayType([C.Color_4281097642, C.Color_4281888438], type$.JSArray_legacy_Color);
    $.topMatchesLimit = 10;
    $.LogicalKeySetExtension__modifiers = P.LinkedHashSet_LinkedHashSet$_literal([C.LogicalKeyboardKey_2199023255810, C.LogicalKeyboardKey_2199023255813, C.LogicalKeyboardKey_2199023255817, C.LogicalKeyboardKey_2199023255821], H.findType("LogicalKeyboardKey*"));
    $.LogicalKeySetExtension__modifierNames = P.LinkedHashMap_LinkedHashMap$_literal([C.LogicalKeyboardKey_2199023255810, "Alt", C.LogicalKeyboardKey_2199023255813, "Control", C.LogicalKeyboardKey_2199023255817, "Meta", C.LogicalKeyboardKey_2199023255821, "Shift"], H.findType("LogicalKeyboardKey*"), type$.legacy_String);
    $._lowercaseLookup = function() {
      var t1 = type$.legacy_String;
      return P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
    }();
    $.FlutterError_presentError = U.assertions_FlutterError_dumpErrorToConsole$closure();
    $.FlutterError__errorCount = 0;
    $.FlutterError__stackFilters = H._setArrayType([], H.findType("JSArray<StackFilter>"));
    $.debugBrightnessOverride = null;
    $.LicenseRegistry__collectors = null;
    $._debugPrintedCharacters = 0;
    $._debugPrintCompleter = null;
    $._debugPrintScheduled = false;
    $.GestureBinding__instance = null;
    $.PaintingBinding__instance = null;
    $._pendingImageSizeInfo = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ImageSizeInfo);
    $._lastFrameImageSizeInfo = P.LinkedHashSet_LinkedHashSet$_empty(type$.ImageSizeInfo);
    $.RendererBinding__instance = null;
    $._timeDilation = 1;
    $.SchedulerBinding__instance = null;
    $.SemanticsBinding__instance = null;
    $.CustomSemanticsAction__nextId = 0;
    $.CustomSemanticsAction__actions = P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.CustomSemanticsAction);
    $.CustomSemanticsAction__ids = P.LinkedHashMap_LinkedHashMap$_empty(type$.CustomSemanticsAction, type$.int);
    $.SemanticsNode__lastIdentifier = 0;
    $.ServicesBinding__instance = null;
    $.LogicalKeyboardKey__synonyms = function() {
      var t1 = type$.LogicalKeyboardKey;
      return P.LinkedHashMap_LinkedHashMap$_literal([C.LogicalKeyboardKey_3298534883597, C.LogicalKeyboardKey_2199023255821, C.LogicalKeyboardKey_4398046511373, C.LogicalKeyboardKey_2199023255821, C.LogicalKeyboardKey_3298534883593, C.LogicalKeyboardKey_2199023255817, C.LogicalKeyboardKey_4398046511369, C.LogicalKeyboardKey_2199023255817, C.LogicalKeyboardKey_3298534883586, C.LogicalKeyboardKey_2199023255810, C.LogicalKeyboardKey_4398046511362, C.LogicalKeyboardKey_2199023255810, C.LogicalKeyboardKey_3298534883589, C.LogicalKeyboardKey_2199023255813, C.LogicalKeyboardKey_4398046511365, C.LogicalKeyboardKey_2199023255813], t1, t1);
    }();
    $.RawKeyboard__modifierKeyMap = function() {
      var t1 = type$.PhysicalKeyboardKey;
      return P.LinkedHashMap_LinkedHashMap$_literal([C._ModifierSidePair_ModifierKey_2_KeyboardSide_1, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458978], t1), C._ModifierSidePair_ModifierKey_2_KeyboardSide_2, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458982], t1), C._ModifierSidePair_ModifierKey_2_KeyboardSide_3, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458978, C.PhysicalKeyboardKey_458982], t1), C._ModifierSidePair_ModifierKey_2_KeyboardSide_0, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458978], t1), C._ModifierSidePair_ModifierKey_1_KeyboardSide_1, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458977], t1), C._ModifierSidePair_ModifierKey_1_KeyboardSide_2, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458981], t1), C._ModifierSidePair_ModifierKey_1_KeyboardSide_3, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458977, C.PhysicalKeyboardKey_458981], t1), C._ModifierSidePair_ModifierKey_1_KeyboardSide_0, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458977], t1), C._ModifierSidePair_ModifierKey_0_KeyboardSide_1, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458976], t1), C._ModifierSidePair_ModifierKey_0_KeyboardSide_2, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458980], t1), C._ModifierSidePair_ModifierKey_0_KeyboardSide_3, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458976, C.PhysicalKeyboardKey_458980], t1), C._ModifierSidePair_ModifierKey_0_KeyboardSide_0, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458976], t1), C._ModifierSidePair_ModifierKey_3_KeyboardSide_1, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458979], t1), C._ModifierSidePair_ModifierKey_3_KeyboardSide_2, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458983], t1), C._ModifierSidePair_ModifierKey_3_KeyboardSide_3, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458979, C.PhysicalKeyboardKey_458983], t1), C._ModifierSidePair_ModifierKey_3_KeyboardSide_0, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458979], t1), C._ModifierSidePair_ModifierKey_4_KeyboardSide_3, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458809], t1), C._ModifierSidePair_ModifierKey_5_KeyboardSide_3, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458835], t1), C._ModifierSidePair_ModifierKey_6_KeyboardSide_3, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_458823], t1), C._ModifierSidePair_ModifierKey_7_KeyboardSide_3, P.LinkedHashSet_LinkedHashSet$_literal([C.PhysicalKeyboardKey_18], t1)], H.findType("_ModifierSidePair"), H.findType("Set<PhysicalKeyboardKey>"));
    }();
    $.RawKeyboard__allModifiersExceptFn = P.LinkedHashMap_LinkedHashMap$_literal([C.PhysicalKeyboardKey_458978, C.LogicalKeyboardKey_3298534883586, C.PhysicalKeyboardKey_458982, C.LogicalKeyboardKey_4398046511362, C.PhysicalKeyboardKey_458977, C.LogicalKeyboardKey_3298534883597, C.PhysicalKeyboardKey_458981, C.LogicalKeyboardKey_4398046511373, C.PhysicalKeyboardKey_458976, C.LogicalKeyboardKey_3298534883589, C.PhysicalKeyboardKey_458980, C.LogicalKeyboardKey_4398046511365, C.PhysicalKeyboardKey_458979, C.LogicalKeyboardKey_3298534883593, C.PhysicalKeyboardKey_458983, C.LogicalKeyboardKey_4398046511369, C.PhysicalKeyboardKey_458809, C.LogicalKeyboardKey_68719476996, C.PhysicalKeyboardKey_458835, C.LogicalKeyboardKey_68719477002, C.PhysicalKeyboardKey_458823, C.LogicalKeyboardKey_68719477004], type$.PhysicalKeyboardKey, type$.LogicalKeyboardKey);
    $.SystemChrome__pendingStyle = null;
    $.SystemChrome__latestStyle = null;
    $.TextInputConnection__nextId = 1;
    $.WidgetsApp_showPerformanceOverlayOverride = false;
    $.WidgetsBinding__instance = null;
    $.debugProfileBuildsEnabled = false;
    $.Element__nextHashCode = 1;
    $._NBSample__splinePosition = H._setArrayType([0.000022888183591973643, 0.028561000304762274, 0.05705195792956655, 0.08538917797618413, 0.11349556286812107, 0.14129881694635613, 0.16877157254923383, 0.19581093511175632, 0.22239649722992452, 0.24843841866631658, 0.2740024733220569, 0.298967680744136, 0.32333234658228116, 0.34709556909569184, 0.3702249257894571, 0.39272483400399893, 0.41456988647721615, 0.43582889025419114, 0.4564192786416, 0.476410299013587, 0.4957560715637827, 0.5145493169954743, 0.5327205670880077, 0.5502846891191615, 0.5673274324802855, 0.583810881323224, 0.5997478744397482, 0.615194045299478, 0.6301165005270208, 0.6445484042257972, 0.6585198219185201, 0.6720397744233084, 0.6850997688076114, 0.6977281404741683, 0.7099506591298411, 0.7217749311525871, 0.7331784038850426, 0.7442308394229518, 0.7549087205105974, 0.7652471277371271, 0.7752251637549381, 0.7848768260203478, 0.7942056937103814, 0.8032299679689082, 0.8119428702388629, 0.8203713516576219, 0.8285187880808974, 0.8363794492831295, 0.8439768562813565, 0.851322799855549, 0.8584111051351724, 0.8652534074722162, 0.8718525580962131, 0.8782333271742155, 0.8843892099362031, 0.8903155590440985, 0.8960465359221951, 0.9015574505919048, 0.9068736766459904, 0.9119951682409297, 0.9169321898723632, 0.9216747065581234, 0.9262420604674766, 0.9306331858366086, 0.9348476990715433, 0.9389007110754832, 0.9427903495057521, 0.9465220679845756, 0.9500943036519721, 0.9535176728088761, 0.9567898524767604, 0.959924306623116, 0.9629127700159108, 0.9657622101750765, 0.9684818726275105, 0.9710676079044347, 0.9735231939498, 0.9758514437576309, 0.9780599066560445, 0.9801485715370128, 0.9821149805689633, 0.9839677526782791, 0.9857085499421516, 0.9873347811966005, 0.9888547171706613, 0.9902689443512227, 0.9915771042095881, 0.9927840651641069, 0.9938913963715834, 0.9948987305580712, 0.9958114963810524, 0.9966274782266875, 0.997352148697352, 0.9979848677523623, 0.9985285021374979, 0.9989844084453229, 0.9993537595844986, 0.999638729860106, 0.9998403888004533, 0.9999602810470701, 1], type$.JSArray_double);
    $.KeySet__tempHashStore3 = H._setArrayType([0, 0, 0], type$.JSArray_int);
    $.KeySet__tempHashStore4 = H._setArrayType([0, 0, 0, 0], type$.JSArray_int);
    $.LogicalKeySet__unmapSynonyms = function() {
      var t1 = type$.JSArray_LogicalKeyboardKey;
      return P.LinkedHashMap_LinkedHashMap$_literal([C.LogicalKeyboardKey_2199023255813, H._setArrayType([C.LogicalKeyboardKey_3298534883589, C.LogicalKeyboardKey_4398046511365], t1), C.LogicalKeyboardKey_2199023255821, H._setArrayType([C.LogicalKeyboardKey_3298534883597, C.LogicalKeyboardKey_4398046511373], t1), C.LogicalKeyboardKey_2199023255810, H._setArrayType([C.LogicalKeyboardKey_3298534883586, C.LogicalKeyboardKey_4398046511362], t1), C.LogicalKeyboardKey_2199023255817, H._setArrayType([C.LogicalKeyboardKey_3298534883593, C.LogicalKeyboardKey_4398046511369], t1)], type$.LogicalKeyboardKey, H.findType("List<LogicalKeyboardKey>"));
    }();
    $._dctClip = null;
    $.VP8Filter__tablesInitialized = false;
    $.VP8LTransform_PREDICTORS = H._setArrayType([R.vp8l_transform_VP8LTransform__predictor0$closure(), R.vp8l_transform_VP8LTransform__predictor1$closure(), R.vp8l_transform_VP8LTransform__predictor2$closure(), R.vp8l_transform_VP8LTransform__predictor3$closure(), R.vp8l_transform_VP8LTransform__predictor4$closure(), R.vp8l_transform_VP8LTransform__predictor5$closure(), R.vp8l_transform_VP8LTransform__predictor6$closure(), R.vp8l_transform_VP8LTransform__predictor7$closure(), R.vp8l_transform_VP8LTransform__predictor8$closure(), R.vp8l_transform_VP8LTransform__predictor9$closure(), R.vp8l_transform_VP8LTransform__predictor10$closure(), R.vp8l_transform_VP8LTransform__predictor11$closure(), R.vp8l_transform_VP8LTransform__predictor12$closure(), R.vp8l_transform_VP8LTransform__predictor13$closure(), R.vp8l_transform_VP8LTransform__predictor0$closure(), R.vp8l_transform_VP8LTransform__predictor0$closure()], H.findType("JSArray<int(Uint32List,int,int)>"));
    $.Half__toFloatUint32 = null;
    $.Half__toFloatFloat32 = null;
    $.Half__eLut = H._Cell$named("_eLut");
    $.cachedDateSymbols = null;
    $.lastDateSymbolLocale = null;
    $._defaultLocale = null;
    $.DateFormat__useNativeDigitsByDefault = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.bool);
    $.LogRecord__nextNumber = 0;
    $.Logger__loggers = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger);
    $._currentUriBase = null;
    $._current = null;
    $.ProviderBase__nextHashCode = 1;
    $._circularDependencyLock = null;
    $.LinkViewController__instances = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_int, H.findType("LinkViewController*"));
    $.Matrix4__decomposeV = null;
    $.Matrix4__decomposeM = null;
    $.Matrix4__decomposeR = null;
    $.DartIOExtension__factoriesRegistered = false;
    $.DartIOExtension__isolateVersion = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Version);
    $._typeFactories = P.LinkedHashMap_LinkedHashMap$_literal(["AllocationProfile", Q.vm_service_AllocationProfile_parse$closure(), "BoundField", Q.vm_service_BoundField_parse$closure(), "BoundVariable", Q.vm_service_BoundVariable_parse$closure(), "Breakpoint", Q.vm_service_Breakpoint_parse$closure(), "@Class", Q.vm_service_ClassRef_parse$closure(), "Class", Q.vm_service_Class_parse$closure(), "ClassHeapStats", Q.vm_service_ClassHeapStats_parse$closure(), "ClassList", Q.vm_service_ClassList_parse$closure(), "@Code", Q.vm_service_CodeRef_parse$closure(), "Code", Q.vm_service_Code_parse$closure(), "@Context", Q.vm_service_ContextRef_parse$closure(), "Context", Q.vm_service_Context_parse$closure(), "ContextElement", Q.vm_service_ContextElement_parse$closure(), "CpuSamples", Q.vm_service_CpuSamples_parse$closure(), "CpuSample", Q.vm_service_CpuSample_parse$closure(), "@Error", Q.vm_service_ErrorRef_parse$closure(), "Error", Q.vm_service_Error_parse$closure(), "Event", Q.vm_service_Event_parse$closure(), "ExtensionData", Q.vm_service_ExtensionData_parse$closure(), "@Field", Q.vm_service_FieldRef_parse$closure(), "Field", Q.vm_service_Field_parse$closure(), "Flag", Q.vm_service_Flag_parse$closure(), "FlagList", Q.vm_service_FlagList_parse$closure(), "Frame", Q.vm_service_Frame_parse$closure(), "@Function", Q.vm_service_FuncRef_parse$closure(), "Function", Q.vm_service_Func_parse$closure(), "@Instance", Q.vm_service_InstanceRef_parse$closure(), "Instance", Q.vm_service_Instance_parse$closure(), "@Isolate", Q.vm_service_IsolateRef_parse$closure(), "Isolate", Q.vm_service_Isolate_parse$closure(), "IsolateFlag", Q.vm_service_IsolateFlag_parse$closure(), "@IsolateGroup", Q.vm_service_IsolateGroupRef_parse$closure(), "IsolateGroup", Q.vm_service_IsolateGroup_parse$closure(), "InboundReferences", Q.vm_service_InboundReferences_parse$closure(), "InboundReference", Q.vm_service_InboundReference_parse$closure(), "InstanceSet", Q.vm_service_InstanceSet_parse$closure(), "@Library", Q.vm_service_LibraryRef_parse$closure(), "Library", Q.vm_service_Library_parse$closure(), "LibraryDependency", Q.vm_service_LibraryDependency_parse$closure(), "LogRecord", Q.vm_service_LogRecord_parse$closure(), "MapAssociation", Q.vm_service_MapAssociation_parse$closure(), "MemoryUsage", Q.vm_service_MemoryUsage_parse$closure(), "Message", Q.vm_service_Message_parse$closure(), "NativeFunction", Q.vm_service_NativeFunction_parse$closure(), "@Null", Q.vm_service_NullValRef_parse$closure(), "Null", Q.vm_service_NullVal_parse$closure(), "@Object", Q.vm_service_ObjRef_parse$closure(), "Object", Q.vm_service_Obj_parse$closure(), "PortList", Q.vm_service_PortList_parse$closure(), "ProfileFunction", Q.vm_service_ProfileFunction_parse$closure(), "ProtocolList", Q.vm_service_ProtocolList_parse$closure(), "Protocol", Q.vm_service_Protocol_parse$closure(), "ProcessMemoryUsage", Q.vm_service_ProcessMemoryUsage_parse$closure(), "ProcessMemoryItem", Q.vm_service_ProcessMemoryItem_parse$closure(), "ReloadReport", Q.vm_service_ReloadReport_parse$closure(), "RetainingObject", Q.vm_service_RetainingObject_parse$closure(), "RetainingPath", Q.vm_service_RetainingPath_parse$closure(), "Response", Q.vm_service_Response_parse$closure(), "Sentinel", Q.vm_service_Sentinel_parse$closure(), "@Script", Q.vm_service_ScriptRef_parse$closure(), "Script", Q.vm_service_Script_parse$closure(), "ScriptList", Q.vm_service_ScriptList_parse$closure(), "SourceLocation", Q.vm_service_SourceLocation_parse$closure(), "SourceReport", Q.vm_service_SourceReport_parse$closure(), "SourceReportCoverage", Q.vm_service_SourceReportCoverage_parse$closure(), "SourceReportRange", Q.vm_service_SourceReportRange_parse$closure(), "Stack", Q.vm_service_Stack_parse$closure(), "Success", Q.vm_service_Success_parse$closure(), "Timeline", Q.vm_service_Timeline_parse$closure(), "TimelineEvent", Q.vm_service_TimelineEvent_parse$closure(), "TimelineFlags", Q.vm_service_TimelineFlags_parse$closure(), "Timestamp", Q.vm_service_Timestamp_parse$closure(), "@TypeArguments", Q.vm_service_TypeArgumentsRef_parse$closure(), "TypeArguments", Q.vm_service_TypeArguments_parse$closure(), "UnresolvedSourceLocation", Q.vm_service_UnresolvedSourceLocation_parse$closure(), "Version", Q.vm_service_Version_parse$closure(), "@VM", Q.vm_service_VMRef_parse$closure(), "VM", Q.vm_service_VM_parse$closure()], type$.String, type$.Function);
    $._methodReturnTypes = P.LinkedHashMap_LinkedHashMap$_literal(["addBreakpoint", C.List_Breakpoint, "addBreakpointWithScriptUri", C.List_Breakpoint, "addBreakpointAtEntry", C.List_Breakpoint, "clearCpuSamples", C.List_Success, "clearVMTimeline", C.List_Success, "invoke", C.List_InstanceRef_ErrorRef, "evaluate", C.List_InstanceRef_ErrorRef, "evaluateInFrame", C.List_InstanceRef_ErrorRef, "getAllocationProfile", C.List_AllocationProfile, "getAllocationTraces", C.List_CpuSamples, "getClassList", C.List_ClassList, "getCpuSamples", C.List_CpuSamples, "getFlagList", C.List_FlagList, "getInboundReferences", C.List_InboundReferences, "getInstances", C.List_InstanceSet, "getIsolate", C.List_Isolate, "getIsolateGroup", C.List_IsolateGroup, "getMemoryUsage", C.List_MemoryUsage, "getIsolateGroupMemoryUsage", C.List_MemoryUsage, "getScripts", C.List_ScriptList, "getObject", C.List_Obj, "getPorts", C.List_PortList, "getRetainingPath", C.List_RetainingPath, "getProcessMemoryUsage", C.List_ProcessMemoryUsage, "getStack", C.List_Stack, "getSupportedProtocols", C.List_ProtocolList, "getSourceReport", C.List_SourceReport, "getVersion", C.List_Version, "getVM", C.List_VM, "getVMTimeline", C.List_Timeline, "getVMTimelineFlags", C.List_TimelineFlags, "getVMTimelineMicros", C.List_Timestamp, "pause", C.List_Success, "kill", C.List_Success, "registerService", C.List_Success, "reloadSources", C.List_ReloadReport, "removeBreakpoint", C.List_Success, "requestHeapSnapshot", C.List_Success, "resume", C.List_Success, "setBreakpointState", C.List_Breakpoint, "setExceptionPauseMode", C.List_Success, "setFlag", C.List_Success_Error, "setLibraryDebuggable", C.List_Success, "setName", C.List_Success, "setTraceClassAllocation", C.List_Success, "setVMName", C.List_Success, "setVMTimelineFlags", C.List_Success, "streamCancel", C.List_Success, "streamListen", C.List_Success], type$.String, type$.List_String);
    $._OutstandingRequest__idCounter = 0;
  })();
  (function lazyInitializers() {
    var _lazyFinal = hunkHelpers.lazyFinal,
      _lazy = hunkHelpers.lazy,
      _lazyOld = hunkHelpers.lazyOld;
    _lazyFinal($, "platformViewManager", "$get$platformViewManager", function() {
      return new H.PlatformViewManager(P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Function), P.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.Element));
    });
    _lazyFinal($, "_browserEngine", "$get$_browserEngine", function() {
      return H.detectBrowserEngineByVendorAgent(W.window().navigator.vendor, J.toLowerCase$0$s(W.window().navigator.userAgent));
    });
    _lazyFinal($, "_operatingSystem", "$get$_operatingSystem", function() {
      return H.detectOperatingSystem();
    });
    _lazy($, "_CanvasPool__runBuffer", "$get$_CanvasPool__runBuffer", function() {
      return H.NativeFloat32List_NativeFloat32List(8);
    });
    _lazyFinal($, "_SaveStackTracking__unitZ", "$get$_SaveStackTracking__unitZ", function() {
      return H.Vector3_Vector3(0, 0, 1);
    });
    _lazyFinal($, "_clipOpIntersect", "$get$_clipOpIntersect", function() {
      return J.get$Intersect$x(J.get$ClipOp$x($.canvasKit.readField$0()));
    });
    _lazyFinal($, "_skFontSlants", "$get$_skFontSlants", function() {
      return H._setArrayType([J.get$Upright$x(J.get$FontSlant$x($.canvasKit.readField$0())), J.get$Italic$x(J.get$FontSlant$x($.canvasKit.readField$0()))], H.findType("JSArray<SkFontSlant>"));
    });
    _lazyFinal($, "_skFontWeights", "$get$_skFontWeights", function() {
      return H._setArrayType([J.get$Thin$x(J.get$FontWeight$x($.canvasKit.readField$0())), J.get$ExtraLight$x(J.get$FontWeight$x($.canvasKit.readField$0())), J.get$Light$x(J.get$FontWeight$x($.canvasKit.readField$0())), J.get$Normal$x(J.get$FontWeight$x($.canvasKit.readField$0())), J.get$Medium$x(J.get$FontWeight$x($.canvasKit.readField$0())), J.get$SemiBold$x(J.get$FontWeight$x($.canvasKit.readField$0())), J.get$Bold$x(J.get$FontWeight$x($.canvasKit.readField$0())), J.get$ExtraBold$x(J.get$FontWeight$x($.canvasKit.readField$0())), J.get$ExtraBlack$x(J.get$FontWeight$x($.canvasKit.readField$0()))], H.findType("JSArray<SkFontWeight>"));
    });
    _lazyFinal($, "_skTextDirections", "$get$_skTextDirections", function() {
      return H._setArrayType([J.get$RTL$x(J.get$TextDirection$x($.canvasKit.readField$0())), J.get$LTR$x(J.get$TextDirection$x($.canvasKit.readField$0()))], H.findType("JSArray<SkTextDirection>"));
    });
    _lazyFinal($, "_skTextAligns", "$get$_skTextAligns", function() {
      return H._setArrayType([J.get$Left$x(J.get$TextAlign$x($.canvasKit.readField$0())), J.get$Right$x(J.get$TextAlign$x($.canvasKit.readField$0())), J.get$Center$x(J.get$TextAlign$x($.canvasKit.readField$0())), J.get$Justify$x(J.get$TextAlign$x($.canvasKit.readField$0())), J.get$Start$x(J.get$TextAlign$x($.canvasKit.readField$0())), J.get$End$x(J.get$TextAlign$x($.canvasKit.readField$0()))], H.findType("JSArray<SkTextAlign>"));
    });
    _lazyFinal($, "_skTextHeightBehaviors", "$get$_skTextHeightBehaviors", function() {
      return H._setArrayType([J.get$All$x(J.get$TextHeightBehavior$x($.canvasKit.readField$0())), J.get$DisableFirstAscent$x(J.get$TextHeightBehavior$x($.canvasKit.readField$0())), J.get$DisableLastDescent$x(J.get$TextHeightBehavior$x($.canvasKit.readField$0())), J.get$DisableAll$x(J.get$TextHeightBehavior$x($.canvasKit.readField$0()))], H.findType("JSArray<SkTextHeightBehavior>"));
    });
    _lazyFinal($, "_skRectHeightStyles", "$get$_skRectHeightStyles", function() {
      return H._setArrayType([J.get$Tight$x(J.get$RectHeightStyle$x($.canvasKit.readField$0())), J.get$Max$x(J.get$RectHeightStyle$x($.canvasKit.readField$0())), J.get$IncludeLineSpacingMiddle$x(J.get$RectHeightStyle$x($.canvasKit.readField$0())), J.get$IncludeLineSpacingTop$x(J.get$RectHeightStyle$x($.canvasKit.readField$0())), J.get$IncludeLineSpacingBottom$x(J.get$RectHeightStyle$x($.canvasKit.readField$0())), J.get$Strut$x(J.get$RectHeightStyle$x($.canvasKit.readField$0()))], H.findType("JSArray<SkRectHeightStyle>"));
    });
    _lazyFinal($, "_skRectWidthStyles", "$get$_skRectWidthStyles", function() {
      return H._setArrayType([J.get$Tight$x(J.get$RectWidthStyle$x($.canvasKit.readField$0())), J.get$Max$x(J.get$RectWidthStyle$x($.canvasKit.readField$0()))], H.findType("JSArray<SkRectWidthStyle>"));
    });
    _lazyFinal($, "_skClipOps", "$get$_skClipOps", function() {
      return H._setArrayType([J.get$Difference$x(J.get$ClipOp$x($.canvasKit.readField$0())), J.get$Intersect$x(J.get$ClipOp$x($.canvasKit.readField$0()))], H.findType("JSArray<SkClipOp>"));
    });
    _lazyFinal($, "_skFillTypes", "$get$_skFillTypes", function() {
      return H._setArrayType([J.get$Winding$x(J.get$FillType$x($.canvasKit.readField$0())), J.get$EvenOdd$x(J.get$FillType$x($.canvasKit.readField$0()))], H.findType("JSArray<SkFillType>"));
    });
    _lazyFinal($, "_skBlurStyles", "$get$_skBlurStyles", function() {
      return H._setArrayType([J.get$Normal$x(J.get$BlurStyle$x($.canvasKit.readField$0())), J.get$Solid$x(J.get$BlurStyle$x($.canvasKit.readField$0())), J.get$Outer$x(J.get$BlurStyle$x($.canvasKit.readField$0())), J.get$Inner$x(J.get$BlurStyle$x($.canvasKit.readField$0()))], H.findType("JSArray<SkBlurStyle>"));
    });
    _lazyFinal($, "_skStrokeCaps", "$get$_skStrokeCaps", function() {
      return H._setArrayType([J.get$Butt$x(J.get$StrokeCap$x($.canvasKit.readField$0())), J.get$Round$x(J.get$StrokeCap$x($.canvasKit.readField$0())), J.get$Square$x(J.get$StrokeCap$x($.canvasKit.readField$0()))], H.findType("JSArray<SkStrokeCap>"));
    });
    _lazyFinal($, "_skPaintStyles", "$get$_skPaintStyles", function() {
      return H._setArrayType([J.get$Fill$x(J.get$PaintStyle$x($.canvasKit.readField$0())), J.get$Stroke$x(J.get$PaintStyle$x($.canvasKit.readField$0()))], H.findType("JSArray<SkPaintStyle>"));
    });
    _lazyFinal($, "_skBlendModes", "$get$_skBlendModes", function() {
      return H._setArrayType([J.get$Clear$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Src$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Dst$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$SrcOver$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$DstOver$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$SrcIn$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$DstIn$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$SrcOut$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$DstOut$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$SrcATop$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$DstATop$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Xor$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Plus$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Modulate$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Screen$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Overlay$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Darken$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Lighten$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$ColorDodge$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$ColorBurn$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$HardLight$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$SoftLight$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Difference$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Exclusion$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Multiply$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Hue$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Saturation$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Color$x(J.get$BlendMode$x($.canvasKit.readField$0())), J.get$Luminosity$x(J.get$BlendMode$x($.canvasKit.readField$0()))], H.findType("JSArray<SkBlendMode>"));
    });
    _lazyFinal($, "_skStrokeJoins", "$get$_skStrokeJoins", function() {
      return H._setArrayType([J.get$Miter$x(J.get$StrokeJoin$x($.canvasKit.readField$0())), J.get$Round$x(J.get$StrokeJoin$x($.canvasKit.readField$0())), J.get$Bevel$x(J.get$StrokeJoin$x($.canvasKit.readField$0()))], H.findType("JSArray<SkStrokeJoin>"));
    });
    _lazyFinal($, "_skFilterQualitys", "$get$_skFilterQualitys", function() {
      return H._setArrayType([J.get$None$x(J.get$FilterQuality$x($.canvasKit.readField$0())), J.get$Low$x(J.get$FilterQuality$x($.canvasKit.readField$0())), J.get$Medium$x(J.get$FilterQuality$x($.canvasKit.readField$0())), J.get$High$x(J.get$FilterQuality$x($.canvasKit.readField$0()))], H.findType("JSArray<SkFilterQuality>"));
    });
    _lazyFinal($, "_skTileModes", "$get$_skTileModes", function() {
      return H._setArrayType([J.get$Clamp$x(J.get$TileMode$x($.canvasKit.readField$0())), J.get$Repeat$x(J.get$TileMode$x($.canvasKit.readField$0())), J.get$Mirror$x(J.get$TileMode$x($.canvasKit.readField$0())), J.get$Decal$x(J.get$TileMode$x($.canvasKit.readField$0()))], H.findType("JSArray<SkTileMode>"));
    });
    _lazyFinal($, "_kDefaultSkColorStops", "$get$_kDefaultSkColorStops", function() {
      var t1 = H.NativeFloat32List_NativeFloat32List(2);
      t1[0] = 0;
      t1[1] = 1;
      return t1;
    });
    _lazyFinal($, "_sharedSkColor1", "$get$_sharedSkColor1", function() {
      return H.mallocFloat32List(4);
    });
    _lazyFinal($, "_skTextDecorationStyles", "$get$_skTextDecorationStyles", function() {
      return H._setArrayType([J.get$Solid$x(J.get$DecorationStyle$x($.canvasKit.readField$0())), J.get$Double$x(J.get$DecorationStyle$x($.canvasKit.readField$0())), J.get$Dotted$x(J.get$DecorationStyle$x($.canvasKit.readField$0())), J.get$Dashed$x(J.get$DecorationStyle$x($.canvasKit.readField$0())), J.get$Wavy$x(J.get$DecorationStyle$x($.canvasKit.readField$0()))], H.findType("JSArray<SkTextDecorationStyle>"));
    });
    _lazyFinal($, "_skTextBaselines", "$get$_skTextBaselines", function() {
      return H._setArrayType([J.get$Alphabetic$x(J.get$TextBaseline$x($.canvasKit.readField$0())), J.get$Ideographic$x(J.get$TextBaseline$x($.canvasKit.readField$0()))], H.findType("JSArray<SkTextBaseline>"));
    });
    _lazyFinal($, "Collector__productionInstance", "$get$Collector__productionInstance", function() {
      return H.ProductionCollector$();
    });
    _lazy($, "Collector__instance", "$get$Collector__instance", function() {
      return $.$get$Collector__productionInstance();
    });
    _lazy($, "browserSupportsFinalizationRegistry", "$get$browserSupportsFinalizationRegistry", function() {
      return self.window.FinalizationRegistry != null;
    });
    _lazyFinal($, "OverlayCache_instance", "$get$OverlayCache_instance", function() {
      return new H.OverlayCache(5, H._setArrayType([], H.findType("JSArray<Surface>")));
    });
    _lazy($, "FontFallbackData__instance", "$get$FontFallbackData__instance", function() {
      var t1 = type$.int;
      return new H.FontFallbackData(P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashSet_LinkedHashSet$_empty(t1), H.FontFallbackData_createNotoFontTree(), H._setArrayType([], type$.JSArray_RegisteredFont), H._setArrayType(["Roboto"], type$.JSArray_String), P.LinkedHashMap_LinkedHashMap$_empty(type$.String, t1));
    });
    _lazy($, "_notoSansSC", "$get$_notoSansSC", function() {
      return H.NotoFont$("Noto Sans SC", H._setArrayType([H.CodeunitRange$(12288, 12591), H.CodeunitRange$(12800, 13311), H.CodeunitRange$(19968, 40959), H.CodeunitRange$(65072, 65135), H.CodeunitRange$(65280, 65519)], type$.JSArray_CodeunitRange));
    });
    _lazy($, "_notoSansTC", "$get$_notoSansTC", function() {
      return H.NotoFont$("Noto Sans TC", H._setArrayType([H.CodeunitRange$(12288, 12351), H.CodeunitRange$(12549, 12585), H.CodeunitRange$(19968, 40959)], type$.JSArray_CodeunitRange));
    });
    _lazy($, "_notoSansHK", "$get$_notoSansHK", function() {
      return H.NotoFont$("Noto Sans HK", H._setArrayType([H.CodeunitRange$(12288, 12351), H.CodeunitRange$(12549, 12585), H.CodeunitRange$(19968, 40959)], type$.JSArray_CodeunitRange));
    });
    _lazy($, "_notoSansJP", "$get$_notoSansJP", function() {
      return H.NotoFont$("Noto Sans JP", H._setArrayType([H.CodeunitRange$(12288, 12543), H.CodeunitRange$(19968, 40959), H.CodeunitRange$(65280, 65519)], type$.JSArray_CodeunitRange));
    });
    _lazy($, "_cjkFonts", "$get$_cjkFonts", function() {
      return H._setArrayType([$.$get$_notoSansSC(), $.$get$_notoSansTC(), $.$get$_notoSansHK(), $.$get$_notoSansJP()], type$.JSArray_NotoFont);
    });
    _lazy($, "_notoFonts", "$get$_notoFonts", function() {
      var _8204 = 8204, _2404 = 2404, _2405 = 2405, _8205 = 8205, _8377 = 8377, _9676 = 9676,
        t1 = type$.JSArray_CodeunitRange;
      return H._setArrayType([$.$get$_notoSansSC(), $.$get$_notoSansTC(), $.$get$_notoSansHK(), $.$get$_notoSansJP(), H.NotoFont$("Noto Naskh Arabic UI", H._setArrayType([H.CodeunitRange$(1536, 1791), H.CodeunitRange$(_8204, 8206), H.CodeunitRange$(8208, 8209), H.CodeunitRange$(8271, 8271), H.CodeunitRange$(11841, 11841), H.CodeunitRange$(64336, 65023), H.CodeunitRange$(65132, 65276)], t1)), H.NotoFont$("Noto Sans Armenian", H._setArrayType([H.CodeunitRange$(1328, 1424), H.CodeunitRange$(64275, 64279)], t1)), H.NotoFont$("Noto Sans Bengali UI", H._setArrayType([H.CodeunitRange$(_2404, _2405), H.CodeunitRange$(2433, 2555), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(_8377, _8377), H.CodeunitRange$(_9676, _9676)], t1)), H.NotoFont$("Noto Sans Myanmar UI", H._setArrayType([H.CodeunitRange$(4096, 4255), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(_9676, _9676)], t1)), H.NotoFont$("Noto Sans Egyptian Hieroglyphs", H._setArrayType([H.CodeunitRange$(77824, 78894)], t1)), H.NotoFont$("Noto Sans Ethiopic", H._setArrayType([H.CodeunitRange$(4608, 5017), H.CodeunitRange$(11648, 11742), H.CodeunitRange$(43777, 43822)], t1)), H.NotoFont$("Noto Sans Georgian", H._setArrayType([H.CodeunitRange$(1417, 1417), H.CodeunitRange$(4256, 4351), H.CodeunitRange$(11520, 11567)], t1)), H.NotoFont$("Noto Sans Gujarati UI", H._setArrayType([H.CodeunitRange$(_2404, _2405), H.CodeunitRange$(2688, 2815), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(_8377, _8377), H.CodeunitRange$(_9676, _9676), H.CodeunitRange$(43056, 43065)], t1)), H.NotoFont$("Noto Sans Gurmukhi UI", H._setArrayType([H.CodeunitRange$(_2404, _2405), H.CodeunitRange$(2561, 2677), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(_8377, _8377), H.CodeunitRange$(_9676, _9676), H.CodeunitRange$(9772, 9772), H.CodeunitRange$(43056, 43065)], t1)), H.NotoFont$("Noto Sans Hebrew", H._setArrayType([H.CodeunitRange$(1424, 1535), H.CodeunitRange$(8362, 8362), H.CodeunitRange$(_9676, _9676), H.CodeunitRange$(64285, 64335)], t1)), H.NotoFont$("Noto Sans Devanagari UI", H._setArrayType([H.CodeunitRange$(2304, 2431), H.CodeunitRange$(7376, 7414), H.CodeunitRange$(7416, 7417), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(8360, 8360), H.CodeunitRange$(_8377, _8377), H.CodeunitRange$(_9676, _9676), H.CodeunitRange$(43056, 43065), H.CodeunitRange$(43232, 43259)], t1)), H.NotoFont$("Noto Sans Kannada UI", H._setArrayType([H.CodeunitRange$(_2404, _2405), H.CodeunitRange$(3202, 3314), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(_8377, _8377), H.CodeunitRange$(_9676, _9676)], t1)), H.NotoFont$("Noto Sans Khmer UI", H._setArrayType([H.CodeunitRange$(6016, 6143), H.CodeunitRange$(_8204, _8204), H.CodeunitRange$(_9676, _9676)], t1)), H.NotoFont$("Noto Sans KR", H._setArrayType([H.CodeunitRange$(12593, 12686), H.CodeunitRange$(12800, 12828), H.CodeunitRange$(12896, 12923), H.CodeunitRange$(44032, 55215)], t1)), H.NotoFont$("Noto Sans Lao UI", H._setArrayType([H.CodeunitRange$(3713, 3807), H.CodeunitRange$(_9676, _9676)], t1)), H.NotoFont$("Noto Sans Malayalam UI", H._setArrayType([H.CodeunitRange$(775, 775), H.CodeunitRange$(803, 803), H.CodeunitRange$(_2404, _2405), H.CodeunitRange$(3330, 3455), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(_8377, _8377), H.CodeunitRange$(_9676, _9676)], t1)), H.NotoFont$("Noto Sans Sinhala", H._setArrayType([H.CodeunitRange$(_2404, _2405), H.CodeunitRange$(3458, 3572), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(_9676, _9676)], t1)), H.NotoFont$("Noto Sans Tamil UI", H._setArrayType([H.CodeunitRange$(_2404, _2405), H.CodeunitRange$(2946, 3066), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(_8377, _8377), H.CodeunitRange$(_9676, _9676)], t1)), H.NotoFont$("Noto Sans Telugu UI", H._setArrayType([H.CodeunitRange$(2385, 2386), H.CodeunitRange$(_2404, _2405), H.CodeunitRange$(3072, 3199), H.CodeunitRange$(7386, 7386), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(_9676, _9676)], t1)), H.NotoFont$("Noto Sans Thai UI", H._setArrayType([H.CodeunitRange$(3585, 3675), H.CodeunitRange$(_8204, _8205), H.CodeunitRange$(_9676, _9676)], t1)), H.NotoFont$("Noto Sans", H._setArrayType([H.CodeunitRange$(0, 255), H.CodeunitRange$(305, 305), H.CodeunitRange$(338, 339), H.CodeunitRange$(699, 700), H.CodeunitRange$(710, 710), H.CodeunitRange$(730, 730), H.CodeunitRange$(732, 732), H.CodeunitRange$(8192, 8303), H.CodeunitRange$(8308, 8308), H.CodeunitRange$(8364, 8364), H.CodeunitRange$(8482, 8482), H.CodeunitRange$(8593, 8593), H.CodeunitRange$(8595, 8595), H.CodeunitRange$(8722, 8722), H.CodeunitRange$(8725, 8725), H.CodeunitRange$(65279, 65279), H.CodeunitRange$(65533, 65533), H.CodeunitRange$(1024, 1119), H.CodeunitRange$(1168, 1169), H.CodeunitRange$(1200, 1201), H.CodeunitRange$(8470, 8470), H.CodeunitRange$(1120, 1327), H.CodeunitRange$(7296, 7304), H.CodeunitRange$(8372, 8372), H.CodeunitRange$(11744, 11775), H.CodeunitRange$(42560, 42655), H.CodeunitRange$(65070, 65071), H.CodeunitRange$(880, 1023), H.CodeunitRange$(7936, 8191), H.CodeunitRange$(256, 591), H.CodeunitRange$(601, 601), H.CodeunitRange$(7680, 7935), H.CodeunitRange$(8224, 8224), H.CodeunitRange$(8352, 8363), H.CodeunitRange$(8365, 8399), H.CodeunitRange$(8467, 8467), H.CodeunitRange$(11360, 11391), H.CodeunitRange$(42784, 43007), H.CodeunitRange$(258, 259), H.CodeunitRange$(272, 273), H.CodeunitRange$(296, 297), H.CodeunitRange$(360, 361), H.CodeunitRange$(416, 417), H.CodeunitRange$(431, 432), H.CodeunitRange$(7840, 7929), H.CodeunitRange$(8363, 8363)], t1))], type$.JSArray_NotoFont);
    });
    _lazy($, "notoDownloadQueue", "$get$notoDownloadQueue", function() {
      var t1 = type$._ResolvedNotoSubset;
      return new H.FallbackFontDownloadQueue(new H.NotoDownloader(), P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashMap_LinkedHashMap$_empty(type$.String, t1));
    });
    _lazyFinal($, "canvasKitJavaScriptBindingsUrl", "$get$canvasKitJavaScriptBindingsUrl", function() {
      return "assets/canvaskit/profiling/canvaskit.js";
    });
    _lazyFinal($, "SkiaObjects_expensiveCache", "$get$SkiaObjects_expensiveCache", function() {
      var t1 = H.findType("SkiaObject<Object>");
      return new H.SkiaObjectCache(1024, P.DoubleLinkedQueue$(t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, H.findType("DoubleLinkedQueueEntry<SkiaObject<Object>>")));
    });
    _lazy($, "CkParagraph__paragraphCache", "$get$CkParagraph__paragraphCache", function() {
      var t1 = H.findType("SkiaObject<Object>");
      return new H.SynchronousSkiaObjectCache(500, P.DoubleLinkedQueue$(t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, H.findType("DoubleLinkedQueueEntry<SkiaObject<Object>>")));
    });
    _lazyFinal($, "CkParagraphBuilder__defaultTextForeground", "$get$CkParagraphBuilder__defaultTextForeground", function() {
      return new self.window.flutterCanvasKit.Paint();
    });
    _lazyFinal($, "CkParagraphBuilder__defaultTextBackground", "$get$CkParagraphBuilder__defaultTextBackground", function() {
      var t1 = new self.window.flutterCanvasKit.Paint();
      J.setColorInt$1$x(t1, 0);
      return t1;
    });
    _lazyFinal($, "domRenderer", "$get$domRenderer", function() {
      return H.DomRenderer$();
    });
    _lazyFinal($, "SaveElementStackTracking__unitZ", "$get$SaveElementStackTracking__unitZ", function() {
      return H.Vector3_Vector3(0, 0, 1);
    });
    _lazyFinal($, "_fontChangeMessage", "$get$_fontChangeMessage", function() {
      return new H.JSONMessageCodec().encodeMessage$1(P.LinkedHashMap_LinkedHashMap$_literal(["type", "fontsChange"], type$.String, type$.dynamic));
    });
    _lazyFinal($, "_PaintBounds__tempRectData", "$get$_PaintBounds__tempRectData", function() {
      return H.NativeFloat32List_NativeFloat32List(4);
    });
    _lazyFinal($, "_WebGlRenderer__vertexIndicesForRect", "$get$_WebGlRenderer__vertexIndicesForRect", function() {
      return H.NativeUint16List_NativeUint16List$fromList(H._setArrayType([0, 1, 2, 2, 3, 0], type$.JSArray_int));
    });
    _lazyFinal($, "_supportsDecode", "$get$_supportsDecode", function() {
      return W.window().Image.prototype.decode != null;
    });
    _lazyFinal($, "_kLogicalKeyToModifierGetter", "$get$_kLogicalKeyToModifierGetter", function() {
      return P.LinkedHashMap_LinkedHashMap$_literal([12884902146, new H._kLogicalKeyToModifierGetter_closure(), 17179869442, new H._kLogicalKeyToModifierGetter_closure0(), 12884902149, new H._kLogicalKeyToModifierGetter_closure1(), 17179869445, new H._kLogicalKeyToModifierGetter_closure2(), 12884902157, new H._kLogicalKeyToModifierGetter_closure3(), 17179869453, new H._kLogicalKeyToModifierGetter_closure4(), 12884902153, new H._kLogicalKeyToModifierGetter_closure5(), 17179869449, new H._kLogicalKeyToModifierGetter_closure6()], type$.int, H.findType("bool(FlutterHtmlKeyboardEvent)"));
    });
    _lazyFinal($, "EnginePlatformDispatcher__instance", "$get$EnginePlatformDispatcher__instance", function() {
      var t1 = type$.Object;
      t1 = new H.EnginePlatformDispatcher(P.PlatformConfiguration$(C.C_AccessibilityFeatures, false, "/", H.EnginePlatformDispatcher_parseBrowserLanguages(), C.Brightness_1, false, 1), P.LinkedHashMap_LinkedHashMap$_empty(t1, H.findType("FlutterWindow")), P.LinkedHashMap_LinkedHashMap$_empty(t1, H.findType("ViewConfiguration")), W.window().matchMedia("(prefers-color-scheme: dark)"));
      t1._addBrightnessMediaQueryListener$0();
      return t1;
    });
    _lazy($, "_frameTimingsLastSubmitTime", "$get$_frameTimingsLastSubmitTime", function() {
      return H._nowMicros();
    });
    _lazyFinal($, "accessibilityAnnouncements", "$get$accessibilityAnnouncements", function() {
      var t1 = $.AccessibilityAnnouncements__instance;
      return t1 == null ? $.AccessibilityAnnouncements__instance = H.AccessibilityAnnouncements$_() : t1;
    });
    _lazyFinal($, "_roleFactories", "$get$_roleFactories", function() {
      return P.LinkedHashMap_LinkedHashMap$_literal([C.Role_0, new H._roleFactories_closure(), C.Role_1, new H._roleFactories_closure0(), C.Role_2, new H._roleFactories_closure1(), C.Role_3, new H._roleFactories_closure2(), C.Role_4, new H._roleFactories_closure3(), C.Role_5, new H._roleFactories_closure4(), C.Role_6, new H._roleFactories_closure5(), C.Role_7, new H._roleFactories_closure6()], type$.Role, H.findType("RoleManager(SemanticsObject)"));
    });
    _lazyFinal($, "FontManager_notPunctuation", "$get$FontManager_notPunctuation", function() {
      return P.RegExp_RegExp("[a-z0-9\\s]+", false, false);
    });
    _lazyFinal($, "FontManager_startWithDigit", "$get$FontManager_startWithDigit", function() {
      return P.RegExp_RegExp("\\b\\d", true, false);
    });
    _lazyFinal($, "supportsFontLoadingApi", "$get$supportsFontLoadingApi", function() {
      return P.hasProperty(W.window(), "FontFace");
    });
    _lazyFinal($, "supportsFontsClearApi", "$get$supportsFontsClearApi", function() {
      if (P.hasProperty(W.document(), "fonts")) {
        var t1 = W.document().fonts;
        t1.toString;
        t1 = P.hasProperty(t1, "clear");
      } else
        t1 = false;
      return t1;
    });
    _lazy($, "Spanometer__rulerHost", "$get$Spanometer__rulerHost", function() {
      return H.RulerHost$(null);
    });
    _lazy($, "lineLookup", "$get$lineLookup", function() {
      return H.UnicodePropertyLookup_UnicodePropertyLookup$fromPackedData("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", 937, C.List_VYA, C.LineCharProperty_8, H.findType("LineCharProperty"));
    });
    _lazyFinal($, "DomParagraphBuilder__paragraphBuilderPop", "$get$DomParagraphBuilder__paragraphBuilderPop", function() {
      return new P.Object();
    });
    _lazy($, "wordLookup", "$get$wordLookup", function() {
      return H.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, C.List_0, C.WordCharProperty_18, H.findType("WordCharProperty"));
    });
    _lazyFinal($, "BrowserAutofillHints__singletonInstance", "$get$BrowserAutofillHints__singletonInstance", function() {
      var t1 = type$.String;
      return new H.BrowserAutofillHints(P.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", function() {
      var t1 = new H.HybridTextEditing();
      t1.__HybridTextEditing_channel = new H.TextEditingChannel(t1);
      return t1;
    });
    _lazyFinal($, "formsOnTheDom", "$get$formsOnTheDom", function() {
      return H.JsLinkedHashMap_JsLinkedHashMap$es6(type$.String, H.findType("FormElement"));
    });
    _lazyFinal($, "_tempRectData", "$get$_tempRectData", function() {
      return H.NativeFloat32List_NativeFloat32List(4);
    });
    _lazyFinal($, "_tempPointData", "$get$_tempPointData", function() {
      return H.NativeFloat32List_NativeFloat32List(16);
    });
    _lazyFinal($, "_tempPointMatrix", "$get$_tempPointMatrix", function() {
      return H.Matrix4$fromFloat32List($.$get$_tempPointData());
    });
    _lazyFinal($, "_fallbackFontFamily", "$get$_fallbackFontFamily", function() {
      return H.isMacOrIOS() ? "-apple-system, BlinkMacSystemFont" : "Arial";
    });
    _lazy($, "printWarning", "$get$printWarning", function() {
      W.window();
      return C.C_Console.get$warn();
    });
    _lazyFinal($, "window0", "$get$window", function() {
      return H.EngineSingletonFlutterWindow$(0, $.$get$EnginePlatformDispatcher__instance());
    });
    _lazyFinal($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", function() {
      return H.getIsolateAffinityTag("_$dart_dartClosure");
    });
    _lazyFinal($, "nullFuture", "$get$nullFuture", function() {
      return C.C__RootZone.run$1$1(new H.nullFuture_closure(), type$.Future_Null);
    });
    _lazyFinal($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", function() {
      return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({
        toString: function() {
          return "$receiver$";
        }
      }));
    });
    _lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", function() {
      return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({$method$: null,
        toString: function() {
          return "$receiver$";
        }
      }));
    });
    _lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", function() {
      return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null));
    });
    _lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", function() {
      return H.TypeErrorDecoder_extractPattern(function() {
        var $argumentsExpr$ = "$arguments$";
        try {
          null.$method$($argumentsExpr$);
        } catch (e) {
          return e.message;
        }
      }());
    });
    _lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", function() {
      return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0));
    });
    _lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", function() {
      return H.TypeErrorDecoder_extractPattern(function() {
        var $argumentsExpr$ = "$arguments$";
        try {
          (void 0).$method$($argumentsExpr$);
        } catch (e) {
          return e.message;
        }
      }());
    });
    _lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", function() {
      return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null));
    });
    _lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", function() {
      return H.TypeErrorDecoder_extractPattern(function() {
        try {
          null.$method$;
        } catch (e) {
          return e.message;
        }
      }());
    });
    _lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", function() {
      return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0));
    });
    _lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() {
      return H.TypeErrorDecoder_extractPattern(function() {
        try {
          (void 0).$method$;
        } catch (e) {
          return e.message;
        }
      }());
    });
    _lazyFinal($, "NativeFloat32x4__list", "$get$NativeFloat32x4__list", function() {
      return H.NativeFloat32List_NativeFloat32List(4);
    });
    _lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", function() {
      return P._AsyncRun__initializeScheduleImmediate();
    });
    _lazyFinal($, "Future__nullFuture", "$get$Future__nullFuture", function() {
      return H.findType("_Future<Null>")._as($.$get$nullFuture());
    });
    _lazyFinal($, "_RootZone__rootMap", "$get$_RootZone__rootMap", function() {
      var t1 = type$.dynamic;
      return P.HashMap_HashMap(null, null, null, t1, t1);
    });
    _lazyFinal($, "Utf8Decoder__decoder", "$get$Utf8Decoder__decoder", function() {
      return new P.Utf8Decoder__decoder_closure().call$0();
    });
    _lazyFinal($, "Utf8Decoder__decoderNonfatal", "$get$Utf8Decoder__decoderNonfatal", function() {
      return new P.Utf8Decoder__decoderNonfatal_closure().call$0();
    });
    _lazyFinal($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", function() {
      return H.NativeInt8List__create1(H._ensureNativeList(H._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", function() {
      return H.NativeUint8List_NativeUint8List(0);
    });
    _lazyFinal($, "_Uri__isWindowsCached", "$get$_Uri__isWindowsCached", function() {
      return typeof process != "undefined" && Object.prototype.toString.call(process) == "[object process]" && process.platform == "win32";
    });
    _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", function() {
      return P.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false);
    });
    _lazy($, "_hasErrorStackProperty", "$get$_hasErrorStackProperty", function() {
      return new Error().stack != void 0;
    });
    _lazyFinal($, "DateTime__parseFormat", "$get$DateTime__parseFormat", function() {
      return P.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($, "Stopwatch__frequency", "$get$Stopwatch__frequency", function() {
      H.Primitives_initTicker();
      return $.Primitives_timerFrequency;
    });
    _lazyFinal($, "_scannerTables", "$get$_scannerTables", function() {
      return P._createTables();
    });
    _lazyFinal($, "_FakeUserTag__defaultTag", "$get$_FakeUserTag__defaultTag", function() {
      return P._FakeUserTag__FakeUserTag("Default");
    });
    _lazyFinal($, "CssStyleDeclaration__propertyCache", "$get$CssStyleDeclaration__propertyCache", function() {
      return {};
    });
    _lazyFinal($, "_Html5NodeValidator__allowedElements", "$get$_Html5NodeValidator__allowedElements", function() {
      return P.LinkedHashSet_LinkedHashSet$from(["A", "ABBR", "ACRONYM", "ADDRESS", "AREA", "ARTICLE", "ASIDE", "AUDIO", "B", "BDI", "BDO", "BIG", "BLOCKQUOTE", "BR", "BUTTON", "CANVAS", "CAPTION", "CENTER", "CITE", "CODE", "COL", "COLGROUP", "COMMAND", "DATA", "DATALIST", "DD", "DEL", "DETAILS", "DFN", "DIR", "DIV", "DL", "DT", "EM", "FIELDSET", "FIGCAPTION", "FIGURE", "FONT", "FOOTER", "FORM", "H1", "H2", "H3", "H4", "H5", "H6", "HEADER", "HGROUP", "HR", "I", "IFRAME", "IMG", "INPUT", "INS", "KBD", "LABEL", "LEGEND", "LI", "MAP", "MARK", "MENU", "METER", "NAV", "NOBR", "OL", "OPTGROUP", "OPTION", "OUTPUT", "P", "PRE", "PROGRESS", "Q", "S", "SAMP", "SECTION", "SELECT", "SMALL", "SOURCE", "SPAN", "STRIKE", "STRONG", "SUB", "SUMMARY", "SUP", "TABLE", "TBODY", "TD", "TEXTAREA", "TFOOT", "TH", "THEAD", "TIME", "TR", "TRACK", "TT", "U", "UL", "VAR", "VIDEO", "WBR"], type$.String);
    });
    _lazyFinal($, "Device_isOpera", "$get$Device_isOpera", function() {
      return J.contains$2$asx(P.Device_userAgent(), "Opera", 0);
    });
    _lazyFinal($, "Device_isIE", "$get$Device_isIE", function() {
      return !$.$get$Device_isOpera() && J.contains$2$asx(P.Device_userAgent(), "Trident/", 0);
    });
    _lazyFinal($, "Device_isFirefox", "$get$Device_isFirefox", function() {
      return J.contains$2$asx(P.Device_userAgent(), "Firefox", 0);
    });
    _lazyFinal($, "Device_isWebKit", "$get$Device_isWebKit", function() {
      return !$.$get$Device_isOpera() && J.contains$2$asx(P.Device_userAgent(), "WebKit", 0);
    });
    _lazyFinal($, "Device_cssPrefix", "$get$Device_cssPrefix", function() {
      return "-" + $.$get$Device_propertyPrefix() + "-";
    });
    _lazyFinal($, "Device_propertyPrefix", "$get$Device_propertyPrefix", function() {
      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", function() {
      return P._castToJsObject(P._wrapToDart(self));
    });
    _lazyFinal($, "_DART_OBJECT_PROPERTY_NAME", "$get$_DART_OBJECT_PROPERTY_NAME", function() {
      return H.getIsolateAffinityTag("_$dart_dartObject");
    });
    _lazyFinal($, "_dartProxyCtor", "$get$_dartProxyCtor", function() {
      return function DartObject(o) {
        this.o = o;
      };
    });
    _lazyFinal($, "Endian_host", "$get$Endian_host", function() {
      return J.getInt8$1$x(P.ByteData_ByteData$view(H.NativeUint16List_NativeUint16List$fromList(H._setArrayType([1], type$.JSArray_int)).buffer, 0, null), 0) === 1 ? C.C_Endian : C.C_Endian0;
    });
    _lazyFinal($, "channelBuffers", "$get$channelBuffers", function() {
      return new P.ChannelBuffers(P.LinkedHashMap_LinkedHashMap$_empty(type$.String, H.findType("_Channel")));
    });
    _lazyFinal($, "platformViewRegistry", "$get$platformViewRegistry", function() {
      return new P.PlatformViewRegistry();
    });
    _lazyOld($, "_gaEnabledNotifier", "$get$_gaEnabledNotifier", function() {
      return B.ValueNotifier$(false, type$.legacy_bool);
    });
    _lazyOld($, "goldenRatio", "$get$goldenRatio", function() {
      return 1 + P.sqrt(5) / 2;
    });
    _lazyOld($, "HostPlatform_instance", "$get$HostPlatform_instance", function() {
      var t1 = new N.HostPlatform();
      t1._isMacOS = J.contains$1$asx(W.window().navigator.userAgent, "Macintosh");
      return t1;
    });
    _lazyOld($, "debuggerCodeViewSearchKey", "$get$debuggerCodeViewSearchKey", function() {
      return N.GlobalKey_GlobalKey("DebuggerCodeViewSearchKey", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "defaultScriptPopupMenuOptions", "$get$defaultScriptPopupMenuOptions", function() {
      return H._setArrayType([$.$get$copyScriptNameOption(), C.ScriptPopupMenuOption_8EU], H.findType("JSArray<ScriptPopupMenuOption*>"));
    });
    _lazyOld($, "copyScriptNameOption", "$get$copyScriptNameOption", function() {
      return new K.ScriptPopupMenuOption("Copy filename", new K.copyScriptNameOption_closure(), C.IconData_57744_MaterialIcons_false);
    });
    _lazyOld($, "ExceptionMode_modes", "$get$ExceptionMode_modes", function() {
      return H._setArrayType([K.ExceptionMode$("None", "Ignore", "Don't stop on exceptions"), K.ExceptionMode$("Unhandled", "Uncaught", "Stop on uncaught exceptions"), K.ExceptionMode$("All", "All", "Stop on all exceptions")], H.findType("JSArray<ExceptionMode*>"));
    });
    _lazyOld($, "_log", "$get$_log", function() {
      return new B.DebugTimingLogger("debugger", true);
    });
    _lazyOld($, "DebuggerScreenBody_codeViewKey", "$get$DebuggerScreenBody_codeViewKey", function() {
      return N.GlobalKey_GlobalKey("codeViewKey", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "DebuggerScreenBody_scriptViewKey", "$get$DebuggerScreenBody_scriptViewKey", function() {
      return N.GlobalKey_GlobalKey("scriptViewKey", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "focusLibraryFilterKeySet", "$get$focusLibraryFilterKeySet", function() {
      return X.LogicalKeySet$($.$get$HostPlatform_instance()._isMacOS ? C.LogicalKeyboardKey_2199023255817 : C.LogicalKeyboardKey_2199023255813, C.LogicalKeyboardKey_112);
    });
    _lazyOld($, "goToLineNumberKeySet", "$get$goToLineNumberKeySet", function() {
      return X.LogicalKeySet$($.$get$HostPlatform_instance()._isMacOS ? C.LogicalKeyboardKey_2199023255817 : C.LogicalKeyboardKey_2199023255813, C.LogicalKeyboardKey_103);
    });
    _lazyOld($, "searchInFileKeySet", "$get$searchInFileKeySet", function() {
      return X.LogicalKeySet$($.$get$HostPlatform_instance()._isMacOS ? C.LogicalKeyboardKey_2199023255817 : C.LogicalKeyboardKey_2199023255813, C.LogicalKeyboardKey_102);
    });
    _lazyOld($, "escapeKeySet", "$get$escapeKeySet", function() {
      return X.LogicalKeySet$(C.LogicalKeyboardKey_68719476763, null);
    });
    _lazyOld($, "_identifier", "$get$_identifier", function() {
      return P.RegExp_RegExp("^[a-zA-Z0-9]|_|\\$", true, false);
    });
    _lazyOld($, "ScopeSpan__scopeStack", "$get$ScopeSpan__scopeStack", function() {
      return P.ListQueue$(null, type$.legacy_String);
    });
    _lazyOld($, "_colorIconMaker", "$get$_colorIconMaker", function() {
      return new S.ColorIconMaker(P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_Color, H.findType("ColorIcon*")));
    });
    _lazyOld($, "_customIconMaker", "$get$_customIconMaker", function() {
      return S.CustomIconMaker$();
    });
    _lazyOld($, "defaultIcon", "$get$defaultIcon", function() {
      return $.$get$_customIconMaker().fromInfo$1("Default");
    });
    _lazyOld($, "diagnosticLevelUtils", "$get$diagnosticLevelUtils", function() {
      return T.EnumUtils$(C.List_szR, H.findType("DiagnosticLevel*"));
    });
    _lazyOld($, "treeStyleUtils", "$get$treeStyleUtils", function() {
      return T.EnumUtils$(C.List_GFl, H.findType("DiagnosticsTreeStyle*"));
    });
    _lazyOld($, "RemoteDiagnosticsNode_iconMaker", "$get$RemoteDiagnosticsNode_iconMaker", function() {
      return S.CustomIconMaker$();
    });
    _lazyOld($, "_flexLayoutExpando", "$get$_flexLayoutExpando", function() {
      return P.Expando$(type$.legacy_FlexLayoutProperties);
    });
    _lazyOld($, "FlexLayoutProperties__directionUtils", "$get$FlexLayoutProperties__directionUtils", function() {
      return T.EnumUtils$(C.List_Axis_0_Axis_1, H.findType("Axis*"));
    });
    _lazyOld($, "FlexLayoutProperties__mainAxisAlignmentUtils", "$get$FlexLayoutProperties__mainAxisAlignmentUtils", function() {
      return T.EnumUtils$(C.List_NT8, H.findType("MainAxisAlignment*"));
    });
    _lazyOld($, "FlexLayoutProperties__mainAxisSizeUtils", "$get$FlexLayoutProperties__mainAxisSizeUtils", function() {
      return T.EnumUtils$(C.List_MainAxisSize_0_MainAxisSize_1, H.findType("MainAxisSize*"));
    });
    _lazyOld($, "FlexLayoutProperties__crossAxisAlignmentUtils", "$get$FlexLayoutProperties__crossAxisAlignmentUtils", function() {
      return T.EnumUtils$(C.List_sBE, H.findType("CrossAxisAlignment*"));
    });
    _lazyOld($, "FlexLayoutProperties__textDirectionUtils", "$get$FlexLayoutProperties__textDirectionUtils", function() {
      return T.EnumUtils$(C.List_TextDirection_0_TextDirection_1, H.findType("TextDirection*"));
    });
    _lazyOld($, "FlexLayoutProperties__verticalDirectionUtils", "$get$FlexLayoutProperties__verticalDirectionUtils", function() {
      return T.EnumUtils$(C.List_MQk, H.findType("VerticalDirection*"));
    });
    _lazyOld($, "FlexLayoutProperties__textBaselineUtils", "$get$FlexLayoutProperties__textBaselineUtils", function() {
      return T.EnumUtils$(C.List_TextBaseline_0_TextBaseline_1, H.findType("TextBaseline*"));
    });
    _lazyOld($, "_polyfillReadyExpando", "$get$_polyfillReadyExpando", function() {
      return P.Expando$(H.findType("Future<@>*"));
    });
    _lazyOld($, "treeNodePrimaryDescriptionPattern", "$get$treeNodePrimaryDescriptionPattern", function() {
      return P.RegExp_RegExp("^([\\w ]+)(.*)$", true, false);
    });
    _lazyOld($, "assertionThrownBuildingError", "$get$assertionThrownBuildingError", function() {
      return P.RegExp_RegExp("^(The following assertion was thrown building [a-zA-Z]+)(\\(.*\\))(:)$", true, false);
    });
    _lazyOld($, "_VisualizeFlexChildrenState_selectedChildKey", "$get$_VisualizeFlexChildrenState_selectedChildKey", function() {
      return N.GlobalKey_GlobalKey("selectedChild", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "OverflowIndicatorPainter_indicatorPaint", "$get$OverflowIndicatorPainter_indicatorPaint", function() {
      var t1 = P.Paint_Paint();
      t1.set$shader(P.Gradient_Gradient$linear(C.Offset_0_0, C.Offset_10_10, H._setArrayType([C.Color_3204448256, C.Color_3221225216, C.Color_3221225216, C.Color_3204448256], type$.JSArray_legacy_Color), H._setArrayType([0.25, 0.25, 0.75, 0.75], type$.JSArray_legacy_double), C.TileMode_1, null));
      return t1;
    });
    _lazyOld($, "timeFormat", "$get$timeFormat", function() {
      return A.DateFormat$("HH:mm:ss.SSS", null);
    });
    _lazyOld($, "loggingSearchFieldKey", "$get$loggingSearchFieldKey", function() {
      return N.GlobalKey_GlobalKey("LoggingSearchFieldKey", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "fieldsStack", "$get$fieldsStack", function() {
      return new Z.ClassFields(H._setArrayType([], type$.JSArray_legacy_String));
    });
    _lazyOld($, "_memoryLogFilename", "$get$_memoryLogFilename", function() {
      return "memory_log_" + A.DateFormat$("yyyyMMdd_hh_mm", null).format$1(P.DateTime$now());
    });
    _lazyOld($, "displayDurationsStrings", "$get$displayDurationsStrings", function() {
      return H._setArrayType(["Default", C.JSInt_methods.toString$0(T.chartDuration(C.ChartInterval_1).get$inMinutes()), C.JSInt_methods.toString$0(T.chartDuration(C.ChartInterval_2).get$inMinutes()), C.JSInt_methods.toString$0(T.chartDuration(C.ChartInterval_3).get$inMinutes()), "All"], type$.JSArray_legacy_String);
    });
    _lazyOld($, "MemoryLog__fs", "$get$MemoryLog__fs", function() {
      var t1 = type$.legacy_String;
      return new O.FileSystemWeb(P.LinkedHashMap_LinkedHashMap$_empty(t1, t1));
    });
    _lazyOld($, "predefinedNull", "$get$predefinedNull", function() {
      return X.LibraryClass$("dart:core", "Null");
    });
    _lazyOld($, "predefinedString", "$get$predefinedString", function() {
      return X.LibraryClass$("dart:core", "_OneByteString");
    });
    _lazyOld($, "predefinedList", "$get$predefinedList", function() {
      return X.LibraryClass$("dart:core", "_List");
    });
    _lazyOld($, "predefinedMap", "$get$predefinedMap", function() {
      return X.LibraryClass$("dart:collection", "_InternalLinkedHashMap");
    });
    _lazyOld($, "predefinedHashMap", "$get$predefinedHashMap", function() {
      return X.LibraryClass$("dart:collection", "_HashMap");
    });
    _lazyOld($, "predefinedClasses", "$get$predefinedClasses", function() {
      var _s9_ = "dart:core";
      return P.LinkedHashMap_LinkedHashMap$_literal([X.LibraryClass$(_s9_, "bool"), C.Predefined_bool_true, X.LibraryClass$(_s9_, "_Mint"), C.Predefined_int_true, X.LibraryClass$(_s9_, "_Double"), C.Predefined_Double_true, $.$get$predefinedString(), C.Predefined_String_true, $.$get$predefinedList(), C.Predefined_List_false, $.$get$predefinedMap(), C.Predefined_Map_false, $.$get$predefinedHashMap(), C.Predefined_HashMap_false, $.$get$predefinedNull(), C.Predefined_Null_true], type$.legacy_LibraryClass, H.findType("Predefined*"));
    });
    _lazyOld($, "HeapGraph_classSentinel", "$get$HeapGraph_classSentinel", function() {
      return new X.HeapGraphClassSentinel(H._setArrayType([], type$.JSArray_legacy_HeapGraphElementLive));
    });
    _lazyOld($, "HeapGraph_elementSentinel", "$get$HeapGraph_elementSentinel", function() {
      return new X.HeapGraphElementSentinel();
    });
    _lazyOld($, "memorySearchFieldKey", "$get$memorySearchFieldKey", function() {
      return N.GlobalKey_GlobalKey("MemorySearchFieldKey", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "knownClassesRegExs", "$get$knownClassesRegExs", function() {
      return D.buildRegExs(C.Map_gkmqK);
    });
    _lazyOld($, "legendKey", "$get$legendKey", function() {
      return N.GlobalKey_GlobalKey("Legend Button", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "Reference_empty", "$get$Reference_empty", function() {
      var _null = null;
      return T.Reference$_internal(_null, _null, false, false, false, false, false, false, false, false, "<empty>", _null, _null);
    });
    _lazyOld($, "AnalysisField_empty", "$get$AnalysisField_empty", function() {
      return new T.AnalysisField(null, null, H._setArrayType([], type$.JSArray_legacy_AnalysisField));
    });
    _lazyOld($, "FieldReference_empty", "$get$FieldReference_empty", function() {
      var _null = null;
      return new T.FieldReference(_null, _null, _null, "<empty>", _null, false, false, H._setArrayType([], type$.JSArray_legacy_FieldReference));
    });
    _lazyOld($, "FieldReference_sentinel", "$get$FieldReference_sentinel", function() {
      var _null = null;
      return new T.FieldReference(_null, _null, _null, "<sentinel>", _null, false, false, H._setArrayType([], type$.JSArray_legacy_FieldReference));
    });
    _lazyOld($, "MemoryTimeline__milliFormat", "$get$MemoryTimeline__milliFormat", function() {
      return A.DateFormat$("hh:mm:ss.mmm", null);
    });
    _lazyOld($, "MemoryVMChartState_capacityColor", "$get$MemoryVMChartState_capacityColor", function() {
      return C.MaterialColor_Map_HFpTk_4288585374.$index(0, 400);
    });
    _lazyOld($, "networkSearchFieldKey", "$get$networkSearchFieldKey", function() {
      return N.GlobalKey_GlobalKey("NetworkSearchFieldKey", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "NetworkRequestsTable_methodColumn", "$get$NetworkRequestsTable_methodColumn", function() {
      return new Y.MethodColumn("Method", null, 70, null, C.ColumnAlignment_0);
    });
    _lazyOld($, "NetworkRequestsTable_addressColumn", "$get$NetworkRequestsTable_addressColumn", function() {
      return new Y.UriColumn("Uri", null, null, 100, C.ColumnAlignment_0);
    });
    _lazyOld($, "NetworkRequestsTable_statusColumn", "$get$NetworkRequestsTable_statusColumn", function() {
      return new Y.StatusColumn("Status", null, 62, null, C.ColumnAlignment_1);
    });
    _lazyOld($, "NetworkRequestsTable_typeColumn", "$get$NetworkRequestsTable_typeColumn", function() {
      return new Y.TypeColumn("Type", null, 62, null, C.ColumnAlignment_1);
    });
    _lazyOld($, "NetworkRequestsTable_durationColumn", "$get$NetworkRequestsTable_durationColumn", function() {
      return new Y.DurationColumn("Duration", null, 80, null, C.ColumnAlignment_1);
    });
    _lazyOld($, "NetworkRequestsTable_timestampColumn", "$get$NetworkRequestsTable_timestampColumn", function() {
      return new Y.TimestampColumn("Timestamp", null, 135, null, C.ColumnAlignment_1);
    });
    _lazyOld($, "_notificationWidth", "$get$_notificationWidth", function() {
      return 175 * $.$get$goldenRatio();
    });
    _lazyOld($, "legacyTimelineSearchFieldKey", "$get$legacyTimelineSearchFieldKey", function() {
      return N.GlobalKey_GlobalKey("LegacyTimelineSearchFieldKey", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "timelineSearchFieldKey", "$get$timelineSearchFieldKey", function() {
      return N.GlobalKey_GlobalKey("TimelineSearchFieldKey", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "dartTimelineStream", "$get$dartTimelineStream", function() {
      return U.RecordedTimelineStream$(false, "Events emitted from dart:developer Timeline APIs (including Flutter framework events)", "Dart");
    });
    _lazyOld($, "embedderTimelineStream", "$get$embedderTimelineStream", function() {
      return U.RecordedTimelineStream$(false, "Additional platform events (often emitted from the Flutter engine)", "Embedder");
    });
    _lazyOld($, "gcTimelineStream", "$get$gcTimelineStream", function() {
      return U.RecordedTimelineStream$(false, "Garbage collection", "GC");
    });
    _lazyOld($, "apiTimelineStream", "$get$apiTimelineStream", function() {
      return U.RecordedTimelineStream$(true, "Calls to the VM embedding API", "API");
    });
    _lazyOld($, "compilerTimelineStream", "$get$compilerTimelineStream", function() {
      return U.RecordedTimelineStream$(true, "Compiler phases (loading code, compilation, optimization, etc.)", "Compiler");
    });
    _lazyOld($, "compilerVerboseTimelineStream", "$get$compilerVerboseTimelineStream", function() {
      return U.RecordedTimelineStream$(true, "More detailed compiler phases", "CompilerVerbose");
    });
    _lazyOld($, "debuggerTimelineStream", "$get$debuggerTimelineStream", function() {
      return U.RecordedTimelineStream$(true, "Debugger paused events", "Debugger");
    });
    _lazyOld($, "isolateTimelineStream", "$get$isolateTimelineStream", function() {
      return U.RecordedTimelineStream$(true, "Isolate events (startup, shutdown, snapshot loading, etc.)", "Isolate");
    });
    _lazyOld($, "vmTimelineStream", "$get$vmTimelineStream", function() {
      return U.RecordedTimelineStream$(true, "Dart VM events (startup, shutdown, snapshot loading, etc.)", "VM");
    });
    _lazyOld($, "CpuProfilerController_baseStateCpuProfileData", "$get$CpuProfilerController_baseStateCpuProfileData", function() {
      return E.CpuProfileData_CpuProfileData$empty();
    });
    _lazyOld($, "profilerScreenSearchFieldKey", "$get$profilerScreenSearchFieldKey", function() {
      return N.GlobalKey_GlobalKey("ProfilerScreenSearchFieldKey", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "serviceProvider", "$get$serviceProvider", function() {
      var t1 = ($.ProviderBase__nextHashCode + 1) % 16777215;
      $.ProviderBase__nextHashCode = t1;
      return new T.StreamProvider(new Q.serviceProvider_closure(), null, t1, H.findType("StreamProvider<VmServiceWrapper*>"));
    });
    _lazyOld($, "evalProvider", "$get$evalProvider", function() {
      return $.$get$libraryEvalProvider().call$1("dart:io");
    });
    _lazyOld($, "providerEvalProvider", "$get$providerEvalProvider", function() {
      return $.$get$libraryEvalProvider().call$1("package:provider/src/provider.dart");
    });
    _lazyOld($, "libraryEvalProvider", "$get$libraryEvalProvider", function() {
      return new F.FutureProviderFamily(new Q.libraryEvalProvider_closure(), null, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, H.findType("FutureProvider<EvalOnDartLibrary*>")), H.findType("FutureProviderFamily<EvalOnDartLibrary*,String*>"));
    });
    _lazyOld($, "hotRestartEventProvider", "$get$hotRestartEventProvider", function() {
      return T.AutoDisposeStreamProvider$(new Q.hotRestartEventProvider_closure(), null, type$.void);
    });
    _lazyOld($, "rawInstanceProvider", "$get$rawInstanceProvider", function() {
      return F.AutoDisposeFutureProviderFamily$(new Q.rawInstanceProvider_closure(), null, type$.legacy_InstanceDetails, type$.legacy_InstancePath);
    });
    _lazyOld($, "instanceProvider", "$get$instanceProvider", function() {
      return F.familyAsyncDebounce($.$get$rawInstanceProvider(), type$.legacy_AsyncValue_legacy_InstanceDetails, type$.legacy_InstancePath);
    });
    _lazyOld($, "_packageNameExp", "$get$_packageNameExp", function() {
      return P.RegExp_RegExp("package:(.+?)/", true, false);
    });
    _lazyOld($, "_providerChanged", "$get$_providerChanged", function() {
      return new T.AutoDisposeStreamProviderFamily(new Q._providerChanged_closure(), null, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, H.findType("AutoDisposeStreamProvider<~>")), H.findType("AutoDisposeStreamProviderFamily<~,String*>"));
    });
    _lazyOld($, "isExpandedProvider", "$get$isExpandedProvider", function() {
      return F.StateProviderFamily$(new K.isExpandedProvider_closure(), type$.legacy_bool, type$.legacy_InstancePath);
    });
    _lazyOld($, "estimatedChildCountProvider", "$get$estimatedChildCountProvider", function() {
      return new Y.AutoDisposeProviderFamily(new K.estimatedChildCountProvider_closure(), null, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_InstancePath, H.findType("AutoDisposeProvider<int*>")), H.findType("AutoDisposeProviderFamily<int*,InstancePath*>"));
    });
    _lazyOld($, "selectedProviderIdProvider", "$get$selectedProviderIdProvider", function() {
      return O.AutoDisposeStateNotifierProvider$(new Z.selectedProviderIdProvider_closure(), "selectedProviderIdProvider", type$.legacy_StateController_legacy_String, type$.legacy_String);
    });
    _lazyOld($, "_providerListChanged", "$get$_providerListChanged", function() {
      return T.AutoDisposeStreamProvider$(new A._providerListChanged_closure(), null, type$.void);
    });
    _lazyOld($, "_rawProviderIdsProvider", "$get$_rawProviderIdsProvider", function() {
      return F.AutoDisposeFutureProvider$(new A._rawProviderIdsProvider_closure(), "_rawProviderIdsProvider", type$.legacy_List_legacy_String);
    });
    _lazyOld($, "_rawProviderNodeProvider", "$get$_rawProviderNodeProvider", function() {
      return F.AutoDisposeFutureProviderFamily$(new A._rawProviderNodeProvider_closure(), "_rawProviderNodeProvider", type$.legacy_ProviderNode, type$.legacy_String);
    });
    _lazyOld($, "rawSortedProviderNodesProvider", "$get$rawSortedProviderNodesProvider", function() {
      return F.AutoDisposeFutureProvider$(new A.rawSortedProviderNodesProvider_closure(), null, type$.legacy_List_legacy_ProviderNode);
    });
    _lazyOld($, "sortedProviderNodesProvider", "$get$sortedProviderNodesProvider", function() {
      return F.asyncDebounce($.$get$rawSortedProviderNodesProvider(), type$.legacy_AsyncValue_legacy_List_legacy_ProviderNode);
    });
    _lazyOld($, "_hasErrorProvider", "$get$_hasErrorProvider", function() {
      return C.C_AutoDisposeProviderBuilder.call$1$1(new Z._hasErrorProvider_closure(), type$.legacy_bool);
    });
    _lazyOld($, "_selectedProviderNode", "$get$_selectedProviderNode", function() {
      return Y.AutoDisposeProvider$(new Z._selectedProviderNode_closure(), null, type$.legacy_ProviderNode);
    });
    _lazyOld($, "_showInternals", "$get$_showInternals", function() {
      return F.StateProvider$(new Z._showInternals_closure(), null, type$.legacy_bool);
    });
    _lazyOld($, "DevToolsScaffold_appPadding", "$get$DevToolsScaffold_appPadding", function() {
      return B.isEmbedded() ? C.EdgeInsets_2_2_2_1 : C.EdgeInsets_16_16_16_8;
    });
    _lazyOld($, "debugAllowBanner", "$get$debugAllowBanner", function() {
      return E.ToggleableServiceExtensionDescription$_("Debug Banner", "Show Debug Banner", false, "Hide Debug Banner", true, "ext.flutter.debugAllowBanner", "debugBanner", "inspector", S.createImageIcon("icons/debug_banner@2x.png", 16), false, type$.legacy_bool);
    });
    _lazyOld($, "invertOversizedImages", "$get$invertOversizedImages", function() {
      return E.ToggleableServiceExtensionDescription$_("Invert Oversized Images", "Enable Invert Oversized Images", false, "Disable Invert Oversized Images", true, "ext.flutter.invertOversizedImages", "debugBanner", "inspector", C.Icon_oyJ, false, type$.legacy_bool);
    });
    _lazyOld($, "debugPaint", "$get$debugPaint", function() {
      return E.ToggleableServiceExtensionDescription$_("Debug Paint", "Show Debug Paint", false, "Hide Debug Paint", true, "ext.flutter.debugPaint", "debugPaint", "inspector", S.createImageIcon("icons/debug_paint@2x.png", 16), false, type$.legacy_bool);
    });
    _lazyOld($, "debugPaintBaselines", "$get$debugPaintBaselines", function() {
      return E.ToggleableServiceExtensionDescription$_("Paint Baselines", "Show Paint Baselines", false, "Hide Paint Baselines", true, "ext.flutter.debugPaintBaselinesEnabled", "paintBaseline", "inspector", S.createImageIcon("icons/inspector/textArea@2x.png", 16), false, type$.legacy_bool);
    });
    _lazyOld($, "performanceOverlay", "$get$performanceOverlay", function() {
      return E.ToggleableServiceExtensionDescription$_("Performance Overlay", "Show Performance Overlay", false, "Hide Performance Overlay", true, "ext.flutter.showPerformanceOverlay", "performanceOverlay", "inspector", S.createImageIcon("icons/general/performance_overlay@2x.png", 16), false, type$.legacy_bool);
    });
    _lazyOld($, "profileWidgetBuilds", "$get$profileWidgetBuilds", function() {
      return E.ToggleableServiceExtensionDescription$_("Track Widget Builds", "Enable tracking widget builds", false, "Disable tracking widget builds", true, "ext.flutter.profileWidgetBuilds", "trackRebuilds", "performance", S.createImageIcon("icons/widget_tree@2x.png", 16), false, type$.legacy_bool);
    });
    _lazyOld($, "repaintRainbow", "$get$repaintRainbow", function() {
      return E.ToggleableServiceExtensionDescription$_("Repaint Rainbow", "Show Repaint Rainbow", false, "Hide Repaint Rainbow", true, "ext.flutter.repaintRainbow", "repaintRainbow", "inspector", S.createImageIcon("icons/repaint_rainbow@2x.png", 16), false, type$.legacy_bool);
    });
    _lazyOld($, "slowAnimations", "$get$slowAnimations", function() {
      return E.ToggleableServiceExtensionDescription$_("Slow Animations", "Enable Slow Animations", 1, "Disable Slow Animations", 5, "ext.flutter.timeDilation", "slowAnimation", "inspector", S.createImageIcon("icons/history@2x.png", 16), false, H.findType("num*"));
    });
    _lazyOld($, "togglePlatformMode", "$get$togglePlatformMode", function() {
      var t1 = S.createImageIcon("icons/phone@2x.png", 16),
        t2 = type$.JSArray_legacy_String,
        t3 = H._setArrayType(["iOS", "android", "fuchsia", "macOS", "linux"], t2);
      return E.ServiceExtensionDescription$("Override target platform", H._setArrayType(["Platform: iOS", "Platform: Android", "Platform: Fuchsia", "Platform: MacOS", "Platform: Linux"], t2), "ext.flutter.platformOverride", "togglePlatform", "inspector", t1, false, H._setArrayType(["Override Target Platform"], t2), t3, type$.legacy_String);
    });
    _lazyOld($, "httpEnableTimelineLogging", "$get$httpEnableTimelineLogging", function() {
      return E.ToggleableServiceExtensionDescription$_("Whether HTTP timeline logging is enabled", "HTTP timeline logging disabled", false, "HTTP timeline logging enabled", true, "ext.dart.io.httpEnableTimelineLogging", null, null, null, true, type$.legacy_bool);
    });
    _lazyOld($, "socketProfiling", "$get$socketProfiling", function() {
      return E.ToggleableServiceExtensionDescription$_("Whether socket profiling is enabled", "Socket profiling disabled", false, "Socket profiling enabled", true, "ext.dart.io.socketProfilingEnabled", null, null, null, true, type$.legacy_bool);
    });
    _lazyOld($, "toggleOnDeviceWidgetInspector", "$get$toggleOnDeviceWidgetInspector", function() {
      return E.ToggleableServiceExtensionDescription$_("Select Widget Mode", "Enable select widget mode", false, "Disable select widget mode", true, "ext.flutter.inspector.show", "showInspector", "inspector", S.createImageIcon("icons/general/locate@2x.png", 16), false, type$.legacy_bool);
    });
    _lazyOld($, "toggleSelectWidgetMode", "$get$toggleSelectWidgetMode", function() {
      return E.ToggleableServiceExtensionDescription$_("Select widget mode", "Enter select widget mode", false, "Exit select widget mode", true, "ext.flutter.inspector.selectMode", "selectWidgetMode", "inspector", S.createImageIcon("icons/general/locate@2x.png", 16), false, type$.legacy_bool);
    });
    _lazyOld($, "enableOnDeviceInspector", "$get$enableOnDeviceInspector", function() {
      return E.ToggleableServiceExtensionDescription$_("Enable on-device inspector", "Enter on-device inspector", false, "Exit on-device inspector", true, "ext.flutter.inspector.enable", "enableOnDeviceInspector", "inspector", S.createImageIcon("icons/general/locate@2x.png", 16), false, type$.legacy_bool);
    });
    _lazyOld($, "structuredErrors", "$get$structuredErrors", function() {
      return E.ToggleableServiceExtensionDescription$_("Show structured errors", "Show structured errors for Flutter framework issues", false, "Disable structured errors for Flutter framework issues", true, "ext.flutter.inspector.structuredErrors", "structuredErrors", "logging", S.createImageIcon("icons/perf/RedExcl@2x.png", 16), false, type$.legacy_bool);
    });
    _lazyOld($, "_extensionDescriptions", "$get$_extensionDescriptions", function() {
      return H._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()], H.findType("JSArray<ServiceExtensionDescription<@>*>"));
    });
    _lazyOld($, "serviceExtensionsAllowlist", "$get$serviceExtensionsAllowlist", function() {
      return P.LinkedHashMap_LinkedHashMap$fromIterable($.$get$_extensionDescriptions(), new E.serviceExtensionsAllowlist_closure(), new E.serviceExtensionsAllowlist_closure0(), type$.legacy_String, H.findType("ServiceExtensionDescription<@>*"));
    });
    _lazyOld($, "_unsafeBeforeFirstFrameFlutterExtensions", "$get$_unsafeBeforeFirstFrameFlutterExtensions", function() {
      return C.JSArray_methods.map$1$1(H._setArrayType([$.$get$debugPaint(), $.$get$debugPaintBaselines(), $.$get$repaintRainbow(), $.$get$performanceOverlay(), $.$get$debugAllowBanner(), $.$get$toggleOnDeviceWidgetInspector(), $.$get$toggleSelectWidgetMode(), $.$get$enableOnDeviceInspector(), $.$get$togglePlatformMode(), $.$get$slowAnimations()], H.findType("JSArray<ServiceExtensionDescription<@>*>")), new E._unsafeBeforeFirstFrameFlutterExtensions_closure(), type$.legacy_String).toSet$0(0);
    });
    _lazyOld($, "hotReload", "$get$hotReload", function() {
      return new F.RegisteredServiceDescription("reloadSources", S.createImageIcon("icons/hot-reload-white@2x.png", 20));
    });
    _lazyOld($, "SurveyService__metadataUrl", "$get$SurveyService__metadataUrl", function() {
      return P._Uri__makeHttpUri("https", "flutter.dev", "/f/dart-devtools-survey-metadata.json", null);
    });
    _lazyOld($, "searchFocusBorderColor", "$get$searchFocusBorderColor", function() {
      return Y.BorderSide$(C.MaterialColor_Map_JNwaj_4280391411, C.BorderStyle_1, 2);
    });
    _lazyOld($, "_devToolsTitle", "$get$_devToolsTitle", function() {
      return B.ValueNotifier$("", type$.legacy_String);
    });
    _lazyOld($, "searchMatchColorOpaque", "$get$searchMatchColorOpaque", function() {
      return C.MaterialColor_Map_JNHRl_4294961979.withOpacity$1(0.5);
    });
    _lazyOld($, "activeSearchMatchColorOpaque", "$get$activeSearchMatchColorOpaque", function() {
      return C.MaterialAccentColor_Map_iTsEs_4294945600.withOpacity$1(0.5);
    });
    _lazyOld($, "IconKind_classIcon", "$get$IconKind_classIcon", function() {
      return S.IconKind$("class", S.createImageIcon("icons/custom/class.png", 16), S.createImageIcon("icons/custom/class_abstract.png", 16));
    });
    _lazyOld($, "IconKind_method", "$get$IconKind_method", function() {
      return S.IconKind$("method", S.createImageIcon("icons/custom/method.png", 16), S.createImageIcon("icons/custom/method_abstract.png", 16));
    });
    _lazyOld($, "IconKind_info", "$get$IconKind_info", function() {
      return S.IconKind$("info", S.createImageIcon("icons/custom/info.png", 16), null);
    });
    _lazyOld($, "searchAutoCompleteKey", "$get$searchAutoCompleteKey", function() {
      return N.GlobalKey_GlobalKey("SearchAutoComplete", type$.legacy_State_legacy_StatefulWidget);
    });
    _lazyOld($, "maxJsInt", "$get$maxJsInt", function() {
      return H._asIntS(P.pow(2, 52));
    });
    _lazyOld($, "nf", "$get$nf", function() {
      return S.NumberFormat_NumberFormat$decimalPattern();
    });
    _lazyOld($, "_CpuProfileTimelineTree__timelineTreeExpando", "$get$_CpuProfileTimelineTree__timelineTreeExpando", function() {
      return P.Expando$(H.findType("_CpuProfileTimelineTree*"));
    });
    _lazyFinal($, "FileSelectorPlatform__token", "$get$FileSelectorPlatform__token", function() {
      return new P.Object();
    });
    _lazy($, "FileSelectorPlatform__instance", "$get$FileSelectorPlatform__instance", function() {
      return new O.MethodChannelFileSelector($.$get$FileSelectorPlatform__token());
    });
    _lazyFinal($, "_kFlingSpringDescription", "$get$_kFlingSpringDescription", function() {
      return M.SpringDescription$withDampingRatio(1, 1, 500);
    });
    _lazyFinal($, "cupertinoDesktopTextSelectionControls", "$get$cupertinoDesktopTextSelectionControls", function() {
      return new L._CupertinoDesktopTextSelectionControls();
    });
    _lazyFinal($, "cupertinoTextSelectionControls", "$get$cupertinoTextSelectionControls", function() {
      return new F.CupertinoTextSelectionControls();
    });
    _lazyFinal($, "_testPlatform", "$get$_testPlatform", function() {
      return new U._testPlatform_closure().call$0();
    });
    _lazyFinal($, "_browserPlatform", "$get$_browserPlatform", function() {
      return new U._browserPlatform_closure().call$0();
    });
    _lazy($, "FlutterError_onError", "$get$FlutterError_onError", function() {
      return $.FlutterError_presentError;
    });
    _lazyFinal($, "sparseTextConfiguration", "$get$sparseTextConfiguration", function() {
      return Y.TextTreeConfiguration$(true, "", ":", "", "", "", "", "", true, false, "\n", true, "\u2502", "", "\u2514\u2500", "\u251c\u2500", " ", " ", "\u2502 ", "  ", "", true, "");
    });
    _lazyFinal($, "dashedTextConfiguration", "$get$dashedTextConfiguration", function() {
      return Y.TextTreeConfiguration$(true, "", ":", "", "", "", "", "", true, false, "\n", true, "\u254e", "", "\u2514\u254c", "\u254e\u254c", " ", " ", "\u2502 ", "  ", "", true, "");
    });
    _lazyFinal($, "denseTextConfiguration", "$get$denseTextConfiguration", function() {
      return Y.TextTreeConfiguration$(false, "", ":", ")", "", "(", "", "", false, false, "\n", false, "\u2502", "", "\u2514", "\u251c", "", "", "\u2502", " ", ", ", true, "");
    });
    _lazyFinal($, "transitionTextConfiguration", "$get$transitionTextConfiguration", function() {
      return Y.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", function() {
      return Y.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", function() {
      return Y.TextTreeConfiguration$(false, ":", ":", "", "", "", "", "", false, false, "\n", true, " ", "", "", "", " ", "  ", "", "", "", true, "");
    });
    _lazyFinal($, "flatTextConfiguration", "$get$flatTextConfiguration", function() {
      return Y.TextTreeConfiguration$(false, ":", ":", "", "", "", "", "", false, false, "\n", true, "", "", "", "", "", "", "", "", "", true, "");
    });
    _lazyFinal($, "singleLineTextConfiguration", "$get$singleLineTextConfiguration", function() {
      return Y.TextTreeConfiguration$(false, "", ":", ")", "", "(", "", "", true, false, "", false, "", "", "", "", "", "", "  ", "  ", ", ", false, "");
    });
    _lazyFinal($, "errorPropertyTextConfiguration", "$get$errorPropertyTextConfiguration", function() {
      return Y.TextTreeConfiguration$(false, "", ":", ")", "", "(", "", "", true, true, "\n", false, "", "", "", "", "", "", "  ", "  ", ", ", false, "");
    });
    _lazyFinal($, "shallowTextConfiguration", "$get$shallowTextConfiguration", function() {
      return Y.TextTreeConfiguration$(false, ":", ":", "", "", "", "", "", false, false, "\n", true, " ", "", "", "", " ", "  ", "", "", "", false, "");
    });
    _lazyFinal($, "_debugPrintBuffer", "$get$_debugPrintBuffer", function() {
      return P.ListQueue$(null, type$.String);
    });
    _lazyFinal($, "_debugPrintStopwatch", "$get$_debugPrintStopwatch", function() {
      return P.Stopwatch$();
    });
    _lazyFinal($, "WriteBuffer__zeroBuffer", "$get$WriteBuffer__zeroBuffer", function() {
      return H.NativeUint8List_NativeUint8List$fromList(H._setArrayType([0, 0, 0, 0, 0, 0, 0, 0], type$.JSArray_int));
    });
    _lazyFinal($, "StackFrame__webNonDebugFramePattern", "$get$StackFrame__webNonDebugFramePattern", function() {
      return P.RegExp_RegExp("^\\s*at ([^\\s]+).*$", true, false);
    });
    _lazyFinal($, "DataTable__headingRowKey", "$get$DataTable__headingRowKey", function() {
      return N.UniqueKey$();
    });
    _lazyFinal($, "desktopTextSelectionControls", "$get$desktopTextSelectionControls", function() {
      return new L._DesktopTextSelectionControls();
    });
    _lazyFinal($, "_ExpansionTileState__easeOutTween", "$get$_ExpansionTileState__easeOutTween", function() {
      return R.CurveTween$(C.Cubic_xDo0);
    });
    _lazyFinal($, "_ExpansionTileState__easeInTween", "$get$_ExpansionTileState__easeInTween", function() {
      return R.CurveTween$(C.Cubic_JUR0);
    });
    _lazyFinal($, "_ExpansionTileState__halfTween", "$get$_ExpansionTileState__halfTween", function() {
      return R.Tween$(0, 0.5, type$.double);
    });
    _lazyFinal($, "_ScalingFabMotionAnimator__rotationTween", "$get$_ScalingFabMotionAnimator__rotationTween", function() {
      return R.Tween$(0.75, 1, type$.double);
    });
    _lazyFinal($, "_ScalingFabMotionAnimator__thresholdCenterTween", "$get$_ScalingFabMotionAnimator__thresholdCenterTween", function() {
      return R.CurveTween$(C.Threshold_znv);
    });
    _lazyFinal($, "InkRipple__easeCurveTween", "$get$InkRipple__easeCurveTween", function() {
      return R.CurveTween$(C.Cubic_JUR);
    });
    _lazyFinal($, "InkRipple__fadeOutIntervalTween", "$get$InkRipple__fadeOutIntervalTween", function() {
      return R.CurveTween$(C.Interval_75R);
    });
    _lazyFinal($, "kMaterialEdges", "$get$kMaterialEdges", function() {
      return P.LinkedHashMap_LinkedHashMap$_literal([C.MaterialType_0, null, C.MaterialType_1, K.BorderRadius$circular(2), C.MaterialType_2, null, C.MaterialType_3, K.BorderRadius$circular(2), C.MaterialType_4, null], H.findType("MaterialType"), type$.nullable_BorderRadius);
    });
    _lazyFinal($, "_CircularProgressIndicatorState__strokeHeadTween", "$get$_CircularProgressIndicatorState__strokeHeadTween", function() {
      return R.CurveTween$(C.Interval_oqF0).chain$1(R.CurveTween$(C.SawTooth_2222));
    });
    _lazyFinal($, "_CircularProgressIndicatorState__strokeTailTween", "$get$_CircularProgressIndicatorState__strokeTailTween", function() {
      return R.CurveTween$(C.Interval_oqF).chain$1(R.CurveTween$(C.SawTooth_2222));
    });
    _lazyFinal($, "_CircularProgressIndicatorState__offsetTween", "$get$_CircularProgressIndicatorState__offsetTween", function() {
      return R.CurveTween$(C.SawTooth_2222);
    });
    _lazyFinal($, "_CircularProgressIndicatorState__rotationTween", "$get$_CircularProgressIndicatorState__rotationTween", function() {
      return R.CurveTween$(C.SawTooth_1333);
    });
    _lazyFinal($, "_FloatingActionButtonTransitionState__entranceTurnTween", "$get$_FloatingActionButtonTransitionState__entranceTurnTween", function() {
      return R.Tween$(0.875, 1, type$.double).chain$1(R.CurveTween$(C.Cubic_JUR0));
    });
    _lazyFinal($, "materialTextSelectionControls", "$get$materialTextSelectionControls", function() {
      return new F.MaterialTextSelectionControls();
    });
    _lazyFinal($, "Theme__kFallbackTheme", "$get$Theme__kFallbackTheme", function() {
      return X.ThemeData_ThemeData$fallback();
    });
    _lazyFinal($, "ThemeData__localizedThemeDataCache", "$get$ThemeData__localizedThemeDataCache", function() {
      return new X._FifoCache(P.LinkedHashMap_LinkedHashMap$_empty(H.findType("_IdentityThemeDataCacheKey"), type$.ThemeData), 5, H.findType("_FifoCache<_IdentityThemeDataCacheKey,ThemeData>"));
    });
    _lazyFinal($, "AssetImage__extractRatioRegExp", "$get$AssetImage__extractRatioRegExp", function() {
      return P.RegExp_RegExp("/?(\\d+(\\.\\d*)?)x$", true, false);
    });
    _lazyFinal($, "MatrixUtils__minMax", "$get$MatrixUtils__minMax", function() {
      return H.NativeFloat64List_NativeFloat64List(4);
    });
    _lazy($, "RenderErrorBox_backgroundColor", "$get$RenderErrorBox_backgroundColor", function() {
      return C.Color_4039164096;
    });
    _lazy($, "RenderErrorBox_textStyle", "$get$RenderErrorBox_textStyle", function() {
      var _null = null;
      return P.TextStyle_TextStyle(_null, C.Color_4281348144, _null, _null, _null, _null, "sans-serif", _null, _null, 18, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    });
    _lazy($, "RenderErrorBox_paragraphStyle", "$get$RenderErrorBox_paragraphStyle", function() {
      var _null = null;
      return P.ParagraphStyle_ParagraphStyle(_null, _null, _null, _null, _null, _null, _null, _null, _null, C.TextAlign_0, C.TextDirection_1, _null);
    });
    _lazyFinal($, "_SemanticsGeometry__temporaryTransformHolder", "$get$_SemanticsGeometry__temporaryTransformHolder", function() {
      return E.Matrix4$zero();
    });
    _lazyFinal($, "SemanticsNode__kEmptyConfig", "$get$SemanticsNode__kEmptyConfig", function() {
      return A.SemanticsConfiguration$();
    });
    _lazyFinal($, "SemanticsNode__kEmptyChildList", "$get$SemanticsNode__kEmptyChildList", function() {
      return H.NativeInt32List_NativeInt32List(0);
    });
    _lazyFinal($, "SemanticsNode__kEmptyCustomSemanticsActionsList", "$get$SemanticsNode__kEmptyCustomSemanticsActionsList", function() {
      return H.NativeInt32List_NativeInt32List(0);
    });
    _lazyFinal($, "SemanticsNode__kIdentityTransform", "$get$SemanticsNode__kIdentityTransform", function() {
      return E.Matrix4_Matrix4$identity()._m4storage;
    });
    _lazyFinal($, "rootBundle", "$get$rootBundle", function() {
      var t1 = type$.String;
      return new Q.PlatformAssetBundle(P.LinkedHashMap_LinkedHashMap$_empty(t1, H.findType("Future<String>")), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Future_dynamic));
    });
    _lazyFinal($, "RawKeyboard_instance", "$get$RawKeyboard_instance", function() {
      var t1 = type$.PhysicalKeyboardKey;
      t1 = new B.RawKeyboard(H._setArrayType([], H.findType("JSArray<~(RawKeyEvent)>")), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.LogicalKeyboardKey), P.LinkedHashSet_LinkedHashSet$_empty(t1));
      C.BasicMessageChannel_Cfi.setMessageHandler$1(t1.get$_handleKeyEvent());
      return t1;
    });
    _lazyFinal($, "RawKeyboard__allModifiers", "$get$RawKeyboard__allModifiers", function() {
      var t2, t3,
        t1 = P.LinkedHashMap_LinkedHashMap$_empty(type$.PhysicalKeyboardKey, type$.LogicalKeyboardKey);
      t1.$indexSet(0, C.PhysicalKeyboardKey_18, C.LogicalKeyboardKey_68719476998);
      for (t2 = $.RawKeyboard__allModifiersExceptFn.get$entries($.RawKeyboard__allModifiersExceptFn), 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", function() {
      return new B.FilteringTextInputFormatter("\n", false);
    });
    _lazyFinal($, "FilteringTextInputFormatter_digitsOnly", "$get$FilteringTextInputFormatter_digitsOnly", function() {
      return new B.FilteringTextInputFormatter(P.RegExp_RegExp("[0-9]", true, false), true);
    });
    _lazyFinal($, "TextInput__instance", "$get$TextInput__instance", function() {
      var t1 = new N.TextInput();
      t1.__TextInput__channel = C.OptionalMethodChannel_PLF;
      t1.get$_channel().setMethodCallHandler$1(t1.get$_handleTextInputInvocation());
      return t1;
    });
    _lazy($, "WidgetsApp_defaultActions", "$get$WidgetsApp_defaultActions", function() {
      var t1 = H.findType("~(Action<Intent>)");
      return P.LinkedHashMap_LinkedHashMap$_literal([C.Type_DoNothingIntent_IQR, U.DoNothingAction$(true), C.Type_s8I, U.DoNothingAction$(false), C.Type_RequestFocusIntent_OPB, new U.RequestFocusAction(R.ObserverList$(t1)), C.Type_NextFocusIntent_6xB, new U.NextFocusAction(R.ObserverList$(t1)), C.Type_PreviousFocusIntent_wsa, new U.PreviousFocusAction(R.ObserverList$(t1)), C.Type_DirectionalFocusIntent_evN, new U.DirectionalFocusAction(R.ObserverList$(t1)), C.Type_ScrollIntent_mpH, new F.ScrollAction(R.ObserverList$(t1)), C.Type_PrioritizedIntents_fLu, new U.PrioritizedAction(R.ObserverList$(t1))], type$.Type, type$.Action_Intent);
    });
    _lazyFinal($, "DefaultTextEditingActions__shortcutsActions", "$get$DefaultTextEditingActions__shortcutsActions", function() {
      var t1 = H.findType("~(Action<Intent>)");
      return P.LinkedHashMap_LinkedHashMap$_literal([C.Type_muk, new E._DoNothingAndStopPropagationTextAction(R.ObserverList$(t1)), C.Type_DeleteTextIntent_riE, new E._DeleteTextAction(R.ObserverList$(t1)), C.Type_DeleteByWordTextIntent_4yx, new E._DeleteByWordTextAction(R.ObserverList$(t1)), C.Type_DeleteByLineTextIntent_YbU, new E._DeleteByLineTextAction(R.ObserverList$(t1)), C.Type_DeleteForwardTextIntent_4i6, new E._DeleteForwardTextAction(R.ObserverList$(t1)), C.Type_cKo, new E._DeleteForwardByWordTextAction(R.ObserverList$(t1)), C.Type_2eZ, new E._DeleteForwardByLineTextAction(R.ObserverList$(t1)), C.Type_8LH, new E._ExtendSelectionDownTextAction(R.ObserverList$(t1)), C.Type_gO9, new E._ExtendSelectionLeftByLineTextAction(R.ObserverList$(t1)), C.Type_gO90, new E._ExtendSelectionLeftByWordTextAction(R.ObserverList$(t1)), C.Type_NT8, new E._ExtendSelectionLeftByWordAndStopAtReversalTextAction(R.ObserverList$(t1)), C.Type_KeE, new E._ExtendSelectionLeftTextAction(R.ObserverList$(t1)), C.Type_unm, new E._ExtendSelectionRightByWordAndStopAtReversalTextAction(R.ObserverList$(t1)), C.Type_9Ii, new E._ExtendSelectionRightByWordTextAction(R.ObserverList$(t1)), C.Type_9Ii0, new E._ExtendSelectionRightByLineTextAction(R.ObserverList$(t1)), C.Type_uFQ, new E._ExtendSelectionRightTextAction(R.ObserverList$(t1)), C.Type_ExtendSelectionUpTextIntent_Bju, new E._ExtendSelectionUpTextAction(R.ObserverList$(t1)), C.Type_0, new E._ExpandSelectionLeftByLineTextAction(R.ObserverList$(t1)), C.Type_8aB, new E._ExpandSelectionRightByLineTextAction(R.ObserverList$(t1)), C.Type_weg, new E._ExpandSelectionToEndTextAction(R.ObserverList$(t1)), C.Type_oyU, new E._ExpandSelectionToStartTextAction(R.ObserverList$(t1)), C.Type_MoveSelectionDownTextIntent_yqF, new E._MoveSelectionDownTextAction(R.ObserverList$(t1)), C.Type_2Iq, new E._MoveSelectionLeftByLineTextAction(R.ObserverList$(t1)), C.Type_2Iq0, new E._MoveSelectionLeftByWordTextAction(R.ObserverList$(t1)), C.Type_MoveSelectionLeftTextIntent_uf2, new E._MoveSelectionLeftTextAction(R.ObserverList$(t1)), C.Type_Bzp, new E._MoveSelectionRightByLineTextAction(R.ObserverList$(t1)), C.Type_Bzp0, new E._MoveSelectionRightByWordTextAction(R.ObserverList$(t1)), C.Type_MoveSelectionRightTextIntent_kUZ, new E._MoveSelectionRightTextAction(R.ObserverList$(t1)), C.Type_MoveSelectionToEndTextIntent_c4I, new E._MoveSelectionToEndTextAction(R.ObserverList$(t1)), C.Type_IYE, new E._MoveSelectionToStartTextAction(R.ObserverList$(t1)), C.Type_MoveSelectionUpTextIntent_kSJ, new E._MoveSelectionUpTextAction(R.ObserverList$(t1))], type$.Type, type$.Action_Intent);
    });
    _lazy($, "_NullElement_instance", "$get$_NullElement_instance", function() {
      var t1 = ($.Element__nextHashCode + 1) % 16777215;
      $.Element__nextHashCode = t1;
      return new N._NullElement(t1, new N._NullWidget(null), C._ElementLifecycle_0, P.HashSet_HashSet(type$.Element_2));
    });
    _lazyFinal($, "_HeroFlight__reverseTween", "$get$_HeroFlight__reverseTween", function() {
      return R.Tween$(1, 0, type$.double);
    });
    _lazy($, "_RouteEntry_notAnnounced", "$get$_RouteEntry_notAnnounced", function() {
      var t1 = B.ValueNotifier$(null, type$.nullable_String),
        t2 = P.Completer_Completer(type$.void);
      return new K._NotAnnounced(C.RouteSettings_null_null, t1, t2);
    });
    _lazyFinal($, "_GlowController__crossAxisHalfTime", "$get$_GlowController__crossAxisHalfTime", function() {
      return P.Duration$(16667, 0);
    });
    _lazyFinal($, "_defaultPageController", "$get$_defaultPageController", function() {
      return D.PageController$(0);
    });
    _lazyFinal($, "_RouterState__never", "$get$_RouterState__never", function() {
      return P.Completer_Completer(type$.dynamic).future;
    });
    _lazyFinal($, "ScrollPhysics__kDefaultSpring", "$get$ScrollPhysics__kDefaultSpring", function() {
      return M.SpringDescription$withDampingRatio(0.5, 1.1, 100);
    });
    _lazyFinal($, "ScrollPhysics__kDefaultTolerance", "$get$ScrollPhysics__kDefaultTolerance", function() {
      var t1, t2;
      $.WidgetsBinding__instance.toString;
      t1 = $.$get$window();
      t2 = t1.get$devicePixelRatio(t1);
      $.WidgetsBinding__instance.toString;
      return new N.Tolerance(1 / t1.get$devicePixelRatio(t1), 1 / (0.05 * t2));
    });
    _lazyFinal($, "ClampingScrollSimulation__kDecelerationRate", "$get$ClampingScrollSimulation__kDecelerationRate", function() {
      return P.log0(0.78) / P.log0(0.9);
    });
    _lazyFinal($, "webPluginRegistrar", "$get$webPluginRegistrar", function() {
      return new D.PluginRegistry(P.LinkedHashMap_LinkedHashMap$_empty(type$.String, H.findType("Future<ByteData?>?(ByteData?)")));
    });
    _lazyFinal($, "BaseRequest__tokenRE", "$get$BaseRequest__tokenRE", function() {
      return P.RegExp_RegExp("^[\\w!#%&'*+\\-.^`|~]+$", true, false);
    });
    _lazyFinal($, "_escapedChar", "$get$_escapedChar", function() {
      return P.RegExp_RegExp('["\\x00-\\x1F\\x7F]', true, false);
    });
    _lazyFinal($, "token", "$get$token", function() {
      return P.RegExp_RegExp('[^()<>@,;:"\\\\/[\\]?={} \\t\\x00-\\x1F\\x7F]+', true, false);
    });
    _lazyFinal($, "_lws", "$get$_lws", function() {
      return P.RegExp_RegExp("(?:\\r\\n)?[ \\t]+", true, false);
    });
    _lazyFinal($, "_quotedString", "$get$_quotedString", function() {
      return P.RegExp_RegExp('"(?:[^"\\x00-\\x1F\\x7F]|\\\\.)*"', true, false);
    });
    _lazyFinal($, "_quotedPair", "$get$_quotedPair", function() {
      return P.RegExp_RegExp("\\\\(.)", true, false);
    });
    _lazyFinal($, "nonToken", "$get$nonToken", function() {
      return P.RegExp_RegExp('[()<>@,;:"\\\\/\\[\\]?={} \\t\\x00-\\x1F\\x7F]', true, false);
    });
    _lazyFinal($, "whitespace", "$get$whitespace", function() {
      return P.RegExp_RegExp("(?:" + H.S($.$get$_lws().pattern) + ")*", true, false);
    });
    _lazy($, "VP8Filter_abs0", "$get$VP8Filter_abs0", function() {
      return H.NativeUint8List_NativeUint8List(511);
    });
    _lazy($, "VP8Filter_abs1", "$get$VP8Filter_abs1", function() {
      return H.NativeUint8List_NativeUint8List(511);
    });
    _lazy($, "VP8Filter_sclip1", "$get$VP8Filter_sclip1", function() {
      return H.NativeInt8List_NativeInt8List(2041);
    });
    _lazy($, "VP8Filter_sclip2", "$get$VP8Filter_sclip2", function() {
      return H.NativeInt8List_NativeInt8List(225);
    });
    _lazy($, "VP8Filter_clip1", "$get$VP8Filter_clip1", function() {
      return H.NativeUint8List_NativeUint8List(766);
    });
    _lazyFinal($, "__uint8", "$get$__uint8", function() {
      return H.NativeUint8List_NativeUint8List(1);
    });
    _lazyFinal($, "__uint8ToInt8", "$get$__uint8ToInt8", function() {
      return P.Int8List_Int8List$view($.$get$__uint8().buffer);
    });
    _lazyFinal($, "__uint16", "$get$__uint16", function() {
      return H.NativeUint16List_NativeUint16List(1);
    });
    _lazyFinal($, "__uint16ToInt16", "$get$__uint16ToInt16", function() {
      return P.Int16List_Int16List$view($.$get$__uint16().buffer);
    });
    _lazyFinal($, "__uint32", "$get$__uint32", function() {
      return H.NativeUint32List_NativeUint32List(1);
    });
    _lazyFinal($, "__uint32ToInt32", "$get$__uint32ToInt32", function() {
      return P.Int32List_Int32List$view($.$get$__uint32().buffer);
    });
    _lazyFinal($, "__uint32ToFloat32", "$get$__uint32ToFloat32", function() {
      return P.Float32List_Float32List$view($.$get$__uint32().buffer);
    });
    _lazyFinal($, "__int32", "$get$__int32", function() {
      return H.NativeInt32List_NativeInt32List(1);
    });
    _lazyFinal($, "__int32ToUint32", "$get$__int32ToUint32", function() {
      return P.Uint32List_Uint32List$view($.$get$__int32().buffer, 0);
    });
    _lazyFinal($, "__float32", "$get$__float32", function() {
      return H.NativeFloat32List_NativeFloat32List(1);
    });
    _lazyFinal($, "__float32ToUint32", "$get$__float32ToUint32", function() {
      return P.Uint32List_Uint32List$view($.$get$__float32().buffer, 0);
    });
    _lazyFinal($, "__uint64", "$get$__uint64", function() {
      return P.Uint64List_Uint64List(1);
    });
    _lazyFinal($, "__uint64ToFloat64", "$get$__uint64ToFloat64", function() {
      var t1 = $.$get$__uint64();
      return P.Float64List_Float64List$view(t1.get$buffer(t1));
    });
    _lazy($, "en_USSymbols", "$get$en_USSymbols", function() {
      return new B.DateSymbols("en_US", C.List_BC_AD, C.List_6xs, C.List_qpm, C.List_qpm, C.List_cIc, C.List_cIc, C.List_h8w, C.List_h8w, C.List_wMy, C.List_wMy, C.List_gc6, C.List_gc6, C.List_3US, C.List_Q1_Q2_Q3_Q4, C.List_bJM, C.List_AM_PM);
    });
    _lazy($, "numberFormatSymbols", "$get$numberFormatSymbols", function() {
      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 P.LinkedHashMap_LinkedHashMap$_literal(["af", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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", B.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, H.findType("NumberSymbols"));
    });
    _lazy($, "compactNumberSymbols", "$get$compactNumberSymbols", function() {
      return P.LinkedHashMap_LinkedHashMap$_literal(["af", B.CompactNumberSymbols$(C.Map_Ui8aB, C.Map_Ui7L8, C.Map_UiUDs), "am", B.CompactNumberSymbols$(C.Map_UiyDQ, C.Map_UiuNl, C.Map_UiQSn), "ar", B.CompactNumberSymbols$(C.Map_Uijfx, C.Map_UiGVQ, C.Map_UiAmv), "ar_DZ", B.CompactNumberSymbols$(C.Map_Uijfx, C.Map_UiGVQ, C.Map_UiAmv), "ar_EG", B.CompactNumberSymbols$(C.Map_Uijfx, C.Map_UiGVQ, C.Map_UiAmv), "az", B.CompactNumberSymbols$(C.Map_UiC9d, C.Map_UiOTB, C.Map_UiA4L), "be", B.CompactNumberSymbols$(C.Map_UiDfi, C.Map_UiOvN, C.Map_UiIVQ), "bg", B.CompactNumberSymbols$(C.Map_Ui1rA, C.Map_UiZUb, C.Map_Uiy0R), "bn", B.CompactNumberSymbols$(C.Map_UiOtN, C.Map_UiBAr, C.Map_Ui0), "br", B.CompactNumberSymbols$(C.Map_UiG79, C.Map_UiH79, C.Map_UiXi8), "bs", B.CompactNumberSymbols$(C.Map_UiSJV, C.Map_UiR7V, C.Map_UiupD), "ca", B.CompactNumberSymbols$(C.Map_UiTzz, C.Map_UiOLv, C.Map_UiYm0), "chr", B.CompactNumberSymbols$(C.Map_UidKm, C.Map_UiGrj, C.Map_UiJgx), "cs", B.CompactNumberSymbols$(C.Map_UioaE, C.Map_UiTTS, C.Map_UibFg), "cy", B.CompactNumberSymbols$(C.Map_UiL54, C.Map_UiGrj, C.Map_UiJgx), "da", B.CompactNumberSymbols$(C.Map_UiHx4, C.Map_UiCdE, C.Map_UiEGl), "de", B.CompactNumberSymbols$(C.Map_Ui8qt, C.Map_Ui8cl, C.Map_UiKtb), "de_AT", B.CompactNumberSymbols$(C.Map_Ui8qt, C.Map_Ui8cl, C.Map_UiKtb), "de_CH", B.CompactNumberSymbols$(C.Map_Ui8qt, C.Map_Ui8cl, C.Map_UiKtb), "el", B.CompactNumberSymbols$(C.Map_UiqpA, C.Map_UiXKQ, C.Map_UiKPO), "en", B.CompactNumberSymbols$(C.Map_UiBYh, C.Map_UiGrj, C.Map_UiJgx), "en_AU", B.CompactNumberSymbols$(C.Map_UiBYh, C.Map_UiGrj, C.Map_UiJgx), "en_CA", B.CompactNumberSymbols$(C.Map_UiBYh, C.Map_UiGrj, C.Map_UiJgx), "en_GB", B.CompactNumberSymbols$(C.Map_UiBYh, C.Map_UiGrj, C.Map_UiJgx), "en_IE", B.CompactNumberSymbols$(C.Map_UiBYh, C.Map_UiGrj, C.Map_UiJgx), "en_IN", B.CompactNumberSymbols$(C.Map_UiBYh, C.Map_UiTNX, C.Map_UiJgx), "en_MY", B.CompactNumberSymbols$(C.Map_UiBYh, C.Map_UiGrj, C.Map_UiJgx), "en_SG", B.CompactNumberSymbols$(C.Map_UiBYh, C.Map_UiGrj, C.Map_UiJgx), "en_US", B.CompactNumberSymbols$(C.Map_UiBYh, C.Map_UiGrj, C.Map_UiJgx), "en_ZA", B.CompactNumberSymbols$(C.Map_UiBYh, C.Map_UiGrj, C.Map_UiJgx), "es", B.CompactNumberSymbols$(C.Map_UiIyS, C.Map_UiNkP, C.Map_UiiDT), "es_419", B.CompactNumberSymbols$(C.Map_UiO5U, C.Map_UihGr, C.Map_UiskV), "es_ES", B.CompactNumberSymbols$(C.Map_UiIyS, C.Map_UiNkP, C.Map_UiiDT), "es_MX", B.CompactNumberSymbols$(C.Map_UiIyS, C.Map_UiuDg, C.Map_Uiwoc), "es_US", B.CompactNumberSymbols$(C.Map_UiUgE, C.Map_Uigkc, C.Map_Uilu1), "et", B.CompactNumberSymbols$(C.Map_UiVKb, C.Map_Uiotf, C.Map_Uiww8), "eu", B.CompactNumberSymbols$(C.Map_Ui46c, C.Map_UiKlG, C.Map_UiJQz), "fa", B.CompactNumberSymbols$(C.Map_UizF8, C.Map_UiIi0, C.Map_UiIpE), "fi", B.CompactNumberSymbols$(C.Map_UiH95, C.Map_UiEFX, C.Map_Uiavb), "fil", B.CompactNumberSymbols$(C.Map_UidvT, C.Map_UiGrj, C.Map_UiJgx), "fr", B.CompactNumberSymbols$(C.Map_UiMMY, C.Map_Ui0F9, C.Map_UiCpT), "fr_CA", B.CompactNumberSymbols$(C.Map_UiMMY, C.Map_UiH79, C.Map_UiCyS), "fr_CH", B.CompactNumberSymbols$(C.Map_UiMMY, C.Map_Ui0F9, C.Map_UiCpT), "ga", B.CompactNumberSymbols$(C.Map_UiJNA, C.Map_UiA9i, C.Map_UiOQL), "gl", B.CompactNumberSymbols$(C.Map_UiyrG, C.Map_UiTvc, C.Map_Uidpv), "gsw", B.CompactNumberSymbols$(C.Map_Ui2Rm, C.Map_UiqAG, C.Map_Ui1mN), "gu", B.CompactNumberSymbols$(C.Map_UiBKg, C.Map_UiHJ0, C.Map_Ui2lz), "haw", B.CompactNumberSymbols$(null, C.Map_Uimx9, C.Map_UiA4L), "he", B.CompactNumberSymbols$(C.Map_UikSE, C.Map_Uizjx, C.Map_UiJgx), "hi", B.CompactNumberSymbols$(C.Map_UizHO, C.Map_UiQpm, C.Map_UiG790), "hr", B.CompactNumberSymbols$(C.Map_UiSJc, C.Map_Ui23B, C.Map_UiwMy), "hu", B.CompactNumberSymbols$(C.Map_Uiyvd, C.Map_Uifhp, C.Map_Uie7M), "hy", B.CompactNumberSymbols$(C.Map_Ui2iX, C.Map_UiohJ, C.Map_Uigkc0), "id", B.CompactNumberSymbols$(C.Map_UiQ7e, C.Map_Ui8CP, C.Map_Ui86V), "in", B.CompactNumberSymbols$(C.Map_UiQ7e, C.Map_Ui8CP, C.Map_Ui86V), "is", B.CompactNumberSymbols$(C.Map_Uigf4, C.Map_UiUId, C.Map_Uim7G), "it", B.CompactNumberSymbols$(C.Map_Ui4YB, C.Map_UioIV, C.Map_Uisew), "it_CH", B.CompactNumberSymbols$(C.Map_Ui4YB, C.Map_UioIV, C.Map_Uisew), "iw", B.CompactNumberSymbols$(C.Map_UikSE, C.Map_Uizjx, C.Map_UiJgx), "ja", B.CompactNumberSymbols$(C.Map_UiUrQ, C.Map_UiT5f, C.Map_UiUrQ), "ka", B.CompactNumberSymbols$(C.Map_UiIaj, C.Map_UiMyV, C.Map_Ui8CO), "kk", B.CompactNumberSymbols$(C.Map_UiUjO, C.Map_Uiy3e, C.Map_UioGC), "km", B.CompactNumberSymbols$(C.Map_UiIVn, C.Map_UiCBZ, C.Map_UiRsV), "kn", B.CompactNumberSymbols$(C.Map_UiB3r, C.Map_UiACG, C.Map_Uil0G), "ko", B.CompactNumberSymbols$(C.Map_UiFKj, C.Map_UiDV7, C.Map_UiFKj), "ky", B.CompactNumberSymbols$(C.Map_UirTD, C.Map_Ui2No, C.Map_UiQy4), "ln", B.CompactNumberSymbols$(null, C.Map_UiOTB, C.Map_UiA4L), "lo", B.CompactNumberSymbols$(C.Map_Uiupb, C.Map_UiL7S, C.Map_UiWRU), "lt", B.CompactNumberSymbols$(C.Map_UiJeh, C.Map_Ui8Gl, C.Map_UiMpR), "lv", B.CompactNumberSymbols$(C.Map_Ui0bs, C.Map_UiGkK, C.Map_Uiknt), "mk", B.CompactNumberSymbols$(C.Map_UiJO4, C.Map_Uiv6I, C.Map_Uioh2), "ml", B.CompactNumberSymbols$(C.Map_Uiuh0, C.Map_UiGrj, C.Map_UiJgx), "mn", B.CompactNumberSymbols$(C.Map_UikWG, C.Map_UiDyS, C.Map_Uio0o), "mr", B.CompactNumberSymbols$(C.Map_UiyXb, C.Map_UiyP5, C.Map_UiMAi), "ms", B.CompactNumberSymbols$(C.Map_UiHh6, C.Map_Ui6fP, C.Map_UiYvV), "mt", B.CompactNumberSymbols$(null, C.Map_Uimx9, C.Map_UiA4L), "my", B.CompactNumberSymbols$(C.Map_UiI7G, C.Map_UimdD, C.Map_UiYgE), "nb", B.CompactNumberSymbols$(C.Map_Uiqdg, C.Map_UigPs, C.Map_UiAHF), "ne", B.CompactNumberSymbols$(C.Map_UiAKW, C.Map_UiUMv, C.Map_Uilov), "nl", B.CompactNumberSymbols$(C.Map_Uisav, C.Map_UiDxz, C.Map_Uiwoc0), "no", B.CompactNumberSymbols$(C.Map_Uiqdg, C.Map_UigPs, C.Map_UiAHF), "no_NO", B.CompactNumberSymbols$(C.Map_Uiqdg, C.Map_UigPs, C.Map_UiAHF), "or", B.CompactNumberSymbols$(C.Map_UiAiQ, C.Map_Uia9P, C.Map_UiivX), "pa", B.CompactNumberSymbols$(C.Map_UiGqP, C.Map_UiuDC, C.Map_UiJJ0), "pl", B.CompactNumberSymbols$(C.Map_UiaTW, C.Map_UiyhR, C.Map_UiVZ9), "ps", B.CompactNumberSymbols$(C.Map_UiA4L, C.Map_UiOTB, C.Map_UiJgx), "pt", B.CompactNumberSymbols$(C.Map_Ui27p, C.Map_Uie4R, C.Map_Uia5W), "pt_BR", B.CompactNumberSymbols$(C.Map_Ui27p, C.Map_Uie4R, C.Map_Uia5W), "pt_PT", B.CompactNumberSymbols$(C.Map_UiMGI, C.Map_Ui6ha, C.Map_UiMys), "ro", B.CompactNumberSymbols$(C.Map_UinCA, C.Map_UiZOg, C.Map_Uisy5), "ru", B.CompactNumberSymbols$(C.Map_UicWU, C.Map_Ui0Ly, C.Map_UiIVQ), "si", B.CompactNumberSymbols$(C.Map_UiaXU, C.Map_Uiibp, C.Map_Uirt1), "sk", B.CompactNumberSymbols$(C.Map_UineK, C.Map_UiTTS, C.Map_UibFg), "sl", B.CompactNumberSymbols$(C.Map_UisIc, C.Map_UiAec, C.Map_UiqJO), "sq", B.CompactNumberSymbols$(C.Map_UiAYZ, C.Map_Ui5uo, C.Map_Uii7B), "sr", B.CompactNumberSymbols$(C.Map_Ui1Oj, C.Map_UiowA, C.Map_Uib1n), "sr_Latn", B.CompactNumberSymbols$(C.Map_UiSJV, C.Map_Uiahs, C.Map_Ui3EQ), "sv", B.CompactNumberSymbols$(C.Map_Uikqh, C.Map_UiAHJ, C.Map_UinvO), "sw", B.CompactNumberSymbols$(C.Map_Ui8co, C.Map_UickJ, C.Map_UiYbt), "ta", B.CompactNumberSymbols$(C.Map_Uic4R, C.Map_Ui4CA, C.Map_UiAeg), "te", B.CompactNumberSymbols$(C.Map_UiQSy, C.Map_UiMIo, C.Map_Uiv97), "th", B.CompactNumberSymbols$(C.Map_UiTnu, C.Map_UiGrj, C.Map_UiJgx), "tl", B.CompactNumberSymbols$(C.Map_UidvT, C.Map_UiGrj, C.Map_UiJgx), "tr", B.CompactNumberSymbols$(C.Map_UiiH2, C.Map_UiAqW, C.Map_UivD9), "uk", B.CompactNumberSymbols$(C.Map_Uinfu, C.Map_Uigf40, C.Map_UiAZ8), "ur", B.CompactNumberSymbols$(C.Map_UiQAb, C.Map_UiyTE, C.Map_Ui4xZ), "uz", B.CompactNumberSymbols$(C.Map_UieFJ, C.Map_UiAgZ, C.Map_UihoG), "vi", B.CompactNumberSymbols$(C.Map_UikMT, C.Map_UisQd, C.Map_UieNF), "zh", B.CompactNumberSymbols$(C.Map_UiicQ, C.Map_Ui8tD, C.Map_UiicQ), "zh_CN", B.CompactNumberSymbols$(C.Map_UiicQ, C.Map_Ui8tD, C.Map_UiicQ), "zh_HK", B.CompactNumberSymbols$(C.Map_UiwCS, C.Map_UiGrj, C.Map_UiJgx), "zh_TW", B.CompactNumberSymbols$(C.Map_UiwCS, C.Map_UiiDZ, C.Map_UiwCS), "zu", B.CompactNumberSymbols$(C.Map_Uiww80, C.Map_Uia9w, C.Map_UiJgx)], type$.String, H.findType("CompactNumberSymbols"));
    });
    _lazy($, "_dateTimeSymbols", "$get$_dateTimeSymbols", function() {
      return X.UninitializedLocaleData$("initializeDateFormatting(<locale>)", $.$get$en_USSymbols(), H.findType("DateSymbols"));
    });
    _lazy($, "dateTimePatterns", "$get$dateTimePatterns", function() {
      return X.UninitializedLocaleData$("initializeDateFormatting(<locale>)", C.Map_EQGBe, type$.Map_String_String);
    });
    _lazyFinal($, "asciiZeroCodeUnit", "$get$asciiZeroCodeUnit", function() {
      return 48;
    });
    _lazyFinal($, "DateFormat__matchers", "$get$DateFormat__matchers", function() {
      return H._setArrayType([P.RegExp_RegExp("^'(?:[^']|'')*'", true, false), P.RegExp_RegExp("^(?:G+|y+|M+|k+|S+|E+|a+|h+|K+|H+|c+|L+|Q+|d+|D+|m+|s+|v+|z+|Z+)", true, false), P.RegExp_RegExp("^[^'GyMkSEahKHcLQdDmsvzZ]+", true, false)], H.findType("JSArray<RegExp>"));
    });
    _lazyFinal($, "_DateFormatQuotedField__twoEscapedQuotes", "$get$_DateFormatQuotedField__twoEscapedQuotes", function() {
      return P.RegExp_RegExp("''", true, false);
    });
    _lazyFinal($, "_CompactStyle__regex", "$get$_CompactStyle__regex", function() {
      return P.RegExp_RegExp("([^0]*)(0+)(.*)", true, false);
    });
    _lazyFinal($, "_CompactStyle__justZeros", "$get$_CompactStyle__justZeros", function() {
      return P.RegExp_RegExp("^0*$", true, false);
    });
    _lazyFinal($, "NumberFormat__maxInt", "$get$NumberFormat__maxInt", function() {
      var t1 = P.pow(2, 52);
      return t1;
    });
    _lazyFinal($, "NumberFormat__maxDigits", "$get$NumberFormat__maxDigits", function() {
      return C.JSNumber_methods.ceil$0(P.log0($.$get$NumberFormat__maxInt()) / P.log0(10));
    });
    _lazyFinal($, "_ln10", "$get$_ln10", function() {
      return P.log0(10);
    });
    _lazyFinal($, "_ln100", "$get$_ln100", function() {
      return P.log0(10);
    });
    _lazyFinal($, "Logger_root", "$get$Logger_root", function() {
      return F.Logger_Logger("");
    });
    _lazyFinal($, "windows", "$get$windows", function() {
      return M.Context_Context($.$get$Style_windows());
    });
    _lazyFinal($, "context", "$get$context", function() {
      return new M.Context($.$get$Style_platform(), null);
    });
    _lazyFinal($, "Style_posix", "$get$Style_posix", function() {
      return new E.PosixStyle(P.RegExp_RegExp("/", true, false), P.RegExp_RegExp("[^/]$", true, false), P.RegExp_RegExp("^/", true, false));
    });
    _lazyFinal($, "Style_windows", "$get$Style_windows", function() {
      return new L.WindowsStyle(P.RegExp_RegExp("[/\\\\]", true, false), P.RegExp_RegExp("[^/\\\\]$", true, false), P.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", true, false), P.RegExp_RegExp("^[/\\\\](?![/\\\\])", true, false));
    });
    _lazyFinal($, "Style_url", "$get$Style_url", function() {
      return new F.UrlStyle(P.RegExp_RegExp("/", true, false), P.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", true, false), P.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", true, false), P.RegExp_RegExp("^/", true, false));
    });
    _lazyFinal($, "Style_platform", "$get$Style_platform", function() {
      return O.Style__getPlatformStyle();
    });
    _lazy($, "Provider_debugCheckInvalidValueType", "$get$Provider_debugCheckInvalidValueType", function() {
      return new Y.Provider_debugCheckInvalidValueType_closure();
    });
    _lazyFinal($, "_AutoDisposer_instance", "$get$_AutoDisposer_instance", function() {
      return new L._AutoDisposer(new P.LinkedList(H.findType("LinkedList<_LinkedListEntry<AutoDisposeProviderElement<@,@>>>")));
    });
    _lazyFinal($, "_requestPool", "$get$_requestPool", function() {
      var t4,
        t1 = H.findType("Completer<PoolResource>"),
        t2 = P.ListQueue$(null, t1),
        t3 = P.ListQueue$(null, type$.void_Function);
      t1 = P.ListQueue$(null, t1);
      t4 = S.AsyncMemoizer$(type$.dynamic);
      return new O.Pool(t2, t3, t1, 1000, t4);
    });
    _lazyFinal($, "_vmFrame", "$get$_vmFrame", function() {
      return P.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", true, false);
    });
    _lazyFinal($, "_v8Frame", "$get$_v8Frame", function() {
      return P.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", true, false);
    });
    _lazyFinal($, "_v8UrlLocation", "$get$_v8UrlLocation", function() {
      return P.RegExp_RegExp("^(.*?):(\\d+)(?::(\\d+))?$|native$", true, false);
    });
    _lazyFinal($, "_v8EvalLocation", "$get$_v8EvalLocation", function() {
      return P.RegExp_RegExp("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$", true, false);
    });
    _lazyFinal($, "_firefoxEvalLocation", "$get$_firefoxEvalLocation", function() {
      return P.RegExp_RegExp("(\\S+)@(\\S+) line (\\d+) >.* (Function|eval):\\d+:\\d+", true, false);
    });
    _lazyFinal($, "_firefoxSafariFrame", "$get$_firefoxSafariFrame", function() {
      return P.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", true, false);
    });
    _lazyFinal($, "_friendlyFrame", "$get$_friendlyFrame", function() {
      return P.RegExp_RegExp("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d].*)$", true, false);
    });
    _lazyFinal($, "_asyncBody", "$get$_asyncBody", function() {
      return P.RegExp_RegExp("<(<anonymous closure>|[^>]+)_async_body>", true, false);
    });
    _lazyFinal($, "_initialDot", "$get$_initialDot", function() {
      return P.RegExp_RegExp("^\\.", true, false);
    });
    _lazyFinal($, "Frame__uriRegExp", "$get$Frame__uriRegExp", function() {
      return P.RegExp_RegExp("^[a-zA-Z][-+.a-zA-Z\\d]*://", true, false);
    });
    _lazyFinal($, "Frame__windowsRegExp", "$get$Frame__windowsRegExp", function() {
      return P.RegExp_RegExp("^([a-zA-Z]:[\\\\/]|\\\\\\\\)", true, false);
    });
    _lazyFinal($, "_terseRegExp", "$get$_terseRegExp", function() {
      return P.RegExp_RegExp("(-patch)?([/\\\\].*)?$", true, false);
    });
    _lazyFinal($, "_v8Trace", "$get$_v8Trace", function() {
      return P.RegExp_RegExp("\\n    ?at ", true, false);
    });
    _lazyFinal($, "_v8TraceLine", "$get$_v8TraceLine", function() {
      return P.RegExp_RegExp("    ?at ", true, false);
    });
    _lazyFinal($, "_firefoxEvalTrace", "$get$_firefoxEvalTrace", function() {
      return P.RegExp_RegExp("@\\S+ line \\d+ >.* (Function|eval):\\d+:\\d+", true, false);
    });
    _lazyFinal($, "_firefoxSafariTrace", "$get$_firefoxSafariTrace", function() {
      return P.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true, true);
    });
    _lazyFinal($, "_friendlyTrace", "$get$_friendlyTrace", function() {
      return P.RegExp_RegExp("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true, true);
    });
    _lazyFinal($, "vmChainGap", "$get$vmChainGap", function() {
      return P.RegExp_RegExp("^<asynchronous suspension>\\n?$", true, true);
    });
    _lazyFinal($, "_newlineRegExp", "$get$_newlineRegExp", function() {
      return P.RegExp_RegExp("\\r\\n?|\\n", true, false);
    });
    _lazyOld($, "UrlLauncherPlatform__token", "$get$UrlLauncherPlatform__token", function() {
      return new P.Object();
    });
    _lazyOld($, "UrlLauncherPlatform__instance", "$get$UrlLauncherPlatform__instance", function() {
      return new F.MethodChannelUrlLauncher($.$get$UrlLauncherPlatform__token());
    });
    _lazyOld($, "UrlLauncherPlugin__supportedSchemes", "$get$UrlLauncherPlugin__supportedSchemes", function() {
      return P.LinkedHashSet_LinkedHashSet$_literal(["http", "https"], type$.legacy_String).union$1(C.Set_4e8j2);
    });
    _lazyOld($, "_scrubbingRe", "$get$_scrubbingRe", function() {
      return P.RegExp_RegExp("\\[(Optimized|Unoptimized|Stub)\\]\\s*|@\\d+(?![>\\d])", true, false);
    });
    _lazyOld($, "_stubScrubbingRe", "$get$_stubScrubbingRe", function() {
      return P.RegExp_RegExp("\\[Stub\\]\\s*|@\\d+|\\(H[a-f\\d]+\\) ", true, false);
    });
    _lazyOld($, "_nameFormatters", "$get$_nameFormatters", function() {
      return P.LinkedHashMap_LinkedHashMap$_literal([C.TreemapFormat_2, new N._nameFormatters_closure(), C.TreemapFormat_3, new N._nameFormatters_closure0()], H.findType("TreemapFormat*"), H.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({AnimationEffectReadOnly: J.Interceptor, AnimationTimeline: J.Interceptor, AnimationWorkletGlobalScope: J.Interceptor, AuthenticatorAssertionResponse: J.Interceptor, AuthenticatorAttestationResponse: J.Interceptor, AuthenticatorResponse: J.Interceptor, BackgroundFetchFetch: J.Interceptor, BackgroundFetchManager: J.Interceptor, BackgroundFetchSettledFetch: J.Interceptor, BarProp: J.Interceptor, BarcodeDetector: J.Interceptor, BluetoothRemoteGATTDescriptor: J.Interceptor, BudgetState: J.Interceptor, CanvasGradient: J.Interceptor, CanvasPattern: J.Interceptor, Client: J.Interceptor, Clients: J.Interceptor, CookieStore: J.Interceptor, Coordinates: J.Interceptor, CredentialsContainer: J.Interceptor, Crypto: J.Interceptor, CryptoKey: J.Interceptor, CSS: J.Interceptor, CSSVariableReferenceValue: J.Interceptor, CustomElementRegistry: J.Interceptor, DataTransfer: J.Interceptor, DeprecatedStorageInfo: J.Interceptor, DeprecatedStorageQuota: J.Interceptor, DetectedBarcode: J.Interceptor, DetectedFace: J.Interceptor, DetectedText: J.Interceptor, DeviceAcceleration: J.Interceptor, DeviceRotationRate: J.Interceptor, DirectoryReader: J.Interceptor, DocumentOrShadowRoot: J.Interceptor, DocumentTimeline: J.Interceptor, DOMImplementation: J.Interceptor, Iterator: J.Interceptor, DOMMatrix: J.Interceptor, DOMMatrixReadOnly: J.Interceptor, DOMParser: J.Interceptor, DOMPoint: J.Interceptor, DOMPointReadOnly: J.Interceptor, DOMQuad: J.Interceptor, DOMStringMap: J.Interceptor, External: J.Interceptor, FaceDetector: J.Interceptor, FontFaceSource: J.Interceptor, FormData: J.Interceptor, GamepadButton: J.Interceptor, GamepadPose: J.Interceptor, Geolocation: J.Interceptor, Position: J.Interceptor, GeolocationPosition: J.Interceptor, Headers: J.Interceptor, HTMLHyperlinkElementUtils: J.Interceptor, IdleDeadline: J.Interceptor, ImageBitmap: J.Interceptor, ImageBitmapRenderingContext: J.Interceptor, ImageCapture: J.Interceptor, InputDeviceCapabilities: J.Interceptor, IntersectionObserver: J.Interceptor, IntersectionObserverEntry: J.Interceptor, KeyframeEffect: J.Interceptor, KeyframeEffectReadOnly: J.Interceptor, MediaCapabilities: J.Interceptor, MediaCapabilitiesInfo: J.Interceptor, MediaKeyStatusMap: J.Interceptor, MediaKeySystemAccess: J.Interceptor, MediaKeys: J.Interceptor, MediaKeysPolicy: J.Interceptor, MediaMetadata: J.Interceptor, MediaSession: J.Interceptor, MediaSettingsRange: J.Interceptor, MemoryInfo: J.Interceptor, MessageChannel: J.Interceptor, Metadata: J.Interceptor, MutationObserver: J.Interceptor, WebKitMutationObserver: J.Interceptor, MutationRecord: J.Interceptor, NavigationPreloadManager: J.Interceptor, Navigator: J.Interceptor, NavigatorAutomationInformation: J.Interceptor, NavigatorConcurrentHardware: J.Interceptor, NavigatorCookies: J.Interceptor, NodeFilter: J.Interceptor, NodeIterator: J.Interceptor, NonDocumentTypeChildNode: J.Interceptor, NonElementParentNode: J.Interceptor, NoncedElement: J.Interceptor, OffscreenCanvasRenderingContext2D: J.Interceptor, PaintRenderingContext2D: J.Interceptor, PaintSize: J.Interceptor, PaintWorkletGlobalScope: J.Interceptor, Path2D: J.Interceptor, PaymentAddress: J.Interceptor, PaymentManager: J.Interceptor, PaymentResponse: J.Interceptor, PerformanceNavigation: J.Interceptor, PerformanceObserver: J.Interceptor, PerformanceObserverEntryList: J.Interceptor, PerformanceTiming: J.Interceptor, PhotoCapabilities: J.Interceptor, Presentation: J.Interceptor, PresentationReceiver: J.Interceptor, PushManager: J.Interceptor, PushSubscription: J.Interceptor, PushSubscriptionOptions: J.Interceptor, RelatedApplication: J.Interceptor, ReportingObserver: J.Interceptor, ResizeObserver: J.Interceptor, ResizeObserverEntry: J.Interceptor, RTCCertificate: J.Interceptor, RTCIceCandidate: J.Interceptor, mozRTCIceCandidate: J.Interceptor, RTCLegacyStatsReport: J.Interceptor, RTCRtpContributingSource: J.Interceptor, RTCRtpReceiver: J.Interceptor, RTCRtpSender: J.Interceptor, RTCSessionDescription: J.Interceptor, mozRTCSessionDescription: J.Interceptor, RTCStatsResponse: J.Interceptor, Screen: J.Interceptor, ScrollState: J.Interceptor, ScrollTimeline: J.Interceptor, Selection: J.Interceptor, SharedArrayBuffer: J.Interceptor, SpeechRecognitionAlternative: J.Interceptor, StaticRange: J.Interceptor, StorageManager: J.Interceptor, StyleMedia: J.Interceptor, StylePropertyMap: J.Interceptor, StylePropertyMapReadonly: J.Interceptor, SyncManager: J.Interceptor, TextDetector: J.Interceptor, TextMetrics: J.Interceptor, TrackDefault: J.Interceptor, TreeWalker: J.Interceptor, TrustedHTML: J.Interceptor, TrustedScriptURL: J.Interceptor, TrustedURL: J.Interceptor, URLSearchParams: J.Interceptor, VRCoordinateSystem: J.Interceptor, VRDisplayCapabilities: J.Interceptor, VREyeParameters: J.Interceptor, VRFrameData: J.Interceptor, VRFrameOfReference: J.Interceptor, VRPose: J.Interceptor, VRStageBounds: J.Interceptor, VRStageBoundsPoint: J.Interceptor, VRStageParameters: J.Interceptor, ValidityState: J.Interceptor, VideoPlaybackQuality: J.Interceptor, WindowClient: J.Interceptor, WorkletAnimation: J.Interceptor, WorkletGlobalScope: J.Interceptor, XPathEvaluator: J.Interceptor, XPathExpression: J.Interceptor, XPathNSResolver: J.Interceptor, XPathResult: J.Interceptor, XMLSerializer: J.Interceptor, XSLTProcessor: J.Interceptor, Bluetooth: J.Interceptor, BluetoothCharacteristicProperties: J.Interceptor, BluetoothRemoteGATTServer: J.Interceptor, BluetoothRemoteGATTService: J.Interceptor, BluetoothUUID: J.Interceptor, BudgetService: J.Interceptor, Cache: J.Interceptor, DOMFileSystemSync: J.Interceptor, DirectoryEntrySync: J.Interceptor, DirectoryReaderSync: J.Interceptor, EntrySync: J.Interceptor, FileEntrySync: J.Interceptor, FileReaderSync: J.Interceptor, FileWriterSync: J.Interceptor, HTMLAllCollection: J.Interceptor, Mojo: J.Interceptor, MojoHandle: J.Interceptor, MojoWatcher: J.Interceptor, NFC: J.Interceptor, PagePopupController: J.Interceptor, Report: J.Interceptor, SubtleCrypto: J.Interceptor, USBAlternateInterface: J.Interceptor, USBConfiguration: J.Interceptor, USBDevice: J.Interceptor, USBEndpoint: J.Interceptor, USBInTransferResult: J.Interceptor, USBInterface: J.Interceptor, USBIsochronousInTransferPacket: J.Interceptor, USBIsochronousInTransferResult: J.Interceptor, USBIsochronousOutTransferPacket: J.Interceptor, USBIsochronousOutTransferResult: J.Interceptor, USBOutTransferResult: J.Interceptor, WorkerLocation: J.Interceptor, WorkerNavigator: J.Interceptor, Worklet: J.Interceptor, IDBCursor: J.Interceptor, IDBCursorWithValue: J.Interceptor, IDBFactory: J.Interceptor, IDBObservation: J.Interceptor, IDBObserver: J.Interceptor, IDBObserverChanges: J.Interceptor, SVGAngle: J.Interceptor, SVGAnimatedAngle: J.Interceptor, SVGAnimatedBoolean: J.Interceptor, SVGAnimatedEnumeration: J.Interceptor, SVGAnimatedInteger: J.Interceptor, SVGAnimatedLength: J.Interceptor, SVGAnimatedLengthList: J.Interceptor, SVGAnimatedNumber: J.Interceptor, SVGAnimatedNumberList: J.Interceptor, SVGAnimatedPreserveAspectRatio: J.Interceptor, SVGAnimatedRect: J.Interceptor, SVGAnimatedString: J.Interceptor, SVGAnimatedTransformList: J.Interceptor, SVGMatrix: J.Interceptor, SVGPoint: J.Interceptor, SVGPreserveAspectRatio: J.Interceptor, SVGUnitTypes: J.Interceptor, AudioListener: J.Interceptor, AudioParam: J.Interceptor, AudioWorkletGlobalScope: J.Interceptor, AudioWorkletProcessor: J.Interceptor, PeriodicWave: J.Interceptor, ANGLEInstancedArrays: J.Interceptor, ANGLE_instanced_arrays: J.Interceptor, WebGLBuffer: J.Interceptor, WebGLCanvas: J.Interceptor, WebGLColorBufferFloat: J.Interceptor, WebGLCompressedTextureASTC: J.Interceptor, WebGLCompressedTextureATC: J.Interceptor, WEBGL_compressed_texture_atc: J.Interceptor, WebGLCompressedTextureETC1: J.Interceptor, WEBGL_compressed_texture_etc1: J.Interceptor, WebGLCompressedTextureETC: J.Interceptor, WebGLCompressedTexturePVRTC: J.Interceptor, WEBGL_compressed_texture_pvrtc: J.Interceptor, WebGLCompressedTextureS3TC: J.Interceptor, WEBGL_compressed_texture_s3tc: J.Interceptor, WebGLCompressedTextureS3TCsRGB: J.Interceptor, WebGLDebugRendererInfo: J.Interceptor, WEBGL_debug_renderer_info: J.Interceptor, WebGLDebugShaders: J.Interceptor, WEBGL_debug_shaders: J.Interceptor, WebGLDepthTexture: J.Interceptor, WEBGL_depth_texture: J.Interceptor, WebGLDrawBuffers: J.Interceptor, WEBGL_draw_buffers: J.Interceptor, EXTsRGB: J.Interceptor, EXT_sRGB: J.Interceptor, EXTBlendMinMax: J.Interceptor, EXT_blend_minmax: J.Interceptor, EXTColorBufferFloat: J.Interceptor, EXTColorBufferHalfFloat: J.Interceptor, EXTDisjointTimerQuery: J.Interceptor, EXTDisjointTimerQueryWebGL2: J.Interceptor, EXTFragDepth: J.Interceptor, EXT_frag_depth: J.Interceptor, EXTShaderTextureLOD: J.Interceptor, EXT_shader_texture_lod: J.Interceptor, EXTTextureFilterAnisotropic: J.Interceptor, EXT_texture_filter_anisotropic: J.Interceptor, WebGLFramebuffer: J.Interceptor, WebGLGetBufferSubDataAsync: J.Interceptor, WebGLLoseContext: J.Interceptor, WebGLExtensionLoseContext: J.Interceptor, WEBGL_lose_context: J.Interceptor, OESElementIndexUint: J.Interceptor, OES_element_index_uint: J.Interceptor, OESStandardDerivatives: J.Interceptor, OES_standard_derivatives: J.Interceptor, OESTextureFloat: J.Interceptor, OES_texture_float: J.Interceptor, OESTextureFloatLinear: J.Interceptor, OES_texture_float_linear: J.Interceptor, OESTextureHalfFloat: J.Interceptor, OES_texture_half_float: J.Interceptor, OESTextureHalfFloatLinear: J.Interceptor, OES_texture_half_float_linear: J.Interceptor, OESVertexArrayObject: J.Interceptor, OES_vertex_array_object: J.Interceptor, WebGLProgram: J.Interceptor, WebGLQuery: J.Interceptor, WebGLRenderbuffer: J.Interceptor, WebGLRenderingContext: J.Interceptor, WebGL2RenderingContext: J.Interceptor, WebGLSampler: J.Interceptor, WebGLShader: J.Interceptor, WebGLShaderPrecisionFormat: J.Interceptor, WebGLSync: J.Interceptor, WebGLTexture: J.Interceptor, WebGLTimerQueryEXT: J.Interceptor, WebGLTransformFeedback: J.Interceptor, WebGLUniformLocation: J.Interceptor, WebGLVertexArrayObject: J.Interceptor, WebGLVertexArrayObjectOES: J.Interceptor, WebGL: J.Interceptor, WebGL2RenderingContextBase: J.Interceptor, SQLResultSet: J.Interceptor, SQLTransaction: J.Interceptor, ArrayBuffer: H.NativeByteBuffer, ArrayBufferView: H.NativeTypedData, DataView: H.NativeByteData, Float32Array: H.NativeFloat32List, Float64Array: H.NativeFloat64List, Int16Array: H.NativeInt16List, Int32Array: H.NativeInt32List, Int8Array: H.NativeInt8List, Uint16Array: H.NativeUint16List, Uint32Array: H.NativeUint32List, Uint8ClampedArray: H.NativeUint8ClampedList, CanvasPixelArray: H.NativeUint8ClampedList, Uint8Array: H.NativeUint8List, HTMLBRElement: W.HtmlElement, HTMLContentElement: W.HtmlElement, HTMLDListElement: W.HtmlElement, HTMLDataElement: W.HtmlElement, HTMLDataListElement: W.HtmlElement, HTMLDetailsElement: W.HtmlElement, HTMLDialogElement: W.HtmlElement, HTMLHRElement: W.HtmlElement, HTMLHeadElement: W.HtmlElement, HTMLHeadingElement: W.HtmlElement, HTMLHtmlElement: W.HtmlElement, HTMLLIElement: W.HtmlElement, HTMLLegendElement: W.HtmlElement, HTMLLinkElement: W.HtmlElement, HTMLMenuElement: W.HtmlElement, HTMLMeterElement: W.HtmlElement, HTMLModElement: W.HtmlElement, HTMLOptGroupElement: W.HtmlElement, HTMLPictureElement: W.HtmlElement, HTMLPreElement: W.HtmlElement, HTMLProgressElement: W.HtmlElement, HTMLQuoteElement: W.HtmlElement, HTMLShadowElement: W.HtmlElement, HTMLSourceElement: W.HtmlElement, HTMLTableCaptionElement: W.HtmlElement, HTMLTableCellElement: W.HtmlElement, HTMLTableDataCellElement: W.HtmlElement, HTMLTableHeaderCellElement: W.HtmlElement, HTMLTableColElement: W.HtmlElement, HTMLTimeElement: W.HtmlElement, HTMLTitleElement: W.HtmlElement, HTMLUListElement: W.HtmlElement, HTMLUnknownElement: W.HtmlElement, HTMLDirectoryElement: W.HtmlElement, HTMLFontElement: W.HtmlElement, HTMLFrameElement: W.HtmlElement, HTMLFrameSetElement: W.HtmlElement, HTMLMarqueeElement: W.HtmlElement, HTMLElement: W.HtmlElement, AccessibleNode: W.AccessibleNode, AccessibleNodeList: W.AccessibleNodeList, HTMLAnchorElement: W.AnchorElement, AnimationEffectTiming: W.AnimationEffectTiming, AnimationEffectTimingReadOnly: W.AnimationEffectTimingReadOnly, ApplicationCacheErrorEvent: W.ApplicationCacheErrorEvent, HTMLAreaElement: W.AreaElement, HTMLBaseElement: W.BaseElement, BatteryManager: W.BatteryManager, Blob: W.Blob, Body: W.Body, Request: W.Body, Response: W.Body, HTMLBodyElement: W.BodyElement, BroadcastChannel: W.BroadcastChannel, HTMLButtonElement: W.ButtonElement, CacheStorage: W.CacheStorage, HTMLCanvasElement: W.CanvasElement, CanvasRenderingContext2D: W.CanvasRenderingContext2D, CDATASection: W.CharacterData, CharacterData: W.CharacterData, Comment: W.CharacterData, ProcessingInstruction: W.CharacterData, Text: W.CharacterData, CloseEvent: W.CloseEvent, PublicKeyCredential: W.Credential, Credential: W.Credential, CredentialUserData: W.CredentialUserData, CSSKeyframesRule: W.CssKeyframesRule, MozCSSKeyframesRule: W.CssKeyframesRule, WebKitCSSKeyframesRule: W.CssKeyframesRule, CSSNumericValue: W.CssNumericValue, CSSUnitValue: W.CssNumericValue, CSSPerspective: W.CssPerspective, CSSCharsetRule: W.CssRule, CSSConditionRule: W.CssRule, CSSFontFaceRule: W.CssRule, CSSGroupingRule: W.CssRule, CSSImportRule: W.CssRule, CSSKeyframeRule: W.CssRule, MozCSSKeyframeRule: W.CssRule, WebKitCSSKeyframeRule: W.CssRule, CSSMediaRule: W.CssRule, CSSNamespaceRule: W.CssRule, CSSPageRule: W.CssRule, CSSStyleRule: W.CssRule, CSSSupportsRule: W.CssRule, CSSViewportRule: W.CssRule, CSSRule: W.CssRule, CSSStyleDeclaration: W.CssStyleDeclaration, MSStyleCSSProperties: W.CssStyleDeclaration, CSS2Properties: W.CssStyleDeclaration, CSSStyleSheet: W.CssStyleSheet, CSSImageValue: W.CssStyleValue, CSSKeywordValue: W.CssStyleValue, CSSPositionValue: W.CssStyleValue, CSSResourceValue: W.CssStyleValue, CSSURLImageValue: W.CssStyleValue, CSSStyleValue: W.CssStyleValue, CSSMatrixComponent: W.CssTransformComponent, CSSRotation: W.CssTransformComponent, CSSScale: W.CssTransformComponent, CSSSkew: W.CssTransformComponent, CSSTranslation: W.CssTransformComponent, CSSTransformComponent: W.CssTransformComponent, CSSTransformValue: W.CssTransformValue, CSSUnparsedValue: W.CssUnparsedValue, DataTransferItem: W.DataTransferItem, DataTransferItemList: W.DataTransferItemList, DeprecationReport: W.DeprecationReport, HTMLDivElement: W.DivElement, Document: W.Document, HTMLDocument: W.Document, XMLDocument: W.Document, DocumentFragment: W.DocumentFragment, ShadowRoot: W.DocumentFragment, DOMError: W.DomError, DOMException: W.DomException, ClientRectList: W.DomRectList, DOMRectList: W.DomRectList, DOMRectReadOnly: W.DomRectReadOnly, DOMStringList: W.DomStringList, DOMTokenList: W.DomTokenList, Element: W.Element, HTMLEmbedElement: W.EmbedElement, DirectoryEntry: W.Entry, Entry: W.Entry, FileEntry: W.Entry, ErrorEvent: W.ErrorEvent, AbortPaymentEvent: W.Event0, AnimationEvent: W.Event0, AnimationPlaybackEvent: W.Event0, BackgroundFetchClickEvent: W.Event0, BackgroundFetchEvent: W.Event0, BackgroundFetchFailEvent: W.Event0, BackgroundFetchedEvent: W.Event0, BeforeInstallPromptEvent: W.Event0, BeforeUnloadEvent: W.Event0, BlobEvent: W.Event0, CanMakePaymentEvent: W.Event0, ClipboardEvent: W.Event0, CustomEvent: W.Event0, DeviceMotionEvent: W.Event0, DeviceOrientationEvent: W.Event0, ExtendableEvent: W.Event0, ExtendableMessageEvent: W.Event0, FetchEvent: W.Event0, FontFaceSetLoadEvent: W.Event0, ForeignFetchEvent: W.Event0, GamepadEvent: W.Event0, HashChangeEvent: W.Event0, InstallEvent: W.Event0, MediaEncryptedEvent: W.Event0, MediaStreamEvent: W.Event0, MediaStreamTrackEvent: W.Event0, MIDIConnectionEvent: W.Event0, MIDIMessageEvent: W.Event0, MutationEvent: W.Event0, NotificationEvent: W.Event0, PageTransitionEvent: W.Event0, PaymentRequestEvent: W.Event0, PaymentRequestUpdateEvent: W.Event0, PopStateEvent: W.Event0, PresentationConnectionAvailableEvent: W.Event0, PromiseRejectionEvent: W.Event0, PushEvent: W.Event0, RTCDTMFToneChangeEvent: W.Event0, RTCPeerConnectionIceEvent: W.Event0, RTCTrackEvent: W.Event0, SecurityPolicyViolationEvent: W.Event0, SensorErrorEvent: W.Event0, SpeechRecognitionEvent: W.Event0, StorageEvent: W.Event0, SyncEvent: W.Event0, TrackEvent: W.Event0, TransitionEvent: W.Event0, WebKitTransitionEvent: W.Event0, VRDeviceEvent: W.Event0, VRDisplayEvent: W.Event0, VRSessionEvent: W.Event0, MojoInterfaceRequestEvent: W.Event0, USBConnectionEvent: W.Event0, AudioProcessingEvent: W.Event0, OfflineAudioCompletionEvent: W.Event0, WebGLContextEvent: W.Event0, Event: W.Event0, InputEvent: W.Event0, SubmitEvent: W.Event0, EventSource: W.EventSource, Animation: W.EventTarget, ApplicationCache: W.EventTarget, DOMApplicationCache: W.EventTarget, OfflineResourceList: W.EventTarget, BackgroundFetchRegistration: W.EventTarget, MediaDevices: W.EventTarget, MediaStream: W.EventTarget, MIDIAccess: W.EventTarget, NetworkInformation: W.EventTarget, Notification: W.EventTarget, PaymentRequest: W.EventTarget, Performance: W.EventTarget, PresentationAvailability: W.EventTarget, PresentationConnectionList: W.EventTarget, RemotePlayback: W.EventTarget, RTCDataChannel: W.EventTarget, DataChannel: W.EventTarget, RTCPeerConnection: W.EventTarget, webkitRTCPeerConnection: W.EventTarget, mozRTCPeerConnection: W.EventTarget, ServiceWorker: W.EventTarget, ServiceWorkerContainer: W.EventTarget, ServiceWorkerRegistration: W.EventTarget, SharedWorker: W.EventTarget, SpeechSynthesis: W.EventTarget, VR: W.EventTarget, VRDevice: W.EventTarget, VRDisplay: W.EventTarget, VisualViewport: W.EventTarget, Worker: W.EventTarget, WorkerPerformance: W.EventTarget, BluetoothDevice: W.EventTarget, BluetoothRemoteGATTCharacteristic: W.EventTarget, Clipboard: W.EventTarget, MojoInterfaceInterceptor: W.EventTarget, USB: W.EventTarget, IDBOpenDBRequest: W.EventTarget, IDBVersionChangeRequest: W.EventTarget, IDBRequest: W.EventTarget, IDBTransaction: W.EventTarget, EventTarget: W.EventTarget, FederatedCredential: W.FederatedCredential, HTMLFieldSetElement: W.FieldSetElement, File: W.File, FileList: W.FileList, FileReader: W.FileReader, DOMFileSystem: W.FileSystem, FileWriter: W.FileWriter, FontFace: W.FontFace, FontFaceSet: W.FontFaceSet, HTMLFormElement: W.FormElement, Gamepad: W.Gamepad, History: W.History, HTMLCollection: W.HtmlCollection, HTMLFormControlsCollection: W.HtmlCollection, HTMLOptionsCollection: W.HtmlCollection, XMLHttpRequest: W.HttpRequest, XMLHttpRequestUpload: W.HttpRequestEventTarget, XMLHttpRequestEventTarget: W.HttpRequestEventTarget, HTMLIFrameElement: W.IFrameElement, ImageData: W.ImageData, HTMLImageElement: W.ImageElement, HTMLInputElement: W.InputElement, InterventionReport: W.InterventionReport, KeyboardEvent: W.KeyboardEvent, HTMLLabelElement: W.LabelElement, Location: W.Location, HTMLMapElement: W.MapElement, MediaDeviceInfo: W.MediaDeviceInfo, HTMLAudioElement: W.MediaElement, HTMLMediaElement: W.MediaElement, MediaError: W.MediaError, MediaKeyMessageEvent: W.MediaKeyMessageEvent, MediaKeySession: W.MediaKeySession, MediaList: W.MediaList, MediaQueryList: W.MediaQueryList, MediaQueryListEvent: W.MediaQueryListEvent, MediaRecorder: W.MediaRecorder, MediaSource: W.MediaSource, CanvasCaptureMediaStreamTrack: W.MediaStreamTrack, MediaStreamTrack: W.MediaStreamTrack, MessageEvent: W.MessageEvent, MessagePort: W.MessagePort, HTMLMetaElement: W.MetaElement, MIDIInputMap: W.MidiInputMap, MIDIOutputMap: W.MidiOutputMap, MIDIInput: W.MidiPort, MIDIOutput: W.MidiPort, MIDIPort: W.MidiPort, MimeType: W.MimeType, MimeTypeArray: W.MimeTypeArray, MouseEvent: W.MouseEvent, DragEvent: W.MouseEvent, NavigatorUserMediaError: W.NavigatorUserMediaError, DocumentType: W.Node0, Node: W.Node0, NodeList: W.NodeList, RadioNodeList: W.NodeList, HTMLOListElement: W.OListElement, HTMLObjectElement: W.ObjectElement, OffscreenCanvas: W.OffscreenCanvas, HTMLOptionElement: W.OptionElement, HTMLOutputElement: W.OutputElement, OverconstrainedError: W.OverconstrainedError, HTMLParagraphElement: W.ParagraphElement, HTMLParamElement: W.ParamElement, PasswordCredential: W.PasswordCredential, PaymentInstruments: W.PaymentInstruments, PerformanceEntry: W.PerformanceEntry, PerformanceLongTaskTiming: W.PerformanceEntry, PerformanceMark: W.PerformanceEntry, PerformanceMeasure: W.PerformanceEntry, PerformanceNavigationTiming: W.PerformanceEntry, PerformancePaintTiming: W.PerformanceEntry, PerformanceResourceTiming: W.PerformanceEntry, TaskAttributionTiming: W.PerformanceEntry, PerformanceServerTiming: W.PerformanceServerTiming, PermissionStatus: W.PermissionStatus, Permissions: W.Permissions, Plugin: W.Plugin, PluginArray: W.PluginArray, PointerEvent: W.PointerEvent, PositionError: W.PositionError, GeolocationPositionError: W.PositionError, PresentationConnection: W.PresentationConnection, PresentationConnectionCloseEvent: W.PresentationConnectionCloseEvent, PresentationRequest: W.PresentationRequest, ProgressEvent: W.ProgressEvent, ResourceProgressEvent: W.ProgressEvent, PushMessageData: W.PushMessageData, Range: W.Range0, ReportBody: W.ReportBody, RTCDataChannelEvent: W.RtcDataChannelEvent, RTCDTMFSender: W.RtcDtmfSender, RTCStatsReport: W.RtcStatsReport, ScreenOrientation: W.ScreenOrientation, HTMLScriptElement: W.ScriptElement, HTMLSelectElement: W.SelectElement, AbsoluteOrientationSensor: W.Sensor, Accelerometer: W.Sensor, AmbientLightSensor: W.Sensor, Gyroscope: W.Sensor, LinearAccelerationSensor: W.Sensor, Magnetometer: W.Sensor, OrientationSensor: W.Sensor, RelativeOrientationSensor: W.Sensor, Sensor: W.Sensor, SharedWorkerGlobalScope: W.SharedWorkerGlobalScope, HTMLSlotElement: W.SlotElement, SourceBuffer: W.SourceBuffer, SourceBufferList: W.SourceBufferList, HTMLSpanElement: W.SpanElement, SpeechGrammar: W.SpeechGrammar, SpeechGrammarList: W.SpeechGrammarList, SpeechRecognition: W.SpeechRecognition, SpeechRecognitionError: W.SpeechRecognitionError, SpeechRecognitionResult: W.SpeechRecognitionResult, SpeechSynthesisEvent: W.SpeechSynthesisEvent, SpeechSynthesisUtterance: W.SpeechSynthesisUtterance, SpeechSynthesisVoice: W.SpeechSynthesisVoice, Storage: W.Storage, HTMLStyleElement: W.StyleElement, StyleSheet: W.StyleSheet, HTMLTableElement: W.TableElement, HTMLTableRowElement: W.TableRowElement, HTMLTableSectionElement: W.TableSectionElement, HTMLTemplateElement: W.TemplateElement, HTMLTextAreaElement: W.TextAreaElement, TextTrack: W.TextTrack, TextTrackCue: W.TextTrackCue, TextTrackCueList: W.TextTrackCueList, TextTrackList: W.TextTrackList, TimeRanges: W.TimeRanges, Touch: W.Touch, TouchEvent: W.TouchEvent, TouchList: W.TouchList, TrackDefaultList: W.TrackDefaultList, HTMLTrackElement: W.TrackElement, CompositionEvent: W.UIEvent, FocusEvent: W.UIEvent, TextEvent: W.UIEvent, UIEvent: W.UIEvent, UnderlyingSourceBase: W.UnderlyingSourceBase, URL: W.Url, VRSession: W.VRSession, HTMLVideoElement: W.VideoElement, VideoTrack: W.VideoTrack, VideoTrackList: W.VideoTrackList, VTTCue: W.VttCue, VTTRegion: W.VttRegion, WebSocket: W.WebSocket0, WheelEvent: W.WheelEvent, Window: W.Window, DOMWindow: W.Window, DedicatedWorkerGlobalScope: W.WorkerGlobalScope, ServiceWorkerGlobalScope: W.WorkerGlobalScope, WorkerGlobalScope: W.WorkerGlobalScope, Attr: W._Attr, CSSRuleList: W._CssRuleList, ClientRect: W._DomRect, DOMRect: W._DomRect, GamepadList: W._GamepadList, NamedNodeMap: W._NamedNodeMap, MozNamedAttrMap: W._NamedNodeMap, SpeechRecognitionResultList: W._SpeechRecognitionResultList, StyleSheetList: W._StyleSheetList, IDBDatabase: P.Database, IDBIndex: P.Index, IDBKeyRange: P.KeyRange, IDBObjectStore: P.ObjectStore, IDBVersionChangeEvent: P.VersionChangeEvent, SVGFEColorMatrixElement: P.FEColorMatrixElement, SVGLength: P.Length, SVGLengthList: P.LengthList, SVGNumber: P.Number, SVGNumberList: P.NumberList, SVGPointList: P.PointList, SVGRect: P.Rect0, SVGScriptElement: P.ScriptElement0, SVGStringList: P.StringList, SVGAElement: P.SvgElement, SVGAnimateElement: P.SvgElement, SVGAnimateMotionElement: P.SvgElement, SVGAnimateTransformElement: P.SvgElement, SVGAnimationElement: P.SvgElement, SVGCircleElement: P.SvgElement, SVGClipPathElement: P.SvgElement, SVGDefsElement: P.SvgElement, SVGDescElement: P.SvgElement, SVGDiscardElement: P.SvgElement, SVGEllipseElement: P.SvgElement, SVGFEBlendElement: P.SvgElement, SVGFEComponentTransferElement: P.SvgElement, SVGFECompositeElement: P.SvgElement, SVGFEConvolveMatrixElement: P.SvgElement, SVGFEDiffuseLightingElement: P.SvgElement, SVGFEDisplacementMapElement: P.SvgElement, SVGFEDistantLightElement: P.SvgElement, SVGFEFloodElement: P.SvgElement, SVGFEFuncAElement: P.SvgElement, SVGFEFuncBElement: P.SvgElement, SVGFEFuncGElement: P.SvgElement, SVGFEFuncRElement: P.SvgElement, SVGFEGaussianBlurElement: P.SvgElement, SVGFEImageElement: P.SvgElement, SVGFEMergeElement: P.SvgElement, SVGFEMergeNodeElement: P.SvgElement, SVGFEMorphologyElement: P.SvgElement, SVGFEOffsetElement: P.SvgElement, SVGFEPointLightElement: P.SvgElement, SVGFESpecularLightingElement: P.SvgElement, SVGFESpotLightElement: P.SvgElement, SVGFETileElement: P.SvgElement, SVGFETurbulenceElement: P.SvgElement, SVGFilterElement: P.SvgElement, SVGForeignObjectElement: P.SvgElement, SVGGElement: P.SvgElement, SVGGeometryElement: P.SvgElement, SVGGraphicsElement: P.SvgElement, SVGImageElement: P.SvgElement, SVGLineElement: P.SvgElement, SVGLinearGradientElement: P.SvgElement, SVGMarkerElement: P.SvgElement, SVGMaskElement: P.SvgElement, SVGMetadataElement: P.SvgElement, SVGPathElement: P.SvgElement, SVGPatternElement: P.SvgElement, SVGPolygonElement: P.SvgElement, SVGPolylineElement: P.SvgElement, SVGRadialGradientElement: P.SvgElement, SVGRectElement: P.SvgElement, SVGSetElement: P.SvgElement, SVGStopElement: P.SvgElement, SVGStyleElement: P.SvgElement, SVGSVGElement: P.SvgElement, SVGSwitchElement: P.SvgElement, SVGSymbolElement: P.SvgElement, SVGTSpanElement: P.SvgElement, SVGTextContentElement: P.SvgElement, SVGTextElement: P.SvgElement, SVGTextPathElement: P.SvgElement, SVGTextPositioningElement: P.SvgElement, SVGTitleElement: P.SvgElement, SVGUseElement: P.SvgElement, SVGViewElement: P.SvgElement, SVGGradientElement: P.SvgElement, SVGComponentTransferFunctionElement: P.SvgElement, SVGFEDropShadowElement: P.SvgElement, SVGMPathElement: P.SvgElement, SVGElement: P.SvgElement, SVGTransform: P.Transform0, SVGTransformList: P.TransformList, AudioBuffer: P.AudioBuffer, AudioBufferSourceNode: P.AudioBufferSourceNode, AnalyserNode: P.AudioNode, RealtimeAnalyserNode: P.AudioNode, AudioDestinationNode: P.AudioNode, AudioWorkletNode: P.AudioNode, BiquadFilterNode: P.AudioNode, ChannelMergerNode: P.AudioNode, AudioChannelMerger: P.AudioNode, ChannelSplitterNode: P.AudioNode, AudioChannelSplitter: P.AudioNode, ConvolverNode: P.AudioNode, DelayNode: P.AudioNode, DynamicsCompressorNode: P.AudioNode, GainNode: P.AudioNode, AudioGainNode: P.AudioNode, IIRFilterNode: P.AudioNode, MediaElementAudioSourceNode: P.AudioNode, MediaStreamAudioDestinationNode: P.AudioNode, MediaStreamAudioSourceNode: P.AudioNode, PannerNode: P.AudioNode, AudioPannerNode: P.AudioNode, webkitAudioPannerNode: P.AudioNode, ScriptProcessorNode: P.AudioNode, JavaScriptAudioNode: P.AudioNode, StereoPannerNode: P.AudioNode, WaveShaperNode: P.AudioNode, AudioNode: P.AudioNode, AudioParamMap: P.AudioParamMap, ConstantSourceNode: P.AudioScheduledSourceNode, OscillatorNode: P.AudioScheduledSourceNode, Oscillator: P.AudioScheduledSourceNode, AudioScheduledSourceNode: P.AudioScheduledSourceNode, AudioTrack: P.AudioTrack, AudioTrackList: P.AudioTrackList, AudioContext: P.BaseAudioContext, webkitAudioContext: P.BaseAudioContext, BaseAudioContext: P.BaseAudioContext, OfflineAudioContext: P.OfflineAudioContext, WebGLActiveInfo: P.ActiveInfo, Database: P.SqlDatabase, SQLError: P.SqlError, SQLResultSetRowList: P.SqlResultSetRowList});
    hunkHelpers.setOrUpdateLeafTags({AnimationEffectReadOnly: 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, 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, 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, MutationObserver: true, WebKitMutationObserver: true, MutationRecord: 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, PhotoCapabilities: true, Presentation: true, PresentationReceiver: true, PushManager: true, PushSubscription: true, PushSubscriptionOptions: 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, URLSearchParams: true, VRCoordinateSystem: true, VRDisplayCapabilities: true, VREyeParameters: true, VRFrameData: true, VRFrameOfReference: true, VRPose: true, VRStageBounds: true, VRStageBoundsPoint: true, VRStageParameters: true, ValidityState: true, VideoPlaybackQuality: 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, 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, WebGL: true, WebGL2RenderingContextBase: true, SQLResultSet: true, SQLTransaction: 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, HTMLBRElement: 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, HTMLMenuElement: true, HTMLMeterElement: true, HTMLModElement: true, HTMLOptGroupElement: true, HTMLPictureElement: true, HTMLPreElement: true, HTMLProgressElement: true, HTMLQuoteElement: true, HTMLShadowElement: true, HTMLSourceElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, AccessibleNode: true, AccessibleNodeList: true, HTMLAnchorElement: true, AnimationEffectTiming: true, AnimationEffectTimingReadOnly: false, ApplicationCacheErrorEvent: true, HTMLAreaElement: true, HTMLBaseElement: true, BatteryManager: true, Blob: false, Body: true, Request: true, Response: true, HTMLBodyElement: 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, CSSNumericValue: true, CSSUnitValue: 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, CSSPositionValue: true, CSSResourceValue: 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, Document: true, HTMLDocument: true, XMLDocument: true, DocumentFragment: true, ShadowRoot: true, DOMError: true, DOMException: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, Element: false, HTMLEmbedElement: true, DirectoryEntry: true, Entry: true, FileEntry: 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, 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, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, MediaDevices: true, MediaStream: true, MIDIAccess: true, NetworkInformation: true, Notification: true, PaymentRequest: true, Performance: true, PresentationAvailability: true, PresentationConnectionList: true, RemotePlayback: true, RTCDataChannel: true, DataChannel: true, RTCPeerConnection: true, webkitRTCPeerConnection: true, mozRTCPeerConnection: true, ServiceWorker: true, ServiceWorkerContainer: true, ServiceWorkerRegistration: true, SharedWorker: true, SpeechSynthesis: true, VR: true, VRDevice: true, VRDisplay: 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, EventTarget: false, FederatedCredential: true, HTMLFieldSetElement: true, File: true, FileList: true, FileReader: true, DOMFileSystem: true, FileWriter: true, FontFace: true, FontFaceSet: true, HTMLFormElement: true, Gamepad: true, History: true, HTMLCollection: true, HTMLFormControlsCollection: true, HTMLOptionsCollection: 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, HTMLAudioElement: true, HTMLMediaElement: false, MediaError: true, MediaKeyMessageEvent: true, MediaKeySession: true, MediaList: true, MediaQueryList: true, MediaQueryListEvent: true, MediaRecorder: true, MediaSource: 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, NavigatorUserMediaError: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, HTMLOListElement: true, HTMLObjectElement: true, OffscreenCanvas: true, HTMLOptionElement: true, HTMLOutputElement: true, OverconstrainedError: true, HTMLParagraphElement: 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, PermissionStatus: true, Permissions: true, Plugin: true, PluginArray: true, PointerEvent: true, PositionError: true, GeolocationPositionError: true, PresentationConnection: true, PresentationConnectionCloseEvent: true, PresentationRequest: true, ProgressEvent: true, ResourceProgressEvent: true, PushMessageData: true, Range: true, ReportBody: false, RTCDataChannelEvent: true, RTCDTMFSender: true, RTCStatsReport: true, ScreenOrientation: true, HTMLScriptElement: true, HTMLSelectElement: true, AbsoluteOrientationSensor: true, Accelerometer: true, AmbientLightSensor: true, Gyroscope: true, LinearAccelerationSensor: true, Magnetometer: true, OrientationSensor: true, RelativeOrientationSensor: true, Sensor: true, SharedWorkerGlobalScope: true, HTMLSlotElement: true, SourceBuffer: true, SourceBufferList: true, HTMLSpanElement: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognition: true, SpeechRecognitionError: true, SpeechRecognitionResult: true, SpeechSynthesisEvent: true, SpeechSynthesisUtterance: true, SpeechSynthesisVoice: true, Storage: true, HTMLStyleElement: true, StyleSheet: false, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, 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, UnderlyingSourceBase: true, URL: true, VRSession: true, HTMLVideoElement: true, VideoTrack: true, VideoTrackList: true, VTTCue: true, VTTRegion: 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, SVGFEColorMatrixElement: true, SVGLength: true, SVGLengthList: true, SVGNumber: true, SVGNumberList: true, SVGPointList: true, SVGRect: true, SVGScriptElement: true, SVGStringList: true, SVGAElement: true, SVGAnimateElement: true, SVGAnimateMotionElement: true, SVGAnimateTransformElement: true, SVGAnimationElement: true, SVGCircleElement: true, SVGClipPathElement: true, SVGDefsElement: true, SVGDescElement: true, SVGDiscardElement: true, SVGEllipseElement: true, SVGFEBlendElement: true, SVGFEComponentTransferElement: true, SVGFECompositeElement: true, SVGFEConvolveMatrixElement: true, SVGFEDiffuseLightingElement: true, SVGFEDisplacementMapElement: true, SVGFEDistantLightElement: true, SVGFEFloodElement: true, SVGFEFuncAElement: true, SVGFEFuncBElement: true, SVGFEFuncGElement: true, SVGFEFuncRElement: true, SVGFEGaussianBlurElement: true, SVGFEImageElement: true, SVGFEMergeElement: true, SVGFEMergeNodeElement: true, SVGFEMorphologyElement: true, SVGFEOffsetElement: true, SVGFEPointLightElement: true, SVGFESpecularLightingElement: true, SVGFESpotLightElement: true, SVGFETileElement: true, SVGFETurbulenceElement: true, SVGFilterElement: true, SVGForeignObjectElement: true, SVGGElement: true, SVGGeometryElement: true, SVGGraphicsElement: true, SVGImageElement: true, SVGLineElement: true, SVGLinearGradientElement: true, SVGMarkerElement: true, SVGMaskElement: true, SVGMetadataElement: true, SVGPathElement: true, SVGPatternElement: true, SVGPolygonElement: true, SVGPolylineElement: true, SVGRadialGradientElement: true, SVGRectElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGSVGElement: true, SVGSwitchElement: true, SVGSymbolElement: true, SVGTSpanElement: true, SVGTextContentElement: true, SVGTextElement: true, SVGTextPathElement: true, SVGTextPositioningElement: true, SVGTitleElement: true, SVGUseElement: true, SVGViewElement: true, SVGGradientElement: true, SVGComponentTransferFunctionElement: true, SVGFEDropShadowElement: true, SVGMPathElement: true, SVGElement: false, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioBufferSourceNode: true, AnalyserNode: true, RealtimeAnalyserNode: true, AudioDestinationNode: true, AudioWorkletNode: true, BiquadFilterNode: true, ChannelMergerNode: true, AudioChannelMerger: true, ChannelSplitterNode: true, AudioChannelSplitter: true, ConvolverNode: true, DelayNode: true, DynamicsCompressorNode: true, GainNode: true, AudioGainNode: true, IIRFilterNode: true, MediaElementAudioSourceNode: true, MediaStreamAudioDestinationNode: true, MediaStreamAudioSourceNode: true, PannerNode: true, AudioPannerNode: true, webkitAudioPannerNode: true, ScriptProcessorNode: true, JavaScriptAudioNode: true, StereoPannerNode: true, WaveShaperNode: true, AudioNode: false, AudioParamMap: true, ConstantSourceNode: true, OscillatorNode: true, Oscillator: true, AudioScheduledSourceNode: false, AudioTrack: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true, WebGLActiveInfo: true, Database: true, SQLError: true, SQLResultSetRowList: true});
    H.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView";
    H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
    H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
    H.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView";
    H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
    H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
    H.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView";
    W._SourceBufferList_EventTarget_ListMixin.$nativeSuperclassTag = "EventTarget";
    W._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin.$nativeSuperclassTag = "EventTarget";
    W._TextTrackList_EventTarget_ListMixin.$nativeSuperclassTag = "EventTarget";
    W._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 = function(a, b, c) {
    return this(a, b, c);
  };
  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$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$6 = function(a, b, c, d, e, f) {
    return this(a, b, c, d, e, f);
  };
  Function.prototype.call$5 = function(a, b, c, d, e) {
    return this(a, b, c, d, e);
  };
  Function.prototype.call$1$2 = function(a, b) {
    return this(a, b);
  };
  Function.prototype.call$1$0 = function() {
    return this();
  };
  Function.prototype.call$7 = function(a, b, c, d, e, f, g) {
    return this(a, b, c, d, e, f, g);
  };
  Function.prototype.call$2$3 = function(a, b, c) {
    return this(a, b, c);
  };
  Function.prototype.call$9 = function(a, b, c, d, e, f, g, h, i) {
    return this(a, b, c, d, e, f, g, h, i);
  };
  Function.prototype.call$2$0 = function() {
    return this();
  };
  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 = F.main0;
    if (typeof dartMainRunner === "function")
      dartMainRunner(callMain, []);
    else
      callMain([]);
  });
})();
